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 .dropzone-landing-area {
232 background-color: var(--color-primary-light);
235 border: 1px dashed var(--color-primary);
236 color: var(--color-primary);
240 @keyframes dzAnimIn {
243 transform: scale(.7);
246 transform: scale(1.1);
254 @keyframes dzFileItemIn {
257 transform: translateY(28px);
261 transform: translateY(0);
264 @keyframes dzFileItemOut {
267 transform: translateY(0);
271 transform: translateY(28px);
275 .dropzone-file-item {
282 @include lightDark(background, #FFF, #444);
283 box-shadow: $bs-large;
287 animation: dzFileItemIn ease-in-out 240ms;
288 transition: transform ease-in-out 120ms, box-shadow ease-in-out 120ms;
291 transform: translateY(-3px);
292 box-shadow: 0 3px 8px 1px rgba(22, 22, 22, 0.2);
295 .dropzone-file-item.dismiss {
296 animation: dzFileItemOut ease-in-out 240ms;
298 .dropzone-file-item .loading-container {
299 text-align: start !important;
302 .dropzone-file-item-image-wrap {
305 background-color: var(--color-primary-light);
313 .dropzone-file-item-text-wrap {
319 .dropzone-file-item-progress {
325 background-color: var(--color-primary);
326 transition: width ease-in-out 240ms;
328 .dropzone-file-item-label,
329 .dropzone-file-item-status {
334 .dropzone-file-item-status[data-status] {
340 .dropzone-file-item-status[data-status="success"] {
343 .dropzone-file-item-status[data-status="error"] {
346 .dropzone-file-item-status[data-status] + .dropzone-file-item-label {
350 .image-manager-list {
355 grid-template-columns: repeat( auto-fit, minmax(140px, 1fr) );
359 .image-manager-list .image {
369 @include lightDark(border-color, #ddd, #000);
370 transition: all linear 80ms;
373 background-color: var(--color-primary-light);
374 outline: currentColor 3px solid;
376 transform: scale3d(0.95, 0.95, 0.95);
392 background-color: rgba(0, 0, 0, 0.7);
395 pointer-events: none;
396 transition: opacity ease-in-out 80ms;
401 &.selected .image-meta,
403 &:focus .image-meta {
406 @include smaller-than($m) {
413 .image-manager .load-more {
423 .image-manager .loading-container {
427 .image-manager-sidebar {
431 border-inline-start: 1px solid #DDD;
432 @include lightDark(border-color, #ddd, #000);
437 .image-manager-viewer img {
441 margin: 0 auto $-m auto;
442 box-shadow: 0 1px 21px 1px rgba(76, 76, 76, 0.3);
444 .image-manager-viewer {
448 justify-content: center;
450 display: inline-block;
455 .image-manager-content {
457 flex-direction: column;
467 .image-manager [role="tablist"] button[role="tab"] {
468 border-right: 1px solid #DDD;
469 @include lightDark(border-color, #DDD, #000);
475 .image-manager-header {
479 .tab-container [role="tablist"] {
482 justify-items: start;
484 border-bottom: 1px solid #DDD;
485 @include lightDark(border-color, #ddd, #444);
489 .tab-container [role="tablist"] button[role="tab"],
490 .image-manager [role="tablist"] button[role="tab"] {
491 display: inline-block;
493 @include lightDark(color, rgba(0, 0, 0, .5), rgba(255, 255, 255, .5));
495 border-bottom: 2px solid transparent;
497 &[aria-selected="true"] {
498 color: var(--color-link) !important;
499 border-bottom-color: var(--color-link) !important;
502 @include lightDark(color, rgba(0, 0, 0, .8), rgba(255, 255, 255, .8));
503 @include lightDark(border-bottom-color, rgba(0, 0, 0, .2), rgba(255, 255, 255, .2));
506 .tab-container [role="tablist"].controls-card {
512 .image-picker .none {
516 .code-editor .CodeMirror {
522 .code-editor .lang-options {
528 .code-editor .lang-options button {
531 border-bottom: 1px solid;
532 @include lightDark(color, #333, #AAA);
533 @include lightDark(border-bottom-color, #EEE, #000);
539 padding-left: 24px + $-xs;
541 background-color: var(--color-primary-light);
542 color: var(--color-primary);
546 .code-editor button.lang-option-favorite-toggle {
558 color: var(--color-primary);
564 .code-editor button[data-favourite="true"] ~ .action-favourite,
565 .code-editor button[data-favourite="false"] ~ .action-unfavourite {
569 .code-editor .action-favourite {
572 .code-editor button:hover ~ .action-favourite {
577 background-color: var(--color-primary-light);
579 color: var(--color-primary);
584 .code-editor-language-list {
588 align-items: stretch;
591 .code-editor-language-list input {
594 border-bottom: 1px solid #DDD;
610 .code-editor-body-wrap {
614 @include smaller-than($s) {
615 .code-editor .lang-options {
618 .code-editor-body-wrap {
619 flex-direction: column;
621 .code-editor-language-list, .code-editor-language-list input {
628 border: 1px solid #DDD;
629 @include lightDark(border-color, #ddd, #000);
630 @include lightDark(background-color, #FFF, #222);
640 transition: opacity ease-in-out 120ms;
642 &:hover .actions, &:focus-within .actions {
647 .comment-box .header {
650 display: inline-block;
654 padding: $-xxs 0 $-xxs 0;
659 padding-inline-start: $-xxs;
667 #tag-manager .drag-card {
674 &:hover, .template-item-actions button:hover {
675 background-color: #F2F2F2;
677 .template-item-actions {
684 flex-direction: column;
685 border-inline-start: 1px solid;
686 @include lightDark(border-color, #ddd, #000);
688 .template-item-actions button {
691 @include lightDark(background-color, #FFF, #222);
693 border-top: 1px solid;
694 @include lightDark(border-color, #DDD, #000);
696 .template-item-actions button svg {
699 .template-item-actions button:first-child {
708 .dropdown-search-toggle-breadcrumb {
709 border: 1px solid transparent;
717 margin-inline-end: 0;
720 .dropdown-search-toggle-select {
736 text-overflow: ellipsis;
739 .dropdown-search-toggle-caret {
743 .dropdown-search-toggle-select-label {
747 .dropdown-search-toggle-select-caret {
755 .dropdown-search-dropdown {
770 .dropdown-search-search .svg-icon {
779 pointer-events: none;
781 .dropdown-search-list {
786 .dropdown-search-item {
789 background-color: #F2F2F2;
790 text-decoration: none;
794 padding-inline-start: $-xl;
797 border-bottom: 1px solid #DDD;
804 @include smaller-than($m) {
805 .dropdown-search-dropdown {
810 .dropdown-search-dropdown .dropdown-search-list {
816 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
820 @include lightDark(border-color, #E2E2E2, #444);
821 border-bottom-width: 0;
826 @include lightDark(background-color, #F6F6F6, #333);
829 .item-list-row:first-child {
830 border-radius: 4px 4px 0 0;
832 .item-list-row:last-child {
833 border-radius: 0 0 4px 4px;
834 border-bottom-width: 1.5px;
836 .item-list-row:first-child:last-child {
839 .item-list-row-toggle-all {
842 .item-list-row:hover .item-list-row-toggle-all {
846 .status-indicator-active, .status-indicator-inactive {
850 display: inline-block;
852 .status-indicator-active {
853 background-color: $positive;
855 .status-indicator-inactive {
856 background-color: $negative;
859 .shortcut-container {
860 background-color: rgba(0, 0, 0, 0.25);
861 pointer-events: none;
871 box-shadow: 0 0 4px 0 #FFF;
876 padding: $-xxs $-xxs;
880 background-color: #eee;
882 border: 1px solid #b4b4b4;
883 box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
890 background-color: var(--color-primary);
899 width: math.div($btt-size, 1.5);
900 height: math.div($btt-size, 1.5);
901 margin-inline-end: 4px;
905 border-radius: $btt-size;
906 transition: all ease-in-out 180ms;
911 width: $btt-size*3.4;
912 opacity: 1 !important;
915 width: $btt-size*3.4;
924 // Sortable scroll boxes
932 @include lightDark(border-color, #DDD, #000);
935 @include lightDark(background-color, #EEE, #000);
938 border-bottom: 1px solid;
939 border-top: 1px solid;
940 @include lightDark(border-color, #DDD, #000);
942 @include lightDark(background-color, #FFF, #222);
944 align-items: flex-start;
951 @include lightDark(background-color, #f8f8f8, #333);
970 @include lightDark(color, #444, #FFF);
976 text-decoration: none;
980 input.scroll-box-search, .scroll-box-header-item {
983 @include lightDark(border-color, #DDD, #000);
984 @include lightDark(background-color, #FFF, #222);
986 border-radius: 3px 3px 0 0;
994 .scroll-box-search + .scroll-box,
995 .scroll-box-header-item + .scroll-box {
996 border-radius: 0 0 3px 3px;
999 .scroll-box[refs="shelf-sort@shelf-book-list"] [data-action="add"] {
1002 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="remove"],
1003 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_up"],
1004 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_down"],