@sveltia/ui 0.9.0 → 0.10.1

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 +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 +10 -2
  10. package/package/components/button/split-button.svelte.d.ts +19 -11
  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 +8 -2
  45. package/package/components/menu/menu-button.svelte.d.ts +20 -18
  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 +22 -6
  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 +35 -13
  104. package/package/components/util/popup.svelte.d.ts +33 -28
  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 +5 -3
  108. package/package/index.js +6 -4
  109. package/package/services/events.d.ts +1 -1
  110. package/package/services/events.js +11 -8
  111. package/package/services/group.js +100 -30
  112. package/package/services/popup.d.ts +27 -13
  113. package/package/services/popup.js +23 -9
  114. package/package/services/util.d.ts +2 -2
  115. package/package/services/util.js +5 -5
  116. package/package/styles/core.scss +1 -0
  117. package/package/styles/variables.scss +1 -0
  118. package/package.json +39 -23
@@ -9,49 +9,54 @@
9
9
  */
10
10
  export default class SearchBar extends SvelteComponent<{
11
11
  [x: string]: any;
12
- class?: string;
13
- focus?: () => void;
14
- invalid?: boolean;
15
- disabled?: boolean;
16
- required?: boolean;
17
- value?: string;
18
- hidden?: boolean;
19
- readonly?: boolean;
20
- flex?: boolean;
12
+ class?: string | undefined;
13
+ focus?: (() => void) | undefined;
14
+ invalid?: boolean | undefined;
15
+ disabled?: boolean | undefined;
16
+ required?: boolean | undefined;
17
+ value?: string | undefined;
18
+ hidden?: boolean | undefined;
19
+ readonly?: boolean | undefined;
20
+ flex?: boolean | undefined;
21
21
  }, {
22
- input: Event;
23
22
  keydown: KeyboardEvent;
24
23
  keyup: KeyboardEvent;
25
24
  keypress: KeyboardEvent;
25
+ input: Event;
26
26
  change: Event;
27
27
  } & {
28
28
  [evt: string]: CustomEvent<any>;
29
- }, {}> {
29
+ }, {
30
+ 'search-icon': {};
31
+ 'close-button': {
32
+ slot: string;
33
+ };
34
+ }> {
30
35
  get focus(): () => void;
31
36
  /**accessor*/
32
- set class(arg: string);
33
- get class(): string;
37
+ set class(arg: string | undefined);
38
+ get class(): string | undefined;
34
39
  /**accessor*/
35
- set flex(arg: boolean);
36
- get flex(): boolean;
40
+ set flex(arg: boolean | undefined);
41
+ get flex(): boolean | undefined;
37
42
  /**accessor*/
38
- set hidden(arg: boolean);
39
- get hidden(): boolean;
43
+ set hidden(arg: boolean | undefined);
44
+ get hidden(): boolean | undefined;
40
45
  /**accessor*/
41
- set disabled(arg: boolean);
42
- get disabled(): boolean;
46
+ set disabled(arg: boolean | undefined);
47
+ get disabled(): boolean | undefined;
43
48
  /**accessor*/
44
- set readonly(arg: boolean);
45
- get readonly(): boolean;
49
+ set readonly(arg: boolean | undefined);
50
+ get readonly(): boolean | undefined;
46
51
  /**accessor*/
47
- set required(arg: boolean);
48
- get required(): boolean;
52
+ set required(arg: boolean | undefined);
53
+ get required(): boolean | undefined;
49
54
  /**accessor*/
50
- set invalid(arg: boolean);
51
- get invalid(): boolean;
55
+ set invalid(arg: boolean | undefined);
56
+ get invalid(): boolean | undefined;
52
57
  /**accessor*/
53
- set value(arg: string);
54
- get value(): string;
58
+ set value(arg: string | undefined);
59
+ get value(): string | undefined;
55
60
  }
56
61
  export type SearchBarProps = typeof __propDef.props;
57
62
  export type SearchBarEvents = typeof __propDef.events;
@@ -60,25 +65,30 @@ import { SvelteComponent } from "svelte";
60
65
  declare const __propDef: {
61
66
  props: {
62
67
  [x: string]: any;
63
- class?: string;
64
- focus?: () => void;
65
- invalid?: boolean;
66
- disabled?: boolean;
67
- required?: boolean;
68
+ class?: string | undefined;
69
+ focus?: (() => void) | undefined;
70
+ invalid?: boolean | undefined;
71
+ disabled?: boolean | undefined;
72
+ required?: boolean | undefined;
68
73
  value?: string | undefined;
69
74
  hidden?: boolean | undefined;
70
- readonly?: boolean;
71
- flex?: boolean;
75
+ readonly?: boolean | undefined;
76
+ flex?: boolean | undefined;
72
77
  };
73
78
  events: {
74
- input: Event;
75
79
  keydown: KeyboardEvent;
76
80
  keyup: KeyboardEvent;
77
81
  keypress: KeyboardEvent;
82
+ input: Event;
78
83
  change: Event;
79
84
  } & {
80
85
  [evt: string]: CustomEvent<any>;
81
86
  };
82
- slots: {};
87
+ slots: {
88
+ 'search-icon': {};
89
+ 'close-button': {
90
+ slot: string;
91
+ };
92
+ };
83
93
  };
84
94
  export {};
@@ -79,9 +79,11 @@
79
79
  aria-invalid={invalid}
80
80
  {...$$restProps}
81
81
  class:auto-resize={autoResize}
82
- on:click
83
- on:input
82
+ on:keydown
83
+ on:keyup
84
84
  on:keypress
85
+ on:input
86
+ on:change
85
87
  />
86
88
  {#if autoResize}
87
89
  <div class="clone" aria-hidden="true">{value ?? ''}</div>
@@ -9,20 +9,22 @@
9
9
  */
10
10
  export default class TextArea extends SvelteComponent<{
11
11
  [x: string]: any;
12
- class?: string;
13
- name?: string;
14
- invalid?: boolean;
15
- disabled?: boolean;
16
- required?: boolean;
17
- value?: string;
18
- hidden?: boolean;
19
- readonly?: boolean;
20
- flex?: boolean;
21
- autoResize?: boolean;
12
+ class?: string | undefined;
13
+ name?: string | undefined;
14
+ invalid?: boolean | undefined;
15
+ disabled?: boolean | undefined;
16
+ required?: boolean | undefined;
17
+ value?: string | undefined;
18
+ hidden?: boolean | undefined;
19
+ readonly?: boolean | undefined;
20
+ flex?: boolean | undefined;
21
+ autoResize?: boolean | undefined;
22
22
  }, {
23
- click: MouseEvent;
24
- input: Event;
23
+ keydown: KeyboardEvent;
24
+ keyup: KeyboardEvent;
25
25
  keypress: KeyboardEvent;
26
+ input: Event;
27
+ change: Event;
26
28
  } & {
27
29
  [evt: string]: CustomEvent<any>;
28
30
  }, {}> {
@@ -34,21 +36,23 @@ import { SvelteComponent } from "svelte";
34
36
  declare const __propDef: {
35
37
  props: {
36
38
  [x: string]: any;
37
- class?: string;
39
+ class?: string | undefined;
38
40
  name?: string | undefined;
39
- invalid?: boolean;
40
- disabled?: boolean;
41
- required?: boolean;
41
+ invalid?: boolean | undefined;
42
+ disabled?: boolean | undefined;
43
+ required?: boolean | undefined;
42
44
  value?: string | undefined;
43
45
  hidden?: boolean | undefined;
44
- readonly?: boolean;
45
- flex?: boolean;
46
- autoResize?: boolean;
46
+ readonly?: boolean | undefined;
47
+ flex?: boolean | undefined;
48
+ autoResize?: boolean | undefined;
47
49
  };
48
50
  events: {
49
- click: MouseEvent;
50
- input: Event;
51
+ keydown: KeyboardEvent;
52
+ keyup: KeyboardEvent;
51
53
  keypress: KeyboardEvent;
54
+ input: Event;
55
+ change: Event;
52
56
  } & {
53
57
  [evt: string]: CustomEvent<any>;
54
58
  };
@@ -114,10 +114,10 @@
114
114
  {...$$restProps}
115
115
  bind:this={element}
116
116
  bind:value
117
- on:input
118
117
  on:keydown
119
118
  on:keyup
120
119
  on:keypress
120
+ on:input
121
121
  on:change
122
122
  use:activateKeyShortcuts={keyShortcuts}
123
123
  />
@@ -153,7 +153,7 @@ input {
153
153
  border-width: 1px;
154
154
  border-color: var(--sui-textbox-border-color);
155
155
  border-radius: var(--sui-textbox-border-radius);
156
- padding: 0 8px;
156
+ padding: var(--sui-textbox-padding, 0 8px);
157
157
  min-width: 0;
158
158
  height: var(--sui-textbox-height);
159
159
  color: var(--sui-textbox-foreground-color);
@@ -161,6 +161,10 @@ input {
161
161
  font-family: var(--sui-textbox-font-family);
162
162
  font-size: var(--sui-textbox-font-size);
163
163
  line-height: var(--sui-textbox-singleline-line-height);
164
+ font-weight: var(--sui-textbox-font-weight, normal);
165
+ text-align: var(--sui-textbox-text-align, left);
166
+ text-indent: var(--sui-textbox-text-indent, 0);
167
+ letter-spacing: var(--sui-textbox-letter-spacing, normal);
164
168
  transition: all 200ms;
165
169
  }
166
170
  input:focus {
@@ -176,6 +180,17 @@ input:disabled, input:read-only {
176
180
  input[aria-invalid=true] {
177
181
  border-color: var(--sui-error-foreground-color);
178
182
  }
183
+ input::placeholder {
184
+ color: var(--sui-textbox-placeholder-foreground-color, var(--sui-textbox-foreground-color));
185
+ opacity: var(--sui-textbox-placeholder-opacity, 0.5);
186
+ font-family: var(--sui-textbox-placeholder-font-family, var(--sui-textbox-font-family));
187
+ font-size: var(--sui-textbox-placeholder-font-size, var(--sui-textbox-font-size));
188
+ line-height: var(--sui-textbox-placeholder-singleline-line-height, var(--sui-textbox-singleline-line-height));
189
+ font-weight: var(--sui-textbox-placeholder-font-weight, var(--sui-textbox-font-weight, normal));
190
+ text-align: var(--sui-textbox-placeholder-text-align, var(--sui-textbox-text-align, left));
191
+ text-indent: var(--sui-textbox-placeholder-text-indent, var(--sui-textbox-text-indent, 0));
192
+ letter-spacing: var(--sui-textbox-placeholder-letter-spacing, var(--sui-textbox-letter-spacing, normal));
193
+ }
179
194
  input ~ :global(button) {
180
195
  flex: none;
181
196
  margin-left: -1px;
@@ -8,71 +8,71 @@
8
8
  */
9
9
  export default class TextInput extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
12
- name?: string;
13
- invalid?: boolean;
14
- disabled?: boolean;
15
- required?: boolean;
16
- value?: string | number;
17
- role?: "textbox" | "searchbox" | "combobox" | "spinbutton";
18
- hidden?: boolean;
19
- element?: HTMLInputElement;
20
- readonly?: boolean;
21
- keyShortcuts?: string;
22
- flex?: boolean;
23
- showInlineLabel?: boolean;
24
- inputmode?: "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url";
11
+ class?: string | undefined;
12
+ name?: string | undefined;
13
+ invalid?: boolean | undefined;
14
+ disabled?: boolean | undefined;
15
+ required?: boolean | undefined;
16
+ value?: string | number | undefined;
17
+ role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
18
+ hidden?: boolean | undefined;
19
+ element?: HTMLInputElement | undefined;
20
+ readonly?: boolean | undefined;
21
+ keyShortcuts?: string | undefined;
22
+ flex?: boolean | undefined;
23
+ showInlineLabel?: boolean | undefined;
24
+ inputmode?: "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url" | undefined;
25
25
  }, {
26
- input: Event;
27
26
  keydown: KeyboardEvent;
28
27
  keyup: KeyboardEvent;
29
28
  keypress: KeyboardEvent;
29
+ input: Event;
30
30
  change: Event;
31
31
  } & {
32
32
  [evt: string]: CustomEvent<any>;
33
33
  }, {}> {
34
34
  /**accessor*/
35
- set element(arg: HTMLInputElement);
36
- get element(): HTMLInputElement;
35
+ set element(arg: HTMLInputElement | undefined);
36
+ get element(): HTMLInputElement | undefined;
37
37
  /**accessor*/
38
- set class(arg: string);
39
- get class(): string;
38
+ set class(arg: string | undefined);
39
+ get class(): string | undefined;
40
40
  /**accessor*/
41
- set flex(arg: boolean);
42
- get flex(): boolean;
41
+ set flex(arg: boolean | undefined);
42
+ get flex(): boolean | undefined;
43
43
  /**accessor*/
44
- set role(arg: "textbox" | "searchbox" | "combobox" | "spinbutton");
45
- get role(): "textbox" | "searchbox" | "combobox" | "spinbutton";
44
+ set role(arg: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined);
45
+ get role(): "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
46
46
  /**accessor*/
47
- set hidden(arg: boolean);
48
- get hidden(): boolean;
47
+ set hidden(arg: boolean | undefined);
48
+ get hidden(): boolean | undefined;
49
49
  /**accessor*/
50
- set disabled(arg: boolean);
51
- get disabled(): boolean;
50
+ set disabled(arg: boolean | undefined);
51
+ get disabled(): boolean | undefined;
52
52
  /**accessor*/
53
- set readonly(arg: boolean);
54
- get readonly(): boolean;
53
+ set readonly(arg: boolean | undefined);
54
+ get readonly(): boolean | undefined;
55
55
  /**accessor*/
56
- set required(arg: boolean);
57
- get required(): boolean;
56
+ set required(arg: boolean | undefined);
57
+ get required(): boolean | undefined;
58
58
  /**accessor*/
59
- set invalid(arg: boolean);
60
- get invalid(): boolean;
59
+ set invalid(arg: boolean | undefined);
60
+ get invalid(): boolean | undefined;
61
61
  /**accessor*/
62
- set keyShortcuts(arg: string);
63
- get keyShortcuts(): string;
62
+ set keyShortcuts(arg: string | undefined);
63
+ get keyShortcuts(): string | undefined;
64
64
  /**accessor*/
65
- set name(arg: string);
66
- get name(): string;
65
+ set name(arg: string | undefined);
66
+ get name(): string | undefined;
67
67
  /**accessor*/
68
- set value(arg: string | number);
69
- get value(): string | number;
68
+ set value(arg: string | number | undefined);
69
+ get value(): string | number | undefined;
70
70
  /**accessor*/
71
- set showInlineLabel(arg: boolean);
72
- get showInlineLabel(): boolean;
71
+ set showInlineLabel(arg: boolean | undefined);
72
+ get showInlineLabel(): boolean | undefined;
73
73
  /**accessor*/
74
- set inputmode(arg: "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url");
75
- get inputmode(): "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url";
74
+ set inputmode(arg: "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url" | undefined);
75
+ get inputmode(): "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url" | undefined;
76
76
  }
77
77
  export type TextInputProps = typeof __propDef.props;
78
78
  export type TextInputEvents = typeof __propDef.events;
@@ -81,26 +81,26 @@ import { SvelteComponent } from "svelte";
81
81
  declare const __propDef: {
82
82
  props: {
83
83
  [x: string]: any;
84
- class?: string;
84
+ class?: string | undefined;
85
85
  name?: string | undefined;
86
- invalid?: boolean;
87
- disabled?: boolean;
88
- required?: boolean;
86
+ invalid?: boolean | undefined;
87
+ disabled?: boolean | undefined;
88
+ required?: boolean | undefined;
89
89
  value?: string | number | undefined;
90
- role?: 'textbox' | 'searchbox' | 'combobox' | 'spinbutton';
90
+ role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
91
91
  hidden?: boolean | undefined;
92
92
  element?: HTMLInputElement | undefined;
93
- readonly?: boolean;
93
+ readonly?: boolean | undefined;
94
94
  keyShortcuts?: string | undefined;
95
- flex?: boolean;
96
- showInlineLabel?: boolean;
97
- inputmode?: 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
95
+ flex?: boolean | undefined;
96
+ showInlineLabel?: boolean | undefined;
97
+ inputmode?: "text" | "numeric" | "decimal" | "tel" | "search" | "email" | "url" | undefined;
98
98
  };
99
99
  events: {
100
- input: Event;
101
100
  keydown: KeyboardEvent;
102
101
  keyup: KeyboardEvent;
103
102
  keypress: KeyboardEvent;
103
+ input: Event;
104
104
  change: Event;
105
105
  } & {
106
106
  [evt: string]: CustomEvent<any>;
@@ -10,7 +10,7 @@
10
10
  /**
11
11
  * The toast ID. If updated, the timer that hides the toast will be reset, meaning the same toast
12
12
  * can be displayed for a longer period of time.
13
- * @type {number}
13
+ * @type {number | undefined}
14
14
  */
15
15
  export let id = undefined;
16
16
  /**
@@ -30,15 +30,15 @@
30
30
  export let position = 'bottom-right';
31
31
 
32
32
  /**
33
- * @type {HTMLElement}
33
+ * @type {HTMLElement | undefined}
34
34
  */
35
35
  let popoverBase;
36
36
  /**
37
- * @type {HTMLElement}
37
+ * @type {HTMLElement | undefined}
38
38
  */
39
39
  let popover;
40
40
  /**
41
- * @type {HTMLElement}
41
+ * @type {HTMLElement | undefined}
42
42
  */
43
43
  let toast;
44
44
  /**
@@ -47,19 +47,23 @@
47
47
  let timerId = 0;
48
48
 
49
49
  onMount(() => {
50
- popover = document.querySelector('.sui.toast-base.enabled');
50
+ popover =
51
+ /** @type {HTMLElement} */ (document.querySelector('.sui.toast-base.enabled')) ?? undefined;
51
52
 
52
53
  if (popover) {
53
- popoverBase.remove();
54
+ popoverBase?.remove();
54
55
  } else {
55
56
  popover = popoverBase;
56
- popover.classList.add('enabled');
57
- (document.querySelector('.sui.app-shell') ?? document.body).appendChild(popover);
58
57
 
59
- // Move the element to top layer
60
- if (popover.showPopover) {
61
- popover.popover = 'manual';
62
- popover.showPopover();
58
+ if (popover) {
59
+ popover.classList.add('enabled');
60
+ (document.querySelector('.sui.app-shell') ?? document.body).appendChild(popover);
61
+
62
+ // Move the element to top layer
63
+ if (popover.showPopover) {
64
+ popover.popover = 'manual';
65
+ popover.showPopover();
66
+ }
63
67
  }
64
68
  }
65
69
 
@@ -8,10 +8,10 @@
8
8
  */
9
9
  export default class Toast extends SvelteComponent<{
10
10
  [x: string]: any;
11
- id?: number;
12
- position?: ToastPosition;
13
- show?: boolean;
14
- duration?: number;
11
+ id?: number | undefined;
12
+ position?: ToastPosition | undefined;
13
+ show?: boolean | undefined;
14
+ duration?: number | undefined;
15
15
  }, {
16
16
  [evt: string]: CustomEvent<any>;
17
17
  }, {
@@ -25,10 +25,10 @@ import { SvelteComponent } from "svelte";
25
25
  declare const __propDef: {
26
26
  props: {
27
27
  [x: string]: any;
28
- id?: number;
29
- position?: ToastPosition;
30
- show?: boolean;
31
- duration?: number;
28
+ id?: number | undefined;
29
+ position?: ToastPosition | undefined;
30
+ show?: boolean | undefined;
31
+ duration?: number | undefined;
32
32
  };
33
33
  events: {
34
34
  [evt: string]: CustomEvent<any>;
@@ -8,11 +8,11 @@
8
8
  */
9
9
  export default class Toolbar extends SvelteComponent<{
10
10
  [x: string]: any;
11
- class?: string;
12
- disabled?: boolean;
13
- hidden?: boolean;
14
- variant?: "primary" | "secondary";
15
- orientation?: "vertical" | "horizontal";
11
+ class?: string | undefined;
12
+ disabled?: boolean | undefined;
13
+ hidden?: boolean | undefined;
14
+ variant?: "primary" | "secondary" | undefined;
15
+ orientation?: "vertical" | "horizontal" | undefined;
16
16
  }, {
17
17
  [evt: string]: CustomEvent<any>;
18
18
  }, {
@@ -26,11 +26,11 @@ import { SvelteComponent } from "svelte";
26
26
  declare const __propDef: {
27
27
  props: {
28
28
  [x: string]: any;
29
- class?: string;
30
- disabled?: boolean;
29
+ class?: string | undefined;
30
+ disabled?: boolean | undefined;
31
31
  hidden?: boolean | undefined;
32
32
  variant?: 'primary' | 'secondary' | undefined;
33
- orientation?: 'horizontal' | 'vertical';
33
+ orientation?: "vertical" | "horizontal" | undefined;
34
34
  };
35
35
  events: {
36
36
  [evt: string]: CustomEvent<any>;
@@ -7,6 +7,12 @@
7
7
  <script>
8
8
  import { onMount } from 'svelte';
9
9
 
10
+ /**
11
+ * Orientation of the app shell’s children.
12
+ * @type {'horizontal' | 'vertical' | undefined}
13
+ */
14
+ export let orientation = undefined;
15
+
10
16
  const stylesheets = [
11
17
  // https://fonts.google.com/share?selection.family=Merriweather%20Sans:ital,wght@0,300;0,600;1,300%7CNoto%20Sans%20Mono
12
18
  'https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300;0,600;1,300&family=Noto+Sans+Mono&display=swap',
@@ -15,7 +21,7 @@
15
21
  'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block',
16
22
  ];
17
23
 
18
- /** @type {HTMLElement} */
24
+ /** @type {HTMLElement | undefined} */
19
25
  let fontLoader;
20
26
 
21
27
  onMount(() => {
@@ -23,7 +29,7 @@
23
29
  const { dataset } = document.documentElement;
24
30
 
25
31
  /**
26
- *
32
+ * Apply the Dark or Light theme.
27
33
  */
28
34
  const applyTheme = () => {
29
35
  if (dataset.autoTheming !== 'false') {
@@ -33,9 +39,7 @@
33
39
 
34
40
  applyTheme();
35
41
 
36
- /**
37
- *
38
- */
42
+ // eslint-disable-next-line jsdoc/require-jsdoc
39
43
  mediaQuery.onchange = () => {
40
44
  applyTheme();
41
45
  };
@@ -65,7 +69,7 @@
65
69
 
66
70
  <div
67
71
  role="none"
68
- class="sui app-shell"
72
+ class="sui app-shell {orientation ?? ''}"
69
73
  {...$$restProps}
70
74
  on:dragover|preventDefault
71
75
  on:drop|preventDefault
@@ -222,6 +226,7 @@
222
226
  --sui-textbox-singleline-line-height: var(--sui-line-height-compact);
223
227
  --sui-textbox-multiline-min-width: 480px;
224
228
  --sui-textbox-multiline-line-height: var(--sui-line-height-comfortable);
229
+ --sui-tab-height: var(--sui-control-medium-height);
225
230
  --sui-tab-small-height: var(--sui-control-small-height);
226
231
  --sui-tab-medium-height: var(--sui-control-medium-height);
227
232
  --sui-tab-large-height: var(--sui-control-large-height);
@@ -414,6 +419,7 @@
414
419
  :global(*),
415
420
  :global(::before),
416
421
  :global(::after) {
422
+ scroll-behavior: auto;
417
423
  transition-duration: 1ms !important;
418
424
  }
419
425
  }
@@ -518,4 +524,14 @@
518
524
  user-select: none;
519
525
  touch-action: none;
520
526
  cursor: default;
527
+ }
528
+ :global(.app-shell.horizontal) {
529
+ display: flex;
530
+ flex-direction: row;
531
+ overflow: hidden;
532
+ }
533
+ :global(.app-shell.vertical) {
534
+ display: flex;
535
+ flex-direction: column;
536
+ overflow: hidden;
521
537
  }</style>
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export default class AppShell extends SvelteComponent<{
10
10
  [x: string]: any;
11
+ orientation?: "vertical" | "horizontal" | undefined;
11
12
  }, {
12
13
  dragover: DragEvent;
13
14
  drop: DragEvent;
@@ -24,6 +25,7 @@ import { SvelteComponent } from "svelte";
24
25
  declare const __propDef: {
25
26
  props: {
26
27
  [x: string]: any;
28
+ orientation?: 'horizontal' | 'vertical' | undefined;
27
29
  };
28
30
  events: {
29
31
  dragover: DragEvent;
@@ -7,9 +7,9 @@
7
7
  */
8
8
  export default class Group extends SvelteComponent<{
9
9
  [x: string]: any;
10
- class?: string;
11
- disabled?: boolean;
12
- hidden?: boolean;
10
+ class?: string | undefined;
11
+ disabled?: boolean | undefined;
12
+ hidden?: boolean | undefined;
13
13
  }, {
14
14
  [evt: string]: CustomEvent<any>;
15
15
  }, {
@@ -23,8 +23,8 @@ import { SvelteComponent } from "svelte";
23
23
  declare const __propDef: {
24
24
  props: {
25
25
  [x: string]: any;
26
- class?: string;
27
- disabled?: boolean;
26
+ class?: string | undefined;
27
+ disabled?: boolean | undefined;
28
28
  hidden?: boolean | undefined;
29
29
  };
30
30
  events: {