@strapi/admin 5.5.2 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/{ApplicationInfoPage-Br2aUPw0.mjs → ApplicationInfoPage-DGet0m1z.mjs} +2 -2
- package/dist/admin/{ApplicationInfoPage-Br2aUPw0.mjs.map → ApplicationInfoPage-DGet0m1z.mjs.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-BnGGYL0F.js → ApplicationInfoPage-__zpHK8U.js} +2 -2
- package/dist/admin/{ApplicationInfoPage-BnGGYL0F.js.map → ApplicationInfoPage-__zpHK8U.js.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-BJU39shu.mjs → AuthenticatedLayout-CERzLY03.mjs} +9 -9
- package/dist/admin/{AuthenticatedLayout-BJU39shu.mjs.map → AuthenticatedLayout-CERzLY03.mjs.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-BAEki0Lq.js → AuthenticatedLayout-CchQ7f0Q.js} +9 -9
- package/dist/admin/{AuthenticatedLayout-BAEki0Lq.js.map → AuthenticatedLayout-CchQ7f0Q.js.map} +1 -1
- package/dist/admin/{CreatePage-C7F5W4hT.js → CreatePage-CPnVtQdL.js} +2 -2
- package/dist/admin/{CreatePage-C7F5W4hT.js.map → CreatePage-CPnVtQdL.js.map} +1 -1
- package/dist/admin/{CreatePage-jnPXnNnq.mjs → CreatePage-D_fsEi_M.mjs} +2 -2
- package/dist/admin/{CreatePage-jnPXnNnq.mjs.map → CreatePage-D_fsEi_M.mjs.map} +1 -1
- package/dist/admin/{CreatePage-DOqA_BzK.mjs → CreatePage-DfdEecPk.mjs} +2 -2
- package/dist/admin/{CreatePage-DOqA_BzK.mjs.map → CreatePage-DfdEecPk.mjs.map} +1 -1
- package/dist/admin/{CreatePage-XayJSP6L.js → CreatePage-yGgGidu3.js} +2 -2
- package/dist/admin/{CreatePage-XayJSP6L.js.map → CreatePage-yGgGidu3.js.map} +1 -1
- package/dist/admin/{CreateView-CgQC_6cj.js → CreateView-CUFaRabp.js} +2 -2
- package/dist/admin/{CreateView-CgQC_6cj.js.map → CreateView-CUFaRabp.js.map} +1 -1
- package/dist/admin/{CreateView-BiuRhpJD.mjs → CreateView-Cj52m1Cx.mjs} +2 -2
- package/dist/admin/{CreateView-BiuRhpJD.mjs.map → CreateView-Cj52m1Cx.mjs.map} +1 -1
- package/dist/admin/{CreateView-Bu6ccXB2.js → CreateView-DLtLs1ax.js} +2 -2
- package/dist/admin/{CreateView-Bu6ccXB2.js.map → CreateView-DLtLs1ax.js.map} +1 -1
- package/dist/admin/{CreateView-wif5_cYe.mjs → CreateView-DuIhzj5r.mjs} +2 -2
- package/dist/admin/{CreateView-wif5_cYe.mjs.map → CreateView-DuIhzj5r.mjs.map} +1 -1
- package/dist/admin/{EditPage-1oJuB0Lg.js → EditPage-BFnBbj_O.js} +3 -3
- package/dist/admin/{EditPage-1oJuB0Lg.js.map → EditPage-BFnBbj_O.js.map} +1 -1
- package/dist/admin/{EditPage-BAGlyDIb.js → EditPage-BKCr-_61.js} +3 -3
- package/dist/admin/{EditPage-BAGlyDIb.js.map → EditPage-BKCr-_61.js.map} +1 -1
- package/dist/admin/{EditPage-CkLE0e4n.js → EditPage-B_teX0_W.js} +5 -5
- package/dist/admin/{EditPage-CkLE0e4n.js.map → EditPage-B_teX0_W.js.map} +1 -1
- package/dist/admin/{EditPage-BN85cZA1.mjs → EditPage-DKw8vquT.mjs} +5 -5
- package/dist/admin/{EditPage-BN85cZA1.mjs.map → EditPage-DKw8vquT.mjs.map} +1 -1
- package/dist/admin/{EditPage-CNJSkExi.mjs → EditPage-DmCwq9lg.mjs} +3 -3
- package/dist/admin/{EditPage-CNJSkExi.mjs.map → EditPage-DmCwq9lg.mjs.map} +1 -1
- package/dist/admin/{EditPage-BzCbACoy.mjs → EditPage-tM4j7ixi.mjs} +3 -3
- package/dist/admin/{EditPage-BzCbACoy.mjs.map → EditPage-tM4j7ixi.mjs.map} +1 -1
- package/dist/admin/{EditView-jM9DrszP.js → EditView-CcXlJX5m.js} +3 -3
- package/dist/admin/{EditView-jM9DrszP.js.map → EditView-CcXlJX5m.js.map} +1 -1
- package/dist/admin/{EditView-CwfC4Kyq.mjs → EditView-F6qKlUJj.mjs} +3 -3
- package/dist/admin/{EditView-CwfC4Kyq.mjs.map → EditView-F6qKlUJj.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-DBwII2Z1.js → EditViewPage-D8leQHjU.js} +3 -3
- package/dist/admin/{EditViewPage-DBwII2Z1.js.map → EditViewPage-D8leQHjU.js.map} +1 -1
- package/dist/admin/{EditViewPage-C4XvyJjA.mjs → EditViewPage-WRs6SDk3.mjs} +3 -3
- package/dist/admin/{EditViewPage-C4XvyJjA.mjs.map → EditViewPage-WRs6SDk3.mjs.map} +1 -1
- package/dist/admin/{EventsTable-nmBcr8O2.mjs → EventsTable-1Lwyttx6.mjs} +2 -2
- package/dist/admin/{EventsTable-nmBcr8O2.mjs.map → EventsTable-1Lwyttx6.mjs.map} +1 -1
- package/dist/admin/{EventsTable-BhvNeNbz.js → EventsTable-QXXuWW3U.js} +2 -2
- package/dist/admin/{EventsTable-BhvNeNbz.js.map → EventsTable-QXXuWW3U.js.map} +1 -1
- package/dist/admin/{HomePage-u_7g2ehv.mjs → HomePage-BcKeFpnc.mjs} +2 -2
- package/dist/admin/{HomePage-u_7g2ehv.mjs.map → HomePage-BcKeFpnc.mjs.map} +1 -1
- package/dist/admin/{HomePage-CcfzjKvs.js → HomePage-CANB1HEn.js} +2 -2
- package/dist/admin/{HomePage-CcfzjKvs.js.map → HomePage-CANB1HEn.js.map} +1 -1
- package/dist/admin/{HomePage-BjDpVjNN.mjs → HomePage-idSom5Sg.mjs} +3 -3
- package/dist/admin/{HomePage-BjDpVjNN.mjs.map → HomePage-idSom5Sg.mjs.map} +1 -1
- package/dist/admin/{HomePage-Cwwd04uv.js → HomePage-lO_3h0i-.js} +3 -3
- package/dist/admin/{HomePage-Cwwd04uv.js.map → HomePage-lO_3h0i-.js.map} +1 -1
- package/dist/admin/{InstalledPlugins-svKeZGyA.js → InstalledPlugins-B_bI-CBz.js} +2 -2
- package/dist/admin/{InstalledPlugins-svKeZGyA.js.map → InstalledPlugins-B_bI-CBz.js.map} +1 -1
- package/dist/admin/{InstalledPlugins-BgEOmGBX.mjs → InstalledPlugins-Chyea6Jt.mjs} +2 -2
- package/dist/admin/{InstalledPlugins-BgEOmGBX.mjs.map → InstalledPlugins-Chyea6Jt.mjs.map} +1 -1
- package/dist/admin/{Layout-DmGwmGNh.js → Layout-CcWr6va_.js} +3 -3
- package/dist/admin/{Layout-DmGwmGNh.js.map → Layout-CcWr6va_.js.map} +1 -1
- package/dist/admin/{Layout-B3ZQJM5Z.mjs → Layout-TkS64Yl1.mjs} +3 -3
- package/dist/admin/{Layout-B3ZQJM5Z.mjs.map → Layout-TkS64Yl1.mjs.map} +1 -1
- package/dist/admin/{ListPage-4VI90pe4.mjs → ListPage-6AqXEX4y.mjs} +5 -5
- package/dist/admin/{ListPage-4VI90pe4.mjs.map → ListPage-6AqXEX4y.mjs.map} +1 -1
- package/dist/admin/{ListPage-BkzM6Uvl.js → ListPage-BEQmwBHz.js} +2 -2
- package/dist/admin/{ListPage-BkzM6Uvl.js.map → ListPage-BEQmwBHz.js.map} +1 -1
- package/dist/admin/{ListPage-DmmS9EoG.mjs → ListPage-BX6bIW1R.mjs} +3 -3
- package/dist/admin/{ListPage-DmmS9EoG.mjs.map → ListPage-BX6bIW1R.mjs.map} +1 -1
- package/dist/admin/{ListPage-Bku8n3kg.js → ListPage-BcZC7g5g.js} +3 -3
- package/dist/admin/{ListPage-Bku8n3kg.js.map → ListPage-BcZC7g5g.js.map} +1 -1
- package/dist/admin/{ListPage-Diz-6e6P.mjs → ListPage-CD6ZO-Wp.mjs} +2 -2
- package/dist/admin/{ListPage-Diz-6e6P.mjs.map → ListPage-CD6ZO-Wp.mjs.map} +1 -1
- package/dist/admin/{ListPage-36QpdmV1.js → ListPage-CP7hcUqH.js} +2 -2
- package/dist/admin/{ListPage-36QpdmV1.js.map → ListPage-CP7hcUqH.js.map} +1 -1
- package/dist/admin/{ListPage-GzmLDWNE.js → ListPage-DRfqG74z.js} +2 -2
- package/dist/admin/{ListPage-GzmLDWNE.js.map → ListPage-DRfqG74z.js.map} +1 -1
- package/dist/admin/{ListPage-B_bBu40k.js → ListPage-DmmTUnVG.js} +5 -5
- package/dist/admin/{ListPage-B_bBu40k.js.map → ListPage-DmmTUnVG.js.map} +1 -1
- package/dist/admin/{ListPage-DC6ePb2s.mjs → ListPage-IsE6pk54.mjs} +2 -2
- package/dist/admin/{ListPage-DC6ePb2s.mjs.map → ListPage-IsE6pk54.mjs.map} +1 -1
- package/dist/admin/{ListPage-CeZG3tWl.mjs → ListPage-w3LcIP0T.mjs} +2 -2
- package/dist/admin/{ListPage-CeZG3tWl.mjs.map → ListPage-w3LcIP0T.mjs.map} +1 -1
- package/dist/admin/{ListView-DYl24QDA.js → ListView-CGwmzT8M.js} +3 -3
- package/dist/admin/{ListView-DYl24QDA.js.map → ListView-CGwmzT8M.js.map} +1 -1
- package/dist/admin/{ListView-BUJkkfUH.mjs → ListView-Df-gIOv9.mjs} +3 -3
- package/dist/admin/{ListView-BUJkkfUH.mjs.map → ListView-Df-gIOv9.mjs.map} +1 -1
- package/dist/admin/{ListView-iLU-wzu0.js → ListView-buo5Vb7Z.js} +3 -3
- package/dist/admin/{ListView-iLU-wzu0.js.map → ListView-buo5Vb7Z.js.map} +1 -1
- package/dist/admin/{ListView-DBeqVkIs.mjs → ListView-fOGcorFr.mjs} +3 -3
- package/dist/admin/{ListView-DBeqVkIs.mjs.map → ListView-fOGcorFr.mjs.map} +1 -1
- package/dist/admin/{Login-BJEtLuhd.js → Login-LmIF0yHO.js} +2 -2
- package/dist/admin/{Login-BJEtLuhd.js.map → Login-LmIF0yHO.js.map} +1 -1
- package/dist/admin/{Login-C7l45L76.mjs → Login-wOwE4WT_.mjs} +2 -2
- package/dist/admin/{Login-C7l45L76.mjs.map → Login-wOwE4WT_.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-CJh9wFOI.mjs → MagicLinkEE-BNB-I3Lc.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-CJh9wFOI.mjs.map → MagicLinkEE-BNB-I3Lc.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-BN6UlBxF.js → MagicLinkEE-CzBtZH-_.js} +3 -3
- package/dist/admin/{MagicLinkEE-BN6UlBxF.js.map → MagicLinkEE-CzBtZH-_.js.map} +1 -1
- package/dist/admin/{MarketplacePage-Cjj0kzPx.mjs → MarketplacePage-ChPIl3Lm.mjs} +2 -2
- package/dist/admin/{MarketplacePage-Cjj0kzPx.mjs.map → MarketplacePage-ChPIl3Lm.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-D1iVBCOI.js → MarketplacePage-YIaJ1AaI.js} +2 -2
- package/dist/admin/{MarketplacePage-D1iVBCOI.js.map → MarketplacePage-YIaJ1AaI.js.map} +1 -1
- package/dist/admin/{ProfilePage-w34iMGur.js → ProfilePage-CqenohKy.js} +3 -3
- package/dist/admin/{ProfilePage-w34iMGur.js.map → ProfilePage-CqenohKy.js.map} +1 -1
- package/dist/admin/{ProfilePage-Rr-rm8pV.mjs → ProfilePage-DuSEvyq3.mjs} +3 -3
- package/dist/admin/{ProfilePage-Rr-rm8pV.mjs.map → ProfilePage-DuSEvyq3.mjs.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-Dw4L-QFy.mjs → PurchaseAuditLogs-C3Umrg-5.mjs} +2 -2
- package/dist/admin/{PurchaseAuditLogs-Dw4L-QFy.mjs.map → PurchaseAuditLogs-C3Umrg-5.mjs.map} +1 -1
- package/dist/admin/{PurchaseAuditLogs-B_hQDE4Q.js → PurchaseAuditLogs-CvvCh9tm.js} +2 -2
- package/dist/admin/{PurchaseAuditLogs-B_hQDE4Q.js.map → PurchaseAuditLogs-CvvCh9tm.js.map} +1 -1
- package/dist/admin/{PurchaseContentHistory-DC3bIvQp.mjs → PurchaseContentHistory-BuIZGUim.mjs} +2 -2
- package/dist/admin/{PurchaseContentHistory-DC3bIvQp.mjs.map → PurchaseContentHistory-BuIZGUim.mjs.map} +1 -1
- package/dist/admin/{PurchaseContentHistory-cmmA1PTq.js → PurchaseContentHistory-CYt2Dx35.js} +2 -2
- package/dist/admin/{PurchaseContentHistory-cmmA1PTq.js.map → PurchaseContentHistory-CYt2Dx35.js.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-u1Dn-vWC.js → PurchaseSingleSignOn-LeXIHRh2.js} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-u1Dn-vWC.js.map → PurchaseSingleSignOn-LeXIHRh2.js.map} +1 -1
- package/dist/admin/{PurchaseSingleSignOn-CLL-FqfU.mjs → PurchaseSingleSignOn-m3wEJIYm.mjs} +2 -2
- package/dist/admin/{PurchaseSingleSignOn-CLL-FqfU.mjs.map → PurchaseSingleSignOn-m3wEJIYm.mjs.map} +1 -1
- package/dist/admin/{SelectRoles-CJxgL7wv.mjs → SelectRoles-C04C6G8i.mjs} +3 -3
- package/dist/admin/{SelectRoles-CJxgL7wv.mjs.map → SelectRoles-C04C6G8i.mjs.map} +1 -1
- package/dist/admin/{SelectRoles-PpNFFjHG.js → SelectRoles-WiYb5Fjg.js} +3 -3
- package/dist/admin/{SelectRoles-PpNFFjHG.js.map → SelectRoles-WiYb5Fjg.js.map} +1 -1
- package/dist/admin/{SingleSignOnPage-BalYHb9C.mjs → SingleSignOnPage-B7OU11gd.mjs} +3 -3
- package/dist/admin/{SingleSignOnPage-BalYHb9C.mjs.map → SingleSignOnPage-B7OU11gd.mjs.map} +1 -1
- package/dist/admin/{SingleSignOnPage-Da_Jyfd7.js → SingleSignOnPage-BlgE_vrE.js} +3 -3
- package/dist/admin/{SingleSignOnPage-Da_Jyfd7.js.map → SingleSignOnPage-BlgE_vrE.js.map} +1 -1
- package/dist/admin/{Table-CI3evx38.js → Table-BxYY3PX9.js} +2 -2
- package/dist/admin/{Table-CI3evx38.js.map → Table-BxYY3PX9.js.map} +1 -1
- package/dist/admin/{Table-Cy-GLzPL.mjs → Table-C-_pdniw.mjs} +2 -2
- package/dist/admin/{Table-Cy-GLzPL.mjs.map → Table-C-_pdniw.mjs.map} +1 -1
- package/dist/admin/{TokenTypeSelect-Dp4j35gM.js → TokenTypeSelect-4pU-xqqr.js} +2 -2
- package/dist/admin/{TokenTypeSelect-Dp4j35gM.js.map → TokenTypeSelect-4pU-xqqr.js.map} +1 -1
- package/dist/admin/{TokenTypeSelect-BVenRIH1.mjs → TokenTypeSelect-Cmc58ea-.mjs} +2 -2
- package/dist/admin/{TokenTypeSelect-BVenRIH1.mjs.map → TokenTypeSelect-Cmc58ea-.mjs.map} +1 -1
- package/dist/admin/{UseCasePage-L72HnaAQ.js → UseCasePage-BfwS_z1T.js} +2 -2
- package/dist/admin/{UseCasePage-L72HnaAQ.js.map → UseCasePage-BfwS_z1T.js.map} +1 -1
- package/dist/admin/{UseCasePage-BBSvDqnp.mjs → UseCasePage-DFRtsARG.mjs} +2 -2
- package/dist/admin/{UseCasePage-BBSvDqnp.mjs.map → UseCasePage-DFRtsARG.mjs.map} +1 -1
- package/dist/admin/{constants-DgAIQgtX.js → constants-BQLsELai.js} +2 -2
- package/dist/admin/{constants-DgAIQgtX.js.map → constants-BQLsELai.js.map} +1 -1
- package/dist/admin/{constants-CL6NsCNz.mjs → constants-CV2faKSp.mjs} +2 -2
- package/dist/admin/{constants-CL6NsCNz.mjs.map → constants-CV2faKSp.mjs.map} +1 -1
- package/dist/admin/{index-CV0X429t.mjs → index-Cn5HftCc.mjs} +57 -43
- package/dist/admin/index-Cn5HftCc.mjs.map +1 -0
- package/dist/admin/{index-DIfoFau6.js → index-u_GcMlYH.js} +57 -43
- package/dist/admin/index-u_GcMlYH.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/FormInputs/Date.d.ts +2 -1
- package/dist/admin/{useAdminRoles-Da1h27pK.mjs → useAdminRoles-DHmyH8OJ.mjs} +2 -2
- package/dist/admin/{useAdminRoles-Da1h27pK.mjs.map → useAdminRoles-DHmyH8OJ.mjs.map} +1 -1
- package/dist/admin/{useAdminRoles-CCllA7O2.js → useAdminRoles-FWDpKtmj.js} +2 -2
- package/dist/admin/{useAdminRoles-CCllA7O2.js.map → useAdminRoles-FWDpKtmj.js.map} +1 -1
- package/dist/admin/{validation-Dm_fjTrd.mjs → validation-B59Lo6xw.mjs} +2 -2
- package/dist/admin/{validation-Dm_fjTrd.mjs.map → validation-B59Lo6xw.mjs.map} +1 -1
- package/dist/admin/{validation-CWoP-BdZ.js → validation-BCuQyMAN.js} +2 -2
- package/dist/admin/{validation-CWoP-BdZ.js.map → validation-BCuQyMAN.js.map} +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts +1 -1
- package/dist/ee/server/src/services/persist-tables.d.ts.map +1 -1
- package/dist/package.json.d.ts +7 -7
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/package.json +7 -7
- package/dist/admin/index-CV0X429t.mjs.map +0 -1
- package/dist/admin/index-DIfoFau6.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditView-jM9DrszP.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </Grid.Item>\n <Grid.Item key=\"permissions\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["yup","translatedErrors","useIntl","useNotification","useNavigate","useLocation","React","useTracking","useGuidedTour","useTypedSelector","useRBAC","useMatch","useAPIErrorHandler","TRANSFER_TOKEN_TYPE","useGetTransferTokenQuery","useCreateTransferTokenMutation","useUpdateTransferTokenMutation","permissions","isBaseQueryError","jsx","Page","jsxs","Formik","Form","FormHead","Layouts","Flex","TokenBox","Box","Typography","Grid","TokenName","TokenDescription","LifeSpanInput","TokenTypeSelect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditView-CcXlJX5m.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </Grid.Item>\n <Grid.Item key=\"permissions\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["yup","translatedErrors","useIntl","useNotification","useNavigate","useLocation","React","useTracking","useGuidedTour","useTypedSelector","useRBAC","useMatch","useAPIErrorHandler","TRANSFER_TOKEN_TYPE","useGetTransferTokenQuery","useCreateTransferTokenMutation","useUpdateTransferTokenMutation","permissions","isBaseQueryError","jsx","Page","jsxs","Formik","Form","FormHead","Layouts","Flex","TokenBox","Box","Typography","Grid","TokenName","TokenDescription","LifeSpanInput","TokenTypeSelect"],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@ import { useIntl } from 'react-intl';
|
|
|
6
6
|
import { useNavigate, useLocation, useMatch } from 'react-router-dom';
|
|
7
7
|
import * as yup from 'yup';
|
|
8
8
|
import { b as useTypedSelector, P as Page, a as useNotification, c as useTracking, m as useGuidedTour, k as useRBAC, e as useAPIErrorHandler } from './Theme-5Y8Pi0Wm.mjs';
|
|
9
|
-
import { e as errorsTrads, b as Layouts } from './index-
|
|
9
|
+
import { e as errorsTrads, b as Layouts } from './index-Cn5HftCc.mjs';
|
|
10
10
|
import { u as useGetTransferTokenQuery, a as useCreateTransferTokenMutation, b as useUpdateTransferTokenMutation } from './transferTokens-CQP13miB.mjs';
|
|
11
11
|
import { i as isBaseQueryError } from './admin-DOzK8yjX.mjs';
|
|
12
12
|
import { T as TRANSFER_TOKEN_TYPE } from './constants-CRj0ViV1.mjs';
|
|
13
|
-
import { F as FormHead, T as TokenBox, a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect } from './TokenTypeSelect-
|
|
13
|
+
import { F as FormHead, T as TokenBox, a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect } from './TokenTypeSelect-Cmc58ea-.mjs';
|
|
14
14
|
|
|
15
15
|
const schema = yup.object().shape({
|
|
16
16
|
name: yup.string().max(100).required(errorsTrads.required.id),
|
|
@@ -328,4 +328,4 @@ const FormTransferTokenContainer = ({
|
|
|
328
328
|
};
|
|
329
329
|
|
|
330
330
|
export { EditView, ProtectedEditView };
|
|
331
|
-
//# sourceMappingURL=EditView-
|
|
331
|
+
//# sourceMappingURL=EditView-F6qKlUJj.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditView-CwfC4Kyq.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </Grid.Item>\n <Grid.Item key=\"permissions\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["translatedErrors","permissions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditView-F6qKlUJj.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/EditView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Grid, Typography } from '@strapi/design-system';\nimport { Formik, Form, FormikErrors, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate, useMatch } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { useGuidedTour } from '../../../../components/GuidedTour/Provider';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport {\n useCreateTransferTokenMutation,\n useGetTransferTokenQuery,\n useUpdateTransferTokenMutation,\n} from '../../../../services/transferTokens';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../components/Tokens/constants';\nimport { FormHead } from '../../components/Tokens/FormHead';\nimport { LifeSpanInput } from '../../components/Tokens/LifeSpanInput';\nimport { TokenBox } from '../../components/Tokens/TokenBox';\nimport { TokenDescription } from '../../components/Tokens/TokenDescription';\nimport { TokenName } from '../../components/Tokens/TokenName';\nimport { TokenTypeSelect } from '../../components/Tokens/TokenTypeSelect';\n\nimport type {\n TransferToken,\n SanitizedTransferToken,\n} from '../../../../../../shared/contracts/transfer';\n\nconst schema = yup.object().shape({\n name: yup.string().max(100).required(translatedErrors.required.id),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required.id),\n permissions: yup.string().required(translatedErrors.required.id),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditView = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { state: locationState } = useLocation();\n const [transferToken, setTransferToken] = React.useState<\n TransferToken | SanitizedTransferToken | null\n >(\n locationState && 'accessKey' in locationState.transferToken\n ? {\n ...locationState.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const setCurrentStep = useGuidedTour('EditView', (state) => state.setCurrentStep);\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens']\n );\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions);\n const match = useMatch('/settings/transfer-tokens/:id');\n\n const id = match?.params?.id;\n const isCreating = id === 'create';\n\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n React.useEffect(() => {\n trackUsage(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating, trackUsage]);\n\n const { data, error } = useGetTransferTokenQuery(id!, {\n skip: isCreating || transferToken !== null || !id,\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n React.useEffect(() => {\n if (data) {\n setTransferToken(data);\n }\n }, [data]);\n\n const [createToken] = useCreateTransferTokenMutation();\n const [updateToken] = useUpdateTransferTokenMutation();\n\n const handleSubmit = async (body: FormValues, formik: FormikHelpers<FormValues>) => {\n trackUsage(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n const permissions = body.permissions.split('-');\n\n const isPermissionsTransferPermission = (\n permission: string[]\n ): permission is Array<'push' | 'pull'> => {\n if (permission.length === 1) {\n return permission[0] === 'push' || permission[0] === 'pull';\n }\n\n return permission[0] === 'push' && permission[1] === 'pull';\n };\n\n // this type-guard is necessary to satisfy the type for `permissions` in the request body,\n // because String.split returns stringp[]\n if (isPermissionsTransferPermission(permissions)) {\n try {\n if (isCreating) {\n const res = await createToken({\n ...body,\n // lifespan must be \"null\" for unlimited (0 would mean instantly expired and isn't accepted)\n lifespan:\n body?.lifespan && body.lifespan !== '0'\n ? parseInt(body.lifespan.toString(), 10)\n : null,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n }),\n });\n\n trackUsage('didCreateToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n\n navigate(`../transfer-tokens/${res.data.id.toString()}`, {\n replace: true,\n state: { transferToken: res.data },\n });\n } else {\n const res = await updateToken({\n id: id!,\n name: body.name,\n description: body.description,\n permissions,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n setTransferToken(res.data);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsage('didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n }\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Transfer Tokens',\n }\n )}\n </Page.Title>\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={\n {\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan || null,\n /**\n * We need to cast the permissions to satisfy the type for `permissions`\n * in the request body incase we don't have a transferToken and instead\n * use an empty string.\n */\n permissions: (transferToken?.permissions.join('-') ?? '') as FormValues['permissions'],\n } satisfies FormValues\n }\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'TokenCreate Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {transferToken &&\n Boolean(transferToken?.name) &&\n 'accessKey' in transferToken && (\n <TokenBox token={transferToken.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].read\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * FormTransferTokenContainer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FormValues extends Pick<TransferToken, 'description' | 'name' | 'lifespan'> {\n permissions: Extract<TransferToken['permissions'][number], string>;\n}\n\ninterface FormTransferTokenContainerProps {\n errors: FormikErrors<FormValues>;\n onChange: ({ target: { name, value } }: { target: { name: string; value: string } }) => void;\n canEditInputs: boolean;\n values: FormValues;\n isCreating: boolean;\n transferToken: Partial<TransferToken> | null;\n}\n\nconst FormTransferTokenContainer = ({\n errors = {},\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken = {},\n}: FormTransferTokenContainerProps) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid.Root gap={5}>\n <Grid.Item key=\"name\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenName\n error={errors['name']}\n value={values['name']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"description\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenDescription\n error={errors['description']}\n value={values['description']}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </Grid.Item>\n <Grid.Item key=\"lifespan\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LifeSpanInput\n isCreating={isCreating}\n error={errors['lifespan']}\n value={values['lifespan']}\n onChange={onChange}\n token={transferToken}\n />\n </Grid.Item>\n <Grid.Item key=\"permissions\" col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <TokenTypeSelect\n name=\"permissions\"\n value={values['permissions']}\n error={errors['permissions']}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n // @ts-expect-error – DS Select passes number | string, will be fixed in V2\n onChange={(value: string) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { EditView, ProtectedEditView };\n"],"names":["translatedErrors","permissions"],"mappings":"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"}
|
|
@@ -9,11 +9,11 @@ const formik = require('formik');
|
|
|
9
9
|
const reactIntl = require('react-intl');
|
|
10
10
|
const reactRouterDom = require('react-router-dom');
|
|
11
11
|
const Theme = require('./Theme-DWGZX5tv.js');
|
|
12
|
-
const index = require('./index-
|
|
12
|
+
const index = require('./index-u_GcMlYH.js');
|
|
13
13
|
const apiTokens = require('./apiTokens-rbJHW5Y2.js');
|
|
14
14
|
const admin = require('./admin-DRnq5SAg.js');
|
|
15
15
|
const constants = require('./constants-DF68OPrs.js');
|
|
16
|
-
const TokenTypeSelect = require('./TokenTypeSelect-
|
|
16
|
+
const TokenTypeSelect = require('./TokenTypeSelect-4pU-xqqr.js');
|
|
17
17
|
const reactContext = require('@radix-ui/react-context');
|
|
18
18
|
const map = require('lodash/map');
|
|
19
19
|
const tail = require('lodash/tail');
|
|
@@ -870,4 +870,4 @@ const ProtectedEditView = () => {
|
|
|
870
870
|
|
|
871
871
|
exports.EditView = EditView;
|
|
872
872
|
exports.ProtectedEditView = ProtectedEditView;
|
|
873
|
-
//# sourceMappingURL=EditViewPage-
|
|
873
|
+
//# sourceMappingURL=EditViewPage-D8leQHjU.js.map
|