@sveltia/ui 0.41.5 → 0.42.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 (76) hide show
  1. package/dist/components/alert/alert.svelte +36 -30
  2. package/dist/components/alert/infobar.svelte +55 -45
  3. package/dist/components/bottom-navigation/bottom-navigation.svelte +21 -15
  4. package/dist/components/button/button-group.svelte +7 -5
  5. package/dist/components/button/button.svelte +274 -175
  6. package/dist/components/button/floating-action-button-wrapper.svelte +23 -18
  7. package/dist/components/button/select-button-group.svelte +57 -41
  8. package/dist/components/button/split-button.svelte +25 -18
  9. package/dist/components/calendar/calendar.svelte +103 -80
  10. package/dist/components/checkbox/checkbox-group.svelte +22 -19
  11. package/dist/components/checkbox/checkbox.svelte +91 -63
  12. package/dist/components/dialog/dialog.svelte +105 -87
  13. package/dist/components/dialog/prompt-dialog.svelte +5 -3
  14. package/dist/components/disclosure/disclosure.svelte +34 -21
  15. package/dist/components/divider/divider.svelte +18 -14
  16. package/dist/components/divider/spacer.svelte +13 -8
  17. package/dist/components/drawer/drawer.svelte +343 -190
  18. package/dist/components/grid/grid-body.svelte +16 -14
  19. package/dist/components/grid/grid-cell.svelte +5 -3
  20. package/dist/components/grid/grid-col-header.svelte +5 -3
  21. package/dist/components/grid/grid-foot.svelte +5 -3
  22. package/dist/components/grid/grid-head.svelte +5 -3
  23. package/dist/components/grid/grid-row-header.svelte +6 -4
  24. package/dist/components/grid/grid-row.svelte +6 -4
  25. package/dist/components/grid/grid.svelte +18 -12
  26. package/dist/components/icon/icon.svelte +7 -5
  27. package/dist/components/listbox/listbox.svelte +78 -61
  28. package/dist/components/listbox/option-group.svelte +15 -11
  29. package/dist/components/listbox/option.svelte +54 -39
  30. package/dist/components/menu/menu-item-group.svelte +5 -3
  31. package/dist/components/menu/menu-item.svelte +67 -51
  32. package/dist/components/menu/menu.svelte +21 -17
  33. package/dist/components/progressbar/progressbar.svelte +24 -15
  34. package/dist/components/radio/radio-group.svelte +40 -31
  35. package/dist/components/radio/radio.svelte +81 -63
  36. package/dist/components/resizable-pane/resizable-handle.svelte +60 -48
  37. package/dist/components/resizable-pane/resizable-pane-group.svelte +18 -14
  38. package/dist/components/select/combobox.svelte +135 -112
  39. package/dist/components/select/select-tags.svelte +73 -57
  40. package/dist/components/slider/slider.svelte +94 -74
  41. package/dist/components/switch/switch.svelte +115 -81
  42. package/dist/components/table/table-body.svelte +16 -14
  43. package/dist/components/table/table-cell.svelte +5 -3
  44. package/dist/components/table/table-col-header.svelte +5 -3
  45. package/dist/components/table/table-foot.svelte +5 -3
  46. package/dist/components/table/table-head.svelte +5 -3
  47. package/dist/components/table/table-row-header.svelte +6 -4
  48. package/dist/components/table/table-row.svelte +6 -4
  49. package/dist/components/table/table.svelte +18 -12
  50. package/dist/components/tabs/tab-box.svelte +9 -6
  51. package/dist/components/tabs/tab-list.svelte +91 -73
  52. package/dist/components/tabs/tab-panel.svelte +11 -7
  53. package/dist/components/tabs/tab-panels.svelte +19 -14
  54. package/dist/components/text-editor/code-editor.svelte +10 -7
  55. package/dist/components/text-editor/lexical-root.svelte +221 -160
  56. package/dist/components/text-editor/text-editor.svelte +25 -18
  57. package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte +44 -37
  58. package/dist/components/text-field/number-input.svelte +87 -68
  59. package/dist/components/text-field/password-input.svelte +52 -42
  60. package/dist/components/text-field/search-bar.svelte +64 -53
  61. package/dist/components/text-field/secret-input.svelte +61 -46
  62. package/dist/components/text-field/text-area.svelte +80 -68
  63. package/dist/components/text-field/text-input.svelte +138 -106
  64. package/dist/components/toast/toast.svelte +104 -89
  65. package/dist/components/toolbar/toolbar.svelte +70 -54
  66. package/dist/components/typography/truncated-text.svelte +9 -7
  67. package/dist/components/util/app-shell.svelte +40 -493
  68. package/dist/components/util/empty-state.svelte +13 -11
  69. package/dist/components/util/group.svelte +5 -3
  70. package/dist/components/util/modal.svelte +59 -48
  71. package/dist/components/util/popup.svelte +87 -67
  72. package/dist/index.d.ts +1 -0
  73. package/dist/index.js +1 -4
  74. package/dist/services/i18n.d.ts +6 -0
  75. package/dist/services/i18n.js +19 -14
  76. package/package.json +20 -20
@@ -6,6 +6,7 @@
6
6
  -->
7
7
  <script>
8
8
  import { onMount } from 'svelte';
9
+ import { initLocales } from '../../services/i18n';
9
10
 
10
11
  /**
11
12
  * @import { Snippet } from 'svelte';
@@ -38,6 +39,10 @@
38
39
 
39
40
  let fontLoaded = $state(false);
40
41
 
42
+ $effect.pre(() => {
43
+ initLocales();
44
+ });
45
+
41
46
  onMount(() => {
42
47
  const mediaQuery = globalThis.matchMedia('(prefers-color-scheme: dark)');
43
48
  const { dataset } = document.documentElement;
@@ -126,500 +131,42 @@
126
131
  {@render children?.()}
127
132
  </div>
128
133
 
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
- }
134
+ <style lang="scss">
135
+ @use '../../styles/core';
445
136
 
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;
137
+ .font-loader {
138
+ position: absolute;
139
+ inset-inline-start: -99999px;
140
+ font-family: var(--sui-font-family-default);
469
141
  }
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
- }
592
142
 
593
- .font-loader {
594
- position: absolute;
595
- inset-inline-start: -99999px;
596
- font-family: var(--sui-font-family-default);
597
- }
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
+ }
598
165
 
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>
166
+ &.vertical {
167
+ display: flex;
168
+ flex-direction: column;
169
+ overflow: hidden;
170
+ }
171
+ }
172
+ </style>
@@ -20,14 +20,16 @@
20
20
  {@render children?.()}
21
21
  </div>
22
22
 
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>
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>
@@ -47,6 +47,8 @@
47
47
  </div>
48
48
  </div>
49
49
 
50
- <style>.inner {
51
- display: contents;
52
- }</style>
50
+ <style lang="scss">
51
+ .inner {
52
+ display: contents;
53
+ }
54
+ </style>