@swiftwc/ui 0.0.0-dev.85 → 0.0.0-dev.87

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 (84) hide show
  1. package/generated/client/index.d.ts +3 -0
  2. package/generated/client/index.js +3 -0
  3. package/generated/components/alert-dialog.d.ts +4 -0
  4. package/generated/components/alert-dialog.js +4 -0
  5. package/generated/components/bordered-button.js +1 -1
  6. package/generated/components/bordered-prominent-button.js +1 -1
  7. package/generated/components/borderless-button.js +1 -1
  8. package/generated/components/confirmation-dialog.d.ts +4 -0
  9. package/generated/components/confirmation-dialog.js +4 -0
  10. package/generated/components/date-picker.js +4 -3
  11. package/generated/components/glass-button.js +1 -1
  12. package/generated/components/glass-prominent-button.js +1 -1
  13. package/generated/components/h-stack.d.ts +6 -3
  14. package/generated/components/h-stack.js +6 -3
  15. package/generated/components/image-view.js +10 -11
  16. package/generated/components/label-view.d.ts +2 -0
  17. package/generated/components/label-view.js +15 -10
  18. package/generated/components/labeled-content.js +43 -23
  19. package/generated/components/menu-view.d.ts +2 -0
  20. package/generated/components/menu-view.js +5 -2
  21. package/generated/components/navigation-title.js +22 -16
  22. package/generated/components/picker-view.d.ts +2 -0
  23. package/generated/components/picker-view.js +15 -8
  24. package/generated/components/progress-view.d.ts +2 -0
  25. package/generated/components/progress-view.js +6 -3
  26. package/generated/components/scroll-view.d.ts +4 -0
  27. package/generated/components/scroll-view.js +30 -7
  28. package/generated/components/section-view.d.ts +4 -0
  29. package/generated/components/section-view.js +37 -17
  30. package/generated/components/table-view.d.ts +8 -0
  31. package/generated/components/table-view.js +13 -6
  32. package/generated/components/text-field.js +3 -2
  33. package/generated/components/toggle-view.js +3 -2
  34. package/generated/components/tool-bar-item.js +2 -2
  35. package/generated/components/v-stack.d.ts +6 -4
  36. package/generated/components/v-stack.js +6 -4
  37. package/generated/css/index.css +242 -11
  38. package/generated/internal/utils/ensure-placeholder.d.ts +1 -1
  39. package/generated/internal/utils/ensure-placeholder.js +8 -9
  40. package/generated/internal/utils/index.d.ts +0 -3
  41. package/generated/internal/utils/index.js +0 -3
  42. package/generated/internal/vendor/morphdom.d.ts +6 -0
  43. package/generated/internal/vendor/morphdom.js +720 -0
  44. package/generated/morphdom/html.d.ts +8 -0
  45. package/generated/morphdom/html.js +37 -0
  46. package/generated/morphdom/index.d.ts +6 -0
  47. package/generated/morphdom/index.js +6 -0
  48. package/generated/morphdom/morph.d.ts +4 -0
  49. package/generated/morphdom/morph.js +9 -0
  50. package/generated/morphdom/query-morph.d.ts +5 -0
  51. package/generated/morphdom/query-morph.js +12 -0
  52. package/package.json +5 -3
  53. package/scss/_maps.scss +256 -0
  54. package/scss/_vars.scss +2 -115
  55. package/scss/base/_root.scss +6 -5
  56. package/scss/colors/_index.scss +2 -2
  57. package/scss/components/_bordered-button.scss +2 -1
  58. package/scss/components/_bordered-prominent-button.scss +2 -1
  59. package/scss/components/_disclosure-group.scss +1 -1
  60. package/scss/components/_form-view.scss +3 -2
  61. package/scss/components/_glass-button.scss +2 -1
  62. package/scss/components/_glass-prominent-button.scss +2 -1
  63. package/scss/components/_h-stack.scss +4 -21
  64. package/scss/components/_label-view.scss +11 -10
  65. package/scss/components/_list-view.scss +3 -2
  66. package/scss/components/_picker-view.scss +5 -4
  67. package/scss/components/_scroll-view-proxy.scss +2 -2
  68. package/scss/components/_table-view.scss +3 -2
  69. package/scss/components/_toggle-view.scss +1 -1
  70. package/scss/components/_v-stack.scss +3 -4
  71. package/scss/mixins/_color.scss +2 -2
  72. package/scss/mixins/_index.scss +2 -2
  73. package/scss/placeholders/_buttons.scss +2 -1
  74. package/scss/utils/_frame.scss +1 -1
  75. package/scss/utils/_scroll-view.scss +1 -1
  76. package/scss/utils/_spacing.scss +1 -1
  77. package/scss/utils/_stacks.scss +8 -99
  78. package/web-components.html-data/en.json +460 -36
  79. package/generated/internal/utils/render-label-icon.d.ts +0 -2
  80. package/generated/internal/utils/render-label-icon.js +0 -19
  81. package/generated/internal/utils/render-label-title.d.ts +0 -2
  82. package/generated/internal/utils/render-label-title.js +0 -16
  83. package/generated/internal/utils/render-label.d.ts +0 -1
  84. package/generated/internal/utils/render-label.js +0 -19
@@ -0,0 +1,8 @@
1
+ type RawValue = string | number | boolean | null | undefined | RawValue[];
2
+ export declare class TrustedMarkup {
3
+ readonly value: string;
4
+ constructor(value: string);
5
+ toString(): string;
6
+ }
7
+ export default function (strings: TemplateStringsArray, ...values: (RawValue | TrustedMarkup)[]): TrustedMarkup;
8
+ export {};
@@ -0,0 +1,37 @@
1
+ const ESCAPE_MAP = {
2
+ '&': '&',
3
+ '<': '&lt;',
4
+ '>': '&gt;',
5
+ '"': '&quot;',
6
+ "'": '&#39;',
7
+ };
8
+ function escapeHtml(str) {
9
+ return str.replace(/[&<>"']/g, (ch) => ESCAPE_MAP[ch]);
10
+ }
11
+ // values built via `raw` itself are trusted markup; wrap them so `stringify`
12
+ // knows to skip escaping — same idea as lit-html's `unsafeHTML`
13
+ export class TrustedMarkup {
14
+ value;
15
+ constructor(value) {
16
+ this.value = value;
17
+ }
18
+ toString() {
19
+ return this.value;
20
+ }
21
+ }
22
+ function stringify(value) {
23
+ if (value === null || value === undefined || value === false)
24
+ return '';
25
+ if (value instanceof TrustedMarkup)
26
+ return value.value;
27
+ if (Array.isArray(value))
28
+ return value.map(stringify).join('');
29
+ return escapeHtml(String(value));
30
+ }
31
+ export default function (strings, ...values) {
32
+ let out = strings[0];
33
+ for (let i = 0; i < values.length; i++) {
34
+ out += stringify(values[i]) + strings[i + 1];
35
+ }
36
+ return new TrustedMarkup(out.replace(/>\s+</g, '><').trim());
37
+ }
@@ -0,0 +1,6 @@
1
+ export { default as html } from './html';
2
+ export * from './html';
3
+ export { default as morph } from './morph';
4
+ export * from './morph';
5
+ export { default as queryMorph } from './query-morph';
6
+ export * from './query-morph';
@@ -0,0 +1,6 @@
1
+ export { default as html } from './html';
2
+ export * from './html';
3
+ export { default as morph } from './morph';
4
+ export * from './morph';
5
+ export { default as queryMorph } from './query-morph';
6
+ export * from './query-morph';
@@ -0,0 +1,4 @@
1
+ import type { TrustedMarkup } from './html';
2
+ export default function (template: TrustedMarkup, fromEl?: Element, options?: {
3
+ cb: () => void;
4
+ }): void;
@@ -0,0 +1,9 @@
1
+ import morphdom from '../internal/vendor/morphdom';
2
+ export default function (template, fromEl, options) {
3
+ if (!fromEl)
4
+ return;
5
+ morphdom(fromEl, template.toString(), {
6
+ onBeforeElUpdated: (fromEl, toEl) => !fromEl.isEqualNode(toEl),
7
+ onBeforeElChildrenUpdated: (fromEl, toEl) => !toEl.matches('image-view,navigation-title'), // NOTE: image-view will alter it's contents! This is required to not empty it up again!
8
+ });
9
+ }
@@ -0,0 +1,5 @@
1
+ import type { TrustedMarkup } from './html';
2
+ export default function (scopedSelector: string, template: TrustedMarkup, container?: Element, options?: {
3
+ cb?: () => boolean;
4
+ removeIf?: boolean;
5
+ }): void;
@@ -0,0 +1,12 @@
1
+ import { $ } from '../internal/utils';
2
+ import morph from './morph';
3
+ export default function (scopedSelector, template, container, options) {
4
+ if (false === options?.cb?.())
5
+ return;
6
+ if ('boolean' === typeof options?.removeIf && options?.removeIf)
7
+ return container?.querySelector(`:scope>${scopedSelector}`)?.remove();
8
+ const fromEl = container?.querySelector(`:scope>${scopedSelector}`) ?? container?.appendChild($(template.toString(), '>1'));
9
+ if (!fromEl)
10
+ return;
11
+ morph(template, fromEl);
12
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swiftwc/ui",
3
- "version": "0.0.0-dev.85",
3
+ "version": "0.0.0-dev.87",
4
4
  "description": "Elegant SwiftUI-inspired web components for standalone web apps and web extensions.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -58,17 +58,18 @@
58
58
  "scripts": {
59
59
  "prebuild": "rm -rf generated",
60
60
  "build": "npm run build:ts && npm run build:scss && npm run build:manifest && npm run build:barrels",
61
- "postbuild": "npm run format:write",
61
+ "postbuild": "npm run format:write && vitest run --dom",
62
62
  "build:ts:watch": "npm run prebuild && tsc --watch",
63
63
  "build:ts": "tsc",
64
64
  "build:scss": "sass --style=expanded --no-source-map scss/index.scss generated/css/index.css",
65
65
  "build:manifest": "tsx scripts/make-manifest.ts",
66
- "build:barrels": "npm run build:barrels:components && npm run build:barrels:events && npm run build:barrels:buses && npm run build:barrels:tpl && npm run build:barrels:i18n",
66
+ "build:barrels": "npm run build:barrels:components && npm run build:barrels:events && npm run build:barrels:buses && npm run build:barrels:tpl && npm run build:barrels:morphdom && npm run build:barrels:i18n",
67
67
  "build:barrels:components": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --directory ./js/components --exclude \".\\.test\\.ts\"",
68
68
  "build:barrels:events": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --directory ./js/events --exclude \".\\.test\\.ts\"",
69
69
  "build:barrels:buses": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --exportDefault --directory ./js/buses",
70
70
  "build:barrels:i18n": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --exportDefault --fullPathname --directory ./js/i18n/locales",
71
71
  "build:barrels:tpl": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --exportDefault --directory ./js/tpl --exclude \".\\.test\\.ts\"",
72
+ "build:barrels:morphdom": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --exportDefault --directory ./js/morphdom --exclude \".\\.test\\.ts\"",
72
73
  "build:barrels:decorators": "barrelsby --noHeader --delete --singleQuotes --noSemicolon --exportDefault --directory ./js/internal/decorators",
73
74
  "format:check": "prettier . --check",
74
75
  "format:write": "prettier . --write",
@@ -79,6 +80,7 @@
79
80
  },
80
81
  "devDependencies": {
81
82
  "doctrine": "^3.0.0",
83
+ "gonzales-pe": "^4.3.0",
82
84
  "happy-dom": "^20.7.0",
83
85
  "sass": "^1.98.0",
84
86
  "ts-morph": "^28.0.0",
@@ -0,0 +1,256 @@
1
+ $picker-styles-names: menu, navigation-link, sheet;
2
+ $label-styles-names: icon-only, title-only, title-and-icon;
3
+ $list-styles-names: inset, inset-grouped, sidebar;
4
+ $form-styles-names: inset, inset-grouped, sidebar;
5
+ $table-styles-names: inset;
6
+ // $labeled-content-styles: vertical, horizontal;
7
+
8
+ $stack-templates-list-vals: (
9
+ (minmax(0, 1fr)),
10
+ (repeat(1, minmax(0, 1fr))),
11
+ (repeat(2, minmax(0, 1fr))),
12
+ (repeat(3, minmax(0, 1fr))),
13
+ (repeat(4, minmax(0, 1fr))),
14
+ (repeat(5, minmax(0, 1fr))),
15
+ (repeat(6, minmax(0, 1fr))),
16
+ (repeat(7, minmax(0, 1fr))),
17
+ (repeat(8, minmax(0, 1fr))),
18
+ (repeat(9, minmax(0, 1fr))),
19
+ (repeat(10, minmax(0, 1fr))),
20
+ (minmax(0, 1fr) auto),
21
+ (repeat(1, minmax(0, 1fr)) auto),
22
+ (repeat(2, minmax(0, 1fr)) auto),
23
+ (repeat(3, minmax(0, 1fr)) auto),
24
+ (repeat(4, minmax(0, 1fr)) auto),
25
+ (repeat(5, minmax(0, 1fr)) auto),
26
+ (repeat(6, minmax(0, 1fr)) auto),
27
+ (repeat(7, minmax(0, 1fr)) auto),
28
+ (repeat(8, minmax(0, 1fr)) auto),
29
+ (repeat(9, minmax(0, 1fr)) auto),
30
+ (repeat(10, minmax(0, 1fr)) auto),
31
+ (auto minmax(0, 1fr)),
32
+ (repeat(1, auto) minmax(0, 1fr)),
33
+ (repeat(2, auto) minmax(0, 1fr)),
34
+ (repeat(3, auto) minmax(0, 1fr)),
35
+ (repeat(4, auto) minmax(0, 1fr)),
36
+ (repeat(5, auto) minmax(0, 1fr)),
37
+ (repeat(6, auto) minmax(0, 1fr)),
38
+ (repeat(7, auto) minmax(0, 1fr)),
39
+ (repeat(8, auto) minmax(0, 1fr)),
40
+ (repeat(9, auto) minmax(0, 1fr)),
41
+ (repeat(10, auto) minmax(0, 1fr)),
42
+ (auto auto minmax(0, 1fr)),
43
+ (auto auto auto minmax(0, 1fr)),
44
+ (auto auto auto auto minmax(0, 1fr)),
45
+ (auto minmax(0, 1fr) auto),
46
+ (repeat(1, auto) minmax(0, 1fr) repeat(1, auto)),
47
+ (repeat(1, auto) minmax(0, 1fr) repeat(2, auto)),
48
+ (repeat(1, auto) minmax(0, 1fr) repeat(3, auto)),
49
+ (repeat(1, auto) minmax(0, 1fr) repeat(4, auto)),
50
+ (repeat(1, auto) minmax(0, 1fr) repeat(5, auto)),
51
+ (repeat(2, auto) minmax(0, 1fr) repeat(1, auto)),
52
+ (repeat(3, auto) minmax(0, 1fr) repeat(1, auto)),
53
+ (repeat(4, auto) minmax(0, 1fr) repeat(1, auto)),
54
+ (repeat(5, auto) minmax(0, 1fr) repeat(1, auto)),
55
+ (repeat(2, auto) minmax(0, 1fr) repeat(2, auto)),
56
+ (auto minmax(0, 1fr) auto auto)
57
+ );
58
+
59
+ $inline-map: (
60
+ leading: (
61
+ (justify-items (start)),
62
+ (justify-content (start)),
63
+ ),
64
+ 'leading fill': (
65
+ (justify-items (start)),
66
+ (justify-content (stretch)),
67
+ ),
68
+ center: (
69
+ (justify-items (center)),
70
+ (justify-content (center)),
71
+ ),
72
+ trailing: (
73
+ (justify-items (end)),
74
+ (justify-content (end)),
75
+ ),
76
+ fill: (
77
+ (justify-items (stretch)),
78
+ (justify-content (stretch)),
79
+ ),
80
+ space-between: (
81
+ (justify-content (space-between)),
82
+ ),
83
+ );
84
+
85
+ $block-map: (
86
+ leading: (
87
+ (align-items (start)),
88
+ (align-content (start)),
89
+ ),
90
+ 'leading fill': (
91
+ (align-items (start)),
92
+ (align-content (stretch)),
93
+ ),
94
+ center: (
95
+ (align-items (center)),
96
+ (align-content (center)),
97
+ ),
98
+ trailing: (
99
+ (align-items (end)),
100
+ (align-content (end)),
101
+ ),
102
+ fill: (
103
+ (align-items (stretch)),
104
+ (align-content (stretch)),
105
+ ),
106
+ space-between: (
107
+ (align-content (space-between)),
108
+ ),
109
+ );
110
+
111
+ $inline-placement-map: (
112
+ 'fill': (
113
+ (place-items (stretch)),
114
+ (place-content (stretch)),
115
+ ),
116
+ 'leading fill': (
117
+ (place-items (stretch start)),
118
+ (place-content (stretch start)),
119
+ ),
120
+ 'fill leading': (
121
+ (place-items (start stretch)),
122
+ (place-content (start stretch)),
123
+ ),
124
+ 'fill space-between': (
125
+ (align-content (space-between)),
126
+ (justify-items (stretch)),
127
+ (justify-content (stretch)),
128
+ ),
129
+ );
130
+
131
+ $block-placement-map: (
132
+ 'fill': (
133
+ (place-items (stretch)),
134
+ (place-content (stretch)),
135
+ ),
136
+ 'leading fill': (
137
+ (place-items (start stretch)),
138
+ (place-content (start stretch)),
139
+ ),
140
+ 'fill leading': (
141
+ (place-items (stretch start)),
142
+ (place-content (stretch start)),
143
+ ),
144
+ 'space-between fill': (
145
+ (align-content (space-between)),
146
+ (justify-items (stretch)),
147
+ (justify-content (stretch)),
148
+ ),
149
+ );
150
+
151
+ $label-fonts-map: (
152
+ footnote: (
153
+ size: 1rem,
154
+ line: 1rem,
155
+ weight: 400,
156
+ ),
157
+ caption2: (
158
+ size: 0.75rem,
159
+ line: calc(1 / 0.75),
160
+ weight: 400,
161
+ ),
162
+ caption: (
163
+ size: 0.875rem,
164
+ line: calc(1.25 / 0.875),
165
+ weight: 400,
166
+ ),
167
+ callout: (
168
+ size: 0.875rem,
169
+ line: 0.875rem,
170
+ weight: 400,
171
+ ),
172
+ body: (
173
+ size: 1rem,
174
+ line: calc(1.5 / 1),
175
+ weight: 400,
176
+ ),
177
+ subheadline: (
178
+ size: 1.125rem,
179
+ line: calc(1.75 / 1.125),
180
+ weight: 400,
181
+ ),
182
+ headline: (
183
+ size: 1.25rem,
184
+ line: calc(1.75 / 1.25),
185
+ weight: 500,
186
+ ),
187
+ title3: (
188
+ size: 1.5rem,
189
+ line: calc(2 / 1.5),
190
+ weight: 600,
191
+ ),
192
+ title2: (
193
+ size: 1.875rem,
194
+ line: calc(2.25 / 1.875),
195
+ weight: 600,
196
+ ),
197
+ title: (
198
+ size: 2.25rem,
199
+ line: calc(2.5 / 2.25),
200
+ weight: 600,
201
+ ),
202
+ large-title: (
203
+ size: 3rem,
204
+ line: 1,
205
+ weight: 700,
206
+ ),
207
+ extra-large-title: (
208
+ size: 3.75rem,
209
+ line: 1,
210
+ weight: 700,
211
+ ),
212
+ );
213
+
214
+ // button sizes
215
+ $button-sizes-map: (
216
+ mini: (
217
+ default: (
218
+ padding: 0.2rem,
219
+ border-radius: 1rem,
220
+ ),
221
+ fine: (
222
+ padding: 0.2rem,
223
+ border-radius: 0.4rem,
224
+ ),
225
+ ),
226
+ regular: (
227
+ default: (
228
+ padding: 0.6rem,
229
+ border-radius: 1.2rem,
230
+ ),
231
+ fine: (
232
+ padding: 0.6rem,
233
+ border-radius: 0.8rem,
234
+ ),
235
+ ),
236
+ small: (
237
+ default: (
238
+ padding: 0.4rem,
239
+ border-radius: 1rem,
240
+ ),
241
+ fine: (
242
+ padding: 0.4rem,
243
+ border-radius: 0.6rem,
244
+ ),
245
+ ),
246
+ large: (
247
+ default: (
248
+ padding: 1.2rem,
249
+ border-radius: 2.4rem,
250
+ ),
251
+ fine: (
252
+ padding: 1.2rem,
253
+ border-radius: 1.4rem,
254
+ ),
255
+ ),
256
+ );
package/scss/_vars.scss CHANGED
@@ -1,5 +1,5 @@
1
- @use 'functions';
2
1
  @use 'sass:math';
2
+ @use 'functions';
3
3
 
4
4
  $base-layer: sw-base !default;
5
5
  $components-layer: sw-components !default;
@@ -30,120 +30,7 @@ $ipad-landscape-bp: 68rem !default;
30
30
 
31
31
  $table-expanded-bp: 31rem !default;
32
32
 
33
- // SECTION: Defaults
34
- $picker-styles: menu, navigation-link, sheet;
35
- $label-styles: icon-only, title-only, title-and-icon;
36
- $list-styles: inset, inset-grouped, sidebar;
37
- $form-styles: inset, inset-grouped, sidebar;
38
- $table-styles: inset;
39
- $labeled-content-styles: vertical, horizontal;
40
-
41
- $label-fonts: (
42
- footnote: (
43
- size: 1rem,
44
- line: 1rem,
45
- weight: 400,
46
- ),
47
- caption2: (
48
- size: 0.75rem,
49
- line: calc(1 / 0.75),
50
- weight: 400,
51
- ),
52
- caption: (
53
- size: 0.875rem,
54
- line: calc(1.25 / 0.875),
55
- weight: 400,
56
- ),
57
- callout: (
58
- size: 0.875rem,
59
- line: 0.875rem,
60
- weight: 400,
61
- ),
62
- body: (
63
- size: 1rem,
64
- line: calc(1.5 / 1),
65
- weight: 400,
66
- ),
67
- subheadline: (
68
- size: 1.125rem,
69
- line: calc(1.75 / 1.125),
70
- weight: 400,
71
- ),
72
- headline: (
73
- size: 1.25rem,
74
- line: calc(1.75 / 1.25),
75
- weight: 500,
76
- ),
77
- title3: (
78
- size: 1.5rem,
79
- line: calc(2 / 1.5),
80
- weight: 600,
81
- ),
82
- title2: (
83
- size: 1.875rem,
84
- line: calc(2.25 / 1.875),
85
- weight: 600,
86
- ),
87
- title: (
88
- size: 2.25rem,
89
- line: calc(2.5 / 2.25),
90
- weight: 600,
91
- ),
92
- large-title: (
93
- size: 3rem,
94
- line: 1,
95
- weight: 700,
96
- ),
97
- extra-large-title: (
98
- size: 3.75rem,
99
- line: 1,
100
- weight: 700,
101
- ),
102
- );
103
-
104
- // button sizes
105
- $button-sizes: (
106
- mini: (
107
- default: (
108
- padding: 0.2rem,
109
- border-radius: 1rem,
110
- ),
111
- fine: (
112
- padding: 0.2rem,
113
- border-radius: 0.4rem,
114
- ),
115
- ),
116
- regular: (
117
- default: (
118
- padding: 0.6rem,
119
- border-radius: 1.2rem,
120
- ),
121
- fine: (
122
- padding: 0.6rem,
123
- border-radius: 0.8rem,
124
- ),
125
- ),
126
- small: (
127
- default: (
128
- padding: 0.4rem,
129
- border-radius: 1rem,
130
- ),
131
- fine: (
132
- padding: 0.4rem,
133
- border-radius: 0.6rem,
134
- ),
135
- ),
136
- large: (
137
- default: (
138
- padding: 1.2rem,
139
- border-radius: 2.4rem,
140
- ),
141
- fine: (
142
- padding: 1.2rem,
143
- border-radius: 1.4rem,
144
- ),
145
- ),
146
- );
33
+ // SECTION: SVGs
147
34
 
148
35
  $disclosure-affordance: 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" fill="currentColor" viewBox="0 0 256 256"%3E%3Cpath d="M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"%3E%3C/path%3E%3C/svg%3E'; // ph-caret-right-bold
149
36
  $table-col-affordance: 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" fill="currentColor" viewBox="0 0 256 256"%3E%3Cpath d="M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z"%3E%3C/path%3E%3C/svg%3E'; // ph-caret-up-bold
@@ -1,7 +1,8 @@
1
- @use '../vars';
2
- @use '../mixins';
3
1
  @use 'sass:map';
4
2
  @use 'sass:string';
3
+ @use '../vars';
4
+ @use '../maps';
5
+ @use '../mixins';
5
6
 
6
7
  @property --root-font-size {
7
8
  syntax: '<number>';
@@ -231,7 +232,7 @@
231
232
 
232
233
  // label-view
233
234
 
234
- @each $label, $props in vars.$label-fonts {
235
+ @each $label, $props in maps.$label-fonts-map {
235
236
  --label-#{$label}-font-size: #{map.get($props, size)};
236
237
  --label-#{$label}-line-height: #{map.get($props, line)};
237
238
  --label-#{$label}-font-weight: #{map.get($props, weight)};
@@ -323,7 +324,7 @@
323
324
  --table-accessory-size: 1.2rem;
324
325
 
325
326
  // button sizes 1/2
326
- @each $size, $media in vars.$button-sizes {
327
+ @each $size, $media in maps.$button-sizes-map {
327
328
  $props: map.get($media, default);
328
329
  @if $props {
329
330
  @each $k, $v in $props {
@@ -341,7 +342,7 @@
341
342
  // fine
342
343
  @media (pointer: fine) {
343
344
  // button sizes 2/2
344
- @each $size, $media in vars.$button-sizes {
345
+ @each $size, $media in maps.$button-sizes-map {
345
346
  $props: map.get($media, fine);
346
347
  @if $props {
347
348
  @each $k, $v in $props {
@@ -1,9 +1,9 @@
1
- @use '../vars';
2
- @use '../mixins';
3
1
  @use 'sass:math';
4
2
  @use 'sass:map';
5
3
  @use 'sass:list';
6
4
  @use 'sass:string';
5
+ @use '../vars';
6
+ @use '../mixins';
7
7
 
8
8
  $color-tokens: (
9
9
  // SECTION: grays
@@ -1,4 +1,5 @@
1
1
  @use '../vars';
2
+ @use '../maps';
2
3
  @use '../mixins';
3
4
  @use '../placeholders';
4
5
 
@@ -17,7 +18,7 @@
17
18
  }
18
19
  }
19
20
 
20
- @each $size, $media in vars.$button-sizes {
21
+ @each $size, $media in maps.$button-sizes-map {
21
22
  :where(&[control-size='#{$size}']) {
22
23
  --btnpadistart: var(--#{$size}-btn-padding);
23
24
  --btnpadiend: var(--#{$size}-btn-padding);
@@ -1,4 +1,5 @@
1
1
  @use '../vars';
2
+ @use '../maps';
2
3
  @use '../mixins';
3
4
  @use '../placeholders';
4
5
 
@@ -13,7 +14,7 @@
13
14
  --btnpadbend: var(--regular-btn-padding);
14
15
  }
15
16
 
16
- @each $size, $media in vars.$button-sizes {
17
+ @each $size, $media in maps.$button-sizes-map {
17
18
  :where(&[control-size='#{$size}']) {
18
19
  --btnpadistart: var(--#{$size}-btn-padding);
19
20
  --btnpadiend: var(--#{$size}-btn-padding);
@@ -1,6 +1,6 @@
1
+ @use 'sass:string';
1
2
  @use '../vars';
2
3
  @use '../mixins';
3
- @use 'sass:string';
4
4
 
5
5
  @layer #{vars.$components-layer} {
6
6
  [is='disclosure-group'] {
@@ -1,6 +1,7 @@
1
1
  @use 'sass:string';
2
2
  @use 'sass:map';
3
3
  @use '../vars';
4
+ @use '../maps';
4
5
  @use '../mixins';
5
6
  @use '../placeholders';
6
7
 
@@ -132,7 +133,7 @@ $form-elses: (
132
133
  // SECTION: ifs polyfill
133
134
  @supports not (x: #{string.unquote('if(else:red)')}) {
134
135
  :where(&:not([form-style])) {
135
- @each $v in vars.$form-styles {
136
+ @each $v in maps.$form-styles-names {
136
137
  @container style(--form-style: #{$v}) {
137
138
  --form-style: #{$v}; // NOTE: used ONLY for tinted buttons
138
139
 
@@ -140,7 +141,7 @@ $form-elses: (
140
141
  }
141
142
  }
142
143
  }
143
- @each $v in vars.$form-styles {
144
+ @each $v in maps.$form-styles-names {
144
145
  :where(&[form-style='#{$v}']) {
145
146
  --form-style: #{$v}; // NOTE: used ONLY for tinted buttons
146
147
 
@@ -1,4 +1,5 @@
1
1
  @use '../vars';
2
+ @use '../maps';
2
3
  @use '../mixins';
3
4
  @use '../placeholders';
4
5
 
@@ -19,7 +20,7 @@
19
20
  --btnpadbend: var(--regular-btn-padding);
20
21
  }
21
22
 
22
- @each $size, $media in vars.$button-sizes {
23
+ @each $size, $media in maps.$button-sizes-map {
23
24
  :where(&[control-size='#{$size}']) {
24
25
  --btnpadistart: var(--#{$size}-btn-padding);
25
26
  --btnpadiend: var(--#{$size}-btn-padding);
@@ -1,4 +1,5 @@
1
1
  @use '../vars';
2
+ @use '../maps';
2
3
  @use '../mixins';
3
4
  @use '../placeholders';
4
5
 
@@ -19,7 +20,7 @@
19
20
  --btnpadbend: var(--regular-btn-padding);
20
21
  }
21
22
 
22
- @each $size, $media in vars.$button-sizes {
23
+ @each $size, $media in maps.$button-sizes-map {
23
24
  :where(&[control-size='#{$size}']) {
24
25
  --btnpadistart: var(--#{$size}-btn-padding);
25
26
  --btnpadiend: var(--#{$size}-btn-padding);