@strapi/admin 5.0.0-beta.8 → 5.0.0-beta.9

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 (188) hide show
  1. package/dist/admin/{ApplicationInfoPage-y-FX7oPO.mjs → ApplicationInfoPage-6PD2owY8.mjs} +2 -2
  2. package/dist/admin/{ApplicationInfoPage-y-FX7oPO.mjs.map → ApplicationInfoPage-6PD2owY8.mjs.map} +1 -1
  3. package/dist/admin/{ApplicationInfoPage-FlIVu3WL.js → ApplicationInfoPage-S18loXTF.js} +2 -2
  4. package/dist/admin/{ApplicationInfoPage-FlIVu3WL.js.map → ApplicationInfoPage-S18loXTF.js.map} +1 -1
  5. package/dist/admin/{AuthResponse-6oCac46I.js → AuthResponse-EiDRhJY8.js} +2 -2
  6. package/dist/admin/AuthResponse-EiDRhJY8.js.map +1 -0
  7. package/dist/admin/{AuthResponse-TKtSIvEM.mjs → AuthResponse-Y4lblDuD.mjs} +2 -2
  8. package/dist/admin/AuthResponse-Y4lblDuD.mjs.map +1 -0
  9. package/dist/admin/{AuthenticatedLayout-QwEem8GL.js → AuthenticatedLayout-MDNNJRPg.js} +10 -10
  10. package/dist/admin/{AuthenticatedLayout-QwEem8GL.js.map → AuthenticatedLayout-MDNNJRPg.js.map} +1 -1
  11. package/dist/admin/{AuthenticatedLayout-qx1Lyy4q.mjs → AuthenticatedLayout-gOaUXjO8.mjs} +10 -10
  12. package/dist/admin/{AuthenticatedLayout-qx1Lyy4q.mjs.map → AuthenticatedLayout-gOaUXjO8.mjs.map} +1 -1
  13. package/dist/admin/{CreatePage-peOfskFg.js → CreatePage-5V60DKB0.js} +3 -3
  14. package/dist/admin/{CreatePage-peOfskFg.js.map → CreatePage-5V60DKB0.js.map} +1 -1
  15. package/dist/admin/{CreatePage-4tMY0ik1.mjs → CreatePage-GD7KENsP.mjs} +2 -2
  16. package/dist/admin/{CreatePage-4tMY0ik1.mjs.map → CreatePage-GD7KENsP.mjs.map} +1 -1
  17. package/dist/admin/{CreatePage-4TW2khkB.js → CreatePage-Z_y-A5xj.js} +2 -2
  18. package/dist/admin/{CreatePage-4TW2khkB.js.map → CreatePage-Z_y-A5xj.js.map} +1 -1
  19. package/dist/admin/{CreatePage-537fJDEU.mjs → CreatePage-puzZjQXr.mjs} +3 -3
  20. package/dist/admin/{CreatePage-537fJDEU.mjs.map → CreatePage-puzZjQXr.mjs.map} +1 -1
  21. package/dist/admin/{CreateView-Ni2CgUVr.js → CreateView-5V271zBl.js} +2 -2
  22. package/dist/admin/{CreateView-Ni2CgUVr.js.map → CreateView-5V271zBl.js.map} +1 -1
  23. package/dist/admin/{CreateView-AaD01TxO.mjs → CreateView-EjqRVjU_.mjs} +2 -2
  24. package/dist/admin/{CreateView-AaD01TxO.mjs.map → CreateView-EjqRVjU_.mjs.map} +1 -1
  25. package/dist/admin/{CreateView-uK14O_jU.js → CreateView-VYprogwB.js} +2 -2
  26. package/dist/admin/{CreateView-uK14O_jU.js.map → CreateView-VYprogwB.js.map} +1 -1
  27. package/dist/admin/{CreateView-EfGicMHg.mjs → CreateView-jM_w7R83.mjs} +2 -2
  28. package/dist/admin/{CreateView-EfGicMHg.mjs.map → CreateView-jM_w7R83.mjs.map} +1 -1
  29. package/dist/admin/{EditPage-g0VOXyKS.mjs → EditPage-8_dXc9y1.mjs} +4 -4
  30. package/dist/admin/{EditPage-g0VOXyKS.mjs.map → EditPage-8_dXc9y1.mjs.map} +1 -1
  31. package/dist/admin/{EditPage-15aToLph.mjs → EditPage-8fk5JEO7.mjs} +4 -4
  32. package/dist/admin/{EditPage-15aToLph.mjs.map → EditPage-8fk5JEO7.mjs.map} +1 -1
  33. package/dist/admin/{EditPage-z7pM9PD2.js → EditPage-HsLjcfgK.js} +4 -4
  34. package/dist/admin/{EditPage-z7pM9PD2.js.map → EditPage-HsLjcfgK.js.map} +1 -1
  35. package/dist/admin/{EditPage-Il4eROQZ.mjs → EditPage-W_qlhF-2.mjs} +5 -5
  36. package/dist/admin/{EditPage-Il4eROQZ.mjs.map → EditPage-W_qlhF-2.mjs.map} +1 -1
  37. package/dist/admin/{EditPage-cmzfgdc5.js → EditPage-WuJtih1X.js} +4 -4
  38. package/dist/admin/{EditPage-cmzfgdc5.js.map → EditPage-WuJtih1X.js.map} +1 -1
  39. package/dist/admin/{EditPage-SrUqHo-J.js → EditPage-vRwS2OJZ.js} +5 -5
  40. package/dist/admin/{EditPage-SrUqHo-J.js.map → EditPage-vRwS2OJZ.js.map} +1 -1
  41. package/dist/admin/{EditView-NOjzvG4n.mjs → EditView-Cac025JW.mjs} +3 -3
  42. package/dist/admin/{EditView-NOjzvG4n.mjs.map → EditView-Cac025JW.mjs.map} +1 -1
  43. package/dist/admin/{EditView-gJfIIjvG.js → EditView-lhhZAQtN.js} +3 -3
  44. package/dist/admin/{EditView-gJfIIjvG.js.map → EditView-lhhZAQtN.js.map} +1 -1
  45. package/dist/admin/{EditViewPage-KEF7ROrG.js → EditViewPage-Q7N1TLU9.js} +3 -3
  46. package/dist/admin/{EditViewPage-KEF7ROrG.js.map → EditViewPage-Q7N1TLU9.js.map} +1 -1
  47. package/dist/admin/{EditViewPage-c3QrE1Hr.mjs → EditViewPage-f56oKqQ-.mjs} +3 -3
  48. package/dist/admin/{EditViewPage-c3QrE1Hr.mjs.map → EditViewPage-f56oKqQ-.mjs.map} +1 -1
  49. package/dist/admin/{EventsTable-x0tiLQ21.mjs → EventsTable-duSraBTj.mjs} +2 -2
  50. package/dist/admin/{EventsTable-x0tiLQ21.mjs.map → EventsTable-duSraBTj.mjs.map} +1 -1
  51. package/dist/admin/{EventsTable-WB2pMyjf.js → EventsTable-y6XT7dVi.js} +2 -2
  52. package/dist/admin/{EventsTable-WB2pMyjf.js.map → EventsTable-y6XT7dVi.js.map} +1 -1
  53. package/dist/admin/{HomePage-eU782NVl.js → HomePage-4Hk9puW_.js} +3 -3
  54. package/dist/admin/{HomePage-eU782NVl.js.map → HomePage-4Hk9puW_.js.map} +1 -1
  55. package/dist/admin/{HomePage-t-i4SXRB.mjs → HomePage-UTLFs-4n.mjs} +2 -2
  56. package/dist/admin/{HomePage-t-i4SXRB.mjs.map → HomePage-UTLFs-4n.mjs.map} +1 -1
  57. package/dist/admin/{HomePage-uzU2Sfu_.mjs → HomePage-d4h0KEnw.mjs} +3 -3
  58. package/dist/admin/{HomePage-uzU2Sfu_.mjs.map → HomePage-d4h0KEnw.mjs.map} +1 -1
  59. package/dist/admin/{HomePage-_HRMXYSc.js → HomePage-vTms2gld.js} +2 -2
  60. package/dist/admin/{HomePage-_HRMXYSc.js.map → HomePage-vTms2gld.js.map} +1 -1
  61. package/dist/admin/{InstalledPluginsPage-gga_OMMI.js → InstalledPluginsPage-9ooKCsS7.js} +2 -2
  62. package/dist/admin/{InstalledPluginsPage-gga_OMMI.js.map → InstalledPluginsPage-9ooKCsS7.js.map} +1 -1
  63. package/dist/admin/{InstalledPluginsPage-j8w6fibY.mjs → InstalledPluginsPage-nCdAsAAu.mjs} +2 -2
  64. package/dist/admin/{InstalledPluginsPage-j8w6fibY.mjs.map → InstalledPluginsPage-nCdAsAAu.mjs.map} +1 -1
  65. package/dist/admin/{Layout-mm5FttWk.mjs → Layout-Ax9QtxH1.mjs} +3 -3
  66. package/dist/admin/{Layout-mm5FttWk.mjs.map → Layout-Ax9QtxH1.mjs.map} +1 -1
  67. package/dist/admin/{Layout-6QqRGC19.js → Layout-Bmmqv9h6.js} +3 -3
  68. package/dist/admin/{Layout-6QqRGC19.js.map → Layout-Bmmqv9h6.js.map} +1 -1
  69. package/dist/admin/{ListPage-Id9VZhfe.js → ListPage-10_h7FUt.js} +5 -5
  70. package/dist/admin/{ListPage-Id9VZhfe.js.map → ListPage-10_h7FUt.js.map} +1 -1
  71. package/dist/admin/{ListPage-hJ6Ynuzs.mjs → ListPage-4kGSO2Ri.mjs} +5 -5
  72. package/dist/admin/{ListPage-hJ6Ynuzs.mjs.map → ListPage-4kGSO2Ri.mjs.map} +1 -1
  73. package/dist/admin/{ListPage-R1VIjb_K.js → ListPage-4n-Xb2aE.js} +2 -2
  74. package/dist/admin/{ListPage-R1VIjb_K.js.map → ListPage-4n-Xb2aE.js.map} +1 -1
  75. package/dist/admin/{ListPage-kdascM3g.js → ListPage-4nzagne8.js} +3 -3
  76. package/dist/admin/{ListPage-kdascM3g.js.map → ListPage-4nzagne8.js.map} +1 -1
  77. package/dist/admin/{ListPage-91B_ZBgU.mjs → ListPage-EPIYY3Uf.mjs} +3 -3
  78. package/dist/admin/{ListPage-91B_ZBgU.mjs.map → ListPage-EPIYY3Uf.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-qccI1KJZ.js → ListPage-IgkmnCSY.js} +3 -3
  80. package/dist/admin/{ListPage-qccI1KJZ.js.map → ListPage-IgkmnCSY.js.map} +1 -1
  81. package/dist/admin/{ListPage-ver_Z86B.mjs → ListPage-OE9xQffQ.mjs} +2 -2
  82. package/dist/admin/{ListPage-ver_Z86B.mjs.map → ListPage-OE9xQffQ.mjs.map} +1 -1
  83. package/dist/admin/{ListPage-qnRnNdZB.js → ListPage-TWLqkRt6.js} +2 -2
  84. package/dist/admin/{ListPage-qnRnNdZB.js.map → ListPage-TWLqkRt6.js.map} +1 -1
  85. package/dist/admin/{ListPage--SLZfVEu.mjs → ListPage-VGqEsiEA.mjs} +3 -3
  86. package/dist/admin/{ListPage--SLZfVEu.mjs.map → ListPage-VGqEsiEA.mjs.map} +1 -1
  87. package/dist/admin/{ListPage-COfc9Nb2.mjs → ListPage-gbCO5Otz.mjs} +2 -2
  88. package/dist/admin/{ListPage-COfc9Nb2.mjs.map → ListPage-gbCO5Otz.mjs.map} +1 -1
  89. package/dist/admin/{ListView-PXoWtVRs.mjs → ListView-Zvs5X2St.mjs} +3 -3
  90. package/dist/admin/{ListView-PXoWtVRs.mjs.map → ListView-Zvs5X2St.mjs.map} +1 -1
  91. package/dist/admin/{ListView-HFV67l_w.mjs → ListView-gKrpPLEM.mjs} +3 -3
  92. package/dist/admin/{ListView-HFV67l_w.mjs.map → ListView-gKrpPLEM.mjs.map} +1 -1
  93. package/dist/admin/{ListView-Tdz585_r.js → ListView-pT2a-fdi.js} +3 -3
  94. package/dist/admin/{ListView-Tdz585_r.js.map → ListView-pT2a-fdi.js.map} +1 -1
  95. package/dist/admin/{ListView-gOdn2Qwi.js → ListView-uHb_Hgib.js} +3 -3
  96. package/dist/admin/{ListView-gOdn2Qwi.js.map → ListView-uHb_Hgib.js.map} +1 -1
  97. package/dist/admin/{Login-uUFgaGQO.js → Login-EcSP4AMG.js} +2 -2
  98. package/dist/admin/{Login-uUFgaGQO.js.map → Login-EcSP4AMG.js.map} +1 -1
  99. package/dist/admin/{Login-227oY0SP.mjs → Login-w4BUlNaE.mjs} +2 -2
  100. package/dist/admin/{Login-227oY0SP.mjs.map → Login-w4BUlNaE.mjs.map} +1 -1
  101. package/dist/admin/{MagicLinkEE-1cdMwO4L.mjs → MagicLinkEE-b9NK8XXY.mjs} +3 -3
  102. package/dist/admin/{MagicLinkEE-1cdMwO4L.mjs.map → MagicLinkEE-b9NK8XXY.mjs.map} +1 -1
  103. package/dist/admin/{MagicLinkEE-SU6DdTGf.js → MagicLinkEE-qT5OE9Pm.js} +3 -3
  104. package/dist/admin/{MagicLinkEE-SU6DdTGf.js.map → MagicLinkEE-qT5OE9Pm.js.map} +1 -1
  105. package/dist/admin/{MarketplacePage-UfmJkfaS.js → MarketplacePage-MVRrpUSk.js} +2 -2
  106. package/dist/admin/{MarketplacePage-UfmJkfaS.js.map → MarketplacePage-MVRrpUSk.js.map} +1 -1
  107. package/dist/admin/{MarketplacePage-HcA4KrZ1.mjs → MarketplacePage-oGhZBKgX.mjs} +2 -2
  108. package/dist/admin/{MarketplacePage-HcA4KrZ1.mjs.map → MarketplacePage-oGhZBKgX.mjs.map} +1 -1
  109. package/dist/admin/{Permissions-kWoGUyLH.js → Permissions-kNVZVLmu.js} +2 -2
  110. package/dist/admin/{Permissions-kWoGUyLH.js.map → Permissions-kNVZVLmu.js.map} +1 -1
  111. package/dist/admin/{Permissions-ujqtV7GK.mjs → Permissions-lf6dNG4S.mjs} +2 -2
  112. package/dist/admin/{Permissions-ujqtV7GK.mjs.map → Permissions-lf6dNG4S.mjs.map} +1 -1
  113. package/dist/admin/{ProfilePage-lpqTZIyh.js → ProfilePage-ZlpnTKEF.js} +3 -3
  114. package/dist/admin/{ProfilePage-lpqTZIyh.js.map → ProfilePage-ZlpnTKEF.js.map} +1 -1
  115. package/dist/admin/{ProfilePage-s8Kfhq6I.mjs → ProfilePage-zk-Py9wt.mjs} +3 -3
  116. package/dist/admin/{ProfilePage-s8Kfhq6I.mjs.map → ProfilePage-zk-Py9wt.mjs.map} +1 -1
  117. package/dist/admin/{PurchaseAuditLogs-uu0_PoKP.js → PurchaseAuditLogs-9reb0oGz.js} +2 -2
  118. package/dist/admin/{PurchaseAuditLogs-uu0_PoKP.js.map → PurchaseAuditLogs-9reb0oGz.js.map} +1 -1
  119. package/dist/admin/{PurchaseAuditLogs-iXSAELjJ.mjs → PurchaseAuditLogs-iOYsTJA-.mjs} +2 -2
  120. package/dist/admin/{PurchaseAuditLogs-iXSAELjJ.mjs.map → PurchaseAuditLogs-iOYsTJA-.mjs.map} +1 -1
  121. package/dist/admin/{PurchaseSingleSignOn-I0AAcpBZ.js → PurchaseSingleSignOn-S3xLiiv7.js} +2 -2
  122. package/dist/admin/{PurchaseSingleSignOn-I0AAcpBZ.js.map → PurchaseSingleSignOn-S3xLiiv7.js.map} +1 -1
  123. package/dist/admin/{PurchaseSingleSignOn-A_9ts2Q3.mjs → PurchaseSingleSignOn-X629iA7K.mjs} +2 -2
  124. package/dist/admin/{PurchaseSingleSignOn-A_9ts2Q3.mjs.map → PurchaseSingleSignOn-X629iA7K.mjs.map} +1 -1
  125. package/dist/admin/{SelectRoles-7QbQhIi4.js → SelectRoles-hyiyvsCG.js} +3 -3
  126. package/dist/admin/{SelectRoles-7QbQhIi4.js.map → SelectRoles-hyiyvsCG.js.map} +1 -1
  127. package/dist/admin/{SelectRoles-neYrKAlL.mjs → SelectRoles-yM-LT458.mjs} +3 -3
  128. package/dist/admin/{SelectRoles-neYrKAlL.mjs.map → SelectRoles-yM-LT458.mjs.map} +1 -1
  129. package/dist/admin/{SingleSignOnPage-NRBGwvMB.js → SingleSignOnPage-3Mfu4dgn.js} +3 -3
  130. package/dist/admin/{SingleSignOnPage-NRBGwvMB.js.map → SingleSignOnPage-3Mfu4dgn.js.map} +1 -1
  131. package/dist/admin/{SingleSignOnPage-rOuB5fpN.mjs → SingleSignOnPage-wPZ1tqEk.mjs} +3 -3
  132. package/dist/admin/{SingleSignOnPage-rOuB5fpN.mjs.map → SingleSignOnPage-wPZ1tqEk.mjs.map} +1 -1
  133. package/dist/admin/{Table-5EMXAhBX.js → Table-N9PZc6xL.js} +2 -2
  134. package/dist/admin/{Table-5EMXAhBX.js.map → Table-N9PZc6xL.js.map} +1 -1
  135. package/dist/admin/{Table-07CnEMJB.mjs → Table-OcYvBab7.mjs} +2 -2
  136. package/dist/admin/{Table-07CnEMJB.mjs.map → Table-OcYvBab7.mjs.map} +1 -1
  137. package/dist/admin/{TokenTypeSelect-j99COf2u.js → TokenTypeSelect-dWn05yGP.js} +2 -2
  138. package/dist/admin/{TokenTypeSelect-j99COf2u.js.map → TokenTypeSelect-dWn05yGP.js.map} +1 -1
  139. package/dist/admin/{TokenTypeSelect-XHNUoyhJ.mjs → TokenTypeSelect-v6IYPaBF.mjs} +2 -2
  140. package/dist/admin/{TokenTypeSelect-XHNUoyhJ.mjs.map → TokenTypeSelect-v6IYPaBF.mjs.map} +1 -1
  141. package/dist/admin/{UseCasePage-yZtkKM9d.mjs → UseCasePage-P4AFdcDQ.mjs} +2 -2
  142. package/dist/admin/{UseCasePage-yZtkKM9d.mjs.map → UseCasePage-P4AFdcDQ.mjs.map} +1 -1
  143. package/dist/admin/{UseCasePage-g9nN8RuC.js → UseCasePage-ijq-Bur_.js} +2 -2
  144. package/dist/admin/{UseCasePage-g9nN8RuC.js.map → UseCasePage-ijq-Bur_.js.map} +1 -1
  145. package/dist/admin/{constants-N0AWjcMN.mjs → constants-Z-zrJ7Zs.mjs} +2 -2
  146. package/dist/admin/{constants-N0AWjcMN.mjs.map → constants-Z-zrJ7Zs.mjs.map} +1 -1
  147. package/dist/admin/{constants-MTKkA8PE.js → constants-sfZ2gFzJ.js} +2 -2
  148. package/dist/admin/{constants-MTKkA8PE.js.map → constants-sfZ2gFzJ.js.map} +1 -1
  149. package/dist/admin/{index-69WUS0qJ.mjs → index-EQL2s09p.mjs} +43 -40
  150. package/dist/admin/index-EQL2s09p.mjs.map +1 -0
  151. package/dist/admin/{index-UrJZyInv.js → index-duYn5r8_.js} +43 -40
  152. package/dist/admin/index-duYn5r8_.js.map +1 -0
  153. package/dist/admin/index.js +1 -1
  154. package/dist/admin/index.mjs +1 -1
  155. package/dist/admin/rbac-5b9ylhpa.js.map +1 -1
  156. package/dist/admin/rbac-oJEkQdXG.mjs.map +1 -1
  157. package/dist/admin/src/features/Tracking.d.ts +1 -1
  158. package/dist/admin/src/index.d.ts +2 -1
  159. package/dist/admin/src/types/adminConfiguration.d.ts +90 -0
  160. package/dist/admin/{useAdminRoles-8RoYtgXn.js → useAdminRoles-2VDDweuC.js} +2 -2
  161. package/dist/admin/{useAdminRoles-8RoYtgXn.js.map → useAdminRoles-2VDDweuC.js.map} +1 -1
  162. package/dist/admin/{useAdminRoles-0epUuJHP.mjs → useAdminRoles-cq3ZckdQ.mjs} +2 -2
  163. package/dist/admin/{useAdminRoles-0epUuJHP.mjs.map → useAdminRoles-cq3ZckdQ.mjs.map} +1 -1
  164. package/dist/admin/{validation-wyU5bqks.js → validation-6PUPWFkz.js} +2 -2
  165. package/dist/admin/{validation-wyU5bqks.js.map → validation-6PUPWFkz.js.map} +1 -1
  166. package/dist/admin/{validation-TWt09i2x.mjs → validation-qUTUIssJ.mjs} +2 -2
  167. package/dist/admin/{validation-TWt09i2x.mjs.map → validation-qUTUIssJ.mjs.map} +1 -1
  168. package/dist/ee/server/index.js +514 -446
  169. package/dist/ee/server/index.js.map +1 -1
  170. package/dist/ee/server/index.mjs +514 -444
  171. package/dist/ee/server/index.mjs.map +1 -1
  172. package/dist/package.json.d.ts +8 -8
  173. package/dist/server/index.js +34 -35
  174. package/dist/server/index.js.map +1 -1
  175. package/dist/server/index.mjs +34 -35
  176. package/dist/server/index.mjs.map +1 -1
  177. package/dist/server/src/services/index.d.ts +7 -2
  178. package/dist/server/src/services/index.d.ts.map +1 -1
  179. package/dist/server/src/services/metrics.d.ts +8 -6
  180. package/dist/server/src/services/metrics.d.ts.map +1 -1
  181. package/dist/shared/contracts/webhooks.d.ts +5 -5
  182. package/dist/shared/contracts/webhooks.d.ts.map +1 -1
  183. package/package.json +8 -8
  184. package/strapi-server.js +1 -0
  185. package/dist/admin/AuthResponse-6oCac46I.js.map +0 -1
  186. package/dist/admin/AuthResponse-TKtSIvEM.mjs.map +0 -1
  187. package/dist/admin/index-69WUS0qJ.mjs.map +0 -1
  188. package/dist/admin/index-UrJZyInv.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TokenTypeSelect-j99COf2u.js","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Check, ArrowClockwise } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/transferTokens';\n\nimport type { Data } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<ArrowClockwise />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<ArrowClockwise />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Data.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <Layouts.Header\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n style={{ padding: 0, height: '1.6rem' }}\n >\n <Duplicate />\n </IconButton>\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name=\"lifespan\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Field, Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={onChange} disabled={!canEditInputs} value={value} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { Field, TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={onChange} value={value} disabled={!canEditInputs} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name={name}\n required\n >\n <Field.Label>\n {formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={onChange}\n placeholder=\"Select\"\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["useIntl","React","useNotification","useAPIErrorHandler","useRegenerateTokenMutation","jsxs","Fragment","jsx","Button","ArrowClockwise","ConfirmDialog","Layouts","Flex","Check","BackButton","useTracking","useClipboard","token","ContentBox","IconButton","Duplicate","Key","locales","format","addDays","Field","SingleSelect","value","SingleSelectOption","Typography","Textarea","TextInput","label"],"mappings":"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"}
1
+ {"version":3,"file":"TokenTypeSelect-dWn05yGP.js","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Check, ArrowClockwise } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/transferTokens';\n\nimport type { Data } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<ArrowClockwise />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<ArrowClockwise />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Data.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <Layouts.Header\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n style={{ padding: 0, height: '1.6rem' }}\n >\n <Duplicate />\n </IconButton>\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name=\"lifespan\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Field, Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={onChange} disabled={!canEditInputs} value={value} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { Field, TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={onChange} value={value} disabled={!canEditInputs} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name={name}\n required\n >\n <Field.Label>\n {formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={onChange}\n placeholder=\"Select\"\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["useIntl","React","useNotification","useAPIErrorHandler","useRegenerateTokenMutation","jsxs","Fragment","jsx","Button","ArrowClockwise","ConfirmDialog","Layouts","Flex","Check","BackButton","useTracking","useClipboard","token","ContentBox","IconButton","Duplicate","Key","locales","format","addDays","Field","SingleSelect","value","SingleSelectOption","Typography","Textarea","TextInput","label"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { Flex, Button, IconButton, Field, SingleSelect, SingleSelectOption, Typography, Textarea, TextInput } from '@strapi/design-system';
4
4
  import { Check, ArrowClockwise, Duplicate, Key } from '@strapi/icons';
5
5
  import { useIntl } from 'react-intl';
6
- import { b as Layouts, B as BackButton, C as ConfirmDialog, w as useClipboard } from './index-69WUS0qJ.mjs';
6
+ import { b as Layouts, B as BackButton, C as ConfirmDialog, w as useClipboard } from './index-EQL2s09p.mjs';
7
7
  import { u as useNotification, f as useAPIErrorHandler, d as useTracking } from './rbac-oJEkQdXG.mjs';
8
8
  import { e as useRegenerateTokenMutation } from './transferTokens-CNI0TFdA.mjs';
9
9
  import { C as ContentBox } from './ContentBox-9LBDzws0.mjs';
@@ -373,4 +373,4 @@ const TokenTypeSelect = ({
373
373
  };
374
374
 
375
375
  export { FormHead as F, LifeSpanInput as L, TokenBox as T, TokenName as a, TokenDescription as b, TokenTypeSelect as c };
376
- //# sourceMappingURL=TokenTypeSelect-XHNUoyhJ.mjs.map
376
+ //# sourceMappingURL=TokenTypeSelect-v6IYPaBF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenTypeSelect-XHNUoyhJ.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Check, ArrowClockwise } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/transferTokens';\n\nimport type { Data } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<ArrowClockwise />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<ArrowClockwise />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Data.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <Layouts.Header\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n style={{ padding: 0, height: '1.6rem' }}\n >\n <Duplicate />\n </IconButton>\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name=\"lifespan\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Field, Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={onChange} disabled={!canEditInputs} value={value} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { Field, TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={onChange} value={value} disabled={!canEditInputs} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name={name}\n required\n >\n <Field.Label>\n {formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={onChange}\n placeholder=\"Select\"\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["token","value","label"],"mappings":"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"}
1
+ {"version":3,"file":"TokenTypeSelect-v6IYPaBF.mjs","sources":["../../admin/src/pages/Settings/components/Tokens/FormHead.tsx","../../admin/src/pages/Settings/components/Tokens/TokenBox.tsx","../../admin/src/utils/locales.ts","../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.ts","../../admin/src/pages/Settings/utils/forms.ts","../../admin/src/pages/Settings/components/Tokens/LifeSpanInput.tsx","../../admin/src/pages/Settings/components/Tokens/TokenDescription.tsx","../../admin/src/pages/Settings/components/Tokens/TokenName.tsx","../../admin/src/pages/Settings/components/Tokens/TokenTypeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Check, ArrowClockwise } from '@strapi/icons';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRegenerateTokenMutation } from '../../../../services/transferTokens';\n\nimport type { Data } from '@strapi/types';\n\ninterface RegenerateProps {\n onRegenerate?: (newKey: string) => void;\n url: string;\n}\n\nconst Regenerate = ({ onRegenerate, url }: RegenerateProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const [isLoadingConfirmation, setIsLoadingConfirmation] = React.useState(false);\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [regenerateToken] = useRegenerateTokenMutation();\n\n const regenerateData = async () => {\n try {\n const res = await regenerateToken(url);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n if (onRegenerate) {\n onRegenerate(res.data.accessKey);\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'Something went wrong',\n }),\n });\n } finally {\n setIsLoadingConfirmation(false);\n }\n };\n\n const handleConfirmRegeneration = async () => {\n regenerateData();\n setShowConfirmDialog(false);\n };\n\n return (\n <>\n <Button\n startIcon={<ArrowClockwise />}\n type=\"button\"\n size=\"S\"\n variant=\"tertiary\"\n onClick={() => setShowConfirmDialog(true)}\n name=\"regenerate\"\n >\n {formatMessage({\n id: 'Settings.tokens.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n\n <ConfirmDialog\n isOpen={showConfirmDialog}\n onClose={() => setShowConfirmDialog(false)}\n title={formatMessage({\n id: 'Settings.tokens.RegenerateDialog.title',\n defaultMessage: 'Regenerate token',\n })}\n endAction={\n <Button\n startIcon={<ArrowClockwise />}\n loading={isLoadingConfirmation}\n onClick={handleConfirmRegeneration}\n >\n {formatMessage({\n id: 'Settings.tokens.Button.regenerate',\n defaultMessage: 'Regenerate',\n })}\n </Button>\n }\n >\n {formatMessage({\n id: 'Settings.tokens.popUpWarning.message',\n defaultMessage: 'Are you sure you want to regenerate this token?',\n })}\n </ConfirmDialog>\n </>\n );\n};\n\ninterface Token {\n id: Data.ID;\n name: string;\n}\n\ninterface FormHeadProps<TToken extends Token | null> {\n title: MessageDescriptor;\n token: TToken;\n canEditInputs: boolean;\n canRegenerate: boolean;\n setToken: (token: TToken) => void;\n isSubmitting: boolean;\n regenerateUrl: string;\n}\n\nexport const FormHead = <TToken extends Token | null>({\n title,\n token,\n setToken,\n canEditInputs,\n canRegenerate,\n isSubmitting,\n regenerateUrl,\n}: FormHeadProps<TToken>) => {\n const { formatMessage } = useIntl();\n const handleRegenerate = (newKey: string) => {\n setToken({\n ...token,\n accessKey: newKey,\n });\n };\n\n return (\n <Layouts.Header\n title={token?.name || formatMessage(title)}\n primaryAction={\n canEditInputs ? (\n <Flex gap={2}>\n {canRegenerate && token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )}\n <Button\n disabled={isSubmitting}\n loading={isSubmitting}\n startIcon={<Check />}\n type=\"submit\"\n size=\"S\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n ) : (\n canRegenerate &&\n token?.id && (\n <Regenerate\n onRegenerate={handleRegenerate}\n url={`${regenerateUrl}${token?.id ?? ''}`}\n />\n )\n )\n }\n navigationAction={<BackButton />}\n ellipsis\n />\n );\n};\n","import { IconButton } from '@strapi/design-system';\nimport { Duplicate, Key } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { ContentBox } from '../../../../components/ContentBox';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useClipboard } from '../../../../hooks/useClipboard';\n\ninterface TokenBoxProps {\n token?: string;\n tokenType: 'transfer-token' | 'api-token';\n}\n\nexport const TokenBox = ({ token, tokenType }: TokenBoxProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { trackUsage } = useTracking();\n\n const { copy } = useClipboard();\n\n const handleClick = (token: TokenBoxProps['token']) => async () => {\n if (token) {\n const didCopy = await copy(token);\n\n if (didCopy) {\n trackUsage('didCopyTokenKey', {\n tokenType,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.tokens.notification.copied' }),\n });\n }\n }\n };\n\n return (\n <ContentBox\n endAction={\n token && (\n <span style={{ alignSelf: 'start' }}>\n <IconButton\n label={formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n })}\n onClick={handleClick(token)}\n borderWidth={0}\n style={{ padding: 0, height: '1.6rem' }}\n >\n <Duplicate />\n </IconButton>\n </span>\n )\n }\n title={\n token ||\n formatMessage({\n id: 'Settings.tokens.copy.editTitle',\n defaultMessage: 'This token isn’t accessible anymore.',\n })\n }\n subtitle={\n token\n ? formatMessage({\n id: 'Settings.tokens.copy.lastWarning',\n defaultMessage: 'Make sure to copy this token, you won’t be able to see it again!',\n })\n : formatMessage({\n id: 'Settings.tokens.copy.editMessage',\n defaultMessage: 'For security reasons, you can only see your token once.',\n })\n }\n icon={<Key />}\n iconBackground=\"neutral100\"\n />\n );\n};\n","import * as locales from 'date-fns/locale';\n\ntype LocaleName = keyof typeof locales;\n\n/**\n * Returns a valid date-fns locale name from a Strapi Admin locale.\n * Defaults to 'enUS' if the locale is not found.\n */\nconst getDateFnsLocaleName = (locale: string): LocaleName => {\n if (Object.keys(locales).includes(locale)) {\n return locale as LocaleName;\n }\n\n return 'enUS';\n};\n\nexport { getDateFnsLocaleName };\n","import { addDays, format } from 'date-fns';\nimport * as locales from 'date-fns/locale';\n\nimport { getDateFnsLocaleName } from '../../../../../../utils/locales';\n\nexport const getDateOfExpiration = (\n createdAt: string,\n duration: number | null,\n language: string = 'en'\n) => {\n if (duration && typeof duration === 'number') {\n const durationInDays = duration / 24 / 60 / 60 / 1000;\n\n return format(addDays(new Date(createdAt), durationInDays), 'PPP', {\n locale: locales[getDateFnsLocaleName(language)],\n });\n }\n\n return 'Unlimited';\n};\n","import { MessageDescriptor } from 'react-intl';\n\nconst isErrorMessageMessageDescriptor = (\n message: string | MessageDescriptor\n): message is MessageDescriptor => {\n return typeof message === 'object' && message !== null && 'id' in message;\n};\n\nexport { isErrorMessageMessageDescriptor };\n","import { SingleSelectOption, SingleSelect, Typography, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { getDateOfExpiration } from '../../pages/ApiTokens/EditView/utils/getDateOfExpiration';\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\nimport type { ApiToken } from '../../../../../../shared/contracts/api-token';\nimport type { TransferToken } from '../../../../../../shared/contracts/transfer';\n\ninterface LifeSpanInputProps {\n error?: string | MessageDescriptor;\n value?: string | number | null;\n onChange: (event: { target: { name: string; value: string } }) => void;\n isCreating: boolean;\n token: Partial<TransferToken> | Partial<ApiToken> | null;\n}\n\nexport const LifeSpanInput = ({\n token,\n error,\n value,\n onChange,\n isCreating,\n}: LifeSpanInputProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name=\"lifespan\"\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.duration',\n defaultMessage: 'Token duration',\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={(value) => {\n // @ts-expect-error – DS v2 won't support number types for select\n onChange({ target: { name: 'lifespan', value } });\n }}\n disabled={!isCreating}\n placeholder=\"Select\"\n >\n <SingleSelectOption value=\"604800000\">\n {formatMessage({\n id: 'Settings.tokens.duration.7-days',\n defaultMessage: '7 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"2592000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.30-days',\n defaultMessage: '30 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"7776000000\">\n {formatMessage({\n id: 'Settings.tokens.duration.90-days',\n defaultMessage: '90 days',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"0\">\n {formatMessage({\n id: 'Settings.tokens.duration.unlimited',\n defaultMessage: 'Unlimited',\n })}\n </SingleSelectOption>\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {!isCreating &&\n `${formatMessage({\n id: 'Settings.tokens.duration.expiration-date',\n defaultMessage: 'Expiration date',\n // @ts-expect-error – TODO: fix this.\n })}: ${getDateOfExpiration(token?.createdAt, parseInt(value ?? '', 10))}`}\n </Typography>\n </>\n );\n};\n","import { Field, Textarea, TextareaProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenDescriptionProps extends Pick<TextareaProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenDescription = ({\n error,\n value,\n onChange,\n canEditInputs,\n}: TokenDescriptionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"description\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error)\n ? error\n : {\n id: error,\n defaultMessage: error,\n }\n )\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={onChange} disabled={!canEditInputs} value={value} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { Field, TextInput, TextInputProps } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenNameProps extends Pick<TextInputProps, 'onChange' | 'value'> {\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n}\n\nexport const TokenName = ({ error, value, onChange, canEditInputs }: TokenNameProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n name=\"name\"\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.tokens.form.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={onChange} value={value} disabled={!canEditInputs} />\n <Field.Error />\n </Field.Root>\n );\n};\n","import { SingleSelectOption, SingleSelect, SingleSelectProps, Field } from '@strapi/design-system';\nimport { MessageDescriptor, useIntl } from 'react-intl';\n\nimport { isErrorMessageMessageDescriptor } from '../../utils/forms';\n\ninterface TokenTypeSelectProps extends Pick<SingleSelectProps, 'onChange' | 'value'> {\n name?: string;\n options: Array<{\n label: MessageDescriptor;\n value: string;\n }>;\n error?: string | MessageDescriptor;\n canEditInputs: boolean;\n label: MessageDescriptor;\n}\n\nexport const TokenTypeSelect = ({\n name = 'type',\n error,\n value,\n onChange,\n canEditInputs,\n options = [],\n label,\n}: TokenTypeSelectProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Field.Root\n error={\n error\n ? formatMessage(\n isErrorMessageMessageDescriptor(error) ? error : { id: error, defaultMessage: error }\n )\n : undefined\n }\n name={name}\n required\n >\n <Field.Label>\n {formatMessage({\n id: label.id,\n defaultMessage: label.defaultMessage,\n })}\n </Field.Label>\n <SingleSelect\n value={value}\n onChange={onChange}\n placeholder=\"Select\"\n disabled={!canEditInputs}\n >\n {options &&\n options.map(({ value, label }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(label)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["token","value","label"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { parse } from 'qs';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useLocation, useNavigate } from 'react-router-dom';
7
7
  import { P as PrivateRoute } from './PrivateRoute-1hyhztQM.mjs';
8
- import { U as UnauthenticatedLayout, L as LayoutContent, a as Logo } from './index-69WUS0qJ.mjs';
8
+ import { U as UnauthenticatedLayout, L as LayoutContent, a as Logo } from './index-EQL2s09p.mjs';
9
9
  import { u as useNotification, a as useAuth } from './rbac-oJEkQdXG.mjs';
10
10
 
11
11
  const options = [
@@ -126,4 +126,4 @@ const PrivateUseCasePage = () => {
126
126
  };
127
127
 
128
128
  export { PrivateUseCasePage, UseCasePage, options };
129
- //# sourceMappingURL=UseCasePage-yZtkKM9d.mjs.map
129
+ //# sourceMappingURL=UseCasePage-P4AFdcDQ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"UseCasePage-yZtkKM9d.mjs","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UseCasePage-P4AFdcDQ.mjs","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const qs = require('qs');
9
9
  const reactIntl = require('react-intl');
10
10
  const reactRouterDom = require('react-router-dom');
11
11
  const PrivateRoute = require('./PrivateRoute-wBE5vMxe.js');
12
- const index = require('./index-UrJZyInv.js');
12
+ const index = require('./index-duYn5r8_.js');
13
13
  const rbac = require('./rbac-5b9ylhpa.js');
14
14
 
15
15
  function _interopNamespace(e) {
@@ -152,4 +152,4 @@ const PrivateUseCasePage = () => {
152
152
  exports.PrivateUseCasePage = PrivateUseCasePage;
153
153
  exports.UseCasePage = UseCasePage;
154
154
  exports.options = options;
155
- //# sourceMappingURL=UseCasePage-g9nN8RuC.js.map
155
+ //# sourceMappingURL=UseCasePage-ijq-Bur_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UseCasePage-g9nN8RuC.js","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["useNotification","useLocation","useNavigate","useIntl","React","useAuth","parse","jsx","UnauthenticatedLayout","jsxs","Main","LayoutContent","Flex","Logo","Box","Typography","Field","SingleSelect","SingleSelectOption","TextInput","Button","TextButton","PrivateRoute"],"mappings":"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"}
1
+ {"version":3,"file":"UseCasePage-ijq-Bur_.js","sources":["../../admin/src/pages/UseCasePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Main,\n SingleSelectOption,\n SingleSelect,\n TextButton,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { parse } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { PrivateRoute } from '../components/PrivateRoute';\nimport { Logo } from '../components/UnauthenticatedLogo';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { LayoutContent, UnauthenticatedLayout } from '../layouts/UnauthenticatedLayout';\n\nexport const options = [\n {\n intlLabel: {\n id: 'Usecase.front-end',\n defaultMessage: 'Front-end developer',\n },\n value: 'front_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.back-end',\n defaultMessage: 'Back-end developer',\n },\n value: 'back_end_developer',\n },\n {\n intlLabel: {\n id: 'Usecase.full-stack',\n defaultMessage: 'Full-stack developer',\n },\n value: 'full_stack_developer',\n },\n {\n intlLabel: {\n id: 'global.content-manager',\n defaultMessage: 'Content Manager',\n },\n value: 'content_manager',\n },\n {\n intlLabel: {\n id: 'Usecase.content-creator',\n defaultMessage: 'Content Creator',\n },\n value: 'content_creator',\n },\n {\n intlLabel: {\n id: 'Usecase.other',\n defaultMessage: 'Other',\n },\n value: 'other',\n },\n];\n\nconst UseCasePage = () => {\n const { toggleNotification } = useNotification();\n const location = useLocation();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const [role, setRole] = React.useState<string | number | null>(null);\n const [otherRole, setOtherRole] = React.useState('');\n\n const { firstname, email } = useAuth('UseCasePage', (state) => state.user) ?? {};\n const { hasAdmin } = parse(location.search, { ignoreQueryPrefix: true });\n const isOther = role === 'other';\n\n const handleSubmit = async (event: React.FormEvent, skipPersona: boolean) => {\n event.preventDefault();\n try {\n await fetch('https://analytics.strapi.io/register', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n email,\n username: firstname,\n firstAdmin: Boolean(!hasAdmin),\n persona: {\n role: skipPersona ? undefined : role,\n otherRole: skipPersona ? undefined : otherRole,\n },\n }),\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Usecase.notification.success.project-created',\n defaultMessage: 'Project has been successfully created',\n }),\n });\n navigate('/');\n } catch (err) {\n // Silent\n }\n };\n\n return (\n <UnauthenticatedLayout>\n <Main labelledBy=\"usecase-title\">\n <LayoutContent>\n <form onSubmit={(e) => handleSubmit(e, false)}>\n <Flex direction=\"column\" paddingBottom={7}>\n <Logo />\n <Box paddingTop={6} paddingBottom={1} width={`25rem`}>\n <Typography textAlign=\"center\" variant=\"alpha\" tag=\"h1\" id=\"usecase-title\">\n {formatMessage({\n id: 'Usecase.title',\n defaultMessage: 'Tell us a bit more about yourself',\n })}\n </Typography>\n </Box>\n </Flex>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Field.Root name=\"usecase\">\n <Field.Label>\n {formatMessage({\n id: 'Usecase.input.work-type',\n defaultMessage: 'What type of work do you do?',\n })}\n </Field.Label>\n <SingleSelect onChange={(value) => setRole(value)} value={role}>\n {options.map(({ intlLabel, value }) => (\n <SingleSelectOption key={value} value={value}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n {isOther && (\n <Field.Root name=\"other\">\n <Field.Label>\n {formatMessage({ id: 'Usecase.other', defaultMessage: 'Other' })}\n </Field.Label>\n <TextInput value={otherRole} onChange={(e) => setOtherRole(e.target.value)} />\n </Field.Root>\n )}\n <Button type=\"submit\" size=\"L\" fullWidth disabled={!role}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <TextButton onClick={(event) => handleSubmit(event, true)}>\n {formatMessage({\n id: 'Usecase.button.skip',\n defaultMessage: 'Skip this question',\n })}\n </TextButton>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst PrivateUseCasePage = () => {\n return (\n <PrivateRoute>\n <UseCasePage />\n </PrivateRoute>\n );\n};\n\nexport { PrivateUseCasePage, UseCasePage };\n"],"names":["useNotification","useLocation","useNavigate","useIntl","React","useAuth","parse","jsx","UnauthenticatedLayout","jsxs","Main","LayoutContent","Flex","Logo","Box","Typography","Field","SingleSelect","SingleSelectOption","TextInput","Button","TextButton","PrivateRoute"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Divider, Main, Box, Typography, Flex, Loader, Button, Link } from '@str
3
3
  import { useIntl } from 'react-intl';
4
4
  import { useNavigate, Navigate, NavLink } from 'react-router-dom';
5
5
  import { styled } from 'styled-components';
6
- import { U as UnauthenticatedLayout, L as LayoutContent, n as Column, a as Logo } from './index-69WUS0qJ.mjs';
6
+ import { U as UnauthenticatedLayout, L as LayoutContent, n as Column, a as Logo } from './index-EQL2s09p.mjs';
7
7
  import { l as useGetProvidersQuery } from './rbac-oJEkQdXG.mjs';
8
8
  import { S as SSOProviders } from './SSOProviders-t8D-v8As.mjs';
9
9
 
@@ -48,4 +48,4 @@ const FORMS = {
48
48
  };
49
49
 
50
50
  export { FORMS };
51
- //# sourceMappingURL=constants-N0AWjcMN.mjs.map
51
+ //# sourceMappingURL=constants-Z-zrJ7Zs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-N0AWjcMN.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants-Z-zrJ7Zs.mjs","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":[],"mappings":";;;;;;;;;AAeA,MAAM,YAAY,MAAM;AACtB,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,WAAW,IAAM,EAAA,SAAA,GAAY,EAAG,EAAA,GAAI,qBAAqB,KAAW,CAAA,EAAA;AAAA,IAC1E,IAAA,EAAM,CAAC,MAAO,CAAA,MAAA,CAAO,SAAS,SAAU,CAAA,MAAA,CAAO,MAAO,CAAA,QAAA,CAAS,GAAG,CAAA;AAAA,GACnE,CAAA,CAAA;AAED,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,GACxB,CAAA;AAEA,EAAA,IACE,CAAC,MAAA,CAAO,MAAO,CAAA,QAAA,CAAS,UAAU,MAAO,CAAA,MAAA,CAAO,QAAS,CAAA,GAAG,CAC3D,IAAA,CAAC,SAAa,IAAA,SAAA,CAAU,WAAW,CACpC,EAAA;AACA,IAAO,uBAAA,GAAA,CAAC,QAAS,EAAA,EAAA,EAAA,EAAG,aAAc,EAAA,CAAA,CAAA;AAAA,GACpC;AAEA,EACE,uBAAA,GAAA,CAAC,qBACC,EAAA,EAAA,QAAA,kBAAA,IAAA,CAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,aACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,MACC,EAAA,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,CAAA;AAAA,4BACL,GAAI,EAAA,EAAA,UAAA,EAAY,GAAG,aAAe,EAAA,CAAA,EACjC,8BAAC,UAAW,EAAA,EAAA,GAAA,EAAI,IAAK,EAAA,OAAA,EAAQ,SAC1B,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,yBAA0B,EAAC,GAClD,CACF,EAAA,CAAA;AAAA,4BACC,GAAI,EAAA,EAAA,aAAA,EAAe,CAClB,EAAA,QAAA,kBAAA,GAAA,CAAC,cAAW,OAAQ,EAAA,SAAA,EAAU,SAAU,EAAA,YAAA,EACrC,wBAAc,EAAE,EAAA,EAAI,yBAA0B,EAAC,GAClD,CACF,EAAA,CAAA;AAAA,OACF,EAAA,CAAA;AAAA,2BACC,IAAK,EAAA,EAAA,SAAA,EAAU,UAAS,UAAW,EAAA,SAAA,EAAU,KAAK,CAChD,EAAA,QAAA,EAAA;AAAA,QAAA,SAAA,uBACE,IAAK,EAAA,EAAA,cAAA,EAAe,QACnB,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAQ,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,wBAAA,EAA0B,CAAE,EAAA,CAAA,EAC3D,CAEA,mBAAA,GAAA,CAAC,gBAAa,SAAsB,EAAA,CAAA;AAAA,6BAErC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,WAAY,EAAA,EAAA,CAAA;AAAA,8BACZ,GAAI,EAAA,EAAA,WAAA,EAAa,GAAG,YAAc,EAAA,CAAA,EACjC,8BAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,OAAQ,EAAA,SAAA,EAAU,cACnC,QAAc,EAAA,aAAA,CAAA,EAAE,IAAI,IAAK,EAAC,GAC7B,CACF,EAAA,CAAA;AAAA,8BACC,WAAY,EAAA,EAAA,CAAA;AAAA,SACf,EAAA,CAAA;AAAA,wBACC,GAAA,CAAA,MAAA,EAAA,EAAO,SAAS,EAAA,IAAA,EAAC,IAAK,EAAA,GAAA,EAAI,OAAS,EAAA,WAAA,EACjC,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,+BAAA,EAAiC,CACxD,EAAA,CAAA;AAAA,OACF,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,oBACA,GAAA,CAAC,IAAK,EAAA,EAAA,cAAA,EAAe,QACnB,EAAA,QAAA,kBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,UAAA,EAAY,CACf,EAAA,QAAA,kBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,OAAS,EAAA,EAAA,EAAG,yBACrB,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,IAAA,EACjB,QAAc,EAAA,aAAA,CAAA,EAAE,EAAI,EAAA,2BAAA,EAA6B,CAAA,EACpD,CACF,EAAA,CAAA,EACF,CACF,EAAA,CAAA;AAAA,GAAA,EACF,CACF,EAAA,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,WAAA,GAAc,OAAO,OAAO,CAAA,CAAA;AAAA;AAAA,CAAA;;AC9E3B,MAAM,KAAQ,GAAA;AAAA,EACnB,SAAW,EAAA,SAAA;AACb;;;;"}
@@ -7,7 +7,7 @@ const designSystem = require('@strapi/design-system');
7
7
  const reactIntl = require('react-intl');
8
8
  const reactRouterDom = require('react-router-dom');
9
9
  const styledComponents = require('styled-components');
10
- const index = require('./index-UrJZyInv.js');
10
+ const index = require('./index-duYn5r8_.js');
11
11
  const rbac = require('./rbac-5b9ylhpa.js');
12
12
  const SSOProviders = require('./SSOProviders-AirHFyBl.js');
13
13
 
@@ -52,4 +52,4 @@ const FORMS = {
52
52
  };
53
53
 
54
54
  exports.FORMS = FORMS;
55
- //# sourceMappingURL=constants-MTKkA8PE.js.map
55
+ //# sourceMappingURL=constants-sfZ2gFzJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-MTKkA8PE.js","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":["useNavigate","useIntl","useGetProvidersQuery","jsx","Navigate","UnauthenticatedLayout","jsxs","Main","LayoutContent","Column","Logo","Box","Typography","Flex","Loader","SSOProviders","Button","Link","NavLink","styled","Divider"],"mappings":"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"}
1
+ {"version":3,"file":"constants-sfZ2gFzJ.js","sources":["../../ee/admin/src/pages/AuthPage/components/Providers.tsx","../../ee/admin/src/pages/AuthPage/constants.ts"],"sourcesContent":["import { Box, Button, Divider, Flex, Loader, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Navigate, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Logo } from '../../../../../../admin/src/components/UnauthenticatedLogo';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../../../../admin/src/layouts/UnauthenticatedLayout';\nimport { useGetProvidersQuery } from '../../../../../../admin/src/services/auth';\n\nimport { SSOProviders } from './SSOProviders';\n\nconst Providers = () => {\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n const { isLoading, data: providers = [] } = useGetProvidersQuery(undefined, {\n skip: !window.strapi.features.isEnabled(window.strapi.features.SSO),\n });\n\n const handleClick = () => {\n navigate('/auth/login');\n };\n\n if (\n !window.strapi.features.isEnabled(window.strapi.features.SSO) ||\n (!isLoading && providers.length === 0)\n ) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={1}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({ id: 'Auth.form.welcome.title' })}\n </Typography>\n </Box>\n <Box paddingBottom={7}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage({ id: 'Auth.login.sso.subtitle' })}\n </Typography>\n </Box>\n </Column>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n {isLoading ? (\n <Flex justifyContent=\"center\">\n <Loader>{formatMessage({ id: 'Auth.login.sso.loading' })}</Loader>\n </Flex>\n ) : (\n <SSOProviders providers={providers} />\n )}\n <Flex>\n <DividerFull />\n <Box paddingLeft={3} paddingRight={3}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'or' })}\n </Typography>\n </Box>\n <DividerFull />\n </Flex>\n <Button fullWidth size=\"L\" onClick={handleClick}>\n {formatMessage({ id: 'Auth.form.button.login.strapi' })}\n </Button>\n </Flex>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/forgot-password\">\n <Typography variant=\"pi\">\n {formatMessage({ id: 'Auth.link.forgot-password' })}\n </Typography>\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nconst DividerFull = styled(Divider)`\n flex: 1;\n`;\n\nexport { Providers };\n","import type { ComponentType } from 'react';\n\nimport { Providers } from './components/Providers';\n\ntype AuthType = 'providers';\n\ntype FormDictionary = Record<AuthType, ComponentType>;\n\nexport const FORMS = {\n providers: Providers,\n} satisfies FormDictionary;\n"],"names":["useNavigate","useIntl","useGetProvidersQuery","jsx","Navigate","UnauthenticatedLayout","jsxs","Main","LayoutContent","Column","Logo","Box","Typography","Flex","Loader","SSOProviders","Button","Link","NavLink","styled","Divider"],"mappings":"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"}