@strapi/admin 5.0.0 → 5.0.1

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.
Files changed (169) hide show
  1. package/dist/admin/{ApplicationInfoPage-AAIv_ZkF.mjs → ApplicationInfoPage-FPcBalFr.mjs} +2 -2
  2. package/dist/admin/{ApplicationInfoPage-AAIv_ZkF.mjs.map → ApplicationInfoPage-FPcBalFr.mjs.map} +1 -1
  3. package/dist/admin/{ApplicationInfoPage-bkWa99An.js → ApplicationInfoPage-hY4yez-z.js} +2 -2
  4. package/dist/admin/{ApplicationInfoPage-bkWa99An.js.map → ApplicationInfoPage-hY4yez-z.js.map} +1 -1
  5. package/dist/admin/{AuthenticatedLayout-J22BBdYe.mjs → AuthenticatedLayout-WfWtk2vt.mjs} +4 -4
  6. package/dist/admin/{AuthenticatedLayout-J22BBdYe.mjs.map → AuthenticatedLayout-WfWtk2vt.mjs.map} +1 -1
  7. package/dist/admin/{AuthenticatedLayout-ZAXB7o93.js → AuthenticatedLayout-_fHeS86w.js} +4 -4
  8. package/dist/admin/{AuthenticatedLayout-ZAXB7o93.js.map → AuthenticatedLayout-_fHeS86w.js.map} +1 -1
  9. package/dist/admin/{CreatePage-3V_sa8A4.js → CreatePage-2iQ7FkkX.js} +2 -2
  10. package/dist/admin/{CreatePage-3V_sa8A4.js.map → CreatePage-2iQ7FkkX.js.map} +1 -1
  11. package/dist/admin/{CreatePage-zzbF8IhD.js → CreatePage-60fNdNfa.js} +2 -2
  12. package/dist/admin/{CreatePage-zzbF8IhD.js.map → CreatePage-60fNdNfa.js.map} +1 -1
  13. package/dist/admin/{CreatePage-5WzWwepG.mjs → CreatePage-pPnHpatu.mjs} +2 -2
  14. package/dist/admin/{CreatePage-5WzWwepG.mjs.map → CreatePage-pPnHpatu.mjs.map} +1 -1
  15. package/dist/admin/{CreatePage-hEdR3uWK.mjs → CreatePage-z6N1v5X5.mjs} +2 -2
  16. package/dist/admin/{CreatePage-hEdR3uWK.mjs.map → CreatePage-z6N1v5X5.mjs.map} +1 -1
  17. package/dist/admin/{CreateView-5EC5Yv96.js → CreateView-18WQPz4-.js} +2 -2
  18. package/dist/admin/{CreateView-5EC5Yv96.js.map → CreateView-18WQPz4-.js.map} +1 -1
  19. package/dist/admin/{CreateView-OjaERndy.mjs → CreateView-4UcrE6vq.mjs} +2 -2
  20. package/dist/admin/{CreateView-OjaERndy.mjs.map → CreateView-4UcrE6vq.mjs.map} +1 -1
  21. package/dist/admin/{CreateView-S8gDQUCt.mjs → CreateView-8k0KvpoK.mjs} +2 -2
  22. package/dist/admin/{CreateView-S8gDQUCt.mjs.map → CreateView-8k0KvpoK.mjs.map} +1 -1
  23. package/dist/admin/{CreateView-ZQEmP8-n.js → CreateView-YbqcAK_f.js} +2 -2
  24. package/dist/admin/{CreateView-ZQEmP8-n.js.map → CreateView-YbqcAK_f.js.map} +1 -1
  25. package/dist/admin/{EditPage-7fMqo-c-.mjs → EditPage-Fu5aqX9h.mjs} +3 -3
  26. package/dist/admin/{EditPage-7fMqo-c-.mjs.map → EditPage-Fu5aqX9h.mjs.map} +1 -1
  27. package/dist/admin/{EditPage-OFlfNGv0.js → EditPage-H3D08t-N.js} +3 -3
  28. package/dist/admin/{EditPage-OFlfNGv0.js.map → EditPage-H3D08t-N.js.map} +1 -1
  29. package/dist/admin/{EditPage-493L2-vV.mjs → EditPage-K8aawKOf.mjs} +3 -3
  30. package/dist/admin/{EditPage-493L2-vV.mjs.map → EditPage-K8aawKOf.mjs.map} +1 -1
  31. package/dist/admin/{EditPage-gJJgatNc.js → EditPage-U4UN4MeE.js} +5 -5
  32. package/dist/admin/{EditPage-gJJgatNc.js.map → EditPage-U4UN4MeE.js.map} +1 -1
  33. package/dist/admin/{EditPage-akxbKeqK.mjs → EditPage-dZLyVDGx.mjs} +5 -5
  34. package/dist/admin/{EditPage-akxbKeqK.mjs.map → EditPage-dZLyVDGx.mjs.map} +1 -1
  35. package/dist/admin/{EditPage-8T9gBnnc.js → EditPage-ewduoYpT.js} +3 -3
  36. package/dist/admin/{EditPage-8T9gBnnc.js.map → EditPage-ewduoYpT.js.map} +1 -1
  37. package/dist/admin/{EditView-ZJPPeal2.js → EditView-1TEk6oaL.js} +3 -3
  38. package/dist/admin/{EditView-ZJPPeal2.js.map → EditView-1TEk6oaL.js.map} +1 -1
  39. package/dist/admin/{EditView-_QID3gT5.mjs → EditView-xgk-lEu1.mjs} +3 -3
  40. package/dist/admin/{EditView-_QID3gT5.mjs.map → EditView-xgk-lEu1.mjs.map} +1 -1
  41. package/dist/admin/{EditViewPage-zkNmb1zg.mjs → EditViewPage-2CHLYZlY.mjs} +3 -3
  42. package/dist/admin/{EditViewPage-zkNmb1zg.mjs.map → EditViewPage-2CHLYZlY.mjs.map} +1 -1
  43. package/dist/admin/{EditViewPage-_wx5u6QJ.js → EditViewPage-R2kud83M.js} +3 -3
  44. package/dist/admin/{EditViewPage-_wx5u6QJ.js.map → EditViewPage-R2kud83M.js.map} +1 -1
  45. package/dist/admin/{EventsTable-_BT8dIHY.mjs → EventsTable-JJ16vr2h.mjs} +2 -2
  46. package/dist/admin/{EventsTable-_BT8dIHY.mjs.map → EventsTable-JJ16vr2h.mjs.map} +1 -1
  47. package/dist/admin/{EventsTable-31485Cwq.js → EventsTable-fzeOe9NB.js} +2 -2
  48. package/dist/admin/{EventsTable-31485Cwq.js.map → EventsTable-fzeOe9NB.js.map} +1 -1
  49. package/dist/admin/{HomePage-T2yVEfC3.js → HomePage-DB00H9y5.js} +3 -3
  50. package/dist/admin/{HomePage-T2yVEfC3.js.map → HomePage-DB00H9y5.js.map} +1 -1
  51. package/dist/admin/{HomePage-NdId9gqT.mjs → HomePage-EDHzBAy8.mjs} +2 -2
  52. package/dist/admin/{HomePage-NdId9gqT.mjs.map → HomePage-EDHzBAy8.mjs.map} +1 -1
  53. package/dist/admin/{HomePage-yyizKL39.js → HomePage-GsLJ4j4f.js} +2 -2
  54. package/dist/admin/{HomePage-yyizKL39.js.map → HomePage-GsLJ4j4f.js.map} +1 -1
  55. package/dist/admin/{HomePage-LenrY0bj.mjs → HomePage-oz8OSt1B.mjs} +3 -3
  56. package/dist/admin/{HomePage-LenrY0bj.mjs.map → HomePage-oz8OSt1B.mjs.map} +1 -1
  57. package/dist/admin/{InstalledPlugins-spdwM8ub.js → InstalledPlugins-T0ds5aOe.js} +2 -2
  58. package/dist/admin/{InstalledPlugins-spdwM8ub.js.map → InstalledPlugins-T0ds5aOe.js.map} +1 -1
  59. package/dist/admin/{InstalledPlugins-Z_uS95dC.mjs → InstalledPlugins-ngsQKZBi.mjs} +2 -2
  60. package/dist/admin/{InstalledPlugins-Z_uS95dC.mjs.map → InstalledPlugins-ngsQKZBi.mjs.map} +1 -1
  61. package/dist/admin/{Layout-B3TQMQxb.js → Layout-LTVvoQIP.js} +3 -3
  62. package/dist/admin/{Layout-B3TQMQxb.js.map → Layout-LTVvoQIP.js.map} +1 -1
  63. package/dist/admin/{Layout-5lg6USuO.mjs → Layout-dlsF2jYh.mjs} +3 -3
  64. package/dist/admin/{Layout-5lg6USuO.mjs.map → Layout-dlsF2jYh.mjs.map} +1 -1
  65. package/dist/admin/{ListPage--B6TB-mt.mjs → ListPage-4VAaMuov.mjs} +2 -2
  66. package/dist/admin/{ListPage--B6TB-mt.mjs.map → ListPage-4VAaMuov.mjs.map} +1 -1
  67. package/dist/admin/{ListPage-rCkaHmeP.mjs → ListPage-CAAa_iYD.mjs} +3 -3
  68. package/dist/admin/{ListPage-rCkaHmeP.mjs.map → ListPage-CAAa_iYD.mjs.map} +1 -1
  69. package/dist/admin/{ListPage-LIn0aEKt.mjs → ListPage-HjeCNXIL.mjs} +2 -2
  70. package/dist/admin/{ListPage-LIn0aEKt.mjs.map → ListPage-HjeCNXIL.mjs.map} +1 -1
  71. package/dist/admin/{ListPage-y3rcDJX1.js → ListPage-J_zameoY.js} +2 -2
  72. package/dist/admin/{ListPage-y3rcDJX1.js.map → ListPage-J_zameoY.js.map} +1 -1
  73. package/dist/admin/{ListPage-UEsKYDPH.js → ListPage-W_j2UV6e.js} +2 -2
  74. package/dist/admin/{ListPage-UEsKYDPH.js.map → ListPage-W_j2UV6e.js.map} +1 -1
  75. package/dist/admin/{ListPage-vJik-wkj.mjs → ListPage-cMqf3hxn.mjs} +5 -5
  76. package/dist/admin/{ListPage-vJik-wkj.mjs.map → ListPage-cMqf3hxn.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-Hc3VZ9O3.js → ListPage-e_XhqWy-.js} +3 -3
  78. package/dist/admin/{ListPage-Hc3VZ9O3.js.map → ListPage-e_XhqWy-.js.map} +1 -1
  79. package/dist/admin/{ListPage-Ggd99FLO.mjs → ListPage-fE9R8ZE1.mjs} +2 -2
  80. package/dist/admin/{ListPage-Ggd99FLO.mjs.map → ListPage-fE9R8ZE1.mjs.map} +1 -1
  81. package/dist/admin/{ListPage-Vf4xtn8w.js → ListPage-kv14w7sy.js} +2 -2
  82. package/dist/admin/{ListPage-Vf4xtn8w.js.map → ListPage-kv14w7sy.js.map} +1 -1
  83. package/dist/admin/{ListPage-GRLtmRuy.js → ListPage-qj3M7V0W.js} +5 -5
  84. package/dist/admin/{ListPage-GRLtmRuy.js.map → ListPage-qj3M7V0W.js.map} +1 -1
  85. package/dist/admin/{ListView-8pEtfLsu.js → ListView-J3Bd1ZAj.js} +3 -3
  86. package/dist/admin/{ListView-8pEtfLsu.js.map → ListView-J3Bd1ZAj.js.map} +1 -1
  87. package/dist/admin/{ListView-jrsV1wF_.mjs → ListView-JTtPuayE.mjs} +3 -3
  88. package/dist/admin/{ListView-jrsV1wF_.mjs.map → ListView-JTtPuayE.mjs.map} +1 -1
  89. package/dist/admin/{ListView-noYLY_DM.js → ListView-e_rZH3km.js} +3 -3
  90. package/dist/admin/{ListView-noYLY_DM.js.map → ListView-e_rZH3km.js.map} +1 -1
  91. package/dist/admin/{ListView-iCqFRGiO.mjs → ListView-ziItL2Hn.mjs} +3 -3
  92. package/dist/admin/{ListView-iCqFRGiO.mjs.map → ListView-ziItL2Hn.mjs.map} +1 -1
  93. package/dist/admin/{Login-qr72UXGp.js → Login-B5mc1U2m.js} +2 -2
  94. package/dist/admin/{Login-qr72UXGp.js.map → Login-B5mc1U2m.js.map} +1 -1
  95. package/dist/admin/{Login--GgWQano.mjs → Login-STwy4gIQ.mjs} +2 -2
  96. package/dist/admin/{Login--GgWQano.mjs.map → Login-STwy4gIQ.mjs.map} +1 -1
  97. package/dist/admin/{MagicLinkEE-uTufI4yx.js → MagicLinkEE-3PSvKNEX.js} +3 -3
  98. package/dist/admin/{MagicLinkEE-uTufI4yx.js.map → MagicLinkEE-3PSvKNEX.js.map} +1 -1
  99. package/dist/admin/{MagicLinkEE-vQcgXndx.mjs → MagicLinkEE-oXcvyO9m.mjs} +3 -3
  100. package/dist/admin/{MagicLinkEE-vQcgXndx.mjs.map → MagicLinkEE-oXcvyO9m.mjs.map} +1 -1
  101. package/dist/admin/{MarketplacePage-yRWZ54oN.js → MarketplacePage-XkcAwVQL.js} +2 -2
  102. package/dist/admin/{MarketplacePage-yRWZ54oN.js.map → MarketplacePage-XkcAwVQL.js.map} +1 -1
  103. package/dist/admin/{MarketplacePage-LRlL_4ys.mjs → MarketplacePage-s3TgP0pj.mjs} +2 -2
  104. package/dist/admin/{MarketplacePage-LRlL_4ys.mjs.map → MarketplacePage-s3TgP0pj.mjs.map} +1 -1
  105. package/dist/admin/{ProfilePage-voofTYei.mjs → ProfilePage-EPvpBxko.mjs} +3 -3
  106. package/dist/admin/{ProfilePage-voofTYei.mjs.map → ProfilePage-EPvpBxko.mjs.map} +1 -1
  107. package/dist/admin/{ProfilePage-Mte9RhXw.js → ProfilePage-TMGpOFkt.js} +3 -3
  108. package/dist/admin/{ProfilePage-Mte9RhXw.js.map → ProfilePage-TMGpOFkt.js.map} +1 -1
  109. package/dist/admin/{PurchaseAuditLogs-qxVh-U_P.js → PurchaseAuditLogs-HcdrHEM2.js} +2 -2
  110. package/dist/admin/{PurchaseAuditLogs-qxVh-U_P.js.map → PurchaseAuditLogs-HcdrHEM2.js.map} +1 -1
  111. package/dist/admin/{PurchaseAuditLogs-8wmVhLCb.mjs → PurchaseAuditLogs-K2YmR4Il.mjs} +2 -2
  112. package/dist/admin/{PurchaseAuditLogs-8wmVhLCb.mjs.map → PurchaseAuditLogs-K2YmR4Il.mjs.map} +1 -1
  113. package/dist/admin/{PurchaseSingleSignOn-kgjD8gsd.mjs → PurchaseSingleSignOn-sxd54apY.mjs} +2 -2
  114. package/dist/admin/{PurchaseSingleSignOn-kgjD8gsd.mjs.map → PurchaseSingleSignOn-sxd54apY.mjs.map} +1 -1
  115. package/dist/admin/{PurchaseSingleSignOn-ovEsG_Ud.js → PurchaseSingleSignOn-y7p3yZ-b.js} +2 -2
  116. package/dist/admin/{PurchaseSingleSignOn-ovEsG_Ud.js.map → PurchaseSingleSignOn-y7p3yZ-b.js.map} +1 -1
  117. package/dist/admin/{SelectRoles-pjJ11lBU.js → SelectRoles-L8dRONb-.js} +3 -3
  118. package/dist/admin/{SelectRoles-pjJ11lBU.js.map → SelectRoles-L8dRONb-.js.map} +1 -1
  119. package/dist/admin/{SelectRoles-Kzqv2-TI.mjs → SelectRoles-esk6LySb.mjs} +3 -3
  120. package/dist/admin/{SelectRoles-Kzqv2-TI.mjs.map → SelectRoles-esk6LySb.mjs.map} +1 -1
  121. package/dist/admin/{SingleSignOnPage-WjL8NvC5.js → SingleSignOnPage-cih5-oBZ.js} +3 -3
  122. package/dist/admin/{SingleSignOnPage-WjL8NvC5.js.map → SingleSignOnPage-cih5-oBZ.js.map} +1 -1
  123. package/dist/admin/{SingleSignOnPage-p1fTOytT.mjs → SingleSignOnPage-idMTZOuN.mjs} +3 -3
  124. package/dist/admin/{SingleSignOnPage-p1fTOytT.mjs.map → SingleSignOnPage-idMTZOuN.mjs.map} +1 -1
  125. package/dist/admin/{Table-QAvKSSis.js → Table-1mVE67Cd.js} +2 -2
  126. package/dist/admin/{Table-QAvKSSis.js.map → Table-1mVE67Cd.js.map} +1 -1
  127. package/dist/admin/{Table-ARSVxoYe.mjs → Table-wZgpqMG3.mjs} +2 -2
  128. package/dist/admin/{Table-ARSVxoYe.mjs.map → Table-wZgpqMG3.mjs.map} +1 -1
  129. package/dist/admin/{TokenTypeSelect-j-b_9iB9.mjs → TokenTypeSelect-GplqVrbt.mjs} +2 -2
  130. package/dist/admin/{TokenTypeSelect-j-b_9iB9.mjs.map → TokenTypeSelect-GplqVrbt.mjs.map} +1 -1
  131. package/dist/admin/{TokenTypeSelect-biZzRJv2.js → TokenTypeSelect-Itk7isiz.js} +2 -2
  132. package/dist/admin/{TokenTypeSelect-biZzRJv2.js.map → TokenTypeSelect-Itk7isiz.js.map} +1 -1
  133. package/dist/admin/{UseCasePage-hJH0orUl.js → UseCasePage-1SuyjC6w.js} +2 -2
  134. package/dist/admin/{UseCasePage-hJH0orUl.js.map → UseCasePage-1SuyjC6w.js.map} +1 -1
  135. package/dist/admin/{UseCasePage-b2VozaZB.mjs → UseCasePage-QPnZOFrC.mjs} +2 -2
  136. package/dist/admin/{UseCasePage-b2VozaZB.mjs.map → UseCasePage-QPnZOFrC.mjs.map} +1 -1
  137. package/dist/admin/{constants-bgMqSKBQ.js → constants-K5ARNpfV.js} +2 -2
  138. package/dist/admin/{constants-bgMqSKBQ.js.map → constants-K5ARNpfV.js.map} +1 -1
  139. package/dist/admin/{constants-jKuNcrQj.mjs → constants-T5y8alpG.mjs} +2 -2
  140. package/dist/admin/{constants-jKuNcrQj.mjs.map → constants-T5y8alpG.mjs.map} +1 -1
  141. package/dist/admin/en-GB-8ipWI3xp.mjs +6 -0
  142. package/dist/admin/en-GB-8ipWI3xp.mjs.map +1 -0
  143. package/dist/admin/en-GB-vRfq_FQ3.js +10 -0
  144. package/dist/admin/en-GB-vRfq_FQ3.js.map +1 -0
  145. package/dist/admin/{index-hoTsgrwy.mjs → index-QPUYgtlo.mjs} +38 -32
  146. package/dist/admin/index-QPUYgtlo.mjs.map +1 -0
  147. package/dist/admin/{index-we0DbzVF.js → index-YMz7KziV.js} +38 -32
  148. package/dist/admin/index-YMz7KziV.js.map +1 -0
  149. package/dist/admin/index.js +1 -1
  150. package/dist/admin/index.mjs +1 -1
  151. package/dist/admin/src/translations/languageNativeNames.d.ts +1 -0
  152. package/dist/admin/{useAdminRoles-uRNvxyDX.mjs → useAdminRoles-DX1MOKC9.mjs} +2 -2
  153. package/dist/admin/{useAdminRoles-uRNvxyDX.mjs.map → useAdminRoles-DX1MOKC9.mjs.map} +1 -1
  154. package/dist/admin/{useAdminRoles-0gM7o3f2.js → useAdminRoles-nNC9r0dz.js} +2 -2
  155. package/dist/admin/{useAdminRoles-0gM7o3f2.js.map → useAdminRoles-nNC9r0dz.js.map} +1 -1
  156. package/dist/admin/{validation-VuxEFW4W.js → validation-AQCTfU6y.js} +2 -2
  157. package/dist/admin/{validation-VuxEFW4W.js.map → validation-AQCTfU6y.js.map} +1 -1
  158. package/dist/admin/{validation-OR7t0a-C.mjs → validation-tnv2QISi.mjs} +2 -2
  159. package/dist/admin/{validation-OR7t0a-C.mjs.map → validation-tnv2QISi.mjs.map} +1 -1
  160. package/dist/ee/server/src/services/metrics.d.ts.map +1 -1
  161. package/dist/package.json.d.ts +2 -2
  162. package/dist/server/index.js +8 -2
  163. package/dist/server/index.js.map +1 -1
  164. package/dist/server/index.mjs +8 -2
  165. package/dist/server/index.mjs.map +1 -1
  166. package/dist/server/src/services/metrics.d.ts.map +1 -1
  167. package/package.json +9 -9
  168. package/dist/admin/index-hoTsgrwy.mjs.map +0 -1
  169. package/dist/admin/index-we0DbzVF.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EditView-ZJPPeal2.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-1TEk6oaL.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-frC82ceE.mjs';
9
- import { e as errorsTrads, b as Layouts } from './index-hoTsgrwy.mjs';
9
+ import { e as errorsTrads, b as Layouts } from './index-QPUYgtlo.mjs';
10
10
  import { u as useGetTransferTokenQuery, a as useCreateTransferTokenMutation, b as useUpdateTransferTokenMutation } from './transferTokens-v8tNpI_l.mjs';
11
11
  import { i as isBaseQueryError } from './admin-GZ-AP2T0.mjs';
12
12
  import { T as TRANSFER_TOKEN_TYPE } from './constants-EoEtSd4i.mjs';
13
- import { F as FormHead, T as TokenBox, a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect } from './TokenTypeSelect-j-b_9iB9.mjs';
13
+ import { F as FormHead, T as TokenBox, a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect } from './TokenTypeSelect-GplqVrbt.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-_QID3gT5.mjs.map
331
+ //# sourceMappingURL=EditView-xgk-lEu1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditView-_QID3gT5.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-xgk-lEu1.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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"}
@@ -5,11 +5,11 @@ import { Formik, Form } from 'formik';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useLocation, useMatch, useNavigate } from 'react-router-dom';
7
7
  import { b as useTypedSelector, P as Page, a as useNotification, c as useTracking, m as useGuidedTour, k as useRBAC, e as useAPIErrorHandler } from './Theme-frC82ceE.mjs';
8
- import { e as errorsTrads, b as Layouts } from './index-hoTsgrwy.mjs';
8
+ import { e as errorsTrads, b as Layouts } from './index-QPUYgtlo.mjs';
9
9
  import { b as useGetAPITokenQuery, c as useCreateAPITokenMutation, d as useUpdateAPITokenMutation } from './apiTokens-GQe-GqwZ.mjs';
10
10
  import { a as adminApi, i as isBaseQueryError } from './admin-GZ-AP2T0.mjs';
11
11
  import { A as API_TOKEN_TYPE } from './constants-EoEtSd4i.mjs';
12
- import { a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect, F as FormHead, T as TokenBox } from './TokenTypeSelect-j-b_9iB9.mjs';
12
+ import { a as TokenName, b as TokenDescription, L as LifeSpanInput, c as TokenTypeSelect, F as FormHead, T as TokenBox } from './TokenTypeSelect-GplqVrbt.mjs';
13
13
  import { createContext } from '@radix-ui/react-context';
14
14
  import map from 'lodash/map';
15
15
  import tail from 'lodash/tail';
@@ -838,4 +838,4 @@ const ProtectedEditView = () => {
838
838
  };
839
839
 
840
840
  export { EditView, ProtectedEditView };
841
- //# sourceMappingURL=EditViewPage-zkNmb1zg.mjs.map
841
+ //# sourceMappingURL=EditViewPage-2CHLYZlY.mjs.map