@pacem/pacem-theme-less 1.0.0-amaldi

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/LICENSE +191 -0
  2. package/NOTICE +4 -0
  3. package/README.md +23 -0
  4. package/fonts-empty.less +11 -0
  5. package/pacem/2d/index.less +14 -0
  6. package/pacem/2d/stage.less +31 -0
  7. package/pacem/2d/text.less +16 -0
  8. package/pacem/3d/index.less +24 -0
  9. package/pacem/3d/stage.less +30 -0
  10. package/pacem/attributes.less +8 -0
  11. package/pacem/basic/dock.less +19 -0
  12. package/pacem/basic/drag-drop.less +75 -0
  13. package/pacem/basic/index.less +42 -0
  14. package/pacem/basic/repeater.less +3 -0
  15. package/pacem/basic/rescale.less +157 -0
  16. package/pacem/basic/resize.less +3 -0
  17. package/pacem/basic/scroll-aware.less +4 -0
  18. package/pacem/basic/swipe.less +22 -0
  19. package/pacem/basic/viewport-aware.less +4 -0
  20. package/pacem/body.less +197 -0
  21. package/pacem/charts/dark/column-line.less +10 -0
  22. package/pacem/charts/dark/column.less +61 -0
  23. package/pacem/charts/dark/index.less +9 -0
  24. package/pacem/charts/dark/line.less +111 -0
  25. package/pacem/charts/dark/pie.less +210 -0
  26. package/pacem/charts/dark/shared.less +88 -0
  27. package/pacem/charts/index.less +1 -0
  28. package/pacem/charts/light/index.less +2 -0
  29. package/pacem/charts/phousys/index.less +2 -0
  30. package/pacem/cms/datagrid-columns.less +41 -0
  31. package/pacem/cms/grid.less +23 -0
  32. package/pacem/cms/index.less +3 -0
  33. package/pacem/cms/shared.less +3 -0
  34. package/pacem/cms/widget.less +81 -0
  35. package/pacem/fonts-dark.less +7 -0
  36. package/pacem/fonts-light.less +7 -0
  37. package/pacem/fonts-none.less +1 -0
  38. package/pacem/fonts-phousys.less +8 -0
  39. package/pacem/fx/fancy.less +138 -0
  40. package/pacem/fx/gradient.less +21 -0
  41. package/pacem/fx/hero.less +12 -0
  42. package/pacem/fx/index.less +6 -0
  43. package/pacem/fx/list.less +11 -0
  44. package/pacem/fx/pulse.less +105 -0
  45. package/pacem/fx/ripple.less +66 -0
  46. package/pacem/icons.less +76 -0
  47. package/pacem/layout/animations.less +37 -0
  48. package/pacem/layout/dark/address.less +37 -0
  49. package/pacem/layout/dark/borders.less +102 -0
  50. package/pacem/layout/dark/breadcrumbs.less +85 -0
  51. package/pacem/layout/dark/cards.less +555 -0
  52. package/pacem/layout/dark/coloring.less +184 -0
  53. package/pacem/layout/dark/container.less +50 -0
  54. package/pacem/layout/dark/datatable.less +454 -0
  55. package/pacem/layout/dark/elevation.less +74 -0
  56. package/pacem/layout/dark/fetch-feedback.less +124 -0
  57. package/pacem/layout/dark/grid-system.less +181 -0
  58. package/pacem/layout/dark/grids.less +268 -0
  59. package/pacem/layout/dark/index.less +27 -0
  60. package/pacem/layout/dark/interactive.less +10 -0
  61. package/pacem/layout/dark/layout.less +616 -0
  62. package/pacem/layout/dark/lists.less +112 -0
  63. package/pacem/layout/dark/other.less +29 -0
  64. package/pacem/layout/dark/panels.less +299 -0
  65. package/pacem/layout/dark/positioning.less +273 -0
  66. package/pacem/layout/dark/scroll.less +93 -0
  67. package/pacem/layout/dark/shapes.less +22 -0
  68. package/pacem/layout/dark/sizing.less +108 -0
  69. package/pacem/layout/dark/spacing.less +296 -0
  70. package/pacem/layout/dark/superposition-system.less +116 -0
  71. package/pacem/layout/dark/tiles.less +71 -0
  72. package/pacem/layout/dark/tokens-chips.less +16 -0
  73. package/pacem/layout/dark/toolbar.less +32 -0
  74. package/pacem/layout/dark/typography.less +110 -0
  75. package/pacem/layout/dark/visibility.less +406 -0
  76. package/pacem/layout/index.less +2 -0
  77. package/pacem/layout/light/index.less +2 -0
  78. package/pacem/layout/light/layout.less +2 -0
  79. package/pacem/layout/mixins.less +445 -0
  80. package/pacem/layout/phousys/index.less +2 -0
  81. package/pacem/layout/phousys/layout.less +2 -0
  82. package/pacem/layout/shared.less +18 -0
  83. package/pacem/logging/console.less +3 -0
  84. package/pacem/logging/fps.less +6 -0
  85. package/pacem/logging/index.less +2 -0
  86. package/pacem/maps/index.less +21 -0
  87. package/pacem/media/dark/index.less +6 -0
  88. package/pacem/media/index.less +1 -0
  89. package/pacem/media/light/index.less +2 -0
  90. package/pacem/media/phousys/index.less +2 -0
  91. package/pacem/pacem-animations.less +202 -0
  92. package/pacem/pacem.less +448 -0
  93. package/pacem/palette-dark.less +0 -0
  94. package/pacem/palette-light.less +0 -0
  95. package/pacem/plus/carousel.less +370 -0
  96. package/pacem/plus/context-menu.less +31 -0
  97. package/pacem/plus/datagrid/datacell.less +10 -0
  98. package/pacem/plus/datagrid/headcell.less +32 -0
  99. package/pacem/plus/datagrid/index.less +48 -0
  100. package/pacem/plus/edit.less +42 -0
  101. package/pacem/plus/gallery.less +239 -0
  102. package/pacem/plus/index.less +7 -0
  103. package/pacem/plus/modal-form.less +27 -0
  104. package/pacem/plus/router-hash-state.less +6 -0
  105. package/pacem/reset.less +51 -0
  106. package/pacem/scaffolding/dark/calendar-picker.less +415 -0
  107. package/pacem/scaffolding/dark/char-counter.less +68 -0
  108. package/pacem/scaffolding/dark/chars.less +29 -0
  109. package/pacem/scaffolding/dark/checkbox-radio-shared.less +150 -0
  110. package/pacem/scaffolding/dark/checkbox.less +232 -0
  111. package/pacem/scaffolding/dark/childform.less +191 -0
  112. package/pacem/scaffolding/dark/color.less +128 -0
  113. package/pacem/scaffolding/dark/contenteditable/alignment.less +6 -0
  114. package/pacem/scaffolding/dark/contenteditable/dashboard.less +253 -0
  115. package/pacem/scaffolding/dark/contenteditable/index.less +4 -0
  116. package/pacem/scaffolding/dark/contenteditable/picture.less +74 -0
  117. package/pacem/scaffolding/dark/contenteditable/placeholder.less +24 -0
  118. package/pacem/scaffolding/dark/contenteditable.less +157 -0
  119. package/pacem/scaffolding/dark/datepicker.less +129 -0
  120. package/pacem/scaffolding/dark/dialog-overrides.less +32 -0
  121. package/pacem/scaffolding/dark/element-picker.less +11 -0
  122. package/pacem/scaffolding/dark/expression.less +34 -0
  123. package/pacem/scaffolding/dark/form.less +16 -0
  124. package/pacem/scaffolding/dark/formfield.less +1149 -0
  125. package/pacem/scaffolding/dark/geolocate.less +12 -0
  126. package/pacem/scaffolding/dark/hierarchy.less +82 -0
  127. package/pacem/scaffolding/dark/image.less +195 -0
  128. package/pacem/scaffolding/dark/index.less +57 -0
  129. package/pacem/scaffolding/dark/input.less +134 -0
  130. package/pacem/scaffolding/dark/latlng.less +163 -0
  131. package/pacem/scaffolding/dark/markdown.less +20 -0
  132. package/pacem/scaffolding/dark/namevalue-list.less +13 -0
  133. package/pacem/scaffolding/dark/number.less +12 -0
  134. package/pacem/scaffolding/dark/password.less +12 -0
  135. package/pacem/scaffolding/dark/property-picker.less +11 -0
  136. package/pacem/scaffolding/dark/radio.less +78 -0
  137. package/pacem/scaffolding/dark/search.less +29 -0
  138. package/pacem/scaffolding/dark/select.less +55 -0
  139. package/pacem/scaffolding/dark/slider.less +176 -0
  140. package/pacem/scaffolding/dark/snapshot.less +183 -0
  141. package/pacem/scaffolding/dark/suggest.less +115 -0
  142. package/pacem/scaffolding/dark/tags.less +149 -0
  143. package/pacem/scaffolding/dark/tel.less +11 -0
  144. package/pacem/scaffolding/dark/textarea.less +29 -0
  145. package/pacem/scaffolding/dark/upload.less +252 -0
  146. package/pacem/scaffolding/dark/url.less +9 -0
  147. package/pacem/scaffolding/dark/validators.less +36 -0
  148. package/pacem/scaffolding/index.less +2 -0
  149. package/pacem/scaffolding/light/index.less +2 -0
  150. package/pacem/scaffolding/phousys/index.less +2 -0
  151. package/pacem/scaffolding/shared.less +249 -0
  152. package/pacem/text-overrides.less +219 -0
  153. package/pacem/theme-dark.less +676 -0
  154. package/pacem/theme-light.less +119 -0
  155. package/pacem/theme-phousys-old.less +130 -0
  156. package/pacem/theme-phousys.less +153 -0
  157. package/pacem/transforms/index.less +7 -0
  158. package/pacem/ui/dark/anchor.less +45 -0
  159. package/pacem/ui/dark/balloon.less +566 -0
  160. package/pacem/ui/dark/binder.less +50 -0
  161. package/pacem/ui/dark/blade.less +110 -0
  162. package/pacem/ui/dark/body.less +5 -0
  163. package/pacem/ui/dark/bottom-sheet.less +69 -0
  164. package/pacem/ui/dark/button.less +716 -0
  165. package/pacem/ui/dark/calendar.less +660 -0
  166. package/pacem/ui/dark/collapse.less +23 -0
  167. package/pacem/ui/dark/dialog.less +17 -0
  168. package/pacem/ui/dark/divider.less +49 -0
  169. package/pacem/ui/dark/header-footer.less +5 -0
  170. package/pacem/ui/dark/icon.less +141 -0
  171. package/pacem/ui/dark/image.less +90 -0
  172. package/pacem/ui/dark/index.less +82 -0
  173. package/pacem/ui/dark/infinite-scroller.less +5 -0
  174. package/pacem/ui/dark/led.less +142 -0
  175. package/pacem/ui/dark/lightbox.less +140 -0
  176. package/pacem/ui/dark/loader.less +219 -0
  177. package/pacem/ui/dark/markdown.less +292 -0
  178. package/pacem/ui/dark/marquee.less +49 -0
  179. package/pacem/ui/dark/menu.less +578 -0
  180. package/pacem/ui/dark/pager.less +166 -0
  181. package/pacem/ui/dark/picture.less +146 -0
  182. package/pacem/ui/dark/progressbar.less +167 -0
  183. package/pacem/ui/dark/sidebar.less +144 -0
  184. package/pacem/ui/dark/slideshow.less +1 -0
  185. package/pacem/ui/dark/social.less +5 -0
  186. package/pacem/ui/dark/sticky-header.less +41 -0
  187. package/pacem/ui/dark/tabs.less +423 -0
  188. package/pacem/ui/dark/ticker.less +173 -0
  189. package/pacem/ui/dark/timeline.less +159 -0
  190. package/pacem/ui/dark/toast.less +232 -0
  191. package/pacem/ui/dark/toc.less +47 -0
  192. package/pacem/ui/dark/tuner.less +155 -0
  193. package/pacem/ui/dark/view.less +17 -0
  194. package/pacem/ui/dark/window.less +313 -0
  195. package/pacem/ui/dialog-vars.less +159 -0
  196. package/pacem/ui/index.less +1 -0
  197. package/pacem/ui/light/button.less +8 -0
  198. package/pacem/ui/light/index.less +3 -0
  199. package/pacem/ui/light/loader.less +2 -0
  200. package/pacem/ui/light/menu.less +2 -0
  201. package/pacem/ui/light/sidebar.less +2 -0
  202. package/pacem/ui/phousys/button.less +8 -0
  203. package/pacem/ui/phousys/index.less +3 -0
  204. package/pacem/ui/phousys/loader.less +2 -0
  205. package/pacem/ui/phousys/menu.less +2 -0
  206. package/pacem/ui/phousys/sidebar.less +2 -0
  207. package/pacem/ui/shared.less +125 -0
  208. package/package.json +39 -0
  209. package/shared.less +161 -0
  210. package/theme-empty.less +116 -0
  211. package/themebuilder.js +290 -0
@@ -0,0 +1,616 @@
1
+ @import "../shared";
2
+
3
+ @_aside_width: @layout_aside_width;
4
+ @_header_height: @layout_header_height;
5
+ @_toolbar_height: @layout_toolbar_height;
6
+ @_footer_height: @layout_footer_height;
7
+ @_bigfooter_height: @layout_bigfooter_height;
8
+
9
+ @_aside_margin: @layout_aside_gap;
10
+
11
+ .LayoutHeaderHidden() {
12
+ // start hidden
13
+ transform: translateY(-(@_header_height + @_toolbar_height)) translateX(0);
14
+ opacity: 0;
15
+ }
16
+
17
+ .LayoutFooterHidden() {
18
+ // start hidden
19
+ transform: translateY(@_bigfooter_height + @_toolbar_height) translateX(0);
20
+ opacity: 0;
21
+ }
22
+
23
+ .LayoutHeaderFooterVisible() {
24
+ opacity: 1;
25
+ transform: translateY(0) translateX(0);
26
+ }
27
+
28
+ // body + menu-relevant transitions
29
+ .@{PCSS}-body {
30
+ display: block;
31
+ min-height: 100vh;
32
+ padding: @grid_spacing;
33
+ box-sizing: border-box;
34
+ z-index: 0;
35
+
36
+ &[headbar] {
37
+ padding-top: @grid_spacing + @_toolbar_height;
38
+ }
39
+
40
+ &[header] {
41
+ padding-top: @grid_spacing + @_header_height;
42
+
43
+ &[headbar], &[headbar-prepend] {
44
+ padding-top: @grid_spacing + @_toolbar_height + @_header_height;
45
+ }
46
+ }
47
+
48
+ &[footbar] {
49
+ padding-bottom: @grid_spacing + @_toolbar_height;
50
+ }
51
+
52
+ &[footer] {
53
+ padding-bottom: @grid_spacing + @_footer_height;
54
+
55
+ &[footbar], &[footbar-append] {
56
+ padding-bottom: @grid_spacing + @_toolbar_height + @_footer_height;
57
+ }
58
+ }
59
+
60
+ &[bigfooter] {
61
+ padding-bottom: @grid_spacing + @_bigfooter_height;
62
+
63
+ &[footbar], &[footbar-append] {
64
+ padding-bottom: @grid_spacing + @_toolbar_height + @_bigfooter_height;
65
+ }
66
+ }
67
+
68
+ &.@{PCSS}-menu-close {
69
+ }
70
+
71
+ &.@{PCSS}-menu-open {
72
+ }
73
+
74
+ &.@{PCSS}-animations.@{PCSS}-animatable {
75
+ transition: padding @easing_in_out_sine .3s;
76
+
77
+ &.@{PCSS}-menu-close {
78
+ transition-delay: .25s;
79
+ }
80
+
81
+ &.@{PCSS}-menu-open {
82
+ }
83
+ }
84
+ }
85
+
86
+ // header/footer std
87
+ header[pacem],
88
+ .@{PCSS}-header,
89
+ footer[pacem],
90
+ .@{PCSS}-footer {
91
+ position: fixed;
92
+ width: 100vw;
93
+ left: 0;
94
+ z-index: @header-z-index;
95
+ box-sizing: border-box;
96
+ .Background(@color_background);
97
+ }
98
+
99
+ // header std
100
+ header[pacem],
101
+ .@{PCSS}-header {
102
+ height: @_header_height + @_toolbar_height;
103
+ padding-left: @grid_cell;
104
+ padding-right: @grid_spacing;
105
+ padding-top: @_toolbar_height;
106
+ top: 0;
107
+ display: block;
108
+ // start hidden
109
+ .LayoutHeaderHidden();
110
+
111
+ &.header-border {
112
+ border-bottom: 1px solid @color_border;
113
+ }
114
+ }
115
+
116
+ // footer std
117
+ footer[pacem],
118
+ .@{PCSS}-footer {
119
+ bottom: 0;
120
+ height: @_bigfooter_height + @_toolbar_height;
121
+ padding-left: @grid_spacing;
122
+ padding-right: @grid_spacing;
123
+ padding-bottom: @_toolbar_height + (@_bigfooter_height - @_footer_height);
124
+ display: flex;
125
+ flex-direction: column;
126
+ align-items: flex-start;
127
+ justify-content: center;
128
+ // start hidden
129
+ .LayoutFooterHidden();
130
+
131
+ &.footer-border {
132
+ border-top: 1px solid @color_border;
133
+ }
134
+ }
135
+
136
+ // header/footer (custom)
137
+ .@{PCSS}-body[bigfooter] {
138
+
139
+ footer[pacem],
140
+ .@{PCSS}-footer {
141
+ padding-bottom: @_toolbar_height;
142
+ }
143
+ }
144
+
145
+ // aside only visible in large screens (1)
146
+ aside[pacem], .@{PCSS}-aside {
147
+ display: none;
148
+ }
149
+
150
+ /* #region toolbars*/
151
+
152
+ // default
153
+ .@{PCSS}-toolbar.toolbar-header,
154
+ .@{PCSS}-toolbar.toolbar-footer {
155
+ position: fixed;
156
+ width: 100vw;
157
+ left: 0;
158
+ display: grid;
159
+ z-index: @header-z-index - 1;
160
+ box-sizing: border-box;
161
+ .Background(@color_background);
162
+ height: @_toolbar_height;
163
+ padding: 0;
164
+ margin: 0;
165
+ // css grid
166
+ grid-template-columns: minmax(@grid_cell, auto) 1fr;
167
+
168
+ > * {
169
+ height: @_toolbar_height;
170
+ }
171
+
172
+ > .toolbar-side {
173
+ grid-column: 1;
174
+ }
175
+
176
+ > .toolbar-main {
177
+ grid-column: 2;
178
+ }
179
+ }
180
+
181
+ // header toolbar
182
+ .@{PCSS}-toolbar.toolbar-header {
183
+ top: 0;
184
+ // start hidden
185
+ .LayoutHeaderHidden();
186
+
187
+ &.toolbar-border {
188
+ border-bottom: 1px solid @color_border;
189
+ }
190
+ }
191
+
192
+
193
+ // footer toolbar
194
+ .@{PCSS}-toolbar.toolbar-footer {
195
+ bottom: 0;
196
+ // start hidden
197
+ .LayoutFooterHidden();
198
+
199
+ &.toolbar-border {
200
+ border-top: 1px solid @color_border;
201
+ }
202
+ }
203
+
204
+
205
+ /* #endregion */
206
+
207
+ /* #region shadows */
208
+ ._HeadShadow() {
209
+ box-shadow: 0 1px @grid_spacing rgba(0,0,0,0.5);
210
+ border-bottom-color: transparent;
211
+ }
212
+
213
+ ._FootShadow() {
214
+ border-top-color: transparent;
215
+ box-shadow: 0 0 @grid_spacing rgba(0,0,0,0.25);
216
+ }
217
+
218
+ .@{PCSS}-body[header]:not([headbar]) when (@shadows = true) {
219
+
220
+ header[pacem],
221
+ .@{PCSS}-header {
222
+ ._HeadShadow();
223
+ }
224
+ }
225
+
226
+ .@{PCSS}-body[headbar-prepend]:not([header]),
227
+ .@{PCSS}-body[headbar] {
228
+ .@{PCSS}-toolbar.toolbar-header when (@shadows = true) {
229
+ ._HeadShadow();
230
+ }
231
+ }
232
+
233
+ .@{PCSS}-body[footer]:not([footbar]) when (@shadows = true) {
234
+
235
+ footer[pacem],
236
+ .@{PCSS}-footer {
237
+ ._FootShadow();
238
+ }
239
+ }
240
+
241
+ .@{PCSS}-body[footbar-append]:not([footer]),
242
+ .@{PCSS}-body[footbar] {
243
+ .@{PCSS}-toolbar.toolbar-footer when (@shadows = true) {
244
+ ._FootShadow();
245
+ }
246
+ }
247
+ /* #endregion */
248
+
249
+ // visible head toolbar
250
+ .@{PCSS}-body[headbar]:not([header]),
251
+ .@{PCSS}-body[headbar-prepend] {
252
+
253
+ .@{PCSS}-toolbar.toolbar-header {
254
+ opacity: 1;
255
+ transform: translateX(0) translateY(0);
256
+ }
257
+ }
258
+
259
+ .@{PCSS}-body[headbar][header] {
260
+
261
+ .@{PCSS}-toolbar.toolbar-header {
262
+ opacity: 1;
263
+ transform: translateX(0) translateY(@_header_height);
264
+ }
265
+ }
266
+
267
+ // visible header
268
+ .@{PCSS}-body[header] {
269
+
270
+ header[pacem],
271
+ .@{PCSS}-header {
272
+ opacity: 1;
273
+ transform: translateX(0) translateY(-@_toolbar_height);
274
+ }
275
+
276
+ &[headbar-prepend] {
277
+ header[pacem],
278
+ .@{PCSS}-header {
279
+ transform: translateX(0) translateY(0);
280
+ }
281
+
282
+ .@{PCSS}-toolbar.toolbar-header {
283
+ z-index: @header-z-index + 1;
284
+ }
285
+ }
286
+ }
287
+
288
+ // visible footer
289
+ .@{PCSS}-body[footer],
290
+ .@{PCSS}-body[bigfooter] {
291
+
292
+ footer[pacem],
293
+ .@{PCSS}-footer {
294
+ opacity: 1;
295
+ }
296
+ }
297
+
298
+ .@{PCSS}-body[footer]:not([footbar-append]) {
299
+
300
+ footer[pacem],
301
+ .@{PCSS}-footer {
302
+ transform: translateX(0) translateY(@_toolbar_height + (@_bigfooter_height - @_footer_height));
303
+ }
304
+ }
305
+
306
+ .@{PCSS}-body[footer][footbar-append] {
307
+
308
+ footer[pacem],
309
+ .@{PCSS}-footer {
310
+ transform: translateX(0) translateY(@_bigfooter_height - @_footer_height);
311
+ }
312
+ }
313
+
314
+ .@{PCSS}-body[bigfooter]:not([footbar-append]) {
315
+
316
+ footer[pacem],
317
+ .@{PCSS}-footer {
318
+ transform: translateX(0) translateY(@_toolbar_height);
319
+ }
320
+ }
321
+
322
+ .@{PCSS}-body[bigfooter][footbar-append] {
323
+
324
+ footer[pacem],
325
+ .@{PCSS}-footer {
326
+ transform: translateX(0) translateY(0);
327
+ }
328
+ }
329
+
330
+ // visible foot toolbar
331
+ .@{PCSS}-body[footbar],
332
+ .@{PCSS}-body[footbar-append] {
333
+
334
+ .@{PCSS}-toolbar.toolbar-footer {
335
+ opacity: 1;
336
+ transform: translateY(0);
337
+ }
338
+ }
339
+
340
+
341
+ .@{PCSS}-body[footbar] {
342
+
343
+ &[footer] {
344
+ .@{PCSS}-toolbar.toolbar-footer {
345
+ transform: translateY(-@_footer_height);
346
+ }
347
+ }
348
+
349
+ &[bigfooter] {
350
+
351
+ .@{PCSS}-toolbar.toolbar-footer {
352
+ transform: translateY(-@_bigfooter_height);
353
+ }
354
+ }
355
+ }
356
+
357
+ .@{PCSS}-body[footbar-append] {
358
+
359
+ .@{PCSS}-toolbar.toolbar-footer {
360
+ z-index: @header-z-index + 1;
361
+ }
362
+ }
363
+
364
+ // animations
365
+ .@{PCSS}-body.@{PCSS}-animations {
366
+
367
+ header[pacem],
368
+ .@{PCSS}-header,
369
+ footer[pacem],
370
+ .@{PCSS}-footer {
371
+ transition: padding @easing_in_out_sine .3s, transform @easing_out_sine .3s, opacity .2s, box-shadow @easing_in_sine .25s;
372
+ }
373
+
374
+ .@{PCSS}-toolbar.toolbar-header,
375
+ .@{PCSS}-toolbar.toolbar-footer {
376
+ // not animatable (or not yet implemented in browsers)
377
+ transition: grid-template-columns @easing_in_out_sine .3s, transform @easing_out_sine .4s, opacity .2s, box-shadow @easing_in_sine .25s;
378
+ }
379
+
380
+ &.@{PCSS}-menu-close {
381
+ header[pacem],
382
+ .@{PCSS}-header,
383
+ footer[pacem],
384
+ .@{PCSS}-footer,
385
+ .@{PCSS}-toolbar.toolbar-header,
386
+ .@{PCSS}-toolbar.toolbar-footer {
387
+ transition-delay: .25s;
388
+ }
389
+ }
390
+
391
+ &.@{PCSS}-menu-open {
392
+ }
393
+ }
394
+
395
+ @media (min-width: @threshold_lg) {
396
+
397
+ // footer starts at @grid_spacing left for small screens,
398
+ // while header always at @grid_cell.
399
+ // re-align when screen is large.
400
+ header[pacem],
401
+ .@{PCSS}-header,
402
+ footer[pacem],
403
+ .@{PCSS}-footer {
404
+ padding-left: @layout_aside_padding;
405
+ }
406
+
407
+ // large screen @grid_cell padding set.
408
+ .@{PCSS}-body {
409
+ padding-left: @layout_aside_padding;
410
+ padding-right: @layout_aside_padding;
411
+ // when menu is open it enters like an aside drawer,
412
+ // so make room for it...
413
+
414
+ @_menu_open_left_pad: max(@layout_aside_padding, @_aside_margin + @menu_width);
415
+ @_sidebar_open_left_pad: max(@layout_aside_padding, @_aside_margin + @sidebar_width);
416
+ @_both_open_left_pad: max(@layout_aside_padding, @_aside_margin + @sidebar_width + @menu_width);
417
+
418
+ &.@{PCSS}-sidebar-open {
419
+ padding-left: @_sidebar_open_left_pad;
420
+ // ...and keep header and footer aligned.
421
+ header[pacem],
422
+ .@{PCSS}-header,
423
+ footer[pacem],
424
+ .@{PCSS}-footer {
425
+ padding-left: @_sidebar_open_left_pad;
426
+ }
427
+ }
428
+
429
+ &.@{PCSS}-menu-open {
430
+ padding-left: @_menu_open_left_pad;
431
+ // ...and keep header and footer aligned.
432
+ header[pacem],
433
+ .@{PCSS}-header,
434
+ footer[pacem],
435
+ .@{PCSS}-footer {
436
+ padding-left: @_menu_open_left_pad;
437
+ }
438
+
439
+ .@{PCSS}-toolbar.toolbar-header,
440
+ .@{PCSS}-toolbar.toolbar-footer {
441
+ grid-template-columns: @menu_width 1fr;
442
+ }
443
+
444
+ &.@{PCSS}-sidebar-open {
445
+ // both menu and sidebar open
446
+ padding-left: @_both_open_left_pad;
447
+ // ...and keep header and footer aligned.
448
+ header[pacem],
449
+ .@{PCSS}-header,
450
+ footer[pacem],
451
+ .@{PCSS}-footer {
452
+ padding-left: @_both_open_left_pad;
453
+ }
454
+
455
+ .@{PCSS}-toolbar.toolbar-header,
456
+ .@{PCSS}-toolbar.toolbar-footer {
457
+ grid-template-columns: @sidebar_width + @menu_width 1fr;
458
+ }
459
+ }
460
+ }
461
+
462
+ &[aside] {
463
+ // keeps the same margin from the <aside> element on the right
464
+ // as from the menu on the left (when open)
465
+ padding-right: @_aside_margin + @_aside_width;
466
+ // aside only visible in large screens (2)
467
+ aside[pacem],
468
+ .@{PCSS}-aside {
469
+ display: block;
470
+ position: fixed;
471
+ right: 0;
472
+ top: @_header_height;
473
+ bottom: @_footer_height;
474
+ width: @_aside_width;
475
+ overflow: auto;
476
+ }
477
+ // layout with a header toolbar?
478
+ &[headbar], &[headbar-prepend] {
479
+ aside[pacem],
480
+ .@{PCSS}-aside {
481
+ top: @_header_height + @_toolbar_height;
482
+ }
483
+ }
484
+ // layout with a footer toolbar?
485
+ &[footbar], &[footbar-append] {
486
+ aside[pacem],
487
+ .@{PCSS}-aside {
488
+ bottom: @_toolbar_height;
489
+ }
490
+ }
491
+ // layout with large (tall) footer?
492
+ &[bigfooter] {
493
+
494
+ aside[pacem],
495
+ .@{PCSS}-aside {
496
+ bottom: @_bigfooter_height;
497
+ }
498
+ //layout with large (tall) footer AND footer toolbar!?
499
+ &[footbar], &[footbar-append] {
500
+ aside[pacem],
501
+ .@{PCSS}-aside {
502
+ bottom: @_bigfooter_height + @_toolbar_height;
503
+ }
504
+ }
505
+ }
506
+ }
507
+ }
508
+ }
509
+
510
+
511
+ .@{PCSS}-body {
512
+
513
+ .Stretch(@keep) {
514
+ min-height: ~"calc(100vh - @{keep})";
515
+ margin: -@grid_spacing 0;
516
+
517
+ &.stretch-strict{
518
+ height: $min-height;
519
+ }
520
+
521
+ }
522
+
523
+ &[footer] .@{PCSS}-stretch {
524
+ .Stretch(@layout_footer_height);
525
+ }
526
+
527
+ &[bigfooter] .@{PCSS}-stretch {
528
+ .Stretch(@layout_bigfooter_height);
529
+ }
530
+
531
+ &[header] {
532
+ .@{PCSS}-stretch {
533
+ .Stretch( @layout_header_height);
534
+ }
535
+
536
+ &[footer] .@{PCSS}-stretch {
537
+ .Stretch(@layout_header_height + @layout_footer_height);
538
+ }
539
+
540
+ &[bigfooter] .@{PCSS}-stretch {
541
+ .Stretch(@layout_header_height + @layout_bigfooter_height);
542
+ }
543
+ }
544
+
545
+ &[headbar], &[footbar], &[headbar-prepend], &[footbar-append] {
546
+ .@{PCSS}-stretch {
547
+ .Stretch(@layout_toolbar_height);
548
+ }
549
+
550
+ &[footer] {
551
+ .@{PCSS}-stretch {
552
+ .Stretch(@layout_toolbar_height + @layout_footer_height);
553
+ }
554
+ }
555
+
556
+ &[bigfooter] {
557
+ .@{PCSS}-stretch {
558
+ .Stretch(@layout_toolbar_height + @layout_bigfooter_height);
559
+ }
560
+ }
561
+
562
+ &[header] {
563
+ .@{PCSS}-stretch {
564
+ .Stretch(@layout_toolbar_height + @layout_toolbar_height);
565
+ }
566
+
567
+ &[footer] {
568
+ .@{PCSS}-stretch {
569
+ .Stretch(@layout_toolbar_height + @layout_toolbar_height + @layout_footer_height);
570
+ }
571
+ }
572
+
573
+ &[bigfooter] {
574
+ .@{PCSS}-stretch {
575
+ .Stretch(@layout_toolbar_height + @layout_toolbar_height + @layout_bigfooter_height);
576
+ }
577
+ }
578
+ }
579
+ }
580
+
581
+ &[headbar][footbar], &[headbar-prepend][footbar], &[headbar][footbar-append], &[headbar-prepend][footbar-append] {
582
+ .@{PCSS}-stretch {
583
+ .Stretch(2 * @layout_toolbar_height);
584
+ }
585
+
586
+ &[footer] {
587
+ .@{PCSS}-stretch {
588
+ .Stretch(2 * @layout_toolbar_height + @layout_footer_height);
589
+ }
590
+ }
591
+
592
+ &[bigfooter] {
593
+ .@{PCSS}-stretch {
594
+ .Stretch(2 * @layout_toolbar_height + @layout_bigfooter_height);
595
+ }
596
+ }
597
+
598
+ &[header] {
599
+ .@{PCSS}-stretch {
600
+ .Stretch(@layout_toolbar_height + 2 * @layout_toolbar_height);
601
+ }
602
+
603
+ &[footer] {
604
+ .@{PCSS}-stretch {
605
+ .Stretch(@layout_toolbar_height + 2 * @layout_toolbar_height + @layout_footer_height);
606
+ }
607
+ }
608
+
609
+ &[bigfooter] {
610
+ .@{PCSS}-stretch {
611
+ .Stretch(@layout_toolbar_height + 2 * @layout_toolbar_height + @layout_bigfooter_height);
612
+ }
613
+ }
614
+ }
615
+ }
616
+ }
@@ -0,0 +1,112 @@
1
+ @import "../shared";
2
+
3
+ .ListItem (@count, @index) when (@index > 0) {
4
+ &:nth-child(@{index}) {
5
+ //animation-delay: 2.5s * @index / @count;
6
+ animation-delay: .05s * @index;
7
+ }
8
+ // next iteration
9
+ .ListItem(@count, @index - 1);
10
+ }
11
+
12
+ .ListItem (@count) {
13
+ .ListItem(@count, @count);
14
+ }
15
+
16
+ .@{PCSS}-animations {
17
+
18
+ .@{PCSS}-animatable-list,
19
+ .@{PCSS}-anim-list {
20
+
21
+ > * {
22
+ animation: list-item .25s @easing_out_sine both;
23
+ .ListItem(20);
24
+ }
25
+
26
+ &.@{PCSS}-list-right {
27
+
28
+ > * {
29
+ animation-name: list-item-right;
30
+ }
31
+ }
32
+
33
+ &.@{PCSS}-list-left {
34
+
35
+ > * {
36
+ animation-name: list-item-left;
37
+ }
38
+ }
39
+
40
+ &.@{PCSS}-list-bottom {
41
+
42
+ > * {
43
+ animation-name: list-item-bottom;
44
+ }
45
+ }
46
+
47
+ &.@{PCSS}-list-appear {
48
+
49
+ > * {
50
+ animation-name: appear-anim;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+
57
+ ol, ul {
58
+ &.@{PCSS}-list {
59
+ margin-bottom: 0;
60
+
61
+ > li {
62
+ min-height: 1.1em;
63
+
64
+ &.list-item {
65
+ padding: @grid_spacing/3 @grid_spacing/2;
66
+ //font-size: 1.1em;
67
+ list-style-type: none;
68
+ margin-left: -@grid_spacing * 1.25;
69
+
70
+ &:focus,
71
+ &:hover {
72
+ background-color: @color_suggest_focus_back;
73
+ color: @color_suggest_focus_fore;
74
+ }
75
+ }
76
+ }
77
+
78
+ &.list-inline,
79
+ &.list-unstyled {
80
+ padding-left: 0;
81
+ list-style-type: none;
82
+ }
83
+
84
+ &.list-inline > li {
85
+ display: inline-block;
86
+ margin-left: .5em;
87
+
88
+ &:first-child {
89
+ margin-left: 0;
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+
96
+ dl.@{PCSS}-list {
97
+ display: grid;
98
+ grid-template-columns: auto 1fr;
99
+ grid-column-gap: @grid_spacing/3;
100
+ grid-row-gap: @grid_spacing/2;
101
+
102
+ dt {
103
+ grid-column: 1;
104
+ max-width: @grid_cell;
105
+ .Ellipsed();
106
+ font-weight: 700;
107
+ }
108
+
109
+ dd {
110
+ grid-column: 2;
111
+ }
112
+ }