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 background-color: #FFF;
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 .image {
357 width: math.div(100%, 6);
359 @include lightDark(border-color, #ddd, #000);
360 box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
361 transition: all cubic-bezier(.4, 0, 1, 1) 160ms;
364 transform: scale3d(0.92, 0.92, 0.92);
365 outline: currentColor 2px solid;
378 background-color: rgba(0, 0, 0, 0.4);
385 @include smaller-than($xl) {
386 width: math.div(100%, 4);
388 @include smaller-than($m) {
395 .image-manager .load-more {
405 .image-manager .loading-container {
409 .image-manager-sidebar {
413 border-inline-start: 1px solid #DDD;
414 @include lightDark(border-color, #ddd, #000);
419 .image-manager-viewer img {
423 margin: 0 auto $-m auto;
424 box-shadow: 0 1px 21px 1px rgba(76, 76, 76, 0.3);
426 .image-manager-viewer {
430 justify-content: center;
432 display: inline-block;
437 .image-manager-list {
442 .image-manager-content {
444 flex-direction: column;
454 .image-manager [role="tablist"] button[role="tab"] {
455 border-right: 1px solid #DDD;
461 .image-manager-header {
465 .tab-container [role="tablist"] {
468 justify-items: start;
470 border-bottom: 1px solid #DDD;
471 @include lightDark(border-color, #ddd, #444);
475 .tab-container [role="tablist"] button[role="tab"],
476 .image-manager [role="tablist"] button[role="tab"] {
477 display: inline-block;
479 @include lightDark(color, rgba(0, 0, 0, .5), rgba(255, 255, 255, .5));
481 border-bottom: 2px solid transparent;
483 &[aria-selected="true"] {
484 color: var(--color-link) !important;
485 border-bottom-color: var(--color-link) !important;
488 @include lightDark(color, rgba(0, 0, 0, .8), rgba(255, 255, 255, .8));
489 @include lightDark(border-bottom-color, rgba(0, 0, 0, .2), rgba(255, 255, 255, .2));
492 .tab-container [role="tablist"].controls-card {
498 .image-picker .none {
502 .code-editor .CodeMirror {
508 .code-editor .lang-options {
514 .code-editor .lang-options button {
517 border-bottom: 1px solid;
518 @include lightDark(color, #333, #AAA);
519 @include lightDark(border-bottom-color, #EEE, #000);
525 padding-left: 24px + $-xs;
527 background-color: var(--color-primary-light);
528 color: var(--color-primary);
532 .code-editor button.lang-option-favorite-toggle {
544 color: var(--color-primary);
550 .code-editor button[data-favourite="true"] ~ .action-favourite,
551 .code-editor button[data-favourite="false"] ~ .action-unfavourite {
555 .code-editor .action-favourite {
558 .code-editor button:hover ~ .action-favourite {
563 background-color: var(--color-primary-light);
565 color: var(--color-primary);
570 .code-editor-language-list {
574 align-items: stretch;
577 .code-editor-language-list input {
580 border-bottom: 1px solid #DDD;
596 .code-editor-body-wrap {
600 @include smaller-than($s) {
601 .code-editor .lang-options {
604 .code-editor-body-wrap {
605 flex-direction: column;
607 .code-editor-language-list, .code-editor-language-list input {
614 border: 1px solid #DDD;
615 @include lightDark(border-color, #ddd, #000);
616 @include lightDark(background-color, #FFF, #222);
626 transition: opacity ease-in-out 120ms;
628 &:hover .actions, &:focus-within .actions {
633 .comment-box .header {
636 display: inline-block;
640 padding: $-xxs 0 $-xxs 0;
645 padding-inline-start: $-xxs;
653 #tag-manager .drag-card {
660 &:hover, .template-item-actions button:hover {
661 background-color: #F2F2F2;
663 .template-item-actions {
670 flex-direction: column;
671 border-inline-start: 1px solid;
672 @include lightDark(border-color, #ddd, #000);
674 .template-item-actions button {
677 @include lightDark(background-color, #FFF, #222);
679 border-top: 1px solid;
680 @include lightDark(border-color, #DDD, #000);
682 .template-item-actions button svg {
685 .template-item-actions button:first-child {
694 .dropdown-search-toggle-breadcrumb {
695 border: 1px solid transparent;
703 margin-inline-end: 0;
706 .dropdown-search-toggle-select {
722 text-overflow: ellipsis;
725 .dropdown-search-toggle-caret {
729 .dropdown-search-toggle-select-label {
733 .dropdown-search-toggle-select-caret {
741 .dropdown-search-dropdown {
756 .dropdown-search-search .svg-icon {
765 pointer-events: none;
767 .dropdown-search-list {
772 .dropdown-search-item {
775 background-color: #F2F2F2;
776 text-decoration: none;
780 padding-inline-start: $-xl;
783 border-bottom: 1px solid #DDD;
790 @include smaller-than($m) {
791 .dropdown-search-dropdown {
796 .dropdown-search-dropdown .dropdown-search-list {
802 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
806 @include lightDark(border-color, #E2E2E2, #444);
807 border-bottom-width: 0;
812 @include lightDark(background-color, #F6F6F6, #333);
815 .item-list-row:first-child {
816 border-radius: 4px 4px 0 0;
818 .item-list-row:last-child {
819 border-radius: 0 0 4px 4px;
820 border-bottom-width: 1.5px;
822 .item-list-row:first-child:last-child {
825 .item-list-row-toggle-all {
828 .item-list-row:hover .item-list-row-toggle-all {
832 .status-indicator-active, .status-indicator-inactive {
836 display: inline-block;
838 .status-indicator-active {
839 background-color: $positive;
841 .status-indicator-inactive {
842 background-color: $negative;
845 .shortcut-container {
846 background-color: rgba(0, 0, 0, 0.25);
847 pointer-events: none;
857 box-shadow: 0 0 4px 0 #FFF;
862 padding: $-xxs $-xxs;
866 background-color: #eee;
868 border: 1px solid #b4b4b4;
869 box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
876 background-color: var(--color-primary);
885 width: math.div($btt-size, 1.5);
886 height: math.div($btt-size, 1.5);
887 margin-inline-end: 4px;
891 border-radius: $btt-size;
892 transition: all ease-in-out 180ms;
897 width: $btt-size*3.4;
898 opacity: 1 !important;
901 width: $btt-size*3.4;
910 // Sortable scroll boxes
918 @include lightDark(border-color, #DDD, #000);
921 @include lightDark(background-color, #EEE, #000);
924 border-bottom: 1px solid;
925 border-top: 1px solid;
926 @include lightDark(border-color, #DDD, #000);
928 @include lightDark(background-color, #FFF, #222);
930 align-items: flex-start;
937 @include lightDark(background-color, #f8f8f8, #333);
956 @include lightDark(color, #444, #FFF);
962 text-decoration: none;
966 input.scroll-box-search, .scroll-box-header-item {
969 @include lightDark(border-color, #DDD, #000);
970 @include lightDark(background-color, #FFF, #222);
972 border-radius: 3px 3px 0 0;
980 .scroll-box-search + .scroll-box,
981 .scroll-box-header-item + .scroll-box {
982 border-radius: 0 0 3px 3px;
985 .scroll-box[refs="shelf-sort@shelf-book-list"] [data-action="add"] {
988 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="remove"],
989 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_up"],
990 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_down"],