@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.
- package/package/components/alert/alert.svelte +22 -7
- package/package/components/alert/alert.svelte.d.ts +32 -28
- package/package/components/button/button-group.svelte +16 -6
- package/package/components/button/button-group.svelte.d.ts +23 -23
- package/package/components/button/button.svelte +41 -136
- package/package/components/button/button.svelte.d.ts +5 -146
- package/package/components/button/select-button-group.svelte +31 -37
- package/package/components/button/select-button-group.svelte.d.ts +76 -34
- package/package/components/button/select-button.svelte +19 -62
- package/package/components/button/select-button.svelte.d.ts +17 -73
- package/package/components/button/split-button.svelte +37 -47
- package/package/components/button/split-button.svelte.d.ts +40 -47
- package/package/components/calendar/calendar.svelte +80 -55
- package/package/components/calendar/calendar.svelte.d.ts +13 -10
- package/package/components/checkbox/checkbox-group.svelte +23 -20
- package/package/components/checkbox/checkbox-group.svelte.d.ts +49 -27
- package/package/components/checkbox/checkbox.svelte +57 -67
- package/package/components/checkbox/checkbox.svelte.d.ts +67 -55
- package/package/components/dialog/alert-dialog.svelte +9 -36
- package/package/components/dialog/alert-dialog.svelte.d.ts +5 -44
- package/package/components/dialog/confirmation-dialog.svelte +9 -41
- package/package/components/dialog/confirmation-dialog.svelte.d.ts +5 -46
- package/package/components/dialog/dialog.svelte +60 -105
- package/package/components/dialog/dialog.svelte.d.ts +5 -102
- package/package/components/dialog/prompt-dialog.svelte +32 -61
- package/package/components/dialog/prompt-dialog.svelte.d.ts +38 -62
- package/package/components/disclosure/disclosure.svelte +39 -34
- package/package/components/disclosure/disclosure.svelte.d.ts +74 -56
- package/package/components/divider/divider.svelte +18 -14
- package/package/components/divider/divider.svelte.d.ts +31 -10
- package/package/components/divider/spacer.svelte +13 -8
- package/package/components/divider/spacer.svelte.d.ts +20 -9
- package/package/components/drawer/drawer.svelte +63 -76
- package/package/components/drawer/drawer.svelte.d.ts +102 -84
- package/package/components/grid/grid-body.svelte +15 -10
- package/package/components/grid/grid-body.svelte.d.ts +30 -24
- package/package/components/grid/grid-cell.svelte +16 -6
- package/package/components/grid/grid-cell.svelte.d.ts +23 -23
- package/package/components/grid/grid-col-header.svelte +16 -6
- package/package/components/grid/grid-col-header.svelte.d.ts +23 -23
- package/package/components/grid/grid-foot.svelte +16 -6
- package/package/components/grid/grid-foot.svelte.d.ts +23 -23
- package/package/components/grid/grid-head.svelte +16 -6
- package/package/components/grid/grid-head.svelte.d.ts +23 -23
- package/package/components/grid/grid-row-header.svelte +16 -6
- package/package/components/grid/grid-row-header.svelte.d.ts +23 -23
- package/package/components/grid/grid-row.svelte +19 -23
- package/package/components/grid/grid-row.svelte.d.ts +48 -38
- package/package/components/grid/grid.svelte +26 -25
- package/package/components/grid/grid.svelte.d.ts +56 -32
- package/package/components/icon/icon.svelte +14 -9
- package/package/components/icon/icon.svelte.d.ts +20 -9
- package/package/components/listbox/listbox.svelte +46 -52
- package/package/components/listbox/listbox.svelte.d.ts +102 -40
- package/package/components/listbox/option-group.svelte +23 -19
- package/package/components/listbox/option-group.svelte.d.ts +49 -27
- package/package/components/listbox/option.svelte +44 -57
- package/package/components/listbox/option.svelte.d.ts +54 -84
- package/package/components/menu/menu-button.svelte +42 -63
- package/package/components/menu/menu-button.svelte.d.ts +18 -72
- package/package/components/menu/menu-item-checkbox.svelte +29 -41
- package/package/components/menu/menu-item-checkbox.svelte.d.ts +5 -44
- package/package/components/menu/menu-item-group.svelte +22 -19
- package/package/components/menu/menu-item-group.svelte.d.ts +41 -27
- package/package/components/menu/menu-item-radio.svelte +29 -41
- package/package/components/menu/menu-item-radio.svelte.d.ts +5 -44
- package/package/components/menu/menu-item.svelte +66 -75
- package/package/components/menu/menu-item.svelte.d.ts +5 -80
- package/package/components/menu/menu.svelte +25 -22
- package/package/components/menu/menu.svelte.d.ts +50 -30
- package/package/components/radio/radio-group.svelte +36 -42
- package/package/components/radio/radio-group.svelte.d.ts +85 -35
- package/package/components/radio/radio.svelte +45 -48
- package/package/components/radio/radio.svelte.d.ts +96 -42
- package/package/components/select/combobox.svelte +76 -101
- package/package/components/select/combobox.svelte.d.ts +5 -56
- package/package/components/select/select-tags.svelte +48 -59
- package/package/components/select/select-tags.svelte.d.ts +109 -28
- package/package/components/select/select.svelte +18 -37
- package/package/components/select/select.svelte.d.ts +5 -40
- package/package/components/slider/slider.svelte +71 -68
- package/package/components/slider/slider.svelte.d.ts +142 -31
- package/package/components/switch/switch.svelte +36 -46
- package/package/components/switch/switch.svelte.d.ts +83 -37
- package/package/components/table/table-body.svelte +15 -11
- package/package/components/table/table-body.svelte.d.ts +30 -24
- package/package/components/table/table-cell.svelte +16 -6
- package/package/components/table/table-cell.svelte.d.ts +23 -23
- package/package/components/table/table-col-header.svelte +16 -6
- package/package/components/table/table-col-header.svelte.d.ts +23 -23
- package/package/components/table/table-foot.svelte +16 -6
- package/package/components/table/table-foot.svelte.d.ts +23 -23
- package/package/components/table/table-head.svelte +16 -6
- package/package/components/table/table-head.svelte.d.ts +23 -23
- package/package/components/table/table-row-header.svelte +16 -6
- package/package/components/table/table-row-header.svelte.d.ts +23 -23
- package/package/components/table/table-row.svelte +16 -6
- package/package/components/table/table-row.svelte.d.ts +23 -23
- package/package/components/table/table.svelte +16 -6
- package/package/components/table/table.svelte.d.ts +23 -23
- package/package/components/tabs/tab-box.svelte +16 -9
- package/package/components/tabs/tab-box.svelte.d.ts +32 -22
- package/package/components/tabs/tab-list.svelte +36 -35
- package/package/components/tabs/tab-list.svelte.d.ts +65 -33
- package/package/components/tabs/tab-panel.svelte +16 -6
- package/package/components/tabs/tab-panel.svelte.d.ts +23 -23
- package/package/components/tabs/tab-panels.svelte +16 -6
- package/package/components/tabs/tab-panels.svelte.d.ts +23 -21
- package/package/components/tabs/tab.svelte +28 -25
- package/package/components/tabs/tab.svelte.d.ts +17 -63
- package/package/components/text-editor/lexical-root.svelte +38 -32
- package/package/components/text-editor/lexical-root.svelte.d.ts +74 -13
- package/package/components/text-editor/text-editor.svelte +63 -79
- package/package/components/text-editor/text-editor.svelte.d.ts +97 -20
- package/package/components/text-editor/toolbar/editor-toolbar.svelte +41 -24
- package/package/components/text-editor/toolbar/editor-toolbar.svelte.d.ts +32 -7
- package/package/components/text-editor/toolbar/format-text-button.svelte +15 -5
- package/package/components/text-editor/toolbar/format-text-button.svelte.d.ts +13 -6
- package/package/components/text-editor/toolbar/insert-link-button.svelte +18 -16
- package/package/components/text-editor/toolbar/insert-link-button.svelte.d.ts +4 -8
- package/package/components/text-editor/toolbar/toggle-block-menu-item.svelte +19 -7
- package/package/components/text-editor/toolbar/toggle-block-menu-item.svelte.d.ts +13 -6
- package/package/components/text-field/number-input.svelte +63 -81
- package/package/components/text-field/number-input.svelte.d.ts +48 -55
- package/package/components/text-field/password-input.svelte +38 -57
- package/package/components/text-field/password-input.svelte.d.ts +16 -45
- package/package/components/text-field/search-bar.svelte +45 -62
- package/package/components/text-field/search-bar.svelte.d.ts +25 -66
- package/package/components/text-field/text-area.svelte +38 -54
- package/package/components/text-field/text-area.svelte.d.ts +100 -35
- package/package/components/text-field/text-input.svelte +30 -86
- package/package/components/text-field/text-input.svelte.d.ts +4 -78
- package/package/components/toast/toast.svelte +36 -30
- package/package/components/toast/toast.svelte.d.ts +50 -28
- package/package/components/toolbar/toolbar.svelte +25 -25
- package/package/components/toolbar/toolbar.svelte.d.ts +57 -29
- package/package/components/util/app-shell.svelte +22 -10
- package/package/components/util/app-shell.svelte.d.ts +25 -29
- package/package/components/util/group.svelte +20 -15
- package/package/components/util/group.svelte.d.ts +40 -26
- package/package/components/util/modal.svelte +89 -105
- package/package/components/util/modal.svelte.d.ts +6 -71
- package/package/components/util/placeholder.svelte +21 -0
- package/package/components/util/{portal.svelte.d.ts → placeholder.svelte.d.ts} +17 -25
- package/package/components/util/popup.svelte +65 -62
- package/package/components/util/popup.svelte.d.ts +89 -77
- package/package/services/{group.js → group.svelte.js} +11 -12
- package/package/services/{popup.js → popup.svelte.js} +6 -5
- package/package/typedefs.d.ts +545 -0
- package/package/typedefs.js +202 -0
- package/package.json +11 -18
- package/package/components/util/portal.svelte +0 -36
- /package/package/services/{events.d.ts → events.svelte.d.ts} +0 -0
- /package/package/services/{events.js → events.svelte.js} +0 -0
- /package/package/services/{group.d.ts → group.svelte.d.ts} +0 -0
- /package/package/services/{popup.d.ts → popup.svelte.d.ts} +0 -0
|
@@ -1,91 +1,17 @@
|
|
|
1
1
|
export default TextInput;
|
|
2
|
-
type TextInput = SvelteComponent<{
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
name?: string | undefined;
|
|
6
|
-
disabled?: boolean | undefined;
|
|
7
|
-
invalid?: boolean | undefined;
|
|
8
|
-
required?: boolean | undefined;
|
|
9
|
-
value?: any;
|
|
10
|
-
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
11
|
-
hidden?: boolean | undefined;
|
|
12
|
-
element?: HTMLInputElement | undefined;
|
|
13
|
-
readonly?: boolean | undefined;
|
|
14
|
-
keyShortcuts?: string | undefined;
|
|
15
|
-
flex?: boolean | undefined;
|
|
16
|
-
showInlineLabel?: boolean | undefined;
|
|
17
|
-
inputmode?: "search" | "text" | "email" | "tel" | "numeric" | "decimal" | "url" | undefined;
|
|
18
|
-
}, {
|
|
19
|
-
keydown: KeyboardEvent;
|
|
20
|
-
keyup: KeyboardEvent;
|
|
21
|
-
keypress: KeyboardEvent;
|
|
22
|
-
input: Event;
|
|
23
|
-
change: Event;
|
|
24
|
-
} & {
|
|
2
|
+
type TextInput = SvelteComponent<TextInputProps & KeyboardEventHandlers & MouseEventHandlers & FocusEventHandlers & DragEventHandlers & InputEventHandlers & Record<string, any>, {
|
|
25
3
|
[evt: string]: CustomEvent<any>;
|
|
26
4
|
}, {}> & {
|
|
27
|
-
$$bindings?:
|
|
28
|
-
} & {
|
|
29
|
-
element: HTMLInputElement | undefined;
|
|
30
|
-
class: string;
|
|
31
|
-
flex: boolean;
|
|
32
|
-
role: "textbox" | "searchbox" | "combobox" | "spinbutton";
|
|
33
|
-
hidden: boolean | undefined;
|
|
34
|
-
disabled: boolean;
|
|
35
|
-
readonly: boolean;
|
|
36
|
-
required: boolean;
|
|
37
|
-
invalid: boolean;
|
|
38
|
-
keyShortcuts: string | undefined;
|
|
39
|
-
name: string | undefined;
|
|
40
|
-
value: any;
|
|
41
|
-
showInlineLabel: boolean;
|
|
42
|
-
inputmode: "search" | "text" | "email" | "tel" | "numeric" | "decimal" | "url";
|
|
5
|
+
$$bindings?: "value" | "element" | undefined;
|
|
43
6
|
};
|
|
44
7
|
/**
|
|
45
8
|
* A generic, single-line text field. The equivalent of the HTML `<input type="text">` element.
|
|
46
9
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text
|
|
47
10
|
* @see https://w3c.github.io/aria/#textbox
|
|
48
11
|
*/
|
|
49
|
-
declare const TextInput: $$__sveltets_2_IsomorphicComponent<{
|
|
50
|
-
[x: string]: any;
|
|
51
|
-
class?: string | undefined;
|
|
52
|
-
name?: string | undefined;
|
|
53
|
-
disabled?: boolean | undefined;
|
|
54
|
-
invalid?: boolean | undefined;
|
|
55
|
-
required?: boolean | undefined;
|
|
56
|
-
value?: any;
|
|
57
|
-
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
58
|
-
hidden?: boolean | undefined;
|
|
59
|
-
element?: HTMLInputElement | undefined;
|
|
60
|
-
readonly?: boolean | undefined;
|
|
61
|
-
keyShortcuts?: string | undefined;
|
|
62
|
-
flex?: boolean | undefined;
|
|
63
|
-
showInlineLabel?: boolean | undefined;
|
|
64
|
-
inputmode?: "search" | "text" | "email" | "tel" | "numeric" | "decimal" | "url" | undefined;
|
|
65
|
-
}, {
|
|
66
|
-
keydown: KeyboardEvent;
|
|
67
|
-
keyup: KeyboardEvent;
|
|
68
|
-
keypress: KeyboardEvent;
|
|
69
|
-
input: Event;
|
|
70
|
-
change: Event;
|
|
71
|
-
} & {
|
|
12
|
+
declare const TextInput: $$__sveltets_2_IsomorphicComponent<import("../../typedefs").TextInputProps & import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & import("../../typedefs").InputEventHandlers & Record<string, any>, {
|
|
72
13
|
[evt: string]: CustomEvent<any>;
|
|
73
|
-
}, {}, {
|
|
74
|
-
element: HTMLInputElement | undefined;
|
|
75
|
-
class: string;
|
|
76
|
-
flex: boolean;
|
|
77
|
-
role: "textbox" | "searchbox" | "combobox" | "spinbutton";
|
|
78
|
-
hidden: boolean | undefined;
|
|
79
|
-
disabled: boolean;
|
|
80
|
-
readonly: boolean;
|
|
81
|
-
required: boolean;
|
|
82
|
-
invalid: boolean;
|
|
83
|
-
keyShortcuts: string | undefined;
|
|
84
|
-
name: string | undefined;
|
|
85
|
-
value: any;
|
|
86
|
-
showInlineLabel: boolean;
|
|
87
|
-
inputmode: "search" | "text" | "email" | "tel" | "numeric" | "decimal" | "url";
|
|
88
|
-
}, string>;
|
|
14
|
+
}, {}, {}, "value" | "element">;
|
|
89
15
|
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> {
|
|
90
16
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
91
17
|
$$bindings?: Bindings;
|
|
@@ -5,46 +5,49 @@
|
|
|
5
5
|
@see https://developer.chrome.com/blog/introducing-popover-api/
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
-
import { onMount } from 'svelte';
|
|
8
|
+
import { onMount, untrack } from 'svelte';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* @typedef {object} Props
|
|
12
|
+
* @property {string | number | undefined} [id] - The toast ID. If updated, the timer that hides
|
|
13
|
+
* the toast will be reset, meaning the same toast can be displayed for a longer period of time.
|
|
14
|
+
* @property {boolean} [show] - Whether to show the toast.
|
|
15
|
+
* @property {number} [duration] - Duration to automatically hide the toast. Use `0` to hide it
|
|
16
|
+
* manually from the consumer.
|
|
17
|
+
* @property {import('../../typedefs').ToastPosition} [position] - Position of the toast.
|
|
18
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
14
19
|
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Whether to show the toast.
|
|
18
|
-
* @type {boolean}
|
|
19
|
-
*/
|
|
20
|
-
export let show = false;
|
|
21
|
-
/**
|
|
22
|
-
* Duration to automatically hide the toast. Use `0` to hide it manually from the consumer.
|
|
23
|
-
* @type {number}
|
|
24
|
-
*/
|
|
25
|
-
export let duration = 5000;
|
|
20
|
+
|
|
26
21
|
/**
|
|
27
|
-
*
|
|
28
|
-
* @type {import('../../typedefs').ToastPosition}
|
|
22
|
+
* @type {Props & Record<string, any>}
|
|
29
23
|
*/
|
|
30
|
-
|
|
24
|
+
let {
|
|
25
|
+
/* eslint-disable prefer-const */
|
|
26
|
+
show = $bindable(false),
|
|
27
|
+
id = undefined,
|
|
28
|
+
duration = 5000,
|
|
29
|
+
position = 'bottom-right',
|
|
30
|
+
children,
|
|
31
|
+
...restProps
|
|
32
|
+
/* eslint-enable prefer-const */
|
|
33
|
+
} = $props();
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
36
|
* @type {HTMLElement | undefined}
|
|
34
37
|
*/
|
|
35
|
-
let popoverBase;
|
|
38
|
+
let popoverBase = $state();
|
|
36
39
|
/**
|
|
37
40
|
* @type {HTMLElement | undefined}
|
|
38
41
|
*/
|
|
39
|
-
let popover;
|
|
42
|
+
let popover = $state();
|
|
40
43
|
/**
|
|
41
44
|
* @type {HTMLElement | undefined}
|
|
42
45
|
*/
|
|
43
|
-
let toast;
|
|
46
|
+
let toast = $state();
|
|
44
47
|
/**
|
|
45
48
|
* @type {number}
|
|
46
49
|
*/
|
|
47
|
-
let timerId = 0;
|
|
50
|
+
let timerId = $state(0);
|
|
48
51
|
|
|
49
52
|
onMount(() => {
|
|
50
53
|
popover =
|
|
@@ -72,30 +75,33 @@
|
|
|
72
75
|
};
|
|
73
76
|
});
|
|
74
77
|
|
|
75
|
-
|
|
78
|
+
$effect(() => {
|
|
76
79
|
if (popover && toast) {
|
|
77
80
|
popover.appendChild(toast);
|
|
78
81
|
}
|
|
79
|
-
}
|
|
82
|
+
});
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
$effect(() => {
|
|
82
85
|
void id;
|
|
83
86
|
void show;
|
|
84
87
|
void duration;
|
|
85
|
-
|
|
88
|
+
|
|
89
|
+
untrack(() => {
|
|
90
|
+
globalThis.clearTimeout(timerId);
|
|
91
|
+
});
|
|
86
92
|
|
|
87
93
|
if (show && duration) {
|
|
88
94
|
timerId = globalThis.setTimeout(() => {
|
|
89
95
|
show = false;
|
|
90
96
|
}, duration);
|
|
91
97
|
}
|
|
92
|
-
}
|
|
98
|
+
});
|
|
93
99
|
</script>
|
|
94
100
|
|
|
95
|
-
<div role="none" class="sui toast-base"
|
|
101
|
+
<div bind:this={popoverBase} role="none" class="sui toast-base"></div>
|
|
96
102
|
|
|
97
|
-
<div class="sui toast {position}" aria-hidden={!show}
|
|
98
|
-
|
|
103
|
+
<div {...restProps} bind:this={toast} class="sui toast {position}" aria-hidden={!show}>
|
|
104
|
+
{@render children?.()}
|
|
99
105
|
</div>
|
|
100
106
|
|
|
101
107
|
<style>.toast-base {
|
|
@@ -1,42 +1,64 @@
|
|
|
1
1
|
export default Toast;
|
|
2
|
-
type Toast = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
id?: number | undefined;
|
|
5
|
-
position?: ToastPosition | undefined;
|
|
6
|
-
show?: boolean | undefined;
|
|
7
|
-
duration?: number | undefined;
|
|
8
|
-
}, {
|
|
9
|
-
default: {};
|
|
10
|
-
}>, {
|
|
2
|
+
type Toast = SvelteComponent<Props & Record<string, any>, {
|
|
11
3
|
[evt: string]: CustomEvent<any>;
|
|
12
|
-
}, {
|
|
13
|
-
|
|
14
|
-
}> & {
|
|
15
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "show" | undefined;
|
|
16
6
|
};
|
|
17
7
|
/**
|
|
18
8
|
* Toast/snackbar notification. Use the Popover API if possible to acquire a non-modal top layer.
|
|
19
9
|
* @see https://w3c.github.io/aria/#alert
|
|
20
10
|
* @see https://developer.chrome.com/blog/introducing-popover-api/
|
|
21
11
|
*/
|
|
22
|
-
declare const Toast: $$__sveltets_2_IsomorphicComponent
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
12
|
+
declare const Toast: $$__sveltets_2_IsomorphicComponent<{
|
|
13
|
+
/**
|
|
14
|
+
* - The toast ID. If updated, the timer that hides
|
|
15
|
+
* the toast will be reset, meaning the same toast can be displayed for a longer period of time.
|
|
16
|
+
*/
|
|
17
|
+
id?: string | number | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* - Whether to show the toast.
|
|
20
|
+
*/
|
|
26
21
|
show?: boolean | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* - Duration to automatically hide the toast. Use `0` to hide it
|
|
24
|
+
* manually from the consumer.
|
|
25
|
+
*/
|
|
27
26
|
duration?: number | undefined;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
/**
|
|
28
|
+
* - Position of the toast.
|
|
29
|
+
*/
|
|
30
|
+
position?: import("../../typedefs").ToastPosition | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* - Primary slot content.
|
|
33
|
+
*/
|
|
34
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
35
|
+
} & Record<string, any>, {
|
|
31
36
|
[evt: string]: CustomEvent<any>;
|
|
32
|
-
}, {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
}, {}, {}, "show">;
|
|
38
|
+
type Props = {
|
|
39
|
+
/**
|
|
40
|
+
* - The toast ID. If updated, the timer that hides
|
|
41
|
+
* the toast will be reset, meaning the same toast can be displayed for a longer period of time.
|
|
42
|
+
*/
|
|
43
|
+
id?: string | number | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* - Whether to show the toast.
|
|
46
|
+
*/
|
|
47
|
+
show?: boolean | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* - Duration to automatically hide the toast. Use `0` to hide it
|
|
50
|
+
* manually from the consumer.
|
|
51
|
+
*/
|
|
52
|
+
duration?: number | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* - Position of the toast.
|
|
55
|
+
*/
|
|
56
|
+
position?: import("../../typedefs").ToastPosition | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* - Primary slot content.
|
|
59
|
+
*/
|
|
60
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
61
|
+
};
|
|
40
62
|
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> {
|
|
41
63
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
42
64
|
$$bindings?: Bindings;
|
|
@@ -6,44 +6,44 @@
|
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
9
|
+
* @typedef {object} Props
|
|
10
|
+
* @property {string} [class] - The `class` attribute on the wrapper element.
|
|
11
|
+
* @property {boolean} [hidden] - Whether to hide the widget.
|
|
12
|
+
* @property {boolean} [disabled] - Whether to disable the widget. An alias of the `aria-disabled`
|
|
13
|
+
* attribute.
|
|
14
|
+
* @property {'horizontal' | 'vertical'} [orientation] - Orientation of the widget. An alias of
|
|
15
|
+
* the `aria-orientation` attribute.
|
|
16
|
+
* @property {'primary' | 'secondary' | undefined} [variant] - The style variant of the toolbar.
|
|
17
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
11
18
|
*/
|
|
12
|
-
|
|
13
|
-
export { className as class };
|
|
14
|
-
/**
|
|
15
|
-
* Whether to hide the widget. An alias of the `aria-hidden` attribute.
|
|
16
|
-
* @type {boolean | undefined}
|
|
17
|
-
*/
|
|
18
|
-
export let hidden = undefined;
|
|
19
|
-
/**
|
|
20
|
-
* Whether to disable the widget. An alias of the `aria-disabled` attribute.
|
|
21
|
-
* @type {boolean}
|
|
22
|
-
*/
|
|
23
|
-
export let disabled = false;
|
|
24
|
-
/**
|
|
25
|
-
* Orientation of the widget. An alias of the `aria-orientation` attribute.
|
|
26
|
-
* @type {'horizontal' | 'vertical'}
|
|
27
|
-
*/
|
|
28
|
-
export let orientation = 'horizontal';
|
|
19
|
+
|
|
29
20
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @type {'primary' | 'secondary' | undefined}
|
|
21
|
+
* @type {Props & Record<string, any>}
|
|
32
22
|
*/
|
|
33
|
-
|
|
23
|
+
let {
|
|
24
|
+
/* eslint-disable prefer-const */
|
|
25
|
+
class: className,
|
|
26
|
+
hidden = false,
|
|
27
|
+
disabled = false,
|
|
28
|
+
orientation = 'horizontal',
|
|
29
|
+
variant = undefined,
|
|
30
|
+
children,
|
|
31
|
+
...restProps
|
|
32
|
+
/* eslint-enable prefer-const */
|
|
33
|
+
} = $props();
|
|
34
34
|
</script>
|
|
35
35
|
|
|
36
36
|
<div
|
|
37
|
+
{...restProps}
|
|
37
38
|
role="toolbar"
|
|
38
39
|
class="sui toolbar {orientation} {variant ?? ''} {className}"
|
|
39
|
-
|
|
40
|
+
{hidden}
|
|
40
41
|
aria-hidden={hidden}
|
|
41
42
|
aria-disabled={disabled}
|
|
42
43
|
aria-orientation={orientation}
|
|
43
|
-
{...$$restProps}
|
|
44
44
|
>
|
|
45
45
|
<div role="none" class="inner" inert={disabled}>
|
|
46
|
-
|
|
46
|
+
{@render children?.()}
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
49
|
|
|
@@ -1,44 +1,72 @@
|
|
|
1
1
|
export default Toolbar;
|
|
2
|
-
type Toolbar = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
disabled?: boolean | undefined;
|
|
6
|
-
hidden?: boolean | undefined;
|
|
7
|
-
variant?: "primary" | "secondary" | undefined;
|
|
8
|
-
orientation?: "vertical" | "horizontal" | undefined;
|
|
9
|
-
}, {
|
|
10
|
-
default: {};
|
|
11
|
-
}>, {
|
|
2
|
+
type Toolbar = SvelteComponent<Props & Record<string, any>, {
|
|
12
3
|
[evt: string]: CustomEvent<any>;
|
|
13
|
-
}, {
|
|
14
|
-
|
|
15
|
-
}> & {
|
|
16
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
17
6
|
};
|
|
18
7
|
/**
|
|
19
8
|
* A toolbar layout that can contain `<Button>`, `<Select>` and other widgets.
|
|
20
9
|
* @see https://w3c.github.io/aria/#toolbar
|
|
21
10
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/
|
|
22
11
|
*/
|
|
23
|
-
declare const Toolbar: $$__sveltets_2_IsomorphicComponent
|
|
24
|
-
|
|
12
|
+
declare const Toolbar: $$__sveltets_2_IsomorphicComponent<{
|
|
13
|
+
/**
|
|
14
|
+
* - The `class` attribute on the wrapper element.
|
|
15
|
+
*/
|
|
25
16
|
class?: string | undefined;
|
|
26
|
-
|
|
17
|
+
/**
|
|
18
|
+
* - Whether to hide the widget.
|
|
19
|
+
*/
|
|
27
20
|
hidden?: boolean | undefined;
|
|
28
|
-
|
|
21
|
+
/**
|
|
22
|
+
* - Whether to disable the widget. An alias of the `aria-disabled`
|
|
23
|
+
* attribute.
|
|
24
|
+
*/
|
|
25
|
+
disabled?: boolean | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* - Orientation of the widget. An alias of
|
|
28
|
+
* the `aria-orientation` attribute.
|
|
29
|
+
*/
|
|
29
30
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* - The style variant of the toolbar.
|
|
33
|
+
*/
|
|
34
|
+
variant?: "primary" | "secondary" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* - Primary slot content.
|
|
37
|
+
*/
|
|
38
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
39
|
+
} & Record<string, any>, {
|
|
33
40
|
[evt: string]: CustomEvent<any>;
|
|
34
|
-
}, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
}, {}, {}, "">;
|
|
42
|
+
type Props = {
|
|
43
|
+
/**
|
|
44
|
+
* - The `class` attribute on the wrapper element.
|
|
45
|
+
*/
|
|
46
|
+
class?: string | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* - Whether to hide the widget.
|
|
49
|
+
*/
|
|
50
|
+
hidden?: boolean | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* - Whether to disable the widget. An alias of the `aria-disabled`
|
|
53
|
+
* attribute.
|
|
54
|
+
*/
|
|
55
|
+
disabled?: boolean | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* - Orientation of the widget. An alias of
|
|
58
|
+
* the `aria-orientation` attribute.
|
|
59
|
+
*/
|
|
60
|
+
orientation?: "vertical" | "horizontal" | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* - The style variant of the toolbar.
|
|
63
|
+
*/
|
|
64
|
+
variant?: "primary" | "secondary" | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* - Primary slot content.
|
|
67
|
+
*/
|
|
68
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
69
|
+
};
|
|
42
70
|
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> {
|
|
43
71
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
44
72
|
$$bindings?: Bindings;
|
|
@@ -8,10 +8,22 @@
|
|
|
8
8
|
import { onMount } from 'svelte';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @
|
|
11
|
+
* @typedef {object} Props
|
|
12
|
+
* @property {'horizontal' | 'vertical' | undefined} [orientation] - Orientation of the app
|
|
13
|
+
* shell’s children..
|
|
14
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
13
15
|
*/
|
|
14
|
-
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @type {Props & Record<string, any>}
|
|
19
|
+
*/
|
|
20
|
+
let {
|
|
21
|
+
/* eslint-disable prefer-const */
|
|
22
|
+
orientation = 'horizontal',
|
|
23
|
+
children,
|
|
24
|
+
...restProps
|
|
25
|
+
/* eslint-enable prefer-const */
|
|
26
|
+
} = $props();
|
|
15
27
|
|
|
16
28
|
const stylesheets = [
|
|
17
29
|
// https://fonts.google.com/share?selection.family=Merriweather%20Sans:ital,wght@0,300;0,600;1,300%7CNoto%20Sans%20Mono
|
|
@@ -22,7 +34,7 @@
|
|
|
22
34
|
];
|
|
23
35
|
|
|
24
36
|
/** @type {HTMLElement | undefined} */
|
|
25
|
-
let fontLoader;
|
|
37
|
+
let fontLoader = $state();
|
|
26
38
|
|
|
27
39
|
onMount(() => {
|
|
28
40
|
const mediaQuery = globalThis.matchMedia('(prefers-color-scheme: dark)');
|
|
@@ -62,18 +74,18 @@
|
|
|
62
74
|
</svelte:head>
|
|
63
75
|
|
|
64
76
|
<!-- Preload fonts, including the icons -->
|
|
65
|
-
<div class="font-loader" aria-hidden="true"
|
|
77
|
+
<div bind:this={fontLoader} class="font-loader" aria-hidden="true" style:opacity="0">
|
|
66
78
|
Loading <strong>Sveltia</strong> <em>UI</em>
|
|
67
79
|
<span role="none" class="material-symbols-outlined">favorite</span>
|
|
68
80
|
</div>
|
|
69
81
|
|
|
70
82
|
<div
|
|
83
|
+
{...restProps}
|
|
71
84
|
role="none"
|
|
72
85
|
class="sui app-shell {orientation ?? ''}"
|
|
73
|
-
{
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
on:contextmenu={(event) => {
|
|
86
|
+
ondragover={(event) => event.preventDefault()}
|
|
87
|
+
ondrop={(event) => event.preventDefault()}
|
|
88
|
+
oncontextmenu={(event) => {
|
|
77
89
|
// Enable the native context menu only in the developer mode or on text fields
|
|
78
90
|
if (
|
|
79
91
|
!document.documentElement.matches('[data-env="dev"]') &&
|
|
@@ -83,7 +95,7 @@
|
|
|
83
95
|
}
|
|
84
96
|
}}
|
|
85
97
|
>
|
|
86
|
-
|
|
98
|
+
{@render children?.()}
|
|
87
99
|
</div>
|
|
88
100
|
|
|
89
101
|
<style global>@import url("https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300;0,600;1,300;1,600&family=Noto+Sans+Mono&display=swap");
|
|
@@ -1,42 +1,38 @@
|
|
|
1
1
|
export default AppShell;
|
|
2
|
-
type AppShell = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
orientation?: "vertical" | "horizontal" | undefined;
|
|
5
|
-
}, {
|
|
6
|
-
default: {};
|
|
7
|
-
}>, {
|
|
8
|
-
dragover: DragEvent;
|
|
9
|
-
drop: DragEvent;
|
|
10
|
-
} & {
|
|
2
|
+
type AppShell = SvelteComponent<Props & Record<string, any>, {
|
|
11
3
|
[evt: string]: CustomEvent<any>;
|
|
12
|
-
}, {
|
|
13
|
-
|
|
14
|
-
}> & {
|
|
15
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
16
6
|
};
|
|
17
7
|
/**
|
|
18
8
|
* Provide an application’s shell that makes the web app more like a native app. It also handles the
|
|
19
9
|
* dark/light mode switching. This component has to be placed directly under `<body>` (or
|
|
20
10
|
* `<div style="display:contents">` in a SvelteKit app).
|
|
21
11
|
*/
|
|
22
|
-
declare const AppShell: $$__sveltets_2_IsomorphicComponent
|
|
23
|
-
|
|
12
|
+
declare const AppShell: $$__sveltets_2_IsomorphicComponent<{
|
|
13
|
+
/**
|
|
14
|
+
* - Orientation of the app
|
|
15
|
+
* shell’s children..
|
|
16
|
+
*/
|
|
24
17
|
orientation?: "horizontal" | "vertical" | undefined;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} & {
|
|
18
|
+
/**
|
|
19
|
+
* - Primary slot content.
|
|
20
|
+
*/
|
|
21
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
22
|
+
} & Record<string, any>, {
|
|
31
23
|
[evt: string]: CustomEvent<any>;
|
|
32
|
-
}, {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
}, {}, {}, "">;
|
|
25
|
+
type Props = {
|
|
26
|
+
/**
|
|
27
|
+
* - Orientation of the app
|
|
28
|
+
* shell’s children..
|
|
29
|
+
*/
|
|
30
|
+
orientation?: "horizontal" | "vertical" | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* - Primary slot content.
|
|
33
|
+
*/
|
|
34
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
35
|
+
};
|
|
40
36
|
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> {
|
|
41
37
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
42
38
|
$$bindings?: Bindings;
|
|
@@ -5,33 +5,38 @@
|
|
|
5
5
|
-->
|
|
6
6
|
<script>
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
8
|
+
* @typedef {object} Props
|
|
9
|
+
* @property {string} [class] - The `class` attribute on the wrapper element.
|
|
10
|
+
* @property {boolean} [hidden] - Whether to hide the widget.
|
|
11
|
+
* @property {boolean} [disabled] - Whether to disable the widget. An alias of the `aria-disabled`
|
|
12
|
+
* attribute.
|
|
13
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
|
-
export { className as class };
|
|
13
|
-
/**
|
|
14
|
-
* Whether to hide the widget. An alias of the `aria-hidden` attribute.
|
|
15
|
-
* @type {boolean | undefined}
|
|
16
|
-
*/
|
|
17
|
-
export let hidden = undefined;
|
|
15
|
+
|
|
18
16
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @type {boolean}
|
|
17
|
+
* @type {Props & Record<string, any>}
|
|
21
18
|
*/
|
|
22
|
-
|
|
19
|
+
let {
|
|
20
|
+
/* eslint-disable prefer-const */
|
|
21
|
+
class: className,
|
|
22
|
+
hidden = false,
|
|
23
|
+
disabled = false,
|
|
24
|
+
children,
|
|
25
|
+
...restProps
|
|
26
|
+
/* eslint-enable prefer-const */
|
|
27
|
+
} = $props();
|
|
23
28
|
</script>
|
|
24
29
|
|
|
25
30
|
<div
|
|
31
|
+
{...restProps}
|
|
26
32
|
role="group"
|
|
27
33
|
class="sui group {className}"
|
|
28
|
-
|
|
34
|
+
{hidden}
|
|
29
35
|
aria-hidden={hidden}
|
|
30
36
|
aria-disabled={disabled}
|
|
31
|
-
{...$$restProps}
|
|
32
37
|
>
|
|
33
38
|
<div role="none" class="inner" inert={disabled}>
|
|
34
|
-
|
|
39
|
+
{@render children?.()}
|
|
35
40
|
</div>
|
|
36
41
|
</div>
|
|
37
42
|
|