app-email.scss 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. // ================================================================================================
  2. // File Name: app-email.scss
  3. // Description: SCC file for email application page.
  4. // ----------------------------------------------------------------------------------------------
  5. // Item Name: Vuexy - Vuejs, React, Angular, HTML & Laravel Admin Dashboard Template
  6. // Author: PIXINVENT
  7. // Author URL: http://www.themeforest.net/user/pixinvent
  8. // ================================================================================================
  9. @import '../bootstrap-extended/include'; // Bootstrap includes
  10. @import '../components/include'; // Components includes
  11. $email_read: $body-bg;
  12. $email_selected_border: #e4e1e8;
  13. $email_details_header_height: 5rem;
  14. .email-application {
  15. .content-area-wrapper {
  16. border: 1px solid $border-color;
  17. border-radius: $card-border-radius;
  18. // Sidebar area starts
  19. .sidebar {
  20. .email-app-sidebar {
  21. width: $menu-expanded-width;
  22. height: inherit;
  23. background-color: $white;
  24. border-top-left-radius: $card-border-radius;
  25. border-bottom-left-radius: $card-border-radius;
  26. transition: all 0.3s ease, background 0s;
  27. z-index: 210;
  28. .email-app-menu {
  29. width: 100%;
  30. height: 100%;
  31. z-index: 3;
  32. .compose-btn {
  33. padding: 1.5rem;
  34. }
  35. .sidebar-menu-list {
  36. position: relative;
  37. height: calc(100% - 80px); // search section height 80px
  38. }
  39. }
  40. }
  41. .list-group .list-group-item {
  42. padding: 0.58rem 1.5rem;
  43. border: 0;
  44. font-weight: $font-weight-bold;
  45. letter-spacing: 0.4px;
  46. border-left: 2px solid transparent;
  47. border-radius: 0;
  48. + .list-group-item.active {
  49. margin-top: 0;
  50. }
  51. &:hover,
  52. &:focus,
  53. &.active {
  54. background: transparent;
  55. color: $primary;
  56. }
  57. &.active {
  58. border-color: #7367f0;
  59. }
  60. }
  61. }
  62. // Sidebar area ends
  63. // Right content area common css starts
  64. .content-right {
  65. width: calc(100% - #{$menu-expanded-width});
  66. border-left: 1px solid $border-color;
  67. .email-app-list {
  68. height: inherit;
  69. }
  70. .app-fixed-search {
  71. padding: 0.35rem 0.5rem;
  72. border-bottom: 1px solid $border-color;
  73. background-color: $white;
  74. border-top-right-radius: $border-radius;
  75. .input-group:focus-within {
  76. box-shadow: none;
  77. }
  78. input,
  79. .input-group-text {
  80. border: 0;
  81. background-color: transparent;
  82. }
  83. }
  84. .action-icon {
  85. cursor: pointer;
  86. }
  87. }
  88. // Right content area common css End
  89. // Sidebar toggle icon
  90. .sidebar-toggle {
  91. cursor: pointer;
  92. float: left;
  93. }
  94. .go-back {
  95. cursor: pointer;
  96. }
  97. // Email user list area
  98. .email-user-list {
  99. position: relative;
  100. height: calc(
  101. 100% - calc(3.49rem + 3.32rem)
  102. ); // ? search box height (3.49rem) + select all section height (3.32rem)
  103. .email-media-list {
  104. padding: 0;
  105. margin: 0;
  106. // Set delay per List Item
  107. @for $i from 1 through 5000 {
  108. li:nth-child(#{$i}) {
  109. animation-delay: 0.1s * $i;
  110. }
  111. }
  112. li {
  113. cursor: pointer;
  114. transition: all 0.2s, background 0s, border-color 0s, color 0s;
  115. animation: fadeIn 0.5s linear;
  116. animation-fill-mode: both;
  117. position: relative;
  118. background: $white;
  119. &.media {
  120. padding: ($spacer + 0.5);
  121. &:hover {
  122. transform: translateY(-2px);
  123. box-shadow: 0 3px 10px 0 $border-color;
  124. transition: all 0.2s;
  125. z-index: 1;
  126. }
  127. .media-left {
  128. display: flex;
  129. flex-direction: column;
  130. }
  131. .media-body {
  132. overflow: hidden;
  133. }
  134. }
  135. // Email avatar style
  136. .avatar {
  137. margin-bottom: 0.65rem;
  138. }
  139. .avatar,
  140. .avatar img {
  141. height: $avatar-size + 8;
  142. width: $avatar-size + 8;
  143. }
  144. // read email
  145. &.mail-read {
  146. background-color: $email_read;
  147. }
  148. // selected email
  149. &.selected-row-bg {
  150. background-color: rgba($primary, 0.06);
  151. &:not(:first-child) {
  152. border-color: $email_selected_border;
  153. }
  154. }
  155. &:not(:first-child) {
  156. border-top: 1px solid $border-color;
  157. }
  158. .mail-details {
  159. display: flex;
  160. justify-content: space-between;
  161. margin-bottom: 0.55rem;
  162. }
  163. .mail-date {
  164. color: $text-muted;
  165. font-size: 0.857rem;
  166. }
  167. .mail-message {
  168. p {
  169. color: $text-muted;
  170. }
  171. }
  172. }
  173. .user-action {
  174. display: flex;
  175. .email-favorite {
  176. i,
  177. svg {
  178. height: 1.25rem;
  179. width: 1.25rem;
  180. font-size: 1.25rem;
  181. vertical-align: text-top;
  182. color: $text-muted;
  183. &.favorite {
  184. fill: $warning;
  185. stroke: $warning;
  186. }
  187. }
  188. }
  189. }
  190. }
  191. .no-results {
  192. display: none;
  193. padding: 1.5rem;
  194. text-align: center;
  195. &.show {
  196. display: block;
  197. }
  198. }
  199. .ps__rail-y {
  200. z-index: 2;
  201. }
  202. }
  203. }
  204. // Action area of email list section
  205. .app-action {
  206. padding: 0.9rem ($spacer + 0.5);
  207. display: flex;
  208. justify-content: space-between;
  209. border-bottom: 1px solid $border-color;
  210. background-color: $white;
  211. .action-right {
  212. ul {
  213. li:not(:last-child) {
  214. margin-right: 1rem;
  215. }
  216. }
  217. .dropdown-toggle {
  218. color: $headings-color;
  219. white-space: normal;
  220. &::after {
  221. display: none;
  222. }
  223. }
  224. }
  225. }
  226. // On click of mail Details section slide in from right
  227. // Email details section starts
  228. .email-app-details {
  229. position: absolute;
  230. display: block;
  231. z-index: 2;
  232. visibility: hidden;
  233. top: 0;
  234. width: calc(100% - #{$menu-expanded-width});
  235. background-color: $body-bg;
  236. transform: translateX(100%);
  237. transition: all 0.25s ease, color 0s;
  238. height: 100%;
  239. &.show {
  240. visibility: visible;
  241. transition: all 0.25s ease, color 0s;
  242. transform: translateX(0%);
  243. }
  244. .email-detail-header {
  245. display: flex;
  246. flex-wrap: wrap;
  247. justify-content: space-between;
  248. align-items: center;
  249. box-shadow: 0 4px 6px rgba($black, 0.04);
  250. border-bottom: 1px solid $kbd-bg;
  251. position: relative;
  252. padding: 0.5rem 2rem;
  253. background-color: $white;
  254. height: $email_details_header_height;
  255. }
  256. .email-header-left {
  257. .email-subject {
  258. display: -webkit-box;
  259. -webkit-line-clamp: 1;
  260. -webkit-box-orient: vertical;
  261. overflow: hidden;
  262. }
  263. }
  264. .email-header-right {
  265. .dropdown-toggle,
  266. .action-icon {
  267. color: $body-color;
  268. }
  269. }
  270. // Email detail scroll area
  271. .email-scroll-area {
  272. padding: 0 2rem;
  273. position: relative;
  274. height: calc(100% - #{$email_details_header_height});
  275. .email-detail-head {
  276. border-bottom: 1px solid $border-color;
  277. .mail-meta-item {
  278. .dropdown {
  279. line-height: 0;
  280. }
  281. }
  282. }
  283. .email-label {
  284. margin: 2rem 0;
  285. }
  286. .email-info-dropup {
  287. .dropdown-toggle::after {
  288. left: -2px;
  289. margin: 0;
  290. background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $text-muted), '#', '%23'));
  291. background-size: 0.857rem;
  292. }
  293. .dropdown-menu {
  294. padding: 0.5rem;
  295. }
  296. }
  297. }
  298. }
  299. #compose-mail {
  300. .compose-mail-form-field {
  301. display: flex;
  302. justify-content: center;
  303. align-items: center;
  304. padding: 0.12rem $modal-header-padding-x;
  305. border-bottom: 1px solid $modal-footer-border-color;
  306. .select2-container--open {
  307. box-shadow: none;
  308. }
  309. .select2-selection--multiple,
  310. .form-control {
  311. border: 0;
  312. background-color: transparent;
  313. &:focus {
  314. box-shadow: none !important;
  315. background-color: transparent;
  316. }
  317. }
  318. .select2-selection--multiple {
  319. min-height: 42px !important;
  320. .select2-selection__rendered li .select2-search__field {
  321. margin-top: 10px;
  322. }
  323. }
  324. .select2-selection__choice__remove:before {
  325. top: 40%;
  326. }
  327. label {
  328. margin-bottom: 0;
  329. font-size: $font-size-base;
  330. }
  331. }
  332. .ql-editor {
  333. min-height: 250px;
  334. }
  335. .ql-container,
  336. .ql-toolbar {
  337. border: none;
  338. border-radius: 0;
  339. border-bottom: 1px solid $border-color;
  340. .ql-picker.ql-expanded .ql-picker-options {
  341. bottom: 100%;
  342. top: auto;
  343. }
  344. }
  345. .compose-footer-wrapper {
  346. padding: $modal-inner-padding;
  347. display: flex;
  348. align-items: center;
  349. justify-content: space-between;
  350. }
  351. }
  352. }
  353. @include media-breakpoint-down(md) {
  354. .email-application {
  355. .content-area-wrapper {
  356. .sidebar-left {
  357. position: relative;
  358. .email-app-sidebar {
  359. transform: translateX(-110%);
  360. transition: all 0.3s ease-in-out;
  361. position: absolute;
  362. left: 0;
  363. border-top-left-radius: $border-radius-sm;
  364. border-bottom-left-radius: $border-radius-sm;
  365. }
  366. &.show {
  367. .email-app-sidebar {
  368. transform: translateX(0%);
  369. transition: all 0.3s ease;
  370. }
  371. }
  372. }
  373. .content-right {
  374. width: 100%;
  375. border-left: 0;
  376. .app-fixed-search {
  377. border-top-left-radius: $border-radius;
  378. }
  379. .email-app-details {
  380. width: 100%;
  381. border-radius: $border-radius;
  382. }
  383. }
  384. }
  385. }
  386. }
  387. @include media-breakpoint-down(sm) {
  388. .email-application #compose-mail .ql-editor {
  389. min-height: 150px;
  390. }
  391. }
  392. // Extra small devices (portrait phones, less than 576px)
  393. @include media-breakpoint-down(xs) {
  394. .email-application {
  395. .email-detail-head .mail-meta-item {
  396. display: flex;
  397. justify-content: space-between;
  398. margin-left: 4rem; // Spacing from left according to avatar image
  399. .mail-date,
  400. .mail-time {
  401. margin: 1rem 0.75rem 0 0;
  402. }
  403. }
  404. .content-area-wrapper {
  405. .content-right .email-app-details {
  406. .email-scroll-area {
  407. padding: 0 1rem;
  408. }
  409. .email-detail-header {
  410. padding: 0.5rem 1rem;
  411. }
  412. }
  413. .email-user-list {
  414. .email-media-list li .mail-details {
  415. display: block;
  416. .mail-items {
  417. width: 70%;
  418. display: inline-grid;
  419. }
  420. .mail-meta-item {
  421. width: 15%;
  422. position: absolute;
  423. right: 1rem;
  424. top: 1.5rem;
  425. i,
  426. svg,
  427. .bullet {
  428. display: none;
  429. }
  430. }
  431. }
  432. }
  433. }
  434. }
  435. }
  436. @media (max-width: 359.98px) {
  437. .email-application .content-area-wrapper .sidebar .email-app-sidebar {
  438. width: 230px;
  439. }
  440. .email-application .email-app-details .email-detail-header {
  441. padding: 0 0.5rem;
  442. }
  443. }
  444. // Keyframe animation
  445. @-webkit-keyframes fadeIn {
  446. 0% {
  447. opacity: 0;
  448. top: 100px;
  449. }
  450. 75% {
  451. opacity: 0.5;
  452. top: 0px;
  453. }
  454. 100% {
  455. opacity: 1;
  456. }
  457. }
  458. // RTL Style
  459. html[data-textdirection='rtl'] {
  460. .email-application {
  461. .email-app-details {
  462. .email-prev,
  463. .email-next {
  464. .action-icon i,
  465. .action-icon svg {
  466. transform: rotate(180deg);
  467. }
  468. }
  469. .go-back {
  470. i,
  471. svg {
  472. transform: rotate(180deg);
  473. }
  474. }
  475. }
  476. }
  477. }