From 0252d165d2b260954c0e141c8f8e02d89a2c6320 Mon Sep 17 00:00:00 2001 From: deepesh Date: Thu, 30 May 2024 15:49:34 -0700 Subject: [PATCH 01/22] feat: added get credential pages --- gatsby-config.js | 31 + package.json | 4 +- src/pages/credential/Credential.css | 17 + src/pages/credential/GetCredentialApiKey.js | 132 + src/pages/credential/GetCredentialOAuthS2s.js | 223 + src/pages/credential/images/cc-icon.png | Bin 0 -> 57099 bytes src/pages/credential/images/firefly.png | Bin 0 -> 1843 bytes src/pages/credential/images/ps.png | Bin 0 -> 1177 bytes src/pages/get-credential-apikey/index.md | 3 + src/pages/get-credential-oauth/index.md | 3 + yarn.lock | 3583 ++++++++++++++++- 11 files changed, 3833 insertions(+), 163 deletions(-) create mode 100644 src/pages/credential/Credential.css create mode 100644 src/pages/credential/GetCredentialApiKey.js create mode 100644 src/pages/credential/GetCredentialOAuthS2s.js create mode 100644 src/pages/credential/images/cc-icon.png create mode 100644 src/pages/credential/images/firefly.png create mode 100644 src/pages/credential/images/ps.png create mode 100644 src/pages/get-credential-apikey/index.md create mode 100644 src/pages/get-credential-oauth/index.md diff --git a/gatsby-config.js b/gatsby-config.js index 99d6a679..9f49917f 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -10,6 +10,8 @@ * governing permissions and limitations under the License. */ +const { createProxyMiddleware } = require("http-proxy-middleware"); + module.exports = { siteMetadata: { pages: [ @@ -28,6 +30,14 @@ module.exports = { { path: "support/index.md", title: "Support" + }, + { + title: 'Get API Key credential', + path: "/get-credential-apikey" + }, + { + title: 'Get OAuth S2S credential', + path: "/get-credential-oauth" } ], subPages: [ @@ -224,5 +234,26 @@ module.exports = { ] }, plugins: [`@adobe/gatsby-theme-aio`], + developMiddleware: app => { + app.use( + "/console/api", + createProxyMiddleware({ + target: "https://developer-stage.adobe.com/console/api", + secure: false, + changeOrigin: true, + }) + ); + app.use("/templates", createProxyMiddleware({ + target: "https://developer-stage.adobe.com/templates", + secure: false, + changeOrigin: true, + })); + + app.use("/ims", createProxyMiddleware({ + target: "https://ims-na1-stg1.adobelogin.com/ims", + secure: false, + changeOrigin: true, + })); + }, pathPrefix: process.env.PATH_PREFIX || "/developer-console/docs/" }; diff --git a/package.json b/package.json index 9ab631f7..cce78c04 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,10 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "^4.10.4", + "@adobe/gatsby-theme-aio": "4.11.15-rc3", + "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", + "http-proxy-middleware": "^3.0.0", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/src/pages/credential/Credential.css b/src/pages/credential/Credential.css new file mode 100644 index 00000000..c905c7d4 --- /dev/null +++ b/src/pages/credential/Credential.css @@ -0,0 +1,17 @@ +.side-container { + display: flex; + gap: 16px; + flex-direction: column; +} + +.side-header { + color: var(--spectrum-global-color-gray-900); +} + +.side-documentation { + color: rgb(2, 101, 220); +} + +.side-documentation:hover { + color: rgb(0, 84, 182); +} \ No newline at end of file diff --git a/src/pages/credential/GetCredentialApiKey.js b/src/pages/credential/GetCredentialApiKey.js new file mode 100644 index 00000000..db28515a --- /dev/null +++ b/src/pages/credential/GetCredentialApiKey.js @@ -0,0 +1,132 @@ +import React from 'react' +import { GetCredential } from '@adobe/gatsby-theme-aio/src/components/GetCredential'; +import creativeCloud from "./images/cc-icon.png"; + +const GetCredentialApiKey = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + +
+

API key credential

+

Submitting this form creates an API Key credential. The API key credential identifies your application to Adobe servers and can help accept or reject requests originating from certain domains.

+

Learn more

+ Authentication documentation + Express Embed SDK documentation +
+
+ +
+ + + + + + +
+

API key credential

+

Submitting this form creates an API Key credential. The API key credential identifies your application to Adobe servers and can help accept or reject requests originating from certain domains.

+

Learn more

+ Authentication documentation + Express Embed SDK documentation +
+
+ + + + + + + + + + + + + +
+ + + + + +
+

Welcome back

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+

API key credential

+

Submitting this form creates an API Key credential. The API key credential identifies your application to Adobe servers and can help accept or reject requests originating from certain domains.

+

Learn more

+ Authentication documentation + Express Embed SDK documentation +
+
+
+ + + + + +
+ + ) +} + +export default GetCredentialApiKey; diff --git a/src/pages/credential/GetCredentialOAuthS2s.js b/src/pages/credential/GetCredentialOAuthS2s.js new file mode 100644 index 00000000..2ad3c404 --- /dev/null +++ b/src/pages/credential/GetCredentialOAuthS2s.js @@ -0,0 +1,223 @@ +import React from 'react' +import { GetCredential } from '@adobe/gatsby-theme-aio/src/components/GetCredential'; +import firefly from "./images/firefly.png"; +import ps from "./images/ps.png"; + +const GetCredentialOAuthS2s = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 + libraries to generate access tokens using the OAuth 2.0 client + credentials grant type. +

+
+ +
+
+ +
+ + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 + libraries to generate access tokens using the OAuth 2.0 client + credentials grant type. +

+
+ +
+
+ + + + + + + + + + + + + + + + + + {/* */} + + +
+ + + + + +
+

Welcome back

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

+
+
+ +
+ + + + + {/* */} + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+
+

+ OAuth server-to-server credential +

+

+ This credential allows you to use industry standard OAuth2.0 + libraries to generate access tokens using the OAuth 2.0 client + credentials grant type. +

+
+ +
+
+
+ + + +
+ + ) +} + +export default GetCredentialOAuthS2s; diff --git a/src/pages/credential/images/cc-icon.png b/src/pages/credential/images/cc-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd8da46f00e871d35ded4021550fbba1a06d5cb GIT binary patch literal 57099 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 Ef`CPAasU7T literal 0 HcmV?d00001 diff --git a/src/pages/credential/images/firefly.png b/src/pages/credential/images/firefly.png new file mode 100644 index 0000000000000000000000000000000000000000..7122679f972a4ad7b8c004d55240e9afca70075c GIT binary patch literal 1843 zcmV-32h8}1P) zg#$zn#MMBe2?^W40fR{wIB3wsDWPk*=iOmbS=W-nwS>vD> znSYEw3K&QO6Y_NsOB-XW92_?XAxT=W7q~9g8$cI80Wu^@|r&OVx|#(P=CQ$^OYHG_Dkp+BgWSuK@S%9psOW zqIq)?J$v@y;YTBIryX<(9hGZ(!yx*9zK-g*4kKY?-rkPhFV3QI z?H6&p3esxXAz_p|=94+Go_n{f)@zD1 zn_@A$uOC^l8t2X5%*fKq>yTe|M6UEN-ncDeO#+V9*C(HTAzMaOt`Oz`;OGA_k^YFtF_1~nCI7t&F zDLoA=LWo32$eW%k5`Bf!?KVx5+|A2v0KT}I!qnDPnK1V?%gS!pZ)T5 zC`&6Cc?}~lEt%Uhj3kjLNzHkC_i2!!L}@h=EUcS~4q@P~+-Pi3gy> zqbrH3kHPmzS}+^r#l{U*IK$$Z-n`fGd@c+>^{d6is-Q$I+56Rmj*O@^$$_+3CXg#Z z@-xQ{X}U0T23j;oHB=Fa&wO%N>)fP}m?hI;UFu7dbt)}E>9P{9UlAET@GVmpNs>@2 zcnue3*^yEGjoCA&krWcMWL5$WB}a1UfS_xvC3(`6bOgt!-*JI>4vF$ZOXj7fO#+FK zWFgM_(@4-y7f$G(Y_I5Jt)Qf%pkx`GAlFnR0=p4O$3-F}?SPC)3wB@?k|tUAUOBX) zf%cOT@LUET`tkD5PHH=5C(xZ(e-(5S>qoSKm;ad?EzQl+k_;rCsX5247VzU}u#nifOFJ3n%w=JK17xHbHqam=AEp4WQk7g$ zLG$-p$iB55saIbM1CrkS{XhMS;swZr55bo@me=bNt4=>vhIz6 zVr;qQB7L8!bV!B-nKzBRxM{_Hl4CO{+-p+x7zr{bGG!37bX69C#Jr%OXi5sQ+GwU@ z2cD=e@@7*(pU9x0(J^@Z*(1@?4blqJf_5e1pC$)ZCHj((=~%LFZVi7oE&qrAi@%pY z5U&D?O)|Q&lpE#8Eyq+KH3ktj$~6fh>_qJK1AgNyfrb^3ktok)FUch#@n&!>&)2OJ z*}AkmFO>3vkz~Q$3X(SI#KYr7pye1mc;mcTT6tEI`|?ju&h=p_7EFQ9EfOwFdc!6_ z7KLS@_h9-7^*k$Llbns@IKo7~)-4bdE&1JSFz2O!s7RO5ni4o)3(^M3v18#PFy&CH z_S*GNl!niW*d)2)+}>~P3tJ^@1-a4q9j%~&NrI0_Gf~W(7}LdI&`AkVwq*9&0j-!! z&W(e%@+4QEWtS)UPzlHl`Zrk$JAL{Y>sRK?+T|bQ`A11pfhQZzQE1J3?N^OgcA?*o z!V};5Ih32!@lZ~rKwso&zd&CKcri#yxbNJ9!9@bQ+2tf%$+Y$w2W50O(USV4NOl}u z3bEulB`ImC^KU0S9~7xnCArE$QHUnDo4ZKR07f{5DMX%KjLDGrv+U;uk?HXu-aIDR z@4yk}@1P5alHh7bji#9QiKmo$JYf_|3?A!Lk?5-bdp)}qe6cX)zhuvS4z~G=@_lr^ hcP>Mb86rx~;9unVSR5PLHD&++002ovPDHLkV1ijSYX|@U literal 0 HcmV?d00001 diff --git a/src/pages/credential/images/ps.png b/src/pages/credential/images/ps.png new file mode 100644 index 0000000000000000000000000000000000000000..e10fbac62a23b093b4b9d406c1cb4719104397ee GIT binary patch literal 1177 zcmV;K1ZMk*P)|M1Ui=;r{6v`b%Sto=x2%&fNrnJZfYxanfZSV_~Xep^pg`%y3U!iY8T2gC(f03zB zh*ZikC)z^Af54PTzc39psa~-W^;?gO9S16c2+XX^>NET^hT(yj+{WK_AR#_pVq0Wj zW)Rb7)#mNP^Ln3}=FL)U?9o*WbUuI=Ov-en;6*!5pnlsCc)_IlJsG!so8vB?VeRp>NN% z!Y;1+q*+8YT9$*rz?4rQDHPSM@VpqH1?O$r2RCtbx)QU|r=RI?iW(XE_zJ(H-Ex0M zO*-e&SDoUzNTWZJ-@R!8fr`qUDN2FeR}SY~L!q>~6I>BVpX0+*pjjG8ybF)^3+9}o z#VE*_Vt8y7kqc22k-?=+Sbpq|+&8ObGvUJ~-aHxG=hV&YPwVnt3|K#2-4~X9jen(R zfk&@b3kmGLd?>4pg@GBInvDl8Nx@F1sm`QD*Q5v}6lk1=-=E!*=d94{UWzT*6v9CA z<@Oo8Z`*BJ%8ev{i9mA*{m*XZy$=O89=zm8s3Kl0Yj!T+)ZxfxqSvlEdMQSK%1jr9 zpaAB~+09!l`|zF|lnL|oh2mQ6>gYaVu)f|ti{5)}qVC-wqqEU+jMnsfJA>zW#bXwz zD1gzGK5Qn25!?=*i(Gl;v7G*9`P7P$oRfwtoLj1y%NWVal5%?UxTQbfsiuCr+LpRa1E^bt$Qtj|B zH~6KZr!x$H`eg)xK$tsepG>9p!f$ZxYvg%^yXjSugV6}8=W{V(3;aMzyNI5b=k>$! z^{$EDurGva+6^J_U}jVH%4G_zs{1m!Caug?YH1=}sK@Z_#ZluK#qt_1^i`GZ(Bv}F rQe9*i5emAXr8=Mn+Yt%J%{u)BnRtZb!$Wqc00000NkvXXu0mjf8wN#u literal 0 HcmV?d00001 diff --git a/src/pages/get-credential-apikey/index.md b/src/pages/get-credential-apikey/index.md new file mode 100644 index 00000000..b2c3280a --- /dev/null +++ b/src/pages/get-credential-apikey/index.md @@ -0,0 +1,3 @@ +import GetCredentialApiKey from "../credential/GetCredentialApiKey.js"; + + \ No newline at end of file diff --git a/src/pages/get-credential-oauth/index.md b/src/pages/get-credential-oauth/index.md new file mode 100644 index 00000000..74f432bf --- /dev/null +++ b/src/pages/get-credential-oauth/index.md @@ -0,0 +1,3 @@ +import GetCredentialOAuthS2s from "../credential/GetCredentialOAuthS2s.js" + + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 4657845f..8b14a129 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ __metadata: languageName: node linkType: hard -"@adobe/gatsby-theme-aio@npm:^4.10.4": - version: 4.11.10 - resolution: "@adobe/gatsby-theme-aio@npm:4.11.10" +"@adobe/gatsby-theme-aio@npm:4.11.15-rc3": + version: 4.11.15-rc3 + resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc3" dependencies: "@adobe/focus-ring-polyfill": ^0.1.5 "@adobe/gatsby-source-github-file-contributors": ^0.3.1 @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: a18fc9b2ee86fdbb8f7f1d92f25f8190f3eb307581d32bd865d7ffa7d77c2bc60db23ff5a1e740238678332d7a4ecbffaeab606a2ab5502162223e02ca95eb3f + checksum: e09ee2e4c5df2cc801b559d880a93bae5c9cd5edb55815c5c0210efcf2bca98a827ca404eb37e632280f1e719b114e879879e5c091f073bfd2e67e0f22da33bd languageName: node linkType: hard @@ -149,6 +149,96 @@ __metadata: languageName: node linkType: hard +"@adobe/react-spectrum-ui@npm:1.2.0": + version: 1.2.0 + resolution: "@adobe/react-spectrum-ui@npm:1.2.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 18ad87c76e2019f22fa9f18df22fc06cb99e27d46fc82ed6974a4cab1d04c6a223ded51fae95d0890069cb7c9a10add468e5e9c62b9b33ac9b5ab9de25ff12e5 + languageName: node + linkType: hard + +"@adobe/react-spectrum-workflow@npm:2.3.4": + version: 2.3.4 + resolution: "@adobe/react-spectrum-workflow@npm:2.3.4" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1c008fec02f19160a6a0589f9647d29b9652322b087ba521ba7e890747a23c70268c2e58799977823a65a8c44d832162743e0ecb3b082614bc70ba59a6eac2fc + languageName: node + linkType: hard + +"@adobe/react-spectrum@npm:^3.35.1": + version: 3.35.1 + resolution: "@adobe/react-spectrum@npm:3.35.1" + dependencies: + "@internationalized/string": ^3.2.3 + "@react-aria/i18n": ^3.11.1 + "@react-aria/ssr": ^3.9.4 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-spectrum/actionbar": ^3.4.5 + "@react-spectrum/actiongroup": ^3.10.5 + "@react-spectrum/avatar": ^3.0.12 + "@react-spectrum/badge": ^3.1.13 + "@react-spectrum/breadcrumbs": ^3.9.7 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/buttongroup": ^3.6.13 + "@react-spectrum/calendar": ^3.4.9 + "@react-spectrum/checkbox": ^3.9.6 + "@react-spectrum/combobox": ^3.12.5 + "@react-spectrum/contextualhelp": ^3.6.11 + "@react-spectrum/datepicker": ^3.9.6 + "@react-spectrum/dialog": ^3.8.11 + "@react-spectrum/divider": ^3.5.13 + "@react-spectrum/dnd": ^3.3.10 + "@react-spectrum/dropzone": ^3.0.1 + "@react-spectrum/filetrigger": ^3.0.1 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/icon": ^3.7.13 + "@react-spectrum/illustratedmessage": ^3.5.1 + "@react-spectrum/image": ^3.5.1 + "@react-spectrum/inlinealert": ^3.2.5 + "@react-spectrum/labeledvalue": ^3.1.14 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/link": ^3.6.7 + "@react-spectrum/list": ^3.7.10 + "@react-spectrum/listbox": ^3.12.9 + "@react-spectrum/menu": ^3.19.1 + "@react-spectrum/meter": ^3.5.1 + "@react-spectrum/numberfield": ^3.9.3 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/picker": ^3.14.5 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/provider": ^3.9.7 + "@react-spectrum/radio": ^3.7.6 + "@react-spectrum/searchfield": ^3.8.6 + "@react-spectrum/slider": ^3.6.9 + "@react-spectrum/statuslight": ^3.5.13 + "@react-spectrum/switch": ^3.5.5 + "@react-spectrum/table": ^3.12.10 + "@react-spectrum/tabs": ^3.8.10 + "@react-spectrum/tag": ^3.2.6 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/textfield": ^3.12.1 + "@react-spectrum/theme-dark": ^3.5.10 + "@react-spectrum/theme-default": ^3.5.10 + "@react-spectrum/theme-light": ^3.4.10 + "@react-spectrum/tooltip": ^3.6.7 + "@react-spectrum/view": ^3.6.10 + "@react-spectrum/well": ^3.4.13 + "@react-stately/collections": ^3.10.7 + "@react-stately/data": ^3.11.4 + "@react-types/shared": ^3.23.1 + client-only: ^0.0.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 856e4b720e44c0ad6027b02da01fdb22bd4532b222904dc05d4633f11a78bb959c9883808b746a4841d58c45884afb4fcd966077456cc9a156b685ad85477661 + languageName: node + linkType: hard + "@algolia/cache-browser-local-storage@npm:4.23.2": version: 4.23.2 resolution: "@algolia/cache-browser-local-storage@npm:4.23.2" @@ -1900,6 +1990,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": + version: 7.24.6 + resolution: "@babel/runtime@npm:7.24.6" + dependencies: + regenerator-runtime: ^0.14.0 + checksum: 44d95ca743898fed31b4cefef31de6fd3cf7906e94493368e9d6538289cc52c6c46185205d9c01d38466a5b3f673550f80892d30b1ed02a2c13e704863a8cc48 + languageName: node + linkType: hard + "@babel/template@npm:^7.12.7, @babel/template@npm:^7.16.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": version: 7.24.0 resolution: "@babel/template@npm:7.24.0" @@ -2147,6 +2246,55 @@ __metadata: languageName: node linkType: hard +"@formatjs/ecma402-abstract@npm:2.0.0": + version: 2.0.0 + resolution: "@formatjs/ecma402-abstract@npm:2.0.0" + dependencies: + "@formatjs/intl-localematcher": 0.5.4 + tslib: ^2.4.0 + checksum: 0bba3b4f1a966c72d3f53173d650294fe313825b6451396c1040fb92bb86b2f771729888a1dadbc0a0074ef809229033fe8ff17c86dcb07a8ad42253b0c3a269 + languageName: node + linkType: hard + +"@formatjs/fast-memoize@npm:2.2.0": + version: 2.2.0 + resolution: "@formatjs/fast-memoize@npm:2.2.0" + dependencies: + tslib: ^2.4.0 + checksum: 8697fe72a7ece252d600a7d08105f2a2f758e2dd96f54ac0a4c508b1205a559fc08835635e1f8e5ca9dcc3ee61ce1fca4a0e7047b402f29fc96051e293a280ff + languageName: node + linkType: hard + +"@formatjs/icu-messageformat-parser@npm:2.7.8": + version: 2.7.8 + resolution: "@formatjs/icu-messageformat-parser@npm:2.7.8" + dependencies: + "@formatjs/ecma402-abstract": 2.0.0 + "@formatjs/icu-skeleton-parser": 1.8.2 + tslib: ^2.4.0 + checksum: 404d6732653632eae3b10cfa70dc57c4fb0fe500c6ef9e687e938e4cb29e18b4e5d46633c88a2c06864328eb2f4713fbb6be404c6033682370d568971e2dda0d + languageName: node + linkType: hard + +"@formatjs/icu-skeleton-parser@npm:1.8.2": + version: 1.8.2 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.2" + dependencies: + "@formatjs/ecma402-abstract": 2.0.0 + tslib: ^2.4.0 + checksum: 8735322fa93ddd471822ba77400411660cb6221c87955cdcea159e8f9b72188106b4d4bf57d737d248810ae1974e1df4974914a6fb6045e91bf5ea22cc7fd30f + languageName: node + linkType: hard + +"@formatjs/intl-localematcher@npm:0.5.4": + version: 0.5.4 + resolution: "@formatjs/intl-localematcher@npm:0.5.4" + dependencies: + tslib: ^2.4.0 + checksum: a0af57874fcd163add5f7a0cb1c008e9b09feb1d24cbce1263379ae0393cddd6681197a7f2f512f351a97666fc8675ed52cc17d1834266ee8fc65e9edf3435f6 + languageName: node + linkType: hard + "@gatsbyjs/parcel-namer-relative-to-cwd@npm:1.7.0": version: 1.7.0 resolution: "@gatsbyjs/parcel-namer-relative-to-cwd@npm:1.7.0" @@ -2650,6 +2798,43 @@ __metadata: languageName: node linkType: hard +"@internationalized/date@npm:^3.5.4": + version: 3.5.4 + resolution: "@internationalized/date@npm:3.5.4" + dependencies: + "@swc/helpers": ^0.5.0 + checksum: df73fb4f11e5db918f5a76f94edcaadd34b67bd4160e8ee4e2a5f518e01cdfa7196fbcabd26bfa9d8376e4822a4a1c73d68fb08249cadfaaeba5bb1d41cff032 + languageName: node + linkType: hard + +"@internationalized/message@npm:^3.1.4": + version: 3.1.4 + resolution: "@internationalized/message@npm:3.1.4" + dependencies: + "@swc/helpers": ^0.5.0 + intl-messageformat: ^10.1.0 + checksum: 37990cf4fd666afe8d165f3c9042e88c2d95b4a03d6e67595a49d57aff938d19f91826c7c6e5cfa2863c3d8d555365e797d5979da575a835b533fd2e31876bef + languageName: node + linkType: hard + +"@internationalized/number@npm:^3.5.3": + version: 3.5.3 + resolution: "@internationalized/number@npm:3.5.3" + dependencies: + "@swc/helpers": ^0.5.0 + checksum: f905cb5302d5a84660fbe0264930fadf286c7a5860373c289863bc2b9d003690552743da2b3155d65e3e9fd0e49b83673caf49c306b9bab39d6e871b6777c588 + languageName: node + linkType: hard + +"@internationalized/string@npm:^3.2.3": + version: 3.2.3 + resolution: "@internationalized/string@npm:3.2.3" + dependencies: + "@swc/helpers": ^0.5.0 + checksum: aad1dd1de52fa48f17e41ad0a502bab621a08aadb8ccfc02512211d05f7111920d094b49811394a930542a98fe22522c2b5818f6d64eb38aca9638b7b4f11ccd + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -3861,215 +4046,3043 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher-freebsd-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" - conditions: os=freebsd & cpu=x64 +"@parcel/watcher-freebsd-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.4.1": + version: 2.4.1 + resolution: "@parcel/watcher-win32-x64@npm:2.4.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.0.0": + version: 2.4.1 + resolution: "@parcel/watcher@npm:2.4.1" + dependencies: + "@parcel/watcher-android-arm64": 2.4.1 + "@parcel/watcher-darwin-arm64": 2.4.1 + "@parcel/watcher-darwin-x64": 2.4.1 + "@parcel/watcher-freebsd-x64": 2.4.1 + "@parcel/watcher-linux-arm-glibc": 2.4.1 + "@parcel/watcher-linux-arm64-glibc": 2.4.1 + "@parcel/watcher-linux-arm64-musl": 2.4.1 + "@parcel/watcher-linux-x64-glibc": 2.4.1 + "@parcel/watcher-linux-x64-musl": 2.4.1 + "@parcel/watcher-win32-arm64": 2.4.1 + "@parcel/watcher-win32-ia32": 2.4.1 + "@parcel/watcher-win32-x64": 2.4.1 + detect-libc: ^1.0.3 + is-glob: ^4.0.3 + micromatch: ^4.0.5 + node-addon-api: ^7.0.0 + node-gyp: latest + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 4da70551da27e565c726b0bbd5ba5afcb2bca36dfd8619a649f0eaa41f693ddd1d630c36e53bc083895d71a3e28bc4199013e557cd13c7af6ccccab28ceecbff + languageName: node + linkType: hard + +"@parcel/workers@npm:2.6.2": + version: 2.6.2 + resolution: "@parcel/workers@npm:2.6.2" + dependencies: + "@parcel/diagnostic": 2.6.2 + "@parcel/logger": 2.6.2 + "@parcel/types": 2.6.2 + "@parcel/utils": 2.6.2 + chrome-trace-event: ^1.0.2 + nullthrows: ^1.1.1 + peerDependencies: + "@parcel/core": ^2.6.2 + checksum: 92b65cd3fde225dcd377f1f529caeb0d8ee56a9aeef3785716b1ad210132e5dc1b6bd9b7c4c6920094e0030c6aad9cc42d5dbf7b4fb0fb4668eedfd332e0b242 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 6ad6a00fc4f2f2cfc6bff76fb1d88b8ee20bc0601e18ebb01b6d4be583733a860239a521a7fbca73b612e66705078809483549d2b18f370eb346c5155c8e4a0f + languageName: node + linkType: hard + +"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.7": + version: 0.5.11 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.11" + dependencies: + ansi-html-community: ^0.0.8 + common-path-prefix: ^3.0.0 + core-js-pure: ^3.23.3 + error-stack-parser: ^2.0.6 + find-up: ^5.0.0 + html-entities: ^2.1.0 + loader-utils: ^2.0.4 + schema-utils: ^3.0.0 + source-map: ^0.7.3 + peerDependencies: + "@types/webpack": 4.x || 5.x + react-refresh: ">=0.10.0 <1.0.0" + sockjs-client: ^1.4.0 + type-fest: ">=0.17.0 <5.0.0" + webpack: ">=4.43.0 <6.0.0" + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + "@types/webpack": + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + checksum: a82eced9519f4dcac424acae719f819ab4150bfcf2874ac7daaf25a4f1c409e3d8b9d693fea0c686c24d520a5473756df32da90d8b89739670f8f8084c600bb4 + languageName: node + linkType: hard + +"@prefresh/babel-plugin@npm:^0.4.3": + version: 0.4.4 + resolution: "@prefresh/babel-plugin@npm:0.4.4" + checksum: 1cd7e9b27936fd8947ecd7e4da70abd05935f44840af3d054ad87638d38ea61f304c45ff7610a4d56bde72e260ddee869cc45806738738edebe7d5a0fe96059a + languageName: node + linkType: hard + +"@prefresh/core@npm:^1.3.3": + version: 1.5.2 + resolution: "@prefresh/core@npm:1.5.2" + peerDependencies: + preact: ^10.0.0 + checksum: f8959d005990d295ed73d15775c1900fb503f238993304dad3cb5a931fc5b0539eb62776efa01eb7e0c712ee032cb85a913cd13c45c069923c7b20dbd270e378 + languageName: node + linkType: hard + +"@prefresh/utils@npm:^1.1.2": + version: 1.2.0 + resolution: "@prefresh/utils@npm:1.2.0" + checksum: 003bb710a6d5ca5e4886a29eb7245332d4f605a90de4eb7b77df35884a842c29143f827f6aa088e69cc2ea07f70d89148d4a730f56549640425177e24d14a60e + languageName: node + linkType: hard + +"@prefresh/webpack@npm:^3.3.4": + version: 3.3.4 + resolution: "@prefresh/webpack@npm:3.3.4" + dependencies: + "@prefresh/core": ^1.3.3 + "@prefresh/utils": ^1.1.2 + peerDependencies: + "@prefresh/babel-plugin": ^0.4.0 + preact: ^10.4.0 + webpack: ^4.0.0 || ^5.0.0 + checksum: 49d2184856f7c3335d339b3cff52c85b9524c6b215c120f701bfc7053781adea8db8908f158a756a9234af09acedff101fd087f4adcda367b38ca6403a9e5442 + languageName: node + linkType: hard + +"@react-aria/actiongroup@npm:^3.7.5": + version: 3.7.5 + resolution: "@react-aria/actiongroup@npm:3.7.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/list": ^3.10.5 + "@react-types/actiongroup": ^3.4.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 12ea704b87d03c181ba16e0e6e6cbff75d47a433b944358c37e229fc34881f0134d66ae06968ba2cb150df1646ac0d0f3fc28d36499ab306d147cfa893c7649a + languageName: node + linkType: hard + +"@react-aria/breadcrumbs@npm:^3.5.13": + version: 3.5.13 + resolution: "@react-aria/breadcrumbs@npm:3.5.13" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/link": ^3.7.1 + "@react-aria/utils": ^3.24.1 + "@react-types/breadcrumbs": ^3.7.5 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8c285dac2838500f7b77e8fde5d4b137b89154cebc2977e49556da23c49fcddbb5b433a7d19f2c2d1c695c570753411a3ea4eae3da2cf9a9c8f7cef9a7513ed1 + languageName: node + linkType: hard + +"@react-aria/button@npm:^3.9.5": + version: 3.9.5 + resolution: "@react-aria/button@npm:3.9.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/toggle": ^3.7.4 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: b2954a637d6718cf25be00ffe82369c20c1a5306c3d4fe09775a8ad56f9c7fc3a1312db8421bf840beab4e299ad121147d70a8cf99f58865f86d7977856aaee2 + languageName: node + linkType: hard + +"@react-aria/calendar@npm:^3.5.8": + version: 3.5.8 + resolution: "@react-aria/calendar@npm:3.5.8" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/utils": ^3.24.1 + "@react-stately/calendar": ^3.5.1 + "@react-types/button": ^3.9.4 + "@react-types/calendar": ^3.4.6 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0458f676468468b1610db0001654de5b62fe9d8487b9bcca6e72758a116189391d43ffda7fd7ee6692502be9ec8ec63e9e0cef7574d5ff7124ef402c924bd887 + languageName: node + linkType: hard + +"@react-aria/checkbox@npm:^3.14.3": + version: 3.14.3 + resolution: "@react-aria/checkbox@npm:3.14.3" + dependencies: + "@react-aria/form": ^3.0.5 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/toggle": ^3.10.4 + "@react-aria/utils": ^3.24.1 + "@react-stately/checkbox": ^3.6.5 + "@react-stately/form": ^3.0.3 + "@react-stately/toggle": ^3.7.4 + "@react-types/checkbox": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7e58ed1eb31dc4671165072d9788627653844c8f91949b36411c03a8eea3dc78630eedae0735aa90fc172a45dc5899181806b389bc77210144a069d26a0f4c0b + languageName: node + linkType: hard + +"@react-aria/color@npm:3.0.0-beta.33": + version: 3.0.0-beta.33 + resolution: "@react-aria/color@npm:3.0.0-beta.33" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/numberfield": ^3.11.3 + "@react-aria/slider": ^3.7.8 + "@react-aria/spinbutton": ^3.6.5 + "@react-aria/textfield": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-stately/color": ^3.6.1 + "@react-stately/form": ^3.0.3 + "@react-types/color": 3.0.0-beta.25 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: d5c0c74273c54267ffa8122f35e0234a518f770ffd8c750b9f7a8cdfc2d29b0a87740abefb2a126572b890d6f2471a1cdf267cda697436bbd45e1645ceca5787 + languageName: node + linkType: hard + +"@react-aria/combobox@npm:^3.9.1": + version: 3.9.1 + resolution: "@react-aria/combobox@npm:3.9.1" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/listbox": ^3.12.1 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/menu": ^3.14.1 + "@react-aria/overlays": ^3.22.1 + "@react-aria/selection": ^3.18.1 + "@react-aria/textfield": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-stately/collections": ^3.10.7 + "@react-stately/combobox": ^3.8.4 + "@react-stately/form": ^3.0.3 + "@react-types/button": ^3.9.4 + "@react-types/combobox": ^3.11.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 466311fa574f9ca89e07a084fde8d308faf999596e4cc898ca6c1b9de4952a7c263f5f93f3904b3182e93d8c8cd5bb998fed55a7af5e3921e424ee9fed524795 + languageName: node + linkType: hard + +"@react-aria/datepicker@npm:^3.10.1": + version: 3.10.1 + resolution: "@react-aria/datepicker@npm:3.10.1" + dependencies: + "@internationalized/date": ^3.5.4 + "@internationalized/number": ^3.5.3 + "@internationalized/string": ^3.2.3 + "@react-aria/focus": ^3.17.1 + "@react-aria/form": ^3.0.5 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/spinbutton": ^3.6.5 + "@react-aria/utils": ^3.24.1 + "@react-stately/datepicker": ^3.9.4 + "@react-stately/form": ^3.0.3 + "@react-types/button": ^3.9.4 + "@react-types/calendar": ^3.4.6 + "@react-types/datepicker": ^3.7.4 + "@react-types/dialog": ^3.5.10 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 127bb202c57b96d02df27992acd96a6a4414ca2077ed07b42e756705e033fde9c693b6ca08f30f5e9f0aa0a4109ec4e52f00c0f1533f58b3512d2cd71d9ebce1 + languageName: node + linkType: hard + +"@react-aria/dialog@npm:^3.5.14": + version: 3.5.14 + resolution: "@react-aria/dialog@npm:3.5.14" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-types/dialog": ^3.5.10 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5b4db6b35b45cd0ce3298136c12ae4b81f658bed5604caa2d5dc3281c531a108c15a5873eb69c0a3a6a59b1e3cad4dada1bb9590807a866affa5ebd19d11f5ce + languageName: node + linkType: hard + +"@react-aria/dnd@npm:^3.6.1": + version: 3.6.1 + resolution: "@react-aria/dnd@npm:3.6.1" + dependencies: + "@internationalized/string": ^3.2.3 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/dnd": ^3.3.1 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: ebb56a3560ca27f729de2277fa61f3c0ac30e15df10a4c0f51b6dd476d923b4cb3adf3d25381802efdeea8589407bbad171116440b4dc9f0ce9e6ae6ebbeb97f + languageName: node + linkType: hard + +"@react-aria/focus@npm:^3.17.1": + version: 3.17.1 + resolution: "@react-aria/focus@npm:3.17.1" + dependencies: + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + clsx: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2855d29d3d88d5d3a5c2c4bba480dd8fc81cc48647191d5cd7380365ef353ab1760bd48669011b9b6b7dcff81fd833715af36d5a5900c79a8461a6e1370bb9e7 + languageName: node + linkType: hard + +"@react-aria/form@npm:^3.0.5": + version: 3.0.5 + resolution: "@react-aria/form@npm:3.0.5" + dependencies: + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/form": ^3.0.3 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7e86489a34bdf5de6b1a01860a7e2ca95ac7f8bdda4da8b8573558bf7dacd1ef5613eff5889f16a5fc1695d362b249cbcda5b4a775a616cc923eb1d951d88737 + languageName: node + linkType: hard + +"@react-aria/grid@npm:^3.9.1": + version: 3.9.1 + resolution: "@react-aria/grid@npm:3.9.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/collections": ^3.10.7 + "@react-stately/grid": ^3.8.7 + "@react-stately/selection": ^3.15.1 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/checkbox": ^3.8.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4f9f8274d98e26e1634c845f0769db4470d6417febf278bf6b22af40bacf2a6c465220ba64f578fb1ecbef88dbde40ec047f2973b3c071b30cad4c760d043dbb + languageName: node + linkType: hard + +"@react-aria/gridlist@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-aria/gridlist@npm:3.8.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/grid": ^3.9.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/collections": ^3.10.7 + "@react-stately/list": ^3.10.5 + "@react-stately/tree": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8ec69fdb6bb25160c5ff84363d96cd28bd1d3e2809f0599f67e1ab9257376b99afa7e718a7dbe18b02450b19918024e9e7cbac6f399d33df74727653c89ddccf + languageName: node + linkType: hard + +"@react-aria/i18n@npm:^3.11.1": + version: 3.11.1 + resolution: "@react-aria/i18n@npm:3.11.1" + dependencies: + "@internationalized/date": ^3.5.4 + "@internationalized/message": ^3.1.4 + "@internationalized/number": ^3.5.3 + "@internationalized/string": ^3.2.3 + "@react-aria/ssr": ^3.9.4 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5c115f6e0b227f973671d8fe65f4d23de4bf4e805915749218758202e0ed6701ead1641ab25124eb67e5e653bed09312d3343cfe230f5045f1a5779f7205662d + languageName: node + linkType: hard + +"@react-aria/interactions@npm:^3.21.3": + version: 3.21.3 + resolution: "@react-aria/interactions@npm:3.21.3" + dependencies: + "@react-aria/ssr": ^3.9.4 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0ee5346601420efc05e485d51c563a2c3c4bb2b5c4004ce9599224043fb725e5dbcf8e937fe56540e252f846498c8ebe889ff0adf54ab807e6dee01abb54c7e9 + languageName: node + linkType: hard + +"@react-aria/label@npm:^3.7.8": + version: 3.7.8 + resolution: "@react-aria/label@npm:3.7.8" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 51eb60b8eb5a0aebeaca44a88fa4dc140daeac31bf3255e47132141314637b2430bcdae3d7105b1e52af8ef1f284e1b1c48159af52bb406c0aa064a3d5571291 + languageName: node + linkType: hard + +"@react-aria/link@npm:^3.7.1": + version: 3.7.1 + resolution: "@react-aria/link@npm:3.7.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-types/link": ^3.5.5 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: dd1c59e7687364f9a0a304969fcf36d284e380afc65046c0787b2243cd77e8242c690761320086f7be16c09dbfe4fd85c15b85b6498438f48322bad35f5737ec + languageName: node + linkType: hard + +"@react-aria/listbox@npm:^3.12.1": + version: 3.12.1 + resolution: "@react-aria/listbox@npm:3.12.1" + dependencies: + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/collections": ^3.10.7 + "@react-stately/list": ^3.10.5 + "@react-types/listbox": ^3.4.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 11f7f68d534b6520c0c186291d6cf09fa199beaa0be405002f94512063de9e44ed4b33bc58c0e7e95ab3c93f815edff72d3f678557ca33c037e9267d2d57ef27 + languageName: node + linkType: hard + +"@react-aria/live-announcer@npm:^3.3.4": + version: 3.3.4 + resolution: "@react-aria/live-announcer@npm:3.3.4" + dependencies: + "@swc/helpers": ^0.5.0 + checksum: f216c6049ea77bcecec17cfbb1453e59b2b6034aa03edc6e9df74ab162a1f4197e7b07fb71b086a3b074981ef3171706f7fec4b9877901b7243c16321696a64c + languageName: node + linkType: hard + +"@react-aria/menu@npm:^3.14.1": + version: 3.14.1 + resolution: "@react-aria/menu@npm:3.14.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/overlays": ^3.22.1 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/collections": ^3.10.7 + "@react-stately/menu": ^3.7.1 + "@react-stately/tree": ^3.8.1 + "@react-types/button": ^3.9.4 + "@react-types/menu": ^3.9.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 16749e0df95f3b91cf507078a8b88d28dd9c5f3d7fe28a951e5e1b4be9eefbd9434f02ad351c841798df8bd546c2de993952ad3a09cbd8302a0da04508f0eb39 + languageName: node + linkType: hard + +"@react-aria/meter@npm:^3.4.13": + version: 3.4.13 + resolution: "@react-aria/meter@npm:3.4.13" + dependencies: + "@react-aria/progress": ^3.4.13 + "@react-types/meter": ^3.4.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 42a031da8538bd791a4d2b5805136847fa6d60f043ff75cc134d8dd24cf2a19137d50fbfc717518c2aee2e18397a3be591daee0ae010c580c0a92cdfce10afbc + languageName: node + linkType: hard + +"@react-aria/numberfield@npm:^3.11.3": + version: 3.11.3 + resolution: "@react-aria/numberfield@npm:3.11.3" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/spinbutton": ^3.6.5 + "@react-aria/textfield": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-stately/form": ^3.0.3 + "@react-stately/numberfield": ^3.9.3 + "@react-types/button": ^3.9.4 + "@react-types/numberfield": ^3.8.3 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 63b0c1c1238e4a3b63058fb60174493e9f6ed370694a1c2ea2b04d3920367dfe16637834b3ccb65e30ebe2219786b9e585e26960e31166a4f8193715c3e75dde + languageName: node + linkType: hard + +"@react-aria/overlays@npm:^3.22.1": + version: 3.22.1 + resolution: "@react-aria/overlays@npm:3.22.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/ssr": ^3.9.4 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-stately/overlays": ^3.6.7 + "@react-types/button": ^3.9.4 + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 14a81edee5d2d2af05d21f209c712e4838753aaec7ad7bea4d362a2c354c70cb7f5b2e70cf549ce644f5849af1be7721550cfa577e973d4241605f55ab916115 + languageName: node + linkType: hard + +"@react-aria/progress@npm:^3.4.13": + version: 3.4.13 + resolution: "@react-aria/progress@npm:3.4.13" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/label": ^3.7.8 + "@react-aria/utils": ^3.24.1 + "@react-types/progress": ^3.5.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: db76f5ea818038b5f055ffec6e5fc5fb615af7b8a881d583698067523e80e154e0ef25d41d5551ade5126d6599e77a79b92791e029ccfae032e080ce420541d7 + languageName: node + linkType: hard + +"@react-aria/radio@npm:^3.10.4": + version: 3.10.4 + resolution: "@react-aria/radio@npm:3.10.4" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/form": ^3.0.5 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/utils": ^3.24.1 + "@react-stately/radio": ^3.10.4 + "@react-types/radio": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7c51bc40b3c547def84af5546b7c854b97f4836325177d04bb5f4364939dcda9c5d14e2f099bd86f9e38ad925142894dbe93dc6fe1cdf3acf58c697f4fe6c516 + languageName: node + linkType: hard + +"@react-aria/searchfield@npm:^3.7.5": + version: 3.7.5 + resolution: "@react-aria/searchfield@npm:3.7.5" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/textfield": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-stately/searchfield": ^3.5.3 + "@react-types/button": ^3.9.4 + "@react-types/searchfield": ^3.5.5 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 699751f6399e499052d889f2178bd4cb1ff1baef66ef4926efd255bf9c7f9279d13156eb808591e3c142ca67d878c957298a0e24d45ed218dc9dc7553c45c62d + languageName: node + linkType: hard + +"@react-aria/select@npm:^3.14.5": + version: 3.14.5 + resolution: "@react-aria/select@npm:3.14.5" + dependencies: + "@react-aria/form": ^3.0.5 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/listbox": ^3.12.1 + "@react-aria/menu": ^3.14.1 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-stately/select": ^3.6.4 + "@react-types/button": ^3.9.4 + "@react-types/select": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 97154245b6ea6d14c527f1aaf3243ea06501d12f270925a666a231844cce488be51f3c089c5282d5578ccd507e3aebcdcec8cde40da5bb2da937199e01672d7e + languageName: node + linkType: hard + +"@react-aria/selection@npm:^3.18.1": + version: 3.18.1 + resolution: "@react-aria/selection@npm:3.18.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/selection": ^3.15.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7ed29bd7ebd3a517ec1a049ad36390e0f2ccd41fbea3d826195e895e690b62fe440df96a040cbc8dcaf27eef5cb623116fc05bc995c935b45dd96ca175fd5acd + languageName: node + linkType: hard + +"@react-aria/separator@npm:^3.3.13": + version: 3.3.13 + resolution: "@react-aria/separator@npm:3.3.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 85d6ec8a9835834ffdfa4686ae78ead9d124b79a56e57a289da66b4f822371ae85192f0638386b059bff112d7321b7923ac9886db1dede8d921ae10ebf2c1e39 + languageName: node + linkType: hard + +"@react-aria/slider@npm:^3.7.8": + version: 3.7.8 + resolution: "@react-aria/slider@npm:3.7.8" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/utils": ^3.24.1 + "@react-stately/slider": ^3.5.4 + "@react-types/shared": ^3.23.1 + "@react-types/slider": ^3.7.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 107931f11d827e821c230d651a86c885cd7d63bab7fe6a621881036ca99f580c667daf60d143de8dc9f22595c39eb9d2c1ae468fd9f840ebb44b53c611446436 + languageName: node + linkType: hard + +"@react-aria/spinbutton@npm:^3.6.5": + version: 3.6.5 + resolution: "@react-aria/spinbutton@npm:3.6.5" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/utils": ^3.24.1 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 256c848189d6be9d5e83641e608464cf3007116a7918ec39689950371377b61186bd9f84994434058b837539d7ccde6ab3b005ddb3cb44912066d62ecfc8c1f2 + languageName: node + linkType: hard + +"@react-aria/ssr@npm:^3.9.4": + version: 3.9.4 + resolution: "@react-aria/ssr@npm:3.9.4" + dependencies: + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 503669ee9105d6dcf9ef1fb5f3fbfccad28e1ebae0ce707e9272da2ec5b1bcd0f3a725ab340b619177def9e238482274c901600687340d58a622ad14bbd4298b + languageName: node + linkType: hard + +"@react-aria/switch@npm:^3.6.4": + version: 3.6.4 + resolution: "@react-aria/switch@npm:3.6.4" + dependencies: + "@react-aria/toggle": ^3.10.4 + "@react-stately/toggle": ^3.7.4 + "@react-types/switch": ^3.5.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 392542a116ba244b8822bfcb1d28e844ba48758df1540fceb4405a833eef191ac11f24a8c5751c0b30b7a67f895c5d9a070265c27d5d56af14084a06bd45d988 + languageName: node + linkType: hard + +"@react-aria/table@npm:^3.14.1": + version: 3.14.1 + resolution: "@react-aria/table@npm:3.14.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/grid": ^3.9.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-stately/collections": ^3.10.7 + "@react-stately/flags": ^3.0.3 + "@react-stately/table": ^3.11.8 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/checkbox": ^3.8.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@react-types/table": ^3.9.5 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 98c0b1d80b498649fb6ef98a19830274ce5b84b6a6ae66b04e9cdd4dc0c6f51cde6d65c03e13e9d92e332edfec8018234ed5c48d5118491cbeb95679dc37f114 + languageName: node + linkType: hard + +"@react-aria/tabs@npm:^3.9.1": + version: 3.9.1 + resolution: "@react-aria/tabs@npm:3.9.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/tabs": ^3.6.6 + "@react-types/shared": ^3.23.1 + "@react-types/tabs": ^3.3.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 26233ca9b2db281665e2951607221ce29401b920d6daca50ed49ad71c8d801f8c658f8a53faeb9e18f3d22af0998d52f7b7ffc20dccb829786ab7557648f5ff0 + languageName: node + linkType: hard + +"@react-aria/tag@npm:^3.4.1": + version: 3.4.1 + resolution: "@react-aria/tag@npm:3.4.1" + dependencies: + "@react-aria/gridlist": ^3.8.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/list": ^3.10.5 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2167853ddffb5faf84faabe27d6968d16b5e50b89a5ada3e082a54d06bccf0ad1ad9ce0376c5064933ae663dfc9e97e73cb91c73c02f00854291761ea7c00aa2 + languageName: node + linkType: hard + +"@react-aria/textfield@npm:^3.14.5": + version: 3.14.5 + resolution: "@react-aria/textfield@npm:3.14.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/form": ^3.0.5 + "@react-aria/label": ^3.7.8 + "@react-aria/utils": ^3.24.1 + "@react-stately/form": ^3.0.3 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@react-types/textfield": ^3.9.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: a0f4dce62543c7a7c8dd62ca161cb6e065d0c35a0e0853d9e644eba40e81a64b1bbd85f25350d609a8af587b96aaeded77d71cfb8b07f4d18ac9c3799fc2e2c8 + languageName: node + linkType: hard + +"@react-aria/toggle@npm:^3.10.4": + version: 3.10.4 + resolution: "@react-aria/toggle@npm:3.10.4" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/toggle": ^3.7.4 + "@react-types/checkbox": ^3.8.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4131d28c3761c70fe3cae35abc6c371c65bcab2d1b1712b82c94c438f8b38b33c39fd3198acf78bb8fb8bbcbcfa60381595ae03b526a44d36aac407369b72098 + languageName: node + linkType: hard + +"@react-aria/toolbar@npm:3.0.0-beta.5": + version: 3.0.0-beta.5 + resolution: "@react-aria/toolbar@npm:3.0.0-beta.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e95a58e81fb5f8a627f44b8bf6c0df1955f42fc4156f538f22c28ba69367222589c694914287d6d3fb7028b5c8b6da50867bfee8460596122ce1729d47d1c6b2 + languageName: node + linkType: hard + +"@react-aria/tooltip@npm:^3.7.4": + version: 3.7.4 + resolution: "@react-aria/tooltip@npm:3.7.4" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/tooltip": ^3.4.9 + "@react-types/shared": ^3.23.1 + "@react-types/tooltip": ^3.4.9 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 60b8e519b1561e6113da76f6b02cd6cb37d880dd6876a78a8323f62c23b594042073e8c0f3f181a04a1eaea99b82f2e33d891f3c21882a34c607dc8f36567ed3 + languageName: node + linkType: hard + +"@react-aria/tree@npm:3.0.0-alpha.1": + version: 3.0.0-alpha.1 + resolution: "@react-aria/tree@npm:3.0.0-alpha.1" + dependencies: + "@react-aria/gridlist": ^3.8.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/selection": ^3.18.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/tree": ^3.8.1 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5fb7b910e454addc4f88861946bee3f6d135c7898960b6aae802b7fe57ea0277ab132bace3441c083e0945368c06acf8bbfb497823c33a160c1dbcadc2d52429 + languageName: node + linkType: hard + +"@react-aria/utils@npm:^3.24.1": + version: 3.24.1 + resolution: "@react-aria/utils@npm:3.24.1" + dependencies: + "@react-aria/ssr": ^3.9.4 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + clsx: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 3ea920b878769a739b5a3c085207d0b2c5a914fdd1968063b0c55ae68aa5fd68d53f9810498bc5c3c61945245929e54532983912f136f6bda40141f9a5e4f0be + languageName: node + linkType: hard + +"@react-aria/virtualizer@npm:^3.10.1": + version: 3.10.1 + resolution: "@react-aria/virtualizer@npm:3.10.1" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 6080eef35521c331dbeb9c82dfb20aad91893aeb2a67d70b95c4083815b1f40047cd00f163e5cebf7a8cbf1c27af22e85c62970e8d42b3b38ccd566aaaa09190 + languageName: node + linkType: hard + +"@react-aria/visually-hidden@npm:^3.8.12": + version: 3.8.12 + resolution: "@react-aria/visually-hidden@npm:3.8.12" + dependencies: + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 062aaa85b59cfa9a6f7818cb4a53485ede1912c260cddf13d9ac30e6c488692a15456a15641cbc4831a6dd14e0325588e93e56a7255ca638dc12b4b7af21fae3 + languageName: node + linkType: hard + +"@react-spectrum/actionbar@npm:^3.4.5": + version: 3.4.5 + resolution: "@react-spectrum/actionbar@npm:3.4.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/live-announcer": ^3.3.4 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/actiongroup": ^3.10.5 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-types/actionbar": ^3.1.7 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4a26d6be29b9da83b4d417127c71e9de0581e123c154ed12fb4e187ea6c0dccbfa5bc5da900f07a561ea0bb5e51fe53da50cb41b7a5f33675c75509a5027c599 + languageName: node + linkType: hard + +"@react-spectrum/actiongroup@npm:^3.10.5": + version: 3.10.5 + resolution: "@react-spectrum/actiongroup@npm:3.10.5" + dependencies: + "@react-aria/actiongroup": ^3.7.5 + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/menu": ^3.19.1 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/tooltip": ^3.6.7 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/list": ^3.10.5 + "@react-types/actiongroup": ^3.4.9 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@spectrum-icons/workflow": ^4.2.12 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 54a55557a1a58cbaaa36d4e3599483f424e4b4ca4933852ce99db998cd6cb8336ab8ad87ac438d9c336a6555e708986e5481f5ca7393452b7b790bcbcac33780 + languageName: node + linkType: hard + +"@react-spectrum/avatar@npm:^3.0.12": + version: 3.0.12 + resolution: "@react-spectrum/avatar@npm:3.0.12" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/avatar": ^3.0.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.2.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 34173ee6d14b3e35afbf419e41e29a9163d8c574acb0c4b2daeb3dcf59bf8b16a6e985b9d0741fa450ae878ca3bc42339b23e9b57c1a4ef7cb18678925e21b17 + languageName: node + linkType: hard + +"@react-spectrum/badge@npm:^3.1.13": + version: 3.1.13 + resolution: "@react-spectrum/badge@npm:3.1.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-types/badge": ^3.1.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 74c2244836ae3900335faeee4a163ed24995ace11974cf95297e3d74799ef9f872b55dd524a676f01812ad4c12e0af59f73ae4165933e0a02b31b14fad8ec9d7 + languageName: node + linkType: hard + +"@react-spectrum/breadcrumbs@npm:^3.9.7": + version: 3.9.7 + resolution: "@react-spectrum/breadcrumbs@npm:3.9.7" + dependencies: + "@react-aria/breadcrumbs": ^3.5.13 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/menu": ^3.19.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-types/breadcrumbs": ^3.7.5 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1b2a68b3cdc0aa5d094b62cdb07308ebd08bd853f575848a627d49973407ecf5bafa60d339974c7ab4b1567cc156ec7fcaedc55e4e916a34368751cc700abc9a + languageName: node + linkType: hard + +"@react-spectrum/button@npm:^3.16.4": + version: 3.16.4 + resolution: "@react-spectrum/button@npm:3.16.4" + dependencies: + "@react-aria/button": ^3.9.5 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/toggle": ^3.7.4 + "@react-types/button": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8ff444ed6ebcfa609789c4322a3c1322bd1c2125eff6182c05232f1d0f68fd75e3437cd70d980119441bc60946a0dd5f5487ad868ed6489cea475230cbf166e4 + languageName: node + linkType: hard + +"@react-spectrum/buttongroup@npm:^3.6.13": + version: 3.6.13 + resolution: "@react-spectrum/buttongroup@npm:3.6.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/buttongroup": ^3.3.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: ede45a73232a65b3b86b2a176a96fd9d134c05d61cf13e0622f658fe4a4bb8d1f726f92dffe973e7a3c96ff1092b3660467f54d207a125110d4a271cadc853e6 + languageName: node + linkType: hard + +"@react-spectrum/calendar@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-spectrum/calendar@npm:3.4.9" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-aria/calendar": ^3.5.8 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/calendar": ^3.5.1 + "@react-types/button": ^3.9.4 + "@react-types/calendar": ^3.4.6 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: f63cd5d3817521ac7ebba09834bfd5aba6a36144e8d78007fd61c5b9ba9acece9c02fb6fb748b13be778e4f745a84e9a97030c61c88cd38f09c643309b732734 + languageName: node + linkType: hard + +"@react-spectrum/checkbox@npm:^3.9.6": + version: 3.9.6 + resolution: "@react-spectrum/checkbox@npm:3.9.6" + dependencies: + "@react-aria/checkbox": ^3.14.3 + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/checkbox": ^3.6.5 + "@react-stately/toggle": ^3.7.4 + "@react-types/checkbox": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + react-aria-components: ^1.2.1 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 864651dc2d192593bfa7e261e7ba022ebfe07ac6cb299c583cfd2eef3e53de3945022c6c1062a366dcc0e37e3f9af802834c2acc4239ab1f01afb3e8db1852e1 + languageName: node + linkType: hard + +"@react-spectrum/combobox@npm:^3.12.5": + version: 3.12.5 + resolution: "@react-spectrum/combobox@npm:3.12.5" + dependencies: + "@react-aria/button": ^3.9.5 + "@react-aria/combobox": ^3.9.1 + "@react-aria/dialog": ^3.5.14 + "@react-aria/focus": ^3.17.1 + "@react-aria/form": ^3.0.5 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/listbox": ^3.12.9 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/textfield": ^3.12.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/combobox": ^3.8.4 + "@react-types/button": ^3.9.4 + "@react-types/combobox": ^3.11.1 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 05ce74e0d8bbc3191f7d0d8b04a29f929ac5a64345ea31a631cb57070cb7eea5fcf2ea77c99f50aeedd246b0271959450ea02e9ab1c7caaeb175892052270bd2 + languageName: node + linkType: hard + +"@react-spectrum/contextualhelp@npm:^3.6.11": + version: 3.6.11 + resolution: "@react-spectrum/contextualhelp@npm:3.6.11" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/dialog": ^3.8.11 + "@react-spectrum/utils": ^3.11.7 + "@react-types/contextualhelp": ^3.2.10 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/workflow": ^4.2.12 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: b6fca1f1b8a47ea31da3af335b05b62ac24d4128e4efa8d78db06995e8f2728a391d612a53efd844dc7fda9f5c04dc31aef26080f35045368dbf5e0474c02c8f + languageName: node + linkType: hard + +"@react-spectrum/datepicker@npm:^3.9.6": + version: 3.9.6 + resolution: "@react-spectrum/datepicker@npm:3.9.6" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-aria/datepicker": ^3.10.1 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/calendar": ^3.4.9 + "@react-spectrum/dialog": ^3.8.11 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/utils": ^3.11.7 + "@react-spectrum/view": ^3.6.10 + "@react-stately/datepicker": ^3.9.4 + "@react-types/datepicker": ^3.7.4 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@spectrum-icons/workflow": ^4.2.12 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 3414b1da9dc17134b3bcb5220fbad7fc195957c29fe8e437a25393a32dd75273c767383c131f8f5568ff67e45509410d32793a43922dcd7fe2897d2c11a19f27 + languageName: node + linkType: hard + +"@react-spectrum/dialog@npm:^3.8.11": + version: 3.8.11 + resolution: "@react-spectrum/dialog@npm:3.8.11" + dependencies: + "@react-aria/dialog": ^3.5.14 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/buttongroup": ^3.6.13 + "@react-spectrum/divider": ^3.5.13 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-spectrum/view": ^3.6.10 + "@react-stately/overlays": ^3.6.7 + "@react-types/button": ^3.9.4 + "@react-types/dialog": ^3.5.10 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: dbf3aef980c0f49a155ded720ea183db3b33e50652c787a547557a63bcd484035f9c5360e214d00daa9e071bb3b0ca2458e8fa969c77bae30810000bbff045ca + languageName: node + linkType: hard + +"@react-spectrum/divider@npm:^3.5.13": + version: 3.5.13 + resolution: "@react-spectrum/divider@npm:3.5.13" + dependencies: + "@react-aria/separator": ^3.3.13 + "@react-spectrum/utils": ^3.11.7 + "@react-types/divider": ^3.3.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e17307202b8659c8d3fcdeab6603d2d7c9a08bf62b5dd5a31abbd2d6191abf871536029db508d99b2005ca35d1e3fd1adf0e9322530ac38726181ade8a3a7da2 + languageName: node + linkType: hard + +"@react-spectrum/dnd@npm:^3.3.10": + version: 3.3.10 + resolution: "@react-spectrum/dnd@npm:3.3.10" + dependencies: + "@react-aria/dnd": ^3.6.1 + "@react-stately/dnd": ^3.3.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0611fe46ff738aeb8dca48c8caf8b62e43380bd59036c6e40616cb92b651991e68a27ecf80aed7c68726c666befca9a8142cb50759d232ac18f3f282c4c50bd5 + languageName: node + linkType: hard + +"@react-spectrum/dropzone@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-spectrum/dropzone@npm:3.0.1" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + react-aria-components: ^1.2.1 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8495bb643849214af9b1c9057903eb5b40827f45252bb16e5653f5495649ccff0278c46791d131a070b66cec1e1426a8bf619a73058b967a9e92da4a3725f0a0 + languageName: node + linkType: hard + +"@react-spectrum/filetrigger@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-spectrum/filetrigger@npm:3.0.1" + dependencies: + "@swc/helpers": ^0.5.0 + react-aria-components: ^1.2.1 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5929b7ee4ca359ebf682c5fd8a88b99c83fd26345f34272f14a491e0fb035f2618a1a39d4af6f4676363a1a1e580b88aabc94a53453ff03cd001c05ad93850a0 + languageName: node + linkType: hard + +"@react-spectrum/form@npm:^3.7.6": + version: 3.7.6 + resolution: "@react-spectrum/form@npm:3.7.6" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/form": ^3.0.3 + "@react-types/form": ^3.7.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1d54ff9055371e8794b814905e679e585697073768788bb26e30cf176670a8c3749f716a8b85976340ac7f9a179cae6e53ddd98e8757d443bcf3d618187ee28b + languageName: node + linkType: hard + +"@react-spectrum/icon@npm:^3.7.13": + version: 3.7.13 + resolution: "@react-spectrum/icon@npm:3.7.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: c02fa25a1755e6b0bd648b26175d36964afc135d192770a85830e875e16fbe947f9a59cd305945f0a1b8e14044f79b29825d30422ec2e9dfbcd66573d1d7a2ca + languageName: node + linkType: hard + +"@react-spectrum/illustratedmessage@npm:^3.5.1": + version: 3.5.1 + resolution: "@react-spectrum/illustratedmessage@npm:3.5.1" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/utils": ^3.11.7 + "@react-types/illustratedmessage": ^3.3.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0b84a490d4b1e0f133dbd8be61fef077b3b3803e0b37a334320445435627b463489dbe240a2d9de880bb0cdb41aebee968af34db828f0980d254429a27b39872 + languageName: node + linkType: hard + +"@react-spectrum/image@npm:^3.5.1": + version: 3.5.1 + resolution: "@react-spectrum/image@npm:3.5.1" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/image": ^3.4.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5d75e99cc6e9797222ec2bafa82577b281dd708fb76337b0fe6f9114bcc9ab9f67e6b6ec6c0c548adfaa1afac98c086b918da7f77b1cbbcd4d8f05314afc18f4 + languageName: node + linkType: hard + +"@react-spectrum/inlinealert@npm:^3.2.5": + version: 3.2.5 + resolution: "@react-spectrum/inlinealert@npm:3.2.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: d5fade37a9cc8bef90ec4bf39890745b8b00034333b426a6a5d391b066ce78ffd642ed797526f8549cca32601f90ecc1d0f708291f6a26cdd69c8a1ec04a310d + languageName: node + linkType: hard + +"@react-spectrum/label@npm:^3.16.6": + version: 3.16.6 + resolution: "@react-spectrum/label@npm:3.16.6" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/utils": ^3.11.7 + "@react-types/label": ^3.9.3 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: f95069e05cc752ab3ec4639d0607c0492142e348b6537c967bec74a2ba7f8232707fbf1a3849da9d5f35f48d2d924a35dbfb69207b4facdc34dba6d12f3c970d + languageName: node + linkType: hard + +"@react-spectrum/labeledvalue@npm:^3.1.14": + version: 3.1.14 + resolution: "@react-spectrum/labeledvalue@npm:3.1.14" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-aria/i18n": ^3.11.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0c889d99ee55a53c44aabfbadff385d58fb47b242770cb02a2f2c771f2ce0a68c8079e4f8d6cafb3807c60756216781bc0f32d7bb9c3ac47af607c21ce7a731c + languageName: node + linkType: hard + +"@react-spectrum/layout@npm:^3.6.5": + version: 3.6.5 + resolution: "@react-spectrum/layout@npm:3.6.5" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/layout": ^3.3.15 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 785c5e6ce966ac65bb3a89665fdf8099c0b31044aad0138ff3248478d7028a343c166516e888ab73e8ec722940bf9fefd7c34ae3220012bd2895607525357d55 + languageName: node + linkType: hard + +"@react-spectrum/link@npm:^3.6.7": + version: 3.6.7 + resolution: "@react-spectrum/link@npm:3.6.7" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/link": ^3.7.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/link": ^3.5.5 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: abc8dd63254821f8947858c7a7ede942bac32ef752eda6705e9aa267d02c7b319996d0d8c90640af174504be96c72e72359fde400b4870b8a75f15cdade24500 + languageName: node + linkType: hard + +"@react-spectrum/list@npm:^3.7.10": + version: 3.7.10 + resolution: "@react-spectrum/list@npm:3.7.10" + dependencies: + "@react-aria/button": ^3.9.5 + "@react-aria/focus": ^3.17.1 + "@react-aria/gridlist": ^3.8.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/utils": ^3.24.1 + "@react-aria/virtualizer": ^3.10.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-spectrum/checkbox": ^3.9.6 + "@react-spectrum/dnd": ^3.3.10 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/layout": ^3.13.9 + "@react-stately/list": ^3.10.5 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + react-transition-group: ^4.4.5 + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 45568e8d7d59325aedbcc253503ee0d6a2547de952a24759474223c26bb1dd88317a2bd541b7b37579c0fde8c81f8fc394030b5d71eaabf5c5006f96426d888e + languageName: node + linkType: hard + +"@react-spectrum/listbox@npm:^3.12.9": + version: 3.12.9 + resolution: "@react-spectrum/listbox@npm:3.12.9" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/listbox": ^3.12.1 + "@react-aria/utils": ^3.24.1 + "@react-aria/virtualizer": ^3.10.1 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/layout": ^3.13.9 + "@react-stately/list": ^3.10.5 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/listbox": ^3.4.9 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 661651b5f26ae33c09c8c6faad6cdef1d2de523bddeb2d57ff3a261ba563aabc4d1842ee40310034a6751f7c5c58e3579c3be261d0176a2c53cec13b806ad8f1 + languageName: node + linkType: hard + +"@react-spectrum/menu@npm:^3.19.1": + version: 3.19.1 + resolution: "@react-spectrum/menu@npm:3.19.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/menu": ^3.14.1 + "@react-aria/overlays": ^3.22.1 + "@react-aria/separator": ^3.3.13 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/menu": ^3.7.1 + "@react-stately/overlays": ^3.6.7 + "@react-stately/tree": ^3.8.1 + "@react-types/menu": ^3.9.9 + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@spectrum-icons/workflow": ^4.2.12 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 988b02b449f9cb4d733828d65a190f355c3383e6c2f6bd03a245e0335541d678ee58f51fbf7ec97b8c882e941118ac9fb035762619b6dd9547f6962818abfca1 + languageName: node + linkType: hard + +"@react-spectrum/meter@npm:^3.5.1": + version: 3.5.1 + resolution: "@react-spectrum/meter@npm:3.5.1" + dependencies: + "@react-aria/meter": ^3.4.13 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/utils": ^3.11.7 + "@react-types/meter": ^3.4.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0f5bf7e81c6b0a410b201ad8d3a00dba3550ad565d30cb7ebc904ced9d79792224e5037e5dfb9e33ab8ebd91519d33b298d74d0d8f3fe9d430652c48d635e22b + languageName: node + linkType: hard + +"@react-spectrum/numberfield@npm:^3.9.3": + version: 3.9.3 + resolution: "@react-spectrum/numberfield@npm:3.9.3" + dependencies: + "@react-aria/button": ^3.9.5 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/numberfield": ^3.11.3 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/textfield": ^3.12.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/numberfield": ^3.9.3 + "@react-types/button": ^3.9.4 + "@react-types/numberfield": ^3.8.3 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@spectrum-icons/workflow": ^4.2.12 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5a076bdea11e0a2c2fa943c9bd63708b1323185f9062559c7d709953fe813b33d29d245629ff1edec1d1067b953d3c64b88886a5d5181e05e02e0c83eba6ebe8 + languageName: node + linkType: hard + +"@react-spectrum/overlays@npm:^5.6.1": + version: 5.6.1 + resolution: "@react-spectrum/overlays@npm:5.6.1" + dependencies: + "@react-aria/interactions": ^3.21.3 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/overlays": ^3.6.7 + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + react-transition-group: ^4.4.5 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: df7936cdbfbc57cc585a02dfd242bf1b4bbb1b7cfa6175e0f07570f87cf316f10e0b84018ef831c7d877b9d706eae12989cd99d7b460fd0df7a5fd41938aec93 + languageName: node + linkType: hard + +"@react-spectrum/picker@npm:^3.14.5": + version: 3.14.5 + resolution: "@react-spectrum/picker@npm:3.14.5" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/select": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/listbox": ^3.12.9 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/select": ^3.6.4 + "@react-types/select": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.1.4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 90390ce2ba2ce46fbf7abe4035f68e0553ad113be135050f6c642361371045e9f1dc802bc85100c43ce1582954656efbeec4614ee44ddfd0016c0ab0a5aa7f06 + languageName: node + linkType: hard + +"@react-spectrum/progress@npm:^3.7.7": + version: 3.7.7 + resolution: "@react-spectrum/progress@npm:3.7.7" + dependencies: + "@react-aria/progress": ^3.4.13 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/progress": ^3.5.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7473b49aecc39373effe0de0c48aaa2a0ab84d3f1770153f58a93eea4690030ba70de993ef77590d63f6f82960e9a42f3b71079e170c54cfae2120a0087696c6 + languageName: node + linkType: hard + +"@react-spectrum/provider@npm:^3.9.7": + version: 3.9.7 + resolution: "@react-spectrum/provider@npm:3.9.7" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/overlays": ^3.22.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/provider": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + clsx: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 206345debfb24565fcc293fa9afb77171d716585a6d8fe4465d1f60ebd53522f62c2b5c965495efe19c9fcacf813218370ba08cad3b397bf848fd2fdbaf0a3cc + languageName: node + linkType: hard + +"@react-spectrum/radio@npm:^3.7.6": + version: 3.7.6 + resolution: "@react-spectrum/radio@npm:3.7.6" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/radio": ^3.10.4 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/radio": ^3.10.4 + "@react-types/radio": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 3c61a351885573b04c24ab294bebf4871142350e1727a58db727f9162562ea287371195eeb41224fdf1ea64eef89e50730261ecfc1285b3e1b22e8c846ed1753 + languageName: node + linkType: hard + +"@react-spectrum/searchfield@npm:^3.8.6": + version: 3.8.6 + resolution: "@react-spectrum/searchfield@npm:3.8.6" + dependencies: + "@react-aria/searchfield": ^3.7.5 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/textfield": ^3.12.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/searchfield": ^3.5.3 + "@react-types/searchfield": ^3.5.5 + "@react-types/textfield": ^3.9.3 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 952b2f691d430d7e44bff46bce9822cc0681999d70133c04fff8a34900869a3b59474cfc5682f0cfa95eb2d225279e501e299fe53bea8325887dc2ecbddcd14c + languageName: node + linkType: hard + +"@react-spectrum/slider@npm:^3.6.9": + version: 3.6.9 + resolution: "@react-spectrum/slider@npm:3.6.9" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/slider": ^3.7.8 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/slider": ^3.5.4 + "@react-types/shared": ^3.23.1 + "@react-types/slider": ^3.7.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 078dbf7e4ccd1c3c007fafc569f6aa2d3f21cf297924ddb81f573aadcc8fb2e89b40c461b925473591d784c79bb378d20df8670feae1887fed19978d9defd337 + languageName: node + linkType: hard + +"@react-spectrum/statuslight@npm:^3.5.13": + version: 3.5.13 + resolution: "@react-spectrum/statuslight@npm:3.5.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@react-types/statuslight": ^3.3.9 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 875cb8255c69329b57496a58b3cbc9814d5c9985e2c679ebb1055bd12ed58093af6ca34e747dfdbda146ae027938c1f4ec3ccd2de8a43df4259efeae21fbcbea + languageName: node + linkType: hard + +"@react-spectrum/switch@npm:^3.5.5": + version: 3.5.5 + resolution: "@react-spectrum/switch@npm:3.5.5" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/switch": ^3.6.4 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/toggle": ^3.7.4 + "@react-types/shared": ^3.23.1 + "@react-types/switch": ^3.5.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 3546df01a7764d5e25ba68a6aa5e5af34c7d84a88ae092ba07345cba7a6e913e759d1ddccda5744381a49fdb801ac7041bb7c2da8f460af47a0fed30f4c30c71 + languageName: node + linkType: hard + +"@react-spectrum/table@npm:^3.12.10": + version: 3.12.10 + resolution: "@react-spectrum/table@npm:3.12.10" + dependencies: + "@react-aria/button": ^3.9.5 + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/overlays": ^3.22.1 + "@react-aria/table": ^3.14.1 + "@react-aria/utils": ^3.24.1 + "@react-aria/virtualizer": ^3.10.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-spectrum/checkbox": ^3.9.6 + "@react-spectrum/dnd": ^3.3.10 + "@react-spectrum/layout": ^3.6.5 + "@react-spectrum/menu": ^3.19.1 + "@react-spectrum/progress": ^3.7.7 + "@react-spectrum/tooltip": ^3.6.7 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/flags": ^3.0.3 + "@react-stately/layout": ^3.13.9 + "@react-stately/table": ^3.11.8 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@react-types/table": ^3.9.5 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8fd2af5dbc9488417448d7fcc79d1aaa25de4228e083a6228f2897202fb09970f13703bf68c042600b42fd992e7babd0798ba81d379b301cdf4ebb542593480e + languageName: node + linkType: hard + +"@react-spectrum/tabs@npm:^3.8.10": + version: 3.8.10 + resolution: "@react-spectrum/tabs@npm:3.8.10" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/tabs": ^3.9.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/picker": ^3.14.5 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/list": ^3.10.5 + "@react-stately/tabs": ^3.6.6 + "@react-types/select": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@react-types/tabs": ^3.3.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1362aa0e6ce8c4319d5c4315561c937d508e2e1b10fd652fd5f8563f0e22a5d35bd24dc7aa1246baf5c18b0596b2163d89e991fa53707ce426295aab38c9bf4a + languageName: node + linkType: hard + +"@react-spectrum/tag@npm:^3.2.6": + version: 3.2.6 + resolution: "@react-spectrum/tag@npm:3.2.6" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/selection": ^3.18.1 + "@react-aria/tag": ^3.4.1 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/button": ^3.16.4 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/text": ^3.5.5 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/collections": ^3.10.7 + "@react-stately/list": ^3.10.5 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: edca8657168cc4219df9d10c18ef3ff928318c5b9cd2332f6155eee49f3c06cdfac89ebb0097d79cc0d78051b4c3745696df3e5130e71ee3945d36623f5ebab4 + languageName: node + linkType: hard + +"@react-spectrum/text@npm:^3.5.5": + version: 3.5.5 + resolution: "@react-spectrum/text@npm:3.5.5" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@react-types/text": ^3.3.9 + "@swc/helpers": ^0.5.0 + react-aria-components: ^1.2.1 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1878b1f9807ff565f64e268fb9450e69ca4ac20613853890df649784fbd21d9773482047a2fa94ebafac00ca49d0f81a119128b0a1fa745b775dee43d4cb2c61 + languageName: node + linkType: hard + +"@react-spectrum/textfield@npm:^3.12.1": + version: 3.12.1 + resolution: "@react-spectrum/textfield@npm:3.12.1" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/textfield": ^3.14.5 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/form": ^3.7.6 + "@react-spectrum/label": ^3.16.6 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@react-types/textfield": ^3.9.3 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e152f32ead141e1bf3f4e02781bc73825d72a8382f1821abbd484f310dc35872219447e7bb529e5ce5659bded00a8f53b7843baec7f031af359dd0f532a7a320 + languageName: node + linkType: hard + +"@react-spectrum/theme-dark@npm:^3.5.10": + version: 3.5.10 + resolution: "@react-spectrum/theme-dark@npm:3.5.10" + dependencies: + "@react-types/provider": ^3.8.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 88bb544fc79d167db8445c53d392a221cf1934d6846d15beb15eb67b4315c0556c13219c18211d3ad8ee493b6fe3ef6ace302f0b69c2a5f090d051c95826f928 + languageName: node + linkType: hard + +"@react-spectrum/theme-default@npm:^3.5.10": + version: 3.5.10 + resolution: "@react-spectrum/theme-default@npm:3.5.10" + dependencies: + "@react-types/provider": ^3.8.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 67eb6000515627c4a9b35ffd64835091a45f723ac9dc2b0ee88a0883be178653f5a480ba1a4b79a006328adf73ee110b2baa06d76cdfb866cbaa9e127d056ba3 + languageName: node + linkType: hard + +"@react-spectrum/theme-light@npm:^3.4.10": + version: 3.4.10 + resolution: "@react-spectrum/theme-light@npm:3.4.10" + dependencies: + "@react-types/provider": ^3.8.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 593bd355e64b4a7429d59dce1a15bf52f2923eb355d95ecbaa95b583be19964ea47fe9057fd3b53e51608235487efcbd82b70d4544264994b7fb66e759742c4a + languageName: node + linkType: hard + +"@react-spectrum/tooltip@npm:^3.6.7": + version: 3.6.7 + resolution: "@react-spectrum/tooltip@npm:3.6.7" + dependencies: + "@react-aria/focus": ^3.17.1 + "@react-aria/overlays": ^3.22.1 + "@react-aria/tooltip": ^3.7.4 + "@react-aria/utils": ^3.24.1 + "@react-spectrum/overlays": ^5.6.1 + "@react-spectrum/utils": ^3.11.7 + "@react-stately/tooltip": ^3.4.9 + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + "@react-types/tooltip": ^3.4.9 + "@spectrum-icons/ui": ^3.6.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: bc2b0b1783c1b0bec9e0a01339f8a33559a503ee98f915e8b7d02119a58e5f6ca856e52759a1bd4730471c171277dd75465d525127c8487389b1ca430270851b + languageName: node + linkType: hard + +"@react-spectrum/utils@npm:^3.11.7": + version: 3.11.7 + resolution: "@react-spectrum/utils@npm:3.11.7" + dependencies: + "@react-aria/i18n": ^3.11.1 + "@react-aria/ssr": ^3.9.4 + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + clsx: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 74998214d8babdd48f21e207a65f03a4c743dc75ac3ef301b8ebfde17cb87acbcf8b066f5182a2444385ba65cd5de38a233c39e289a355ef90bf2f77d1ec1bba + languageName: node + linkType: hard + +"@react-spectrum/view@npm:^3.6.10": + version: 3.6.10 + resolution: "@react-spectrum/view@npm:3.6.10" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@react-types/view": ^3.4.9 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8662d00cec8cb35d9a620d6656df07dc5d4940ef6a87c96a5dde2077538f102ad946ce1acdcfd7658fc28d18945000a6c89eb9364e003e3d8447b25c9b05d110 + languageName: node + linkType: hard + +"@react-spectrum/well@npm:^3.4.13": + version: 3.4.13 + resolution: "@react-spectrum/well@npm:3.4.13" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-spectrum/utils": ^3.11.7 + "@react-types/shared": ^3.23.1 + "@react-types/well": ^3.3.9 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: ccec539514540c2dcd684f9ef3e9119dcc04d0aa37bf016ffda4894cae17f4dc2fe1015d0648203fb24baa4a3187b869b4df5346edb7f942b7345e13b9a1ad20 + languageName: node + linkType: hard + +"@react-stately/calendar@npm:^3.5.1": + version: 3.5.1 + resolution: "@react-stately/calendar@npm:3.5.1" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-stately/utils": ^3.10.1 + "@react-types/calendar": ^3.4.6 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: cc89fd2cff80977c71e67ac035b39cc6521f2be1474f21485e9a3919be18b7780f8a3d495cac1f3f50aa5fb2560874a5048ba9749e90f184e113f7e9e215b6ee + languageName: node + linkType: hard + +"@react-stately/checkbox@npm:^3.6.5": + version: 3.6.5 + resolution: "@react-stately/checkbox@npm:3.6.5" + dependencies: + "@react-stately/form": ^3.0.3 + "@react-stately/utils": ^3.10.1 + "@react-types/checkbox": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 8181533763370159f2b2d8f8902b9afe0ffbbcbd39dd89208282b9d2d17acff4cac962df1fc0796a5f282d6dff805e3204e31fd9436268a3eea9da4821f90279 + languageName: node + linkType: hard + +"@react-stately/collections@npm:^3.10.7": + version: 3.10.7 + resolution: "@react-stately/collections@npm:3.10.7" + dependencies: + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 9540f1282c860cb8803c30f556667f8dfb76fcc30a2d033d6d2c2a9db174b10d7d6eb467badd6d70513161c3e7cf2eb9af30c01fa734acc5826607db8c47de13 + languageName: node + linkType: hard + +"@react-stately/color@npm:^3.6.1": + version: 3.6.1 + resolution: "@react-stately/color@npm:3.6.1" + dependencies: + "@internationalized/number": ^3.5.3 + "@internationalized/string": ^3.2.3 + "@react-aria/i18n": ^3.11.1 + "@react-stately/form": ^3.0.3 + "@react-stately/numberfield": ^3.9.3 + "@react-stately/slider": ^3.5.4 + "@react-stately/utils": ^3.10.1 + "@react-types/color": 3.0.0-beta.25 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: a972e5e0457003bf28b89f8c8500da11bf090316c5f06d531eef51e116f1ab4a35785b173579d6edf27fd4ac09db6396ce67a71713b90d26954a233638e4ca41 + languageName: node + linkType: hard + +"@react-stately/combobox@npm:^3.8.4": + version: 3.8.4 + resolution: "@react-stately/combobox@npm:3.8.4" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/form": ^3.0.3 + "@react-stately/list": ^3.10.5 + "@react-stately/overlays": ^3.6.7 + "@react-stately/select": ^3.6.4 + "@react-stately/utils": ^3.10.1 + "@react-types/combobox": ^3.11.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: c39deb7ba129655624bc8a25ce18281f81e85334c154fb465b0c6b17a61376779dc0bbe427b38e998fb6ca360aedb89cc1b759fa0da695f2bd8ba7bcef8fdf38 + languageName: node + linkType: hard + +"@react-stately/data@npm:^3.11.4": + version: 3.11.4 + resolution: "@react-stately/data@npm:3.11.4" + dependencies: + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: eb4235c6d3876f5f4d0eedec7da9f0e1242cd27ef1a04288f430047d6201caff7ad1fdbbfb275d39bc5bd0b88766c75dc23feb84676495a23e90c6be7ec6db75 + languageName: node + linkType: hard + +"@react-stately/datepicker@npm:^3.9.4": + version: 3.9.4 + resolution: "@react-stately/datepicker@npm:3.9.4" + dependencies: + "@internationalized/date": ^3.5.4 + "@internationalized/string": ^3.2.3 + "@react-stately/form": ^3.0.3 + "@react-stately/overlays": ^3.6.7 + "@react-stately/utils": ^3.10.1 + "@react-types/datepicker": ^3.7.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7faaadd551e8be87d45a5114bd510d3232c96e6303380c168b5cb542964a4e228ba8e056c19d9189750375874e6e5c422a4ef8f7f133e0937f5279a76bc3400b + languageName: node + linkType: hard + +"@react-stately/dnd@npm:^3.3.1": + version: 3.3.1 + resolution: "@react-stately/dnd@npm:3.3.1" + dependencies: + "@react-stately/selection": ^3.15.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 029d063409d1f7fb8e43f4548d9a0b007d8791b1a988e4abfe9f9464f885bc0d22757115192c19013b6cc79cfbc516b1b32856f68655bee45090f213b98505fe + languageName: node + linkType: hard + +"@react-stately/flags@npm:^3.0.3": + version: 3.0.3 + resolution: "@react-stately/flags@npm:3.0.3" + dependencies: + "@swc/helpers": ^0.5.0 + checksum: 8b88ccde3224efdafc947c9ee416fa45d0cf71f3d992790a6c0ba8227ca668e6d53e63fb3b2c2a3bcc80be92595c38b2473ba5b42bd81099ba24ebcf23635e8e + languageName: node + linkType: hard + +"@react-stately/form@npm:^3.0.3": + version: 3.0.3 + resolution: "@react-stately/form@npm:3.0.3" + dependencies: + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 667a34eb0d8edb66ebb93df00c70283954cd12568f0d017f7d40a5005cb7ab840a82b7e66d8edde1f26b268ccb674e26fbb102cbbd05deca7c21d924bc77eb96 + languageName: node + linkType: hard + +"@react-stately/grid@npm:^3.8.7": + version: 3.8.7 + resolution: "@react-stately/grid@npm:3.8.7" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/selection": ^3.15.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2d63aa8837f7aafb1f59cf83efa5cc74e4fdd14cc87eaef048a96612034492ad7b311c2ca5c826d1ea3172dee0aed70d2e0c3ab5bff2b9e422331cfc8e129668 + languageName: node + linkType: hard + +"@react-stately/layout@npm:^3.13.9": + version: 3.13.9 + resolution: "@react-stately/layout@npm:3.13.9" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/table": ^3.11.8 + "@react-stately/virtualizer": ^3.7.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@react-types/table": ^3.9.5 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 08f23b82057a3f6307408cc719a2b193b3063b9e09ebde76c1e5ea341faf9d15f52205aad956532b0a8b9348a2c95a6fea381f3a82da4ee4b336db44bebb2162 + languageName: node + linkType: hard + +"@react-stately/list@npm:^3.10.5": + version: 3.10.5 + resolution: "@react-stately/list@npm:3.10.5" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/selection": ^3.15.1 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e4dda7edf6f3a6c1fb4c39f4df933498ba11de41be75c579fe989b9a038828235b00e35b02b4571f06eb1a1045d5c945ecaac1f04bf44f854f9ec5fa48932a6f + languageName: node + linkType: hard + +"@react-stately/menu@npm:^3.7.1": + version: 3.7.1 + resolution: "@react-stately/menu@npm:3.7.1" + dependencies: + "@react-stately/overlays": ^3.6.7 + "@react-types/menu": ^3.9.9 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 24d5f6746ed45564003d9f68951a7079693ea1bcdeb62ccccd97fd052ba1afa129e32c9bca0020983b10bb4f96f9c5d3186fb98cced40dc346a6b12f3839dde6 + languageName: node + linkType: hard + +"@react-stately/numberfield@npm:^3.9.3": + version: 3.9.3 + resolution: "@react-stately/numberfield@npm:3.9.3" + dependencies: + "@internationalized/number": ^3.5.3 + "@react-stately/form": ^3.0.3 + "@react-stately/utils": ^3.10.1 + "@react-types/numberfield": ^3.8.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 84b043a60fb6010656797f072fa20208dcb51847ccee803ea6a317de7db3af07faaea05fccebb5b0cda533b7af7d62eb40ea565f0578ef21871735d9c18d7805 + languageName: node + linkType: hard + +"@react-stately/overlays@npm:^3.6.7": + version: 3.6.7 + resolution: "@react-stately/overlays@npm:3.6.7" + dependencies: + "@react-stately/utils": ^3.10.1 + "@react-types/overlays": ^3.8.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 37b309931e26354eb11ff97ed634dc66d93181b72a07843295a4cc2cb756611599fea46fb65d7a1e26292a1fdda5ed4d74835c812349160771619af4d999b551 + languageName: node + linkType: hard + +"@react-stately/radio@npm:^3.10.4": + version: 3.10.4 + resolution: "@react-stately/radio@npm:3.10.4" + dependencies: + "@react-stately/form": ^3.0.3 + "@react-stately/utils": ^3.10.1 + "@react-types/radio": ^3.8.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 73283d79a4d35351361b19438bd8ba59f3afa5fac3a4ebac4ff00c42ce38bea61f05ff5e161107dbaec6dd270e530430b1462c97e4a987b4b6eabfb289331bc5 + languageName: node + linkType: hard + +"@react-stately/searchfield@npm:^3.5.3": + version: 3.5.3 + resolution: "@react-stately/searchfield@npm:3.5.3" + dependencies: + "@react-stately/utils": ^3.10.1 + "@react-types/searchfield": ^3.5.5 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 231d471c94896f0d28780855ae025f924c4128e900f6ce44565808101a556398047ce357145bb9137fa4e233e0e73d3f9686fde94b3386ce5b7eac7b8ec69b46 + languageName: node + linkType: hard + +"@react-stately/select@npm:^3.6.4": + version: 3.6.4 + resolution: "@react-stately/select@npm:3.6.4" + dependencies: + "@react-stately/form": ^3.0.3 + "@react-stately/list": ^3.10.5 + "@react-stately/overlays": ^3.6.7 + "@react-types/select": ^3.9.4 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: cde5683a759b00411a7c7eb9bfe5133ee8f9c90b247bd280678e729a8a7783e866962d709708ea672813584fbeaaf9423263ae60d4e2ca1e6474b0ea6811d1e0 + languageName: node + linkType: hard + +"@react-stately/selection@npm:^3.15.1": + version: 3.15.1 + resolution: "@react-stately/selection@npm:3.15.1" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: ed9f673604670110c2875b8b1637865529904fe532e959d7a572e20626c596a20e6f49bb0a93d9ed2abe2cc30ab467cef8357c622fc29217785b9a558e75585c + languageName: node + linkType: hard + +"@react-stately/slider@npm:^3.5.4": + version: 3.5.4 + resolution: "@react-stately/slider@npm:3.5.4" + dependencies: + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@react-types/slider": ^3.7.3 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1ca62b352902349773df23f39b6782d4497987c9c21ac7065d0ef4c94814414ffc4ee62f097333f8a9ed3de4f6d6899aa7b81556b60be63f2865cabc24209d66 + languageName: node + linkType: hard + +"@react-stately/table@npm:^3.11.8": + version: 3.11.8 + resolution: "@react-stately/table@npm:3.11.8" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/flags": ^3.0.3 + "@react-stately/grid": ^3.8.7 + "@react-stately/selection": ^3.15.1 + "@react-stately/utils": ^3.10.1 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@react-types/table": ^3.9.5 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 751d212e19a17f01e1244df63b41e4ab4db56baf7eb73632f89adc21698f7ef2563bd331d34f12154630e8fe583064f89100a2cd4181bb525cafcf16b69f7b80 + languageName: node + linkType: hard + +"@react-stately/tabs@npm:^3.6.6": + version: 3.6.6 + resolution: "@react-stately/tabs@npm:3.6.6" + dependencies: + "@react-stately/list": ^3.10.5 + "@react-types/shared": ^3.23.1 + "@react-types/tabs": ^3.3.7 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: d4e842c46be72114ff7c997f435741f93c52a784354354d7b7df4d031b463eabf5c63625a3dee02eec3d7078f2302c4b3403018b15385bb813301ce63c3454f9 + languageName: node + linkType: hard + +"@react-stately/toggle@npm:^3.7.4": + version: 3.7.4 + resolution: "@react-stately/toggle@npm:3.7.4" + dependencies: + "@react-stately/utils": ^3.10.1 + "@react-types/checkbox": ^3.8.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2c75b712ab87577ad8de6a981bddebfd364c11e692f0584e6d0c5970c0f87c42a7737372b303eeadd043d4f7013984aed029cf221ec1ac20939409ca4ace5541 + languageName: node + linkType: hard + +"@react-stately/tooltip@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-stately/tooltip@npm:3.4.9" + dependencies: + "@react-stately/overlays": ^3.6.7 + "@react-types/tooltip": ^3.4.9 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 24eaaafaec308d3f11800d4868800652bb162e6c7d1e15f97896e18743218a9e222b908e9985c366a84baffd93fe31fa5349f3b0c2f685dd6a12c77e1c45685f + languageName: node + linkType: hard + +"@react-stately/tree@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-stately/tree@npm:3.8.1" + dependencies: + "@react-stately/collections": ^3.10.7 + "@react-stately/selection": ^3.15.1 + "@react-stately/utils": ^3.10.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: f6cec7c6422636c819b2ecdb4c53d1ad428698b41bad88d8c4e1d9cdbe0fa6696812cb77449396710987fb3ed14069a8de5c056ac2259f6fb82e443a003e6aa8 + languageName: node + linkType: hard + +"@react-stately/utils@npm:^3.10.1": + version: 3.10.1 + resolution: "@react-stately/utils@npm:3.10.1" + dependencies: + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: b5252fcab7a6c5fe413030613a5891e2893070b6d65e318b3233e5d96af7f122045329a9b3754f47ceab5a652d51e2fb95e256a7060e595638f2b045741f2258 + languageName: node + linkType: hard + +"@react-stately/virtualizer@npm:^3.7.1": + version: 3.7.1 + resolution: "@react-stately/virtualizer@npm:3.7.1" + dependencies: + "@react-aria/utils": ^3.24.1 + "@react-types/shared": ^3.23.1 + "@swc/helpers": ^0.5.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 6510c43e90478b017d990648472ec9329a78399683cb9ec8d3c84f73b293a373eaf501bee77655dfab59cab96a7bf91b4ec7f6906d57da14ad5839f37cb1a6da + languageName: node + linkType: hard + +"@react-types/actionbar@npm:^3.1.7": + version: 3.1.7 + resolution: "@react-types/actionbar@npm:3.1.7" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4bc6abb3f6e1c9148d1e2b707cea1457e8d439c977e550efd67d17ec8de76adcabffe1e9cf2767ddb5cf355e5666352d157e3266680f583fc9a9a16d023596b5 + languageName: node + linkType: hard + +"@react-types/actiongroup@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-types/actiongroup@npm:3.4.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 6400eab6a6c6ca11b9f15e8c63203b8422ddb44a769ea72c6c390b58196da2fd8f98f6dedd19f32be2ff6e778d13b47ac372eca2ca68fde02ef4d919c7edadd6 + languageName: node + linkType: hard + +"@react-types/avatar@npm:^3.0.7": + version: 3.0.7 + resolution: "@react-types/avatar@npm:3.0.7" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 9bb47620bad752f130a5e6ae26a4e23a4bc82a8f838d6510cf445d504cadf605babd1db3c4dcc194441eddbfa4af43e960d4d33dcc074e3bdb14e8187f33e499 + languageName: node + linkType: hard + +"@react-types/badge@npm:^3.1.9": + version: 3.1.9 + resolution: "@react-types/badge@npm:3.1.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: ba173cb4d47b13aa1b8aad36f4f03a5071941376a5fb0371399500daefd4d235891e67a8ceefafc933d58a9226cf5ee5ad8877732bdea5d0f3bda56968767a6c + languageName: node + linkType: hard + +"@react-types/breadcrumbs@npm:^3.7.5": + version: 3.7.5 + resolution: "@react-types/breadcrumbs@npm:3.7.5" + dependencies: + "@react-types/link": ^3.5.5 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5765e877aff02ecacbfe7516b29fef506569002fb1e48a00ad9e6706eb79921fc162e3cf73197338e5389507d62e731776923bfac8b98886e3eec7806b1f8157 + languageName: node + linkType: hard + +"@react-types/button@npm:^3.9.4": + version: 3.9.4 + resolution: "@react-types/button@npm:3.9.4" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2c16247709be5d7acdc631439ff3647dc7ce20c037bdc8b3aee2662c17d177cc9d6060898672f08b48d05ea118d86c41df5588a8088053ae30ec38f3055851d8 + languageName: node + linkType: hard + +"@react-types/buttongroup@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/buttongroup@npm:3.3.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 498e5777b620ce6ce49c939ebf23d1653dd3c02b57cdf5b0c3b7deae346d8badd5310aaa9924bf580839c21ff9cab23ad2146c8a5ed5ce957f8c8ef4764caa2d + languageName: node + linkType: hard + +"@react-types/calendar@npm:^3.4.6": + version: 3.4.6 + resolution: "@react-types/calendar@npm:3.4.6" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 2755ac9af08e79c23c18094ccd62f63e71537cad85e24ddaffda5b66f0392f3e427e5bbbbc4005c54198ede5f6a3febaf5e8056b19cf35bb8e3fe39c0cb6ffcb + languageName: node + linkType: hard + +"@react-types/checkbox@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-types/checkbox@npm:3.8.1" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 3d87a8363e794e2586f3569f376d489e9a11e288cc3c56bd610b61141691154a7b54243bc8cd5eec0ac0450ccf3e9d66fd5e610f50436ec014ec5417ff64ea2e + languageName: node + linkType: hard + +"@react-types/color@npm:3.0.0-beta.25": + version: 3.0.0-beta.25 + resolution: "@react-types/color@npm:3.0.0-beta.25" + dependencies: + "@react-types/shared": ^3.23.1 + "@react-types/slider": ^3.7.3 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: db51b4fc6d5ce47043e150a259591fdc79916f54884bd0c11c76bebf7774f83dde01d3daa6b522a51621eea2f6442668f2d5f5e7bbc4fb3fcadbee104ad21482 + languageName: node + linkType: hard + +"@react-types/combobox@npm:^3.11.1": + version: 3.11.1 + resolution: "@react-types/combobox@npm:3.11.1" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 6bbaa9f412cd2a84ff9085c9d5d4fc5a9fefc51ec9ae66ded6d1f439ca8834c0587a2b45bb6c27bd28a0ad9b7d88c2757c66d74e0e9bbd92c4d59ec116819483 + languageName: node + linkType: hard + +"@react-types/contextualhelp@npm:^3.2.10": + version: 3.2.10 + resolution: "@react-types/contextualhelp@npm:3.2.10" + dependencies: + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 91c2d342f8fe7ad6513227a160477789fcbbef9baec77fd13c5e572066f7c4522f426fdf631107ecd25238c82f37b7774a49a15d80c32d156b6939d3219fc96a + languageName: node + linkType: hard + +"@react-types/datepicker@npm:^3.7.4": + version: 3.7.4 + resolution: "@react-types/datepicker@npm:3.7.4" + dependencies: + "@internationalized/date": ^3.5.4 + "@react-types/calendar": ^3.4.6 + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 80b03e8e02e41d4d9030df426c7678e4f8d66aab28bbf4330d723f48f78fc5a58859ccb7fa3e6f9777537fbddca80029f3f26c56c95fbb85eda341a685f84a0b + languageName: node + linkType: hard + +"@react-types/dialog@npm:^3.5.10": + version: 3.5.10 + resolution: "@react-types/dialog@npm:3.5.10" + dependencies: + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7d411fc66c97b51840a7c395034308efc78061715131660b7ff9a4a69c7316d3645d8c5497b6518c94abd7f779389968129b8325b0cab6e77374ff70d94a70a3 + languageName: node + linkType: hard + +"@react-types/divider@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/divider@npm:3.3.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4677a7eee6d93c1614bedc164817e106e7e836e20a8375329ed18217b3844f9dde8acc5f84c1bf2fccf4d196e2843695a4f9e91eb9b67a27e5a54b7df943829f + languageName: node + linkType: hard + +"@react-types/form@npm:^3.7.4": + version: 3.7.4 + resolution: "@react-types/form@npm:3.7.4" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: d39e370df895aed7ed59474ab6f072624b0240ff102f6d8eb7463fd21cbe98d61ea4f74dafbb6bb481a394c7fe35f0e3b2024c41eabed223c70ac96a869ee19c + languageName: node + linkType: hard + +"@react-types/grid@npm:^3.2.6": + version: 3.2.6 + resolution: "@react-types/grid@npm:3.2.6" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1d25a5727a8ed47c3f1c19fb0442ca8690605eeb62be9efc45c53b924cc2c8ec4290688f7b3e9f2abb8c828d22f8d5de9598ff48dd7d555dbf05bb92363958af + languageName: node + linkType: hard + +"@react-types/illustratedmessage@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/illustratedmessage@npm:3.3.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1a8b63c18367ef9c2599a1d9daf562a3951c8110a732c5211b363634da35a2c265cb538af204bf6e74b879d12778ae4bef1e5d7b7c60e002a63d37806899c80d + languageName: node + linkType: hard + +"@react-types/image@npm:^3.4.1": + version: 3.4.1 + resolution: "@react-types/image@npm:3.4.1" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e4b8cae92cbbe7d2aac2778c0af6228c999475ab61256a7514ab224dac13795431b938b5df7fd30b3edbfffdc4d73ca11b8e64cd46b88706c74f418ca736a864 + languageName: node + linkType: hard + +"@react-types/label@npm:^3.9.3": + version: 3.9.3 + resolution: "@react-types/label@npm:3.9.3" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 03ffb11826660e4a3c54381421763e28be040afea703294181d0a6a30148f7bb141d29f0f208e1c82e77ab477adf006b7410fca0aeb091b0e7882e550cfa2794 + languageName: node + linkType: hard + +"@react-types/layout@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/layout@npm:3.3.15" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 50b8cb6d70ff52cf934d6432db20f127228e6dd03218db60c831b69aac7f68a2e68ca15352a56e8dd468fc79134abb46571aa8f8bcb5f3f3e779c408dd193e79 + languageName: node + linkType: hard + +"@react-types/link@npm:^3.5.5": + version: 3.5.5 + resolution: "@react-types/link@npm:3.5.5" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 7b1dbb528650ead2f3501741f97789f7a335b6e1b4dd8fe767c8aad6471061dfe25e6b1da63dec353779497c5dfcbb735f65c3dd54a049536fafdd414f1e764c + languageName: node + linkType: hard + +"@react-types/listbox@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-types/listbox@npm:3.4.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 125f2b7b9b5f0caa24abcbd4892ec73a6984c29f17572bbac194a6e45430580f84efa16764fe56ec30022b9fd241c57a74d03f168d556f12690c5dd9fd72f5d6 + languageName: node + linkType: hard + +"@react-types/menu@npm:^3.9.9": + version: 3.9.9 + resolution: "@react-types/menu@npm:3.9.9" + dependencies: + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 67765462a185c779794470d166a74321cc7a1f40c4a8c5c5fd48693acb8c2f937d2564b9cd578e5dea62061b47964eb4444c06edc4a19e57cc9e226ce48acf24 + languageName: node + linkType: hard + +"@react-types/meter@npm:^3.4.1": + version: 3.4.1 + resolution: "@react-types/meter@npm:3.4.1" + dependencies: + "@react-types/progress": ^3.5.4 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0367b0027a38a2985226539bb58e72c53c15514a48fdd0dda106a99a18604b4ed8ce4c40ce12601f968bde617f0e800ecb60868bdb4c06cb145f6939db087e90 + languageName: node + linkType: hard + +"@react-types/numberfield@npm:^3.8.3": + version: 3.8.3 + resolution: "@react-types/numberfield@npm:3.8.3" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: dc0d723391be06d51e08ece2b0e4cafc007db097cc1888992a9ba1fffcffac93ddc99716504b958cf430e681e174b889038a7c02682711b3d09194ec0bf56d45 languageName: node linkType: hard -"@parcel/watcher-linux-arm-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" - conditions: os=linux & cpu=arm & libc=glibc +"@react-types/overlays@npm:^3.8.7": + version: 3.8.7 + resolution: "@react-types/overlays@npm:3.8.7" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: f02fea4749c25fa349dddf6c2e7b13796087dbde8621b9de32b874d3646668d00e9d289c2da54458345ade2a3fe46b850445681b05659c587f73fc998af23a2a languageName: node linkType: hard -"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" - conditions: os=linux & cpu=arm64 & libc=glibc +"@react-types/progress@npm:^3.5.4": + version: 3.5.4 + resolution: "@react-types/progress@npm:3.5.4" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 59b9b2d18d0753e0d76b16b97bb357c6114eade40de7bfa762fe1d946361a6b31dafa0393283895ff48f0790ef1f0d4d57a0766cc0671d6a8436ef3941878dd9 languageName: node linkType: hard -"@parcel/watcher-linux-arm64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" - conditions: os=linux & cpu=arm64 & libc=musl +"@react-types/provider@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-types/provider@npm:3.8.1" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 62a1854ad5fc6762d71db7bf86cfd9a15fe848797db957322926df6db5513f7ef7ae74ad2aea892a678740b90fff82233cfd9e153be9c93f2315e2188cd8aa5b languageName: node linkType: hard -"@parcel/watcher-linux-x64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" - conditions: os=linux & cpu=x64 & libc=glibc +"@react-types/radio@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-types/radio@npm:3.8.1" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: acdb76043990a1965ff6f85d5a5420f1493496e69131dc07ebc75b11476a77ab16814368cca902a39f212609b57ea417002ea8a7f621c9cb470499effcf83f38 languageName: node linkType: hard -"@parcel/watcher-linux-x64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" - conditions: os=linux & cpu=x64 & libc=musl +"@react-types/searchfield@npm:^3.5.5": + version: 3.5.5 + resolution: "@react-types/searchfield@npm:3.5.5" + dependencies: + "@react-types/shared": ^3.23.1 + "@react-types/textfield": ^3.9.3 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 6c69522bbf20537796cac51e28261caf31d1b1b007e5767abf3b54d98e4bd9207b3d37ea6989717289ce336e08d7e3ec051ef03ff1a38d9e92d69f54f6dcb06e languageName: node linkType: hard -"@parcel/watcher-win32-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" - conditions: os=win32 & cpu=arm64 +"@react-types/select@npm:^3.9.4": + version: 3.9.4 + resolution: "@react-types/select@npm:3.9.4" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: eb6b314ef42fcb17e7ad08f340df0db2fdec5ae3de9e90451aa6b448f5e6995abca575f3f866928712f63f6c9e6f2aff1e389fd1eede676b7b51214d073f34ad languageName: node linkType: hard -"@parcel/watcher-win32-ia32@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" - conditions: os=win32 & cpu=ia32 +"@react-types/shared@npm:^3.23.1": + version: 3.23.1 + resolution: "@react-types/shared@npm:3.23.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: a180d8b34b1ccf98f9d50bbbb0451090444aa576e1fecc46a769b24cf827658e1a77e5affb17407cfac25897ba461fb4234a160e5c8efa484880fcb4f230c2fe languageName: node linkType: hard -"@parcel/watcher-win32-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-x64@npm:2.4.1" - conditions: os=win32 & cpu=x64 +"@react-types/slider@npm:^3.7.3": + version: 3.7.3 + resolution: "@react-types/slider@npm:3.7.3" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 9a73900e37aa49f16233d2cb6bf5e37d002a68ded097010d5c9d75fd2aba5074ed5de547dd267f27ec33599c46d523176e218fbee7540b2f687b20710be0840f languageName: node linkType: hard -"@parcel/watcher@npm:^2.0.0": - version: 2.4.1 - resolution: "@parcel/watcher@npm:2.4.1" +"@react-types/statuslight@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/statuslight@npm:3.3.9" dependencies: - "@parcel/watcher-android-arm64": 2.4.1 - "@parcel/watcher-darwin-arm64": 2.4.1 - "@parcel/watcher-darwin-x64": 2.4.1 - "@parcel/watcher-freebsd-x64": 2.4.1 - "@parcel/watcher-linux-arm-glibc": 2.4.1 - "@parcel/watcher-linux-arm64-glibc": 2.4.1 - "@parcel/watcher-linux-arm64-musl": 2.4.1 - "@parcel/watcher-linux-x64-glibc": 2.4.1 - "@parcel/watcher-linux-x64-musl": 2.4.1 - "@parcel/watcher-win32-arm64": 2.4.1 - "@parcel/watcher-win32-ia32": 2.4.1 - "@parcel/watcher-win32-x64": 2.4.1 - detect-libc: ^1.0.3 - is-glob: ^4.0.3 - micromatch: ^4.0.5 - node-addon-api: ^7.0.0 - node-gyp: latest - dependenciesMeta: - "@parcel/watcher-android-arm64": - optional: true - "@parcel/watcher-darwin-arm64": - optional: true - "@parcel/watcher-darwin-x64": - optional: true - "@parcel/watcher-freebsd-x64": - optional: true - "@parcel/watcher-linux-arm-glibc": - optional: true - "@parcel/watcher-linux-arm64-glibc": - optional: true - "@parcel/watcher-linux-arm64-musl": - optional: true - "@parcel/watcher-linux-x64-glibc": - optional: true - "@parcel/watcher-linux-x64-musl": - optional: true - "@parcel/watcher-win32-arm64": - optional: true - "@parcel/watcher-win32-ia32": - optional: true - "@parcel/watcher-win32-x64": - optional: true - checksum: 4da70551da27e565c726b0bbd5ba5afcb2bca36dfd8619a649f0eaa41f693ddd1d630c36e53bc083895d71a3e28bc4199013e557cd13c7af6ccccab28ceecbff + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 49a0fdc5503e994c19574bdcefd6704146d5fa9f2844ee4cf48c3f461b58520644a215aa7eaa938a65623e8fce31b1ce1a0e8a73b2bb2894d0c4a2f378fecc1d languageName: node linkType: hard -"@parcel/workers@npm:2.6.2": - version: 2.6.2 - resolution: "@parcel/workers@npm:2.6.2" +"@react-types/switch@npm:^3.5.3": + version: 3.5.3 + resolution: "@react-types/switch@npm:3.5.3" dependencies: - "@parcel/diagnostic": 2.6.2 - "@parcel/logger": 2.6.2 - "@parcel/types": 2.6.2 - "@parcel/utils": 2.6.2 - chrome-trace-event: ^1.0.2 - nullthrows: ^1.1.1 + "@react-types/shared": ^3.23.1 peerDependencies: - "@parcel/core": ^2.6.2 - checksum: 92b65cd3fde225dcd377f1f529caeb0d8ee56a9aeef3785716b1ad210132e5dc1b6bd9b7c4c6920094e0030c6aad9cc42d5dbf7b4fb0fb4668eedfd332e0b242 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 100bcf35bcd201510853cf5230264b5147972c9941e4ada52ec228d6565d28399860a26499178f330d89caba191088f675ce8df0631d1a28e74a36d4e6bbd97b languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 6ad6a00fc4f2f2cfc6bff76fb1d88b8ee20bc0601e18ebb01b6d4be583733a860239a521a7fbca73b612e66705078809483549d2b18f370eb346c5155c8e4a0f +"@react-types/table@npm:^3.9.5": + version: 3.9.5 + resolution: "@react-types/table@npm:3.9.5" + dependencies: + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 4de0f2e9c7c6fecebfb805602e36553c657edd2f5812dcbe335dbabce2de1c051385b62905845e3eec2d5d319b448c5e84a9c7d95d3cdb294a947defad7bd364 languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.7": - version: 0.5.11 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.11" +"@react-types/tabs@npm:^3.3.7": + version: 3.3.7 + resolution: "@react-types/tabs@npm:3.3.7" dependencies: - ansi-html-community: ^0.0.8 - common-path-prefix: ^3.0.0 - core-js-pure: ^3.23.3 - error-stack-parser: ^2.0.6 - find-up: ^5.0.0 - html-entities: ^2.1.0 - loader-utils: ^2.0.4 - schema-utils: ^3.0.0 - source-map: ^0.7.3 + "@react-types/shared": ^3.23.1 peerDependencies: - "@types/webpack": 4.x || 5.x - react-refresh: ">=0.10.0 <1.0.0" - sockjs-client: ^1.4.0 - type-fest: ">=0.17.0 <5.0.0" - webpack: ">=4.43.0 <6.0.0" - webpack-dev-server: 3.x || 4.x - webpack-hot-middleware: 2.x - webpack-plugin-serve: 0.x || 1.x - peerDependenciesMeta: - "@types/webpack": - optional: true - sockjs-client: - optional: true - type-fest: - optional: true - webpack-dev-server: - optional: true - webpack-hot-middleware: - optional: true - webpack-plugin-serve: - optional: true - checksum: a82eced9519f4dcac424acae719f819ab4150bfcf2874ac7daaf25a4f1c409e3d8b9d693fea0c686c24d520a5473756df32da90d8b89739670f8f8084c600bb4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 1b7ffa7037719970da40ce4160dcbd41d2bd704b1484e2604d6e4f05afd4a5138d8f8d2cb0538bc6c69ad03b01126382d5e661be1920221902a9aada8db13aad languageName: node linkType: hard -"@prefresh/babel-plugin@npm:^0.4.3": - version: 0.4.4 - resolution: "@prefresh/babel-plugin@npm:0.4.4" - checksum: 1cd7e9b27936fd8947ecd7e4da70abd05935f44840af3d054ad87638d38ea61f304c45ff7610a4d56bde72e260ddee869cc45806738738edebe7d5a0fe96059a +"@react-types/text@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/text@npm:3.3.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 97a4c0c580879b3970baa9261ad6cc46d0687a6187a9505d82284b997155c18c206e94910bf0f8081769f1384b9c33420e93a67b47afec4d2d41264b7168c2bb languageName: node linkType: hard -"@prefresh/core@npm:^1.3.3": - version: 1.5.2 - resolution: "@prefresh/core@npm:1.5.2" +"@react-types/textfield@npm:^3.9.3": + version: 3.9.3 + resolution: "@react-types/textfield@npm:3.9.3" + dependencies: + "@react-types/shared": ^3.23.1 peerDependencies: - preact: ^10.0.0 - checksum: f8959d005990d295ed73d15775c1900fb503f238993304dad3cb5a931fc5b0539eb62776efa01eb7e0c712ee032cb85a913cd13c45c069923c7b20dbd270e378 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: c6c505f535319fdcba620fb46cdfce7fdd5e9905c993bda2179bfbca1da9fcc034290674f8b84e008a8dee42e17df65c658b27b66def8978c0b17e9ac75c7db1 languageName: node linkType: hard -"@prefresh/utils@npm:^1.1.2": - version: 1.2.0 - resolution: "@prefresh/utils@npm:1.2.0" - checksum: 003bb710a6d5ca5e4886a29eb7245332d4f605a90de4eb7b77df35884a842c29143f827f6aa088e69cc2ea07f70d89148d4a730f56549640425177e24d14a60e +"@react-types/tooltip@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-types/tooltip@npm:3.4.9" + dependencies: + "@react-types/overlays": ^3.8.7 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: d3f917f3aaf16ff5c48fcc9b466ee6495c5bb3485086e347bca9b4a4bbf3a4a969a1751b966f9c6a52609a68f067f57c3ac25dd979d76741e631c1441fa7301f languageName: node linkType: hard -"@prefresh/webpack@npm:^3.3.4": - version: 3.3.4 - resolution: "@prefresh/webpack@npm:3.3.4" +"@react-types/view@npm:^3.4.9": + version: 3.4.9 + resolution: "@react-types/view@npm:3.4.9" dependencies: - "@prefresh/core": ^1.3.3 - "@prefresh/utils": ^1.1.2 + "@react-types/shared": ^3.23.1 peerDependencies: - "@prefresh/babel-plugin": ^0.4.0 - preact: ^10.4.0 - webpack: ^4.0.0 || ^5.0.0 - checksum: 49d2184856f7c3335d339b3cff52c85b9524c6b215c120f701bfc7053781adea8db8908f158a756a9234af09acedff101fd087f4adcda367b38ca6403a9e5442 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 99367bdf26cf6db0e121b078e012a2c7a2c09192441f798161ad51c2a3454a59656c11fd86696a4e450926aedba158ba9b010c0104d71675be2ad1d3b8f226f0 + languageName: node + linkType: hard + +"@react-types/well@npm:^3.3.9": + version: 3.3.9 + resolution: "@react-types/well@npm:3.3.9" + dependencies: + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 22dac320cbc0cf8ce10c68925c1214276dda04e8b74e5c7329f469537296c26335922e85351c4f51e46f387c419d08459c84a8d5dede6b81ebab5e4a5dfaeec2 languageName: node linkType: hard @@ -4483,6 +7496,34 @@ __metadata: languageName: node linkType: hard +"@spectrum-icons/ui@npm:^3.6.7": + version: 3.6.7 + resolution: "@spectrum-icons/ui@npm:3.6.7" + dependencies: + "@adobe/react-spectrum-ui": 1.2.0 + "@react-spectrum/icon": ^3.7.13 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: dc9e7bdbcd310469aaed951e65f931442428f3f3d49995be80aac844d74a7564b62ac35f267feeabe0938323e8fe5c334bbf979ba5c6df350a57ec65367c93f5 + languageName: node + linkType: hard + +"@spectrum-icons/workflow@npm:^4.2.12": + version: 4.2.12 + resolution: "@spectrum-icons/workflow@npm:4.2.12" + dependencies: + "@adobe/react-spectrum-workflow": 2.3.4 + "@react-spectrum/icon": ^3.7.13 + "@swc/helpers": ^0.5.0 + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: e658397b7cac876225f22e3442c419b718719c3274a131eb9f2ee9d7d8dfb51dc692588c2e6f5b16558b15c0a3c3c9d656a6dca475131d25376c41659090345d + languageName: node + linkType: hard + "@swc/helpers@npm:^0.4.2": version: 0.4.36 resolution: "@swc/helpers@npm:0.4.36" @@ -4493,6 +7534,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:^0.5.0": + version: 0.5.11 + resolution: "@swc/helpers@npm:0.5.11" + dependencies: + tslib: ^2.4.0 + checksum: 5d85e641d993264f38871bf53e7509da959cdff7646a40d876153291146b9d0aa701518546e5bfef18fa17c5944333bbeb66c2f0d7a570e8c5535d0937d76bd9 + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^1.1.2": version: 1.1.2 resolution: "@szmarczak/http-timer@npm:1.1.2" @@ -4704,7 +7754,7 @@ __metadata: languageName: node linkType: hard -"@types/http-proxy@npm:^1.17.7": +"@types/http-proxy@npm:^1.17.10, @types/http-proxy@npm:^1.17.7": version: 1.17.14 resolution: "@types/http-proxy@npm:1.17.14" dependencies: @@ -5357,8 +8407,10 @@ __metadata: version: 0.0.0-use.local resolution: "adobe-dev-console@workspace:." dependencies: - "@adobe/gatsby-theme-aio": ^4.10.4 + "@adobe/gatsby-theme-aio": 4.11.15-rc3 + "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 + http-proxy-middleware: ^3.0.0 react: ^17.0.2 react-dom: ^17.0.2 remark-cli: ^11.0.0 @@ -7071,6 +10123,13 @@ __metadata: languageName: node linkType: hard +"client-only@npm:^0.0.1": + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 0c16bf660dadb90610553c1d8946a7fdfb81d624adea073b8440b7d795d5b5b08beb3c950c6a2cf16279365a3265158a236876d92bce16423c485c322d7dfaf8 + languageName: node + linkType: hard + "clipboardy@npm:^2.3.0": version: 2.3.0 resolution: "clipboardy@npm:2.3.0" @@ -7145,6 +10204,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:^2.0.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: acd3e1ab9d8a433ecb3cc2f6a05ab95fe50b4a3cfc5ba47abb6cbf3754585fcb87b84e90c822a1f256c4198e3b41c7f6c391577ffc8678ad587fc0976b24fd57 + languageName: node + linkType: hard + "collapse-white-space@npm:^1.0.2": version: 1.0.6 resolution: "collapse-white-space@npm:1.0.6" @@ -8381,6 +11447,16 @@ __metadata: languageName: node linkType: hard +"dom-helpers@npm:^5.0.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": ^7.8.7 + csstype: ^3.0.2 + checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c + languageName: node + linkType: hard + "dom-serializer@npm:0": version: 0.2.2 resolution: "dom-serializer@npm:0.2.2" @@ -9511,7 +12587,7 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": +"eventemitter3@npm:^4.0.0, eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 @@ -9985,7 +13061,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.14.0": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0": version: 1.15.6 resolution: "follow-redirects@npm:1.15.6" peerDependenciesMeta: @@ -11861,6 +14937,31 @@ __metadata: languageName: node linkType: hard +"http-proxy-middleware@npm:^3.0.0": + version: 3.0.0 + resolution: "http-proxy-middleware@npm:3.0.0" + dependencies: + "@types/http-proxy": ^1.17.10 + debug: ^4.3.4 + http-proxy: ^1.18.1 + is-glob: ^4.0.1 + is-plain-obj: ^3.0.0 + micromatch: ^4.0.5 + checksum: 2c286f0604f7a08af707a8df8e6f043fca022e55df6f7f843ea48081c9288277fc7fd7196446a7c8e8568dd1db8bf89f1555b2bc8a11bda87123f9f28aebd3a5 + languageName: node + linkType: hard + +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: ^4.0.0 + follow-redirects: ^1.0.0 + requires-port: ^1.0.0 + checksum: f5bd96bf83e0b1e4226633dbb51f8b056c3e6321917df402deacec31dd7fe433914fc7a2c1831cf7ae21e69c90b3a669b8f434723e9e8b71fd68afe30737b6a5 + languageName: node + linkType: hard + "http-signature@npm:~1.2.0": version: 1.2.0 resolution: "http-signature@npm:1.2.0" @@ -12130,6 +15231,18 @@ __metadata: languageName: node linkType: hard +"intl-messageformat@npm:^10.1.0": + version: 10.5.14 + resolution: "intl-messageformat@npm:10.5.14" + dependencies: + "@formatjs/ecma402-abstract": 2.0.0 + "@formatjs/fast-memoize": 2.2.0 + "@formatjs/icu-messageformat-parser": 2.7.8 + tslib: ^2.4.0 + checksum: 7aaed153283eb83720d72df7757390515a79a1823ea9f4191c69859f1e5dd0d9a7463e5f9186fe77a31414ed98fc81619fb4c838ffdf6d481b1b370403337ca3 + languageName: node + linkType: hard + "invariant@npm:^2.2.3, invariant@npm:^2.2.4": version: 2.2.4 resolution: "invariant@npm:2.2.4" @@ -12539,6 +15652,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^3.0.0": + version: 3.0.0 + resolution: "is-plain-obj@npm:3.0.0" + checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c + languageName: node + linkType: hard + "is-plain-obj@npm:^4.0.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -16993,7 +20113,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.5.0, prop-types@npm:^15.6.1, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.5.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -17252,6 +20372,88 @@ __metadata: languageName: node linkType: hard +"react-aria-components@npm:^1.2.1": + version: 1.2.1 + resolution: "react-aria-components@npm:1.2.1" + dependencies: + "@internationalized/date": ^3.5.4 + "@internationalized/string": ^3.2.3 + "@react-aria/color": 3.0.0-beta.33 + "@react-aria/focus": ^3.17.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/menu": ^3.14.1 + "@react-aria/toolbar": 3.0.0-beta.5 + "@react-aria/tree": 3.0.0-alpha.1 + "@react-aria/utils": ^3.24.1 + "@react-stately/color": ^3.6.1 + "@react-stately/menu": ^3.7.1 + "@react-stately/table": ^3.11.8 + "@react-stately/utils": ^3.10.1 + "@react-types/color": 3.0.0-beta.25 + "@react-types/form": ^3.7.4 + "@react-types/grid": ^3.2.6 + "@react-types/shared": ^3.23.1 + "@react-types/table": ^3.9.5 + "@swc/helpers": ^0.5.0 + client-only: ^0.0.1 + react-aria: ^3.33.1 + react-stately: ^3.31.1 + use-sync-external-store: ^1.2.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 0fe228c1a261aa3eae95837d4396da9e62c74ec65d7a52047fba599a4da406a39ff5bbdf0500ba5da568ba683014617e9587dfebc6835b7059296aafc90343c2 + languageName: node + linkType: hard + +"react-aria@npm:^3.33.1": + version: 3.33.1 + resolution: "react-aria@npm:3.33.1" + dependencies: + "@internationalized/string": ^3.2.3 + "@react-aria/breadcrumbs": ^3.5.13 + "@react-aria/button": ^3.9.5 + "@react-aria/calendar": ^3.5.8 + "@react-aria/checkbox": ^3.14.3 + "@react-aria/combobox": ^3.9.1 + "@react-aria/datepicker": ^3.10.1 + "@react-aria/dialog": ^3.5.14 + "@react-aria/dnd": ^3.6.1 + "@react-aria/focus": ^3.17.1 + "@react-aria/gridlist": ^3.8.1 + "@react-aria/i18n": ^3.11.1 + "@react-aria/interactions": ^3.21.3 + "@react-aria/label": ^3.7.8 + "@react-aria/link": ^3.7.1 + "@react-aria/listbox": ^3.12.1 + "@react-aria/menu": ^3.14.1 + "@react-aria/meter": ^3.4.13 + "@react-aria/numberfield": ^3.11.3 + "@react-aria/overlays": ^3.22.1 + "@react-aria/progress": ^3.4.13 + "@react-aria/radio": ^3.10.4 + "@react-aria/searchfield": ^3.7.5 + "@react-aria/select": ^3.14.5 + "@react-aria/selection": ^3.18.1 + "@react-aria/separator": ^3.3.13 + "@react-aria/slider": ^3.7.8 + "@react-aria/ssr": ^3.9.4 + "@react-aria/switch": ^3.6.4 + "@react-aria/table": ^3.14.1 + "@react-aria/tabs": ^3.9.1 + "@react-aria/tag": ^3.4.1 + "@react-aria/textfield": ^3.14.5 + "@react-aria/tooltip": ^3.7.4 + "@react-aria/utils": ^3.24.1 + "@react-aria/visually-hidden": ^3.8.12 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5b63055ec390669e0e9d239ac1f2018d97a1eb339692c597160071898365d8f48e2d0c19a5e8eff421a72b2964b87121f15251f682ceed578b07d7f6f6c7274d + languageName: node + linkType: hard + "react-dev-utils@npm:^12.0.1": version: 12.0.1 resolution: "react-dev-utils@npm:12.0.1" @@ -17371,6 +20573,39 @@ __metadata: languageName: node linkType: hard +"react-stately@npm:^3.31.1": + version: 3.31.1 + resolution: "react-stately@npm:3.31.1" + dependencies: + "@react-stately/calendar": ^3.5.1 + "@react-stately/checkbox": ^3.6.5 + "@react-stately/collections": ^3.10.7 + "@react-stately/combobox": ^3.8.4 + "@react-stately/data": ^3.11.4 + "@react-stately/datepicker": ^3.9.4 + "@react-stately/dnd": ^3.3.1 + "@react-stately/form": ^3.0.3 + "@react-stately/list": ^3.10.5 + "@react-stately/menu": ^3.7.1 + "@react-stately/numberfield": ^3.9.3 + "@react-stately/overlays": ^3.6.7 + "@react-stately/radio": ^3.10.4 + "@react-stately/searchfield": ^3.5.3 + "@react-stately/select": ^3.6.4 + "@react-stately/selection": ^3.15.1 + "@react-stately/slider": ^3.5.4 + "@react-stately/table": ^3.11.8 + "@react-stately/tabs": ^3.6.6 + "@react-stately/toggle": ^3.7.4 + "@react-stately/tooltip": ^3.4.9 + "@react-stately/tree": ^3.8.1 + "@react-types/shared": ^3.23.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + checksum: 5b3c97e24cc5971f2059bb2a45c9fbba1eb51ca385bddbb88a22d4a2051eb248c494a93cb61d3cdaf242c855c82b97521b6be3436438c5b5e0da8a40aef84b76 + languageName: node + linkType: hard + "react-tabs@npm:^3.2.2": version: 3.2.3 resolution: "react-tabs@npm:3.2.3" @@ -17383,6 +20618,21 @@ __metadata: languageName: node linkType: hard +"react-transition-group@npm:^4.4.5": + version: 4.4.5 + resolution: "react-transition-group@npm:4.4.5" + dependencies: + "@babel/runtime": ^7.5.5 + dom-helpers: ^5.0.1 + loose-envify: ^1.4.0 + prop-types: ^15.6.2 + peerDependencies: + react: ">=16.6.0" + react-dom: ">=16.6.0" + checksum: 75602840106aa9c6545149d6d7ae1502fb7b7abadcce70a6954c4b64a438ff1cd16fc77a0a1e5197cdd72da398f39eb929ea06f9005c45b132ed34e056ebdeb1 + languageName: node + linkType: hard + "react@npm:^17.0.1, react@npm:^17.0.2": version: 17.0.2 resolution: "react@npm:17.0.2" @@ -20829,6 +24079,15 @@ __metadata: languageName: node linkType: hard +"use-sync-external-store@npm:^1.2.0": + version: 1.2.2 + resolution: "use-sync-external-store@npm:1.2.2" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: fe07c071c4da3645f112c38c0e57beb479a8838616ff4e92598256ecce527f2888c08febc7f9b2f0ce2f0e18540ba3cde41eb2035e4fafcb4f52955037098a81 + languageName: node + linkType: hard + "utif@npm:^2.0.1": version: 2.0.1 resolution: "utif@npm:2.0.1" From abe11a822b8f7f7215c72a80e40442ad26a3feeb Mon Sep 17 00:00:00 2001 From: deepesh Date: Thu, 30 May 2024 15:53:25 -0700 Subject: [PATCH 02/22] fix: md-lint issues --- src/pages/get-credential-apikey/index.md | 2 ++ src/pages/get-credential-oauth/index.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/pages/get-credential-apikey/index.md b/src/pages/get-credential-apikey/index.md index b2c3280a..f3523d3a 100644 --- a/src/pages/get-credential-apikey/index.md +++ b/src/pages/get-credential-apikey/index.md @@ -1,3 +1,5 @@ +# Get API Key Credential + import GetCredentialApiKey from "../credential/GetCredentialApiKey.js"; \ No newline at end of file diff --git a/src/pages/get-credential-oauth/index.md b/src/pages/get-credential-oauth/index.md index 74f432bf..caeb23be 100644 --- a/src/pages/get-credential-oauth/index.md +++ b/src/pages/get-credential-oauth/index.md @@ -1,3 +1,5 @@ +# Get OAuth S2S Credential + import GetCredentialOAuthS2s from "../credential/GetCredentialOAuthS2s.js" \ No newline at end of file From 9a3a0638bda5996bf4344af8c653d009a6a07a11 Mon Sep 17 00:00:00 2001 From: deepesh Date: Thu, 30 May 2024 16:12:58 -0700 Subject: [PATCH 03/22] fix: remove http-proxy-middleware --- gatsby-config.js | 23 ----------------------- package.json | 1 - yarn.lock | 41 ++++------------------------------------- 3 files changed, 4 insertions(+), 61 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index 9f49917f..7106e422 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -10,8 +10,6 @@ * governing permissions and limitations under the License. */ -const { createProxyMiddleware } = require("http-proxy-middleware"); - module.exports = { siteMetadata: { pages: [ @@ -234,26 +232,5 @@ module.exports = { ] }, plugins: [`@adobe/gatsby-theme-aio`], - developMiddleware: app => { - app.use( - "/console/api", - createProxyMiddleware({ - target: "https://developer-stage.adobe.com/console/api", - secure: false, - changeOrigin: true, - }) - ); - app.use("/templates", createProxyMiddleware({ - target: "https://developer-stage.adobe.com/templates", - secure: false, - changeOrigin: true, - })); - - app.use("/ims", createProxyMiddleware({ - target: "https://ims-na1-stg1.adobelogin.com/ims", - secure: false, - changeOrigin: true, - })); - }, pathPrefix: process.env.PATH_PREFIX || "/developer-console/docs/" }; diff --git a/package.json b/package.json index cce78c04..159e6e24 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "@adobe/gatsby-theme-aio": "4.11.15-rc3", "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", - "http-proxy-middleware": "^3.0.0", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/yarn.lock b/yarn.lock index 8b14a129..225ea83c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: e09ee2e4c5df2cc801b559d880a93bae5c9cd5edb55815c5c0210efcf2bca98a827ca404eb37e632280f1e719b114e879879e5c091f073bfd2e67e0f22da33bd + checksum: b958a5c6c0f7fb799c803aada20236474b827dc8eecd2d5d3b5864e8c3e63536c6afcf0a549236d83c67e29d67fd7efee8cdf5f436f434404b141752c7859c66 languageName: node linkType: hard @@ -7754,7 +7754,7 @@ __metadata: languageName: node linkType: hard -"@types/http-proxy@npm:^1.17.10, @types/http-proxy@npm:^1.17.7": +"@types/http-proxy@npm:^1.17.7": version: 1.17.14 resolution: "@types/http-proxy@npm:1.17.14" dependencies: @@ -8410,7 +8410,6 @@ __metadata: "@adobe/gatsby-theme-aio": 4.11.15-rc3 "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 - http-proxy-middleware: ^3.0.0 react: ^17.0.2 react-dom: ^17.0.2 remark-cli: ^11.0.0 @@ -12587,7 +12586,7 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^4.0.0, eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": +"eventemitter3@npm:^4.0.4, eventemitter3@npm:^4.0.7": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 @@ -13061,7 +13060,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0": +"follow-redirects@npm:^1.14.0": version: 1.15.6 resolution: "follow-redirects@npm:1.15.6" peerDependenciesMeta: @@ -14937,31 +14936,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^3.0.0": - version: 3.0.0 - resolution: "http-proxy-middleware@npm:3.0.0" - dependencies: - "@types/http-proxy": ^1.17.10 - debug: ^4.3.4 - http-proxy: ^1.18.1 - is-glob: ^4.0.1 - is-plain-obj: ^3.0.0 - micromatch: ^4.0.5 - checksum: 2c286f0604f7a08af707a8df8e6f043fca022e55df6f7f843ea48081c9288277fc7fd7196446a7c8e8568dd1db8bf89f1555b2bc8a11bda87123f9f28aebd3a5 - languageName: node - linkType: hard - -"http-proxy@npm:^1.18.1": - version: 1.18.1 - resolution: "http-proxy@npm:1.18.1" - dependencies: - eventemitter3: ^4.0.0 - follow-redirects: ^1.0.0 - requires-port: ^1.0.0 - checksum: f5bd96bf83e0b1e4226633dbb51f8b056c3e6321917df402deacec31dd7fe433914fc7a2c1831cf7ae21e69c90b3a669b8f434723e9e8b71fd68afe30737b6a5 - languageName: node - linkType: hard - "http-signature@npm:~1.2.0": version: 1.2.0 resolution: "http-signature@npm:1.2.0" @@ -15652,13 +15626,6 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c - languageName: node - linkType: hard - "is-plain-obj@npm:^4.0.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" From 38c212f3e359a6061034f2543d6be398cb89df3c Mon Sep 17 00:00:00 2001 From: deepesh Date: Wed, 5 Jun 2024 13:35:01 -0700 Subject: [PATCH 04/22] feat: upgrade theme to latest, bug fixes --- package.json | 2 +- src/pages/credential/GetCredentialApiKey.js | 13 ++++++++----- src/pages/credential/GetCredentialOAuthS2s.js | 19 +++++++++++-------- yarn.lock | 10 +++++----- 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 159e6e24..d76d5432 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "4.11.15-rc3", + "@adobe/gatsby-theme-aio": "4.11.15-rc4", "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", "react": "^17.0.2", diff --git a/src/pages/credential/GetCredentialApiKey.js b/src/pages/credential/GetCredentialApiKey.js index db28515a..947ee4d6 100644 --- a/src/pages/credential/GetCredentialApiKey.js +++ b/src/pages/credential/GetCredentialApiKey.js @@ -101,13 +101,18 @@ const GetCredentialApiKey = () => { title="Get credentials" paragraph="Create unique credentials that you will use to call multiple APIs from your application." > + + + + + - - - + + +
@@ -120,8 +125,6 @@ const GetCredentialApiKey = () => { - - diff --git a/src/pages/credential/GetCredentialOAuthS2s.js b/src/pages/credential/GetCredentialOAuthS2s.js index 2ad3c404..49cb522f 100644 --- a/src/pages/credential/GetCredentialOAuthS2s.js +++ b/src/pages/credential/GetCredentialOAuthS2s.js @@ -160,24 +160,27 @@ const GetCredentialOAuthS2s = () => { title="Get credentials" paragraph="Create unique credentials that you will use to call multiple APIs from your application." > + + + + + + + - - + - - - +
diff --git a/yarn.lock b/yarn.lock index 225ea83c..370f085b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ __metadata: languageName: node linkType: hard -"@adobe/gatsby-theme-aio@npm:4.11.15-rc3": - version: 4.11.15-rc3 - resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc3" +"@adobe/gatsby-theme-aio@npm:4.11.15-rc4": + version: 4.11.15-rc4 + resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc4" dependencies: "@adobe/focus-ring-polyfill": ^0.1.5 "@adobe/gatsby-source-github-file-contributors": ^0.3.1 @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: b958a5c6c0f7fb799c803aada20236474b827dc8eecd2d5d3b5864e8c3e63536c6afcf0a549236d83c67e29d67fd7efee8cdf5f436f434404b141752c7859c66 + checksum: 9819edc08b9a3b86b8bac013466f9ebe529967121ea7a8107705e6ef8110ef665d93482b2f1e137a74c75c80374596acb8696a756f85534159a52919bd464d82 languageName: node linkType: hard @@ -8407,7 +8407,7 @@ __metadata: version: 0.0.0-use.local resolution: "adobe-dev-console@workspace:." dependencies: - "@adobe/gatsby-theme-aio": 4.11.15-rc3 + "@adobe/gatsby-theme-aio": 4.11.15-rc4 "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 react: ^17.0.2 From d273af653795572466c5ef587155e7d3d8851369 Mon Sep 17 00:00:00 2001 From: deepesh Date: Thu, 6 Jun 2024 15:46:42 -0700 Subject: [PATCH 05/22] feat: upgrade to latest theme --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index d76d5432..201ef4a2 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "4.11.15-rc4", + "@adobe/gatsby-theme-aio": "4.11.15-rc5", "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 370f085b..74919d90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ __metadata: languageName: node linkType: hard -"@adobe/gatsby-theme-aio@npm:4.11.15-rc4": - version: 4.11.15-rc4 - resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc4" +"@adobe/gatsby-theme-aio@npm:4.11.15-rc5": + version: 4.11.15-rc5 + resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc5" dependencies: "@adobe/focus-ring-polyfill": ^0.1.5 "@adobe/gatsby-source-github-file-contributors": ^0.3.1 @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: 9819edc08b9a3b86b8bac013466f9ebe529967121ea7a8107705e6ef8110ef665d93482b2f1e137a74c75c80374596acb8696a756f85534159a52919bd464d82 + checksum: c18b091ca1cf6a8e265a5a81c7ac44bd81a84da3e3a29db098f684408ff8f1a7c70423dc63159ad3cb4d444cd79d088e01354c46921e4aef0ec2663dba0e1d41 languageName: node linkType: hard @@ -8407,7 +8407,7 @@ __metadata: version: 0.0.0-use.local resolution: "adobe-dev-console@workspace:." dependencies: - "@adobe/gatsby-theme-aio": 4.11.15-rc4 + "@adobe/gatsby-theme-aio": 4.11.15-rc5 "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 react: ^17.0.2 From 6cfb6c2aa313d09b6ef0e987408834f7978cd468 Mon Sep 17 00:00:00 2001 From: deepesh Date: Thu, 6 Jun 2024 15:51:02 -0700 Subject: [PATCH 06/22] fix: fixes in layout --- src/pages/credential/GetCredentialApiKey.js | 6 +++--- src/pages/credential/GetCredentialOAuthS2s.js | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/pages/credential/GetCredentialApiKey.js b/src/pages/credential/GetCredentialApiKey.js index 947ee4d6..7a3fa767 100644 --- a/src/pages/credential/GetCredentialApiKey.js +++ b/src/pages/credential/GetCredentialApiKey.js @@ -41,7 +41,7 @@ const GetCredentialApiKey = () => { - +
@@ -67,13 +67,13 @@ const GetCredentialApiKey = () => { - +

Welcome back

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

diff --git a/src/pages/credential/GetCredentialOAuthS2s.js b/src/pages/credential/GetCredentialOAuthS2s.js index 49cb522f..4ef7a27a 100644 --- a/src/pages/credential/GetCredentialOAuthS2s.js +++ b/src/pages/credential/GetCredentialOAuthS2s.js @@ -65,7 +65,7 @@ const GetCredentialOAuthS2s = () => { - +
@@ -116,18 +116,18 @@ const GetCredentialOAuthS2s = () => { - {/* */} + - +

Welcome back

-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

@@ -136,12 +136,12 @@ const GetCredentialOAuthS2s = () => { - {/* */} + - + From 5352265d5a971c9e39dd5b5906640c165b54c8f6 Mon Sep 17 00:00:00 2001 From: deepesh Date: Tue, 9 Jul 2024 09:27:27 -0700 Subject: [PATCH 07/22] chore: upgrade tolates --- package.json | 2 +- yarn.lock | 29 ++++++++++------------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 201ef4a2..cea321d1 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "4.11.15-rc5", + "@adobe/gatsby-theme-aio": "4.14.0-rc1", "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 74919d90..126c8fab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ __metadata: languageName: node linkType: hard -"@adobe/gatsby-theme-aio@npm:4.11.15-rc5": - version: 4.11.15-rc5 - resolution: "@adobe/gatsby-theme-aio@npm:4.11.15-rc5" +"@adobe/gatsby-theme-aio@npm:4.14.0-rc1": + version: 4.14.0-rc1 + resolution: "@adobe/gatsby-theme-aio@npm:4.14.0-rc1" dependencies: "@adobe/focus-ring-polyfill": ^0.1.5 "@adobe/gatsby-source-github-file-contributors": ^0.3.1 @@ -115,7 +115,7 @@ __metadata: penpal: ^6.2.2 postcss: ^8.4.16 preact: ^10.11.0 - preact-render-to-string: ^5.2.4 + preact-render-to-string: ^6.5.5 prism-react-renderer: 1.3.5 prop-types: ^15.8.1 react-helmet: ^6.1.0 @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: c18b091ca1cf6a8e265a5a81c7ac44bd81a84da3e3a29db098f684408ff8f1a7c70423dc63159ad3cb4d444cd79d088e01354c46921e4aef0ec2663dba0e1d41 + checksum: 4bedd73f7cb68021b061198d0f26a05c2bb38f481d6059ea3e3a4fcf57a3fd6e70897e48946c94aa56994e66877bfe7e63d054ae637243ba658c9036ddc877f4 languageName: node linkType: hard @@ -8407,7 +8407,7 @@ __metadata: version: 0.0.0-use.local resolution: "adobe-dev-console@workspace:." dependencies: - "@adobe/gatsby-theme-aio": 4.11.15-rc5 + "@adobe/gatsby-theme-aio": 4.14.0-rc1 "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 react: ^17.0.2 @@ -19933,14 +19933,12 @@ __metadata: languageName: node linkType: hard -"preact-render-to-string@npm:^5.2.4": - version: 5.2.6 - resolution: "preact-render-to-string@npm:5.2.6" - dependencies: - pretty-format: ^3.8.0 +"preact-render-to-string@npm:^6.5.5": + version: 6.5.5 + resolution: "preact-render-to-string@npm:6.5.5" peerDependencies: preact: ">=10" - checksum: be8d5d8fb502d422c503e68af7bcccb6facd942f3ae9a4d093ebe3f1d4f0b15c540624bdac434d53a2a8e8fb7afa4606383414e937c40933ca43445470a026ff + checksum: 4b2309be252d25b85a6c942e1874560eb19d2b0efa9a0aa247ad4b882b0de0f812a28a94d8d9b9ef5c9a3c3d27e8291e7ee529f95a480447ee48022a73a6465f languageName: node linkType: hard @@ -19989,13 +19987,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^3.8.0": - version: 3.8.0 - resolution: "pretty-format@npm:3.8.0" - checksum: 21a114d43ef06978f8f7f6212be4649b0b094f05d9b30e14e37550bf35c8ca24d8adbca9e5adc4cc15d9eaf7a1e7a30478a4dc37b30982bfdf0292a5b385484c - languageName: node - linkType: hard - "prism-react-renderer@npm:1.3.5": version: 1.3.5 resolution: "prism-react-renderer@npm:1.3.5" From cb0b32f073506e34d89d0147d71370cb6632e788 Mon Sep 17 00:00:00 2001 From: Tim Kim Date: Tue, 9 Jul 2024 09:38:38 -0700 Subject: [PATCH 08/22] Update deploy.yml --- .github/workflows/deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 979fbb1f..d1995e60 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -143,7 +143,7 @@ jobs: GATSBY_FEDS_PRIVACY_ID: ${{ secrets.AIO_FEDS_PRIVACY_ID }} - name: Deploy - uses: icaraps/static-website-deploy@master + uses: AdobeDocs/static-website-deploy@master with: enabled-static-website: 'true' source: 'public' @@ -155,7 +155,7 @@ jobs: run: sleep 60s shell: bash - name: Purge Fastly Cache - uses: icaraps/gatsby-fastly-purge-action@master + uses: AdobeDocs/gatsby-fastly-purge-action@master with: fastly-token: ${{ secrets.AIO_FASTLY_TOKEN }} fastly-url: '${{ secrets.AIO_FASTLY_DEV_URL}}${{ needs.set-state.outputs.path_prefix }}' @@ -250,7 +250,7 @@ jobs: GATSBY_ALGOLIA_SEARCH_INDEX: ${{ secrets.AIO_ALGOLIA_SEARCH_INDEX }} GATSBY_FEDS_PRIVACY_ID: ${{ secrets.AIO_FEDS_PRIVACY_ID }} - name: Deploy - uses: icaraps/static-website-deploy@master + uses: AdobeDocs/static-website-deploy@master with: enabled-static-website: 'true' source: 'public' @@ -262,7 +262,7 @@ jobs: run: sleep 60s shell: bash - name: Purge Fastly Cache - uses: icaraps/gatsby-fastly-purge-action@master + uses: AdobeDocs/gatsby-fastly-purge-action@master with: fastly-token: ${{ secrets.AIO_FASTLY_TOKEN }} fastly-url: '${{ secrets.AIO_FASTLY_PROD_URL }}${{ needs.set-state.outputs.path_prefix }}' From ad3121eba0d569994c2973e5048386377bd5c356 Mon Sep 17 00:00:00 2001 From: deepesh Date: Tue, 9 Jul 2024 12:47:12 -0700 Subject: [PATCH 09/22] chore: upgrade to latest --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index cea321d1..764e78b2 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "4.14.0-rc1", + "@adobe/gatsby-theme-aio": "4.14.0-rc2", "@adobe/react-spectrum": "^3.35.1", "gatsby": "4.22.0", "react": "^17.0.2", diff --git a/yarn.lock b/yarn.lock index 126c8fab..2150ee55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ __metadata: languageName: node linkType: hard -"@adobe/gatsby-theme-aio@npm:4.14.0-rc1": - version: 4.14.0-rc1 - resolution: "@adobe/gatsby-theme-aio@npm:4.14.0-rc1" +"@adobe/gatsby-theme-aio@npm:4.14.0-rc2": + version: 4.14.0-rc2 + resolution: "@adobe/gatsby-theme-aio@npm:4.14.0-rc2" dependencies: "@adobe/focus-ring-polyfill": ^0.1.5 "@adobe/gatsby-source-github-file-contributors": ^0.3.1 @@ -138,7 +138,7 @@ __metadata: gatsby: ^4.22.0 react: ^17.0.2 react-dom: ^17.0.2 - checksum: 4bedd73f7cb68021b061198d0f26a05c2bb38f481d6059ea3e3a4fcf57a3fd6e70897e48946c94aa56994e66877bfe7e63d054ae637243ba658c9036ddc877f4 + checksum: f2f1650b837c113b67ae3ed03053e953096fffe018cfec3294189436daaaf552803b7d251c4027443b7940f7060be9af0843c2a94a989d9e8e2fd14cc60a302c languageName: node linkType: hard @@ -8407,7 +8407,7 @@ __metadata: version: 0.0.0-use.local resolution: "adobe-dev-console@workspace:." dependencies: - "@adobe/gatsby-theme-aio": 4.14.0-rc1 + "@adobe/gatsby-theme-aio": 4.14.0-rc2 "@adobe/react-spectrum": ^3.35.1 gatsby: 4.22.0 react: ^17.0.2 From 894dcbeb22e2970408f721d3fc411299ead9ba33 Mon Sep 17 00:00:00 2001 From: deepesh Date: Tue, 9 Jul 2024 12:47:36 -0700 Subject: [PATCH 10/22] chore: navbar links to get credential pages --- gatsby-config.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index 7106e422..99d6a679 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -28,14 +28,6 @@ module.exports = { { path: "support/index.md", title: "Support" - }, - { - title: 'Get API Key credential', - path: "/get-credential-apikey" - }, - { - title: 'Get OAuth S2S credential', - path: "/get-credential-oauth" } ], subPages: [ From 964add64522695d26c86ab13fd8e46a5b596af39 Mon Sep 17 00:00:00 2001 From: deepesh Date: Tue, 9 Jul 2024 12:47:53 -0700 Subject: [PATCH 11/22] fix: sync component files with latest from example --- src/pages/credential/GetCredentialApiKey.js | 8 +++----- src/pages/credential/GetCredentialOAuthS2s.js | 16 ++-------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/pages/credential/GetCredentialApiKey.js b/src/pages/credential/GetCredentialApiKey.js index 7a3fa767..f5774ce8 100644 --- a/src/pages/credential/GetCredentialApiKey.js +++ b/src/pages/credential/GetCredentialApiKey.js @@ -10,7 +10,7 @@ const GetCredentialApiKey = () => { - + @@ -41,7 +41,7 @@ const GetCredentialApiKey = () => { - +
@@ -67,7 +67,7 @@ const GetCredentialApiKey = () => { - + @@ -125,8 +125,6 @@ const GetCredentialApiKey = () => { - - ) diff --git a/src/pages/credential/GetCredentialOAuthS2s.js b/src/pages/credential/GetCredentialOAuthS2s.js index 4ef7a27a..1313a77a 100644 --- a/src/pages/credential/GetCredentialOAuthS2s.js +++ b/src/pages/credential/GetCredentialOAuthS2s.js @@ -12,20 +12,13 @@ const GetCredentialOAuthS2s = () => { - + - - - - - - - @@ -65,7 +58,7 @@ const GetCredentialOAuthS2s = () => { - +
@@ -154,8 +147,6 @@ const GetCredentialOAuthS2s = () => { - - { - { - - ) From 9a72ff282542740f6faa69869bff0d6593f6af2f Mon Sep 17 00:00:00 2001 From: deepesh Date: Mon, 19 Aug 2024 15:52:43 -0700 Subject: [PATCH 12/22] fix: update get credential sample to latest --- src/pages/credential/GetCredentialApiKey.js | 15 +++++++++------ src/pages/credential/GetCredentialOAuthS2s.js | 4 +++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/pages/credential/GetCredentialApiKey.js b/src/pages/credential/GetCredentialApiKey.js index f5774ce8..0d2076f5 100644 --- a/src/pages/credential/GetCredentialApiKey.js +++ b/src/pages/credential/GetCredentialApiKey.js @@ -4,7 +4,7 @@ import creativeCloud from "./images/cc-icon.png"; const GetCredentialApiKey = () => { return ( - + @@ -41,7 +41,7 @@ const GetCredentialApiKey = () => { - +
@@ -63,11 +63,12 @@ const GetCredentialApiKey = () => { + - + @@ -83,6 +84,7 @@ const GetCredentialApiKey = () => { + @@ -102,10 +104,11 @@ const GetCredentialApiKey = () => { paragraph="Create unique credentials that you will use to call multiple APIs from your application." > - - - + + + + { return ( - + @@ -110,6 +110,7 @@ const GetCredentialOAuthS2s = () => { + @@ -130,6 +131,7 @@ const GetCredentialOAuthS2s = () => { + From 652029ca41c47d14ad436c3a3491aa636cd9e714 Mon Sep 17 00:00:00 2001 From: BaskarMitrah Date: Tue, 8 Oct 2024 16:52:50 +0530 Subject: [PATCH 13/22] Fix : Creatial issues --- gatsby-config.js | 25 +- package.json | 3 +- .../GetCredential/Card/AccessToken.js | 142 ++++++ .../GetCredential/Card/CardAPIKey.js | 10 + .../GetCredential/Card/CardAllowedOrigins.js | 10 + .../GetCredential/Card/CardClientDetails.js | 95 ++++ .../GetCredential/Card/CardClientId.js | 10 + .../GetCredential/Card/CardClientSecret.js | 10 + .../GetCredential/Card/CardImsOrgID.js | 8 + .../Card/CardOrganizationName.js | 10 + .../GetCredential/Card/CardScopes.js | 9 + .../GetCredential/Card/DevConsoleLink.js | 60 +++ .../components/GetCredential/Card/ShowCard.js | 188 ++++++++ .../components/GetCredential/ContextHelp.js | 64 +++ .../GetCredential/CredentialDetailsCard.js | 249 ++++++++++ .../GetCredential/CredentialForm.js | 436 ++++++++++++++++++ .../components/GetCredential/ErrorBoundary.js | 33 ++ .../Form/AdobeDeveloperConsole.js | 23 + .../GetCredential/Form/AllowedOrigins.js | 45 ++ .../GetCredential/Form/CreateCredential.js | 24 + .../GetCredential/Form/CredentialName.js | 42 ++ .../components/GetCredential/Form/Download.js | 52 +++ .../GetCredential/Form/Downloads.js | 20 + .../GetCredential/Form/SideContent.js | 34 ++ .../components/GetCredential/FormFields.js | 128 +++++ .../GetCredential/GetCredentialContext.js | 17 + .../components/GetCredential/Icons.js | 83 ++++ .../GetCredential/IllustratedMessage.js | 49 ++ .../GetCredential/JoinBetaProgram.js | 43 ++ .../components/GetCredential/Loading.js | 65 +++ .../components/GetCredential/MyCredential.js | 304 ++++++++++++ .../components/GetCredential/Organization.js | 221 +++++++++ .../GetCredential/PreviousCredential.js | 156 +++++++ .../GetCredential/PreviousProject.js | 76 +++ .../components/GetCredential/Products.js | 241 ++++++++++ .../OrganizationAccessDetails.js | 165 +++++++ .../OrganizationAccessDetailsEdgeCase.js | 131 ++++++ .../OrganizationAccessDetailsNoProduct.js | 13 + .../OrganizationAccessDetailsNotMember.js | 13 + .../OrganizationAccessDetailsNotSignUp.js | 12 + .../OrganizationAccessDetailsType1User.js | 12 + .../RequestAccess/RequestAccess.js | 77 ++++ .../RequestAccess/RequestAccessModal.js | 139 ++++++ .../RequestAccess/RequestAccessSide.js | 19 + .../RequestAccess/RestrictedAccessFields.js | 67 +++ .../GetCredential/Return/ProjectsDropdown.js | 56 +++ .../GetCredential/Return/ReturnAPIKey.js | 10 + .../GetCredential/Return/ReturnAccessToken.js | 8 + .../Return/ReturnAllowedOrigins.js | 10 + .../GetCredential/Return/ReturnClientId.js | 9 + .../Return/ReturnClientSecret.js | 10 + .../Return/ReturnCredentialDetails.js | 65 +++ .../GetCredential/Return/ReturnCustomComp.js | 5 + .../Return/ReturnDevConsoleLink.js | 55 +++ .../Return/ReturnManageDeveloperConsole.js | 37 ++ .../Return/ReturnNewCredential.js | 31 ++ .../Return/ReturnOrganizationName.js | 10 + .../GetCredential/Return/ReturnProduct.js | 41 ++ .../GetCredential/Return/ReturnProducts.js | 46 ++ .../GetCredential/Return/ReturnScopes.js | 10 + .../GetCredential/Return/ReturnSideComp.js | 24 + .../components/GetCredential/Service.js | 88 ++++ .../components/GetCredential/SideComponent.js | 3 + .../components/GetCredential/SignIn.js | 65 +++ .../components/GetCredential/index.js | 408 ++++++++++++++++ 65 files changed, 4622 insertions(+), 2 deletions(-) create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/AccessToken.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAPIKey.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAllowedOrigins.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientDetails.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientId.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientSecret.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardImsOrgID.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardOrganizationName.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardScopes.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/DevConsoleLink.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Card/ShowCard.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/ContextHelp.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialDetailsCard.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialForm.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/ErrorBoundary.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AdobeDeveloperConsole.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AllowedOrigins.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CreateCredential.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CredentialName.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Download.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Downloads.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Form/SideContent.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/FormFields.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/GetCredentialContext.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Icons.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/IllustratedMessage.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/JoinBetaProgram.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Loading.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/MyCredential.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Organization.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousCredential.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousProject.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Products.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetails.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsEdgeCase.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNoProduct.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotMember.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotSignUp.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsType1User.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccess.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccessModal.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccessSide.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RestrictedAccessFields.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ProjectsDropdown.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnAPIKey.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnAccessToken.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnAllowedOrigins.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnClientId.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnClientSecret.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnCredentialDetails.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnCustomComp.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnDevConsoleLink.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnManageDeveloperConsole.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnNewCredential.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnOrganizationName.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnProduct.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnProducts.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnScopes.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Return/ReturnSideComp.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/Service.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/SideComponent.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/SignIn.js create mode 100644 src/@adobe/gatsby-aio-theme/components/GetCredential/index.js diff --git a/gatsby-config.js b/gatsby-config.js index 99d6a679..c7986c78 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -10,6 +10,8 @@ * governing permissions and limitations under the License. */ +const { createProxyMiddleware } = require("http-proxy-middleware"); + module.exports = { siteMetadata: { pages: [ @@ -224,5 +226,26 @@ module.exports = { ] }, plugins: [`@adobe/gatsby-theme-aio`], - pathPrefix: process.env.PATH_PREFIX || "/developer-console/docs/" + pathPrefix: process.env.PATH_PREFIX || "/developer-console/docs/", + developMiddleware: app => { + app.use( + "/console/api", + createProxyMiddleware({ + target: "https://developer-stage.adobe.com/console/api", + secure: false, + changeOrigin: true, + }) + ); + app.use("/templates", createProxyMiddleware({ + target: "https://developer-stage.adobe.com/templates", + secure: false, + changeOrigin: true, + })); + + app.use("/ims", createProxyMiddleware({ + target: "https://ims-na1-stg1.adobelogin.com/ims", + secure: false, + changeOrigin: true, + })); + }, }; diff --git a/package.json b/package.json index 091d68e8..11587873 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,9 @@ "url": "https://github.com/icaraps" }, "dependencies": { - "@adobe/gatsby-theme-aio": "^4.14.4", + "@adobe/gatsby-theme-aio": "^4.14.12", "gatsby": "4.22.0", + "http-proxy-middleware": "^3.0.3", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/AccessToken.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/AccessToken.js new file mode 100644 index 00000000..65579d78 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/AccessToken.js @@ -0,0 +1,142 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import { ProgressCircle } from "@adobe/gatsby-theme-aio/src/components/ProgressCircle"; +import { Button } from "@adobe/gatsby-theme-aio/src/components/Button"; +import { CopyIcon } from '../Icons'; +import { Toast } from '@adobe/gatsby-theme-aio/src/components/Toast'; +import GetCredentialContext from '../GetCredentialContext'; +import { generateToken, getCredentialSecrets } from '../Service'; +import { ActionButton } from '@adobe/gatsby-theme-aio/src/components/ActionButton'; + +const AccessToken = ({ accessToken, response, scopesDetails }) => { + const [credentialToken, setCredentialToken] = useState(null); + const { selectedOrganization } = useContext(GetCredentialContext); + const [isCopiedTooltip, setIsCopiedTooltip] = useState(false); + const [isHoveringCopyButton, setIsHoveringCopyButton] = useState(false); + + const handleGenerateToken = async () => { + setCredentialToken('loading'); + const secrets = await getCredentialSecrets(response, selectedOrganization); + if (secrets) { + let clientId = response?.workspaces ? response?.workspaces[0]?.credentials[0]?.clientId : response?.apiKey; + const tokenVal = await generateToken(clientId, secrets?.clientSecret, scopesDetails); + navigator.clipboard.writeText(tokenVal); + setCredentialToken(tokenVal); + } + }; + + const handleSecretCopyCode = (copiedVal) => { + setIsCopiedTooltip(true); + navigator.clipboard.writeText(copiedVal); + setTimeout(() => setIsCopiedTooltip(false), 1000); // Hide tooltip after 1 second + }; + + useEffect(() => { + setCredentialToken(null); + }, [response]); + + return ( + <> + {accessToken && ( +
+ {accessToken?.heading && ( +

{accessToken?.heading}

+ )} + {credentialToken === null ? ( + accessToken?.buttonLabel && ( +
handleGenerateToken()} + css={css` + width: fit-content; + & > button { + background-color : #0265dc !important; + } + `}> + +
+ ) + ) : ( + credentialToken === 'loading' ? ( + + ) : ( +
+

+ {credentialToken} +

+
handleSecretCopyCode(credentialToken)} + css={css` + position: relative; + & > button { + border: 1px solid rgba(177, 177, 177) !important; + padding: 4px !important; + border-radius: 2px !important; + } + `}> + setIsHoveringCopyButton(true)} + onMouseLeave={() => setIsHoveringCopyButton(false)} + > + + + {isHoveringCopyButton && ( +
+
Copy
+
+
+ )} +
+
+ ) + )} +
+ )} + { + isCopiedTooltip && ( + + ) + } + + ); +}; + +export { AccessToken }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAPIKey.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAPIKey.js new file mode 100644 index 00000000..88e09d4a --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAPIKey.js @@ -0,0 +1,10 @@ +import React from 'react' +import ShowCard from './ShowCard'; + +const CardAPIKey = ({ cardAPIKey, apiKey }) => { + return ( + + ) +} + +export { CardAPIKey }; \ No newline at end of file diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAllowedOrigins.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAllowedOrigins.js new file mode 100644 index 00000000..0ba25ac2 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardAllowedOrigins.js @@ -0,0 +1,10 @@ +import React from 'react' +import ShowCard from './ShowCard'; + +const CardAllowedOrigins = ({ cardAllowedOrigins, allowedOrigins }) => { + return ( + + ) +} + +export { CardAllowedOrigins }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientDetails.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientDetails.js new file mode 100644 index 00000000..357fc726 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientDetails.js @@ -0,0 +1,95 @@ +import React, { useContext } from 'react'; +import { css } from "@emotion/react"; +import { CardAPIKey } from './CardAPIKey'; +import { CardClientId } from './CardClientId'; +import { CardAllowedOrigins } from './CardAllowedOrigins'; +import { CardClientSecret } from './CardClientSecret'; +import { CardOrganizationName } from './CardOrganizationName'; +import { CardScopes } from './CardScopes'; +import { CardImsOrgID } from './CardImsOrgID'; +import GetCredentialContext from '../GetCredentialContext'; + +const CardClientDetails = ({ + clientDetails, + clientIdDetails, + clientSecretDetails, + organizationDetails, + scopesDetails, + apiKeyDetails, + allowedOriginsDetails, + organizationName, + allowedOrigins, + response, + imsOrgID, +}) => { + + const { selectedOrganization } = useContext(GetCredentialContext); + + return ( +
+

{clientDetails?.heading}

+ + {clientDetails.children.map((element) => { + switch (element?.type?.name) { + case "CardAllowedOrigins": + return ( + + ); + case "CardOrganizationName": + return ( + + ); + case "CardImsOrgID": + return ( + + ); + case "CardAPIKey": + return ( + + ); + case "CardClientId": + return ( + + ); + case "CardClientSecret": + return ( + + ); + case "CardScopes": + return ( + + ); + default: + return null; + } + })} +
+ ); +}; + +export { CardClientDetails }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientId.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientId.js new file mode 100644 index 00000000..f8a024fb --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientId.js @@ -0,0 +1,10 @@ +import React from 'react' +import ShowCard from './ShowCard' + +const CardClientId = ({ cardClientId, clientId }) => { + return ( + + ) +} + +export { CardClientId } diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientSecret.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientSecret.js new file mode 100644 index 00000000..b9a93a94 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardClientSecret.js @@ -0,0 +1,10 @@ +import React from 'react' +import ShowCard from './ShowCard'; + +const CardClientSecret = ({ cardClientSecret, response }) => { + return ( + + ) +} + +export { CardClientSecret }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardImsOrgID.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardImsOrgID.js new file mode 100644 index 00000000..7b42d884 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardImsOrgID.js @@ -0,0 +1,8 @@ +import React from 'react'; +import ShowCard from './ShowCard'; + +const CardImsOrgID = ({ cardImsOrgID, imsOrgId }) => { + return ; +}; + +export { CardImsOrgID }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardOrganizationName.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardOrganizationName.js new file mode 100644 index 00000000..7ed147c6 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardOrganizationName.js @@ -0,0 +1,10 @@ +import React from 'react' +import ShowCard from './ShowCard'; + +const CardOrganizationName = ({ cardOrganizationName, organization }) => { + return ( + + ) +} + +export { CardOrganizationName }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardScopes.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardScopes.js new file mode 100644 index 00000000..9c370c71 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/CardScopes.js @@ -0,0 +1,9 @@ +import React from 'react' +import ShowCard from './ShowCard'; + +const CardScopes = ({ cardScopes }) => { + return ( + + ) +} +export { CardScopes }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/DevConsoleLink.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/DevConsoleLink.js new file mode 100644 index 00000000..11b62cc8 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/DevConsoleLink.js @@ -0,0 +1,60 @@ +import React, { useContext } from 'react'; +import { css } from '@emotion/react'; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from '../FormFields'; +import GetCredentialContext from '../GetCredentialContext'; +import { LinkOut } from '../Icons'; + +const DevConsoleLink = ({ devConsoleLinkHeading, credentialName, projectId }) => { + + const { selectedOrganization } = useContext(GetCredentialContext); + + return ( + <> +
+ {devConsoleLinkHeading && ( +

+ {devConsoleLinkHeading} +

+ )} + + +
+

+ {credentialName} +

+
+
+ +
+
+
+ + ); +}; + +export { DevConsoleLink }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/ShowCard.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/ShowCard.js new file mode 100644 index 00000000..ba627978 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Card/ShowCard.js @@ -0,0 +1,188 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import { CopyIcon } from '../Icons'; +import { ActionButton } from "@adobe/gatsby-theme-aio/src/components/ActionButton"; +import { ProgressCircle } from "@adobe/gatsby-theme-aio/src/components/ProgressCircle"; +import { Toast } from '@adobe/gatsby-theme-aio/src/components/Toast'; +import GetCredentialContext from '../GetCredentialContext'; +import { getCredentialSecrets } from '../Service'; + +const ShowCard = ({ + heading, + value, + isClientSecret, + buttonLabel, + isOraganization, + response +}) => { + + const [showClientSecret, setShowClientSecret] = useState(null); + const [isCopiedTooltip, setIsCopiedTooltip] = useState(false); + const [isHoveringCopyButton, setIsHoveringCopyButton] = useState(false); + const { selectedOrganization } = useContext(GetCredentialContext); + + const handleCreateClientSecret = async () => { + setShowClientSecret('loading'); + const secrets = await getCredentialSecrets(response, selectedOrganization); + navigator.clipboard.writeText(secrets?.clientSecret); + setShowClientSecret(secrets); + }; + + const handleSecretCopyCode = (copiedVal) => { + setIsCopiedTooltip(true); + navigator.clipboard.writeText(copiedVal); + setTimeout(() => setIsCopiedTooltip(false), 1000); // Hide tooltip after 1 second + } + + useEffect(() => { + setShowClientSecret(null); + }, [response]); + + return ( +
+

{heading}

+
+ {isClientSecret && ( + showClientSecret === null ? ( +
{ handleCreateClientSecret() }} data-cy="retrieve-client-secret" + css={css` + & > button { + border: 1px solid rgba(177, 177, 177) !important; + padding: 4px !important; + border-radius: 2px !important; + } + `}> + {buttonLabel} +
+ ) : showClientSecret === 'loading' ? ( + + ) : ( +
+

+ {showClientSecret?.clientSecret} +

+
+
setIsHoveringCopyButton(true)} + css={css` + & > button { + border: 1px solid rgba(177, 177, 177) !important; + padding: 4px !important; + border-radius: 2px !important; + } + `} + onMouseLeave={() => setIsHoveringCopyButton(false)} data-cy="copy-client-secret" onClick={() => { handleSecretCopyCode(showClientSecret?.clientSecret) }}> + +
+ {isHoveringCopyButton && ( +
+
Copy
+
+
+ )} +
+
+ ) + )} + + {value && ( +

+ {value} +

+ )} + + {!isClientSecret && ( +
setIsHoveringCopyButton(true)} + onMouseLeave={() => setIsHoveringCopyButton(false)} + css={css` + position: relative; + display: ${isOraganization ? 'none' : 'block'}; + `}> +
{ handleSecretCopyCode(value) }} + css={css` + & > button { + border: 1px solid rgba(177, 177, 177) !important; + padding: 4px !important; + border-radius: 2px !important; + } + `} + > + +
+ {isHoveringCopyButton && ( +
+
Copy
+
+
+ )} +
+ )} +
+ { + isCopiedTooltip && ( + + ) + } +
+ ); +}; + +export default ShowCard; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/ContextHelp.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/ContextHelp.js new file mode 100644 index 00000000..dedeb550 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/ContextHelp.js @@ -0,0 +1,64 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { css } from "@emotion/react"; +import classNames from 'classnames'; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; + +export const ContextHelp = ({ heading, text, link, label }) => { + + const [isVisible, setisVisible] = useState(false); + const buttonRef = useRef(); + + const handleClickOutside = e => { + if (buttonRef.current.contains(e.target)) setisVisible(!isVisible); + else setisVisible(false); + }; + + useEffect(() => { + document.addEventListener('click', handleClickOutside); + return () => document.removeEventListener('click', handleClickOutside); + }); + + return ( +
+
+
+ +
+ {heading &&

{heading}

} + {text &&

{text}

} + {link && {label}} +
+
+
+
+ ) +} diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialDetailsCard.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialDetailsCard.js new file mode 100644 index 00000000..8462d84c --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialDetailsCard.js @@ -0,0 +1,249 @@ +import React, { useEffect, useState } from 'react'; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; +import { css } from '@emotion/react'; +import { AccessToken } from './Card/AccessToken'; +import { DevConsoleLink } from './Card/DevConsoleLink'; +import { CardClientDetails } from './Card/CardClientDetails'; +import { CardClientId } from './Card/CardClientId'; +import { CardClientSecret } from './Card/CardClientSecret'; +import { CardOrganizationName } from './Card/CardOrganizationName'; +import { CardScopes } from './Card/CardScopes'; +import { CardAPIKey } from './Card/CardAPIKey'; +import { CardAllowedOrigins } from './Card/CardAllowedOrigins'; +import { ReturnAccessToken } from './Return/ReturnAccessToken'; +import { ReturnDevConsoleLink } from './Return/ReturnDevConsoleLink'; +import { ReturnCredentialDetails } from './Return/ReturnCredentialDetails'; +import { ReturnClientId } from './Return/ReturnClientId'; +import { ReturnClientSecret } from './Return/ReturnClientSecret'; +import { ReturnScopes } from './Return/ReturnScopes'; +import { ReturnAPIKey } from './Return/ReturnAPIKey'; +import { ReturnAllowedOrigins } from './Return/ReturnAllowedOrigins'; +import { ReturnOrganizationName } from './Return/ReturnOrganizationName'; +import { ArrowDown, ArrowRight, KeyIcon, LinkOut } from './Icons'; +import { CardImsOrgID } from './Card/CardImsOrgID'; + +export const CredentialDetailsCard = ({ + credentialName, + productList, + ProductComponent, + AccessTokenComponent, + DevConsoleLinkComponent, + ClientDetailsComponent, + allowedOriginsDetails, + organizationName, + nextButtonLink, + nextButtonLabel, + devConsoleLink, + developerConsoleManage, + response, + myCredentialFields, + returnFields, + collapse +}) => { + + let accessToken, devConsoleLinkHeading, clientDetails, clientIdDetails, clientSecretDetails, organizationDetails, scopesDetails, apiKeyDetails, allowedOrigins, imsOrgID; + if (myCredentialFields) { + accessToken = myCredentialFields[AccessToken]; + devConsoleLinkHeading = myCredentialFields[DevConsoleLink]?.heading; + clientDetails = myCredentialFields[CardClientDetails]; + clientIdDetails = myCredentialFields[CardClientId]; + clientSecretDetails = myCredentialFields[CardClientSecret]; + organizationDetails = myCredentialFields[CardOrganizationName]; + scopesDetails = myCredentialFields[CardScopes]; + apiKeyDetails = myCredentialFields[CardAPIKey]; + allowedOrigins = myCredentialFields[CardAllowedOrigins]; + imsOrgID = myCredentialFields?.[CardImsOrgID]; + } + else if (returnFields) { + accessToken = returnFields?.[ReturnAccessToken]; + devConsoleLinkHeading = returnFields?.[ReturnDevConsoleLink]?.heading; + clientDetails = returnFields?.[ReturnCredentialDetails]; + clientIdDetails = returnFields?.[ReturnClientId]; + clientSecretDetails = returnFields?.[ReturnClientSecret]; + scopesDetails = returnFields?.[ReturnScopes]; + apiKeyDetails = returnFields?.[ReturnAPIKey]; + organizationDetails = returnFields?.[ReturnOrganizationName]; + allowedOrigins = returnFields?.[ReturnAllowedOrigins]; + imsOrgID = returnFields?.[CardImsOrgID]; + } + + const bool = collapse === "true" ? true : false; + const [isCollapse, setIsCollapse] = useState(false); + + const handleCollapse = () => { + setIsCollapse(!isCollapse); + } + + useEffect(() => { + if (!bool) { + setIsCollapse(true); + } + }, [bool]) + + console.log('clientDetails', clientDetails) + + return ( + <> +
+
+
+
+ +
+

{credentialName}

+
+ {productList && } +
+
+
+ { + bool && +
+ {isCollapse ? : } +
+ } +
+ + {isCollapse && + <> +
+
+ {accessToken && } + + {devConsoleLinkHeading && ( + + )} + + {clientDetails && ( + + )} + +
+ {nextButtonLabel && + + + } + {developerConsoleManage && + +
+
{developerConsoleManage}
+
+ +
+
+
+ } +
+
+ + } +
+
+ + ); +}; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialForm.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialForm.js new file mode 100644 index 00000000..c2f2d51a --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/CredentialForm.js @@ -0,0 +1,436 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import classNames from 'classnames'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import { Toast } from '@adobe/gatsby-theme-aio/src/components/Toast'; +import { handleAllowedDomainsValidation, MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; +import { SideComponent } from './SideComponent'; +import { CredentialName } from './Form/CredentialName'; +import { AllowedOrigins } from './Form/AllowedOrigins'; +import { Downloads } from './Form/Downloads'; +import { Download } from './Form/Download'; +import { SideContent } from './Form/SideContent'; +import { AdobeDeveloperConsole } from './Form/AdobeDeveloperConsole'; +import { CreateCredential } from './Form/CreateCredential'; +import { MyCredential } from './MyCredential'; +import { Loading } from './Loading'; +import { IllustratedMessage } from './IllustratedMessage'; +import { Product, Products } from './Products'; +import { Organization } from './Organization'; +import GetCredentialContext from './GetCredentialContext'; + +const credentialNameRegex = /^(?=[A-Za-z0-9\s]{6,}$)[A-Za-z0-9\s]*$/; + +const CredentialForm = ({ + showCreateForm, + setShowCreateForm, + isCreateNewCredential, + setIsCreateNewCredential, + setIsPrevious, + formData, + setFormData +}) => { + const { getCredentialData } = useContext(GetCredentialContext); + const formProps = getCredentialData; + + const [loading, setLoading] = useState(false); + const [isError, setIsError] = useState(false); + const [response, setResponse] = useState({}); + const [errResp, setErrorResp] = useState(''); + const [showCredential, setShowCredential] = useState(false); + const [formField, setFormField] = useState([]); + const [isValid, setIsValid] = useState(false); + const [isMyCredential, setIsMyCredential] = useState(false); + const [isShow, setIsShow] = useState(false); + const [alertShow, setAlertShow] = useState(false); + + const [isAllowedOriginsValid, setIsAllowedOriginsValid] = useState(); + + const { selectedOrganization, template, previousProjectDetail } = useContext(GetCredentialContext); + + const credentialForm = formProps?.[CredentialForm]; + const isFormValue = credentialForm?.children?.filter(data => + Object.keys(data.props).some(key => key.startsWith('contextHelp')) + ); + + const initialLoad = () => { + const fields = {}; + const downloadObj = { label: 'Language', selectOptions: [] }; + const productsObj = { label: 'products', productList: [] }; + + credentialForm?.children.forEach(({ type, props }) => { + if (type === Downloads && props?.children) { + downloadObj.required = props.required || false; + downloadObj.selectOptions.push( + ...[].concat(props.children).map(({ props: { title, href } }) => ({ title, href })) + ); + setFormData(prevData => ({ + ...prevData, + ...(Array.isArray(props.children) ? null : { Download: props.children?.props?.title }), + })); + } + if (type === Products && props?.children) { + productsObj.productList.push( + ...[].concat(props.children).map(({ props: { label, icon } }) => ({ label, icon })) + ); + } + fields[type] = { ...props, required: type === CredentialName || props?.required }; + }); + + if (downloadObj.selectOptions.length) { + fields[Download] = downloadObj; + if (downloadObj.selectOptions.length === 1) { + setFormData(prevData => ({ + ...prevData, + Download: downloadObj.selectOptions[0]?.title, + zipUrl: downloadObj.selectOptions[0]?.href, + })); + } + } + if (productsObj?.productList.length) { + fields[Product] = productsObj; + } + + const isCredential = previousProjectDetail?.count ? true : false; + if (isCredential) { + setIsMyCredential(true); + } else { + setIsMyCredential(false); + } + + setFormField(fields); + }; + + useEffect(() => { + if (window.adobeIMS?.isSignedInUser()) { + setTimeout(() => { + setLoading(false); + }, 1000); + } else { + setLoading(true); + } + }, [window.adobeIMS?.isSignedInUser()]); + + useEffect(() => { + if (showCreateForm) setIsError(false); + }, [showCreateForm]); + + + useEffect(() => { + initialLoad(); + }, []); + + useEffect(() => { + const isValidCredentialName = credentialNameRegex.test(formData.CredentialName); + + const isCheckAllowedOrgins = credentialForm.children.some((child) => { + return child.type === AllowedOrigins; + }) + let isAllowedOriginsValid; + if (isCheckAllowedOrgins) { + if (formData['AllowedOrigins']) { + isAllowedOriginsValid = handleAllowedDomainsValidation(formData['AllowedOrigins']) + } + } + else { + isAllowedOriginsValid = true; + } + setIsAllowedOriginsValid(isAllowedOriginsValid) + + const isValid = isValidCredentialName && (!isCheckAllowedOrgins || isAllowedOriginsValid) && formData.Agree === true; + setIsValid(isValid); + }, [formData]); + + const handleChange = (e, type) => { + let value; + if (type === 'Download') { + value = e.title; + } + else { + value = type === 'Downloads' || type === 'Agree' ? e.target.checked : e.target.value; + } + + setFormData(prevData => ({ ...prevData, [type]: value })); + if (type === 'Downloads') { + handleChange(download?.selectOptions[0], 'Download') + } + + if (type === 'Download') { + const selectedData = formField?.[Download]?.selectOptions.find( + data => data.title === value + ); + selectedData && setFormData(prevData => ({ ...prevData, zipUrl: selectedData.href })); + } + }; + + const handleErrors = (detailedMessage) => { + setLoading(false); + setAlertShow(true); + setIsValid(false); + setErrorResp(detailedMessage); + setShowCreateForm(true); + setIsError(true); + } + + const createCredential = async () => { + const token = window.adobeIMS?.getTokenFromStorage()?.token; + + if (!token) { + console.log('User not logged in'); + } + + setLoading(true); + setShowCreateForm(false); + + const apis = template.apis.map(api => ({ + code: api.code, + credentialType: api.credentialType, + flowType: api.flowType, + licenseConfigs: + Array.isArray(api.licenseConfigs) && api.licenseConfigs.length > 0 + ? [{ ...api.licenseConfigs[0], op: 'add' }] + : [], + })); + + const data = { + projectName: formData['CredentialName'], + description: 'created for get credential', + metadata: { + domain: formData['AllowedOrigins'], + }, + orgId: selectedOrganization.code, + apis, + }; + + try { + const url = `/templates/install/${template.id}`; + const response = await fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${token}`, + 'x-api-key': window?.adobeIMS?.adobeIdData?.client_id, + Accept: 'application/json', + }, + body: JSON.stringify(data), + }); + + const resResp = await response?.json(); + + if (response.ok) { + setResponse(resResp); + setShowCredential(true); + setAlertShow(true); + setLoading(false); + } else { + const jsonString = resResp.errors[0].message.match(/\((\{.*\})\)/)[1]; + const errorDetails = JSON.parse(jsonString); + handleErrors(errorDetails.messages[0].message) + } + } catch (error) { + setShowCreateForm(true); + setLoading(false); + setAlertShow(true); + setErrorResp(error.message); + setIsError(true); + } + }; + + useEffect(() => { + if (isMyCredential) { + setIsPrevious(true); + setShowCreateForm(true); + } + }, [isMyCredential]); + + const sideObject = formField?.[SideComponent]; + const credentialName = formField?.[CredentialName]; + const allowedOrigins = formField?.[AllowedOrigins]; + const downloads = formField?.[Downloads]; + const download = formField?.[Download]; + const products = formField?.[Products]; + const product = formField?.[Product]; + const adobeDeveloperConsole = formField?.[AdobeDeveloperConsole]; + + const handleRestart = () => { + setShowCreateForm(true); + setShowCredential(false); + setIsCreateNewCredential(true); + setIsMyCredential(true); + setFormData({}); + }; + + return ( + <> + {showCreateForm && !loading && ( +
+
+
+ {credentialForm?.title && ( +

+ {credentialForm?.title} +

+ )} + {credentialForm?.paragraph && ( +

{credentialForm?.paragraph}

+ )} +

setIsShow(true)}> + {selectedOrganization.type === "developer" ? + "You're creating this credential in your personal developer organization" : + <>You're creating this credential in [{selectedOrganization?.name}].} + +

+
+
+
+
+
+ {credentialName && ( + + )} + {allowedOrigins && ( + + )} + {downloads && download && ( + + )} + {formData['Downloads'] && download && ( + + )} + + {adobeDeveloperConsole && ( + + )} + +
+
+ {sideObject ? ( + + ) : null} +
+
+ )} + {alertShow && ( + <> + { + + } + + )} + {loading && !showCredential && !isError && !showCreateForm && ( + + )} + {isError && !showCreateForm && !showCredential && ( + + )} + {showCredential && !showCreateForm && ( + + )} + + ); +}; + +export { CredentialForm }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/ErrorBoundary.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/ErrorBoundary.js new file mode 100644 index 00000000..b66f2abd --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/ErrorBoundary.js @@ -0,0 +1,33 @@ +import React, { Component } from 'react'; +import { IllustratedMessage } from './IllustratedMessage'; + +class ErrorBoundary extends Component { + constructor(props) { + super(props); + this.state = { + hasError: false, + error: null, + errorInfo: null, + errorMsg: this.props.errorMessage + }; + } + + componentDidCatch(error, errorInfo) { + this.setState({ + hasError: true, + error: error, + errorInfo: errorInfo, + }); + } + + render() { + if (this.state.hasError) { + return ; + } + + return this.props.children; + } +} + +export default ErrorBoundary; + diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AdobeDeveloperConsole.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AdobeDeveloperConsole.js new file mode 100644 index 00000000..b4005617 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AdobeDeveloperConsole.js @@ -0,0 +1,23 @@ +import React from 'react'; +import { css } from "@emotion/react"; + +const AdobeDeveloperConsole = ({ formData, handleChange, adobeDeveloperConsole }) => { + return ( +
+ handleChange(e, 'Agree')} data-cy="update-terms-condition"/> +

{adobeDeveloperConsole?.label} + {adobeDeveloperConsole?.linkText}. +

+
+ ) +} + +export { AdobeDeveloperConsole }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AllowedOrigins.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AllowedOrigins.js new file mode 100644 index 00000000..60aa8251 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/AllowedOrigins.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import { FormFields } from '../FormFields'; + +const AllowedOrigins = ({ originsProps, isFormValue, type, formData, handleChange, isAllowedOriginsValid }) => { + + const isRed = isAllowedOriginsValid!==undefined ? !isAllowedOriginsValid : false; + + return ( + + + + ) +} + +export { AllowedOrigins }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CreateCredential.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CreateCredential.js new file mode 100644 index 00000000..3b38120a --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CreateCredential.js @@ -0,0 +1,24 @@ +import React from 'react'; +import { css } from "@emotion/react"; + +const CreateCredential = ({ createCredential, isValid, setIsCreateNewCredential, isCreateNewCredential }) => { + return ( +
+ + {isCreateNewCredential &&

setIsCreateNewCredential(false)} data-cy="cancel-new-credential">Cancel

} +
+ ) +} + +export { CreateCredential }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CredentialName.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CredentialName.js new file mode 100644 index 00000000..eafbb7a2 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/CredentialName.js @@ -0,0 +1,42 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import { FormFields } from "../FormFields"; +import { AlertIcon } from '../Icons'; + +const CredentialName = ({ nameProps, isFormValue, formData, handleChange }) => { + + const credentialNameRegex = /^(?=[A-Za-z0-9\s]{6,}$)[A-Za-z0-9\s]*$/; + const inValidName = !credentialNameRegex.test(formData['CredentialName']) + const isRed = formData["CredentialName"]?.length !== 0 && inValidName; + return ( + +
+ handleChange(e, "CredentialName")} + placeholder={nameProps?.placeholder} + maxLength={nameProps?.range} + data-cy="add-credential-name" + /> + +
+
+ ) +} + +export { CredentialName } diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Download.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Download.js new file mode 100644 index 00000000..c36d5259 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Download.js @@ -0,0 +1,52 @@ +import React, { useState } from 'react'; +import { css } from "@emotion/react"; +import { FormFields } from "../FormFields"; +import { Picker } from '@adobe/gatsby-theme-aio/src/components/Picker'; + +const Download = ({ downloadProp, isFormValue, handleChange }) => { + const [selectedIndex, setSelectedIndex] = useState(0); + + return ( + <> + { + downloadProp?.selectOptions?.length > 1 && + +
div{ + position: relative; + } + + & >div> button{ + width: 100%; + } + + & >div> div{ + width: 100%; + } + `}> + { + return { + title: option?.title, + selected: index === selectedIndex, + }; + })} + onChange={index => { + setSelectedIndex(index); + handleChange(downloadProp?.selectOptions[index], "Download"); + }} + data-cy="select-download-language" + id="selectBox" + /> +
+
+ } + + + ) +} + +export { Download }; \ No newline at end of file diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Downloads.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Downloads.js new file mode 100644 index 00000000..13b511de --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/Downloads.js @@ -0,0 +1,20 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import { ContextHelp } from "../ContextHelp"; + +const Downloads = ({ downloadsProp, handleChange, formData }) => { + + const { label, contextHelpLabelForLink, contextHelpLink, contextHelpText, contextHelp, contextHelpHeading } = downloadsProp; + + return ( +
+ handleChange(e, "Downloads")} checked={formData['Downloads']} data-cy="download-checkBox" /> +

{label}

+
+ {contextHelp && } +
+
+ ) +} + +export { Downloads }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/SideContent.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/SideContent.js new file mode 100644 index 00000000..6b5f102e --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Form/SideContent.js @@ -0,0 +1,34 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from '../FormFields'; + +const SideContent = ({ sideContent, SideComp }) => { + return ( + <> +
+
+ +
+ + ) +} + +export { SideContent }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/FormFields.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/FormFields.js new file mode 100644 index 00000000..8ee08077 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/FormFields.js @@ -0,0 +1,128 @@ +import React from 'react'; +import { ContextHelp } from './ContextHelp'; +import { css } from "@emotion/react"; +import classNames from "classnames"; + +export const FormFields = ({ isFormValue, fields, children, formData, isRed }) => { + + const { label, range, contextHelpLabelForLink, contextHelpLink, contextHelpText, contextHelp, contextHelpHeading, description, className, required } = fields; + + return ( +
+
+
+ {label && } + {required && *} + {isFormValue?.length ? +
div > div > div > button { + border: none; + margin-left: 4px; + } + `} > + {contextHelp && } +
: null + } +
+ {range && + {formData['CredentialName'] ? range - formData['CredentialName']?.length : range} + } +
+
+ {children} +
+ {description &&
+

+ {description} +

+
+ } +
+ ) +} + +export const MIN_MOBILE_WIDTH = "320px"; +export const MAX_MOBILE_WIDTH = "767px"; +export const MAX_TABLET_SCREEN_WIDTH = "1024px"; +export const MIN_TABLET_SCREEB_WIDTH = "768px"; + +const domainPattern = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$|localhost$/; + +export const handleAllowedDomainsValidation = (value) => { + const domains = value && value.split(','); + let errors = []; + if (value && value !== '') { + if (domains.length > 5) { + errors.push('A maximum of 5 domains are allowed'); + } + domains.forEach((domain) => { + let domainToCheck = domain.trim(); + if (domainToCheck.startsWith('*.')) { + domainToCheck = domainToCheck.substring(2); + } + if (!validateDomain(domainToCheck)) { + errors.push(`Domain ${domain} is invalid`); + } + }); + + if (errors.length) { + return false + } + else { + return true + } + } +} + +const validateDomain = (domainToCheck) => { + if (domainToCheck.includes(':')) { + const domainsSplit = domainToCheck.split(':'); + if (domainsSplit.length !== 2) { + return false; + } + + // port is only allowed for localhost + if (domainsSplit[0] !== 'localhost') { + return false; + } + + try { + const port = parseInt(domainsSplit[1]); + if (!port || port < 1024 || port > 65535) { + return false; + } + } catch (e) { + return false; + } + + domainToCheck = domainsSplit[0]; + } + return domainPattern.test(domainToCheck); +} diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/GetCredentialContext.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/GetCredentialContext.js new file mode 100644 index 00000000..a8aad72a --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/GetCredentialContext.js @@ -0,0 +1,17 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { createContext } from 'react'; + +const GetCredentialContext = createContext({}); + +export {GetCredentialContext as default}; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Icons.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Icons.js new file mode 100644 index 00000000..c5a846d6 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Icons.js @@ -0,0 +1,83 @@ +import React from "react"; + +export const CopyIcon = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + ) +}; + +export const LinkOut = () => { + return ( + + + + + ) +}; + +export const KeyIcon = () => { + return ( + + + + ) +} + + +export const AlertIcon = () => { + return ( + + + + + ) +} + +export const ArrowDown = () => { + return ( + + + + ) +} + +export const ArrowRight = () => { + return ( + + + + ) +} \ No newline at end of file diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/IllustratedMessage.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/IllustratedMessage.js new file mode 100644 index 00000000..4437c55d --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/IllustratedMessage.js @@ -0,0 +1,49 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import classNames from "classnames"; + +const UnKnownErrorImage = () => { + return ( + + + + ) +} + +const IllustratedMessage = ({ errorMessage }) => { + + return ( +
+ +

UnKnown Error

+ { + <> +

An error has occured when you tried to create a new credential.

+

Please try to submit the form again.

+ +

{errorMessage?.helpLinkText}

+ + } +
+ ) +} + +export { IllustratedMessage , UnKnownErrorImage } diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/JoinBetaProgram.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/JoinBetaProgram.js new file mode 100644 index 00000000..f60d463e --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/JoinBetaProgram.js @@ -0,0 +1,43 @@ +import React from 'react'; +import { css } from "@emotion/react"; +import classNames from "classnames"; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; + +const JoinBetaProgram = ({ joinBeta }) => { + + return ( +
+

{joinBeta?.heading}

+

{joinBeta?.text}

+ + + +
+ ) +} + +export { JoinBetaProgram }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Loading.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Loading.js new file mode 100644 index 00000000..5871e3f2 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Loading.js @@ -0,0 +1,65 @@ +import React, { useEffect, useRef } from 'react'; +import { css } from "@emotion/react"; +import { ProgressCircle } from '@adobe/gatsby-theme-aio/src/components/ProgressCircle'; + +const Loading = ({ + credentials, + downloadStatus, + isCreateCredential, + initialLoading +}) => { + const divRef = useRef(null); + useEffect(() => { + if (divRef.current) { + divRef.current.scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center', + }); + } + }, []) + + return ( + <> + {credentials?.title &&

{credentials?.title}

} +
+ + {initialLoading && +
+ {"Loading..."} +
} +
+ {isCreateCredential && "Creating credentials..."} +
+ {downloadStatus && +
This process may take a few moments. Once complete, your download will start.
+ } +
+ + ) +} + +export { Loading }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/MyCredential.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/MyCredential.js new file mode 100644 index 00000000..7d550dce --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/MyCredential.js @@ -0,0 +1,304 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import classNames from 'classnames'; +import JSZip from 'jszip'; +import JSZipUtils from 'jszip-utils'; +import { saveAs } from 'file-saver'; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; +import { Toast } from '@adobe/gatsby-theme-aio/src/components/Toast'; +import { CardProducts } from './Products'; +import { SideComponent } from './SideComponent'; +import { AccessToken } from './Card/AccessToken'; +import { DevConsoleLink } from './Card/DevConsoleLink'; +import { CardClientDetails } from './Card/CardClientDetails'; +import { SideContent } from './Form/SideContent'; +import GetCredentialContext from './GetCredentialContext'; +import { CredentialDetailsCard } from './CredentialDetailsCard'; + +const MyCredential = ({ + formData, + response, + handleRestart +}) => { + const { getCredentialData, selectedOrganization: organizationName } = useContext(GetCredentialContext); + const credentialProps = getCredentialData; + + const [isDownloadStart, setIsDownloadStart] = useState(); + const [isCopiedTooltip, setCopiedTooltip] = useState(''); + + const myCredentialFields = {}; + const productsObj = { label: 'products', productList: [] }; + + credentialProps?.[MyCredential]?.children.forEach(({ type, props }) => { + myCredentialFields[type] = props; + if (props.children && type === CardClientDetails) { + myCredentialFields[type] = props; + props?.children?.forEach(({ type, props }) => { + myCredentialFields[type] = props; + }); + } + if (type === CardProducts && props?.children) { + productsObj.productList.push( + ...[].concat(props.children).map(({ props: { label, icon } }) => ({ label, icon })) + ); + } + }); + const product = productsObj?.productList; + + useEffect(() => { + if (formData['Downloads']) { + downloadZIP( + `/console/api/organizations/${organizationName?.id}/projects/${response.projectId}/workspaces/${response.workspaceId}/download`, + formData['Download'], + formData['zipUrl'] + ); + } + }, []); + + const card = credentialProps?.[MyCredential]; + + const downloadZIP = async (downloadAPI, fileName = 'download', zipFileURL) => { + setIsDownloadStart(true); + try { + const zipData = await JSZipUtils.getBinaryContent(zipFileURL); + const zipArrayBuffer = new Uint8Array(zipData).buffer; + const zip = new JSZip(); + + await zip.loadAsync(zipArrayBuffer); + + const token = window.adobeIMS?.getTokenFromStorage()?.token; + const options = { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + Authorization: 'Bearer ' + token, + 'x-api-key': window?.adobeIMS?.adobeIdData?.client_id, + }, + }; + + const response = await fetch(downloadAPI, options); + + if (response.status === 200) { + const credential = await response.json(); + + zip.file('credential.json', JSON.stringify(credential)); + + const modifiedZipBlob = await zip.generateAsync({ type: 'blob' }); + saveAs(modifiedZipBlob, `${fileName}.zip`); + } else { + console.error('Failed to fetch additional data. Response status:', response.status); + } + } catch (error) { + console.error('An error occurred:', error); + } finally { + setIsDownloadStart(false); + } + }; + + return ( +
+
+
+ {card?.title && ( +

+ {card?.title} +

+ )} + {isDownloadStart && ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ Downloading... +

+
+ )} +
+ {formData['Downloads'] && card?.paragraph && ( +

+ {card?.paragraph} +

+ )} + {formData['Downloads'] && ( +

+ Download not working? + +

+ )} +
+
+
+ +
+

+ Need another credential +

+

+ +

+
+
+ {card?.children ? ( + + ) : null} +
+ {isCopiedTooltip && ( + + )} +
+ ); +}; + +export { MyCredential }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Organization.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Organization.js new file mode 100644 index 00000000..1d82d63c --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Organization.js @@ -0,0 +1,221 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import { Picker } from '@adobe/gatsby-theme-aio/src/components/Picker'; +import GetCredentialContext from './GetCredentialContext'; + +const Organization = () => { + + const { allOrganizations, switchOrganization, selectedOrganization } = useContext(GetCredentialContext); + + const [selectedIndex, setSelectedIndex] = useState(allOrganizations.findIndex(org => org.id === selectedOrganization.id)); + const [isOpenDialog, setIsOpenDialog] = useState(false); + + useEffect(() => { + const underlay = document.querySelector('[data-testid="underlay"]'); + if (underlay) { + document.body.style.overflow = 'hidden'; + } + return () => { + document.body.style.overflow = ''; + }; + }, [isOpenDialog]); + + const close = () => { + setIsOpenDialog(false) + } + + return ( + <> + setIsOpenDialog(true)}>Change organization + {isOpenDialog && +
+ + } + + ); +}; + +export { Organization }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousCredential.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousCredential.js new file mode 100644 index 00000000..48ff3e7d --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousCredential.js @@ -0,0 +1,156 @@ +import React, { useContext, useState } from 'react'; +import { css } from '@emotion/react'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import classNames from 'classnames'; +import { MAX_TABLET_SCREEN_WIDTH, MIN_MOBILE_WIDTH } from './FormFields'; +import { PreviousProject } from './PreviousProject'; +import { Organization } from './Organization'; +import { CredentialForm } from './CredentialForm'; +import { ReturnSideComp } from './Return/ReturnSideComp'; +import { CardProducts } from './Products'; +import { ReturnCustomComp } from './Return/ReturnCustomComp'; +import { ReturnNewCredential } from './Return/ReturnNewCredential'; +import GetCredentialContext from './GetCredentialContext'; +import { ReturnCredentialDetails } from './Return/ReturnCredentialDetails'; + +const PreviousCredential = ({ setIsCreateNewCredential }) => { + const { getCredentialData } = useContext(GetCredentialContext); + const returnProps = getCredentialData; + + const [isShow, setIsShow] = useState(false); + const credentialHeader = returnProps[CredentialForm]; + const { selectedOrganization } = useContext(GetCredentialContext); + + const returnFields = {}; + const productList = []; + + returnProps?.[PreviousProject]?.children.forEach(({ type, props }) => { + returnFields[type] = props; + + if (props?.children) { + + const children = Array.isArray(props.children) ? props.children : [props.children]; + + children.forEach(({ props: childProps, type: childType }) => { + if (type === ReturnSideComp || type === ReturnCredentialDetails) { + returnFields[childType] = childProps; + } else if (type === CardProducts) { + const { label, icon } = childProps; + productList.push({ label, icon }); + } + + }); + } + + }); + + const returnSideComp = returnFields?.[ReturnSideComp]; + const returnCustomComp = returnFields?.[ReturnCustomComp]; + const returnNewCredential = returnFields?.[ReturnNewCredential]; + + return ( + <> +
+
+
+ {credentialHeader?.title && ( +

+ {credentialHeader?.title} +

+ )} + {credentialHeader?.paragraph && ( +

{credentialHeader?.paragraph}

+ )} +

setIsShow(true)} + css={css` + color: var(--spectrum-global-color-gray-800); + display: inline-flex; + `}> + {selectedOrganization.type === "developer" ? + "You’re viewing in your personal developer organization" : + <>You’re viewing in [ {selectedOrganization?.name} ] .} + +

+
+
+
+
+ {returnSideComp && ( + + )} +
+ +
+
+ +
+
+
+ + ); +}; + +export { PreviousCredential }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousProject.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousProject.js new file mode 100644 index 00000000..291fe73c --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/PreviousProject.js @@ -0,0 +1,76 @@ +import React, { useContext, useState } from 'react'; +import { css } from '@emotion/react'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import { Toast } from '@adobe/gatsby-theme-aio/src/components/Toast'; +import classNames from 'classnames'; +import { ReturnAccessToken } from './Return/ReturnAccessToken'; +import { ProjectsDropdown } from './Return/ProjectsDropdown'; +import { ReturnDevConsoleLink } from './Return/ReturnDevConsoleLink'; +import { ReturnManageDeveloperConsole } from './Return/ReturnManageDeveloperConsole'; +import { ReturnCredentialDetails } from './Return/ReturnCredentialDetails'; +import { CardProducts } from './Products'; +import GetCredentialContext from './GetCredentialContext'; +import { CredentialDetailsCard } from './CredentialDetailsCard'; + +const PreviousProject = ({ returnFields, productList, collapse }) => { + + const { getCredentialData: returnProps, selectedOrganization, previousProjectDetail } = useContext(GetCredentialContext); + + const [selectedIndex, setSelectedIndex] = useState(0); + const [isCopiedTooltip, setCopiedTooltip] = useState(''); + + const previousProjectsDetails = previousProjectDetail?.projects + const previousProject = returnProps?.[PreviousProject]; + const projectsDropdown = returnFields?.[ProjectsDropdown]; + const returnManageDeveloperConsole = returnFields?.[ReturnManageDeveloperConsole]; + const response = previousProjectsDetails?.[selectedIndex]; + const projectDetails = previousProjectsDetails?.[selectedIndex]; + const manageProps = returnProps[PreviousProject]; + + const allowedDomains = projectDetails?.workspaces[0]?.credentials[0]?.metadata?.["adobeid.domain"]; + + return ( + <> +
+ {previousProject?.title &&

{previousProject?.title}

} + + {previousProject?.paragraph &&

{previousProject?.paragraph}

} + + {returnManageDeveloperConsole && } + + {projectsDropdown && } + + {/* ----------- credential form ------------ */} + + + +
+ {isCopiedTooltip && } + + + ) +}; + +export { PreviousProject }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/Products.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/Products.js new file mode 100644 index 00000000..6b2af567 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/Products.js @@ -0,0 +1,241 @@ +import React, { useRef, useState, useEffect } from 'react'; +import { css } from '@emotion/react'; +import { ActionButton } from "@adobe/gatsby-theme-aio/src/components/ActionButton" + +const Products = ({ products, product }) => { + return ( +
+
+ {products?.label && ( + + )} + +
+
+ ); +}; + +const Product = ({ productList }) => { + return ; +}; + +const CardProduct = ({ productList }) => { + return ( + <> + {productList?.map((product, index) => { + if (index < 2) + return ( +
+ {product?.icon ? ( +
+ + {product?.label} +
+ ) : ( +

{product?.label}

+ )} +
+ ); + })} + + ); +}; + +const CardProducts = ({ productList }) => { + + return ( +
+ + +
+ ); +}; + +const CommonProduct = ({ productList }) => { + + return ( + <> + {productList && + productList?.map((data, index) => { + if (index < 2) + return ( +
+ + +
+ ); + })} + + {productList?.length > 2 && ( + + )} + + ); +}; + +const ModelTrigger = ({ productList }) => { + + const [isVisible, setisVisible] = useState(false); + const buttonRef = useRef(); + + const handleClickOutside = e => { + if (buttonRef?.current?.contains(e.target)) setisVisible(!isVisible); + else setisVisible(false); + }; + + useEffect(() => { + document.addEventListener('click', handleClickOutside); + return () => document.removeEventListener('click', handleClickOutside); + }); + + return ( + <> +
button, & > button : active { + border: none; + background: transparent !important; + } + `}> + + {productList.length - 2 > 0 && ( +
+ +{productList.length - 2} more +
+ )} +
+ {isVisible &&
+
+
+ +
+
+
} +
+ + ) +} + +export { Product, Products, CardProducts, CardProduct }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetails.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetails.js new file mode 100644 index 00000000..ebed8a69 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetails.js @@ -0,0 +1,165 @@ +import React, { useContext, useEffect, useRef, useState } from 'react'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import { css } from '@emotion/react'; +import { Button } from "@adobe/gatsby-theme-aio/src/components/Button"; +import { RequestAccessModal } from './RequestAccessModal'; +import GetCredentialContext from '../GetCredentialContext'; +import { Organization } from '../Organization'; +import { Products } from '../Products'; + +const OrganizationAccessDetails = ({ restrictedAccess, products }) => { + + const { template, selectedOrganization } = useContext(GetCredentialContext); + const [isOpen, setIsOpen] = useState(false); + + let productList = []; + + if (Array.isArray(products?.children)) { + productList = products?.children.map((child) => (child?.props)) + } else { + productList.push(products?.children?.props); + } + + let product = { productList }; + + const handleClose = () => { + setIsOpen(!isOpen) + } + + const [isVisible, setisVisible] = useState(false); + const buttonRef = useRef(); + + const handleClickOutside = e => { + if (buttonRef?.current?.contains(e.target)) setisVisible(!isVisible); + else setisVisible(false); + }; + + useEffect(() => { + document.addEventListener('click', handleClickOutside); + return () => document.removeEventListener('click', handleClickOutside); + }); + + return ( + <> +
+ {restrictedAccess?.title && ( +
{restrictedAccess?.title}
+ )} +

+ You’re creating this credential in {' '} + {selectedOrganization.type === "developer" ? + "your personal developer organization" : + <> + [ + + {selectedOrganization.name} + + ] + } but you do not have a developer access in this organization and need admin approval to + use this API. + span { + color: #000000; + } + + &>span: hover { + color: #000000; + } + + & > div { + display: inline; + } + + span { + padding: 0px 0px 0px 3px !important; + } + `}> + + +

+ {products && } + {restrictedAccess?.buttonLabel && ( + template.requestAccessAppId &&
+
+
+ {!template.isRequestPending ?
: +
+

Request Pending

+
button { + border: none; + padding: 4px !important; + border-radius: 2px !important; + } + `} + > + +
+

Your request is pending approval

+

You'll hear back from your admin soon. If your request is approved, you'll get an email with instructions on how to start using your apps and service + Learn more about requesting Adobe apps.

+
+
+
+
+ } +
+ {isOpen && } +
+
+ )} +
+ + ); +}; + +export { OrganizationAccessDetails }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsEdgeCase.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsEdgeCase.js new file mode 100644 index 00000000..275c2093 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsEdgeCase.js @@ -0,0 +1,131 @@ +import React, { useContext, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import { Button } from "@adobe/gatsby-theme-aio/src/components/Button"; +import { Organization } from '../Organization'; + +import GetCredentialContext from '../GetCredentialContext'; +import Context from '@adobe/gatsby-theme-aio/src/components/Context'; + +const OrganizationAccessDetailsEdgeCase = ({ content, isNoProduct, productName }) => { + const { selectedOrganization } = useContext(GetCredentialContext); + const { ims } = useContext(Context); + + const [emailID, setEmailID] = useState(''); + useEffect(() => { + (async () => { + if (ims && ims.isSignedInUser()) { + const profile = await ims.getProfile(); + setEmailID(profile?.email); + } + })(); + }, [ims]); + + return ( + <> +
+ {content?.title && +
+ {content?.title} +
} + {isNoProduct ? +

+ You are currently signed in with [ + {emailID}] + in {" "} + {selectedOrganization.type === "developer" ? + "your personal developer organization" : + <>organization [ + + {selectedOrganization.name} + + ] + } + currently does not have access to these APIs Contact us to learn more about {productName} APIs and how to get a free trial. + span, &>span: hover { + color: #000000; + } + + & > div { + display: inline; + } + + span { + padding: 0px 0px 0px 3px !important; + } + `}> + + +

+ : +

+ You are currently signed in with [ + {emailID}] + in {" "} + {selectedOrganization.type === "developer" ? + "your personal developer organization" : + <> organization [ + {selectedOrganization.name}] + } + and can not access {productName} APIs. + span, &>span: hover { + color: #000000; + } + + & > div { + display: inline; + } + + span { + padding: 0px 0px 0px 3px !important; + } + `}> + + +

+ } +
span { + color: #292929; + } + `}> + {content?.buttonLink && {content?.buttonLabel && }} +
+
+ + ); +}; + +export { OrganizationAccessDetailsEdgeCase }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNoProduct.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNoProduct.js new file mode 100644 index 00000000..ff032935 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNoProduct.js @@ -0,0 +1,13 @@ +import React from "react"; +import { OrganizationAccessDetailsEdgeCase } from "./OrganizationAccessDetailsEdgeCase"; + +const OrganizationAccessDetailsNoProduct = ({ content, productName }) => { + + return ( + <> + + + ); +}; + +export { OrganizationAccessDetailsNoProduct }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotMember.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotMember.js new file mode 100644 index 00000000..46831b8d --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotMember.js @@ -0,0 +1,13 @@ +import React from 'react'; +import { OrganizationAccessDetailsEdgeCase } from './OrganizationAccessDetailsEdgeCase'; + +const OrganizationAccessDetailsNotMember = ({content , productName}) => { + + return ( + <> + + + ); +}; + +export { OrganizationAccessDetailsNotMember }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotSignUp.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotSignUp.js new file mode 100644 index 00000000..9d0df0cd --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsNotSignUp.js @@ -0,0 +1,12 @@ +import React from 'react'; +import { OrganizationAccessDetailsEdgeCase } from './OrganizationAccessDetailsEdgeCase'; + +const OrganizationAccessDetailsNotSignUp = ({ content, productName }) => { + return ( + <> + + + ); +}; + +export { OrganizationAccessDetailsNotSignUp }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsType1User.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsType1User.js new file mode 100644 index 00000000..b614a83a --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/OrganizationAccessDetailsType1User.js @@ -0,0 +1,12 @@ +import React from 'react'; +import { OrganizationAccessDetailsEdgeCase } from './OrganizationAccessDetailsEdgeCase'; + +const OrganizationAccessDetailsType1User = ({content,productName}) => { + return ( + <> + + + ); +}; + +export { OrganizationAccessDetailsType1User }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccess.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccess.js new file mode 100644 index 00000000..6c316bc3 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccess.js @@ -0,0 +1,77 @@ +import React, { useContext } from 'react'; +import { RestrictedAccess } from './RestrictedAccessFields'; +import { css } from '@emotion/react'; +import { MAX_MOBILE_WIDTH } from '../FormFields'; +import '@spectrum-css/contextualhelp/dist/index-vars.css'; +import { RequestAccessSide } from './RequestAccessSide'; +import GetCredentialContext from '../GetCredentialContext'; +import { OrganizationAccessDetailsEdgeCase } from './OrganizationAccessDetailsEdgeCase'; + +const RequestAccess = ({ productName }) => { + const { getCredentialData } = useContext(GetCredentialContext); + + const requestAccess = getCredentialData?.[RequestAccess]; + let side, restrictedAccess, organizationAccessDetailsEdgeCase; + + if (Array.isArray(requestAccess?.children)) { + requestAccess?.children?.forEach(({ type, props }) => { + if (type === RequestAccessSide) { + side = props?.children; + } + if (type === RestrictedAccess) { + restrictedAccess = props; + } + if (type === OrganizationAccessDetailsEdgeCase) { + organizationAccessDetailsEdgeCase = props; + } + }); + } else { + restrictedAccess = requestAccess?.children?.props; + } + + return ( + <> +
+
+ {requestAccess?.title && ( +

{requestAccess?.title}

+ )} + {requestAccess?.paragraph && ( +

+ {requestAccess?.paragraph} +

+ )} +
+
+ {restrictedAccess && } + {side && } +
+
+ + ); +}; + +export { RequestAccess }; diff --git a/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccessModal.js b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccessModal.js new file mode 100644 index 00000000..bb394ef3 --- /dev/null +++ b/src/@adobe/gatsby-aio-theme/components/GetCredential/RequestAccess/RequestAccessModal.js @@ -0,0 +1,139 @@ +import React, { useCallback, useContext, useEffect, useState } from "react"; +import "@spectrum-css/contextualhelp/dist/index-vars.css"; +import { ProgressCircle } from "@adobe/gatsby-theme-aio/src/components/ProgressCircle"; +import GetCredentialContext from "../GetCredentialContext"; +import { css } from '@emotion/react'; + +const INITIAL_IFRAME_HEIGHT = 420; + +const RequestAccessModal = ({ accessPlatformAppId, close }) => { + const [targetUrl, setTargetUrl] = useState(''); + const [loading, setLoading] = useState(true); + const [iframeHeight, setIframeHeight] = useState(INITIAL_IFRAME_HEIGHT); + const { setTemplate, template, selectedOrganization } = useContext(GetCredentialContext); + + useEffect(() => { + const setTargetUrlHelper = async () => { + const { userId } = await window.adobeIMS.getProfile(); + const acrsHostPrefix = window.adobeIMS.adobeIdData.environment === 'prod' ? '' : 'stage.'; + setTargetUrl(`https://${acrsHostPrefix}acrs.adobe.com/requestAccess?flow=frame&colorScheme=light&applicationId=UDPWeb1&appId=${accessPlatformAppId}&userId=${userId}&accessRequestType=apiAccess`); + }; + setTargetUrlHelper(); + }, [setTargetUrl, accessPlatformAppId]); + + const handleIframeMessage = useCallback( + (event) => { + if (!event.isTrusted || (typeof event.data !== 'string' && !(event.data instanceof String))) { + return; + } + const eventData = JSON.parse(event.data); + + if (!eventData || eventData.app !== 'acrs-request-access' || eventData.type !== 'System') { + return; + } + + switch (eventData.subType) { + case 'AppLoaded': + setLoading(false); + break; + case 'Resize': + setIframeHeight(eventData.data.height); + break; + case 'Close': + close(false); + fetchTemplate(); + break; + } + }, + [close, setLoading, setIframeHeight], + ); + + const fetchTemplate = async () => { + try { + const url = `/templates/${template.id}` + const response = await fetch(url, { + headers: { + "Content-Type": "application/json", + "Authorization": `Bearer ${window.adobeIMS.getTokenFromStorage().token}`, + "x-api-key": window.adobeIMS.adobeIdData.client_id, + "x-org-id": selectedOrganization.code + } + }); + + if (!response.ok) { + console.error('Template not found. Please check template id'); + return; + } + setTemplate(await response.json()); + } + catch (error) { + console.error('Error fetching template:', error); + } + } + + useEffect(() => { + window.addEventListener('message', handleIframeMessage); + return () => window.removeEventListener('message', handleIframeMessage); + }, [handleIframeMessage]); + + return ( +
.changeOrg { + border: none; + background: white; + padding: 0; + height: fit-content; + text-decoration: underline; + cursor: pointer; + } + `}> +