@pzerelles/headlessui-svelte 2.1.2-next.31 → 2.1.2-next.32
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 +84 -54
- package/dist/button/Button.svelte.d.ts +2 -3
- package/dist/checkbox/Checkbox.svelte +173 -120
- package/dist/checkbox/Checkbox.svelte.d.ts +2 -3
- package/dist/close-button/CloseButton.svelte +12 -6
- package/dist/close-button/CloseButton.svelte.d.ts +7 -8
- package/dist/combobox/Combobox.svelte +50 -3
- package/dist/data-interactive/DataInteractive.svelte +55 -29
- package/dist/data-interactive/DataInteractive.svelte.d.ts +2 -3
- package/dist/description/Description.svelte +31 -21
- package/dist/description/Description.svelte.d.ts +1 -2
- package/dist/dialog/Dialog.svelte +320 -228
- package/dist/dialog/Dialog.svelte.d.ts +2 -3
- package/dist/dialog/DialogBackdrop.svelte +30 -13
- package/dist/dialog/DialogBackdrop.svelte.d.ts +2 -3
- package/dist/dialog/DialogPanel.svelte +49 -26
- package/dist/dialog/DialogPanel.svelte.d.ts +2 -3
- package/dist/dialog/DialogTitle.svelte +38 -23
- package/dist/dialog/DialogTitle.svelte.d.ts +2 -3
- package/dist/field/Field.svelte +47 -25
- package/dist/field/Field.svelte.d.ts +1 -2
- package/dist/fieldset/Fieldset.svelte +50 -29
- package/dist/fieldset/Fieldset.svelte.d.ts +1 -2
- package/dist/focus-trap/FocusTrap.svelte +419 -283
- package/dist/focus-trap/FocusTrap.svelte.d.ts +1 -2
- package/dist/input/Input.svelte +84 -53
- package/dist/input/Input.svelte.d.ts +2 -3
- package/dist/internal/FloatingProvider.svelte +14 -9
- package/dist/internal/FocusSentinel.svelte +16 -8
- package/dist/internal/ForcePortalRoot.svelte +7 -3
- package/dist/internal/FormFields.svelte +47 -34
- package/dist/internal/FormFieldsProvider.svelte +9 -5
- package/dist/internal/FormResolver.svelte +20 -15
- package/dist/internal/Hidden.svelte +50 -29
- package/dist/internal/Hidden.svelte.d.ts +1 -2
- package/dist/internal/MainTreeProvider.svelte +89 -36
- package/dist/internal/Portal.svelte +18 -14
- package/dist/label/Label.svelte +93 -58
- package/dist/label/Label.svelte.d.ts +1 -2
- package/dist/legend/Legend.svelte +12 -3
- package/dist/listbox/Listbox.svelte +525 -387
- package/dist/listbox/Listbox.svelte.d.ts +2 -3
- package/dist/listbox/ListboxButton.svelte +173 -127
- package/dist/listbox/ListboxButton.svelte.d.ts +2 -3
- package/dist/listbox/ListboxOption.svelte +170 -129
- package/dist/listbox/ListboxOption.svelte.d.ts +2 -3
- package/dist/listbox/ListboxOptions.svelte +400 -304
- package/dist/listbox/ListboxOptions.svelte.d.ts +2 -3
- package/dist/listbox/ListboxSelectedOption.svelte +38 -15
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +1 -2
- package/dist/menu/Menu.svelte +77 -51
- package/dist/menu/Menu.svelte.d.ts +2 -3
- package/dist/menu/MenuButton.svelte +157 -117
- package/dist/menu/MenuButton.svelte.d.ts +2 -3
- package/dist/menu/MenuHeading.svelte +32 -14
- package/dist/menu/MenuHeading.svelte.d.ts +1 -2
- package/dist/menu/MenuItem.svelte +142 -107
- package/dist/menu/MenuItem.svelte.d.ts +2 -3
- package/dist/menu/MenuItems.svelte +301 -229
- package/dist/menu/MenuItems.svelte.d.ts +2 -3
- package/dist/menu/MenuSection.svelte +24 -9
- package/dist/menu/MenuSection.svelte.d.ts +1 -2
- package/dist/menu/MenuSeparator.svelte +17 -4
- package/dist/menu/MenuSeparator.svelte.d.ts +1 -2
- package/dist/popover/Popover.svelte +216 -150
- package/dist/popover/Popover.svelte.d.ts +2 -3
- package/dist/popover/PopoverBackdrop.svelte +67 -41
- package/dist/popover/PopoverBackdrop.svelte.d.ts +2 -3
- package/dist/popover/PopoverButton.svelte +292 -212
- package/dist/popover/PopoverButton.svelte.d.ts +2 -3
- package/dist/popover/PopoverGroup.svelte +62 -35
- package/dist/popover/PopoverGroup.svelte.d.ts +1 -2
- package/dist/popover/PopoverPanel.svelte +311 -229
- package/dist/popover/PopoverPanel.svelte.d.ts +2 -3
- package/dist/portal/InternalPortal.svelte +141 -85
- package/dist/portal/InternalPortal.svelte.d.ts +1 -2
- package/dist/portal/Portal.svelte +5 -2
- package/dist/portal/PortalGroup.svelte +30 -9
- package/dist/portal/PortalGroup.svelte.d.ts +1 -2
- package/dist/select/Select.svelte +98 -68
- package/dist/select/Select.svelte.d.ts +2 -3
- package/dist/switch/Switch.svelte +179 -132
- package/dist/switch/Switch.svelte.d.ts +2 -3
- package/dist/switch/SwitchGroup.svelte +44 -31
- package/dist/switch/SwitchGroup.svelte.d.ts +1 -2
- package/dist/tabs/Tab.svelte +194 -142
- package/dist/tabs/Tab.svelte.d.ts +2 -3
- package/dist/tabs/TabGroup.svelte +86 -56
- package/dist/tabs/TabGroup.svelte.d.ts +2 -3
- package/dist/tabs/TabList.svelte +31 -11
- package/dist/tabs/TabList.svelte.d.ts +2 -3
- package/dist/tabs/TabPanel.svelte +67 -42
- package/dist/tabs/TabPanel.svelte.d.ts +2 -3
- package/dist/tabs/TabPanels.svelte +18 -7
- package/dist/tabs/TabPanels.svelte.d.ts +2 -3
- package/dist/textarea/Textarea.svelte +84 -53
- package/dist/textarea/Textarea.svelte.d.ts +2 -3
- package/dist/transition/InternalTransitionChild.svelte +259 -170
- package/dist/transition/InternalTransitionChild.svelte.d.ts +2 -3
- package/dist/transition/Transition.svelte +96 -66
- package/dist/transition/Transition.svelte.d.ts +2 -3
- package/dist/transition/TransitionChild.svelte +31 -11
- package/dist/transition/TransitionChild.svelte.d.ts +2 -3
- package/dist/utils/DisabledProvider.svelte +7 -3
- package/dist/utils/ElementOrComponent.svelte +46 -23
- package/dist/utils/ElementOrComponent.svelte.d.ts +8 -10
- package/dist/utils/Generic.svelte +30 -19
- package/dist/utils/Generic.svelte.d.ts +6 -7
- package/dist/utils/StableCollection.svelte +54 -36
- package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +27 -12
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +88 -44
- package/dist/utils/types.d.ts +4 -5
- package/package.json +1 -1
|
@@ -1,34 +1,60 @@
|
|
|
1
|
-
<script lang="ts" module>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { Props, ElementType } from "../utils/types.js"
|
|
3
|
+
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js"
|
|
4
|
+
import { useActivePress } from "../hooks/use-active-press.svelte.js"
|
|
5
|
+
import type { Snippet } from "svelte"
|
|
6
|
+
import { useHover } from "../hooks/use-hover.svelte.js"
|
|
7
|
+
import { mergeProps } from "../utils/render.js"
|
|
8
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
9
|
+
|
|
10
|
+
const DEFAULT_DATA_INTERACTIVE_TAG = "svelte:fragment" as const
|
|
11
|
+
|
|
12
|
+
type DataInteractiveRenderPropArg = {
|
|
13
|
+
hover: boolean
|
|
14
|
+
focus: boolean
|
|
15
|
+
active: boolean
|
|
16
|
+
}
|
|
17
|
+
type DataInteractivePropsWeControl = never
|
|
18
|
+
|
|
19
|
+
export type DataInteractiveProps<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> = Props<
|
|
20
|
+
TTag,
|
|
21
|
+
DataInteractiveRenderPropArg,
|
|
22
|
+
DataInteractivePropsWeControl,
|
|
23
|
+
{}
|
|
24
|
+
>
|
|
7
25
|
</script>
|
|
8
26
|
|
|
9
|
-
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG">
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
27
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG">
|
|
28
|
+
let { ref = $bindable(), ...theirProps }: { as?: TTag } & DataInteractiveProps<TTag> = $props()
|
|
29
|
+
|
|
30
|
+
// Ideally we can use a `disabled` prop, but that would depend on the props of the child element
|
|
31
|
+
// and we don't have access to that in this component.
|
|
32
|
+
|
|
33
|
+
const disabled = false
|
|
34
|
+
|
|
35
|
+
const { isHovered: hover, hoverProps } = $derived(
|
|
36
|
+
useHover({
|
|
37
|
+
get disabled() {
|
|
38
|
+
return disabled
|
|
39
|
+
},
|
|
40
|
+
})
|
|
41
|
+
)
|
|
42
|
+
const { pressed: active, pressProps } = $derived(
|
|
43
|
+
useActivePress({
|
|
44
|
+
get disabled() {
|
|
45
|
+
return disabled
|
|
46
|
+
},
|
|
47
|
+
})
|
|
48
|
+
)
|
|
49
|
+
const { isFocusVisible: focus, focusProps } = $derived(useFocusRing())
|
|
50
|
+
|
|
51
|
+
const slot = $derived({
|
|
52
|
+
hover,
|
|
53
|
+
focus,
|
|
54
|
+
active,
|
|
55
|
+
} satisfies DataInteractiveRenderPropArg)
|
|
56
|
+
|
|
57
|
+
const ourProps = $derived(mergeProps(focusProps, hoverProps, pressProps))
|
|
32
58
|
</script>
|
|
33
59
|
|
|
34
60
|
<ElementOrComponent
|
|
@@ -12,9 +12,8 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DATA_I
|
|
|
12
12
|
props(): {
|
|
13
13
|
as?: TTag | undefined;
|
|
14
14
|
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "slot" | "as" | "children" | "class" | "ref"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
15
|
-
children?: Snippet<[{
|
|
16
|
-
|
|
17
|
-
props: Record<string, any>;
|
|
15
|
+
children?: Snippet<[DataInteractiveRenderPropArg & {
|
|
16
|
+
props?: Record<string, any>;
|
|
18
17
|
}]> | undefined;
|
|
19
18
|
class?: string | ((bag: DataInteractiveRenderPropArg) => string) | null | undefined;
|
|
20
19
|
ref?: HTMLElement;
|
|
@@ -1,26 +1,36 @@
|
|
|
1
|
-
<script lang="ts" module>
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { ElementType, Props, PropsOf } from "../utils/types.js"
|
|
3
|
+
|
|
4
|
+
let DEFAULT_DESCRIPTION_TAG = "p" as const
|
|
5
|
+
|
|
6
|
+
export type DescriptionProps<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG> = Props<TTag>
|
|
2
7
|
</script>
|
|
3
8
|
|
|
4
|
-
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG">
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG">
|
|
10
|
+
import { useId } from "../hooks/use-id.js"
|
|
11
|
+
import { useDisabled } from "../hooks/use-disabled.js"
|
|
12
|
+
import { useDescriptionContext } from "./context.svelte.js"
|
|
13
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
14
|
+
import { untrack } from "svelte"
|
|
15
|
+
|
|
16
|
+
const internalId = useId()
|
|
17
|
+
const providedDisabled = useDisabled()
|
|
18
|
+
|
|
19
|
+
let {
|
|
20
|
+
ref = $bindable(),
|
|
21
|
+
id = `headlessui-description-${internalId}` as PropsOf<TTag>["id"],
|
|
22
|
+
...theirProps
|
|
23
|
+
}: { as?: TTag } & DescriptionProps<TTag> = $props()
|
|
24
|
+
|
|
25
|
+
const { register } = useDescriptionContext()
|
|
26
|
+
$effect(() => {
|
|
27
|
+
id
|
|
28
|
+
return untrack(() => register(id))
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
const disabled = $derived(providedDisabled.current || false)
|
|
32
|
+
const slot = $derived({ disabled })
|
|
33
|
+
const ourProps = $derived({ id })
|
|
24
34
|
</script>
|
|
25
35
|
|
|
26
36
|
<ElementOrComponent
|
|
@@ -6,8 +6,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DESCRI
|
|
|
6
6
|
as?: TTag | undefined;
|
|
7
7
|
} & (Exclude<keyof PropsOf<TTag>, "slot" | "as" | "children" | "class" | "ref"> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
8
8
|
children?: import("svelte").Snippet<[{
|
|
9
|
-
|
|
10
|
-
props: Record<string, any>;
|
|
9
|
+
props?: Record<string, any>;
|
|
11
10
|
}]> | undefined;
|
|
12
11
|
class?: string | ((bag: {}) => string) | null | undefined;
|
|
13
12
|
ref?: HTMLElement;
|