]> BookStack Code Mirror - bookstack/blobdiff - resources/sass/styles.scss
Customization: Added parent tag classes
[bookstack] / resources / sass / styles.scss
index 398d16fac3afe34ef75bf5348764f7dac0f399a2..c6642d0cad634aa318815b8af6bbcae1a3fb439d 100644 (file)
@@ -1,26 +1,32 @@
-@use "sass:math";
+@use "sass:meta";
 
-@import "reset";
-@import "variables";
-@import "mixins";
-@import "spacing";
-@import "opacity";
-@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 "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 {
@@ -35,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 {
@@ -54,7 +60,7 @@ body.dragging, body.dragging * {
     border-radius: 3px;
   }
   &[src$="user_avatar.png"] {
-    @include whenDark {
+    @include mixins.whenDark {
       filter: invert(1);
     }
   }
@@ -65,7 +71,7 @@ $loadingSize: 10px;
 .loading-container {
   position: relative;
   display: block;
-  margin: $-xl auto;
+  margin: vars.$xl auto;
   > div {
     width: $loadingSize;
     height: $loadingSize;
@@ -73,7 +79,7 @@ $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;
@@ -83,23 +89,27 @@ $loadingSize: 10px;
     animation-delay: -300ms;
   }
   > div:first-child {
-      left: -($loadingSize+$-xs);
+      left: -($loadingSize+vars.$xs);
       background-color: var(--color-book);
       animation-delay: -600ms;
   }
   > div:last-of-type {
-    left: $loadingSize+$-xs;
+    left: $loadingSize+vars.$xs;
     background-color: var(--color-chapter);
     animation-delay: 0ms;
   }
   > span {
-    margin-inline-start: $-s;
+    margin-inline-start: vars.$s;
     font-style: italic;
     color: #888;
     vertical-align: top;
   }
 }
 
+.inline.block .loading-container {
+  margin: vars.$xs vars.$s;
+}
+
 .skip-to-content-link {
   position: fixed;
   top: -52px;
@@ -108,49 +118,18 @@ $loadingSize: 10px;
   z-index: 15;
   border-radius: 0 4px 4px 0;
   display: block;
-  box-shadow: $bs-dark;
+  box-shadow: vars.$bs-dark;
   font-weight: bold;
   &:focus {
-    top: $-xl;
+    top: vars.$xl;
     outline-offset: -10px;
-    outline: 2px dotted var(--color-primary);
-  }
-}
-
-.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;
+    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;
@@ -161,17 +140,22 @@ $loadingSize: 10px;
     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;
@@ -181,18 +165,11 @@ $loadingSize: 10px;
     outline-offset: -4px;
   }
   .entity-list-item.selected {
-    @include lightDark(background-color, rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.05));
+    @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;
@@ -203,73 +180,21 @@ $loadingSize: 10px;
       font-size: 14px;
     }
   }
-}
-
-.scroll-box {
-  max-height: 250px;
-  overflow-y: scroll;
-  border: 1px solid;
-  @include lightDark(border-color, #DDD, #000);
-  border-radius: 3px;
-  min-height: 20px;
-  @include lightDark(background-color, #EEE, #000);
-}
-.scroll-box-item {
-  border-bottom: 1px solid;
-  border-top: 1px solid;
-  @include lightDark(border-color, #DDD, #000);
-  margin-top: -1px;
-  @include lightDark(background-color, #FFF, #222);
-  display: flex;
-  padding: 1px;
-  &:last-child {
-    border-bottom: 0;
-  }
-  &:hover {
-    cursor: pointer;
-    @include lightDark(background-color, #f8f8f8, #333);
-  }
-  .handle {
-    color: #AAA;
-    cursor: grab;
-  }
-  .handle svg {
-    margin: 0;
-  }
-  > * {
-    padding: $-xs $-m;
-  }
-  .handle + * {
-    padding-left: 0;
-  }
-  &:hover .handle {
-    @include lightDark(color, #444, #FFF);
-  }
-  a:hover {
-    text-decoration: none;
+  &.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;
+    }
   }
 }
 
-input.scroll-box-search, .scroll-box-header-item {
-  font-size: 0.8rem;
-  padding: $-xs $-m;
-  border: 1px solid;
-  @include lightDark(border-color, #DDD, #000);
-  @include lightDark(background-color, #FFF, #222);
-  margin-bottom: -1px;
-  border-radius: 3px 3px 0 0;
-  width: 100%;
-  max-width: 100%;
-  height: auto;
-  line-height: 1.4;
-  color: #666;
-}
-
-.scroll-box-search + .scroll-box,
-.scroll-box-header-item + .scroll-box {
-  border-radius: 0 0 3px 3px;
-}
-
 .fullscreen {
   border:0;
   position:fixed;
@@ -282,6 +207,14 @@ input.scroll-box-search, .scroll-box-header-item {
   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 {
@@ -289,29 +222,29 @@ input.scroll-box-search, .scroll-box-header-item {
   }
   .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;
     }
@@ -319,4 +252,9 @@ input.scroll-box-search, .scroll-box-header-item {
       transform: rotate(180deg);
     }
   }
+}
+
+.import-item {
+  border-inline-start: 2px solid currentColor;
+  padding-inline-start: vars.$xs;
 }
\ No newline at end of file