@sveltia/ui 0.41.3 → 0.41.5

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 (45) hide show
  1. package/dist/components/alert/alert.svelte +3 -1
  2. package/dist/components/alert/alert.svelte.d.ts +8 -0
  3. package/dist/components/alert/infobar.svelte +3 -1
  4. package/dist/components/alert/infobar.svelte.d.ts +8 -0
  5. package/dist/components/button/button-group.svelte +3 -1
  6. package/dist/components/button/button-group.svelte.d.ts +8 -0
  7. package/dist/components/button/select-button-group.svelte +3 -0
  8. package/dist/components/button/select-button-group.svelte.d.ts +8 -0
  9. package/dist/components/checkbox/checkbox-group.svelte +3 -0
  10. package/dist/components/checkbox/checkbox-group.svelte.d.ts +8 -0
  11. package/dist/components/checkbox/checkbox.svelte +2 -2
  12. package/dist/components/checkbox/checkbox.svelte.d.ts +2 -2
  13. package/dist/components/divider/divider.svelte +3 -0
  14. package/dist/components/divider/divider.svelte.d.ts +8 -0
  15. package/dist/components/grid/grid.svelte +3 -0
  16. package/dist/components/grid/grid.svelte.d.ts +8 -0
  17. package/dist/components/listbox/listbox.svelte +3 -0
  18. package/dist/components/listbox/listbox.svelte.d.ts +8 -0
  19. package/dist/components/menu/menu.svelte +3 -0
  20. package/dist/components/menu/menu.svelte.d.ts +8 -0
  21. package/dist/components/progressbar/progressbar.svelte +3 -0
  22. package/dist/components/progressbar/progressbar.svelte.d.ts +8 -0
  23. package/dist/components/radio/radio-group.svelte +3 -0
  24. package/dist/components/radio/radio-group.svelte.d.ts +8 -0
  25. package/dist/components/resizable-pane/resizable-handle.svelte +3 -0
  26. package/dist/components/resizable-pane/resizable-handle.svelte.d.ts +8 -0
  27. package/dist/components/select/combobox.svelte +4 -1
  28. package/dist/components/switch/switch.svelte +3 -0
  29. package/dist/components/switch/switch.svelte.d.ts +8 -0
  30. package/dist/components/table/table.svelte +3 -1
  31. package/dist/components/table/table.svelte.d.ts +8 -0
  32. package/dist/components/tabs/tab-list.svelte +3 -0
  33. package/dist/components/tabs/tab-list.svelte.d.ts +8 -0
  34. package/dist/components/text-editor/core.js +3 -0
  35. package/dist/components/text-editor/toolbar/insert-link-button.svelte +2 -1
  36. package/dist/components/text-field/text-input.svelte +1 -1
  37. package/dist/components/toolbar/toolbar.svelte +3 -0
  38. package/dist/components/toolbar/toolbar.svelte.d.ts +8 -0
  39. package/dist/components/util/group.svelte +3 -0
  40. package/dist/components/util/group.svelte.d.ts +8 -0
  41. package/dist/locales/en.yaml +50 -3
  42. package/dist/locales/ja.yaml +49 -2
  43. package/dist/typedefs.d.ts +5 -1
  44. package/dist/typedefs.js +2 -1
  45. package/package.json +4 -4
@@ -14,6 +14,7 @@
14
14
  /**
15
15
  * @typedef {object} Props
16
16
  * @property {'error' | 'warning' | 'info' | 'success'} status Alert status.
17
+ * @property {'off' | 'polite' | 'assertive'} [ariaLive] ARIA live region politeness.
17
18
  * @property {Snippet} [children] Primary slot content.
18
19
  * @property {Snippet} [icon] Icon slot content.
19
20
  */
@@ -24,6 +25,7 @@
24
25
  let {
25
26
  /* eslint-disable prefer-const */
26
27
  status,
28
+ ariaLive = 'assertive',
27
29
  children,
28
30
  icon,
29
31
  ...restProps
@@ -31,7 +33,7 @@
31
33
  } = $props();
32
34
  </script>
33
35
 
34
- <div {...restProps} role="alert" class="sui alert {status}">
36
+ <div {...restProps} role="alert" class="sui alert {status}" aria-live={ariaLive}>
35
37
  {#if icon}
36
38
  {@render icon()}
37
39
  {:else}
@@ -13,6 +13,10 @@ declare const Alert: import("svelte").Component<{
13
13
  * Alert status.
14
14
  */
15
15
  status: "error" | "warning" | "info" | "success";
16
+ /**
17
+ * ARIA live region politeness.
18
+ */
19
+ ariaLive?: "off" | "polite" | "assertive" | undefined;
16
20
  /**
17
21
  * Primary slot content.
18
22
  */
@@ -27,6 +31,10 @@ type Props = {
27
31
  * Alert status.
28
32
  */
29
33
  status: "error" | "warning" | "info" | "success";
34
+ /**
35
+ * ARIA live region politeness.
36
+ */
37
+ ariaLive?: "off" | "polite" | "assertive" | undefined;
30
38
  /**
31
39
  * Primary slot content.
32
40
  */
@@ -12,6 +12,7 @@
12
12
  * @property {boolean} [show] Whether to show the toast.
13
13
  * @property {boolean} [dismissible] Whether to show the close button.
14
14
  * @property {'error' | 'warning' | 'info' | 'success'} [status] Information status.
15
+ * @property {'off' | 'polite' | 'assertive'} [ariaLive] ARIA live region politeness.
15
16
  * @property {Snippet} [children] Primary slot content.
16
17
  * @property {Snippet} [icon] Icon slot content.
17
18
  */
@@ -22,6 +23,7 @@
22
23
  show = $bindable(true),
23
24
  dismissible = true,
24
25
  status = 'info',
26
+ ariaLive = 'polite',
25
27
  children = undefined,
26
28
  icon = undefined,
27
29
  /* eslint-enable prefer-const */
@@ -30,7 +32,7 @@
30
32
 
31
33
  {#if show}
32
34
  <div role="none" class="infobar {status}">
33
- <div role="alert" class="message">
35
+ <div role="alert" class="message" aria-live={ariaLive}>
34
36
  {#if icon}
35
37
  {@render icon()}
36
38
  {:else}
@@ -16,6 +16,10 @@ declare const Infobar: import("svelte").Component<{
16
16
  * Information status.
17
17
  */
18
18
  status?: "error" | "warning" | "info" | "success" | undefined;
19
+ /**
20
+ * ARIA live region politeness.
21
+ */
22
+ ariaLive?: "off" | "polite" | "assertive" | undefined;
19
23
  /**
20
24
  * Primary slot content.
21
25
  */
@@ -38,6 +42,10 @@ type Props = {
38
42
  * Information status.
39
43
  */
40
44
  status?: "error" | "warning" | "info" | "success" | undefined;
45
+ /**
46
+ * ARIA live region politeness.
47
+ */
48
+ ariaLive?: "off" | "polite" | "assertive" | undefined;
41
49
  /**
42
50
  * Primary slot content.
43
51
  */
@@ -6,6 +6,7 @@
6
6
  /**
7
7
  * @typedef {object} Props
8
8
  * @property {string} [class] The `class` attribute on the wrapper element.
9
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
9
10
  * @property {Snippet} [children] Primary slot content.
10
11
  */
11
12
 
@@ -15,13 +16,14 @@
15
16
  let {
16
17
  /* eslint-disable prefer-const */
17
18
  class: className,
19
+ ariaLabel = undefined,
18
20
  children,
19
21
  ...restProps
20
22
  /* eslint-enable prefer-const */
21
23
  } = $props();
22
24
  </script>
23
25
 
24
- <div {...restProps} role="group" class="sui button-group {className}">
26
+ <div {...restProps} role="group" class="sui button-group {className}" aria-label={ariaLabel}>
25
27
  {@render children?.()}
26
28
  </div>
27
29
 
@@ -8,6 +8,10 @@ declare const ButtonGroup: import("svelte").Component<{
8
8
  * The `class` attribute on the wrapper element.
9
9
  */
10
10
  class?: string | undefined;
11
+ /**
12
+ * The `aria-label` attribute on the wrapper element.
13
+ */
14
+ ariaLabel?: string | undefined;
11
15
  /**
12
16
  * Primary slot content.
13
17
  */
@@ -18,6 +22,10 @@ type Props = {
18
22
  * The `class` attribute on the wrapper element.
19
23
  */
20
24
  class?: string | undefined;
25
+ /**
26
+ * The `aria-label` attribute on the wrapper element.
27
+ */
28
+ ariaLabel?: string | undefined;
21
29
  /**
22
30
  * Primary slot content.
23
31
  */
@@ -23,6 +23,7 @@
23
23
  * `aria-required` attribute.
24
24
  * @property {boolean} [invalid] Whether to mark the widget invalid. An alias of the
25
25
  * `aria-invalid` attribute.
26
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
26
27
  * @property {Snippet} [children] Primary slot content.
27
28
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
28
29
  */
@@ -38,6 +39,7 @@
38
39
  readonly = false,
39
40
  required = false,
40
41
  invalid = false,
42
+ ariaLabel = undefined,
41
43
  children,
42
44
  ...restProps
43
45
  /* eslint-enable prefer-const */
@@ -55,6 +57,7 @@
55
57
  aria-readonly={readonly}
56
58
  aria-required={required}
57
59
  aria-invalid={invalid}
60
+ aria-label={ariaLabel}
58
61
  {@attach activateGroup()}
59
62
  >
60
63
  <div role="none" class="inner" inert={disabled}>
@@ -37,6 +37,10 @@ declare const SelectButtonGroup: import("svelte").Component<{
37
37
  * `aria-invalid` attribute.
38
38
  */
39
39
  invalid?: boolean | undefined;
40
+ /**
41
+ * The `aria-label` attribute on the wrapper element.
42
+ */
43
+ ariaLabel?: string | undefined;
40
44
  /**
41
45
  * Primary slot content.
42
46
  */
@@ -75,6 +79,10 @@ type Props = {
75
79
  * `aria-invalid` attribute.
76
80
  */
77
81
  invalid?: boolean | undefined;
82
+ /**
83
+ * The `aria-label` attribute on the wrapper element.
84
+ */
85
+ ariaLabel?: string | undefined;
78
86
  /**
79
87
  * Primary slot content.
80
88
  */
@@ -15,6 +15,7 @@
15
15
  * @property {boolean} [disabled] Whether to disable the widget. An alias of the `aria-disabled`
16
16
  * attribute.
17
17
  * @property {'horizontal'|'vertical'} [orientation] Orientation of the widget.
18
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
18
19
  * @property {Snippet} [children] Primary slot content.
19
20
  */
20
21
 
@@ -27,6 +28,7 @@
27
28
  hidden = false,
28
29
  disabled = false,
29
30
  orientation = 'horizontal',
31
+ ariaLabel = undefined,
30
32
  children,
31
33
  ...restProps
32
34
  /* eslint-enable prefer-const */
@@ -41,6 +43,7 @@
41
43
  aria-hidden={hidden}
42
44
  aria-disabled={disabled}
43
45
  aria-roledescription="checkbox group"
46
+ aria-label={ariaLabel}
44
47
  >
45
48
  <div role="none" class="inner" inert={disabled}>
46
49
  {@render children?.()}
@@ -23,6 +23,10 @@ declare const CheckboxGroup: import("svelte").Component<{
23
23
  * Orientation of the widget.
24
24
  */
25
25
  orientation?: "horizontal" | "vertical" | undefined;
26
+ /**
27
+ * The `aria-label` attribute on the wrapper element.
28
+ */
29
+ ariaLabel?: string | undefined;
26
30
  /**
27
31
  * Primary slot content.
28
32
  */
@@ -47,6 +51,10 @@ type Props = {
47
51
  * Orientation of the widget.
48
52
  */
49
53
  orientation?: "horizontal" | "vertical" | undefined;
54
+ /**
55
+ * The `aria-label` attribute on the wrapper element.
56
+ */
57
+ ariaLabel?: string | undefined;
50
58
  /**
51
59
  * Primary slot content.
52
60
  */
@@ -24,7 +24,7 @@
24
24
  * @property {boolean | 'mixed'} [checked] Whether to check the widget. An alias of the
25
25
  * `aria-checked` attribute.
26
26
  * @property {string} [label] Text label displayed next to the checkbox.
27
- * @property {string} [aria-label] `aria-label` attribute.
27
+ * @property {string} [ariaLabel] `aria-label` attribute.
28
28
  * @property {Snippet} [checkIcon] Check icon slot content.
29
29
  * @property {string[]} [group] The two-way bound variable to manage the state of a group of
30
30
  * checkboxes. It works in the same way as the [`<input
@@ -46,7 +46,7 @@
46
46
  required = false,
47
47
  invalid = false,
48
48
  label = undefined,
49
- 'aria-label': ariaLabel,
49
+ ariaLabel = undefined,
50
50
  group = $bindable(),
51
51
  onChange,
52
52
  children,
@@ -36,7 +36,7 @@ declare const Checkbox: import("svelte").Component<ButtonProps & import("../../t
36
36
  /**
37
37
  * `aria-label` attribute.
38
38
  */
39
- "aria-label"?: string | undefined;
39
+ ariaLabel?: string | undefined;
40
40
  /**
41
41
  * Check icon slot content.
42
42
  */
@@ -75,7 +75,7 @@ type Props = {
75
75
  /**
76
76
  * `aria-label` attribute.
77
77
  */
78
- "aria-label"?: string | undefined;
78
+ ariaLabel?: string | undefined;
79
79
  /**
80
80
  * Check icon slot content.
81
81
  */
@@ -11,6 +11,7 @@
11
11
  * attribute.
12
12
  * @property {'horizontal'|'vertical'} [orientation] Orientation of the widget. An alias of the
13
13
  * `aria-orientation` attribute.
14
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
14
15
  */
15
16
 
16
17
  /**
@@ -21,6 +22,7 @@
21
22
  class: className,
22
23
  hidden = false,
23
24
  orientation = 'horizontal',
25
+ ariaLabel = undefined,
24
26
  ...restProps
25
27
  /* eslint-enable prefer-const */
26
28
  } = $props();
@@ -33,6 +35,7 @@
33
35
  {hidden}
34
36
  aria-hidden={hidden}
35
37
  aria-orientation={orientation}
38
+ aria-label={ariaLabel}
36
39
  ></div>
37
40
 
38
41
  <style>.divider {
@@ -22,6 +22,10 @@ declare const Divider: import("svelte").Component<{
22
22
  * `aria-orientation` attribute.
23
23
  */
24
24
  orientation?: "horizontal" | "vertical" | undefined;
25
+ /**
26
+ * The `aria-label` attribute on the wrapper element.
27
+ */
28
+ ariaLabel?: string | undefined;
25
29
  } & Record<string, any>, {}, "">;
26
30
  type Props = {
27
31
  /**
@@ -38,4 +42,8 @@ type Props = {
38
42
  * `aria-orientation` attribute.
39
43
  */
40
44
  orientation?: "horizontal" | "vertical" | undefined;
45
+ /**
46
+ * The `aria-label` attribute on the wrapper element.
47
+ */
48
+ ariaLabel?: string | undefined;
41
49
  };
@@ -18,6 +18,7 @@
18
18
  * `<GridCell>`. An alias of the `aria-multiselectable` attribute.
19
19
  * @property {boolean} [clickToSelect] Whether to select a row by clicking on it.
20
20
  * @property {HTMLElement} [element] A reference to the wrapper element.
21
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
21
22
  * @property {Snippet} [children] Primary slot content.
22
23
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
23
24
  */
@@ -31,6 +32,7 @@
31
32
  class: className,
32
33
  multiple = false,
33
34
  clickToSelect = true,
35
+ ariaLabel = undefined,
34
36
  children,
35
37
  onChange,
36
38
  ...restProps
@@ -44,6 +46,7 @@
44
46
  role="grid"
45
47
  class="sui grid {className}"
46
48
  aria-multiselectable={multiple}
49
+ aria-label={ariaLabel}
47
50
  onChange={(/** @type {CustomEvent} */ event) => {
48
51
  onChange?.(event);
49
52
  }}
@@ -26,6 +26,10 @@ declare const Grid: import("svelte").Component<{
26
26
  * A reference to the wrapper element.
27
27
  */
28
28
  element?: HTMLElement | undefined;
29
+ /**
30
+ * The `aria-label` attribute on the wrapper element.
31
+ */
32
+ ariaLabel?: string | undefined;
29
33
  /**
30
34
  * Primary slot content.
31
35
  */
@@ -53,6 +57,10 @@ type Props = {
53
57
  * A reference to the wrapper element.
54
58
  */
55
59
  element?: HTMLElement | undefined;
60
+ /**
61
+ * The `aria-label` attribute on the wrapper element.
62
+ */
63
+ ariaLabel?: string | undefined;
56
64
  /**
57
65
  * Primary slot content.
58
66
  */
@@ -29,6 +29,7 @@
29
29
  * @property {boolean} [multiple] Whether to allow selecting more than one `<Option>`. An alias of
30
30
  * the `aria-multiselectable` attribute.
31
31
  * @property {string} [searchTerms] Search terms to be used to filter the items.
32
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
32
33
  * @property {Snippet} [children] Primary slot content.
33
34
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
34
35
  * @property {(event: CustomEvent) => void} [onFilter] Custom `Filter` event handler.
@@ -47,6 +48,7 @@
47
48
  invalid = false,
48
49
  multiple = false,
49
50
  searchTerms = '',
51
+ ariaLabel = undefined,
50
52
  children,
51
53
  onFilter,
52
54
  ...restProps
@@ -72,6 +74,7 @@
72
74
  aria-required={required}
73
75
  aria-invalid={invalid}
74
76
  aria-multiselectable={multiple}
77
+ aria-label={ariaLabel}
75
78
  onFilter={(/** @type {CustomEvent} */ event) => {
76
79
  const {
77
80
  detail: { matched, total },
@@ -48,6 +48,10 @@ declare const Listbox: import("svelte").Component<import("../../typedefs").Keybo
48
48
  * Search terms to be used to filter the items.
49
49
  */
50
50
  searchTerms?: string | undefined;
51
+ /**
52
+ * The `aria-label` attribute on the wrapper element.
53
+ */
54
+ ariaLabel?: string | undefined;
51
55
  /**
52
56
  * Primary slot content.
53
57
  */
@@ -100,6 +104,10 @@ type Props = {
100
104
  * Search terms to be used to filter the items.
101
105
  */
102
106
  searchTerms?: string | undefined;
107
+ /**
108
+ * The `aria-label` attribute on the wrapper element.
109
+ */
110
+ ariaLabel?: string | undefined;
103
111
  /**
104
112
  * Primary slot content.
105
113
  */
@@ -18,6 +18,7 @@
18
18
  * attribute.
19
19
  * @property {boolean} [disabled] Whether to disable the widget. An alias of the `aria-disabled`
20
20
  * attribute.
21
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
21
22
  * @property {Snippet} [children] Primary slot content.
22
23
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
23
24
  */
@@ -30,6 +31,7 @@
30
31
  class: className,
31
32
  hidden = false,
32
33
  disabled = false,
34
+ ariaLabel = undefined,
33
35
  children,
34
36
  onChange,
35
37
  ...restProps
@@ -44,6 +46,7 @@
44
46
  {hidden}
45
47
  aria-hidden={hidden}
46
48
  aria-disabled={disabled}
49
+ aria-label={ariaLabel}
47
50
  onChange={(/** @type {CustomEvent} */ event) => {
48
51
  onChange?.(event);
49
52
  }}
@@ -23,6 +23,10 @@ declare const Menu: import("svelte").Component<{
23
23
  * attribute.
24
24
  */
25
25
  disabled?: boolean | undefined;
26
+ /**
27
+ * The `aria-label` attribute on the wrapper element.
28
+ */
29
+ ariaLabel?: string | undefined;
26
30
  /**
27
31
  * Primary slot content.
28
32
  */
@@ -47,6 +51,10 @@ type Props = {
47
51
  * attribute.
48
52
  */
49
53
  disabled?: boolean | undefined;
54
+ /**
55
+ * The `aria-label` attribute on the wrapper element.
56
+ */
57
+ ariaLabel?: string | undefined;
50
58
  /**
51
59
  * Primary slot content.
52
60
  */
@@ -11,6 +11,7 @@
11
11
  * @property {number} [min] The `aria-valuemin` attribute on the wrapper element.
12
12
  * @property {number} [max] The `aria-valuemax` attribute on the wrapper element.
13
13
  * @property {string} [text] The `aria-valuetext` attribute on the wrapper element.
14
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
14
15
  */
15
16
 
16
17
  /**
@@ -23,6 +24,7 @@
23
24
  min = 0,
24
25
  max = 100,
25
26
  text,
27
+ ariaLabel = undefined,
26
28
  ...restProps
27
29
  /* eslint-enable prefer-const */
28
30
  } = $props();
@@ -36,6 +38,7 @@
36
38
  aria-valuemin={min}
37
39
  aria-valuemax={max}
38
40
  aria-valuetext={text}
41
+ aria-label={ariaLabel}
39
42
  >
40
43
  <div role="none" style:width="{now}%"></div>
41
44
  </div>
@@ -28,6 +28,10 @@ declare const Progressbar: import("svelte").Component<{
28
28
  * The `aria-valuetext` attribute on the wrapper element.
29
29
  */
30
30
  text?: string | undefined;
31
+ /**
32
+ * The `aria-label` attribute on the wrapper element.
33
+ */
34
+ ariaLabel?: string | undefined;
31
35
  } & Record<string, any>, {}, "">;
32
36
  type Props = {
33
37
  /**
@@ -50,4 +54,8 @@ type Props = {
50
54
  * The `aria-valuetext` attribute on the wrapper element.
51
55
  */
52
56
  text?: string | undefined;
57
+ /**
58
+ * The `aria-label` attribute on the wrapper element.
59
+ */
60
+ ariaLabel?: string | undefined;
53
61
  };
@@ -25,6 +25,7 @@
25
25
  * `aria-invalid` attribute.
26
26
  * @property {'horizontal'|'vertical'} [orientation] Orientation of the widget. An alias of the
27
27
  * `aria-orientation` attribute.
28
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
28
29
  * @property {Snippet} [children] Primary slot content.
29
30
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
30
31
  */
@@ -41,6 +42,7 @@
41
42
  required = false,
42
43
  invalid = false,
43
44
  orientation = 'horizontal',
45
+ ariaLabel = undefined,
44
46
  children,
45
47
  onChange,
46
48
  ...restProps
@@ -60,6 +62,7 @@
60
62
  aria-required={required}
61
63
  aria-invalid={invalid}
62
64
  aria-orientation={orientation}
65
+ aria-label={ariaLabel}
63
66
  onChange={(/** @type {CustomEvent} */ event) => {
64
67
  onChange?.(event);
65
68
  }}
@@ -42,6 +42,10 @@ declare const RadioGroup: import("svelte").Component<{
42
42
  * `aria-orientation` attribute.
43
43
  */
44
44
  orientation?: "horizontal" | "vertical" | undefined;
45
+ /**
46
+ * The `aria-label` attribute on the wrapper element.
47
+ */
48
+ ariaLabel?: string | undefined;
45
49
  /**
46
50
  * Primary slot content.
47
51
  */
@@ -85,6 +89,10 @@ type Props = {
85
89
  * `aria-orientation` attribute.
86
90
  */
87
91
  orientation?: "horizontal" | "vertical" | undefined;
92
+ /**
93
+ * The `aria-label` attribute on the wrapper element.
94
+ */
95
+ ariaLabel?: string | undefined;
88
96
  /**
89
97
  * Primary slot content.
90
98
  */
@@ -18,6 +18,7 @@
18
18
  * @property {boolean} [disabled] Whether to disable the handle.
19
19
  * @property {boolean} [showHandleBar] Whether to show the handle bar.
20
20
  * @property {string} [class] The `class` attribute on the wrapper element.
21
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
21
22
  * @property {Snippet} [children] Custom handle content. If omitted, a default visual indicator is
22
23
  * rendered.
23
24
  * @property {() => void} [onResizeStart] Called when a resize interaction begins (pointer down or
@@ -34,6 +35,7 @@
34
35
  disabled = false,
35
36
  showHandleBar = false,
36
37
  class: className,
38
+ ariaLabel = undefined,
37
39
  children,
38
40
  onResizeStart,
39
41
  onResizeEnd,
@@ -257,6 +259,7 @@
257
259
  aria-valuemax={currentPaneMax}
258
260
  aria-controls={ctx.paneDefs[handleIndex]?.id}
259
261
  aria-disabled={disabled || undefined}
262
+ aria-label={ariaLabel}
260
263
  class="sui resizable-handle {className ?? ''}"
261
264
  class:horizontal={isHorizontal}
262
265
  class:vertical={!isHorizontal}
@@ -21,6 +21,10 @@ declare const ResizableHandle: import("svelte").Component<{
21
21
  * The `class` attribute on the wrapper element.
22
22
  */
23
23
  class?: string | undefined;
24
+ /**
25
+ * The `aria-label` attribute on the wrapper element.
26
+ */
27
+ ariaLabel?: string | undefined;
24
28
  /**
25
29
  * Custom handle content. If omitted, a default visual indicator is
26
30
  * rendered.
@@ -50,6 +54,10 @@ type Props = {
50
54
  * The `class` attribute on the wrapper element.
51
55
  */
52
56
  class?: string | undefined;
57
+ /**
58
+ * The `aria-label` attribute on the wrapper element.
59
+ */
60
+ ariaLabel?: string | undefined;
53
61
  /**
54
62
  * Custom handle content. If omitted, a default visual indicator is
55
63
  * rendered.
@@ -41,6 +41,7 @@
41
41
  editable = true,
42
42
  position = 'bottom-left',
43
43
  filterThreshold = 5,
44
+ ariaLabel = undefined,
44
45
  children,
45
46
  chevronIcon,
46
47
  onChange,
@@ -134,6 +135,7 @@
134
135
  aria-required={required}
135
136
  aria-invalid={invalid}
136
137
  aria-haspopup="listbox"
138
+ aria-label={ariaLabel}
137
139
  >
138
140
  <div role="none" class="label">
139
141
  <TruncatedText>
@@ -157,6 +159,7 @@
157
159
  aria-controls="{id}-popup"
158
160
  aria-expanded={isPopupOpen}
159
161
  aria-haspopup="listbox"
162
+ aria-label={ariaLabel}
160
163
  />
161
164
  {/if}
162
165
  <Button
@@ -235,7 +238,7 @@
235
238
  {@render children?.()}
236
239
  </Listbox>
237
240
  {#if !hasMatchingOptions}
238
- <div role="alert" class="no-options">
241
+ <div role="alert" class="no-options" aria-live="assertive">
239
242
  {_('_sui.combobox.no_matching_options')}
240
243
  </div>
241
244
  {/if}
@@ -22,6 +22,7 @@
22
22
  * `aria-required` attribute.
23
23
  * @property {boolean} [invalid] Whether to mark the widget invalid. An alias of the
24
24
  * `aria-invalid` attribute.
25
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
25
26
  * @property {Snippet} [children] Primary slot content.
26
27
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
27
28
  */
@@ -39,6 +40,7 @@
39
40
  readonly = false,
40
41
  required = false,
41
42
  invalid = false,
43
+ ariaLabel = undefined,
42
44
  children,
43
45
  onChange,
44
46
  ...restProps
@@ -59,6 +61,7 @@
59
61
  aria-readonly={readonly}
60
62
  aria-required={required}
61
63
  aria-invalid={invalid}
64
+ aria-label={ariaLabel}
62
65
  onclick={() => {
63
66
  if (!disabled && !readonly) {
64
67
  checked = !checked;
@@ -41,6 +41,10 @@ declare const Switch: import("svelte").Component<{
41
41
  * `aria-invalid` attribute.
42
42
  */
43
43
  invalid?: boolean | undefined;
44
+ /**
45
+ * The `aria-label` attribute on the wrapper element.
46
+ */
47
+ ariaLabel?: string | undefined;
44
48
  /**
45
49
  * Primary slot content.
46
50
  */
@@ -83,6 +87,10 @@ type Props = {
83
87
  * `aria-invalid` attribute.
84
88
  */
85
89
  invalid?: boolean | undefined;
90
+ /**
91
+ * The `aria-label` attribute on the wrapper element.
92
+ */
93
+ ariaLabel?: string | undefined;
86
94
  /**
87
95
  * Primary slot content.
88
96
  */
@@ -12,6 +12,7 @@
12
12
  /**
13
13
  * @typedef {object} Props
14
14
  * @property {string} [class] The `class` attribute on the wrapper element.
15
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
15
16
  * @property {Snippet} [children] Primary slot content.
16
17
  */
17
18
 
@@ -21,13 +22,14 @@
21
22
  let {
22
23
  /* eslint-disable prefer-const */
23
24
  class: className,
25
+ ariaLabel = undefined,
24
26
  children,
25
27
  ...restProps
26
28
  /* eslint-enable prefer-const */
27
29
  } = $props();
28
30
  </script>
29
31
 
30
- <div {...restProps} role="table" class="sui table {className}">
32
+ <div {...restProps} role="table" class="sui table {className}" aria-label={ariaLabel}>
31
33
  {@render children?.()}
32
34
  </div>
33
35
 
@@ -13,6 +13,10 @@ declare const Table: import("svelte").Component<{
13
13
  * The `class` attribute on the wrapper element.
14
14
  */
15
15
  class?: string | undefined;
16
+ /**
17
+ * The `aria-label` attribute on the wrapper element.
18
+ */
19
+ ariaLabel?: string | undefined;
16
20
  /**
17
21
  * Primary slot content.
18
22
  */
@@ -23,6 +27,10 @@ type Props = {
23
27
  * The `class` attribute on the wrapper element.
24
28
  */
25
29
  class?: string | undefined;
30
+ /**
31
+ * The `aria-label` attribute on the wrapper element.
32
+ */
33
+ ariaLabel?: string | undefined;
26
34
  /**
27
35
  * Primary slot content.
28
36
  */
@@ -21,6 +21,7 @@
21
21
  * @property {'horizontal' | 'vertical'} [orientation] Orientation of the widget. An alias of the
22
22
  * `aria-orientation` attribute.
23
23
  * @property {string} [name] The `data-name` attribute on the wrapper element.
24
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
24
25
  * @property {Snippet} [children] Primary slot content.
25
26
  * @property {(event: CustomEvent) => void} [onChange] Custom `Change` event handler.
26
27
  */
@@ -35,6 +36,7 @@
35
36
  disabled = false,
36
37
  orientation = 'horizontal',
37
38
  name = undefined,
39
+ ariaLabel = undefined,
38
40
  children,
39
41
  onChange,
40
42
  ...restProps
@@ -100,6 +102,7 @@
100
102
  aria-hidden={hidden}
101
103
  aria-disabled={disabled}
102
104
  aria-orientation={orientation}
105
+ aria-label={ariaLabel}
103
106
  data-name={name || undefined}
104
107
  onInitialized={() => {
105
108
  updateIndicator();
@@ -31,6 +31,10 @@ declare const TabList: import("svelte").Component<{
31
31
  * The `data-name` attribute on the wrapper element.
32
32
  */
33
33
  name?: string | undefined;
34
+ /**
35
+ * The `aria-label` attribute on the wrapper element.
36
+ */
37
+ ariaLabel?: string | undefined;
34
38
  /**
35
39
  * Primary slot content.
36
40
  */
@@ -63,6 +67,10 @@ type Props = {
63
67
  * The `data-name` attribute on the wrapper element.
64
68
  */
65
69
  name?: string | undefined;
70
+ /**
71
+ * The `aria-label` attribute on the wrapper element.
72
+ */
73
+ ariaLabel?: string | undefined;
66
74
  /**
67
75
  * Primary slot content.
68
76
  */
@@ -3,6 +3,8 @@
3
3
  import 'prismjs';
4
4
 
5
5
  import {
6
+ CodeHighlightNode,
7
+ CodeNode,
6
8
  $createCodeNode as createCodeNode,
7
9
  $isCodeHighlightNode as isCodeHighlightNode,
8
10
  $isCodeNode as isCodeNode,
@@ -208,6 +210,7 @@ export const initEditor = ({
208
210
  .filter(([button]) => enabledButtons.includes(/** @type {TextEditorNodeType} */ (button)))
209
211
  .flatMap(([, nodes]) => nodes),
210
212
  ),
213
+ ...(isCodeEditor ? [CodeNode, CodeHighlightNode] : []),
211
214
  HorizontalRuleNode,
212
215
  TableNode,
213
216
  TableCellNode,
@@ -220,7 +220,7 @@
220
220
  id="{id}-url"
221
221
  bind:value={anchorURL}
222
222
  flex
223
- aria-label="URL"
223
+ aria-label={_('_sui.text_editor.url')}
224
224
  onkeydown={(event) => {
225
225
  onInputKeyDown(event);
226
226
  }}
@@ -234,6 +234,7 @@
234
234
  id="{id}-text"
235
235
  bind:value={anchorText}
236
236
  flex
237
+ aria-label={_('_sui.text_editor.text')}
237
238
  onkeydown={(event) => {
238
239
  onInputKeyDown(event);
239
240
  }}
@@ -39,7 +39,7 @@
39
39
  readonly = false,
40
40
  required = false,
41
41
  invalid = false,
42
- 'aria-label': ariaLabel,
42
+ ariaLabel = undefined,
43
43
  children,
44
44
  oninput,
45
45
  ...restProps
@@ -18,6 +18,7 @@
18
18
  * @property {'horizontal' | 'vertical'} [orientation] Orientation of the widget. An alias of the
19
19
  * `aria-orientation` attribute.
20
20
  * @property {'primary' | 'secondary'} [variant] The style variant of the toolbar.
21
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
21
22
  * @property {Snippet} [children] Primary slot content.
22
23
  */
23
24
 
@@ -31,6 +32,7 @@
31
32
  disabled = false,
32
33
  orientation = 'horizontal',
33
34
  variant = undefined,
35
+ ariaLabel = undefined,
34
36
  children,
35
37
  ...restProps
36
38
  /* eslint-enable prefer-const */
@@ -45,6 +47,7 @@
45
47
  aria-hidden={hidden}
46
48
  aria-disabled={disabled}
47
49
  aria-orientation={orientation}
50
+ aria-label={ariaLabel}
48
51
  >
49
52
  <div role="none" class="inner" inert={disabled}>
50
53
  {@render children?.()}
@@ -31,6 +31,10 @@ declare const Toolbar: import("svelte").Component<{
31
31
  * The style variant of the toolbar.
32
32
  */
33
33
  variant?: "primary" | "secondary" | undefined;
34
+ /**
35
+ * The `aria-label` attribute on the wrapper element.
36
+ */
37
+ ariaLabel?: string | undefined;
34
38
  /**
35
39
  * Primary slot content.
36
40
  */
@@ -59,6 +63,10 @@ type Props = {
59
63
  * The style variant of the toolbar.
60
64
  */
61
65
  variant?: "primary" | "secondary" | undefined;
66
+ /**
67
+ * The `aria-label` attribute on the wrapper element.
68
+ */
69
+ ariaLabel?: string | undefined;
62
70
  /**
63
71
  * Primary slot content.
64
72
  */
@@ -14,6 +14,7 @@
14
14
  * @property {boolean} [hidden] Whether to hide the widget.
15
15
  * @property {boolean} [disabled] Whether to disable the widget. An alias of the `aria-disabled`
16
16
  * attribute.
17
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
17
18
  * @property {Snippet} [children] Primary slot content.
18
19
  */
19
20
 
@@ -25,6 +26,7 @@
25
26
  class: className,
26
27
  hidden = false,
27
28
  disabled = false,
29
+ ariaLabel = undefined,
28
30
  children,
29
31
  ...restProps
30
32
  /* eslint-enable prefer-const */
@@ -38,6 +40,7 @@
38
40
  {hidden}
39
41
  aria-hidden={hidden}
40
42
  aria-disabled={disabled}
43
+ aria-label={ariaLabel}
41
44
  >
42
45
  <div role="none" class="inner" inert={disabled}>
43
46
  {@render children?.()}
@@ -21,6 +21,10 @@ declare const Group: import("svelte").Component<{
21
21
  * attribute.
22
22
  */
23
23
  disabled?: boolean | undefined;
24
+ /**
25
+ * The `aria-label` attribute on the wrapper element.
26
+ */
27
+ ariaLabel?: string | undefined;
24
28
  /**
25
29
  * Primary slot content.
26
30
  */
@@ -40,6 +44,10 @@ type Props = {
40
44
  * attribute.
41
45
  */
42
46
  disabled?: boolean | undefined;
47
+ /**
48
+ * The `aria-label` attribute on the wrapper element.
49
+ */
50
+ ariaLabel?: string | undefined;
43
51
  /**
44
52
  * Primary slot content.
45
53
  */
@@ -1,45 +1,85 @@
1
+ # Dialog action button labels
1
2
  ok: OK
2
3
  cancel: Cancel
3
4
  close: Close
5
+
6
+ # Button to clear content, e.g. search input or calendar date
4
7
  clear: Clear
8
+
9
+ # Text editor dialog buttons for link/image insertion
5
10
  insert: Insert
6
11
  update: Update
7
12
  remove: Remove
13
+
14
+ # Combobox dropdown toggle button aria-labels
8
15
  collapse: Collapse
9
16
  expand: Expand
17
+
18
+ # Infobar/toast dismiss button label
10
19
  dismiss: Dismiss
20
+
21
+ # Calendar component
11
22
  calendar:
23
+ # View switcher group aria-labels and navigation button aria-labels
12
24
  year: Year
13
25
  previous_decade: Previous Decade
14
26
  next_decade: Next Decade
15
27
  month: Month
16
28
  previous_month: Previous Month
17
29
  next_month: Next Month
30
+ # “Today” button label in footer
18
31
  today: Today
32
+
33
+ # Split button component
19
34
  split_button:
35
+ # Wrapper aria-label, e.g. “Save Options” when primary button is “Save”
20
36
  x_options: "{$name} Options"
37
+ # Dropdown toggle aria-label
21
38
  more_options: More Options
39
+
40
+ # Combobox component
22
41
  combobox:
42
+ # Placeholder when no option is selected
23
43
  select_an_option: Select an option…
44
+ # Filter input aria-label
24
45
  filter_options: Filter Options
46
+ # Empty state message when filter has no matches
25
47
  no_matching_options: No matching options found
48
+
49
+ # Number input component
26
50
  number_input:
27
- decrease: Decrease
51
+ # Spin button aria-labels for incrementing/decrementing the number value
28
52
  increase: Increase
53
+ decrease: Decrease
54
+
55
+ # Password input component
29
56
  password_input:
57
+ # Visibility toggle button aria-labels
30
58
  show_password: Show Password
31
59
  hide_password: Hide Password
60
+
61
+ # Secret input component (API keys, tokens, etc.)
32
62
  secret_input:
63
+ # Visibility toggle button aria-labels
33
64
  show_secret: Show Secret
34
65
  hide_secret: Hide Secret
66
+
67
+ # Select tags component (multi-select)
35
68
  select_tags:
36
- selected_options: Selected options
69
+ # Listbox aria-label
70
+ selected_options: Selected Options
71
+ # Remove button aria-label, e.g. “Remove Option 1”
37
72
  remove_x: "Remove {$name}"
73
+
74
+ # Text editor component
38
75
  text_editor:
76
+ # Toolbar aria-labels
39
77
  text_editor: Text Editor
40
78
  code_editor: Code Editor
79
+ # Block style menu button and menu aria-labels
41
80
  text_style_options: Text Style Options
42
81
  show_text_style_options: Show Text Style Options
82
+ # Block style menu items
43
83
  paragraph: Paragraph
44
84
  heading_1: Heading 1
45
85
  heading_2: Heading 2
@@ -51,16 +91,23 @@ text_editor:
51
91
  numbered_list: Numbered List
52
92
  blockquote: Block Quote
53
93
  code_block: Code Block
94
+ # Inline style button aria-labels
54
95
  bold: Bold
55
96
  italic: Italic
56
97
  strikethrough: Strikethrough
57
98
  code: Code
58
99
  link: Link
100
+ # Link dialog title
59
101
  insert_link: Insert Link
60
102
  update_link: Update Link
103
+ # Link dialog input field labels
61
104
  text: Text
62
105
  url: URL
106
+ # Markdown mode toggle button aria-label
63
107
  edit_in_markdown: Edit in Markdown
64
- converter_error: There was an error while enabling rich text mode. Please use the plain text editor instead.
108
+ # Error message when rich text conversion fails
109
+ converter_error: Unable to enable rich text mode. Please use the plain text editor instead.
110
+ # Language selector aria-label
65
111
  language: Language
112
+ # Plain text mode option in language selector
66
113
  plain_text: Plain Text
@@ -1,45 +1,85 @@
1
+ # Dialog action button labels
1
2
  ok: OK
2
3
  cancel: キャンセル
3
4
  close: 閉じる
5
+
6
+ # Button to clear content, e.g. search input or calendar date
4
7
  clear: クリア
8
+
9
+ # Text editor dialog buttons for link/image insertion
5
10
  insert: 挿入
6
11
  update: 更新
7
12
  remove: 削除
13
+
14
+ # Combobox dropdown toggle button aria-labels
8
15
  collapse: 折り畳む
9
16
  expand: 広げる
17
+
18
+ # Infobar/toast dismiss button label
10
19
  dismiss: 閉じる
20
+
21
+ # Calendar component
11
22
  calendar:
23
+ # View switcher group aria-labels and navigation button aria-labels
12
24
  year: 年
13
25
  previous_decade: 前の 10 年
14
26
  next_decade: 次の 10 年
15
27
  month: 月
16
28
  previous_month: 前月
17
29
  next_month: 翌月
30
+ # "Today" button label in footer
18
31
  today: 今日
32
+
33
+ # Split button component
19
34
  split_button:
35
+ # Wrapper aria-label, e.g. "Save Options" when primary button is "Save"
20
36
  x_options: "{$name} オプション"
37
+ # Dropdown toggle aria-label
21
38
  more_options: その他のオプション
39
+
40
+ # Combobox component
22
41
  combobox:
42
+ # Placeholder when no option is selected
23
43
  select_an_option: オプションを選択…
44
+ # Filter input aria-label
24
45
  filter_options: オプションを絞り込み
46
+ # Empty state message when filter has no matches
25
47
  no_matching_options: 一致するオプションは見つかりませんでした
48
+
49
+ # Number input component
26
50
  number_input:
27
- decrease: 減らす
51
+ # Spin button aria-labels for incrementing/decrementing the number value
28
52
  increase: 増やす
53
+ decrease: 減らす
54
+
55
+ # Password input component
29
56
  password_input:
57
+ # Visibility toggle button aria-labels
30
58
  show_password: パスワードを表示
31
59
  hide_password: パスワードを隠す
60
+
61
+ # Secret input component (API keys, tokens, etc.)
32
62
  secret_input:
63
+ # Visibility toggle button aria-labels
33
64
  show_secret: シークレットを表示
34
65
  hide_secret: シークレットを隠す
66
+
67
+ # Select tags component (multi-select)
35
68
  select_tags:
69
+ # Listbox aria-label
36
70
  selected_options: 選択済みのオプション
71
+ # Remove button aria-label, e.g. "Remove Option 1"
37
72
  remove_x: "{$name} を削除"
73
+
74
+ # Text editor component
38
75
  text_editor:
76
+ # Toolbar aria-labels
39
77
  text_editor: テキストエディター
40
78
  code_editor: コードエディター
79
+ # Block style menu button and menu aria-labels
41
80
  text_style_options: テキストスタイルオプション
42
81
  show_text_style_options: テキストスタイルオプションを表示
82
+ # Block style menu items
43
83
  paragraph: 段落
44
84
  heading_1: 見出し 1
45
85
  heading_2: 見出し 2
@@ -51,16 +91,23 @@ text_editor:
51
91
  numbered_list: 番号付きリスト
52
92
  blockquote: ブロック引用
53
93
  code_block: コードブロック
94
+ # Inline style button aria-labels
54
95
  bold: 太字
55
96
  italic: 斜体
56
97
  strikethrough: 取り消し線
57
98
  code: コード
58
99
  link: リンク
100
+ # Link dialog title
59
101
  insert_link: リンクを挿入
60
102
  update_link: リンクを更新
103
+ # Link dialog input field labels
61
104
  text: テキスト
62
105
  url: URL
106
+ # Markdown mode toggle button aria-label
63
107
  edit_in_markdown: マークダウンで編集
64
- converter_error: リッチテキストモードを有効化中に問題が発生しました。代わりにプレーンテキストエディターを使用してください。
108
+ # Error message when rich text conversion fails
109
+ converter_error: リッチテキストモードを有効にできませんでした。プレーンテキストエディターを使用してください。
110
+ # Language selector aria-label
65
111
  language: 言語
112
+ # Plain text mode option in language selector
66
113
  plain_text: プレーンテキスト
@@ -397,6 +397,10 @@ export type ComboboxProps = {
397
397
  * Use `-1` to always hide the filter.
398
398
  */
399
399
  filterThreshold?: number | undefined;
400
+ /**
401
+ * The `aria-label` attribute on the wrapper element.
402
+ */
403
+ ariaLabel?: string | undefined;
400
404
  /**
401
405
  * Primary slot content.
402
406
  */
@@ -490,7 +494,7 @@ export type TextInputProps = {
490
494
  /**
491
495
  * `aria-label` attribute.
492
496
  */
493
- "aria-label"?: string | undefined;
497
+ ariaLabel?: string | undefined;
494
498
  /**
495
499
  * Primary slot content.
496
500
  */
package/dist/typedefs.js CHANGED
@@ -139,6 +139,7 @@
139
139
  * @property {PopupPosition} [position] Where to show the dropdown menu.
140
140
  * @property {number} [filterThreshold] Number of items to start showing the filter. Default: `5`.
141
141
  * Use `-1` to always hide the filter.
142
+ * @property {string} [ariaLabel] The `aria-label` attribute on the wrapper element.
142
143
  * @property {Snippet} [children] Primary slot content.
143
144
  * @property {Snippet} [chevronIcon] Chevron icon slot content.
144
145
  * @property {(event: CustomEvent) => void} [onChange] Custom `change` event handler.
@@ -174,7 +175,7 @@
174
175
  * `aria-required` attribute.
175
176
  * @property {boolean} [invalid] Whether to mark the widget invalid. An alias of the `aria-invalid`
176
177
  * attribute.
177
- * @property {string} [aria-label] `aria-label` attribute.
178
+ * @property {string} [ariaLabel] `aria-label` attribute.
178
179
  * @property {Snippet} [children] Primary slot content.
179
180
  */
180
181
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltia/ui",
3
- "version": "0.41.3",
3
+ "version": "0.41.5",
4
4
  "description": "A collection of Svelte components and utilities for building user interfaces.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -53,9 +53,9 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@sveltejs/adapter-auto": "^7.0.1",
56
- "@sveltejs/kit": "^2.69.1",
56
+ "@sveltejs/kit": "^2.69.2",
57
57
  "@sveltejs/package": "^2.5.8",
58
- "@sveltejs/vite-plugin-svelte": "^7.1.4",
58
+ "@sveltejs/vite-plugin-svelte": "^7.2.0",
59
59
  "@vitest/coverage-v8": "^4.1.10",
60
60
  "cspell": "^10.0.1",
61
61
  "eslint": "^9.39.4",
@@ -77,7 +77,7 @@
77
77
  "stylelint-config-recommended-scss": "^17.0.1",
78
78
  "stylelint-scss": "^7.2.0",
79
79
  "svelte": "^5.56.4",
80
- "svelte-check": "^4.7.1",
80
+ "svelte-check": "^4.7.2",
81
81
  "svelte-preprocess": "^6.0.5",
82
82
  "tslib": "^2.8.1",
83
83
  "vite": "^8.1.3",