@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,578 @@
1
+ @import "../shared";
2
+
3
+ @_w: @menu_width;
4
+
5
+ @_clr_a: @menu_link_color;
6
+ @_clr_a_hover: @menu_link_hover_color;
7
+ @_clr_a_bg: transparent;
8
+ @_clr_a_active: @menu_link_active_color;
9
+ @_clr_a_active_hover: @menu_link_active_color;
10
+ @_clr_a_active_bg: @menu_link_active_backgroundcolor;
11
+ @_clr_a_active_decor: @menu_link_active_decorcolor;
12
+
13
+ @_header_height: @layout_header_height;
14
+ @_toolbar_height: @layout_toolbar_height;
15
+ @_footer_height: @layout_footer_height;
16
+ @_bigfooter_height: @layout_bigfooter_height;
17
+
18
+ @_brd_a: 3px;
19
+
20
+ /*#region OVERLAPPING MENU*/
21
+ @{P}-menu {
22
+ display: block;
23
+ width: 0;
24
+ overflow: visible;
25
+ }
26
+
27
+ @{P}-menu,
28
+ @{P}-button.@{PCSS}-menu {
29
+ position: fixed;
30
+ top: 0;
31
+ left: 0;
32
+ z-index: @hamburger_z_index;
33
+ }
34
+
35
+ .@{PCSS}-menu {
36
+ display: grid;
37
+ grid-template-rows: @_header_height // header 1
38
+ @_toolbar_height // toolbar 2
39
+ 1fr // main 3
40
+ @_toolbar_height // toolbar 4
41
+ @_footer_height; // footer 5
42
+ width: 100vw;
43
+ height: 100vh;
44
+ transition: transform .3s cubic-bezier(0.39, 0.575, 0.565, 1) .2s, background-color .25s linear .1s;
45
+ background-color: rgba(0,0,0,0);
46
+
47
+ nav {
48
+ grid-row: ~"1/6";
49
+ position: relative;
50
+ .Background(@menu_nav_background);
51
+ //box-shadow: @grid_spacing/4 0 @grid_spacing/3 fade(@color_blue, 50);
52
+ overflow: auto;
53
+ width: 33vw;
54
+ min-width: @_w;
55
+ box-sizing: border-box;
56
+ padding: @grid_cell 0 @grid_spacing 0;
57
+ transition: transform .325s cubic-bezier(0.39, 0.575, 0.565, 1) .5s;
58
+ border-right: 1px solid fade(@color_default, 10);
59
+
60
+ .menu-item when (@menuitem_borders = true) {
61
+ border-top: 1px solid @color_border_light;
62
+ border-bottom: 1px solid @color_border_dark;
63
+ }
64
+
65
+ .@{PCSS}-menu-item when (@menuitem_borders = true) {
66
+ border-top: 1px solid @color_border_light;
67
+ border-bottom: 1px solid @color_border_dark;
68
+ }
69
+
70
+ .@{PCSS}-menu-group, .menu-group {
71
+ padding-left: @grid_spacing;
72
+ }
73
+
74
+ .@{PCSS}-menu-group, .menu-group {
75
+ margin-bottom: @grid_spacing/3;
76
+
77
+ @{P}-button, .@{PCSS}-button {
78
+ margin: 0;
79
+ }
80
+
81
+ &.group-active {
82
+ .@{PCSS}-icon {
83
+ color: @_clr_a_active;
84
+ }
85
+ }
86
+ }
87
+
88
+ .@{PCSS}-menu-item, .menu-item {
89
+
90
+ @{P}-button, button,
91
+ @{P}-a, a {
92
+ display: block;
93
+ cursor: pointer;
94
+ box-sizing: border-box;
95
+ .Ellipsed();
96
+ }
97
+
98
+ @{P}-button,
99
+ @{P}-a.@{PCSS}-button {
100
+ margin: 0;
101
+ }
102
+
103
+ @{P}-button {
104
+ padding: .25 * @grid_spacing @grid_spacing .25 * @grid_spacing 2 * @grid_spacing;
105
+ }
106
+
107
+ @{P}-a,
108
+ a {
109
+ padding: .25 * @grid_spacing @grid_spacing .25 * @grid_spacing @grid_spacing - @_brd_a;
110
+ font-family: @menu_link_fontfamily;
111
+ font-size: @menu_link_fontsize;
112
+ border-left: @_brd_a solid fade(@_clr_a_active, 0);
113
+ }
114
+
115
+ @{P}-button::before {
116
+ left: round(5 * @grid_spacing / 6);
117
+ top: round(@grid_spacing/8);
118
+ }
119
+
120
+ @{P}-button,
121
+ button,
122
+ @{P}-a,
123
+ a {
124
+ text-align: left;
125
+ text-transform: none;
126
+ color: @_clr_a;
127
+ background-color: @_clr_a_bg;
128
+
129
+ &:hover {
130
+ color: @_clr_a_hover;
131
+ }
132
+ }
133
+
134
+ &:first-child {
135
+ // just in case @menuitem_borders were set
136
+ border-top: none;
137
+ }
138
+
139
+ &:last-child {
140
+ // just in case @menuitem_borders were set
141
+ border-bottom: none;
142
+ }
143
+
144
+ .item-active,
145
+ .active {
146
+ color: @_clr_a_active;
147
+ background-color: @_clr_a_active_bg;
148
+ cursor: default;
149
+ border-color: @_clr_a_active_decor;
150
+
151
+ &:hover {
152
+ color: @_clr_a_active_hover;
153
+ }
154
+ }
155
+ }
156
+
157
+ .item-space {
158
+ margin-top: @grid_spacing / 1.5;
159
+ }
160
+
161
+ .item-separate {
162
+ border-top: 1px solid @color_border;
163
+ padding-top: @grid_spacing;
164
+ }
165
+
166
+ @{P}-collapse {
167
+ .@{PCSS}-menu-item,
168
+ .menu-item {
169
+ @{P}-a, a {
170
+ padding-left: 2 * @grid_spacing;
171
+ }
172
+ }
173
+ }
174
+
175
+ & when (@blur = true) {
176
+ .Blur(6px, @menu_nav_background);
177
+ }
178
+ }
179
+
180
+ &.menu-close,
181
+ &.@{PCSS}-hidden {
182
+ // reset from .@{PCSS}-hidden
183
+ opacity: 1;
184
+ //
185
+ transform: translateX(-100%) translateY(0) translateZ(0);
186
+
187
+ nav {
188
+ transform: translateX(-100%) translateY(0) translateZ(0);
189
+ }
190
+ }
191
+
192
+ &.menu-open,
193
+ &.@{PCSS}-shown {
194
+ background-color: @color_lightbox_back;
195
+ transform: translateX(0) translateY(0) translateZ(0);
196
+
197
+ nav {
198
+ transform: translateX(0) translateY(0) translateZ(0);
199
+ }
200
+ }
201
+ }
202
+
203
+
204
+ @{P}-button.@{PCSS}-menu.@{PCSS}-back,
205
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
206
+ // reset from pacem-button
207
+ padding: 0;
208
+ min-width: 0;
209
+ line-height: normal;
210
+ margin: auto;
211
+ //
212
+ font-size: 0;
213
+ border: none;
214
+ top: 0;
215
+ cursor: pointer;
216
+ height: @menu_hamburger_button_size;
217
+ width: $height;
218
+ background: center center no-repeat;
219
+ background-size: .8 * @menu_hamburger_button_size;
220
+ margin: 0;
221
+
222
+ button.@{PCSS}-button {
223
+ font-size: 0;
224
+ }
225
+ }
226
+
227
+ @{P}-button.@{PCSS}-menu {
228
+ @_avail: @menu_hamburger_button_size;
229
+ @_sz: round(.5 * @_avail);
230
+ @_pad: round(.5 * (@_avail - @_sz));
231
+
232
+ &.@{PCSS}-hamburger,
233
+ &.@{PCSS}-back {
234
+ top: 0;
235
+ left: 0;
236
+
237
+ &::before {
238
+ top: @_pad;
239
+ left: @_pad;
240
+ width: @_sz;
241
+ height: @_sz;
242
+ }
243
+ }
244
+
245
+ &.@{PCSS}-back {
246
+ left: @_w - @_avail;
247
+ transform: translateX(-@_avail - @_w);
248
+ transition: transform .25s ease-out .075s, opacity .3s;
249
+
250
+ &::before {
251
+ .Icon('chevron_left', @_sz);
252
+ }
253
+
254
+ &.menu-open,
255
+ &.@{PCSS}-shown {
256
+ transition-delay: .625s;
257
+ transform: translateX(0) translateY(0) translateZ(0);
258
+ }
259
+ }
260
+
261
+ &.@{PCSS}-hamburger {
262
+ transition: transform .25s ease-in-out, opacity .3s;
263
+ left: 0;
264
+
265
+ &::before {
266
+ .Icon('menu', @_sz);
267
+ //color: @color_light;
268
+ }
269
+
270
+ &.menu-open,
271
+ &.@{PCSS}-shown {
272
+ transition-delay: .4s;
273
+ transform: scale(1) translateZ(0);
274
+ }
275
+
276
+ &.menu-close,
277
+ &.@{PCSS}-hidden {
278
+ //opacity: 1;
279
+ transform: scale(0) translateZ(0);
280
+ }
281
+ }
282
+ }
283
+
284
+ .@{PCSS}-body {
285
+ // Toolbar on top of the layout? Hamburger button IS dependent from it.
286
+ &[headbar]:not([header]),
287
+ &[headbar-prepend] {
288
+ // Shift it down.
289
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
290
+ top: @_toolbar_height;
291
+ }
292
+ }
293
+ }
294
+
295
+ /*#endregion*/
296
+
297
+ /*#region ASIDE MENU */
298
+ @media screen and (min-width: @threshold_lg) {
299
+
300
+ @{P}-menu {
301
+ font-size: .8em;
302
+
303
+ .@{PCSS}-menu {
304
+ width: @_w;
305
+
306
+ nav {
307
+ transition-delay: 0.2s;
308
+ width: @_w;
309
+ }
310
+
311
+ &.menu-open,
312
+ &.@{PCSS}-shown {
313
+ transform: translateX(-100%) translateY(0) translateZ(0);
314
+
315
+ nav {
316
+ transition-delay: 0s;
317
+ transform: translateX(100%) translateY(0) translateZ(0);
318
+ }
319
+ }
320
+ }
321
+
322
+
323
+ &.menu-sync {
324
+
325
+ .@{PCSS}-menu {
326
+ // width: @_w;
327
+ nav {
328
+ transition-delay: 0.2s;
329
+ }
330
+
331
+ &.menu-open,
332
+ &.@{PCSS}-shown {
333
+ // transform: translateX(-100%) translateY(0) translateZ(0);
334
+
335
+ nav {
336
+ transition-delay: .4s;
337
+ // transform: translateX(100%) translateY(0) translateZ(0);
338
+ }
339
+ }
340
+
341
+ nav {
342
+ backdrop-filter: none;
343
+ grid-row: ~"1/9";
344
+ // width: @_w;
345
+ padding-top: @grid_spacing + @layout_header_height;
346
+ padding-bottom: @grid_spacing + @layout_footer_height;
347
+ }
348
+ }
349
+
350
+ &.menu-outset {
351
+ nav {
352
+ padding-top: @menu_nav_outset_spacing;
353
+ padding-bottom: @menu_nav_outset_spacing;
354
+ }
355
+ }
356
+
357
+ &:not(.menu-outset) {
358
+ // font-size: .8em;
359
+ z-index: @header_z_index - 10;
360
+
361
+ .@{PCSS}-menu nav {
362
+ background: none;
363
+ }
364
+ }
365
+ }
366
+ }
367
+
368
+ /* #region all grid row template configurations*/
369
+ .@{PCSS}-body.@{PCSS}-menu-open,
370
+ .@{PCSS}-body.@{PCSS}-menu-close {
371
+ @{P}-menu.menu-sync .@{PCSS}-menu {
372
+ grid-template-rows: @_toolbar_height // 1 header 1/2
373
+ max(0, @_header_height - @_toolbar_height) // 2 header 2/2
374
+ @_toolbar_height // 3 toolbar
375
+ 1fr // 4 main
376
+ @_toolbar_height // 5 toolbar
377
+ max(0, @_footer_height - @_toolbar_height) // 6 footer 1/3
378
+ @_toolbar_height // 7 footer 2/3
379
+ auto; // 8 footer 3/3
380
+ }
381
+ }
382
+
383
+ .@{PCSS}-body.@{PCSS}-menu-open[bigfooter] @{P}-menu,
384
+ .@{PCSS}-body.@{PCSS}-menu-close[bigfooter] @{P}-menu,
385
+ @{P}-menu.menu-bigfooter {
386
+ &.menu-sync {
387
+ .@{PCSS}-menu {
388
+ grid-template-rows: @_toolbar_height // 1 header 1/2
389
+ @_header_height - @_toolbar_height // 2 header 2/2
390
+ @_toolbar_height // 3 toolbar
391
+ 1fr // 4 main
392
+ @_toolbar_height // 5 toolbar
393
+ @_footer_height - @_toolbar_height // 6 footer 1/3
394
+ @_bigfooter_height - @_footer_height // 7 footer 2/3
395
+ @_toolbar_height; // 8 footer 3/3
396
+ }
397
+ }
398
+ }
399
+ /* #endregion*/
400
+ // layout with a header?
401
+ .@{PCSS}-body.@{PCSS}-menu-open[header]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
402
+ .@{PCSS}-body.@{PCSS}-menu-close[header]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
403
+ @{P}-menu:not(.menu-outset).menu-header {
404
+ &.menu-sync {
405
+ .@{PCSS}-menu {
406
+
407
+ nav {
408
+ padding-top: @grid_spacing;
409
+ grid-row-start: 3;
410
+ }
411
+ }
412
+ }
413
+ }
414
+
415
+ .@{PCSS}-body.@{PCSS}-menu-open[header][headbar]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
416
+ .@{PCSS}-body.@{PCSS}-menu-close[header][headbar]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
417
+ .@{PCSS}-body.@{PCSS}-menu-open[header][headbar-prepend]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
418
+ .@{PCSS}-body.@{PCSS}-menu-close[header][headbar-prepend]:not(.sticky-header-fade) @{P}-menu:not(.menu-outset),
419
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar] @{P}-menu.menu-header:not(.menu-outset),
420
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend] @{P}-menu.menu-header:not(.menu-outset),
421
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar] @{P}-menu.menu-header:not(.menu-outset),
422
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend] @{P}-menu.menu-header:not(.menu-outset),
423
+ @{P}-menu.menu-header.menu-headbar:not(.menu-outset),
424
+ @{P}-menu.menu-header.menu-headbar-prepend:not(.menu-outset) {
425
+ // layout with header AND headbar?
426
+ &.menu-sync {
427
+ .@{PCSS}-menu {
428
+
429
+ nav {
430
+ grid-row-start: 4;
431
+ }
432
+ }
433
+ }
434
+ }
435
+
436
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar]:not([header]) @{P}-menu:not(.menu-header):not(.menu-outset),
437
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar]:not([header]) @{P}-menu:not(.menu-header):not(.menu-outset),
438
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar].sticky-header-fade @{P}-menu:not(.menu-header):not(.menu-outset),
439
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar].sticky-header-fade @{P}-menu:not(.menu-header):not(.menu-outset),
440
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend]:not([header]) @{P}-menu:not(.menu-header):not(.menu-outset),
441
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend]:not([header]) @{P}-menu:not(.menu-header):not(.menu-outset),
442
+ .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend].sticky-header-fade @{P}-menu:not(.menu-header):not(.menu-outset),
443
+ .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend].sticky-header-fade @{P}-menu:not(.menu-header):not(.menu-outset),
444
+ @{P}-menu.menu-headbar:not(.menu-header):not(.menu-outset),
445
+ @{P}-menu.menu-headbar-prepend:not(.menu-header):not(.menu-outset) {
446
+ // headbars without header?
447
+ &.menu-sync {
448
+ .@{PCSS}-menu {
449
+
450
+ nav {
451
+ grid-row-start: 2;
452
+ }
453
+ }
454
+ }
455
+ }
456
+
457
+ .@{PCSS}-body.@{PCSS}-menu-open[footer] @{P}-menu:not(.menu-outset),
458
+ .@{PCSS}-body.@{PCSS}-menu-close[footer] @{P}-menu:not(.menu-outset),
459
+ .@{PCSS}-body.@{PCSS}-menu-open[bigfooter] @{P}-menu:not(.menu-outset),
460
+ .@{PCSS}-body.@{PCSS}-menu-close[bigfooter] @{P}-menu:not(.menu-outset),
461
+ @{P}-menu.menu-footer:not(.menu-outset),
462
+ @{P}-menu.menu-bigfooter:not(.menu-outset) {
463
+ // headbars without footers?
464
+ &.menu-sync {
465
+ .@{PCSS}-menu {
466
+
467
+ nav {
468
+ grid-row-end: 6;
469
+ }
470
+ }
471
+ }
472
+ }
473
+
474
+
475
+ .@{PCSS}-body.@{PCSS}-menu-open[footer][footbar] @{P}-menu:not(.menu-outset),
476
+ .@{PCSS}-body.@{PCSS}-menu-close[footer][footbar] @{P}-menu:not(.menu-outset),
477
+ .@{PCSS}-body.@{PCSS}-menu-open[footer][footbar-append] @{P}-menu:not(.menu-outset),
478
+ .@{PCSS}-body.@{PCSS}-menu-close[footer][footbar-append] @{P}-menu:not(.menu-outset),
479
+ .@{PCSS}-body.@{PCSS}-menu-open[footbar] @{P}-menu.menu-footer:not(.menu-outset),
480
+ .@{PCSS}-body.@{PCSS}-menu-open[footbar-append] @{P}-menu.menu-footer:not(.menu-outset),
481
+ .@{PCSS}-body.@{PCSS}-menu-close[footbar] @{P}-menu.menu-footer:not(.menu-outset),
482
+ .@{PCSS}-body.@{PCSS}-menu-close[footbar-append] @{P}-menu.menu-footer:not(.menu-outset),
483
+ .@{PCSS}-body.@{PCSS}-menu-open[bigfooter][footbar] @{P}-menu:not(.menu-outset),
484
+ .@{PCSS}-body.@{PCSS}-menu-close[bigfooter][footbar] @{P}-menu:not(.menu-outset),
485
+ .@{PCSS}-body.@{PCSS}-menu-open[bigfooter][footbar-append] @{P}-menu:not(.menu-outset),
486
+ .@{PCSS}-body.@{PCSS}-menu-close[bigfooter][footbar-append] @{P}-menu:not(.menu-outset),
487
+ .@{PCSS}-body.@{PCSS}-menu-open[footbar] @{P}-menu.menu-bigfooter:not(.menu-outset),
488
+ .@{PCSS}-body.@{PCSS}-menu-open[footbar-append] @{P}-menu.menu-bigfooter:not(.menu-outset),
489
+ .@{PCSS}-body.@{PCSS}-menu-close[footbar] @{P}-menu.menu-bigfooter:not(.menu-outset),
490
+ .@{PCSS}-body.@{PCSS}-menu-close[footbar-append] @{P}-menu.menu-bigfooter:not(.menu-outset),
491
+ @{P}-menu.menu-footer.menu-footbar:not(.menu-outset),
492
+ @{P}-menu.menu-footer.menu-footbar-append:not(.menu-outset),
493
+ @{P}-menu.menu-bigfooter.menu-footbar:not(.menu-outset),
494
+ @{P}-menu.menu-bigfooter.menu-footbar-append:not(.menu-outset) {
495
+ // layout with footer AND footbar?
496
+ &.menu-sync {
497
+ .@{PCSS}-menu {
498
+
499
+ nav {
500
+ grid-row-end: 5;
501
+ }
502
+ }
503
+ }
504
+ }
505
+
506
+ .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar] @{P}-menu:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset),
507
+ .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar] @{P}-menu:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset),
508
+ .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar-append] @{P}-menu:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset),
509
+ .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar-append] @{P}-menu:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset),
510
+ @{P}-menu.menu-footbar:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset),
511
+ @{P}-menu.menu-footbar-append:not(.menu-footer):not(.menu-bigfooter):not(.menu-outset) {
512
+ // footbars without footer?
513
+ &.menu-sync {
514
+ .@{PCSS}-menu {
515
+
516
+ nav {
517
+ grid-row-end: 7;
518
+ }
519
+ }
520
+ }
521
+ }
522
+
523
+ .@{PCSS}-body.@{PCSS}-menu-open,
524
+ .@{PCSS}-body.@{PCSS}-menu-close {
525
+ // toolbar on top? Then move down the buttons
526
+ &[headbar]:not([header]),
527
+ &[headbar-prepend] {
528
+
529
+ @{P}-button.@{PCSS}-menu.@{PCSS}-back,
530
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
531
+ top: @_toolbar_height;
532
+ }
533
+ }
534
+ }
535
+ /*@{P}-menu.menu-sync {
536
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
537
+ @_avail: @menu_hamburger_button_desktop_size;
538
+ @_sz: round(.5 * @_header_height);
539
+ @_pad: round(.5 * (@_avail - @_sz));
540
+
541
+ width: @_avail;
542
+
543
+ &::before {
544
+ left: @_pad;
545
+ }
546
+ }
547
+ }*/
548
+ }
549
+
550
+ .@{PCSS}-body.@{PCSS}-menu-close.sticky-header-fade {
551
+
552
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
553
+ transform: translateY(-@_header_height);
554
+ }
555
+ }
556
+
557
+ /* #endregion */
558
+ // see body modifications in `../body.less`
559
+ .@{PCSS}-body.@{PCSS}-animations {
560
+
561
+ @{P}-menu {
562
+ .@{PCSS}-menu-item, .menu-item {
563
+
564
+ @{P}-button, button,
565
+ @{P}-a, a {
566
+ transition: background-color .2s, border-color ease-in .25s;
567
+ }
568
+ }
569
+ }
570
+
571
+ &.sticky-header-scroll {
572
+
573
+ @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
574
+ transition: transform @easing_out_sine .3s, opacity .2s;
575
+ transition-delay: .25s;
576
+ }
577
+ }
578
+ }