@jsekulowicz/ds-components 0.18.2 → 0.19.0

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 (35) hide show
  1. package/custom-elements.json +290 -7
  2. package/dist/atoms/nav-item/nav-control.styles.js +1 -1
  3. package/dist/atoms/nav-item/nav-group.d.ts +1 -0
  4. package/dist/atoms/nav-item/nav-group.d.ts.map +1 -1
  5. package/dist/atoms/nav-item/nav-group.js +2 -10
  6. package/dist/atoms/nav-item/nav-group.js.map +1 -1
  7. package/dist/atoms/nav-item/nav-group.styles.d.ts.map +1 -1
  8. package/dist/atoms/nav-item/nav-group.styles.js +0 -8
  9. package/dist/atoms/nav-item/nav-group.styles.js.map +1 -1
  10. package/dist/atoms/select/select.common-styles.d.ts.map +1 -1
  11. package/dist/atoms/select/select.common-styles.js +12 -2
  12. package/dist/atoms/select/select.common-styles.js.map +1 -1
  13. package/dist/atoms/table/table-rendering.d.ts +2 -0
  14. package/dist/atoms/table/table-rendering.d.ts.map +1 -1
  15. package/dist/atoms/table/table-rendering.js +2 -0
  16. package/dist/atoms/table/table-rendering.js.map +1 -1
  17. package/dist/atoms/table/table.d.ts.map +1 -1
  18. package/dist/atoms/table/table.js +35 -0
  19. package/dist/atoms/table/table.js.map +1 -1
  20. package/dist/organisms/sidenav/sidenav.d.ts +1 -0
  21. package/dist/organisms/sidenav/sidenav.d.ts.map +1 -1
  22. package/dist/organisms/sidenav/sidenav.js +5 -2
  23. package/dist/organisms/sidenav/sidenav.js.map +1 -1
  24. package/dist/organisms/sidenav/sidenav.styles.js +7 -7
  25. package/dist/shared/scroll-fade.styles.d.ts.map +1 -1
  26. package/dist/shared/scroll-fade.styles.js +2 -1
  27. package/dist/shared/scroll-fade.styles.js.map +1 -1
  28. package/dist/templates/page-shell/page-shell.d.ts +15 -1
  29. package/dist/templates/page-shell/page-shell.d.ts.map +1 -1
  30. package/dist/templates/page-shell/page-shell.js +188 -18
  31. package/dist/templates/page-shell/page-shell.js.map +1 -1
  32. package/dist/templates/page-shell/page-shell.styles.d.ts.map +1 -1
  33. package/dist/templates/page-shell/page-shell.styles.js +106 -12
  34. package/dist/templates/page-shell/page-shell.styles.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.styles.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,yBAsJ3B,CAAC"}
1
+ {"version":3,"file":"page-shell.styles.d.ts","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,yBAoP3B,CAAC"}
@@ -4,6 +4,8 @@ const belowDesktopBreakpoint = unsafeCSS(`calc(${breakpoint.lg} - 0.02px)`);
4
4
  export const pageShellStyles = css `
5
5
  :host {
6
6
  --ds-page-shell-max-width: none;
7
+ --ds-page-shell-aside-toggle-clearance:
8
+ calc(var(--ds-size-sm) / 2);
7
9
 
8
10
  display: flex;
9
11
  flex-direction: column;
@@ -54,33 +56,62 @@ export const pageShellStyles = css `
54
56
  max-width: var(--ds-page-shell-max-width);
55
57
  margin-inline: auto;
56
58
  display: grid;
57
- grid-template-columns: auto 1fr auto;
59
+ grid-template-columns: auto minmax(0, 1fr) auto;
58
60
  min-height: 0;
59
61
  }
60
62
 
61
- :host([aside-empty]) .shell-body {
62
- grid-template-columns: 1fr auto;
63
+ .presence-slot {
64
+ display: none;
65
+ }
66
+
67
+ .aside-start-cluster,
68
+ .aside-end-cluster {
69
+ display: grid;
70
+ grid-template-columns: 1fr;
71
+ position: relative;
72
+ min-width: 0;
73
+ min-height: 0;
74
+ transition: grid-template-columns var(--ds-duration-slow) var(--ds-easing-standard);
63
75
  }
64
76
 
65
- :host([aside-end-empty]) .shell-body {
66
- grid-template-columns: auto 1fr;
77
+ .aside-start-cluster {
78
+ grid-column: 1;
79
+ border-inline-end: 1px solid var(--ds-color-border);
67
80
  }
68
81
 
69
- :host([aside-empty][aside-end-empty]) .shell-body {
70
- grid-template-columns: 1fr;
82
+ .aside-end-cluster {
83
+ grid-column: 3;
84
+ border-inline-start: 1px solid var(--ds-color-border);
85
+ }
86
+
87
+ main {
88
+ grid-column: 2;
71
89
  }
72
90
 
73
91
  aside {
74
92
  display: flex;
93
+ box-sizing: border-box;
75
94
  overflow-x: clip;
76
95
  overflow-y: auto;
77
96
  overflow-clip-margin-inline: var(--ds-space-2);
97
+ min-width: 0;
78
98
  min-height: 0;
79
- scrollbar-color: var(--ds-color-fg-subtle) transparent;
80
- scrollbar-width: thin;
81
- /* No scrollbar-gutter reservation: the aside sits flush with its column
82
- edge so the consumer's <main> solely owns the gap. The scrollbar
83
- appears on demand when the aside genuinely overflows. */
99
+ --ds-scroll-fade-depth: var(--ds-space-12, 3rem);
100
+ scrollbar-width: none;
101
+ mask-image: var(--ds-scroll-fade-mask);
102
+ transition: opacity var(--ds-duration-slow) var(--ds-easing-standard);
103
+ }
104
+
105
+ aside::-webkit-scrollbar {
106
+ display: none;
107
+ }
108
+
109
+ :host([aside-toggle]) aside[part="aside"] {
110
+ padding-inline-end: var(--ds-page-shell-aside-toggle-clearance);
111
+ }
112
+
113
+ :host([aside-end-toggle]) aside[part="aside-end"] {
114
+ padding-inline-start: var(--ds-page-shell-aside-toggle-clearance);
84
115
  }
85
116
 
86
117
  :host([aside-empty]) aside[part="aside"],
@@ -92,6 +123,66 @@ export const pageShellStyles = css `
92
123
  display: none;
93
124
  }
94
125
 
126
+ aside[hidden] {
127
+ display: none;
128
+ }
129
+
130
+ /* Collapsing to 0fr animates the grid track from its content width to zero
131
+ without measuring it in JS; the aside clips via overflow + min-width: 0.
132
+ The cluster keeps a small min-width so the toggle button that straddles
133
+ its edge never touches the viewport edge. */
134
+ :host([aside-state='hidden']) .aside-start-cluster,
135
+ :host([aside-end-state='hidden']) .aside-end-cluster {
136
+ grid-template-columns: 0fr;
137
+ min-width: calc(var(--ds-size-sm) / 2 + var(--ds-space-2));
138
+ }
139
+
140
+ :host([aside-state='hidden']) aside[part="aside"],
141
+ :host([aside-end-state='hidden']) aside[part="aside-end"] {
142
+ padding-inline: 0;
143
+ opacity: 0;
144
+ pointer-events: none;
145
+ }
146
+
147
+ :host([aside-state='compact']) aside[part="aside"] ::slotted(ds-sidenav) {
148
+ width: var(--ds-sidenav-collapsed-width, var(--ds-space-14, 3.5rem)) !important;
149
+ }
150
+
151
+ @media (prefers-reduced-motion: reduce) {
152
+ .aside-start-cluster,
153
+ .aside-end-cluster,
154
+ aside {
155
+ transition: none;
156
+ }
157
+ }
158
+
159
+ .aside-toggle-rail {
160
+ position: absolute;
161
+ inset-block-start: var(--ds-space-5);
162
+ z-index: 1;
163
+ width: var(--ds-size-sm);
164
+ min-width: var(--ds-size-sm);
165
+ height: var(--ds-size-sm);
166
+ }
167
+
168
+ .aside-toggle-start-rail {
169
+ inset-inline-end: calc(var(--ds-size-sm) / -2);
170
+ }
171
+
172
+ .aside-toggle-end-rail {
173
+ inset-inline-start: calc(var(--ds-size-sm) / -2);
174
+ }
175
+
176
+ .aside-toggle::part(button) {
177
+ flex-shrink: 0;
178
+ background: var(--ds-color-bg);
179
+ border-color: var(--ds-color-border);
180
+ }
181
+
182
+ .aside-toggle:hover::part(button) {
183
+ background: var(--ds-color-bg-subtle);
184
+ }
185
+
95
186
  main {
96
187
  padding: var(--ds-space-5);
97
188
  overflow-x: clip;
@@ -129,6 +220,9 @@ export const pageShellStyles = css `
129
220
  :host([mobile-layout]) .shell-body {
130
221
  grid-template-columns: 1fr;
131
222
  }
223
+ :host([mobile-layout]) main {
224
+ grid-column: 1;
225
+ }
132
226
  :host([mobile-layout]) aside[part="aside-end"] {
133
227
  display: none;
134
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-shell.styles.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,sBAAsB,GAAG,SAAS,CAAC,QAAQ,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0GX,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C5C,CAAC"}
1
+ {"version":3,"file":"page-shell.styles.js","sourceRoot":"","sources":["../../../src/templates/page-shell/page-shell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,sBAAsB,GAAG,SAAS,CAAC,QAAQ,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqMX,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsekulowicz/ds-components",
3
- "version": "0.18.2",
3
+ "version": "0.19.0",
4
4
  "description": "Lit web components for the Design System Library (atoms, molecules, organisms, templates, pages).",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {