@pzerelles/headlessui-svelte 2.0.0-next.1 → 2.1.2-next.2
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 +61 -0
- package/dist/button/Button.svelte.d.ts +47 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +1 -0
- package/dist/checkbox/Checkbox.svelte +93 -61
- package/dist/checkbox/Checkbox.svelte.d.ts +45 -29
- package/dist/close-button/CloseButton.svelte +11 -0
- package/dist/close-button/CloseButton.svelte.d.ts +48 -0
- package/dist/close-button/index.d.ts +1 -0
- package/dist/close-button/index.js +1 -0
- package/dist/combobox/Combobox.svelte +6 -0
- package/dist/combobox/Combobox.svelte.d.ts +50 -0
- package/dist/data-interactive/DataInteractive.svelte +41 -0
- package/dist/data-interactive/DataInteractive.svelte.d.ts +39 -0
- package/dist/data-interactive/index.d.ts +1 -0
- package/dist/data-interactive/index.js +1 -0
- package/dist/description/Description.svelte +16 -41
- package/dist/description/Description.svelte.d.ts +15 -23
- package/dist/description/context.svelte.d.ts +17 -0
- package/dist/description/context.svelte.js +51 -0
- package/dist/dialog/Dialog.svelte +51 -0
- package/dist/dialog/Dialog.svelte.d.ts +60 -0
- package/dist/dialog/DialogBackdrop.svelte +39 -0
- package/dist/dialog/DialogBackdrop.svelte.d.ts +38 -0
- package/dist/dialog/DialogPanel.svelte +46 -0
- package/dist/dialog/DialogPanel.svelte.d.ts +40 -0
- package/dist/dialog/DialogTitle.svelte +29 -0
- package/dist/dialog/DialogTitle.svelte.d.ts +34 -0
- package/dist/dialog/InternalDialog.svelte +233 -0
- package/dist/dialog/InternalDialog.svelte.d.ts +42 -0
- package/dist/dialog/context.svelte.d.ts +15 -0
- package/dist/dialog/context.svelte.js +16 -0
- package/dist/dialog/index.d.ts +4 -0
- package/dist/dialog/index.js +4 -0
- package/dist/field/Field.svelte +14 -16
- package/dist/field/Field.svelte.d.ts +21 -17
- package/dist/fieldset/Fieldset.svelte +19 -17
- package/dist/fieldset/Fieldset.svelte.d.ts +21 -17
- package/dist/focus-trap/FocusTrap.svelte +332 -0
- package/dist/focus-trap/FocusTrap.svelte.d.ts +58 -0
- package/dist/hooks/document-overflow/adjust-scrollbar-padding.d.ts +2 -0
- package/dist/hooks/document-overflow/adjust-scrollbar-padding.js +18 -0
- package/dist/hooks/document-overflow/handle-ios-locking.d.ts +6 -0
- package/dist/hooks/document-overflow/handle-ios-locking.js +134 -0
- package/dist/hooks/document-overflow/overflow-store.d.ts +19 -0
- package/dist/hooks/document-overflow/overflow-store.js +76 -0
- package/dist/hooks/document-overflow/prevent-scroll.d.ts +2 -0
- package/dist/hooks/document-overflow/prevent-scroll.js +7 -0
- package/dist/hooks/document-overflow/use-document-overflow.svelte.d.ts +7 -0
- package/dist/hooks/document-overflow/use-document-overflow.svelte.js +27 -0
- package/dist/hooks/use-active-press.svelte.d.ts +14 -0
- package/dist/{actions/activePress.svelte.js → hooks/use-active-press.svelte.js} +33 -39
- package/dist/hooks/use-by-comparator.d.ts +2 -0
- package/dist/hooks/use-by-comparator.js +15 -0
- package/dist/hooks/use-controllable.svelte.d.ts +6 -0
- package/dist/hooks/use-controllable.svelte.js +34 -0
- package/dist/hooks/use-did-element-move.svelte.d.ts +6 -0
- package/dist/hooks/use-did-element-move.svelte.js +27 -0
- package/dist/hooks/use-disabled.d.ts +3 -0
- package/dist/hooks/use-disabled.js +9 -0
- package/dist/hooks/use-element-size.svelte.d.ts +7 -0
- package/dist/hooks/use-element-size.svelte.js +36 -0
- package/dist/hooks/use-escape.svelte.d.ts +5 -0
- package/dist/hooks/use-escape.svelte.js +26 -0
- package/dist/hooks/use-event-listener.svelte.d.ts +6 -0
- package/dist/hooks/use-event-listener.svelte.js +12 -0
- package/dist/hooks/use-flags.svelte.d.ts +8 -0
- package/dist/hooks/use-flags.svelte.js +18 -0
- package/dist/hooks/use-focus-ring.svelte.d.ts +10 -0
- package/dist/hooks/use-focus-ring.svelte.js +24 -0
- package/dist/hooks/use-hover.svelte.d.ts +26 -0
- package/dist/hooks/use-hover.svelte.js +124 -0
- package/dist/hooks/use-id.d.ts +1 -0
- package/dist/hooks/use-id.js +1 -0
- package/dist/hooks/use-inert-others.svelte.d.ts +32 -0
- package/dist/hooks/use-inert-others.svelte.js +114 -0
- package/dist/hooks/use-is-mounted.svelte.d.ts +3 -0
- package/dist/hooks/use-is-mounted.svelte.js +14 -0
- package/dist/hooks/use-is-top-layer.svelte.d.ts +29 -0
- package/dist/hooks/use-is-top-layer.svelte.js +82 -0
- package/dist/hooks/use-is-touch-device.svelte.d.ts +3 -0
- package/dist/hooks/use-is-touch-device.svelte.js +20 -0
- package/dist/hooks/use-on-disappear.svelte.d.ts +12 -0
- package/dist/hooks/use-on-disappear.svelte.js +38 -0
- package/dist/hooks/use-outside-click.svelte.d.ts +10 -0
- package/dist/hooks/use-outside-click.svelte.js +150 -0
- package/dist/hooks/use-reducer.d.ts +4 -0
- package/dist/hooks/use-reducer.js +11 -0
- package/dist/hooks/use-resolve-button-type.svelte.d.ts +10 -0
- package/dist/hooks/use-resolve-button-type.svelte.js +19 -0
- package/dist/hooks/use-root-containers.svelte.d.ts +9 -0
- package/dist/hooks/use-root-containers.svelte.js +50 -0
- package/dist/hooks/use-scroll-lock.svelte.d.ts +5 -0
- package/dist/hooks/use-scroll-lock.svelte.js +24 -0
- package/dist/hooks/use-sync-refs.d.ts +7 -0
- package/dist/hooks/use-sync-refs.js +22 -0
- package/dist/hooks/use-tab-direction.svelte.d.ts +7 -0
- package/dist/hooks/use-tab-direction.svelte.js +25 -0
- package/dist/hooks/use-text-value.svelte.d.ts +3 -0
- package/dist/hooks/use-text-value.svelte.js +20 -0
- package/dist/hooks/use-tracked-pointer.d.ts +4 -0
- package/dist/hooks/use-tracked-pointer.js +26 -0
- package/dist/hooks/use-transition.svelte.d.ts +20 -0
- package/dist/hooks/use-transition.svelte.js +253 -0
- package/dist/hooks/use-tree-walker.svelte.d.ts +8 -0
- package/dist/hooks/use-tree-walker.svelte.js +19 -0
- package/dist/hooks/use-watch.svelte.d.ts +4 -0
- package/dist/hooks/use-watch.svelte.js +16 -0
- package/dist/hooks/use-window-event.svelte.d.ts +6 -0
- package/dist/hooks/use-window-event.svelte.js +12 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -0
- package/dist/input/Input.svelte +59 -0
- package/dist/input/Input.svelte.d.ts +52 -0
- package/dist/input/index.d.ts +1 -0
- package/dist/input/index.js +1 -0
- package/dist/internal/FocusSentinel.svelte +45 -0
- package/dist/internal/FocusSentinel.svelte.d.ts +20 -0
- package/dist/internal/ForcePortalRoot.svelte +6 -0
- package/dist/internal/ForcePortalRoot.svelte.d.ts +22 -0
- package/dist/internal/FormFields.svelte +2 -4
- package/dist/internal/FormFields.svelte.d.ts +9 -7
- package/dist/internal/FormResolver.svelte +11 -16
- package/dist/internal/FormResolver.svelte.d.ts +6 -4
- package/dist/internal/Hidden.svelte +5 -9
- package/dist/internal/Hidden.svelte.d.ts +35 -19
- package/dist/internal/HoistFormFields.svelte.d.ts +5 -2
- package/dist/internal/MainTreeProvider.svelte +45 -0
- package/dist/internal/MainTreeProvider.svelte.d.ts +31 -0
- package/dist/internal/Portal.svelte.d.ts +5 -2
- package/dist/internal/close-provider.d.ts +7 -0
- package/dist/internal/close-provider.js +7 -0
- package/dist/internal/floating.svelte.d.ts +62 -0
- package/dist/internal/floating.svelte.js +488 -0
- package/dist/internal/frozen.svelte.d.ts +6 -0
- package/dist/internal/frozen.svelte.js +18 -0
- package/dist/internal/id.d.ts +8 -0
- package/dist/internal/id.js +11 -0
- package/dist/internal/open-closed.d.ts +14 -0
- package/dist/internal/open-closed.js +17 -0
- package/dist/internal/portal-force-root.svelte.d.ts +6 -0
- package/dist/internal/portal-force-root.svelte.js +11 -0
- package/dist/label/Label.svelte +17 -45
- package/dist/label/Label.svelte.d.ts +19 -23
- package/dist/label/context.svelte.d.ts +17 -0
- package/dist/label/context.svelte.js +56 -0
- package/dist/legend/Legend.svelte +4 -3
- package/dist/legend/Legend.svelte.d.ts +33 -16
- package/dist/listbox/Listbox.svelte +448 -0
- package/dist/listbox/Listbox.svelte.d.ts +126 -0
- package/dist/listbox/ListboxButton.svelte +139 -0
- package/dist/listbox/ListboxButton.svelte.d.ts +52 -0
- package/dist/listbox/ListboxOption.svelte +136 -0
- package/dist/listbox/ListboxOption.svelte.d.ts +50 -0
- package/dist/listbox/ListboxOptions.svelte +269 -0
- package/dist/listbox/ListboxOptions.svelte.d.ts +55 -0
- package/dist/listbox/ListboxSelectedOption.svelte +35 -0
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +40 -0
- package/dist/listbox/index.d.ts +5 -0
- package/dist/listbox/index.js +5 -0
- package/dist/menu/Menu.svelte +235 -0
- package/dist/menu/Menu.svelte.d.ts +42 -0
- package/dist/menu/MenuButton.svelte +127 -0
- package/dist/menu/MenuButton.svelte.d.ts +52 -0
- package/dist/menu/MenuHeading.svelte +19 -0
- package/dist/menu/MenuHeading.svelte.d.ts +39 -0
- package/dist/menu/MenuItem.svelte +114 -0
- package/dist/menu/MenuItem.svelte.d.ts +49 -0
- package/dist/menu/MenuItems.svelte +244 -0
- package/dist/menu/MenuItems.svelte.d.ts +55 -0
- package/dist/menu/MenuSection.svelte +14 -0
- package/dist/menu/MenuSection.svelte.d.ts +35 -0
- package/dist/menu/MenuSeparator.svelte +9 -0
- package/dist/menu/MenuSeparator.svelte.d.ts +35 -0
- package/dist/menu/context.svelte.d.ts +47 -0
- package/dist/menu/context.svelte.js +21 -0
- package/dist/menu/index.d.ts +7 -0
- package/dist/menu/index.js +7 -0
- package/dist/portal/InternalPortal.svelte +97 -0
- package/dist/portal/InternalPortal.svelte.d.ts +43 -0
- package/dist/portal/Portal.svelte +7 -0
- package/dist/portal/Portal.svelte.d.ts +23 -0
- package/dist/portal/PortalGroup.svelte +14 -0
- package/dist/portal/PortalGroup.svelte.d.ts +40 -0
- package/dist/switch/Switch.svelte +143 -0
- package/dist/switch/Switch.svelte.d.ts +61 -0
- package/dist/switch/SwitchGroup.svelte +37 -0
- package/dist/switch/SwitchGroup.svelte.d.ts +34 -0
- package/dist/switch/index.d.ts +2 -0
- package/dist/switch/index.js +2 -0
- package/dist/tabs/Tab.svelte +156 -0
- package/dist/tabs/Tab.svelte.d.ts +48 -0
- package/dist/tabs/TabGroup.svelte +241 -0
- package/dist/tabs/TabGroup.svelte.d.ts +67 -0
- package/dist/tabs/TabList.svelte +16 -0
- package/dist/tabs/TabList.svelte.d.ts +35 -0
- package/dist/tabs/TabPanel.svelte +61 -0
- package/dist/tabs/TabPanel.svelte.d.ts +47 -0
- package/dist/tabs/TabPanels.svelte +12 -0
- package/dist/tabs/TabPanels.svelte.d.ts +34 -0
- package/dist/tabs/index.d.ts +5 -0
- package/dist/tabs/index.js +5 -0
- package/dist/test-utils/accessability-assertions.d.ts +271 -0
- package/dist/test-utils/accessability-assertions.js +1572 -0
- package/dist/test-utils/fake-pointer.d.ts +24 -0
- package/dist/test-utils/fake-pointer.js +48 -0
- package/dist/test-utils/interactions.d.ts +61 -0
- package/dist/test-utils/interactions.js +453 -0
- package/dist/test-utils/suppress-console-logs.d.ts +7 -0
- package/dist/test-utils/suppress-console-logs.js +17 -0
- package/dist/transition/InternalTransitionChild.svelte +178 -0
- package/dist/transition/InternalTransitionChild.svelte.d.ts +55 -0
- package/dist/transition/Transition.svelte +89 -0
- package/dist/transition/Transition.svelte.d.ts +42 -0
- package/dist/transition/TransitionChild.svelte +16 -0
- package/dist/transition/TransitionChild.svelte.d.ts +44 -0
- package/dist/transition/context.svelte.d.ts +64 -0
- package/dist/transition/context.svelte.js +120 -0
- package/dist/transition/index.d.ts +2 -0
- package/dist/transition/index.js +2 -0
- package/dist/utils/ElementOrComponent.svelte +26 -0
- package/dist/utils/ElementOrComponent.svelte.d.ts +56 -0
- package/dist/utils/Generic.svelte +44 -0
- package/dist/utils/Generic.svelte.d.ts +35 -0
- package/dist/utils/StableCollection.svelte +43 -0
- package/dist/utils/StableCollection.svelte.d.ts +22 -0
- package/dist/utils/active-element-history.d.ts +1 -0
- package/dist/utils/active-element-history.js +35 -0
- package/dist/utils/alternative-types.d.ts +21 -0
- package/dist/utils/alternative-types.js +1 -0
- package/dist/utils/calculate-active-index.d.ts +25 -0
- package/dist/utils/calculate-active-index.js +74 -0
- package/dist/utils/class-names.d.ts +1 -0
- package/dist/utils/class-names.js +10 -0
- package/dist/utils/default-map.d.ts +5 -0
- package/dist/utils/default-map.js +15 -0
- package/dist/utils/disposables.d.ts +14 -12
- package/dist/utils/disposables.js +13 -10
- package/dist/utils/dom.d.ts +0 -2
- package/dist/utils/dom.js +2 -4
- package/dist/utils/env.d.ts +17 -0
- package/dist/utils/env.js +39 -0
- package/dist/utils/focus-management.d.ts +45 -0
- package/dist/utils/focus-management.js +242 -0
- package/dist/utils/focusVisible.svelte.d.ts +3 -3
- package/dist/utils/focusVisible.svelte.js +52 -41
- package/dist/utils/get-text-value.d.ts +1 -0
- package/dist/utils/get-text-value.js +71 -0
- package/dist/utils/id.d.ts +1 -1
- package/dist/utils/match.d.ts +1 -0
- package/dist/utils/match.js +13 -0
- package/dist/utils/on-document-ready.d.ts +1 -0
- package/dist/utils/on-document-ready.js +12 -0
- package/dist/utils/once.d.ts +1 -0
- package/dist/utils/once.js +9 -0
- package/dist/utils/owner.d.ts +1 -0
- package/dist/utils/owner.js +8 -0
- package/dist/utils/platform.d.ts +2 -0
- package/dist/utils/platform.js +17 -0
- package/dist/utils/ref.svelte.d.ts +4 -0
- package/dist/utils/ref.svelte.js +4 -0
- package/dist/utils/render.d.ts +34 -0
- package/dist/utils/render.js +119 -0
- package/dist/utils/state.d.ts +7 -1
- package/dist/utils/state.js +10 -6
- package/dist/utils/store.d.ts +11 -0
- package/dist/utils/store.js +20 -0
- package/dist/utils/types.d.ts +24 -0
- package/dist/utils/types.js +1 -0
- package/package.json +33 -25
- package/dist/actions/activePress.svelte.d.ts +0 -8
- package/dist/actions/focusRing.svelte.d.ts +0 -9
- package/dist/actions/focusRing.svelte.js +0 -34
- package/dist/utils/disabled.d.ts +0 -3
- package/dist/utils/disabled.js +0 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: Props & {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const ForcePortalRoot: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
force: boolean;
|
|
17
|
+
children: Snippet;
|
|
18
|
+
}, {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
}, {}, {}, "">;
|
|
21
|
+
type ForcePortalRoot = InstanceType<typeof ForcePortalRoot>;
|
|
22
|
+
export default ForcePortalRoot;
|
|
@@ -14,10 +14,8 @@ let {
|
|
|
14
14
|
let form = $state(null);
|
|
15
15
|
const d = disposables();
|
|
16
16
|
$effect(() => {
|
|
17
|
-
if (!onReset)
|
|
18
|
-
|
|
19
|
-
if (!form)
|
|
20
|
-
return;
|
|
17
|
+
if (!onReset) return;
|
|
18
|
+
if (!form) return;
|
|
21
19
|
return d.addEventListener(form, "reset", onReset);
|
|
22
20
|
});
|
|
23
21
|
</script>
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="svelte" />
|
|
2
1
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
2
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
3
|
$$bindings?: Bindings;
|
|
@@ -6,17 +5,20 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
6
5
|
(internal: unknown, props: Props & {
|
|
7
6
|
$$events?: Events;
|
|
8
7
|
$$slots?: Slots;
|
|
9
|
-
}): Exports
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
10
12
|
z_$$bindings?: Bindings;
|
|
11
13
|
}
|
|
12
14
|
declare const FormFields: $$__sveltets_2_IsomorphicComponent<{
|
|
13
15
|
data: Record<string, any>;
|
|
14
|
-
overrides?: Record<string, any
|
|
15
|
-
form?: string
|
|
16
|
-
disabled?: boolean
|
|
17
|
-
onReset?: (
|
|
16
|
+
overrides?: Record<string, any>;
|
|
17
|
+
form?: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
onReset?: (e: Event) => void;
|
|
18
20
|
}, {
|
|
19
21
|
[evt: string]: CustomEvent<any>;
|
|
20
|
-
}, {},
|
|
22
|
+
}, {}, {}, "">;
|
|
21
23
|
type FormFields = InstanceType<typeof FormFields>;
|
|
22
24
|
export default FormFields;
|
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
<script lang="ts">import
|
|
1
|
+
<script lang="ts">import { onMount } from "svelte";
|
|
2
|
+
import Hidden, { HiddenFeatures } from "./Hidden.svelte";
|
|
2
3
|
let { setForm, formId } = $props();
|
|
3
4
|
$effect(() => {
|
|
4
5
|
if (formId) {
|
|
5
|
-
|
|
6
|
-
if (resolvedForm)
|
|
7
|
-
setForm(resolvedForm);
|
|
6
|
+
const resolvedForm = document.getElementById(formId);
|
|
7
|
+
if (resolvedForm) setForm(resolvedForm);
|
|
8
8
|
}
|
|
9
9
|
});
|
|
10
|
+
let element = $state();
|
|
11
|
+
onMount(() => {
|
|
12
|
+
if (!element) return;
|
|
13
|
+
const resolvedForm = element.closest("form");
|
|
14
|
+
if (resolvedForm) setForm(resolvedForm);
|
|
15
|
+
});
|
|
10
16
|
</script>
|
|
11
17
|
|
|
12
18
|
{#if !formId}
|
|
13
|
-
<Hidden
|
|
14
|
-
features={HiddenFeatures.Hidden}
|
|
15
|
-
as="input"
|
|
16
|
-
type="hidden"
|
|
17
|
-
hidden
|
|
18
|
-
readonly
|
|
19
|
-
ref={(el) => {
|
|
20
|
-
if (!el) return
|
|
21
|
-
let resolvedForm = el.closest("form")
|
|
22
|
-
if (resolvedForm) setForm(resolvedForm)
|
|
23
|
-
}}
|
|
24
|
-
/>
|
|
19
|
+
<Hidden features={HiddenFeatures.Hidden} as="input" type="hidden" hidden readonly bind:ref={element} />
|
|
25
20
|
{/if}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="svelte" />
|
|
2
1
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
2
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
3
|
$$bindings?: Bindings;
|
|
@@ -6,14 +5,17 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
6
5
|
(internal: unknown, props: Props & {
|
|
7
6
|
$$events?: Events;
|
|
8
7
|
$$slots?: Slots;
|
|
9
|
-
}): Exports
|
|
8
|
+
}): Exports & {
|
|
9
|
+
$set?: any;
|
|
10
|
+
$on?: any;
|
|
11
|
+
};
|
|
10
12
|
z_$$bindings?: Bindings;
|
|
11
13
|
}
|
|
12
14
|
declare const FormResolver: $$__sveltets_2_IsomorphicComponent<{
|
|
13
15
|
setForm: (form: HTMLFormElement) => void;
|
|
14
|
-
formId?: string
|
|
16
|
+
formId?: string;
|
|
15
17
|
}, {
|
|
16
18
|
[evt: string]: CustomEvent<any>;
|
|
17
|
-
}, {},
|
|
19
|
+
}, {}, {}, "">;
|
|
18
20
|
type FormResolver = InstanceType<typeof FormResolver>;
|
|
19
21
|
export default FormResolver;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
<script lang="ts"
|
|
1
|
+
<script lang="ts" module>import ElementOrComponent from "../utils/ElementOrComponent.svelte";
|
|
2
|
+
const DEFAULT_VISUALLY_HIDDEN_TAG = "span";
|
|
3
|
+
export var HiddenFeatures = /* @__PURE__ */ ((HiddenFeatures2) => {
|
|
2
4
|
HiddenFeatures2[HiddenFeatures2["None"] = 1] = "None";
|
|
3
5
|
HiddenFeatures2[HiddenFeatures2["Focusable"] = 2] = "Focusable";
|
|
4
6
|
HiddenFeatures2[HiddenFeatures2["Hidden"] = 4] = "Hidden";
|
|
@@ -6,13 +8,7 @@
|
|
|
6
8
|
})(HiddenFeatures || {});
|
|
7
9
|
</script>
|
|
8
10
|
|
|
9
|
-
<script lang="ts">
|
|
10
|
-
const DEFAULT_VISUALLY_HIDDEN_TAG = "div";
|
|
11
|
-
let { as = "div", features = HiddenFeatures.None, ref: applyRef, ...theirProps } = $props();
|
|
12
|
-
let ref = $state();
|
|
13
|
-
onMount(() => {
|
|
14
|
-
applyRef?.(ref);
|
|
15
|
-
});
|
|
11
|
+
<script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_TAG">let { ref = $bindable(), features = HiddenFeatures.None, ...theirProps } = $props();
|
|
16
12
|
let ourProps = {
|
|
17
13
|
"aria-hidden": (features & HiddenFeatures.Focusable) === HiddenFeatures.Focusable ? true : theirProps["aria-hidden"] ?? void 0,
|
|
18
14
|
hidden: (features & HiddenFeatures.Hidden) === HiddenFeatures.Hidden ? true : void 0,
|
|
@@ -33,4 +29,4 @@ let ourProps = {
|
|
|
33
29
|
};
|
|
34
30
|
</script>
|
|
35
31
|
|
|
36
|
-
<
|
|
32
|
+
<ElementOrComponent {ourProps} {theirProps} defaultTag={DEFAULT_VISUALLY_HIDDEN_TAG} name="Hidden" bind:ref />
|
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ElementType, Props } from "../utils/types.js";
|
|
2
|
+
declare const DEFAULT_VISUALLY_HIDDEN_TAG: "span";
|
|
2
3
|
export declare enum HiddenFeatures {
|
|
3
4
|
None = 1,
|
|
4
5
|
Focusable = 2,
|
|
5
6
|
Hidden = 4
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}):
|
|
16
|
-
|
|
8
|
+
type HiddenRenderPropArg = {};
|
|
9
|
+
type HiddenPropsWeControl = never;
|
|
10
|
+
export type HiddenProps<TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_TAG> = Props<TTag, HiddenRenderPropArg, HiddenPropsWeControl, {
|
|
11
|
+
features?: HiddenFeatures;
|
|
12
|
+
}>;
|
|
13
|
+
declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_TAG> {
|
|
14
|
+
props(): {
|
|
15
|
+
as?: TTag | undefined;
|
|
16
|
+
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("as" | "children" | "refName" | "class") | "features"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
17
|
+
children?: import("../utils/types.js").Children<HiddenRenderPropArg> | undefined;
|
|
18
|
+
ref?: HTMLElement;
|
|
19
|
+
} & (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) ? {
|
|
20
|
+
class?: import("../utils/types.js").PropsOf<TTag>["class"] | ((bag: HiddenRenderPropArg) => string) | undefined;
|
|
21
|
+
} : {}) & {
|
|
22
|
+
features?: HiddenFeatures;
|
|
23
|
+
};
|
|
24
|
+
events(): {} & {
|
|
25
|
+
[evt: string]: CustomEvent<any>;
|
|
26
|
+
};
|
|
27
|
+
slots(): {};
|
|
28
|
+
bindings(): "ref";
|
|
29
|
+
exports(): {};
|
|
17
30
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
31
|
+
interface $$IsomorphicComponent {
|
|
32
|
+
new <TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_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']>> & {
|
|
33
|
+
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
34
|
+
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
35
|
+
<TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {
|
|
36
|
+
$$events?: ReturnType<__sveltets_Render<TTag>['events']>;
|
|
37
|
+
}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
38
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
39
|
+
}
|
|
40
|
+
declare const Hidden: $$IsomorphicComponent;
|
|
41
|
+
type Hidden<TTag extends ElementType = typeof DEFAULT_VISUALLY_HIDDEN_TAG> = InstanceType<typeof Hidden<TTag>>;
|
|
26
42
|
export default Hidden;
|
|
@@ -6,13 +6,16 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
6
6
|
(internal: unknown, props: Props & {
|
|
7
7
|
$$events?: Events;
|
|
8
8
|
$$slots?: Slots;
|
|
9
|
-
}): Exports
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
10
13
|
z_$$bindings?: Bindings;
|
|
11
14
|
}
|
|
12
15
|
declare const HoistFormFields: $$__sveltets_2_IsomorphicComponent<{
|
|
13
16
|
children: Snippet;
|
|
14
17
|
}, {
|
|
15
18
|
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {},
|
|
19
|
+
}, {}, {}, "">;
|
|
17
20
|
type HoistFormFields = InstanceType<typeof HoistFormFields>;
|
|
18
21
|
export default HoistFormFields;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script lang="ts" module>import { getContext, onMount } from "svelte";
|
|
2
|
+
export function useMainTreeNode(options = {}) {
|
|
3
|
+
const { fallbackMainTreeNode = null } = $derived(options);
|
|
4
|
+
return getContext("MainTreeContext") ?? {
|
|
5
|
+
get node() {
|
|
6
|
+
return fallbackMainTreeNode;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<script lang="ts">import { setContext } from "svelte";
|
|
13
|
+
import Hidden, { HiddenFeatures } from "./Hidden.svelte";
|
|
14
|
+
import { getOwnerDocument } from "../utils/owner.js";
|
|
15
|
+
let { node, children } = $props();
|
|
16
|
+
let mainTreeNode = $state(null);
|
|
17
|
+
const resolvedMainTreeNode = useMainTreeNode({
|
|
18
|
+
get fallbackMainTreeNode() {
|
|
19
|
+
return node ?? mainTreeNode;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
setContext("MainTreeContext", {
|
|
23
|
+
get node() {
|
|
24
|
+
return resolvedMainTreeNode.node;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
let el = $state();
|
|
28
|
+
onMount(() => {
|
|
29
|
+
if (!el) return;
|
|
30
|
+
for (let container of getOwnerDocument(el)?.querySelectorAll("html > *, body > *") ?? []) {
|
|
31
|
+
if (container === document.body) continue;
|
|
32
|
+
if (container === document.head) continue;
|
|
33
|
+
if (!(container instanceof HTMLElement)) continue;
|
|
34
|
+
if (container?.contains(el)) {
|
|
35
|
+
mainTreeNode = container;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
{#if children}{@render children()}{/if}
|
|
43
|
+
{#if resolvedMainTreeNode === null}
|
|
44
|
+
<Hidden features={HiddenFeatures.Hidden} bind:ref={el} />
|
|
45
|
+
{/if}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type MainTreeContext = {
|
|
2
|
+
node: HTMLElement | null;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Get the main tree node from context or fallback to the optionally provided node.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useMainTreeNode(options?: {
|
|
8
|
+
fallbackMainTreeNode?: HTMLElement | null;
|
|
9
|
+
}): MainTreeContext;
|
|
10
|
+
import { type Snippet } from "svelte";
|
|
11
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
12
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
13
|
+
$$bindings?: Bindings;
|
|
14
|
+
} & Exports;
|
|
15
|
+
(internal: unknown, props: Props & {
|
|
16
|
+
$$events?: Events;
|
|
17
|
+
$$slots?: Slots;
|
|
18
|
+
}): Exports & {
|
|
19
|
+
$set?: any;
|
|
20
|
+
$on?: any;
|
|
21
|
+
};
|
|
22
|
+
z_$$bindings?: Bindings;
|
|
23
|
+
}
|
|
24
|
+
declare const MainTreeProvider: $$__sveltets_2_IsomorphicComponent<{
|
|
25
|
+
children: Snippet;
|
|
26
|
+
node?: HTMLElement | null;
|
|
27
|
+
}, {
|
|
28
|
+
[evt: string]: CustomEvent<any>;
|
|
29
|
+
}, {}, {}, "">;
|
|
30
|
+
type MainTreeProvider = InstanceType<typeof MainTreeProvider>;
|
|
31
|
+
export default MainTreeProvider;
|
|
@@ -6,7 +6,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
6
6
|
(internal: unknown, props: Props & {
|
|
7
7
|
$$events?: Events;
|
|
8
8
|
$$slots?: Slots;
|
|
9
|
-
}): Exports
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
10
13
|
z_$$bindings?: Bindings;
|
|
11
14
|
}
|
|
12
15
|
declare const Portal: $$__sveltets_2_IsomorphicComponent<{
|
|
@@ -14,6 +17,6 @@ declare const Portal: $$__sveltets_2_IsomorphicComponent<{
|
|
|
14
17
|
children: Snippet;
|
|
15
18
|
}, {
|
|
16
19
|
[evt: string]: CustomEvent<any>;
|
|
17
|
-
}, {},
|
|
20
|
+
}, {}, {}, "">;
|
|
18
21
|
type Portal = InstanceType<typeof Portal>;
|
|
19
22
|
export default Portal;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { MutableRefObject } from "../utils/ref.svelte.js";
|
|
2
|
+
type Align = "start" | "end";
|
|
3
|
+
type Placement = "top" | "right" | "bottom" | "left";
|
|
4
|
+
type BaseAnchorProps = {
|
|
5
|
+
/**
|
|
6
|
+
* The `gap` is the space between the trigger and the panel.
|
|
7
|
+
*/
|
|
8
|
+
gap: number | string;
|
|
9
|
+
/**
|
|
10
|
+
* The `offset` is the amount the panel should be nudged from its original position.
|
|
11
|
+
*/
|
|
12
|
+
offset: number | string;
|
|
13
|
+
/**
|
|
14
|
+
* The `padding` is the minimum space between the panel and the viewport.
|
|
15
|
+
*/
|
|
16
|
+
padding: number | string;
|
|
17
|
+
};
|
|
18
|
+
export type AnchorProps = false | (`${Placement}` | `${Placement} ${Align}`) | Partial<BaseAnchorProps & {
|
|
19
|
+
/**
|
|
20
|
+
* The `to` value defines which side of the trigger the panel should be placed on and its
|
|
21
|
+
* alignment.
|
|
22
|
+
*/
|
|
23
|
+
to: `${Placement}` | `${Placement} ${Align}`;
|
|
24
|
+
}>;
|
|
25
|
+
export type AnchorPropsWithSelection = false | (`${Placement | "selection"}` | `${Placement | "selection"} ${Align}`) | Partial<BaseAnchorProps & {
|
|
26
|
+
/**
|
|
27
|
+
* The `to` value defines which side of the trigger the panel should be placed on and its
|
|
28
|
+
* alignment.
|
|
29
|
+
*/
|
|
30
|
+
to: `${Placement | "selection"}` | `${Placement | "selection"} ${Align}`;
|
|
31
|
+
}>;
|
|
32
|
+
export type InternalFloatingPanelProps = Partial<{
|
|
33
|
+
inner: {
|
|
34
|
+
listRef: MutableRefObject<(HTMLElement | null)[]>;
|
|
35
|
+
index: () => number | null;
|
|
36
|
+
};
|
|
37
|
+
}>;
|
|
38
|
+
type FloatingContext = {
|
|
39
|
+
styles?: string;
|
|
40
|
+
setReference: (reference: HTMLElement | null | undefined) => void;
|
|
41
|
+
setFloating: (floating: HTMLElement | null | undefined) => void;
|
|
42
|
+
getReferenceProps: () => Record<string, any>;
|
|
43
|
+
getFloatingProps: () => Record<string, any>;
|
|
44
|
+
slot: Partial<{
|
|
45
|
+
anchor: `${Placement | "selection"}` | `${Placement | "selection"} ${Align}`;
|
|
46
|
+
}>;
|
|
47
|
+
};
|
|
48
|
+
export declare function useResolvedAnchor<T extends AnchorProps | AnchorPropsWithSelection>(anchor?: T): Exclude<T, boolean | string> | null;
|
|
49
|
+
export declare function useFloating(): FloatingContext;
|
|
50
|
+
export declare function useFloatingPanelProps(): () => Record<string, any> & {
|
|
51
|
+
"data-anchor": Placement | "top end" | "top start" | "right end" | "right start" | "bottom end" | "bottom start" | "left end" | "left start" | "selection" | "selection end" | "selection start" | undefined;
|
|
52
|
+
};
|
|
53
|
+
export declare function useFloatingPanel(options: {
|
|
54
|
+
placement: (AnchorPropsWithSelection & InternalFloatingPanelProps) | null;
|
|
55
|
+
}): {
|
|
56
|
+
readonly setFloating: (floating: HTMLElement | null | undefined) => void;
|
|
57
|
+
readonly style: string | undefined;
|
|
58
|
+
};
|
|
59
|
+
export declare const createFloatingContext: ({ enabled }?: {
|
|
60
|
+
enabled?: boolean;
|
|
61
|
+
}) => FloatingContext;
|
|
62
|
+
export {};
|