@sveltia/ui 0.16.0 → 0.17.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.
- 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 +28 -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 +27 -22
- package/package/components/menu/menu.svelte.d.ts +50 -30
- package/package/components/radio/radio-group.svelte +38 -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 +28 -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 +12 -19
- 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,26 +1,47 @@
|
|
|
1
1
|
export default Divider;
|
|
2
|
-
type Divider = SvelteComponent<{
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
hidden?: boolean | undefined;
|
|
6
|
-
orientation?: "vertical" | "horizontal" | undefined;
|
|
7
|
-
}, {
|
|
2
|
+
type Divider = SvelteComponent<Props & Record<string, any>, {
|
|
8
3
|
[evt: string]: CustomEvent<any>;
|
|
9
4
|
}, {}> & {
|
|
10
|
-
$$bindings?:
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
11
6
|
};
|
|
12
7
|
/**
|
|
13
8
|
* A content divider with a visible vertical/horizontal line.
|
|
14
9
|
* @see https://w3c.github.io/aria/#separator
|
|
15
10
|
*/
|
|
16
11
|
declare const Divider: $$__sveltets_2_IsomorphicComponent<{
|
|
17
|
-
|
|
12
|
+
/**
|
|
13
|
+
* - The `class` attribute on the wrapper element.
|
|
14
|
+
*/
|
|
18
15
|
class?: string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* - Whether to hide the widget. An alias of the `aria-hidden`
|
|
18
|
+
* attribute.
|
|
19
|
+
*/
|
|
19
20
|
hidden?: boolean | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* - Orientation of the widget. An alias of the
|
|
23
|
+
* `aria-orientation` attribute.
|
|
24
|
+
*/
|
|
20
25
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
21
|
-
}, {
|
|
26
|
+
} & Record<string, any>, {
|
|
22
27
|
[evt: string]: CustomEvent<any>;
|
|
23
|
-
}, {}, {},
|
|
28
|
+
}, {}, {}, "">;
|
|
29
|
+
type Props = {
|
|
30
|
+
/**
|
|
31
|
+
* - The `class` attribute on the wrapper element.
|
|
32
|
+
*/
|
|
33
|
+
class?: string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* - Whether to hide the widget. An alias of the `aria-hidden`
|
|
36
|
+
* attribute.
|
|
37
|
+
*/
|
|
38
|
+
hidden?: boolean | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* - Orientation of the widget. An alias of the
|
|
41
|
+
* `aria-orientation` attribute.
|
|
42
|
+
*/
|
|
43
|
+
orientation?: "vertical" | "horizontal" | undefined;
|
|
44
|
+
};
|
|
24
45
|
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> {
|
|
25
46
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
26
47
|
$$bindings?: Bindings;
|
|
@@ -4,19 +4,24 @@
|
|
|
4
4
|
-->
|
|
5
5
|
<script>
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
7
|
+
* @typedef {object} Props
|
|
8
|
+
* @property {string} [class] - The `class` attribute on the wrapper element.
|
|
9
|
+
* @property {boolean} [flex] - Whether to make the spacer flexible.
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
-
export { className as class };
|
|
11
|
+
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
* @type {boolean}
|
|
13
|
+
* @type {Props & Record<string, any>}
|
|
15
14
|
*/
|
|
16
|
-
|
|
15
|
+
let {
|
|
16
|
+
/* eslint-disable prefer-const */
|
|
17
|
+
class: className,
|
|
18
|
+
flex = false,
|
|
19
|
+
...restProps
|
|
20
|
+
/* eslint-enable prefer-const */
|
|
21
|
+
} = $props();
|
|
17
22
|
</script>
|
|
18
23
|
|
|
19
|
-
<div role="none" class="sui spacer {className}" class:flex
|
|
24
|
+
<div {...restProps} role="none" class="sui spacer {className}" class:flex></div>
|
|
20
25
|
|
|
21
26
|
<style>.spacer.flex {
|
|
22
27
|
flex: auto;
|
|
@@ -1,21 +1,32 @@
|
|
|
1
1
|
export default Spacer;
|
|
2
|
-
type Spacer = SvelteComponent<{
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
flex?: boolean | undefined;
|
|
6
|
-
}, {
|
|
2
|
+
type Spacer = SvelteComponent<Props & Record<string, any>, {
|
|
7
3
|
[evt: string]: CustomEvent<any>;
|
|
8
4
|
}, {}> & {
|
|
9
|
-
$$bindings?:
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
10
6
|
};
|
|
11
7
|
/** A content divider with no line. It can be flexible. */
|
|
12
8
|
declare const Spacer: $$__sveltets_2_IsomorphicComponent<{
|
|
13
|
-
|
|
9
|
+
/**
|
|
10
|
+
* - The `class` attribute on the wrapper element.
|
|
11
|
+
*/
|
|
14
12
|
class?: string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* - Whether to make the spacer flexible.
|
|
15
|
+
*/
|
|
15
16
|
flex?: boolean | undefined;
|
|
16
|
-
}, {
|
|
17
|
+
} & Record<string, any>, {
|
|
17
18
|
[evt: string]: CustomEvent<any>;
|
|
18
|
-
}, {}, {},
|
|
19
|
+
}, {}, {}, "">;
|
|
20
|
+
type Props = {
|
|
21
|
+
/**
|
|
22
|
+
* - The `class` attribute on the wrapper element.
|
|
23
|
+
*/
|
|
24
|
+
class?: string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* - Whether to make the spacer flexible.
|
|
27
|
+
*/
|
|
28
|
+
flex?: boolean | undefined;
|
|
29
|
+
};
|
|
19
30
|
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> {
|
|
20
31
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
21
32
|
$$bindings?: Bindings;
|
|
@@ -13,46 +13,41 @@
|
|
|
13
13
|
import Modal from '../util/modal.svelte';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*
|
|
23
|
-
* @
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
* @
|
|
29
|
-
|
|
30
|
-
export let title = '';
|
|
31
|
-
/**
|
|
32
|
-
* Position of the drawer.
|
|
33
|
-
* @type {'top' | 'right' | 'bottom' | 'left'}
|
|
16
|
+
* @typedef {object} Props
|
|
17
|
+
* @property {string} [class] - The `class` attribute on the content element.
|
|
18
|
+
* @property {boolean} [open] - Whether to open the drawer.
|
|
19
|
+
* @property {string} [title] - Title text displayed on the header.
|
|
20
|
+
* @property {'top' | 'right' | 'bottom' | 'left'} [position] - Position of the drawer.
|
|
21
|
+
* @property {'small' | 'medium' | 'large' | 'x-large' | 'full'} [size] - Width or height of the
|
|
22
|
+
* drawer.
|
|
23
|
+
* @property {'inside' | 'outside' | false} [showClose] - Whether to show the Close button.
|
|
24
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
25
|
+
* @property {import('svelte').Snippet} [header] - Header slot content.
|
|
26
|
+
* @property {import('svelte').Snippet} [headerExtra] - Header extra slot content.
|
|
27
|
+
* @property {import('svelte').Snippet} [footer] - Footer slot content.
|
|
28
|
+
* @property {import('svelte').Snippet} [closeIcon] - Close icon slot content.
|
|
29
|
+
* @property {import('svelte').Snippet} [extraContent] - Extra content slot content.
|
|
34
30
|
*/
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Width or height of the drawer.
|
|
38
|
-
* @type {'small' | 'medium' | 'large' | 'x-large' | 'full'}
|
|
39
|
-
*/
|
|
40
|
-
export let size = 'small';
|
|
41
|
-
/**
|
|
42
|
-
* Whether to show the Close button.
|
|
43
|
-
* @type {'inside' | 'outside' | false}
|
|
44
|
-
*/
|
|
45
|
-
export let showClose = 'outside';
|
|
46
|
-
/**
|
|
47
|
-
* Whether to close the modal when the backdrop (outside of the modal) is clicked.
|
|
48
|
-
* @type {boolean}
|
|
49
|
-
*/
|
|
50
|
-
export let lightDismiss = false;
|
|
31
|
+
|
|
51
32
|
/**
|
|
52
|
-
*
|
|
53
|
-
* @type {boolean}
|
|
33
|
+
* @type {import('../../typedefs').ModalProps & Props & Record<string, any>}
|
|
54
34
|
*/
|
|
55
|
-
|
|
35
|
+
let {
|
|
36
|
+
/* eslint-disable prefer-const */
|
|
37
|
+
open = $bindable(false),
|
|
38
|
+
class: className,
|
|
39
|
+
title = '',
|
|
40
|
+
position = 'right',
|
|
41
|
+
size = 'small',
|
|
42
|
+
showClose = 'outside',
|
|
43
|
+
children,
|
|
44
|
+
header,
|
|
45
|
+
headerExtra,
|
|
46
|
+
footer,
|
|
47
|
+
closeIcon,
|
|
48
|
+
...restProps
|
|
49
|
+
/* eslint-enable prefer-const */
|
|
50
|
+
} = $props();
|
|
56
51
|
|
|
57
52
|
/**
|
|
58
53
|
* The ID of the drawer.
|
|
@@ -61,30 +56,16 @@
|
|
|
61
56
|
const id = generateElementId('drawer');
|
|
62
57
|
/**
|
|
63
58
|
* A reference to the modal component.
|
|
64
|
-
* @type {Modal}
|
|
59
|
+
* @type {Modal | undefined}
|
|
65
60
|
*/
|
|
66
|
-
let modal;
|
|
61
|
+
let modal = $state();
|
|
67
62
|
|
|
68
|
-
|
|
63
|
+
const orientation = $derived(
|
|
64
|
+
position === 'right' || position === 'left' ? 'vertical' : 'horizontal',
|
|
65
|
+
);
|
|
69
66
|
</script>
|
|
70
67
|
|
|
71
|
-
<Modal
|
|
72
|
-
{id}
|
|
73
|
-
class="drawer"
|
|
74
|
-
bind:open
|
|
75
|
-
showBackdrop
|
|
76
|
-
{lightDismiss}
|
|
77
|
-
{keepContent}
|
|
78
|
-
{...$$restProps}
|
|
79
|
-
bind:this={modal}
|
|
80
|
-
on:opening
|
|
81
|
-
on:open
|
|
82
|
-
on:ok
|
|
83
|
-
on:cancel
|
|
84
|
-
on:closing
|
|
85
|
-
on:close
|
|
86
|
-
>
|
|
87
|
-
<slot name="extra-content" slot="extra-content" />
|
|
68
|
+
<Modal bind:this={modal} {...restProps} bind:open {id} class="drawer" showBackdrop>
|
|
88
69
|
<div role="none" class="content {className} {size} {position} {orientation}">
|
|
89
70
|
<div role="none" class="extra-control">
|
|
90
71
|
{#if showClose === 'outside'}
|
|
@@ -94,28 +75,30 @@
|
|
|
94
75
|
class="close"
|
|
95
76
|
aria-label={$_('_sui.close')}
|
|
96
77
|
aria-controls={id}
|
|
97
|
-
|
|
98
|
-
modal
|
|
78
|
+
onclick={() => {
|
|
79
|
+
modal?.close('close');
|
|
99
80
|
}}
|
|
100
81
|
>
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
82
|
+
{#snippet startIcon()}
|
|
83
|
+
{#if closeIcon}
|
|
84
|
+
{@render closeIcon()}
|
|
85
|
+
{:else}
|
|
86
|
+
<Icon name="close" />
|
|
87
|
+
{/if}
|
|
88
|
+
{/snippet}
|
|
104
89
|
</Button>
|
|
105
90
|
{/if}
|
|
106
91
|
</div>
|
|
107
|
-
{#if title || showClose === 'inside' ||
|
|
108
|
-
{#if
|
|
109
|
-
|
|
92
|
+
{#if title || showClose === 'inside' || header || headerExtra}
|
|
93
|
+
{#if header}
|
|
94
|
+
{@render header()}
|
|
110
95
|
{:else}
|
|
111
96
|
<div role="none" class="header">
|
|
112
97
|
<div role="none" class="title">
|
|
113
98
|
{title}
|
|
114
99
|
</div>
|
|
115
100
|
<Spacer flex={true} />
|
|
116
|
-
{
|
|
117
|
-
<slot name="header-extra" />
|
|
118
|
-
{/if}
|
|
101
|
+
{@render headerExtra?.()}
|
|
119
102
|
{#if showClose === 'inside'}
|
|
120
103
|
<Button
|
|
121
104
|
variant="ghost"
|
|
@@ -123,24 +106,28 @@
|
|
|
123
106
|
class="close"
|
|
124
107
|
aria-label={$_('_sui.close')}
|
|
125
108
|
aria-controls={id}
|
|
126
|
-
|
|
127
|
-
modal
|
|
109
|
+
onclick={() => {
|
|
110
|
+
modal?.close('close');
|
|
128
111
|
}}
|
|
129
112
|
>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
113
|
+
{#snippet startIcon()}
|
|
114
|
+
{#if closeIcon}
|
|
115
|
+
{@render closeIcon()}
|
|
116
|
+
{:else}
|
|
117
|
+
<Icon name="close" />
|
|
118
|
+
{/if}
|
|
119
|
+
{/snippet}
|
|
133
120
|
</Button>
|
|
134
121
|
{/if}
|
|
135
122
|
</div>
|
|
136
123
|
{/if}
|
|
137
124
|
{/if}
|
|
138
125
|
<div role="none" class="main">
|
|
139
|
-
|
|
126
|
+
{@render children?.()}
|
|
140
127
|
</div>
|
|
141
|
-
{#if
|
|
128
|
+
{#if footer}
|
|
142
129
|
<div role="none" class="footer">
|
|
143
|
-
|
|
130
|
+
{@render footer?.()}
|
|
144
131
|
</div>
|
|
145
132
|
{/if}
|
|
146
133
|
</div>
|
|
@@ -1,100 +1,118 @@
|
|
|
1
1
|
export default Drawer;
|
|
2
|
-
type Drawer = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
title?: string | undefined;
|
|
6
|
-
size?: "small" | "medium" | "large" | "x-large" | "full" | undefined;
|
|
7
|
-
position?: "top" | "left" | "right" | "bottom" | undefined;
|
|
8
|
-
open?: boolean | undefined;
|
|
9
|
-
lightDismiss?: boolean | undefined;
|
|
10
|
-
keepContent?: boolean | undefined;
|
|
11
|
-
showClose?: false | "inside" | "outside" | undefined;
|
|
12
|
-
}, {
|
|
13
|
-
'extra-content': {
|
|
14
|
-
slot: string;
|
|
15
|
-
};
|
|
16
|
-
'close-button': {
|
|
17
|
-
slot: string;
|
|
18
|
-
};
|
|
19
|
-
header: {};
|
|
20
|
-
'header-extra': {};
|
|
21
|
-
default: {};
|
|
22
|
-
footer: {};
|
|
23
|
-
}>, {
|
|
24
|
-
opening: CustomEvent<any>;
|
|
25
|
-
open: CustomEvent<any>;
|
|
26
|
-
ok: CustomEvent<any>;
|
|
27
|
-
cancel: CustomEvent<any>;
|
|
28
|
-
closing: CustomEvent<any>;
|
|
29
|
-
close: CustomEvent<any>;
|
|
30
|
-
} & {
|
|
2
|
+
type Drawer = SvelteComponent<ModalProps & Props & Record<string, any>, {
|
|
31
3
|
[evt: string]: CustomEvent<any>;
|
|
32
|
-
}, {
|
|
33
|
-
|
|
34
|
-
slot: string;
|
|
35
|
-
};
|
|
36
|
-
'close-button': {
|
|
37
|
-
slot: string;
|
|
38
|
-
};
|
|
39
|
-
header: {};
|
|
40
|
-
'header-extra': {};
|
|
41
|
-
default: {};
|
|
42
|
-
footer: {};
|
|
43
|
-
}> & {
|
|
44
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "open" | undefined;
|
|
45
6
|
};
|
|
46
7
|
/**
|
|
47
8
|
* A generic drawer widget based on the HTML `<dialog>` element.
|
|
48
9
|
* @see https://w3c.github.io/aria/#dialog
|
|
49
10
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
|
|
50
11
|
*/
|
|
51
|
-
declare const Drawer: $$__sveltets_2_IsomorphicComponent
|
|
52
|
-
|
|
12
|
+
declare const Drawer: $$__sveltets_2_IsomorphicComponent<import("../../typedefs").ModalProps & {
|
|
13
|
+
/**
|
|
14
|
+
* - The `class` attribute on the content element.
|
|
15
|
+
*/
|
|
53
16
|
class?: string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* - Whether to open the drawer.
|
|
19
|
+
*/
|
|
20
|
+
open?: boolean | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* - Title text displayed on the header.
|
|
23
|
+
*/
|
|
54
24
|
title?: string | undefined;
|
|
55
|
-
|
|
25
|
+
/**
|
|
26
|
+
* - Position of the drawer.
|
|
27
|
+
*/
|
|
56
28
|
position?: "top" | "left" | "right" | "bottom" | undefined;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
29
|
+
/**
|
|
30
|
+
* - Width or height of the
|
|
31
|
+
* drawer.
|
|
32
|
+
*/
|
|
33
|
+
size?: "small" | "medium" | "large" | "x-large" | "full" | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* - Whether to show the Close button.
|
|
36
|
+
*/
|
|
60
37
|
showClose?: false | "inside" | "outside" | undefined;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
header
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
38
|
+
/**
|
|
39
|
+
* - Primary slot content.
|
|
40
|
+
*/
|
|
41
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* - Header slot content.
|
|
44
|
+
*/
|
|
45
|
+
header?: import("svelte").Snippet<[]> | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* - Header extra slot content.
|
|
48
|
+
*/
|
|
49
|
+
headerExtra?: import("svelte").Snippet<[]> | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* - Footer slot content.
|
|
52
|
+
*/
|
|
53
|
+
footer?: import("svelte").Snippet<[]> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* - Close icon slot content.
|
|
56
|
+
*/
|
|
57
|
+
closeIcon?: import("svelte").Snippet<[]> | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* - Extra content slot content.
|
|
60
|
+
*/
|
|
61
|
+
extraContent?: import("svelte").Snippet<[]> | undefined;
|
|
62
|
+
} & Record<string, any>, {
|
|
80
63
|
[evt: string]: CustomEvent<any>;
|
|
81
|
-
}, {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
64
|
+
}, {}, {}, "open">;
|
|
65
|
+
type Props = {
|
|
66
|
+
/**
|
|
67
|
+
* - The `class` attribute on the content element.
|
|
68
|
+
*/
|
|
69
|
+
class?: string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* - Whether to open the drawer.
|
|
72
|
+
*/
|
|
73
|
+
open?: boolean | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* - Title text displayed on the header.
|
|
76
|
+
*/
|
|
77
|
+
title?: string | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* - Position of the drawer.
|
|
80
|
+
*/
|
|
81
|
+
position?: "top" | "left" | "right" | "bottom" | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* - Width or height of the
|
|
84
|
+
* drawer.
|
|
85
|
+
*/
|
|
86
|
+
size?: "small" | "medium" | "large" | "x-large" | "full" | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* - Whether to show the Close button.
|
|
89
|
+
*/
|
|
90
|
+
showClose?: false | "inside" | "outside" | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* - Primary slot content.
|
|
93
|
+
*/
|
|
94
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* - Header slot content.
|
|
97
|
+
*/
|
|
98
|
+
header?: import("svelte").Snippet<[]> | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* - Header extra slot content.
|
|
101
|
+
*/
|
|
102
|
+
headerExtra?: import("svelte").Snippet<[]> | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* - Footer slot content.
|
|
105
|
+
*/
|
|
106
|
+
footer?: import("svelte").Snippet<[]> | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* - Close icon slot content.
|
|
109
|
+
*/
|
|
110
|
+
closeIcon?: import("svelte").Snippet<[]> | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* - Extra content slot content.
|
|
113
|
+
*/
|
|
114
|
+
extraContent?: import("svelte").Snippet<[]> | undefined;
|
|
115
|
+
};
|
|
98
116
|
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
117
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
100
118
|
$$bindings?: Bindings;
|
|
@@ -8,38 +8,43 @@
|
|
|
8
8
|
import { generateElementId } from '@sveltia/utils/element';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @
|
|
11
|
+
* @typedef {object} Props
|
|
12
|
+
* @property {string} [class] - The `class` attribute on the wrapper element.
|
|
13
|
+
* @property {string} [label] - Display label for the row group.
|
|
14
|
+
* @property {import('svelte').Snippet} [children] - Primary slot content.
|
|
13
15
|
*/
|
|
14
|
-
let className = '';
|
|
15
|
-
export { className as class };
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @type {string}
|
|
18
|
+
* @type {Props & Record<string, any>}
|
|
20
19
|
*/
|
|
21
|
-
|
|
20
|
+
let {
|
|
21
|
+
/* eslint-disable prefer-const */
|
|
22
|
+
class: className,
|
|
23
|
+
label = '',
|
|
24
|
+
children,
|
|
25
|
+
...restProps
|
|
26
|
+
/* eslint-enable prefer-const */
|
|
27
|
+
} = $props();
|
|
22
28
|
|
|
23
29
|
const id = generateElementId('tbody');
|
|
24
30
|
</script>
|
|
25
31
|
|
|
26
32
|
<div
|
|
33
|
+
{...restProps}
|
|
27
34
|
role="rowgroup"
|
|
28
35
|
class="sui grid-body row-group {className}"
|
|
29
36
|
aria-labelledby={label ? `${id}-label` : undefined}
|
|
30
37
|
aria-roledescription="grid body"
|
|
31
|
-
{...$$restProps}
|
|
32
38
|
>
|
|
33
39
|
{#if label}
|
|
34
40
|
<div role="row" class="row-group-caption">
|
|
35
41
|
<!-- We need `colspan` here but cannot place `<th>` under `<div>`, so use a hack -->
|
|
36
|
-
<!-- prettier-ignore -->
|
|
37
42
|
<svelte:element this={'th'} role="rowheader" id="{id}-label" colspan="9999">
|
|
38
43
|
{label}
|
|
39
44
|
</svelte:element>
|
|
40
45
|
</div>
|
|
41
46
|
{/if}
|
|
42
|
-
|
|
47
|
+
{@render children?.()}
|
|
43
48
|
</div>
|
|
44
49
|
|
|
45
50
|
<style>[role=rowgroup] {
|
|
@@ -1,38 +1,44 @@
|
|
|
1
1
|
export default GridBody;
|
|
2
|
-
type GridBody = SvelteComponent
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
class?: string | undefined;
|
|
5
|
-
label?: string | undefined;
|
|
6
|
-
}, {
|
|
7
|
-
default: {};
|
|
8
|
-
}>, {
|
|
2
|
+
type GridBody = SvelteComponent<Props & Record<string, any>, {
|
|
9
3
|
[evt: string]: CustomEvent<any>;
|
|
10
|
-
}, {
|
|
11
|
-
|
|
12
|
-
}> & {
|
|
13
|
-
$$bindings?: string | undefined;
|
|
4
|
+
}, {}> & {
|
|
5
|
+
$$bindings?: "" | undefined;
|
|
14
6
|
};
|
|
15
7
|
/**
|
|
16
8
|
* The interactive version of `<TableBody>`.
|
|
17
9
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody
|
|
18
10
|
* @see https://w3c.github.io/aria/#rowgroup
|
|
19
11
|
*/
|
|
20
|
-
declare const GridBody: $$__sveltets_2_IsomorphicComponent
|
|
21
|
-
|
|
12
|
+
declare const GridBody: $$__sveltets_2_IsomorphicComponent<{
|
|
13
|
+
/**
|
|
14
|
+
* - The `class` attribute on the wrapper element.
|
|
15
|
+
*/
|
|
22
16
|
class?: string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* - Display label for the row group.
|
|
19
|
+
*/
|
|
23
20
|
label?: string | undefined;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
/**
|
|
22
|
+
* - Primary slot content.
|
|
23
|
+
*/
|
|
24
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
25
|
+
} & Record<string, any>, {
|
|
27
26
|
[evt: string]: CustomEvent<any>;
|
|
28
|
-
}, {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
}, {}, {}, "">;
|
|
28
|
+
type Props = {
|
|
29
|
+
/**
|
|
30
|
+
* - The `class` attribute on the wrapper element.
|
|
31
|
+
*/
|
|
32
|
+
class?: string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* - Display label for the row group.
|
|
35
|
+
*/
|
|
36
|
+
label?: string | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* - Primary slot content.
|
|
39
|
+
*/
|
|
40
|
+
children?: import("svelte").Snippet<[]> | undefined;
|
|
41
|
+
};
|
|
36
42
|
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> {
|
|
37
43
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
38
44
|
$$bindings?: Bindings;
|