@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,18 +1,8 @@
|
|
|
1
1
|
export default OptionGroup;
|
|
2
|
-
type OptionGroup = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
disabled?: boolean | undefined;
|
|
6
|
-
label?: string | undefined;
|
|
7
|
-
hidden?: boolean | undefined;
|
|
8
|
-
}, {
|
|
9
|
-
default: {};
|
|
10
|
-
}>, {
|
|
2
|
+
type OptionGroup = 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
|
* A group within a `<Listbox>`. The equivalent of the HTML `<optgroup>` element. It can contain one
|
|
@@ -21,24 +11,56 @@ type OptionGroup = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
|
|
|
21
11
|
* @see https://w3c.github.io/aria/#listbox
|
|
22
12
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/listbox/examples/listbox-grouped/
|
|
23
13
|
*/
|
|
24
|
-
declare const OptionGroup: $$__sveltets_2_IsomorphicComponent
|
|
25
|
-
|
|
14
|
+
declare const OptionGroup: $$__sveltets_2_IsomorphicComponent<{
|
|
15
|
+
/**
|
|
16
|
+
* - The `class` attribute on the wrapper element.
|
|
17
|
+
*/
|
|
26
18
|
class?: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* - Whether to hide the widget. An alias of the `aria-hidden`
|
|
21
|
+
* attribute.
|
|
22
|
+
*/
|
|
23
|
+
hidden?: boolean | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* - Whether to disable the widget. An alias of the `aria-disabled`
|
|
26
|
+
* attribute.
|
|
27
|
+
*/
|
|
27
28
|
disabled?: boolean | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* - The group’s label to be displayed above the child `<Option>`s.
|
|
31
|
+
*/
|
|
28
32
|
label?: string | undefined;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
/**
|
|
34
|
+
* - Primary slot content.
|
|
35
|
+
*/
|
|
36
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
37
|
+
} & Record<string, any>, {
|
|
33
38
|
[evt: string]: CustomEvent<any>;
|
|
34
|
-
}, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
}, {}, {}, "">;
|
|
40
|
+
type Props = {
|
|
41
|
+
/**
|
|
42
|
+
* - The `class` attribute on the wrapper element.
|
|
43
|
+
*/
|
|
44
|
+
class?: string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* - Whether to hide the widget. An alias of the `aria-hidden`
|
|
47
|
+
* attribute.
|
|
48
|
+
*/
|
|
49
|
+
hidden?: boolean | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* - Whether to disable the widget. An alias of the `aria-disabled`
|
|
52
|
+
* attribute.
|
|
53
|
+
*/
|
|
54
|
+
disabled?: boolean | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* - The group’s label to be displayed above the child `<Option>`s.
|
|
57
|
+
*/
|
|
58
|
+
label?: string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* - Primary slot content.
|
|
61
|
+
*/
|
|
62
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
63
|
+
};
|
|
42
64
|
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
65
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
44
66
|
$$bindings?: Bindings;
|
|
@@ -9,50 +9,43 @@
|
|
|
9
9
|
import Icon from '../icon/icon.svelte';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
12
|
+
* @typedef {object} Props
|
|
13
|
+
* @property {string} [class] - The `class` attribute on the wrapper element.
|
|
14
|
+
* @property {boolean} [selected] - Whether to select the widget. An alias of the `aria-selected`
|
|
15
|
+
* attribute.
|
|
16
|
+
* @property {string} label - Text label displayed on the item.
|
|
17
|
+
* @property {string} [searchValue] - The value to be searched.
|
|
18
|
+
* @property {boolean} [wrap] - Whether to wrap a long label.
|
|
19
|
+
* @property {import('svelte').Snippet} [checkIcon] - Check icon slot content.
|
|
14
20
|
*/
|
|
15
|
-
|
|
16
|
-
export { className as class };
|
|
17
|
-
/**
|
|
18
|
-
* Whether to select the widget. An alias of the `aria-selected` attribute.
|
|
19
|
-
* @type {boolean}
|
|
20
|
-
*/
|
|
21
|
-
export let selected = false;
|
|
22
|
-
/**
|
|
23
|
-
* Whether to hide the widget. An alias of the `aria-hidden` attribute.
|
|
24
|
-
* @type {boolean | undefined}
|
|
25
|
-
*/
|
|
26
|
-
export let hidden = undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Whether to disable the widget. An alias of the `aria-disabled` attribute.
|
|
29
|
-
* @type {boolean}
|
|
30
|
-
*/
|
|
31
|
-
export let disabled = false;
|
|
32
|
-
/**
|
|
33
|
-
* Text label displayed on the item.
|
|
34
|
-
* @type {string}
|
|
35
|
-
*/
|
|
36
|
-
export let label;
|
|
37
|
-
/**
|
|
38
|
-
* The `value` attribute on the `<button>` element.
|
|
39
|
-
* @type {string}
|
|
40
|
-
*/
|
|
41
|
-
export let value = label;
|
|
42
|
-
/**
|
|
43
|
-
* The value to be searched.
|
|
44
|
-
* @type {string}
|
|
45
|
-
*/
|
|
46
|
-
export let searchValue = label;
|
|
21
|
+
|
|
47
22
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
23
|
+
* @type {import('../../typedefs').ButtonProps & import('../../typedefs').CommonEventHandlers &
|
|
24
|
+
* Props & Record<string, any>}
|
|
50
25
|
*/
|
|
51
|
-
|
|
26
|
+
let {
|
|
27
|
+
/* eslint-disable prefer-const */
|
|
28
|
+
selected = $bindable(false),
|
|
29
|
+
hidden = $bindable(false),
|
|
30
|
+
class: className,
|
|
31
|
+
disabled = false,
|
|
32
|
+
label,
|
|
33
|
+
value = label,
|
|
34
|
+
searchValue = label,
|
|
35
|
+
wrap = false,
|
|
36
|
+
children,
|
|
37
|
+
checkIcon,
|
|
38
|
+
startIcon: _startIcon,
|
|
39
|
+
onChange,
|
|
40
|
+
onToggle,
|
|
41
|
+
...restProps
|
|
42
|
+
/* eslint-enable prefer-const */
|
|
43
|
+
} = $props();
|
|
52
44
|
</script>
|
|
53
45
|
|
|
54
|
-
<div role="none" class="sui option {className}" class:wrap
|
|
46
|
+
<div role="none" class="sui option {className}" class:wrap {hidden}>
|
|
55
47
|
<Button
|
|
48
|
+
{...restProps}
|
|
56
49
|
role="option"
|
|
57
50
|
tabindex="-1"
|
|
58
51
|
aria-selected={selected}
|
|
@@ -63,33 +56,27 @@
|
|
|
63
56
|
data-type={typeof value}
|
|
64
57
|
data-label={label}
|
|
65
58
|
data-search-value={searchValue}
|
|
66
|
-
{
|
|
67
|
-
on:click
|
|
68
|
-
on:dblclick
|
|
69
|
-
on:focus
|
|
70
|
-
on:blur
|
|
71
|
-
on:dragover
|
|
72
|
-
on:dragleave
|
|
73
|
-
on:dragend
|
|
74
|
-
on:drop
|
|
75
|
-
on:select
|
|
76
|
-
on:change
|
|
77
|
-
on:change={(event) => {
|
|
59
|
+
onChange={(event) => {
|
|
78
60
|
selected = event.detail.selected;
|
|
61
|
+
onChange?.(event);
|
|
79
62
|
}}
|
|
80
|
-
|
|
81
|
-
hidden =
|
|
63
|
+
onToggle={(event) => {
|
|
64
|
+
hidden = event.detail.hidden;
|
|
82
65
|
selected = false;
|
|
66
|
+
onToggle?.(event);
|
|
83
67
|
}}
|
|
84
68
|
>
|
|
85
69
|
{#if selected}
|
|
86
|
-
|
|
70
|
+
{#if checkIcon}
|
|
71
|
+
{@render checkIcon()}
|
|
72
|
+
{:else}
|
|
87
73
|
<Icon class="check" name="check" />
|
|
88
|
-
|
|
74
|
+
{/if}
|
|
89
75
|
{/if}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
76
|
+
{#snippet startIcon()}
|
|
77
|
+
{@render _startIcon?.()}
|
|
78
|
+
{/snippet}
|
|
79
|
+
{@render children?.()}
|
|
93
80
|
</Button>
|
|
94
81
|
</div>
|
|
95
82
|
|
|
@@ -1,100 +1,70 @@
|
|
|
1
1
|
export default Option;
|
|
2
|
-
type Option = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
label: string;
|
|
5
|
-
class?: string | undefined;
|
|
6
|
-
disabled?: boolean | undefined;
|
|
7
|
-
value?: string | undefined;
|
|
8
|
-
hidden?: boolean | undefined;
|
|
9
|
-
selected?: boolean | undefined;
|
|
10
|
-
searchValue?: string | undefined;
|
|
11
|
-
wrap?: boolean | undefined;
|
|
12
|
-
}, {
|
|
13
|
-
'check-icon': {};
|
|
14
|
-
'start-icon': {
|
|
15
|
-
slot: string;
|
|
16
|
-
};
|
|
17
|
-
default: {};
|
|
18
|
-
'end-icon': {
|
|
19
|
-
slot: string;
|
|
20
|
-
};
|
|
21
|
-
}>, {
|
|
22
|
-
click: MouseEvent;
|
|
23
|
-
dblclick: MouseEvent;
|
|
24
|
-
focus: FocusEvent;
|
|
25
|
-
blur: FocusEvent;
|
|
26
|
-
dragover: DragEvent;
|
|
27
|
-
dragleave: DragEvent;
|
|
28
|
-
dragend: DragEvent;
|
|
29
|
-
drop: DragEvent;
|
|
30
|
-
select: CustomEvent<any>;
|
|
31
|
-
change: CustomEvent<any>;
|
|
32
|
-
} & {
|
|
2
|
+
type Option = SvelteComponent<ButtonProps & KeyboardEventHandlers & MouseEventHandlers & FocusEventHandlers & DragEventHandlers & Props & Record<string, any>, {
|
|
33
3
|
[evt: string]: CustomEvent<any>;
|
|
34
|
-
}, {
|
|
35
|
-
|
|
36
|
-
'start-icon': {
|
|
37
|
-
slot: string;
|
|
38
|
-
};
|
|
39
|
-
default: {};
|
|
40
|
-
'end-icon': {
|
|
41
|
-
slot: string;
|
|
42
|
-
};
|
|
43
|
-
}> & {
|
|
44
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "hidden" | "selected" | undefined;
|
|
45
6
|
};
|
|
46
7
|
/**
|
|
47
8
|
* An option within the `<Listbox>` widget. The equivalent of the HTML `<option>` element.
|
|
48
9
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
|
|
49
10
|
* @see https://w3c.github.io/aria/#option
|
|
50
11
|
*/
|
|
51
|
-
declare const Option: $$__sveltets_2_IsomorphicComponent
|
|
52
|
-
|
|
53
|
-
|
|
12
|
+
declare const Option: $$__sveltets_2_IsomorphicComponent<import("../../typedefs").ButtonProps & import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & {
|
|
13
|
+
/**
|
|
14
|
+
* - The `class` attribute on the wrapper element.
|
|
15
|
+
*/
|
|
54
16
|
class?: string | undefined;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
17
|
+
/**
|
|
18
|
+
* - Whether to select the widget. An alias of the `aria-selected`
|
|
19
|
+
* attribute.
|
|
20
|
+
*/
|
|
58
21
|
selected?: boolean | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* - Text label displayed on the item.
|
|
24
|
+
*/
|
|
25
|
+
label: string;
|
|
26
|
+
/**
|
|
27
|
+
* - The value to be searched.
|
|
28
|
+
*/
|
|
59
29
|
searchValue?: string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* - Whether to wrap a long label.
|
|
32
|
+
*/
|
|
60
33
|
wrap?: boolean | undefined;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
default: {};
|
|
67
|
-
'end-icon': {
|
|
68
|
-
slot: string;
|
|
69
|
-
};
|
|
70
|
-
}>, {
|
|
71
|
-
click: MouseEvent;
|
|
72
|
-
dblclick: MouseEvent;
|
|
73
|
-
focus: FocusEvent;
|
|
74
|
-
blur: FocusEvent;
|
|
75
|
-
dragover: DragEvent;
|
|
76
|
-
dragleave: DragEvent;
|
|
77
|
-
dragend: DragEvent;
|
|
78
|
-
drop: DragEvent;
|
|
79
|
-
select: CustomEvent<any>;
|
|
80
|
-
change: CustomEvent<any>;
|
|
81
|
-
} & {
|
|
34
|
+
/**
|
|
35
|
+
* - Check icon slot content.
|
|
36
|
+
*/
|
|
37
|
+
checkIcon?: import("svelte").Snippet<[]> | undefined;
|
|
38
|
+
} & Record<string, any>, {
|
|
82
39
|
[evt: string]: CustomEvent<any>;
|
|
83
|
-
}, {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
40
|
+
}, {}, {}, "hidden" | "selected">;
|
|
41
|
+
type Props = {
|
|
42
|
+
/**
|
|
43
|
+
* - The `class` attribute on the wrapper element.
|
|
44
|
+
*/
|
|
45
|
+
class?: string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* - Whether to select the widget. An alias of the `aria-selected`
|
|
48
|
+
* attribute.
|
|
49
|
+
*/
|
|
50
|
+
selected?: boolean | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* - Text label displayed on the item.
|
|
53
|
+
*/
|
|
54
|
+
label: string;
|
|
55
|
+
/**
|
|
56
|
+
* - The value to be searched.
|
|
57
|
+
*/
|
|
58
|
+
searchValue?: string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* - Whether to wrap a long label.
|
|
61
|
+
*/
|
|
62
|
+
wrap?: boolean | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* - Check icon slot content.
|
|
65
|
+
*/
|
|
66
|
+
checkIcon?: import("svelte").Snippet<[]> | undefined;
|
|
67
|
+
};
|
|
98
68
|
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> {
|
|
99
69
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
100
70
|
$$bindings?: Bindings;
|
|
@@ -8,77 +8,53 @@
|
|
|
8
8
|
import Popup from '../util/popup.svelte';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @
|
|
11
|
+
* @typedef {object} Props
|
|
12
|
+
* @property {HTMLElement | undefined} [popupPositionBaseElement] - The base element of
|
|
13
|
+
* {@link popupPosition}. If omitted, this will be {@link buttonComponent}.
|
|
13
14
|
*/
|
|
14
|
-
let className = '';
|
|
15
|
-
export { className as class };
|
|
16
|
-
/**
|
|
17
|
-
* Whether to hide the widget. An alias of the `aria-hidden` attribute.
|
|
18
|
-
* @type {boolean | undefined}
|
|
19
|
-
*/
|
|
20
|
-
export let hidden = undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Whether to disable the widget. An alias of the `aria-disabled` attribute.
|
|
23
|
-
* @type {boolean}
|
|
24
|
-
*/
|
|
25
|
-
export let disabled = false;
|
|
26
|
-
/**
|
|
27
|
-
* Where to show the dropdown menu.
|
|
28
|
-
* @type {import('../../typedefs').PopupPosition}
|
|
29
|
-
*/
|
|
30
|
-
export let popupPosition = 'bottom-left';
|
|
31
|
-
/**
|
|
32
|
-
* The base element of {@link popupPosition}. If omitted, this will be {@link buttonComponent}.
|
|
33
|
-
* @type {HTMLElement | undefined}
|
|
34
|
-
*/
|
|
35
|
-
export let popupPositionBaseElement = undefined;
|
|
36
|
-
/**
|
|
37
|
-
* Whether to show the backdrop for the popup.
|
|
38
|
-
* @type {boolean}
|
|
39
|
-
*/
|
|
40
|
-
export let showPopupBackdrop = false;
|
|
41
|
-
/**
|
|
42
|
-
* Text label displayed on the button.
|
|
43
|
-
* @type {string}
|
|
44
|
-
*/
|
|
45
|
-
export let label = '';
|
|
46
|
-
/**
|
|
47
|
-
* The style variant of the button.
|
|
48
|
-
* @type {'primary' | 'secondary' | 'tertiary' | 'ghost' | 'link' | undefined}
|
|
49
|
-
*/
|
|
50
|
-
export let variant = undefined;
|
|
51
|
-
/**
|
|
52
|
-
* The size of the button.
|
|
53
|
-
* @type {'small' | 'medium' | 'large'}
|
|
54
|
-
*/
|
|
55
|
-
export let size = 'medium';
|
|
56
|
-
/**
|
|
57
|
-
* Whether to only show an icon on the button and trim the padding.
|
|
58
|
-
*/
|
|
59
|
-
export let iconic = false;
|
|
60
15
|
|
|
61
16
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
17
|
+
* @type {import('../../typedefs').ButtonProps & import('../../typedefs').CommonEventHandlers &
|
|
18
|
+
* Props & Record<string, any>}
|
|
64
19
|
*/
|
|
65
|
-
let
|
|
20
|
+
let {
|
|
21
|
+
/* eslint-disable prefer-const */
|
|
22
|
+
class: className,
|
|
23
|
+
hidden = false,
|
|
24
|
+
disabled = false,
|
|
25
|
+
popupPosition = 'bottom-left',
|
|
26
|
+
popupPositionBaseElement = undefined,
|
|
27
|
+
showPopupBackdrop = false,
|
|
28
|
+
label = '',
|
|
29
|
+
variant = undefined,
|
|
30
|
+
size = 'medium',
|
|
31
|
+
iconic = false,
|
|
32
|
+
children: _children,
|
|
33
|
+
startIcon: _startIcon,
|
|
34
|
+
endIcon: _endIcon,
|
|
35
|
+
popup,
|
|
36
|
+
...restProps
|
|
37
|
+
/* eslint-enable prefer-const */
|
|
38
|
+
} = $props();
|
|
39
|
+
|
|
66
40
|
/**
|
|
67
|
-
* Reference to the
|
|
68
|
-
* @type {
|
|
41
|
+
* Reference to the `<button>` element.
|
|
42
|
+
* @type {HTMLButtonElement | undefined}
|
|
69
43
|
*/
|
|
70
|
-
let
|
|
44
|
+
let buttonElement = $state();
|
|
71
45
|
|
|
72
46
|
/**
|
|
73
47
|
* Move focus to the `<button>` element.
|
|
74
48
|
*/
|
|
75
49
|
export const focus = () => {
|
|
76
|
-
|
|
50
|
+
buttonElement?.focus();
|
|
77
51
|
};
|
|
78
52
|
</script>
|
|
79
53
|
|
|
80
54
|
<div role="none" class="wrapper">
|
|
81
55
|
<Button
|
|
56
|
+
{...restProps}
|
|
57
|
+
bind:element={buttonElement}
|
|
82
58
|
class="sui menu-button {className}"
|
|
83
59
|
{hidden}
|
|
84
60
|
{disabled}
|
|
@@ -87,21 +63,24 @@
|
|
|
87
63
|
{size}
|
|
88
64
|
{iconic}
|
|
89
65
|
aria-haspopup="menu"
|
|
90
|
-
{...$$restProps}
|
|
91
|
-
bind:this={buttonComponent}
|
|
92
66
|
>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
67
|
+
{#snippet startIcon()}
|
|
68
|
+
{@render _startIcon?.()}
|
|
69
|
+
{/snippet}
|
|
70
|
+
{#snippet children()}
|
|
71
|
+
{@render _children?.()}
|
|
72
|
+
{/snippet}
|
|
73
|
+
{#snippet endIcon()}
|
|
74
|
+
{@render _endIcon?.()}
|
|
75
|
+
{/snippet}
|
|
96
76
|
</Button>
|
|
97
77
|
</div>
|
|
98
78
|
|
|
99
79
|
<Popup
|
|
100
|
-
anchor={
|
|
80
|
+
anchor={buttonElement}
|
|
101
81
|
position={popupPosition}
|
|
102
82
|
positionBaseElement={popupPositionBaseElement}
|
|
103
83
|
showBackdrop={showPopupBackdrop}
|
|
104
|
-
bind:this={popupComponent}
|
|
105
84
|
>
|
|
106
|
-
|
|
85
|
+
{@render popup?.()}
|
|
107
86
|
</Popup>
|
|
@@ -1,39 +1,8 @@
|
|
|
1
1
|
export default MenuButton;
|
|
2
|
-
type MenuButton = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
disabled?: boolean | undefined;
|
|
6
|
-
focus?: (() => void) | undefined;
|
|
7
|
-
label?: string | undefined;
|
|
8
|
-
size?: "small" | "medium" | "large" | undefined;
|
|
9
|
-
hidden?: boolean | undefined;
|
|
10
|
-
variant?: "link" | "primary" | "secondary" | "tertiary" | "ghost" | undefined;
|
|
11
|
-
iconic?: boolean | undefined;
|
|
12
|
-
popupPosition?: PopupPosition | undefined;
|
|
13
|
-
showPopupBackdrop?: boolean | undefined;
|
|
14
|
-
popupPositionBaseElement?: HTMLElement | undefined;
|
|
15
|
-
}, {
|
|
16
|
-
'start-icon': {
|
|
17
|
-
slot: string;
|
|
18
|
-
};
|
|
19
|
-
default: {};
|
|
20
|
-
'end-icon': {
|
|
21
|
-
slot: string;
|
|
22
|
-
};
|
|
23
|
-
popup: {};
|
|
24
|
-
}>, {
|
|
2
|
+
type MenuButton = SvelteComponent<ButtonProps & KeyboardEventHandlers & MouseEventHandlers & FocusEventHandlers & DragEventHandlers & Props & Record<string, any>, {
|
|
25
3
|
[evt: string]: CustomEvent<any>;
|
|
26
|
-
}, {
|
|
27
|
-
|
|
28
|
-
slot: string;
|
|
29
|
-
};
|
|
30
|
-
default: {};
|
|
31
|
-
'end-icon': {
|
|
32
|
-
slot: string;
|
|
33
|
-
};
|
|
34
|
-
popup: {};
|
|
35
|
-
}> & {
|
|
36
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
37
6
|
} & {
|
|
38
7
|
focus: () => void;
|
|
39
8
|
};
|
|
@@ -41,47 +10,24 @@ type MenuButton = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
|
|
|
41
10
|
* A button to open a `<Menu>` widget.
|
|
42
11
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/
|
|
43
12
|
*/
|
|
44
|
-
declare const MenuButton: $$__sveltets_2_IsomorphicComponent
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
label?: string | undefined;
|
|
50
|
-
size?: "small" | "medium" | "large" | undefined;
|
|
51
|
-
hidden?: boolean | undefined;
|
|
52
|
-
variant?: "primary" | "secondary" | "tertiary" | "ghost" | "link" | undefined;
|
|
53
|
-
iconic?: boolean | undefined;
|
|
54
|
-
popupPosition?: import("../../typedefs").PopupPosition | undefined;
|
|
55
|
-
showPopupBackdrop?: boolean | undefined;
|
|
13
|
+
declare const MenuButton: $$__sveltets_2_IsomorphicComponent<import("../../typedefs").ButtonProps & import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & {
|
|
14
|
+
/**
|
|
15
|
+
* - The base element of
|
|
16
|
+
* {@link popupPosition}. If omitted, this will be {@link buttonComponent}.
|
|
17
|
+
*/
|
|
56
18
|
popupPositionBaseElement?: HTMLElement | undefined;
|
|
57
|
-
}, {
|
|
58
|
-
'start-icon': {
|
|
59
|
-
slot: string;
|
|
60
|
-
};
|
|
61
|
-
default: {};
|
|
62
|
-
'end-icon': {
|
|
63
|
-
slot: string;
|
|
64
|
-
};
|
|
65
|
-
popup: {};
|
|
66
|
-
}>, {
|
|
19
|
+
} & Record<string, any>, {
|
|
67
20
|
[evt: string]: CustomEvent<any>;
|
|
68
|
-
}, {
|
|
69
|
-
'start-icon': {
|
|
70
|
-
slot: string;
|
|
71
|
-
};
|
|
72
|
-
default: {};
|
|
73
|
-
'end-icon': {
|
|
74
|
-
slot: string;
|
|
75
|
-
};
|
|
76
|
-
popup: {};
|
|
77
|
-
}, {
|
|
21
|
+
}, {}, {
|
|
78
22
|
focus: () => void;
|
|
79
|
-
},
|
|
80
|
-
type
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
23
|
+
}, "">;
|
|
24
|
+
type Props = {
|
|
25
|
+
/**
|
|
26
|
+
* - The base element of
|
|
27
|
+
* {@link popupPosition}. If omitted, this will be {@link buttonComponent}.
|
|
28
|
+
*/
|
|
29
|
+
popupPositionBaseElement?: HTMLElement | undefined;
|
|
30
|
+
};
|
|
85
31
|
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> {
|
|
86
32
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
87
33
|
$$bindings?: Bindings;
|