@sveltia/ui 0.8.3 → 0.10.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 (122) hide show
  1. package/package/components/alert/alert.svelte +2 -4
  2. package/package/components/alert/alert.svelte.d.ts +2 -2
  3. package/package/components/button/button.svelte +78 -26
  4. package/package/components/button/button.svelte.d.ts +73 -63
  5. package/package/components/button/select-button-group.svelte +6 -1
  6. package/package/components/button/select-button-group.svelte.d.ts +13 -13
  7. package/package/components/button/select-button.svelte +2 -1
  8. package/package/components/button/select-button.svelte.d.ts +19 -19
  9. package/package/components/button/split-button.svelte +111 -0
  10. package/package/components/button/split-button.svelte.d.ts +69 -0
  11. package/package/components/calendar/calendar.svelte +2 -2
  12. package/package/components/calendar/calendar.svelte.d.ts +2 -2
  13. package/package/components/checkbox/checkbox-group.svelte.d.ts +7 -7
  14. package/package/components/checkbox/checkbox.svelte +8 -6
  15. package/package/components/checkbox/checkbox.svelte.d.ts +22 -16
  16. package/package/components/dialog/alert-dialog.svelte.d.ts +6 -6
  17. package/package/components/dialog/confirmation-dialog.svelte.d.ts +8 -8
  18. package/package/components/dialog/dialog.svelte +17 -15
  19. package/package/components/dialog/dialog.svelte.d.ts +30 -24
  20. package/package/components/dialog/prompt-dialog.svelte +1 -1
  21. package/package/components/dialog/prompt-dialog.svelte.d.ts +12 -12
  22. package/package/components/disclosure/disclosure.svelte +6 -1
  23. package/package/components/disclosure/disclosure.svelte.d.ts +29 -19
  24. package/package/components/divider/divider.svelte.d.ts +5 -5
  25. package/package/components/divider/spacer.svelte.d.ts +4 -4
  26. package/package/components/drawer/drawer.svelte +34 -16
  27. package/package/components/drawer/drawer.svelte.d.ts +22 -16
  28. package/package/components/grid/grid-body.svelte.d.ts +4 -4
  29. package/package/components/grid/grid-cell.svelte.d.ts +2 -2
  30. package/package/components/grid/grid-col-header.svelte.d.ts +2 -2
  31. package/package/components/grid/grid-foot.svelte.d.ts +2 -2
  32. package/package/components/grid/grid-head.svelte.d.ts +2 -2
  33. package/package/components/grid/grid-row-header.svelte.d.ts +2 -2
  34. package/package/components/grid/grid-row.svelte +10 -2
  35. package/package/components/grid/grid-row.svelte.d.ts +8 -8
  36. package/package/components/grid/grid.svelte +7 -2
  37. package/package/components/grid/grid.svelte.d.ts +8 -8
  38. package/package/components/icon/icon.svelte.d.ts +4 -4
  39. package/package/components/listbox/listbox.svelte +11 -5
  40. package/package/components/listbox/listbox.svelte.d.ts +15 -15
  41. package/package/components/listbox/option-group.svelte.d.ts +7 -7
  42. package/package/components/listbox/option.svelte +4 -2
  43. package/package/components/listbox/option.svelte.d.ts +15 -13
  44. package/package/components/menu/menu-button.svelte +18 -2
  45. package/package/components/menu/menu-button.svelte.d.ts +20 -16
  46. package/package/components/menu/menu-item-checkbox.svelte +1 -1
  47. package/package/components/menu/menu-item-checkbox.svelte.d.ts +16 -16
  48. package/package/components/menu/menu-item-group.svelte +1 -1
  49. package/package/components/menu/menu-item-group.svelte.d.ts +7 -7
  50. package/package/components/menu/menu-item-radio.svelte +1 -1
  51. package/package/components/menu/menu-item-radio.svelte.d.ts +16 -16
  52. package/package/components/menu/menu-item.svelte +32 -19
  53. package/package/components/menu/menu-item.svelte.d.ts +32 -18
  54. package/package/components/menu/menu.svelte +13 -7
  55. package/package/components/menu/menu.svelte.d.ts +7 -7
  56. package/package/components/radio/radio-group.svelte +6 -1
  57. package/package/components/radio/radio-group.svelte.d.ts +15 -15
  58. package/package/components/radio/radio.svelte +1 -1
  59. package/package/components/radio/radio.svelte.d.ts +14 -14
  60. package/package/components/select/combobox.svelte +10 -8
  61. package/package/components/select/combobox.svelte.d.ts +22 -16
  62. package/package/components/select/select.svelte.d.ts +12 -12
  63. package/package/components/slider/slider.svelte +26 -22
  64. package/package/components/slider/slider.svelte.d.ts +23 -23
  65. package/package/components/switch/switch.svelte +5 -0
  66. package/package/components/switch/switch.svelte.d.ts +18 -14
  67. package/package/components/table/table-body.svelte.d.ts +4 -4
  68. package/package/components/table/table-cell.svelte.d.ts +2 -2
  69. package/package/components/table/table-col-header.svelte.d.ts +2 -2
  70. package/package/components/table/table-foot.svelte.d.ts +2 -2
  71. package/package/components/table/table-head.svelte.d.ts +2 -2
  72. package/package/components/table/table-row-header.svelte.d.ts +2 -2
  73. package/package/components/table/table-row.svelte.d.ts +2 -2
  74. package/package/components/table/table.svelte.d.ts +2 -2
  75. package/package/components/tabs/tab-box.svelte +30 -0
  76. package/package/components/tabs/tab-box.svelte.d.ts +33 -0
  77. package/package/components/tabs/tab-list.svelte +105 -22
  78. package/package/components/tabs/tab-list.svelte.d.ts +10 -10
  79. package/package/components/tabs/tab-panel.svelte +6 -2
  80. package/package/components/tabs/tab-panel.svelte.d.ts +2 -2
  81. package/package/components/tabs/tab-panels.svelte +32 -0
  82. package/package/components/tabs/tab-panels.svelte.d.ts +31 -0
  83. package/package/components/tabs/tab.svelte.d.ts +11 -11
  84. package/package/components/text-field/markdown-editor.svelte.d.ts +12 -12
  85. package/package/components/text-field/number-input.svelte +11 -4
  86. package/package/components/text-field/number-input.svelte.d.ts +40 -20
  87. package/package/components/text-field/password-input.svelte +7 -3
  88. package/package/components/text-field/password-input.svelte.d.ts +30 -18
  89. package/package/components/text-field/search-bar.svelte +7 -3
  90. package/package/components/text-field/search-bar.svelte.d.ts +46 -36
  91. package/package/components/text-field/text-area.svelte +4 -2
  92. package/package/components/text-field/text-area.svelte.d.ts +25 -21
  93. package/package/components/text-field/text-input.svelte +17 -2
  94. package/package/components/text-field/text-input.svelte.d.ts +53 -53
  95. package/package/components/toast/toast.svelte +16 -12
  96. package/package/components/toast/toast.svelte.d.ts +8 -8
  97. package/package/components/toolbar/toolbar.svelte.d.ts +8 -8
  98. package/package/components/util/app-shell.svelte +162 -74
  99. package/package/components/util/app-shell.svelte.d.ts +2 -0
  100. package/package/components/util/group.svelte.d.ts +5 -5
  101. package/package/components/util/modal.svelte +26 -9
  102. package/package/components/util/modal.svelte.d.ts +34 -34
  103. package/package/components/util/popup.svelte +58 -32
  104. package/package/components/util/popup.svelte.d.ts +34 -24
  105. package/package/components/util/portal.svelte +5 -3
  106. package/package/components/util/portal.svelte.d.ts +2 -2
  107. package/package/index.d.ts +6 -3
  108. package/package/index.js +7 -4
  109. package/package/locales/en.d.ts +4 -0
  110. package/package/locales/en.js +4 -0
  111. package/package/locales/ja.d.ts +4 -0
  112. package/package/locales/ja.js +4 -0
  113. package/package/services/events.d.ts +1 -1
  114. package/package/services/events.js +11 -8
  115. package/package/services/group.js +73 -30
  116. package/package/services/popup.d.ts +28 -11
  117. package/package/services/popup.js +27 -10
  118. package/package/services/util.d.ts +2 -2
  119. package/package/services/util.js +5 -5
  120. package/package/styles/core.scss +1 -0
  121. package/package/styles/variables.scss +24 -4
  122. package/package.json +49 -25
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export default class TableHead extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
11
+ class?: string | undefined;
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -22,7 +22,7 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- class?: string;
25
+ class?: string | undefined;
26
26
  };
27
27
  events: {
28
28
  [evt: string]: CustomEvent<any>;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export default class TableRowHeader extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
11
+ class?: string | undefined;
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -22,7 +22,7 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- class?: string;
25
+ class?: string | undefined;
26
26
  };
27
27
  events: {
28
28
  [evt: string]: CustomEvent<any>;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export default class TableRow extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
11
+ class?: string | undefined;
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -22,7 +22,7 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- class?: string;
25
+ class?: string | undefined;
26
26
  };
27
27
  events: {
28
28
  [evt: string]: CustomEvent<any>;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export default class Table extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
11
+ class?: string | undefined;
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -22,7 +22,7 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- class?: string;
25
+ class?: string | undefined;
26
26
  };
27
27
  events: {
28
28
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,30 @@
1
+ <!--
2
+ @component
3
+ The container of `<TabList>` and `<TabPanels>`. The component name derives from XUL. This can be
4
+ omitted if not using vertical tabs.
5
+ -->
6
+ <script>
7
+ /**
8
+ * The `class` attribute on the wrapper element.
9
+ * @type {string}
10
+ */
11
+ let className = '';
12
+ export { className as class };
13
+
14
+ /**
15
+ * Orientation of the widget. This is typically contrary to `<TabList>`’s `orientation`.
16
+ * @type {'horizontal' | 'vertical'}
17
+ */
18
+ export let orientation = 'vertical';
19
+ </script>
20
+
21
+ <div role="none" class="sui tab-box {orientation} {className}">
22
+ <slot />
23
+ </div>
24
+
25
+ <style>.tab-box {
26
+ display: flex;
27
+ }
28
+ .tab-box.vertical {
29
+ flex-direction: column;
30
+ }</style>
@@ -0,0 +1,33 @@
1
+ /** @typedef {typeof __propDef.props} TabBoxProps */
2
+ /** @typedef {typeof __propDef.events} TabBoxEvents */
3
+ /** @typedef {typeof __propDef.slots} TabBoxSlots */
4
+ /**
5
+ * The container of `<TabList>` and `<TabPanels>`. The component name derives from XUL. This can be
6
+ * omitted if not using vertical tabs.
7
+ */
8
+ export default class TabBox extends SvelteComponent<{
9
+ class?: string | undefined;
10
+ orientation?: "vertical" | "horizontal" | undefined;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {
14
+ default: {};
15
+ }> {
16
+ }
17
+ export type TabBoxProps = typeof __propDef.props;
18
+ export type TabBoxEvents = typeof __propDef.events;
19
+ export type TabBoxSlots = typeof __propDef.slots;
20
+ import { SvelteComponent } from "svelte";
21
+ declare const __propDef: {
22
+ props: {
23
+ class?: string | undefined;
24
+ orientation?: "vertical" | "horizontal" | undefined;
25
+ };
26
+ events: {
27
+ [evt: string]: CustomEvent<any>;
28
+ };
29
+ slots: {
30
+ default: {};
31
+ };
32
+ };
33
+ export {};
@@ -5,6 +5,7 @@
5
5
  @see https://www.w3.org/WAI/ARIA/apg/patterns/tabs/
6
6
  -->
7
7
  <script>
8
+ import { createEventDispatcher, onMount } from 'svelte';
8
9
  import { activateGroup } from '../../services/group';
9
10
 
10
11
  /**
@@ -33,6 +34,56 @@
33
34
  * @type {string | undefined}
34
35
  */
35
36
  export let name = undefined;
37
+
38
+ const dispatch = createEventDispatcher();
39
+ /**
40
+ * A reference to the wrapper element.
41
+ * @type {HTMLElement | undefined}
42
+ */
43
+ let wrapper = undefined;
44
+ /**
45
+ * The indicator’s CSS style.
46
+ * @type {string | undefined}
47
+ */
48
+ let indicatorStyle = undefined;
49
+
50
+ /**
51
+ * Update the indicator position.
52
+ */
53
+ const updateIndicator = () => {
54
+ window.requestAnimationFrame(() => {
55
+ const selected = /** @type {HTMLElement | null} */ (
56
+ wrapper?.querySelector('[role="tab"][aria-selected="true"]')
57
+ );
58
+
59
+ if (selected) {
60
+ const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = selected;
61
+
62
+ indicatorStyle = Object.entries({
63
+ top: offsetTop,
64
+ left: offsetLeft,
65
+ width: offsetWidth,
66
+ height: offsetHeight,
67
+ })
68
+ .map(([key, value]) => `${key}: ${value}px`)
69
+ .join('; ');
70
+ } else {
71
+ indicatorStyle = undefined;
72
+ }
73
+ });
74
+ };
75
+
76
+ onMount(() => {
77
+ const observer = new ResizeObserver(() => {
78
+ updateIndicator();
79
+ });
80
+
81
+ observer.observe(/** @type {HTMLElement} */ (wrapper));
82
+
83
+ return () => {
84
+ observer.disconnect();
85
+ };
86
+ });
36
87
  </script>
37
88
 
38
89
  <div
@@ -44,53 +95,85 @@
44
95
  aria-orientation={orientation}
45
96
  data-name={name || undefined}
46
97
  {...$$restProps}
98
+ bind:this={wrapper}
47
99
  use:activateGroup
48
- on:change
100
+ on:initialized={() => {
101
+ updateIndicator();
102
+ }}
103
+ on:change={(/** @type {CustomEvent} */ event) => {
104
+ dispatch('change', event.detail);
105
+ updateIndicator();
106
+ }}
49
107
  >
50
108
  <div role="none" class="inner" inert={disabled}>
51
109
  <slot />
52
110
  </div>
111
+ <div role="none" class="indicator" style={indicatorStyle} />
53
112
  </div>
54
113
 
55
114
  <style>.tab-list {
115
+ flex: none;
116
+ position: relative;
56
117
  display: flex;
57
118
  align-items: center;
58
- margin: var(--sui-focus-ring-width);
59
- border-color: var(--sui-control-border-color);
119
+ margin: var(--sui-tab-list-margin, var(--sui-focus-ring-width));
120
+ border-color: var(--sui-tab-list-border-color, var(--sui-control-border-color));
121
+ border-radius: var(--sui-tab-list-border-radius, 0);
122
+ background-color: var(--sui-tab-list-background-color, transparent);
60
123
  }
61
124
  .tab-list[aria-orientation=horizontal] {
62
- gap: 8px;
63
- margin-bottom: 32px;
64
- border-width: 0 0 1px;
65
- padding: 0 16px;
125
+ gap: var(--sui-horizontal-tab-list-gap, var(--sui-tab-list-gap, 8px));
126
+ margin: var(--sui-horizontal-tab-list-margin, var(--sui-tab-list-margin, 0 0 32px));
127
+ border-width: var(--sui-horizontal-tab-list-border-width, var(--sui-tab-list-border-width, 0 0 1px));
128
+ padding: var(--sui-horizontal-tab-list-padding, var(--sui-tab-list-padding, 0 16px));
66
129
  }
67
130
  .tab-list[aria-orientation=horizontal] :global(button) {
68
- border-width: 0 0 2px 0;
131
+ width: var(--sui-horizontal-tab-width, var(--sui-tab-width, auto));
132
+ height: var(--sui-horizontal-tab-height, var(--sui-tab-height, 100%));
133
+ justify-content: var(--sui-horizontal-tab-justify-content, center);
134
+ }
135
+ .tab-list[aria-orientation=horizontal] .indicator {
136
+ border-width: var(--sui-horizontal-tab-list-indicator-border-width, var(--sui-tab-list-indicator-border-width, 0 0 2px 0));
69
137
  }
70
138
  .tab-list[aria-orientation=vertical] {
71
- gap: 8px;
139
+ gap: var(--sui-vertical-tab-list-gap, var(--sui-tab-list-gap, 8px));
72
140
  flex-direction: column;
73
- margin-right: 32px;
74
- border-width: 0 1px 0 0;
75
- padding: 8px 0;
76
- width: 240px;
141
+ margin: var(--sui-vertical-tab-list-margin, var(--sui-tab-list-margin, 0 32px 0 0));
142
+ border-width: var(--sui-vertical-tab-list-border-width, var(--sui-tab-list-border-width, 0 1px 0 0));
143
+ padding: var(--sui-vertical-tab-list-padding, var(--sui-tab-list-padding, 8px 0));
144
+ width: var(--sui-vertical-tab-list-width, 240px);
77
145
  }
78
146
  .tab-list[aria-orientation=vertical] :global(button) {
79
- border-width: 0 2px 0 0;
80
- width: 100%;
147
+ justify-content: var(--sui-vertical-tab-justify-content, flex-start);
148
+ width: var(--sui-vertical-tab-width, var(--sui-tab-width, 100%));
149
+ height: var(--sui-vertical-tab-height, var(--sui-tab-height, auto));
150
+ }
151
+ .tab-list[aria-orientation=vertical] .indicator {
152
+ border-width: var(--sui-horizontal-tab-list-vertical-border-width, var(--sui-tab-list-indicator-border-width, 0 2px 0 0));
81
153
  }
82
154
  .tab-list :global(button) {
83
- justify-content: flex-start;
155
+ position: relative;
156
+ z-index: 1;
84
157
  border-color: transparent;
85
158
  margin: 0 !important;
86
- padding: 0;
87
- border-radius: 0;
88
- height: var(--sui-tab-medium-height);
89
- }
90
- .tab-list :global(button[aria-selected="true"]) {
91
- border-color: var(--sui-primary-accent-color-light);
159
+ border-radius: var(--sui-tab-border-radius, 0);
160
+ font-family: var(--sui-tab-font-family, var(--sui-control-font-family, inherit));
161
+ font-size: var(--sui-tab-font-size, var(--sui-control-font-size, inherit));
162
+ font-weight: var(--sui-tab-font-weight, var(--sui-control-font-weight, inherit));
92
163
  }
93
164
 
94
165
  .inner {
95
166
  display: contents;
167
+ }
168
+
169
+ .indicator {
170
+ position: absolute;
171
+ z-index: 0;
172
+ inset: auto;
173
+ border-radius: var(--sui-tab-list-indicator-border-radius, 0);
174
+ border-color: var(--sui-tab-list-indicator-border-color, var(--sui-primary-accent-color-light));
175
+ background-color: var(--sui-tab-list-indicator-background-color, transparent);
176
+ box-shadow: var(--sui-tab-list-indicator-box-shadow, none);
177
+ pointer-events: none;
178
+ transition: var(--sui-tab-list-indicator-transition, all 200ms);
96
179
  }</style>
@@ -8,13 +8,13 @@
8
8
  */
9
9
  export default class TabList extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
12
- name?: string;
13
- disabled?: boolean;
14
- hidden?: boolean;
15
- orientation?: "vertical" | "horizontal";
11
+ class?: string | undefined;
12
+ name?: string | undefined;
13
+ disabled?: boolean | undefined;
14
+ hidden?: boolean | undefined;
15
+ orientation?: "vertical" | "horizontal" | undefined;
16
16
  }, {
17
- change: Event;
17
+ change: CustomEvent<any>;
18
18
  } & {
19
19
  [evt: string]: CustomEvent<any>;
20
20
  }, {
@@ -28,14 +28,14 @@ import { SvelteComponent } from "svelte";
28
28
  declare const __propDef: {
29
29
  props: {
30
30
  [x: string]: any;
31
- class?: string;
31
+ class?: string | undefined;
32
32
  name?: string | undefined;
33
- disabled?: boolean;
33
+ disabled?: boolean | undefined;
34
34
  hidden?: boolean | undefined;
35
- orientation?: 'horizontal' | 'vertical';
35
+ orientation?: "vertical" | "horizontal" | undefined;
36
36
  };
37
37
  events: {
38
- change: Event;
38
+ change: CustomEvent<any>;
39
39
  } & {
40
40
  [evt: string]: CustomEvent<any>;
41
41
  };
@@ -13,10 +13,14 @@
13
13
  export { className as class };
14
14
  </script>
15
15
 
16
- <div role="tabpanel" class="sui tabpanel {className}" {...$$restProps}>
16
+ <div role="tabpanel" class="sui tab-panel {className}" {...$$restProps}>
17
17
  <slot />
18
18
  </div>
19
19
 
20
- <style>.tabpanel[aria-hidden=true], .tabpanel:not([aria-hidden]) {
20
+ <style>.tab-panel {
21
+ flex: auto;
22
+ transition: all 200ms;
23
+ }
24
+ .tab-panel[aria-hidden=true], .tab-panel:not([aria-hidden]) {
21
25
  display: none;
22
26
  }</style>
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export default class TabPanel extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
11
+ class?: string | undefined;
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -22,7 +22,7 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- class?: string;
25
+ class?: string | undefined;
26
26
  };
27
27
  events: {
28
28
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,32 @@
1
+ <!--
2
+ @component
3
+ The container of `<TabPanel>`s. The component name derives from XUL. This can be omitted if the
4
+ child tab panels don’t need a sliding animation.
5
+ -->
6
+ <script>
7
+ /**
8
+ * The `class` attribute on the wrapper element.
9
+ * @type {string}
10
+ */
11
+ let className = '';
12
+ export { className as class };
13
+ </script>
14
+
15
+ <div role="none" class="sui tab-panels {className}">
16
+ <slot />
17
+ </div>
18
+
19
+ <style>.tab-panels {
20
+ flex: auto;
21
+ display: flex;
22
+ gap: var(--sui-tab-panels-gap, 16px);
23
+ overflow: hidden;
24
+ scroll-snap-type: x mandatory;
25
+ }
26
+ .tab-panels > :global(.tab-panel) {
27
+ flex: none;
28
+ display: block !important;
29
+ width: 100%;
30
+ overflow: auto;
31
+ scroll-snap-align: center;
32
+ }</style>
@@ -0,0 +1,31 @@
1
+ /** @typedef {typeof __propDef.props} TabPanelsProps */
2
+ /** @typedef {typeof __propDef.events} TabPanelsEvents */
3
+ /** @typedef {typeof __propDef.slots} TabPanelsSlots */
4
+ /**
5
+ * The container of `<TabPanel>`s. The component name derives from XUL. This can be omitted if the
6
+ * child tab panels don’t need a sliding animation.
7
+ */
8
+ export default class TabPanels extends SvelteComponent<{
9
+ class?: string | undefined;
10
+ }, {
11
+ [evt: string]: CustomEvent<any>;
12
+ }, {
13
+ default: {};
14
+ }> {
15
+ }
16
+ export type TabPanelsProps = typeof __propDef.props;
17
+ export type TabPanelsEvents = typeof __propDef.events;
18
+ export type TabPanelsSlots = typeof __propDef.slots;
19
+ import { SvelteComponent } from "svelte";
20
+ declare const __propDef: {
21
+ props: {
22
+ class?: string | undefined;
23
+ };
24
+ events: {
25
+ [evt: string]: CustomEvent<any>;
26
+ };
27
+ slots: {
28
+ default: {};
29
+ };
30
+ };
31
+ export {};
@@ -8,13 +8,13 @@
8
8
  */
9
9
  export default class Tab extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
12
- disabled?: boolean;
13
- hidden?: boolean;
14
- selected?: boolean;
11
+ class?: string | undefined;
12
+ disabled?: boolean | undefined;
13
+ hidden?: boolean | undefined;
14
+ selected?: boolean | undefined;
15
15
  }, {
16
- select: Event;
17
- change: Event;
16
+ select: CustomEvent<any>;
17
+ change: CustomEvent<any>;
18
18
  } & {
19
19
  [evt: string]: CustomEvent<any>;
20
20
  }, {
@@ -34,14 +34,14 @@ import { SvelteComponent } from "svelte";
34
34
  declare const __propDef: {
35
35
  props: {
36
36
  [x: string]: any;
37
- class?: string;
38
- disabled?: boolean;
37
+ class?: string | undefined;
38
+ disabled?: boolean | undefined;
39
39
  hidden?: boolean | undefined;
40
- selected?: boolean;
40
+ selected?: boolean | undefined;
41
41
  };
42
42
  events: {
43
- select: Event;
44
- change: Event;
43
+ select: CustomEvent<any>;
44
+ change: CustomEvent<any>;
45
45
  } & {
46
46
  [evt: string]: CustomEvent<any>;
47
47
  };
@@ -4,13 +4,13 @@
4
4
  /** A Markdown text editor. */
5
5
  export default class MarkdownEditor extends SvelteComponent<{
6
6
  [x: string]: any;
7
- invalid?: boolean;
8
- disabled?: boolean;
9
- required?: boolean;
10
- value?: string;
11
- hidden?: boolean;
12
- readonly?: boolean;
13
- flex?: boolean;
7
+ invalid?: boolean | undefined;
8
+ disabled?: boolean | undefined;
9
+ required?: boolean | undefined;
10
+ value?: string | undefined;
11
+ hidden?: boolean | undefined;
12
+ readonly?: boolean | undefined;
13
+ flex?: boolean | undefined;
14
14
  }, {
15
15
  [evt: string]: CustomEvent<any>;
16
16
  }, {}> {
@@ -22,13 +22,13 @@ import { SvelteComponent } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
24
  [x: string]: any;
25
- invalid?: boolean;
26
- disabled?: boolean;
27
- required?: boolean;
25
+ invalid?: boolean | undefined;
26
+ disabled?: boolean | undefined;
27
+ required?: boolean | undefined;
28
28
  value?: string | undefined;
29
29
  hidden?: boolean | undefined;
30
- readonly?: boolean;
31
- flex?: boolean;
30
+ readonly?: boolean | undefined;
31
+ flex?: boolean | undefined;
32
32
  };
33
33
  events: {
34
34
  [evt: string]: CustomEvent<any>;
@@ -85,7 +85,7 @@
85
85
  let component;
86
86
 
87
87
  /**
88
- *
88
+ * Decrease the number.
89
89
  */
90
90
  const decrease = () => {
91
91
  if (isMin) {
@@ -96,7 +96,7 @@
96
96
  };
97
97
 
98
98
  /**
99
- *
99
+ * Increase the number.
100
100
  */
101
101
  const increase = () => {
102
102
  if (isMax) {
@@ -125,7 +125,9 @@
125
125
  increase();
126
126
  }}
127
127
  >
128
- <Icon slot="start-icon" name="expand_less" />
128
+ <slot name="increase-icon" slot="start-icon">
129
+ <Icon name="expand_less" />
130
+ </slot>
129
131
  </Button>
130
132
  <Button
131
133
  iconic
@@ -136,7 +138,9 @@
136
138
  decrease();
137
139
  }}
138
140
  >
139
- <Icon slot="start-icon" name="expand_more" />
141
+ <slot name="decrease-icon" slot="start-icon">
142
+ <Icon name="expand_more" />
143
+ </slot>
140
144
  </Button>
141
145
  </div>
142
146
  <TextInput
@@ -174,8 +178,11 @@
174
178
  edited = true;
175
179
  }
176
180
  }}
181
+ on:keydown
182
+ on:keyup
177
183
  on:keypress
178
184
  on:input
185
+ on:change
179
186
  />
180
187
  </div>
181
188
 
@@ -8,23 +8,33 @@
8
8
  */
9
9
  export default class NumberInput extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
12
- invalid?: boolean;
13
- disabled?: boolean;
14
- max?: number;
15
- min?: number;
16
- required?: boolean;
17
- step?: number;
18
- value?: string;
19
- hidden?: boolean;
20
- readonly?: boolean;
21
- flex?: boolean;
11
+ class?: string | undefined;
12
+ invalid?: boolean | undefined;
13
+ disabled?: boolean | undefined;
14
+ max?: number | undefined;
15
+ min?: number | undefined;
16
+ required?: boolean | undefined;
17
+ step?: number | undefined;
18
+ value?: string | undefined;
19
+ hidden?: boolean | undefined;
20
+ readonly?: boolean | undefined;
21
+ flex?: boolean | undefined;
22
22
  }, {
23
+ keydown: KeyboardEvent;
24
+ keyup: KeyboardEvent;
23
25
  keypress: KeyboardEvent;
24
26
  input: Event;
27
+ change: Event;
25
28
  } & {
26
29
  [evt: string]: CustomEvent<any>;
27
- }, {}> {
30
+ }, {
31
+ 'increase-icon': {
32
+ slot: string;
33
+ };
34
+ 'decrease-icon': {
35
+ slot: string;
36
+ };
37
+ }> {
28
38
  }
29
39
  export type NumberInputProps = typeof __propDef.props;
30
40
  export type NumberInputEvents = typeof __propDef.events;
@@ -33,24 +43,34 @@ import { SvelteComponent } from "svelte";
33
43
  declare const __propDef: {
34
44
  props: {
35
45
  [x: string]: any;
36
- class?: string;
37
- invalid?: boolean;
38
- disabled?: boolean;
46
+ class?: string | undefined;
47
+ invalid?: boolean | undefined;
48
+ disabled?: boolean | undefined;
39
49
  max?: number | undefined;
40
50
  min?: number | undefined;
41
- required?: boolean;
42
- step?: number;
51
+ required?: boolean | undefined;
52
+ step?: number | undefined;
43
53
  value?: string | undefined;
44
54
  hidden?: boolean | undefined;
45
- readonly?: boolean;
46
- flex?: boolean;
55
+ readonly?: boolean | undefined;
56
+ flex?: boolean | undefined;
47
57
  };
48
58
  events: {
59
+ keydown: KeyboardEvent;
60
+ keyup: KeyboardEvent;
49
61
  keypress: KeyboardEvent;
50
62
  input: Event;
63
+ change: Event;
51
64
  } & {
52
65
  [evt: string]: CustomEvent<any>;
53
66
  };
54
- slots: {};
67
+ slots: {
68
+ 'increase-icon': {
69
+ slot: string;
70
+ };
71
+ 'decrease-icon': {
72
+ slot: string;
73
+ };
74
+ };
55
75
  };
56
76
  export {};