Skip to content

Commit f390895

Browse files
Add generic option type
1 parent 233c261 commit f390895

File tree

8 files changed

+100
-147
lines changed

8 files changed

+100
-147
lines changed

example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
"style-loader": "^3.3.1",
3131
"terser-webpack-plugin": "^5.3.3",
3232
"webpack": "^5.76.0",
33-
"webpack-cli": "^4.9.2"
33+
"webpack-cli": "^5.0.1"
3434
}
3535
}

example/yarn.lock

Lines changed: 55 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1393,22 +1393,20 @@
13931393
"@webassemblyjs/ast" "1.11.1"
13941394
"@xtuc/long" "4.2.2"
13951395

1396-
"@webpack-cli/configtest@^1.1.1":
1397-
version "1.1.1"
1398-
resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.1.tgz#9f53b1b7946a6efc2a749095a4f450e2932e8356"
1399-
integrity sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==
1396+
"@webpack-cli/configtest@^2.0.1":
1397+
version "2.0.1"
1398+
resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.0.1.tgz#a69720f6c9bad6aef54a8fa6ba9c3533e7ef4c7f"
1399+
integrity sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==
14001400

1401-
"@webpack-cli/info@^1.4.1":
1402-
version "1.4.1"
1403-
resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.1.tgz#2360ea1710cbbb97ff156a3f0f24556e0fc1ebea"
1404-
integrity sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==
1405-
dependencies:
1406-
envinfo "^7.7.3"
1401+
"@webpack-cli/info@^2.0.1":
1402+
version "2.0.1"
1403+
resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0"
1404+
integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==
14071405

1408-
"@webpack-cli/serve@^1.6.1":
1409-
version "1.6.1"
1410-
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe"
1411-
integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==
1406+
"@webpack-cli/serve@^2.0.1":
1407+
version "2.0.1"
1408+
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8"
1409+
integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==
14121410

14131411
"@xtuc/ieee754@^1.2.0":
14141412
version "1.2.0"
@@ -1587,10 +1585,10 @@ commander@^2.20.0:
15871585
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
15881586
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
15891587

1590-
commander@^7.0.0:
1591-
version "7.2.0"
1592-
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
1593-
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
1588+
commander@^9.4.1:
1589+
version "9.5.0"
1590+
resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30"
1591+
integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
15941592

15951593
commondir@^1.0.1:
15961594
version "1.0.1"
@@ -1758,21 +1756,6 @@ events@^3.2.0:
17581756
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
17591757
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
17601758

1761-
execa@^5.0.0:
1762-
version "5.1.1"
1763-
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
1764-
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
1765-
dependencies:
1766-
cross-spawn "^7.0.3"
1767-
get-stream "^6.0.0"
1768-
human-signals "^2.1.0"
1769-
is-stream "^2.0.0"
1770-
merge-stream "^2.0.0"
1771-
npm-run-path "^4.0.1"
1772-
onetime "^5.1.2"
1773-
signal-exit "^3.0.3"
1774-
strip-final-newline "^2.0.0"
1775-
17761759
fast-deep-equal@^3.1.1:
17771760
version "3.1.3"
17781761
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -1824,11 +1807,6 @@ get-intrinsic@^1.0.2:
18241807
has "^1.0.3"
18251808
has-symbols "^1.0.1"
18261809

1827-
get-stream@^6.0.0:
1828-
version "6.0.1"
1829-
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
1830-
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
1831-
18321810
glob-to-regexp@^0.4.1:
18331811
version "0.4.1"
18341812
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
@@ -1866,11 +1844,6 @@ has@^1.0.3:
18661844
dependencies:
18671845
function-bind "^1.1.1"
18681846

1869-
human-signals@^2.1.0:
1870-
version "2.1.0"
1871-
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
1872-
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
1873-
18741847
icss-utils@^5.0.0, icss-utils@^5.1.0:
18751848
version "5.1.0"
18761849
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
@@ -1884,10 +1857,10 @@ import-local@^3.0.2:
18841857
pkg-dir "^4.2.0"
18851858
resolve-cwd "^3.0.0"
18861859

1887-
interpret@^2.2.0:
1888-
version "2.2.0"
1889-
resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
1890-
integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
1860+
interpret@^3.1.1:
1861+
version "3.1.1"
1862+
resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4"
1863+
integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==
18911864

18921865
invariant@^2.2.4:
18931866
version "2.2.4"
@@ -1903,18 +1876,20 @@ is-core-module@^2.8.1:
19031876
dependencies:
19041877
has "^1.0.3"
19051878

1879+
is-core-module@^2.9.0:
1880+
version "2.11.0"
1881+
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
1882+
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
1883+
dependencies:
1884+
has "^1.0.3"
1885+
19061886
is-plain-object@^2.0.4:
19071887
version "2.0.4"
19081888
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
19091889
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
19101890
dependencies:
19111891
isobject "^3.0.1"
19121892

1913-
is-stream@^2.0.0:
1914-
version "2.0.1"
1915-
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
1916-
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
1917-
19181893
isexe@^2.0.0:
19191894
version "2.0.0"
19201895
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -2043,11 +2018,6 @@ mime-types@^2.1.27:
20432018
dependencies:
20442019
mime-db "1.52.0"
20452020

2046-
mimic-fn@^2.1.0:
2047-
version "2.1.0"
2048-
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
2049-
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
2050-
20512021
20522022
version "2.1.2"
20532023
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -2068,13 +2038,6 @@ node-releases@^2.0.3:
20682038
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666"
20692039
integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==
20702040

2071-
npm-run-path@^4.0.1:
2072-
version "4.0.1"
2073-
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
2074-
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
2075-
dependencies:
2076-
path-key "^3.0.0"
2077-
20782041
object-assign@^4.1.1:
20792042
version "4.1.1"
20802043
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -2095,13 +2058,6 @@ object.assign@^4.1.0:
20952058
has-symbols "^1.0.1"
20962059
object-keys "^1.1.1"
20972060

2098-
onetime@^5.1.2:
2099-
version "5.1.2"
2100-
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
2101-
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
2102-
dependencies:
2103-
mimic-fn "^2.1.0"
2104-
21052061
p-limit@^2.2.0:
21062062
version "2.3.0"
21072063
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -2126,7 +2082,7 @@ path-exists@^4.0.0:
21262082
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
21272083
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
21282084

2129-
path-key@^3.0.0, path-key@^3.1.0:
2085+
path-key@^3.1.0:
21302086
version "3.1.1"
21312087
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
21322088
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
@@ -2293,12 +2249,12 @@ react-waypoint@^10.1.0:
22932249
prop-types "^15.0.0"
22942250
react-is "^17.0.1"
22952251

2296-
rechoir@^0.7.0:
2297-
version "0.7.1"
2298-
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686"
2299-
integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==
2252+
rechoir@^0.8.0:
2253+
version "0.8.0"
2254+
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22"
2255+
integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==
23002256
dependencies:
2301-
resolve "^1.9.0"
2257+
resolve "^1.20.0"
23022258

23032259
regenerate-unicode-properties@^10.0.1:
23042260
version "10.0.1"
@@ -2360,7 +2316,7 @@ resolve-from@^5.0.0:
23602316
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
23612317
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
23622318

2363-
resolve@^1.14.2, resolve@^1.9.0:
2319+
resolve@^1.14.2:
23642320
version "1.22.0"
23652321
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
23662322
integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
@@ -2369,6 +2325,15 @@ resolve@^1.14.2, resolve@^1.9.0:
23692325
path-parse "^1.0.7"
23702326
supports-preserve-symlinks-flag "^1.0.0"
23712327

2328+
resolve@^1.20.0:
2329+
version "1.22.1"
2330+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
2331+
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
2332+
dependencies:
2333+
is-core-module "^2.9.0"
2334+
path-parse "^1.0.7"
2335+
supports-preserve-symlinks-flag "^1.0.0"
2336+
23722337
safe-buffer@^5.1.0:
23732338
version "5.2.1"
23742339
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
@@ -2448,11 +2413,6 @@ shebang-regex@^3.0.0:
24482413
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
24492414
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
24502415

2451-
signal-exit@^3.0.3:
2452-
version "3.0.7"
2453-
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
2454-
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
2455-
24562416
source-map-js@^1.0.2:
24572417
version "1.0.2"
24582418
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
@@ -2476,11 +2436,6 @@ source-map@^0.6.0:
24762436
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
24772437
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
24782438

2479-
strip-final-newline@^2.0.0:
2480-
version "2.0.0"
2481-
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
2482-
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
2483-
24842439
style-loader@^3.3.1:
24852440
version "3.3.1"
24862441
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575"
@@ -2596,22 +2551,23 @@ watchpack@^2.4.0:
25962551
glob-to-regexp "^0.4.1"
25972552
graceful-fs "^4.1.2"
25982553

2599-
webpack-cli@^4.9.2:
2600-
version "4.9.2"
2601-
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.2.tgz#77c1adaea020c3f9e2db8aad8ea78d235c83659d"
2602-
integrity sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==
2554+
webpack-cli@^5.0.1:
2555+
version "5.0.1"
2556+
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a"
2557+
integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
26032558
dependencies:
26042559
"@discoveryjs/json-ext" "^0.5.0"
2605-
"@webpack-cli/configtest" "^1.1.1"
2606-
"@webpack-cli/info" "^1.4.1"
2607-
"@webpack-cli/serve" "^1.6.1"
2560+
"@webpack-cli/configtest" "^2.0.1"
2561+
"@webpack-cli/info" "^2.0.1"
2562+
"@webpack-cli/serve" "^2.0.1"
26082563
colorette "^2.0.14"
2609-
commander "^7.0.0"
2610-
execa "^5.0.0"
2564+
commander "^9.4.1"
2565+
cross-spawn "^7.0.3"
2566+
envinfo "^7.7.3"
26112567
fastest-levenshtein "^1.0.12"
26122568
import-local "^3.0.2"
2613-
interpret "^2.2.0"
2614-
rechoir "^0.7.0"
2569+
interpret "^3.1.1"
2570+
rechoir "^0.8.0"
26152571
webpack-merge "^5.7.3"
26162572

26172573
webpack-merge@^5.7.3:

src/components/MenuItem/MenuItem.stories.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,31 @@ import {
99
defaultContext,
1010
TypeaheadContextType,
1111
} from '../../core/Context';
12-
import {TestOption} from "../../tests/data";
12+
import {OptionType} from "../../types";
1313

1414
export default {
1515
title: 'Components/MenuItem/MenuItem',
1616
component: MenuItem,
1717
} as Meta;
1818

19-
interface Args {
20-
context: Partial<TypeaheadContextType<TestOption>>;
21-
props: MenuItemProps;
19+
interface Args<Option extends OptionType> {
20+
context: Partial<TypeaheadContextType<Option>>;
21+
props: MenuItemProps<Option>;
2222
}
2323

2424
const value = {
2525
...defaultContext,
2626
id: 'test-id',
2727
};
2828

29-
const Template: Story<Args> = ({ context, props }) => {
30-
const TypeaheadContext = createTypeaheadContext<TestOption>()
29+
const Template = <Option extends OptionType>(): Story<Args<Option>> => ({ context, props }) => {
30+
const TypeaheadContext = createTypeaheadContext<Option>()
3131
return <TypeaheadContext.Provider value={{...value, ...context}}>
3232
<MenuItem {...props} />
3333
</TypeaheadContext.Provider>
3434
};
3535

36-
export const Default = Template.bind({});
36+
export const Default = Template().bind({});
3737
Default.args = {
3838
props: {
3939
children: 'This is a menu item',

src/components/Typeahead/Typeahead.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ InputGrouping.args = {
150150
...defaultProps,
151151
};
152152

153-
export const Controlled = <Option extends OptionType>(args: TypeaheadComponentProps<Option>) => {
153+
export const Controlled = <Option extends OptionType = TestOption>(args: TypeaheadComponentProps<Option>) => {
154154
const [selected, setSelected] = useState(args.selected || []);
155155

156156
return <Typeahead {...args} onChange={setSelected} selected={selected} />;

src/components/Typeahead/Typeahead.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ class TypeaheadComponent<Option extends OptionType> extends React.Component<Type
313313
};
314314
}
315315

316-
const TypeaheadComponentInner = <Option extends OptionType>(props: TypeaheadComponentProps<Option>, ref: React.ForwardedRef<Typeahead<Option>>) => <TypeaheadComponent {...props} instanceRef={ref} />
316+
const TypeaheadComponentInner = <Option extends OptionType>(props: TypeaheadComponentProps<Option>, ref: React.ForwardedRef<Typeahead<Option>>) => <TypeaheadComponent {...props} instanceRef={ref} />
317317

318318
const TypeaheadComponentWithRef = forwardRef(TypeaheadComponentInner);
319319

0 commit comments

Comments
 (0)