@sveltia/ui 0.42.0 → 0.43.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 (74) hide show
  1. package/dist/components/alert/alert.svelte +30 -36
  2. package/dist/components/alert/infobar.svelte +45 -55
  3. package/dist/components/bottom-navigation/bottom-navigation.svelte +15 -21
  4. package/dist/components/button/button-group.svelte +5 -7
  5. package/dist/components/button/button.svelte +175 -274
  6. package/dist/components/button/floating-action-button-wrapper.svelte +18 -23
  7. package/dist/components/button/select-button-group.svelte +41 -57
  8. package/dist/components/button/split-button.svelte +18 -25
  9. package/dist/components/calendar/calendar.svelte +80 -103
  10. package/dist/components/checkbox/checkbox-group.svelte +19 -22
  11. package/dist/components/checkbox/checkbox.svelte +63 -91
  12. package/dist/components/dialog/dialog.svelte +87 -105
  13. package/dist/components/dialog/prompt-dialog.svelte +3 -5
  14. package/dist/components/disclosure/disclosure.svelte +21 -34
  15. package/dist/components/divider/divider.svelte +14 -18
  16. package/dist/components/divider/spacer.svelte +8 -13
  17. package/dist/components/drawer/drawer.svelte +190 -343
  18. package/dist/components/grid/grid-body.svelte +14 -16
  19. package/dist/components/grid/grid-cell.svelte +3 -5
  20. package/dist/components/grid/grid-col-header.svelte +3 -5
  21. package/dist/components/grid/grid-foot.svelte +3 -5
  22. package/dist/components/grid/grid-head.svelte +3 -5
  23. package/dist/components/grid/grid-row-header.svelte +4 -6
  24. package/dist/components/grid/grid-row.svelte +4 -6
  25. package/dist/components/grid/grid.svelte +12 -18
  26. package/dist/components/icon/icon.svelte +5 -7
  27. package/dist/components/listbox/listbox.svelte +61 -78
  28. package/dist/components/listbox/option-group.svelte +11 -15
  29. package/dist/components/listbox/option.svelte +39 -54
  30. package/dist/components/menu/menu-item-group.svelte +3 -5
  31. package/dist/components/menu/menu-item.svelte +51 -67
  32. package/dist/components/menu/menu.svelte +17 -21
  33. package/dist/components/progressbar/progressbar.svelte +15 -24
  34. package/dist/components/radio/radio-group.svelte +31 -40
  35. package/dist/components/radio/radio.svelte +63 -81
  36. package/dist/components/resizable-pane/resizable-handle.svelte +48 -60
  37. package/dist/components/resizable-pane/resizable-pane-group.svelte +14 -18
  38. package/dist/components/select/combobox.svelte +112 -135
  39. package/dist/components/select/select-tags.svelte +57 -73
  40. package/dist/components/slider/slider.svelte +74 -94
  41. package/dist/components/switch/switch.svelte +81 -115
  42. package/dist/components/table/table-body.svelte +14 -16
  43. package/dist/components/table/table-cell.svelte +3 -5
  44. package/dist/components/table/table-col-header.svelte +3 -5
  45. package/dist/components/table/table-foot.svelte +3 -5
  46. package/dist/components/table/table-head.svelte +3 -5
  47. package/dist/components/table/table-row-header.svelte +4 -6
  48. package/dist/components/table/table-row.svelte +4 -6
  49. package/dist/components/table/table.svelte +12 -18
  50. package/dist/components/tabs/tab-box.svelte +6 -9
  51. package/dist/components/tabs/tab-list.svelte +73 -91
  52. package/dist/components/tabs/tab-panel.svelte +7 -11
  53. package/dist/components/tabs/tab-panels.svelte +14 -19
  54. package/dist/components/text-editor/code-editor.svelte +7 -10
  55. package/dist/components/text-editor/core.js +10 -7
  56. package/dist/components/text-editor/lexical-root.svelte +160 -221
  57. package/dist/components/text-editor/text-editor.svelte +18 -25
  58. package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte +37 -44
  59. package/dist/components/text-field/number-input.svelte +68 -87
  60. package/dist/components/text-field/password-input.svelte +42 -52
  61. package/dist/components/text-field/search-bar.svelte +53 -64
  62. package/dist/components/text-field/secret-input.svelte +46 -61
  63. package/dist/components/text-field/text-area.svelte +68 -80
  64. package/dist/components/text-field/text-input.svelte +106 -138
  65. package/dist/components/toast/toast.svelte +89 -104
  66. package/dist/components/toolbar/toolbar.svelte +54 -70
  67. package/dist/components/typography/truncated-text.svelte +7 -9
  68. package/dist/components/util/app-shell.svelte +493 -40
  69. package/dist/components/util/empty-state.svelte +11 -13
  70. package/dist/components/util/group.svelte +3 -5
  71. package/dist/components/util/modal.svelte +48 -59
  72. package/dist/components/util/popup.svelte +67 -87
  73. package/dist/services/i18n.js +2 -2
  74. package/package.json +2 -2
@@ -6,7 +6,6 @@
6
6
  -->
7
7
  <script>
8
8
  import { onMount } from 'svelte';
9
- import { initLocales } from '../../services/i18n';
10
9
 
11
10
  /**
12
11
  * @import { Snippet } from 'svelte';
@@ -39,10 +38,6 @@
39
38
 
40
39
  let fontLoaded = $state(false);
41
40
 
42
- $effect.pre(() => {
43
- initLocales();
44
- });
45
-
46
41
  onMount(() => {
47
42
  const mediaQuery = globalThis.matchMedia('(prefers-color-scheme: dark)');
48
43
  const { dataset } = document.documentElement;
@@ -131,42 +126,500 @@
131
126
  {@render children?.()}
132
127
  </div>
133
128
 
134
- <style lang="scss">
135
- @use '../../styles/core';
129
+ <style>:global(:root),
130
+ :global(:host) {
131
+ --sui-base-hue: 210;
132
+ --sui-highlight-foreground-color: hsl(var(--sui-foreground-color-1-hsl));
133
+ --sui-primary-foreground-color: hsl(var(--sui-foreground-color-2-hsl));
134
+ --sui-secondary-foreground-color: hsl(var(--sui-foreground-color-3-hsl));
135
+ --sui-tertiary-foreground-color: hsl(var(--sui-foreground-color-4-hsl));
136
+ --sui-disabled-foreground-color: hsl(var(--sui-foreground-color-5-hsl));
137
+ --sui-error-foreground-color: hsl(
138
+ var(--sui-error-color-hue) var(--sui-alert-foreground-color-saturation)
139
+ var(--sui-alert-foreground-color-lightness)
140
+ );
141
+ --sui-warning-foreground-color: hsl(
142
+ var(--sui-warning-color-hue) var(--sui-alert-foreground-color-saturation)
143
+ var(--sui-alert-foreground-color-lightness)
144
+ );
145
+ --sui-info-foreground-color: hsl(
146
+ var(--sui-info-color-hue) var(--sui-alert-foreground-color-saturation)
147
+ var(--sui-alert-foreground-color-lightness)
148
+ );
149
+ --sui-success-foreground-color: hsl(
150
+ var(--sui-success-color-hue) var(--sui-alert-foreground-color-saturation)
151
+ var(--sui-alert-foreground-color-lightness)
152
+ );
153
+ --sui-hover-background-color: hsl(var(--sui-background-color-5-hsl) / 35%);
154
+ --sui-selected-background-color: hsl(var(--sui-background-color-5-hsl) / 75%);
155
+ --sui-active-background-color: hsl(var(--sui-background-color-5-hsl) / 100%);
156
+ --sui-content-background-color: hsl(var(--sui-background-color-1-hsl));
157
+ --sui-code-background-color: hsl(var(--sui-background-color-3-hsl));
158
+ --sui-primary-background-color: hsl(var(--sui-background-color-2-hsl));
159
+ --sui-primary-background-color-translucent: hsl(var(--sui-background-color-2-hsl) / 80%);
160
+ --sui-secondary-background-color: hsl(var(--sui-background-color-3-hsl));
161
+ --sui-secondary-background-color-translucent: hsl(var(--sui-background-color-3-hsl) / 80%);
162
+ --sui-tertiary-background-color: hsl(var(--sui-background-color-4-hsl));
163
+ --sui-tertiary-background-color-translucent: hsl(var(--sui-background-color-4-hsl) / 80%);
164
+ --sui-disabled-background-color: hsl(var(--sui-background-color-4-hsl));
165
+ --sui-error-background-color: hsl(
166
+ var(--sui-error-color-hue) var(--sui-alert-background-color-saturation)
167
+ var(--sui-alert-background-color-lightness)
168
+ );
169
+ --sui-warning-background-color: hsl(
170
+ var(--sui-warning-color-hue) var(--sui-alert-background-color-saturation)
171
+ var(--sui-alert-background-color-lightness)
172
+ );
173
+ --sui-info-background-color: hsl(
174
+ var(--sui-info-color-hue) var(--sui-alert-background-color-saturation)
175
+ var(--sui-alert-background-color-lightness)
176
+ );
177
+ --sui-success-background-color: hsl(
178
+ var(--sui-success-color-hue) var(--sui-alert-background-color-saturation)
179
+ var(--sui-alert-background-color-lightness)
180
+ );
181
+ --sui-focus-ring-width: 4px;
182
+ --sui-primary-border-color: hsl(var(--sui-border-color-2-hsl));
183
+ --sui-secondary-border-color: hsl(var(--sui-border-color-3-hsl));
184
+ --sui-error-border-color: hsl(
185
+ var(--sui-error-color-hue) var(--sui-alert-border-color-saturation)
186
+ var(--sui-alert-border-color-lightness)
187
+ );
188
+ --sui-warning-border-color: hsl(
189
+ var(--sui-warning-color-hue) var(--sui-alert-border-color-saturation)
190
+ var(--sui-alert-border-color-lightness)
191
+ );
192
+ --sui-info-border-color: hsl(
193
+ var(--sui-info-color-hue) var(--sui-alert-border-color-saturation)
194
+ var(--sui-alert-border-color-lightness)
195
+ );
196
+ --sui-success-border-color: hsl(
197
+ var(--sui-success-color-hue) var(--sui-alert-border-color-saturation)
198
+ var(--sui-alert-border-color-lightness)
199
+ );
200
+ --sui-popup-shadow-color: hsl(var(--sui-shadow-color) / 40%);
201
+ --sui-popup-backdrop-color: hsl(var(--sui-shadow-color) / 40%);
202
+ --sui-font-family-default: "Merriweather Sans", sans-serif;
203
+ --sui-font-size-xxx-large: 24px;
204
+ --sui-font-size-xx-large: 20px;
205
+ --sui-font-size-x-large: 18px;
206
+ --sui-font-size-large: 16px;
207
+ --sui-font-size-default: 14px;
208
+ --sui-font-size-small: 12px;
209
+ --sui-font-size-x-small: 10px;
210
+ --sui-font-weight-normal: 300;
211
+ --sui-font-weight-bold: 600;
212
+ --sui-font-family-monospace: "Noto Sans Mono", monospace;
213
+ --sui-font-size-monospace: 0.95em;
214
+ --sui-line-height-default: 1.25;
215
+ --sui-line-height-compact: 1.5;
216
+ --sui-line-height-comfortable: 1.75;
217
+ --sui-word-spacing-normal: 1px;
218
+ --sui-heading-margin: 0;
219
+ --sui-heading-font-family: var(--sui-font-family-default);
220
+ --sui-heading-font-weight: var(--sui-font-weight-bold);
221
+ --sui-heading-line-height: var(--sui-line-height-default);
222
+ --sui-paragraph-margin: 1.75em;
223
+ --sui-control-small-border-width: 1px;
224
+ --sui-control-small-border-radius: calc(var(--sui-control-small-height) / 8);
225
+ --sui-control-small-padding: 0 calc((var(--sui-control-small-height) / 5));
226
+ --sui-control-small-height: 24px;
227
+ --sui-control-medium-border-width: 1px;
228
+ --sui-control-medium-border-radius: calc(var(--sui-control-medium-height) / 8);
229
+ --sui-control-medium-padding: 0 calc((var(--sui-control-medium-height) / 4));
230
+ --sui-control-medium-height: 32px;
231
+ --sui-control-large-border-width: 1px;
232
+ --sui-control-large-border-radius: calc(var(--sui-control-large-height) / 8);
233
+ --sui-control-large-padding: 0 calc((var(--sui-control-large-height) / 3));
234
+ --sui-control-large-height: 40px;
235
+ --sui-control-border-color: hsl(var(--sui-border-color-2-hsl));
236
+ --sui-control-foreground-color: var(--sui-primary-foreground-color);
237
+ --sui-control-background-color: hsl(var(--sui-background-color-4-hsl));
238
+ --sui-control-font-family: var(--sui-font-family-default);
239
+ --sui-control-font-size: var(--sui-font-size-default);
240
+ --sui-control-line-height: var(--sui-line-height-compact);
241
+ --sui-button-small-border-radius: var(--sui-control-small-border-radius);
242
+ --sui-button-small-padding: var(--sui-control-small-padding);
243
+ --sui-button-small-height: var(--sui-control-small-height);
244
+ --sui-button-medium-border-radius: var(--sui-control-medium-border-radius);
245
+ --sui-button-medium-padding: var(--sui-control-medium-padding);
246
+ --sui-button-medium-height: var(--sui-control-medium-height);
247
+ --sui-button-large-border-radius: var(--sui-control-large-border-radius);
248
+ --sui-button-large-padding: var(--sui-control-large-padding);
249
+ --sui-button-large-height: var(--sui-control-large-height);
250
+ --sui-button-border-color: var(--sui-control-border-color);
251
+ --sui-button-background-color: var(--sui-control-background-color);
252
+ --sui-checkbox-border-radius: var(--sui-control-medium-border-radius);
253
+ --sui-checkbox-height: 20px;
254
+ --sui-checkbox-border-color: hsl(var(--sui-border-color-1-hsl));
255
+ --sui-checkbox-background-color: var(--sui-control-background-color);
256
+ --sui-option-border-radius: var(--sui-control-medium-border-radius);
257
+ --sui-option-padding: calc((var(--sui-control-medium-height) / 6))
258
+ calc((var(--sui-control-medium-height) / 5));
259
+ --sui-option-height: var(--sui-control-medium-height);
260
+ --sui-listbox-border-radius: var(--sui-control-medium-border-radius);
261
+ --sui-listbox-border-color: var(--sui-control-border-color);
262
+ --sui-listbox-foreground-color: var(--sui-control-foreground-color);
263
+ --sui-listbox-background-color: hsl(var(--sui-background-color-1-hsl));
264
+ --sui-textbox-border-radius: var(--sui-control-medium-border-radius);
265
+ --sui-textbox-height: var(--sui-control-medium-height);
266
+ --sui-textbox-border-color: var(--sui-control-border-color);
267
+ --sui-textbox-foreground-color: var(--sui-control-foreground-color);
268
+ --sui-textbox-background-color: hsl(var(--sui-background-color-1-hsl));
269
+ --sui-textbox-font-family: var(--sui-font-family-default);
270
+ --sui-textbox-font-size: var(--sui-font-size-default);
271
+ --sui-textbox-singleline-padding: 0 8px;
272
+ --sui-textbox-singleline-min-width: 240px;
273
+ --sui-textbox-singleline-line-height: var(--sui-line-height-compact);
274
+ --sui-textbox-multiline-padding: 16px;
275
+ --sui-textbox-multiline-min-width: 480px;
276
+ --sui-textbox-multiline-line-height: var(--sui-line-height-comfortable);
277
+ --sui-tab-height: var(--sui-control-medium-height);
278
+ --sui-tab-small-height: var(--sui-control-small-height);
279
+ --sui-tab-medium-height: var(--sui-control-medium-height);
280
+ --sui-tab-large-height: var(--sui-control-large-height);
281
+ --sui-primary-toolbar-size: 56px;
282
+ --sui-secondary-toolbar-size: 48px;
283
+ --sui-bottom-navigation-height: var(--sui-primary-toolbar-size);
284
+ --sui-primary-row-height: 56px;
285
+ --sui-secondary-row-height: 40px;
286
+ }
287
+ @media (pointer: coarse) {
288
+ :global(:root),
289
+ :global(:host) {
290
+ --sui-control-small-height: 32px;
291
+ --sui-control-medium-height: 40px;
292
+ --sui-control-large-height: 48px;
293
+ --sui-checkbox-height: 24px;
294
+ --sui-secondary-row-height: 48px;
295
+ }
296
+ }
297
+ @media (prefers-reduced-transparency) {
298
+ :global(:root),
299
+ :global(:host) {
300
+ --sui-primary-background-color-translucent: hsl(var(--sui-background-color-2-hsl));
301
+ --sui-secondary-background-color-translucent: hsl(var(--sui-background-color-3-hsl));
302
+ --sui-tertiary-background-color-translucent: hsl(var(--sui-background-color-4-hsl));
303
+ }
304
+ }
305
+ :global(:root[data-theme=light]),
306
+ :global(:host[data-theme=light]) {
307
+ color-scheme: light;
308
+ --sui-foreground-color-1-hsl: var(--sui-base-hue) 5% 5%;
309
+ --sui-foreground-color-2-hsl: var(--sui-base-hue) 5% 25%;
310
+ --sui-foreground-color-3-hsl: var(--sui-base-hue) 5% 35%;
311
+ --sui-foreground-color-4-hsl: var(--sui-base-hue) 5% 45%;
312
+ --sui-foreground-color-5-hsl: var(--sui-base-hue) 5% 65%;
313
+ --sui-background-color-1-hsl: var(--sui-base-hue) 5% 100%;
314
+ --sui-background-color-2-hsl: var(--sui-base-hue) 5% 98%;
315
+ --sui-background-color-3-hsl: var(--sui-base-hue) 5% 95%;
316
+ --sui-background-color-4-hsl: var(--sui-base-hue) 5% 92%;
317
+ --sui-background-color-5-hsl: var(--sui-base-hue) 5% 84%;
318
+ --sui-border-color-1-hsl: var(--sui-base-hue) 5% 60%;
319
+ --sui-border-color-2-hsl: var(--sui-base-hue) 5% 86%;
320
+ --sui-border-color-3-hsl: var(--sui-base-hue) 5% 90%;
321
+ --sui-shadow-color: var(--sui-base-hue) 10% 0%;
322
+ --sui-primary-accent-color-text: hsl(var(--sui-base-hue) 80% 40%);
323
+ --sui-primary-accent-color-light: hsl(var(--sui-base-hue) 80% 45%);
324
+ --sui-primary-accent-color: hsl(var(--sui-base-hue) 80% 40%);
325
+ --sui-primary-accent-color-dark: hsl(var(--sui-base-hue) 80% 35%);
326
+ --sui-primary-accent-color-inverted: hsl(var(--sui-base-hue) 10% 100%);
327
+ --sui-primary-accent-color-translucent: hsl(var(--sui-base-hue) 80% 50% / 40%);
328
+ --sui-error-color-hue: 0;
329
+ --sui-warning-color-hue: 40;
330
+ --sui-info-color-hue: 210;
331
+ --sui-success-color-hue: 100;
332
+ --sui-alert-foreground-color-saturation: 85%;
333
+ --sui-alert-foreground-color-lightness: 25%;
334
+ --sui-alert-background-color-saturation: 65%;
335
+ --sui-alert-background-color-lightness: 90%;
336
+ --sui-alert-border-color-saturation: 48%;
337
+ --sui-alert-border-color-lightness: 68%;
338
+ }
339
+ :global(:root[data-theme=dark]),
340
+ :global(:host[data-theme=dark]) {
341
+ color-scheme: dark;
342
+ --sui-foreground-color-1-hsl: var(--sui-base-hue) 10% 95%;
343
+ --sui-foreground-color-2-hsl: var(--sui-base-hue) 10% 75%;
344
+ --sui-foreground-color-3-hsl: var(--sui-base-hue) 10% 65%;
345
+ --sui-foreground-color-4-hsl: var(--sui-base-hue) 10% 55%;
346
+ --sui-foreground-color-5-hsl: var(--sui-base-hue) 10% 35%;
347
+ --sui-background-color-1-hsl: var(--sui-base-hue) 10% 8%;
348
+ --sui-background-color-2-hsl: var(--sui-base-hue) 10% 10%;
349
+ --sui-background-color-3-hsl: var(--sui-base-hue) 10% 13%;
350
+ --sui-background-color-4-hsl: var(--sui-base-hue) 10% 16%;
351
+ --sui-background-color-5-hsl: var(--sui-base-hue) 10% 26%;
352
+ --sui-border-color-1-hsl: var(--sui-base-hue) 10% 40%;
353
+ --sui-border-color-2-hsl: var(--sui-base-hue) 10% 24%;
354
+ --sui-border-color-3-hsl: var(--sui-base-hue) 10% 20%;
355
+ --sui-shadow-color: var(--sui-base-hue) 10% 0%;
356
+ --sui-primary-accent-color-text: hsl(var(--sui-base-hue) 100% 60%);
357
+ --sui-primary-accent-color-light: hsl(var(--sui-base-hue) 100% 45%);
358
+ --sui-primary-accent-color: hsl(var(--sui-base-hue) 100% 40%);
359
+ --sui-primary-accent-color-dark: hsl(var(--sui-base-hue) 100% 35%);
360
+ --sui-primary-accent-color-inverted: hsl(var(--sui-base-hue) 10% 100%);
361
+ --sui-primary-accent-color-translucent: hsl(var(--sui-base-hue) 80% 50% / 40%);
362
+ --sui-error-color-hue: 0;
363
+ --sui-warning-color-hue: 40;
364
+ --sui-info-color-hue: 210;
365
+ --sui-success-color-hue: 100;
366
+ --sui-alert-foreground-color-saturation: 85%;
367
+ --sui-alert-foreground-color-lightness: 75%;
368
+ --sui-alert-background-color-saturation: 40%;
369
+ --sui-alert-background-color-lightness: 10%;
370
+ --sui-alert-border-color-saturation: 48%;
371
+ --sui-alert-border-color-lightness: 38%;
372
+ }
373
+ @media (prefers-color-scheme: light) {
374
+ :global(:root:not([data-theme])),
375
+ :global(:host:not([data-theme])) {
376
+ color-scheme: light;
377
+ --sui-foreground-color-1-hsl: var(--sui-base-hue) 5% 5%;
378
+ --sui-foreground-color-2-hsl: var(--sui-base-hue) 5% 25%;
379
+ --sui-foreground-color-3-hsl: var(--sui-base-hue) 5% 35%;
380
+ --sui-foreground-color-4-hsl: var(--sui-base-hue) 5% 45%;
381
+ --sui-foreground-color-5-hsl: var(--sui-base-hue) 5% 65%;
382
+ --sui-background-color-1-hsl: var(--sui-base-hue) 5% 100%;
383
+ --sui-background-color-2-hsl: var(--sui-base-hue) 5% 98%;
384
+ --sui-background-color-3-hsl: var(--sui-base-hue) 5% 95%;
385
+ --sui-background-color-4-hsl: var(--sui-base-hue) 5% 92%;
386
+ --sui-background-color-5-hsl: var(--sui-base-hue) 5% 84%;
387
+ --sui-border-color-1-hsl: var(--sui-base-hue) 5% 60%;
388
+ --sui-border-color-2-hsl: var(--sui-base-hue) 5% 86%;
389
+ --sui-border-color-3-hsl: var(--sui-base-hue) 5% 90%;
390
+ --sui-shadow-color: var(--sui-base-hue) 10% 0%;
391
+ --sui-primary-accent-color-text: hsl(var(--sui-base-hue) 80% 40%);
392
+ --sui-primary-accent-color-light: hsl(var(--sui-base-hue) 80% 45%);
393
+ --sui-primary-accent-color: hsl(var(--sui-base-hue) 80% 40%);
394
+ --sui-primary-accent-color-dark: hsl(var(--sui-base-hue) 80% 35%);
395
+ --sui-primary-accent-color-inverted: hsl(var(--sui-base-hue) 10% 100%);
396
+ --sui-primary-accent-color-translucent: hsl(var(--sui-base-hue) 80% 50% / 40%);
397
+ --sui-error-color-hue: 0;
398
+ --sui-warning-color-hue: 40;
399
+ --sui-info-color-hue: 210;
400
+ --sui-success-color-hue: 100;
401
+ --sui-alert-foreground-color-saturation: 85%;
402
+ --sui-alert-foreground-color-lightness: 25%;
403
+ --sui-alert-background-color-saturation: 65%;
404
+ --sui-alert-background-color-lightness: 90%;
405
+ --sui-alert-border-color-saturation: 48%;
406
+ --sui-alert-border-color-lightness: 68%;
407
+ }
408
+ }
409
+ @media (prefers-color-scheme: dark) {
410
+ :global(:root:not([data-theme])),
411
+ :global(:host:not([data-theme])) {
412
+ color-scheme: dark;
413
+ --sui-foreground-color-1-hsl: var(--sui-base-hue) 10% 95%;
414
+ --sui-foreground-color-2-hsl: var(--sui-base-hue) 10% 75%;
415
+ --sui-foreground-color-3-hsl: var(--sui-base-hue) 10% 65%;
416
+ --sui-foreground-color-4-hsl: var(--sui-base-hue) 10% 55%;
417
+ --sui-foreground-color-5-hsl: var(--sui-base-hue) 10% 35%;
418
+ --sui-background-color-1-hsl: var(--sui-base-hue) 10% 8%;
419
+ --sui-background-color-2-hsl: var(--sui-base-hue) 10% 10%;
420
+ --sui-background-color-3-hsl: var(--sui-base-hue) 10% 13%;
421
+ --sui-background-color-4-hsl: var(--sui-base-hue) 10% 16%;
422
+ --sui-background-color-5-hsl: var(--sui-base-hue) 10% 26%;
423
+ --sui-border-color-1-hsl: var(--sui-base-hue) 10% 40%;
424
+ --sui-border-color-2-hsl: var(--sui-base-hue) 10% 24%;
425
+ --sui-border-color-3-hsl: var(--sui-base-hue) 10% 20%;
426
+ --sui-shadow-color: var(--sui-base-hue) 10% 0%;
427
+ --sui-primary-accent-color-text: hsl(var(--sui-base-hue) 100% 60%);
428
+ --sui-primary-accent-color-light: hsl(var(--sui-base-hue) 100% 45%);
429
+ --sui-primary-accent-color: hsl(var(--sui-base-hue) 100% 40%);
430
+ --sui-primary-accent-color-dark: hsl(var(--sui-base-hue) 100% 35%);
431
+ --sui-primary-accent-color-inverted: hsl(var(--sui-base-hue) 10% 100%);
432
+ --sui-primary-accent-color-translucent: hsl(var(--sui-base-hue) 80% 50% / 40%);
433
+ --sui-error-color-hue: 0;
434
+ --sui-warning-color-hue: 40;
435
+ --sui-info-color-hue: 210;
436
+ --sui-success-color-hue: 100;
437
+ --sui-alert-foreground-color-saturation: 85%;
438
+ --sui-alert-foreground-color-lightness: 75%;
439
+ --sui-alert-background-color-saturation: 40%;
440
+ --sui-alert-background-color-lightness: 10%;
441
+ --sui-alert-border-color-saturation: 48%;
442
+ --sui-alert-border-color-lightness: 38%;
443
+ }
444
+ }
136
445
 
137
- .font-loader {
138
- position: absolute;
139
- inset-inline-start: -99999px;
140
- font-family: var(--sui-font-family-default);
446
+ :global(.material-symbols-outlined) {
447
+ font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
448
+ }
449
+ :global(*),
450
+ :global(::before),
451
+ :global(::after) {
452
+ overflow-anchor: none;
453
+ scroll-behavior: smooth;
454
+ box-sizing: border-box;
455
+ outline-offset: 0px;
456
+ outline-width: var(--sui-focus-ring-width) !important;
457
+ outline-style: solid;
458
+ outline-color: transparent;
459
+ border-width: 0;
460
+ border-style: solid;
461
+ vertical-align: top;
462
+ }
463
+ @media (prefers-reduced-motion) {
464
+ :global(*),
465
+ :global(::before),
466
+ :global(::after) {
467
+ scroll-behavior: auto;
468
+ transition-duration: 1ms !important;
141
469
  }
470
+ }
471
+ :global(::selection) {
472
+ background-color: var(--sui-primary-accent-color-translucent);
473
+ }
474
+ :global(*) {
475
+ -webkit-tap-highlight-color: transparent;
476
+ }
477
+ :global(:focus) {
478
+ z-index: 1;
479
+ outline-width: 0;
480
+ }
481
+ :global(:focus-visible) {
482
+ outline-color: var(--sui-primary-accent-color-translucent);
483
+ z-index: 2;
484
+ }
485
+ :global(h1) {
486
+ margin: var(--sui-h1-margin, var(--sui-heading-margin));
487
+ font-size: var(--sui-h1-font-size, 32px);
488
+ font-family: var(--sui-h1-font-family, var(--sui-heading-font-family));
489
+ font-weight: var(--sui-h1-font-weight, var(--sui-heading-font-weight));
490
+ line-height: var(--sui-h1-line-height, var(--sui-heading-line-height));
491
+ }
492
+ :global(h2) {
493
+ margin: var(--sui-h2-margin, var(--sui-heading-margin));
494
+ font-size: var(--sui-h2-font-size, 28px);
495
+ font-family: var(--sui-h2-font-family, var(--sui-heading-font-family));
496
+ font-weight: var(--sui-h2-font-weight, var(--sui-heading-font-weight));
497
+ line-height: var(--sui-h2-line-height, var(--sui-heading-line-height));
498
+ }
499
+ :global(h3) {
500
+ margin: var(--sui-h3-margin, var(--sui-heading-margin));
501
+ font-size: var(--sui-h3-font-size, 24px);
502
+ font-family: var(--sui-h3-font-family, var(--sui-heading-font-family));
503
+ font-weight: var(--sui-h3-font-weight, var(--sui-heading-font-weight));
504
+ line-height: var(--sui-h3-line-height, var(--sui-heading-line-height));
505
+ }
506
+ :global(h4) {
507
+ margin: var(--sui-h4-margin, var(--sui-heading-margin));
508
+ font-size: var(--sui-h4-font-size, 20px);
509
+ font-family: var(--sui-h4-font-family, var(--sui-heading-font-family));
510
+ font-weight: var(--sui-h4-font-weight, var(--sui-heading-font-weight));
511
+ line-height: var(--sui-h4-line-height, var(--sui-heading-line-height));
512
+ }
513
+ :global(h5) {
514
+ margin: var(--sui-h5-margin, var(--sui-heading-margin));
515
+ font-size: var(--sui-h5-font-size, 16px);
516
+ font-family: var(--sui-h5-font-family, var(--sui-heading-font-family));
517
+ font-weight: var(--sui-h5-font-weight, var(--sui-heading-font-weight));
518
+ line-height: var(--sui-h5-line-height, var(--sui-heading-line-height));
519
+ }
520
+ :global(h6) {
521
+ margin: var(--sui-h6-margin, var(--sui-heading-margin));
522
+ font-size: var(--sui-h6-font-size, 12px);
523
+ font-family: var(--sui-h6-font-family, var(--sui-heading-font-family));
524
+ font-weight: var(--sui-h6-font-weight, var(--sui-heading-font-weight));
525
+ line-height: var(--sui-h6-line-height, var(--sui-heading-line-height));
526
+ }
527
+ :global(strong) {
528
+ font-weight: var(--sui-font-weight-bold, bold);
529
+ }
530
+ :global(a) {
531
+ color: var(--sui-primary-accent-color-text);
532
+ text-decoration: none;
533
+ text-underline-offset: 2px;
534
+ }
535
+ :global(a:is(:hover, :focus, :active)) {
536
+ text-decoration: underline;
537
+ }
538
+ :is(:root, :host)[data-underline-links=true] :global(a) {
539
+ text-decoration: underline;
540
+ }
541
+ :global(:is(p, ul, ol, dl)) {
542
+ margin: var(--sui-paragraph-margin) 0;
543
+ line-height: var(--sui-line-height-comfortable);
544
+ }
545
+ :global(:is(ul, ol)) {
546
+ padding-inline: 2em;
547
+ }
548
+ :global(:is(code, pre)) {
549
+ border-radius: 4px;
550
+ background-color: var(--sui-code-background-color);
551
+ font-family: var(--sui-font-family-monospace);
552
+ font-size: var(--sui-font-size-monospace);
553
+ vertical-align: -0.05em;
554
+ }
555
+ :global(pre) {
556
+ padding: 8px;
557
+ line-height: var(--sui-line-height-compact);
558
+ -webkit-user-select: text;
559
+ user-select: text;
560
+ }
561
+ :global(code) {
562
+ padding: 2px 4px;
563
+ }
564
+ :global(table) {
565
+ border-collapse: collapse;
566
+ }
567
+ :global(:is(th, td)) {
568
+ border: 1px solid var(--sui-textbox-border-color);
569
+ padding: 8px;
570
+ }
571
+ :global(blockquote) {
572
+ margin-inline: 16px 0;
573
+ border-inline-start: 4px solid var(--sui-textbox-border-color);
574
+ padding-inline-start: 12px;
575
+ }
576
+ :global(:is(.disabled, .readonly, [aria-disabled=true], [aria-readonly=true], [inert]):not(body)) {
577
+ cursor: default;
578
+ pointer-events: none;
579
+ -webkit-user-select: none;
580
+ user-select: none;
581
+ filter: grayscale(1) opacity(0.35);
582
+ }
583
+ :global(:is(.disabled, .readonly, [aria-disabled=true], [aria-readonly=true], [inert]):not(body)) :global(*) {
584
+ filter: grayscale(0) opacity(1);
585
+ }
586
+ :global(:is(.disabled, .readonly, [aria-disabled=true], [aria-readonly=true], [inert])) :global(*) {
587
+ cursor: default;
588
+ pointer-events: none;
589
+ -webkit-user-select: none;
590
+ user-select: none;
591
+ }
142
592
 
143
- .app-shell {
144
- position: fixed;
145
- inset: 0;
146
- overflow: hidden;
147
- width: 100%;
148
- height: 100%;
149
- color: var(--sui-primary-foreground-color);
150
- background-color: var(--sui-primary-background-color);
151
- font-family: var(--sui-font-family-default);
152
- font-size: var(--sui-font-size-default);
153
- font-weight: var(--sui-font-weight-normal, normal);
154
- word-spacing: var(--sui-word-spacing-normal);
155
- -webkit-user-select: none;
156
- user-select: none;
157
- touch-action: none;
158
- cursor: default;
159
-
160
- &.horizontal {
161
- display: flex;
162
- flex-direction: row;
163
- overflow: hidden;
164
- }
593
+ .font-loader {
594
+ position: absolute;
595
+ inset-inline-start: -99999px;
596
+ font-family: var(--sui-font-family-default);
597
+ }
165
598
 
166
- &.vertical {
167
- display: flex;
168
- flex-direction: column;
169
- overflow: hidden;
170
- }
171
- }
172
- </style>
599
+ .app-shell {
600
+ position: fixed;
601
+ inset: 0;
602
+ overflow: hidden;
603
+ width: 100%;
604
+ height: 100%;
605
+ color: var(--sui-primary-foreground-color);
606
+ background-color: var(--sui-primary-background-color);
607
+ font-family: var(--sui-font-family-default);
608
+ font-size: var(--sui-font-size-default);
609
+ font-weight: var(--sui-font-weight-normal, normal);
610
+ word-spacing: var(--sui-word-spacing-normal);
611
+ -webkit-user-select: none;
612
+ user-select: none;
613
+ touch-action: none;
614
+ cursor: default;
615
+ }
616
+ .app-shell.horizontal {
617
+ display: flex;
618
+ flex-direction: row;
619
+ overflow: hidden;
620
+ }
621
+ .app-shell.vertical {
622
+ display: flex;
623
+ flex-direction: column;
624
+ overflow: hidden;
625
+ }</style>
@@ -20,16 +20,14 @@
20
20
  {@render children?.()}
21
21
  </div>
22
22
 
23
- <style lang="scss">
24
- .empty-state {
25
- display: flex;
26
- flex-direction: column;
27
- align-items: center;
28
- justify-content: center;
29
- gap: 16px;
30
- padding: 16px;
31
- width: 100%;
32
- height: 100%;
33
- text-align: center;
34
- }
35
- </style>
23
+ <style>.empty-state {
24
+ display: flex;
25
+ flex-direction: column;
26
+ align-items: center;
27
+ justify-content: center;
28
+ gap: 16px;
29
+ padding: 16px;
30
+ width: 100%;
31
+ height: 100%;
32
+ text-align: center;
33
+ }</style>
@@ -47,8 +47,6 @@
47
47
  </div>
48
48
  </div>
49
49
 
50
- <style lang="scss">
51
- .inner {
52
- display: contents;
53
- }
54
- </style>
50
+ <style>.inner {
51
+ display: contents;
52
+ }</style>