@svelte-atoms/core 1.0.0-alpha.26 → 1.0.0-alpha.27
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/accordion/accordion-root.svelte +61 -79
- package/dist/components/accordion/accordion-root.svelte.d.ts +2 -15
- package/dist/components/accordion/index.d.ts +2 -1
- package/dist/components/accordion/index.js +2 -1
- package/dist/components/accordion/item/accordion-item-body.svelte +42 -52
- package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
- package/dist/components/accordion/item/accordion-item-header.svelte +50 -60
- package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
- package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
- package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
- package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
- package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +2 -12
- package/dist/components/accordion/item/index.d.ts +1 -0
- package/dist/components/accordion/item/types.d.ts +52 -0
- package/dist/components/accordion/item/types.js +1 -0
- package/dist/components/accordion/types.d.ts +21 -0
- package/dist/components/accordion/types.js +1 -0
- package/dist/components/alert/alert-actions.svelte +42 -52
- package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
- package/dist/components/alert/alert-close-button.svelte +72 -79
- package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
- package/dist/components/alert/alert-content.svelte +42 -52
- package/dist/components/alert/alert-content.svelte.d.ts +3 -30
- package/dist/components/alert/alert-description.svelte +41 -51
- package/dist/components/alert/alert-description.svelte.d.ts +7 -10
- package/dist/components/alert/alert-icon.svelte +46 -56
- package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
- package/dist/components/alert/alert-root.svelte +102 -118
- package/dist/components/alert/alert-root.svelte.d.ts +2 -13
- package/dist/components/alert/alert-title.svelte +41 -51
- package/dist/components/alert/alert-title.svelte.d.ts +2 -8
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/alert/types.d.ts +85 -0
- package/dist/components/alert/types.js +1 -0
- package/dist/components/atom/html-atom.svelte.d.ts +2 -22
- package/dist/components/atom/types.d.ts +7 -2
- package/dist/components/avatar/types.d.ts +7 -2
- package/dist/components/badge/types.d.ts +7 -2
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/button/types.d.ts +7 -2
- package/dist/components/card/card-body.svelte +39 -45
- package/dist/components/card/card-body.svelte.d.ts +7 -4
- package/dist/components/card/card-description.svelte +41 -48
- package/dist/components/card/card-description.svelte.d.ts +7 -7
- package/dist/components/card/card-footer.svelte +41 -48
- package/dist/components/card/card-footer.svelte.d.ts +7 -4
- package/dist/components/card/card-header.svelte +41 -48
- package/dist/components/card/card-header.svelte.d.ts +7 -4
- package/dist/components/card/card-media.svelte +41 -48
- package/dist/components/card/card-media.svelte.d.ts +7 -4
- package/dist/components/card/card-root.svelte +91 -91
- package/dist/components/card/card-root.svelte.d.ts +1 -1
- package/dist/components/card/card-subtitle.svelte +41 -48
- package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
- package/dist/components/card/card-title.svelte +45 -52
- package/dist/components/card/card-title.svelte.d.ts +12 -9
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/card/types.d.ts +57 -2
- package/dist/components/checkbox/types.d.ts +7 -2
- package/dist/components/collapsible/collapsible-body.svelte +39 -52
- package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
- package/dist/components/collapsible/collapsible-header.svelte +39 -52
- package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
- package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
- package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
- package/dist/components/collapsible/collapsible-root.svelte +66 -85
- package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
- package/dist/components/collapsible/index.d.ts +1 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/collapsible/types.d.ts +54 -0
- package/dist/components/collapsible/types.js +1 -0
- package/dist/components/combobox/combobox-root.svelte +65 -68
- package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
- package/dist/components/combobox/index.d.ts +1 -0
- package/dist/components/combobox/index.js +1 -0
- package/dist/components/combobox/types.d.ts +25 -0
- package/dist/components/combobox/types.js +1 -0
- package/dist/components/container/types.d.ts +7 -2
- package/dist/components/contextmenu/types.d.ts +8 -0
- package/dist/components/contextmenu/types.js +1 -0
- package/dist/components/datagrid/datagrid-body.svelte +37 -44
- package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
- package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
- package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
- package/dist/components/datagrid/datagrid-footer.svelte +34 -34
- package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
- package/dist/components/datagrid/datagrid-header.svelte +49 -49
- package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
- package/dist/components/datagrid/datagrid-root.svelte +59 -59
- package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
- package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
- package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
- package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
- package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
- package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
- package/dist/components/datagrid/tr/bond.svelte.js +4 -2
- package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
- package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
- package/dist/components/datagrid/types.d.ts +85 -37
- package/dist/components/dialog/dialog-body.svelte +39 -45
- package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-close-button.svelte +58 -61
- package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
- package/dist/components/dialog/dialog-content.svelte +62 -68
- package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-description.svelte +40 -46
- package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-footer.svelte +39 -45
- package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-header.svelte +39 -45
- package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-root.svelte +3 -16
- package/dist/components/dialog/dialog-root.svelte.d.ts +2 -12
- package/dist/components/dialog/dialog-title.svelte +41 -47
- package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/dialog/types.d.ts +67 -0
- package/dist/components/dialog/types.js +1 -0
- package/dist/components/divider/types.d.ts +10 -0
- package/dist/components/divider/types.js +1 -0
- package/dist/components/drawer/drawer-backdrop.svelte +38 -47
- package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
- package/dist/components/drawer/drawer-body.svelte +42 -56
- package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
- package/dist/components/drawer/drawer-content.svelte +42 -55
- package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-description.svelte +44 -57
- package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-footer.svelte +41 -54
- package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-header.svelte +43 -56
- package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-root.svelte +3 -28
- package/dist/components/drawer/drawer-root.svelte.d.ts +3 -34
- package/dist/components/drawer/drawer-title.svelte +44 -57
- package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/drawer/types.d.ts +86 -0
- package/dist/components/drawer/types.js +1 -0
- package/dist/components/dropdown/dropdown-query.svelte +54 -53
- package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
- package/dist/components/dropdown/dropdown-root.svelte +59 -59
- package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
- package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
- package/dist/components/dropdown/dropdown-value.svelte +60 -60
- package/dist/components/dropdown/index.d.ts +1 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/dropdown/types.d.ts +37 -0
- package/dist/components/dropdown/types.js +1 -0
- package/dist/components/element/html-element.svelte.d.ts +2 -14
- package/dist/components/element/svg-element.svelte.d.ts +2 -14
- package/dist/components/element/types.d.ts +14 -7
- package/dist/components/form/field/field-control.svelte +48 -65
- package/dist/components/form/field/field-control.svelte.d.ts +5 -19
- package/dist/components/form/field/field-label.svelte +24 -31
- package/dist/components/form/field/field-label.svelte.d.ts +1 -2
- package/dist/components/form/field/field-root.svelte +59 -88
- package/dist/components/form/field/field-root.svelte.d.ts +5 -20
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/types.d.ts +76 -0
- package/dist/components/form/types.js +1 -0
- package/dist/components/icon/icon.svelte +44 -55
- package/dist/components/icon/icon.svelte.d.ts +4 -29
- package/dist/components/icon/types.d.ts +11 -7
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/input-control.svelte +103 -107
- package/dist/components/input/input-control.svelte.d.ts +2 -3
- package/dist/components/input/input-icon.svelte.d.ts +1 -1
- package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
- package/dist/components/input/types.d.ts +18 -7
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/label/label.svelte +25 -41
- package/dist/components/label/label.svelte.d.ts +3 -27
- package/dist/components/label/types.d.ts +11 -0
- package/dist/components/label/types.js +1 -0
- package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
- package/dist/components/layer/layer-root.svelte.d.ts +2 -19
- package/dist/components/layer/types.d.ts +11 -0
- package/dist/components/layer/types.js +1 -0
- package/dist/components/link/types.d.ts +8 -0
- package/dist/components/link/types.js +1 -0
- package/dist/components/list/types.d.ts +8 -0
- package/dist/components/list/types.js +1 -0
- package/dist/components/menu/index.d.ts +1 -0
- package/dist/components/menu/index.js +1 -0
- package/dist/components/menu/types.d.ts +15 -0
- package/dist/components/menu/types.js +1 -0
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/index.js +1 -0
- package/dist/components/popover/popover-arrow.svelte +1 -1
- package/dist/components/popover/popover-arrow.svelte.d.ts +2 -18
- package/dist/components/popover/popover-content.svelte +1 -1
- package/dist/components/popover/popover-root.svelte +49 -49
- package/dist/components/popover/popover-trigger.svelte +47 -47
- package/dist/components/popover/types.d.ts +32 -10
- package/dist/components/portal/active-portal.svelte +22 -22
- package/dist/components/portal/index.d.ts +1 -0
- package/dist/components/portal/index.js +1 -0
- package/dist/components/portal/portal-inner.svelte.d.ts +2 -19
- package/dist/components/portal/portal-root.svelte +83 -88
- package/dist/components/portal/portal-root.svelte.d.ts +2 -22
- package/dist/components/portal/teleport.svelte +4 -9
- package/dist/components/portal/teleport.svelte.d.ts +3 -22
- package/dist/components/portal/types.d.ts +39 -0
- package/dist/components/portal/types.js +1 -0
- package/dist/components/radio/radio.svelte +109 -109
- package/dist/components/radio/radio.svelte.d.ts +14 -36
- package/dist/components/root/root.svelte +121 -121
- package/dist/components/root/types.d.ts +8 -0
- package/dist/components/root/types.js +1 -0
- package/dist/components/scrollable/index.d.ts +1 -0
- package/dist/components/scrollable/index.js +1 -0
- package/dist/components/scrollable/scrollable-container.svelte +82 -89
- package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
- package/dist/components/scrollable/scrollable-content.svelte +41 -51
- package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
- package/dist/components/scrollable/scrollable-root.svelte +100 -120
- package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
- package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
- package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
- package/dist/components/scrollable/scrollable-track.svelte +59 -70
- package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
- package/dist/components/scrollable/types.d.ts +62 -0
- package/dist/components/scrollable/types.js +1 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/index.js +1 -0
- package/dist/components/sidebar/types.d.ts +16 -5
- package/dist/components/stack/stack-root.svelte.d.ts +2 -19
- package/dist/components/stack/types.d.ts +12 -0
- package/dist/components/stack/types.js +1 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tabs/tab/tab-body.svelte +52 -61
- package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
- package/dist/components/tabs/tab/tab-description.svelte +41 -50
- package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
- package/dist/components/tabs/tab/tab-header.svelte +71 -81
- package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
- package/dist/components/tabs/tab/tab-root.svelte +86 -86
- package/dist/components/tabs/types.d.ts +55 -0
- package/dist/components/tabs/types.js +1 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/types.d.ts +28 -0
- package/dist/components/textarea/types.js +1 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toast/toast-description.svelte +38 -44
- package/dist/components/toast/toast-description.svelte.d.ts +8 -34
- package/dist/components/toast/toast-root.svelte +61 -74
- package/dist/components/toast/toast-root.svelte.d.ts +4 -43
- package/dist/components/toast/toast-title.svelte +35 -43
- package/dist/components/toast/toast-title.svelte.d.ts +2 -34
- package/dist/components/toast/types.d.ts +40 -0
- package/dist/components/toast/types.js +1 -0
- package/dist/components/tooltip/types.d.ts +13 -0
- package/dist/components/tooltip/types.js +1 -0
- package/dist/components/tree/index.d.ts +1 -0
- package/dist/components/tree/index.js +1 -0
- package/dist/components/tree/tree-body.svelte +39 -50
- package/dist/components/tree/tree-body.svelte.d.ts +2 -10
- package/dist/components/tree/tree-header.svelte +54 -66
- package/dist/components/tree/tree-header.svelte.d.ts +3 -29
- package/dist/components/tree/tree-indicator.svelte +40 -50
- package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
- package/dist/components/tree/tree-root.svelte +65 -80
- package/dist/components/tree/tree-root.svelte.d.ts +2 -12
- package/dist/components/tree/types.d.ts +59 -0
- package/dist/components/tree/types.js +1 -0
- package/dist/components/virtual/types.d.ts +23 -0
- package/dist/components/virtual/types.js +1 -0
- package/dist/components/virtual/virtual-root.svelte +239 -258
- package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
- package/package.json +1 -1
|
@@ -1,53 +1,54 @@
|
|
|
1
|
-
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div',
|
|
2
|
-
import { onMount } from 'svelte';
|
|
3
|
-
import { DropdownBond } from './bond.svelte';
|
|
4
|
-
import { Input } from '../input';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
{bond}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
{
|
|
53
|
-
|
|
1
|
+
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { onMount } from 'svelte';
|
|
3
|
+
import { DropdownBond } from './bond.svelte';
|
|
4
|
+
import { Input } from '../input';
|
|
5
|
+
import { type Base } from '../atom';
|
|
6
|
+
|
|
7
|
+
const bond = DropdownBond.get() as DropdownBond;
|
|
8
|
+
|
|
9
|
+
if (!bond) {
|
|
10
|
+
throw new Error('Combobox atom was not found');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: klass = '',
|
|
15
|
+
children = undefined,
|
|
16
|
+
onpointerdown,
|
|
17
|
+
onmount = undefined,
|
|
18
|
+
ondestroy = undefined,
|
|
19
|
+
animate = undefined,
|
|
20
|
+
enter = undefined,
|
|
21
|
+
exit = undefined,
|
|
22
|
+
initial = undefined,
|
|
23
|
+
...restProps
|
|
24
|
+
} = $props();
|
|
25
|
+
|
|
26
|
+
let isMounted = $state(false);
|
|
27
|
+
|
|
28
|
+
onMount(() => {
|
|
29
|
+
isMounted = true;
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const isMultiple = $derived(bond?.state.props?.multiple ?? false);
|
|
33
|
+
const selectedText = $derived(
|
|
34
|
+
isMounted || isMultiple ? (bond.state.selectedItems.at(0)?.text ?? '') : ''
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const value = $derived(
|
|
38
|
+
bond?.state.props?.query ?? (bond?.state.props?.text || selectedText || '')
|
|
39
|
+
);
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
<Input.Control
|
|
43
|
+
bind:value={bond.state.query}
|
|
44
|
+
{bond}
|
|
45
|
+
preset="dropdown.query"
|
|
46
|
+
class={['inline-flex h-auto w-auto flex-1 py-1', '$preset', klass]}
|
|
47
|
+
onmount={onmount?.bind(bond.state)}
|
|
48
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
49
|
+
enter={enter?.bind(bond.state)}
|
|
50
|
+
exit={exit?.bind(bond.state)}
|
|
51
|
+
initial={initial?.bind(bond.state)}
|
|
52
|
+
animate={animate?.bind(bond.state)}
|
|
53
|
+
{...restProps}
|
|
54
|
+
/>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { type Base } from '../atom';
|
|
2
|
+
declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
2
3
|
props: {
|
|
3
4
|
class?: string;
|
|
4
5
|
children?: any;
|
|
@@ -15,20 +16,20 @@ declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', S exten
|
|
|
15
16
|
slots: {};
|
|
16
17
|
events: {};
|
|
17
18
|
};
|
|
18
|
-
declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap = 'div',
|
|
19
|
-
props(): ReturnType<typeof $$render<T,
|
|
20
|
-
events(): ReturnType<typeof $$render<T,
|
|
21
|
-
slots(): ReturnType<typeof $$render<T,
|
|
19
|
+
declare class __sveltets_Render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
|
|
20
|
+
props(): ReturnType<typeof $$render<T, B>>['props'];
|
|
21
|
+
events(): ReturnType<typeof $$render<T, B>>['events'];
|
|
22
|
+
slots(): ReturnType<typeof $$render<T, B>>['slots'];
|
|
22
23
|
bindings(): "";
|
|
23
24
|
exports(): {};
|
|
24
25
|
}
|
|
25
26
|
interface $$IsomorphicComponent {
|
|
26
|
-
new <T extends keyof HTMLElementTagNameMap = 'div',
|
|
27
|
-
$$bindings?: ReturnType<__sveltets_Render<T,
|
|
28
|
-
} & ReturnType<__sveltets_Render<T,
|
|
29
|
-
<T extends keyof HTMLElementTagNameMap = 'div',
|
|
27
|
+
new <T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, B>['props']>, ReturnType<__sveltets_Render<T, B>['events']>, ReturnType<__sveltets_Render<T, B>['slots']>> & {
|
|
28
|
+
$$bindings?: ReturnType<__sveltets_Render<T, B>['bindings']>;
|
|
29
|
+
} & ReturnType<__sveltets_Render<T, B>['exports']>;
|
|
30
|
+
<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<T, B>['props']> & {}): ReturnType<__sveltets_Render<T, B>['exports']>;
|
|
30
31
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
31
32
|
}
|
|
32
33
|
declare const DropdownQuery: $$IsomorphicComponent;
|
|
33
|
-
type DropdownQuery<T extends keyof HTMLElementTagNameMap = 'div',
|
|
34
|
+
type DropdownQuery<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof DropdownQuery<T, B>>;
|
|
34
35
|
export default DropdownQuery;
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
<script lang="ts" generics="T">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
let {
|
|
6
|
-
open = $bindable(false),
|
|
7
|
-
value = $bindable(),
|
|
8
|
-
values = $bindable(),
|
|
9
|
-
multiple = false,
|
|
10
|
-
disabled = false,
|
|
11
|
-
placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
|
|
12
|
-
placement = 'bottom-start',
|
|
13
|
-
offset = 4,
|
|
14
|
-
keys = [],
|
|
15
|
-
factory = _factory,
|
|
16
|
-
children = undefined,
|
|
17
|
-
onquerychange = undefined,
|
|
18
|
-
...restProps
|
|
19
|
-
} = $props();
|
|
20
|
-
|
|
21
|
-
const bondProps = defineState<DropdownStateProps>(
|
|
22
|
-
[
|
|
23
|
-
defineProperty(
|
|
24
|
-
'open',
|
|
25
|
-
() => open,
|
|
26
|
-
(v) => {
|
|
27
|
-
open = v;
|
|
28
|
-
}
|
|
29
|
-
),
|
|
30
|
-
defineProperty(
|
|
31
|
-
'values',
|
|
32
|
-
() => (multiple ? values : [value].filter(Boolean)),
|
|
33
|
-
(v) => {
|
|
34
|
-
values = v;
|
|
35
|
-
value = v[0];
|
|
36
|
-
}
|
|
37
|
-
),
|
|
38
|
-
defineProperty('multiple', () => multiple),
|
|
39
|
-
defineProperty('disabled', () => disabled),
|
|
40
|
-
defineProperty('placement', () => placement),
|
|
41
|
-
defineProperty('offset', () => offset),
|
|
42
|
-
defineProperty('placements', () => placements ?? []),
|
|
43
|
-
defineProperty('keys', () => keys ?? [])
|
|
44
|
-
],
|
|
45
|
-
() => ({ onquerychange })
|
|
46
|
-
);
|
|
47
|
-
const bond = factory(bondProps).share();
|
|
48
|
-
|
|
49
|
-
function _factory(props: typeof bondProps) {
|
|
50
|
-
const bondState = new DropdownBondState<T>(() => props);
|
|
51
|
-
return new DropdownBond(bondState);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function getBond() {
|
|
55
|
-
return bond;
|
|
56
|
-
}
|
|
57
|
-
</script>
|
|
58
|
-
|
|
59
|
-
{@render children?.({ dropdown: bond })}
|
|
1
|
+
<script lang="ts" generics="T">
|
|
2
|
+
import { defineProperty, defineState } from '../../utils';
|
|
3
|
+
import { DropdownBond, DropdownBondState, type DropdownStateProps } from './bond.svelte';
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
open = $bindable(false),
|
|
7
|
+
value = $bindable(),
|
|
8
|
+
values = $bindable(),
|
|
9
|
+
multiple = false,
|
|
10
|
+
disabled = false,
|
|
11
|
+
placements = ['bottom-start', 'bottom-end', 'top-start', 'top-end'],
|
|
12
|
+
placement = 'bottom-start',
|
|
13
|
+
offset = 4,
|
|
14
|
+
keys = [],
|
|
15
|
+
factory = _factory,
|
|
16
|
+
children = undefined,
|
|
17
|
+
onquerychange = undefined,
|
|
18
|
+
...restProps
|
|
19
|
+
} = $props();
|
|
20
|
+
|
|
21
|
+
const bondProps = defineState<DropdownStateProps>(
|
|
22
|
+
[
|
|
23
|
+
defineProperty(
|
|
24
|
+
'open',
|
|
25
|
+
() => open,
|
|
26
|
+
(v) => {
|
|
27
|
+
open = v;
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
defineProperty(
|
|
31
|
+
'values',
|
|
32
|
+
() => (multiple ? values : [value].filter(Boolean)),
|
|
33
|
+
(v) => {
|
|
34
|
+
values = v;
|
|
35
|
+
value = v[0];
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
defineProperty('multiple', () => multiple),
|
|
39
|
+
defineProperty('disabled', () => disabled),
|
|
40
|
+
defineProperty('placement', () => placement),
|
|
41
|
+
defineProperty('offset', () => offset),
|
|
42
|
+
defineProperty('placements', () => placements ?? []),
|
|
43
|
+
defineProperty('keys', () => keys ?? [])
|
|
44
|
+
],
|
|
45
|
+
() => ({ onquerychange })
|
|
46
|
+
);
|
|
47
|
+
const bond = factory(bondProps).share();
|
|
48
|
+
|
|
49
|
+
function _factory(props: typeof bondProps) {
|
|
50
|
+
const bondState = new DropdownBondState<T>(() => props);
|
|
51
|
+
return new DropdownBond(bondState);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function getBond() {
|
|
55
|
+
return bond;
|
|
56
|
+
}
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
{@render children?.({ dropdown: bond })}
|
|
@@ -1,52 +1,41 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{bond}
|
|
41
|
-
|
|
42
|
-
class={['border-border relative flex h-auto min-h-10 flex-wrap items-center', '$preset', klass]}
|
|
43
|
-
onmount={onmount?.bind(bond.state)}
|
|
44
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
45
|
-
enter={enter?.bind(bond.state)}
|
|
46
|
-
exit={exit?.bind(bond.state)}
|
|
47
|
-
initial={initial?.bind(bond.state)}
|
|
48
|
-
animate={animate?.bind(bond.state)}
|
|
49
|
-
{...restProps}
|
|
50
|
-
>
|
|
51
|
-
{@render children?.({ dropdown: bond })}
|
|
52
|
-
</Trigger>
|
|
1
|
+
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { Trigger } from '../popover/atoms';
|
|
3
|
+
import type { Base } from '../atom';
|
|
4
|
+
import { DropdownBond } from './bond.svelte';
|
|
5
|
+
import type { DropdownTriggerProps } from './types';
|
|
6
|
+
|
|
7
|
+
const bond = DropdownBond.get();
|
|
8
|
+
|
|
9
|
+
if (!bond) {
|
|
10
|
+
throw new Error('dropdown atom was not found');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: klass = '',
|
|
15
|
+
as = 'button' as T,
|
|
16
|
+
children = undefined,
|
|
17
|
+
onmount = undefined,
|
|
18
|
+
ondestroy = undefined,
|
|
19
|
+
animate = undefined,
|
|
20
|
+
enter = undefined,
|
|
21
|
+
exit = undefined,
|
|
22
|
+
initial = undefined,
|
|
23
|
+
...restProps
|
|
24
|
+
}: DropdownTriggerProps<T, B> = $props();
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<Trigger
|
|
28
|
+
{as}
|
|
29
|
+
{bond}
|
|
30
|
+
preset="dropdown.trigger"
|
|
31
|
+
class={['border-border relative flex h-auto min-h-10 flex-wrap items-center', '$preset', klass]}
|
|
32
|
+
onmount={onmount?.bind(bond.state)}
|
|
33
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
34
|
+
enter={enter?.bind(bond.state)}
|
|
35
|
+
exit={exit?.bind(bond.state)}
|
|
36
|
+
initial={initial?.bind(bond.state)}
|
|
37
|
+
animate={animate?.bind(bond.state)}
|
|
38
|
+
{...restProps}
|
|
39
|
+
>
|
|
40
|
+
{@render children?.({ dropdown: bond })}
|
|
41
|
+
</Trigger>
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import type { PopoverTriggerProps } from '../popover/popover-trigger.svelte';
|
|
2
|
-
export type DropdownTriggerProps<T extends keyof HTMLElementTagNameMap, B extends Base = Base> = PopoverTriggerProps<T, B> & {
|
|
3
|
-
children?: Snippet<[{
|
|
4
|
-
dropdown?: DropdownBond;
|
|
5
|
-
}]>;
|
|
6
|
-
};
|
|
7
|
-
import type { Snippet } from 'svelte';
|
|
8
|
-
import { DropdownBond } from './bond.svelte';
|
|
9
1
|
import type { Base } from '../atom';
|
|
2
|
+
import type { DropdownTriggerProps } from './types';
|
|
10
3
|
declare function $$render<T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
11
4
|
props: DropdownTriggerProps<T, B>;
|
|
12
5
|
exports: {};
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
const bond = DropdownBond.get();
|
|
8
|
-
|
|
9
|
-
if (!bond) {
|
|
10
|
-
throw new Error('DropdownValue must be used within a Dropdown');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
let {
|
|
14
|
-
class: klass = '',
|
|
15
|
-
as = 'div' as T,
|
|
16
|
-
value,
|
|
17
|
-
children,
|
|
18
|
-
onmount = undefined,
|
|
19
|
-
ondestroy = undefined,
|
|
20
|
-
animate = undefined,
|
|
21
|
-
enter = undefined,
|
|
22
|
-
exit = undefined,
|
|
23
|
-
initial = undefined,
|
|
24
|
-
...restProps
|
|
25
|
-
} = $props();
|
|
26
|
-
|
|
27
|
-
function handleClick(ev: Event) {
|
|
28
|
-
ev.preventDefault();
|
|
29
|
-
ev.stopPropagation();
|
|
30
|
-
|
|
31
|
-
bond?.state.unselect([value]);
|
|
32
|
-
}
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<HtmlAtom
|
|
36
|
-
{as}
|
|
37
|
-
{bond}
|
|
38
|
-
preset="dropdown.value"
|
|
39
|
-
class={[
|
|
40
|
-
'dropdown-value border-border bg-foreground/5 inline-flex flex-nowrap items-center gap-1 rounded-xs px-1 whitespace-nowrap',
|
|
41
|
-
'$preset',
|
|
42
|
-
klass
|
|
43
|
-
]}
|
|
44
|
-
onmount={onmount?.bind(bond.state)}
|
|
45
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
46
|
-
enter={enter?.bind(bond.state)}
|
|
47
|
-
exit={exit?.bind(bond.state)}
|
|
48
|
-
initial={initial?.bind(bond.state)}
|
|
49
|
-
animate={animate?.bind(bond.state)}
|
|
50
|
-
{...restProps}
|
|
51
|
-
>
|
|
52
|
-
{@render children?.()}
|
|
53
|
-
|
|
54
|
-
<button
|
|
55
|
-
class="bg-foreground/5 flex aspect-square h-4 cursor-pointer items-center justify-center rounded-xs p-0"
|
|
56
|
-
onclick={handleClick}
|
|
57
|
-
>
|
|
58
|
-
<Icon class="h-3" src={CloseIcon} />
|
|
59
|
-
</button>
|
|
60
|
-
</HtmlAtom>
|
|
1
|
+
<script lang="ts" generics="T extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { Icon } from '../icon';
|
|
3
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
4
|
+
import CloseIcon from '../../icons/icon-close.svelte';
|
|
5
|
+
import { DropdownBond } from './bond.svelte';
|
|
6
|
+
|
|
7
|
+
const bond = DropdownBond.get();
|
|
8
|
+
|
|
9
|
+
if (!bond) {
|
|
10
|
+
throw new Error('DropdownValue must be used within a Dropdown');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: klass = '',
|
|
15
|
+
as = 'div' as T,
|
|
16
|
+
value,
|
|
17
|
+
children,
|
|
18
|
+
onmount = undefined,
|
|
19
|
+
ondestroy = undefined,
|
|
20
|
+
animate = undefined,
|
|
21
|
+
enter = undefined,
|
|
22
|
+
exit = undefined,
|
|
23
|
+
initial = undefined,
|
|
24
|
+
...restProps
|
|
25
|
+
} = $props();
|
|
26
|
+
|
|
27
|
+
function handleClick(ev: Event) {
|
|
28
|
+
ev.preventDefault();
|
|
29
|
+
ev.stopPropagation();
|
|
30
|
+
|
|
31
|
+
bond?.state.unselect([value]);
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<HtmlAtom
|
|
36
|
+
{as}
|
|
37
|
+
{bond}
|
|
38
|
+
preset="dropdown.value"
|
|
39
|
+
class={[
|
|
40
|
+
'dropdown-value border-border bg-foreground/5 inline-flex flex-nowrap items-center gap-1 rounded-xs px-1 whitespace-nowrap',
|
|
41
|
+
'$preset',
|
|
42
|
+
klass
|
|
43
|
+
]}
|
|
44
|
+
onmount={onmount?.bind(bond.state)}
|
|
45
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
46
|
+
enter={enter?.bind(bond.state)}
|
|
47
|
+
exit={exit?.bind(bond.state)}
|
|
48
|
+
initial={initial?.bind(bond.state)}
|
|
49
|
+
animate={animate?.bind(bond.state)}
|
|
50
|
+
{...restProps}
|
|
51
|
+
>
|
|
52
|
+
{@render children?.()}
|
|
53
|
+
|
|
54
|
+
<button
|
|
55
|
+
class="bg-foreground/5 flex aspect-square h-4 cursor-pointer items-center justify-center rounded-xs p-0"
|
|
56
|
+
onclick={handleClick}
|
|
57
|
+
>
|
|
58
|
+
<Icon class="h-3" src={CloseIcon} />
|
|
59
|
+
</button>
|
|
60
|
+
</HtmlAtom>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HtmlAtomProps, Base } from '../atom';
|
|
3
|
+
import type { Factory, Override } from '../../types';
|
|
4
|
+
import type { DropdownBond } from './bond.svelte';
|
|
5
|
+
import type { PopoverTriggerProps } from '../popover';
|
|
6
|
+
/**
|
|
7
|
+
* Extend this interface to add custom dropdown properties in your application.
|
|
8
|
+
*/
|
|
9
|
+
export interface DropdownExtendProps {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Extend this interface to add custom dropdown trigger properties in your application.
|
|
13
|
+
*/
|
|
14
|
+
export interface DropdownTriggerExtendProps {
|
|
15
|
+
}
|
|
16
|
+
export interface DropdownRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base, T = any> extends Omit<HtmlAtomProps<E, B>, 'children'>, DropdownExtendProps {
|
|
17
|
+
open?: boolean;
|
|
18
|
+
value?: T;
|
|
19
|
+
values?: T[];
|
|
20
|
+
multiple?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
placements?: string[];
|
|
23
|
+
placement?: string;
|
|
24
|
+
offset?: number;
|
|
25
|
+
keys?: string[];
|
|
26
|
+
factory?: Factory<DropdownBond>;
|
|
27
|
+
children?: Snippet<[{
|
|
28
|
+
dropdown: DropdownBond<any>;
|
|
29
|
+
}]>;
|
|
30
|
+
onquerychange?: (query: string) => void;
|
|
31
|
+
}
|
|
32
|
+
export interface DropdownTriggerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Override<PopoverTriggerProps<E, B>, {
|
|
33
|
+
children?: Snippet<[{
|
|
34
|
+
dropdown?: DropdownBond;
|
|
35
|
+
}]>;
|
|
36
|
+
}>, DropdownTriggerExtendProps {
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
|
-
import type { ElementType, HtmlElementTagName } from './types';
|
|
2
|
+
import type { ElementType, HtmlElementProps, HtmlElementTagName } from './types';
|
|
3
3
|
declare function $$render<T extends HtmlElementTagName>(): {
|
|
4
|
-
props:
|
|
5
|
-
[key: string]: unknown;
|
|
6
|
-
class?: import("../../utils").ClassValue | import("../../utils").ClassValue[];
|
|
7
|
-
as?: (string & {}) | T | undefined;
|
|
8
|
-
global?: boolean;
|
|
9
|
-
initial?: import("./types").NodeFunction<T> | undefined;
|
|
10
|
-
enter?: import("./types").TransitionFunction<T> | undefined;
|
|
11
|
-
exit?: import("./types").TransitionFunction<T> | undefined;
|
|
12
|
-
animate?: import("./types").NodeFunction<T> | undefined;
|
|
13
|
-
onmount?: import("./types").NodeFunction<T> | undefined;
|
|
14
|
-
ondestroy?: import("./types").NodeFunction<T> | undefined;
|
|
15
|
-
children?: import("svelte").Snippet;
|
|
16
|
-
} & Omit<HTMLAttributes<ElementType<T>>, string | number>;
|
|
4
|
+
props: HtmlElementProps<T> & Omit<HTMLAttributes<ElementType<T>>, keyof HtmlElementProps<T>>;
|
|
17
5
|
exports: {};
|
|
18
6
|
bindings: "";
|
|
19
7
|
slots: {};
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import type { SVGAttributes } from 'svelte/elements';
|
|
2
|
-
import type { ElementType, SvgElementTagName } from './types';
|
|
2
|
+
import type { ElementType, SvgElementProps, SvgElementTagName } from './types';
|
|
3
3
|
declare function $$render<T extends SvgElementTagName>(): {
|
|
4
|
-
props:
|
|
5
|
-
[key: string]: unknown;
|
|
6
|
-
class?: import("../../utils").ClassValue | import("../../utils").ClassValue[];
|
|
7
|
-
as?: (string & {}) | T | undefined;
|
|
8
|
-
global?: boolean;
|
|
9
|
-
initial?: import("./types").NodeFunction<T> | undefined;
|
|
10
|
-
enter?: import("./types").TransitionFunction<T> | undefined;
|
|
11
|
-
exit?: import("./types").TransitionFunction<T> | undefined;
|
|
12
|
-
animate?: import("./types").NodeFunction<T> | undefined;
|
|
13
|
-
onmount?: import("./types").NodeFunction<T> | undefined;
|
|
14
|
-
ondestroy?: import("./types").NodeFunction<T> | undefined;
|
|
15
|
-
children?: import("svelte").Snippet;
|
|
16
|
-
} & Omit<SVGAttributes<ElementType<T>>, string | number>;
|
|
4
|
+
props: SvgElementProps<T> & Omit<SVGAttributes<ElementType<T>>, keyof SvgElementProps<T>>;
|
|
17
5
|
exports: {};
|
|
18
6
|
bindings: "";
|
|
19
7
|
slots: {};
|
|
@@ -2,7 +2,7 @@ import type { Snippet } from 'svelte';
|
|
|
2
2
|
import type { HTMLAttributes, SVGAttributes } from 'svelte/elements';
|
|
3
3
|
import type { TransitionConfig } from 'svelte/transition';
|
|
4
4
|
import type { ClassValue } from '../../utils';
|
|
5
|
-
export
|
|
5
|
+
export interface ElementProps<T extends ElementTagName> extends Record<string, unknown> {
|
|
6
6
|
class?: ClassValue | ClassValue[];
|
|
7
7
|
as?: T | (string & {});
|
|
8
8
|
global?: boolean;
|
|
@@ -14,17 +14,24 @@ export type ElementProps<T extends ElementTagName> = Record<string, unknown> & {
|
|
|
14
14
|
ondestroy?: NodeFunction<T>;
|
|
15
15
|
children?: Snippet;
|
|
16
16
|
[key: string]: unknown;
|
|
17
|
-
}
|
|
17
|
+
}
|
|
18
18
|
export type HtmlElementTagName = keyof HTMLElementTagNameMap;
|
|
19
19
|
export type SvgElementTagName = keyof SVGElementTagNameMap;
|
|
20
20
|
export type MathMLElementTagName = keyof MathMLElementTagNameMap;
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
export
|
|
21
|
+
export interface HtmlElementProps<T extends HtmlElementTagName = 'div'> extends ElementProps<T> {
|
|
22
|
+
}
|
|
23
|
+
export interface SvgElementProps<T extends SvgElementTagName = 'g'> extends ElementProps<T> {
|
|
24
|
+
}
|
|
25
|
+
export interface MathMLElementProps<T extends MathMLElementTagName> extends ElementProps<T> {
|
|
26
|
+
}
|
|
24
27
|
export type ElementTagName = HtmlElementTagName | SvgElementTagName | MathMLElementTagName;
|
|
25
28
|
export type HtmlElementType<T extends HtmlElementTagName> = HTMLElementTagNameMap[T];
|
|
26
29
|
export type SvgElementType<T extends SvgElementTagName> = SVGElementTagNameMap[T];
|
|
27
30
|
export type ElementType<T> = T extends HtmlElementTagName ? HTMLElementTagNameMap[T] : T extends SvgElementTagName ? SVGElementTagNameMap[T] : T extends MathMLElementTagName ? MathMLElementTagNameMap[T] : never;
|
|
28
31
|
export type ElementAttributes<T extends ElementTagName> = T extends HtmlElementTagName ? HTMLAttributes<ElementType<T>> : T extends SvgElementTagName ? SVGAttributes<ElementType<T>> : never;
|
|
29
|
-
export
|
|
30
|
-
|
|
32
|
+
export interface TransitionFunction<T extends ElementTagName> {
|
|
33
|
+
(node: ElementType<T>): Partial<TransitionConfig>;
|
|
34
|
+
}
|
|
35
|
+
export interface NodeFunction<T extends ElementTagName> {
|
|
36
|
+
(node: ElementType<T>, ...args: any[]): any;
|
|
37
|
+
}
|