@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,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type { Props
|
|
3
|
-
import { onMount
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
|
+
import { onMount } from "svelte"
|
|
4
4
|
|
|
5
|
-
const DEFAULT_ITEM_TAG = "
|
|
6
|
-
type ItemRenderPropArg = {
|
|
5
|
+
const DEFAULT_ITEM_TAG = "button" as const
|
|
6
|
+
export type ItemRenderPropArg = {
|
|
7
7
|
/** @deprecated use `focus` instead */
|
|
8
8
|
active: boolean
|
|
9
9
|
focus: boolean
|
|
@@ -13,21 +13,16 @@
|
|
|
13
13
|
}
|
|
14
14
|
type ItemPropsWeControl = "aria-describedby" | "aria-disabled" | "aria-labelledby" | "role" | "tabIndex"
|
|
15
15
|
|
|
16
|
-
export type
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
children: Children<ItemRenderPropArg>
|
|
24
|
-
}
|
|
25
|
-
>
|
|
26
|
-
|
|
27
|
-
export type MenuItemChildren = Children<ItemRenderPropArg>
|
|
16
|
+
export type MenuItemOwnProps = {
|
|
17
|
+
element?: HTMLElement
|
|
18
|
+
id?: string
|
|
19
|
+
disabled?: boolean
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type MenuItemProps = Props<typeof DEFAULT_ITEM_TAG, ItemRenderPropArg, MenuItemOwnProps>
|
|
28
23
|
</script>
|
|
29
24
|
|
|
30
|
-
<script lang="ts"
|
|
25
|
+
<script lang="ts">
|
|
31
26
|
import { useId } from "../hooks/use-id.js"
|
|
32
27
|
import { ActivationTrigger, MenuStates, useMenuContext, type MenuItemDataRef } from "./context.svelte.js"
|
|
33
28
|
import { disposables } from "../utils/disposables.js"
|
|
@@ -42,11 +37,11 @@
|
|
|
42
37
|
|
|
43
38
|
const internalId = useId()
|
|
44
39
|
let {
|
|
45
|
-
|
|
40
|
+
element = $bindable(),
|
|
46
41
|
id = `headlessui-menu-item-${internalId}`,
|
|
47
42
|
disabled = false,
|
|
48
43
|
...theirProps
|
|
49
|
-
}:
|
|
44
|
+
}: MenuItemProps = $props()
|
|
50
45
|
const _state = useMenuContext("MenuItem")
|
|
51
46
|
const active = $derived(_state.activeItemIndex !== null ? _state.items[_state.activeItemIndex].id === id : false)
|
|
52
47
|
|
|
@@ -58,19 +53,19 @@
|
|
|
58
53
|
if (!active) return
|
|
59
54
|
if (_state.activationTrigger === ActivationTrigger.Pointer) return
|
|
60
55
|
return disposables().requestAnimationFrame(() => {
|
|
61
|
-
;(
|
|
56
|
+
;(element as HTMLElement)?.scrollIntoView?.({ block: "nearest" })
|
|
62
57
|
})
|
|
63
58
|
})
|
|
64
59
|
|
|
65
60
|
const getTextValue = useTextValue({
|
|
66
61
|
get element() {
|
|
67
|
-
return
|
|
62
|
+
return element || null
|
|
68
63
|
},
|
|
69
64
|
})
|
|
70
65
|
|
|
71
66
|
const bag: MenuItemDataRef["current"] = $derived({
|
|
72
67
|
disabled,
|
|
73
|
-
domRef: { current:
|
|
68
|
+
domRef: { current: element || null },
|
|
74
69
|
get textValue() {
|
|
75
70
|
return getTextValue()
|
|
76
71
|
},
|
|
@@ -149,4 +144,4 @@
|
|
|
149
144
|
)
|
|
150
145
|
</script>
|
|
151
146
|
|
|
152
|
-
<ElementOrComponent {ourProps} {theirProps} {slot} defaultTag={DEFAULT_ITEM_TAG} name="MenuItem" bind:
|
|
147
|
+
<ElementOrComponent {ourProps} {theirProps} {slot} defaultTag={DEFAULT_ITEM_TAG} name="MenuItem" bind:element />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Props
|
|
2
|
-
declare const DEFAULT_ITEM_TAG: "
|
|
3
|
-
type ItemRenderPropArg = {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_ITEM_TAG: "button";
|
|
3
|
+
export type ItemRenderPropArg = {
|
|
4
4
|
/** @deprecated use `focus` instead */
|
|
5
5
|
active: boolean;
|
|
6
6
|
focus: boolean;
|
|
@@ -8,42 +8,12 @@ type ItemRenderPropArg = {
|
|
|
8
8
|
close: () => void;
|
|
9
9
|
props?: Record<string, any>;
|
|
10
10
|
};
|
|
11
|
-
type
|
|
12
|
-
|
|
11
|
+
export type MenuItemOwnProps = {
|
|
12
|
+
element?: HTMLElement;
|
|
13
13
|
id?: string;
|
|
14
14
|
disabled?: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
props(): {
|
|
20
|
-
as?: TTag | undefined;
|
|
21
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "disabled" | "id" | ItemPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
22
|
-
children?: Children<ItemRenderPropArg> | undefined;
|
|
23
|
-
ref?: HTMLElement;
|
|
24
|
-
} & (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) ? {
|
|
25
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ItemRenderPropArg) => string) | undefined;
|
|
26
|
-
} : {}) & {
|
|
27
|
-
id?: string;
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
children: Children<ItemRenderPropArg>;
|
|
30
|
-
};
|
|
31
|
-
events(): {} & {
|
|
32
|
-
[evt: string]: CustomEvent<any>;
|
|
33
|
-
};
|
|
34
|
-
slots(): {};
|
|
35
|
-
bindings(): "ref";
|
|
36
|
-
exports(): {};
|
|
37
|
-
}
|
|
38
|
-
interface $$IsomorphicComponent {
|
|
39
|
-
new <TTag extends ElementType = typeof DEFAULT_ITEM_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']>> & {
|
|
40
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
41
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
42
|
-
<TTag extends ElementType = typeof DEFAULT_ITEM_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
43
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
44
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
45
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
46
|
-
}
|
|
47
|
-
declare const MenuItem: $$IsomorphicComponent;
|
|
48
|
-
type MenuItem<TTag extends ElementType = typeof DEFAULT_ITEM_TAG> = InstanceType<typeof MenuItem<TTag>>;
|
|
15
|
+
};
|
|
16
|
+
export type MenuItemProps = Props<typeof DEFAULT_ITEM_TAG, ItemRenderPropArg, MenuItemOwnProps>;
|
|
17
|
+
declare const MenuItem: import("svelte").Component<MenuItemProps, {}, "element">;
|
|
18
|
+
type MenuItem = ReturnType<typeof MenuItem>;
|
|
49
19
|
export default MenuItem;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
3
|
import { mergeProps, RenderFeatures, type PropsForFeatures } from "../utils/render.js"
|
|
4
4
|
import {
|
|
5
5
|
useFloatingPanel,
|
|
@@ -9,30 +9,26 @@
|
|
|
9
9
|
} from "../internal/floating.svelte.js"
|
|
10
10
|
|
|
11
11
|
const DEFAULT_ITEMS_TAG = "div" as const
|
|
12
|
-
type ItemsRenderPropArg = {
|
|
12
|
+
export type ItemsRenderPropArg = {
|
|
13
13
|
open: boolean
|
|
14
14
|
}
|
|
15
15
|
type ItemsPropsWeControl = "aria-activedescendant" | "aria-labelledby" | "role" | "tabIndex"
|
|
16
16
|
|
|
17
17
|
let ItemsRenderFeatures = RenderFeatures.RenderStrategy | RenderFeatures.Static
|
|
18
18
|
|
|
19
|
-
export type
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} & PropsForFeatures<typeof ItemsRenderFeatures>
|
|
30
|
-
>
|
|
31
|
-
|
|
32
|
-
export type MenuItemsChildren = Snippet<[ItemsRenderPropArg]>
|
|
19
|
+
export type MenuItemsOwnProps = {
|
|
20
|
+
element?: HTMLElement
|
|
21
|
+
id?: string
|
|
22
|
+
anchor?: AnchorProps
|
|
23
|
+
portal?: boolean
|
|
24
|
+
modal?: boolean
|
|
25
|
+
transition?: boolean
|
|
26
|
+
} & PropsForFeatures<typeof ItemsRenderFeatures>
|
|
27
|
+
|
|
28
|
+
export type MenuItemsProps = Props<typeof DEFAULT_ITEMS_TAG, ItemsRenderPropArg, MenuItemsOwnProps>
|
|
33
29
|
</script>
|
|
34
30
|
|
|
35
|
-
<script lang="ts"
|
|
31
|
+
<script lang="ts">
|
|
36
32
|
import { useId } from "../hooks/use-id.js"
|
|
37
33
|
import { getOwnerDocument } from "../utils/owner.js"
|
|
38
34
|
import { State, useOpenClosed } from "../internal/open-closed.js"
|
|
@@ -45,7 +41,7 @@
|
|
|
45
41
|
import { Focus } from "../utils/calculate-active-index.js"
|
|
46
42
|
import { focusFrom, Focus as FocusManagementFocus, restoreFocusIfNecessary } from "../utils/focus-management.js"
|
|
47
43
|
import { useElementSize } from "../hooks/use-element-size.svelte.js"
|
|
48
|
-
import { tick, untrack
|
|
44
|
+
import { tick, untrack } from "svelte"
|
|
49
45
|
import Portal from "../portal/Portal.svelte"
|
|
50
46
|
import { MenuStates, useMenuContext } from "./context.svelte.js"
|
|
51
47
|
import { useTreeWalker } from "../hooks/use-tree-walker.svelte.js"
|
|
@@ -53,28 +49,32 @@
|
|
|
53
49
|
|
|
54
50
|
const internalId = useId()
|
|
55
51
|
let {
|
|
56
|
-
|
|
57
|
-
ref = $bindable(),
|
|
52
|
+
element = $bindable(),
|
|
58
53
|
id = `headlessui-menu-items-${internalId}`,
|
|
59
54
|
anchor: rawAnchor,
|
|
60
55
|
portal = false,
|
|
61
56
|
modal = true,
|
|
62
57
|
transition = false,
|
|
63
58
|
...theirProps
|
|
64
|
-
}:
|
|
65
|
-
const
|
|
59
|
+
}: MenuItemsProps = $props()
|
|
60
|
+
const resolvedAnchor = useResolvedAnchor({
|
|
61
|
+
get anchor() {
|
|
62
|
+
return rawAnchor
|
|
63
|
+
},
|
|
64
|
+
})
|
|
65
|
+
const { anchor } = $derived(resolvedAnchor)
|
|
66
66
|
const _state = useMenuContext("MenuOptions")
|
|
67
67
|
const floatingPanel = useFloatingPanel({
|
|
68
68
|
get placement() {
|
|
69
69
|
return anchor
|
|
70
70
|
},
|
|
71
71
|
})
|
|
72
|
-
const { setFloating,
|
|
72
|
+
const { setFloating, styles } = $derived(floatingPanel)
|
|
73
73
|
const getFloatingPanelProps = useFloatingPanelProps()
|
|
74
74
|
|
|
75
75
|
$effect(() => {
|
|
76
|
-
untrack(() => _state.setItemsElement(
|
|
77
|
-
if (anchor) setFloating(
|
|
76
|
+
untrack(() => _state.setItemsElement(element ?? null))
|
|
77
|
+
if (anchor) setFloating(element ?? null)
|
|
78
78
|
})
|
|
79
79
|
const ownerDocument = $derived(getOwnerDocument(_state.itemsElement))
|
|
80
80
|
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
return transition
|
|
97
97
|
},
|
|
98
98
|
get element() {
|
|
99
|
-
return
|
|
99
|
+
return element
|
|
100
100
|
},
|
|
101
101
|
get show() {
|
|
102
102
|
return show
|
|
@@ -285,8 +285,8 @@
|
|
|
285
285
|
unit: true,
|
|
286
286
|
})
|
|
287
287
|
|
|
288
|
-
const ourProps = $derived(
|
|
289
|
-
mergeProps(anchor ? getFloatingPanelProps() : {}, {
|
|
288
|
+
const ourProps = $derived({
|
|
289
|
+
...mergeProps(anchor ? getFloatingPanelProps() : {}, {
|
|
290
290
|
"aria-activedescendant": _state.activeItemIndex === null ? undefined : _state.items[_state.activeItemIndex]?.id,
|
|
291
291
|
"aria-labelledby": _state.buttonElement?.id,
|
|
292
292
|
id,
|
|
@@ -297,11 +297,10 @@
|
|
|
297
297
|
// to skip focusing the `MenuItems` when pressing the tab key on an
|
|
298
298
|
// open `Menu`, and go to the next focusable element.
|
|
299
299
|
tabindex: _state.menuState === MenuStates.Open ? 0 : undefined,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
)
|
|
300
|
+
style: [theirProps.style, styles, `--button-width: ${buttonSize.width}`].filter(Boolean).join("; "),
|
|
301
|
+
}),
|
|
302
|
+
...transitionDataAttributes(transitionData),
|
|
303
|
+
})
|
|
305
304
|
</script>
|
|
306
305
|
|
|
307
306
|
<Portal enabled={portal ? theirProps.static || visible : false}>
|
|
@@ -313,6 +312,6 @@
|
|
|
313
312
|
features={ItemsRenderFeatures}
|
|
314
313
|
visible={panelEnabled}
|
|
315
314
|
name="MenuItems"
|
|
316
|
-
bind:
|
|
315
|
+
bind:element
|
|
317
316
|
/>
|
|
318
317
|
</Portal>
|
|
@@ -1,55 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
import { type PropsForFeatures } from "../utils/render.js";
|
|
3
3
|
import { type AnchorProps } from "../internal/floating.svelte.js";
|
|
4
4
|
declare const DEFAULT_ITEMS_TAG: "div";
|
|
5
|
-
type ItemsRenderPropArg = {
|
|
5
|
+
export type ItemsRenderPropArg = {
|
|
6
6
|
open: boolean;
|
|
7
7
|
};
|
|
8
|
-
type ItemsPropsWeControl = "aria-activedescendant" | "aria-labelledby" | "role" | "tabIndex";
|
|
9
8
|
declare let ItemsRenderFeatures: number;
|
|
10
|
-
export type
|
|
9
|
+
export type MenuItemsOwnProps = {
|
|
10
|
+
element?: HTMLElement;
|
|
11
11
|
id?: string;
|
|
12
12
|
anchor?: AnchorProps;
|
|
13
13
|
portal?: boolean;
|
|
14
14
|
modal?: boolean;
|
|
15
15
|
transition?: boolean;
|
|
16
|
-
} & PropsForFeatures<typeof ItemsRenderFeatures
|
|
17
|
-
export type
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
props(): {
|
|
21
|
-
as?: TTag | undefined;
|
|
22
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "anchor" | "unmount" | "static" | "id" | "transition" | "portal" | "modal" | ItemsPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
23
|
-
children?: import("../utils/types.js").Children<ItemsRenderPropArg> | undefined;
|
|
24
|
-
ref?: HTMLElement;
|
|
25
|
-
} & (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) ? {
|
|
26
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ItemsRenderPropArg) => string) | undefined;
|
|
27
|
-
} : {}) & {
|
|
28
|
-
id?: string;
|
|
29
|
-
anchor?: AnchorProps;
|
|
30
|
-
portal?: boolean;
|
|
31
|
-
modal?: boolean;
|
|
32
|
-
transition?: boolean;
|
|
33
|
-
} & {
|
|
34
|
-
static?: boolean | undefined;
|
|
35
|
-
unmount?: boolean | undefined;
|
|
36
|
-
};
|
|
37
|
-
events(): {} & {
|
|
38
|
-
[evt: string]: CustomEvent<any>;
|
|
39
|
-
};
|
|
40
|
-
slots(): {};
|
|
41
|
-
bindings(): "ref";
|
|
42
|
-
exports(): {};
|
|
43
|
-
}
|
|
44
|
-
interface $$IsomorphicComponent {
|
|
45
|
-
new <TTag extends ElementType = typeof DEFAULT_ITEMS_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']>> & {
|
|
46
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
47
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
48
|
-
<TTag extends ElementType = typeof DEFAULT_ITEMS_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
49
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
50
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
51
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
52
|
-
}
|
|
53
|
-
declare const MenuItems: $$IsomorphicComponent;
|
|
54
|
-
type MenuItems<TTag extends ElementType = typeof DEFAULT_ITEMS_TAG> = InstanceType<typeof MenuItems<TTag>>;
|
|
16
|
+
} & PropsForFeatures<typeof ItemsRenderFeatures>;
|
|
17
|
+
export type MenuItemsProps = Props<typeof DEFAULT_ITEMS_TAG, ItemsRenderPropArg, MenuItemsOwnProps>;
|
|
18
|
+
declare const MenuItems: import("svelte").Component<MenuItemsProps, {}, "element">;
|
|
19
|
+
type MenuItems = ReturnType<typeof MenuItems>;
|
|
55
20
|
export default MenuItems;
|
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
3
|
-
import type { ElementType, Props } from "../utils/types.js"
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
4
3
|
|
|
5
4
|
const DEFAULT_SECTION_TAG = "div" as const
|
|
6
|
-
|
|
5
|
+
|
|
7
6
|
type SectionPropsWeControl = "role" | "aria-labelledby"
|
|
8
7
|
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
SectionPropsWeControl
|
|
13
|
-
>
|
|
8
|
+
export type MenuSectionOwnProps = {
|
|
9
|
+
element?: HTMLElement
|
|
10
|
+
}
|
|
14
11
|
|
|
15
|
-
export type
|
|
12
|
+
export type MenuSectionProps = Props<typeof DEFAULT_SECTION_TAG, {}, MenuSectionOwnProps>
|
|
16
13
|
</script>
|
|
17
14
|
|
|
18
|
-
<script lang="ts"
|
|
15
|
+
<script lang="ts">
|
|
19
16
|
import { useLabels } from "../label/context.svelte.js"
|
|
20
17
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
21
18
|
|
|
22
19
|
const labelledby = useLabels()
|
|
23
20
|
|
|
24
|
-
let {
|
|
21
|
+
let { element = $bindable(), ...theirProps }: MenuSectionProps = $props()
|
|
25
22
|
const ourProps = $derived({
|
|
26
23
|
"aria-labelledby": labelledby,
|
|
27
24
|
role: "group",
|
|
28
25
|
})
|
|
29
26
|
</script>
|
|
30
27
|
|
|
31
|
-
<ElementOrComponent {ourProps} {theirProps} defaultTag={DEFAULT_SECTION_TAG} name="MenuSection" bind:
|
|
28
|
+
<ElementOrComponent {ourProps} {theirProps} defaultTag={DEFAULT_SECTION_TAG} name="MenuSection" bind:element />
|
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
3
2
|
declare const DEFAULT_SECTION_TAG: "div";
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export type
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
as?: TTag | undefined;
|
|
11
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | SectionPropsWeControl> 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("../utils/types.js").Children<SectionRenderPropArg> | undefined;
|
|
13
|
-
ref?: HTMLElement;
|
|
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
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: SectionRenderPropArg) => string) | undefined;
|
|
16
|
-
} : {});
|
|
17
|
-
events(): {} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots(): {};
|
|
21
|
-
bindings(): "ref";
|
|
22
|
-
exports(): {};
|
|
23
|
-
}
|
|
24
|
-
interface $$IsomorphicComponent {
|
|
25
|
-
new <TTag extends ElementType = typeof DEFAULT_SECTION_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_SECTION_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 MenuSection: $$IsomorphicComponent;
|
|
34
|
-
type MenuSection<TTag extends ElementType = typeof DEFAULT_SECTION_TAG> = InstanceType<typeof MenuSection<TTag>>;
|
|
3
|
+
export type MenuSectionOwnProps = {
|
|
4
|
+
element?: HTMLElement;
|
|
5
|
+
};
|
|
6
|
+
export type MenuSectionProps = Props<typeof DEFAULT_SECTION_TAG, {}, MenuSectionOwnProps>;
|
|
7
|
+
declare const MenuSection: import("svelte").Component<MenuSectionProps, {}, "element">;
|
|
8
|
+
type MenuSection = ReturnType<typeof MenuSection>;
|
|
35
9
|
export default MenuSection;
|
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
3
|
-
import type { ElementType, Props } from "../utils/types.js"
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
4
3
|
|
|
5
4
|
const DEFAULT_SEPARATOR_TAG = "div" as const
|
|
6
|
-
|
|
5
|
+
|
|
7
6
|
type SeparatorPropsWeControl = "role"
|
|
8
7
|
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
SeparatorPropsWeControl
|
|
13
|
-
>
|
|
8
|
+
export type MenuSeparatorOwnProps = {
|
|
9
|
+
element?: HTMLElement
|
|
10
|
+
}
|
|
14
11
|
|
|
15
|
-
export type
|
|
12
|
+
export type MenuSeparatorProps = Props<typeof DEFAULT_SEPARATOR_TAG, {}, MenuSeparatorOwnProps>
|
|
16
13
|
</script>
|
|
17
14
|
|
|
18
|
-
<script lang="ts"
|
|
15
|
+
<script lang="ts">
|
|
19
16
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
20
17
|
|
|
21
|
-
let {
|
|
18
|
+
let { element = $bindable(), ...theirProps }: MenuSeparatorProps = $props()
|
|
22
19
|
const ourProps = { role: "separator" }
|
|
23
20
|
</script>
|
|
24
21
|
|
|
25
|
-
<ElementOrComponent {ourProps} {theirProps} defaultTag={DEFAULT_SEPARATOR_TAG} name="MenuSeparator" bind:
|
|
22
|
+
<ElementOrComponent {ourProps} {theirProps} defaultTag={DEFAULT_SEPARATOR_TAG} name="MenuSeparator" bind:element />
|
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
3
2
|
declare const DEFAULT_SEPARATOR_TAG: "div";
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export type
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
as?: TTag | undefined;
|
|
11
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "role"> 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("../utils/types.js").Children<SeparatorRenderPropArg> | undefined;
|
|
13
|
-
ref?: HTMLElement;
|
|
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
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: SeparatorRenderPropArg) => string) | undefined;
|
|
16
|
-
} : {});
|
|
17
|
-
events(): {} & {
|
|
18
|
-
[evt: string]: CustomEvent<any>;
|
|
19
|
-
};
|
|
20
|
-
slots(): {};
|
|
21
|
-
bindings(): "ref";
|
|
22
|
-
exports(): {};
|
|
23
|
-
}
|
|
24
|
-
interface $$IsomorphicComponent {
|
|
25
|
-
new <TTag extends ElementType = typeof DEFAULT_SEPARATOR_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_SEPARATOR_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 MenuSeparator: $$IsomorphicComponent;
|
|
34
|
-
type MenuSeparator<TTag extends ElementType = typeof DEFAULT_SEPARATOR_TAG> = InstanceType<typeof MenuSeparator<TTag>>;
|
|
3
|
+
export type MenuSeparatorOwnProps = {
|
|
4
|
+
element?: HTMLElement;
|
|
5
|
+
};
|
|
6
|
+
export type MenuSeparatorProps = Props<typeof DEFAULT_SEPARATOR_TAG, {}, MenuSeparatorOwnProps>;
|
|
7
|
+
declare const MenuSeparator: import("svelte").Component<MenuSeparatorProps, {}, "element">;
|
|
8
|
+
type MenuSeparator = ReturnType<typeof MenuSeparator>;
|
|
35
9
|
export default MenuSeparator;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Focus } from "../utils/calculate-active-index.js";
|
|
2
2
|
import type { MutableRefObject } from "../utils/ref.svelte.js";
|
|
3
3
|
export declare enum MenuStates {
|
|
4
4
|
Open = 0,
|
|
@@ -45,3 +45,4 @@ export type MenuContext = StateDefinition & {
|
|
|
45
45
|
setItemsElement(element: HTMLElement | null): void;
|
|
46
46
|
};
|
|
47
47
|
export declare function useMenuContext(component: string): MenuContext;
|
|
48
|
+
export declare const createMenuContext: (initialState: StateDefinition) => MenuContext;
|