Skip to content

Commit 44aafa8

Browse files
authored
feat!: remove @react-aria/ssr (#116)
BREAKING CHANGE: Remove SSR utils. Use React 18's useId hook for generating SSR-safe ids
1 parent 0018dff commit 44aafa8

File tree

7 files changed

+9
-102
lines changed

7 files changed

+9
-102
lines changed

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@
100100
"@babel/eslint-parser": "^7.25.9",
101101
"@babel/runtime": "^7.26.0",
102102
"@popperjs/core": "^2.11.8",
103-
"@react-aria/ssr": "^3.5.0",
104103
"@restart/hooks": "^0.6.2",
105104
"@types/warning": "^3.0.3",
106105
"dequal": "^2.0.3",

src/DropdownToggle.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { useContext, useCallback } from 'react';
1+
import { useContext, useCallback, useId } from 'react';
22
import * as React from 'react';
3-
import { useSSRSafeId } from './ssr';
43
import DropdownContext, { DropdownContextValue } from './DropdownContext';
54

65
export const isRoleMenu = (el: HTMLElement) =>
@@ -31,7 +30,7 @@ export function useDropdownToggle(): [
3130
UseDropdownToggleProps,
3231
UseDropdownToggleMetadata,
3332
] {
34-
const id = useSSRSafeId();
33+
const id = useId();
3534
const {
3635
show = false,
3736
toggle = noop,

src/Tabs.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import * as React from 'react';
2-
import { useMemo } from 'react';
2+
import { useId, useMemo } from 'react';
33
import { useUncontrolledProp } from 'uncontrollable';
4-
import { useSSRSafeId } from './ssr';
54

65
import TabContext, { TabContextType } from './TabContext';
76
import SelectableContext from './SelectableContext';
@@ -80,7 +79,8 @@ const Tabs = (props: TabsProps) => {
8079
propsOnSelect,
8180
);
8281

83-
const id = useSSRSafeId(userId);
82+
const generatedId = useId();
83+
const id = userId ?? generatedId;
8484

8585
const generateChildId = useMemo(
8686
() =>

src/ssr.tsx

-10
This file was deleted.

www/docs/SSR.mdx

-41
This file was deleted.

www/sidebars.js

-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,5 @@ module.exports = {
2424
},
2525

2626
'transitions',
27-
'SSR',
2827
],
2928
};

yarn.lock

+4-43
Original file line numberDiff line numberDiff line change
@@ -1986,13 +1986,6 @@
19861986
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
19871987
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
19881988

1989-
"@react-aria/ssr@^3.5.0":
1990-
version "3.5.0"
1991-
resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.5.0.tgz#40c1270a75868185f72a88cafe37bd1392f690cb"
1992-
integrity sha512-h0MJdSWOd1qObLnJ8mprU31wI8tmKFJMuwT22MpWq6psisOOZaga6Ml4u6Ee6M6duWWISjXvqO4Sb/J0PBA+nQ==
1993-
dependencies:
1994-
"@swc/helpers" "^0.4.14"
1995-
19961989
"@restart/hooks@^0.6.2":
19971990
version "0.6.2"
19981991
resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.6.2.tgz#55a1f9b9bb413aaf2cbb00b0ff337f807082b72e"
@@ -2202,13 +2195,6 @@
22022195
dependencies:
22032196
any-observable "^0.3.0"
22042197

2205-
"@swc/helpers@^0.4.14":
2206-
version "0.4.14"
2207-
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74"
2208-
integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==
2209-
dependencies:
2210-
tslib "^2.4.0"
2211-
22122198
"@testing-library/dom@^10.4.0":
22132199
version "10.4.0"
22142200
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.0.tgz#82a9d9462f11d240ecadbf406607c6ceeeff43a8"
@@ -9912,7 +9898,7 @@ string-argv@~0.3.2:
99129898
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
99139899
integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
99149900

9915-
"string-width-cjs@npm:string-width@^4.2.0":
9901+
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
99169902
version "4.2.3"
99179903
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
99189904
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -9947,15 +9933,6 @@ string-width@^3.0.0, string-width@^3.1.0:
99479933
is-fullwidth-code-point "^2.0.0"
99489934
strip-ansi "^5.1.0"
99499935

9950-
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
9951-
version "4.2.3"
9952-
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
9953-
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
9954-
dependencies:
9955-
emoji-regex "^8.0.0"
9956-
is-fullwidth-code-point "^3.0.0"
9957-
strip-ansi "^6.0.1"
9958-
99599936
string-width@^5.0.1, string-width@^5.1.2:
99609937
version "5.1.2"
99619938
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
@@ -10065,7 +10042,7 @@ string_decoder@~1.1.1:
1006510042
dependencies:
1006610043
safe-buffer "~5.1.0"
1006710044

10068-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
10045+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1006910046
version "6.0.1"
1007010047
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1007110048
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -10093,13 +10070,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
1009310070
dependencies:
1009410071
ansi-regex "^4.1.0"
1009510072

10096-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
10097-
version "6.0.1"
10098-
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
10099-
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
10100-
dependencies:
10101-
ansi-regex "^5.0.1"
10102-
1010310073
strip-ansi@^7.0.1:
1010410074
version "7.0.1"
1010510075
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
@@ -10432,7 +10402,7 @@ tslib@^1.9.0:
1043210402
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1043310403
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
1043410404

10435-
tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0:
10405+
tslib@^2.0.3, tslib@^2.1.0:
1043610406
version "2.4.1"
1043710407
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
1043810408
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
@@ -11041,7 +11011,7 @@ wordwrap@^1.0.0:
1104111011
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
1104211012
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
1104311013

11044-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
11014+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
1104511015
version "7.0.0"
1104611016
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1104711017
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -11076,15 +11046,6 @@ wrap-ansi@^6.2.0:
1107611046
string-width "^4.1.0"
1107711047
strip-ansi "^6.0.0"
1107811048

11079-
wrap-ansi@^7.0.0:
11080-
version "7.0.0"
11081-
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
11082-
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
11083-
dependencies:
11084-
ansi-styles "^4.0.0"
11085-
string-width "^4.1.0"
11086-
strip-ansi "^6.0.0"
11087-
1108811049
wrap-ansi@^8.1.0:
1108911050
version "8.1.0"
1109011051
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

0 commit comments

Comments
 (0)