@pzerelles/headlessui-svelte 2.1.2-next.2 → 2.1.2-next.21
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.d.ts +1 -1
- package/dist/checkbox/Checkbox.svelte +4 -4
- package/dist/checkbox/Checkbox.svelte.d.ts +5 -7
- package/dist/close-button/CloseButton.svelte.d.ts +2 -2
- package/dist/data-interactive/DataInteractive.svelte.d.ts +1 -1
- package/dist/description/Description.svelte.d.ts +1 -1
- package/dist/description/context.svelte.js +1 -1
- package/dist/dialog/Dialog.svelte.d.ts +1 -1
- package/dist/dialog/DialogBackdrop.svelte.d.ts +1 -1
- package/dist/dialog/DialogPanel.svelte +0 -1
- package/dist/dialog/DialogPanel.svelte.d.ts +1 -1
- package/dist/dialog/DialogTitle.svelte.d.ts +1 -1
- package/dist/dialog/InternalDialog.svelte.d.ts +1 -1
- package/dist/dialog/context.svelte.js +1 -1
- package/dist/field/Field.svelte +21 -3
- package/dist/field/Field.svelte.d.ts +1 -1
- package/dist/fieldset/Fieldset.svelte.d.ts +1 -1
- package/dist/focus-trap/FocusTrap.svelte +7 -14
- package/dist/focus-trap/FocusTrap.svelte.d.ts +3 -15
- 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-event-listener.svelte.d.ts +1 -1
- package/dist/hooks/use-event-listener.svelte.js +3 -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 +3 -0
- package/dist/index.js +3 -0
- package/dist/input/Input.svelte +2 -2
- package/dist/input/Input.svelte.d.ts +5 -7
- package/dist/internal/FloatingProvider.svelte +12 -0
- package/dist/internal/{HoistFormFields.svelte.d.ts → FloatingProvider.svelte.d.ts} +5 -4
- package/dist/internal/FormFields.svelte +22 -19
- package/dist/internal/FormFieldsProvider.svelte +13 -0
- package/dist/internal/FormFieldsProvider.svelte.d.ts +21 -0
- package/dist/internal/Hidden.svelte +18 -8
- package/dist/internal/Hidden.svelte.d.ts +3 -6
- package/dist/internal/HiddenFeatures.d.ts +5 -0
- package/dist/internal/HiddenFeatures.js +9 -0
- 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 +48 -23
- package/dist/internal/floating.svelte.js +79 -260
- package/dist/internal/form-fields.svelte.d.ts +10 -0
- package/dist/internal/form-fields.svelte.js +23 -0
- package/dist/label/Label.svelte +5 -4
- package/dist/label/Label.svelte.d.ts +1 -1
- package/dist/label/context.svelte.js +1 -1
- package/dist/legend/Legend.svelte +2 -2
- package/dist/legend/Legend.svelte.d.ts +18 -30
- package/dist/listbox/Listbox.svelte +42 -66
- package/dist/listbox/Listbox.svelte.d.ts +6 -65
- package/dist/listbox/ListboxButton.svelte +10 -10
- package/dist/listbox/ListboxButton.svelte.d.ts +5 -7
- package/dist/listbox/ListboxOption.svelte +10 -6
- package/dist/listbox/ListboxOption.svelte.d.ts +1 -1
- package/dist/listbox/ListboxOptions.svelte +108 -54
- package/dist/listbox/ListboxOptions.svelte.d.ts +1 -1
- package/dist/listbox/ListboxSelectedOption.svelte +2 -4
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +6 -6
- package/dist/listbox/context.svelte.d.ts +76 -0
- package/dist/listbox/context.svelte.js +36 -0
- package/dist/menu/Menu.svelte +5 -177
- package/dist/menu/Menu.svelte.d.ts +1 -1
- package/dist/menu/MenuButton.svelte +4 -2
- package/dist/menu/MenuButton.svelte.d.ts +1 -1
- package/dist/menu/MenuHeading.svelte.d.ts +1 -1
- package/dist/menu/MenuItem.svelte.d.ts +6 -5
- package/dist/menu/MenuItems.svelte +15 -11
- package/dist/menu/MenuItems.svelte.d.ts +1 -1
- package/dist/menu/MenuSection.svelte.d.ts +1 -1
- package/dist/menu/MenuSeparator.svelte.d.ts +1 -1
- package/dist/menu/context.svelte.d.ts +30 -1
- package/dist/menu/context.svelte.js +208 -0
- package/dist/popover/Popover.svelte +161 -0
- package/dist/popover/Popover.svelte.d.ts +41 -0
- package/dist/popover/PopoverBackdrop.svelte +56 -0
- package/dist/popover/PopoverBackdrop.svelte.d.ts +45 -0
- package/dist/popover/PopoverButton.svelte +246 -0
- package/dist/popover/PopoverButton.svelte.d.ts +44 -0
- package/dist/popover/PopoverGroup.svelte +43 -0
- package/dist/popover/PopoverGroup.svelte.d.ts +33 -0
- package/dist/popover/PopoverPanel.svelte +274 -0
- package/dist/popover/PopoverPanel.svelte.d.ts +53 -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.d.ts +1 -1
- package/dist/portal/PortalGroup.svelte.d.ts +1 -1
- package/dist/select/Select.svelte +74 -0
- package/dist/select/Select.svelte.d.ts +48 -0
- package/dist/select/index.d.ts +1 -0
- package/dist/select/index.js +1 -0
- package/dist/switch/Switch.svelte +30 -20
- package/dist/switch/Switch.svelte.d.ts +5 -5
- package/dist/switch/SwitchGroup.svelte.d.ts +1 -1
- package/dist/tabs/Tab.svelte.d.ts +1 -1
- package/dist/tabs/TabGroup.svelte.d.ts +2 -2
- package/dist/tabs/TabList.svelte.d.ts +1 -1
- package/dist/tabs/TabPanel.svelte.d.ts +1 -1
- package/dist/tabs/TabPanels.svelte.d.ts +1 -1
- package/dist/textarea/Textarea.svelte +67 -0
- package/dist/textarea/Textarea.svelte.d.ts +50 -0
- package/dist/textarea/index.d.ts +1 -0
- package/dist/textarea/index.js +1 -0
- package/dist/transition/InternalTransitionChild.svelte.d.ts +1 -1
- package/dist/transition/Transition.svelte.d.ts +1 -1
- package/dist/transition/TransitionChild.svelte.d.ts +1 -1
- package/dist/transition/context.svelte.js +2 -2
- package/dist/utils/ElementOrComponent.svelte +2 -2
- package/dist/utils/ElementOrComponent.svelte.d.ts +2 -2
- package/dist/utils/Generic.svelte +0 -1
- package/dist/utils/Generic.svelte.d.ts +1 -2
- package/dist/utils/alternative-types.d.ts +1 -2
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +17 -0
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte.d.ts +23 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +50 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte.d.ts +41 -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/types.js +1 -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/style.d.ts +2 -0
- package/dist/utils/style.js +6 -0
- package/dist/utils/types.d.ts +1 -2
- package/package.json +25 -24
- package/dist/internal/HoistFormFields.svelte +0 -11
- package/dist/internal/id.d.ts +0 -8
- package/dist/internal/id.js +0 -11
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_SWITCH_TAG">import { useId } from "../hooks/use-id.js";
|
|
5
5
|
import { useDisabled } from "../hooks/use-disabled.js";
|
|
6
|
-
import { useProvidedId } from "../
|
|
7
|
-
import { getContext } from "svelte";
|
|
8
|
-
import { useDisposables } from "../utils/disposables.js";
|
|
6
|
+
import { useProvidedId } from "../utils/id.js";
|
|
7
|
+
import { getContext, tick } from "svelte";
|
|
9
8
|
import { attemptSubmit } from "../utils/form.js";
|
|
10
9
|
import { useLabelledBy } from "../label/context.svelte.js";
|
|
11
10
|
import { useDescribedBy } from "../description/context.svelte.js";
|
|
@@ -14,18 +13,19 @@ import { useResolveButtonType } from "../hooks/use-resolve-button-type.svelte.js
|
|
|
14
13
|
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
15
14
|
import { useHover } from "../hooks/use-hover.svelte.js";
|
|
16
15
|
import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
16
|
+
import { useControllable } from "../hooks/use-controllable.svelte.js";
|
|
17
17
|
import FormFields from "../internal/FormFields.svelte";
|
|
18
18
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
19
19
|
const internalId = useId();
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const providedId = useProvidedId();
|
|
21
|
+
const providedDisabled = useDisabled();
|
|
22
22
|
let {
|
|
23
23
|
ref = $bindable(),
|
|
24
|
-
id
|
|
25
|
-
disabled:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
onchange,
|
|
24
|
+
id = providedId || `headlessui-switch-${internalId}`,
|
|
25
|
+
disabled: theirDisabled = false,
|
|
26
|
+
checked: controlledChecked = $bindable(),
|
|
27
|
+
defaultChecked: _defaultChecked,
|
|
28
|
+
onchange: controlledOnChange,
|
|
29
29
|
name,
|
|
30
30
|
value,
|
|
31
31
|
form,
|
|
@@ -33,19 +33,30 @@ let {
|
|
|
33
33
|
tabIndex,
|
|
34
34
|
...theirProps
|
|
35
35
|
} = $props();
|
|
36
|
-
const
|
|
37
|
-
const disabled = $derived(ownDisabled || providedDisabled || false);
|
|
36
|
+
const disabled = $derived(providedDisabled?.value ?? theirDisabled);
|
|
38
37
|
const groupContext = getContext("GroupContext");
|
|
39
38
|
$effect(() => {
|
|
40
39
|
if (groupContext) groupContext.switchElement = ref ?? null;
|
|
41
40
|
});
|
|
42
|
-
const
|
|
41
|
+
const defaultChecked = _defaultChecked;
|
|
42
|
+
const controllable = useControllable(
|
|
43
|
+
{
|
|
44
|
+
get controlledValue() {
|
|
45
|
+
return controlledChecked;
|
|
46
|
+
},
|
|
47
|
+
set controlledValue(checked2) {
|
|
48
|
+
controlledChecked = checked2;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
controlledOnChange,
|
|
52
|
+
defaultChecked ?? false
|
|
53
|
+
);
|
|
54
|
+
const { value: checked, onchange } = $derived(controllable);
|
|
43
55
|
let changing = $state(false);
|
|
44
56
|
const toggle = () => {
|
|
45
57
|
changing = true;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
d.nextFrame(() => {
|
|
58
|
+
onchange?.(!checked);
|
|
59
|
+
tick().then(() => {
|
|
49
60
|
changing = false;
|
|
50
61
|
});
|
|
51
62
|
};
|
|
@@ -123,11 +134,10 @@ const ourProps = $derived(
|
|
|
123
134
|
pressProps
|
|
124
135
|
)
|
|
125
136
|
);
|
|
126
|
-
const reset = () => {
|
|
137
|
+
const reset = $derived(() => {
|
|
127
138
|
if (defaultChecked === void 0) return;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
};
|
|
139
|
+
return onchange?.(defaultChecked);
|
|
140
|
+
});
|
|
131
141
|
</script>
|
|
132
142
|
|
|
133
143
|
{#if name}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
1
|
+
import type { ElementType, Props, PropsOf } from "../utils/types.js";
|
|
2
2
|
declare const DEFAULT_SWITCH_TAG: "button";
|
|
3
3
|
type SwitchRenderPropArg = {
|
|
4
4
|
checked: boolean;
|
|
@@ -24,11 +24,11 @@ export type SwitchProps<TTag extends ElementType = typeof DEFAULT_SWITCH_TAG> =
|
|
|
24
24
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_SWITCH_TAG> {
|
|
25
25
|
props(): {
|
|
26
26
|
as?: TTag | undefined;
|
|
27
|
-
} & (Exclude<keyof
|
|
28
|
-
children?: import("
|
|
27
|
+
} & (Exclude<keyof PropsOf<TTag>, "form" | ("as" | "children" | "refName" | "class") | "disabled" | "autofocus" | "value" | "checked" | "name" | "onchange" | "tabIndex" | "defaultChecked" | SwitchPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
28
|
+
children?: import("svelte").Snippet<[SwitchRenderPropArg, Record<string, any>]> | undefined;
|
|
29
29
|
ref?: HTMLElement;
|
|
30
|
-
} & (true extends (
|
|
31
|
-
class?:
|
|
30
|
+
} & (true extends (PropsOf<TTag> extends infer T_1 ? T_1 extends 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) ? {
|
|
31
|
+
class?: PropsOf<TTag>["class"] | ((bag: SwitchRenderPropArg) => string) | undefined;
|
|
32
32
|
} : {}) & {
|
|
33
33
|
checked?: boolean;
|
|
34
34
|
defaultChecked?: boolean;
|
|
@@ -8,7 +8,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_GROUP_
|
|
|
8
8
|
props(): {
|
|
9
9
|
as?: TTag | undefined;
|
|
10
10
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
11
|
-
children?: import("
|
|
11
|
+
children?: import("svelte").Snippet<[{}, Record<string, any>]> | undefined;
|
|
12
12
|
ref?: HTMLElement;
|
|
13
13
|
} & (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) ? {
|
|
14
14
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: {}) => string) | undefined;
|
|
@@ -18,7 +18,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TAB_TA
|
|
|
18
18
|
props(): {
|
|
19
19
|
as?: TTag | undefined;
|
|
20
20
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "disabled" | "autofocus" | "id" | TabPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
21
|
-
children?: import("
|
|
21
|
+
children?: import("svelte").Snippet<[TabRenderPropArg, Record<string, any>]> | undefined;
|
|
22
22
|
ref?: HTMLElement;
|
|
23
23
|
} & (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) ? {
|
|
24
24
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: TabRenderPropArg) => string) | undefined;
|
|
@@ -34,8 +34,8 @@ import type { MutableRefObject } from "../utils/ref.svelte.js";
|
|
|
34
34
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TABS_TAG> {
|
|
35
35
|
props(): {
|
|
36
36
|
as?: TTag | undefined;
|
|
37
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "onchange" | "
|
|
38
|
-
children?: import("
|
|
37
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "onchange" | "manual" | "vertical" | "defaultIndex" | "selectedIndex"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
38
|
+
children?: import("svelte").Snippet<[TabsRenderPropArg, Record<string, any>]> | undefined;
|
|
39
39
|
ref?: HTMLElement;
|
|
40
40
|
} & (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) ? {
|
|
41
41
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: TabsRenderPropArg) => string) | undefined;
|
|
@@ -9,7 +9,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_LIST_T
|
|
|
9
9
|
props(): {
|
|
10
10
|
as?: TTag | undefined;
|
|
11
11
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | ListPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
12
|
-
children?: import("
|
|
12
|
+
children?: import("svelte").Snippet<[ListRenderPropArg, Record<string, any>]> | undefined;
|
|
13
13
|
ref?: HTMLElement;
|
|
14
14
|
} & (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) ? {
|
|
15
15
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ListRenderPropArg) => string) | undefined;
|
|
@@ -15,7 +15,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_PANEL_
|
|
|
15
15
|
props(): {
|
|
16
16
|
as?: TTag | undefined;
|
|
17
17
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "unmount" | "static" | "id" | "tabIndex" | PanelPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
18
|
-
children?: import("
|
|
18
|
+
children?: import("svelte").Snippet<[PanelRenderPropArg, Record<string, any>]> | undefined;
|
|
19
19
|
ref?: HTMLElement;
|
|
20
20
|
} & (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) ? {
|
|
21
21
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: PanelRenderPropArg) => string) | undefined;
|
|
@@ -8,7 +8,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_PANELS
|
|
|
8
8
|
props(): {
|
|
9
9
|
as?: TTag | undefined;
|
|
10
10
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
11
|
-
children?: import("
|
|
11
|
+
children?: import("svelte").Snippet<[PanelsRenderPropArg, Record<string, any>]> | undefined;
|
|
12
12
|
ref?: HTMLElement;
|
|
13
13
|
} & (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) ? {
|
|
14
14
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: PanelsRenderPropArg) => string) | undefined;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script lang="ts" module>const DEFAULT_TEXTAREA_TAG = "textarea";
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string">import { htmlid } from "../utils/id.js";
|
|
5
|
+
import { useDisabled } from "../hooks/use-disabled.js";
|
|
6
|
+
import { useProvidedId } from "../utils/id.js";
|
|
7
|
+
import { useLabelledBy } from "../label/context.svelte.js";
|
|
8
|
+
import { useDescribedBy } from "../description/context.svelte.js";
|
|
9
|
+
import { useHover } from "../hooks/use-hover.svelte.js";
|
|
10
|
+
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
11
|
+
import { mergeProps } from "../utils/render.js";
|
|
12
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
13
|
+
const internalId = htmlid();
|
|
14
|
+
const providedId = useProvidedId();
|
|
15
|
+
const providedDisabled = useDisabled();
|
|
16
|
+
let {
|
|
17
|
+
ref = $bindable(),
|
|
18
|
+
value = $bindable(),
|
|
19
|
+
id = providedId || `headlessui-input-${internalId}`,
|
|
20
|
+
disabled: theirDisabled = false,
|
|
21
|
+
autofocus = false,
|
|
22
|
+
invalid = false,
|
|
23
|
+
...theirProps
|
|
24
|
+
} = $props();
|
|
25
|
+
const disabled = $derived(providedDisabled?.value ?? theirDisabled);
|
|
26
|
+
const labelledBy = useLabelledBy();
|
|
27
|
+
const describedBy = useDescribedBy();
|
|
28
|
+
const { isFocusVisible: focus, focusProps } = $derived(
|
|
29
|
+
useFocusRing({
|
|
30
|
+
get autofocus() {
|
|
31
|
+
return autofocus;
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
);
|
|
35
|
+
const { isHovered: hover, hoverProps } = $derived(
|
|
36
|
+
useHover({
|
|
37
|
+
get disabled() {
|
|
38
|
+
return disabled;
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
);
|
|
42
|
+
const ourProps = $derived(
|
|
43
|
+
mergeProps(
|
|
44
|
+
{
|
|
45
|
+
id,
|
|
46
|
+
"aria-labelledby": labelledBy?.value,
|
|
47
|
+
"aria-describedby": describedBy?.value,
|
|
48
|
+
"aria-invalid": invalid ? "" : void 0,
|
|
49
|
+
disabled: disabled || void 0,
|
|
50
|
+
autofocus
|
|
51
|
+
},
|
|
52
|
+
focusProps,
|
|
53
|
+
hoverProps
|
|
54
|
+
)
|
|
55
|
+
);
|
|
56
|
+
const slot = $derived({ disabled, invalid, hover, focus, autofocus });
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<ElementOrComponent
|
|
60
|
+
{ourProps}
|
|
61
|
+
{theirProps}
|
|
62
|
+
{slot}
|
|
63
|
+
defaultTag={DEFAULT_TEXTAREA_TAG}
|
|
64
|
+
name="Textarea"
|
|
65
|
+
bind:ref
|
|
66
|
+
bind:value
|
|
67
|
+
/>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ElementType, Props, PropsOf } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_TEXTAREA_TAG: "textarea";
|
|
3
|
+
type TextareaRenderPropArg = {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
hover: boolean;
|
|
6
|
+
focus: boolean;
|
|
7
|
+
autofocus: boolean;
|
|
8
|
+
invalid: boolean;
|
|
9
|
+
};
|
|
10
|
+
type TextareaPropsWeControl = "aria-labelledby" | "aria-describedby";
|
|
11
|
+
export type TextareaProps<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> = Props<TTag, TextareaRenderPropArg, TextareaPropsWeControl, {
|
|
12
|
+
value?: TValue;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
invalid?: boolean;
|
|
15
|
+
autofocus?: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> {
|
|
18
|
+
props(): {
|
|
19
|
+
as?: TTag | undefined;
|
|
20
|
+
value?: TValue | undefined;
|
|
21
|
+
} & (Exclude<keyof PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "invalid" | "disabled" | "autofocus" | "value" | TextareaPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
22
|
+
children?: import("svelte").Snippet<[TextareaRenderPropArg, Record<string, any>]> | undefined;
|
|
23
|
+
ref?: HTMLElement;
|
|
24
|
+
} & (true extends (PropsOf<TTag> extends infer T_1 ? T_1 extends 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) ? {
|
|
25
|
+
class?: PropsOf<TTag>["class"] | ((bag: TextareaRenderPropArg) => string) | undefined;
|
|
26
|
+
} : {}) & {
|
|
27
|
+
value?: TValue | undefined;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
invalid?: boolean;
|
|
30
|
+
autofocus?: boolean;
|
|
31
|
+
};
|
|
32
|
+
events(): {} & {
|
|
33
|
+
[evt: string]: CustomEvent<any>;
|
|
34
|
+
};
|
|
35
|
+
slots(): {};
|
|
36
|
+
bindings(): "ref" | "value";
|
|
37
|
+
exports(): {};
|
|
38
|
+
}
|
|
39
|
+
interface $$IsomorphicComponent {
|
|
40
|
+
new <TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TTag, TValue>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TTag, TValue>['props']>, ReturnType<__sveltets_Render<TTag, TValue>['events']>, ReturnType<__sveltets_Render<TTag, TValue>['slots']>> & {
|
|
41
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag, TValue>['bindings']>;
|
|
42
|
+
} & ReturnType<__sveltets_Render<TTag, TValue>['exports']>;
|
|
43
|
+
<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string>(internal: unknown, props: ReturnType<__sveltets_Render<TTag, TValue>['props']> & {
|
|
44
|
+
$$events?: ReturnType<__sveltets_Render<TTag, TValue>['events']>;
|
|
45
|
+
}): ReturnType<__sveltets_Render<TTag, TValue>['exports']>;
|
|
46
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
47
|
+
}
|
|
48
|
+
declare const Textarea: $$IsomorphicComponent;
|
|
49
|
+
type Textarea<TTag extends ElementType = typeof DEFAULT_TEXTAREA_TAG, TValue = string> = InstanceType<typeof Textarea<TTag, TValue>>;
|
|
50
|
+
export default Textarea;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Textarea, type TextareaProps } from "./Textarea.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Textarea } from "./Textarea.svelte";
|
|
@@ -24,7 +24,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TRANSI
|
|
|
24
24
|
props(): {
|
|
25
25
|
as?: TTag | undefined;
|
|
26
26
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "unmount" | "transition" | keyof import("./context.svelte.js").TransitionClasses | keyof import("./context.svelte.js").TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
27
|
-
children?: import("
|
|
27
|
+
children?: import("svelte").Snippet<[HTMLElement, Record<string, any>]> | undefined;
|
|
28
28
|
ref?: HTMLElement;
|
|
29
29
|
} & (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) ? {
|
|
30
30
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: HTMLElement) => string) | undefined;
|
|
@@ -8,7 +8,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TRANSI
|
|
|
8
8
|
props(): {
|
|
9
9
|
as?: TTag | undefined;
|
|
10
10
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "unmount" | "transition" | keyof import("./context.svelte.js").TransitionClasses | keyof import("./context.svelte.js").TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
11
|
-
children?: import("
|
|
11
|
+
children?: import("svelte").Snippet<[HTMLElement, Record<string, any>]> | undefined;
|
|
12
12
|
ref?: HTMLElement;
|
|
13
13
|
} & (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) ? {
|
|
14
14
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: HTMLElement) => string) | undefined;
|
|
@@ -13,7 +13,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TRANSI
|
|
|
13
13
|
props(): {
|
|
14
14
|
as?: TTag | undefined;
|
|
15
15
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "unmount" | "transition" | keyof TransitionClasses | keyof TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
16
|
-
children?: import("
|
|
16
|
+
children?: import("svelte").Snippet<[HTMLElement, Record<string, any>]> | undefined;
|
|
17
17
|
ref?: HTMLElement;
|
|
18
18
|
} & (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) ? {
|
|
19
19
|
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: HTMLElement) => string) | undefined;
|
|
@@ -10,14 +10,14 @@ export var TreeStates;
|
|
|
10
10
|
})(TreeStates || (TreeStates = {}));
|
|
11
11
|
export function useTransitionContext() {
|
|
12
12
|
const context = getContext("TransitionContext");
|
|
13
|
-
if (context
|
|
13
|
+
if (!context) {
|
|
14
14
|
throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
15
15
|
}
|
|
16
16
|
return context;
|
|
17
17
|
}
|
|
18
18
|
export function useParentNesting() {
|
|
19
19
|
let context = getContext("NestingContext");
|
|
20
|
-
if (context
|
|
20
|
+
if (!context) {
|
|
21
21
|
throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
22
22
|
}
|
|
23
23
|
return context;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts" generics="TFeature extends RenderFeatures, TTag extends ElementType, TSlot, TValue">import { mergePropsAdvanced, RenderFeatures
|
|
1
|
+
<script lang="ts" generics="TFeature extends RenderFeatures, TTag extends ElementType, TSlot, TValue">import { mergePropsAdvanced, RenderFeatures } from "./render.js";
|
|
2
2
|
import Generic from "./Generic.svelte";
|
|
3
3
|
let {
|
|
4
4
|
ourProps,
|
|
@@ -23,4 +23,4 @@ const hiddenProps = $derived(
|
|
|
23
23
|
);
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
|
-
{#if render}<Generic {...rest} {...hiddenProps} {slot} tag={defaultTag}
|
|
26
|
+
{#if render}<Generic {...rest} {...hiddenProps} {slot} tag={defaultTag} bind:ref bind:value bind:checked />{/if}
|
|
@@ -6,7 +6,7 @@ declare class __sveltets_Render<TFeature extends RenderFeatures, TTag extends El
|
|
|
6
6
|
[x: string]: any;
|
|
7
7
|
[x: number]: any;
|
|
8
8
|
} & {
|
|
9
|
-
children?: import("
|
|
9
|
+
children?: import("svelte").Snippet<[TSlot, Record<string, any>]> | undefined;
|
|
10
10
|
ref?: HTMLElement;
|
|
11
11
|
} & {
|
|
12
12
|
class?: any;
|
|
@@ -21,7 +21,7 @@ declare class __sveltets_Render<TFeature extends RenderFeatures, TTag extends El
|
|
|
21
21
|
} : {}) ? T_1 extends any ? (x: T_1) => any : never : never : never) extends (x: infer R) => any ? R : never>> | undefined;
|
|
22
22
|
theirProps: {
|
|
23
23
|
as?: TTag | undefined;
|
|
24
|
-
children?: import("
|
|
24
|
+
children?: import("svelte").Snippet<[TSlot, Record<string, any>]> | undefined;
|
|
25
25
|
ref?: HTMLElement | undefined;
|
|
26
26
|
class?: any;
|
|
27
27
|
};
|
|
@@ -4,12 +4,11 @@ declare class __sveltets_Render<TTag extends keyof SvelteHTMLProps, TSlot, TValu
|
|
|
4
4
|
as?: TTag | undefined;
|
|
5
5
|
slot: TSlot;
|
|
6
6
|
tag: ElementType;
|
|
7
|
-
name: string;
|
|
8
7
|
ref?: HTMLElement;
|
|
9
8
|
value?: TValue | undefined;
|
|
10
9
|
checked?: boolean;
|
|
11
10
|
} & (Exclude<keyof import("./types.js").PropsOf<TTag>, "as" | "children" | "refName" | "class"> extends infer T extends keyof import("./types.js").PropsOf<TTag> ? { [P in T]: import("./types.js").PropsOf<TTag>[P]; } : never) & {
|
|
12
|
-
children?: import("
|
|
11
|
+
children?: import("svelte").Snippet<[TSlot, Record<string, any>]> | undefined;
|
|
13
12
|
ref?: HTMLElement;
|
|
14
13
|
} & (true extends (import("./types.js").PropsOf<TTag> extends infer T_1 ? T_1 extends import("./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) ? {
|
|
15
14
|
class?: import("./types.js").PropsOf<TTag>["class"] | ((bag: TSlot) => string) | undefined;
|
|
@@ -7,9 +7,8 @@ export type ElementType = keyof SvelteHTMLProps;
|
|
|
7
7
|
export type Expand<T> = T extends infer O ? {
|
|
8
8
|
[K in keyof O]: O[K];
|
|
9
9
|
} : never;
|
|
10
|
-
export type Children<TSlot> = Snippet | Snippet<[TSlot, Record<string, any>]>;
|
|
11
10
|
type OurProps<TSlot> = {
|
|
12
|
-
children?:
|
|
11
|
+
children?: Snippet<[TSlot, Record<string, any>]>;
|
|
13
12
|
ref?: HTMLElement;
|
|
14
13
|
class?: string | null | ((bag: TSlot) => string);
|
|
15
14
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts" module></script>
|
|
2
|
+
|
|
3
|
+
<script lang="ts">import { setContext } from "svelte";
|
|
4
|
+
import { useFloatingParentNodeId } from "./FloatingTree.svelte";
|
|
5
|
+
const { children, id } = $props();
|
|
6
|
+
const parentId = useFloatingParentNodeId();
|
|
7
|
+
setContext("FloatingNodeContext", {
|
|
8
|
+
get id() {
|
|
9
|
+
return id;
|
|
10
|
+
},
|
|
11
|
+
get parentId() {
|
|
12
|
+
return parentId.value;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#if children}{@render children()}{/if}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
export interface FloatingNodeProps {
|
|
3
|
+
children?: Snippet;
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
7
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
8
|
+
$$bindings?: Bindings;
|
|
9
|
+
} & Exports;
|
|
10
|
+
(internal: unknown, props: Props & {
|
|
11
|
+
$$events?: Events;
|
|
12
|
+
$$slots?: Slots;
|
|
13
|
+
}): Exports & {
|
|
14
|
+
$set?: any;
|
|
15
|
+
$on?: any;
|
|
16
|
+
};
|
|
17
|
+
z_$$bindings?: Bindings;
|
|
18
|
+
}
|
|
19
|
+
declare const FloatingNode: $$__sveltets_2_IsomorphicComponent<FloatingNodeProps, {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
}, {}, {}, "">;
|
|
22
|
+
type FloatingNode = InstanceType<typeof FloatingNode>;
|
|
23
|
+
export default FloatingNode;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<script lang="ts" module>import { getContext } from "svelte";
|
|
2
|
+
import { useId } from "../hooks/useId.svelte.js";
|
|
3
|
+
import { createPubSub } from "../utils/createPubSub.js";
|
|
4
|
+
export const useFloatingParentNodeId = () => {
|
|
5
|
+
const context = getContext("FloatingNodeContext");
|
|
6
|
+
return {
|
|
7
|
+
get value() {
|
|
8
|
+
return context?.id ?? null;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export const useFloatingTree = () => getContext("FloatingTreeContext") ?? null;
|
|
13
|
+
export function useFloatingNodeId(options) {
|
|
14
|
+
const { customParentId } = $derived(options);
|
|
15
|
+
const id = useId();
|
|
16
|
+
const tree = useFloatingTree();
|
|
17
|
+
const reactParentId = useFloatingParentNodeId();
|
|
18
|
+
const parentId = $derived(customParentId || reactParentId.value);
|
|
19
|
+
$effect(() => {
|
|
20
|
+
const node = { id, parentId };
|
|
21
|
+
tree?.addNode(node);
|
|
22
|
+
return () => {
|
|
23
|
+
tree?.removeNode(node);
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
return id;
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<script lang="ts">import { setContext } from "svelte";
|
|
31
|
+
const { children } = $props();
|
|
32
|
+
const nodesRef = $state({ current: [] });
|
|
33
|
+
const addNode = (node) => {
|
|
34
|
+
nodesRef.current = [...nodesRef.current, node];
|
|
35
|
+
};
|
|
36
|
+
const removeNode = (node) => {
|
|
37
|
+
nodesRef.current = nodesRef.current.filter((n) => n !== node);
|
|
38
|
+
};
|
|
39
|
+
const events = createPubSub();
|
|
40
|
+
setContext("FloatingTreeContext", {
|
|
41
|
+
get nodesRef() {
|
|
42
|
+
return nodesRef;
|
|
43
|
+
},
|
|
44
|
+
addNode,
|
|
45
|
+
removeNode,
|
|
46
|
+
events
|
|
47
|
+
});
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
{#if children}{@render children()}{/if}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Snippet } from "svelte";
|
|
2
|
+
import type { FloatingTreeType, ReferenceType } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Returns the parent node id for nested floating elements, if available.
|
|
5
|
+
* Returns `null` for top-level floating elements.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useFloatingParentNodeId: () => {
|
|
8
|
+
readonly value: string | null;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Returns the nearest floating tree context, if available.
|
|
12
|
+
*/
|
|
13
|
+
export declare const useFloatingTree: <RT extends ReferenceType = ReferenceType>() => FloatingTreeType<RT> | null;
|
|
14
|
+
/**
|
|
15
|
+
* Registers a node into the `FloatingTree`, returning its id.
|
|
16
|
+
* @see https://floating-ui.com/docs/FloatingTree
|
|
17
|
+
*/
|
|
18
|
+
export declare function useFloatingNodeId(options: {
|
|
19
|
+
customParentId?: string;
|
|
20
|
+
}): string;
|
|
21
|
+
export interface FloatingTreeProps {
|
|
22
|
+
children?: Snippet;
|
|
23
|
+
}
|
|
24
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
25
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
26
|
+
$$bindings?: Bindings;
|
|
27
|
+
} & Exports;
|
|
28
|
+
(internal: unknown, props: Props & {
|
|
29
|
+
$$events?: Events;
|
|
30
|
+
$$slots?: Slots;
|
|
31
|
+
}): Exports & {
|
|
32
|
+
$set?: any;
|
|
33
|
+
$on?: any;
|
|
34
|
+
};
|
|
35
|
+
z_$$bindings?: Bindings;
|
|
36
|
+
}
|
|
37
|
+
declare const FloatingTree: $$__sveltets_2_IsomorphicComponent<FloatingTreeProps, {
|
|
38
|
+
[evt: string]: CustomEvent<any>;
|
|
39
|
+
}, {}, {}, "">;
|
|
40
|
+
type FloatingTree = InstanceType<typeof FloatingTree>;
|
|
41
|
+
export default FloatingTree;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ReferenceType, UseFloatingOptions, UseFloatingReturn } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Provides data to position a floating element and context to add interactions.
|
|
4
|
+
* @see https://floating-ui.com/docs/useFloating
|
|
5
|
+
*/
|
|
6
|
+
export declare function useFloating<RT extends ReferenceType = ReferenceType>(options?: UseFloatingOptions): UseFloatingReturn<RT>;
|