]> BookStack Code Mirror - bookstack/blob - resources/assets/sass/styles.scss
Cleaned up tag edit interface
[bookstack] / resources / assets / sass / styles.scss
1 @import "reset";
2 @import "variables";
3 @import "fonts";
4 @import "mixins";
5 @import "html";
6 @import "text";
7 @import "grid";
8 @import "blocks";
9 @import "buttons";
10 @import "forms";
11 @import "tables";
12 @import "animations";
13 @import "tinymce";
14 @import "highlightjs";
15 @import "image-manager";
16 @import "header";
17 @import "lists";
18 @import "pages";
19
20 [v-cloak], [v-show] {display: none;}
21
22 [ng\:cloak], [ng-cloak], .ng-cloak {
23   display: none !important;
24   user-select: none;
25 }
26
27 [ng-click] {
28   cursor: pointer;
29 }
30
31 // Jquery Sortable Styles
32 .dragged {
33   position: absolute;
34   opacity: 0.5;
35   z-index: 2000;
36 }
37 body.dragging, body.dragging * {
38   cursor: move !important;
39 }
40
41 // User Avatar Images
42 .avatar {
43   border-radius: 100%;
44   background-color: #EEE;
45   width: 30px;
46   height: 30px;
47   &.med {
48     width: 40px;
49     height: 40px;
50   }
51   &.large {
52     width: 80px;
53     height: 80px;
54   }
55   &.huge {
56     width: 120px;
57     height: 120px;
58   }
59   &.square {
60     border-radius: 3px;
61   }
62 }
63
64 // System wide notifications
65 .notification {
66   position: fixed;
67   top: 0;
68   right: 0;
69   margin: $-xl*2 $-xl;
70   padding: $-l $-xl;
71   background-color: #EEE;
72   border-radius: 3px;
73   box-shadow: $bs-med;
74   z-index: 999999;
75   display: table;
76   cursor: pointer;
77   max-width: 480px;
78   i, span {
79     display: table-cell;
80   }
81   i {
82     font-size: 2em;
83     padding-right: $-l;
84   }
85   span {
86     vertical-align: middle;
87   }
88   &.pos {
89     background-color: $positive;
90     color: #EEE;
91   }
92   &.neg {
93     background-color: $negative;
94     color: #EEE;
95   }
96   &.warning {
97     background-color: $secondary;
98     color: #EEE;
99   }
100 }
101
102 // Loading icon
103 $loadingSize: 10px;
104 .loading-container {
105   position: relative;
106   display: block;
107   height: $loadingSize;
108   margin: $-xl auto;
109   > div {
110     width: $loadingSize;
111     height: $loadingSize;
112     border-radius: $loadingSize;
113     display: inline-block;
114     vertical-align: top;
115     transform: translate3d(0, 0, 0);
116     animation-name: loadingBob;
117     animation-duration: 1.4s;
118     animation-iteration-count: infinite;
119     animation-timing-function: cubic-bezier(.62, .28, .23, .99);
120     margin-right: 4px;
121     background-color: $color-page;
122     animation-delay: 0.3s;
123   }
124   > div:first-child {
125       left: -($loadingSize+$-xs);
126       background-color: $color-book;
127       animation-delay: 0s;
128   }
129   > div:last-child {
130     left: $loadingSize+$-xs;
131     background-color: $color-chapter;
132     animation-delay: 0.6s;
133   }
134 }
135
136
137 // Search results
138 .search-results > h3 a {
139   font-size: 0.66em;
140   color: $primary;
141   padding-left: $-m;
142   i {
143     padding-right: $-s;
144   }
145 }
146
147 // Back to top link
148 $btt-size: 40px;
149 #back-to-top {
150   background-color: $primary;
151   position: fixed;
152   bottom: $-m;
153   right: $-l;
154   padding: $-xs $-s;
155   cursor: pointer;
156   color: #FFF;
157   width: $btt-size;
158   height: $btt-size;
159   border-radius: $btt-size;
160   transition: all ease-in-out 180ms;
161   opacity: 0;
162   z-index: 999;
163   overflow: hidden;
164   &:hover {
165     width: $btt-size*3.4;
166     opacity: 1 !important;
167     span {
168       display: inline-block;
169     }
170   }
171   .inner {
172     width: $btt-size*3.4;
173   }
174   i {
175     margin: 0;
176     font-size: 28px;
177     padding: 0 $-s 0 0;
178   }
179   span {
180     line-height: 12px;
181     position: relative;
182     top: -5px;
183   }
184 }
185
186 .contained-search-box {
187   display: flex;
188   input, button {
189     border-radius: 0;
190     border: 1px solid #DDD;
191     margin-left: -1px;
192   }
193   input {
194     flex: 5;
195     &:focus, &:active {
196       outline: 0;
197     }
198   }
199   button {
200     width: 60px;
201   }
202   button i {
203     padding: 0;
204   }
205   button.cancel.active {
206     background-color: $negative;
207     color: #EEE;
208   }
209 }
210
211 // Attribute form
212 .floating-toolbox {
213   background-color: #FFF;
214   border: 1px solid #DDD;
215   right: $-xl*2;
216   z-index: 99;
217   width: 48px;
218   overflow: hidden;
219   align-items: stretch;
220   flex-direction: row;
221   display: flex;
222   transition: width ease-in-out 180ms;
223   margin-top: -1px;
224   &.open {
225     width: 480px;
226   }
227   [toolbox-toggle] i {
228     transition: transform ease-in-out 180ms;
229   }
230   [toolbox-toggle] {
231     transition: background-color ease-in-out 180ms;
232   }
233   &.open [toolbox-toggle] {
234     background-color: rgba(255, 0, 0, 0.29);
235   }
236   &.open [toolbox-toggle] i {
237     transform: rotate(180deg);
238   }
239   > div {
240     flex: 1;
241     position: relative;
242   }
243   .tabs {
244     display: block;
245     border-right: 1px solid #DDD;
246     width: 54px;
247     flex: 0;
248   }
249   .tabs i {
250     color: rgba(0, 0, 0, 0.5);
251     padding: 0;
252     margin: 0;
253   }
254   .tabs > span {
255     display: block;
256     cursor: pointer;
257     padding: $-s $-m;
258     font-size: 13.5px;
259     line-height: 1.6;
260     border-bottom: 1px solid rgba(255, 255, 255, 0.3);
261   }
262   &.open .tabs > span.active {
263     color: #444;
264     background-color: rgba(0, 0, 0, 0.1);
265   }
266   div[tab-content] {
267     padding-bottom: 45px;
268     display: flex;
269     flex: 1;
270   }
271   div[tab-content] .padded {
272     flex: 1;
273     padding-top: 0;
274   }
275   h4 {
276     font-size: 24px;
277     margin: $-m 0 0 0;
278     padding: 0 $-l $-s $-l;
279   }
280   .tags input {
281     max-width: 100%;
282     width: 100%;
283     min-width: 50px;
284   }
285   .tags td {
286     padding-right: $-s;
287     padding-top: $-s;
288   }
289   button.pos {
290     position: absolute;
291     bottom: 0;
292     display: block;
293     width: 100%;
294     padding: $-s;
295     height: 45px;
296     border: 0;
297     margin: 0;
298     box-shadow: none;
299     border-radius: 0;
300     &:hover{
301       box-shadow: none;
302     }
303   }
304   .handle {
305     user-select: none;
306     cursor: move;
307     color: #999;
308   }
309   form {
310     display: flex;
311     flex: 1;
312     flex-direction: column;
313     overflow-y: scroll;
314   }
315 }
316
317 [tab-content] {
318   display: none;
319 }