X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/067cb9c5b7b020da6dda398773cd7236fa3b51f2..refs/pull/5681/head:/resources/sass/styles.scss diff --git a/resources/sass/styles.scss b/resources/sass/styles.scss index 74e4a4fde..c6642d0ca 100644 --- a/resources/sass/styles.scss +++ b/resources/sass/styles.scss @@ -1,26 +1,31 @@ -@import "reset"; -@import "variables"; -@import "mixins"; -@import "spacing"; -@import "html"; -@import "text"; -@import "colors"; -@import "layout"; -@import "blocks"; -@import "buttons"; -@import "tables"; -@import "forms"; -@import "animations"; -@import "tinymce"; -@import "codemirror"; -@import "components"; -@import "header"; -@import "lists"; -@import "pages"; +@use "sass:meta"; -[v-cloak] { - display: none; opacity: 0; - animation-name: none !important; +@use "reset"; +@use "vars"; +@use "mixins"; +@use "spacing"; +@use "opacity"; +@use "html"; +@use "text"; +@use "colors"; +@use "layout"; +@use "blocks"; +@use "buttons"; +@use "tables"; +@use "forms"; +@use "animations"; +@use "tinymce"; +@use "editor"; +@use "codemirror"; +@use "components"; +@use "header"; +@use "footer"; +@use "lists"; +@use "pages"; +@use "content"; + +@media print { + @include meta.load-css("print"); } // Jquery Sortable Styles @@ -36,7 +41,7 @@ body.dragging, body.dragging * { // User Avatar Images .avatar { border-radius: 100%; - background-color: #EEE; + @include mixins.lightDark(background-color, #eee, #000); width: 30px; height: 30px; &.med { @@ -54,6 +59,11 @@ body.dragging, body.dragging * { &.square { border-radius: 3px; } + &[src$="user_avatar.png"] { + @include mixins.whenDark { + filter: invert(1); + } + } } // Loading icon @@ -61,7 +71,7 @@ $loadingSize: 10px; .loading-container { position: relative; display: block; - margin: $-xl auto; + margin: vars.$xl auto; > div { width: $loadingSize; height: $loadingSize; @@ -69,99 +79,57 @@ $loadingSize: 10px; display: inline-block; vertical-align: top; transform: translate3d(-10px, 0, 0); - margin-top: $-xs; + margin-top: vars.$xs; animation-name: loadingBob; animation-duration: 1.4s; animation-iteration-count: infinite; animation-timing-function: cubic-bezier(.62, .28, .23, .99); margin-inline-end: 4px; background-color: var(--color-page); - animation-delay: 0.3s; + animation-delay: -300ms; } > div:first-child { - left: -($loadingSize+$-xs); + left: -($loadingSize+vars.$xs); background-color: var(--color-book); - animation-delay: 0s; + animation-delay: -600ms; } > div:last-of-type { - left: $loadingSize+$-xs; + left: $loadingSize+vars.$xs; background-color: var(--color-chapter); - animation-delay: 0.6s; + animation-delay: 0ms; } > span { - margin-inline-start: $-s; + margin-inline-start: vars.$s; font-style: italic; color: #888; vertical-align: top; } } -// Back to top link -$btt-size: 40px; -[back-to-top] { - background-color: var(--color-primary); - position: fixed; - bottom: $-m; - right: $-l; - padding: 5px 7px; - cursor: pointer; - color: #FFF; - fill: #FFF; - svg { - width: $btt-size / 1.5; - height: $btt-size / 1.5; - margin-inline-end: 4px; - } - width: $btt-size; - height: $btt-size; - border-radius: $btt-size; - transition: all ease-in-out 180ms; - opacity: 0; - z-index: 999; - overflow: hidden; - &:hover { - width: $btt-size*3.4; - opacity: 1 !important; - } - .inner { - width: $btt-size*3.4; - } - span { - position: relative; - vertical-align: top; - line-height: 2; - } +.inline.block .loading-container { + margin: vars.$xs vars.$s; } -.contained-search-box { - display: flex; - input, button { - border-radius: 0; - border: 1px solid #DDD; - margin-inline-start: -1px; - } - input { - flex: 5; - padding: $-xs $-s; - &:focus, &:active { - outline: 0; - } - } - button { - width: 60px; - } - button i { - padding: 0; - } - button.cancel.active { - background-color: $negative; - color: #EEE; +.skip-to-content-link { + position: fixed; + top: -52px; + left: 0; + background-color: #FFF; + z-index: 15; + border-radius: 0 4px 4px 0; + display: block; + box-shadow: vars.$bs-dark; + font-weight: bold; + &:focus { + top: vars.$xl; + outline-offset: -10px; + outline: 2px dotted var(--color-link); } } .entity-selector { border: 1px solid #DDD; - @include lightDark(border-color, #ddd, #111); + @include mixins.lightDark(border-color, #ddd, #111); border-radius: 3px; overflow: hidden; font-size: 0.8em; @@ -172,68 +140,61 @@ $btt-size: 40px; border: 0; border-bottom: 1px solid #DDD; font-size: 16px; - padding: $-s $-m; + padding: vars.$s vars.$m; + } + input[type="text"]:focus { + outline: 1px solid var(--color-primary); + border-radius: 3px 3px 0 0; + outline-offset: -1px; } .entity-list { overflow-y: scroll; height: 400px; - @include lightDark(background-color, #eee, #222); + @include mixins.lightDark(background-color, #eee, #222); margin-inline-end: 0; margin-inline-start: 0; } .entity-list-item { - @include lightDark(background-color, #fff, #222); + @include mixins.lightDark(background-color, #fff, #222); } .entity-list-item p { margin-bottom: 0; } + .entity-list-item:focus { + outline: 2px dotted var(--color-primary); + outline-offset: -4px; + } .entity-list-item.selected { - background-color: rgba(0, 0, 0, 0.05) !important; + @include mixins.lightDark(background-color, rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05)); } .loading { height: 400px; - padding-top: $-l; - } - .entity-selector-add button { - margin: 0; - display: block; - width: 100%; - border: 0; - border-top: 1px solid #DDD; + padding-top: vars.$l; } &.compact { font-size: 10px; .entity-item-snippet { display: none; } + h4 { + font-size: 14px; + } } -} - -.scroll-box { - max-height: 250px; - overflow-y: scroll; - border: 1px solid #DDD; - border-radius: 3px; - .scroll-box-item { - padding: $-xs $-m; - border-bottom: 1px solid #DDD; - border-top: 1px solid #DDD; - margin-top: -1px; - &:last-child { - border-bottom: 0; + &.small { + .entity-list-item { + padding: vars.$xs vars.$m; + } + .entity-list, .loading { + height: 300px; + } + input[type="text"] { + font-size: 13px; + padding: vars.$xs vars.$m; + height: auto; } } } -.scroll-box[data-instruction]:before { - content: attr(data-instruction); - padding: $-xs $-m; - border-bottom: 1px solid #DDD; - display: block; - font-size: 0.75rem; - color: #666; -} - .fullscreen { border:0; position:fixed; @@ -246,6 +207,14 @@ $btt-size: 40px; z-index: 150; } +@include mixins.between(vars.$bp-s, vars.$bp-m) { + #home-default > .grid.third { + display: block; + columns: 2; + column-gap: vars.$l !important; + } +} + .list-sort-container { display: inline-block; form { @@ -253,27 +222,29 @@ $btt-size: 40px; } .list-sort { display: inline-grid; - margin-inline-start: $-s; + margin-inline-start: vars.$s; grid-template-columns: minmax(120px, max-content) 40px; font-size: 0.9rem; border: 2px solid #DDD; + @include mixins.lightDark(border-color, #ddd, #444); border-radius: 4px; } .list-sort-label { font-weight: bold; display: inline-block; - color: #555; + @include mixins.lightDark(color, #555, #888); } .list-sort-type { text-align: start; } .list-sort-type, .list-sort-dir { - padding: $-xs $-s; + padding: vars.$xs vars.$s; cursor: pointer; } .list-sort-dir { border-inline-start: 2px solid #DDD; - fill: #888; + color: #888; + @include mixins.lightDark(border-color, #ddd, #444); .svg-icon { transition: transform ease-in-out 120ms; } @@ -281,4 +252,9 @@ $btt-size: 40px; transform: rotate(180deg); } } +} + +.import-item { + border-inline-start: 2px solid currentColor; + padding-inline-start: vars.$xs; } \ No newline at end of file