@swiftwc/ui 0.0.0-dev.17 → 0.0.0-dev.19

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 (46) hide show
  1. package/generated/client/index.js +3 -11
  2. package/generated/components/content-unavailable-view.d.ts +24 -0
  3. package/generated/components/content-unavailable-view.js +78 -0
  4. package/generated/components/date-picker.js +2 -4
  5. package/generated/components/index.d.ts +2 -3
  6. package/generated/components/index.js +2 -3
  7. package/generated/components/navigation-split-view.d.ts +3 -0
  8. package/generated/components/navigation-split-view.js +3 -0
  9. package/generated/components/navigation-stack.d.ts +3 -0
  10. package/generated/components/navigation-stack.js +3 -0
  11. package/generated/components/scroll-view-proxy.d.ts +8 -0
  12. package/generated/components/scroll-view-proxy.js +14 -0
  13. package/generated/components/sidebar-toggle.js +33 -60
  14. package/generated/components/tab-bar.d.ts +3 -0
  15. package/generated/components/tab-bar.js +3 -0
  16. package/generated/components/text-field.js +1 -1
  17. package/generated/css/index.css +186 -127
  18. package/generated/i18n/index.d.ts +20 -10
  19. package/generated/i18n/index.js +82 -54
  20. package/generated/i18n/locales/el.d.ts +8 -0
  21. package/generated/i18n/locales/el.js +8 -0
  22. package/generated/i18n/locales/en.d.ts +8 -0
  23. package/generated/i18n/locales/en.js +8 -0
  24. package/generated/i18n/locales/index.d.ts +4 -0
  25. package/generated/i18n/locales/index.js +4 -0
  26. package/generated/internal/utils/list-active.js +11 -11
  27. package/package.json +8 -4
  28. package/scss/_components.scss +2 -0
  29. package/scss/components/_bordered-button.scss +8 -0
  30. package/scss/components/_bordered-prominent-button.scss +8 -0
  31. package/scss/components/_borderless-button.scss +8 -0
  32. package/scss/components/_components.scss +76 -0
  33. package/scss/components/_content-unavailable-view.scss +45 -0
  34. package/scss/components/_glass-button.scss +8 -0
  35. package/scss/components/_glass-prominent-button.scss +8 -0
  36. package/scss/components/_h-flex-stack.scss +23 -0
  37. package/scss/components/_h-stack.scss +2 -2
  38. package/scss/components/_index.scss +4 -0
  39. package/scss/components/_label-view.scss +29 -22
  40. package/scss/components/_plain-button.scss +7 -0
  41. package/scss/components/_scroll-view-proxy.scss +18 -18
  42. package/scss/components/_v-stack.scss +19 -2
  43. package/scss/final/_touch-glass.scss +17 -0
  44. package/scss/placeholders/_lists.scss +10 -38
  45. package/scss/utils/_stacks.scss +72 -67
  46. package/web-components.html-data/en.json +19 -3
@@ -3,6 +3,19 @@
3
3
  @use 'sass:string';
4
4
  @use 'sass:map';
5
5
 
6
+ // scalpel precision
7
+ @property --label-gap {
8
+ syntax: '<length>';
9
+ inherits: false;
10
+ initial-value: 0;
11
+ }
12
+
13
+ @property --label-image-size {
14
+ syntax: '<length>';
15
+ inherits: false;
16
+ initial-value: 0;
17
+ }
18
+
6
19
  // @property --label-style {
7
20
  // syntax: 'title-and-icon | icon-only | title-only | automatic';
8
21
  // inherits: true;
@@ -55,7 +68,8 @@ $label-line-ifs: (
55
68
  --label--host-align-items: center;
56
69
  --label--host-justify-items: normal;
57
70
 
58
- --label--host-gap: 0.3rem;
71
+ --label-gap: 0.3rem;
72
+ --label--host-gap: var(--label-gap);
59
73
 
60
74
  --label--iconstack-display: grid;
61
75
  --label--titlestack-display: grid;
@@ -75,7 +89,8 @@ $label-line-ifs: (
75
89
  --label--host-align-items: normal;
76
90
  --label--host-justify-items: center;
77
91
 
78
- --label--host-gap: 0.3rem;
92
+ --label-gap: 0.3rem;
93
+ --label--host-gap: var(--label-gap);
79
94
 
80
95
  --label--iconstack-display: grid;
81
96
  --label--titlestack-display: grid;
@@ -158,7 +173,10 @@ $label-line-ifs: (
158
173
  grid-template-rows: var(--label--host-grid-template-rows,);
159
174
  // grid-template-areas: 'label-image-stack label-title-stack';
160
175
 
161
- gap: var(--label--host-gap,);
176
+ gap: var(--label--host-gap,); //;
177
+
178
+ --label-image-size: 2rem;
179
+ --label-imagestack-fontsize: var(--label-image-size);
162
180
  // gap: 0;
163
181
 
164
182
  white-space: var(--label--host-white-space,);
@@ -184,8 +202,8 @@ $label-line-ifs: (
184
202
  &::part(label-image-stack) {
185
203
  aspect-ratio: 1 / 1;
186
204
 
187
- inline-size: var(--label-image-size, 2rem);
188
- font-size: var(--label-image-size, 2rem);
205
+ inline-size: var(--label-imagestack-fontsize);
206
+ font-size: var(--label-imagestack-fontsize);
189
207
 
190
208
  // line-height: 1;
191
209
 
@@ -255,34 +273,23 @@ $label-line-ifs: (
255
273
  --label--host-grid-template-columns: if(
256
274
  style(--label-style: icon-only): minmax(0, 1fr) ; style(--label-style: title-only): minmax(0, 1fr) ;
257
275
  style(--label-style: title-and-icon): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;) ;
258
- else: if(
259
- style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;)
260
- ; else: minmax(0, 1fr) ;
261
- )
262
- ;
276
+ else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): minmax(0, 1fr) ; else: auto minmax(0, 1fr) ;) ; else: minmax(0, 1fr) ;) ;
263
277
  );
264
278
  --label--host-grid-template-rows: if(
265
279
  style(--label-style: icon-only): minmax(0, 1fr) ; style(--label-style: title-only): minmax(0, 1fr) ;
266
280
  style(--label-style: title-and-icon): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;) ;
267
- else: if(
268
- style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;)
269
- ; else: minmax(0, 1fr) ;
270
- )
271
- ;
281
+ else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): if(style(--label-flow: vertical): auto minmax(0, 1fr) ; else: minmax(0, 1fr) ;) ; else: minmax(0, 1fr) ;) ;
272
282
  );
273
283
 
274
- --label--host-gap: if(
275
- style(--label-style: title-and-icon): 0.3rem ; else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): 0.3rem ;) ;
276
- );
284
+ --label-gap: if(style(--label-style: title-and-icon): 0.3rem ; else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): 0.3rem ;) ;);
285
+ --label--host-gap: if(style(--label-style: title-and-icon): var(--label-gap) ; else: if(style(--label--has-icon: yes) and style(--label--has-title: yes): var(--label-gap) ;) ;);
277
286
 
278
287
  --label--iconstack-display: if(
279
- style(--label-style: icon-only): grid ; style(--label-style: title-only): none ; style(--label-style: title-and-icon): grid ;
280
- else: if(style(--label--has-icon: yes): grid ; else: none;) ;
288
+ style(--label-style: icon-only): grid ; style(--label-style: title-only): none ; style(--label-style: title-and-icon): grid ; else: if(style(--label--has-icon: yes): grid ; else: none;) ;
281
289
  );
282
290
 
283
291
  --label--titlestack-display: if(
284
- style(--label-style: icon-only): none ; style(--label-style: title-only): grid ; style(--label-style: title-and-icon): grid ;
285
- else: if(style(--label--has-title: yes): grid ; else: none;) ;
292
+ style(--label-style: icon-only): none ; style(--label-style: title-only): grid ; style(--label-style: title-and-icon): grid ; else: if(style(--label--has-title: yes): grid ; else: none;) ;
286
293
  );
287
294
  }
288
295
  }
@@ -9,3 +9,10 @@
9
9
  }
10
10
  }
11
11
  }
12
+ @layer #{vars.$utils-layer} {
13
+ [is='plain-button'] {
14
+ :where(&) {
15
+ text-align: center;
16
+ }
17
+ }
18
+ }
@@ -33,18 +33,18 @@
33
33
  scroll-snap-align: start;
34
34
  }
35
35
 
36
- :where(&) {
37
- &::before {
38
- @include mixins.span-all;
39
- content: '';
40
- display: inline-grid;
41
- block-size: 1px;
42
- inline-size: 1px;
43
- z-index: -1;
44
- pointer-events: none;
45
- position: absolute;
46
- }
47
- }
36
+ // :where(&) {
37
+ // &::before {
38
+ // @include mixins.span-all;
39
+ // content: '';
40
+ // display: inline-grid;
41
+ // block-size: 1px;
42
+ // inline-size: 1px;
43
+ // z-index: -1;
44
+ // pointer-events: none;
45
+ // position: absolute;
46
+ // }
47
+ // }
48
48
  }
49
49
 
50
50
  > v-stack {
@@ -53,9 +53,9 @@
53
53
 
54
54
  scroll-snap-type: block mandatory;
55
55
 
56
- &::before {
57
- block-size: calc(100cqb + 1px); // creates overflow
58
- }
56
+ // &::before {
57
+ // block-size: calc(100cqb + 1px); // creates overflow
58
+ // }
59
59
  }
60
60
  }
61
61
 
@@ -65,9 +65,9 @@
65
65
 
66
66
  scroll-snap-type: inline mandatory;
67
67
 
68
- &::before {
69
- inline-size: calc(100cqi + 1px); // creates overflow
70
- }
68
+ // &::before {
69
+ // inline-size: calc(100cqi + 1px); // creates overflow
70
+ // }
71
71
  }
72
72
 
73
73
  :where(&[padding]) {
@@ -1,12 +1,16 @@
1
1
  @use '../vars';
2
+ @use 'sass:string';
3
+ @use 'sass:list';
4
+
5
+ $v-stack-templates: ((auto auto minmax(0, 1fr)), (auto minmax(0, 1fr)), (auto auto autominmax(0, 1fr)));
2
6
 
3
7
  @layer #{vars.$components-layer} {
4
8
  v-stack {
5
9
  :where(&) {
6
10
  grid-template-columns: minmax(0, 1fr);
7
11
 
8
- place-items: center;
9
- place-content: center;
12
+ place-items: safe center;
13
+ place-content: safe center;
10
14
 
11
15
  gap: 1rem;
12
16
  }
@@ -14,5 +18,18 @@
14
18
  // :where(& > *) {
15
19
  // max-width: 100%;
16
20
  // }
21
+
22
+ @each $template in $v-stack-templates {
23
+ $parts: string.split('#{$template}', ', ');
24
+ $result: '';
25
+ @each $part in $parts {
26
+ $result: $result + '#{$part},';
27
+ }
28
+ $result: string.slice($result, 1, string.length($result) - 1);
29
+ @debug $result, $template;
30
+ :where(&[template='#{$result}']) {
31
+ grid-template-rows: $template;
32
+ }
33
+ }
17
34
  }
18
35
  }
@@ -63,5 +63,22 @@
63
63
  }
64
64
  }
65
65
  }
66
+
67
+ tab-view {
68
+ :where(& > [is='sidebar-view'][touch-glass]) {
69
+ --sidebar-view-scale: scale(1.02);
70
+ transition-duration: 100ms;
71
+ }
72
+
73
+ :where(& > sidebar-toggle > *[touch-glass]) {
74
+ --toolbar-cell-scale: scale(1.07);
75
+ transition-duration: 100ms;
76
+ }
77
+
78
+ :where(& > [is='sidebar-view'] > tool-bar > sidebar-toggle > *[touch-glass]) {
79
+ --toolbar-cell-scale: scale(1.07);
80
+ transition-duration: 100ms;
81
+ }
82
+ }
66
83
  }
67
84
  }
@@ -144,10 +144,7 @@
144
144
  > :not(summary) {
145
145
  :where(&) {
146
146
  --itemface: var(--list--details-background-color, var(--list--item-background-color,));
147
- --itemhighlightface: var(
148
- --list--selecteddetails-background-color,
149
- var(--list--highlighteditem-background-color, var(--list--item-background-color,))
150
- );
147
+ --itemhighlightface: var(--list--selecteddetails-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)));
151
148
  --itemactiveface: var(--list--selecteddetails-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)));
152
149
 
153
150
  --itemtext: var(--list--details-color, var(--list--item-color,));
@@ -158,14 +155,8 @@
158
155
  > summary {
159
156
  :where([is='disclosure-group'][open] &) {
160
157
  --itemface: var(--list--opendetails-background-color, var(--list--item-background-color,));
161
- --itemhighlightface: var(
162
- --list--selectedopendetails-background-color,
163
- var(--list--highlighteditem-background-color, var(--list--item-background-color,))
164
- );
165
- --itemactiveface: var(
166
- --list--selectedopendetails-background-color,
167
- var(--list--highlighteditem-background-color, var(--list--item-background-color,))
168
- );
158
+ --itemhighlightface: var(--list--selectedopendetails-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)));
159
+ --itemactiveface: var(--list--selectedopendetails-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)));
169
160
 
170
161
  --itemtext: var(--list--opendetails-color, var(--list--item-color,));
171
162
  --itemhighlighttext: var(--list--selectedopendetails-color, var(--list--highlighteditem-color, var(--list--item-color,)));
@@ -186,14 +177,8 @@
186
177
  );
187
178
 
188
179
  --itemtext: var(--list--opensummary-color, var(--list--item-color,));
189
- --itemhighlighttext: var(
190
- --list--selectedopensummary-color,
191
- var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,)))
192
- );
193
- --itemactivetext: var(
194
- --list--selectedopensummary-color,
195
- var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,)))
196
- );
180
+ --itemhighlighttext: var(--list--selectedopensummary-color, var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,))));
181
+ --itemactivetext: var(--list--selectedopensummary-color, var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,))));
197
182
  }
198
183
  }
199
184
  }
@@ -215,14 +200,8 @@
215
200
  );
216
201
 
217
202
  --itemtext: var(--list--rootsummary-color, var(--list--item-color,));
218
- --itemhighlighttext: var(
219
- --list--selectedrootsummary-color,
220
- var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,)))
221
- );
222
- --itemactivetext: var(
223
- --list--selectedrootsummary-color,
224
- var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,)))
225
- );
203
+ --itemhighlighttext: var(--list--selectedrootsummary-color, var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,))));
204
+ --itemactivetext: var(--list--selectedrootsummary-color, var(--list--selectedsummary-color, var(--list--highlighteditem-color, var(--list--item-color,))));
226
205
 
227
206
  // overwrite extra stuff for rootsummary
228
207
  // outline: red solid 4px;
@@ -244,17 +223,11 @@
244
223
  --itemface: var(--list--rootsummary-background-color, var(--list--opensummary-background-color, var(--list--item-background-color,)));
245
224
  --itemhighlightface: var(
246
225
  --list--selectedrootsummary-background-color,
247
- var(
248
- --list--selectedopensummary-background-color,
249
- var(--list--selectedsummary-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)))
250
- )
226
+ var(--list--selectedopensummary-background-color, var(--list--selectedsummary-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,))))
251
227
  );
252
228
  --itemactiveface: var(
253
229
  --list--selectedrootsummary-background-color,
254
- var(
255
- --list--selectedopensummary-background-color,
256
- var(--list--selectedsummary-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,)))
257
- )
230
+ var(--list--selectedopensummary-background-color, var(--list--selectedsummary-background-color, var(--list--highlighteditem-background-color, var(--list--item-background-color,))))
258
231
  );
259
232
 
260
233
  --itemtext: var(--list--rootsummary-color, var(--list--opensummary-color, var(--list--item-color,)));
@@ -378,8 +351,7 @@
378
351
  :where(&)::part(section-footer-stack),
379
352
  :where(&)::part(section-header-stack) {
380
353
  // outline: magenta 4px solid;
381
- padding-inline: calc(var(--list--root-padding-inline, 0px) + var(--itempadistart, 0px))
382
- calc(var(--list--root-padding-inline, 0px) + var(--itempadiend, 0px));
354
+ padding-inline: calc(var(--list--root-padding-inline, 0px) + var(--itempadistart, 0px)) calc(var(--list--root-padding-inline, 0px) + var(--itempadiend, 0px));
383
355
 
384
356
  margin-inline: calc(var(--list--root-padding-inline) * -1);
385
357
 
@@ -3,97 +3,97 @@
3
3
  @use 'sass:map';
4
4
  @use 'sass:list';
5
5
 
6
- $h-map: (
7
- leading: start,
8
- center: center,
9
- trailing: end,
10
- fill: stretch, // cross-axis stretch
11
- );
12
-
13
- $v-map: (
14
- top: start,
15
- center: center,
16
- bottom: end,
17
- fill: stretch, // cross-axis stretch
18
- );
19
-
20
- $placement-map: (
21
- top-leading: start start,
22
- top: start center,
23
- top-trailing: start end,
24
- center-leading: center start,
25
- center: center center,
26
- center-trailing: center end,
27
- bottom-leading: end start,
28
- bottom: end center,
29
- bottom-trailing: end end,
30
- );
31
-
32
- $alignment-map: (
33
- leading: start,
34
- center: center,
35
- trailing: end,
36
- fill: stretch, // cross-axis stretch
37
- );
38
-
39
- $distribution-map: (
40
- top: start,
41
- center: center,
42
- bottom: end,
43
- fill: stretch,
44
- between: space-between,
45
- evenly: space-evenly,
46
- );
6
+ // $h-map: (
7
+ // leading: start,
8
+ // center: center,
9
+ // trailing: end,
10
+ // fill: stretch, // cross-axis stretch
11
+ // );
12
+
13
+ // $v-map: (
14
+ // top: start,
15
+ // center: center,
16
+ // bottom: end,
17
+ // fill: stretch, // cross-axis stretch
18
+ // );
19
+
20
+ // $placement-map: (
21
+ // top-leading: start start,
22
+ // top: start center,
23
+ // top-trailing: start end,
24
+ // center-leading: center start,
25
+ // center: center center,
26
+ // center-trailing: center end,
27
+ // bottom-leading: end start,
28
+ // bottom: end center,
29
+ // bottom-trailing: end end,
30
+ // );
31
+
32
+ // $alignment-map: (
33
+ // leading: start,
34
+ // center: center,
35
+ // trailing: end,
36
+ // fill: stretch, // cross-axis stretch
37
+ // );
38
+
39
+ // $distribution-map: (
40
+ // top: start,
41
+ // center: center,
42
+ // bottom: end,
43
+ // fill: stretch,
44
+ // between: space-between,
45
+ // evenly: space-evenly,
46
+ // );
47
47
 
48
48
  $inline-map: (
49
49
  leading: (
50
- (justify-items start),
51
- (justify-content start),
50
+ (justify-items (start)),
51
+ (justify-content (start)),
52
52
  ),
53
53
  'leading fill': (
54
- (justify-items start),
55
- (justify-content stretch),
54
+ (justify-items (start)),
55
+ (justify-content (stretch)),
56
56
  ),
57
57
  center: (
58
- (justify-items center),
59
- (justify-content center),
58
+ (justify-items (safe center)),
59
+ (justify-content (safe center)),
60
60
  ),
61
61
  trailing: (
62
- (justify-items end),
63
- (justify-content end),
62
+ (justify-items (end)),
63
+ (justify-content (end)),
64
64
  ),
65
65
  fill: (
66
- (justify-items stretch),
67
- (justify-content stretch),
66
+ (justify-items (stretch)),
67
+ (justify-content (stretch)),
68
68
  ),
69
69
  space-between: (
70
- (justify-content space-between),
70
+ (justify-content (space-between)),
71
71
  ),
72
72
  );
73
73
 
74
74
  $block-map: (
75
75
  leading: (
76
- (align-items start),
77
- (align-content start),
76
+ (align-items (start)),
77
+ (align-content (start)),
78
78
  ),
79
79
  'leading fill': (
80
- (align-items start),
81
- (align-content stretch),
80
+ (align-items (start)),
81
+ (align-content (stretch)),
82
82
  ),
83
83
  center: (
84
- (align-items center),
85
- (align-content center),
84
+ (align-items (center)),
85
+ (align-content (center)),
86
86
  ),
87
87
  trailing: (
88
- (align-items end),
89
- (align-content end),
88
+ (align-items (end)),
89
+ (align-content (end)),
90
90
  ),
91
91
  fill: (
92
- (align-items stretch),
93
- (align-content stretch),
92
+ (align-items (stretch)),
93
+ (align-content (stretch)),
94
94
  ),
95
95
  space-between: (
96
- (align-content space-between),
96
+ (align-content (space-between)),
97
97
  ),
98
98
  );
99
99
 
@@ -110,6 +110,10 @@ $h-placement-map: (
110
110
  );
111
111
 
112
112
  $v-placement-map: (
113
+ 'fill': (
114
+ (place-items (stretch)),
115
+ (place-content (stretch)),
116
+ ),
113
117
  'leading fill': (
114
118
  (place-items (start stretch)),
115
119
  (place-content (start stretch)),
@@ -129,7 +133,7 @@ $v-placement-map: (
129
133
  @each $k, $declarations in $inline-map {
130
134
  &[distribution='#{$k}'] {
131
135
  @each $decl in $declarations {
132
- #{list.nth($decl, 1)}: #{list.nth($decl, 2)};
136
+ #{list.nth($decl, 1)}: #{list.join(list.nth($decl, 2), ' ')}; //#{list.nth($decl, 2)};
133
137
  }
134
138
  }
135
139
  }
@@ -138,7 +142,7 @@ $v-placement-map: (
138
142
  @each $k, $declarations in $block-map {
139
143
  &[alignment='#{$k}'] {
140
144
  @each $decl in $declarations {
141
- #{list.nth($decl, 1)}: #{list.nth($decl, 2)};
145
+ #{list.nth($decl, 1)}: #{list.join(list.nth($decl, 2), ' ')}; //#{list.nth($decl, 2)};
142
146
  }
143
147
  }
144
148
  }
@@ -172,7 +176,7 @@ $v-placement-map: (
172
176
  @each $k, $declarations in $block-map {
173
177
  &[distribution='#{$k}'] {
174
178
  @each $decl in $declarations {
175
- #{list.nth($decl, 1)}: #{list.nth($decl, 2)};
179
+ #{list.nth($decl, 1)}: #{list.join(list.nth($decl, 2), ' ')}; //#{list.nth($decl, 2)};
176
180
  }
177
181
  }
178
182
  }
@@ -181,7 +185,7 @@ $v-placement-map: (
181
185
  @each $k, $declarations in $inline-map {
182
186
  &[alignment='#{$k}'] {
183
187
  @each $decl in $declarations {
184
- #{list.nth($decl, 1)}: #{list.nth($decl, 2)};
188
+ #{list.nth($decl, 1)}: #{list.join(list.nth($decl, 2), ' ')}; //#{list.nth($decl, 2)};
185
189
  }
186
190
  }
187
191
  }
@@ -225,6 +229,7 @@ $v-placement-map: (
225
229
  // padding reserved word for stacks
226
230
  v-stack,
227
231
  h-stack,
232
+ h-flex-stack,
228
233
  v-flex-stack {
229
234
  :where(&[padding]) {
230
235
  padding-inline: 1rem;
@@ -26,6 +26,15 @@
26
26
  }
27
27
  ]
28
28
  },
29
+ {
30
+ "name": "content-unavailable-view",
31
+ "description": "A message with a title and extra information that you show when part of your app can’t be used.",
32
+ "attributes": [
33
+ {
34
+ "name": "search"
35
+ }
36
+ ]
37
+ },
29
38
  {
30
39
  "name": "date-picker",
31
40
  "attributes": [
@@ -126,10 +135,12 @@
126
135
  "name": "navigation-large-title"
127
136
  },
128
137
  {
129
- "name": "navigation-split-view"
138
+ "name": "navigation-split-view",
139
+ "description": "A view with two or three side-by-side sections, where what you choose in the left section changes what appears in the next section."
130
140
  },
131
141
  {
132
- "name": "navigation-stack"
142
+ "name": "navigation-stack",
143
+ "description": "A view that shows a main screen and lets you open other screens on top of it."
133
144
  },
134
145
  {
135
146
  "name": "navigation-title",
@@ -151,6 +162,10 @@
151
162
  {
152
163
  "name": "screen-view"
153
164
  },
165
+ {
166
+ "name": "scroll-view-proxy",
167
+ "description": "A wrapper to {hv}-stacks"
168
+ },
154
169
  {
155
170
  "name": "scroll-view",
156
171
  "attributes": [
@@ -197,7 +212,8 @@
197
212
  "name": "sticky-container"
198
213
  },
199
214
  {
200
- "name": "tab-bar"
215
+ "name": "tab-bar",
216
+ "description": "A screen that lets users switch between different views using buttons, tabs, or other controls."
201
217
  },
202
218
  {
203
219
  "name": "tab-item"