@strapi/admin 5.0.0-rc.9 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/dist/admin/{AdminSeatInfo-j58AKYvZ.js → AdminSeatInfo-8vtNB3ck.js} +3 -3
  2. package/dist/admin/{AdminSeatInfo-j58AKYvZ.js.map → AdminSeatInfo-8vtNB3ck.js.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-qGNvhfii.mjs → AdminSeatInfo-qIgh5-QA.mjs} +4 -4
  4. package/dist/admin/{AdminSeatInfo-qGNvhfii.mjs.map → AdminSeatInfo-qIgh5-QA.mjs.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-ahnTcFV1.mjs → ApplicationInfoPage-FPcBalFr.mjs} +5 -5
  6. package/dist/admin/{ApplicationInfoPage-ahnTcFV1.mjs.map → ApplicationInfoPage-FPcBalFr.mjs.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-JfdJ0U4H.js → ApplicationInfoPage-hY4yez-z.js} +5 -5
  8. package/dist/admin/{ApplicationInfoPage-JfdJ0U4H.js.map → ApplicationInfoPage-hY4yez-z.js.map} +1 -1
  9. package/dist/admin/{AuthResponse-J8A48xdo.mjs → AuthResponse-HYXVuTDF.mjs} +2 -2
  10. package/dist/admin/{AuthResponse-J8A48xdo.mjs.map → AuthResponse-HYXVuTDF.mjs.map} +1 -1
  11. package/dist/admin/{AuthResponse-KlTDmm2i.js → AuthResponse-R8kR_yqS.js} +2 -2
  12. package/dist/admin/{AuthResponse-KlTDmm2i.js.map → AuthResponse-R8kR_yqS.js.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-06fn7qrH.mjs → AuthenticatedLayout-WfWtk2vt.mjs} +32 -40
  14. package/dist/admin/AuthenticatedLayout-WfWtk2vt.mjs.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-eKDwvUFO.js → AuthenticatedLayout-_fHeS86w.js} +31 -39
  16. package/dist/admin/AuthenticatedLayout-_fHeS86w.js.map +1 -0
  17. package/dist/admin/{CreateActionEE-Yfp4hs7a.mjs → CreateActionEE-X2nnG2dm.mjs} +2 -2
  18. package/dist/admin/{CreateActionEE-Yfp4hs7a.mjs.map → CreateActionEE-X2nnG2dm.mjs.map} +1 -1
  19. package/dist/admin/{CreatePage-68skzZjY.js → CreatePage-2iQ7FkkX.js} +3 -3
  20. package/dist/admin/{CreatePage-68skzZjY.js.map → CreatePage-2iQ7FkkX.js.map} +1 -1
  21. package/dist/admin/{CreatePage-t5HQUOqJ.js → CreatePage-60fNdNfa.js} +6 -6
  22. package/dist/admin/CreatePage-60fNdNfa.js.map +1 -0
  23. package/dist/admin/{CreatePage-bdWb1wg4.mjs → CreatePage-pPnHpatu.mjs} +7 -7
  24. package/dist/admin/CreatePage-pPnHpatu.mjs.map +1 -0
  25. package/dist/admin/{CreatePage-Yd5JyWS5.mjs → CreatePage-z6N1v5X5.mjs} +3 -3
  26. package/dist/admin/{CreatePage-Yd5JyWS5.mjs.map → CreatePage-z6N1v5X5.mjs.map} +1 -1
  27. package/dist/admin/{CreateView-yv51Pyvw.js → CreateView-18WQPz4-.js} +3 -3
  28. package/dist/admin/{CreateView-yv51Pyvw.js.map → CreateView-18WQPz4-.js.map} +1 -1
  29. package/dist/admin/{CreateView-ZZaA8hbe.mjs → CreateView-4UcrE6vq.mjs} +3 -3
  30. package/dist/admin/{CreateView-ZZaA8hbe.mjs.map → CreateView-4UcrE6vq.mjs.map} +1 -1
  31. package/dist/admin/{CreateView-V0v5CK8t.mjs → CreateView-8k0KvpoK.mjs} +3 -3
  32. package/dist/admin/{CreateView-V0v5CK8t.mjs.map → CreateView-8k0KvpoK.mjs.map} +1 -1
  33. package/dist/admin/{CreateView-nzILLv0g.js → CreateView-YbqcAK_f.js} +3 -3
  34. package/dist/admin/{CreateView-nzILLv0g.js.map → CreateView-YbqcAK_f.js.map} +1 -1
  35. package/dist/admin/{EditPage-A7-BewPd.mjs → EditPage-Fu5aqX9h.mjs} +7 -7
  36. package/dist/admin/EditPage-Fu5aqX9h.mjs.map +1 -0
  37. package/dist/admin/{EditPage-Lw36XG9G.js → EditPage-H3D08t-N.js} +6 -6
  38. package/dist/admin/EditPage-H3D08t-N.js.map +1 -0
  39. package/dist/admin/{EditPage-cWJ8V1BK.mjs → EditPage-K8aawKOf.mjs} +27 -23
  40. package/dist/admin/EditPage-K8aawKOf.mjs.map +1 -0
  41. package/dist/admin/{EditPage-LoESB5pq.js → EditPage-U4UN4MeE.js} +7 -7
  42. package/dist/admin/{EditPage-LoESB5pq.js.map → EditPage-U4UN4MeE.js.map} +1 -1
  43. package/dist/admin/{EditPage-2cMhX4F_.mjs → EditPage-dZLyVDGx.mjs} +8 -8
  44. package/dist/admin/{EditPage-2cMhX4F_.mjs.map → EditPage-dZLyVDGx.mjs.map} +1 -1
  45. package/dist/admin/{EditPage-pTQCDncU.js → EditPage-ewduoYpT.js} +25 -21
  46. package/dist/admin/EditPage-ewduoYpT.js.map +1 -0
  47. package/dist/admin/{EditView-KzdDTSO-.js → EditView-1TEk6oaL.js} +5 -6
  48. package/dist/admin/EditView-1TEk6oaL.js.map +1 -0
  49. package/dist/admin/{EditView-HygMdUSf.mjs → EditView-xgk-lEu1.mjs} +7 -8
  50. package/dist/admin/EditView-xgk-lEu1.mjs.map +1 -0
  51. package/dist/admin/{EditViewPage-47F2xHBt.mjs → EditViewPage-2CHLYZlY.mjs} +6 -6
  52. package/dist/admin/{EditViewPage-47F2xHBt.mjs.map → EditViewPage-2CHLYZlY.mjs.map} +1 -1
  53. package/dist/admin/{EditViewPage-FgsrW_wV.js → EditViewPage-R2kud83M.js} +5 -5
  54. package/dist/admin/{EditViewPage-FgsrW_wV.js.map → EditViewPage-R2kud83M.js.map} +1 -1
  55. package/dist/admin/{EventsTable-mgIyB8DL.mjs → EventsTable-JJ16vr2h.mjs} +2 -2
  56. package/dist/admin/{EventsTable-mgIyB8DL.mjs.map → EventsTable-JJ16vr2h.mjs.map} +1 -1
  57. package/dist/admin/{EventsTable--XlOTHxM.js → EventsTable-fzeOe9NB.js} +2 -2
  58. package/dist/admin/{EventsTable--XlOTHxM.js.map → EventsTable-fzeOe9NB.js.map} +1 -1
  59. package/dist/admin/{HomePage-ywYHZHMa.js → HomePage-DB00H9y5.js} +15 -18
  60. package/dist/admin/HomePage-DB00H9y5.js.map +1 -0
  61. package/dist/admin/{HomePage-H77dsrr1.mjs → HomePage-EDHzBAy8.mjs} +3 -3
  62. package/dist/admin/{HomePage-H77dsrr1.mjs.map → HomePage-EDHzBAy8.mjs.map} +1 -1
  63. package/dist/admin/{HomePage-uVwht52t.js → HomePage-GsLJ4j4f.js} +3 -3
  64. package/dist/admin/{HomePage-uVwht52t.js.map → HomePage-GsLJ4j4f.js.map} +1 -1
  65. package/dist/admin/{HomePage-dyDldozB.mjs → HomePage-oz8OSt1B.mjs} +7 -10
  66. package/dist/admin/HomePage-oz8OSt1B.mjs.map +1 -0
  67. package/dist/admin/{InstalledPluginsPage-JkruwT2d.js → InstalledPlugins-T0ds5aOe.js} +9 -11
  68. package/dist/admin/InstalledPlugins-T0ds5aOe.js.map +1 -0
  69. package/dist/admin/{InstalledPluginsPage-3OSkplVn.mjs → InstalledPlugins-ngsQKZBi.mjs} +9 -11
  70. package/dist/admin/InstalledPlugins-ngsQKZBi.mjs.map +1 -0
  71. package/dist/admin/{Layout-pVTNV6PU.js → Layout-LTVvoQIP.js} +5 -5
  72. package/dist/admin/{Layout-pVTNV6PU.js.map → Layout-LTVvoQIP.js.map} +1 -1
  73. package/dist/admin/{Layout-8Ds_z3XN.mjs → Layout-dlsF2jYh.mjs} +5 -5
  74. package/dist/admin/{Layout-8Ds_z3XN.mjs.map → Layout-dlsF2jYh.mjs.map} +1 -1
  75. package/dist/admin/{ListPage-semY3kTl.mjs → ListPage-4VAaMuov.mjs} +4 -4
  76. package/dist/admin/{ListPage-semY3kTl.mjs.map → ListPage-4VAaMuov.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-8M-bmv0a.mjs → ListPage-CAAa_iYD.mjs} +6 -6
  78. package/dist/admin/{ListPage-8M-bmv0a.mjs.map → ListPage-CAAa_iYD.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-LokTy34i.mjs → ListPage-HjeCNXIL.mjs} +3 -3
  80. package/dist/admin/{ListPage-LokTy34i.mjs.map → ListPage-HjeCNXIL.mjs.map} +1 -1
  81. package/dist/admin/{ListPage-jTpJnTuQ.js → ListPage-J_zameoY.js} +3 -3
  82. package/dist/admin/{ListPage-jTpJnTuQ.js.map → ListPage-J_zameoY.js.map} +1 -1
  83. package/dist/admin/{ListPage-15KiUCLt.js → ListPage-W_j2UV6e.js} +3 -3
  84. package/dist/admin/{ListPage-15KiUCLt.js.map → ListPage-W_j2UV6e.js.map} +1 -1
  85. package/dist/admin/{ListPage-hNIbvh17.mjs → ListPage-cMqf3hxn.mjs} +10 -10
  86. package/dist/admin/ListPage-cMqf3hxn.mjs.map +1 -0
  87. package/dist/admin/{ListPage-OIdhjljI.js → ListPage-e_XhqWy-.js} +6 -6
  88. package/dist/admin/{ListPage-OIdhjljI.js.map → ListPage-e_XhqWy-.js.map} +1 -1
  89. package/dist/admin/{ListPage-NtjeF8R2.mjs → ListPage-fE9R8ZE1.mjs} +4 -4
  90. package/dist/admin/{ListPage-NtjeF8R2.mjs.map → ListPage-fE9R8ZE1.mjs.map} +1 -1
  91. package/dist/admin/{ListPage-dApwERT6.js → ListPage-kv14w7sy.js} +5 -5
  92. package/dist/admin/{ListPage-dApwERT6.js.map → ListPage-kv14w7sy.js.map} +1 -1
  93. package/dist/admin/{ListPage-DHUp0PDw.js → ListPage-qj3M7V0W.js} +8 -8
  94. package/dist/admin/ListPage-qj3M7V0W.js.map +1 -0
  95. package/dist/admin/{ListView-ZSEn2tK5.js → ListView-J3Bd1ZAj.js} +5 -5
  96. package/dist/admin/{ListView-ZSEn2tK5.js.map → ListView-J3Bd1ZAj.js.map} +1 -1
  97. package/dist/admin/{ListView-kEuSmXPm.mjs → ListView-JTtPuayE.mjs} +5 -5
  98. package/dist/admin/{ListView-kEuSmXPm.mjs.map → ListView-JTtPuayE.mjs.map} +1 -1
  99. package/dist/admin/{ListView-MA83TDJF.js → ListView-e_rZH3km.js} +4 -4
  100. package/dist/admin/{ListView-MA83TDJF.js.map → ListView-e_rZH3km.js.map} +1 -1
  101. package/dist/admin/{ListView-tCCo7pVS.mjs → ListView-ziItL2Hn.mjs} +5 -5
  102. package/dist/admin/{ListView-tCCo7pVS.mjs.map → ListView-ziItL2Hn.mjs.map} +1 -1
  103. package/dist/admin/{Login-RrWZQA_X.js → Login-B5mc1U2m.js} +3 -3
  104. package/dist/admin/{Login-RrWZQA_X.js.map → Login-B5mc1U2m.js.map} +1 -1
  105. package/dist/admin/{Login-GLcLgHUd.mjs → Login-STwy4gIQ.mjs} +3 -3
  106. package/dist/admin/{Login-GLcLgHUd.mjs.map → Login-STwy4gIQ.mjs.map} +1 -1
  107. package/dist/admin/{MagicLinkEE-u0n-nwtv.js → MagicLinkEE-3PSvKNEX.js} +3 -3
  108. package/dist/admin/{MagicLinkEE-u0n-nwtv.js.map → MagicLinkEE-3PSvKNEX.js.map} +1 -1
  109. package/dist/admin/{MagicLinkEE-_qltdLkk.mjs → MagicLinkEE-oXcvyO9m.mjs} +3 -3
  110. package/dist/admin/{MagicLinkEE-_qltdLkk.mjs.map → MagicLinkEE-oXcvyO9m.mjs.map} +1 -1
  111. package/dist/admin/{MarketplacePage-uyOTT12t.js → MarketplacePage-XkcAwVQL.js} +65 -64
  112. package/dist/admin/MarketplacePage-XkcAwVQL.js.map +1 -0
  113. package/dist/admin/{MarketplacePage-41CstG0b.mjs → MarketplacePage-s3TgP0pj.mjs} +64 -63
  114. package/dist/admin/MarketplacePage-s3TgP0pj.mjs.map +1 -0
  115. package/dist/admin/{Permissions-J2jRpCh_.mjs → Permissions-aSGK8VGG.mjs} +2 -2
  116. package/dist/admin/{Permissions-J2jRpCh_.mjs.map → Permissions-aSGK8VGG.mjs.map} +1 -1
  117. package/dist/admin/{Permissions-LMVH6wf4.js → Permissions-bmMBmcv7.js} +2 -2
  118. package/dist/admin/{Permissions-LMVH6wf4.js.map → Permissions-bmMBmcv7.js.map} +1 -1
  119. package/dist/admin/{PrivateRoute-ndqg7K6H.js → PrivateRoute-LO9G_pCJ.js} +2 -2
  120. package/dist/admin/{PrivateRoute-ndqg7K6H.js.map → PrivateRoute-LO9G_pCJ.js.map} +1 -1
  121. package/dist/admin/{PrivateRoute-4oRTB_tX.mjs → PrivateRoute-S4Lol0B9.mjs} +2 -2
  122. package/dist/admin/{PrivateRoute-4oRTB_tX.mjs.map → PrivateRoute-S4Lol0B9.mjs.map} +1 -1
  123. package/dist/admin/{ProfilePage-zwG0fq_e.mjs → ProfilePage-EPvpBxko.mjs} +6 -6
  124. package/dist/admin/ProfilePage-EPvpBxko.mjs.map +1 -0
  125. package/dist/admin/{ProfilePage-wxZFen3W.js → ProfilePage-TMGpOFkt.js} +5 -5
  126. package/dist/admin/ProfilePage-TMGpOFkt.js.map +1 -0
  127. package/dist/admin/{PurchaseAuditLogs-f6iczpRi.js → PurchaseAuditLogs-HcdrHEM2.js} +2 -2
  128. package/dist/admin/{PurchaseAuditLogs-f6iczpRi.js.map → PurchaseAuditLogs-HcdrHEM2.js.map} +1 -1
  129. package/dist/admin/{PurchaseAuditLogs-FDPV-ZqU.mjs → PurchaseAuditLogs-K2YmR4Il.mjs} +2 -2
  130. package/dist/admin/{PurchaseAuditLogs-FDPV-ZqU.mjs.map → PurchaseAuditLogs-K2YmR4Il.mjs.map} +1 -1
  131. package/dist/admin/{PurchaseSingleSignOn-S0B2HM4d.mjs → PurchaseSingleSignOn-sxd54apY.mjs} +2 -2
  132. package/dist/admin/{PurchaseSingleSignOn-S0B2HM4d.mjs.map → PurchaseSingleSignOn-sxd54apY.mjs.map} +1 -1
  133. package/dist/admin/{PurchaseSingleSignOn-0wXAjOLm.js → PurchaseSingleSignOn-y7p3yZ-b.js} +2 -2
  134. package/dist/admin/{PurchaseSingleSignOn-0wXAjOLm.js.map → PurchaseSingleSignOn-y7p3yZ-b.js.map} +1 -1
  135. package/dist/admin/{SelectRoles-MoDtdDcM.js → SelectRoles-L8dRONb-.js} +7 -7
  136. package/dist/admin/SelectRoles-L8dRONb-.js.map +1 -0
  137. package/dist/admin/{SelectRoles-h_1srnVz.mjs → SelectRoles-esk6LySb.mjs} +6 -6
  138. package/dist/admin/SelectRoles-esk6LySb.mjs.map +1 -0
  139. package/dist/admin/{SingleSignOnPage-5CdOsumW.js → SingleSignOnPage-cih5-oBZ.js} +4 -4
  140. package/dist/admin/{SingleSignOnPage-5CdOsumW.js.map → SingleSignOnPage-cih5-oBZ.js.map} +1 -1
  141. package/dist/admin/{SingleSignOnPage-AZVczKwR.mjs → SingleSignOnPage-idMTZOuN.mjs} +5 -5
  142. package/dist/admin/{SingleSignOnPage-AZVczKwR.mjs.map → SingleSignOnPage-idMTZOuN.mjs.map} +1 -1
  143. package/dist/admin/{Table-CpbvaRQh.js → Table-1mVE67Cd.js} +12 -19
  144. package/dist/admin/Table-1mVE67Cd.js.map +1 -0
  145. package/dist/admin/{Table-EPKfcF5-.mjs → Table-wZgpqMG3.mjs} +12 -19
  146. package/dist/admin/Table-wZgpqMG3.mjs.map +1 -0
  147. package/dist/admin/{Theme-PrUuuGtN.mjs → Theme-frC82ceE.mjs} +221 -20
  148. package/dist/admin/Theme-frC82ceE.mjs.map +1 -0
  149. package/dist/admin/{Theme-7W0we6BI.js → Theme-y_rWTknM.js} +225 -19
  150. package/dist/admin/Theme-y_rWTknM.js.map +1 -0
  151. package/dist/admin/{TokenTypeSelect-7Ki5z_3z.mjs → TokenTypeSelect-GplqVrbt.mjs} +4 -5
  152. package/dist/admin/{TokenTypeSelect-7Ki5z_3z.mjs.map → TokenTypeSelect-GplqVrbt.mjs.map} +1 -1
  153. package/dist/admin/{TokenTypeSelect-yRV19q7R.js → TokenTypeSelect-Itk7isiz.js} +4 -5
  154. package/dist/admin/{TokenTypeSelect-yRV19q7R.js.map → TokenTypeSelect-Itk7isiz.js.map} +1 -1
  155. package/dist/admin/{UseCasePage-l9OmQYhK.js → UseCasePage-1SuyjC6w.js} +4 -4
  156. package/dist/admin/{UseCasePage-l9OmQYhK.js.map → UseCasePage-1SuyjC6w.js.map} +1 -1
  157. package/dist/admin/{UseCasePage-as6-3qKD.mjs → UseCasePage-QPnZOFrC.mjs} +4 -4
  158. package/dist/admin/{UseCasePage-as6-3qKD.mjs.map → UseCasePage-QPnZOFrC.mjs.map} +1 -1
  159. package/dist/admin/{admin-B6AW0Kov.mjs → admin-GZ-AP2T0.mjs} +2 -2
  160. package/dist/admin/{admin-B6AW0Kov.mjs.map → admin-GZ-AP2T0.mjs.map} +1 -1
  161. package/dist/admin/{apiTokens-YMUmHnrH.mjs → apiTokens-GQe-GqwZ.mjs} +2 -2
  162. package/dist/admin/{apiTokens-YMUmHnrH.mjs.map → apiTokens-GQe-GqwZ.mjs.map} +1 -1
  163. package/dist/admin/{constants-X2uDAtEA.js → constants-K5ARNpfV.js} +3 -3
  164. package/dist/admin/{constants-X2uDAtEA.js.map → constants-K5ARNpfV.js.map} +1 -1
  165. package/dist/admin/{constants-AYR471DB.mjs → constants-T5y8alpG.mjs} +3 -3
  166. package/dist/admin/{constants-AYR471DB.mjs.map → constants-T5y8alpG.mjs.map} +1 -1
  167. package/dist/admin/ee.mjs +1 -1
  168. package/dist/admin/en-GB-8ipWI3xp.mjs +6 -0
  169. package/dist/admin/en-GB-8ipWI3xp.mjs.map +1 -0
  170. package/dist/admin/en-GB-vRfq_FQ3.js +10 -0
  171. package/dist/admin/en-GB-vRfq_FQ3.js.map +1 -0
  172. package/dist/admin/{en-TbnMBjZf.js → en-_1-Nn7iH.js} +3 -2
  173. package/dist/admin/{en-TbnMBjZf.js.map → en-_1-Nn7iH.js.map} +1 -1
  174. package/dist/admin/{en-0Ld-ipyI.mjs → en-lDO5lPD0.mjs} +3 -2
  175. package/dist/admin/{en-0Ld-ipyI.mjs.map → en-lDO5lPD0.mjs.map} +1 -1
  176. package/dist/admin/{index-Fu3hPmaj.mjs → index-QPUYgtlo.mjs} +143 -280
  177. package/dist/admin/index-QPUYgtlo.mjs.map +1 -0
  178. package/dist/admin/{index-w33_0vI-.js → index-YMz7KziV.js} +147 -287
  179. package/dist/admin/index-YMz7KziV.js.map +1 -0
  180. package/dist/admin/index.js +5 -4
  181. package/dist/admin/index.js.map +1 -1
  182. package/dist/admin/index.mjs +3 -3
  183. package/dist/admin/{selectors-ZpHhvPK4.mjs → selectors--muHmKGe.mjs} +2 -2
  184. package/dist/admin/{selectors-ZpHhvPK4.mjs.map → selectors--muHmKGe.mjs.map} +1 -1
  185. package/dist/admin/{selectors-zQKcCNuz.js → selectors-1ySxKbos.js} +2 -2
  186. package/dist/admin/{selectors-zQKcCNuz.js.map → selectors-1ySxKbos.js.map} +1 -1
  187. package/dist/admin/src/StrapiApp.d.ts +8 -6
  188. package/dist/admin/src/components/Form.d.ts +3 -1
  189. package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -4
  190. package/dist/admin/src/constants.d.ts +10 -0
  191. package/dist/admin/src/features/Auth.d.ts +1 -1
  192. package/dist/admin/src/hooks/useRBAC.d.ts +1 -1
  193. package/dist/admin/src/index.d.ts +3 -0
  194. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +1 -1
  195. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -1
  196. package/dist/admin/src/pages/Settings/pages/InstalledPlugins.d.ts +3 -0
  197. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +1 -1
  198. package/dist/admin/src/translations/languageNativeNames.d.ts +1 -0
  199. package/dist/admin/src/types/permissions.d.ts +3 -1
  200. package/dist/admin/test.js +3 -3
  201. package/dist/admin/test.js.map +1 -1
  202. package/dist/admin/test.mjs +4 -4
  203. package/dist/admin/test.mjs.map +1 -1
  204. package/dist/admin/{transferTokens-CNI0TFdA.mjs → transferTokens-v8tNpI_l.mjs} +2 -2
  205. package/dist/admin/{transferTokens-CNI0TFdA.mjs.map → transferTokens-v8tNpI_l.mjs.map} +1 -1
  206. package/dist/admin/{useAdminRoles-lDesL4gN.mjs → useAdminRoles-DX1MOKC9.mjs} +2 -2
  207. package/dist/admin/{useAdminRoles-lDesL4gN.mjs.map → useAdminRoles-DX1MOKC9.mjs.map} +1 -1
  208. package/dist/admin/{useAdminRoles-w6h8NFK5.js → useAdminRoles-nNC9r0dz.js} +2 -2
  209. package/dist/admin/{useAdminRoles-w6h8NFK5.js.map → useAdminRoles-nNC9r0dz.js.map} +1 -1
  210. package/dist/admin/{useLicenseLimitNotification-PaR7jmqd.mjs → useLicenseLimitNotification-Qx_rSpUQ.mjs} +3 -3
  211. package/dist/admin/{useLicenseLimitNotification-PaR7jmqd.mjs.map → useLicenseLimitNotification-Qx_rSpUQ.mjs.map} +1 -1
  212. package/dist/admin/{useLicenseLimitNotification-g1vq6nzk.js → useLicenseLimitNotification-eau4ja6h.js} +2 -2
  213. package/dist/admin/{useLicenseLimitNotification-g1vq6nzk.js.map → useLicenseLimitNotification-eau4ja6h.js.map} +1 -1
  214. package/dist/admin/{useLicenseLimits-Jy6E6qc2.mjs → useLicenseLimits-j5znikzW.mjs} +2 -2
  215. package/dist/admin/{useLicenseLimits-Jy6E6qc2.mjs.map → useLicenseLimits-j5znikzW.mjs.map} +1 -1
  216. package/dist/admin/{useWebhooks-7thg-d57.mjs → useWebhooks-upF7mgdZ.mjs} +2 -2
  217. package/dist/admin/{useWebhooks-7thg-d57.mjs.map → useWebhooks-upF7mgdZ.mjs.map} +1 -1
  218. package/dist/admin/{validation-4SWh9S5z.js → validation-AQCTfU6y.js} +4 -4
  219. package/dist/admin/validation-AQCTfU6y.js.map +1 -0
  220. package/dist/admin/{validation-IcNGA_ef.mjs → validation-tnv2QISi.mjs} +4 -4
  221. package/dist/admin/validation-tnv2QISi.mjs.map +1 -0
  222. package/dist/ee/server/src/audit-logs/content-types/audit-log.d.ts +41 -0
  223. package/dist/ee/server/src/audit-logs/content-types/audit-log.d.ts.map +1 -0
  224. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts +7 -0
  225. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts.map +1 -0
  226. package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts +19 -0
  227. package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts.map +1 -0
  228. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +27 -0
  229. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -0
  230. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +12 -0
  231. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -0
  232. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +6 -0
  233. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -0
  234. package/dist/ee/server/src/bootstrap.d.ts +3 -0
  235. package/dist/ee/server/src/bootstrap.d.ts.map +1 -0
  236. package/dist/ee/server/src/config/admin-actions.d.ts +20 -0
  237. package/dist/ee/server/src/config/admin-actions.d.ts.map +1 -0
  238. package/dist/ee/server/src/content-types/index.d.ts +3 -0
  239. package/dist/ee/server/src/content-types/index.d.ts.map +1 -0
  240. package/dist/ee/server/src/controllers/admin.d.ts +29 -0
  241. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -0
  242. package/dist/ee/server/src/controllers/authentication-utils/constants.d.ts +10 -0
  243. package/dist/ee/server/src/controllers/authentication-utils/constants.d.ts.map +1 -0
  244. package/dist/ee/server/src/controllers/authentication-utils/index.d.ts +5 -0
  245. package/dist/ee/server/src/controllers/authentication-utils/index.d.ts.map +1 -0
  246. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts +9 -0
  247. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -0
  248. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +55 -0
  249. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -0
  250. package/dist/ee/server/src/controllers/authentication.d.ts +9 -0
  251. package/dist/ee/server/src/controllers/authentication.d.ts.map +1 -0
  252. package/dist/ee/server/src/controllers/index.d.ts +48 -0
  253. package/dist/ee/server/src/controllers/index.d.ts.map +1 -0
  254. package/dist/ee/server/src/controllers/role.d.ts +20 -0
  255. package/dist/ee/server/src/controllers/role.d.ts.map +1 -0
  256. package/dist/ee/server/src/controllers/user.d.ts +8 -0
  257. package/dist/ee/server/src/controllers/user.d.ts.map +1 -0
  258. package/dist/ee/server/src/destroy.d.ts +6 -0
  259. package/dist/ee/server/src/destroy.d.ts.map +1 -0
  260. package/dist/ee/server/src/index.d.ts +380 -0
  261. package/dist/ee/server/src/index.d.ts.map +1 -0
  262. package/dist/ee/server/src/register.d.ts +6 -0
  263. package/dist/ee/server/src/register.d.ts.map +1 -0
  264. package/dist/ee/server/src/routes/index.d.ts +47 -0
  265. package/dist/ee/server/src/routes/index.d.ts.map +1 -0
  266. package/dist/ee/server/src/routes/license-limit.d.ts +18 -0
  267. package/dist/ee/server/src/routes/license-limit.d.ts.map +1 -0
  268. package/dist/ee/server/src/routes/sso.d.ts +29 -0
  269. package/dist/ee/server/src/routes/sso.d.ts.map +1 -0
  270. package/dist/ee/server/src/routes/utils.d.ts +3 -0
  271. package/dist/ee/server/src/routes/utils.d.ts.map +1 -0
  272. package/dist/ee/server/src/services/auth.d.ts +6 -0
  273. package/dist/ee/server/src/services/auth.d.ts.map +1 -0
  274. package/dist/ee/server/src/services/index.d.ts +39 -0
  275. package/dist/ee/server/src/services/index.d.ts.map +1 -0
  276. package/dist/ee/server/src/services/metrics.d.ts +8 -0
  277. package/dist/ee/server/src/services/metrics.d.ts.map +1 -0
  278. package/dist/ee/server/src/services/passport/provider-registry.d.ts +4 -0
  279. package/dist/ee/server/src/services/passport/provider-registry.d.ts.map +1 -0
  280. package/dist/ee/server/src/services/passport/sso.d.ts +19 -0
  281. package/dist/ee/server/src/services/passport/sso.d.ts.map +1 -0
  282. package/dist/ee/server/src/services/passport.d.ts +13 -0
  283. package/dist/ee/server/src/services/passport.d.ts.map +1 -0
  284. package/dist/ee/server/src/services/role.d.ts +5 -0
  285. package/dist/ee/server/src/services/role.d.ts.map +1 -0
  286. package/dist/ee/server/src/services/seat-enforcement.d.ts +6 -0
  287. package/dist/ee/server/src/services/seat-enforcement.d.ts.map +1 -0
  288. package/dist/ee/server/src/services/user.d.ts +10 -0
  289. package/dist/ee/server/src/services/user.d.ts.map +1 -0
  290. package/dist/ee/server/src/utils/index.d.ts +11 -0
  291. package/dist/ee/server/src/utils/index.d.ts.map +1 -0
  292. package/dist/ee/server/src/utils/persisted-tables.d.ts +42 -0
  293. package/dist/ee/server/src/utils/persisted-tables.d.ts.map +1 -0
  294. package/dist/ee/server/src/utils/sso-lock.d.ts +6 -0
  295. package/dist/ee/server/src/utils/sso-lock.d.ts.map +1 -0
  296. package/dist/ee/server/src/validation/authentication.d.ts +15 -0
  297. package/dist/ee/server/src/validation/authentication.d.ts.map +1 -0
  298. package/dist/ee/server/src/validation/role.d.ts +21 -0
  299. package/dist/ee/server/src/validation/role.d.ts.map +1 -0
  300. package/dist/ee/server/src/validation/user.d.ts +19 -0
  301. package/dist/ee/server/src/validation/user.d.ts.map +1 -0
  302. package/dist/package.json.d.ts +11 -10
  303. package/dist/server/index.js +1897 -538
  304. package/dist/server/index.js.map +1 -1
  305. package/dist/server/index.mjs +1693 -333
  306. package/dist/server/index.mjs.map +1 -1
  307. package/dist/server/src/domain/action/provider.d.ts +1 -1
  308. package/dist/server/src/domain/condition/provider.d.ts +3 -1
  309. package/dist/server/src/domain/condition/provider.d.ts.map +1 -1
  310. package/dist/server/src/index.d.ts +738 -10
  311. package/dist/server/src/index.d.ts.map +1 -1
  312. package/dist/server/src/services/metrics.d.ts.map +1 -1
  313. package/dist/server/src/services/permission.d.ts +4 -2
  314. package/dist/server/src/services/permission.d.ts.map +1 -1
  315. package/dist/shared/contracts/admin.d.ts +1 -0
  316. package/dist/shared/contracts/admin.d.ts.map +1 -1
  317. package/dist/shared/contracts/user.d.ts +1 -1
  318. package/dist/shared/contracts/user.d.ts.map +1 -1
  319. package/package.json +18 -17
  320. package/dist/admin/AuthenticatedLayout-06fn7qrH.mjs.map +0 -1
  321. package/dist/admin/AuthenticatedLayout-eKDwvUFO.js.map +0 -1
  322. package/dist/admin/ContentBox-3MRTNw0X.js +0 -43
  323. package/dist/admin/ContentBox-3MRTNw0X.js.map +0 -1
  324. package/dist/admin/ContentBox-9LBDzws0.mjs +0 -41
  325. package/dist/admin/ContentBox-9LBDzws0.mjs.map +0 -1
  326. package/dist/admin/CreatePage-bdWb1wg4.mjs.map +0 -1
  327. package/dist/admin/CreatePage-t5HQUOqJ.js.map +0 -1
  328. package/dist/admin/EditPage-A7-BewPd.mjs.map +0 -1
  329. package/dist/admin/EditPage-Lw36XG9G.js.map +0 -1
  330. package/dist/admin/EditPage-cWJ8V1BK.mjs.map +0 -1
  331. package/dist/admin/EditPage-pTQCDncU.js.map +0 -1
  332. package/dist/admin/EditView-HygMdUSf.mjs.map +0 -1
  333. package/dist/admin/EditView-KzdDTSO-.js.map +0 -1
  334. package/dist/admin/HomePage-dyDldozB.mjs.map +0 -1
  335. package/dist/admin/HomePage-ywYHZHMa.js.map +0 -1
  336. package/dist/admin/InstalledPluginsPage-3OSkplVn.mjs.map +0 -1
  337. package/dist/admin/InstalledPluginsPage-JkruwT2d.js.map +0 -1
  338. package/dist/admin/ListPage-DHUp0PDw.js.map +0 -1
  339. package/dist/admin/ListPage-hNIbvh17.mjs.map +0 -1
  340. package/dist/admin/MarketplacePage-41CstG0b.mjs.map +0 -1
  341. package/dist/admin/MarketplacePage-uyOTT12t.js.map +0 -1
  342. package/dist/admin/ProfilePage-wxZFen3W.js.map +0 -1
  343. package/dist/admin/ProfilePage-zwG0fq_e.mjs.map +0 -1
  344. package/dist/admin/SelectRoles-MoDtdDcM.js.map +0 -1
  345. package/dist/admin/SelectRoles-h_1srnVz.mjs.map +0 -1
  346. package/dist/admin/Table-CpbvaRQh.js.map +0 -1
  347. package/dist/admin/Table-EPKfcF5-.mjs.map +0 -1
  348. package/dist/admin/Theme-7W0we6BI.js.map +0 -1
  349. package/dist/admin/Theme-PrUuuGtN.mjs.map +0 -1
  350. package/dist/admin/index-Fu3hPmaj.mjs.map +0 -1
  351. package/dist/admin/index-w33_0vI-.js.map +0 -1
  352. package/dist/admin/src/pages/InstalledPluginsPage.d.ts +0 -3
  353. package/dist/admin/validation-4SWh9S5z.js.map +0 -1
  354. package/dist/admin/validation-IcNGA_ef.mjs.map +0 -1
  355. package/dist/ee/server/index.js +0 -2193
  356. package/dist/ee/server/index.js.map +0 -1
  357. package/dist/ee/server/index.mjs +0 -2188
  358. package/dist/ee/server/index.mjs.map +0 -1
  359. package/strapi-server.js +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"TokenTypeSelect-yRV19q7R.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, Dialog, 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 <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <Dialog.Trigger>\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 </Dialog.Trigger>\n\n <ConfirmDialog\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 </Dialog.Root>\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 variant=\"ghost\"\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","Dialog","jsx","Button","ArrowClockwise","ConfirmDialog","Layouts","jsxs","Flex","Check","BackButton","useTracking","useClipboard","token","ContentBox","IconButton","Duplicate","Key","locales","format","addDays","Fragment","Field","SingleSelect","value","SingleSelectOption","Typography","Textarea","TextInput","label"],"mappings":"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"}
1
+ {"version":3,"file":"TokenTypeSelect-Itk7isiz.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, Dialog, 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 <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <Dialog.Trigger>\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 </Dialog.Trigger>\n\n <ConfirmDialog\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 </Dialog.Root>\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 variant=\"ghost\"\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","Dialog","jsx","Button","ArrowClockwise","ConfirmDialog","Layouts","jsxs","Flex","Check","BackButton","useTracking","useClipboard","token","ContentBox","IconButton","Duplicate","Key","locales","format","addDays","Fragment","Field","SingleSelect","value","SingleSelectOption","Typography","Textarea","TextInput","label"],"mappings":"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"}
@@ -8,9 +8,9 @@ const designSystem = require('@strapi/design-system');
8
8
  const qs = require('qs');
9
9
  const reactIntl = require('react-intl');
10
10
  const reactRouterDom = require('react-router-dom');
11
- const PrivateRoute = require('./PrivateRoute-ndqg7K6H.js');
12
- const index = require('./index-w33_0vI-.js');
13
- const Theme = require('./Theme-7W0we6BI.js');
11
+ const PrivateRoute = require('./PrivateRoute-LO9G_pCJ.js');
12
+ const index = require('./index-YMz7KziV.js');
13
+ const Theme = require('./Theme-y_rWTknM.js');
14
14
 
15
15
  function _interopNamespace(e) {
16
16
  if (e && e.__esModule) return e;
@@ -158,4 +158,4 @@ const PrivateUseCasePage = () => {
158
158
  exports.PrivateUseCasePage = PrivateUseCasePage;
159
159
  exports.UseCasePage = UseCasePage;
160
160
  exports.options = options;
161
- //# sourceMappingURL=UseCasePage-l9OmQYhK.js.map
161
+ //# sourceMappingURL=UseCasePage-1SuyjC6w.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UseCasePage-l9OmQYhK.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\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\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-1SuyjC6w.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\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\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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"}
@@ -4,9 +4,9 @@ import { Main, Flex, Box, Typography, Field, SingleSelect, SingleSelectOption, T
4
4
  import { parse } from 'qs';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useLocation, useNavigate } from 'react-router-dom';
7
- import { P as PrivateRoute } from './PrivateRoute-4oRTB_tX.mjs';
8
- import { U as UnauthenticatedLayout, L as LayoutContent, a as Logo } from './index-Fu3hPmaj.mjs';
9
- import { a as useNotification, u as useAuth } from './Theme-PrUuuGtN.mjs';
7
+ import { P as PrivateRoute } from './PrivateRoute-S4Lol0B9.mjs';
8
+ import { U as UnauthenticatedLayout, L as LayoutContent, a as Logo } from './index-QPUYgtlo.mjs';
9
+ import { a as useNotification, u as useAuth } from './Theme-frC82ceE.mjs';
10
10
 
11
11
  const options = [
12
12
  {
@@ -132,4 +132,4 @@ const PrivateUseCasePage = () => {
132
132
  };
133
133
 
134
134
  export { PrivateUseCasePage, UseCasePage, options };
135
- //# sourceMappingURL=UseCasePage-as6-3qKD.mjs.map
135
+ //# sourceMappingURL=UseCasePage-QPnZOFrC.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"UseCasePage-as6-3qKD.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\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\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-QPnZOFrC.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\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => handleSubmit(event, true)}\n >\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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"}
@@ -314,5 +314,5 @@ const {
314
314
  useGetLicenseLimitsQuery
315
315
  } = admin;
316
316
 
317
- export { FetchError as F, useGetPluginsQuery as a, adminApi as b, isFetchError as c, useInformationQuery as d, useInitQuery as e, useTelemetryPropertiesQuery as f, useProjectSettingsQuery as g, useUpdateProjectSettingsMutation as h, isBaseQueryError as i, createAbsoluteUrl as j, getFetchClient as k, fetchBaseQuery as l, useGetLicenseLimitsQuery as u };
318
- //# sourceMappingURL=admin-B6AW0Kov.mjs.map
317
+ export { FetchError as F, adminApi as a, useGetPluginsQuery as b, isFetchError as c, useInformationQuery as d, useInitQuery as e, useTelemetryPropertiesQuery as f, useProjectSettingsQuery as g, useUpdateProjectSettingsMutation as h, isBaseQueryError as i, createAbsoluteUrl as j, getFetchClient as k, fetchBaseQuery as l, useGetLicenseLimitsQuery as u };
318
+ //# sourceMappingURL=admin-GZ-AP2T0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-B6AW0Kov.mjs","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","result"],"mappings":"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"}
1
+ {"version":3,"file":"admin-GZ-AP2T0.mjs","sources":["../../admin/src/utils/getFetchClient.ts","../../admin/src/utils/baseQuery.ts","../../admin/src/services/api.ts","../../admin/src/utils/urls.ts","../../admin/src/services/admin.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = () =>\n JSON.parse(\n localStorage.getItem(STORAGE_KEYS.TOKEN) ?? sessionStorage.getItem(STORAGE_KEYS.TOKEN) ?? '\"\"'\n );\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n","import { SerializedError } from '@reduxjs/toolkit';\nimport { BaseQueryFn } from '@reduxjs/toolkit/query';\n\nimport { getFetchClient, isFetchError, type FetchOptions } from '../utils/getFetchClient';\n\nimport type { ApiError } from '../hooks/useAPIErrorHandler';\n\ninterface QueryArguments {\n url: string;\n method?: 'GET' | 'POST' | 'DELETE' | 'PUT';\n data?: unknown;\n config?: FetchOptions;\n}\n\ninterface UnknownApiError {\n name: 'UnknownError';\n message: string;\n details?: unknown;\n status?: number;\n}\n\ntype BaseQueryError = ApiError | UnknownApiError;\n\nconst fetchBaseQuery =\n (): BaseQueryFn<string | QueryArguments, unknown, BaseQueryError> =>\n async (query, { signal }) => {\n try {\n const { get, post, del, put } = getFetchClient();\n\n if (typeof query === 'string') {\n const result = await get(query, { signal });\n return { data: result.data };\n } else {\n const { url, method = 'GET', data, config } = query;\n\n if (method === 'POST') {\n const result = await post(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'DELETE') {\n const result = await del(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n if (method === 'PUT') {\n const result = await put(url, data, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n\n /**\n * Default is GET.\n */\n const result = await get(url, {\n ...config,\n signal,\n });\n return { data: result.data };\n }\n } catch (err) {\n // Handle error of type FetchError\n\n if (isFetchError(err)) {\n if (\n typeof err.response?.data === 'object' &&\n err.response?.data !== null &&\n 'error' in err.response?.data\n ) {\n /**\n * This will most likely be ApiError\n */\n return { data: undefined, error: err.response?.data.error as any };\n } else {\n return {\n data: undefined,\n error: {\n name: 'UnknownError',\n message: err.message,\n details: err.response,\n status: err.status,\n } as UnknownApiError,\n };\n }\n }\n\n const error = err as Error;\n return {\n data: undefined,\n error: {\n name: error.name,\n message: error.message,\n stack: error.stack,\n } satisfies SerializedError,\n };\n }\n };\n\nconst isBaseQueryError = (error: BaseQueryError | SerializedError): error is BaseQueryError => {\n return error.name !== undefined;\n};\n\nexport { fetchBaseQuery, isBaseQueryError };\nexport type { BaseQueryError, UnknownApiError, QueryArguments };\n","import { createApi } from '@reduxjs/toolkit/query/react';\n\nimport { fetchBaseQuery } from '../utils/baseQuery';\n\n/**\n * @public\n * @description This is the redux toolkit api for the admin panel, users\n * should use a combination of `enhanceEndpoints` to add their TagTypes\n * to utilise in their `injectEndpoints` construction for automatic cache\n * re-validation. We specifically do not store any tagTypes by default leaving\n * the API surface as small as possible. None of the data-fetching looks for the\n * StrapiApp are stored here either.\n */\nconst adminApi = createApi({\n reducerPath: 'adminApi',\n baseQuery: fetchBaseQuery(),\n tagTypes: [],\n endpoints: () => ({}),\n});\n\nexport { adminApi };\n","const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\n/**\n * @description Creates an absolute URL, if there is no URL or it\n * is relative, we use the `window.location.origin` as a fallback.\n * IF it's an absolute URL, we return it as is.\n */\nconst createAbsoluteUrl = (url?: string): string => {\n if (!url) {\n return window.location.origin;\n }\n if (url.startsWith('/')) {\n /**\n * This will also manage protocol relative URLs which is fine because\n * as we can see from the test, we still get the expected result.\n */\n return new URL(url, window.location.origin).toString();\n } else {\n return url;\n }\n};\n\nexport { createAbsoluteUrl, prefixFileUrlWithBackendUrl };\n","import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["qs","result"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { b as adminApi } from './admin-B6AW0Kov.mjs';
1
+ import { a as adminApi } from './admin-GZ-AP2T0.mjs';
2
2
 
3
3
  const apiTokensService = adminApi.enhanceEndpoints({
4
4
  addTagTypes: ["ApiToken"]
@@ -54,4 +54,4 @@ const {
54
54
  } = apiTokensService;
55
55
 
56
56
  export { useDeleteAPITokenMutation as a, useGetAPITokenQuery as b, useCreateAPITokenMutation as c, useUpdateAPITokenMutation as d, useGetAPITokensQuery as u };
57
- //# sourceMappingURL=apiTokens-YMUmHnrH.mjs.map
57
+ //# sourceMappingURL=apiTokens-GQe-GqwZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiTokens-YMUmHnrH.mjs","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":[],"mappings":";;AAIA,MAAM,gBAAA,GAAmB,SACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU,CAAA;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO,EAAA;AAAA,OAC1C;AAAA,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ,CAAA;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,QAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KAC5E,CAAA;AAAA,GACH,CAAA;AACF,CAAC,CAAA,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AACF,CAAI,GAAA;;;;"}
1
+ {"version":3,"file":"apiTokens-GQe-GqwZ.mjs","sources":["../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":[],"mappings":";;AAIA,MAAM,gBAAA,GAAmB,SACtB,gBAAiB,CAAA;AAAA,EAChB,WAAA,EAAa,CAAC,UAAU,CAAA;AAC1B,CAAC,EACA,eAAgB,CAAA;AAAA,EACf,SAAA,EAAW,CAAC,OAAa,MAAA;AAAA,IACvB,YAAA,EAAc,QAAQ,KAA4C,CAAA;AAAA,MAChE,OAAO,MAAM,mBAAA;AAAA,MACb,iBAAA,EAAmB,CAAC,QAAA,KAAqC,QAAS,CAAA,IAAA;AAAA,MAClE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAS,KAAA;AAAA,QAC3B,GAAI,GAAA,EAAK,GAAI,CAAA,CAAC,EAAE,EAAA,EAAU,MAAA,EAAE,IAAM,EAAA,UAAA,EAAqB,EAAG,EAAA,CAAE,KAAK,EAAC;AAAA,QAClE,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,MAAO,EAAA;AAAA,OAC1C;AAAA,KACD,CAAA;AAAA,IACD,WAAA,EAAa,QAAQ,KAAgE,CAAA;AAAA,MACnF,KAAO,EAAA,CAAC,EAAO,KAAA,CAAA,kBAAA,EAAqB,EAAE,CAAA,CAAA;AAAA,MACtC,iBAAA,EAAmB,CAAC,QAAA,KAAoC,QAAS,CAAA,IAAA;AAAA,MACjE,YAAA,EAAc,CAAC,GAAA,EAAK,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACpE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,IAAU,MAAA;AAAA,QAChB,GAAK,EAAA,mBAAA;AAAA,QACL,MAAQ,EAAA,MAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,iBAAiB,CAAC,EAAE,MAAM,UAAqB,EAAA,EAAA,EAAI,QAAQ,CAAA;AAAA,KAC5D,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,KAAA,EAAO,CAAC,EAAQ,MAAA;AAAA,QACd,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,QAAA;AAAA,OACV,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,EAAA,KAAO,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KACxE,CAAA;AAAA,IACD,cAAA,EAAgB,QAAQ,QAGtB,CAAA;AAAA,MACA,OAAO,CAAC,EAAE,EAAI,EAAA,GAAG,MAAY,MAAA;AAAA,QAC3B,GAAA,EAAK,qBAAqB,EAAE,CAAA,CAAA;AAAA,QAC5B,MAAQ,EAAA,KAAA;AAAA,QACR,IAAM,EAAA,IAAA;AAAA,OACR,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAC,QAAA,KAAuC,QAAS,CAAA,IAAA;AAAA,MACpE,eAAiB,EAAA,CAAC,IAAM,EAAA,IAAA,EAAM,EAAE,EAAA,EAAS,KAAA,CAAC,EAAE,IAAA,EAAM,UAAqB,EAAA,EAAA,EAAI,CAAA;AAAA,KAC5E,CAAA;AAAA,GACH,CAAA;AACF,CAAC,CAAA,CAAA;AAEG,MAAA;AAAA,EACJ,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AAAA,EACA,yBAAA;AACF,CAAI,GAAA;;;;"}
@@ -7,8 +7,8 @@ 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-w33_0vI-.js');
11
- const Theme = require('./Theme-7W0we6BI.js');
10
+ const index = require('./index-YMz7KziV.js');
11
+ const Theme = require('./Theme-y_rWTknM.js');
12
12
  const SSOProviders = require('./SSOProviders-9-d1vYXb.js');
13
13
 
14
14
  const Providers = () => {
@@ -52,4 +52,4 @@ const FORMS = {
52
52
  };
53
53
 
54
54
  exports.FORMS = FORMS;
55
- //# sourceMappingURL=constants-X2uDAtEA.js.map
55
+ //# sourceMappingURL=constants-K5ARNpfV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-X2uDAtEA.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-K5ARNpfV.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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"}
@@ -3,8 +3,8 @@ 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-Fu3hPmaj.mjs';
7
- import { l as useGetProvidersQuery } from './Theme-PrUuuGtN.mjs';
6
+ import { U as UnauthenticatedLayout, L as LayoutContent, m as Column, a as Logo } from './index-QPUYgtlo.mjs';
7
+ import { l as useGetProvidersQuery } from './Theme-frC82ceE.mjs';
8
8
  import { S as SSOProviders } from './SSOProviders-sy3Xon2A.mjs';
9
9
 
10
10
  const Providers = () => {
@@ -48,4 +48,4 @@ const FORMS = {
48
48
  };
49
49
 
50
50
  export { FORMS };
51
- //# sourceMappingURL=constants-AYR471DB.mjs.map
51
+ //# sourceMappingURL=constants-T5y8alpG.mjs.map