@pzerelles/headlessui-svelte 2.1.2-next.3 → 2.1.2-next.30
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 +1 -1
- package/dist/button/Button.svelte.d.ts +9 -11
- package/dist/checkbox/Checkbox.svelte +4 -4
- package/dist/checkbox/Checkbox.svelte.d.ts +10 -14
- package/dist/close-button/CloseButton.svelte.d.ts +16 -18
- package/dist/data-interactive/DataInteractive.svelte.d.ts +8 -11
- package/dist/description/Description.svelte +19 -14
- package/dist/description/Description.svelte.d.ts +9 -11
- package/dist/description/context.svelte.js +14 -16
- package/dist/dialog/Dialog.svelte +245 -17
- package/dist/dialog/Dialog.svelte.d.ts +12 -14
- package/dist/dialog/DialogBackdrop.svelte +1 -1
- package/dist/dialog/DialogBackdrop.svelte.d.ts +9 -11
- package/dist/dialog/DialogPanel.svelte +1 -2
- package/dist/dialog/DialogPanel.svelte.d.ts +9 -11
- package/dist/dialog/DialogTitle.svelte.d.ts +8 -10
- package/dist/dialog/context.svelte.js +1 -1
- package/dist/field/Field.svelte +24 -12
- package/dist/field/Field.svelte.d.ts +9 -11
- package/dist/fieldset/Fieldset.svelte +1 -1
- package/dist/fieldset/Fieldset.svelte.d.ts +9 -11
- package/dist/focus-trap/FocusTrap.svelte +7 -14
- package/dist/focus-trap/FocusTrap.svelte.d.ts +11 -25
- 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-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 +4 -2
- package/dist/index.js +4 -2
- package/dist/input/Input.svelte +3 -3
- package/dist/input/Input.svelte.d.ts +10 -14
- package/dist/internal/FloatingProvider.svelte +12 -0
- package/dist/internal/FloatingProvider.svelte.d.ts +6 -0
- package/dist/internal/FocusSentinel.svelte.d.ts +2 -18
- package/dist/internal/ForcePortalRoot.svelte.d.ts +2 -18
- package/dist/internal/FormFields.svelte +22 -19
- package/dist/internal/FormFields.svelte.d.ts +2 -18
- package/dist/internal/FormFieldsProvider.svelte +13 -0
- package/dist/internal/FormFieldsProvider.svelte.d.ts +5 -0
- package/dist/internal/FormResolver.svelte.d.ts +2 -18
- package/dist/internal/Hidden.svelte +18 -8
- package/dist/internal/Hidden.svelte.d.ts +11 -16
- package/dist/internal/HiddenFeatures.d.ts +5 -0
- package/dist/internal/HiddenFeatures.js +9 -0
- package/dist/internal/MainTreeProvider.svelte.d.ts +2 -18
- package/dist/internal/Portal.svelte.d.ts +2 -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 +48 -23
- package/dist/internal/floating.svelte.js +91 -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 +6 -5
- package/dist/label/Label.svelte.d.ts +9 -11
- package/dist/label/context.svelte.js +1 -1
- package/dist/legend/Legend.svelte +2 -2
- package/dist/legend/Legend.svelte.d.ts +4 -32
- package/dist/listbox/Listbox.svelte +47 -68
- package/dist/listbox/Listbox.svelte.d.ts +18 -80
- package/dist/listbox/ListboxButton.svelte +10 -10
- package/dist/listbox/ListboxButton.svelte.d.ts +10 -15
- package/dist/listbox/ListboxOption.svelte +10 -6
- package/dist/listbox/ListboxOption.svelte.d.ts +9 -12
- package/dist/listbox/ListboxOptions.svelte +108 -54
- package/dist/listbox/ListboxOptions.svelte.d.ts +9 -12
- package/dist/listbox/ListboxSelectedOption.svelte +2 -4
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +14 -16
- package/dist/listbox/context.svelte.d.ts +76 -0
- package/dist/listbox/context.svelte.js +36 -0
- package/dist/listbox/index.d.ts +4 -4
- package/dist/listbox/index.js +1 -1
- package/dist/menu/Menu.svelte +9 -187
- package/dist/menu/Menu.svelte.d.ts +9 -12
- package/dist/menu/MenuButton.svelte +4 -2
- package/dist/menu/MenuButton.svelte.d.ts +9 -12
- package/dist/menu/MenuHeading.svelte.d.ts +9 -12
- package/dist/menu/MenuItem.svelte.d.ts +11 -16
- package/dist/menu/MenuItems.svelte +15 -11
- package/dist/menu/MenuItems.svelte.d.ts +9 -12
- package/dist/menu/MenuSection.svelte.d.ts +8 -11
- package/dist/menu/MenuSeparator.svelte.d.ts +8 -12
- 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/popover/Popover.svelte +161 -0
- package/dist/popover/Popover.svelte.d.ts +39 -0
- package/dist/popover/PopoverBackdrop.svelte +56 -0
- package/dist/popover/PopoverBackdrop.svelte.d.ts +43 -0
- package/dist/popover/PopoverButton.svelte +246 -0
- package/dist/popover/PopoverButton.svelte.d.ts +42 -0
- package/dist/popover/PopoverGroup.svelte +43 -0
- package/dist/popover/PopoverGroup.svelte.d.ts +31 -0
- package/dist/popover/PopoverPanel.svelte +274 -0
- package/dist/popover/PopoverPanel.svelte.d.ts +51 -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 +9 -11
- package/dist/portal/Portal.svelte.d.ts +2 -6
- package/dist/portal/PortalGroup.svelte.d.ts +9 -11
- package/dist/select/Select.svelte +74 -0
- package/dist/select/Select.svelte.d.ts +46 -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 +10 -12
- package/dist/switch/SwitchGroup.svelte.d.ts +8 -10
- package/dist/tabs/Tab.svelte +8 -9
- package/dist/tabs/Tab.svelte.d.ts +9 -11
- package/dist/tabs/TabGroup.svelte +27 -190
- package/dist/tabs/TabGroup.svelte.d.ts +9 -31
- package/dist/tabs/TabList.svelte +4 -4
- package/dist/tabs/TabList.svelte.d.ts +8 -10
- package/dist/tabs/TabPanel.svelte +4 -5
- package/dist/tabs/TabPanel.svelte.d.ts +9 -11
- package/dist/tabs/TabPanels.svelte +3 -3
- package/dist/tabs/TabPanels.svelte.d.ts +8 -10
- package/dist/tabs/context.svelte.d.ts +31 -0
- package/dist/tabs/context.svelte.js +134 -0
- package/dist/textarea/Textarea.svelte +4 -4
- package/dist/textarea/Textarea.svelte.d.ts +21 -20
- package/dist/transition/InternalTransitionChild.svelte.d.ts +9 -11
- package/dist/transition/Transition.svelte.d.ts +9 -11
- package/dist/transition/TransitionChild.svelte.d.ts +9 -11
- package/dist/transition/context.svelte.js +2 -2
- package/dist/utils/DisabledProvider.svelte +6 -0
- package/dist/utils/DisabledProvider.svelte.d.ts +6 -0
- package/dist/utils/ElementOrComponent.svelte +2 -2
- package/dist/utils/ElementOrComponent.svelte.d.ts +12 -11
- package/dist/utils/Generic.svelte +10 -8
- package/dist/utils/Generic.svelte.d.ts +12 -15
- package/dist/utils/StableCollection.svelte.d.ts +2 -18
- 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 +7 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +50 -0
- package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte.d.ts +25 -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/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/style.d.ts +2 -0
- package/dist/utils/style.js +6 -0
- package/dist/utils/types.d.ts +9 -13
- package/package.json +27 -26
- package/dist/dialog/InternalDialog.svelte +0 -233
- package/dist/dialog/InternalDialog.svelte.d.ts +0 -42
- package/dist/internal/HoistFormFields.svelte +0 -11
- package/dist/internal/HoistFormFields.svelte.d.ts +0 -21
- package/dist/internal/id.d.ts +0 -8
- package/dist/internal/id.js +0 -11
|
@@ -15,7 +15,7 @@ let {
|
|
|
15
15
|
type = "button",
|
|
16
16
|
...theirProps
|
|
17
17
|
} = $props();
|
|
18
|
-
const disabled = $derived(providedDisabled.
|
|
18
|
+
const disabled = $derived(providedDisabled.current || ownDisabled);
|
|
19
19
|
const { isHovered: hover, hoverProps } = $derived(
|
|
20
20
|
useHover({
|
|
21
21
|
get disabled() {
|
|
@@ -16,19 +16,19 @@ export type ButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> =
|
|
|
16
16
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> {
|
|
17
17
|
props(): {
|
|
18
18
|
as?: TTag | undefined;
|
|
19
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "
|
|
20
|
-
children?: import("
|
|
19
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "disabled" | "autofocus" | "type"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
20
|
+
children?: import("svelte").Snippet<[{
|
|
21
|
+
slot: ButtonRenderPropArg;
|
|
22
|
+
props: Record<string, any>;
|
|
23
|
+
}]> | undefined;
|
|
24
|
+
class?: string | ((bag: ButtonRenderPropArg) => string) | null | undefined;
|
|
21
25
|
ref?: HTMLElement;
|
|
22
|
-
} &
|
|
23
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: ButtonRenderPropArg) => string) | undefined;
|
|
24
|
-
} : {}) & {
|
|
26
|
+
} & {
|
|
25
27
|
disabled?: boolean;
|
|
26
28
|
autofocus?: boolean;
|
|
27
29
|
type?: "button" | "submit" | "reset";
|
|
28
30
|
};
|
|
29
|
-
events(): {}
|
|
30
|
-
[evt: string]: CustomEvent<any>;
|
|
31
|
-
};
|
|
31
|
+
events(): {};
|
|
32
32
|
slots(): {};
|
|
33
33
|
bindings(): "ref";
|
|
34
34
|
exports(): {};
|
|
@@ -37,9 +37,7 @@ interface $$IsomorphicComponent {
|
|
|
37
37
|
new <TTag extends ElementType = typeof DEFAULT_BUTTON_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']>> & {
|
|
38
38
|
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
39
39
|
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
40
|
-
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
41
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
42
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
40
|
+
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
43
41
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
44
42
|
}
|
|
45
43
|
declare const Button: $$IsomorphicComponent;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<script lang="ts" generics="TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG">import { tick } from "svelte";
|
|
5
5
|
import { attemptSubmit } from "../utils/form.js";
|
|
6
|
-
import {
|
|
6
|
+
import { useProvidedId, htmlid } from "../utils/id.js";
|
|
7
7
|
import { useActivePress } from "../hooks/use-active-press.svelte.js";
|
|
8
8
|
import { useFocusRing } from "../hooks/use-focus-ring.svelte.js";
|
|
9
9
|
import FormFields from "../internal/FormFields.svelte";
|
|
@@ -15,12 +15,12 @@ import { mergeProps } from "../utils/render.js";
|
|
|
15
15
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
16
16
|
import { useControllable } from "../hooks/use-controllable.svelte.js";
|
|
17
17
|
const internalId = htmlid();
|
|
18
|
-
const providedId =
|
|
18
|
+
const providedId = useProvidedId();
|
|
19
19
|
const providedDisabled = useDisabled();
|
|
20
20
|
let {
|
|
21
21
|
ref = $bindable(),
|
|
22
22
|
id = providedId || `headlessui-checkbox-${internalId}`,
|
|
23
|
-
disabled:
|
|
23
|
+
disabled: theirDisabled = false,
|
|
24
24
|
autofocus = false,
|
|
25
25
|
checked: controlledChecked = $bindable(),
|
|
26
26
|
defaultChecked: _defaultChecked,
|
|
@@ -45,7 +45,7 @@ const controllable = useControllable(
|
|
|
45
45
|
defaultChecked ?? false
|
|
46
46
|
);
|
|
47
47
|
const { value: checked, onchange } = $derived(controllable);
|
|
48
|
-
const disabled = $derived(providedDisabled.
|
|
48
|
+
const disabled = $derived(providedDisabled.current || theirDisabled);
|
|
49
49
|
const { isHovered: hover, hoverProps } = $derived(
|
|
50
50
|
useHover({
|
|
51
51
|
get disabled() {
|
|
@@ -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 let DEFAULT_CHECKBOX_TAG: "span";
|
|
3
3
|
type CheckboxRenderPropArg = {
|
|
4
4
|
checked: boolean;
|
|
@@ -12,7 +12,6 @@ type CheckboxRenderPropArg = {
|
|
|
12
12
|
};
|
|
13
13
|
type CheckboxPropsWeControl = "aria-checked" | "aria-describedby" | "aria-disabled" | "aria-labelledby" | "role" | "tabIndex";
|
|
14
14
|
export type CheckboxProps<TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG, TType = string> = Props<TTag, CheckboxRenderPropArg, CheckboxPropsWeControl, {
|
|
15
|
-
id?: string;
|
|
16
15
|
value?: TType;
|
|
17
16
|
disabled?: boolean;
|
|
18
17
|
indeterminate?: boolean;
|
|
@@ -26,13 +25,14 @@ export type CheckboxProps<TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG
|
|
|
26
25
|
declare class __sveltets_Render<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG> {
|
|
27
26
|
props(): {
|
|
28
27
|
as?: TTag | undefined;
|
|
29
|
-
} & (Exclude<keyof
|
|
30
|
-
children?: import("
|
|
28
|
+
} & (Exclude<keyof PropsOf<TTag>, "form" | ("slot" | "as" | "children" | "class" | "ref") | "disabled" | "autofocus" | "value" | "checked" | "name" | "onchange" | "indeterminate" | CheckboxPropsWeControl | "defaultChecked"> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
29
|
+
children?: import("svelte").Snippet<[{
|
|
30
|
+
slot: CheckboxRenderPropArg;
|
|
31
|
+
props: Record<string, any>;
|
|
32
|
+
}]> | undefined;
|
|
33
|
+
class?: string | ((bag: CheckboxRenderPropArg) => string) | null | undefined;
|
|
31
34
|
ref?: HTMLElement;
|
|
32
|
-
} &
|
|
33
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: CheckboxRenderPropArg) => string) | undefined;
|
|
34
|
-
} : {}) & {
|
|
35
|
-
id?: string;
|
|
35
|
+
} & {
|
|
36
36
|
value?: TType | undefined;
|
|
37
37
|
disabled?: boolean;
|
|
38
38
|
indeterminate?: boolean;
|
|
@@ -43,9 +43,7 @@ declare class __sveltets_Render<TType, TTag extends ElementType = typeof DEFAULT
|
|
|
43
43
|
name?: string;
|
|
44
44
|
onchange?: (checked: boolean) => void;
|
|
45
45
|
};
|
|
46
|
-
events(): {}
|
|
47
|
-
[evt: string]: CustomEvent<any>;
|
|
48
|
-
};
|
|
46
|
+
events(): {};
|
|
49
47
|
slots(): {};
|
|
50
48
|
bindings(): "ref" | "checked";
|
|
51
49
|
exports(): {};
|
|
@@ -54,9 +52,7 @@ interface $$IsomorphicComponent {
|
|
|
54
52
|
new <TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TType, TTag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TType, TTag>['props']>, ReturnType<__sveltets_Render<TType, TTag>['events']>, ReturnType<__sveltets_Render<TType, TTag>['slots']>> & {
|
|
55
53
|
$$bindings?: ReturnType<__sveltets_Render<TType, TTag>['bindings']>;
|
|
56
54
|
} & ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
57
|
-
<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TTag>['props']> & {
|
|
58
|
-
$$events?: ReturnType<__sveltets_Render<TType, TTag>['events']>;
|
|
59
|
-
}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
55
|
+
<TType, TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TType, TTag>['props']> & {}): ReturnType<__sveltets_Render<TType, TTag>['exports']>;
|
|
60
56
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
61
57
|
}
|
|
62
58
|
declare const Checkbox: $$IsomorphicComponent;
|
|
@@ -5,31 +5,31 @@ export type CloseButtonProps<TTag extends ElementType = typeof DEFAULT_BUTTON_TA
|
|
|
5
5
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG> {
|
|
6
6
|
props(): {
|
|
7
7
|
as?: TTag | undefined;
|
|
8
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "
|
|
9
|
-
children?: import("
|
|
8
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "disabled" | "autofocus" | "type"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
9
|
+
children?: import("svelte").Snippet<[{
|
|
10
|
+
slot: {
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
hover: boolean;
|
|
13
|
+
focus: boolean;
|
|
14
|
+
active: boolean;
|
|
15
|
+
autofocus: boolean;
|
|
16
|
+
};
|
|
17
|
+
props: Record<string, any>;
|
|
18
|
+
}]> | undefined;
|
|
19
|
+
class?: string | ((bag: {
|
|
10
20
|
disabled: boolean;
|
|
11
21
|
hover: boolean;
|
|
12
22
|
focus: boolean;
|
|
13
23
|
active: boolean;
|
|
14
24
|
autofocus: boolean;
|
|
15
|
-
}
|
|
25
|
+
}) => string) | null | undefined;
|
|
16
26
|
ref?: HTMLElement;
|
|
17
|
-
} &
|
|
18
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: {
|
|
19
|
-
disabled: boolean;
|
|
20
|
-
hover: boolean;
|
|
21
|
-
focus: boolean;
|
|
22
|
-
active: boolean;
|
|
23
|
-
autofocus: boolean;
|
|
24
|
-
}) => string) | undefined;
|
|
25
|
-
} : {}) & {
|
|
27
|
+
} & {
|
|
26
28
|
disabled?: boolean;
|
|
27
29
|
autofocus?: boolean;
|
|
28
30
|
type?: "button" | "submit" | "reset";
|
|
29
31
|
};
|
|
30
|
-
events(): {}
|
|
31
|
-
[evt: string]: CustomEvent<any>;
|
|
32
|
-
};
|
|
32
|
+
events(): {};
|
|
33
33
|
slots(): {};
|
|
34
34
|
bindings(): "";
|
|
35
35
|
exports(): {};
|
|
@@ -38,9 +38,7 @@ interface $$IsomorphicComponent {
|
|
|
38
38
|
new <TTag extends ElementType = typeof DEFAULT_BUTTON_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']>> & {
|
|
39
39
|
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
40
40
|
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
41
|
-
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
42
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
43
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
41
|
+
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
44
42
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
45
43
|
}
|
|
46
44
|
declare const CloseButton: $$IsomorphicComponent;
|
|
@@ -8,19 +8,18 @@ type DataInteractiveRenderPropArg = {
|
|
|
8
8
|
};
|
|
9
9
|
type DataInteractivePropsWeControl = never;
|
|
10
10
|
export type DataInteractiveProps<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> = Props<TTag, DataInteractiveRenderPropArg, DataInteractivePropsWeControl, {}>;
|
|
11
|
-
export type DataInteractiveChildren = Snippet<[DataInteractiveRenderPropArg]>;
|
|
12
11
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG> {
|
|
13
12
|
props(): {
|
|
14
13
|
as?: TTag | undefined;
|
|
15
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, "as" | "children" | "
|
|
16
|
-
children?:
|
|
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
|
+
slot: DataInteractiveRenderPropArg;
|
|
17
|
+
props: Record<string, any>;
|
|
18
|
+
}]> | undefined;
|
|
19
|
+
class?: string | ((bag: DataInteractiveRenderPropArg) => string) | null | undefined;
|
|
17
20
|
ref?: HTMLElement;
|
|
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
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: DataInteractiveRenderPropArg) => string) | undefined;
|
|
20
|
-
} : {});
|
|
21
|
-
events(): {} & {
|
|
22
|
-
[evt: string]: CustomEvent<any>;
|
|
23
21
|
};
|
|
22
|
+
events(): {};
|
|
24
23
|
slots(): {};
|
|
25
24
|
bindings(): "ref";
|
|
26
25
|
exports(): {};
|
|
@@ -29,9 +28,7 @@ interface $$IsomorphicComponent {
|
|
|
29
28
|
new <TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_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']>> & {
|
|
30
29
|
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
31
30
|
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
32
|
-
<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
33
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
34
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
31
|
+
<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
35
32
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
36
33
|
}
|
|
37
34
|
declare const DataInteractive: $$IsomorphicComponent;
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
<script lang="ts" module>let DEFAULT_DESCRIPTION_TAG = "p";
|
|
2
2
|
</script>
|
|
3
3
|
|
|
4
|
-
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG">import {
|
|
5
|
-
import { stateFromSlot } from "../utils/state.js";
|
|
4
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG">import { useId } from "../hooks/use-id.js";
|
|
6
5
|
import { useDisabled } from "../hooks/use-disabled.js";
|
|
7
|
-
import { onMount } from "svelte";
|
|
8
6
|
import { useDescriptionContext } from "./context.svelte.js";
|
|
9
|
-
|
|
7
|
+
import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
8
|
+
import { untrack } from "svelte";
|
|
9
|
+
const internalId = useId();
|
|
10
10
|
const providedDisabled = useDisabled();
|
|
11
11
|
let {
|
|
12
|
-
|
|
12
|
+
ref = $bindable(),
|
|
13
13
|
id = `headlessui-description-${internalId}`,
|
|
14
|
-
children,
|
|
15
14
|
...theirProps
|
|
16
15
|
} = $props();
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const { register } = useDescriptionContext();
|
|
17
|
+
$effect(() => {
|
|
18
|
+
id;
|
|
19
|
+
return untrack(() => register(id));
|
|
20
20
|
});
|
|
21
|
-
const disabled = $derived(providedDisabled.
|
|
21
|
+
const disabled = $derived(providedDisabled.current || false);
|
|
22
22
|
const slot = $derived({ disabled });
|
|
23
|
-
const ourProps = $derived({ id
|
|
23
|
+
const ourProps = $derived({ id });
|
|
24
24
|
</script>
|
|
25
25
|
|
|
26
|
-
<
|
|
27
|
-
{
|
|
28
|
-
|
|
26
|
+
<ElementOrComponent
|
|
27
|
+
{ourProps}
|
|
28
|
+
{theirProps}
|
|
29
|
+
slots={slot}
|
|
30
|
+
defaultTag={DEFAULT_DESCRIPTION_TAG}
|
|
31
|
+
name="Description"
|
|
32
|
+
bind:ref
|
|
33
|
+
/>
|
|
@@ -4,26 +4,24 @@ export type DescriptionProps<TTag extends ElementType = typeof DEFAULT_DESCRIPTI
|
|
|
4
4
|
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG> {
|
|
5
5
|
props(): {
|
|
6
6
|
as?: TTag | undefined;
|
|
7
|
-
} & (Exclude<keyof PropsOf<TTag>, "as" | "children" | "
|
|
8
|
-
children?: import("
|
|
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
|
+
children?: import("svelte").Snippet<[{
|
|
9
|
+
slot: {};
|
|
10
|
+
props: Record<string, any>;
|
|
11
|
+
}]> | undefined;
|
|
12
|
+
class?: string | ((bag: {}) => string) | null | undefined;
|
|
9
13
|
ref?: HTMLElement;
|
|
10
|
-
} & (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) ? {
|
|
11
|
-
class?: PropsOf<TTag>["class"] | ((bag: {}) => string) | undefined;
|
|
12
|
-
} : {});
|
|
13
|
-
events(): {} & {
|
|
14
|
-
[evt: string]: CustomEvent<any>;
|
|
15
14
|
};
|
|
15
|
+
events(): {};
|
|
16
16
|
slots(): {};
|
|
17
|
-
bindings(): "";
|
|
17
|
+
bindings(): "ref";
|
|
18
18
|
exports(): {};
|
|
19
19
|
}
|
|
20
20
|
interface $$IsomorphicComponent {
|
|
21
21
|
new <TTag extends ElementType = typeof DEFAULT_DESCRIPTION_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']>> & {
|
|
22
22
|
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
23
23
|
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
24
|
-
<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
25
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
26
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
24
|
+
<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
27
25
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
28
26
|
}
|
|
29
27
|
declare const Description: $$IsomorphicComponent;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getContext, setContext } from "svelte";
|
|
2
2
|
export function useDescriptionContext() {
|
|
3
|
-
|
|
4
|
-
if (context
|
|
5
|
-
|
|
3
|
+
const context = getContext("DescriptionContext");
|
|
4
|
+
if (!context) {
|
|
5
|
+
const err = new Error("You used a <Description /> component, but it is not inside a relevant parent.");
|
|
6
6
|
if (Error.captureStackTrace)
|
|
7
7
|
Error.captureStackTrace(err, useDescriptionContext);
|
|
8
8
|
throw err;
|
|
@@ -18,10 +18,19 @@ export function useDescribedBy() {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
export const useDescriptions = (options = {}) => {
|
|
21
|
-
const { slot, name, props
|
|
22
|
-
|
|
21
|
+
const { slot, name, props } = $derived(options);
|
|
22
|
+
const descriptionIds = $state([]);
|
|
23
|
+
const register = (value) => {
|
|
24
|
+
descriptionIds.push(value);
|
|
25
|
+
return () => {
|
|
26
|
+
const idx = descriptionIds.indexOf(value);
|
|
27
|
+
if (idx !== -1)
|
|
28
|
+
descriptionIds.splice(idx, 1);
|
|
29
|
+
};
|
|
30
|
+
};
|
|
23
31
|
const value = $derived(descriptionIds.length > 0 ? descriptionIds.join(" ") : undefined);
|
|
24
32
|
const context = {
|
|
33
|
+
register,
|
|
25
34
|
get slot() {
|
|
26
35
|
return slot;
|
|
27
36
|
},
|
|
@@ -34,17 +43,6 @@ export const useDescriptions = (options = {}) => {
|
|
|
34
43
|
get value() {
|
|
35
44
|
return value;
|
|
36
45
|
},
|
|
37
|
-
register(value) {
|
|
38
|
-
descriptionIds.push(value);
|
|
39
|
-
return () => {
|
|
40
|
-
const clone = descriptionIds.slice();
|
|
41
|
-
const idx = clone.indexOf(value);
|
|
42
|
-
if (idx !== -1)
|
|
43
|
-
clone.splice(idx, 1);
|
|
44
|
-
descriptionIds = clone;
|
|
45
|
-
return descriptionIds;
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
46
|
};
|
|
49
47
|
setContext("DescriptionContext", context);
|
|
50
48
|
return context;
|