pacem-less 0.30.0 → 0.40.0-alba

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.
@@ -2,4 +2,5 @@
2
2
  @import url(https://fonts.googleapis.com/css?family=Teko:300);
3
3
  @import url(https://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700);
4
4
  @import url(https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap);
5
- @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:300,700);
5
+ //@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:300,700);
6
+ @import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,700);
@@ -0,0 +1,47 @@
1
+ @import "../shared";
2
+
3
+ .@{PCSS}-contain {
4
+ &.contain-none {
5
+ contain: none;
6
+ }
7
+
8
+ &.contain-strict {
9
+ contain: strict;
10
+ }
11
+
12
+ &.contain-size {
13
+ contain: size;
14
+ }
15
+
16
+ &.contain-inline-size {
17
+ contain: inline-size;
18
+ }
19
+
20
+ &.contain-layout {
21
+ contain: layout;
22
+ }
23
+
24
+ &.contain-style {
25
+ contain: style;
26
+ }
27
+
28
+ &.contain-paint {
29
+ contain: paint;
30
+ }
31
+ }
32
+
33
+ /* container queries */
34
+ .@{PCSS}-container {
35
+
36
+ &.container-normal {
37
+ container-type: normal;
38
+ }
39
+
40
+ &.container-size {
41
+ container-type: size;
42
+ }
43
+
44
+ &.container-inline-size {
45
+ container-type: inline-size;
46
+ }
47
+ }
@@ -211,6 +211,8 @@
211
211
  margin: 0;
212
212
  }
213
213
  }
214
+
215
+ // TODO: exploit container queries
214
216
  }
215
217
 
216
218
  @media (max-width: @threshold_sm - 1) {
@@ -17,4 +17,5 @@
17
17
  //@import "layout";
18
18
  @import "toolbar";
19
19
  @import "breadcrumbs";
20
- @import "fetch-feedback";
20
+ @import "fetch-feedback";
21
+ @import "container";
@@ -411,7 +411,20 @@ aside[pacem], .@{PCSS}-aside {
411
411
  // when menu is open it enters like an aside drawer,
412
412
  // so make room for it...
413
413
 
414
- @_menu_open_left_pad: max(@layout_aside_padding, @_aside_margin + @_aside_width);
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
+ }
415
428
 
416
429
  &.@{PCSS}-menu-open {
417
430
  padding-left: @_menu_open_left_pad;
@@ -425,7 +438,24 @@ aside[pacem], .@{PCSS}-aside {
425
438
 
426
439
  .@{PCSS}-toolbar.toolbar-header,
427
440
  .@{PCSS}-toolbar.toolbar-footer {
428
- grid-template-columns: @_aside_width 1fr;
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
+ }
429
459
  }
430
460
  }
431
461
 
@@ -239,13 +239,16 @@
239
239
  .PanelColorize(@prefix, @color_primary);
240
240
  }
241
241
 
242
+ &.@{prefix}-disabled {
243
+ .PanelColorize(@prefix, @color_disabled);
244
+ }
245
+
242
246
  .@{prefix}-tools,
243
247
  .tools {
244
248
  position: absolute;
245
249
  top: @grid_spacing/2;
246
250
  right: @grid_spacing/1.5;
247
251
  z-index: 1;
248
-
249
252
  .ToolButtons(@_min_height);
250
253
  }
251
254
 
@@ -308,6 +311,10 @@
308
311
  &.@{prefix}-primary {
309
312
  .PanelColorizeFullscreen(@prefix, @color_primary);
310
313
  }
314
+
315
+ &.@{prefix}-disabled {
316
+ .PanelColorizeFullscreen(@prefix, @color_disabled);
317
+ }
311
318
  }
312
319
  }
313
320
 
package/pacem/pacem.less CHANGED
@@ -59,6 +59,7 @@ html .@{PCSS}-preloader {
59
59
  @import "ui/@{theme}/loader";
60
60
  // menu
61
61
  @import "ui/@{theme}/menu";
62
+ @import "ui/@{theme}/sidebar";
62
63
  }
63
64
 
64
65
  @{shell} when (@shell_only = false), (@full_theme = true) {
@@ -154,40 +155,47 @@ html .@{PCSS}-preloader {
154
155
 
155
156
  // do not render variables in shell-only mode in order to ease themeable scenarios
156
157
  :root when (@shell_only = false), (@full_theme = true) {
157
- --pacem-color-background: @color_background;
158
- --pacem-color-root: @color_root_background;
159
- --pacem-color-default: @color_default;
160
- --pacem-color-default-inverse: @color_default_inv;
161
- --pacem-color-accent: @color_accent;
162
- --pacem-color-accent-inverse: @color_accent_inv;
163
- --pacem-color-primary: @color_primary;
164
- --pacem-color-primary-inverse: @color_primary_inv;
165
- --pacem-color-danger: @color_danger;
166
- --pacem-color-danger-inverse: @color_danger_inv;
167
- --pacem-color-error: @color_error;
168
- --pacem-color-error-inverse: @color_error_inv;
169
- --pacem-color-highlight: @color_highlight;
170
- --pacem-color-highlight-inverse: @color_highlight_fore;
171
- --pacem-color-warning: @color_warning;
172
- --pacem-color-warning-inverse: @color_warning_inv;
173
- --pacem-color-success: @color_success;
174
- --pacem-color-success-inverse: @color_success_inv;
175
- --pacem-color-disabled: @color_disabled;
158
+
159
+ --@{PCSS}-color-background: @color_background;
160
+ --@{PCSS}-color-root: @color_root_background;
161
+ --@{PCSS}-color-default: @color_default;
162
+ --@{PCSS}-color-default-inverse: @color_default_inv;
163
+ --@{PCSS}-color-accent: @color_accent;
164
+ --@{PCSS}-color-accent-inverse: @color_accent_inv;
165
+ --@{PCSS}-color-primary: @color_primary;
166
+ --@{PCSS}-color-primary-inverse: @color_primary_inv;
167
+ --@{PCSS}-color-danger: @color_danger;
168
+ --@{PCSS}-color-danger-inverse: @color_danger_inv;
169
+ --@{PCSS}-color-error: @color_error;
170
+ --@{PCSS}-color-error-inverse: @color_error_inv;
171
+ --@{PCSS}-color-highlight: @color_highlight;
172
+ --@{PCSS}-color-highlight-inverse: @color_highlight_fore;
173
+ --@{PCSS}-color-warning: @color_warning;
174
+ --@{PCSS}-color-warning-inverse: @color_warning_inv;
175
+ --@{PCSS}-color-success: @color_success;
176
+ --@{PCSS}-color-success-inverse: @color_success_inv;
177
+ --@{PCSS}-color-disabled: @color_disabled;
176
178
  // palette
177
- --pacem-color-green: @palette_green;
178
- --pacem-color-yellow: @palette_yellow;
179
- --pacem-color-brown: @palette_brown;
180
- --pacem-color-red: @palette_red;
181
- --pacem-color-pink: @palette_pink;
182
- --pacem-color-blue: @palette_blue;
183
- --pacem-color-orange: @palette_orange;
184
- --pacem-color-purple: @palette_purple;
185
- --pacem-color-teal: @palette_teal;
186
- //
187
- --pacem-grid-cell: @grid_cell;
188
- --pacem-grid-spacing: @grid_spacing;
179
+ --@{PCSS}-color-green: @palette_green;
180
+ --@{PCSS}-color-yellow: @palette_yellow;
181
+ --@{PCSS}-color-brown: @palette_brown;
182
+ --@{PCSS}-color-red: @palette_red;
183
+ --@{PCSS}-color-pink: @palette_pink;
184
+ --@{PCSS}-color-blue: @palette_blue;
185
+ --@{PCSS}-color-orange: @palette_orange;
186
+ --@{PCSS}-color-purple: @palette_purple;
187
+ --@{PCSS}-color-teal: @palette_teal;
188
+ // spacing
189
+ --@{PCSS}-grid-cell: @grid_cell;
190
+ --@{PCSS}-grid-spacing: @grid_spacing;
189
191
  @double_grid_spacing: 2 * @grid_spacing;
190
- --pacem-grid-double-spacing: @double_grid_spacing;
192
+ --@{PCSS}-grid-double-spacing: @double_grid_spacing;
193
+ // z-indexing
194
+ --@{PCSS}-zindex-toast: @toast_z_index;
195
+ --@{PCSS}-zindex-balloon: @balloon_z_index;
196
+ --@{PCSS}-zindex-menu: @hamburger_z_index;
197
+ --@{PCSS}-zindex-lightbox: @lightbox_z_index;
198
+ --@{PCSS}-zindex-header: @header_z_index;
191
199
  /* #region deprecated */
192
200
  --color-background: @color_background;
193
201
  --color-root: @color_root_background;
@@ -52,6 +52,9 @@
52
52
  @font_size: 14px;
53
53
  @font_rem_factor: 1;
54
54
  @font_std: 'Roboto Condensed', 'Segoe UI', Helvetica, sans-serif;
55
+ @font_std_rem_factor: 1;
56
+ @font_main_rem_factor: 1;
57
+ @font_tech_rem_factor: @font_rem_factor;
55
58
 
56
59
  // tweak needed to align the icon to the std font baseline
57
60
  @font_icon_offset: -1px;
@@ -78,7 +81,7 @@
78
81
 
79
82
  /* #region font mixins: adjust font sizes for homogeneous sight*/
80
83
  .FontStdSize(@rem) {
81
- font-size: 1rem * @rem; // * @font_rem_factor;
84
+ font-size: 1rem * @rem * @font_std_rem_factor;
82
85
  }
83
86
 
84
87
  .FontStd(@rem, @weight) {
@@ -97,7 +100,7 @@
97
100
  }
98
101
 
99
102
  .FontMainSize(@rem) {
100
- font-size: 1rem * @rem * @font_rem_factor;
103
+ font-size: 1rem * @rem * @font_main_rem_factor;
101
104
  }
102
105
 
103
106
  .FontMain(@rem, @weight) {
@@ -116,7 +119,7 @@
116
119
  }
117
120
 
118
121
  .FontTechSize(@rem) {
119
- font-size: 1rem * @rem * @font_rem_factor;
122
+ font-size: 1rem * @rem * @font_tech_rem_factor;
120
123
  }
121
124
 
122
125
  .FontTech(@rem, @weight) {
@@ -222,6 +225,14 @@
222
225
  @menu_link_fontfamily: @font_std;
223
226
  @menu_link_fontsize: 1rem * @font_rem_factor;
224
227
  @menu_nav_background: @color_background;
228
+ @menu_nav_outset_spacing: @grid_spacing/1.5;
229
+ @menu_width: @layout_aside_width;
230
+
231
+ // sidebar
232
+ @sidebar_width: @grid_spacing * 2;
233
+ @sidebar_background: @color_background;
234
+ @sidebar_foreground: @color_default;
235
+ @sidebar_nav_spacing: @menu_nav_outset_spacing;
225
236
 
226
237
  // breadcrumb
227
238
  @color_breadcrumb_home_fore: @color_teal;
@@ -61,7 +61,7 @@
61
61
 
62
62
  // menu
63
63
  @menu_link_fontfamily: @font_main;
64
- @menu_link_fontsize: 1rem * @font_rem_factor;
64
+ @menu_link_fontsize: 1rem * @font_main_rem_factor;
65
65
  // breadcrumb
66
66
  @color_breadcrumb_home_fore: @color_accent;
67
67
  // balloon
@@ -77,9 +77,9 @@
77
77
  @color_suggest_border_light: rgba(255,255,255,0.8);
78
78
  @color_suggest_border_dark: rgba(0,0,0,0.075);
79
79
  // tab
80
- @color_tab_back: @color_button_back;
80
+ @color_tab_back: @color_background; // @color_button_back;
81
81
  @color_tab_highlight: @color_highlight;
82
- @border_tab: 0;
82
+ @border_tab: 1px;
83
83
  // lightbox
84
84
  @color_lightbox_back: rgba(0,0,0,0.1);
85
85
  @color_gallery_back: rgba(0,0,0,0.75);
@@ -15,11 +15,12 @@
15
15
  @font_main: 'PT Sans Narrow', 'Segoe UI Light', Helvetica, sans-serif;
16
16
  @font_tech: 'Share Tech Mono', Monospace;
17
17
  @font_icons: 'Material Icons';
18
- @font_size: 16px;
19
- @font_rem_factor: 7/8;
20
- @font_std: 'Yanone Kaffeesatz', 'Segoe UI', Helvetica, sans-serif;
18
+ @font_size: 14px;
19
+ @font_rem_factor: 1;
20
+ @font_std: 'Roboto Condensed', 'Segoe UI', Helvetica, sans-serif; //'Yanone Kaffeesatz', 'Segoe UI', Helvetica, sans-serif;
21
21
  // tweak needed to align the icon to the std font baseline
22
22
  @font_icon_offset: -2px;
23
+ @font_weight: 300;
23
24
 
24
25
  @color_phousys: #29c7de; // #65e4d5;
25
26
  // temp overrides
@@ -94,7 +95,7 @@
94
95
  @menu_link_active_backgroundcolor: fade(#354a52, 33.333); // fade(@color_default, 5);
95
96
  @menu_link_active_decorcolor: @palette_blue;
96
97
  @menu_link_fontfamily: @font_tech;
97
- @menu_link_fontsize: .8rem; // * @font_rem_factor;
98
+ @menu_link_fontsize: .9rem * @font_tech_rem_factor;
98
99
  @menu_nav_background: fade(@color_background, 80);
99
100
  // breadcrumb
100
101
  @color_breadcrumb_home_fore: @color_accent;
@@ -137,6 +137,16 @@ a.@{PCSS}-button,
137
137
  }
138
138
  }
139
139
 
140
+ /*&.flat,
141
+ &.button-flat {
142
+ color: fade(@color_button_fore, 70);
143
+
144
+ &:focus,
145
+ &:hover {
146
+ color: @color_button_fore;
147
+ }
148
+ }*/
149
+
140
150
  .ButtonColorize(@color_button_back, @color_button_fore);
141
151
 
142
152
  &.accent,
@@ -178,16 +188,6 @@ a.@{PCSS}-button,
178
188
  .ButtonColorize(@color_highlight, @color_highlight_fore);
179
189
  }
180
190
 
181
- &.flat,
182
- &.button-flat {
183
- color: fade(@color_button_fore, 70);
184
-
185
- &:focus,
186
- &:hover {
187
- color: @color_button_fore;
188
- }
189
- }
190
-
191
191
  &.rise,
192
192
  &.button-rise {
193
193
  /*box-shadow: none;
@@ -270,38 +270,53 @@ a.@{PCSS}-button,
270
270
  &.button-circle,
271
271
  &.button-square {
272
272
  width: 2 *@grid_spacing;
273
- height: $width;
273
+ aspect-ratio: 1;
274
274
  font-size: 0;
275
+ display: flex;
276
+ justify-content: center;
277
+ align-items: center;
275
278
 
276
279
  &::before {
277
- position: absolute;
280
+ /*position: absolute;
278
281
  top: 50%;
279
282
  left: 50%;
280
283
  margin-top: -@grid_spacing/2;
281
- margin-left: -@grid_spacing/2;
284
+ margin-left: -@grid_spacing/2;*/
282
285
  }
283
286
 
284
287
  &.square-small,
285
288
  &.circle-small {
286
289
  width: 1.5 *@grid_spacing;
287
- height: $width;
290
+ // height: $width;
288
291
 
289
292
  &::before {
290
293
  font-size: @grid_spacing * .75;
291
- margin-top: -@grid_spacing * (1.5 - .75)/2;
292
- margin-left: $margin-top;
294
+ /*margin-top: -@grid_spacing * (1.5 - .75)/2;
295
+ margin-left: $margin-top;*/
293
296
  }
294
297
  }
295
298
 
296
299
  &.square-smaller,
297
300
  &.circle-smaller {
298
301
  width: @grid_spacing;
299
- height: $width;
302
+ // height: $width;
300
303
 
301
304
  &::before {
302
305
  font-size: @grid_spacing * .5;
303
- margin-top: -@grid_spacing * (0.5)/2;
304
- margin-left: $margin-top;
306
+ /*margin-top: -@grid_spacing * (0.5)/2;
307
+ margin-left: $margin-top;*/
308
+ }
309
+ }
310
+
311
+ &.square-auto,
312
+ &.circle-auto {
313
+ width: 100%;
314
+
315
+ &::before {
316
+ font-size: @grid_spacing;
317
+ text-size-adjust: 67%;
318
+ /*margin-top: -25%;
319
+ margin-left: -25%;*/
305
320
  }
306
321
  }
307
322
  }
@@ -60,6 +60,7 @@
60
60
 
61
61
  // to be imported separately by the shell css
62
62
  // @import "menu";
63
+ // @import "sidebar";
63
64
  @import "binder";
64
65
  @import "markdown";
65
66
  @import "social";
@@ -1,6 +1,6 @@
1
1
  @import "../shared";
2
2
 
3
- @_w: @layout_aside_width;
3
+ @_w: @menu_width;
4
4
 
5
5
  @_clr_a: @menu_link_color;
6
6
  @_clr_a_hover: @menu_link_hover_color;
@@ -321,8 +321,6 @@
321
321
 
322
322
 
323
323
  &.menu-sync {
324
- // font-size: .8em;
325
- z-index: @header_z_index - 10;
326
324
 
327
325
  .@{PCSS}-menu {
328
326
  // width: @_w;
@@ -341,11 +339,27 @@
341
339
  }
342
340
 
343
341
  nav {
344
- background: none;
345
342
  backdrop-filter: none;
346
343
  grid-row: ~"1/9";
347
344
  // width: @_w;
348
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;
349
363
  }
350
364
  }
351
365
  }
@@ -383,11 +397,10 @@
383
397
  }
384
398
  }
385
399
  /* #endregion*/
386
-
387
400
  // layout with a header?
388
- .@{PCSS}-body.@{PCSS}-menu-open[header]:not(.sticky-header-fade) @{P}-menu,
389
- .@{PCSS}-body.@{PCSS}-menu-close[header]:not(.sticky-header-fade) @{P}-menu,
390
- @{P}-menu.menu-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 {
391
404
  &.menu-sync {
392
405
  .@{PCSS}-menu {
393
406
 
@@ -399,16 +412,16 @@
399
412
  }
400
413
  }
401
414
 
402
- .@{PCSS}-body.@{PCSS}-menu-open[header][headbar]:not(.sticky-header-fade) @{P}-menu,
403
- .@{PCSS}-body.@{PCSS}-menu-close[header][headbar]:not(.sticky-header-fade) @{P}-menu,
404
- .@{PCSS}-body.@{PCSS}-menu-open[header][headbar-prepend]:not(.sticky-header-fade) @{P}-menu,
405
- .@{PCSS}-body.@{PCSS}-menu-close[header][headbar-prepend]:not(.sticky-header-fade) @{P}-menu,
406
- .@{PCSS}-body.@{PCSS}-menu-open[headbar] @{P}-menu.menu-header,
407
- .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend] @{P}-menu.menu-header,
408
- .@{PCSS}-body.@{PCSS}-menu-close[headbar] @{P}-menu.menu-header,
409
- .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend] @{P}-menu.menu-header,
410
- @{P}-menu.menu-header.menu-headbar,
411
- @{P}-menu.menu-header.menu-headbar-prepend {
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) {
412
425
  // layout with header AND headbar?
413
426
  &.menu-sync {
414
427
  .@{PCSS}-menu {
@@ -420,16 +433,16 @@
420
433
  }
421
434
  }
422
435
 
423
- .@{PCSS}-body.@{PCSS}-menu-open[headbar]:not([header]) @{P}-menu:not(.menu-header),
424
- .@{PCSS}-body.@{PCSS}-menu-close[headbar]:not([header]) @{P}-menu:not(.menu-header),
425
- .@{PCSS}-body.@{PCSS}-menu-open[headbar].sticky-header-fade @{P}-menu:not(.menu-header),
426
- .@{PCSS}-body.@{PCSS}-menu-close[headbar].sticky-header-fade @{P}-menu:not(.menu-header),
427
- .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend]:not([header]) @{P}-menu:not(.menu-header),
428
- .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend]:not([header]) @{P}-menu:not(.menu-header),
429
- .@{PCSS}-body.@{PCSS}-menu-open[headbar-prepend].sticky-header-fade @{P}-menu:not(.menu-header),
430
- .@{PCSS}-body.@{PCSS}-menu-close[headbar-prepend].sticky-header-fade @{P}-menu:not(.menu-header),
431
- @{P}-menu.menu-headbar:not(.menu-header),
432
- @{P}-menu.menu-headbar-prepend:not(.menu-header) {
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) {
433
446
  // headbars without header?
434
447
  &.menu-sync {
435
448
  .@{PCSS}-menu {
@@ -441,12 +454,12 @@
441
454
  }
442
455
  }
443
456
 
444
- .@{PCSS}-body.@{PCSS}-menu-open[footer] @{P}-menu,
445
- .@{PCSS}-body.@{PCSS}-menu-close[footer] @{P}-menu,
446
- .@{PCSS}-body.@{PCSS}-menu-open[bigfooter] @{P}-menu,
447
- .@{PCSS}-body.@{PCSS}-menu-close[bigfooter] @{P}-menu,
448
- @{P}-menu.menu-footer,
449
- @{P}-menu.menu-bigfooter {
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) {
450
463
  // headbars without footers?
451
464
  &.menu-sync {
452
465
  .@{PCSS}-menu {
@@ -459,26 +472,26 @@
459
472
  }
460
473
 
461
474
 
462
- .@{PCSS}-body.@{PCSS}-menu-open[footer][footbar] @{P}-menu,
463
- .@{PCSS}-body.@{PCSS}-menu-close[footer][footbar] @{P}-menu,
464
- .@{PCSS}-body.@{PCSS}-menu-open[footer][footbar-append] @{P}-menu,
465
- .@{PCSS}-body.@{PCSS}-menu-close[footer][footbar-append] @{P}-menu,
466
- .@{PCSS}-body.@{PCSS}-menu-open[footbar] @{P}-menu.menu-footer,
467
- .@{PCSS}-body.@{PCSS}-menu-open[footbar-append] @{P}-menu.menu-footer,
468
- .@{PCSS}-body.@{PCSS}-menu-close[footbar] @{P}-menu.menu-footer,
469
- .@{PCSS}-body.@{PCSS}-menu-close[footbar-append] @{P}-menu.menu-footer,
470
- .@{PCSS}-body.@{PCSS}-menu-open[bigfooter][footbar] @{P}-menu,
471
- .@{PCSS}-body.@{PCSS}-menu-close[bigfooter][footbar] @{P}-menu,
472
- .@{PCSS}-body.@{PCSS}-menu-open[bigfooter][footbar-append] @{P}-menu,
473
- .@{PCSS}-body.@{PCSS}-menu-close[bigfooter][footbar-append] @{P}-menu,
474
- .@{PCSS}-body.@{PCSS}-menu-open[footbar] @{P}-menu.menu-bigfooter,
475
- .@{PCSS}-body.@{PCSS}-menu-open[footbar-append] @{P}-menu.menu-bigfooter,
476
- .@{PCSS}-body.@{PCSS}-menu-close[footbar] @{P}-menu.menu-bigfooter,
477
- .@{PCSS}-body.@{PCSS}-menu-close[footbar-append] @{P}-menu.menu-bigfooter,
478
- @{P}-menu.menu-footer.menu-footbar,
479
- @{P}-menu.menu-footer.menu-footbar-append,
480
- @{P}-menu.menu-bigfooter.menu-footbar,
481
- @{P}-menu.menu-bigfooter.menu-footbar-append {
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) {
482
495
  // layout with footer AND footbar?
483
496
  &.menu-sync {
484
497
  .@{PCSS}-menu {
@@ -490,12 +503,12 @@
490
503
  }
491
504
  }
492
505
 
493
- .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar] @{P}-menu:not(.menu-footer):not(.menu-bigfooter),
494
- .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar] @{P}-menu:not(.menu-footer):not(.menu-bigfooter),
495
- .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar-append] @{P}-menu:not(.menu-footer):not(.menu-bigfooter),
496
- .@{PCSS}-body.@{PCSS}-menu-open:not([footer]):not([bigfooter])[footbar-append] @{P}-menu:not(.menu-footer):not(.menu-bigfooter),
497
- @{P}-menu.menu-footbar:not(.menu-footer):not(.menu-bigfooter),
498
- @{P}-menu.menu-footbar-append:not(.menu-footer):not(.menu-bigfooter) {
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) {
499
512
  // footbars without footer?
500
513
  &.menu-sync {
501
514
  .@{PCSS}-menu {
@@ -519,7 +532,6 @@
519
532
  }
520
533
  }
521
534
  }
522
-
523
535
  /*@{P}-menu.menu-sync {
524
536
  @{P}-button.@{PCSS}-menu.@{PCSS}-hamburger {
525
537
  @_avail: @menu_hamburger_button_desktop_size;
@@ -0,0 +1,135 @@
1
+ @import "../shared";
2
+
3
+ @_lvl1_width: 2 * @grid_spacing;
4
+
5
+ @{P}-sidebar {
6
+ @_zindex: @hamburger_z_index + 1;
7
+ @_lvl1_zindex: @_zindex + 1;
8
+ z-index: @_zindex;
9
+ display: block;
10
+ position: fixed;
11
+ top: 0;
12
+ bottom: 0;
13
+ left: 0;
14
+ width: 0;
15
+
16
+ &::part(drawer),
17
+ .sidebar-drawer {
18
+ position: absolute;
19
+ top: 0;
20
+ bottom: 0;
21
+ left: 0;
22
+ width: @_lvl1_width;
23
+ color: @sidebar_foreground;
24
+ background: @sidebar_background;
25
+ border-right: 1px solid @color_border;
26
+ box-sizing: border-box;
27
+ // initial state
28
+ transform: translateX(-$width);
29
+ opacity: 0;
30
+ }
31
+
32
+ &::part(open),
33
+ .sidebar-drawer.drawer-open {
34
+ // open state
35
+ opacity: 1;
36
+ transform: translateX(0);
37
+ }
38
+ // coloring
39
+
40
+ .Sidebar(@bg, @fore) {
41
+
42
+ &::part(drawer),
43
+ .sidebar-drawer {
44
+ .GradientVertical(0, 100%, @bg, darken(@bg, 20));
45
+ border-color: transparent;
46
+ color: @fore;
47
+ }
48
+ }
49
+
50
+ &.sidebar-primary {
51
+ .Sidebar(@color_primary, @color_primary_inv);
52
+ }
53
+
54
+ &.sidebar-accent {
55
+ .Sidebar(@color_accent, @color_accent_inv);
56
+ }
57
+
58
+ &.sidebar-warning {
59
+ .Sidebar(@color_warning, @color_warning_inv);
60
+ }
61
+
62
+ &.sidebar-success {
63
+ .Sidebar(@color_success, @color_success_inv);
64
+ }
65
+
66
+ &.sidebar-danger {
67
+ .Sidebar(@color_danger, @color_danger_inv);
68
+ }
69
+
70
+ &.sidebar-error {
71
+ .Sidebar(@color_error, @color_error_inv);
72
+ }
73
+
74
+ &.sidebar-invert {
75
+ .Sidebar(@color_default, @color_default_inv);
76
+ }
77
+
78
+ &.sidebar-disabled {
79
+ .Sidebar(@color_disabled, @color_disabled_inv);
80
+ }
81
+ }
82
+
83
+ .@{PCSS}-body {
84
+
85
+ @_spacing: @layout_aside_padding;
86
+
87
+ &.@{PCSS}-sidebar-open {
88
+ padding-left: @_lvl1_width + @_spacing;
89
+
90
+ @media screen and (min-width: @threshold_lg) {
91
+
92
+ &.@{PCSS}-menu-open {
93
+ padding-left: @_lvl1_width + @layout_aside_width + @_spacing;
94
+ }
95
+ }
96
+
97
+ @{P}-menu.menu-sync {
98
+ transform: translateX(@_lvl1_width);
99
+ }
100
+ }
101
+ }
102
+
103
+ @{P}-sidebar nav.@{PCSS}-sidebar {
104
+ display: grid;
105
+ grid-template-rows: auto 1fr auto;
106
+ height: 100%;
107
+ padding: @sidebar_nav_spacing 0;
108
+ box-sizing: border-box;
109
+
110
+ > .sidebar-start,
111
+ > .sidebar-end {
112
+ display: flex;
113
+ flex-direction: column;
114
+ align-items: center;
115
+ }
116
+
117
+ > .sidebar-start {
118
+ grid-row: 1;
119
+ }
120
+
121
+ > .sidebar-end {
122
+ grid-row: 3;
123
+ }
124
+
125
+ .sidebar-button {
126
+ margin: 0;
127
+ }
128
+ }
129
+
130
+ .@{PCSS}-body.@{PCSS}-animations {
131
+ @{P}-sidebar::part(drawer),
132
+ @{P}-sidebar .sidebar-drawer {
133
+ transition: transform .3s @easing_in_out_sine, opacity .2s linear;
134
+ }
135
+ }
@@ -9,7 +9,7 @@
9
9
  display: block;
10
10
  //position: relative;
11
11
 
12
- @{P}-tab {
12
+ @{P}-tab {
13
13
  display: none;
14
14
  opacity: 0;
15
15
  pointer-events: none;
@@ -45,7 +45,7 @@
45
45
  overflow: hidden;
46
46
  display: grid;
47
47
 
48
- >@{P}-tab {
48
+ > @{P}-tab {
49
49
  grid-column: 1;
50
50
  grid-row: 1;
51
51
  align-self: start;
@@ -107,15 +107,47 @@
107
107
  .@{PCSS}-tabs-adapter {
108
108
  z-index: 0;
109
109
  }*/
110
- &.rise {
110
+ &.rise,
111
+ &.tabs-rise {
112
+
113
+ &when(@dark_theme = true) {
114
+
115
+ .@{PCSS}-tabs-content {
116
+ box-shadow: 0 4px 16px rgba(0,0,0,0.125);
117
+ }
118
+
119
+ .@{PCSS}-tabs.tabs-vertical {
120
+
121
+ @{P}-button.@{PCSS}-adapter-page.@{PCSS}-adapter-active {
122
+ box-shadow: -2px 2px 4px rgba(0,0,0,0.125);
123
+ }
124
+ }
125
+ }
126
+
127
+ &when(@dark_theme = false) {
128
+
129
+ .@{PCSS}-tabs-content {
130
+ box-shadow: 0 2px 24px rgba(0,0,0,0.075);
131
+ }
132
+
133
+ .@{PCSS}-tabs.tabs-vertical {
134
+
135
+ @{P}-button.@{PCSS}-adapter-page.@{PCSS}-adapter-active {
136
+ box-shadow: -2px 2px 4px rgba(0,0,0,0.05);
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ &.tabs-flat {
111
143
  .@{PCSS}-tabs-content {
112
- box-shadow: 0 2px @grid_spacing/6 rgba(0,0,0,0.5);
144
+ box-shadow: none;
113
145
  }
114
146
 
115
147
  .@{PCSS}-tabs.tabs-vertical {
116
148
 
117
- @{P}-button.@{PCSS}-adapter-page.@{PCSS}-adapter-active {
118
- box-shadow: 0 1px 0 rgba(0,0,0,0.5);
149
+ @{P}-button.@{PCSS}-adapter-page.@{PCSS}-adapter-active {
150
+ box-shadow: none;
119
151
  }
120
152
  }
121
153
  }
@@ -137,7 +169,7 @@
137
169
 
138
170
  > li {
139
171
 
140
- >@{P}-button.@{PCSS}-adapter-page {
172
+ > @{P}-button.@{PCSS}-adapter-page {
141
173
  padding: @grid_spacing/6 @grid_spacing/2 0 @grid_spacing/2;
142
174
  margin: 0;
143
175
  background-color: transparent;
@@ -150,7 +182,7 @@
150
182
  box-shadow: none;
151
183
  }
152
184
 
153
- >@{P}-span {
185
+ > @{P}-span {
154
186
  display: block;
155
187
  box-sizing: border-box;
156
188
  height: @_h_tab - @grid_spacing/6;
@@ -169,10 +201,11 @@
169
201
  border-top: @_brd_tab solid @_clr_brd_tab;
170
202
  border-right: @_brd_tab solid @_clr_brd_tab;
171
203
  border-left: @_brd_tab solid @_clr_brd_tab;
204
+ border-bottom: 0;
172
205
  z-index: 1;
173
206
  transform: translateY(@_brd_tab);
174
207
 
175
- >@{P}-span {
208
+ > @{P}-span {
176
209
  border-color: @color_tab_highlight;
177
210
  //background-color: @color_teal;
178
211
  }
@@ -228,13 +261,13 @@
228
261
  > li {
229
262
  display: list-item;
230
263
 
231
- >@{P}-button.@{PCSS}-adapter-page {
264
+ > @{P}-button.@{PCSS}-adapter-page {
232
265
  padding: @grid_spacing/4 0 @grid_spacing/4 @grid_spacing/2;
233
266
  display: block;
234
267
  border-bottom-left-radius: @border_radius;
235
268
  border-top-right-radius: 0;
236
269
 
237
- >@{P}-span {
270
+ > @{P}-span {
238
271
  display: block;
239
272
  text-align: left;
240
273
  margin: 0;
@@ -247,7 +280,14 @@
247
280
 
248
281
  &.@{PCSS}-adapter-active {
249
282
 
250
- >@{P}-span {
283
+ border-top: @_brd_tab solid @_clr_brd_tab;
284
+ border-bottom: @_brd_tab solid @_clr_brd_tab;
285
+ border-left: @_brd_tab solid @_clr_brd_tab;
286
+ border-right: 0;
287
+ z-index: 1;
288
+ transform: translateX(@_brd_tab);
289
+
290
+ > @{P}-span {
251
291
  border-color: @color_tab_highlight;
252
292
  }
253
293
  }
@@ -282,9 +322,9 @@
282
322
 
283
323
  // animations
284
324
  .@{PCSS}-animations {
285
- @{P}-tabs {
286
- @{P}-tab {
325
+ @{P}-tabs {
326
+ @{P}-tab {
287
327
  transition: opacity .2s, transform .2s @easing_out_sine;
288
328
  }
289
329
  }
290
- }
330
+ }
@@ -129,7 +129,7 @@
129
129
  .Coloring(@color_default, @color_default_inv);
130
130
  // coloring
131
131
  &.step-disabled {
132
- .Coloring(@color_disabled, @color_default);
132
+ .Coloring(@color_disabled, @color_disabled_inv);
133
133
  }
134
134
 
135
135
  &.step-success {
@@ -0,0 +1,2 @@
1
+ // theme-dark is the 'cookie-cutter'
2
+ @import "../dark/sidebar";
@@ -0,0 +1,2 @@
1
+ // theme-dark is the 'cookie-cutter'
2
+ @import "../dark/sidebar";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.30.0",
2
+ "version": "0.40.0-alba",
3
3
  "name": "pacem-less",
4
4
  "homepage": "https://js.pacem.it",
5
5
  "repository": {