mirror of
				https://github.com/BookStackApp/BookStack.git
				synced 2025-10-31 03:50:27 +03:00 
			
		
		
		
	Changes the name of our spacing variables due to the prefixing -/_ meaning private in the use of new "use" rather than include. All now modular too, so all variables/mixins are accessed via their package. Also renamed variables file to vars for simpler/cleaner access/writing. eg. '$-m' is now 'vars.$m'
		
			
				
	
	
		
			200 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			200 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
| @use "mixins";
 | |
| @use "vars";
 | |
| 
 | |
| /**
 | |
|  * Page Content
 | |
|  * Styles specific to blocks used within page content.
 | |
|  */
 | |
| 
 | |
| .page-content {
 | |
|   width: 100%;
 | |
|   max-width: 840px;
 | |
|   margin: 0 auto;
 | |
|   overflow-wrap: break-word;
 | |
|   .align-left {
 | |
|     text-align: left;
 | |
|   }
 | |
|   img.align-left, table.align-left, iframe.align-left, video.align-left {
 | |
|     float: left !important;
 | |
|     margin: vars.$xs vars.$m vars.$m 0;
 | |
|   }
 | |
|   .align-right {
 | |
|     text-align: right !important;
 | |
|   }
 | |
|   img.align-right, table.align-right, iframe.align-right, video.align-right {
 | |
|     float: right !important;
 | |
|     margin: vars.$xs 0 vars.$xs vars.$s;
 | |
|   }
 | |
|   .align-center {
 | |
|     text-align: center;
 | |
|   }
 | |
|   img.align-center, video.align-center, iframe.align-center {
 | |
|     display: block;
 | |
|   }
 | |
|   img.align-center, table.align-center, iframe.align-center, video.align-center {
 | |
|     margin-left: auto;
 | |
|     margin-right: auto;
 | |
|   }
 | |
|   .align-justify {
 | |
|     text-align: justify;
 | |
|   }
 | |
|   h1, h2, h3, h4, h5, h6, pre {
 | |
|     clear: left;
 | |
|   }
 | |
|   hr {
 | |
|     clear: both;
 | |
|     margin: vars.$m 0;
 | |
|   }
 | |
|   table {
 | |
|     hyphens: auto;
 | |
|     table-layout: fixed;
 | |
|     max-width: 100%;
 | |
|     height: auto !important;
 | |
|   }
 | |
| 
 | |
|   // diffs
 | |
|   ins,
 | |
|   del {
 | |
|     text-decoration: none;
 | |
|   }
 | |
|   ins {
 | |
|     background: #dbffdb;
 | |
|   }
 | |
|   del {
 | |
|     background: #FFECEC;
 | |
|   }
 | |
| 
 | |
|   details {
 | |
|     border: 1px solid;
 | |
|     @include mixins.lightDark(border-color, #DDD, #555);
 | |
|     margin-bottom: 1em;
 | |
|     padding: vars.$s;
 | |
|   }
 | |
|   details > summary {
 | |
|     margin-top: -(vars.$s);
 | |
|     margin-left: -(vars.$s);
 | |
|     margin-right: -(vars.$s);
 | |
|     margin-bottom: -(vars.$s);
 | |
|     font-weight: bold;
 | |
|     @include mixins.lightDark(background-color, #EEE, #333);
 | |
|     padding: vars.$xs vars.$s;
 | |
|   }
 | |
|   details[open] > summary {
 | |
|     margin-bottom: vars.$s;
 | |
|     border-bottom: 1px solid;
 | |
|     @include mixins.lightDark(border-color, #DDD, #555);
 | |
|   }
 | |
|   details > summary + * {
 | |
|     margin-top: .2em;
 | |
|   }
 | |
|   details:after {
 | |
|     content: '';
 | |
|     display: block;
 | |
|     clear: both;
 | |
|   }
 | |
| 
 | |
|   li > input[type="checkbox"] {
 | |
|     vertical-align: top;
 | |
|     margin-top: 0.3em;
 | |
|   }
 | |
| 
 | |
|   p:empty {
 | |
|     min-height: 1.6em;
 | |
|   }
 | |
| 
 | |
|   &.page-revision {
 | |
|     pre code {
 | |
|       white-space: pre-wrap;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   .cm-editor {
 | |
|     margin-bottom: 1.375em;
 | |
|   }
 | |
| 
 | |
|   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: vars.$s;
 | |
|   padding-left: vars.$xl;
 | |
|   padding-inline-start: vars.$xl;
 | |
|   padding-inline-end: vars.$s;
 | |
|   display: block;
 | |
|   position: relative;
 | |
|   overflow: auto;
 | |
|   &:before {
 | |
|     background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+');
 | |
|     background-repeat: no-repeat;
 | |
|     content: '';
 | |
|     width: 1.2em;
 | |
|     height: 1.2em;
 | |
|     left: vars.$xs + 2px;
 | |
|     inset-inline-start: vars.$xs + 2px;
 | |
|     inset-inline-end: unset;
 | |
|     top: 50%;
 | |
|     margin-top: -9px;
 | |
|     display: inline-block;
 | |
|     position: absolute;
 | |
|     line-height: 1;
 | |
|     opacity: 0.8;
 | |
|   }
 | |
|   &.success {
 | |
|     @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 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 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 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=");
 | |
|   }
 | |
|   a {
 | |
|     color: inherit;
 | |
|     text-decoration: underline;
 | |
|   }
 | |
| } |