Skip to content

Commit 8d20cfb

Browse files
Deprecate dot notation (#3170)
* Expose new components under dot notation Most of them already where so only a couple were missing. * Deprecate dot notation * Add deprecation to `RadioGroupOption` * Update deprecations * Update changelog * Update changelog
1 parent 0bd8c47 commit 8d20cfb

File tree

13 files changed

+44
-1
lines changed

13 files changed

+44
-1
lines changed

packages/@headlessui-react/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4545
- Change default tags for `ListboxOptions`, `ListboxOption`, `ComboboxOptions`, `ComboboxOption` and `TabGroup` components ([#3109](https://github.com/tailwindlabs/headlessui/pull/3109))
4646
- Change default tag from `div` to `Fragment` on `Transition` components ([#3110](https://github.com/tailwindlabs/headlessui/pull/3110))
4747
- Update minimal peer dependency version requirements for `react` and `react-dom` ([#3131](https://github.com/tailwindlabs/headlessui/pull/3131))
48+
- Deprecate dot notation for components ([#2887](https://github.com/tailwindlabs/headlessui/pull/2887), [#3170](https://github.com/tailwindlabs/headlessui/pull/3170))
4849

4950
### Added
5051

packages/@headlessui-react/src/components/combobox/combobox.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1971,10 +1971,14 @@ export let ComboboxOptions = forwardRefWithAs(OptionsFn) as _internal_ComponentC
19711971
export let ComboboxOption = forwardRefWithAs(OptionFn) as _internal_ComponentComboboxOption
19721972

19731973
export let Combobox = Object.assign(ComboboxRoot, {
1974+
/** @deprecated use `<ComboboxInput>` instead of `<Combobox.Input>` */
19741975
Input: ComboboxInput,
1976+
/** @deprecated use `<ComboboxButton>` instead of `<Combobox.Button>` */
19751977
Button: ComboboxButton,
19761978
/** @deprecated use `<Label>` instead of `<Combobox.Label>` */
19771979
Label: ComboboxLabel,
1980+
/** @deprecated use `<ComboboxOptions>` instead of `<Combobox.Options>` */
19781981
Options: ComboboxOptions,
1982+
/** @deprecated use `<ComboboxOption>` instead of `<Combobox.Option>` */
19791983
Option: ComboboxOption,
19801984
})

packages/@headlessui-react/src/components/dialog/dialog.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,17 +658,23 @@ export interface _internal_ComponentDialogTitle extends HasDisplayName {
658658
export interface _internal_ComponentDialogDescription extends _internal_ComponentDescription {}
659659

660660
let DialogRoot = forwardRefWithAs(DialogFn) as _internal_ComponentDialog
661+
/** @deprecated use a plain `<div>` instead of `<DialogBackdrop>` */
661662
export let DialogBackdrop = forwardRefWithAs(BackdropFn) as _internal_ComponentDialogBackdrop
662663
export let DialogPanel = forwardRefWithAs(PanelFn) as _internal_ComponentDialogPanel
664+
/** @deprecated use a plain `<div>` instead of `<DialogOverlay>` */
663665
export let DialogOverlay = forwardRefWithAs(OverlayFn) as _internal_ComponentDialogOverlay
664666
export let DialogTitle = forwardRefWithAs(TitleFn) as _internal_ComponentDialogTitle
665667
/** @deprecated use `<Description>` instead of `<DialogDescription>` */
666668
export let DialogDescription = Description as _internal_ComponentDialogDescription
667669

668670
export let Dialog = Object.assign(DialogRoot, {
671+
/** @deprecated use a plain `<div>` instead of `<Dialog.Backdrop>` */
669672
Backdrop: DialogBackdrop,
673+
/** @deprecated use `<DialogPanel>` instead of `<Dialog.Panel>` */
670674
Panel: DialogPanel,
675+
/** @deprecated use a plain `<div>` instead of `<Dialog.Overlay>` */
671676
Overlay: DialogOverlay,
677+
/** @deprecated use `<DialogTitle>` instead of `<Dialog.Title>` */
672678
Title: DialogTitle,
673679
/** @deprecated use `<Description>` instead of `<Dialog.Description>` */
674680
Description: Description as _internal_ComponentDialogDescription,

packages/@headlessui-react/src/components/disclosure/disclosure.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,8 @@ export let DisclosureButton = forwardRefWithAs(ButtonFn) as _internal_ComponentD
514514
export let DisclosurePanel = forwardRefWithAs(PanelFn) as _internal_ComponentDisclosurePanel
515515

516516
export let Disclosure = Object.assign(DisclosureRoot, {
517+
/** @deprecated use `<DisclosureButton>` instead of `<Disclosure.Button>` */
517518
Button: DisclosureButton,
519+
/** @deprecated use `<DisclosurePanel>` instead of `<Disclosure.Panel>` */
518520
Panel: DisclosurePanel,
519521
})

packages/@headlessui-react/src/components/focus-trap/focus-trap.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ export interface _internal_ComponentFocusTrap extends HasDisplayName {
233233
let FocusTrapRoot = forwardRefWithAs(FocusTrapFn) as _internal_ComponentFocusTrap
234234

235235
export let FocusTrap = Object.assign(FocusTrapRoot, {
236+
/** @deprecated use `FocusTrapFeatures` instead of `FocusTrap.features` */
236237
features: FocusTrapFeatures,
237238
})
238239

packages/@headlessui-react/src/components/listbox/listbox.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,9 +1403,14 @@ export let ListboxSelectedOption = forwardRefWithAs(
14031403
) as _internal_ComponentListboxSelectedOption
14041404

14051405
export let Listbox = Object.assign(ListboxRoot, {
1406+
/** @deprecated use `<ListboxButton>` instead of `<Listbox.Button>` */
14061407
Button: ListboxButton,
14071408
/** @deprecated use `<Label>` instead of `<Listbox.Label>` */
14081409
Label: ListboxLabel,
1410+
/** @deprecated use `<ListboxOptions>` instead of `<Listbox.Options>` */
14091411
Options: ListboxOptions,
1412+
/** @deprecated use `<ListboxOption>` instead of `<Listbox.Option>` */
14101413
Option: ListboxOption,
1414+
/** @deprecated use `<ListboxSelectedOption>` instead of `<Listbox.SelectedOption>` */
1415+
SelectedOption: ListboxSelectedOption,
14111416
})

packages/@headlessui-react/src/components/menu/menu.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,10 +1109,16 @@ export let MenuHeading = forwardRefWithAs(HeadingFn) as _internal_ComponentMenuH
11091109
export let MenuSeparator = forwardRefWithAs(SeparatorFn) as _internal_ComponentMenuSeparator
11101110

11111111
export let Menu = Object.assign(MenuRoot, {
1112+
/** @deprecated use `<MenuButton>` instead of `<Menu.Button>` */
11121113
Button: MenuButton,
1114+
/** @deprecated use `<MenuItems>` instead of `<Menu.Items>` */
11131115
Items: MenuItems,
1116+
/** @deprecated use `<MenuItem>` instead of `<Menu.Item>` */
11141117
Item: MenuItem,
1118+
/** @deprecated use `<MenuSection>` instead of `<Menu.Section>` */
11151119
Section: MenuSection,
1120+
/** @deprecated use `<MenuHeading>` instead of `<Menu.Heading>` */
11161121
Heading: MenuHeading,
1122+
/** @deprecated use `<MenuSeparator>` instead of `<Menu.Separator>` */
11171123
Separator: MenuSeparator,
11181124
})

packages/@headlessui-react/src/components/popover/popover.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,8 +1189,12 @@ export let PopoverPanel = forwardRefWithAs(PanelFn) as _internal_ComponentPopove
11891189
export let PopoverGroup = forwardRefWithAs(GroupFn) as _internal_ComponentPopoverGroup
11901190

11911191
export let Popover = Object.assign(PopoverRoot, {
1192+
/** @deprecated use `<PopoverButton>` instead of `<Popover.Button>` */
11921193
Button: PopoverButton,
1194+
/** @deprecated use `<PopoverOverlay>` instead of `<Popover.Overlay>` */
11931195
Overlay: PopoverOverlay,
1196+
/** @deprecated use `<PopoverPanel>` instead of `<Popover.Panel>` */
11941197
Panel: PopoverPanel,
1198+
/** @deprecated use `<PopoverGroup>` instead of `<Popover.Group>` */
11951199
Group: PopoverGroup,
11961200
})

packages/@headlessui-react/src/components/portal/portal.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,7 @@ export interface _internal_ComponentPortalGroup extends HasDisplayName {
261261
let PortalRoot = forwardRefWithAs(PortalFn) as unknown as _internal_ComponentPortal
262262
export let PortalGroup = forwardRefWithAs(GroupFn) as _internal_ComponentPortalGroup
263263

264-
export let Portal = Object.assign(PortalRoot, { Group: PortalGroup })
264+
export let Portal = Object.assign(PortalRoot, {
265+
/** @deprecated use `<PortalGroup>` instead of `<Portal.Group>` */
266+
Group: PortalGroup,
267+
})

packages/@headlessui-react/src/components/radio-group/radio-group.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,7 @@ export interface _internal_ComponentRadioLabel extends _internal_ComponentLabel
588588
export interface _internal_ComponentRadioDescription extends _internal_ComponentDescription {}
589589

590590
let RadioGroupRoot = forwardRefWithAs(RadioGroupFn) as _internal_ComponentRadioGroup
591+
/** @deprecated use `<Radio>` instead of `<RadioGroupOption>` */
591592
export let RadioGroupOption = forwardRefWithAs(OptionFn) as _internal_ComponentRadioOption
592593
export let Radio = forwardRefWithAs(RadioFn) as _internal_ComponentRadio
593594
/** @deprecated use `<Label>` instead of `<RadioGroupLabel>` */
@@ -596,7 +597,10 @@ export let RadioGroupLabel = Label as _internal_ComponentRadioLabel
596597
export let RadioGroupDescription = Description as _internal_ComponentRadioDescription
597598

598599
export let RadioGroup = Object.assign(RadioGroupRoot, {
600+
/** @deprecated use `<Radio>` instead of `<RadioGroup.Option>` */
599601
Option: RadioGroupOption,
602+
/** @deprecated use `<Radio>` instead of `<RadioGroup.Radio>` */
603+
Radio: Radio,
600604
/** @deprecated use `<Label>` instead of `<RadioGroup.Label>` */
601605
Label: RadioGroupLabel,
602606
/** @deprecated use `<Description>` instead of `<RadioGroup.Description>` */

0 commit comments

Comments
 (0)