Skip to content

Commit 13d8829

Browse files
authored
Use React.JSX instead of JSX (tailwindlabs#3511)
The global JSX type is deprecated in React 18.3 and removed in React 19 RC. This PR changes the code to use the supported React.JSX syntax instead. PS. Would you accept a similar PR for 1.x? I personally haven't upgraded all my projects yet.
1 parent 2422250 commit 13d8829

File tree

29 files changed

+70
-66
lines changed

29 files changed

+70
-66
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function ButtonFn<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(
7878
export interface _internal_ComponentButton extends HasDisplayName {
7979
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(
8080
props: ButtonProps<TTag> & RefProp<typeof ButtonFn>
81-
): JSX.Element
81+
): React.JSX.Element
8282
}
8383

8484
export let Button = forwardRefWithAs(ButtonFn) as _internal_ComponentButton

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ function CheckboxFn<TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG, TTyp
203203
export interface _internal_ComponentCheckbox extends HasDisplayName {
204204
<TTag extends ElementType = typeof DEFAULT_CHECKBOX_TAG, TType = string>(
205205
props: CheckboxProps<TTag, TType> & RefProp<typeof CheckboxFn>
206-
): JSX.Element
206+
): React.JSX.Element
207207
}
208208

209209
export let Checkbox = forwardRefWithAs(CheckboxFn) as _internal_ComponentCheckbox

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2055,27 +2055,27 @@ export interface _internal_ComponentCombobox extends HasDisplayName {
20552055
TTag extends ElementType = typeof DEFAULT_COMBOBOX_TAG,
20562056
>(
20572057
props: ComboboxProps<TValue, TMultiple, TTag> & RefProp<typeof ComboboxFn>
2058-
): JSX.Element
2058+
): React.JSX.Element
20592059
}
20602060

20612061
export interface _internal_ComponentComboboxButton extends HasDisplayName {
20622062
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(
20632063
props: ComboboxButtonProps<TTag> & RefProp<typeof ButtonFn>
2064-
): JSX.Element
2064+
): React.JSX.Element
20652065
}
20662066

20672067
export interface _internal_ComponentComboboxInput extends HasDisplayName {
20682068
<TType, TTag extends ElementType = typeof DEFAULT_INPUT_TAG>(
20692069
props: ComboboxInputProps<TTag, TType> & RefProp<typeof InputFn>
2070-
): JSX.Element
2070+
): React.JSX.Element
20712071
}
20722072

20732073
export interface _internal_ComponentComboboxLabel extends _internal_ComponentLabel {}
20742074

20752075
export interface _internal_ComponentComboboxOptions extends HasDisplayName {
20762076
<TTag extends ElementType = typeof DEFAULT_OPTIONS_TAG>(
20772077
props: ComboboxOptionsProps<TTag> & RefProp<typeof OptionsFn>
2078-
): JSX.Element
2078+
): React.JSX.Element
20792079
}
20802080

20812081
export interface _internal_ComponentComboboxOption extends HasDisplayName {
@@ -2084,7 +2084,7 @@ export interface _internal_ComponentComboboxOption extends HasDisplayName {
20842084
TType = Parameters<typeof ComboboxRoot>[0]['value'],
20852085
>(
20862086
props: ComboboxOptionProps<TTag, TType> & RefProp<typeof OptionFn>
2087-
): JSX.Element
2087+
): React.JSX.Element
20882088
}
20892089

20902090
let ComboboxRoot = forwardRefWithAs(ComboboxFn) as _internal_ComponentCombobox

packages/@headlessui-react/src/components/data-interactive/data-interactive.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ function DataInteractiveFn<TTag extends ElementType = typeof DEFAULT_DATA_INTERA
5959
export interface _internal_ComponentDataInteractive extends HasDisplayName {
6060
<TTag extends ElementType = typeof DEFAULT_DATA_INTERACTIVE_TAG>(
6161
props: DataInteractiveProps<TTag> & RefProp<typeof DataInteractiveFn>
62-
): JSX.Element
62+
): React.JSX.Element
6363
}
6464

6565
export let DataInteractive = forwardRefWithAs(

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ interface DescriptionProviderProps extends SharedData {
5353

5454
export function useDescriptions(): [
5555
string | undefined,
56-
(props: DescriptionProviderProps) => JSX.Element,
56+
(props: DescriptionProviderProps) => React.JSX.Element,
5757
] {
5858
let [descriptionIds, setDescriptionIds] = useState<string[]>([])
5959

@@ -134,7 +134,7 @@ function DescriptionFn<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG
134134
export interface _internal_ComponentDescription extends HasDisplayName {
135135
<TTag extends ElementType = typeof DEFAULT_DESCRIPTION_TAG>(
136136
props: DescriptionProps<TTag> & RefProp<typeof DescriptionFn>
137-
): JSX.Element
137+
): React.JSX.Element
138138
}
139139

140140
let DescriptionRoot = forwardRefWithAs(DescriptionFn) as _internal_ComponentDescription

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,25 +555,25 @@ function TitleFn<TTag extends ElementType = typeof DEFAULT_TITLE_TAG>(
555555
export interface _internal_ComponentDialog extends HasDisplayName {
556556
<TTag extends ElementType = typeof DEFAULT_DIALOG_TAG>(
557557
props: DialogProps<TTag> & RefProp<typeof DialogFn>
558-
): JSX.Element
558+
): React.JSX.Element
559559
}
560560

561561
export interface _internal_ComponentDialogPanel extends HasDisplayName {
562562
<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(
563563
props: DialogPanelProps<TTag> & RefProp<typeof PanelFn>
564-
): JSX.Element
564+
): React.JSX.Element
565565
}
566566

567567
export interface _internal_ComponentDialogBackdrop extends HasDisplayName {
568568
<TTag extends ElementType = typeof DEFAULT_BACKDROP_TAG>(
569569
props: DialogBackdropProps<TTag> & RefProp<typeof BackdropFn>
570-
): JSX.Element
570+
): React.JSX.Element
571571
}
572572

573573
export interface _internal_ComponentDialogTitle extends HasDisplayName {
574574
<TTag extends ElementType = typeof DEFAULT_TITLE_TAG>(
575575
props: DialogTitleProps<TTag> & RefProp<typeof TitleFn>
576-
): JSX.Element
576+
): React.JSX.Element
577577
}
578578

579579
export interface _internal_ComponentDialogDescription extends _internal_ComponentDescription {}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,19 +519,19 @@ function PanelFn<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(
519519
export interface _internal_ComponentDisclosure extends HasDisplayName {
520520
<TTag extends ElementType = typeof DEFAULT_DISCLOSURE_TAG>(
521521
props: DisclosureProps<TTag> & RefProp<typeof DisclosureFn>
522-
): JSX.Element
522+
): React.JSX.Element
523523
}
524524

525525
export interface _internal_ComponentDisclosureButton extends HasDisplayName {
526526
<TTag extends ElementType = typeof DEFAULT_BUTTON_TAG>(
527527
props: DisclosureButtonProps<TTag> & RefProp<typeof ButtonFn>
528-
): JSX.Element
528+
): React.JSX.Element
529529
}
530530

531531
export interface _internal_ComponentDisclosurePanel extends HasDisplayName {
532532
<TTag extends ElementType = typeof DEFAULT_PANEL_TAG>(
533533
props: DisclosurePanelProps<TTag> & RefProp<typeof PanelFn>
534-
): JSX.Element
534+
): React.JSX.Element
535535
}
536536

537537
let DisclosureRoot = forwardRefWithAs(DisclosureFn) as _internal_ComponentDisclosure

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ function FieldFn<TTag extends ElementType = typeof DEFAULT_FIELD_TAG>(
7373
}
7474

7575
export interface _internal_ComponentField extends HasDisplayName {
76-
<TTag extends ElementType = typeof DEFAULT_FIELD_TAG>(props: FieldProps<TTag>): JSX.Element
76+
<TTag extends ElementType = typeof DEFAULT_FIELD_TAG>(props: FieldProps<TTag>): React.JSX.Element
7777
}
7878

7979
export let Field = forwardRefWithAs(FieldFn) as _internal_ComponentField

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ function FieldsetFn<TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG>(
6666
}
6767

6868
export interface _internal_ComponentFieldset extends HasDisplayName {
69-
<TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG>(props: FieldsetProps<TTag>): JSX.Element
69+
<TTag extends ElementType = typeof DEFAULT_FIELDSET_TAG>(
70+
props: FieldsetProps<TTag>
71+
): React.JSX.Element
7072
}
7173

7274
export let Fieldset = forwardRefWithAs(FieldsetFn) as _internal_ComponentFieldset

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ function FocusTrapFn<TTag extends ElementType = typeof DEFAULT_FOCUS_TRAP_TAG>(
232232
export interface _internal_ComponentFocusTrap extends HasDisplayName {
233233
<TTag extends ElementType = typeof DEFAULT_FOCUS_TRAP_TAG>(
234234
props: FocusTrapProps<TTag> & RefProp<typeof FocusTrapFn>
235-
): JSX.Element
235+
): React.JSX.Element
236236
}
237237

238238
let FocusTrapRoot = forwardRefWithAs(FocusTrapFn) as _internal_ComponentFocusTrap

0 commit comments

Comments
 (0)