@sveltia/ui 0.7.4 → 0.8.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 +4 -4
- package/package/components/alert/alert.svelte.d.ts +2 -2
- package/package/components/button/button.svelte +13 -3
- package/package/components/button/button.svelte.d.ts +11 -4
- package/package/components/button/select-button-group.svelte +12 -8
- package/package/components/button/select-button.svelte +5 -4
- package/package/components/button/select-button.svelte.d.ts +2 -0
- package/package/components/calendar/calendar.svelte +20 -14
- package/package/components/checkbox/checkbox-group.svelte +6 -5
- package/package/components/checkbox/checkbox.svelte +16 -9
- package/package/components/checkbox/checkbox.svelte.d.ts +2 -2
- package/package/components/dialog/alert-dialog.svelte +50 -0
- package/package/components/dialog/alert-dialog.svelte.d.ts +55 -0
- package/package/components/dialog/confirmation-dialog.svelte +55 -0
- package/package/components/dialog/confirmation-dialog.svelte.d.ts +57 -0
- package/package/components/dialog/dialog.svelte +164 -220
- package/package/components/dialog/dialog.svelte.d.ts +20 -12
- package/package/components/dialog/prompt-dialog.svelte +78 -0
- package/package/components/dialog/prompt-dialog.svelte.d.ts +72 -0
- package/package/components/disclosure/disclosure.svelte +3 -3
- package/package/components/divider/divider.svelte +1 -1
- package/package/components/divider/spacer.svelte +1 -12
- package/package/components/divider/spacer.svelte.d.ts +0 -2
- package/package/components/drawer/drawer.svelte +118 -208
- package/package/components/drawer/drawer.svelte.d.ts +12 -8
- package/package/components/grid/grid-body.svelte +51 -0
- package/package/components/grid/grid-body.svelte.d.ts +36 -0
- package/package/components/grid/grid-cell.svelte +22 -0
- package/package/components/grid/grid-cell.svelte.d.ts +34 -0
- package/package/components/grid/grid-col-header.svelte +22 -0
- package/package/components/grid/grid-col-header.svelte.d.ts +34 -0
- package/package/components/grid/grid-foot.svelte +27 -0
- package/package/components/grid/grid-foot.svelte.d.ts +34 -0
- package/package/components/grid/grid-head.svelte +27 -0
- package/package/components/grid/grid-head.svelte.d.ts +34 -0
- package/package/components/grid/grid-row-header.svelte +23 -0
- package/package/components/grid/grid-row-header.svelte.d.ts +34 -0
- package/package/components/grid/grid-row.svelte +37 -0
- package/package/components/grid/grid-row.svelte.d.ts +44 -0
- package/package/components/grid/grid.svelte +52 -0
- package/package/components/grid/grid.svelte.d.ts +42 -0
- package/package/components/icon/icon.svelte +6 -7
- package/package/components/icon/icon.svelte.d.ts +0 -2
- package/package/components/listbox/listbox.svelte +6 -6
- package/package/components/listbox/option-group.svelte +6 -5
- package/package/components/listbox/option.svelte +7 -28
- package/package/components/listbox/option.svelte.d.ts +2 -0
- package/package/components/menu/menu-button.svelte +26 -16
- package/package/components/menu/menu-button.svelte.d.ts +2 -2
- package/package/components/menu/menu-item-checkbox.svelte +5 -4
- package/package/components/menu/menu-item-checkbox.svelte.d.ts +2 -0
- package/package/components/menu/menu-item-group.svelte +4 -3
- package/package/components/menu/menu-item-radio.svelte +5 -4
- package/package/components/menu/menu-item-radio.svelte.d.ts +2 -0
- package/package/components/menu/menu-item.svelte +7 -5
- package/package/components/menu/menu-item.svelte.d.ts +4 -2
- package/package/components/menu/menu.svelte +1 -1
- package/package/components/radio/radio-group.svelte +8 -8
- package/package/components/radio/radio-group.svelte.d.ts +2 -2
- package/package/components/radio/radio.svelte +5 -2
- package/package/components/radio/radio.svelte.d.ts +2 -0
- package/package/components/select/combobox.svelte +55 -35
- package/package/components/select/combobox.svelte.d.ts +3 -2
- package/package/components/select/select.svelte +10 -9
- package/package/components/select/select.svelte.d.ts +4 -3
- package/package/components/slider/slider.svelte +15 -7
- package/package/components/switch/switch.svelte +9 -6
- package/package/components/switch/switch.svelte.d.ts +2 -2
- package/package/components/table/table-body.svelte +31 -3
- package/package/components/table/table-body.svelte.d.ts +2 -0
- package/package/components/table/table-cell.svelte +3 -4
- package/package/components/table/table-cell.svelte.d.ts +1 -1
- package/package/components/table/table-col-header.svelte +1 -2
- package/package/components/table/table-foot.svelte +7 -3
- package/package/components/table/table-head.svelte +7 -3
- package/package/components/table/table-row-header.svelte +1 -2
- package/package/components/table/table-row.svelte +1 -14
- package/package/components/table/table-row.svelte.d.ts +0 -8
- package/package/components/table/table.svelte +5 -17
- package/package/components/table/table.svelte.d.ts +1 -7
- package/package/components/tabs/tab-list.svelte +7 -5
- package/package/components/tabs/tab-panel.svelte +1 -1
- package/package/components/tabs/tab.svelte +2 -1
- package/package/components/tabs/tab.svelte.d.ts +2 -0
- package/package/components/text-field/markdown-editor.svelte +36 -9
- package/package/components/text-field/markdown-editor.svelte.d.ts +2 -0
- package/package/components/text-field/number-input.svelte +107 -43
- package/package/components/text-field/number-input.svelte.d.ts +2 -0
- package/package/components/text-field/password-input.svelte +43 -12
- package/package/components/text-field/password-input.svelte.d.ts +2 -0
- package/package/components/text-field/search-bar.svelte +43 -13
- package/package/components/text-field/search-bar.svelte.d.ts +5 -0
- package/package/components/text-field/text-area.svelte +26 -6
- package/package/components/text-field/text-area.svelte.d.ts +2 -0
- package/package/components/text-field/text-input.svelte +37 -7
- package/package/components/text-field/text-input.svelte.d.ts +14 -4
- package/package/components/toast/toast.svelte +6 -16
- package/package/components/toast/toast.svelte.d.ts +2 -2
- package/package/components/toolbar/toolbar.svelte +3 -4
- package/package/components/util/app-shell.svelte +34 -29
- package/package/components/util/group.svelte +2 -2
- package/package/components/util/modal.svelte +220 -0
- package/package/components/util/modal.svelte.d.ts +83 -0
- package/package/components/util/popup.svelte +80 -121
- package/package/components/util/popup.svelte.d.ts +22 -13
- package/package/components/util/portal.svelte +1 -1
- package/package/index.d.ts +12 -0
- package/package/index.js +12 -0
- package/package/locales/en.d.ts +1 -0
- package/package/locales/en.js +1 -0
- package/package/locales/ja.d.ts +1 -0
- package/package/locales/ja.js +1 -0
- package/package/services/group.js +67 -13
- package/package/services/popup.d.ts +5 -1
- package/package/services/popup.js +22 -19
- package/package/styles/core.scss +13 -26
- package/package/styles/variables.scss +14 -2
- package/package.json +107 -11
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
*/
|
|
26
26
|
export let disabled = false;
|
|
27
27
|
/**
|
|
28
|
-
* Whether to
|
|
28
|
+
* Whether to make the widget read-only. An alias of the `aria-readonly` attribute.
|
|
29
29
|
* @type {boolean}
|
|
30
30
|
*/
|
|
31
31
|
export let readonly = false;
|
|
32
32
|
/**
|
|
33
|
-
* Whether to
|
|
33
|
+
* Whether to mark the widget required. An alias of the `aria-required` attribute.
|
|
34
34
|
* @type {boolean}
|
|
35
35
|
*/
|
|
36
36
|
export let required = false;
|
|
37
37
|
/**
|
|
38
|
-
* Whether to
|
|
38
|
+
* Whether to mark the widget invalid. An alias of the `aria-invalid` attribute.
|
|
39
39
|
* @type {boolean}
|
|
40
40
|
*/
|
|
41
41
|
export let invalid = false;
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
</script>
|
|
49
49
|
|
|
50
50
|
<div
|
|
51
|
+
role="listbox"
|
|
51
52
|
class="sui listbox {className}"
|
|
52
53
|
tabindex={disabled ? -1 : 0}
|
|
53
|
-
role="listbox"
|
|
54
54
|
hidden={hidden || undefined}
|
|
55
55
|
aria-hidden={hidden}
|
|
56
56
|
aria-disabled={disabled}
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
on:click
|
|
64
64
|
on:change
|
|
65
65
|
>
|
|
66
|
-
<div class="inner" inert={disabled}>
|
|
66
|
+
<div role="none" class="inner" inert={disabled}>
|
|
67
67
|
<slot />
|
|
68
68
|
</div>
|
|
69
69
|
</div>
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<style>[role=listbox] {
|
|
72
72
|
display: flex;
|
|
73
73
|
flex-direction: column;
|
|
74
|
-
margin:
|
|
74
|
+
margin: var(--sui-focus-ring-width);
|
|
75
75
|
border-width: 1px;
|
|
76
76
|
border-color: var(--sui-listbox-border-color);
|
|
77
77
|
border-radius: var(--sui-listbox-border-radius);
|
|
@@ -34,22 +34,23 @@
|
|
|
34
34
|
</script>
|
|
35
35
|
|
|
36
36
|
<div
|
|
37
|
-
{id}
|
|
38
|
-
class="sui optgroup {className}"
|
|
39
37
|
role="group"
|
|
38
|
+
{id}
|
|
39
|
+
class="sui option-group {className}"
|
|
40
40
|
hidden={hidden || undefined}
|
|
41
41
|
aria-hidden={hidden}
|
|
42
42
|
aria-disabled={disabled}
|
|
43
43
|
aria-labelledby="{id}-label"
|
|
44
|
+
aria-roledescription="option group"
|
|
44
45
|
{...$$restProps}
|
|
45
46
|
>
|
|
46
|
-
<div id="{id}-label" class="label"
|
|
47
|
-
<div class="inner" inert={disabled}>
|
|
47
|
+
<div role="none" id="{id}-label" class="label">{label}</div>
|
|
48
|
+
<div role="none" class="inner" inert={disabled}>
|
|
48
49
|
<slot />
|
|
49
50
|
</div>
|
|
50
51
|
</div>
|
|
51
52
|
|
|
52
|
-
<style>.
|
|
53
|
+
<style>.option-group:not(:first-child) {
|
|
53
54
|
margin: 12px 0 0;
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#option
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
-
import { onMount } from 'svelte';
|
|
9
8
|
import Button from '../button/button.svelte';
|
|
10
9
|
import Icon from '../icon/icon.svelte';
|
|
11
10
|
|
|
@@ -40,37 +39,12 @@
|
|
|
40
39
|
* @type {string | undefined}
|
|
41
40
|
*/
|
|
42
41
|
export let value = undefined;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Reference to the `Button` component.
|
|
46
|
-
* @type {Button | undefined}
|
|
47
|
-
*/
|
|
48
|
-
let buttonComponent;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Event listener for the `select` event fired in `group.js`.
|
|
52
|
-
* @param {CustomEvent} event `select` event.
|
|
53
|
-
*/
|
|
54
|
-
const listener = ({ type }) => {
|
|
55
|
-
selected = type === 'select';
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
onMount(() => {
|
|
59
|
-
buttonComponent.element.addEventListener('select', listener);
|
|
60
|
-
buttonComponent.element.addEventListener('unselect', listener);
|
|
61
|
-
|
|
62
|
-
return () => {
|
|
63
|
-
buttonComponent.element.removeEventListener('select', listener);
|
|
64
|
-
buttonComponent.element.removeEventListener('unselect', listener);
|
|
65
|
-
};
|
|
66
|
-
});
|
|
67
42
|
</script>
|
|
68
43
|
|
|
69
|
-
<div class="sui option {className}" hidden={hidden || undefined}>
|
|
44
|
+
<div role="none" class="sui option {className}" hidden={hidden || undefined}>
|
|
70
45
|
<Button
|
|
71
|
-
bind:this={buttonComponent}
|
|
72
|
-
tabindex="-1"
|
|
73
46
|
role="option"
|
|
47
|
+
tabindex="-1"
|
|
74
48
|
aria-selected={selected}
|
|
75
49
|
{label}
|
|
76
50
|
{value}
|
|
@@ -84,6 +58,10 @@
|
|
|
84
58
|
on:dragend
|
|
85
59
|
on:drop
|
|
86
60
|
on:select
|
|
61
|
+
on:change
|
|
62
|
+
on:change={(event) => {
|
|
63
|
+
selected = /** @type {CustomEvent} */ (event).detail.selected;
|
|
64
|
+
}}
|
|
87
65
|
>
|
|
88
66
|
{#if selected}
|
|
89
67
|
<Icon class="check" name="check" />
|
|
@@ -105,6 +83,7 @@
|
|
|
105
83
|
display: flex;
|
|
106
84
|
justify-content: space-between;
|
|
107
85
|
gap: 4px;
|
|
86
|
+
margin: 0 !important;
|
|
108
87
|
border-radius: var(--sui-option-border-radius);
|
|
109
88
|
padding: var(--sui-option-padding);
|
|
110
89
|
width: 100%;
|
|
@@ -21,6 +21,7 @@ export default class Option extends SvelteComponent<{
|
|
|
21
21
|
dragend: DragEvent;
|
|
22
22
|
drop: DragEvent;
|
|
23
23
|
select: Event;
|
|
24
|
+
change: Event;
|
|
24
25
|
} & {
|
|
25
26
|
[evt: string]: CustomEvent<any>;
|
|
26
27
|
}, {
|
|
@@ -54,6 +55,7 @@ declare const __propDef: {
|
|
|
54
55
|
dragend: DragEvent;
|
|
55
56
|
drop: DragEvent;
|
|
56
57
|
select: Event;
|
|
58
|
+
change: Event;
|
|
57
59
|
} & {
|
|
58
60
|
[evt: string]: CustomEvent<any>;
|
|
59
61
|
};
|
|
@@ -67,23 +67,33 @@
|
|
|
67
67
|
};
|
|
68
68
|
</script>
|
|
69
69
|
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
70
|
+
<div role="none" class="wrapper">
|
|
71
|
+
<Button
|
|
72
|
+
class="sui menu-button {className}"
|
|
73
|
+
{hidden}
|
|
74
|
+
{disabled}
|
|
75
|
+
{label}
|
|
76
|
+
{variant}
|
|
77
|
+
{size}
|
|
78
|
+
{iconic}
|
|
79
|
+
aria-haspopup="menu"
|
|
80
|
+
{...$$restProps}
|
|
81
|
+
bind:this={buttonComponent}
|
|
82
|
+
>
|
|
83
|
+
<slot name="start-icon" slot="start-icon" />
|
|
84
|
+
<slot />
|
|
85
|
+
<slot name="end-icon" slot="end-icon" />
|
|
86
|
+
</Button>
|
|
87
|
+
</div>
|
|
86
88
|
|
|
87
89
|
<Popup anchor={buttonComponent?.element} position={popupPosition} bind:this={popupComponent}>
|
|
88
90
|
<slot name="popup" />
|
|
89
91
|
</Popup>
|
|
92
|
+
|
|
93
|
+
<style>.wrapper {
|
|
94
|
+
display: contents;
|
|
95
|
+
}
|
|
96
|
+
.wrapper :global(.icon:last-child) {
|
|
97
|
+
margin: 0 -2px;
|
|
98
|
+
font-size: 20px;
|
|
99
|
+
}</style>
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
export default class MenuButton extends SvelteComponent<{
|
|
9
9
|
[x: string]: any;
|
|
10
10
|
class?: string;
|
|
11
|
-
label?: string;
|
|
12
11
|
focus?: () => void;
|
|
12
|
+
label?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
size?: "small" | "medium" | "large";
|
|
15
15
|
hidden?: boolean;
|
|
@@ -38,8 +38,8 @@ declare const __propDef: {
|
|
|
38
38
|
props: {
|
|
39
39
|
[x: string]: any;
|
|
40
40
|
class?: string;
|
|
41
|
-
label?: string;
|
|
42
41
|
focus?: () => void;
|
|
42
|
+
label?: string;
|
|
43
43
|
disabled?: boolean;
|
|
44
44
|
size?: 'small' | 'medium' | 'large';
|
|
45
45
|
hidden?: boolean | undefined;
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
</script>
|
|
45
45
|
|
|
46
46
|
<MenuItem
|
|
47
|
-
class="sui menu-item-checkbox {className}"
|
|
48
47
|
role="menuitemcheckbox"
|
|
48
|
+
class="sui menu-item-checkbox {className}"
|
|
49
49
|
{label}
|
|
50
50
|
{hidden}
|
|
51
51
|
{disabled}
|
|
@@ -54,10 +54,11 @@
|
|
|
54
54
|
{iconLabel}
|
|
55
55
|
{...$$restProps}
|
|
56
56
|
on:click
|
|
57
|
-
on:click={() => {
|
|
58
|
-
checked = !checked;
|
|
59
|
-
}}
|
|
60
57
|
on:select
|
|
58
|
+
on:change
|
|
59
|
+
on:change={(event) => {
|
|
60
|
+
checked = /** @type {CustomEvent} */ (event).detail.checked;
|
|
61
|
+
}}
|
|
61
62
|
>
|
|
62
63
|
<slot />
|
|
63
64
|
<svelte:component this={checked ? Icon : undefined} slot="end-icon" name="check" />
|
|
@@ -17,6 +17,7 @@ export default class MenuItemCheckbox extends SvelteComponent<{
|
|
|
17
17
|
}, {
|
|
18
18
|
click: MouseEvent;
|
|
19
19
|
select: Event;
|
|
20
|
+
change: Event;
|
|
20
21
|
} & {
|
|
21
22
|
[evt: string]: CustomEvent<any>;
|
|
22
23
|
}, {
|
|
@@ -41,6 +42,7 @@ declare const __propDef: {
|
|
|
41
42
|
events: {
|
|
42
43
|
click: MouseEvent;
|
|
43
44
|
select: Event;
|
|
45
|
+
change: Event;
|
|
44
46
|
} & {
|
|
45
47
|
[evt: string]: CustomEvent<any>;
|
|
46
48
|
};
|
|
@@ -30,19 +30,20 @@
|
|
|
30
30
|
</script>
|
|
31
31
|
|
|
32
32
|
<div
|
|
33
|
+
role="group"
|
|
33
34
|
{id}
|
|
34
35
|
class="sui menu-item-group {className}"
|
|
35
36
|
hidden={hidden || undefined}
|
|
36
|
-
role="group"
|
|
37
37
|
aria-hidden={hidden}
|
|
38
38
|
aria-disabled={disabled}
|
|
39
39
|
aria-labelledby={title ? '{id}-title' : undefined}
|
|
40
|
+
aria-roledescription="menu item group"
|
|
40
41
|
{...$$restProps}
|
|
41
42
|
>
|
|
42
43
|
{#if title}
|
|
43
|
-
<div class="title" id="{id}-title">{title}</div>
|
|
44
|
+
<div role="none" class="title" id="{id}-title">{title}</div>
|
|
44
45
|
{/if}
|
|
45
|
-
<div class="inner" inert={disabled}>
|
|
46
|
+
<div role="none" class="inner" inert={disabled}>
|
|
46
47
|
<slot />
|
|
47
48
|
</div>
|
|
48
49
|
</div>
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
</script>
|
|
46
46
|
|
|
47
47
|
<MenuItem
|
|
48
|
-
class="sui menu-item-radio {className}"
|
|
49
48
|
role="menuitemradio"
|
|
49
|
+
class="sui menu-item-radio {className}"
|
|
50
50
|
{label}
|
|
51
51
|
{hidden}
|
|
52
52
|
{disabled}
|
|
@@ -55,10 +55,11 @@
|
|
|
55
55
|
{iconLabel}
|
|
56
56
|
{...$$restProps}
|
|
57
57
|
on:click
|
|
58
|
-
on:click={() => {
|
|
59
|
-
checked = !checked;
|
|
60
|
-
}}
|
|
61
58
|
on:select
|
|
59
|
+
on:change
|
|
60
|
+
on:change={(event) => {
|
|
61
|
+
checked = /** @type {CustomEvent} */ (event).detail.checked;
|
|
62
|
+
}}
|
|
62
63
|
>
|
|
63
64
|
<slot />
|
|
64
65
|
<svelte:component this={checked ? Icon : undefined} slot="end-icon" name="check" />
|
|
@@ -18,6 +18,7 @@ export default class MenuItemRadio extends SvelteComponent<{
|
|
|
18
18
|
}, {
|
|
19
19
|
click: MouseEvent;
|
|
20
20
|
select: Event;
|
|
21
|
+
change: Event;
|
|
21
22
|
} & {
|
|
22
23
|
[evt: string]: CustomEvent<any>;
|
|
23
24
|
}, {
|
|
@@ -42,6 +43,7 @@ declare const __propDef: {
|
|
|
42
43
|
events: {
|
|
43
44
|
click: MouseEvent;
|
|
44
45
|
select: Event;
|
|
46
|
+
change: Event;
|
|
45
47
|
} & {
|
|
46
48
|
[evt: string]: CustomEvent<any>;
|
|
47
49
|
};
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
$: hasChildren = role === 'menuitem' && $$slots.default;
|
|
53
53
|
</script>
|
|
54
54
|
|
|
55
|
-
<div class="sui menuitem {className}" hidden={hidden || undefined}>
|
|
55
|
+
<div role="none" class="sui menuitem {className}" hidden={hidden || undefined}>
|
|
56
56
|
<Button
|
|
57
57
|
{role}
|
|
58
58
|
{hidden}
|
|
@@ -73,20 +73,21 @@
|
|
|
73
73
|
}
|
|
74
74
|
}}
|
|
75
75
|
on:select
|
|
76
|
+
on:change
|
|
76
77
|
>
|
|
77
78
|
{#if iconName}
|
|
78
|
-
<Icon slot="start-icon" name={iconName} label={iconLabel} />
|
|
79
|
+
<Icon slot="start-icon" name={iconName} aria-label={iconLabel} />
|
|
79
80
|
{/if}
|
|
80
81
|
{#if label}
|
|
81
|
-
<span class="label">{label}</span>
|
|
82
|
+
<span role="none" class="label">{label}</span>
|
|
82
83
|
{/if}
|
|
83
84
|
{#if $$slots['end-icon']}
|
|
84
|
-
<span class="icon-outer">
|
|
85
|
+
<span role="none" class="icon-outer">
|
|
85
86
|
<slot name="end-icon" />
|
|
86
87
|
</span>
|
|
87
88
|
{/if}
|
|
88
89
|
{#if hasChildren}
|
|
89
|
-
<span class="icon-outer">
|
|
90
|
+
<span role="none" class="icon-outer">
|
|
90
91
|
<Icon name="chevron_right" />
|
|
91
92
|
</span>
|
|
92
93
|
{/if}
|
|
@@ -107,6 +108,7 @@
|
|
|
107
108
|
display: flex;
|
|
108
109
|
justify-content: space-between !important;
|
|
109
110
|
border-radius: var(--sui-option-border-radius);
|
|
111
|
+
margin: 0 !important;
|
|
110
112
|
padding: 0 16px;
|
|
111
113
|
width: 100%;
|
|
112
114
|
min-width: 160px;
|
|
@@ -10,13 +10,14 @@ export default class MenuItem extends SvelteComponent<{
|
|
|
10
10
|
class?: string;
|
|
11
11
|
label?: string;
|
|
12
12
|
disabled?: boolean;
|
|
13
|
-
hidden?: boolean;
|
|
14
13
|
role?: "menuitem" | "menuitemcheckbox" | "menuitemradio";
|
|
14
|
+
hidden?: boolean;
|
|
15
15
|
iconName?: string;
|
|
16
16
|
iconLabel?: string;
|
|
17
17
|
}, {
|
|
18
18
|
click: MouseEvent;
|
|
19
19
|
select: Event;
|
|
20
|
+
change: Event;
|
|
20
21
|
} & {
|
|
21
22
|
[evt: string]: CustomEvent<any>;
|
|
22
23
|
}, {
|
|
@@ -34,14 +35,15 @@ declare const __propDef: {
|
|
|
34
35
|
class?: string;
|
|
35
36
|
label?: string | undefined;
|
|
36
37
|
disabled?: boolean;
|
|
37
|
-
hidden?: boolean | undefined;
|
|
38
38
|
role?: 'menuitem' | 'menuitemcheckbox' | 'menuitemradio';
|
|
39
|
+
hidden?: boolean | undefined;
|
|
39
40
|
iconName?: string;
|
|
40
41
|
iconLabel?: string;
|
|
41
42
|
};
|
|
42
43
|
events: {
|
|
43
44
|
click: MouseEvent;
|
|
44
45
|
select: Event;
|
|
46
|
+
change: Event;
|
|
45
47
|
} & {
|
|
46
48
|
[evt: string]: CustomEvent<any>;
|
|
47
49
|
};
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
*/
|
|
25
25
|
export let disabled = false;
|
|
26
26
|
/**
|
|
27
|
-
* Whether to
|
|
27
|
+
* Whether to make the widget read-only. An alias of the `aria-readonly` attribute.
|
|
28
28
|
* @type {boolean}
|
|
29
29
|
*/
|
|
30
30
|
export let readonly = false;
|
|
31
31
|
/**
|
|
32
|
-
* Whether to
|
|
32
|
+
* Whether to mark the widget required. An alias of the `aria-required` attribute.
|
|
33
33
|
* @type {boolean}
|
|
34
34
|
*/
|
|
35
35
|
export let required = false;
|
|
36
36
|
/**
|
|
37
|
-
* Whether to
|
|
37
|
+
* Whether to mark the widget invalid. An alias of the `aria-invalid` attribute.
|
|
38
38
|
* @type {boolean}
|
|
39
39
|
*/
|
|
40
40
|
export let invalid = false;
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
</script>
|
|
47
47
|
|
|
48
48
|
<div
|
|
49
|
+
role="radiogroup"
|
|
49
50
|
class="sui radio-group {className} {orientation}"
|
|
50
51
|
tabindex="-1"
|
|
51
|
-
role="radiogroup"
|
|
52
52
|
hidden={hidden || undefined}
|
|
53
53
|
aria-hidden={hidden}
|
|
54
54
|
aria-disabled={disabled}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
use:activateGroup
|
|
61
61
|
on:change
|
|
62
62
|
>
|
|
63
|
-
<div class="inner" inert={disabled}>
|
|
63
|
+
<div role="none" class="inner" inert={disabled}>
|
|
64
64
|
<slot />
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
@@ -72,16 +72,16 @@
|
|
|
72
72
|
outline-width: 0 !important;
|
|
73
73
|
}
|
|
74
74
|
.radio-group.horizontal {
|
|
75
|
-
gap:
|
|
75
|
+
gap: 8px;
|
|
76
76
|
align-items: center;
|
|
77
77
|
}
|
|
78
78
|
.radio-group.vertical {
|
|
79
|
-
gap:
|
|
79
|
+
gap: 4px;
|
|
80
80
|
flex-direction: column;
|
|
81
81
|
}
|
|
82
82
|
@media (pointer: coarse) {
|
|
83
83
|
.radio-group.vertical {
|
|
84
|
-
gap:
|
|
84
|
+
gap: 8px;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -13,8 +13,8 @@ export default class RadioGroup extends SvelteComponent<{
|
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
required?: boolean;
|
|
15
15
|
hidden?: boolean;
|
|
16
|
-
orientation?: "vertical" | "horizontal";
|
|
17
16
|
readonly?: boolean;
|
|
17
|
+
orientation?: "vertical" | "horizontal";
|
|
18
18
|
}, {
|
|
19
19
|
change: Event;
|
|
20
20
|
} & {
|
|
@@ -35,8 +35,8 @@ declare const __propDef: {
|
|
|
35
35
|
disabled?: boolean;
|
|
36
36
|
required?: boolean;
|
|
37
37
|
hidden?: boolean | undefined;
|
|
38
|
-
orientation?: 'horizontal' | 'vertical';
|
|
39
38
|
readonly?: boolean;
|
|
39
|
+
orientation?: 'horizontal' | 'vertical';
|
|
40
40
|
};
|
|
41
41
|
events: {
|
|
42
42
|
change: Event;
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
</script>
|
|
57
57
|
|
|
58
58
|
<span
|
|
59
|
+
role="none"
|
|
59
60
|
class="sui radio {className}"
|
|
60
61
|
class:disabled
|
|
61
|
-
role="none"
|
|
62
62
|
hidden={hidden || undefined}
|
|
63
63
|
{...$$restProps}
|
|
64
64
|
on:click={(event) => {
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
}}
|
|
69
69
|
>
|
|
70
70
|
<Button
|
|
71
|
-
{id}
|
|
72
71
|
role="radio"
|
|
72
|
+
{id}
|
|
73
73
|
{hidden}
|
|
74
74
|
{disabled}
|
|
75
75
|
{name}
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
checked = true;
|
|
83
83
|
}}
|
|
84
84
|
on:select
|
|
85
|
+
on:change
|
|
85
86
|
/>
|
|
86
87
|
{#if $$slots.default || label}
|
|
87
88
|
<label id="{id}-label">
|
|
@@ -98,6 +99,7 @@
|
|
|
98
99
|
display: inline-flex;
|
|
99
100
|
align-items: center;
|
|
100
101
|
gap: 8px;
|
|
102
|
+
margin: var(--sui-focus-ring-width);
|
|
101
103
|
color: var(--sui-control-foreground-color);
|
|
102
104
|
font-family: var(--sui-control-font-family);
|
|
103
105
|
font-size: var(--sui-control-font-size);
|
|
@@ -126,6 +128,7 @@
|
|
|
126
128
|
.radio :global(button) {
|
|
127
129
|
justify-content: center;
|
|
128
130
|
overflow: hidden;
|
|
131
|
+
margin: 0 !important;
|
|
129
132
|
border-width: 1.5px;
|
|
130
133
|
border-color: var(--sui-checkbox-border-color);
|
|
131
134
|
border-radius: var(--sui-checkbox-height);
|
|
@@ -18,6 +18,7 @@ export default class Radio extends SvelteComponent<{
|
|
|
18
18
|
hidden?: boolean;
|
|
19
19
|
}, {
|
|
20
20
|
select: Event;
|
|
21
|
+
change: Event;
|
|
21
22
|
} & {
|
|
22
23
|
[evt: string]: CustomEvent<any>;
|
|
23
24
|
}, {
|
|
@@ -41,6 +42,7 @@ declare const __propDef: {
|
|
|
41
42
|
};
|
|
42
43
|
events: {
|
|
43
44
|
select: Event;
|
|
45
|
+
change: Event;
|
|
44
46
|
} & {
|
|
45
47
|
[evt: string]: CustomEvent<any>;
|
|
46
48
|
};
|