@sveltia/ui 0.12.0 → 0.12.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/button/button.svelte.d.ts +10 -10
- package/package/components/button/select-button-group.svelte.d.ts +2 -2
- package/package/components/button/select-button.svelte.d.ts +2 -2
- package/package/components/button/split-button.svelte.d.ts +2 -2
- package/package/components/checkbox/checkbox-group.svelte.d.ts +2 -2
- package/package/components/checkbox/checkbox.svelte +2 -2
- package/package/components/checkbox/checkbox.svelte.d.ts +4 -4
- package/package/components/dialog/dialog.svelte +2 -2
- package/package/components/dialog/prompt-dialog.svelte.d.ts +2 -2
- package/package/components/disclosure/disclosure.svelte +2 -2
- package/package/components/disclosure/disclosure.svelte.d.ts +2 -2
- package/package/components/drawer/drawer.svelte +2 -2
- package/package/components/drawer/drawer.svelte.d.ts +4 -4
- package/package/components/grid/grid-body.svelte +2 -2
- package/package/components/listbox/listbox.svelte.d.ts +4 -4
- package/package/components/listbox/option-group.svelte +2 -2
- package/package/components/listbox/option-group.svelte.d.ts +2 -2
- package/package/components/listbox/option.svelte.d.ts +2 -2
- package/package/components/menu/menu-button.svelte.d.ts +4 -4
- package/package/components/menu/menu-item-checkbox.svelte.d.ts +2 -2
- package/package/components/menu/menu-item-group.svelte +2 -2
- package/package/components/menu/menu-item-group.svelte.d.ts +2 -2
- package/package/components/menu/menu-item-radio.svelte.d.ts +2 -2
- package/package/components/menu/menu-item.svelte.d.ts +4 -4
- package/package/components/menu/menu.svelte.d.ts +2 -2
- package/package/components/radio/radio-group.svelte.d.ts +2 -2
- package/package/components/radio/radio.svelte +2 -2
- package/package/components/radio/radio.svelte.d.ts +2 -2
- package/package/components/select/combobox.svelte +2 -2
- package/package/components/select/combobox.svelte.d.ts +4 -4
- package/package/components/select/select.svelte.d.ts +2 -2
- package/package/components/slider/slider.svelte.d.ts +2 -2
- package/package/components/switch/switch.svelte.d.ts +4 -4
- package/package/components/table/table-body.svelte +2 -2
- package/package/components/tabs/tab-list.svelte.d.ts +2 -2
- package/package/components/tabs/tab.svelte.d.ts +2 -2
- package/package/components/text-editor/text-editor.svelte +2 -2
- package/package/components/text-editor/text-editor.svelte.d.ts +2 -2
- package/package/components/text-editor/toolbar/insert-link-button.svelte +1 -1
- package/package/components/text-field/number-input.svelte +2 -2
- package/package/components/text-field/number-input.svelte.d.ts +2 -2
- package/package/components/text-field/password-input.svelte +2 -2
- package/package/components/text-field/password-input.svelte.d.ts +2 -2
- package/package/components/text-field/search-bar.svelte +2 -2
- package/package/components/text-field/search-bar.svelte.d.ts +2 -2
- package/package/components/text-field/text-area.svelte.d.ts +2 -2
- package/package/components/text-field/text-input.svelte +2 -2
- package/package/components/text-field/text-input.svelte.d.ts +6 -6
- package/package/components/toast/toast.svelte.d.ts +2 -2
- package/package/components/toolbar/toolbar.svelte.d.ts +2 -2
- package/package/components/util/group.svelte.d.ts +2 -2
- package/package/components/util/modal.svelte +1 -1
- package/package/components/util/modal.svelte.d.ts +2 -2
- package/package/components/util/popup.svelte +2 -2
- package/package/components/util/popup.svelte.d.ts +3 -6
- package/package/index.d.ts +0 -1
- package/package/index.js +8 -3
- package/package/services/group.js +3 -2
- package/package/services/popup.js +2 -2
- package/package.json +5 -11
- package/package/services/util.d.ts +0 -4
- package/package/services/util.js +0 -56
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@todo Add DOM API compatibility.
|
|
7
7
|
-->
|
|
8
8
|
<script>
|
|
9
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
9
10
|
import { createEventDispatcher } from 'svelte';
|
|
10
11
|
import { _ } from 'svelte-i18n';
|
|
11
12
|
import { writable } from 'svelte/store';
|
|
@@ -15,7 +16,6 @@
|
|
|
15
16
|
import SearchBar from '../text-field/search-bar.svelte';
|
|
16
17
|
import TextInput from '../text-field/text-input.svelte';
|
|
17
18
|
import Popup from '../util/popup.svelte';
|
|
18
|
-
import { getRandomId } from '../../services/util';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* The `class` attribute on the wrapper element.
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
export let position = 'bottom-left';
|
|
65
65
|
|
|
66
66
|
const dispatch = createEventDispatcher();
|
|
67
|
-
const id =
|
|
67
|
+
const id = generateElementId('combobox');
|
|
68
68
|
const selectedSelector = '[role="option"][aria-selected="true"]';
|
|
69
69
|
/** @type {HTMLElement} */
|
|
70
70
|
let comboboxElement;
|
|
@@ -11,10 +11,10 @@ export default class Combobox extends SvelteComponent<{
|
|
|
11
11
|
[x: string]: any;
|
|
12
12
|
class?: string | undefined;
|
|
13
13
|
invalid?: boolean | undefined;
|
|
14
|
-
position?: PopupPosition | undefined;
|
|
15
|
-
hidden?: boolean | undefined;
|
|
16
14
|
disabled?: boolean | undefined;
|
|
17
15
|
value?: string | number | undefined;
|
|
16
|
+
position?: PopupPosition | undefined;
|
|
17
|
+
hidden?: boolean | undefined;
|
|
18
18
|
readonly?: boolean | undefined;
|
|
19
19
|
required?: boolean | undefined;
|
|
20
20
|
editable?: boolean | undefined;
|
|
@@ -38,10 +38,10 @@ declare const __propDef: {
|
|
|
38
38
|
[x: string]: any;
|
|
39
39
|
class?: string | undefined;
|
|
40
40
|
invalid?: boolean | undefined;
|
|
41
|
-
position?: PopupPosition | undefined;
|
|
42
|
-
hidden?: boolean | undefined;
|
|
43
41
|
disabled?: boolean | undefined;
|
|
44
42
|
value?: (string | number | undefined);
|
|
43
|
+
position?: PopupPosition | undefined;
|
|
44
|
+
hidden?: boolean | undefined;
|
|
45
45
|
readonly?: boolean | undefined;
|
|
46
46
|
required?: boolean | undefined;
|
|
47
47
|
editable?: boolean | undefined;
|
|
@@ -11,9 +11,9 @@ export default class Select extends SvelteComponent<{
|
|
|
11
11
|
[x: string]: any;
|
|
12
12
|
class?: string | undefined;
|
|
13
13
|
invalid?: boolean | undefined;
|
|
14
|
-
hidden?: boolean | undefined;
|
|
15
14
|
disabled?: boolean | undefined;
|
|
16
15
|
value?: string | number | undefined;
|
|
16
|
+
hidden?: boolean | undefined;
|
|
17
17
|
readonly?: boolean | undefined;
|
|
18
18
|
required?: boolean | undefined;
|
|
19
19
|
}, {
|
|
@@ -33,9 +33,9 @@ declare const __propDef: {
|
|
|
33
33
|
[x: string]: any;
|
|
34
34
|
class?: string | undefined;
|
|
35
35
|
invalid?: boolean | undefined;
|
|
36
|
-
hidden?: boolean | undefined;
|
|
37
36
|
disabled?: boolean | undefined;
|
|
38
37
|
value?: (string | number | undefined);
|
|
38
|
+
hidden?: boolean | undefined;
|
|
39
39
|
readonly?: boolean | undefined;
|
|
40
40
|
required?: boolean | undefined;
|
|
41
41
|
};
|
|
@@ -13,9 +13,9 @@ export default class Slider extends SvelteComponent<{
|
|
|
13
13
|
[x: string]: any;
|
|
14
14
|
class?: string | undefined;
|
|
15
15
|
invalid?: boolean | undefined;
|
|
16
|
-
hidden?: boolean | undefined;
|
|
17
16
|
disabled?: boolean | undefined;
|
|
18
17
|
value?: number | undefined;
|
|
18
|
+
hidden?: boolean | undefined;
|
|
19
19
|
readonly?: boolean | undefined;
|
|
20
20
|
values?: [number, number] | undefined;
|
|
21
21
|
min?: number | undefined;
|
|
@@ -39,9 +39,9 @@ declare const __propDef: {
|
|
|
39
39
|
[x: string]: any;
|
|
40
40
|
class?: string | undefined;
|
|
41
41
|
invalid?: boolean | undefined;
|
|
42
|
-
hidden?: boolean | undefined;
|
|
43
42
|
disabled?: boolean | undefined;
|
|
44
43
|
value?: number | undefined;
|
|
44
|
+
hidden?: boolean | undefined;
|
|
45
45
|
readonly?: boolean | undefined;
|
|
46
46
|
values?: [number, number] | undefined;
|
|
47
47
|
min?: number | undefined;
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
export default class Switch extends SvelteComponent<{
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
|
-
label?: string | undefined;
|
|
13
12
|
invalid?: boolean | undefined;
|
|
14
|
-
|
|
13
|
+
label?: string | undefined;
|
|
15
14
|
disabled?: boolean | undefined;
|
|
15
|
+
hidden?: boolean | undefined;
|
|
16
16
|
readonly?: boolean | undefined;
|
|
17
17
|
required?: boolean | undefined;
|
|
18
18
|
checked?: boolean | "mixed" | undefined;
|
|
@@ -32,10 +32,10 @@ declare const __propDef: {
|
|
|
32
32
|
props: {
|
|
33
33
|
[x: string]: any;
|
|
34
34
|
class?: string | undefined;
|
|
35
|
-
label?: string | undefined;
|
|
36
35
|
invalid?: boolean | undefined;
|
|
37
|
-
|
|
36
|
+
label?: string | undefined;
|
|
38
37
|
disabled?: boolean | undefined;
|
|
38
|
+
hidden?: boolean | undefined;
|
|
39
39
|
readonly?: boolean | undefined;
|
|
40
40
|
required?: boolean | undefined;
|
|
41
41
|
checked?: boolean | "mixed" | undefined;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#rowgroup
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
-
import {
|
|
8
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* The `class` attribute on the wrapper element.
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
export let label = '';
|
|
22
22
|
|
|
23
|
-
const id =
|
|
23
|
+
const id = generateElementId('tbody');
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
26
|
<div
|
|
@@ -10,8 +10,8 @@ export default class TabList extends SvelteComponent<{
|
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
12
|
name?: string | undefined;
|
|
13
|
-
hidden?: boolean | undefined;
|
|
14
13
|
disabled?: boolean | undefined;
|
|
14
|
+
hidden?: boolean | undefined;
|
|
15
15
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
16
16
|
}, {
|
|
17
17
|
change: CustomEvent<any>;
|
|
@@ -30,8 +30,8 @@ declare const __propDef: {
|
|
|
30
30
|
[x: string]: any;
|
|
31
31
|
class?: string | undefined;
|
|
32
32
|
name?: string | undefined;
|
|
33
|
-
hidden?: boolean | undefined;
|
|
34
33
|
disabled?: boolean | undefined;
|
|
34
|
+
hidden?: boolean | undefined;
|
|
35
35
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
36
36
|
};
|
|
37
37
|
events: {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
export default class Tab extends SvelteComponent<{
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
|
-
hidden?: boolean | undefined;
|
|
13
12
|
disabled?: boolean | undefined;
|
|
13
|
+
hidden?: boolean | undefined;
|
|
14
14
|
selected?: boolean | undefined;
|
|
15
15
|
}, {
|
|
16
16
|
focus: FocusEvent;
|
|
@@ -37,8 +37,8 @@ declare const __propDef: {
|
|
|
37
37
|
props: {
|
|
38
38
|
[x: string]: any;
|
|
39
39
|
class?: string | undefined;
|
|
40
|
-
hidden?: boolean | undefined;
|
|
41
40
|
disabled?: boolean | undefined;
|
|
41
|
+
hidden?: boolean | undefined;
|
|
42
42
|
selected?: boolean | undefined;
|
|
43
43
|
};
|
|
44
44
|
events: {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
A rich text editor based on Lexical.
|
|
4
4
|
-->
|
|
5
5
|
<script>
|
|
6
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
6
7
|
import { onMount, setContext } from 'svelte';
|
|
7
8
|
import { _ } from 'svelte-i18n';
|
|
8
9
|
import { writable } from 'svelte/store';
|
|
@@ -16,7 +17,6 @@
|
|
|
16
17
|
import EditorToolbar from './toolbar/editor-toolbar.svelte';
|
|
17
18
|
import TextArea from '../text-field/text-area.svelte';
|
|
18
19
|
import Toast from '../toast/toast.svelte';
|
|
19
|
-
import { getRandomId } from '../../services/util';
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Make the text input container flexible.
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
const editor = writable(initEditor());
|
|
68
68
|
const selectionBlockType = writable('paragraph');
|
|
69
69
|
const selectionInlineTypes = writable([]);
|
|
70
|
-
const editorId = writable(
|
|
70
|
+
const editorId = writable(generateElementId('editor'));
|
|
71
71
|
const useRichText = writable(modes.includes('rich-text'));
|
|
72
72
|
const hasConverterError = writable(false);
|
|
73
73
|
let showConverterError = false;
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
export default class TextEditor extends SvelteComponent<{
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
invalid?: boolean | undefined;
|
|
8
|
-
hidden?: boolean | undefined;
|
|
9
8
|
disabled?: boolean | undefined;
|
|
10
9
|
value?: string | undefined;
|
|
10
|
+
hidden?: boolean | undefined;
|
|
11
11
|
readonly?: boolean | undefined;
|
|
12
12
|
flex?: boolean | undefined;
|
|
13
13
|
required?: boolean | undefined;
|
|
@@ -25,9 +25,9 @@ declare const __propDef: {
|
|
|
25
25
|
props: {
|
|
26
26
|
[x: string]: any;
|
|
27
27
|
invalid?: boolean | undefined;
|
|
28
|
-
hidden?: boolean | undefined;
|
|
29
28
|
disabled?: boolean | undefined;
|
|
30
29
|
value?: string | undefined;
|
|
30
|
+
hidden?: boolean | undefined;
|
|
31
31
|
readonly?: boolean | undefined;
|
|
32
32
|
flex?: boolean | undefined;
|
|
33
33
|
required?: boolean | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { LinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';
|
|
3
3
|
import { $getNearestNodeOfType as getNearestNodeOfType } from '@lexical/utils';
|
|
4
|
+
import { isURL } from '@sveltia/utils/string';
|
|
4
5
|
import {
|
|
5
6
|
COMMAND_PRIORITY_NORMAL,
|
|
6
7
|
KEY_DOWN_COMMAND,
|
|
@@ -17,7 +18,6 @@
|
|
|
17
18
|
import { availableButtons } from '..';
|
|
18
19
|
import TextInput from '../../text-field/text-input.svelte';
|
|
19
20
|
import { isMac, matchShortcuts } from '../../../services/events';
|
|
20
|
-
import { isURL } from '../../../services/util';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Button type.
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#textbox
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
8
9
|
import { _ } from 'svelte-i18n';
|
|
9
10
|
import Button from '../button/button.svelte';
|
|
10
11
|
import Icon from '../icon/icon.svelte';
|
|
11
12
|
import TextInput from './text-input.svelte';
|
|
12
|
-
import { getRandomId } from '../../services/util';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* The `class` attribute on the wrapper element.
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
*/
|
|
68
68
|
export let step = 1;
|
|
69
69
|
|
|
70
|
-
const id =
|
|
70
|
+
const id = generateElementId('input');
|
|
71
71
|
let edited = false;
|
|
72
72
|
|
|
73
73
|
$: maximumFractionDigits = String(step).split('.')[1]?.length || 0;
|
|
@@ -10,9 +10,9 @@ export default class NumberInput extends SvelteComponent<{
|
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
12
|
invalid?: boolean | undefined;
|
|
13
|
-
hidden?: boolean | undefined;
|
|
14
13
|
disabled?: boolean | undefined;
|
|
15
14
|
value?: string | undefined;
|
|
15
|
+
hidden?: boolean | undefined;
|
|
16
16
|
readonly?: boolean | undefined;
|
|
17
17
|
flex?: boolean | undefined;
|
|
18
18
|
required?: boolean | undefined;
|
|
@@ -45,9 +45,9 @@ declare const __propDef: {
|
|
|
45
45
|
[x: string]: any;
|
|
46
46
|
class?: string | undefined;
|
|
47
47
|
invalid?: boolean | undefined;
|
|
48
|
-
hidden?: boolean | undefined;
|
|
49
48
|
disabled?: boolean | undefined;
|
|
50
49
|
value?: string | undefined;
|
|
50
|
+
hidden?: boolean | undefined;
|
|
51
51
|
readonly?: boolean | undefined;
|
|
52
52
|
flex?: boolean | undefined;
|
|
53
53
|
required?: boolean | undefined;
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
@see https://w3c.github.io/aria/#textbox
|
|
7
7
|
-->
|
|
8
8
|
<script>
|
|
9
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
9
10
|
import { _ } from 'svelte-i18n';
|
|
10
11
|
import Button from '../button/button.svelte';
|
|
11
12
|
import Icon from '../icon/icon.svelte';
|
|
12
13
|
import TextInput from './text-input.svelte';
|
|
13
|
-
import { getRandomId } from '../../services/util';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* The `class` attribute on the wrapper element.
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
*/
|
|
55
55
|
export let value = undefined;
|
|
56
56
|
|
|
57
|
-
const id =
|
|
57
|
+
const id = generateElementId('input');
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* @type {TextInput}
|
|
@@ -11,9 +11,9 @@ export default class PasswordInput extends SvelteComponent<{
|
|
|
11
11
|
[x: string]: any;
|
|
12
12
|
class?: string | undefined;
|
|
13
13
|
invalid?: boolean | undefined;
|
|
14
|
-
hidden?: boolean | undefined;
|
|
15
14
|
disabled?: boolean | undefined;
|
|
16
15
|
value?: string | undefined;
|
|
16
|
+
hidden?: boolean | undefined;
|
|
17
17
|
readonly?: boolean | undefined;
|
|
18
18
|
flex?: boolean | undefined;
|
|
19
19
|
required?: boolean | undefined;
|
|
@@ -40,9 +40,9 @@ declare const __propDef: {
|
|
|
40
40
|
[x: string]: any;
|
|
41
41
|
class?: string | undefined;
|
|
42
42
|
invalid?: boolean | undefined;
|
|
43
|
-
hidden?: boolean | undefined;
|
|
44
43
|
disabled?: boolean | undefined;
|
|
45
44
|
value?: string | undefined;
|
|
45
|
+
hidden?: boolean | undefined;
|
|
46
46
|
readonly?: boolean | undefined;
|
|
47
47
|
flex?: boolean | undefined;
|
|
48
48
|
required?: boolean | undefined;
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
<svelte:options accessors={true} />
|
|
9
9
|
|
|
10
10
|
<script>
|
|
11
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
11
12
|
import { _ } from 'svelte-i18n';
|
|
12
13
|
import Button from '../button/button.svelte';
|
|
13
14
|
import Icon from '../icon/icon.svelte';
|
|
14
15
|
import TextInput from './text-input.svelte';
|
|
15
|
-
import { getRandomId } from '../../services/util';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* The `class` attribute on the wrapper element.
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
*/
|
|
57
57
|
export let value = undefined;
|
|
58
58
|
|
|
59
|
-
const id =
|
|
59
|
+
const id = generateElementId('searchbox');
|
|
60
60
|
/**
|
|
61
61
|
* Reference to the `TextInput` component.
|
|
62
62
|
* @type {TextInput | undefined}
|
|
@@ -12,9 +12,9 @@ export default class SearchBar extends SvelteComponent<{
|
|
|
12
12
|
class?: string | undefined;
|
|
13
13
|
focus?: (() => void) | undefined;
|
|
14
14
|
invalid?: boolean | undefined;
|
|
15
|
-
hidden?: boolean | undefined;
|
|
16
15
|
disabled?: boolean | undefined;
|
|
17
16
|
value?: string | undefined;
|
|
17
|
+
hidden?: boolean | undefined;
|
|
18
18
|
readonly?: boolean | undefined;
|
|
19
19
|
flex?: boolean | undefined;
|
|
20
20
|
required?: boolean | undefined;
|
|
@@ -68,9 +68,9 @@ declare const __propDef: {
|
|
|
68
68
|
class?: string | undefined;
|
|
69
69
|
focus?: (() => void) | undefined;
|
|
70
70
|
invalid?: boolean | undefined;
|
|
71
|
-
hidden?: boolean | undefined;
|
|
72
71
|
disabled?: boolean | undefined;
|
|
73
72
|
value?: string | undefined;
|
|
73
|
+
hidden?: boolean | undefined;
|
|
74
74
|
readonly?: boolean | undefined;
|
|
75
75
|
flex?: boolean | undefined;
|
|
76
76
|
required?: boolean | undefined;
|
|
@@ -12,9 +12,9 @@ export default class TextArea extends SvelteComponent<{
|
|
|
12
12
|
class?: string | undefined;
|
|
13
13
|
name?: string | undefined;
|
|
14
14
|
invalid?: boolean | undefined;
|
|
15
|
-
hidden?: boolean | undefined;
|
|
16
15
|
disabled?: boolean | undefined;
|
|
17
16
|
value?: string | undefined;
|
|
17
|
+
hidden?: boolean | undefined;
|
|
18
18
|
readonly?: boolean | undefined;
|
|
19
19
|
flex?: boolean | undefined;
|
|
20
20
|
required?: boolean | undefined;
|
|
@@ -39,9 +39,9 @@ declare const __propDef: {
|
|
|
39
39
|
class?: string | undefined;
|
|
40
40
|
name?: string | undefined;
|
|
41
41
|
invalid?: boolean | undefined;
|
|
42
|
-
hidden?: boolean | undefined;
|
|
43
42
|
disabled?: boolean | undefined;
|
|
44
43
|
value?: string | undefined;
|
|
44
|
+
hidden?: boolean | undefined;
|
|
45
45
|
readonly?: boolean | undefined;
|
|
46
46
|
flex?: boolean | undefined;
|
|
47
47
|
required?: boolean | undefined;
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<svelte:options accessors={true} />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
10
11
|
import { activateKeyShortcuts } from '../../services/events';
|
|
11
|
-
import { getRandomId } from '../../services/util';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Reference to the `<input>` element.
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
*/
|
|
86
86
|
export let inputmode = 'text';
|
|
87
87
|
|
|
88
|
-
const id =
|
|
88
|
+
const id = generateElementId('input');
|
|
89
89
|
|
|
90
90
|
$: ariaLabel = $$restProps['aria-label'];
|
|
91
91
|
</script>
|
|
@@ -10,12 +10,12 @@ export default class TextInput extends SvelteComponent<{
|
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
12
|
name?: string | undefined;
|
|
13
|
-
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
14
13
|
invalid?: boolean | undefined;
|
|
15
|
-
hidden?: boolean | undefined;
|
|
16
14
|
disabled?: boolean | undefined;
|
|
17
|
-
element?: HTMLInputElement | undefined;
|
|
18
15
|
value?: string | number | undefined;
|
|
16
|
+
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
17
|
+
hidden?: boolean | undefined;
|
|
18
|
+
element?: HTMLInputElement | undefined;
|
|
19
19
|
readonly?: boolean | undefined;
|
|
20
20
|
keyShortcuts?: string | undefined;
|
|
21
21
|
flex?: boolean | undefined;
|
|
@@ -83,12 +83,12 @@ declare const __propDef: {
|
|
|
83
83
|
[x: string]: any;
|
|
84
84
|
class?: string | undefined;
|
|
85
85
|
name?: string | undefined;
|
|
86
|
-
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
87
86
|
invalid?: boolean | undefined;
|
|
88
|
-
hidden?: boolean | undefined;
|
|
89
87
|
disabled?: boolean | undefined;
|
|
90
|
-
element?: HTMLInputElement | undefined;
|
|
91
88
|
value?: string | number | undefined;
|
|
89
|
+
role?: "textbox" | "searchbox" | "combobox" | "spinbutton" | undefined;
|
|
90
|
+
hidden?: boolean | undefined;
|
|
91
|
+
element?: HTMLInputElement | undefined;
|
|
92
92
|
readonly?: boolean | undefined;
|
|
93
93
|
keyShortcuts?: string | undefined;
|
|
94
94
|
flex?: boolean | undefined;
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
export default class Toast extends SvelteComponent<{
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
id?: number | undefined;
|
|
12
|
-
show?: boolean | undefined;
|
|
13
12
|
position?: ToastPosition | undefined;
|
|
13
|
+
show?: boolean | undefined;
|
|
14
14
|
duration?: number | undefined;
|
|
15
15
|
}, {
|
|
16
16
|
[evt: string]: CustomEvent<any>;
|
|
@@ -26,8 +26,8 @@ declare const __propDef: {
|
|
|
26
26
|
props: {
|
|
27
27
|
[x: string]: any;
|
|
28
28
|
id?: number | undefined;
|
|
29
|
-
show?: boolean | undefined;
|
|
30
29
|
position?: ToastPosition | undefined;
|
|
30
|
+
show?: boolean | undefined;
|
|
31
31
|
duration?: number | undefined;
|
|
32
32
|
};
|
|
33
33
|
events: {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
export default class Toolbar extends SvelteComponent<{
|
|
10
10
|
[x: string]: any;
|
|
11
11
|
class?: string | undefined;
|
|
12
|
-
hidden?: boolean | undefined;
|
|
13
12
|
disabled?: boolean | undefined;
|
|
13
|
+
hidden?: boolean | undefined;
|
|
14
14
|
variant?: "primary" | "secondary" | undefined;
|
|
15
15
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
16
16
|
}, {
|
|
@@ -27,8 +27,8 @@ declare const __propDef: {
|
|
|
27
27
|
props: {
|
|
28
28
|
[x: string]: any;
|
|
29
29
|
class?: string | undefined;
|
|
30
|
-
hidden?: boolean | undefined;
|
|
31
30
|
disabled?: boolean | undefined;
|
|
31
|
+
hidden?: boolean | undefined;
|
|
32
32
|
variant?: 'primary' | 'secondary' | undefined;
|
|
33
33
|
orientation?: "vertical" | "horizontal" | undefined;
|
|
34
34
|
};
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
export default class Group extends SvelteComponent<{
|
|
9
9
|
[x: string]: any;
|
|
10
10
|
class?: string | undefined;
|
|
11
|
-
hidden?: boolean | undefined;
|
|
12
11
|
disabled?: boolean | undefined;
|
|
12
|
+
hidden?: boolean | undefined;
|
|
13
13
|
}, {
|
|
14
14
|
[evt: string]: CustomEvent<any>;
|
|
15
15
|
}, {
|
|
@@ -24,8 +24,8 @@ declare const __propDef: {
|
|
|
24
24
|
props: {
|
|
25
25
|
[x: string]: any;
|
|
26
26
|
class?: string | undefined;
|
|
27
|
-
hidden?: boolean | undefined;
|
|
28
27
|
disabled?: boolean | undefined;
|
|
28
|
+
hidden?: boolean | undefined;
|
|
29
29
|
};
|
|
30
30
|
events: {
|
|
31
31
|
[evt: string]: CustomEvent<any>;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<svelte:options accessors={true} />
|
|
6
6
|
|
|
7
7
|
<script>
|
|
8
|
+
import { sleep } from '@sveltia/utils/misc';
|
|
8
9
|
import { createEventDispatcher, onMount } from 'svelte';
|
|
9
|
-
import { sleep } from '../../services/util';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* The `class` attribute on the `<dialog>` element.
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
export default class Modal extends SvelteComponent<{
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
class?: string | undefined;
|
|
8
|
-
dialog?: HTMLDialogElement | undefined;
|
|
9
8
|
close?: ((returnValue: string) => void) | undefined;
|
|
9
|
+
dialog?: HTMLDialogElement | undefined;
|
|
10
10
|
role?: "dialog" | "alertdialog" | "none" | undefined;
|
|
11
11
|
open?: boolean | undefined;
|
|
12
12
|
showBackdrop?: boolean | undefined;
|
|
@@ -58,8 +58,8 @@ declare const __propDef: {
|
|
|
58
58
|
props: {
|
|
59
59
|
[x: string]: any;
|
|
60
60
|
class?: string | undefined;
|
|
61
|
-
dialog?: HTMLDialogElement | undefined;
|
|
62
61
|
close?: ((returnValue: string) => void) | undefined;
|
|
62
|
+
dialog?: HTMLDialogElement | undefined;
|
|
63
63
|
role?: "dialog" | "alertdialog" | "none" | undefined;
|
|
64
64
|
open?: boolean | undefined;
|
|
65
65
|
showBackdrop?: boolean | undefined;
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
<svelte:options accessors={true} />
|
|
6
6
|
|
|
7
7
|
<script>
|
|
8
|
+
import { sleep } from '@sveltia/utils/misc';
|
|
8
9
|
import { onMount } from 'svelte';
|
|
9
10
|
import { writable } from 'svelte/store';
|
|
10
|
-
import Modal from './modal.svelte';
|
|
11
11
|
import { activatePopup } from '../../services/popup';
|
|
12
|
-
import
|
|
12
|
+
import Modal from './modal.svelte';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* The `class` attribute on the content element.
|
|
@@ -6,9 +6,9 @@ export default class Popup extends SvelteComponent<{
|
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
anchor: HTMLElement | undefined;
|
|
8
8
|
class?: string | undefined;
|
|
9
|
+
position?: PopupPosition | undefined;
|
|
9
10
|
open?: import("svelte/store").Writable<boolean> | undefined;
|
|
10
11
|
showBackdrop?: boolean | undefined;
|
|
11
|
-
position?: PopupPosition | undefined;
|
|
12
12
|
content?: HTMLElement | undefined;
|
|
13
13
|
positionBaseElement?: HTMLElement | undefined;
|
|
14
14
|
touchOptimized?: boolean | undefined;
|
|
@@ -61,9 +61,9 @@ declare const __propDef: {
|
|
|
61
61
|
[x: string]: any;
|
|
62
62
|
anchor: HTMLElement | undefined;
|
|
63
63
|
class?: string | undefined;
|
|
64
|
+
position?: PopupPosition | undefined;
|
|
64
65
|
open?: import("svelte/store").Writable<boolean> | undefined;
|
|
65
66
|
showBackdrop?: boolean | undefined;
|
|
66
|
-
position?: PopupPosition | undefined;
|
|
67
67
|
content?: HTMLElement | undefined;
|
|
68
68
|
positionBaseElement?: HTMLElement | undefined;
|
|
69
69
|
touchOptimized?: boolean | undefined;
|
|
@@ -78,10 +78,7 @@ declare const __propDef: {
|
|
|
78
78
|
} & {
|
|
79
79
|
[evt: string]: CustomEvent<any>;
|
|
80
80
|
};
|
|
81
|
-
|
|
82
|
-
* The `class` attribute on the content element.
|
|
83
|
-
* @type {string}
|
|
84
|
-
*/ slots: {
|
|
81
|
+
slots: {
|
|
85
82
|
'extra-content': {
|
|
86
83
|
slot: string;
|
|
87
84
|
};
|
package/package/index.d.ts
CHANGED
|
@@ -67,4 +67,3 @@ export { default as Toolbar } from "./components/toolbar/toolbar.svelte";
|
|
|
67
67
|
export { default as AppShell } from "./components/util/app-shell.svelte";
|
|
68
68
|
export { default as Group } from "./components/util/group.svelte";
|
|
69
69
|
export { default as Modal } from "./components/util/modal.svelte";
|
|
70
|
-
export * from "./services/util";
|
package/package/index.js
CHANGED
|
@@ -10,7 +10,14 @@ import { addMessages, init } from 'svelte-i18n';
|
|
|
10
10
|
*/
|
|
11
11
|
export const initLocales = ({ fallbackLocale = 'en', initialLocale = 'en' } = {}) => {
|
|
12
12
|
/** @type {{ [key: string]: { strings: object }}} */
|
|
13
|
-
|
|
13
|
+
let modules = import.meta.glob('./locales/*.js', { eager: true });
|
|
14
|
+
|
|
15
|
+
// The file path must be relative during local development, or the import may fail when using
|
|
16
|
+
// `pnpm link -g @sveltia/ui`. On the other hand, it must start with `$lib` when being imported
|
|
17
|
+
// with `pnpm install @sveltia/ui`, otherwise the path cannot be resolved.
|
|
18
|
+
if (!Object.keys(modules).length) {
|
|
19
|
+
modules = import.meta.glob('$lib/locales/*.js', { eager: true });
|
|
20
|
+
}
|
|
14
21
|
|
|
15
22
|
Object.entries(modules).forEach(([path, { strings }]) => {
|
|
16
23
|
const [, locale] = /** @type {string[]} */ (path.match(/([a-zA-Z-]+)\.js/));
|
|
@@ -92,5 +99,3 @@ export { default as Toolbar } from './components/toolbar/toolbar.svelte';
|
|
|
92
99
|
export { default as AppShell } from './components/util/app-shell.svelte';
|
|
93
100
|
export { default as Group } from './components/util/group.svelte';
|
|
94
101
|
export { default as Modal } from './components/util/modal.svelte';
|
|
95
|
-
|
|
96
|
-
export * from './services/util';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
2
|
+
import { sleep } from '@sveltia/utils/misc';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @type {{ [role: string]: {
|
|
@@ -62,7 +63,7 @@ class Group {
|
|
|
62
63
|
this.parent = parent;
|
|
63
64
|
this.role = /** @type {string} */ (parent.getAttribute('role'));
|
|
64
65
|
this.multi = this.parent.getAttribute('aria-multiselectable') === 'true';
|
|
65
|
-
this.id =
|
|
66
|
+
this.id = generateElementId(this.role);
|
|
66
67
|
this.parentGroupSelector = `[role="group"], [role="${this.role}"]`;
|
|
67
68
|
|
|
68
69
|
const { orientation, childRoles, childSelectedAttr, focusChild } = config[this.role];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-nested-ternary */
|
|
2
2
|
|
|
3
|
+
import { generateElementId } from '@sveltia/utils/element';
|
|
3
4
|
import { get, writable } from 'svelte/store';
|
|
4
|
-
import { getRandomId } from './util';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Implement the popup handler.
|
|
@@ -105,7 +105,7 @@ class Popup {
|
|
|
105
105
|
this.popupElement = popupElement; // = backdrop
|
|
106
106
|
this.position = position;
|
|
107
107
|
this.positionBaseElement = positionBaseElement ?? anchorElement;
|
|
108
|
-
this.id =
|
|
108
|
+
this.id = generateElementId('popup');
|
|
109
109
|
|
|
110
110
|
this.anchorElement.setAttribute('aria-controls', this.id);
|
|
111
111
|
this.popupElement.setAttribute('id', this.id);
|