X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/5681/head:/resources/sass/styles.scss diff --git a/resources/sass/styles.scss b/resources/sass/styles.scss index 614b7f295..c6642d0ca 100644 --- a/resources/sass/styles.scss +++ b/resources/sass/styles.scss @@ -1,23 +1,32 @@ -@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 "footer"; -@import "lists"; -@import "pages"; +@use "sass:meta"; + +@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 .dragged { @@ -32,7 +41,7 @@ body.dragging, body.dragging * { // User Avatar Images .avatar { border-radius: 100%; - @include lightDark(background-color, #eee, #000); + @include mixins.lightDark(background-color, #eee, #000); width: 30px; height: 30px; &.med { @@ -51,7 +60,7 @@ body.dragging, body.dragging * { border-radius: 3px; } &[src$="user_avatar.png"] { - @include whenDark { + @include mixins.whenDark { filter: invert(1); } } @@ -62,7 +71,7 @@ $loadingSize: 10px; .loading-container { position: relative; display: block; - margin: $-xl auto; + margin: vars.$xl auto; > div { width: $loadingSize; height: $loadingSize; @@ -70,104 +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; - height: 38px; - input, button { - border-radius: 0; - border: 1px solid #ddd; - @include lightDark(border-color, #ddd, #000); - 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; - } - svg { - margin: 0; +.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; @@ -178,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; @@ -252,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 { @@ -259,29 +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 lightDark(border-color, #ddd, #444); + @include mixins.lightDark(border-color, #ddd, #444); border-radius: 4px; } .list-sort-label { font-weight: bold; display: inline-block; - @include lightDark(color, #555, #888); + @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; color: #888; - @include lightDark(border-color, #ddd, #444); + @include mixins.lightDark(border-color, #ddd, #444); .svg-icon { transition: transform ease-in-out 120ms; } @@ -291,13 +254,7 @@ $btt-size: 40px; } } -table.table .table-user-item { - display: grid; - grid-template-columns: 42px 1fr; - align-items: center; -} -table.table .table-entity-item { - display: grid; - grid-template-columns: 36px 1fr; - align-items: center; +.import-item { + border-inline-start: 2px solid currentColor; + padding-inline-start: vars.$xs; } \ No newline at end of file