2 // System wide notifications
9 background-color: #FFF;
10 @include lightDark(background-color, #fff, #444);
12 border-inline-start: 6px solid currentColor;
13 box-shadow: $bs-large;
17 transition: transform ease-in-out 280ms;
18 transform: translateX(580px);
20 grid-template-columns: 42px 1fr 12px;
24 vertical-align: middle;
31 padding-inline-end: $-s;
38 @include lightDark(color, #444, #888);
42 vertical-align: middle;
58 transform: translateX(0);
61 transform: translate3d(0, -2px, 0);
65 .chapter-contents-toggle {
68 transition: all ease-in-out 180ms;
70 svg[data-icon="caret-right"] {
73 transition: all ease-in-out 180ms;
74 transform: rotate(0deg);
75 transform-origin: 50% 50%;
77 &.open svg[data-icon="caret-right"] {
78 transform: rotate(90deg);
80 svg[data-icon="caret-right"] + * {
81 margin-inline-start: $-xxs;
85 [overlay], .popup-background {
86 @include lightDark(background-color, rgba(0, 0, 0, 0.333), rgba(0, 0, 0, 0.6));
98 justify-content: center;
107 @include lightDark(background-color, #fff, #333);
114 box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
118 flex-direction: column;
132 align-self: flex-start;
142 .popup-header button, .popup-footer button {
151 .popup-header button:not(.popup-header-close) {
155 .popup-header button:hover {
156 background-color: rgba(255, 255, 255, 0.1);
160 justify-content: end;
161 background-color: var(--color-primary-light);
168 .popup-header-close {
178 .popup-header, .popup-footer {
188 &.flex-container-row {
189 display: flex !important;
192 body.flexbox-support #entity-selector-wrap .popup-body .form-group {
196 #entity-selector-wrap .popup-body .form-group {
199 .popup-body .entity-selector-container {
203 .image-manager-body {
210 justify-content: center;
218 border: 1px dashed var(--color-primary);
220 box-sizing: content-box;
221 background-clip: padding-box;
222 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a9a9a9' fill-opacity='0.52' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
223 background-color: var(--color-primary);
227 pointer-events: none;
228 animation: dzAnimIn 240ms ease-in-out;
231 @keyframes dzAnimIn {
234 transform: scale(.7);
237 transform: scale(1.1);
245 @keyframes dzFileItemIn {
248 transform: translateY(28px);
252 transform: translateY(0);
255 @keyframes dzFileItemOut {
258 transform: translateY(0);
262 transform: translateY(28px);
266 .dropzone-file-item {
273 background-color: #FFF;
274 box-shadow: $bs-large;
278 animation: dzFileItemIn ease-in-out 240ms;
279 transition: transform ease-in-out 120ms, box-shadow ease-in-out 120ms;
282 transform: translateY(-3px);
283 box-shadow: 0 3px 8px 1px rgba(22, 22, 22, 0.2);
286 .dropzone-file-item.dismiss {
287 animation: dzFileItemOut ease-in-out 240ms;
289 .dropzone-file-item .loading-container {
290 text-align: start !important;
293 .dropzone-file-item-image-wrap {
296 background-color: var(--color-primary-light);
304 .dropzone-file-item-text-wrap {
310 .dropzone-file-item-progress {
316 background-color: var(--color-primary);
317 transition: width ease-in-out 240ms;
319 .dropzone-file-item-label,
320 .dropzone-file-item-status {
325 .dropzone-file-item-status[data-status] {
331 .dropzone-file-item-status[data-status="success"] {
334 .dropzone-file-item-status[data-status="error"] {
337 .dropzone-file-item-status[data-status] + .dropzone-file-item-label {
341 .image-manager-list .image {
348 width: math.div(100%, 6);
350 @include lightDark(border-color, #ddd, #000);
351 box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
352 transition: all cubic-bezier(.4, 0, 1, 1) 160ms;
355 transform: scale3d(0.92, 0.92, 0.92);
356 outline: currentColor 2px solid;
369 background-color: rgba(0, 0, 0, 0.4);
376 @include smaller-than($xl) {
377 width: math.div(100%, 4);
379 @include smaller-than($m) {
386 .image-manager .load-more {
396 .image-manager .loading-container {
400 .image-manager-sidebar {
404 border-inline-start: 1px solid #DDD;
405 @include lightDark(border-color, #ddd, #000);
410 .image-manager-viewer img {
414 margin: 0 auto $-m auto;
415 box-shadow: 0 1px 21px 1px rgba(76, 76, 76, 0.3);
417 .image-manager-viewer {
421 justify-content: center;
423 display: inline-block;
428 .image-manager-list {
433 .image-manager-content {
435 flex-direction: column;
445 .image-manager [role="tablist"] button[role="tab"] {
446 border-right: 1px solid #DDD;
452 .image-manager-header {
456 .tab-container [role="tablist"] {
459 justify-items: start;
461 border-bottom: 1px solid #DDD;
462 @include lightDark(border-color, #ddd, #444);
466 .tab-container [role="tablist"] button[role="tab"],
467 .image-manager [role="tablist"] button[role="tab"] {
468 display: inline-block;
470 @include lightDark(color, rgba(0, 0, 0, .5), rgba(255, 255, 255, .5));
472 border-bottom: 2px solid transparent;
474 &[aria-selected="true"] {
475 color: var(--color-link) !important;
476 border-bottom-color: var(--color-link) !important;
479 @include lightDark(color, rgba(0, 0, 0, .8), rgba(255, 255, 255, .8));
480 @include lightDark(border-bottom-color, rgba(0, 0, 0, .2), rgba(255, 255, 255, .2));
483 .tab-container [role="tablist"].controls-card {
489 .image-picker .none {
493 .code-editor .CodeMirror {
499 .code-editor .lang-options {
505 .code-editor .lang-options button {
508 border-bottom: 1px solid;
509 @include lightDark(color, #333, #AAA);
510 @include lightDark(border-bottom-color, #EEE, #000);
516 padding-left: 24px + $-xs;
518 background-color: var(--color-primary-light);
519 color: var(--color-primary);
523 .code-editor button.lang-option-favorite-toggle {
535 color: var(--color-primary);
541 .code-editor button[data-favourite="true"] ~ .action-favourite,
542 .code-editor button[data-favourite="false"] ~ .action-unfavourite {
546 .code-editor .action-favourite {
549 .code-editor button:hover ~ .action-favourite {
554 background-color: var(--color-primary-light);
556 color: var(--color-primary);
561 .code-editor-language-list {
565 align-items: stretch;
568 .code-editor-language-list input {
571 border-bottom: 1px solid #DDD;
587 .code-editor-body-wrap {
591 @include smaller-than($s) {
592 .code-editor .lang-options {
595 .code-editor-body-wrap {
596 flex-direction: column;
598 .code-editor-language-list, .code-editor-language-list input {
605 border: 1px solid #DDD;
606 @include lightDark(border-color, #ddd, #000);
607 @include lightDark(background-color, #FFF, #222);
617 transition: opacity ease-in-out 120ms;
619 &:hover .actions, &:focus-within .actions {
624 .comment-box .header {
627 display: inline-block;
631 padding: $-xxs 0 $-xxs 0;
636 padding-inline-start: $-xxs;
644 #tag-manager .drag-card {
651 &:hover, .template-item-actions button:hover {
652 background-color: #F2F2F2;
654 .template-item-actions {
661 flex-direction: column;
662 border-inline-start: 1px solid;
663 @include lightDark(border-color, #ddd, #000);
665 .template-item-actions button {
668 @include lightDark(background-color, #FFF, #222);
670 border-top: 1px solid;
671 @include lightDark(border-color, #DDD, #000);
673 .template-item-actions button svg {
676 .template-item-actions button:first-child {
685 .dropdown-search-toggle-breadcrumb {
686 border: 1px solid transparent;
694 margin-inline-end: 0;
697 .dropdown-search-toggle-select {
713 text-overflow: ellipsis;
716 .dropdown-search-toggle-caret {
720 .dropdown-search-toggle-select-label {
724 .dropdown-search-toggle-select-caret {
732 .dropdown-search-dropdown {
747 .dropdown-search-search .svg-icon {
756 pointer-events: none;
758 .dropdown-search-list {
763 .dropdown-search-item {
766 background-color: #F2F2F2;
767 text-decoration: none;
771 padding-inline-start: $-xl;
774 border-bottom: 1px solid #DDD;
781 @include smaller-than($m) {
782 .dropdown-search-dropdown {
787 .dropdown-search-dropdown .dropdown-search-list {
793 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
797 @include lightDark(border-color, #E2E2E2, #444);
798 border-bottom-width: 0;
803 @include lightDark(background-color, #F6F6F6, #333);
806 .item-list-row:first-child {
807 border-radius: 4px 4px 0 0;
809 .item-list-row:last-child {
810 border-radius: 0 0 4px 4px;
811 border-bottom-width: 1.5px;
813 .item-list-row:first-child:last-child {
816 .item-list-row-toggle-all {
819 .item-list-row:hover .item-list-row-toggle-all {
823 .status-indicator-active, .status-indicator-inactive {
827 display: inline-block;
829 .status-indicator-active {
830 background-color: $positive;
832 .status-indicator-inactive {
833 background-color: $negative;
836 .shortcut-container {
837 background-color: rgba(0, 0, 0, 0.25);
838 pointer-events: none;
848 box-shadow: 0 0 4px 0 #FFF;
853 padding: $-xxs $-xxs;
857 background-color: #eee;
859 border: 1px solid #b4b4b4;
860 box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
867 background-color: var(--color-primary);
876 width: math.div($btt-size, 1.5);
877 height: math.div($btt-size, 1.5);
878 margin-inline-end: 4px;
882 border-radius: $btt-size;
883 transition: all ease-in-out 180ms;
888 width: $btt-size*3.4;
889 opacity: 1 !important;
892 width: $btt-size*3.4;
901 // Sortable scroll boxes
909 @include lightDark(border-color, #DDD, #000);
912 @include lightDark(background-color, #EEE, #000);
915 border-bottom: 1px solid;
916 border-top: 1px solid;
917 @include lightDark(border-color, #DDD, #000);
919 @include lightDark(background-color, #FFF, #222);
921 align-items: flex-start;
928 @include lightDark(background-color, #f8f8f8, #333);
947 @include lightDark(color, #444, #FFF);
953 text-decoration: none;
957 input.scroll-box-search, .scroll-box-header-item {
960 @include lightDark(border-color, #DDD, #000);
961 @include lightDark(background-color, #FFF, #222);
963 border-radius: 3px 3px 0 0;
971 .scroll-box-search + .scroll-box,
972 .scroll-box-header-item + .scroll-box {
973 border-radius: 0 0 3px 3px;
976 .scroll-box[refs="shelf-sort@shelf-book-list"] [data-action="add"] {
979 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="remove"],
980 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_up"],
981 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_down"],