@sveltia/ui 0.78.3 → 0.79.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/dist/components/alert/alert-content.svelte +51 -0
- package/dist/components/alert/alert-content.svelte.d.ts +39 -0
- package/dist/components/alert/alert.d.ts +3 -0
- package/dist/components/alert/alert.js +21 -0
- package/dist/components/alert/alert.svelte +6 -30
- package/dist/components/alert/infobar.svelte +7 -21
- package/dist/components/alert/infobar.svelte.d.ts +2 -2
- package/dist/components/button/button.svelte +11 -11
- package/dist/components/button/button.svelte.d.ts +2 -2
- package/dist/components/button/select-button.svelte +1 -1
- package/dist/components/button/select-button.svelte.d.ts +2 -2
- package/dist/components/button/split-button.svelte +1 -1
- package/dist/components/button/split-button.svelte.d.ts +3 -3
- package/dist/components/calendar/calendar.d.ts +2 -0
- package/dist/components/calendar/calendar.js +34 -0
- package/dist/components/calendar/calendar.svelte +49 -5
- package/dist/components/checkbox/checkbox.svelte +11 -4
- package/dist/components/checkbox/checkbox.svelte.d.ts +2 -2
- package/dist/components/dialog/alert-dialog.svelte +1 -1
- package/dist/components/dialog/alert-dialog.svelte.d.ts +2 -2
- package/dist/components/dialog/confirmation-dialog.svelte +1 -1
- package/dist/components/dialog/confirmation-dialog.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog.svelte +8 -18
- package/dist/components/dialog/dialog.svelte.d.ts +2 -2
- package/dist/components/dialog/modal-close-button.svelte +50 -0
- package/dist/components/dialog/modal-close-button.svelte.d.ts +43 -0
- package/dist/components/dialog/prompt-dialog.svelte +1 -1
- package/dist/components/dialog/prompt-dialog.svelte.d.ts +4 -4
- package/dist/components/disclosure/disclosure.svelte +1 -1
- package/dist/components/drawer/drawer.svelte +12 -34
- package/dist/components/drawer/drawer.svelte.d.ts +1 -1
- package/dist/components/emoji/caret.d.ts +1 -1
- package/dist/components/emoji/caret.js +1 -1
- package/dist/components/emoji/emoji-suggestions.svelte +1 -1
- package/dist/components/emoji/emoji-suggestions.svelte.d.ts +3 -3
- package/dist/components/emoji/emoji.d.ts +2 -2
- package/dist/components/emoji/emoji.js +1 -1
- package/dist/components/emoji/position.d.ts +2 -2
- package/dist/components/emoji/position.js +1 -1
- package/dist/components/grid/grid-body.svelte +6 -2
- package/dist/components/grid/grid-cell.svelte +3 -9
- package/dist/components/grid/grid-col-header.svelte +3 -9
- package/dist/components/grid/grid-foot.svelte +4 -11
- package/dist/components/grid/grid-head.svelte +4 -11
- package/dist/components/grid/grid-row-header.svelte +3 -10
- package/dist/components/grid/grid-row.svelte +3 -16
- package/dist/components/listbox/listbox.svelte +1 -1
- package/dist/components/listbox/listbox.svelte.d.ts +1 -1
- package/dist/components/listbox/option.svelte +1 -1
- package/dist/components/listbox/option.svelte.d.ts +2 -2
- package/dist/components/menu/menu-button.svelte +2 -2
- package/dist/components/menu/menu-button.svelte.d.ts +4 -4
- package/dist/components/menu/menu-item-checkable.svelte +71 -0
- package/dist/components/menu/menu-item-checkable.svelte.d.ts +25 -0
- package/dist/components/menu/menu-item-checkbox.svelte +3 -36
- package/dist/components/menu/menu-item-checkbox.svelte.d.ts +3 -3
- package/dist/components/menu/menu-item-group.svelte +8 -5
- package/dist/components/menu/menu-item-group.svelte.d.ts +9 -1
- package/dist/components/menu/menu-item-radio.svelte +3 -36
- package/dist/components/menu/menu-item-radio.svelte.d.ts +3 -3
- package/dist/components/menu/menu-item.svelte +22 -6
- package/dist/components/menu/menu-item.svelte.d.ts +4 -4
- package/dist/components/radio/radio.svelte +12 -1
- package/dist/components/resizable-pane/resizable-handle.svelte +14 -18
- package/dist/components/resizable-pane/resizable-pane-group.svelte +9 -6
- package/dist/components/resizable-pane/resizable-pane.svelte +4 -4
- package/dist/components/resizable-pane/resizable-pane.svelte.d.ts +7 -6
- package/dist/components/resizable-pane/sizing.d.ts +5 -4
- package/dist/components/resizable-pane/sizing.js +84 -25
- package/dist/components/scroll/infinite-scroll.svelte +16 -21
- package/dist/components/select/combobox.svelte +43 -52
- package/dist/components/select/combobox.svelte.d.ts +2 -2
- package/dist/components/select/select-tags.svelte +7 -1
- package/dist/components/select/select.svelte +2 -22
- package/dist/components/select/select.svelte.d.ts +1 -1
- package/dist/components/slider/slider.d.ts +6 -0
- package/dist/components/slider/slider.js +55 -2
- package/dist/components/slider/slider.svelte +63 -32
- package/dist/components/table/table-cell.svelte +3 -9
- package/dist/components/table/table-col-header.svelte +3 -9
- package/dist/components/table/table-foot.svelte +4 -11
- package/dist/components/table/table-head.svelte +4 -11
- package/dist/components/table/table-part.svelte +69 -0
- package/dist/components/table/table-part.svelte.d.ts +48 -0
- package/dist/components/table/table-row-header.svelte +3 -10
- package/dist/components/table/table-row.svelte +3 -10
- package/dist/components/tabs/tab-list.svelte +12 -0
- package/dist/components/tabs/tab.svelte +1 -1
- package/dist/components/tabs/tab.svelte.d.ts +2 -2
- package/dist/components/text-editor/constants.d.ts +5 -5
- package/dist/components/text-editor/constants.js +1 -1
- package/dist/components/text-editor/core.d.ts +4 -5
- package/dist/components/text-editor/core.js +376 -273
- package/dist/components/text-editor/emoji-autocomplete.svelte +1 -1
- package/dist/components/text-editor/lexical-root.svelte +1 -1
- package/dist/components/text-editor/raw-markdown.d.ts +6 -33
- package/dist/components/text-editor/raw-markdown.js +63 -8
- package/dist/components/text-editor/shiki/facade.d.ts +1 -1
- package/dist/components/text-editor/shiki/facade.js +63 -48
- package/dist/components/text-editor/shiki/generated.d.ts +1 -1
- package/dist/components/text-editor/shiki/generated.js +1 -1
- package/dist/components/text-editor/shiki/highlighter.d.ts +6 -1
- package/dist/components/text-editor/shiki/highlighter.js +3 -4
- package/dist/components/text-editor/shiki/loader.d.ts +1 -1
- package/dist/components/text-editor/shiki/loader.js +1 -1
- package/dist/components/text-editor/shiki/version.d.ts +1 -1
- package/dist/components/text-editor/shiki/version.js +1 -1
- package/dist/components/text-editor/store.svelte.d.ts +1 -1
- package/dist/components/text-editor/store.svelte.js +5 -2
- package/dist/components/text-editor/text-editor.svelte +2 -2
- package/dist/components/text-editor/text-editor.svelte.d.ts +3 -3
- package/dist/components/text-editor/toolbar/code-language-switcher.svelte +24 -16
- package/dist/components/text-editor/toolbar/format-text-button.svelte +7 -31
- package/dist/components/text-editor/toolbar/format-text-button.svelte.d.ts +1 -1
- package/dist/components/text-editor/toolbar/insert-component.d.ts +3 -0
- package/dist/components/text-editor/toolbar/insert-component.js +34 -0
- package/dist/components/text-editor/toolbar/insert-item-button.svelte +4 -24
- package/dist/components/text-editor/toolbar/insert-item-button.svelte.d.ts +1 -1
- package/dist/components/text-editor/toolbar/insert-link-button.svelte +9 -25
- package/dist/components/text-editor/toolbar/insert-menu-button.svelte +4 -24
- package/dist/components/text-editor/toolbar/insert-menu-button.svelte.d.ts +1 -1
- package/dist/components/text-editor/toolbar/text-editor-toolbar.svelte +1 -1
- package/dist/components/text-editor/toolbar/toggle-block-menu-item.svelte +31 -35
- package/dist/components/text-editor/toolbar/toggle-block-menu-item.svelte.d.ts +1 -1
- package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte +0 -10
- package/dist/components/text-editor/toolbar/toolbar-wrapper.svelte.d.ts +1 -11
- package/dist/components/text-editor/transformers/table.d.ts +0 -1
- package/dist/components/text-editor/transformers/table.js +1 -2
- package/dist/components/text-field/emoji-autocomplete.svelte +1 -1
- package/dist/components/text-field/masked-input.svelte +179 -0
- package/dist/components/text-field/masked-input.svelte.d.ts +42 -0
- package/dist/components/text-field/number-input.js +7 -1
- package/dist/components/text-field/number-input.svelte +13 -5
- package/dist/components/text-field/number-input.svelte.d.ts +3 -3
- package/dist/components/text-field/password-input.svelte +3 -116
- package/dist/components/text-field/password-input.svelte.d.ts +3 -3
- package/dist/components/text-field/search-bar.svelte +1 -1
- package/dist/components/text-field/search-bar.svelte.d.ts +3 -3
- package/dist/components/text-field/secret-input.svelte +3 -119
- package/dist/components/text-field/secret-input.svelte.d.ts +3 -3
- package/dist/components/text-field/text-area.svelte +1 -1
- package/dist/components/text-field/text-area.svelte.d.ts +3 -3
- package/dist/components/text-field/text-input.svelte +1 -1
- package/dist/components/text-field/text-input.svelte.d.ts +3 -3
- package/dist/components/toast/toast.svelte +11 -20
- package/dist/components/toast/toast.svelte.d.ts +1 -1
- package/dist/components/tree/tree-item.svelte +1 -1
- package/dist/components/tree/tree-item.svelte.d.ts +1 -1
- package/dist/components/tree/tree.svelte +1 -1
- package/dist/components/tree/tree.svelte.d.ts +1 -1
- package/dist/components/util/font-links.svelte +1 -0
- package/dist/components/util/modal.svelte +37 -1
- package/dist/components/util/modal.svelte.d.ts +1 -1
- package/dist/components/util/popup.svelte +2 -5
- package/dist/components/util/popup.svelte.d.ts +2 -2
- package/dist/components/util/visibility-observer.svelte +1 -0
- package/dist/locales/ar.yaml +1 -1
- package/dist/locales/sk.yaml +136 -0
- package/dist/services/group.svelte.d.ts +10 -1
- package/dist/services/group.svelte.js +361 -251
- package/dist/services/navigation.d.ts +19 -0
- package/dist/services/navigation.js +84 -0
- package/dist/services/popup-position.d.ts +90 -0
- package/dist/services/popup-position.js +275 -0
- package/dist/services/popup.svelte.d.ts +16 -17
- package/dist/services/popup.svelte.js +25 -169
- package/dist/services/scroll.d.ts +1 -0
- package/dist/services/scroll.js +17 -0
- package/dist/services/select.svelte.d.ts +2 -2
- package/dist/services/select.svelte.js +1 -1
- package/dist/services/text.d.ts +2 -0
- package/dist/services/text.js +28 -0
- package/dist/services/tree.svelte.d.ts +3 -11
- package/dist/services/tree.svelte.js +35 -77
- package/dist/services/type-ahead.d.ts +0 -4
- package/dist/services/type-ahead.js +3 -1
- package/dist/services/widget.d.ts +8 -0
- package/dist/services/widget.js +39 -0
- package/dist/shiki-engine.js +15 -15
- package/dist/styles/mixins.scss +126 -0
- package/package.json +38 -34
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
import { sleep } from '@sveltia/utils/misc';
|
|
10
10
|
import Button from '../button/button.svelte';
|
|
11
11
|
import Spacer from '../divider/spacer.svelte';
|
|
12
|
-
import Icon from '../icon/icon.svelte';
|
|
13
12
|
import Modal from '../util/modal.svelte';
|
|
13
|
+
import ModalCloseButton from './modal-close-button.svelte';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* @import { DialogProps, ModalProps } from '../../typedefs';
|
|
16
|
+
* @import { DialogProps, ModalProps } from '../../typedefs.js';
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
} = $props();
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
* The ID of the
|
|
53
|
+
* The ID of the dialog.
|
|
54
54
|
* @type {string}
|
|
55
55
|
*/
|
|
56
56
|
const id = $props.id();
|
|
@@ -139,23 +139,13 @@
|
|
|
139
139
|
<Spacer flex={true} />
|
|
140
140
|
{@render headerExtra?.()}
|
|
141
141
|
{#if showClose}
|
|
142
|
-
<
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
aria-controls={id}
|
|
147
|
-
onclick={() => {
|
|
142
|
+
<ModalCloseButton
|
|
143
|
+
controls={id}
|
|
144
|
+
{closeIcon}
|
|
145
|
+
onClose={() => {
|
|
148
146
|
modal?.close('close');
|
|
149
147
|
}}
|
|
150
|
-
|
|
151
|
-
{#snippet startIcon()}
|
|
152
|
-
{#if closeIcon}
|
|
153
|
-
{@render closeIcon()}
|
|
154
|
-
{:else}
|
|
155
|
-
<Icon name="close" />
|
|
156
|
-
{/if}
|
|
157
|
-
{/snippet}
|
|
158
|
-
</Button>
|
|
148
|
+
/>
|
|
159
149
|
{/if}
|
|
160
150
|
{/if}
|
|
161
151
|
</div>
|
|
@@ -9,5 +9,5 @@ type Dialog = {
|
|
|
9
9
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
|
|
10
10
|
*/
|
|
11
11
|
declare const Dialog: import("svelte").Component<ModalProps & DialogProps & Record<string, any>, {}, "value" | "open">;
|
|
12
|
-
import type { ModalProps } from '../../typedefs';
|
|
13
|
-
import type { DialogProps } from '../../typedefs';
|
|
12
|
+
import type { ModalProps } from '../../typedefs.js';
|
|
13
|
+
import type { DialogProps } from '../../typedefs.js';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
@component
|
|
3
|
+
The Close button shared by `<Dialog>` and `<Drawer>`. Internal; not exported.
|
|
4
|
+
-->
|
|
5
|
+
<script>
|
|
6
|
+
import { _ } from '@sveltia/i18n';
|
|
7
|
+
import Button from '../button/button.svelte';
|
|
8
|
+
import Icon from '../icon/icon.svelte';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @import { Snippet } from 'svelte';
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {object} Props
|
|
16
|
+
* @property {string} [class] The `class` attribute on the button.
|
|
17
|
+
* @property {string} controls ID of the dialog or drawer the button closes.
|
|
18
|
+
* @property {Snippet} [closeIcon] Custom icon, used instead of the default one.
|
|
19
|
+
* @property {() => void} onClose Callback invoked when the button is clicked.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/** @type {Props} */
|
|
23
|
+
let {
|
|
24
|
+
/* eslint-disable prefer-const */
|
|
25
|
+
class: className = undefined,
|
|
26
|
+
controls,
|
|
27
|
+
closeIcon = undefined,
|
|
28
|
+
onClose,
|
|
29
|
+
/* eslint-enable prefer-const */
|
|
30
|
+
} = $props();
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<Button
|
|
34
|
+
variant="ghost"
|
|
35
|
+
iconic
|
|
36
|
+
class={className}
|
|
37
|
+
aria-label={_('_sui.close')}
|
|
38
|
+
aria-controls={controls}
|
|
39
|
+
onclick={() => {
|
|
40
|
+
onClose();
|
|
41
|
+
}}
|
|
42
|
+
>
|
|
43
|
+
{#snippet startIcon()}
|
|
44
|
+
{#if closeIcon}
|
|
45
|
+
{@render closeIcon()}
|
|
46
|
+
{:else}
|
|
47
|
+
<Icon name="close" />
|
|
48
|
+
{/if}
|
|
49
|
+
{/snippet}
|
|
50
|
+
</Button>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export default ModalCloseButton;
|
|
2
|
+
type ModalCloseButton = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
/** The Close button shared by `<Dialog>` and `<Drawer>`. Internal; not exported. */
|
|
7
|
+
declare const ModalCloseButton: import("svelte").Component<{
|
|
8
|
+
/**
|
|
9
|
+
* The `class` attribute on the button.
|
|
10
|
+
*/
|
|
11
|
+
class?: string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* ID of the dialog or drawer the button closes.
|
|
14
|
+
*/
|
|
15
|
+
controls: string;
|
|
16
|
+
/**
|
|
17
|
+
* Custom icon, used instead of the default one.
|
|
18
|
+
*/
|
|
19
|
+
closeIcon?: Snippet<[]> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Callback invoked when the button is clicked.
|
|
22
|
+
*/
|
|
23
|
+
onClose: () => void;
|
|
24
|
+
}, {}, "">;
|
|
25
|
+
type Props = {
|
|
26
|
+
/**
|
|
27
|
+
* The `class` attribute on the button.
|
|
28
|
+
*/
|
|
29
|
+
class?: string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* ID of the dialog or drawer the button closes.
|
|
32
|
+
*/
|
|
33
|
+
controls: string;
|
|
34
|
+
/**
|
|
35
|
+
* Custom icon, used instead of the default one.
|
|
36
|
+
*/
|
|
37
|
+
closeIcon?: Snippet<[]> | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Callback invoked when the button is clicked.
|
|
40
|
+
*/
|
|
41
|
+
onClose: () => void;
|
|
42
|
+
};
|
|
43
|
+
import type { Snippet } from 'svelte';
|
|
@@ -10,7 +10,7 @@ type PromptDialog = {
|
|
|
10
10
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/
|
|
11
11
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt
|
|
12
12
|
*/
|
|
13
|
-
declare const PromptDialog: import("svelte").Component<ModalProps & DialogProps & import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").PointerEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & InputEventHandlers & {
|
|
13
|
+
declare const PromptDialog: import("svelte").Component<ModalProps & DialogProps & import("../../typedefs.js").KeyboardEventHandlers & import("../../typedefs.js").MouseEventHandlers & import("../../typedefs.js").PointerEventHandlers & import("../../typedefs.js").FocusEventHandlers & import("../../typedefs.js").DragEventHandlers & InputEventHandlers & {
|
|
14
14
|
/**
|
|
15
15
|
* Value entered on the textbox.
|
|
16
16
|
*/
|
|
@@ -48,7 +48,7 @@ type Props = {
|
|
|
48
48
|
*/
|
|
49
49
|
input?: Snippet<[]> | undefined;
|
|
50
50
|
};
|
|
51
|
-
import type { ModalProps } from '../../typedefs';
|
|
52
|
-
import type { DialogProps } from '../../typedefs';
|
|
53
|
-
import type { InputEventHandlers } from '../../typedefs';
|
|
51
|
+
import type { ModalProps } from '../../typedefs.js';
|
|
52
|
+
import type { DialogProps } from '../../typedefs.js';
|
|
53
|
+
import type { InputEventHandlers } from '../../typedefs.js';
|
|
54
54
|
import type { Snippet } from 'svelte';
|
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
@see https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
-
import { _ } from '@sveltia/i18n';
|
|
9
8
|
import { untrack } from 'svelte';
|
|
10
|
-
import Button from '../button/button.svelte';
|
|
11
9
|
import Spacer from '../divider/spacer.svelte';
|
|
12
|
-
import
|
|
10
|
+
import ModalCloseButton from '../dialog/modal-close-button.svelte';
|
|
13
11
|
import Modal from '../util/modal.svelte';
|
|
14
12
|
import {
|
|
15
13
|
addSwipeSample,
|
|
@@ -21,7 +19,7 @@
|
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
21
|
* @import { Snippet } from 'svelte';
|
|
24
|
-
* @import { ModalProps } from '../../typedefs';
|
|
22
|
+
* @import { ModalProps } from '../../typedefs.js';
|
|
25
23
|
* @import { SwipeState } from './drawer.js';
|
|
26
24
|
*/
|
|
27
25
|
|
|
@@ -251,24 +249,14 @@
|
|
|
251
249
|
{/if}
|
|
252
250
|
<div role="none" class="extra-control">
|
|
253
251
|
{#if showClose === 'outside'}
|
|
254
|
-
<
|
|
255
|
-
variant="ghost"
|
|
256
|
-
iconic
|
|
252
|
+
<ModalCloseButton
|
|
257
253
|
class="close"
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
254
|
+
controls={id}
|
|
255
|
+
{closeIcon}
|
|
256
|
+
onClose={() => {
|
|
261
257
|
modal?.close('close');
|
|
262
258
|
}}
|
|
263
|
-
|
|
264
|
-
{#snippet startIcon()}
|
|
265
|
-
{#if closeIcon}
|
|
266
|
-
{@render closeIcon()}
|
|
267
|
-
{:else}
|
|
268
|
-
<Icon name="close" />
|
|
269
|
-
{/if}
|
|
270
|
-
{/snippet}
|
|
271
|
-
</Button>
|
|
259
|
+
/>
|
|
272
260
|
{/if}
|
|
273
261
|
</div>
|
|
274
262
|
{#if title || showClose === 'inside' || header || headerExtra}
|
|
@@ -282,24 +270,14 @@
|
|
|
282
270
|
<Spacer flex={true} />
|
|
283
271
|
{@render headerExtra?.()}
|
|
284
272
|
{#if showClose === 'inside'}
|
|
285
|
-
<
|
|
286
|
-
variant="ghost"
|
|
287
|
-
iconic
|
|
273
|
+
<ModalCloseButton
|
|
288
274
|
class="close"
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
275
|
+
controls={id}
|
|
276
|
+
{closeIcon}
|
|
277
|
+
onClose={() => {
|
|
292
278
|
modal?.close('close');
|
|
293
279
|
}}
|
|
294
|
-
|
|
295
|
-
{#snippet startIcon()}
|
|
296
|
-
{#if closeIcon}
|
|
297
|
-
{@render closeIcon()}
|
|
298
|
-
{:else}
|
|
299
|
-
<Icon name="close" />
|
|
300
|
-
{/if}
|
|
301
|
-
{/snippet}
|
|
302
|
-
</Button>
|
|
280
|
+
/>
|
|
303
281
|
{/if}
|
|
304
282
|
</div>
|
|
305
283
|
{/if}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export function getFieldCaretRect(element: HTMLInputElement | HTMLTextAreaElement, start: number, end: number): EmojiAnchorRect | undefined;
|
|
2
|
-
import type { EmojiAnchorRect } from '../../typedefs';
|
|
2
|
+
import type { EmojiAnchorRect } from '../../typedefs.js';
|
|
@@ -61,6 +61,6 @@ type Props = {
|
|
|
61
61
|
*/
|
|
62
62
|
ariaOwner?: HTMLElement | undefined;
|
|
63
63
|
};
|
|
64
|
-
import type { EmojiTrigger } from '../../typedefs';
|
|
65
|
-
import type { EmojiAnchorRect } from '../../typedefs';
|
|
66
|
-
import type { EmojiEntry } from '../../typedefs';
|
|
64
|
+
import type { EmojiTrigger } from '../../typedefs.js';
|
|
65
|
+
import type { EmojiAnchorRect } from '../../typedefs.js';
|
|
66
|
+
import type { EmojiEntry } from '../../typedefs.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @import { EmojiEntry } from '../../typedefs';
|
|
2
|
+
* @import { EmojiEntry } from '../../typedefs.js';
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Regular expression that matches an emoji shortcode being typed at the end of a line, like `:smi`.
|
|
@@ -30,4 +30,4 @@ export function getEmojiMatchRank({ name, aliases }: EmojiEntry, query: string):
|
|
|
30
30
|
export function searchEmojis(query: string): EmojiEntry[];
|
|
31
31
|
export function getEmojiInsertText(emoji: string, textAfterCaret: string): string;
|
|
32
32
|
export function detectEmojiTrigger(textBeforeCaret: string): string | undefined;
|
|
33
|
-
import type { EmojiEntry } from '../../typedefs';
|
|
33
|
+
import type { EmojiEntry } from '../../typedefs.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* tested against arbitrary viewports.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* @import { EmojiAnchorRect } from '../../typedefs';
|
|
6
|
+
* @import { EmojiAnchorRect } from '../../typedefs.js';
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* Width of the dropdown, also enforced in the component’s stylesheet.
|
|
@@ -41,4 +41,4 @@ export type SuggestionListPosition = {
|
|
|
41
41
|
*/
|
|
42
42
|
maxHeight: string;
|
|
43
43
|
};
|
|
44
|
-
import type { EmojiAnchorRect } from '../../typedefs';
|
|
44
|
+
import type { EmojiAnchorRect } from '../../typedefs.js';
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
*/
|
|
55
55
|
const toggle = () => {
|
|
56
56
|
expanded = !expanded;
|
|
57
|
-
onChange?.(new CustomEvent('
|
|
57
|
+
onChange?.(new CustomEvent('Change', { detail: { expanded } }));
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
/**
|
|
@@ -91,7 +91,11 @@
|
|
|
91
91
|
aria-roledescription={_('_sui.role_descriptions.grid_body')}
|
|
92
92
|
>
|
|
93
93
|
{#if label}
|
|
94
|
-
|
|
94
|
+
<!--
|
|
95
|
+
The caption is a row the keyboard can land on, but not one that can be selected: clicking or
|
|
96
|
+
pressing Enter on it toggles the group instead
|
|
97
|
+
-->
|
|
98
|
+
<div role="row" class="row-group-caption" data-selectable="false" {@attach handleCaptionClick}>
|
|
95
99
|
<!-- We need `colspan` here but cannot place `<th>` under `<div>`, so use a hack -->
|
|
96
100
|
<svelte:element this={"th"} role="columnheader" id="{id}-label" colspan="9999">
|
|
97
101
|
{#if hasExpander}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#gridcell
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* @import { Snippet } from 'svelte';
|
|
10
12
|
*/
|
|
@@ -20,17 +22,9 @@
|
|
|
20
22
|
*/
|
|
21
23
|
let {
|
|
22
24
|
/* eslint-disable prefer-const */
|
|
23
|
-
class: className,
|
|
24
|
-
children,
|
|
25
25
|
...restProps
|
|
26
26
|
/* eslint-enable prefer-const */
|
|
27
27
|
} = $props();
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
|
-
<
|
|
31
|
-
{@render children?.()}
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<style>.grid-cell {
|
|
35
|
-
display: table-cell;
|
|
36
|
-
}</style>
|
|
30
|
+
<TablePart {...restProps} role="gridcell" kind="grid-cell" />
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#columnheader
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* @import { Snippet } from 'svelte';
|
|
10
12
|
*/
|
|
@@ -20,17 +22,9 @@
|
|
|
20
22
|
*/
|
|
21
23
|
let {
|
|
22
24
|
/* eslint-disable prefer-const */
|
|
23
|
-
class: className,
|
|
24
|
-
children,
|
|
25
25
|
...restProps
|
|
26
26
|
/* eslint-enable prefer-const */
|
|
27
27
|
} = $props();
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
|
-
<
|
|
31
|
-
{@render children?.()}
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<style>.grid-col-header {
|
|
35
|
-
display: table-cell;
|
|
36
|
-
}</style>
|
|
30
|
+
<TablePart {...restProps} role="columnheader" kind="grid-col-header" />
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
8
|
import { _ } from '@sveltia/i18n';
|
|
9
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @import { Snippet } from 'svelte';
|
|
@@ -22,22 +23,14 @@
|
|
|
22
23
|
*/
|
|
23
24
|
let {
|
|
24
25
|
/* eslint-disable prefer-const */
|
|
25
|
-
class: className,
|
|
26
|
-
children,
|
|
27
26
|
...restProps
|
|
28
27
|
/* eslint-enable prefer-const */
|
|
29
28
|
} = $props();
|
|
30
29
|
</script>
|
|
31
30
|
|
|
32
|
-
<
|
|
31
|
+
<TablePart
|
|
33
32
|
{...restProps}
|
|
34
33
|
role="rowgroup"
|
|
35
|
-
|
|
34
|
+
kind="grid-foot"
|
|
36
35
|
aria-roledescription={_('_sui.role_descriptions.grid_foot')}
|
|
37
|
-
|
|
38
|
-
{@render children?.()}
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
<style>.grid-foot {
|
|
42
|
-
display: table-footer-group;
|
|
43
|
-
}</style>
|
|
36
|
+
/>
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
8
|
import { _ } from '@sveltia/i18n';
|
|
9
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @import { Snippet } from 'svelte';
|
|
@@ -22,22 +23,14 @@
|
|
|
22
23
|
*/
|
|
23
24
|
let {
|
|
24
25
|
/* eslint-disable prefer-const */
|
|
25
|
-
class: className,
|
|
26
|
-
children,
|
|
27
26
|
...restProps
|
|
28
27
|
/* eslint-enable prefer-const */
|
|
29
28
|
} = $props();
|
|
30
29
|
</script>
|
|
31
30
|
|
|
32
|
-
<
|
|
31
|
+
<TablePart
|
|
33
32
|
{...restProps}
|
|
34
33
|
role="rowgroup"
|
|
35
|
-
|
|
34
|
+
kind="grid-head"
|
|
36
35
|
aria-roledescription={_('_sui.role_descriptions.grid_head')}
|
|
37
|
-
|
|
38
|
-
{@render children?.()}
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
<style>.grid-head {
|
|
42
|
-
display: table-header-group;
|
|
43
|
-
}</style>
|
|
36
|
+
/>
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#rowheader
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* @import { Snippet } from 'svelte';
|
|
10
12
|
*/
|
|
@@ -20,18 +22,9 @@
|
|
|
20
22
|
*/
|
|
21
23
|
let {
|
|
22
24
|
/* eslint-disable prefer-const */
|
|
23
|
-
class: className,
|
|
24
|
-
children,
|
|
25
25
|
...restProps
|
|
26
26
|
/* eslint-enable prefer-const */
|
|
27
27
|
} = $props();
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
|
-
<
|
|
31
|
-
{@render children?.()}
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
<style>.grid-row-header {
|
|
35
|
-
display: table-cell;
|
|
36
|
-
height: var(--sui-secondary-row-height);
|
|
37
|
-
}</style>
|
|
30
|
+
<TablePart {...restProps} role="rowheader" kind="grid-row-header" />
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
@see https://w3c.github.io/aria/#row
|
|
6
6
|
-->
|
|
7
7
|
<script>
|
|
8
|
+
import TablePart from '../table/table-part.svelte';
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* @import { Snippet } from 'svelte';
|
|
10
12
|
*/
|
|
@@ -24,25 +26,10 @@
|
|
|
24
26
|
*/
|
|
25
27
|
let {
|
|
26
28
|
/* eslint-disable prefer-const */
|
|
27
|
-
class: className,
|
|
28
29
|
selected = false,
|
|
29
|
-
children,
|
|
30
30
|
...restProps
|
|
31
31
|
/* eslint-enable prefer-const */
|
|
32
32
|
} = $props();
|
|
33
33
|
</script>
|
|
34
34
|
|
|
35
|
-
<
|
|
36
|
-
{...restProps}
|
|
37
|
-
role="row"
|
|
38
|
-
class="sui grid-row {className}"
|
|
39
|
-
tabindex="0"
|
|
40
|
-
aria-selected={selected}
|
|
41
|
-
>
|
|
42
|
-
{@render children?.()}
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<style>.grid-row {
|
|
46
|
-
display: table-row;
|
|
47
|
-
height: var(--sui-primary-row-height);
|
|
48
|
-
}</style>
|
|
35
|
+
<TablePart {...restProps} role="row" kind="grid-row" tabindex="0" aria-selected={selected} />
|
|
@@ -9,7 +9,7 @@ type Listbox = {
|
|
|
9
9
|
* @see https://w3c.github.io/aria/#listbox
|
|
10
10
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/listbox/
|
|
11
11
|
*/
|
|
12
|
-
declare const Listbox: import("svelte").Component<import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").PointerEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & {
|
|
12
|
+
declare const Listbox: import("svelte").Component<import("../../typedefs.js").KeyboardEventHandlers & import("../../typedefs.js").MouseEventHandlers & import("../../typedefs.js").PointerEventHandlers & import("../../typedefs.js").FocusEventHandlers & import("../../typedefs.js").DragEventHandlers & {
|
|
13
13
|
/**
|
|
14
14
|
* The `class` attribute on the wrapper element.
|
|
15
15
|
*/
|
|
@@ -8,7 +8,7 @@ type Option = {
|
|
|
8
8
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
|
|
9
9
|
* @see https://w3c.github.io/aria/#option
|
|
10
10
|
*/
|
|
11
|
-
declare const Option: import("svelte").Component<ButtonProps & import("../../typedefs").KeyboardEventHandlers & import("../../typedefs").MouseEventHandlers & import("../../typedefs").PointerEventHandlers & import("../../typedefs").FocusEventHandlers & import("../../typedefs").DragEventHandlers & {
|
|
11
|
+
declare const Option: import("svelte").Component<ButtonProps & import("../../typedefs.js").KeyboardEventHandlers & import("../../typedefs.js").MouseEventHandlers & import("../../typedefs.js").PointerEventHandlers & import("../../typedefs.js").FocusEventHandlers & import("../../typedefs.js").DragEventHandlers & {
|
|
12
12
|
/**
|
|
13
13
|
* The `class` attribute on the wrapper element.
|
|
14
14
|
*/
|
|
@@ -62,5 +62,5 @@ type Props = {
|
|
|
62
62
|
*/
|
|
63
63
|
checkIcon?: Snippet<[]> | undefined;
|
|
64
64
|
};
|
|
65
|
-
import type { ButtonProps } from '../../typedefs';
|
|
65
|
+
import type { ButtonProps } from '../../typedefs.js';
|
|
66
66
|
import type { Snippet } from 'svelte';
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
import Popup from '../util/popup.svelte';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* @import { ButtonProps, CommonEventHandlers } from '../../typedefs';
|
|
12
|
+
* @import { ButtonProps, CommonEventHandlers } from '../../typedefs.js';
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @typedef {object} Props
|
|
17
17
|
* @property {HTMLElement} [popupPositionBaseElement] The base element of {@link popupPosition}.
|
|
18
|
-
* If omitted, this will be
|
|
18
|
+
* If omitted, this will be the button itself.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|