]> BookStack Code Mirror - bookstack/blobdiff - resources/sass/_content.scss
Perms: Fixed some issues made when adding transactions
[bookstack] / resources / sass / _content.scss
index 10a2cd983603501223149bd4a79d46fb7947f643..aba1556a9836e49ffbf2e38a1190115084e55fc6 100644 (file)
@@ -1,3 +1,6 @@
+@use "mixins";
+@use "vars";
+
 /**
  * Page Content
  * Styles specific to blocks used within page content.
   max-width: 840px;
   margin: 0 auto;
   overflow-wrap: break-word;
+  position: relative;
   .align-left {
     text-align: left;
   }
-  img.align-left, table.align-left {
+  img.align-left, table.align-left, iframe.align-left, video.align-left {
     float: left !important;
-    margin: $-xs $-m $-m 0;
+    margin: vars.$xs vars.$m vars.$m 0;
   }
   .align-right {
     text-align: right !important;
   }
-  img.align-right, table.align-right {
+  img.align-right, table.align-right, iframe.align-right, video.align-right {
     float: right !important;
-    margin: $-xs 0 $-xs $-s;
+    margin: vars.$xs 0 vars.$xs vars.$s;
   }
   .align-center {
     text-align: center;
   }
-  img.align-center {
+  img.align-center, video.align-center, iframe.align-center {
     display: block;
   }
-  img.align-center, table.align-center {
+  img.align-center, table.align-center, iframe.align-center, video.align-center {
     margin-left: auto;
     margin-right: auto;
   }
-  img {
-    max-width: 100%;
-    height:auto;
+  .align-justify {
+    text-align: justify;
   }
   h1, h2, h3, h4, h5, h6, pre {
     clear: left;
   }
   hr {
     clear: both;
-    margin: $-m 0;
+    margin: vars.$m 0;
   }
   table {
     hyphens: auto;
 
   details {
     border: 1px solid;
-    @include lightDark(border-color, #DDD, #555);
+    @include mixins.lightDark(border-color, #DDD, #555);
     margin-bottom: 1em;
-    padding: $-s;
+    padding: vars.$s;
   }
   details > summary {
-    margin-top: -$-s;
-    margin-left: -$-s;
-    margin-right: -$-s;
-    margin-bottom: -$-s;
+    margin-top: -(vars.$s);
+    margin-left: -(vars.$s);
+    margin-right: -(vars.$s);
+    margin-bottom: -(vars.$s);
     font-weight: bold;
-    @include lightDark(background-color, #EEE, #333);
-    padding: $-xs $-s;
+    @include mixins.lightDark(background-color, #EEE, #333);
+    padding: vars.$xs vars.$s;
   }
   details[open] > summary {
-    margin-bottom: $-s;
+    margin-bottom: vars.$s;
     border-bottom: 1px solid;
-    @include lightDark(border-color, #DDD, #555);
+    @include mixins.lightDark(border-color, #DDD, #555);
   }
   details > summary + * {
     margin-top: .2em;
     margin-bottom: 1.375em;
   }
 
-  video {
+  video, iframe {
     max-width: 100%;
   }
+
+  a {
+    text-decoration: underline;
+  }
+}
+
+// This is seperated out so we can target it out-of-editor by default
+// and use advanced (:not) syntax, not supported by things like PDF gen,
+// to target in-editor scenarios to handle edge-case of TinyMCE using an
+// image for data placeholders where we'd want height attributes to take effect.
+body .page-content img,
+.page-content img:not([data-mce-object]) {
+  max-width: 100%;
+  height:auto;
 }
 
 /**
  * Callouts
+ * Some styles duplicated for supporting logical units (eg. inline-end) while
+ * providing fallbacks to non-logical rules, so RTL is natively supported where possible.
  */
 .callout {
   border-left: 3px solid #BBB;
+  border-inline-start: 3px solid #BBB;
+  border-inline-end: none;
   background-color: #EEE;
-  padding: $-s $-s $-s $-xl;
+  padding: vars.$s;
+  padding-left: vars.$xl;
+  padding-inline-start: vars.$xl;
+  padding-inline-end: vars.$s;
   display: block;
   position: relative;
   overflow: auto;
     content: '';
     width: 1.2em;
     height: 1.2em;
-    left: $-xs + 2px;
+    left: vars.$xs + 2px;
+    inset-inline-start: vars.$xs + 2px;
+    inset-inline-end: unset;
     top: 50%;
     margin-top: -9px;
     display: inline-block;
     opacity: 0.8;
   }
   &.success {
-    @include lightDark(border-left-color, $positive, $positive-dark);
-    @include lightDark(background-color, lighten($positive, 68%), darken($positive-dark, 36%));
-    @include lightDark(color, darken($positive, 16%), $positive-dark);
+    @include mixins.lightDark(border-color, vars.$positive, vars.$positive-dark);
+    @include mixins.lightDark(background-color, #eafdeb, #122913);
+    @include mixins.lightDark(color, #063409, vars.$positive-dark);
   }
   &.success:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+");
   }
   &.danger {
-    @include lightDark(border-left-color, $negative, $negative-dark);
-    @include lightDark(background-color, lighten($negative, 56%), darken($negative-dark, 55%));
-    @include lightDark(color, darken($negative, 20%), $negative-dark);
+    @include mixins.lightDark(border-color, vars.$negative, vars.$negative-dark);
+    @include mixins.lightDark(background-color, #fcdbdb, #250505);
+    @include mixins.lightDark(color, #4d0706, vars.$negative-dark);
   }
   &.danger:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");
   }
   &.info {
-    @include lightDark(border-left-color, $info, $info-dark);
-    @include lightDark(color, darken($info, 20%), $info-dark);
-    @include lightDark(background-color, lighten($info, 50%), darken($info-dark, 34%));
+    @include mixins.lightDark(border-color, vars.$info, vars.$info-dark);
+    @include mixins.lightDark(background-color, #d3efff, #001825);
+    @include mixins.lightDark(color, #01466c, vars.$info-dark);
   }
   &.warning {
-    @include lightDark(border-left-color, $warning, $warning-dark);
-    @include lightDark(background-color, lighten($warning, 50%), darken($warning-dark, 50%));
-    @include lightDark(color, darken($warning, 20%), $warning-dark);
+    @include mixins.lightDark(border-color, vars.$warning, vars.$warning-dark);
+    @include mixins.lightDark(background-color, #fee3d3, #30170a);
+    @include mixins.lightDark(color, #6a2802, vars.$warning-dark);
   }
   &.warning:before {
     background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=");