@pzerelles/headlessui-svelte 2.1.2-next.32 → 2.1.2-next.33
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 +8 -9
- package/dist/button/Button.svelte.d.ts +4 -31
- package/dist/checkbox/Checkbox.svelte +14 -11
- package/dist/checkbox/Checkbox.svelte.d.ts +14 -31
- package/dist/close-button/CloseButton.svelte +4 -7
- package/dist/close-button/CloseButton.svelte.d.ts +2 -43
- package/dist/data-interactive/DataInteractive.svelte +5 -19
- package/dist/data-interactive/DataInteractive.svelte.d.ts +7 -29
- package/dist/description/Description.svelte +15 -12
- package/dist/description/Description.svelte.d.ts +7 -27
- package/dist/dialog/Dialog.svelte +34 -32
- package/dist/dialog/Dialog.svelte.d.ts +4 -41
- package/dist/dialog/DialogBackdrop.svelte +10 -10
- package/dist/dialog/DialogBackdrop.svelte.d.ts +4 -28
- package/dist/dialog/DialogPanel.svelte +18 -10
- package/dist/dialog/DialogPanel.svelte.d.ts +4 -29
- package/dist/dialog/DialogTitle.svelte +19 -7
- package/dist/dialog/DialogTitle.svelte.d.ts +6 -26
- package/dist/field/Field.svelte +9 -15
- package/dist/field/Field.svelte.d.ts +4 -29
- package/dist/fieldset/Fieldset.svelte +10 -13
- package/dist/fieldset/Fieldset.svelte.d.ts +5 -30
- package/dist/focus-trap/FocusTrap.svelte +20 -24
- package/dist/focus-trap/FocusTrap.svelte.d.ts +5 -33
- package/dist/hooks/use-inert-others.svelte.js +10 -10
- package/dist/hooks/use-resolve-button-type.svelte.js +0 -1
- package/dist/input/Input.svelte +19 -9
- package/dist/input/Input.svelte.d.ts +13 -26
- package/dist/internal/FocusSentinel.svelte +33 -32
- package/dist/internal/FormResolver.svelte +5 -1
- package/dist/internal/Hidden.svelte +9 -23
- package/dist/internal/Hidden.svelte.d.ts +4 -29
- package/dist/internal/MainTreeProvider.svelte +1 -1
- package/dist/label/Label.svelte +19 -13
- package/dist/label/Label.svelte.d.ts +7 -31
- package/dist/legend/Legend.svelte +20 -6
- package/dist/legend/Legend.svelte.d.ts +4 -3
- package/dist/listbox/Listbox.svelte +6 -17
- package/dist/listbox/Listbox.svelte.d.ts +11 -34
- package/dist/listbox/ListboxButton.svelte +14 -13
- package/dist/listbox/ListboxButton.svelte.d.ts +5 -31
- package/dist/listbox/ListboxOption.svelte +15 -15
- package/dist/listbox/ListboxOption.svelte.d.ts +12 -25
- package/dist/listbox/ListboxOptions.svelte +13 -11
- package/dist/listbox/ListboxOptions.svelte.d.ts +4 -37
- package/dist/listbox/ListboxSelectedOption.svelte +15 -17
- package/dist/listbox/ListboxSelectedOption.svelte.d.ts +8 -32
- package/dist/menu/Menu.svelte +5 -7
- package/dist/menu/Menu.svelte.d.ts +3 -30
- package/dist/menu/MenuButton.svelte +12 -12
- package/dist/menu/MenuButton.svelte.d.ts +4 -33
- package/dist/menu/MenuHeading.svelte +10 -9
- package/dist/menu/MenuHeading.svelte.d.ts +4 -30
- package/dist/menu/MenuItem.svelte +12 -12
- package/dist/menu/MenuItem.svelte.d.ts +5 -31
- package/dist/menu/MenuItems.svelte +12 -13
- package/dist/menu/MenuItems.svelte.d.ts +4 -37
- package/dist/menu/MenuSection.svelte +9 -8
- package/dist/menu/MenuSection.svelte.d.ts +5 -28
- package/dist/menu/MenuSeparator.svelte +9 -7
- package/dist/menu/MenuSeparator.svelte.d.ts +5 -27
- package/dist/popover/Popover.svelte +8 -8
- package/dist/popover/Popover.svelte.d.ts +4 -29
- package/dist/popover/PopoverBackdrop.svelte +15 -12
- package/dist/popover/PopoverBackdrop.svelte.d.ts +6 -33
- package/dist/popover/PopoverButton.svelte +34 -34
- package/dist/popover/PopoverButton.svelte.d.ts +6 -28
- package/dist/popover/PopoverGroup.svelte +14 -13
- package/dist/popover/PopoverGroup.svelte.d.ts +5 -27
- package/dist/popover/PopoverPanel.svelte +46 -41
- package/dist/popover/PopoverPanel.svelte.d.ts +5 -35
- package/dist/popover/index.d.ts +1 -1
- package/dist/portal/InternalPortal.svelte +17 -16
- package/dist/portal/InternalPortal.svelte.d.ts +4 -29
- package/dist/portal/Portal.svelte +7 -6
- package/dist/portal/Portal.svelte.d.ts +2 -18
- package/dist/portal/PortalGroup.svelte +5 -13
- package/dist/portal/PortalGroup.svelte.d.ts +3 -30
- package/dist/select/Select.svelte +10 -9
- package/dist/select/Select.svelte.d.ts +5 -31
- package/dist/switch/Switch.svelte +13 -12
- package/dist/switch/Switch.svelte.d.ts +5 -37
- package/dist/switch/SwitchGroup.svelte +5 -5
- package/dist/switch/SwitchGroup.svelte.d.ts +7 -27
- package/dist/tabs/Tab.svelte +12 -12
- package/dist/tabs/Tab.svelte.d.ts +4 -31
- package/dist/tabs/TabGroup.svelte +8 -8
- package/dist/tabs/TabGroup.svelte.d.ts +4 -33
- package/dist/tabs/TabList.svelte +7 -8
- package/dist/tabs/TabList.svelte.d.ts +5 -27
- package/dist/tabs/TabPanel.svelte +11 -11
- package/dist/tabs/TabPanel.svelte.d.ts +4 -33
- package/dist/tabs/TabPanels.svelte +5 -5
- package/dist/tabs/TabPanels.svelte.d.ts +5 -26
- package/dist/textarea/Textarea.svelte +12 -10
- package/dist/textarea/Textarea.svelte.d.ts +13 -26
- package/dist/transition/InternalTransitionChild.svelte +19 -12
- package/dist/transition/InternalTransitionChild.svelte.d.ts +3 -32
- package/dist/transition/Transition.svelte +12 -21
- package/dist/transition/Transition.svelte.d.ts +3 -35
- package/dist/transition/TransitionChild.svelte +9 -10
- package/dist/transition/TransitionChild.svelte.d.ts +8 -34
- package/dist/transition/context.svelte.js +7 -7
- package/dist/utils/ElementOrComponent.svelte +56 -15
- package/dist/utils/ElementOrComponent.svelte.d.ts +30 -23
- package/dist/utils/state.js +4 -4
- package/dist/utils/types.d.ts +12 -9
- package/package.json +12 -12
- package/dist/combobox/Combobox.svelte +0 -53
- package/dist/combobox/Combobox.svelte.d.ts +0 -50
- package/dist/utils/Generic.svelte +0 -57
- package/dist/utils/Generic.svelte.d.ts +0 -31
- package/dist/utils/alternative-types.d.ts +0 -20
- package/dist/utils/alternative-types.js +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
|
+
import type { SvelteHTMLElements } from "svelte/elements"
|
|
3
4
|
|
|
4
5
|
const DEFAULT_PANEL_TAG = "div" as const
|
|
5
6
|
type PanelRenderPropArg = {
|
|
@@ -9,15 +10,14 @@
|
|
|
9
10
|
type PanelPropsWeControl = "role" | "aria-labelledby"
|
|
10
11
|
const PanelRenderFeatures = RenderFeatures.RenderStrategy | RenderFeatures.Static
|
|
11
12
|
|
|
12
|
-
export type TabPanelProps
|
|
13
|
-
|
|
13
|
+
export type TabPanelProps = Props<
|
|
14
|
+
typeof DEFAULT_PANEL_TAG,
|
|
14
15
|
PanelRenderPropArg,
|
|
15
|
-
|
|
16
|
-
PropsForFeatures<typeof PanelRenderFeatures> & { id?: string; tabIndex?: number }
|
|
16
|
+
PropsForFeatures<typeof PanelRenderFeatures> & { element?: HTMLElement; id?: string; tabIndex?: number }
|
|
17
17
|
>
|
|
18
18
|
</script>
|
|
19
19
|
|
|
20
|
-
<script lang="ts"
|
|
20
|
+
<script lang="ts">
|
|
21
21
|
import { useId } from "../hooks/use-id.js"
|
|
22
22
|
import { mergeProps, RenderFeatures, type PropsForFeatures } from "../utils/render.js"
|
|
23
23
|
import { useStableCollectionIndex } from "../utils/StableCollection.svelte"
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
|
|
31
31
|
const internalId = useId()
|
|
32
32
|
let {
|
|
33
|
-
|
|
33
|
+
element = $bindable(),
|
|
34
34
|
id = `headlessui-tabs-panel-${internalId}`,
|
|
35
35
|
tabIndex = 0,
|
|
36
36
|
...theirProps
|
|
37
|
-
}:
|
|
37
|
+
}: TabPanelProps = $props()
|
|
38
38
|
const context = useTabs("TabPanel")
|
|
39
39
|
const { selectedIndex, tabs, panels, registerPanel } = $derived(context)
|
|
40
40
|
|
|
41
|
-
const panelRef = $derived<MutableRefObject<HTMLElement | undefined>>({ current:
|
|
41
|
+
const panelRef = $derived<MutableRefObject<HTMLElement | undefined>>({ current: element })
|
|
42
42
|
|
|
43
43
|
onMount(() => registerPanel(panelRef))
|
|
44
44
|
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
</script>
|
|
72
72
|
|
|
73
73
|
{#if !selected && (theirProps.unmount ?? true) && !(theirProps.static ?? false)}
|
|
74
|
-
<Hidden aria-hidden="true" {...ourProps} bind:
|
|
74
|
+
<Hidden aria-hidden="true" {...ourProps} bind:element />
|
|
75
75
|
{:else}
|
|
76
76
|
<ElementOrComponent
|
|
77
77
|
{ourProps}
|
|
@@ -80,6 +80,6 @@
|
|
|
80
80
|
defaultTag={DEFAULT_PANEL_TAG}
|
|
81
81
|
features={PanelRenderFeatures}
|
|
82
82
|
name="TabPanel"
|
|
83
|
-
bind:
|
|
83
|
+
bind:element
|
|
84
84
|
/>
|
|
85
85
|
{/if}
|
|
@@ -1,44 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare const DEFAULT_PANEL_TAG: "div";
|
|
3
3
|
type PanelRenderPropArg = {
|
|
4
4
|
selected: boolean;
|
|
5
5
|
focus: boolean;
|
|
6
6
|
};
|
|
7
|
-
type PanelPropsWeControl = "role" | "aria-labelledby";
|
|
8
7
|
declare const PanelRenderFeatures: number;
|
|
9
|
-
export type TabPanelProps
|
|
8
|
+
export type TabPanelProps = Props<typeof DEFAULT_PANEL_TAG, PanelRenderPropArg, PropsForFeatures<typeof PanelRenderFeatures> & {
|
|
9
|
+
element?: HTMLElement;
|
|
10
10
|
id?: string;
|
|
11
11
|
tabIndex?: number;
|
|
12
12
|
}>;
|
|
13
13
|
import { type PropsForFeatures } from "../utils/render.js";
|
|
14
|
-
declare
|
|
15
|
-
props(): {
|
|
16
|
-
as?: TTag | undefined;
|
|
17
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "unmount" | "static" | "id" | "tabIndex" | PanelPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
18
|
-
children?: import("svelte").Snippet<[PanelRenderPropArg & {
|
|
19
|
-
props?: Record<string, any>;
|
|
20
|
-
}]> | undefined;
|
|
21
|
-
class?: string | ((bag: PanelRenderPropArg) => string) | null | undefined;
|
|
22
|
-
ref?: HTMLElement;
|
|
23
|
-
} & {
|
|
24
|
-
static?: boolean | undefined;
|
|
25
|
-
unmount?: boolean | undefined;
|
|
26
|
-
} & {
|
|
27
|
-
id?: string;
|
|
28
|
-
tabIndex?: number;
|
|
29
|
-
};
|
|
30
|
-
events(): {};
|
|
31
|
-
slots(): {};
|
|
32
|
-
bindings(): "ref";
|
|
33
|
-
exports(): {};
|
|
34
|
-
}
|
|
35
|
-
interface $$IsomorphicComponent {
|
|
36
|
-
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']>> & {
|
|
37
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
38
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
39
|
-
<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
40
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
41
|
-
}
|
|
42
|
-
declare const TabPanel: $$IsomorphicComponent;
|
|
43
|
-
type TabPanel<TTag extends ElementType = typeof DEFAULT_PANEL_TAG> = InstanceType<typeof TabPanel<TTag>>;
|
|
14
|
+
declare const TabPanel: import("svelte").Component<TabPanelProps, {}, "element">;
|
|
44
15
|
export default TabPanel;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
2
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
3
|
-
import type {
|
|
3
|
+
import type { Props } from "../utils/types.js"
|
|
4
4
|
import { useTabs } from "./context.svelte.js"
|
|
5
5
|
|
|
6
6
|
let DEFAULT_PANELS_TAG = "div" as const
|
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
selectedIndex: number
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export type TabPanelsProps
|
|
11
|
+
export type TabPanelsProps = Props<typeof DEFAULT_PANELS_TAG, PanelsRenderPropArg, { element?: HTMLElement }>
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
|
-
<script lang="ts"
|
|
14
|
+
<script lang="ts">
|
|
15
15
|
const context = useTabs("TabPanels")
|
|
16
16
|
const { selectedIndex } = $derived(context)
|
|
17
17
|
|
|
18
18
|
const slot = $derived({ selectedIndex } satisfies PanelsRenderPropArg)
|
|
19
19
|
|
|
20
|
-
let {
|
|
20
|
+
let { element = $bindable(), ...theirProps }: TabPanelsProps = $props()
|
|
21
21
|
</script>
|
|
22
22
|
|
|
23
|
-
<ElementOrComponent {theirProps} {slot} defaultTag={DEFAULT_PANELS_TAG} name="TabPanel" bind:
|
|
23
|
+
<ElementOrComponent {theirProps} {slot} defaultTag={DEFAULT_PANELS_TAG} name="TabPanel" bind:element />
|
|
@@ -1,31 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare let DEFAULT_PANELS_TAG: "div";
|
|
3
3
|
type PanelsRenderPropArg = {
|
|
4
4
|
selectedIndex: number;
|
|
5
5
|
};
|
|
6
|
-
export type TabPanelsProps
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} & (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) & {
|
|
11
|
-
children?: import("svelte").Snippet<[PanelsRenderPropArg & {
|
|
12
|
-
props?: Record<string, any>;
|
|
13
|
-
}]> | undefined;
|
|
14
|
-
class?: string | ((bag: PanelsRenderPropArg) => string) | null | undefined;
|
|
15
|
-
ref?: HTMLElement;
|
|
16
|
-
};
|
|
17
|
-
events(): {};
|
|
18
|
-
slots(): {};
|
|
19
|
-
bindings(): "ref";
|
|
20
|
-
exports(): {};
|
|
21
|
-
}
|
|
22
|
-
interface $$IsomorphicComponent {
|
|
23
|
-
new <TTag extends ElementType = typeof DEFAULT_PANELS_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']>> & {
|
|
24
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
25
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
26
|
-
<TTag extends ElementType = typeof DEFAULT_PANELS_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
27
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
28
|
-
}
|
|
29
|
-
declare const TabPanels: $$IsomorphicComponent;
|
|
30
|
-
type TabPanels<TTag extends ElementType = typeof DEFAULT_PANELS_TAG> = InstanceType<typeof TabPanels<TTag>>;
|
|
6
|
+
export type TabPanelsProps = Props<typeof DEFAULT_PANELS_TAG, PanelsRenderPropArg, {
|
|
7
|
+
element?: HTMLElement;
|
|
8
|
+
}>;
|
|
9
|
+
declare const TabPanels: import("svelte").Component<TabPanelsProps, {}, "element">;
|
|
31
10
|
export default TabPanels;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
|
+
import type { SvelteHTMLElements } from "svelte/elements"
|
|
3
4
|
|
|
4
5
|
const DEFAULT_TEXTAREA_TAG = "textarea" as const
|
|
5
6
|
|
|
@@ -12,11 +13,12 @@
|
|
|
12
13
|
}
|
|
13
14
|
type TextareaPropsWeControl = "aria-labelledby" | "aria-describedby"
|
|
14
15
|
|
|
15
|
-
export type TextareaProps<
|
|
16
|
-
|
|
16
|
+
export type TextareaProps<TValue = string> = Props<
|
|
17
|
+
typeof DEFAULT_TEXTAREA_TAG,
|
|
17
18
|
TextareaRenderPropArg,
|
|
18
|
-
TextareaPropsWeControl,
|
|
19
19
|
{
|
|
20
|
+
element?: HTMLElement
|
|
21
|
+
id?: string
|
|
20
22
|
value?: TValue
|
|
21
23
|
disabled?: boolean
|
|
22
24
|
invalid?: boolean
|
|
@@ -25,7 +27,7 @@
|
|
|
25
27
|
>
|
|
26
28
|
</script>
|
|
27
29
|
|
|
28
|
-
<script lang="ts" generics="
|
|
30
|
+
<script lang="ts" generics="TValue = string">
|
|
29
31
|
import { htmlid } from "../utils/id.js"
|
|
30
32
|
import { useDisabled } from "../hooks/use-disabled.js"
|
|
31
33
|
import { useProvidedId } from "../utils/id.js"
|
|
@@ -41,14 +43,14 @@
|
|
|
41
43
|
const providedDisabled = useDisabled()
|
|
42
44
|
|
|
43
45
|
let {
|
|
44
|
-
|
|
46
|
+
element = $bindable(),
|
|
45
47
|
value = $bindable(),
|
|
46
|
-
id =
|
|
48
|
+
id = providedId || `headlessui-input-${internalId}`,
|
|
47
49
|
disabled: theirDisabled = false,
|
|
48
|
-
autofocus = false
|
|
50
|
+
autofocus = false,
|
|
49
51
|
invalid = false,
|
|
50
52
|
...theirProps
|
|
51
|
-
}:
|
|
53
|
+
}: TextareaProps<TValue> = $props()
|
|
52
54
|
const disabled = $derived(providedDisabled.current || theirDisabled)
|
|
53
55
|
|
|
54
56
|
const labelledBy = useLabelledBy()
|
|
@@ -93,6 +95,6 @@
|
|
|
93
95
|
{slot}
|
|
94
96
|
defaultTag={DEFAULT_TEXTAREA_TAG}
|
|
95
97
|
name="Textarea"
|
|
96
|
-
bind:
|
|
98
|
+
bind:element
|
|
97
99
|
bind:value
|
|
98
100
|
/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
declare const DEFAULT_TEXTAREA_TAG: "textarea";
|
|
3
3
|
type TextareaRenderPropArg = {
|
|
4
4
|
disabled: boolean;
|
|
@@ -7,41 +7,28 @@ type TextareaRenderPropArg = {
|
|
|
7
7
|
autofocus: boolean;
|
|
8
8
|
invalid: boolean;
|
|
9
9
|
};
|
|
10
|
-
type
|
|
11
|
-
|
|
10
|
+
export type TextareaProps<TValue = string> = Props<typeof DEFAULT_TEXTAREA_TAG, TextareaRenderPropArg, {
|
|
11
|
+
element?: HTMLElement;
|
|
12
|
+
id?: string;
|
|
12
13
|
value?: TValue;
|
|
13
14
|
disabled?: boolean;
|
|
14
15
|
invalid?: boolean;
|
|
15
16
|
autofocus?: boolean;
|
|
16
17
|
}>;
|
|
17
|
-
declare class __sveltets_Render<
|
|
18
|
-
props():
|
|
19
|
-
as?: TTag | undefined;
|
|
20
|
-
value?: TValue | undefined;
|
|
21
|
-
} & (Exclude<keyof PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "invalid" | "disabled" | "autofocus" | "value" | TextareaPropsWeControl> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
|
|
22
|
-
children?: import("svelte").Snippet<[TextareaRenderPropArg & {
|
|
23
|
-
props?: Record<string, any>;
|
|
24
|
-
}]> | undefined;
|
|
25
|
-
class?: string | ((bag: TextareaRenderPropArg) => string) | null | undefined;
|
|
26
|
-
ref?: HTMLElement;
|
|
27
|
-
} & {
|
|
28
|
-
value?: TValue | undefined;
|
|
29
|
-
disabled?: boolean;
|
|
30
|
-
invalid?: boolean;
|
|
31
|
-
autofocus?: boolean;
|
|
32
|
-
};
|
|
18
|
+
declare class __sveltets_Render<TValue = string> {
|
|
19
|
+
props(): TextareaProps<TValue>;
|
|
33
20
|
events(): {};
|
|
34
21
|
slots(): {};
|
|
35
|
-
bindings(): "
|
|
22
|
+
bindings(): "element" | "value";
|
|
36
23
|
exports(): {};
|
|
37
24
|
}
|
|
38
25
|
interface $$IsomorphicComponent {
|
|
39
|
-
new <
|
|
40
|
-
$$bindings?: ReturnType<__sveltets_Render<
|
|
41
|
-
} & ReturnType<__sveltets_Render<
|
|
42
|
-
<
|
|
43
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any
|
|
26
|
+
new <TValue = string>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TValue>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TValue>['props']>, ReturnType<__sveltets_Render<TValue>['events']>, ReturnType<__sveltets_Render<TValue>['slots']>> & {
|
|
27
|
+
$$bindings?: ReturnType<__sveltets_Render<TValue>['bindings']>;
|
|
28
|
+
} & ReturnType<__sveltets_Render<TValue>['exports']>;
|
|
29
|
+
<TValue = string>(internal: unknown, props: ReturnType<__sveltets_Render<TValue>['props']> & {}): ReturnType<__sveltets_Render<TValue>['exports']>;
|
|
30
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
44
31
|
}
|
|
45
32
|
declare const Textarea: $$IsomorphicComponent;
|
|
46
|
-
type Textarea<
|
|
33
|
+
type Textarea<TValue = string> = InstanceType<typeof Textarea<TValue>>;
|
|
47
34
|
export default Textarea;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
2
|
import { compact, RenderStrategy } from "../utils/render.js"
|
|
3
|
-
import type { ElementType } from "../utils/types.js"
|
|
4
3
|
import { onMount, setContext, untrack } from "svelte"
|
|
5
4
|
import {
|
|
6
5
|
hasChildren,
|
|
@@ -37,22 +36,20 @@
|
|
|
37
36
|
* `Transition` parent, which is a `Fragment`, is not. So we should not forward
|
|
38
37
|
* the ref to the `Fragment`.
|
|
39
38
|
*/
|
|
40
|
-
export function shouldForwardRef
|
|
41
|
-
props: TransitionRootProps<TTag>
|
|
42
|
-
) {
|
|
39
|
+
export function shouldForwardRef(props: TransitionRootProps) {
|
|
43
40
|
return (
|
|
44
41
|
// If we have any of the enter/leave classes
|
|
45
42
|
Boolean(props.enter || props.enterFrom || props.enterTo || props.leave || props.leaveFrom || props.leaveTo) ||
|
|
46
43
|
// If the `as` prop is not a Fragment
|
|
47
|
-
|
|
44
|
+
!props.asChild ||
|
|
48
45
|
// If we have a single child, then we can forward the ref directly
|
|
49
46
|
props.children !== undefined
|
|
50
47
|
)
|
|
51
48
|
}
|
|
52
49
|
</script>
|
|
53
50
|
|
|
54
|
-
<script lang="ts"
|
|
55
|
-
let {
|
|
51
|
+
<script lang="ts">
|
|
52
|
+
let { element = $bindable(), ..._props }: TransitionChildProps = $props()
|
|
56
53
|
const {
|
|
57
54
|
// Whether or not to enable transitions on the current element (by exposing
|
|
58
55
|
// transition data). When set to false, the `Transition` component still
|
|
@@ -78,7 +75,7 @@
|
|
|
78
75
|
} = $derived(_props)
|
|
79
76
|
let containerElement = $state<HTMLElement>()
|
|
80
77
|
let container = $state<{ current: HTMLElement | null }>({ current: null })
|
|
81
|
-
const requiresRef = $derived(shouldForwardRef(_props))
|
|
78
|
+
const requiresRef = $derived(shouldForwardRef(_props as TransitionRootProps))
|
|
82
79
|
|
|
83
80
|
const strategy = $derived((theirProps.unmount ?? true) ? RenderStrategy.Unmount : RenderStrategy.Hidden)
|
|
84
81
|
|
|
@@ -92,8 +89,8 @@
|
|
|
92
89
|
|
|
93
90
|
onMount(() => {
|
|
94
91
|
if (requiresRef) {
|
|
95
|
-
container.current =
|
|
96
|
-
containerElement =
|
|
92
|
+
container.current = element ?? null
|
|
93
|
+
containerElement = element
|
|
97
94
|
}
|
|
98
95
|
|
|
99
96
|
return register(container)
|
|
@@ -224,7 +221,11 @@
|
|
|
224
221
|
classNames(
|
|
225
222
|
// Incoming classes if any
|
|
226
223
|
// all components accept className (but all HTML elements do)
|
|
227
|
-
theirProps.
|
|
224
|
+
theirProps.asChild
|
|
225
|
+
? undefined
|
|
226
|
+
: typeof theirProps.class === "function"
|
|
227
|
+
? theirProps.class({ element })
|
|
228
|
+
: theirProps.class,
|
|
228
229
|
|
|
229
230
|
// Apply these classes immediately
|
|
230
231
|
immediate && enter,
|
|
@@ -264,4 +265,10 @@
|
|
|
264
265
|
setContext<NestingContextValues>("NestingContext", nesting)
|
|
265
266
|
</script>
|
|
266
267
|
|
|
267
|
-
<ElementOrComponent
|
|
268
|
+
<ElementOrComponent
|
|
269
|
+
{ourProps}
|
|
270
|
+
{theirProps}
|
|
271
|
+
defaultTag={DEFAULT_TRANSITION_CHILD_TAG}
|
|
272
|
+
name="TransitionChild"
|
|
273
|
+
bind:element
|
|
274
|
+
/>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { ElementType } from "../utils/types.js";
|
|
2
1
|
import type { TransitionRootProps } from "./Transition.svelte";
|
|
3
|
-
import {
|
|
2
|
+
import { type TransitionChildProps } from "./TransitionChild.svelte";
|
|
4
3
|
/**
|
|
5
4
|
* Check if we should forward the ref to the child element or not. This is to
|
|
6
5
|
* prevent crashes when the `as` prop is a Fragment _and_ the component just acts
|
|
@@ -19,34 +18,6 @@ import { DEFAULT_TRANSITION_CHILD_TAG } from "./TransitionChild.svelte";
|
|
|
19
18
|
* `Transition` parent, which is a `Fragment`, is not. So we should not forward
|
|
20
19
|
* the ref to the `Fragment`.
|
|
21
20
|
*/
|
|
22
|
-
export declare function shouldForwardRef
|
|
23
|
-
declare
|
|
24
|
-
props(): {
|
|
25
|
-
as?: TTag | undefined;
|
|
26
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "unmount" | "transition" | keyof import("./context.svelte.js").TransitionClasses | keyof import("./context.svelte.js").TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
27
|
-
children?: import("svelte").Snippet<[HTMLElement & {
|
|
28
|
-
props?: Record<string, any>;
|
|
29
|
-
}]> | undefined;
|
|
30
|
-
class?: string | ((bag: HTMLElement) => string) | null | undefined;
|
|
31
|
-
ref?: HTMLElement;
|
|
32
|
-
} & {
|
|
33
|
-
unmount?: boolean | undefined;
|
|
34
|
-
} & import("./context.svelte.js").TransitionClasses & import("./context.svelte.js").TransitionEvents & {
|
|
35
|
-
transition?: boolean;
|
|
36
|
-
appear?: boolean;
|
|
37
|
-
};
|
|
38
|
-
events(): {};
|
|
39
|
-
slots(): {};
|
|
40
|
-
bindings(): "ref";
|
|
41
|
-
exports(): {};
|
|
42
|
-
}
|
|
43
|
-
interface $$IsomorphicComponent {
|
|
44
|
-
new <TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_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']>> & {
|
|
45
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
46
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
47
|
-
<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
48
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
49
|
-
}
|
|
50
|
-
declare const InternalTransitionChild: $$IsomorphicComponent;
|
|
51
|
-
type InternalTransitionChild<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG> = InstanceType<typeof InternalTransitionChild<TTag>>;
|
|
21
|
+
export declare function shouldForwardRef(props: TransitionRootProps): boolean;
|
|
22
|
+
declare const InternalTransitionChild: import("svelte").Component<TransitionChildProps, {}, "element">;
|
|
52
23
|
export default InternalTransitionChild;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
2
|
import { State, useOpenClosed } from "../internal/open-closed.js"
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export type TransitionRootProps<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG> =
|
|
12
|
-
TransitionChildProps<TTag> & {
|
|
13
|
-
show?: boolean
|
|
14
|
-
appear?: boolean
|
|
15
|
-
}
|
|
3
|
+
import { setContext, untrack } from "svelte"
|
|
4
|
+
import { type TransitionChildProps, TransitionChildRenderFeatures } from "./TransitionChild.svelte"
|
|
5
|
+
|
|
6
|
+
export type TransitionRootProps = TransitionChildProps & {
|
|
7
|
+
show?: boolean
|
|
8
|
+
appear?: boolean
|
|
9
|
+
}
|
|
16
10
|
</script>
|
|
17
11
|
|
|
18
|
-
<script lang="ts"
|
|
19
|
-
import InternalTransitionChild
|
|
12
|
+
<script lang="ts">
|
|
13
|
+
import InternalTransitionChild from "./InternalTransitionChild.svelte"
|
|
20
14
|
import ElementOrComponent from "../utils/ElementOrComponent.svelte"
|
|
21
15
|
import {
|
|
22
16
|
hasChildren,
|
|
@@ -26,9 +20,8 @@
|
|
|
26
20
|
type TransitionContextValues,
|
|
27
21
|
} from "./context.svelte.js"
|
|
28
22
|
|
|
29
|
-
let {
|
|
23
|
+
let { element = $bindable(), show, ..._props }: TransitionRootProps = $props()
|
|
30
24
|
const { appear = false, unmount = true, ...theirProps } = $derived(_props)
|
|
31
|
-
const requiresRef = shouldForwardRef(_props)
|
|
32
25
|
|
|
33
26
|
const usesOpenClosedState = useOpenClosed()
|
|
34
27
|
|
|
@@ -69,7 +62,7 @@
|
|
|
69
62
|
$effect(() => {
|
|
70
63
|
if (show) {
|
|
71
64
|
_state = TreeStates.Visible
|
|
72
|
-
} else if (!hasChildren(nestingBag) && untrack(() =>
|
|
65
|
+
} else if (!hasChildren(nestingBag) && untrack(() => element)) {
|
|
73
66
|
_state = TreeStates.Hidden
|
|
74
67
|
}
|
|
75
68
|
})
|
|
@@ -98,12 +91,10 @@
|
|
|
98
91
|
return initial
|
|
99
92
|
},
|
|
100
93
|
})
|
|
101
|
-
|
|
102
|
-
const InternalChild = InternalTransitionChild<any>
|
|
103
94
|
</script>
|
|
104
95
|
|
|
105
96
|
{#snippet children()}
|
|
106
|
-
<
|
|
97
|
+
<InternalTransitionChild bind:element {...sharedProps} {...theirProps} {beforeEnter} {beforeLeave} />
|
|
107
98
|
{/snippet}
|
|
108
99
|
|
|
109
100
|
<ElementOrComponent
|
|
@@ -1,39 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
export type TransitionRootProps<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG> = TransitionChildProps<TTag> & {
|
|
1
|
+
import { type TransitionChildProps } from "./TransitionChild.svelte";
|
|
2
|
+
export type TransitionRootProps = TransitionChildProps & {
|
|
4
3
|
show?: boolean;
|
|
5
4
|
appear?: boolean;
|
|
6
5
|
};
|
|
7
|
-
declare
|
|
8
|
-
props(): {
|
|
9
|
-
as?: TTag | undefined;
|
|
10
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "unmount" | "transition" | keyof import("./context.svelte.js").TransitionClasses | keyof import("./context.svelte.js").TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
11
|
-
children?: import("svelte").Snippet<[HTMLElement & {
|
|
12
|
-
props?: Record<string, any>;
|
|
13
|
-
}]> | undefined;
|
|
14
|
-
class?: string | ((bag: HTMLElement) => string) | null | undefined;
|
|
15
|
-
ref?: HTMLElement;
|
|
16
|
-
} & {
|
|
17
|
-
unmount?: boolean | undefined;
|
|
18
|
-
} & import("./context.svelte.js").TransitionClasses & import("./context.svelte.js").TransitionEvents & {
|
|
19
|
-
transition?: boolean;
|
|
20
|
-
appear?: boolean;
|
|
21
|
-
} & {
|
|
22
|
-
show?: boolean;
|
|
23
|
-
appear?: boolean;
|
|
24
|
-
};
|
|
25
|
-
events(): {};
|
|
26
|
-
slots(): {};
|
|
27
|
-
bindings(): "ref";
|
|
28
|
-
exports(): {};
|
|
29
|
-
}
|
|
30
|
-
interface $$IsomorphicComponent {
|
|
31
|
-
new <TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_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']>> & {
|
|
32
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
33
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
34
|
-
<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
35
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
36
|
-
}
|
|
37
|
-
declare const Transition: $$IsomorphicComponent;
|
|
38
|
-
type Transition<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG> = InstanceType<typeof Transition<TTag>>;
|
|
6
|
+
declare const Transition: import("svelte").Component<TransitionRootProps, {}, "element">;
|
|
39
7
|
export default Transition;
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
<script lang="ts" module>
|
|
2
|
-
import type {
|
|
2
|
+
import type { Props } from "../utils/types.js"
|
|
3
3
|
import { RenderFeatures, type PropsForFeatures } from "../utils/render.js"
|
|
4
4
|
import type { TransitionEvents, TransitionClasses } from "./context.svelte.js"
|
|
5
5
|
|
|
6
6
|
type TransitionChildPropsWeControl = never
|
|
7
7
|
|
|
8
|
-
export type TransitionChildProps
|
|
9
|
-
|
|
8
|
+
export type TransitionChildProps = Props<
|
|
9
|
+
typeof DEFAULT_TRANSITION_CHILD_TAG,
|
|
10
10
|
TransitionChildRenderPropArg,
|
|
11
|
-
TransitionChildPropsWeControl,
|
|
12
11
|
PropsForFeatures<typeof TransitionChildRenderFeatures> &
|
|
13
12
|
TransitionClasses &
|
|
14
|
-
TransitionEvents & { transition?: boolean; appear?: boolean }
|
|
13
|
+
TransitionEvents & { transition?: boolean; appear?: boolean; element?: HTMLElement }
|
|
15
14
|
>
|
|
16
15
|
|
|
17
|
-
export const DEFAULT_TRANSITION_CHILD_TAG = "
|
|
18
|
-
export type TransitionChildRenderPropArg = HTMLElement
|
|
16
|
+
export const DEFAULT_TRANSITION_CHILD_TAG = "div"
|
|
17
|
+
export type TransitionChildRenderPropArg = { element?: HTMLElement }
|
|
19
18
|
export const TransitionChildRenderFeatures = RenderFeatures.RenderStrategy
|
|
20
19
|
</script>
|
|
21
20
|
|
|
22
|
-
<script lang="ts"
|
|
21
|
+
<script lang="ts">
|
|
23
22
|
import { useOpenClosed } from "../internal/open-closed.js"
|
|
24
23
|
import { getContext } from "svelte"
|
|
25
24
|
import InternalTransitionChild from "./InternalTransitionChild.svelte"
|
|
@@ -28,9 +27,9 @@
|
|
|
28
27
|
const hasTransitionContext = !!getContext("TransitionContext")
|
|
29
28
|
const hasOpenClosedContext = useOpenClosed() !== null
|
|
30
29
|
|
|
31
|
-
let {
|
|
30
|
+
let { element = $bindable(), ...props }: TransitionChildProps = $props()
|
|
32
31
|
|
|
33
32
|
const TransitionRootOrChild = !hasTransitionContext && hasOpenClosedContext ? Transition : InternalTransitionChild
|
|
34
33
|
</script>
|
|
35
34
|
|
|
36
|
-
<TransitionRootOrChild bind:
|
|
35
|
+
<TransitionRootOrChild bind:element {...props} />
|
|
@@ -1,41 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Props } from "../utils/types.js";
|
|
2
2
|
import { RenderFeatures, type PropsForFeatures } from "../utils/render.js";
|
|
3
3
|
import type { TransitionEvents, TransitionClasses } from "./context.svelte.js";
|
|
4
|
-
type
|
|
5
|
-
export type TransitionChildProps<TTag extends ElementType> = Props<TTag, TransitionChildRenderPropArg, TransitionChildPropsWeControl, PropsForFeatures<typeof TransitionChildRenderFeatures> & TransitionClasses & TransitionEvents & {
|
|
4
|
+
export type TransitionChildProps = Props<typeof DEFAULT_TRANSITION_CHILD_TAG, TransitionChildRenderPropArg, PropsForFeatures<typeof TransitionChildRenderFeatures> & TransitionClasses & TransitionEvents & {
|
|
6
5
|
transition?: boolean;
|
|
7
6
|
appear?: boolean;
|
|
7
|
+
element?: HTMLElement;
|
|
8
8
|
}>;
|
|
9
|
-
export declare const DEFAULT_TRANSITION_CHILD_TAG = "
|
|
10
|
-
export type TransitionChildRenderPropArg =
|
|
9
|
+
export declare const DEFAULT_TRANSITION_CHILD_TAG = "div";
|
|
10
|
+
export type TransitionChildRenderPropArg = {
|
|
11
|
+
element?: HTMLElement;
|
|
12
|
+
};
|
|
11
13
|
export declare const TransitionChildRenderFeatures = RenderFeatures.RenderStrategy;
|
|
12
|
-
declare
|
|
13
|
-
props(): {
|
|
14
|
-
as?: TTag | undefined;
|
|
15
|
-
} & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "unmount" | "transition" | keyof TransitionClasses | keyof TransitionEvents | "appear"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
|
|
16
|
-
children?: import("svelte").Snippet<[HTMLElement & {
|
|
17
|
-
props?: Record<string, any>;
|
|
18
|
-
}]> | undefined;
|
|
19
|
-
class?: string | ((bag: HTMLElement) => string) | null | undefined;
|
|
20
|
-
ref?: HTMLElement;
|
|
21
|
-
} & {
|
|
22
|
-
unmount?: boolean | undefined;
|
|
23
|
-
} & TransitionClasses & TransitionEvents & {
|
|
24
|
-
transition?: boolean;
|
|
25
|
-
appear?: boolean;
|
|
26
|
-
};
|
|
27
|
-
events(): {};
|
|
28
|
-
slots(): {};
|
|
29
|
-
bindings(): "ref";
|
|
30
|
-
exports(): {};
|
|
31
|
-
}
|
|
32
|
-
interface $$IsomorphicComponent {
|
|
33
|
-
new <TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_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']>> & {
|
|
34
|
-
$$bindings?: ReturnType<__sveltets_Render<TTag>['bindings']>;
|
|
35
|
-
} & ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
36
|
-
<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG>(internal: unknown, props: ReturnType<__sveltets_Render<TTag>['props']> & {}): ReturnType<__sveltets_Render<TTag>['exports']>;
|
|
37
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
38
|
-
}
|
|
39
|
-
declare const TransitionChild: $$IsomorphicComponent;
|
|
40
|
-
type TransitionChild<TTag extends ElementType = typeof DEFAULT_TRANSITION_CHILD_TAG> = InstanceType<typeof TransitionChild<TTag>>;
|
|
14
|
+
declare const TransitionChild: import("svelte").Component<TransitionChildProps, {}, "element">;
|
|
41
15
|
export default TransitionChild;
|