Skip to content

Commit 3ec7c79

Browse files
committed
feat: polish types to be compatible with React 18.3
1 parent 6122274 commit 3ec7c79

File tree

12 files changed

+41
-34
lines changed

12 files changed

+41
-34
lines changed

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@
4040
"license": "MIT",
4141
"resolutions": {
4242
"@types/eslint": "^8.37.0",
43-
"@types/react": ">=18.3.1",
44-
"@types/react-dom": ">=18.3.1",
43+
"@types/react": "^18.3.1",
44+
"@types/react-dom": "^18.3.1",
45+
"react": "^18.3.1",
46+
"react-dom": "^18.3.1",
4547
"ts-node": "^10.9.2"
4648
},
4749
"devDependencies": {

packages/orbit-components/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@
6969
],
7070
"license": "MIT",
7171
"resolutions": {
72-
"ts-node": "^10.9.2"
72+
"ts-node": "^10.9.2",
73+
"react": "^18.3.1",
74+
"react-dom": "^18.3.1"
7375
},
7476
"peerDependencies": {
7577
"@babel/runtime": "^7.21.0",

packages/orbit-components/src/Accordion/AccordionSection/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const AccordionSection = ({
5050
)}
5151

5252
<Slide maxHeight={height} expanded={isExpanded} id={slideId}>
53-
<div ref={ref}>
53+
<div ref={ref as React.RefObject<HTMLDivElement>}>
5454
{children && <SectionContent dataTest={dataTest}>{children}</SectionContent>}
5555
{footer && <SectionFooter dataTest={dataTest}>{footer}</SectionFooter>}
5656
</div>

packages/orbit-components/src/Card/CardSection/components/Expandable.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function Expandable({ expanded, children, slideID }: Props) {
1414

1515
return (
1616
<Slide maxHeight={height} expanded={expanded} id={slideID}>
17-
<div ref={ref}>{children}</div>
17+
<div ref={ref as React.RefObject<HTMLDivElement>}>{children}</div>
1818
</Slide>
1919
);
2020
}

packages/orbit-components/src/Collapse/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ const Collapse = ({
105105
</Stack>
106106
</div>
107107
<Slide maxHeight={height} expanded={expanded} id={slideID}>
108-
<div className="my-300 mx-0" ref={node}>
108+
<div className="my-300 mx-0" ref={node as React.RefObject<HTMLDivElement>}>
109109
{children}
110110
</div>
111111
</Slide>

packages/orbit-components/src/InputSelect/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ const InputSelect = React.forwardRef<HTMLInputElement, Props>(
272272
id={optionId}
273273
active={activeIdx === idx}
274274
isSelected={isSelected}
275-
ref={optionRef}
275+
ref={optionRef as React.RefObject<HTMLDivElement>}
276276
title={title}
277277
description={description}
278278
prefix={prefix}
@@ -325,7 +325,7 @@ const InputSelect = React.forwardRef<HTMLInputElement, Props>(
325325
id={optionId}
326326
active={!!isLargeMobile && activeIdx === optionIdx}
327327
isSelected={isSelected}
328-
ref={optionRef}
328+
ref={optionRef as React.RefObject<HTMLDivElement>}
329329
title={title}
330330
description={description}
331331
prefix={prefix}
@@ -367,7 +367,7 @@ const InputSelect = React.forwardRef<HTMLInputElement, Props>(
367367
id={optionId}
368368
active={activeIdx === optionIdx}
369369
isSelected={isSelected}
370-
ref={optionRef}
370+
ref={optionRef as React.RefObject<HTMLDivElement>}
371371
title={title}
372372
description={description}
373373
prefix={prefix}

packages/orbit-components/src/Itinerary/ItinerarySegment/ItinerarySegmentDetail/index.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ const ItinerarySegmentDetail = ({
7171
ariaLabelledBy={randomId("slide")}
7272
stopClickPropagation={false}
7373
>
74-
<div className="pt-300 cursor-pointer overflow-hidden" ref={slideRef}>
74+
<div
75+
className="pt-300 cursor-pointer overflow-hidden"
76+
ref={slideRef as React.RefObject<HTMLDivElement>}
77+
>
7578
<div
7679
className="px-300 z-default relative py-0"
7780
style={{

packages/orbit-components/src/Modal/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ const Modal = React.forwardRef<Instance, Props>(
9292
if (typeof scrollingElementRef === "function") {
9393
scrollingElementRef(node);
9494
} else {
95+
// @ts-expect-error TODO
9596
// eslint-disable-next-line no-param-reassign
9697
scrollingElementRef.current = node;
9798
}

packages/orbit-components/src/Modal/types.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export type Props = Common.Globals &
2121
closable & {
2222
readonly size?: Size;
2323
readonly children: React.ReactNode;
24-
readonly triggerRef?: React.RefObject<HTMLElement | null>;
24+
readonly triggerRef?: React.RefObject<HTMLElement>;
2525
readonly lockScrolling?: boolean;
2626
readonly scrollingElementRef?: React.Ref<HTMLElement | null>;
2727
readonly onClose?: Common.Event<

packages/orbit-components/src/Tile/components/TileExpandable/index.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,11 @@ const TileExpandable = ({
8484
/>
8585
)}
8686
<Slide maxHeight={height} expanded={isExpanded} id={slideID} ariaLabelledBy={labelID}>
87-
<TileContent noPadding={noPadding} ref={node} withBorder={hasHeader}>
87+
<TileContent
88+
noPadding={noPadding}
89+
ref={node as React.RefObject<HTMLDivElement>}
90+
withBorder={hasHeader}
91+
>
8892
{children}
8993
</TileContent>
9094
</Slide>

packages/orbit-components/src/utils/mergeRefs/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export default function mergeRefs<T = HTMLElement>(
88
if (typeof ref === "function") {
99
ref(value);
1010
} else if (ref != null && typeof ref !== "string") {
11+
// @ts-expect-error TODO
1112
// eslint-disable-next-line no-param-reassign
1213
ref.current = value;
1314
}

yarn.lock

+16-22
Original file line numberDiff line numberDiff line change
@@ -6671,6 +6671,11 @@
66716671
resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz"
66726672
integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==
66736673

6674+
"@types/prop-types@*":
6675+
version "15.7.14"
6676+
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2"
6677+
integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==
6678+
66746679
"@types/ps-tree@^1.1.2":
66756680
version "1.1.2"
66766681
resolved "https://registry.npmjs.org/@types/ps-tree/-/ps-tree-1.1.2.tgz"
@@ -6693,10 +6698,10 @@
66936698
dependencies:
66946699
"@types/react" "*"
66956700

6696-
"@types/react-dom@>=18.3.1", "@types/react-dom@^18.0.0", "@types/react-dom@^18.0.0 || ^19.0.0":
6697-
version "19.1.2"
6698-
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.2.tgz#bd1fe3b8c28a3a2e942f85314dcfb71f531a242f"
6699-
integrity sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==
6701+
"@types/react-dom@^18.0.0", "@types/react-dom@^18.0.0 || ^19.0.0", "@types/react-dom@^18.3.1":
6702+
version "18.3.7"
6703+
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f"
6704+
integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==
67006705

67016706
"@types/react-helmet@^6.1.1":
67026707
version "6.1.6"
@@ -6712,11 +6717,12 @@
67126717
dependencies:
67136718
"@types/react" "*"
67146719

6715-
"@types/react@*", "@types/react@>=17.0.26", "@types/react@>=18.3.1", "@types/react@^18.0.0", "@types/react@^18.0.0 || ^19.0.0":
6716-
version "19.1.2"
6717-
resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.2.tgz#11df86f66f188f212c90ecb537327ec68bfd593f"
6718-
integrity sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==
6720+
"@types/react@*", "@types/react@>=17.0.26", "@types/react@^18.0.0", "@types/react@^18.0.0 || ^19.0.0", "@types/react@^18.3.1":
6721+
version "18.3.20"
6722+
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.20.tgz#b0dccda9d2f1bc24d2a04b1d0cb5d0b9a3576ad3"
6723+
integrity sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==
67196724
dependencies:
6725+
"@types/prop-types" "*"
67206726
csstype "^3.0.2"
67216727

67226728
"@types/readable-stream@^2.3.13":
@@ -22887,14 +22893,7 @@ react-docgen@^7.0.0:
2288722893
resolve "^1.22.1"
2288822894
strip-indent "^4.0.0"
2288922895

22890-
react-dom@>=18.3.1, react-dom@^19.0.0:
22891-
version "19.1.0"
22892-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623"
22893-
integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==
22894-
dependencies:
22895-
scheduler "^0.26.0"
22896-
22897-
"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0:
22896+
react-dom@>=18.3.1, "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.3.1, react-dom@^19.0.0:
2289822897
version "18.3.1"
2289922898
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
2290022899
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@@ -23065,12 +23064,7 @@ react-window@^1.8.10:
2306523064
"@babel/runtime" "^7.0.0"
2306623065
memoize-one ">=3.1.1 <6"
2306723066

23068-
react@>=18.3.1, react@^19.0.0:
23069-
version "19.1.0"
23070-
resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75"
23071-
integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==
23072-
23073-
"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0:
23067+
react@>=18.3.1, "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.3.1, react@^19.0.0:
2307423068
version "18.3.1"
2307523069
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
2307623070
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==

0 commit comments

Comments
 (0)