@pzerelles/headlessui-svelte 2.1.2-next.6 → 2.1.2-next.61
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 +16 -19
- 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 +31 -27
- 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 +29 -24
- 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 +25 -30
- 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 +30 -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/InternalDialog.svelte +38 -34
- package/dist/dialog/InternalDialog.svelte.d.ts +3 -41
- 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/disclosure/Disclosure.svelte +61 -0
- package/dist/disclosure/Disclosure.svelte.d.ts +14 -0
- package/dist/disclosure/DisclosureButton.svelte +191 -0
- package/dist/disclosure/DisclosureButton.svelte.d.ts +19 -0
- package/dist/disclosure/DisclosurePanel.svelte +99 -0
- package/dist/disclosure/DisclosurePanel.svelte.d.ts +16 -0
- package/dist/disclosure/context.svelte.d.ts +32 -0
- package/dist/disclosure/context.svelte.js +94 -0
- package/dist/disclosure/index.d.ts +3 -0
- package/dist/disclosure/index.js +3 -0
- 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 +21 -20
- package/dist/fieldset/Fieldset.svelte.d.ts +8 -35
- package/dist/fieldset/index.d.ts +1 -1
- package/dist/focus-trap/FocusTrap.svelte +29 -36
- package/dist/focus-trap/FocusTrap.svelte.d.ts +8 -38
- package/dist/hooks/use-controllable.svelte.js +3 -2
- 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-element-size.svelte.js +1 -1
- 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-focus-ring.svelte.js +1 -1
- package/dist/hooks/use-inert-others.svelte.js +10 -10
- package/dist/hooks/use-is-top-layer.svelte.js +2 -2
- 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 +7 -6
- package/dist/hooks/use-tab-direction.svelte.js +1 -1
- package/dist/hooks/use-transition.svelte.d.ts +1 -0
- package/dist/hooks/use-transition.svelte.js +32 -7
- package/dist/index.d.ts +11 -2
- package/dist/index.js +11 -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 +2 -2
- 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 +47 -23
- 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/internal/frozen.svelte.js +1 -1
- package/dist/label/Label.svelte +15 -11
- 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 +22 -15
- package/dist/legend/Legend.svelte.d.ts +10 -34
- package/dist/listbox/Listbox.svelte +79 -151
- package/dist/listbox/Listbox.svelte.d.ts +16 -91
- package/dist/listbox/ListboxButton.svelte +31 -29
- package/dist/listbox/ListboxButton.svelte.d.ts +8 -38
- package/dist/listbox/ListboxOption.svelte +40 -27
- package/dist/listbox/ListboxOption.svelte.d.ts +16 -32
- package/dist/listbox/ListboxOptions.svelte +126 -72
- 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 +29 -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 +231 -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 +18 -19
- package/dist/portal/InternalPortal.svelte.d.ts +7 -34
- 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/portal/PortalWrapper.svelte +10 -0
- package/dist/portal/PortalWrapper.svelte.d.ts +9 -0
- package/dist/radio-group/Radio.svelte +142 -0
- package/dist/radio-group/Radio.svelte.d.ts +35 -0
- package/dist/radio-group/RadioGroup.svelte +222 -0
- package/dist/radio-group/RadioGroup.svelte.d.ts +34 -0
- package/dist/radio-group/RadioOption.svelte +145 -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 +112 -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 +28 -31
- 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 +20 -20
- 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 +24 -20
- package/dist/textarea/Textarea.svelte.d.ts +17 -29
- package/dist/textarea/index.d.ts +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/transition/InternalTransitionChild.svelte +36 -22
- package/dist/transition/InternalTransitionChild.svelte.d.ts +6 -37
- 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 +11 -11
- 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 +58 -17
- package/dist/utils/ElementOrComponent.svelte.d.ts +19 -30
- 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 +183 -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 +13 -19
- package/package.json +55 -54
- package/dist/combobox/Combobox.svelte +0 -53
- package/dist/combobox/Combobox.svelte.d.ts +0 -50
- 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/listbox/ListboxStates.d.ts +0 -12
- package/dist/listbox/ListboxStates.js +0 -15
- 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,31 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare
|
|
3
|
-
export type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
};
|
|
16
|
-
slots(): {};
|
|
17
|
-
bindings(): "";
|
|
18
|
-
exports(): {};
|
|
19
|
-
}
|
|
20
|
-
interface $$IsomorphicComponent {
|
|
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
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
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']>;
|
|
27
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
28
|
-
}
|
|
29
|
-
declare const Description: $$IsomorphicComponent;
|
|
30
|
-
type Description<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG> = InstanceType<typeof Description<TTag>>;
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_DESCRIPTION_TAG: "p";
|
|
3
|
+
export type DescriptionOwnProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
element?: HTMLElement;
|
|
6
|
+
};
|
|
7
|
+
export type DescriptionProps = Props<typeof DEFAULT_DESCRIPTION_TAG, {}, DescriptionOwnProps>;
|
|
8
|
+
declare const Description: import("svelte").Component<DescriptionProps, {}, "element">;
|
|
9
|
+
type Description = ReturnType<typeof Description>;
|
|
31
10
|
export default Description;
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as Description, type DescriptionProps } from "./Description.svelte";
|
|
1
|
+
export { default as Description, type DescriptionProps, type DescriptionOwnProps } from "./Description.svelte";
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import {
|
|
3
|
-
import { useOpenClosed } from "../internal/open-closed.js"
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
4
3
|
import { RenderFeatures, type PropsForFeatures } from "../utils/render.js"
|
|
5
|
-
import type { ElementType, Props } from "../utils/types.js"
|
|
6
|
-
import { getContext, type Component, type Snippet } from "svelte"
|
|
7
|
-
import InternalDialog from "./InternalDialog.svelte"
|
|
8
|
-
import Transition from "../transition/Transition.svelte"
|
|
9
4
|
|
|
10
5
|
export const DEFAULT_DIALOG_TAG = "div" as const
|
|
6
|
+
|
|
11
7
|
export type DialogRenderPropArg = {
|
|
12
8
|
open: boolean
|
|
13
9
|
}
|
|
@@ -15,27 +11,28 @@
|
|
|
15
11
|
|
|
16
12
|
export const DialogRenderFeatures = RenderFeatures.RenderStrategy | RenderFeatures.Static
|
|
17
13
|
|
|
18
|
-
export type
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
transition?: boolean
|
|
30
|
-
__demoMode?: boolean
|
|
31
|
-
}
|
|
32
|
-
>
|
|
14
|
+
export type DialogOwnProps = PropsForFeatures<typeof DialogRenderFeatures> & {
|
|
15
|
+
element?: HTMLElement
|
|
16
|
+
id?: string
|
|
17
|
+
open?: boolean
|
|
18
|
+
onclose(value: boolean): void
|
|
19
|
+
initialFocus?: HTMLElement
|
|
20
|
+
role?: "dialog" | "alertdialog"
|
|
21
|
+
autofocus?: boolean
|
|
22
|
+
transition?: boolean
|
|
23
|
+
__demoMode?: boolean
|
|
24
|
+
}
|
|
33
25
|
|
|
34
|
-
export type
|
|
26
|
+
export type DialogProps = Props<typeof DEFAULT_DIALOG_TAG, DialogRenderPropArg, DialogOwnProps>
|
|
35
27
|
</script>
|
|
36
28
|
|
|
37
|
-
<script lang="ts"
|
|
38
|
-
|
|
29
|
+
<script lang="ts">
|
|
30
|
+
import { useOpenClosed } from "../internal/open-closed.js"
|
|
31
|
+
import MainTreeProvider from "../internal/MainTreeProvider.svelte"
|
|
32
|
+
import Transition from "../transition/Transition.svelte"
|
|
33
|
+
import InternalDialog from "./InternalDialog.svelte"
|
|
34
|
+
|
|
35
|
+
let { element = $bindable(), transition = false, open, ...rest }: DialogProps = $props()
|
|
39
36
|
|
|
40
37
|
// Validations
|
|
41
38
|
const usesOpenClosedState = useOpenClosed()
|
|
@@ -67,20 +64,18 @@
|
|
|
67
64
|
)
|
|
68
65
|
}
|
|
69
66
|
})
|
|
70
|
-
|
|
71
|
-
const DialogComponent = InternalDialog as Component<DialogProps<TTag>, any>
|
|
72
67
|
</script>
|
|
73
68
|
|
|
74
69
|
{#if (open !== undefined || transition) && !rest.static}
|
|
75
70
|
<MainTreeProvider>
|
|
76
|
-
<Transition show={open} {transition} unmount={rest.unmount} {
|
|
77
|
-
{#snippet children(
|
|
78
|
-
<
|
|
71
|
+
<Transition asChild show={open} {transition} unmount={rest.unmount} {element}>
|
|
72
|
+
{#snippet children({ props })}
|
|
73
|
+
<InternalDialog {...rest} {...props} bind:element />
|
|
79
74
|
{/snippet}
|
|
80
75
|
</Transition>
|
|
81
76
|
</MainTreeProvider>
|
|
82
77
|
{:else}
|
|
83
78
|
<MainTreeProvider>
|
|
84
|
-
<
|
|
79
|
+
<InternalDialog bind:element {open} {...rest} />
|
|
85
80
|
</MainTreeProvider>
|
|
86
81
|
{/if}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
1
2
|
import { type PropsForFeatures } from "../utils/render.js";
|
|
2
|
-
import type { ElementType, Props } from "../utils/types.js";
|
|
3
|
-
import { type Snippet } from "svelte";
|
|
4
3
|
export declare const DEFAULT_DIALOG_TAG: "div";
|
|
5
4
|
export type DialogRenderPropArg = {
|
|
6
5
|
open: boolean;
|
|
7
6
|
};
|
|
8
|
-
type DialogPropsWeControl = "aria-describedby" | "aria-labelledby" | "aria-modal";
|
|
9
7
|
export declare const DialogRenderFeatures: number;
|
|
10
|
-
export type
|
|
8
|
+
export type DialogOwnProps = PropsForFeatures<typeof DialogRenderFeatures> & {
|
|
9
|
+
element?: HTMLElement;
|
|
11
10
|
id?: string;
|
|
12
11
|
open?: boolean;
|
|
13
12
|
onclose(value: boolean): void;
|
|
@@ -16,45 +15,8 @@ export type DialogProps<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG> =
|
|
|
16
15
|
autofocus?: boolean;
|
|
17
16
|
transition?: boolean;
|
|
18
17
|
__demoMode?: boolean;
|
|
19
|
-
}
|
|
20
|
-
export type
|
|
21
|
-
declare
|
|
22
|
-
|
|
23
|
-
as?: TTag | undefined;
|
|
24
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "autofocus" | "unmount" | "static" | "id" | "role" | "onclose" | "initialFocus" | DialogPropsWeControl | "open" | "transition" | "__demoMode"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
25
|
-
children?: import("../utils/types.js").Children<DialogRenderPropArg> | undefined;
|
|
26
|
-
ref?: HTMLElement;
|
|
27
|
-
} & (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) ? {
|
|
28
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: DialogRenderPropArg) => string) | undefined;
|
|
29
|
-
} : {}) & {
|
|
30
|
-
static?: boolean | undefined;
|
|
31
|
-
unmount?: boolean | undefined;
|
|
32
|
-
} & {
|
|
33
|
-
id?: string;
|
|
34
|
-
open?: boolean;
|
|
35
|
-
onclose(value: boolean): void;
|
|
36
|
-
initialFocus?: HTMLElement;
|
|
37
|
-
role?: "dialog" | "alertdialog";
|
|
38
|
-
autofocus?: boolean;
|
|
39
|
-
transition?: boolean;
|
|
40
|
-
__demoMode?: boolean;
|
|
41
|
-
};
|
|
42
|
-
events(): {} & {
|
|
43
|
-
[evt: string]: CustomEvent<any>;
|
|
44
|
-
};
|
|
45
|
-
slots(): {};
|
|
46
|
-
bindings(): "ref";
|
|
47
|
-
exports(): {};
|
|
48
|
-
}
|
|
49
|
-
interface $$IsomorphicComponent {
|
|
50
|
-
new <TTag extends ElementType = typeof DEFAULT_DIALOG_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']>> & {
|
|
51
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
52
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
53
|
-
<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
54
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
55
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
56
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
57
|
-
}
|
|
58
|
-
declare const Dialog: $$IsomorphicComponent;
|
|
59
|
-
type Dialog<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG> = InstanceType<typeof Dialog<TTag>>;
|
|
18
|
+
};
|
|
19
|
+
export type DialogProps = Props<typeof DEFAULT_DIALOG_TAG, DialogRenderPropArg, DialogOwnProps>;
|
|
20
|
+
declare const Dialog: import("svelte").Component<DialogProps, {}, "element">;
|
|
21
|
+
type Dialog = ReturnType<typeof Dialog>;
|
|
60
22
|
export default Dialog;
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
3
|
|
|
4
4
|
let DEFAULT_BACKDROP_TAG = "div" as const
|
|
5
|
-
type BackdropRenderPropArg = {
|
|
5
|
+
export type BackdropRenderPropArg = {
|
|
6
6
|
open: boolean
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
never,
|
|
13
|
-
{ transition?: boolean }
|
|
14
|
-
>
|
|
9
|
+
export type DialogBackdropOwnProps = { transition?: boolean; element?: HTMLElement }
|
|
10
|
+
|
|
11
|
+
export type DialogBackdropProps = Props<typeof DEFAULT_BACKDROP_TAG, BackdropRenderPropArg, DialogBackdropOwnProps>
|
|
15
12
|
</script>
|
|
16
13
|
|
|
17
|
-
<script lang="ts"
|
|
14
|
+
<script lang="ts">
|
|
18
15
|
import { DialogStates, useDialogContext } from "./context.svelte.js"
|
|
19
16
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
20
17
|
import { mergeProps } from "../utils/render.js"
|
|
21
18
|
import TransitionChild from "../transition/TransitionChild.svelte"
|
|
22
19
|
|
|
23
|
-
let {
|
|
20
|
+
let { element = $bindable(), transition = false, ...theirProps }: DialogBackdropProps = $props()
|
|
24
21
|
const _state = useDialogContext("Dialog.Panel")
|
|
25
22
|
const { dialogState, unmount } = $derived(_state)
|
|
26
23
|
|
|
@@ -32,15 +29,15 @@
|
|
|
32
29
|
</script>
|
|
33
30
|
|
|
34
31
|
{#if transition}
|
|
35
|
-
<TransitionChild {unmount} {
|
|
36
|
-
{#snippet children(
|
|
32
|
+
<TransitionChild asChild {unmount} {element}>
|
|
33
|
+
{#snippet children({ props, ...slot })}
|
|
37
34
|
<ElementOrComponent
|
|
38
35
|
ourProps={{ ...ourProps, ...props }}
|
|
39
36
|
{theirProps}
|
|
40
37
|
slots={slot}
|
|
41
38
|
defaultTag={DEFAULT_BACKDROP_TAG}
|
|
42
39
|
name="DialogBackdrop"
|
|
43
|
-
bind:
|
|
40
|
+
bind:element
|
|
44
41
|
/>
|
|
45
42
|
{/snippet}
|
|
46
43
|
</TransitionChild>
|
|
@@ -51,6 +48,6 @@
|
|
|
51
48
|
slots={slot}
|
|
52
49
|
defaultTag={DEFAULT_BACKDROP_TAG}
|
|
53
50
|
name="DialogBackdrop"
|
|
54
|
-
bind:
|
|
51
|
+
bind:element
|
|
55
52
|
/>
|
|
56
53
|
{/if}
|
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare let DEFAULT_BACKDROP_TAG: "div";
|
|
3
|
-
type BackdropRenderPropArg = {
|
|
3
|
+
export type BackdropRenderPropArg = {
|
|
4
4
|
open: boolean;
|
|
5
5
|
};
|
|
6
|
-
export type
|
|
6
|
+
export type DialogBackdropOwnProps = {
|
|
7
7
|
transition?: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
children?: import("../utils/types.js").Children<BackdropRenderPropArg> | undefined;
|
|
14
|
-
ref?: HTMLElement;
|
|
15
|
-
} & (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) ? {
|
|
16
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: BackdropRenderPropArg) => string) | undefined;
|
|
17
|
-
} : {}) & {
|
|
18
|
-
transition?: boolean;
|
|
19
|
-
};
|
|
20
|
-
events(): {} & {
|
|
21
|
-
[evt: string]: CustomEvent<any>;
|
|
22
|
-
};
|
|
23
|
-
slots(): {};
|
|
24
|
-
bindings(): "ref";
|
|
25
|
-
exports(): {};
|
|
26
|
-
}
|
|
27
|
-
interface $$IsomorphicComponent {
|
|
28
|
-
new <TTag extends ElementType = typeof DEFAULT_BACKDROP_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']>> & {
|
|
29
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
30
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
31
|
-
<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
32
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
33
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
34
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
35
|
-
}
|
|
36
|
-
declare const DialogBackdrop: $$IsomorphicComponent;
|
|
37
|
-
type DialogBackdrop<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG> = InstanceType<typeof DialogBackdrop<TTag>>;
|
|
8
|
+
element?: HTMLElement;
|
|
9
|
+
};
|
|
10
|
+
export type DialogBackdropProps = Props<typeof DEFAULT_BACKDROP_TAG, BackdropRenderPropArg, DialogBackdropOwnProps>;
|
|
11
|
+
declare const DialogBackdrop: import("svelte").Component<DialogBackdropProps, {}, "element">;
|
|
12
|
+
type DialogBackdrop = ReturnType<typeof DialogBackdrop>;
|
|
38
13
|
export default DialogBackdrop;
|
|
@@ -1,40 +1,44 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
3
|
|
|
4
4
|
let DEFAULT_PANEL_TAG = "div" as const
|
|
5
|
-
type PanelRenderPropArg = {
|
|
5
|
+
export type PanelRenderPropArg = {
|
|
6
6
|
open: boolean
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export type
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
>
|
|
9
|
+
export type DialogPanelOwnProps = {
|
|
10
|
+
element?: HTMLElement
|
|
11
|
+
id?: string
|
|
12
|
+
transition?: boolean
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type DialogPanelProps = Props<typeof DEFAULT_PANEL_TAG, PanelRenderPropArg, DialogPanelOwnProps>
|
|
18
16
|
</script>
|
|
19
17
|
|
|
20
|
-
<script lang="ts"
|
|
18
|
+
<script lang="ts">
|
|
21
19
|
import { useId } from "../hooks/use-id.js"
|
|
22
20
|
import { DialogStates, useDialogContext } from "./context.svelte.js"
|
|
23
21
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
24
22
|
import { mergeProps } from "../utils/render.js"
|
|
25
23
|
import TransitionChild from "../transition/TransitionChild.svelte"
|
|
26
|
-
import { onMount } from "svelte"
|
|
27
24
|
|
|
28
25
|
let internalId = useId()
|
|
29
26
|
let {
|
|
30
|
-
|
|
27
|
+
element = $bindable(),
|
|
31
28
|
id = `headlessui-dialog-panel-${internalId}`,
|
|
32
29
|
transition = false,
|
|
33
30
|
...theirProps
|
|
34
|
-
}:
|
|
31
|
+
}: DialogPanelProps = $props()
|
|
35
32
|
const _state = useDialogContext("Dialog.Panel")
|
|
36
33
|
const { dialogState, unmount } = $derived(_state)
|
|
37
34
|
|
|
35
|
+
$effect(() => {
|
|
36
|
+
_state.panelRef = element ?? null
|
|
37
|
+
return () => {
|
|
38
|
+
_state.panelRef = null
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
|
|
38
42
|
const slot = $derived({ open: dialogState === DialogStates.Open } satisfies PanelRenderPropArg)
|
|
39
43
|
|
|
40
44
|
// Prevent the click events inside the Dialog.Panel from bubbling through the React Tree which
|
|
@@ -52,18 +56,25 @@
|
|
|
52
56
|
</script>
|
|
53
57
|
|
|
54
58
|
{#if transition}
|
|
55
|
-
<TransitionChild {unmount} {
|
|
56
|
-
{#snippet children(
|
|
59
|
+
<TransitionChild asChild {unmount} {element}>
|
|
60
|
+
{#snippet children({ props, ...slot })}
|
|
57
61
|
<ElementOrComponent
|
|
58
62
|
ourProps={{ ...ourProps, ...props }}
|
|
59
63
|
{theirProps}
|
|
60
64
|
slots={slot}
|
|
61
65
|
defaultTag={DEFAULT_PANEL_TAG}
|
|
62
66
|
name="DialogPanel"
|
|
63
|
-
bind:
|
|
67
|
+
bind:element
|
|
64
68
|
/>
|
|
65
69
|
{/snippet}
|
|
66
70
|
</TransitionChild>
|
|
67
71
|
{:else}
|
|
68
|
-
<ElementOrComponent
|
|
72
|
+
<ElementOrComponent
|
|
73
|
+
{ourProps}
|
|
74
|
+
{theirProps}
|
|
75
|
+
slots={slot}
|
|
76
|
+
defaultTag={DEFAULT_PANEL_TAG}
|
|
77
|
+
name="DialogPanel"
|
|
78
|
+
bind:element
|
|
79
|
+
/>
|
|
69
80
|
{/if}
|
|
@@ -1,40 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare let DEFAULT_PANEL_TAG: "div";
|
|
3
|
-
type PanelRenderPropArg = {
|
|
3
|
+
export type PanelRenderPropArg = {
|
|
4
4
|
open: boolean;
|
|
5
5
|
};
|
|
6
|
-
export type
|
|
6
|
+
export type DialogPanelOwnProps = {
|
|
7
|
+
element?: HTMLElement;
|
|
7
8
|
id?: string;
|
|
8
9
|
transition?: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "id" | "transition"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
14
|
-
children?: import("../utils/types.js").Children<PanelRenderPropArg> | undefined;
|
|
15
|
-
ref?: HTMLElement;
|
|
16
|
-
} & (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) ? {
|
|
17
|
-
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: PanelRenderPropArg) => string) | undefined;
|
|
18
|
-
} : {}) & {
|
|
19
|
-
id?: string;
|
|
20
|
-
transition?: boolean;
|
|
21
|
-
};
|
|
22
|
-
events(): {} & {
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
};
|
|
25
|
-
slots(): {};
|
|
26
|
-
bindings(): "ref";
|
|
27
|
-
exports(): {};
|
|
28
|
-
}
|
|
29
|
-
interface $$IsomorphicComponent {
|
|
30
|
-
new <TTag extends ElementType = typeof DEFAULT_PANEL_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']>> & {
|
|
31
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
32
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
33
|
-
<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
34
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
35
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
36
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
37
|
-
}
|
|
38
|
-
declare const DialogPanel: $$IsomorphicComponent;
|
|
39
|
-
type DialogPanel<TTag extends ElementType = typeof DEFAULT_PANEL_TAG> = InstanceType<typeof DialogPanel<TTag>>;
|
|
10
|
+
};
|
|
11
|
+
export type DialogPanelProps = Props<typeof DEFAULT_PANEL_TAG, PanelRenderPropArg, DialogPanelOwnProps>;
|
|
12
|
+
declare const DialogPanel: import("svelte").Component<DialogPanelProps, {}, "element">;
|
|
13
|
+
type DialogPanel = ReturnType<typeof DialogPanel>;
|
|
40
14
|
export default DialogPanel;
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
3
|
|
|
4
4
|
let DEFAULT_TITLE_TAG = "h2" as const
|
|
5
|
-
type TitleRenderPropArg = {
|
|
5
|
+
export type TitleRenderPropArg = {
|
|
6
6
|
open: boolean
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export type
|
|
9
|
+
export type DialogTitleOwnProps = { id?: string; element?: HTMLElement }
|
|
10
|
+
|
|
11
|
+
export type DialogTitleProps = Props<typeof DEFAULT_TITLE_TAG, TitleRenderPropArg, DialogTitleOwnProps>
|
|
10
12
|
|
|
11
13
|
//
|
|
12
14
|
</script>
|
|
13
15
|
|
|
14
|
-
<script lang="ts"
|
|
16
|
+
<script lang="ts">
|
|
15
17
|
import { useId } from "../hooks/use-id.js"
|
|
16
18
|
import { DialogStates, useDialogContext } from "./context.svelte.js"
|
|
17
19
|
import { onMount } from "svelte"
|
|
@@ -20,10 +22,10 @@
|
|
|
20
22
|
|
|
21
23
|
const internalId = useId()
|
|
22
24
|
let {
|
|
23
|
-
|
|
24
|
-
id = `headlessui-dialog-title-${internalId}
|
|
25
|
+
element = $bindable(),
|
|
26
|
+
id = `headlessui-dialog-title-${internalId}`,
|
|
25
27
|
...theirProps
|
|
26
|
-
}:
|
|
28
|
+
}: DialogTitleProps = $props()
|
|
27
29
|
const _state = useDialogContext("Dialog.Panel")
|
|
28
30
|
const { dialogState, setTitleId } = $derived(_state)
|
|
29
31
|
|
|
@@ -41,4 +43,11 @@
|
|
|
41
43
|
)
|
|
42
44
|
</script>
|
|
43
45
|
|
|
44
|
-
<ElementOrComponent
|
|
46
|
+
<ElementOrComponent
|
|
47
|
+
{ourProps}
|
|
48
|
+
{theirProps}
|
|
49
|
+
slots={slot}
|
|
50
|
+
defaultTag={DEFAULT_TITLE_TAG}
|
|
51
|
+
name="DialogTitle"
|
|
52
|
+
bind:element
|
|
53
|
+
/>
|
|
@@ -1,34 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare let DEFAULT_TITLE_TAG: "h2";
|
|
3
|
-
type TitleRenderPropArg = {
|
|
3
|
+
export type TitleRenderPropArg = {
|
|
4
4
|
open: boolean;
|
|
5
5
|
};
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} & (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) ? {
|
|
14
|
-
class?: PropsOf<TTag>["class"] | ((bag: TitleRenderPropArg) => string) | undefined;
|
|
15
|
-
} : {});
|
|
16
|
-
events(): {} & {
|
|
17
|
-
[evt: string]: CustomEvent<any>;
|
|
18
|
-
};
|
|
19
|
-
slots(): {};
|
|
20
|
-
bindings(): "ref";
|
|
21
|
-
exports(): {};
|
|
22
|
-
}
|
|
23
|
-
interface $$IsomorphicComponent {
|
|
24
|
-
new <TTag extends ElementType = typeof DEFAULT_TITLE_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']>> & {
|
|
25
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
26
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
27
|
-
<TTag extends ElementType = typeof DEFAULT_TITLE_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
28
|
-
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
29
|
-
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
30
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
31
|
-
}
|
|
32
|
-
declare const DialogTitle: $$IsomorphicComponent;
|
|
33
|
-
type DialogTitle<TTag extends ElementType = typeof DEFAULT_TITLE_TAG> = InstanceType<typeof DialogTitle<TTag>>;
|
|
6
|
+
export type DialogTitleOwnProps = {
|
|
7
|
+
id?: string;
|
|
8
|
+
element?: HTMLElement;
|
|
9
|
+
};
|
|
10
|
+
export type DialogTitleProps = Props<typeof DEFAULT_TITLE_TAG, TitleRenderPropArg, DialogTitleOwnProps>;
|
|
11
|
+
declare const DialogTitle: import("svelte").Component<DialogTitleProps, {}, "element">;
|
|
12
|
+
type DialogTitle = ReturnType<typeof DialogTitle>;
|
|
34
13
|
export default DialogTitle;
|