@sveltia/ui 0.7.4 → 0.8.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 (118) hide show
  1. package/package/components/alert/alert.svelte +4 -4
  2. package/package/components/alert/alert.svelte.d.ts +2 -2
  3. package/package/components/button/button.svelte +13 -3
  4. package/package/components/button/button.svelte.d.ts +11 -4
  5. package/package/components/button/select-button-group.svelte +12 -8
  6. package/package/components/button/select-button.svelte +5 -4
  7. package/package/components/button/select-button.svelte.d.ts +2 -0
  8. package/package/components/calendar/calendar.svelte +20 -14
  9. package/package/components/checkbox/checkbox-group.svelte +6 -5
  10. package/package/components/checkbox/checkbox.svelte +16 -9
  11. package/package/components/checkbox/checkbox.svelte.d.ts +2 -2
  12. package/package/components/dialog/alert-dialog.svelte +50 -0
  13. package/package/components/dialog/alert-dialog.svelte.d.ts +55 -0
  14. package/package/components/dialog/confirmation-dialog.svelte +55 -0
  15. package/package/components/dialog/confirmation-dialog.svelte.d.ts +57 -0
  16. package/package/components/dialog/dialog.svelte +164 -220
  17. package/package/components/dialog/dialog.svelte.d.ts +20 -12
  18. package/package/components/dialog/prompt-dialog.svelte +78 -0
  19. package/package/components/dialog/prompt-dialog.svelte.d.ts +72 -0
  20. package/package/components/disclosure/disclosure.svelte +3 -3
  21. package/package/components/divider/divider.svelte +1 -1
  22. package/package/components/divider/spacer.svelte +1 -12
  23. package/package/components/divider/spacer.svelte.d.ts +0 -2
  24. package/package/components/drawer/drawer.svelte +118 -208
  25. package/package/components/drawer/drawer.svelte.d.ts +12 -8
  26. package/package/components/grid/grid-body.svelte +51 -0
  27. package/package/components/grid/grid-body.svelte.d.ts +36 -0
  28. package/package/components/grid/grid-cell.svelte +22 -0
  29. package/package/components/grid/grid-cell.svelte.d.ts +34 -0
  30. package/package/components/grid/grid-col-header.svelte +22 -0
  31. package/package/components/grid/grid-col-header.svelte.d.ts +34 -0
  32. package/package/components/grid/grid-foot.svelte +27 -0
  33. package/package/components/grid/grid-foot.svelte.d.ts +34 -0
  34. package/package/components/grid/grid-head.svelte +27 -0
  35. package/package/components/grid/grid-head.svelte.d.ts +34 -0
  36. package/package/components/grid/grid-row-header.svelte +23 -0
  37. package/package/components/grid/grid-row-header.svelte.d.ts +34 -0
  38. package/package/components/grid/grid-row.svelte +37 -0
  39. package/package/components/grid/grid-row.svelte.d.ts +44 -0
  40. package/package/components/grid/grid.svelte +52 -0
  41. package/package/components/grid/grid.svelte.d.ts +42 -0
  42. package/package/components/icon/icon.svelte +6 -7
  43. package/package/components/icon/icon.svelte.d.ts +0 -2
  44. package/package/components/listbox/listbox.svelte +6 -6
  45. package/package/components/listbox/option-group.svelte +6 -5
  46. package/package/components/listbox/option.svelte +7 -28
  47. package/package/components/listbox/option.svelte.d.ts +2 -0
  48. package/package/components/menu/menu-button.svelte +26 -16
  49. package/package/components/menu/menu-button.svelte.d.ts +2 -2
  50. package/package/components/menu/menu-item-checkbox.svelte +5 -4
  51. package/package/components/menu/menu-item-checkbox.svelte.d.ts +2 -0
  52. package/package/components/menu/menu-item-group.svelte +4 -3
  53. package/package/components/menu/menu-item-radio.svelte +5 -4
  54. package/package/components/menu/menu-item-radio.svelte.d.ts +2 -0
  55. package/package/components/menu/menu-item.svelte +7 -5
  56. package/package/components/menu/menu-item.svelte.d.ts +4 -2
  57. package/package/components/menu/menu.svelte +1 -1
  58. package/package/components/radio/radio-group.svelte +8 -8
  59. package/package/components/radio/radio-group.svelte.d.ts +2 -2
  60. package/package/components/radio/radio.svelte +5 -2
  61. package/package/components/radio/radio.svelte.d.ts +2 -0
  62. package/package/components/select/combobox.svelte +55 -35
  63. package/package/components/select/combobox.svelte.d.ts +3 -2
  64. package/package/components/select/select.svelte +10 -9
  65. package/package/components/select/select.svelte.d.ts +4 -3
  66. package/package/components/slider/slider.svelte +15 -7
  67. package/package/components/switch/switch.svelte +9 -6
  68. package/package/components/switch/switch.svelte.d.ts +2 -2
  69. package/package/components/table/table-body.svelte +31 -3
  70. package/package/components/table/table-body.svelte.d.ts +2 -0
  71. package/package/components/table/table-cell.svelte +3 -4
  72. package/package/components/table/table-cell.svelte.d.ts +1 -1
  73. package/package/components/table/table-col-header.svelte +1 -2
  74. package/package/components/table/table-foot.svelte +7 -3
  75. package/package/components/table/table-head.svelte +7 -3
  76. package/package/components/table/table-row-header.svelte +1 -2
  77. package/package/components/table/table-row.svelte +1 -14
  78. package/package/components/table/table-row.svelte.d.ts +0 -8
  79. package/package/components/table/table.svelte +5 -17
  80. package/package/components/table/table.svelte.d.ts +1 -7
  81. package/package/components/tabs/tab-list.svelte +7 -5
  82. package/package/components/tabs/tab-panel.svelte +1 -1
  83. package/package/components/tabs/tab.svelte +2 -1
  84. package/package/components/tabs/tab.svelte.d.ts +2 -0
  85. package/package/components/text-field/markdown-editor.svelte +36 -9
  86. package/package/components/text-field/markdown-editor.svelte.d.ts +2 -0
  87. package/package/components/text-field/number-input.svelte +107 -43
  88. package/package/components/text-field/number-input.svelte.d.ts +2 -0
  89. package/package/components/text-field/password-input.svelte +43 -12
  90. package/package/components/text-field/password-input.svelte.d.ts +2 -0
  91. package/package/components/text-field/search-bar.svelte +43 -13
  92. package/package/components/text-field/search-bar.svelte.d.ts +5 -0
  93. package/package/components/text-field/text-area.svelte +26 -6
  94. package/package/components/text-field/text-area.svelte.d.ts +2 -0
  95. package/package/components/text-field/text-input.svelte +37 -7
  96. package/package/components/text-field/text-input.svelte.d.ts +14 -4
  97. package/package/components/toast/toast.svelte +6 -16
  98. package/package/components/toast/toast.svelte.d.ts +2 -2
  99. package/package/components/toolbar/toolbar.svelte +3 -4
  100. package/package/components/util/app-shell.svelte +34 -29
  101. package/package/components/util/group.svelte +2 -2
  102. package/package/components/util/modal.svelte +220 -0
  103. package/package/components/util/modal.svelte.d.ts +83 -0
  104. package/package/components/util/popup.svelte +80 -121
  105. package/package/components/util/popup.svelte.d.ts +22 -13
  106. package/package/components/util/portal.svelte +1 -1
  107. package/package/index.d.ts +12 -0
  108. package/package/index.js +12 -0
  109. package/package/locales/en.d.ts +1 -0
  110. package/package/locales/en.js +1 -0
  111. package/package/locales/ja.d.ts +1 -0
  112. package/package/locales/ja.js +1 -0
  113. package/package/services/group.js +67 -13
  114. package/package/services/popup.d.ts +5 -1
  115. package/package/services/popup.js +22 -19
  116. package/package/styles/core.scss +13 -26
  117. package/package/styles/variables.scss +14 -2
  118. package/package.json +107 -11
@@ -13,13 +13,15 @@ export default class Drawer extends SvelteComponent<{
13
13
  size?: "small" | "medium" | "large" | "x-large";
14
14
  position?: "top" | "right" | "bottom" | "left";
15
15
  open?: boolean;
16
- showClose?: false | "inside" | "outside";
17
- closeOnBackdropClick?: boolean;
16
+ lightDismiss?: boolean;
18
17
  keepContent?: boolean;
18
+ showClose?: false | "inside" | "outside";
19
19
  }, {
20
- submit: SubmitEvent;
20
+ opening: CustomEvent<any>;
21
+ open: CustomEvent<any>;
21
22
  ok: CustomEvent<any>;
22
23
  cancel: CustomEvent<any>;
24
+ closing: CustomEvent<any>;
23
25
  close: CustomEvent<any>;
24
26
  } & {
25
27
  [evt: string]: CustomEvent<any>;
@@ -39,17 +41,19 @@ declare const __propDef: {
39
41
  [x: string]: any;
40
42
  class?: string;
41
43
  title?: string;
42
- size?: ('small' | 'medium' | 'large' | 'x-large');
43
- position?: ('top' | 'right' | 'bottom' | 'left');
44
+ size?: 'small' | 'medium' | 'large' | 'x-large';
45
+ position?: 'top' | 'right' | 'bottom' | 'left';
44
46
  open?: boolean;
45
- showClose?: ('inside' | 'outside' | false);
46
- closeOnBackdropClick?: boolean;
47
+ lightDismiss?: boolean;
47
48
  keepContent?: boolean;
49
+ showClose?: 'inside' | 'outside' | false;
48
50
  };
49
51
  events: {
50
- submit: SubmitEvent;
52
+ opening: CustomEvent<any>;
53
+ open: CustomEvent<any>;
51
54
  ok: CustomEvent<any>;
52
55
  cancel: CustomEvent<any>;
56
+ closing: CustomEvent<any>;
53
57
  close: CustomEvent<any>;
54
58
  } & {
55
59
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,51 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableBody>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody
5
+ @see https://w3c.github.io/aria/#rowgroup
6
+ -->
7
+ <script>
8
+ import { getRandomId } from '../../services/util';
9
+
10
+ /**
11
+ * The `class` attribute on the wrapper element.
12
+ * @type {string}
13
+ */
14
+ let className = '';
15
+ export { className as class };
16
+
17
+ /**
18
+ * Display label for the row group.
19
+ * @type {string}
20
+ */
21
+ export let label = '';
22
+
23
+ const id = getRandomId('tbody');
24
+ </script>
25
+
26
+ <div
27
+ role="rowgroup"
28
+ class="sui grid-body row-group {className}"
29
+ aria-labelledby={label ? `${id}-label` : undefined}
30
+ aria-roledescription="grid body"
31
+ {...$$restProps}
32
+ >
33
+ {#if label}
34
+ <tr class="row-group-caption">
35
+ <th id="{id}-label" colspan="9999" scope="rowgroup">{label}</th>
36
+ </tr>
37
+ {/if}
38
+ <slot />
39
+ </div>
40
+
41
+ <style>.grid-body {
42
+ display: table-row-group;
43
+ }
44
+
45
+ th {
46
+ padding: 8px;
47
+ color: var(--sui-secondary-foreground-color);
48
+ background-color: var(--sui-secondary-background-color);
49
+ font-size: var(--sui-font-size-default);
50
+ text-align: left;
51
+ }</style>
@@ -0,0 +1,36 @@
1
+ /** @typedef {typeof __propDef.props} GridBodyProps */
2
+ /** @typedef {typeof __propDef.events} GridBodyEvents */
3
+ /** @typedef {typeof __propDef.slots} GridBodySlots */
4
+ /**
5
+ * The interactive version of `<TableBody>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody
7
+ * @see https://w3c.github.io/aria/#rowgroup
8
+ */
9
+ export default class GridBody extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ label?: string;
13
+ }, {
14
+ [evt: string]: CustomEvent<any>;
15
+ }, {
16
+ default: {};
17
+ }> {
18
+ }
19
+ export type GridBodyProps = typeof __propDef.props;
20
+ export type GridBodyEvents = typeof __propDef.events;
21
+ export type GridBodySlots = typeof __propDef.slots;
22
+ import { SvelteComponent } from "svelte";
23
+ declare const __propDef: {
24
+ props: {
25
+ [x: string]: any;
26
+ class?: string;
27
+ label?: string;
28
+ };
29
+ events: {
30
+ [evt: string]: CustomEvent<any>;
31
+ };
32
+ slots: {
33
+ default: {};
34
+ };
35
+ };
36
+ export {};
@@ -0,0 +1,22 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableCell>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td
5
+ @see https://w3c.github.io/aria/#gridcell
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ </script>
15
+
16
+ <div role="gridcell" class="sui grid-cell {className}" {...$$restProps}>
17
+ <slot />
18
+ </div>
19
+
20
+ <style>.grid-cell {
21
+ display: table-cell;
22
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} GridCellProps */
2
+ /** @typedef {typeof __propDef.events} GridCellEvents */
3
+ /** @typedef {typeof __propDef.slots} GridCellSlots */
4
+ /**
5
+ * The interactive version of `<TableCell>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td
7
+ * @see https://w3c.github.io/aria/#gridcell
8
+ */
9
+ export default class GridCell extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ }, {
13
+ [evt: string]: CustomEvent<any>;
14
+ }, {
15
+ default: {};
16
+ }> {
17
+ }
18
+ export type GridCellProps = typeof __propDef.props;
19
+ export type GridCellEvents = typeof __propDef.events;
20
+ export type GridCellSlots = typeof __propDef.slots;
21
+ import { SvelteComponent } from "svelte";
22
+ declare const __propDef: {
23
+ props: {
24
+ [x: string]: any;
25
+ class?: string;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,22 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableColHeader>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
5
+ @see https://w3c.github.io/aria/#columnheader
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ </script>
15
+
16
+ <div role="columnheader" class="sui grid-col-header {className}" {...$$restProps}>
17
+ <slot />
18
+ </div>
19
+
20
+ <style>.grid-col-header {
21
+ display: table-cell;
22
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} GridColHeaderProps */
2
+ /** @typedef {typeof __propDef.events} GridColHeaderEvents */
3
+ /** @typedef {typeof __propDef.slots} GridColHeaderSlots */
4
+ /**
5
+ * The interactive version of `<TableColHeader>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
7
+ * @see https://w3c.github.io/aria/#columnheader
8
+ */
9
+ export default class GridColHeader extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ }, {
13
+ [evt: string]: CustomEvent<any>;
14
+ }, {
15
+ default: {};
16
+ }> {
17
+ }
18
+ export type GridColHeaderProps = typeof __propDef.props;
19
+ export type GridColHeaderEvents = typeof __propDef.events;
20
+ export type GridColHeaderSlots = typeof __propDef.slots;
21
+ import { SvelteComponent } from "svelte";
22
+ declare const __propDef: {
23
+ props: {
24
+ [x: string]: any;
25
+ class?: string;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,27 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableFoot>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot
5
+ @see https://w3c.github.io/aria/#rowgroup
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ </script>
15
+
16
+ <div
17
+ role="rowgroup"
18
+ class="sui grid-foot {className}"
19
+ aria-roledescription="grid foot"
20
+ {...$$restProps}
21
+ >
22
+ <slot />
23
+ </div>
24
+
25
+ <style>.grid-foot {
26
+ display: table-footer-group;
27
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} GridFootProps */
2
+ /** @typedef {typeof __propDef.events} GridFootEvents */
3
+ /** @typedef {typeof __propDef.slots} GridFootSlots */
4
+ /**
5
+ * The interactive version of `<TableFoot>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot
7
+ * @see https://w3c.github.io/aria/#rowgroup
8
+ */
9
+ export default class GridFoot extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ }, {
13
+ [evt: string]: CustomEvent<any>;
14
+ }, {
15
+ default: {};
16
+ }> {
17
+ }
18
+ export type GridFootProps = typeof __propDef.props;
19
+ export type GridFootEvents = typeof __propDef.events;
20
+ export type GridFootSlots = typeof __propDef.slots;
21
+ import { SvelteComponent } from "svelte";
22
+ declare const __propDef: {
23
+ props: {
24
+ [x: string]: any;
25
+ class?: string;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,27 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableThead>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead
5
+ @see https://w3c.github.io/aria/#rowgroup
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ </script>
15
+
16
+ <div
17
+ role="rowgroup"
18
+ class="sui grid-head {className}"
19
+ aria-roledescription="grid head"
20
+ {...$$restProps}
21
+ >
22
+ <slot />
23
+ </div>
24
+
25
+ <style>.grid-head {
26
+ display: table-header-group;
27
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} GridHeadProps */
2
+ /** @typedef {typeof __propDef.events} GridHeadEvents */
3
+ /** @typedef {typeof __propDef.slots} GridHeadSlots */
4
+ /**
5
+ * The interactive version of `<TableThead>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead
7
+ * @see https://w3c.github.io/aria/#rowgroup
8
+ */
9
+ export default class GridHead extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ }, {
13
+ [evt: string]: CustomEvent<any>;
14
+ }, {
15
+ default: {};
16
+ }> {
17
+ }
18
+ export type GridHeadProps = typeof __propDef.props;
19
+ export type GridHeadEvents = typeof __propDef.events;
20
+ export type GridHeadSlots = typeof __propDef.slots;
21
+ import { SvelteComponent } from "svelte";
22
+ declare const __propDef: {
23
+ props: {
24
+ [x: string]: any;
25
+ class?: string;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,23 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableRowHeader>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
5
+ @see https://w3c.github.io/aria/#rowheader
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ </script>
15
+
16
+ <div role="rowheader" class="sui grid-row-header {className}" {...$$restProps}>
17
+ <slot />
18
+ </div>
19
+
20
+ <style>.grid-row-header {
21
+ display: table-cell;
22
+ height: var(--sui-secondary-row-height);
23
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} GridRowHeaderProps */
2
+ /** @typedef {typeof __propDef.events} GridRowHeaderEvents */
3
+ /** @typedef {typeof __propDef.slots} GridRowHeaderSlots */
4
+ /**
5
+ * The interactive version of `<TableRowHeader>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
7
+ * @see https://w3c.github.io/aria/#rowheader
8
+ */
9
+ export default class GridRowHeader extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ }, {
13
+ [evt: string]: CustomEvent<any>;
14
+ }, {
15
+ default: {};
16
+ }> {
17
+ }
18
+ export type GridRowHeaderProps = typeof __propDef.props;
19
+ export type GridRowHeaderEvents = typeof __propDef.events;
20
+ export type GridRowHeaderSlots = typeof __propDef.slots;
21
+ import { SvelteComponent } from "svelte";
22
+ declare const __propDef: {
23
+ props: {
24
+ [x: string]: any;
25
+ class?: string;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,37 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<TableRow>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr
5
+ @see https://w3c.github.io/aria/#row
6
+ -->
7
+ <script>
8
+ /**
9
+ * The `class` attribute on the wrapper element.
10
+ * @type {string}
11
+ */
12
+ let className = '';
13
+ export { className as class };
14
+ /**
15
+ * Whether to select the widget. An alias of the `aria-selected` attribute.
16
+ * @type {boolean}
17
+ */
18
+ export let selected = false;
19
+ </script>
20
+
21
+ <div
22
+ role="row"
23
+ class="sui grid-row {className}"
24
+ tabindex="0"
25
+ aria-selected={selected}
26
+ {...$$restProps}
27
+ on:click
28
+ on:select
29
+ on:change
30
+ >
31
+ <slot />
32
+ </div>
33
+
34
+ <style>.grid-row {
35
+ display: table-row;
36
+ height: var(--sui-primary-row-height);
37
+ }</style>
@@ -0,0 +1,44 @@
1
+ /** @typedef {typeof __propDef.props} GridRowProps */
2
+ /** @typedef {typeof __propDef.events} GridRowEvents */
3
+ /** @typedef {typeof __propDef.slots} GridRowSlots */
4
+ /**
5
+ * The interactive version of `<TableRow>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr
7
+ * @see https://w3c.github.io/aria/#row
8
+ */
9
+ export default class GridRow extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ selected?: boolean;
13
+ }, {
14
+ click: MouseEvent;
15
+ select: Event;
16
+ change: Event;
17
+ } & {
18
+ [evt: string]: CustomEvent<any>;
19
+ }, {
20
+ default: {};
21
+ }> {
22
+ }
23
+ export type GridRowProps = typeof __propDef.props;
24
+ export type GridRowEvents = typeof __propDef.events;
25
+ export type GridRowSlots = typeof __propDef.slots;
26
+ import { SvelteComponent } from "svelte";
27
+ declare const __propDef: {
28
+ props: {
29
+ [x: string]: any;
30
+ class?: string;
31
+ selected?: boolean;
32
+ };
33
+ events: {
34
+ click: MouseEvent;
35
+ select: Event;
36
+ change: Event;
37
+ } & {
38
+ [evt: string]: CustomEvent<any>;
39
+ };
40
+ slots: {
41
+ default: {};
42
+ };
43
+ };
44
+ export {};
@@ -0,0 +1,52 @@
1
+ <!--
2
+ @component
3
+ The interactive version of `<Table>`.
4
+ @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table
5
+ @see https://w3c.github.io/aria/#grid
6
+ -->
7
+ <script>
8
+ import { activateGroup } from '../../services/group';
9
+
10
+ /**
11
+ * The `class` attribute on the wrapper element.
12
+ * @type {string}
13
+ */
14
+ let className = '';
15
+ export { className as class };
16
+ /**
17
+ * Whether to allow selecting more than one `<GridRow>` and/or `<GridCell>`. An alias of the
18
+ * `aria-multiselectable` attribute.
19
+ * @type {boolean}
20
+ */
21
+ export let multiple = false;
22
+
23
+ /** @type {HTMLElement?} */
24
+ export let element = undefined;
25
+ </script>
26
+
27
+ <div
28
+ role="grid"
29
+ class="sui grid {className}"
30
+ aria-multiselectable={multiple}
31
+ {...$$restProps}
32
+ bind:this={element}
33
+ use:activateGroup
34
+ on:change
35
+ >
36
+ <slot />
37
+ </div>
38
+
39
+ <style>.grid {
40
+ display: table;
41
+ margin: var(--sui-focus-ring-width);
42
+ width: calc(100% - var(--sui-focus-ring-width) * 2);
43
+ }
44
+ .grid:global(.data) {
45
+ border-collapse: collapse;
46
+ }
47
+ .grid:global(.data) :global(.grid-col-header),
48
+ .grid:global(.data) :global(.grid-row-header),
49
+ .grid:global(.data) :global(.grid-cell) {
50
+ border: 1px solid var(--sui-secondary-border-color);
51
+ padding: 8px 8px;
52
+ }</style>
@@ -0,0 +1,42 @@
1
+ /** @typedef {typeof __propDef.props} GridProps */
2
+ /** @typedef {typeof __propDef.events} GridEvents */
3
+ /** @typedef {typeof __propDef.slots} GridSlots */
4
+ /**
5
+ * The interactive version of `<Table>`.
6
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table
7
+ * @see https://w3c.github.io/aria/#grid
8
+ */
9
+ export default class Grid extends SvelteComponent<{
10
+ [x: string]: any;
11
+ class?: string;
12
+ multiple?: boolean;
13
+ element?: HTMLElement;
14
+ }, {
15
+ change: Event;
16
+ } & {
17
+ [evt: string]: CustomEvent<any>;
18
+ }, {
19
+ default: {};
20
+ }> {
21
+ }
22
+ export type GridProps = typeof __propDef.props;
23
+ export type GridEvents = typeof __propDef.events;
24
+ export type GridSlots = typeof __propDef.slots;
25
+ import { SvelteComponent } from "svelte";
26
+ declare const __propDef: {
27
+ props: {
28
+ [x: string]: any;
29
+ class?: string;
30
+ multiple?: boolean;
31
+ element?: HTMLElement | null;
32
+ };
33
+ events: {
34
+ change: Event;
35
+ } & {
36
+ [evt: string]: CustomEvent<any>;
37
+ };
38
+ slots: {
39
+ default: {};
40
+ };
41
+ };
42
+ export {};
@@ -5,22 +5,21 @@
5
5
  -->
6
6
  <script>
7
7
  /**
8
- * CSS class name on the button.
8
+ * The `class` attribute on the `span` element.
9
9
  * @type {string}
10
10
  */
11
11
  let className = '';
12
-
13
12
  export { className as class };
14
-
13
+ /**
14
+ * Icon name, e.g. `search`, `expand_more`, `close`, etc.
15
+ * @type {string}
16
+ */
15
17
  export let name = '';
16
-
17
- export let label = '';
18
18
  </script>
19
19
 
20
20
  <span
21
21
  class="sui icon material-symbols-outlined {className}"
22
- aria-label={label || undefined}
23
- aria-hidden={label ? undefined : true}
22
+ aria-hidden={!('aria-label' in $$restProps)}
24
23
  {...$$restProps}
25
24
  >
26
25
  {name}
@@ -9,7 +9,6 @@ export default class Icon extends SvelteComponent<{
9
9
  [x: string]: any;
10
10
  class?: string;
11
11
  name?: string;
12
- label?: string;
13
12
  }, {
14
13
  [evt: string]: CustomEvent<any>;
15
14
  }, {}> {
@@ -23,7 +22,6 @@ declare const __propDef: {
23
22
  [x: string]: any;
24
23
  class?: string;
25
24
  name?: string;
26
- label?: string;
27
25
  };
28
26
  events: {
29
27
  [evt: string]: CustomEvent<any>;