@pzerelles/headlessui-svelte 2.1.2-next.4 → 2.1.2-next.40
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/button/Button.svelte +15 -18
- package/dist/button/Button.svelte.d.ts +8 -36
- package/dist/button/index.d.ts +1 -1
- package/dist/button/index.js +1 -1
- package/dist/checkbox/Checkbox.svelte +30 -26
- package/dist/checkbox/Checkbox.svelte.d.ts +17 -38
- package/dist/checkbox/index.d.ts +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/close-button/CloseButton.svelte +4 -7
- package/dist/close-button/CloseButton.svelte.d.ts +3 -46
- package/dist/close-button/index.d.ts +1 -0
- package/dist/close-button/index.js +1 -0
- package/dist/data-interactive/DataInteractive.svelte +6 -22
- package/dist/data-interactive/DataInteractive.svelte.d.ts +9 -34
- package/dist/data-interactive/index.d.ts +1 -1
- package/dist/data-interactive/index.js +1 -1
- package/dist/description/Description.svelte +28 -23
- package/dist/description/Description.svelte.d.ts +9 -30
- package/dist/description/context.svelte.js +14 -16
- package/dist/description/index.d.ts +1 -1
- package/dist/dialog/Dialog.svelte +315 -31
- package/dist/dialog/Dialog.svelte.d.ts +7 -45
- package/dist/dialog/DialogBackdrop.svelte +11 -14
- package/dist/dialog/DialogBackdrop.svelte.d.ts +8 -33
- package/dist/dialog/DialogPanel.svelte +23 -19
- package/dist/dialog/DialogPanel.svelte.d.ts +8 -34
- package/dist/dialog/DialogTitle.svelte +17 -8
- package/dist/dialog/DialogTitle.svelte.d.ts +9 -30
- package/dist/dialog/context.svelte.js +2 -2
- package/dist/dialog/index.d.ts +4 -4
- package/dist/dialog/index.js +4 -4
- package/dist/field/Field.svelte +27 -26
- package/dist/field/Field.svelte.d.ts +7 -34
- package/dist/field/index.d.ts +1 -1
- package/dist/fieldset/Fieldset.svelte +14 -20
- package/dist/fieldset/Fieldset.svelte.d.ts +8 -35
- package/dist/fieldset/index.d.ts +1 -1
- package/dist/focus-trap/FocusTrap.svelte +30 -54
- package/dist/focus-trap/FocusTrap.svelte.d.ts +10 -52
- package/dist/focus-trap/FocusTrapFeatures.d.ts +14 -0
- package/dist/focus-trap/FocusTrapFeatures.js +15 -0
- package/dist/hooks/use-controllable.svelte.js +2 -1
- package/dist/hooks/use-did-element-move.svelte.js +5 -10
- package/dist/hooks/use-disabled.d.ts +6 -1
- package/dist/hooks/use-disabled.js +10 -5
- package/dist/hooks/use-event-listener.svelte.d.ts +1 -1
- package/dist/hooks/use-event-listener.svelte.js +3 -1
- package/dist/hooks/use-inert-others.svelte.js +10 -10
- package/dist/hooks/use-resolve-button-type.svelte.js +0 -1
- package/dist/hooks/use-root-containers.svelte.d.ts +2 -2
- package/dist/hooks/use-root-containers.svelte.js +5 -5
- package/dist/hooks/use-tab-direction.svelte.js +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -2
- package/dist/input/Input.svelte +28 -21
- package/dist/input/Input.svelte.d.ts +16 -33
- package/dist/input/index.d.ts +1 -1
- package/dist/input/index.js +1 -1
- package/dist/internal/FloatingProvider.svelte +17 -0
- package/dist/internal/FloatingProvider.svelte.d.ts +8 -0
- package/dist/internal/FocusSentinel.svelte +33 -32
- package/dist/internal/FocusSentinel.svelte.d.ts +4 -18
- package/dist/internal/ForcePortalRoot.svelte.d.ts +4 -18
- package/dist/internal/FormFields.svelte +18 -13
- package/dist/internal/FormFields.svelte.d.ts +4 -18
- package/dist/internal/FormFieldsProvider.svelte +17 -0
- package/dist/internal/FormFieldsProvider.svelte.d.ts +7 -0
- package/dist/internal/FormResolver.svelte +6 -2
- package/dist/internal/FormResolver.svelte.d.ts +4 -18
- package/dist/internal/Hidden.svelte +10 -10
- package/dist/internal/Hidden.svelte.d.ts +6 -33
- package/dist/internal/MainTreeProvider.svelte +1 -1
- package/dist/internal/MainTreeProvider.svelte.d.ts +4 -18
- package/dist/internal/Portal.svelte.d.ts +4 -18
- package/dist/internal/floating-provider.svelte.d.ts +3 -0
- package/dist/internal/floating-provider.svelte.js +206 -0
- package/dist/internal/floating.svelte.d.ts +46 -22
- package/dist/internal/floating.svelte.js +90 -272
- package/dist/internal/form-fields.svelte.d.ts +10 -0
- package/dist/internal/form-fields.svelte.js +23 -0
- package/dist/label/Label.svelte +17 -13
- package/dist/label/Label.svelte.d.ts +8 -33
- package/dist/label/context.svelte.js +1 -1
- package/dist/label/index.d.ts +1 -1
- package/dist/legend/Legend.svelte +21 -15
- package/dist/legend/Legend.svelte.d.ts +9 -34
- package/dist/listbox/Listbox.svelte +79 -163
- package/dist/listbox/Listbox.svelte.d.ts +16 -101
- package/dist/listbox/ListboxButton.svelte +24 -29
- package/dist/listbox/ListboxButton.svelte.d.ts +8 -38
- package/dist/listbox/ListboxOption.svelte +33 -27
- package/dist/listbox/ListboxOption.svelte.d.ts +16 -32
- package/dist/listbox/ListboxOptions.svelte +126 -73
- package/dist/listbox/ListboxOptions.svelte.d.ts +8 -43
- package/dist/listbox/ListboxSelectedOption.svelte +24 -26
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +14 -39
- package/dist/listbox/context.svelte.d.ts +76 -0
- package/dist/listbox/context.svelte.js +36 -0
- package/dist/listbox/index.d.ts +5 -5
- package/dist/listbox/index.js +4 -4
- package/dist/menu/Menu.svelte +22 -266
- package/dist/menu/Menu.svelte.d.ts +7 -37
- package/dist/menu/MenuButton.svelte +22 -24
- package/dist/menu/MenuButton.svelte.d.ts +8 -39
- package/dist/menu/MenuHeading.svelte +12 -16
- package/dist/menu/MenuHeading.svelte.d.ts +7 -36
- package/dist/menu/MenuItem.svelte +18 -23
- package/dist/menu/MenuItem.svelte.d.ts +9 -39
- package/dist/menu/MenuItems.svelte +33 -34
- package/dist/menu/MenuItems.svelte.d.ts +8 -43
- package/dist/menu/MenuSection.svelte +9 -12
- package/dist/menu/MenuSection.svelte.d.ts +7 -33
- package/dist/menu/MenuSeparator.svelte +9 -12
- package/dist/menu/MenuSeparator.svelte.d.ts +7 -33
- package/dist/menu/context.svelte.d.ts +2 -1
- package/dist/menu/context.svelte.js +212 -2
- package/dist/menu/index.d.ts +7 -7
- package/dist/menu/index.js +3 -3
- package/dist/popover/Popover.svelte +225 -0
- package/dist/popover/Popover.svelte.d.ts +15 -0
- package/dist/popover/PopoverBackdrop.svelte +83 -0
- package/dist/popover/PopoverBackdrop.svelte.d.ts +17 -0
- package/dist/popover/PopoverButton.svelte +324 -0
- package/dist/popover/PopoverButton.svelte.d.ts +21 -0
- package/dist/popover/PopoverGroup.svelte +66 -0
- package/dist/popover/PopoverGroup.svelte.d.ts +9 -0
- package/dist/popover/PopoverPanel.svelte +359 -0
- package/dist/popover/PopoverPanel.svelte.d.ts +22 -0
- package/dist/popover/context.svelte.d.ts +51 -0
- package/dist/popover/context.svelte.js +108 -0
- package/dist/popover/index.d.ts +5 -0
- package/dist/popover/index.js +5 -0
- package/dist/portal/InternalPortal.svelte +17 -17
- package/dist/portal/InternalPortal.svelte.d.ts +6 -33
- package/dist/portal/Portal.svelte +7 -6
- package/dist/portal/Portal.svelte.d.ts +3 -22
- package/dist/portal/PortalGroup.svelte +6 -14
- package/dist/portal/PortalGroup.svelte.d.ts +5 -34
- package/dist/radio-group/Radio.svelte +135 -0
- package/dist/radio-group/Radio.svelte.d.ts +35 -0
- package/dist/radio-group/RadioGroup.svelte +223 -0
- package/dist/radio-group/RadioGroup.svelte.d.ts +34 -0
- package/dist/radio-group/RadioOption.svelte +138 -0
- package/dist/radio-group/RadioOption.svelte.d.ts +37 -0
- package/dist/radio-group/contest.svelte.d.ts +30 -0
- package/dist/radio-group/contest.svelte.js +40 -0
- package/dist/radio-group/index.d.ts +3 -0
- package/dist/radio-group/index.js +3 -0
- package/dist/select/Select.svelte +103 -0
- package/dist/select/Select.svelte.d.ts +21 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.js +1 -0
- package/dist/switch/Switch.svelte +27 -28
- package/dist/switch/Switch.svelte.d.ts +9 -42
- package/dist/switch/SwitchGroup.svelte +5 -5
- package/dist/switch/SwitchGroup.svelte.d.ts +8 -30
- package/dist/switch/index.d.ts +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/tabs/Tab.svelte +26 -29
- package/dist/tabs/Tab.svelte.d.ts +8 -36
- package/dist/tabs/TabGroup.svelte +42 -264
- package/dist/tabs/TabGroup.svelte.d.ts +7 -57
- package/dist/tabs/TabList.svelte +13 -16
- package/dist/tabs/TabList.svelte.d.ts +8 -31
- package/dist/tabs/TabPanel.svelte +19 -19
- package/dist/tabs/TabPanel.svelte.d.ts +8 -38
- package/dist/tabs/TabPanels.svelte +11 -9
- package/dist/tabs/TabPanels.svelte.d.ts +8 -30
- package/dist/tabs/context.svelte.d.ts +31 -0
- package/dist/tabs/context.svelte.js +134 -0
- package/dist/tabs/index.d.ts +5 -5
- package/dist/tabs/index.js +4 -4
- package/dist/textarea/Textarea.svelte +23 -19
- package/dist/textarea/Textarea.svelte.d.ts +18 -30
- package/dist/textarea/index.d.ts +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/transition/InternalTransitionChild.svelte +19 -12
- package/dist/transition/InternalTransitionChild.svelte.d.ts +4 -35
- package/dist/transition/Transition.svelte +16 -17
- package/dist/transition/Transition.svelte.d.ts +8 -38
- package/dist/transition/TransitionChild.svelte +13 -12
- package/dist/transition/TransitionChild.svelte.d.ts +11 -38
- package/dist/transition/context.svelte.js +9 -9
- package/dist/transition/index.d.ts +2 -2
- package/dist/transition/index.js +2 -2
- package/dist/utils/DisabledProvider.svelte +10 -0
- package/dist/utils/DisabledProvider.svelte.d.ts +8 -0
- package/dist/utils/ElementOrComponent.svelte +57 -14
- package/dist/utils/ElementOrComponent.svelte.d.ts +19 -29
- package/dist/utils/StableCollection.svelte.d.ts +4 -18
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +32 -0
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte.d.ts +8 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +94 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte.d.ts +26 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloating.svelte.d.ts +6 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloating.svelte.js +158 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloatingRootContext.svelte.d.ts +11 -0
- package/dist/utils/floating-ui/svelte/hooks/useFloatingRootContext.svelte.js +53 -0
- package/dist/utils/floating-ui/svelte/hooks/useId.svelte.d.ts +9 -0
- package/dist/utils/floating-ui/svelte/hooks/useId.svelte.js +28 -0
- package/dist/utils/floating-ui/svelte/hooks/useInteractions.svelte.d.ts +23 -0
- package/dist/utils/floating-ui/svelte/hooks/useInteractions.svelte.js +72 -0
- package/dist/utils/floating-ui/svelte/index.d.ts +5 -0
- package/dist/utils/floating-ui/svelte/index.js +5 -0
- package/dist/utils/floating-ui/svelte/inner.svelte.d.ts +83 -0
- package/dist/utils/floating-ui/svelte/inner.svelte.js +178 -0
- package/dist/utils/floating-ui/svelte/types.d.ts +114 -0
- package/dist/utils/floating-ui/svelte/utils/createPubSub.d.ts +5 -0
- package/dist/utils/floating-ui/svelte/utils/createPubSub.js +14 -0
- package/dist/utils/floating-ui/svelte/utils/getFloatingFocusElement.d.ts +2 -0
- package/dist/utils/floating-ui/svelte/utils/getFloatingFocusElement.js +13 -0
- package/dist/utils/floating-ui/svelte/utils/log.d.ts +2 -0
- package/dist/utils/floating-ui/svelte/utils/log.js +19 -0
- package/dist/utils/floating-ui/svelte/utils.d.ts +19 -0
- package/dist/utils/floating-ui/svelte/utils.js +136 -0
- package/dist/utils/floating-ui/svelte-dom/arrow.d.ts +22 -0
- package/dist/utils/floating-ui/svelte-dom/arrow.js +29 -0
- package/dist/utils/floating-ui/svelte-dom/index.d.ts +2 -0
- package/dist/utils/floating-ui/svelte-dom/index.js +2 -0
- package/dist/utils/floating-ui/svelte-dom/types.d.ts +80 -0
- package/dist/utils/floating-ui/svelte-dom/types.js +3 -0
- package/dist/utils/floating-ui/svelte-dom/useFloating.svelte.d.ts +6 -0
- package/dist/utils/floating-ui/svelte-dom/useFloating.svelte.js +182 -0
- package/dist/utils/floating-ui/svelte-dom/utils/deepEqual.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/deepEqual.js +50 -0
- package/dist/utils/floating-ui/svelte-dom/utils/getDPR.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/getDPR.js +7 -0
- package/dist/utils/floating-ui/svelte-dom/utils/roundByDPR.d.ts +1 -0
- package/dist/utils/floating-ui/svelte-dom/utils/roundByDPR.js +5 -0
- package/dist/utils/floating-ui/svelte-dom/utils/useLatestRef.d.ts +4 -0
- package/dist/utils/floating-ui/svelte-dom/utils/useLatestRef.js +7 -0
- package/dist/utils/id.d.ts +1 -1
- package/dist/utils/id.js +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/state.js +4 -4
- package/dist/utils/style.d.ts +2 -0
- package/dist/utils/style.js +6 -0
- package/dist/utils/types.d.ts +12 -18
- package/package.json +33 -32
- package/dist/combobox/Combobox.svelte +0 -53
- package/dist/combobox/Combobox.svelte.d.ts +0 -50
- package/dist/dialog/InternalDialog.svelte +0 -294
- package/dist/dialog/InternalDialog.svelte.d.ts +0 -42
- package/dist/internal/HoistFormFields.svelte +0 -14
- package/dist/internal/HoistFormFields.svelte.d.ts +0 -21
- package/dist/internal/id.d.ts +0 -8
- package/dist/internal/id.js +0 -11
- package/dist/utils/Generic.svelte +0 -56
- package/dist/utils/Generic.svelte.d.ts +0 -35
- package/dist/utils/alternative-types.d.ts +0 -21
- /package/dist/utils/{alternative-types.js → floating-ui/svelte/types.js} +0 -0
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import { Label
|
|
3
|
-
import type {
|
|
4
|
-
import type { Component } from "svelte"
|
|
2
|
+
import { Label } from "../index.js"
|
|
3
|
+
import type { Props } from "../utils/types.js"
|
|
5
4
|
|
|
6
|
-
const DEFAULT_LEGEND_TAG =
|
|
5
|
+
const DEFAULT_LEGEND_TAG = "div" as const
|
|
7
6
|
|
|
8
|
-
type
|
|
9
|
-
|
|
7
|
+
export type LegendOwnProps = {
|
|
8
|
+
element?: HTMLElement
|
|
9
|
+
class?: string
|
|
10
|
+
}
|
|
10
11
|
|
|
11
|
-
export type LegendProps
|
|
12
|
-
TTag,
|
|
13
|
-
LegendRenderPropArg,
|
|
14
|
-
LegendPropsWeControl,
|
|
15
|
-
{}
|
|
16
|
-
>
|
|
12
|
+
export type LegendProps = Props<typeof DEFAULT_LEGEND_TAG, {}, LegendOwnProps>
|
|
17
13
|
</script>
|
|
18
14
|
|
|
19
|
-
<script lang="ts"
|
|
20
|
-
let {
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
let { asChild, children: theirChildren, ...props }: LegendProps = $props()
|
|
21
17
|
</script>
|
|
22
18
|
|
|
23
|
-
<Label
|
|
19
|
+
<Label asChild>
|
|
20
|
+
{#snippet children({ props: childProps })}
|
|
21
|
+
{#if asChild}
|
|
22
|
+
{@render theirChildren?.({ props: { ...props, ...childProps } })}
|
|
23
|
+
{:else}
|
|
24
|
+
<div {...props} {...childProps}>
|
|
25
|
+
{@render theirChildren?.({ props: {} })}
|
|
26
|
+
</div>
|
|
27
|
+
{/if}
|
|
28
|
+
{/snippet}
|
|
29
|
+
</Label>
|
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export type LegendProps
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
as?: TTag | undefined;
|
|
11
|
-
} & (Exclude<keyof import("../index.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("../index.js").PropsOf<TTag> ? { [P in T]: import("../index.js").PropsOf<TTag>[P]; } : never) & {
|
|
12
|
-
children?: import("../index.js").Children<LegendRenderPropArg> | undefined;
|
|
13
|
-
ref?: HTMLElement;
|
|
14
|
-
} & (true extends (import("../index.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("../index.js").PropsOf<TTag> ? T_1 extends never ? never : "class" extends infer T_2 ? T_2 extends "class" ? T_2 extends keyof T_1 ? true : never : never : never : never : never) ? {
|
|
15
|
-
class?: import("../index.js").PropsOf<TTag>["class"] | ((bag: LegendRenderPropArg) => string) | undefined;
|
|
16
|
-
} : {});
|
|
17
|
-
events(): {} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots(): {};
|
|
21
|
-
bindings(): "";
|
|
22
|
-
exports(): {};
|
|
23
|
-
}
|
|
24
|
-
interface $$IsomorphicComponent {
|
|
25
|
-
new <TTag extends ElementType = typeof DEFAULT_LEGEND_TAG>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag>['props']>, ReturnType<__sveltets_Render<TTag>['events']>, ReturnType<__sveltets_Render<TTag>['slots']>> & {
|
|
26
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
27
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
28
|
-
<TTag extends ElementType = typeof DEFAULT_LEGEND_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
29
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
30
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
31
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
32
|
-
}
|
|
33
|
-
declare const Legend: $$IsomorphicComponent;
|
|
34
|
-
type Legend<TTag extends ElementType = typeof DEFAULT_LEGEND_TAG> = InstanceType<typeof Legend<TTag>>;
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_LEGEND_TAG: "div";
|
|
3
|
+
export type LegendOwnProps = {
|
|
4
|
+
element?: HTMLElement;
|
|
5
|
+
class?: string;
|
|
6
|
+
};
|
|
7
|
+
export type LegendProps = Props<typeof DEFAULT_LEGEND_TAG, {}, LegendOwnProps>;
|
|
8
|
+
declare const Legend: import("svelte").Component<LegendProps, {}, "">;
|
|
9
|
+
type Legend = ReturnType<typeof Legend>;
|
|
35
10
|
export default Legend;
|
|
@@ -5,140 +5,56 @@
|
|
|
5
5
|
import { calculateActiveIndex, Focus } from "../utils/calculate-active-index.js"
|
|
6
6
|
import { FocusableMode, isFocusableElement, sortByDomNode } from "../utils/focus-management.js"
|
|
7
7
|
import { match } from "../utils/match.js"
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
8
|
+
import type { EnsureArray, PropsAsChild } from "../utils/types.js"
|
|
9
|
+
import { setContext } from "svelte"
|
|
10
|
+
import { ActivationTrigger, ListboxStates, ValueMode } from "./context.svelte.js"
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
type ListboxRenderPropArg<T> = {
|
|
12
|
+
export type ListboxRenderPropArg<T> = {
|
|
14
13
|
open: boolean
|
|
15
14
|
disabled: boolean
|
|
16
15
|
invalid: boolean
|
|
17
16
|
value: T
|
|
18
17
|
}
|
|
19
18
|
|
|
20
|
-
export type
|
|
21
|
-
|
|
22
|
-
TType
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
disabled?: boolean
|
|
34
|
-
invalid?: boolean
|
|
35
|
-
horizontal?: boolean
|
|
36
|
-
form?: string
|
|
37
|
-
name?: string
|
|
38
|
-
multiple?: boolean
|
|
39
|
-
|
|
40
|
-
__demoMode?: boolean
|
|
41
|
-
}
|
|
42
|
-
>
|
|
43
|
-
|
|
44
|
-
export type ListboxChildren<T> = Snippet<[ListboxRenderPropArg<T>]>
|
|
45
|
-
|
|
46
|
-
export enum ListboxStates {
|
|
47
|
-
Open,
|
|
48
|
-
Closed,
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export enum ValueMode {
|
|
52
|
-
Single,
|
|
53
|
-
Multi,
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export enum ActivationTrigger {
|
|
57
|
-
Pointer,
|
|
58
|
-
Other,
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export type ListboxOptionDataRef<T> = MutableRefObject<{
|
|
62
|
-
textValue?: string
|
|
63
|
-
disabled: boolean
|
|
64
|
-
value: T
|
|
65
|
-
domRef: MutableRefObject<HTMLElement | null>
|
|
66
|
-
}>
|
|
67
|
-
|
|
68
|
-
interface StateDefinition<T> {
|
|
69
|
-
listboxState: ListboxStates
|
|
70
|
-
|
|
71
|
-
options: { id: string; dataRef: ListboxOptionDataRef<T> }[]
|
|
72
|
-
searchQuery: string
|
|
73
|
-
activeOptionIndex: number | null
|
|
74
|
-
activationTrigger: ActivationTrigger
|
|
75
|
-
|
|
76
|
-
__demoMode: boolean
|
|
19
|
+
export type ListboxOwnProps<TType = string, TActualType = TType extends (infer U)[] ? U : TType> = {
|
|
20
|
+
value?: TType
|
|
21
|
+
defaultValue?: TType
|
|
22
|
+
onchange?: (value: TType) => void
|
|
23
|
+
by?: ByComparator<TActualType>
|
|
24
|
+
disabled?: boolean
|
|
25
|
+
invalid?: boolean
|
|
26
|
+
horizontal?: boolean
|
|
27
|
+
form?: string
|
|
28
|
+
name?: string
|
|
29
|
+
multiple?: boolean
|
|
30
|
+
closeOnSelect?: boolean
|
|
31
|
+
__demoMode?: boolean
|
|
77
32
|
}
|
|
78
33
|
|
|
79
|
-
type
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
goToOption(focus: Focus.Specific, id: string, trigger?: ActivationTrigger): void
|
|
84
|
-
goToOption(focus: Focus, id?: string, trigger?: ActivationTrigger): void
|
|
85
|
-
selectOption(id: string): void
|
|
86
|
-
selectActiveOption(): void
|
|
87
|
-
onChange(value: unknown): void
|
|
88
|
-
search(query: string): void
|
|
89
|
-
clearSearch(): void
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export function useActions(component: string) {
|
|
93
|
-
const context = getContext<ListboxActionsContext>("ListboxActionsContext")
|
|
94
|
-
if (!context) {
|
|
95
|
-
let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`)
|
|
96
|
-
if (Error.captureStackTrace) Error.captureStackTrace(err, useActions)
|
|
97
|
-
throw err
|
|
98
|
-
}
|
|
99
|
-
return context
|
|
100
|
-
}
|
|
34
|
+
export type ListboxProps<TType = string, TActualType = TType extends (infer U)[] ? U : TType> = PropsAsChild<
|
|
35
|
+
ListboxRenderPropArg<TType>,
|
|
36
|
+
ListboxOwnProps<TType, TActualType>
|
|
37
|
+
>
|
|
101
38
|
|
|
102
|
-
export
|
|
103
|
-
value: unknown
|
|
104
|
-
disabled: boolean
|
|
105
|
-
invalid: boolean
|
|
106
|
-
mode: ValueMode
|
|
107
|
-
orientation: "horizontal" | "vertical"
|
|
108
|
-
activeOptionIndex: number | null
|
|
109
|
-
compare(a: unknown, z: unknown): boolean
|
|
110
|
-
isSelected(value: unknown): boolean
|
|
111
|
-
|
|
112
|
-
optionsPropsRef: MutableRefObject<{
|
|
113
|
-
static: boolean
|
|
114
|
-
hold: boolean
|
|
115
|
-
}>
|
|
116
|
-
|
|
117
|
-
listRef: MutableRefObject<Map<string, HTMLElement | null>>
|
|
118
|
-
|
|
119
|
-
buttonRef: MutableRefObject<HTMLElement | null>
|
|
120
|
-
optionsRef: MutableRefObject<HTMLElement | null>
|
|
121
|
-
} & Omit<StateDefinition<unknown>, "dataRef">
|
|
122
|
-
|
|
123
|
-
export function useData(component: string) {
|
|
124
|
-
const context = getContext<ListboxDataContext>("ListboxData")
|
|
125
|
-
if (context === null) {
|
|
126
|
-
let err = new Error(`<${component} /> is missing a parent <Listbox /> component.`)
|
|
127
|
-
if (Error.captureStackTrace) Error.captureStackTrace(err, useData)
|
|
128
|
-
throw err
|
|
129
|
-
}
|
|
130
|
-
return context
|
|
131
|
-
}
|
|
39
|
+
export * from "./context.svelte.js"
|
|
132
40
|
</script>
|
|
133
41
|
|
|
134
|
-
<script lang="ts" generics="TType, TActualType
|
|
42
|
+
<script lang="ts" generics="TType = string, TActualType = TType extends (infer U)[] ? U : TType">
|
|
135
43
|
import { disposables } from "../utils/disposables.js"
|
|
136
44
|
import FormFields from "../internal/FormFields.svelte"
|
|
137
|
-
import {
|
|
45
|
+
import { useFloatingProvider } from "../internal/floating-provider.svelte.js"
|
|
138
46
|
import { createOpenClosedContext, State } from "../internal/open-closed.js"
|
|
139
47
|
import { useLabels } from "../label/context.svelte.js"
|
|
140
48
|
import { useOutsideClick } from "../hooks/use-outside-click.svelte.js"
|
|
141
49
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
50
|
+
import type {
|
|
51
|
+
ListboxActionsContext,
|
|
52
|
+
ListboxDataContext,
|
|
53
|
+
ListboxOptionDataRef,
|
|
54
|
+
StateActions,
|
|
55
|
+
StateDefinition,
|
|
56
|
+
} from "./context.svelte.js"
|
|
57
|
+
import { SvelteMap } from "svelte/reactivity"
|
|
142
58
|
|
|
143
59
|
function adjustOrderedState<T>(
|
|
144
60
|
state: StateDefinition<T>,
|
|
@@ -211,11 +127,7 @@
|
|
|
211
127
|
_state.__demoMode = false
|
|
212
128
|
return _state
|
|
213
129
|
},
|
|
214
|
-
goToOption(
|
|
215
|
-
action:
|
|
216
|
-
| { focus: Focus.Specific; id: string; trigger?: ActivationTrigger }
|
|
217
|
-
| { focus: Exclude<Focus, Focus.Specific>; trigger?: ActivationTrigger }
|
|
218
|
-
) {
|
|
130
|
+
goToOption(action) {
|
|
219
131
|
if (disabled) return _state
|
|
220
132
|
if (_state.listboxState === ListboxStates.Closed) return _state
|
|
221
133
|
|
|
@@ -314,7 +226,7 @@
|
|
|
314
226
|
_state.activeOptionIndex = activeOptionIndex
|
|
315
227
|
return _state
|
|
316
228
|
},
|
|
317
|
-
search(value
|
|
229
|
+
search(value) {
|
|
318
230
|
if (disabled) return _state
|
|
319
231
|
if (_state.listboxState === ListboxStates.Closed) return _state
|
|
320
232
|
|
|
@@ -352,13 +264,13 @@
|
|
|
352
264
|
_state.searchQuery = ""
|
|
353
265
|
return _state
|
|
354
266
|
},
|
|
355
|
-
registerOption(
|
|
356
|
-
let option = { id
|
|
267
|
+
registerOption(id, dataRef) {
|
|
268
|
+
let option = { id, dataRef }
|
|
357
269
|
let adjustedState = adjustOrderedState(_state, (options) => [...options, option])
|
|
358
270
|
|
|
359
271
|
// Check if we need to make the newly registered option active.
|
|
360
272
|
if (_state.activeOptionIndex === null) {
|
|
361
|
-
if (isSelected(
|
|
273
|
+
if (isSelected(dataRef.current.value as any)) {
|
|
362
274
|
adjustedState.activeOptionIndex = adjustedState.options.indexOf(option)
|
|
363
275
|
}
|
|
364
276
|
}
|
|
@@ -367,9 +279,9 @@
|
|
|
367
279
|
_state.activeOptionIndex = adjustedState.activeOptionIndex
|
|
368
280
|
return _state
|
|
369
281
|
},
|
|
370
|
-
unregisterOption(
|
|
282
|
+
unregisterOption(id) {
|
|
371
283
|
let adjustedState = adjustOrderedState(_state, (options) => {
|
|
372
|
-
let idx = options.findIndex((a) => a.id ===
|
|
284
|
+
let idx = options.findIndex((a) => a.id === id)
|
|
373
285
|
if (idx !== -1) options.splice(idx, 1)
|
|
374
286
|
return options
|
|
375
287
|
})
|
|
@@ -379,19 +291,11 @@
|
|
|
379
291
|
_state.activationTrigger = ActivationTrigger.Other
|
|
380
292
|
return _state
|
|
381
293
|
},
|
|
382
|
-
}
|
|
294
|
+
} satisfies StateDefinition<TActualType> & StateActions<TActualType>
|
|
383
295
|
}
|
|
384
296
|
|
|
385
|
-
const listboxActionsContext: ListboxActionsContext | null = null
|
|
386
|
-
setContext("ListboxActionsContext", listboxActionsContext)
|
|
387
|
-
|
|
388
|
-
const listboxDataContext: ListboxDataContext | null = null
|
|
389
|
-
setContext("ListboxDataContext", listboxDataContext)
|
|
390
|
-
|
|
391
297
|
let {
|
|
392
|
-
|
|
393
|
-
as,
|
|
394
|
-
value: controlledValue,
|
|
298
|
+
value: controlledValue = $bindable(),
|
|
395
299
|
defaultValue,
|
|
396
300
|
form,
|
|
397
301
|
name,
|
|
@@ -401,12 +305,13 @@
|
|
|
401
305
|
disabled: ownDisabled = false,
|
|
402
306
|
horizontal = false,
|
|
403
307
|
multiple = false,
|
|
308
|
+
closeOnSelect,
|
|
404
309
|
__demoMode = false,
|
|
405
310
|
...theirProps
|
|
406
|
-
}:
|
|
311
|
+
}: ListboxProps<TType, TActualType> = $props()
|
|
407
312
|
|
|
408
313
|
const providedDisabled = useDisabled()
|
|
409
|
-
const disabled = $derived(providedDisabled.
|
|
314
|
+
const disabled = $derived(providedDisabled.current || ownDisabled)
|
|
410
315
|
|
|
411
316
|
const orientation = horizontal ? "horizontal" : "vertical"
|
|
412
317
|
const controllable = useControllable<any>(
|
|
@@ -414,6 +319,9 @@
|
|
|
414
319
|
get controlledValue() {
|
|
415
320
|
return controlledValue
|
|
416
321
|
},
|
|
322
|
+
set controlledValue(value) {
|
|
323
|
+
controlledValue = value
|
|
324
|
+
},
|
|
417
325
|
},
|
|
418
326
|
controlledOnChange,
|
|
419
327
|
defaultValue
|
|
@@ -430,13 +338,13 @@
|
|
|
430
338
|
__demoMode,
|
|
431
339
|
} as StateDefinition<TActualType>)
|
|
432
340
|
|
|
433
|
-
type _Data = ListboxDataContext
|
|
341
|
+
type _Data = ListboxDataContext<TActualType>
|
|
434
342
|
|
|
435
|
-
const
|
|
343
|
+
const optionsProps = $state<_Data["optionsProps"]>({ static: false, hold: false })
|
|
436
344
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
const
|
|
345
|
+
let buttonElement = $state<_Data["buttonElement"]>(null)
|
|
346
|
+
let optionsElement = $state<_Data["optionsElement"]>(null)
|
|
347
|
+
const listElements = new SvelteMap<string, HTMLElement | null>()
|
|
440
348
|
|
|
441
349
|
const compare = useByComparator(by)
|
|
442
350
|
|
|
@@ -450,7 +358,7 @@
|
|
|
450
358
|
},
|
|
451
359
|
})
|
|
452
360
|
|
|
453
|
-
const data = {
|
|
361
|
+
const data: ListboxDataContext<TActualType> = {
|
|
454
362
|
get listboxState() {
|
|
455
363
|
return _state.listboxState
|
|
456
364
|
},
|
|
@@ -484,23 +392,31 @@
|
|
|
484
392
|
get orientation() {
|
|
485
393
|
return orientation
|
|
486
394
|
},
|
|
395
|
+
get closeOnSelect() {
|
|
396
|
+
return closeOnSelect
|
|
397
|
+
},
|
|
487
398
|
compare,
|
|
488
399
|
isSelected,
|
|
489
|
-
get
|
|
490
|
-
return
|
|
400
|
+
get optionsProps() {
|
|
401
|
+
return optionsProps
|
|
402
|
+
},
|
|
403
|
+
get buttonElement() {
|
|
404
|
+
return buttonElement
|
|
405
|
+
},
|
|
406
|
+
set buttonElement(value) {
|
|
407
|
+
buttonElement = value
|
|
491
408
|
},
|
|
492
|
-
get
|
|
493
|
-
return
|
|
409
|
+
get optionsElement() {
|
|
410
|
+
return optionsElement
|
|
494
411
|
},
|
|
495
|
-
|
|
496
|
-
|
|
412
|
+
set optionsElement(value) {
|
|
413
|
+
optionsElement = value
|
|
497
414
|
},
|
|
498
|
-
get
|
|
499
|
-
return
|
|
415
|
+
get listElements() {
|
|
416
|
+
return listElements
|
|
500
417
|
},
|
|
501
418
|
}
|
|
502
|
-
setContext<ListboxDataContext
|
|
503
|
-
setContext("ListboxData", data)
|
|
419
|
+
setContext<ListboxDataContext<TActualType>>("ListboxDataContext", data)
|
|
504
420
|
|
|
505
421
|
// Handle outside click
|
|
506
422
|
const outsideClickEnabled = $derived(data.listboxState === ListboxStates.Open)
|
|
@@ -509,14 +425,14 @@
|
|
|
509
425
|
return outsideClickEnabled
|
|
510
426
|
},
|
|
511
427
|
get containers() {
|
|
512
|
-
return [data.
|
|
428
|
+
return [data.buttonElement, data.optionsElement]
|
|
513
429
|
},
|
|
514
430
|
cb: (event, target) => {
|
|
515
431
|
_state.closeListbox()
|
|
516
432
|
|
|
517
433
|
if (!isFocusableElement(target, FocusableMode.Loose)) {
|
|
518
434
|
event.preventDefault()
|
|
519
|
-
data.
|
|
435
|
+
data.buttonElement?.focus()
|
|
520
436
|
}
|
|
521
437
|
},
|
|
522
438
|
})
|
|
@@ -560,8 +476,8 @@
|
|
|
560
476
|
}
|
|
561
477
|
|
|
562
478
|
const registerOption = (id: string, dataRef: ListboxOptionDataRef<TActualType>) => {
|
|
563
|
-
_state.registerOption(
|
|
564
|
-
return () => _state.unregisterOption(
|
|
479
|
+
_state.registerOption(id, dataRef)
|
|
480
|
+
return () => _state.unregisterOption(id)
|
|
565
481
|
}
|
|
566
482
|
|
|
567
483
|
const onChange = (value: unknown) => {
|
|
@@ -584,7 +500,7 @@
|
|
|
584
500
|
})
|
|
585
501
|
}
|
|
586
502
|
|
|
587
|
-
setContext<ListboxActionsContext
|
|
503
|
+
setContext<ListboxActionsContext<TActualType>>("ListboxActionsContext", {
|
|
588
504
|
onChange,
|
|
589
505
|
registerOption,
|
|
590
506
|
goToOption,
|
|
@@ -596,7 +512,7 @@
|
|
|
596
512
|
clearSearch: _state.clearSearch,
|
|
597
513
|
})
|
|
598
514
|
|
|
599
|
-
|
|
515
|
+
useFloatingProvider()
|
|
600
516
|
|
|
601
517
|
const openClosed = $derived(
|
|
602
518
|
match(data.listboxState, {
|
|
@@ -614,7 +530,7 @@
|
|
|
614
530
|
inherit: true,
|
|
615
531
|
props: {
|
|
616
532
|
get htmlFor() {
|
|
617
|
-
return data.
|
|
533
|
+
return data.buttonElement?.id
|
|
618
534
|
},
|
|
619
535
|
},
|
|
620
536
|
slot: {
|
|
@@ -636,4 +552,4 @@
|
|
|
636
552
|
{#if name && value}
|
|
637
553
|
<FormFields {disabled} data={{ [name]: value }} {form} onReset={reset} />
|
|
638
554
|
{/if}
|
|
639
|
-
<ElementOrComponent {theirProps} slots={slot}
|
|
555
|
+
<ElementOrComponent {theirProps} slots={slot} name="Listbox" />
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { type ByComparator } from "../hooks/use-by-comparator.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
5
|
-
import { type Snippet } from "svelte";
|
|
6
|
-
declare let DEFAULT_LISTBOX_TAG: string;
|
|
7
|
-
type ListboxRenderPropArg<T> = {
|
|
2
|
+
import type { PropsAsChild } from "../utils/types.js";
|
|
3
|
+
export type ListboxRenderPropArg<T> = {
|
|
8
4
|
open: boolean;
|
|
9
5
|
disabled: boolean;
|
|
10
6
|
invalid: boolean;
|
|
11
7
|
value: T;
|
|
12
8
|
};
|
|
13
|
-
export type
|
|
9
|
+
export type ListboxOwnProps<TType = string, TActualType = TType extends (infer U)[] ? U : TType> = {
|
|
14
10
|
value?: TType;
|
|
15
11
|
defaultValue?: TType;
|
|
16
12
|
onchange?: (value: TType) => void;
|
|
@@ -21,106 +17,25 @@ export type ListboxProps<TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG,
|
|
|
21
17
|
form?: string;
|
|
22
18
|
name?: string;
|
|
23
19
|
multiple?: boolean;
|
|
20
|
+
closeOnSelect?: boolean;
|
|
24
21
|
__demoMode?: boolean;
|
|
25
|
-
}>;
|
|
26
|
-
export type ListboxChildren<T> = Snippet<[ListboxRenderPropArg<T>]>;
|
|
27
|
-
export declare enum ListboxStates {
|
|
28
|
-
Open = 0,
|
|
29
|
-
Closed = 1
|
|
30
|
-
}
|
|
31
|
-
export declare enum ValueMode {
|
|
32
|
-
Single = 0,
|
|
33
|
-
Multi = 1
|
|
34
|
-
}
|
|
35
|
-
export declare enum ActivationTrigger {
|
|
36
|
-
Pointer = 0,
|
|
37
|
-
Other = 1
|
|
38
|
-
}
|
|
39
|
-
export type ListboxOptionDataRef<T> = MutableRefObject<{
|
|
40
|
-
textValue?: string;
|
|
41
|
-
disabled: boolean;
|
|
42
|
-
value: T;
|
|
43
|
-
domRef: MutableRefObject<HTMLElement | null>;
|
|
44
|
-
}>;
|
|
45
|
-
interface StateDefinition<T> {
|
|
46
|
-
listboxState: ListboxStates;
|
|
47
|
-
options: {
|
|
48
|
-
id: string;
|
|
49
|
-
dataRef: ListboxOptionDataRef<T>;
|
|
50
|
-
}[];
|
|
51
|
-
searchQuery: string;
|
|
52
|
-
activeOptionIndex: number | null;
|
|
53
|
-
activationTrigger: ActivationTrigger;
|
|
54
|
-
__demoMode: boolean;
|
|
55
|
-
}
|
|
56
|
-
type ListboxActionsContext = {
|
|
57
|
-
openListbox(): void;
|
|
58
|
-
closeListbox(): void;
|
|
59
|
-
registerOption(id: string, dataRef: ListboxOptionDataRef<unknown>): () => void;
|
|
60
|
-
goToOption(focus: Focus.Specific, id: string, trigger?: ActivationTrigger): void;
|
|
61
|
-
goToOption(focus: Focus, id?: string, trigger?: ActivationTrigger): void;
|
|
62
|
-
selectOption(id: string): void;
|
|
63
|
-
selectActiveOption(): void;
|
|
64
|
-
onChange(value: unknown): void;
|
|
65
|
-
search(query: string): void;
|
|
66
|
-
clearSearch(): void;
|
|
67
22
|
};
|
|
68
|
-
export
|
|
69
|
-
export
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
mode: ValueMode;
|
|
74
|
-
orientation: "horizontal" | "vertical";
|
|
75
|
-
activeOptionIndex: number | null;
|
|
76
|
-
compare(a: unknown, z: unknown): boolean;
|
|
77
|
-
isSelected(value: unknown): boolean;
|
|
78
|
-
optionsPropsRef: MutableRefObject<{
|
|
79
|
-
static: boolean;
|
|
80
|
-
hold: boolean;
|
|
81
|
-
}>;
|
|
82
|
-
listRef: MutableRefObject<Map<string, HTMLElement | null>>;
|
|
83
|
-
buttonRef: MutableRefObject<HTMLElement | null>;
|
|
84
|
-
optionsRef: MutableRefObject<HTMLElement | null>;
|
|
85
|
-
} & Omit<StateDefinition<unknown>, "dataRef">;
|
|
86
|
-
export declare function useData(component: string): ListboxDataContext;
|
|
87
|
-
declare class __sveltets_Render<TType, TActualType, TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG> {
|
|
88
|
-
props(): {
|
|
89
|
-
as?: TTag | undefined;
|
|
90
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "form" | ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "name" | "value" | "onchange" | "multiple" | "__demoMode" | "defaultValue" | "by" | "horizontal"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
91
|
-
children?: import("../utils/types.js").Children<ListboxRenderPropArg<TType>> | undefined;
|
|
92
|
-
ref?: HTMLElement;
|
|
93
|
-
} & (true extends (import("../utils/types.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("../utils/types.js").PropsOf<TTag> ? T_1 extends never ? never : "class" extends infer T_2 ? T_2 extends "class" ? T_2 extends keyof T_1 ? true : never : never : never : never : never) ? {
|
|
94
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ListboxRenderPropArg<TType>) => string) | undefined;
|
|
95
|
-
} : {}) & {
|
|
96
|
-
value?: TType | undefined;
|
|
97
|
-
defaultValue?: TType | undefined;
|
|
98
|
-
onchange?: ((value: TType) => void) | undefined;
|
|
99
|
-
by?: ByComparator<TActualType> | undefined;
|
|
100
|
-
disabled?: boolean;
|
|
101
|
-
invalid?: boolean;
|
|
102
|
-
horizontal?: boolean;
|
|
103
|
-
form?: string;
|
|
104
|
-
name?: string;
|
|
105
|
-
multiple?: boolean;
|
|
106
|
-
__demoMode?: boolean;
|
|
107
|
-
};
|
|
108
|
-
events(): {} & {
|
|
109
|
-
[evt: string]: CustomEvent<any>;
|
|
110
|
-
};
|
|
23
|
+
export type ListboxProps<TType = string, TActualType = TType extends (infer U)[] ? U : TType> = PropsAsChild<ListboxRenderPropArg<TType>, ListboxOwnProps<TType, TActualType>>;
|
|
24
|
+
export * from "./context.svelte.js";
|
|
25
|
+
declare class __sveltets_Render<TType = string, TActualType = TType extends (infer U)[] ? U : TType> {
|
|
26
|
+
props(): ListboxProps<TType, TActualType>;
|
|
27
|
+
events(): {};
|
|
111
28
|
slots(): {};
|
|
112
|
-
bindings(): "
|
|
29
|
+
bindings(): "value";
|
|
113
30
|
exports(): {};
|
|
114
31
|
}
|
|
115
32
|
interface $$IsomorphicComponent {
|
|
116
|
-
new <TType, TActualType
|
|
117
|
-
$$bindings?: ReturnType<__sveltets_Render<TType, TActualType
|
|
118
|
-
} & ReturnType<__sveltets_Render<TType, TActualType
|
|
119
|
-
<TType, TActualType
|
|
120
|
-
|
|
121
|
-
}): ReturnType<__sveltets_Render<TType, TActualType, TTag>['exports']>;
|
|
122
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
33
|
+
new <TType = string, TActualType = TType extends (infer U)[] ? U : TType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TType, TActualType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TType, TActualType>['props']>, ReturnType<__sveltets_Render<TType, TActualType>['events']>, ReturnType<__sveltets_Render<TType, TActualType>['slots']>> & {
|
|
34
|
+
$$bindings?: ReturnType<__sveltets_Render<TType, TActualType>['bindings']>;
|
|
35
|
+
} & ReturnType<__sveltets_Render<TType, TActualType>['exports']>;
|
|
36
|
+
<TType = string, TActualType = TType extends (infer U)[] ? U : TType>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TActualType>['props']> & {}): ReturnType<__sveltets_Render<TType, TActualType>['exports']>;
|
|
37
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
123
38
|
}
|
|
124
39
|
declare const Listbox: $$IsomorphicComponent;
|
|
125
|
-
type Listbox<TType, TActualType
|
|
40
|
+
type Listbox<TType = string, TActualType = TType extends (infer U)[] ? U : TType> = InstanceType<typeof Listbox<TType, TActualType>>;
|
|
126
41
|
export default Listbox;
|