@sveltia/ui 0.16.0 → 0.17.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 (156) hide show
  1. package/package/components/alert/alert.svelte +22 -7
  2. package/package/components/alert/alert.svelte.d.ts +32 -28
  3. package/package/components/button/button-group.svelte +16 -6
  4. package/package/components/button/button-group.svelte.d.ts +23 -23
  5. package/package/components/button/button.svelte +41 -136
  6. package/package/components/button/button.svelte.d.ts +5 -146
  7. package/package/components/button/select-button-group.svelte +31 -37
  8. package/package/components/button/select-button-group.svelte.d.ts +76 -34
  9. package/package/components/button/select-button.svelte +19 -62
  10. package/package/components/button/select-button.svelte.d.ts +17 -73
  11. package/package/components/button/split-button.svelte +37 -47
  12. package/package/components/button/split-button.svelte.d.ts +40 -47
  13. package/package/components/calendar/calendar.svelte +80 -55
  14. package/package/components/calendar/calendar.svelte.d.ts +13 -10
  15. package/package/components/checkbox/checkbox-group.svelte +23 -20
  16. package/package/components/checkbox/checkbox-group.svelte.d.ts +49 -27
  17. package/package/components/checkbox/checkbox.svelte +57 -67
  18. package/package/components/checkbox/checkbox.svelte.d.ts +67 -55
  19. package/package/components/dialog/alert-dialog.svelte +9 -36
  20. package/package/components/dialog/alert-dialog.svelte.d.ts +5 -44
  21. package/package/components/dialog/confirmation-dialog.svelte +9 -41
  22. package/package/components/dialog/confirmation-dialog.svelte.d.ts +5 -46
  23. package/package/components/dialog/dialog.svelte +60 -105
  24. package/package/components/dialog/dialog.svelte.d.ts +5 -102
  25. package/package/components/dialog/prompt-dialog.svelte +32 -61
  26. package/package/components/dialog/prompt-dialog.svelte.d.ts +38 -62
  27. package/package/components/disclosure/disclosure.svelte +39 -34
  28. package/package/components/disclosure/disclosure.svelte.d.ts +74 -56
  29. package/package/components/divider/divider.svelte +18 -14
  30. package/package/components/divider/divider.svelte.d.ts +31 -10
  31. package/package/components/divider/spacer.svelte +13 -8
  32. package/package/components/divider/spacer.svelte.d.ts +20 -9
  33. package/package/components/drawer/drawer.svelte +63 -76
  34. package/package/components/drawer/drawer.svelte.d.ts +102 -84
  35. package/package/components/grid/grid-body.svelte +15 -10
  36. package/package/components/grid/grid-body.svelte.d.ts +30 -24
  37. package/package/components/grid/grid-cell.svelte +16 -6
  38. package/package/components/grid/grid-cell.svelte.d.ts +23 -23
  39. package/package/components/grid/grid-col-header.svelte +16 -6
  40. package/package/components/grid/grid-col-header.svelte.d.ts +23 -23
  41. package/package/components/grid/grid-foot.svelte +16 -6
  42. package/package/components/grid/grid-foot.svelte.d.ts +23 -23
  43. package/package/components/grid/grid-head.svelte +16 -6
  44. package/package/components/grid/grid-head.svelte.d.ts +23 -23
  45. package/package/components/grid/grid-row-header.svelte +16 -6
  46. package/package/components/grid/grid-row-header.svelte.d.ts +23 -23
  47. package/package/components/grid/grid-row.svelte +19 -23
  48. package/package/components/grid/grid-row.svelte.d.ts +48 -38
  49. package/package/components/grid/grid.svelte +26 -25
  50. package/package/components/grid/grid.svelte.d.ts +56 -32
  51. package/package/components/icon/icon.svelte +14 -9
  52. package/package/components/icon/icon.svelte.d.ts +20 -9
  53. package/package/components/listbox/listbox.svelte +46 -52
  54. package/package/components/listbox/listbox.svelte.d.ts +102 -40
  55. package/package/components/listbox/option-group.svelte +23 -19
  56. package/package/components/listbox/option-group.svelte.d.ts +49 -27
  57. package/package/components/listbox/option.svelte +44 -57
  58. package/package/components/listbox/option.svelte.d.ts +54 -84
  59. package/package/components/menu/menu-button.svelte +42 -63
  60. package/package/components/menu/menu-button.svelte.d.ts +18 -72
  61. package/package/components/menu/menu-item-checkbox.svelte +29 -41
  62. package/package/components/menu/menu-item-checkbox.svelte.d.ts +5 -44
  63. package/package/components/menu/menu-item-group.svelte +22 -19
  64. package/package/components/menu/menu-item-group.svelte.d.ts +41 -27
  65. package/package/components/menu/menu-item-radio.svelte +29 -41
  66. package/package/components/menu/menu-item-radio.svelte.d.ts +5 -44
  67. package/package/components/menu/menu-item.svelte +66 -75
  68. package/package/components/menu/menu-item.svelte.d.ts +5 -80
  69. package/package/components/menu/menu.svelte +25 -22
  70. package/package/components/menu/menu.svelte.d.ts +50 -30
  71. package/package/components/radio/radio-group.svelte +36 -42
  72. package/package/components/radio/radio-group.svelte.d.ts +85 -35
  73. package/package/components/radio/radio.svelte +45 -48
  74. package/package/components/radio/radio.svelte.d.ts +96 -42
  75. package/package/components/select/combobox.svelte +76 -101
  76. package/package/components/select/combobox.svelte.d.ts +5 -56
  77. package/package/components/select/select-tags.svelte +48 -59
  78. package/package/components/select/select-tags.svelte.d.ts +109 -28
  79. package/package/components/select/select.svelte +18 -37
  80. package/package/components/select/select.svelte.d.ts +5 -40
  81. package/package/components/slider/slider.svelte +71 -68
  82. package/package/components/slider/slider.svelte.d.ts +142 -31
  83. package/package/components/switch/switch.svelte +36 -46
  84. package/package/components/switch/switch.svelte.d.ts +83 -37
  85. package/package/components/table/table-body.svelte +15 -11
  86. package/package/components/table/table-body.svelte.d.ts +30 -24
  87. package/package/components/table/table-cell.svelte +16 -6
  88. package/package/components/table/table-cell.svelte.d.ts +23 -23
  89. package/package/components/table/table-col-header.svelte +16 -6
  90. package/package/components/table/table-col-header.svelte.d.ts +23 -23
  91. package/package/components/table/table-foot.svelte +16 -6
  92. package/package/components/table/table-foot.svelte.d.ts +23 -23
  93. package/package/components/table/table-head.svelte +16 -6
  94. package/package/components/table/table-head.svelte.d.ts +23 -23
  95. package/package/components/table/table-row-header.svelte +16 -6
  96. package/package/components/table/table-row-header.svelte.d.ts +23 -23
  97. package/package/components/table/table-row.svelte +16 -6
  98. package/package/components/table/table-row.svelte.d.ts +23 -23
  99. package/package/components/table/table.svelte +16 -6
  100. package/package/components/table/table.svelte.d.ts +23 -23
  101. package/package/components/tabs/tab-box.svelte +16 -9
  102. package/package/components/tabs/tab-box.svelte.d.ts +32 -22
  103. package/package/components/tabs/tab-list.svelte +36 -35
  104. package/package/components/tabs/tab-list.svelte.d.ts +65 -33
  105. package/package/components/tabs/tab-panel.svelte +16 -6
  106. package/package/components/tabs/tab-panel.svelte.d.ts +23 -23
  107. package/package/components/tabs/tab-panels.svelte +16 -6
  108. package/package/components/tabs/tab-panels.svelte.d.ts +23 -21
  109. package/package/components/tabs/tab.svelte +28 -25
  110. package/package/components/tabs/tab.svelte.d.ts +17 -63
  111. package/package/components/text-editor/lexical-root.svelte +38 -32
  112. package/package/components/text-editor/lexical-root.svelte.d.ts +74 -13
  113. package/package/components/text-editor/text-editor.svelte +63 -79
  114. package/package/components/text-editor/text-editor.svelte.d.ts +97 -20
  115. package/package/components/text-editor/toolbar/editor-toolbar.svelte +41 -24
  116. package/package/components/text-editor/toolbar/editor-toolbar.svelte.d.ts +32 -7
  117. package/package/components/text-editor/toolbar/format-text-button.svelte +15 -5
  118. package/package/components/text-editor/toolbar/format-text-button.svelte.d.ts +13 -6
  119. package/package/components/text-editor/toolbar/insert-link-button.svelte +18 -16
  120. package/package/components/text-editor/toolbar/insert-link-button.svelte.d.ts +4 -8
  121. package/package/components/text-editor/toolbar/toggle-block-menu-item.svelte +19 -7
  122. package/package/components/text-editor/toolbar/toggle-block-menu-item.svelte.d.ts +13 -6
  123. package/package/components/text-field/number-input.svelte +63 -81
  124. package/package/components/text-field/number-input.svelte.d.ts +48 -55
  125. package/package/components/text-field/password-input.svelte +38 -57
  126. package/package/components/text-field/password-input.svelte.d.ts +16 -45
  127. package/package/components/text-field/search-bar.svelte +45 -62
  128. package/package/components/text-field/search-bar.svelte.d.ts +25 -66
  129. package/package/components/text-field/text-area.svelte +38 -54
  130. package/package/components/text-field/text-area.svelte.d.ts +100 -35
  131. package/package/components/text-field/text-input.svelte +30 -86
  132. package/package/components/text-field/text-input.svelte.d.ts +4 -78
  133. package/package/components/toast/toast.svelte +36 -30
  134. package/package/components/toast/toast.svelte.d.ts +50 -28
  135. package/package/components/toolbar/toolbar.svelte +25 -25
  136. package/package/components/toolbar/toolbar.svelte.d.ts +57 -29
  137. package/package/components/util/app-shell.svelte +22 -10
  138. package/package/components/util/app-shell.svelte.d.ts +25 -29
  139. package/package/components/util/group.svelte +20 -15
  140. package/package/components/util/group.svelte.d.ts +40 -26
  141. package/package/components/util/modal.svelte +89 -105
  142. package/package/components/util/modal.svelte.d.ts +6 -71
  143. package/package/components/util/placeholder.svelte +21 -0
  144. package/package/components/util/{portal.svelte.d.ts → placeholder.svelte.d.ts} +17 -25
  145. package/package/components/util/popup.svelte +65 -62
  146. package/package/components/util/popup.svelte.d.ts +89 -77
  147. package/package/services/{group.js → group.svelte.js} +11 -12
  148. package/package/services/{popup.js → popup.svelte.js} +6 -5
  149. package/package/typedefs.d.ts +545 -0
  150. package/package/typedefs.js +202 -0
  151. package/package.json +11 -18
  152. package/package/components/util/portal.svelte +0 -36
  153. /package/package/services/{events.d.ts → events.svelte.d.ts} +0 -0
  154. /package/package/services/{events.js → events.svelte.js} +0 -0
  155. /package/package/services/{group.d.ts → group.svelte.d.ts} +0 -0
  156. /package/package/services/{popup.d.ts → popup.svelte.d.ts} +0 -0
@@ -6,20 +6,30 @@
6
6
  -->
7
7
  <script>
8
8
  /**
9
- * The `class` attribute on the wrapper element.
10
- * @type {string}
9
+ * @typedef {object} Props
10
+ * @property {string} [class] - The `class` attribute on the wrapper element.
11
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
11
12
  */
12
- let className = '';
13
- export { className as class };
13
+
14
+ /**
15
+ * @type {Props & Record<string, any>}
16
+ */
17
+ let {
18
+ /* eslint-disable prefer-const */
19
+ class: className,
20
+ children,
21
+ ...restProps
22
+ /* eslint-enable prefer-const */
23
+ } = $props();
14
24
  </script>
15
25
 
16
26
  <div
27
+ {...restProps}
17
28
  role="rowgroup"
18
29
  class="sui table-head {className}"
19
30
  aria-roledescription="table head"
20
- {...$$restProps}
21
31
  >
22
- <slot />
32
+ {@render children?.()}
23
33
  </div>
24
34
 
25
35
  <style>.table-head {
@@ -1,36 +1,36 @@
1
1
  export default TableHead;
2
- type TableHead = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- [x: string]: any;
4
- class?: string | undefined;
5
- }, {
6
- default: {};
7
- }>, {
2
+ type TableHead = SvelteComponent<Props & Record<string, any>, {
8
3
  [evt: string]: CustomEvent<any>;
9
- }, {
10
- default: {};
11
- }> & {
12
- $$bindings?: string | undefined;
4
+ }, {}> & {
5
+ $$bindings?: "" | undefined;
13
6
  };
14
7
  /**
15
8
  * The equivalent of the HTML `<thead>` element.
16
9
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead
17
10
  * @see https://w3c.github.io/aria/#rowgroup
18
11
  */
19
- declare const TableHead: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- [x: string]: any;
12
+ declare const TableHead: $$__sveltets_2_IsomorphicComponent<{
13
+ /**
14
+ * - The `class` attribute on the wrapper element.
15
+ */
21
16
  class?: string | undefined;
22
- }, {
23
- default: {};
24
- }>, {
17
+ /**
18
+ * - Primary slot content.
19
+ */
20
+ children?: import("svelte").Snippet<[]> | undefined;
21
+ } & Record<string, any>, {
25
22
  [evt: string]: CustomEvent<any>;
26
- }, {
27
- default: {};
28
- }, {}, string>;
29
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
30
- default: any;
31
- } ? Props extends Record<string, never> ? any : {
32
- children?: any;
33
- } : {});
23
+ }, {}, {}, "">;
24
+ type Props = {
25
+ /**
26
+ * - The `class` attribute on the wrapper element.
27
+ */
28
+ class?: string | undefined;
29
+ /**
30
+ * - Primary slot content.
31
+ */
32
+ children?: import("svelte").Snippet<[]> | undefined;
33
+ };
34
34
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
35
35
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
36
36
  $$bindings?: Bindings;
@@ -6,15 +6,25 @@
6
6
  -->
7
7
  <script>
8
8
  /**
9
- * The `class` attribute on the wrapper element.
10
- * @type {string}
9
+ * @typedef {object} Props
10
+ * @property {string} [class] - The `class` attribute on the wrapper element.
11
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
11
12
  */
12
- let className = '';
13
- export { className as class };
13
+
14
+ /**
15
+ * @type {Props & Record<string, any>}
16
+ */
17
+ let {
18
+ /* eslint-disable prefer-const */
19
+ class: className,
20
+ children,
21
+ ...restProps
22
+ /* eslint-enable prefer-const */
23
+ } = $props();
14
24
  </script>
15
25
 
16
- <div role="rowheader" class="sui table-row-header {className}" {...$$restProps}>
17
- <slot />
26
+ <div {...restProps} role="rowheader" class="sui table-row-header {className}">
27
+ {@render children?.()}
18
28
  </div>
19
29
 
20
30
  <style>.table-row-header {
@@ -1,36 +1,36 @@
1
1
  export default TableRowHeader;
2
- type TableRowHeader = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- [x: string]: any;
4
- class?: string | undefined;
5
- }, {
6
- default: {};
7
- }>, {
2
+ type TableRowHeader = SvelteComponent<Props & Record<string, any>, {
8
3
  [evt: string]: CustomEvent<any>;
9
- }, {
10
- default: {};
11
- }> & {
12
- $$bindings?: string | undefined;
4
+ }, {}> & {
5
+ $$bindings?: "" | undefined;
13
6
  };
14
7
  /**
15
8
  * The equivalent of the HTML `<th scope="row">` element.
16
9
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
17
10
  * @see https://w3c.github.io/aria/#rowheader
18
11
  */
19
- declare const TableRowHeader: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- [x: string]: any;
12
+ declare const TableRowHeader: $$__sveltets_2_IsomorphicComponent<{
13
+ /**
14
+ * - The `class` attribute on the wrapper element.
15
+ */
21
16
  class?: string | undefined;
22
- }, {
23
- default: {};
24
- }>, {
17
+ /**
18
+ * - Primary slot content.
19
+ */
20
+ children?: import("svelte").Snippet<[]> | undefined;
21
+ } & Record<string, any>, {
25
22
  [evt: string]: CustomEvent<any>;
26
- }, {
27
- default: {};
28
- }, {}, string>;
29
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
30
- default: any;
31
- } ? Props extends Record<string, never> ? any : {
32
- children?: any;
33
- } : {});
23
+ }, {}, {}, "">;
24
+ type Props = {
25
+ /**
26
+ * - The `class` attribute on the wrapper element.
27
+ */
28
+ class?: string | undefined;
29
+ /**
30
+ * - Primary slot content.
31
+ */
32
+ children?: import("svelte").Snippet<[]> | undefined;
33
+ };
34
34
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
35
35
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
36
36
  $$bindings?: Bindings;
@@ -6,15 +6,25 @@
6
6
  -->
7
7
  <script>
8
8
  /**
9
- * The `class` attribute on the wrapper element.
10
- * @type {string}
9
+ * @typedef {object} Props
10
+ * @property {string} [class] - The `class` attribute on the wrapper element.
11
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
11
12
  */
12
- let className = '';
13
- export { className as class };
13
+
14
+ /**
15
+ * @type {Props & Record<string, any>}
16
+ */
17
+ let {
18
+ /* eslint-disable prefer-const */
19
+ class: className,
20
+ children,
21
+ ...restProps
22
+ /* eslint-enable prefer-const */
23
+ } = $props();
14
24
  </script>
15
25
 
16
- <div role="row" class="sui table-row {className}" {...$$restProps}>
17
- <slot />
26
+ <div {...restProps} role="row" class="sui table-row {className}">
27
+ {@render children?.()}
18
28
  </div>
19
29
 
20
30
  <style>.table-row {
@@ -1,36 +1,36 @@
1
1
  export default TableRow;
2
- type TableRow = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- [x: string]: any;
4
- class?: string | undefined;
5
- }, {
6
- default: {};
7
- }>, {
2
+ type TableRow = SvelteComponent<Props & Record<string, any>, {
8
3
  [evt: string]: CustomEvent<any>;
9
- }, {
10
- default: {};
11
- }> & {
12
- $$bindings?: string | undefined;
4
+ }, {}> & {
5
+ $$bindings?: "" | undefined;
13
6
  };
14
7
  /**
15
8
  * The equivalent of the HTML `<tr>` element.
16
9
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr
17
10
  * @see https://w3c.github.io/aria/#row
18
11
  */
19
- declare const TableRow: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- [x: string]: any;
12
+ declare const TableRow: $$__sveltets_2_IsomorphicComponent<{
13
+ /**
14
+ * - The `class` attribute on the wrapper element.
15
+ */
21
16
  class?: string | undefined;
22
- }, {
23
- default: {};
24
- }>, {
17
+ /**
18
+ * - Primary slot content.
19
+ */
20
+ children?: import("svelte").Snippet<[]> | undefined;
21
+ } & Record<string, any>, {
25
22
  [evt: string]: CustomEvent<any>;
26
- }, {
27
- default: {};
28
- }, {}, string>;
29
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
30
- default: any;
31
- } ? Props extends Record<string, never> ? any : {
32
- children?: any;
33
- } : {});
23
+ }, {}, {}, "">;
24
+ type Props = {
25
+ /**
26
+ * - The `class` attribute on the wrapper element.
27
+ */
28
+ class?: string | undefined;
29
+ /**
30
+ * - Primary slot content.
31
+ */
32
+ children?: import("svelte").Snippet<[]> | undefined;
33
+ };
34
34
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
35
35
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
36
36
  $$bindings?: Bindings;
@@ -6,15 +6,25 @@
6
6
  -->
7
7
  <script>
8
8
  /**
9
- * The `class` attribute on the wrapper element.
10
- * @type {string}
9
+ * @typedef {object} Props
10
+ * @property {string} [class] - The `class` attribute on the wrapper element.
11
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
11
12
  */
12
- let className = '';
13
- export { className as class };
13
+
14
+ /**
15
+ * @type {Props & Record<string, any>}
16
+ */
17
+ let {
18
+ /* eslint-disable prefer-const */
19
+ class: className,
20
+ children,
21
+ ...restProps
22
+ /* eslint-enable prefer-const */
23
+ } = $props();
14
24
  </script>
15
25
 
16
- <div role="table" class="sui table {className}" {...$$restProps}>
17
- <slot />
26
+ <div {...restProps} role="table" class="sui table {className}">
27
+ {@render children?.()}
18
28
  </div>
19
29
 
20
30
  <style>.table {
@@ -1,36 +1,36 @@
1
1
  export default Table;
2
- type Table = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- [x: string]: any;
4
- class?: string | undefined;
5
- }, {
6
- default: {};
7
- }>, {
2
+ type Table = SvelteComponent<Props & Record<string, any>, {
8
3
  [evt: string]: CustomEvent<any>;
9
- }, {
10
- default: {};
11
- }> & {
12
- $$bindings?: string | undefined;
4
+ }, {}> & {
5
+ $$bindings?: "" | undefined;
13
6
  };
14
7
  /**
15
8
  * The equivalent of the HTML `<table>` element.
16
9
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table
17
10
  * @see https://w3c.github.io/aria/#table
18
11
  */
19
- declare const Table: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- [x: string]: any;
12
+ declare const Table: $$__sveltets_2_IsomorphicComponent<{
13
+ /**
14
+ * - The `class` attribute on the wrapper element.
15
+ */
21
16
  class?: string | undefined;
22
- }, {
23
- default: {};
24
- }>, {
17
+ /**
18
+ * - Primary slot content.
19
+ */
20
+ children?: import("svelte").Snippet<[]> | undefined;
21
+ } & Record<string, any>, {
25
22
  [evt: string]: CustomEvent<any>;
26
- }, {
27
- default: {};
28
- }, {}, string>;
29
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
30
- default: any;
31
- } ? Props extends Record<string, never> ? any : {
32
- children?: any;
33
- } : {});
23
+ }, {}, {}, "">;
24
+ type Props = {
25
+ /**
26
+ * - The `class` attribute on the wrapper element.
27
+ */
28
+ class?: string | undefined;
29
+ /**
30
+ * - Primary slot content.
31
+ */
32
+ children?: import("svelte").Snippet<[]> | undefined;
33
+ };
34
34
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
35
35
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
36
36
  $$bindings?: Bindings;
@@ -5,21 +5,28 @@
5
5
  -->
6
6
  <script>
7
7
  /**
8
- * The `class` attribute on the wrapper element.
9
- * @type {string}
8
+ * @typedef {object} Props
9
+ * @property {string} [class] - The `class` attribute on the wrapper element.
10
+ * @property {'horizontal' | 'vertical'} [orientation] - Orientation of the widget. This is
11
+ * typically contrary to `<TabList>`’s `orientation`.
12
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
10
13
  */
11
- let className = '';
12
- export { className as class };
13
14
 
14
15
  /**
15
- * Orientation of the widget. This is typically contrary to `<TabList>`’s `orientation`.
16
- * @type {'horizontal' | 'vertical'}
16
+ * @type {Props & Record<string, any>}
17
17
  */
18
- export let orientation = 'vertical';
18
+ let {
19
+ /* eslint-disable prefer-const */
20
+ class: className,
21
+ orientation = 'vertical',
22
+ children,
23
+ ...restProps
24
+ /* eslint-enable prefer-const */
25
+ } = $props();
19
26
  </script>
20
27
 
21
- <div role="none" class="sui tab-box {orientation} {className}">
22
- <slot />
28
+ <div {...restProps} role="none" class="sui tab-box {orientation} {className}">
29
+ {@render children?.()}
23
30
  </div>
24
31
 
25
32
  <style>.tab-box {
@@ -1,35 +1,45 @@
1
1
  export default TabBox;
2
- type TabBox = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- class?: string | undefined;
4
- orientation?: "vertical" | "horizontal" | undefined;
5
- }, {
6
- default: {};
7
- }>, {
2
+ type TabBox = SvelteComponent<Props & Record<string, any>, {
8
3
  [evt: string]: CustomEvent<any>;
9
- }, {
10
- default: {};
11
- }> & {
12
- $$bindings?: string | undefined;
4
+ }, {}> & {
5
+ $$bindings?: "" | undefined;
13
6
  };
14
7
  /**
15
8
  * The container of `<TabList>` and `<TabPanels>`. The component name derives from XUL. This can be
16
9
  * omitted if not using vertical tabs.
17
10
  */
18
- declare const TabBox: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
11
+ declare const TabBox: $$__sveltets_2_IsomorphicComponent<{
12
+ /**
13
+ * - The `class` attribute on the wrapper element.
14
+ */
19
15
  class?: string | undefined;
16
+ /**
17
+ * - Orientation of the widget. This is
18
+ * typically contrary to `<TabList>`’s `orientation`.
19
+ */
20
20
  orientation?: "vertical" | "horizontal" | undefined;
21
- }, {
22
- default: {};
23
- }>, {
21
+ /**
22
+ * - Primary slot content.
23
+ */
24
+ children?: import("svelte").Snippet<[]> | undefined;
25
+ } & Record<string, any>, {
24
26
  [evt: string]: CustomEvent<any>;
25
- }, {
26
- default: {};
27
- }, {}, string>;
28
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
29
- default: any;
30
- } ? Props extends Record<string, never> ? any : {
31
- children?: any;
32
- } : {});
27
+ }, {}, {}, "">;
28
+ type Props = {
29
+ /**
30
+ * - The `class` attribute on the wrapper element.
31
+ */
32
+ class?: string | undefined;
33
+ /**
34
+ * - Orientation of the widget. This is
35
+ * typically contrary to `<TabList>`’s `orientation`.
36
+ */
37
+ orientation?: "vertical" | "horizontal" | undefined;
38
+ /**
39
+ * - Primary slot content.
40
+ */
41
+ children?: import("svelte").Snippet<[]> | undefined;
42
+ };
33
43
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
34
44
  new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
35
45
  $$bindings?: Bindings;
@@ -5,47 +5,48 @@
5
5
  @see https://www.w3.org/WAI/ARIA/apg/patterns/tabs/
6
6
  -->
7
7
  <script>
8
- import { createEventDispatcher, onMount } from 'svelte';
9
- import { activateGroup } from '../../services/group';
8
+ import { onMount } from 'svelte';
9
+ import { activateGroup } from '../../services/group.svelte';
10
10
 
11
11
  /**
12
- * The `class` attribute on the wrapper element.
13
- * @type {string}
12
+ * @typedef {object} Props
13
+ * @property {string} [class] - The `class` attribute on the wrapper element.
14
+ * @property {boolean} [hidden] - Whether to hide the widget.
15
+ * @property {boolean} [disabled] - Whether to disable the widget. An alias of the `aria-disabled`
16
+ * attribute.
17
+ * @property {'horizontal' | 'vertical'} [orientation] - Orientation of the widget. An alias of
18
+ * the `aria-orientation` attribute.
19
+ * @property {string | undefined} [name] - The `data-name` attribute on the wrapper element.
20
+ * @property {import('svelte').Snippet} [children] - Primary slot content.
21
+ * @property {(event: CustomEvent) => void} [onChange] - Custom `Change` event handler.
14
22
  */
15
- let className = '';
16
- export { className as class };
17
- /**
18
- * Whether to hide the widget. An alias of the `aria-hidden` attribute.
19
- * @type {boolean | undefined}
20
- */
21
- export let hidden = undefined;
22
- /**
23
- * Whether to disable the widget. An alias of the `aria-disabled` attribute.
24
- * @type {boolean}
25
- */
26
- export let disabled = false;
27
- /**
28
- * Orientation of the widget. An alias of the `aria-orientation` attribute.
29
- * @type {'horizontal' | 'vertical'}
30
- */
31
- export let orientation = 'horizontal';
23
+
32
24
  /**
33
- * The `data-name` attribute on the wrapper element.
34
- * @type {string | undefined}
25
+ * @type {Props & Record<string, any>}
35
26
  */
36
- export let name = undefined;
27
+ let {
28
+ /* eslint-disable prefer-const */
29
+ class: className,
30
+ hidden = false,
31
+ disabled = false,
32
+ orientation = 'horizontal',
33
+ name = undefined,
34
+ children,
35
+ onChange,
36
+ ...restProps
37
+ /* eslint-enable prefer-const */
38
+ } = $props();
37
39
 
38
- const dispatch = createEventDispatcher();
39
40
  /**
40
41
  * A reference to the wrapper element.
41
42
  * @type {HTMLElement | undefined}
42
43
  */
43
- let wrapper = undefined;
44
+ let wrapper = $state();
44
45
  /**
45
46
  * The indicator’s CSS style.
46
47
  * @type {string | undefined}
47
48
  */
48
- let indicatorStyle = undefined;
49
+ let indicatorStyle = $state();
49
50
 
50
51
  /**
51
52
  * Update the indicator position.
@@ -87,26 +88,26 @@
87
88
  </script>
88
89
 
89
90
  <div
91
+ bind:this={wrapper}
92
+ {...restProps}
90
93
  role="tablist"
91
94
  class="sui tab-list {className}"
92
- hidden={hidden || undefined}
95
+ {hidden}
93
96
  aria-hidden={hidden}
94
97
  aria-disabled={disabled}
95
98
  aria-orientation={orientation}
96
99
  data-name={name || undefined}
97
- {...$$restProps}
98
- bind:this={wrapper}
99
- use:activateGroup
100
- on:initialized={() => {
100
+ onInitialized={() => {
101
101
  updateIndicator();
102
102
  }}
103
- on:change={(/** @type {CustomEvent} */ event) => {
104
- dispatch('change', event.detail);
103
+ onChange={(/** @type {CustomEvent} */ event) => {
105
104
  updateIndicator();
105
+ onChange?.(event);
106
106
  }}
107
+ use:activateGroup
107
108
  >
108
109
  <div role="none" class="inner" inert={disabled}>
109
- <slot />
110
+ {@render children?.()}
110
111
  </div>
111
112
  <div role="none" class="indicator" style={indicatorStyle}></div>
112
113
  </div>