diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md index e6f63f9..b4563ba 100644 --- a/packages/@headlessui-react/CHANGELOG.md +++ b/packages/@headlessui-react/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add support for `role="alertdialog"` to `` component ([#2709](https://github.com/tailwindlabs/headlessui/pull/2709)) - Ensure blurring the `Combobox.Input` component closes the `Combobox` ([#2712](https://github.com/tailwindlabs/headlessui/pull/2712)) - Allow changes to the `className` prop when the `` component is currently not transitioning ([#2722](https://github.com/tailwindlabs/headlessui/pull/2722)) +- Export (internal-only) component interfaces for TypeScript compiler ([#2313](https://github.com/tailwindlabs/headlessui/pull/2313)) ### Added diff --git a/packages/@headlessui-react/src/components/combobox/combobox.tsx b/packages/@headlessui-react/src/components/combobox/combobox.tsx index 88f5b1c..ea50cc8 100644 --- a/packages/@headlessui-react/src/components/combobox/combobox.tsx +++ b/packages/@headlessui-react/src/components/combobox/combobox.tsx @@ -1559,7 +1559,7 @@ function OptionFn< // --- -interface ComponentCombobox extends HasDisplayName { +export interface _internal_ComponentCombobox extends HasDisplayName { ( props: ComboboxProps & RefProp ): JSX.Element @@ -1574,31 +1574,31 @@ interface ComponentCombobox extends HasDisplayName { ): JSX.Element } -interface ComponentComboboxButton extends HasDisplayName { +export interface _internal_ComponentComboboxButton extends HasDisplayName { ( props: ComboboxButtonProps & RefProp ): JSX.Element } -interface ComponentComboboxInput extends HasDisplayName { +export interface _internal_ComponentComboboxInput extends HasDisplayName { ( props: ComboboxInputProps & RefProp ): JSX.Element } -interface ComponentComboboxLabel extends HasDisplayName { +export interface _internal_ComponentComboboxLabel extends HasDisplayName { ( props: ComboboxLabelProps & RefProp ): JSX.Element } -interface ComponentComboboxOptions extends HasDisplayName { +export interface _internal_ComponentComboboxOptions extends HasDisplayName { ( props: ComboboxOptionsProps & RefProp ): JSX.Element } -interface ComponentComboboxOption extends HasDisplayName { +export interface _internal_ComponentComboboxOption extends HasDisplayName { < TTag extends ElementType = typeof DEFAULT_OPTION_TAG, TType = Parameters[0]['value'] @@ -1607,11 +1607,11 @@ interface ComponentComboboxOption extends HasDisplayName { ): JSX.Element } -let ComboboxRoot = forwardRefWithAs(ComboboxFn) as unknown as ComponentCombobox -let Button = forwardRefWithAs(ButtonFn) as unknown as ComponentComboboxButton -let Input = forwardRefWithAs(InputFn) as unknown as ComponentComboboxInput -let Label = forwardRefWithAs(LabelFn) as unknown as ComponentComboboxLabel -let Options = forwardRefWithAs(OptionsFn) as unknown as ComponentComboboxOptions -let Option = forwardRefWithAs(OptionFn) as unknown as ComponentComboboxOption +let ComboboxRoot = forwardRefWithAs(ComboboxFn) as unknown as _internal_ComponentCombobox +let Button = forwardRefWithAs(ButtonFn) as unknown as _internal_ComponentComboboxButton +let Input = forwardRefWithAs(InputFn) as unknown as _internal_ComponentComboboxInput +let Label = forwardRefWithAs(LabelFn) as unknown as _internal_ComponentComboboxLabel +let Options = forwardRefWithAs(OptionsFn) as unknown as _internal_ComponentComboboxOptions +let Option = forwardRefWithAs(OptionFn) as unknown as _internal_ComponentComboboxOption export let Combobox = Object.assign(ComboboxRoot, { Input, Button, Label, Options, Option }) diff --git a/packages/@headlessui-react/src/components/description/description.tsx b/packages/@headlessui-react/src/components/description/description.tsx index 84bcd66..03a3598 100644 --- a/packages/@headlessui-react/src/components/description/description.tsx +++ b/packages/@headlessui-react/src/components/description/description.tsx @@ -115,13 +115,13 @@ function DescriptionFn( props: DescriptionProps & RefProp ): JSX.Element } -let DescriptionRoot = forwardRefWithAs(DescriptionFn) as unknown as ComponentDescription +let DescriptionRoot = forwardRefWithAs(DescriptionFn) as unknown as _internal_ComponentDescription export let Description = Object.assign(DescriptionRoot, { // diff --git a/packages/@headlessui-react/src/components/dialog/dialog.tsx b/packages/@headlessui-react/src/components/dialog/dialog.tsx index baadca2..1c94c6d 100644 --- a/packages/@headlessui-react/src/components/dialog/dialog.tsx +++ b/packages/@headlessui-react/src/components/dialog/dialog.tsx @@ -36,7 +36,11 @@ import { useId } from '../../hooks/use-id' import { FocusTrap } from '../../components/focus-trap/focus-trap' import { Portal, useNestedPortals } from '../../components/portal/portal' import { ForcePortalRoot } from '../../internal/portal-force-root' -import { ComponentDescription, Description, useDescriptions } from '../description/description' +import { + _internal_ComponentDescription, + Description, + useDescriptions, +} from '../description/description' import { useOpenClosed, State } from '../../internal/open-closed' import { useServerHandoffComplete } from '../../hooks/use-server-handoff-complete' import { StackProvider, StackMessage } from '../../internal/stack-context' @@ -614,48 +618,48 @@ function TitleFn( // --- -interface ComponentDialog extends HasDisplayName { +export interface _internal_ComponentDialog extends HasDisplayName { ( props: DialogProps & RefProp ): JSX.Element } -interface ComponentDialogBackdrop extends HasDisplayName { +export interface _internal_ComponentDialogBackdrop extends HasDisplayName { ( props: DialogBackdropProps & RefProp ): JSX.Element } -interface ComponentDialogPanel extends HasDisplayName { +export interface _internal_ComponentDialogPanel extends HasDisplayName { ( props: DialogPanelProps & RefProp ): JSX.Element } -interface ComponentDialogOverlay extends HasDisplayName { +export interface _internal_ComponentDialogOverlay extends HasDisplayName { ( props: DialogOverlayProps & RefProp ): JSX.Element } -interface ComponentDialogTitle extends HasDisplayName { +export interface _internal_ComponentDialogTitle extends HasDisplayName { ( props: DialogTitleProps & RefProp ): JSX.Element } -interface ComponentDialogDescription extends ComponentDescription {} +export interface _internal_ComponentDialogDescription extends _internal_ComponentDescription {} -let DialogRoot = forwardRefWithAs(DialogFn) as unknown as ComponentDialog -let Backdrop = forwardRefWithAs(BackdropFn) as unknown as ComponentDialogBackdrop -let Panel = forwardRefWithAs(PanelFn) as unknown as ComponentDialogPanel -let Overlay = forwardRefWithAs(OverlayFn) as unknown as ComponentDialogOverlay -let Title = forwardRefWithAs(TitleFn) as unknown as ComponentDialogTitle +let DialogRoot = forwardRefWithAs(DialogFn) as unknown as _internal_ComponentDialog +let Backdrop = forwardRefWithAs(BackdropFn) as unknown as _internal_ComponentDialogBackdrop +let Panel = forwardRefWithAs(PanelFn) as unknown as _internal_ComponentDialogPanel +let Overlay = forwardRefWithAs(OverlayFn) as unknown as _internal_ComponentDialogOverlay +let Title = forwardRefWithAs(TitleFn) as unknown as _internal_ComponentDialogTitle export let Dialog = Object.assign(DialogRoot, { Backdrop, Panel, Overlay, Title, - Description: Description as ComponentDialogDescription, + Description: Description as _internal_ComponentDialogDescription, }) diff --git a/packages/@headlessui-react/src/components/disclosure/disclosure.tsx b/packages/@headlessui-react/src/components/disclosure/disclosure.tsx index 4a7687d..aafa04f 100644 --- a/packages/@headlessui-react/src/components/disclosure/disclosure.tsx +++ b/packages/@headlessui-react/src/components/disclosure/disclosure.tsx @@ -425,26 +425,26 @@ function PanelFn( // --- -interface ComponentDisclosure extends HasDisplayName { +export interface _internal_ComponentDisclosure extends HasDisplayName { ( props: DisclosureProps & RefProp ): JSX.Element } -interface ComponentDisclosureButton extends HasDisplayName { +export interface _internal_ComponentDisclosureButton extends HasDisplayName { ( props: DisclosureButtonProps & RefProp ): JSX.Element } -interface ComponentDisclosurePanel extends HasDisplayName { +export interface _internal_ComponentDisclosurePanel extends HasDisplayName { ( props: DisclosurePanelProps & RefProp ): JSX.Element } -let DisclosureRoot = forwardRefWithAs(DisclosureFn) as unknown as ComponentDisclosure -let Button = forwardRefWithAs(ButtonFn) as unknown as ComponentDisclosureButton -let Panel = forwardRefWithAs(PanelFn) as unknown as ComponentDisclosurePanel +let DisclosureRoot = forwardRefWithAs(DisclosureFn) as unknown as _internal_ComponentDisclosure +let Button = forwardRefWithAs(ButtonFn) as unknown as _internal_ComponentDisclosureButton +let Panel = forwardRefWithAs(PanelFn) as unknown as _internal_ComponentDisclosurePanel export let Disclosure = Object.assign(DisclosureRoot, { Button, Panel }) diff --git a/packages/@headlessui-react/src/components/focus-trap/focus-trap.tsx b/packages/@headlessui-react/src/components/focus-trap/focus-trap.tsx index 7e0ad8e..356ca04 100644 --- a/packages/@headlessui-react/src/components/focus-trap/focus-trap.tsx +++ b/packages/@headlessui-react/src/components/focus-trap/focus-trap.tsx @@ -198,13 +198,13 @@ function FocusTrapFn( // --- -interface ComponentFocusTrap extends HasDisplayName { +export interface _internal_ComponentFocusTrap extends HasDisplayName { ( props: FocusTrapProps & RefProp ): JSX.Element } -let FocusTrapRoot = forwardRefWithAs(FocusTrapFn) as unknown as ComponentFocusTrap +let FocusTrapRoot = forwardRefWithAs(FocusTrapFn) as unknown as _internal_ComponentFocusTrap export let FocusTrap = Object.assign(FocusTrapRoot, { features: Features, diff --git a/packages/@headlessui-react/src/components/label/label.tsx b/packages/@headlessui-react/src/components/label/label.tsx index f42131c..b02b8a1 100644 --- a/packages/@headlessui-react/src/components/label/label.tsx +++ b/packages/@headlessui-react/src/components/label/label.tsx @@ -119,13 +119,13 @@ function LabelFn( // --- -export interface ComponentLabel extends HasDisplayName { +export interface _internal_ComponentLabel extends HasDisplayName { ( props: LabelProps & RefProp ): JSX.Element } -let LabelRoot = forwardRefWithAs(LabelFn) as unknown as ComponentLabel +let LabelRoot = forwardRefWithAs(LabelFn) as unknown as _internal_ComponentLabel export let Label = Object.assign(LabelRoot, { // diff --git a/packages/@headlessui-react/src/components/listbox/listbox.tsx b/packages/@headlessui-react/src/components/listbox/listbox.tsx index c633ad5..a39379e 100644 --- a/packages/@headlessui-react/src/components/listbox/listbox.tsx +++ b/packages/@headlessui-react/src/components/listbox/listbox.tsx @@ -1033,7 +1033,7 @@ function OptionFn< // --- -interface ComponentListbox extends HasDisplayName { +export interface _internal_ComponentListbox extends HasDisplayName { < TTag extends ElementType = typeof DEFAULT_LISTBOX_TAG, TType = string, @@ -1043,25 +1043,25 @@ interface ComponentListbox extends HasDisplayName { ): JSX.Element } -interface ComponentListboxButton extends HasDisplayName { +export interface _internal_ComponentListboxButton extends HasDisplayName { ( props: ListboxButtonProps & RefProp ): JSX.Element } -interface ComponentListboxLabel extends HasDisplayName { +export interface _internal_ComponentListboxLabel extends HasDisplayName { ( props: ListboxLabelProps & RefProp ): JSX.Element } -interface ComponentListboxOptions extends HasDisplayName { +export interface _internal_ComponentListboxOptions extends HasDisplayName { ( props: ListboxOptionsProps & RefProp ): JSX.Element } -interface ComponentListboxOption extends HasDisplayName { +export interface _internal_ComponentListboxOption extends HasDisplayName { < TTag extends ElementType = typeof DEFAULT_OPTION_TAG, TType = Parameters[0]['value'] @@ -1070,10 +1070,10 @@ interface ComponentListboxOption extends HasDisplayName { ): JSX.Element } -let ListboxRoot = forwardRefWithAs(ListboxFn) as unknown as ComponentListbox -let Button = forwardRefWithAs(ButtonFn) as unknown as ComponentListboxButton -let Label = forwardRefWithAs(LabelFn) as unknown as ComponentListboxLabel -let Options = forwardRefWithAs(OptionsFn) as unknown as ComponentListboxOptions -let Option = forwardRefWithAs(OptionFn) as unknown as ComponentListboxOption +let ListboxRoot = forwardRefWithAs(ListboxFn) as unknown as _internal_ComponentListbox +let Button = forwardRefWithAs(ButtonFn) as unknown as _internal_ComponentListboxButton +let Label = forwardRefWithAs(LabelFn) as unknown as _internal_ComponentListboxLabel +let Options = forwardRefWithAs(OptionsFn) as unknown as _internal_ComponentListboxOptions +let Option = forwardRefWithAs(OptionFn) as unknown as _internal_ComponentListboxOption export let Listbox = Object.assign(ListboxRoot, { Button, Label, Options, Option }) diff --git a/packages/@headlessui-react/src/components/menu/menu.tsx b/packages/@headlessui-react/src/components/menu/menu.tsx index e829ce0..1c62255 100644 --- a/packages/@headlessui-react/src/components/menu/menu.tsx +++ b/packages/@headlessui-react/src/components/menu/menu.tsx @@ -726,33 +726,33 @@ function ItemFn( // --- -interface ComponentMenu extends HasDisplayName { +export interface _internal_ComponentMenu extends HasDisplayName { ( props: MenuProps & RefProp ): JSX.Element } -interface ComponentMenuButton extends HasDisplayName { +export interface _internal_ComponentMenuButton extends HasDisplayName { ( props: MenuButtonProps & RefProp ): JSX.Element } -interface ComponentMenuItems extends HasDisplayName { +export interface _internal_ComponentMenuItems extends HasDisplayName { ( props: MenuItemsProps & RefProp ): JSX.Element } -interface ComponentMenuItem extends HasDisplayName { +export interface _internal_ComponentMenuItem extends HasDisplayName { ( props: MenuItemProps & RefProp ): JSX.Element } -let MenuRoot = forwardRefWithAs(MenuFn) as unknown as ComponentMenu -let Button = forwardRefWithAs(ButtonFn) as unknown as ComponentMenuButton -let Items = forwardRefWithAs(ItemsFn) as unknown as ComponentMenuItems -let Item = forwardRefWithAs(ItemFn) as unknown as ComponentMenuItem +let MenuRoot = forwardRefWithAs(MenuFn) as unknown as _internal_ComponentMenu +let Button = forwardRefWithAs(ButtonFn) as unknown as _internal_ComponentMenuButton +let Items = forwardRefWithAs(ItemsFn) as unknown as _internal_ComponentMenuItems +let Item = forwardRefWithAs(ItemFn) as unknown as _internal_ComponentMenuItem export let Menu = Object.assign(MenuRoot, { Button, Items, Item }) diff --git a/packages/@headlessui-react/src/components/popover/popover.tsx b/packages/@headlessui-react/src/components/popover/popover.tsx index 5fb0d28..cb98e63 100644 --- a/packages/@headlessui-react/src/components/popover/popover.tsx +++ b/packages/@headlessui-react/src/components/popover/popover.tsx @@ -1052,40 +1052,40 @@ function GroupFn( // --- -interface ComponentPopover extends HasDisplayName { +export interface _internal_ComponentPopover extends HasDisplayName { ( props: PopoverProps & RefProp ): JSX.Element } -interface ComponentPopoverButton extends HasDisplayName { +export interface _internal_ComponentPopoverButton extends HasDisplayName { ( props: PopoverButtonProps & RefProp ): JSX.Element } -interface ComponentPopoverOverlay extends HasDisplayName { +export interface _internal_ComponentPopoverOverlay extends HasDisplayName { ( props: PopoverOverlayProps & RefProp ): JSX.Element } -interface ComponentPopoverPanel extends HasDisplayName { +export interface _internal_ComponentPopoverPanel extends HasDisplayName { ( props: PopoverPanelProps & RefProp ): JSX.Element } -interface ComponentPopoverGroup extends HasDisplayName { +export interface _internal_ComponentPopoverGroup extends HasDisplayName { ( props: PopoverGroupProps & RefProp ): JSX.Element } -let PopoverRoot = forwardRefWithAs(PopoverFn) as unknown as ComponentPopover -let Button = forwardRefWithAs(ButtonFn) as unknown as ComponentPopoverButton -let Overlay = forwardRefWithAs(OverlayFn) as unknown as ComponentPopoverOverlay -let Panel = forwardRefWithAs(PanelFn) as unknown as ComponentPopoverPanel -let Group = forwardRefWithAs(GroupFn) as unknown as ComponentPopoverGroup +let PopoverRoot = forwardRefWithAs(PopoverFn) as unknown as _internal_ComponentPopover +let Button = forwardRefWithAs(ButtonFn) as unknown as _internal_ComponentPopoverButton +let Overlay = forwardRefWithAs(OverlayFn) as unknown as _internal_ComponentPopoverOverlay +let Panel = forwardRefWithAs(PanelFn) as unknown as _internal_ComponentPopoverPanel +let Group = forwardRefWithAs(GroupFn) as unknown as _internal_ComponentPopoverGroup export let Popover = Object.assign(PopoverRoot, { Button, Overlay, Panel, Group }) diff --git a/packages/@headlessui-react/src/components/portal/portal.tsx b/packages/@headlessui-react/src/components/portal/portal.tsx index 77d8549..7419982 100644 --- a/packages/@headlessui-react/src/components/portal/portal.tsx +++ b/packages/@headlessui-react/src/components/portal/portal.tsx @@ -213,19 +213,19 @@ export function useNestedPortals() { // --- -interface ComponentPortal extends HasDisplayName { +export interface _internal_ComponentPortal extends HasDisplayName { ( props: PortalProps & RefProp ): JSX.Element } -interface ComponentPortalGroup extends HasDisplayName { +export interface _internal_ComponentPortalGroup extends HasDisplayName { ( props: PortalGroupProps & RefProp ): JSX.Element } -let PortalRoot = forwardRefWithAs(PortalFn) as unknown as ComponentPortal -let Group = forwardRefWithAs(GroupFn) as unknown as ComponentPortalGroup +let PortalRoot = forwardRefWithAs(PortalFn) as unknown as _internal_ComponentPortal +let Group = forwardRefWithAs(GroupFn) as unknown as _internal_ComponentPortalGroup export let Portal = Object.assign(PortalRoot, { Group }) diff --git a/packages/@headlessui-react/src/components/radio-group/radio-group.tsx b/packages/@headlessui-react/src/components/radio-group/radio-group.tsx index 2356145..3a3472d 100644 --- a/packages/@headlessui-react/src/components/radio-group/radio-group.tsx +++ b/packages/@headlessui-react/src/components/radio-group/radio-group.tsx @@ -23,9 +23,9 @@ import { useIsoMorphicEffect } from '../../hooks/use-iso-morphic-effect' import { Keys } from '../../components/keyboard' import { focusIn, Focus, FocusResult, sortByDomNode } from '../../utils/focus-management' import { useFlags } from '../../hooks/use-flags' -import { ComponentLabel, Label, useLabels } from '../../components/label/label' +import { _internal_ComponentLabel, Label, useLabels } from '../../components/label/label' import { - ComponentDescription, + _internal_ComponentDescription, Description, useDescriptions, } from '../../components/description/description' @@ -484,26 +484,26 @@ function OptionFn< // --- -interface ComponentRadioGroup extends HasDisplayName { +export interface _internal_ComponentRadioGroup extends HasDisplayName { ( props: RadioGroupProps & RefProp ): JSX.Element } -interface ComponentRadioOption extends HasDisplayName { +export interface _internal_ComponentRadioOption extends HasDisplayName { ( props: RadioOptionProps & RefProp ): JSX.Element } -interface ComponentRadioLabel extends ComponentLabel {} -interface ComponentRadioDescription extends ComponentDescription {} +export interface _internal_ComponentRadioLabel extends _internal_ComponentLabel {} +export interface _internal_ComponentRadioDescription extends _internal_ComponentDescription {} -let RadioGroupRoot = forwardRefWithAs(RadioGroupFn) as unknown as ComponentRadioGroup -let Option = forwardRefWithAs(OptionFn) as unknown as ComponentRadioOption +let RadioGroupRoot = forwardRefWithAs(RadioGroupFn) as unknown as _internal_ComponentRadioGroup +let Option = forwardRefWithAs(OptionFn) as unknown as _internal_ComponentRadioOption export let RadioGroup = Object.assign(RadioGroupRoot, { Option, - Label: Label as ComponentRadioLabel, - Description: Description as ComponentRadioDescription, + Label: Label as _internal_ComponentRadioLabel, + Description: Description as _internal_ComponentRadioDescription, }) diff --git a/packages/@headlessui-react/src/components/switch/switch.tsx b/packages/@headlessui-react/src/components/switch/switch.tsx index ede476f..129df55 100644 --- a/packages/@headlessui-react/src/components/switch/switch.tsx +++ b/packages/@headlessui-react/src/components/switch/switch.tsx @@ -19,8 +19,12 @@ import { forwardRefWithAs, render, compact, HasDisplayName, RefProp } from '../. import { useId } from '../../hooks/use-id' import { Keys } from '../keyboard' import { isDisabledReactIssue7711 } from '../../utils/bugs' -import { ComponentLabel, Label, useLabels } from '../label/label' -import { ComponentDescription, Description, useDescriptions } from '../description/description' +import { _internal_ComponentLabel, Label, useLabels } from '../label/label' +import { + _internal_ComponentDescription, + Description, + useDescriptions, +} from '../description/description' import { useResolveButtonType } from '../../hooks/use-resolve-button-type' import { useSyncRefs } from '../../hooks/use-sync-refs' import { Hidden, Features as HiddenFeatures } from '../../internal/hidden' @@ -209,26 +213,26 @@ function SwitchFn( // --- -interface ComponentSwitch extends HasDisplayName { +export interface _internal_ComponentSwitch extends HasDisplayName { ( props: SwitchProps & RefProp ): JSX.Element } -interface ComponentSwitchGroup extends HasDisplayName { +export interface _internal_ComponentSwitchGroup extends HasDisplayName { ( props: SwitchGroupProps & RefProp ): JSX.Element } -interface ComponentSwitchLabel extends ComponentLabel {} -interface ComponentSwitchDescription extends ComponentDescription {} +export interface _internal_ComponentSwitchLabel extends _internal_ComponentLabel {} +export interface _internal_ComponentSwitchDescription extends _internal_ComponentDescription {} -let SwitchRoot = forwardRefWithAs(SwitchFn) as unknown as ComponentSwitch -let Group = GroupFn as unknown as ComponentSwitchGroup +let SwitchRoot = forwardRefWithAs(SwitchFn) as unknown as _internal_ComponentSwitch +let Group = GroupFn as unknown as _internal_ComponentSwitchGroup export let Switch = Object.assign(SwitchRoot, { Group, - Label: Label as ComponentSwitchLabel, - Description: Description as ComponentSwitchDescription, + Label: Label as _internal_ComponentSwitchLabel, + Description: Description as _internal_ComponentSwitchDescription, }) diff --git a/packages/@headlessui-react/src/components/tabs/tabs.tsx b/packages/@headlessui-react/src/components/tabs/tabs.tsx index 9c18dc3..f4d18c1 100644 --- a/packages/@headlessui-react/src/components/tabs/tabs.tsx +++ b/packages/@headlessui-react/src/components/tabs/tabs.tsx @@ -605,40 +605,40 @@ function PanelFn( // --- -interface ComponentTab extends HasDisplayName { +export interface _internal_ComponentTab extends HasDisplayName { ( props: TabProps & RefProp ): JSX.Element } -interface ComponentTabGroup extends HasDisplayName { +export interface _internal_ComponentTabGroup extends HasDisplayName { ( props: TabGroupProps & RefProp ): JSX.Element } -interface ComponentTabList extends HasDisplayName { +export interface _internal_ComponentTabList extends HasDisplayName { ( props: TabListProps & RefProp ): JSX.Element } -interface ComponentTabPanels extends HasDisplayName { +export interface _internal_ComponentTabPanels extends HasDisplayName { ( props: TabPanelsProps & RefProp ): JSX.Element } -interface ComponentTabPanel extends HasDisplayName { +export interface _internal_ComponentTabPanel extends HasDisplayName { ( props: TabPanelProps & RefProp ): JSX.Element } -let TabRoot = forwardRefWithAs(TabFn) as unknown as ComponentTab -let Group = forwardRefWithAs(GroupFn) as unknown as ComponentTabGroup -let List = forwardRefWithAs(ListFn) as unknown as ComponentTabList -let Panels = forwardRefWithAs(PanelsFn) as unknown as ComponentTabPanels -let Panel = forwardRefWithAs(PanelFn) as unknown as ComponentTabPanel +let TabRoot = forwardRefWithAs(TabFn) as unknown as _internal_ComponentTab +let Group = forwardRefWithAs(GroupFn) as unknown as _internal_ComponentTabGroup +let List = forwardRefWithAs(ListFn) as unknown as _internal_ComponentTabList +let Panels = forwardRefWithAs(PanelsFn) as unknown as _internal_ComponentTabPanels +let Panel = forwardRefWithAs(PanelFn) as unknown as _internal_ComponentTabPanel export let Tab = Object.assign(TabRoot, { Group, List, Panels, Panel }) diff --git a/packages/@headlessui-react/src/components/transitions/transition.tsx b/packages/@headlessui-react/src/components/transitions/transition.tsx index 3dfdf1c..bd54f87 100644 --- a/packages/@headlessui-react/src/components/transitions/transition.tsx +++ b/packages/@headlessui-react/src/components/transitions/transition.tsx @@ -607,20 +607,24 @@ function ChildFn ) } -interface ComponentTransitionRoot extends HasDisplayName { +export interface _internal_ComponentTransitionRoot extends HasDisplayName { ( props: TransitionRootProps & RefProp ): JSX.Element } -interface ComponentTransitionChild extends HasDisplayName { +export interface _internal_ComponentTransitionChild extends HasDisplayName { ( props: TransitionChildProps & RefProp ): JSX.Element } -let TransitionRoot = forwardRefWithAs(TransitionRootFn) as unknown as ComponentTransitionRoot -let TransitionChild = forwardRefWithAs(TransitionChildFn) as unknown as ComponentTransitionChild -let Child = forwardRefWithAs(ChildFn) as unknown as ComponentTransitionChild +let TransitionRoot = forwardRefWithAs( + TransitionRootFn +) as unknown as _internal_ComponentTransitionRoot +let TransitionChild = forwardRefWithAs( + TransitionChildFn +) as unknown as _internal_ComponentTransitionChild +let Child = forwardRefWithAs(ChildFn) as unknown as _internal_ComponentTransitionChild export let Transition = Object.assign(TransitionRoot, { Child, Root: TransitionRoot })