@pzerelles/headlessui-svelte 2.1.2-next.30 → 2.1.2-next.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/button/Button.svelte +84 -54
  2. package/dist/button/Button.svelte.d.ts +2 -3
  3. package/dist/checkbox/Checkbox.svelte +173 -120
  4. package/dist/checkbox/Checkbox.svelte.d.ts +2 -3
  5. package/dist/close-button/CloseButton.svelte +12 -6
  6. package/dist/close-button/CloseButton.svelte.d.ts +7 -8
  7. package/dist/combobox/Combobox.svelte +50 -3
  8. package/dist/data-interactive/DataInteractive.svelte +55 -29
  9. package/dist/data-interactive/DataInteractive.svelte.d.ts +2 -3
  10. package/dist/description/Description.svelte +31 -21
  11. package/dist/description/Description.svelte.d.ts +1 -2
  12. package/dist/dialog/Dialog.svelte +320 -228
  13. package/dist/dialog/Dialog.svelte.d.ts +2 -3
  14. package/dist/dialog/DialogBackdrop.svelte +30 -13
  15. package/dist/dialog/DialogBackdrop.svelte.d.ts +2 -3
  16. package/dist/dialog/DialogPanel.svelte +49 -26
  17. package/dist/dialog/DialogPanel.svelte.d.ts +2 -3
  18. package/dist/dialog/DialogTitle.svelte +38 -23
  19. package/dist/dialog/DialogTitle.svelte.d.ts +2 -3
  20. package/dist/field/Field.svelte +47 -25
  21. package/dist/field/Field.svelte.d.ts +1 -2
  22. package/dist/fieldset/Fieldset.svelte +50 -29
  23. package/dist/fieldset/Fieldset.svelte.d.ts +1 -2
  24. package/dist/focus-trap/FocusTrap.svelte +419 -283
  25. package/dist/focus-trap/FocusTrap.svelte.d.ts +1 -2
  26. package/dist/input/Input.svelte +84 -53
  27. package/dist/input/Input.svelte.d.ts +2 -3
  28. package/dist/internal/FloatingProvider.svelte +14 -9
  29. package/dist/internal/FocusSentinel.svelte +16 -8
  30. package/dist/internal/ForcePortalRoot.svelte +7 -3
  31. package/dist/internal/FormFields.svelte +47 -34
  32. package/dist/internal/FormFieldsProvider.svelte +9 -5
  33. package/dist/internal/FormResolver.svelte +20 -15
  34. package/dist/internal/Hidden.svelte +50 -29
  35. package/dist/internal/Hidden.svelte.d.ts +1 -2
  36. package/dist/internal/MainTreeProvider.svelte +89 -36
  37. package/dist/internal/Portal.svelte +18 -14
  38. package/dist/internal/floating.svelte.d.ts +2 -3
  39. package/dist/internal/floating.svelte.js +0 -1
  40. package/dist/label/Label.svelte +93 -58
  41. package/dist/label/Label.svelte.d.ts +1 -2
  42. package/dist/legend/Legend.svelte +12 -3
  43. package/dist/listbox/Listbox.svelte +525 -387
  44. package/dist/listbox/Listbox.svelte.d.ts +2 -3
  45. package/dist/listbox/ListboxButton.svelte +173 -127
  46. package/dist/listbox/ListboxButton.svelte.d.ts +2 -3
  47. package/dist/listbox/ListboxOption.svelte +170 -129
  48. package/dist/listbox/ListboxOption.svelte.d.ts +2 -3
  49. package/dist/listbox/ListboxOptions.svelte +400 -304
  50. package/dist/listbox/ListboxOptions.svelte.d.ts +2 -3
  51. package/dist/listbox/ListboxSelectedOption.svelte +38 -15
  52. package/dist/listbox/ListboxSelectedOption.svelte.d.ts +1 -2
  53. package/dist/menu/Menu.svelte +77 -51
  54. package/dist/menu/Menu.svelte.d.ts +2 -4
  55. package/dist/menu/MenuButton.svelte +157 -117
  56. package/dist/menu/MenuButton.svelte.d.ts +2 -3
  57. package/dist/menu/MenuHeading.svelte +32 -14
  58. package/dist/menu/MenuHeading.svelte.d.ts +1 -2
  59. package/dist/menu/MenuItem.svelte +142 -107
  60. package/dist/menu/MenuItem.svelte.d.ts +2 -3
  61. package/dist/menu/MenuItems.svelte +301 -229
  62. package/dist/menu/MenuItems.svelte.d.ts +2 -3
  63. package/dist/menu/MenuSection.svelte +24 -9
  64. package/dist/menu/MenuSection.svelte.d.ts +1 -2
  65. package/dist/menu/MenuSeparator.svelte +17 -4
  66. package/dist/menu/MenuSeparator.svelte.d.ts +1 -2
  67. package/dist/popover/Popover.svelte +216 -150
  68. package/dist/popover/Popover.svelte.d.ts +2 -3
  69. package/dist/popover/PopoverBackdrop.svelte +67 -41
  70. package/dist/popover/PopoverBackdrop.svelte.d.ts +2 -3
  71. package/dist/popover/PopoverButton.svelte +292 -212
  72. package/dist/popover/PopoverButton.svelte.d.ts +2 -3
  73. package/dist/popover/PopoverGroup.svelte +62 -35
  74. package/dist/popover/PopoverGroup.svelte.d.ts +1 -2
  75. package/dist/popover/PopoverPanel.svelte +311 -229
  76. package/dist/popover/PopoverPanel.svelte.d.ts +2 -3
  77. package/dist/portal/InternalPortal.svelte +141 -85
  78. package/dist/portal/InternalPortal.svelte.d.ts +1 -2
  79. package/dist/portal/Portal.svelte +5 -2
  80. package/dist/portal/PortalGroup.svelte +30 -9
  81. package/dist/portal/PortalGroup.svelte.d.ts +1 -2
  82. package/dist/select/Select.svelte +98 -68
  83. package/dist/select/Select.svelte.d.ts +2 -3
  84. package/dist/switch/Switch.svelte +179 -132
  85. package/dist/switch/Switch.svelte.d.ts +2 -3
  86. package/dist/switch/SwitchGroup.svelte +44 -31
  87. package/dist/switch/SwitchGroup.svelte.d.ts +1 -2
  88. package/dist/tabs/Tab.svelte +194 -142
  89. package/dist/tabs/Tab.svelte.d.ts +2 -3
  90. package/dist/tabs/TabGroup.svelte +86 -56
  91. package/dist/tabs/TabGroup.svelte.d.ts +2 -3
  92. package/dist/tabs/TabList.svelte +31 -11
  93. package/dist/tabs/TabList.svelte.d.ts +2 -3
  94. package/dist/tabs/TabPanel.svelte +67 -42
  95. package/dist/tabs/TabPanel.svelte.d.ts +2 -3
  96. package/dist/tabs/TabPanels.svelte +18 -7
  97. package/dist/tabs/TabPanels.svelte.d.ts +2 -3
  98. package/dist/textarea/Textarea.svelte +84 -53
  99. package/dist/textarea/Textarea.svelte.d.ts +2 -3
  100. package/dist/transition/InternalTransitionChild.svelte +259 -170
  101. package/dist/transition/InternalTransitionChild.svelte.d.ts +2 -3
  102. package/dist/transition/Transition.svelte +96 -66
  103. package/dist/transition/Transition.svelte.d.ts +2 -3
  104. package/dist/transition/TransitionChild.svelte +31 -11
  105. package/dist/transition/TransitionChild.svelte.d.ts +2 -3
  106. package/dist/utils/DisabledProvider.svelte +7 -3
  107. package/dist/utils/ElementOrComponent.svelte +46 -23
  108. package/dist/utils/ElementOrComponent.svelte.d.ts +8 -10
  109. package/dist/utils/Generic.svelte +30 -19
  110. package/dist/utils/Generic.svelte.d.ts +6 -7
  111. package/dist/utils/StableCollection.svelte +54 -36
  112. package/dist/utils/floating-ui/svelte/components/FloatingNode.svelte +27 -12
  113. package/dist/utils/floating-ui/svelte/components/FloatingTree.svelte +88 -44
  114. package/dist/utils/types.d.ts +4 -5
  115. package/package.json +1 -1
@@ -1,35 +1,58 @@
1
- <script lang="ts" module>let DEFAULT_PANEL_TAG = "div";
1
+ <script lang="ts" module>
2
+ import type { ElementType, Props } from "../utils/types.js"
3
+
4
+ let DEFAULT_PANEL_TAG = "div" as const
5
+ type PanelRenderPropArg = {
6
+ open: boolean
7
+ }
8
+
9
+ export type DialogPanelProps<TTag extends ElementType = typeof DEFAULT_PANEL_TAG> = Props<
10
+ TTag,
11
+ PanelRenderPropArg,
12
+ never,
13
+ {
14
+ id?: string
15
+ transition?: boolean
16
+ }
17
+ >
2
18
  </script>
3
19
 
4
- <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_PANEL_TAG">import { useId } from "../hooks/use-id.js";
5
- import { DialogStates, useDialogContext } from "./context.svelte.js";
6
- import ElementOrComponent from "../utils/ElementOrComponent.svelte";
7
- import { mergeProps } from "../utils/render.js";
8
- import TransitionChild from "../transition/TransitionChild.svelte";
9
- let internalId = useId();
10
- let {
11
- ref = $bindable(),
12
- id = `headlessui-dialog-panel-${internalId}`,
13
- transition = false,
14
- ...theirProps
15
- } = $props();
16
- const _state = useDialogContext("Dialog.Panel");
17
- const { dialogState, unmount } = $derived(_state);
18
- const slot = $derived({ open: dialogState === DialogStates.Open });
19
- const handleClick = (event) => {
20
- event.stopPropagation();
21
- };
22
- const ourProps = $derived(
23
- mergeProps({
24
- id,
25
- onclick: handleClick
26
- })
27
- );
20
+ <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_PANEL_TAG">
21
+ import { useId } from "../hooks/use-id.js"
22
+ import { DialogStates, useDialogContext } from "./context.svelte.js"
23
+ import ElementOrComponent from "../utils/ElementOrComponent.svelte"
24
+ import { mergeProps } from "../utils/render.js"
25
+ import TransitionChild from "../transition/TransitionChild.svelte"
26
+
27
+ let internalId = useId()
28
+ let {
29
+ ref = $bindable(),
30
+ id = `headlessui-dialog-panel-${internalId}`,
31
+ transition = false,
32
+ ...theirProps
33
+ }: { as?: TTag } & DialogPanelProps<TTag> = $props()
34
+ const _state = useDialogContext("Dialog.Panel")
35
+ const { dialogState, unmount } = $derived(_state)
36
+
37
+ const slot = $derived({ open: dialogState === DialogStates.Open } satisfies PanelRenderPropArg)
38
+
39
+ // Prevent the click events inside the Dialog.Panel from bubbling through the React Tree which
40
+ // could submit wrapping <form> elements even if we portalled the Dialog.
41
+ const handleClick = (event: MouseEvent) => {
42
+ event.stopPropagation()
43
+ }
44
+
45
+ const ourProps = $derived(
46
+ mergeProps({
47
+ id,
48
+ onclick: handleClick,
49
+ })
50
+ )
28
51
  </script>
29
52
 
30
53
  {#if transition}
31
54
  <TransitionChild {unmount} {ref}>
32
- {#snippet children({ slot, props })}
55
+ {#snippet children({ props, ...slot })}
33
56
  <ElementOrComponent
34
57
  ourProps={{ ...ourProps, ...props }}
35
58
  {theirProps}
@@ -11,9 +11,8 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_PANEL_
11
11
  props(): {
12
12
  as?: TTag | undefined;
13
13
  } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "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("svelte").Snippet<[{
15
- slot: PanelRenderPropArg;
16
- props: Record<string, any>;
14
+ children?: import("svelte").Snippet<[PanelRenderPropArg & {
15
+ props?: Record<string, any>;
17
16
  }]> | undefined;
18
17
  class?: string | ((bag: PanelRenderPropArg) => string) | null | undefined;
19
18
  ref?: HTMLElement;
@@ -1,29 +1,44 @@
1
- <script lang="ts" module>let DEFAULT_TITLE_TAG = "h2";
1
+ <script lang="ts" module>
2
+ import type { ElementType, Props, PropsOf } from "../utils/types.js"
3
+
4
+ let DEFAULT_TITLE_TAG = "h2" as const
5
+ type TitleRenderPropArg = {
6
+ open: boolean
7
+ }
8
+
9
+ export type DialogTitleProps<TTag extends ElementType = typeof DEFAULT_TITLE_TAG> = Props<TTag, TitleRenderPropArg>
10
+
11
+ //
2
12
  </script>
3
13
 
4
- <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_TITLE_TAG">import { useId } from "../hooks/use-id.js";
5
- import { DialogStates, useDialogContext } from "./context.svelte.js";
6
- import { onMount } from "svelte";
7
- import ElementOrComponent from "../utils/ElementOrComponent.svelte";
8
- import { mergeProps } from "../utils/render.js";
9
- const internalId = useId();
10
- let {
11
- ref = $bindable(),
12
- id = `headlessui-dialog-title-${internalId}`,
13
- ...theirProps
14
- } = $props();
15
- const _state = useDialogContext("Dialog.Panel");
16
- const { dialogState, setTitleId } = $derived(_state);
17
- onMount(() => {
18
- setTitleId(id);
19
- return () => setTitleId(null);
20
- });
21
- const slot = $derived({ open: dialogState === DialogStates.Open });
22
- const ourProps = $derived(
23
- mergeProps({
24
- id
14
+ <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_TITLE_TAG">
15
+ import { useId } from "../hooks/use-id.js"
16
+ import { DialogStates, useDialogContext } from "./context.svelte.js"
17
+ import { onMount } from "svelte"
18
+ import ElementOrComponent from "../utils/ElementOrComponent.svelte"
19
+ import { mergeProps } from "../utils/render.js"
20
+
21
+ const internalId = useId()
22
+ let {
23
+ ref = $bindable(),
24
+ id = `headlessui-dialog-title-${internalId}` as PropsOf<TTag>[string],
25
+ ...theirProps
26
+ }: { as?: TTag } & DialogTitleProps<TTag> = $props()
27
+ const _state = useDialogContext("Dialog.Panel")
28
+ const { dialogState, setTitleId } = $derived(_state)
29
+
30
+ onMount(() => {
31
+ setTitleId(id)
32
+ return () => setTitleId(null)
25
33
  })
26
- );
34
+
35
+ const slot = $derived({ open: dialogState === DialogStates.Open } satisfies TitleRenderPropArg)
36
+
37
+ const ourProps = $derived(
38
+ mergeProps({
39
+ id,
40
+ })
41
+ )
27
42
  </script>
28
43
 
29
44
  <ElementOrComponent {ourProps} {theirProps} slots={slot} defaultTag={DEFAULT_TITLE_TAG} name="DialogTitle" bind:ref />
@@ -8,9 +8,8 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_TITLE_
8
8
  props(): {
9
9
  as?: TTag | undefined;
10
10
  } & (Exclude<keyof PropsOf<TTag>, "slot" | "as" | "children" | "class" | "ref"> extends infer T extends keyof PropsOf<TTag> ? { [P in T]: PropsOf<TTag>[P]; } : never) & {
11
- children?: import("svelte").Snippet<[{
12
- slot: TitleRenderPropArg;
13
- props: Record<string, any>;
11
+ children?: import("svelte").Snippet<[TitleRenderPropArg & {
12
+ props?: Record<string, any>;
14
13
  }]> | undefined;
15
14
  class?: string | ((bag: TitleRenderPropArg) => string) | null | undefined;
16
15
  ref?: HTMLElement;
@@ -1,30 +1,52 @@
1
- <script lang="ts" module>let DEFAULT_FIELD_TAG = "div";
1
+ <script lang="ts" module>
2
+ import type { ElementType, Props } from "../utils/types.js"
3
+
4
+ let DEFAULT_FIELD_TAG = "div" as const
5
+
6
+ type FieldRenderPropArg = {}
7
+ type FieldPropsWeControl = never
8
+
9
+ export type FieldProps<TTag extends ElementType = typeof DEFAULT_FIELD_TAG> = Props<
10
+ TTag,
11
+ FieldRenderPropArg,
12
+ FieldPropsWeControl,
13
+ {
14
+ disabled?: boolean
15
+ }
16
+ >
2
17
  </script>
3
18
 
4
- <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_FIELD_TAG">import { provideDisabled } from "../hooks/use-disabled.js";
5
- import { createIdContext } from "../utils/id.js";
6
- import { nanoid } from "nanoid";
7
- import { useLabels } from "../label/context.svelte.js";
8
- import { useDescriptions } from "../description/context.svelte.js";
9
- import ElementOrComponent from "../utils/ElementOrComponent.svelte";
10
- import FormFieldsProvider from "../internal/FormFieldsProvider.svelte";
11
- let {
12
- ref = $bindable(),
13
- disabled: ownDisabled = false,
14
- children,
15
- ...theirProps
16
- } = $props();
17
- const inputId = `headlessui-control-${nanoid(8)}`;
18
- createIdContext(inputId);
19
- useLabels();
20
- useDescriptions();
21
- const disabledContext = provideDisabled(() => ownDisabled);
22
- const { current: disabled } = $derived(disabledContext);
23
- const slot = $derived({ disabled });
24
- const ourProps = $derived({
25
- disabled: disabled || void 0,
26
- "aria-disabled": disabled || void 0
27
- });
19
+ <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_FIELD_TAG">
20
+ import { provideDisabled } from "../hooks/use-disabled.js"
21
+ import { createIdContext } from "../utils/id.js"
22
+ import { nanoid } from "nanoid"
23
+ import { useLabels } from "../label/context.svelte.js"
24
+ import { useDescriptions } from "../description/context.svelte.js"
25
+ import ElementOrComponent from "../utils/ElementOrComponent.svelte"
26
+ import FormFieldsProvider from "../internal/FormFieldsProvider.svelte"
27
+
28
+ let {
29
+ ref = $bindable(),
30
+ disabled: ownDisabled = false,
31
+ children,
32
+ ...theirProps
33
+ }: { as?: TTag } & FieldProps<TTag> = $props()
34
+
35
+ const inputId = `headlessui-control-${nanoid(8)}`
36
+ createIdContext(inputId)
37
+
38
+ useLabels()
39
+ useDescriptions()
40
+
41
+ const disabledContext = provideDisabled(() => ownDisabled)
42
+ const { current: disabled } = $derived(disabledContext)
43
+
44
+ const slot = $derived({ disabled })
45
+
46
+ const ourProps = $derived({
47
+ disabled: disabled || undefined,
48
+ "aria-disabled": disabled || undefined,
49
+ })
28
50
  </script>
29
51
 
30
52
  {#snippet wrapper(args: Parameters<Exclude<typeof children, undefined>>[0])}
@@ -10,8 +10,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_FIELD_
10
10
  as?: TTag | undefined;
11
11
  } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "disabled"> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
12
12
  children?: import("svelte").Snippet<[{
13
- slot: FieldRenderPropArg;
14
- props: Record<string, any>;
13
+ props?: Record<string, any>;
15
14
  }]> | undefined;
16
15
  class?: string | ((bag: FieldRenderPropArg) => string) | null | undefined;
17
16
  ref?: HTMLElement;
@@ -1,34 +1,55 @@
1
- <script lang="ts" module>let DEFAULT_FIELDSET_TAG = "fieldset";
1
+ <script lang="ts" module>
2
+ import type { ElementType, Props } from "../utils/types.js"
3
+ let DEFAULT_FIELDSET_TAG = "fieldset" as const
4
+
5
+ type FieldsetRenderPropArg = {}
6
+ type FieldsetPropsWeControl = "aria-labelledby" | "aria-disabled" | "role"
7
+
8
+ export type FieldsetProps<TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG> = Props<
9
+ TTag,
10
+ FieldsetRenderPropArg,
11
+ FieldsetPropsWeControl,
12
+ {
13
+ disabled?: boolean
14
+ }
15
+ >
2
16
  </script>
3
17
 
4
- <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG">import { setContext } from "svelte";
5
- import { useDisabled } from "../hooks/use-disabled.js";
6
- import { useLabels } from "../label/context.svelte.js";
7
- import ElementOrComponent from "../utils/ElementOrComponent.svelte";
8
- let {
9
- ref = $bindable(),
10
- disabled: ownDisabled = false,
11
- ...theirProps
12
- } = $props();
13
- const providedDisabled = useDisabled();
14
- const disabled = $derived(providedDisabled.current || ownDisabled);
15
- setContext("DisabledContext", {
16
- get value() {
17
- return disabled;
18
- }
19
- });
20
- const labelledBy = useLabels();
21
- const slot = $derived({ disabled });
22
- const ourProps = $derived(
23
- (theirProps.as ?? DEFAULT_FIELDSET_TAG) === "fieldset" ? {
24
- "aria-labelledby": labelledBy.value,
25
- disabled: disabled || void 0
26
- } : {
27
- role: "group",
28
- "aria-labelledby": labelledBy.value,
29
- "aria-disabled": disabled || void 0
30
- }
31
- );
18
+ <script lang="ts" generics="TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG">
19
+ import { setContext } from "svelte"
20
+ import { useDisabled } from "../hooks/use-disabled.js"
21
+ import { useLabels } from "../label/context.svelte.js"
22
+ import ElementOrComponent from "../utils/ElementOrComponent.svelte"
23
+
24
+ let {
25
+ ref = $bindable(),
26
+ disabled: ownDisabled = false,
27
+ ...theirProps
28
+ }: { as?: TTag } & FieldsetProps<TTag> = $props()
29
+
30
+ const providedDisabled = useDisabled()
31
+ const disabled = $derived(providedDisabled.current || ownDisabled)
32
+
33
+ setContext("DisabledContext", {
34
+ get value() {
35
+ return disabled
36
+ },
37
+ })
38
+
39
+ const labelledBy = useLabels()
40
+ const slot = $derived({ disabled })
41
+ const ourProps = $derived(
42
+ (theirProps.as ?? DEFAULT_FIELDSET_TAG) === "fieldset"
43
+ ? {
44
+ "aria-labelledby": labelledBy.value,
45
+ disabled: disabled || undefined,
46
+ }
47
+ : {
48
+ role: "group",
49
+ "aria-labelledby": labelledBy.value,
50
+ "aria-disabled": disabled || undefined,
51
+ }
52
+ )
32
53
  </script>
33
54
 
34
55
  <ElementOrComponent {ourProps} {theirProps} {slot} defaultTag={DEFAULT_FIELDSET_TAG} name="Fieldset" bind:ref />
@@ -10,8 +10,7 @@ declare class __sveltets_Render<TTag extends ElementType = typeof DEFAULT_FIELDS
10
10
  as?: TTag | undefined;
11
11
  } & (Exclude<keyof import("../utils/types.js").PropsOf<TTag>, ("slot" | "as" | "children" | "class" | "ref") | "disabled" | FieldsetPropsWeControl> extends infer T extends keyof import("../utils/types.js").PropsOf<TTag> ? { [P in T]: import("../utils/types.js").PropsOf<TTag>[P]; } : never) & {
12
12
  children?: import("svelte").Snippet<[{
13
- slot: FieldsetRenderPropArg;
14
- props: Record<string, any>;
13
+ props?: Record<string, any>;
15
14
  }]> | undefined;
16
15
  class?: string | ((bag: FieldsetRenderPropArg) => string) | null | undefined;
17
16
  ref?: HTMLElement;