@strapi/admin 5.0.0-rc.9 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) 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-AAIv_ZkF.mjs} +5 -5
  6. package/dist/admin/{ApplicationInfoPage-ahnTcFV1.mjs.map → ApplicationInfoPage-AAIv_ZkF.mjs.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-JfdJ0U4H.js → ApplicationInfoPage-bkWa99An.js} +5 -5
  8. package/dist/admin/{ApplicationInfoPage-JfdJ0U4H.js.map → ApplicationInfoPage-bkWa99An.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-J22BBdYe.mjs} +31 -39
  14. package/dist/admin/AuthenticatedLayout-J22BBdYe.mjs.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-eKDwvUFO.js → AuthenticatedLayout-ZAXB7o93.js} +30 -38
  16. package/dist/admin/AuthenticatedLayout-ZAXB7o93.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-3V_sa8A4.js} +3 -3
  20. package/dist/admin/{CreatePage-68skzZjY.js.map → CreatePage-3V_sa8A4.js.map} +1 -1
  21. package/dist/admin/{CreatePage-bdWb1wg4.mjs → CreatePage-5WzWwepG.mjs} +7 -7
  22. package/dist/admin/CreatePage-5WzWwepG.mjs.map +1 -0
  23. package/dist/admin/{CreatePage-Yd5JyWS5.mjs → CreatePage-hEdR3uWK.mjs} +3 -3
  24. package/dist/admin/{CreatePage-Yd5JyWS5.mjs.map → CreatePage-hEdR3uWK.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-t5HQUOqJ.js → CreatePage-zzbF8IhD.js} +6 -6
  26. package/dist/admin/CreatePage-zzbF8IhD.js.map +1 -0
  27. package/dist/admin/{CreateView-yv51Pyvw.js → CreateView-5EC5Yv96.js} +3 -3
  28. package/dist/admin/{CreateView-yv51Pyvw.js.map → CreateView-5EC5Yv96.js.map} +1 -1
  29. package/dist/admin/{CreateView-ZZaA8hbe.mjs → CreateView-OjaERndy.mjs} +3 -3
  30. package/dist/admin/{CreateView-ZZaA8hbe.mjs.map → CreateView-OjaERndy.mjs.map} +1 -1
  31. package/dist/admin/{CreateView-V0v5CK8t.mjs → CreateView-S8gDQUCt.mjs} +3 -3
  32. package/dist/admin/{CreateView-V0v5CK8t.mjs.map → CreateView-S8gDQUCt.mjs.map} +1 -1
  33. package/dist/admin/{CreateView-nzILLv0g.js → CreateView-ZQEmP8-n.js} +3 -3
  34. package/dist/admin/{CreateView-nzILLv0g.js.map → CreateView-ZQEmP8-n.js.map} +1 -1
  35. package/dist/admin/{EditPage-cWJ8V1BK.mjs → EditPage-493L2-vV.mjs} +27 -23
  36. package/dist/admin/EditPage-493L2-vV.mjs.map +1 -0
  37. package/dist/admin/{EditPage-A7-BewPd.mjs → EditPage-7fMqo-c-.mjs} +7 -7
  38. package/dist/admin/EditPage-7fMqo-c-.mjs.map +1 -0
  39. package/dist/admin/{EditPage-pTQCDncU.js → EditPage-8T9gBnnc.js} +25 -21
  40. package/dist/admin/EditPage-8T9gBnnc.js.map +1 -0
  41. package/dist/admin/{EditPage-Lw36XG9G.js → EditPage-OFlfNGv0.js} +6 -6
  42. package/dist/admin/EditPage-OFlfNGv0.js.map +1 -0
  43. package/dist/admin/{EditPage-2cMhX4F_.mjs → EditPage-akxbKeqK.mjs} +8 -8
  44. package/dist/admin/{EditPage-2cMhX4F_.mjs.map → EditPage-akxbKeqK.mjs.map} +1 -1
  45. package/dist/admin/{EditPage-LoESB5pq.js → EditPage-gJJgatNc.js} +7 -7
  46. package/dist/admin/{EditPage-LoESB5pq.js.map → EditPage-gJJgatNc.js.map} +1 -1
  47. package/dist/admin/{EditView-KzdDTSO-.js → EditView-ZJPPeal2.js} +5 -6
  48. package/dist/admin/EditView-ZJPPeal2.js.map +1 -0
  49. package/dist/admin/{EditView-HygMdUSf.mjs → EditView-_QID3gT5.mjs} +7 -8
  50. package/dist/admin/EditView-_QID3gT5.mjs.map +1 -0
  51. package/dist/admin/{EditViewPage-FgsrW_wV.js → EditViewPage-_wx5u6QJ.js} +5 -5
  52. package/dist/admin/{EditViewPage-FgsrW_wV.js.map → EditViewPage-_wx5u6QJ.js.map} +1 -1
  53. package/dist/admin/{EditViewPage-47F2xHBt.mjs → EditViewPage-zkNmb1zg.mjs} +6 -6
  54. package/dist/admin/{EditViewPage-47F2xHBt.mjs.map → EditViewPage-zkNmb1zg.mjs.map} +1 -1
  55. package/dist/admin/{EventsTable--XlOTHxM.js → EventsTable-31485Cwq.js} +2 -2
  56. package/dist/admin/{EventsTable--XlOTHxM.js.map → EventsTable-31485Cwq.js.map} +1 -1
  57. package/dist/admin/{EventsTable-mgIyB8DL.mjs → EventsTable-_BT8dIHY.mjs} +2 -2
  58. package/dist/admin/{EventsTable-mgIyB8DL.mjs.map → EventsTable-_BT8dIHY.mjs.map} +1 -1
  59. package/dist/admin/{HomePage-dyDldozB.mjs → HomePage-LenrY0bj.mjs} +7 -10
  60. package/dist/admin/HomePage-LenrY0bj.mjs.map +1 -0
  61. package/dist/admin/{HomePage-H77dsrr1.mjs → HomePage-NdId9gqT.mjs} +3 -3
  62. package/dist/admin/{HomePage-H77dsrr1.mjs.map → HomePage-NdId9gqT.mjs.map} +1 -1
  63. package/dist/admin/{HomePage-ywYHZHMa.js → HomePage-T2yVEfC3.js} +15 -18
  64. package/dist/admin/HomePage-T2yVEfC3.js.map +1 -0
  65. package/dist/admin/{HomePage-uVwht52t.js → HomePage-yyizKL39.js} +3 -3
  66. package/dist/admin/{HomePage-uVwht52t.js.map → HomePage-yyizKL39.js.map} +1 -1
  67. package/dist/admin/{InstalledPluginsPage-3OSkplVn.mjs → InstalledPlugins-Z_uS95dC.mjs} +9 -11
  68. package/dist/admin/InstalledPlugins-Z_uS95dC.mjs.map +1 -0
  69. package/dist/admin/{InstalledPluginsPage-JkruwT2d.js → InstalledPlugins-spdwM8ub.js} +9 -11
  70. package/dist/admin/InstalledPlugins-spdwM8ub.js.map +1 -0
  71. package/dist/admin/{Layout-8Ds_z3XN.mjs → Layout-5lg6USuO.mjs} +5 -5
  72. package/dist/admin/{Layout-8Ds_z3XN.mjs.map → Layout-5lg6USuO.mjs.map} +1 -1
  73. package/dist/admin/{Layout-pVTNV6PU.js → Layout-B3TQMQxb.js} +5 -5
  74. package/dist/admin/{Layout-pVTNV6PU.js.map → Layout-B3TQMQxb.js.map} +1 -1
  75. package/dist/admin/{ListPage-semY3kTl.mjs → ListPage--B6TB-mt.mjs} +4 -4
  76. package/dist/admin/{ListPage-semY3kTl.mjs.map → ListPage--B6TB-mt.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-DHUp0PDw.js → ListPage-GRLtmRuy.js} +8 -8
  78. package/dist/admin/ListPage-GRLtmRuy.js.map +1 -0
  79. package/dist/admin/{ListPage-NtjeF8R2.mjs → ListPage-Ggd99FLO.mjs} +4 -4
  80. package/dist/admin/{ListPage-NtjeF8R2.mjs.map → ListPage-Ggd99FLO.mjs.map} +1 -1
  81. package/dist/admin/{ListPage-OIdhjljI.js → ListPage-Hc3VZ9O3.js} +6 -6
  82. package/dist/admin/{ListPage-OIdhjljI.js.map → ListPage-Hc3VZ9O3.js.map} +1 -1
  83. package/dist/admin/{ListPage-LokTy34i.mjs → ListPage-LIn0aEKt.mjs} +3 -3
  84. package/dist/admin/{ListPage-LokTy34i.mjs.map → ListPage-LIn0aEKt.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-15KiUCLt.js → ListPage-UEsKYDPH.js} +3 -3
  86. package/dist/admin/{ListPage-15KiUCLt.js.map → ListPage-UEsKYDPH.js.map} +1 -1
  87. package/dist/admin/{ListPage-dApwERT6.js → ListPage-Vf4xtn8w.js} +5 -5
  88. package/dist/admin/{ListPage-dApwERT6.js.map → ListPage-Vf4xtn8w.js.map} +1 -1
  89. package/dist/admin/{ListPage-8M-bmv0a.mjs → ListPage-rCkaHmeP.mjs} +6 -6
  90. package/dist/admin/{ListPage-8M-bmv0a.mjs.map → ListPage-rCkaHmeP.mjs.map} +1 -1
  91. package/dist/admin/{ListPage-hNIbvh17.mjs → ListPage-vJik-wkj.mjs} +10 -10
  92. package/dist/admin/ListPage-vJik-wkj.mjs.map +1 -0
  93. package/dist/admin/{ListPage-jTpJnTuQ.js → ListPage-y3rcDJX1.js} +3 -3
  94. package/dist/admin/{ListPage-jTpJnTuQ.js.map → ListPage-y3rcDJX1.js.map} +1 -1
  95. package/dist/admin/{ListView-ZSEn2tK5.js → ListView-8pEtfLsu.js} +5 -5
  96. package/dist/admin/{ListView-ZSEn2tK5.js.map → ListView-8pEtfLsu.js.map} +1 -1
  97. package/dist/admin/{ListView-tCCo7pVS.mjs → ListView-iCqFRGiO.mjs} +5 -5
  98. package/dist/admin/{ListView-tCCo7pVS.mjs.map → ListView-iCqFRGiO.mjs.map} +1 -1
  99. package/dist/admin/{ListView-kEuSmXPm.mjs → ListView-jrsV1wF_.mjs} +5 -5
  100. package/dist/admin/{ListView-kEuSmXPm.mjs.map → ListView-jrsV1wF_.mjs.map} +1 -1
  101. package/dist/admin/{ListView-MA83TDJF.js → ListView-noYLY_DM.js} +4 -4
  102. package/dist/admin/{ListView-MA83TDJF.js.map → ListView-noYLY_DM.js.map} +1 -1
  103. package/dist/admin/{Login-GLcLgHUd.mjs → Login--GgWQano.mjs} +3 -3
  104. package/dist/admin/{Login-GLcLgHUd.mjs.map → Login--GgWQano.mjs.map} +1 -1
  105. package/dist/admin/{Login-RrWZQA_X.js → Login-qr72UXGp.js} +3 -3
  106. package/dist/admin/{Login-RrWZQA_X.js.map → Login-qr72UXGp.js.map} +1 -1
  107. package/dist/admin/{MagicLinkEE-u0n-nwtv.js → MagicLinkEE-uTufI4yx.js} +3 -3
  108. package/dist/admin/{MagicLinkEE-u0n-nwtv.js.map → MagicLinkEE-uTufI4yx.js.map} +1 -1
  109. package/dist/admin/{MagicLinkEE-_qltdLkk.mjs → MagicLinkEE-vQcgXndx.mjs} +3 -3
  110. package/dist/admin/{MagicLinkEE-_qltdLkk.mjs.map → MagicLinkEE-vQcgXndx.mjs.map} +1 -1
  111. package/dist/admin/{MarketplacePage-41CstG0b.mjs → MarketplacePage-LRlL_4ys.mjs} +64 -63
  112. package/dist/admin/MarketplacePage-LRlL_4ys.mjs.map +1 -0
  113. package/dist/admin/{MarketplacePage-uyOTT12t.js → MarketplacePage-yRWZ54oN.js} +65 -64
  114. package/dist/admin/MarketplacePage-yRWZ54oN.js.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-wxZFen3W.js → ProfilePage-Mte9RhXw.js} +5 -5
  124. package/dist/admin/ProfilePage-Mte9RhXw.js.map +1 -0
  125. package/dist/admin/{ProfilePage-zwG0fq_e.mjs → ProfilePage-voofTYei.mjs} +6 -6
  126. package/dist/admin/ProfilePage-voofTYei.mjs.map +1 -0
  127. package/dist/admin/{PurchaseAuditLogs-FDPV-ZqU.mjs → PurchaseAuditLogs-8wmVhLCb.mjs} +2 -2
  128. package/dist/admin/{PurchaseAuditLogs-FDPV-ZqU.mjs.map → PurchaseAuditLogs-8wmVhLCb.mjs.map} +1 -1
  129. package/dist/admin/{PurchaseAuditLogs-f6iczpRi.js → PurchaseAuditLogs-qxVh-U_P.js} +2 -2
  130. package/dist/admin/{PurchaseAuditLogs-f6iczpRi.js.map → PurchaseAuditLogs-qxVh-U_P.js.map} +1 -1
  131. package/dist/admin/{PurchaseSingleSignOn-S0B2HM4d.mjs → PurchaseSingleSignOn-kgjD8gsd.mjs} +2 -2
  132. package/dist/admin/{PurchaseSingleSignOn-S0B2HM4d.mjs.map → PurchaseSingleSignOn-kgjD8gsd.mjs.map} +1 -1
  133. package/dist/admin/{PurchaseSingleSignOn-0wXAjOLm.js → PurchaseSingleSignOn-ovEsG_Ud.js} +2 -2
  134. package/dist/admin/{PurchaseSingleSignOn-0wXAjOLm.js.map → PurchaseSingleSignOn-ovEsG_Ud.js.map} +1 -1
  135. package/dist/admin/{SelectRoles-h_1srnVz.mjs → SelectRoles-Kzqv2-TI.mjs} +6 -6
  136. package/dist/admin/SelectRoles-Kzqv2-TI.mjs.map +1 -0
  137. package/dist/admin/{SelectRoles-MoDtdDcM.js → SelectRoles-pjJ11lBU.js} +7 -7
  138. package/dist/admin/SelectRoles-pjJ11lBU.js.map +1 -0
  139. package/dist/admin/{SingleSignOnPage-5CdOsumW.js → SingleSignOnPage-WjL8NvC5.js} +4 -4
  140. package/dist/admin/{SingleSignOnPage-5CdOsumW.js.map → SingleSignOnPage-WjL8NvC5.js.map} +1 -1
  141. package/dist/admin/{SingleSignOnPage-AZVczKwR.mjs → SingleSignOnPage-p1fTOytT.mjs} +5 -5
  142. package/dist/admin/{SingleSignOnPage-AZVczKwR.mjs.map → SingleSignOnPage-p1fTOytT.mjs.map} +1 -1
  143. package/dist/admin/{Table-EPKfcF5-.mjs → Table-ARSVxoYe.mjs} +12 -19
  144. package/dist/admin/Table-ARSVxoYe.mjs.map +1 -0
  145. package/dist/admin/{Table-CpbvaRQh.js → Table-QAvKSSis.js} +12 -19
  146. package/dist/admin/Table-QAvKSSis.js.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-yRV19q7R.js → TokenTypeSelect-biZzRJv2.js} +4 -5
  152. package/dist/admin/{TokenTypeSelect-yRV19q7R.js.map → TokenTypeSelect-biZzRJv2.js.map} +1 -1
  153. package/dist/admin/{TokenTypeSelect-7Ki5z_3z.mjs → TokenTypeSelect-j-b_9iB9.mjs} +4 -5
  154. package/dist/admin/{TokenTypeSelect-7Ki5z_3z.mjs.map → TokenTypeSelect-j-b_9iB9.mjs.map} +1 -1
  155. package/dist/admin/{UseCasePage-as6-3qKD.mjs → UseCasePage-b2VozaZB.mjs} +4 -4
  156. package/dist/admin/{UseCasePage-as6-3qKD.mjs.map → UseCasePage-b2VozaZB.mjs.map} +1 -1
  157. package/dist/admin/{UseCasePage-l9OmQYhK.js → UseCasePage-hJH0orUl.js} +4 -4
  158. package/dist/admin/{UseCasePage-l9OmQYhK.js.map → UseCasePage-hJH0orUl.js.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-bgMqSKBQ.js} +3 -3
  164. package/dist/admin/{constants-X2uDAtEA.js.map → constants-bgMqSKBQ.js.map} +1 -1
  165. package/dist/admin/{constants-AYR471DB.mjs → constants-jKuNcrQj.mjs} +3 -3
  166. package/dist/admin/{constants-AYR471DB.mjs.map → constants-jKuNcrQj.mjs.map} +1 -1
  167. package/dist/admin/ee.mjs +1 -1
  168. package/dist/admin/{en-TbnMBjZf.js → en-_1-Nn7iH.js} +3 -2
  169. package/dist/admin/{en-TbnMBjZf.js.map → en-_1-Nn7iH.js.map} +1 -1
  170. package/dist/admin/{en-0Ld-ipyI.mjs → en-lDO5lPD0.mjs} +3 -2
  171. package/dist/admin/{en-0Ld-ipyI.mjs.map → en-lDO5lPD0.mjs.map} +1 -1
  172. package/dist/admin/{index-Fu3hPmaj.mjs → index-hoTsgrwy.mjs} +136 -279
  173. package/dist/admin/index-hoTsgrwy.mjs.map +1 -0
  174. package/dist/admin/{index-w33_0vI-.js → index-we0DbzVF.js} +140 -286
  175. package/dist/admin/index-we0DbzVF.js.map +1 -0
  176. package/dist/admin/index.js +5 -4
  177. package/dist/admin/index.js.map +1 -1
  178. package/dist/admin/index.mjs +3 -3
  179. package/dist/admin/{selectors-ZpHhvPK4.mjs → selectors--muHmKGe.mjs} +2 -2
  180. package/dist/admin/{selectors-ZpHhvPK4.mjs.map → selectors--muHmKGe.mjs.map} +1 -1
  181. package/dist/admin/{selectors-zQKcCNuz.js → selectors-1ySxKbos.js} +2 -2
  182. package/dist/admin/{selectors-zQKcCNuz.js.map → selectors-1ySxKbos.js.map} +1 -1
  183. package/dist/admin/src/StrapiApp.d.ts +8 -6
  184. package/dist/admin/src/components/Form.d.ts +3 -1
  185. package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -4
  186. package/dist/admin/src/constants.d.ts +10 -0
  187. package/dist/admin/src/features/Auth.d.ts +1 -1
  188. package/dist/admin/src/hooks/useRBAC.d.ts +1 -1
  189. package/dist/admin/src/index.d.ts +3 -0
  190. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +1 -1
  191. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -1
  192. package/dist/admin/src/pages/Settings/pages/InstalledPlugins.d.ts +3 -0
  193. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +1 -1
  194. package/dist/admin/src/types/permissions.d.ts +3 -1
  195. package/dist/admin/test.js +3 -3
  196. package/dist/admin/test.js.map +1 -1
  197. package/dist/admin/test.mjs +4 -4
  198. package/dist/admin/test.mjs.map +1 -1
  199. package/dist/admin/{transferTokens-CNI0TFdA.mjs → transferTokens-v8tNpI_l.mjs} +2 -2
  200. package/dist/admin/{transferTokens-CNI0TFdA.mjs.map → transferTokens-v8tNpI_l.mjs.map} +1 -1
  201. package/dist/admin/{useAdminRoles-w6h8NFK5.js → useAdminRoles-0gM7o3f2.js} +2 -2
  202. package/dist/admin/{useAdminRoles-w6h8NFK5.js.map → useAdminRoles-0gM7o3f2.js.map} +1 -1
  203. package/dist/admin/{useAdminRoles-lDesL4gN.mjs → useAdminRoles-uRNvxyDX.mjs} +2 -2
  204. package/dist/admin/{useAdminRoles-lDesL4gN.mjs.map → useAdminRoles-uRNvxyDX.mjs.map} +1 -1
  205. package/dist/admin/{useLicenseLimitNotification-PaR7jmqd.mjs → useLicenseLimitNotification-Qx_rSpUQ.mjs} +3 -3
  206. package/dist/admin/{useLicenseLimitNotification-PaR7jmqd.mjs.map → useLicenseLimitNotification-Qx_rSpUQ.mjs.map} +1 -1
  207. package/dist/admin/{useLicenseLimitNotification-g1vq6nzk.js → useLicenseLimitNotification-eau4ja6h.js} +2 -2
  208. package/dist/admin/{useLicenseLimitNotification-g1vq6nzk.js.map → useLicenseLimitNotification-eau4ja6h.js.map} +1 -1
  209. package/dist/admin/{useLicenseLimits-Jy6E6qc2.mjs → useLicenseLimits-j5znikzW.mjs} +2 -2
  210. package/dist/admin/{useLicenseLimits-Jy6E6qc2.mjs.map → useLicenseLimits-j5znikzW.mjs.map} +1 -1
  211. package/dist/admin/{useWebhooks-7thg-d57.mjs → useWebhooks-upF7mgdZ.mjs} +2 -2
  212. package/dist/admin/{useWebhooks-7thg-d57.mjs.map → useWebhooks-upF7mgdZ.mjs.map} +1 -1
  213. package/dist/admin/{validation-IcNGA_ef.mjs → validation-OR7t0a-C.mjs} +4 -4
  214. package/dist/admin/validation-OR7t0a-C.mjs.map +1 -0
  215. package/dist/admin/{validation-4SWh9S5z.js → validation-VuxEFW4W.js} +4 -4
  216. package/dist/admin/validation-VuxEFW4W.js.map +1 -0
  217. package/dist/ee/server/src/audit-logs/content-types/audit-log.d.ts +41 -0
  218. package/dist/ee/server/src/audit-logs/content-types/audit-log.d.ts.map +1 -0
  219. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts +7 -0
  220. package/dist/ee/server/src/audit-logs/controllers/audit-logs.d.ts.map +1 -0
  221. package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts +19 -0
  222. package/dist/ee/server/src/audit-logs/routes/audit-logs.d.ts.map +1 -0
  223. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts +27 -0
  224. package/dist/ee/server/src/audit-logs/services/audit-logs.d.ts.map +1 -0
  225. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +12 -0
  226. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -0
  227. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts +6 -0
  228. package/dist/ee/server/src/audit-logs/validation/audit-logs.d.ts.map +1 -0
  229. package/dist/ee/server/src/bootstrap.d.ts +3 -0
  230. package/dist/ee/server/src/bootstrap.d.ts.map +1 -0
  231. package/dist/ee/server/src/config/admin-actions.d.ts +20 -0
  232. package/dist/ee/server/src/config/admin-actions.d.ts.map +1 -0
  233. package/dist/ee/server/src/content-types/index.d.ts +3 -0
  234. package/dist/ee/server/src/content-types/index.d.ts.map +1 -0
  235. package/dist/ee/server/src/controllers/admin.d.ts +29 -0
  236. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -0
  237. package/dist/ee/server/src/controllers/authentication-utils/constants.d.ts +10 -0
  238. package/dist/ee/server/src/controllers/authentication-utils/constants.d.ts.map +1 -0
  239. package/dist/ee/server/src/controllers/authentication-utils/index.d.ts +5 -0
  240. package/dist/ee/server/src/controllers/authentication-utils/index.d.ts.map +1 -0
  241. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts +9 -0
  242. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -0
  243. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts +55 -0
  244. package/dist/ee/server/src/controllers/authentication-utils/utils.d.ts.map +1 -0
  245. package/dist/ee/server/src/controllers/authentication.d.ts +9 -0
  246. package/dist/ee/server/src/controllers/authentication.d.ts.map +1 -0
  247. package/dist/ee/server/src/controllers/index.d.ts +48 -0
  248. package/dist/ee/server/src/controllers/index.d.ts.map +1 -0
  249. package/dist/ee/server/src/controllers/role.d.ts +20 -0
  250. package/dist/ee/server/src/controllers/role.d.ts.map +1 -0
  251. package/dist/ee/server/src/controllers/user.d.ts +8 -0
  252. package/dist/ee/server/src/controllers/user.d.ts.map +1 -0
  253. package/dist/ee/server/src/destroy.d.ts +6 -0
  254. package/dist/ee/server/src/destroy.d.ts.map +1 -0
  255. package/dist/ee/server/src/index.d.ts +380 -0
  256. package/dist/ee/server/src/index.d.ts.map +1 -0
  257. package/dist/ee/server/src/register.d.ts +6 -0
  258. package/dist/ee/server/src/register.d.ts.map +1 -0
  259. package/dist/ee/server/src/routes/index.d.ts +47 -0
  260. package/dist/ee/server/src/routes/index.d.ts.map +1 -0
  261. package/dist/ee/server/src/routes/license-limit.d.ts +18 -0
  262. package/dist/ee/server/src/routes/license-limit.d.ts.map +1 -0
  263. package/dist/ee/server/src/routes/sso.d.ts +29 -0
  264. package/dist/ee/server/src/routes/sso.d.ts.map +1 -0
  265. package/dist/ee/server/src/routes/utils.d.ts +3 -0
  266. package/dist/ee/server/src/routes/utils.d.ts.map +1 -0
  267. package/dist/ee/server/src/services/auth.d.ts +6 -0
  268. package/dist/ee/server/src/services/auth.d.ts.map +1 -0
  269. package/dist/ee/server/src/services/index.d.ts +39 -0
  270. package/dist/ee/server/src/services/index.d.ts.map +1 -0
  271. package/dist/ee/server/src/services/metrics.d.ts +8 -0
  272. package/dist/ee/server/src/services/metrics.d.ts.map +1 -0
  273. package/dist/ee/server/src/services/passport/provider-registry.d.ts +4 -0
  274. package/dist/ee/server/src/services/passport/provider-registry.d.ts.map +1 -0
  275. package/dist/ee/server/src/services/passport/sso.d.ts +19 -0
  276. package/dist/ee/server/src/services/passport/sso.d.ts.map +1 -0
  277. package/dist/ee/server/src/services/passport.d.ts +13 -0
  278. package/dist/ee/server/src/services/passport.d.ts.map +1 -0
  279. package/dist/ee/server/src/services/role.d.ts +5 -0
  280. package/dist/ee/server/src/services/role.d.ts.map +1 -0
  281. package/dist/ee/server/src/services/seat-enforcement.d.ts +6 -0
  282. package/dist/ee/server/src/services/seat-enforcement.d.ts.map +1 -0
  283. package/dist/ee/server/src/services/user.d.ts +10 -0
  284. package/dist/ee/server/src/services/user.d.ts.map +1 -0
  285. package/dist/ee/server/src/utils/index.d.ts +11 -0
  286. package/dist/ee/server/src/utils/index.d.ts.map +1 -0
  287. package/dist/ee/server/src/utils/persisted-tables.d.ts +42 -0
  288. package/dist/ee/server/src/utils/persisted-tables.d.ts.map +1 -0
  289. package/dist/ee/server/src/utils/sso-lock.d.ts +6 -0
  290. package/dist/ee/server/src/utils/sso-lock.d.ts.map +1 -0
  291. package/dist/ee/server/src/validation/authentication.d.ts +15 -0
  292. package/dist/ee/server/src/validation/authentication.d.ts.map +1 -0
  293. package/dist/ee/server/src/validation/role.d.ts +21 -0
  294. package/dist/ee/server/src/validation/role.d.ts.map +1 -0
  295. package/dist/ee/server/src/validation/user.d.ts +19 -0
  296. package/dist/ee/server/src/validation/user.d.ts.map +1 -0
  297. package/dist/package.json.d.ts +10 -9
  298. package/dist/server/index.js +1891 -538
  299. package/dist/server/index.js.map +1 -1
  300. package/dist/server/index.mjs +1687 -333
  301. package/dist/server/index.mjs.map +1 -1
  302. package/dist/server/src/domain/action/provider.d.ts +1 -1
  303. package/dist/server/src/domain/condition/provider.d.ts +3 -1
  304. package/dist/server/src/domain/condition/provider.d.ts.map +1 -1
  305. package/dist/server/src/index.d.ts +738 -10
  306. package/dist/server/src/index.d.ts.map +1 -1
  307. package/dist/server/src/services/permission.d.ts +4 -2
  308. package/dist/server/src/services/permission.d.ts.map +1 -1
  309. package/dist/shared/contracts/admin.d.ts +1 -0
  310. package/dist/shared/contracts/admin.d.ts.map +1 -1
  311. package/dist/shared/contracts/user.d.ts +1 -1
  312. package/dist/shared/contracts/user.d.ts.map +1 -1
  313. package/package.json +17 -16
  314. package/dist/admin/AuthenticatedLayout-06fn7qrH.mjs.map +0 -1
  315. package/dist/admin/AuthenticatedLayout-eKDwvUFO.js.map +0 -1
  316. package/dist/admin/ContentBox-3MRTNw0X.js +0 -43
  317. package/dist/admin/ContentBox-3MRTNw0X.js.map +0 -1
  318. package/dist/admin/ContentBox-9LBDzws0.mjs +0 -41
  319. package/dist/admin/ContentBox-9LBDzws0.mjs.map +0 -1
  320. package/dist/admin/CreatePage-bdWb1wg4.mjs.map +0 -1
  321. package/dist/admin/CreatePage-t5HQUOqJ.js.map +0 -1
  322. package/dist/admin/EditPage-A7-BewPd.mjs.map +0 -1
  323. package/dist/admin/EditPage-Lw36XG9G.js.map +0 -1
  324. package/dist/admin/EditPage-cWJ8V1BK.mjs.map +0 -1
  325. package/dist/admin/EditPage-pTQCDncU.js.map +0 -1
  326. package/dist/admin/EditView-HygMdUSf.mjs.map +0 -1
  327. package/dist/admin/EditView-KzdDTSO-.js.map +0 -1
  328. package/dist/admin/HomePage-dyDldozB.mjs.map +0 -1
  329. package/dist/admin/HomePage-ywYHZHMa.js.map +0 -1
  330. package/dist/admin/InstalledPluginsPage-3OSkplVn.mjs.map +0 -1
  331. package/dist/admin/InstalledPluginsPage-JkruwT2d.js.map +0 -1
  332. package/dist/admin/ListPage-DHUp0PDw.js.map +0 -1
  333. package/dist/admin/ListPage-hNIbvh17.mjs.map +0 -1
  334. package/dist/admin/MarketplacePage-41CstG0b.mjs.map +0 -1
  335. package/dist/admin/MarketplacePage-uyOTT12t.js.map +0 -1
  336. package/dist/admin/ProfilePage-wxZFen3W.js.map +0 -1
  337. package/dist/admin/ProfilePage-zwG0fq_e.mjs.map +0 -1
  338. package/dist/admin/SelectRoles-MoDtdDcM.js.map +0 -1
  339. package/dist/admin/SelectRoles-h_1srnVz.mjs.map +0 -1
  340. package/dist/admin/Table-CpbvaRQh.js.map +0 -1
  341. package/dist/admin/Table-EPKfcF5-.mjs.map +0 -1
  342. package/dist/admin/Theme-7W0we6BI.js.map +0 -1
  343. package/dist/admin/Theme-PrUuuGtN.mjs.map +0 -1
  344. package/dist/admin/index-Fu3hPmaj.mjs.map +0 -1
  345. package/dist/admin/index-w33_0vI-.js.map +0 -1
  346. package/dist/admin/src/pages/InstalledPluginsPage.d.ts +0 -3
  347. package/dist/admin/validation-4SWh9S5z.js.map +0 -1
  348. package/dist/admin/validation-IcNGA_ef.mjs.map +0 -1
  349. package/dist/ee/server/index.js +0 -2193
  350. package/dist/ee/server/index.js.map +0 -1
  351. package/dist/ee/server/index.mjs +0 -2188
  352. package/dist/ee/server/index.mjs.map +0 -1
  353. package/strapi-server.js +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationInfoPage-JfdJ0U4H.js","sources":["../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n onOpenChange={(state) => {\n if (state === false) {\n handleClose();\n }\n }}\n >\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <Modal.Trigger>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n >\n <Plus />\n </IconButton>\n </Modal.Trigger>\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n >\n <ArrowClockwise />\n </IconButton>\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n tag=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Modal.Title>\n </Modal.Header>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </Modal.Content>\n </LogoInputContextProvider>\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Box>\n <Tabs.Content value=\"computer\">\n <ComputerForm />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <URLForm />\n </Tabs.Content>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root error={error} name=\"logo-url\">\n <Field.Label>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={logoUrl} />\n <Field.Error />\n </Field.Root>\n </Box>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => {\n setDragOver(true);\n };\n const handleDragLeave = () => {\n setDragOver(false);\n };\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <PlusCircle fill=\"primary600\" width=\"6rem\" height=\"6rem\" aria-hidden />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" tag=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <Box position=\"relative\">\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n </Box>\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <Field.Error />\n </Flex>\n </Field.Root>\n </Box>\n </form>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\nconst FileInput = styled(Field.Input)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Modal.Body>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`18rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Modal.Close>\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["createContext","React","useIntl","jsx","Modal","jsxs","CarouselInput","CarouselActions","IconButton","Plus","ArrowClockwise","CarouselSlide","Box","Tabs","axios","AxiosError","Field","TextInput","Button","Fragment","Flex","PlusCircle","Typography","styled","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","CardBadge","useTracking","useConfiguration","useSelector","selectAdminPermissions","useAppInfo","useEnterprise","useRBAC","Layouts","Page","Check","Grid","Link","ExternalLink"],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationInfoPage-bkWa99An.js","sources":["../../admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/utils/files.ts","../../admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.tsx","../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["export const DIMENSION = 750;\nexport const SIZE = 100;\nexport const ACCEPTED_FORMAT = ['image/jpeg', 'image/png', 'image/svg+xml'];\n","import { ACCEPTED_FORMAT, DIMENSION, SIZE } from './constants';\n\nimport type { MessageDescriptor } from 'react-intl';\n\nconst FILE_FORMAT_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-format',\n defaultMessage: 'Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg).',\n};\n\nconst FILE_SIZING_ERROR_MESSAGE = {\n id: 'Settings.application.customization.modal.upload.error-size',\n defaultMessage:\n 'The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)',\n};\n\ninterface ImageDimensions {\n height: number;\n width: number;\n}\n\ninterface ImageAsset extends ImageDimensions {\n ext: string | undefined;\n size: number;\n name: string;\n url: string;\n rawFile: File;\n}\n\nconst parseFileMetadatas = async (file: File): Promise<ImageAsset> => {\n const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);\n\n if (!isFormatAuthorized) {\n throw new ParsingFileError('File format', FILE_FORMAT_ERROR_MESSAGE);\n }\n\n const fileDimensions = await new Promise<ImageDimensions>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.src = reader.result as string;\n };\n reader.readAsDataURL(file);\n });\n\n const areDimensionsAuthorized =\n fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;\n\n if (!areDimensionsAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n const asset = {\n ext: file.name.split('.').pop(),\n size: file.size / 1000,\n name: file.name,\n url: URL.createObjectURL(file),\n rawFile: file,\n width: fileDimensions.width,\n height: fileDimensions.height,\n };\n\n const isSizeAuthorized = asset.size <= SIZE;\n\n if (!isSizeAuthorized) {\n throw new ParsingFileError('File sizing', FILE_SIZING_ERROR_MESSAGE);\n }\n\n return asset;\n};\n\nclass ParsingFileError extends Error {\n displayMessage: MessageDescriptor;\n\n constructor(message: string, displayMessage: MessageDescriptor, options?: ErrorOptions) {\n super(message, options);\n this.displayMessage = displayMessage;\n }\n}\n\nexport { parseFileMetadatas, ParsingFileError };\nexport type { ImageAsset };\n","import * as React from 'react';\n\nimport { createContext } from '@radix-ui/react-context';\nimport {\n Box,\n Button,\n ButtonProps,\n Card,\n CardAsset,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n CarouselActions,\n CarouselInput,\n CarouselInputProps,\n CarouselSlide,\n Field,\n Flex,\n IconButton,\n Modal,\n Tabs,\n TextInput,\n TextInputProps,\n Typography,\n} from '@strapi/design-system';\nimport { PlusCircle, Plus, ArrowClockwise } from '@strapi/icons';\nimport axios, { AxiosError } from 'axios';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { ConfigurationContextValue } from '../../../../../features/Configuration';\nimport { ACCEPTED_FORMAT, DIMENSION, SIZE } from '../utils/constants';\nimport { ImageAsset, ParsingFileError, parseFileMetadatas } from '../utils/files';\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInputContext\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputContextValue {\n localImage: ImageAsset | undefined;\n goToStep: (step: Step) => void;\n onClose: () => void;\n setLocalImage: (asset: ImageAsset | undefined) => void;\n}\n\nconst [LogoInputContextProvider, useLogoInputContext] =\n createContext<LogoInputContextValue>('LogoInput');\n\n/* -------------------------------------------------------------------------------------------------\n * LogoInput\n * -----------------------------------------------------------------------------------------------*/\n\ninterface LogoInputProps\n extends Pick<PendingLogoDialogProps, 'onChangeLogo'>,\n Pick<CarouselInputProps, 'label' | 'hint'> {\n canUpdate: boolean;\n customLogo?: ConfigurationContextValue['logos']['auth']['custom'];\n defaultLogo: string;\n}\n\ntype Step = 'pending' | 'upload' | undefined;\n\nconst LogoInput = ({\n canUpdate,\n customLogo,\n defaultLogo,\n hint,\n label,\n onChangeLogo,\n}: LogoInputProps) => {\n const [localImage, setLocalImage] = React.useState<ImageAsset | undefined>();\n const [currentStep, setCurrentStep] = React.useState<Step>();\n const { formatMessage } = useIntl();\n\n const handleClose = () => {\n setLocalImage(undefined);\n setCurrentStep(undefined);\n };\n\n return (\n <Modal.Root\n open={!!currentStep}\n onOpenChange={(state) => {\n if (state === false) {\n handleClose();\n }\n }}\n >\n <LogoInputContextProvider\n setLocalImage={setLocalImage}\n localImage={localImage}\n goToStep={setCurrentStep}\n onClose={handleClose}\n >\n <CarouselInput\n label={label}\n selectedSlide={0}\n hint={hint}\n // Carousel is used here for a single media,\n // we don't need previous and next labels but these props are required\n previousLabel=\"\"\n nextLabel=\"\"\n onNext={() => {}}\n onPrevious={() => {}}\n secondaryLabel={customLogo?.name || 'logo.png'}\n actions={\n <CarouselActions>\n <Modal.Trigger>\n <IconButton\n disabled={!canUpdate}\n onClick={() => setCurrentStep('upload')}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.change-action',\n defaultMessage: 'Change logo',\n })}\n >\n <Plus />\n </IconButton>\n </Modal.Trigger>\n {customLogo?.url && (\n <IconButton\n disabled={!canUpdate}\n onClick={() => onChangeLogo(null)}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.reset-action',\n defaultMessage: 'Reset logo',\n })}\n >\n <ArrowClockwise />\n </IconButton>\n )}\n </CarouselActions>\n }\n >\n <CarouselSlide\n label={formatMessage({\n id: 'Settings.application.customization.carousel-slide.label',\n defaultMessage: 'Logo slide',\n })}\n >\n <Box\n maxHeight=\"40%\"\n maxWidth=\"40%\"\n tag=\"img\"\n src={customLogo?.url || defaultLogo}\n alt={formatMessage({\n id: 'Settings.application.customization.carousel.title',\n defaultMessage: 'Logo',\n })}\n />\n </CarouselSlide>\n </CarouselInput>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage(\n currentStep === 'upload'\n ? {\n id: 'Settings.application.customization.modal.upload',\n defaultMessage: 'Upload logo',\n }\n : {\n id: 'Settings.application.customization.modal.pending',\n defaultMessage: 'Pending logo',\n }\n )}\n </Modal.Title>\n </Modal.Header>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </Modal.Content>\n </LogoInputContextProvider>\n </Modal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Tabs.Root variant=\"simple\" defaultValue=\"computer\">\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n >\n <Tabs.Trigger value=\"computer\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tabs.Trigger>\n <Tabs.Trigger value=\"url\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tabs.Trigger>\n </Tabs.List>\n </Box>\n <Tabs.Content value=\"computer\">\n <ComputerForm />\n </Tabs.Content>\n <Tabs.Content value=\"url\">\n <URLForm />\n </Tabs.Content>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * URLForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst URLForm = () => {\n const { formatMessage } = useIntl();\n const [logoUrl, setLogoUrl] = React.useState('');\n const [error, setError] = React.useState<string>();\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('URLForm');\n\n const handleChange: TextInputProps['onChange'] = (e) => {\n setLogoUrl(e.target.value);\n };\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = async (event) => {\n event.preventDefault();\n\n const data = new FormData(event.target as HTMLFormElement);\n\n const url = data.get('logo-url');\n\n if (!url) {\n return;\n }\n\n try {\n const res = await axios.get(url.toString(), { responseType: 'blob', timeout: 8000 });\n\n const file = new File([res.data], res.config.url ?? '', {\n type: res.headers['content-type'],\n });\n\n const asset = await parseFileMetadatas(file);\n\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof AxiosError) {\n setError(\n formatMessage({\n id: 'Settings.application.customization.modal.upload.error-network',\n defaultMessage: 'Network error',\n })\n );\n } else if (err instanceof ParsingFileError) {\n setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n } else {\n throw err;\n }\n }\n };\n\n return (\n <form onSubmit={handleSubmit}>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root error={error} name=\"logo-url\">\n <Field.Label>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url.input-label',\n defaultMessage: 'URL',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={logoUrl} />\n <Field.Error />\n </Field.Root>\n </Box>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ComputerForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComputerForm = () => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const [fileError, setFileError] = React.useState<string>();\n const inputRef = React.useRef<HTMLInputElement>(null!);\n const id = React.useId();\n\n const { setLocalImage, goToStep, onClose } = useLogoInputContext('ComputerForm');\n\n const handleDragEnter = () => {\n setDragOver(true);\n };\n const handleDragLeave = () => {\n setDragOver(false);\n };\n\n const handleClick: ButtonProps['onClick'] = (e) => {\n e.preventDefault();\n inputRef.current.click();\n };\n\n const handleChange = async () => {\n handleDragLeave();\n\n if (!inputRef.current.files) {\n return;\n }\n\n const [file] = inputRef.current.files;\n\n try {\n const asset = await parseFileMetadatas(file);\n setLocalImage(asset);\n goToStep('pending');\n } catch (err) {\n if (err instanceof ParsingFileError) {\n setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));\n inputRef.current.focus();\n } else {\n throw err;\n }\n }\n };\n\n return (\n <>\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Field.Root name={id} error={fileError}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Flex\n paddingTop={9}\n paddingBottom={7}\n hasRadius\n justifyContent=\"center\"\n direction=\"column\"\n background={dragOver ? 'primary100' : 'neutral100'}\n borderColor={dragOver ? 'primary500' : fileError ? 'danger600' : 'neutral300'}\n borderStyle=\"dashed\"\n borderWidth=\"1px\"\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n >\n <PlusCircle fill=\"primary600\" width=\"6rem\" height=\"6rem\" aria-hidden />\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" tag=\"label\" htmlFor={id}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.drag-drop',\n defaultMessage: 'Drag and Drop here or',\n })}\n </Typography>\n </Box>\n <Box position=\"relative\">\n <FileInput\n accept={ACCEPTED_FORMAT.join(', ')}\n type=\"file\"\n name=\"files\"\n tabIndex={-1}\n onChange={handleChange}\n ref={inputRef}\n id={id}\n />\n </Box>\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.cta.browse',\n defaultMessage: 'Browse files',\n })}\n </Button>\n <Box paddingTop={6}>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.modal.upload.file-validation',\n defaultMessage:\n 'Max dimension: {dimension}x{dimension}, Max size: {size}KB',\n },\n { size: SIZE, dimension: DIMENSION }\n )}\n </Typography>\n </Box>\n </Flex>\n <Field.Error />\n </Flex>\n </Field.Root>\n </Box>\n </form>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\nconst FileInput = styled(Field.Input)`\n opacity: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PendingLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PendingLogoDialogProps {\n onChangeLogo: (file: ImageAsset | null) => void;\n}\n\nconst PendingLogoDialog = ({ onChangeLogo }: PendingLogoDialogProps) => {\n const { formatMessage } = useIntl();\n const { localImage, setLocalImage, goToStep, onClose } = useLogoInputContext('PendingLogoDialog');\n\n const handleGoBack = () => {\n setLocalImage(undefined);\n goToStep('upload');\n };\n\n const handleUpload = () => {\n if (localImage) {\n onChangeLogo(localImage);\n }\n onClose();\n };\n\n return (\n <>\n <Modal.Body>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <Flex justifyContent=\"space-between\" paddingBottom={6}>\n <Flex direction=\"column\" alignItems=\"flex-start\">\n <Typography variant=\"pi\" fontWeight=\"bold\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.title',\n defaultMessage: 'Logo ready to upload',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral500\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.subtitle',\n defaultMessage: 'Manage the chosen logo before uploading it',\n })}\n </Typography>\n </Flex>\n <Button onClick={handleGoBack} variant=\"secondary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.choose-another',\n defaultMessage: 'Choose another logo',\n })}\n </Button>\n </Flex>\n <Box maxWidth={`18rem`}>\n {localImage?.url ? <ImageCardAsset asset={localImage} /> : null}\n </Box>\n </Box>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n </Modal.Close>\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ImageCardAsset\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ImageCardAssetProps {\n asset: ImageAsset;\n}\n\nconst ImageCardAsset = ({ asset }: ImageCardAssetProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Card>\n <CardHeader>\n <CardAsset size=\"S\" src={asset.url} />\n </CardHeader>\n <CardBody>\n <CardContent>\n <CardTitle>{asset.name}</CardTitle>\n <CardSubtitle>\n {`${asset.ext?.toUpperCase()} - ${asset.width}✕${asset.height}`}\n </CardSubtitle>\n </CardContent>\n <CardBadge>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.card-badge',\n defaultMessage: 'image',\n })}\n </CardBadge>\n </CardBody>\n </Card>\n );\n};\n\nexport { LogoInput };\nexport type { LogoInputProps };\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const communityEdition = useAppInfo('ApplicationInfoPage', (state) => state.communityEdition);\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.edition-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>\n {formatMessage(\n {\n id: 'Settings.application.ee-or-ce',\n defaultMessage:\n '{communityEdition, select, true {Community Edition} other {Enterprise Edition}}',\n },\n { communityEdition }\n )}\n </Typography>\n <Link href=\"https://strapi.io/pricing-self-hosted\" endIcon={<ExternalLink />}>\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["createContext","React","useIntl","jsx","Modal","jsxs","CarouselInput","CarouselActions","IconButton","Plus","ArrowClockwise","CarouselSlide","Box","Tabs","axios","AxiosError","Field","TextInput","Button","Fragment","Flex","PlusCircle","Typography","styled","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","CardBadge","useTracking","useConfiguration","useSelector","selectAdminPermissions","useAppInfo","useEnterprise","useRBAC","Layouts","Page","Check","Grid","Link","ExternalLink"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useIntl } from 'react-intl';
4
4
  import { useMatch, useNavigate } from 'react-router-dom';
5
- import { e as useTypedDispatch, P as Page, m as login } from './Theme-PrUuuGtN.mjs';
5
+ import { d as useTypedDispatch, P as Page, n as login } from './Theme-frC82ceE.mjs';
6
6
 
7
7
  const getCookieValue = (name) => {
8
8
  let result = null;
@@ -58,4 +58,4 @@ const AuthResponse = () => {
58
58
  };
59
59
 
60
60
  export { AuthResponse };
61
- //# sourceMappingURL=AuthResponse-J8A48xdo.mjs.map
61
+ //# sourceMappingURL=AuthResponse-HYXVuTDF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthResponse-J8A48xdo.mjs","sources":["../../ee/admin/src/utils/cookies.ts","../../ee/admin/src/pages/AuthResponse.tsx"],"sourcesContent":["export const getCookieValue = (name: string) => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key.trim() === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\nexport const deleteCookie = (name: string) => {\n // Set the cookie to expire in the past\n document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n","import * as React from 'react';\n\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../../../admin/src/components/PageHelpers';\nimport { useTypedDispatch } from '../../../../admin/src/core/store/hooks';\nimport { login } from '../../../../admin/src/reducer';\nimport { getCookieValue, deleteCookie } from '../utils/cookies';\n\nconst AuthResponse = () => {\n const match = useMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const dispatch = useTypedDispatch();\n\n const redirectToOops = React.useCallback(() => {\n navigate({\n pathname: '/auth/oops',\n search: `?info=${encodeURIComponent(\n formatMessage({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`,\n });\n }, [navigate, formatMessage]);\n\n React.useEffect(() => {\n if (match?.params.authResponse === 'error') {\n redirectToOops();\n }\n\n if (match?.params.authResponse === 'success') {\n const jwtToken = getCookieValue('jwtToken');\n\n if (jwtToken) {\n dispatch(\n login({\n token: jwtToken,\n })\n );\n\n deleteCookie('jwtToken');\n\n navigate('/auth/login');\n } else {\n redirectToOops();\n }\n }\n }, [dispatch, match, redirectToOops, navigate]);\n\n return <Page.Loading />;\n};\n\nexport { AuthResponse };\n"],"names":[],"mappings":";;;;;;AAAa,MAAA,cAAA,GAAiB,CAAC,IAAiB,KAAA;AAC9C,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC7C,EAAY,WAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAC9B,IAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAChE,IAAI,IAAA,GAAA,CAAI,IAAK,EAAA,KAAM,IAAM,EAAA;AACvB,MAAA,MAAA,GAAS,mBAAmB,KAAK,CAAA,CAAA;AAAA,KACnC;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,IAAiB,KAAA;AAE5C,EAAA,QAAA,CAAS,SAAS,IAAO,GAAA,mDAAA,CAAA;AAC3B,CAAA;;ACLA,MAAM,eAAe,MAAM;AACzB,EAAM,MAAA,KAAA,GAAQ,SAAS,2BAA2B,CAAA,CAAA;AAClD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAA,MAAM,WAAW,gBAAiB,EAAA,CAAA;AAElC,EAAM,MAAA,cAAA,GAAiB,KAAM,CAAA,WAAA,CAAY,MAAM;AAC7C,IAAS,QAAA,CAAA;AAAA,MACP,QAAU,EAAA,YAAA;AAAA,MACV,QAAQ,CAAS,MAAA,EAAA,kBAAA;AAAA,QACf,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,wCAAA;AAAA,UACJ,cAAgB,EAAA,sDAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACA,EAAA,CAAC,QAAU,EAAA,aAAa,CAAC,CAAA,CAAA;AAE5B,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,OAAS,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAEA,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,SAAW,EAAA;AAC5C,MAAM,MAAA,QAAA,GAAW,eAAe,UAAU,CAAA,CAAA;AAE1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA;AAAA,UACE,KAAM,CAAA;AAAA,YACJ,KAAO,EAAA,QAAA;AAAA,WACR,CAAA;AAAA,SACH,CAAA;AAEA,QAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAEvB,QAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAe,cAAA,EAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,KACC,CAAC,QAAA,EAAU,KAAO,EAAA,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAA;AAE9C,EAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AACvB;;;;"}
1
+ {"version":3,"file":"AuthResponse-HYXVuTDF.mjs","sources":["../../ee/admin/src/utils/cookies.ts","../../ee/admin/src/pages/AuthResponse.tsx"],"sourcesContent":["export const getCookieValue = (name: string) => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key.trim() === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\nexport const deleteCookie = (name: string) => {\n // Set the cookie to expire in the past\n document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n","import * as React from 'react';\n\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../../../admin/src/components/PageHelpers';\nimport { useTypedDispatch } from '../../../../admin/src/core/store/hooks';\nimport { login } from '../../../../admin/src/reducer';\nimport { getCookieValue, deleteCookie } from '../utils/cookies';\n\nconst AuthResponse = () => {\n const match = useMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const dispatch = useTypedDispatch();\n\n const redirectToOops = React.useCallback(() => {\n navigate({\n pathname: '/auth/oops',\n search: `?info=${encodeURIComponent(\n formatMessage({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`,\n });\n }, [navigate, formatMessage]);\n\n React.useEffect(() => {\n if (match?.params.authResponse === 'error') {\n redirectToOops();\n }\n\n if (match?.params.authResponse === 'success') {\n const jwtToken = getCookieValue('jwtToken');\n\n if (jwtToken) {\n dispatch(\n login({\n token: jwtToken,\n })\n );\n\n deleteCookie('jwtToken');\n\n navigate('/auth/login');\n } else {\n redirectToOops();\n }\n }\n }, [dispatch, match, redirectToOops, navigate]);\n\n return <Page.Loading />;\n};\n\nexport { AuthResponse };\n"],"names":[],"mappings":";;;;;;AAAa,MAAA,cAAA,GAAiB,CAAC,IAAiB,KAAA;AAC9C,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC7C,EAAY,WAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAC9B,IAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAChE,IAAI,IAAA,GAAA,CAAI,IAAK,EAAA,KAAM,IAAM,EAAA;AACvB,MAAA,MAAA,GAAS,mBAAmB,KAAK,CAAA,CAAA;AAAA,KACnC;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,IAAiB,KAAA;AAE5C,EAAA,QAAA,CAAS,SAAS,IAAO,GAAA,mDAAA,CAAA;AAC3B,CAAA;;ACLA,MAAM,eAAe,MAAM;AACzB,EAAM,MAAA,KAAA,GAAQ,SAAS,2BAA2B,CAAA,CAAA;AAClD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAC7B,EAAA,MAAM,WAAW,gBAAiB,EAAA,CAAA;AAElC,EAAM,MAAA,cAAA,GAAiB,KAAM,CAAA,WAAA,CAAY,MAAM;AAC7C,IAAS,QAAA,CAAA;AAAA,MACP,QAAU,EAAA,YAAA;AAAA,MACV,QAAQ,CAAS,MAAA,EAAA,kBAAA;AAAA,QACf,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,wCAAA;AAAA,UACJ,cAAgB,EAAA,sDAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACA,EAAA,CAAC,QAAU,EAAA,aAAa,CAAC,CAAA,CAAA;AAE5B,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,OAAS,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAEA,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,SAAW,EAAA;AAC5C,MAAM,MAAA,QAAA,GAAW,eAAe,UAAU,CAAA,CAAA;AAE1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA;AAAA,UACE,KAAM,CAAA;AAAA,YACJ,KAAO,EAAA,QAAA;AAAA,WACR,CAAA;AAAA,SACH,CAAA;AAEA,QAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAEvB,QAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAe,cAAA,EAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,KACC,CAAC,QAAA,EAAU,KAAO,EAAA,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAA;AAE9C,EAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AACvB;;;;"}
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const reactIntl = require('react-intl');
8
8
  const reactRouterDom = require('react-router-dom');
9
- const Theme = require('./Theme-7W0we6BI.js');
9
+ const Theme = require('./Theme-y_rWTknM.js');
10
10
 
11
11
  function _interopNamespace(e) {
12
12
  if (e && e.__esModule) return e;
@@ -82,4 +82,4 @@ const AuthResponse = () => {
82
82
  };
83
83
 
84
84
  exports.AuthResponse = AuthResponse;
85
- //# sourceMappingURL=AuthResponse-KlTDmm2i.js.map
85
+ //# sourceMappingURL=AuthResponse-R8kR_yqS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthResponse-KlTDmm2i.js","sources":["../../ee/admin/src/utils/cookies.ts","../../ee/admin/src/pages/AuthResponse.tsx"],"sourcesContent":["export const getCookieValue = (name: string) => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key.trim() === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\nexport const deleteCookie = (name: string) => {\n // Set the cookie to expire in the past\n document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n","import * as React from 'react';\n\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../../../admin/src/components/PageHelpers';\nimport { useTypedDispatch } from '../../../../admin/src/core/store/hooks';\nimport { login } from '../../../../admin/src/reducer';\nimport { getCookieValue, deleteCookie } from '../utils/cookies';\n\nconst AuthResponse = () => {\n const match = useMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const dispatch = useTypedDispatch();\n\n const redirectToOops = React.useCallback(() => {\n navigate({\n pathname: '/auth/oops',\n search: `?info=${encodeURIComponent(\n formatMessage({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`,\n });\n }, [navigate, formatMessage]);\n\n React.useEffect(() => {\n if (match?.params.authResponse === 'error') {\n redirectToOops();\n }\n\n if (match?.params.authResponse === 'success') {\n const jwtToken = getCookieValue('jwtToken');\n\n if (jwtToken) {\n dispatch(\n login({\n token: jwtToken,\n })\n );\n\n deleteCookie('jwtToken');\n\n navigate('/auth/login');\n } else {\n redirectToOops();\n }\n }\n }, [dispatch, match, redirectToOops, navigate]);\n\n return <Page.Loading />;\n};\n\nexport { AuthResponse };\n"],"names":["useMatch","useIntl","useNavigate","useTypedDispatch","React","login","jsx","Page"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAa,MAAA,cAAA,GAAiB,CAAC,IAAiB,KAAA;AAC9C,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC7C,EAAY,WAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAC9B,IAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAChE,IAAI,IAAA,GAAA,CAAI,IAAK,EAAA,KAAM,IAAM,EAAA;AACvB,MAAA,MAAA,GAAS,mBAAmB,KAAK,CAAA,CAAA;AAAA,KACnC;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,IAAiB,KAAA;AAE5C,EAAA,QAAA,CAAS,SAAS,IAAO,GAAA,mDAAA,CAAA;AAC3B,CAAA;;ACLA,MAAM,eAAe,MAAM;AACzB,EAAM,MAAA,KAAA,GAAQA,wBAAS,2BAA2B,CAAA,CAAA;AAClD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,WAAWC,0BAAY,EAAA,CAAA;AAC7B,EAAA,MAAM,WAAWC,sBAAiB,EAAA,CAAA;AAElC,EAAM,MAAA,cAAA,GAAiBC,gBAAM,CAAA,WAAA,CAAY,MAAM;AAC7C,IAAS,QAAA,CAAA;AAAA,MACP,QAAU,EAAA,YAAA;AAAA,MACV,QAAQ,CAAS,MAAA,EAAA,kBAAA;AAAA,QACf,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,wCAAA;AAAA,UACJ,cAAgB,EAAA,sDAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACA,EAAA,CAAC,QAAU,EAAA,aAAa,CAAC,CAAA,CAAA;AAE5B,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,OAAS,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAEA,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,SAAW,EAAA;AAC5C,MAAM,MAAA,QAAA,GAAW,eAAe,UAAU,CAAA,CAAA;AAE1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA;AAAA,UACEC,WAAM,CAAA;AAAA,YACJ,KAAO,EAAA,QAAA;AAAA,WACR,CAAA;AAAA,SACH,CAAA;AAEA,QAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAEvB,QAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAe,cAAA,EAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,KACC,CAAC,QAAA,EAAU,KAAO,EAAA,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAA;AAE9C,EAAO,uBAAAC,cAAA,CAACC,UAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AACvB;;;;"}
1
+ {"version":3,"file":"AuthResponse-R8kR_yqS.js","sources":["../../ee/admin/src/utils/cookies.ts","../../ee/admin/src/pages/AuthResponse.tsx"],"sourcesContent":["export const getCookieValue = (name: string) => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key.trim() === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\nexport const deleteCookie = (name: string) => {\n // Set the cookie to expire in the past\n document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\n};\n","import * as React from 'react';\n\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../../../admin/src/components/PageHelpers';\nimport { useTypedDispatch } from '../../../../admin/src/core/store/hooks';\nimport { login } from '../../../../admin/src/reducer';\nimport { getCookieValue, deleteCookie } from '../utils/cookies';\n\nconst AuthResponse = () => {\n const match = useMatch('/auth/login/:authResponse');\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const dispatch = useTypedDispatch();\n\n const redirectToOops = React.useCallback(() => {\n navigate({\n pathname: '/auth/oops',\n search: `?info=${encodeURIComponent(\n formatMessage({\n id: 'Auth.form.button.login.providers.error',\n defaultMessage: 'We cannot connect you through the selected provider.',\n })\n )}`,\n });\n }, [navigate, formatMessage]);\n\n React.useEffect(() => {\n if (match?.params.authResponse === 'error') {\n redirectToOops();\n }\n\n if (match?.params.authResponse === 'success') {\n const jwtToken = getCookieValue('jwtToken');\n\n if (jwtToken) {\n dispatch(\n login({\n token: jwtToken,\n })\n );\n\n deleteCookie('jwtToken');\n\n navigate('/auth/login');\n } else {\n redirectToOops();\n }\n }\n }, [dispatch, match, redirectToOops, navigate]);\n\n return <Page.Loading />;\n};\n\nexport { AuthResponse };\n"],"names":["useMatch","useIntl","useNavigate","useTypedDispatch","React","login","jsx","Page"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAa,MAAA,cAAA,GAAiB,CAAC,IAAiB,KAAA;AAC9C,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,EAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC7C,EAAY,WAAA,CAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AAC9B,IAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAE,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAChE,IAAI,IAAA,GAAA,CAAI,IAAK,EAAA,KAAM,IAAM,EAAA;AACvB,MAAA,MAAA,GAAS,mBAAmB,KAAK,CAAA,CAAA;AAAA,KACnC;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,IAAiB,KAAA;AAE5C,EAAA,QAAA,CAAS,SAAS,IAAO,GAAA,mDAAA,CAAA;AAC3B,CAAA;;ACLA,MAAM,eAAe,MAAM;AACzB,EAAM,MAAA,KAAA,GAAQA,wBAAS,2BAA2B,CAAA,CAAA;AAClD,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,WAAWC,0BAAY,EAAA,CAAA;AAC7B,EAAA,MAAM,WAAWC,sBAAiB,EAAA,CAAA;AAElC,EAAM,MAAA,cAAA,GAAiBC,gBAAM,CAAA,WAAA,CAAY,MAAM;AAC7C,IAAS,QAAA,CAAA;AAAA,MACP,QAAU,EAAA,YAAA;AAAA,MACV,QAAQ,CAAS,MAAA,EAAA,kBAAA;AAAA,QACf,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,wCAAA;AAAA,UACJ,cAAgB,EAAA,sDAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACA,EAAA,CAAC,QAAU,EAAA,aAAa,CAAC,CAAA,CAAA;AAE5B,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,OAAS,EAAA;AAC1C,MAAe,cAAA,EAAA,CAAA;AAAA,KACjB;AAEA,IAAI,IAAA,KAAA,EAAO,MAAO,CAAA,YAAA,KAAiB,SAAW,EAAA;AAC5C,MAAM,MAAA,QAAA,GAAW,eAAe,UAAU,CAAA,CAAA;AAE1C,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA;AAAA,UACEC,WAAM,CAAA;AAAA,YACJ,KAAO,EAAA,QAAA;AAAA,WACR,CAAA;AAAA,SACH,CAAA;AAEA,QAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAEvB,QAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAAA,OACjB,MAAA;AACL,QAAe,cAAA,EAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,KACC,CAAC,QAAA,EAAU,KAAO,EAAA,cAAA,EAAgB,QAAQ,CAAC,CAAA,CAAA;AAE9C,EAAO,uBAAAC,cAAA,CAACC,UAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AACvB;;;;"}
@@ -7,24 +7,22 @@ import { useIntl } from 'react-intl';
7
7
  import { NavLink as NavLink$1, useNavigate, useLocation, Outlet } from 'react-router-dom';
8
8
  import lt from 'semver/functions/lt';
9
9
  import valid from 'semver/functions/valid';
10
- import { Cross, ArrowRight, SignOut, Lightning, Play, Message, Question, Book, PaperPlane, House, PuzzlePiece, ShoppingCart, Cog } from '@strapi/icons';
10
+ import { Cross, ArrowRight, SignOut, Lightning, Play, Message, Question, Book, PaperPlane, House, ShoppingCart, Cog } from '@strapi/icons';
11
11
  import get from 'lodash/get';
12
12
  import { styled } from 'styled-components';
13
- import { d as useTracking, p as useConfiguration, u as useAuth, n as useAppInfo, o as useStrapiApp, P as Page, t as AppInfoProvider } from './Theme-PrUuuGtN.mjs';
13
+ import { m as useGuidedTour, c as useTracking, r as useConfiguration, u as useAuth, p as useAppInfo, q as useStrapiApp, P as Page, b as useTypedSelector, w as AppInfoProvider } from './Theme-frC82ceE.mjs';
14
14
  import { L as LAYOUT_DATA, V as VerticalDivider, S as STATES, N as Number$1 } from './Ornaments-jAwgQeK0.mjs';
15
- import { l as useGuidedTour, N as NpsSurvey } from './index-Fu3hPmaj.mjs';
16
15
  import { g as getDisplayName, h as hashAdminUserEmail } from './users-a4KTyEyc.mjs';
16
+ import { N as NpsSurvey } from './index-hoTsgrwy.mjs';
17
17
  import { produce } from 'immer';
18
18
  import set from 'lodash/set';
19
- import { P as PrivateRoute } from './PrivateRoute-4oRTB_tX.mjs';
19
+ import { P as PrivateRoute } from './PrivateRoute-S4Lol0B9.mjs';
20
20
  import cloneDeep from 'lodash/cloneDeep';
21
- import { useSelector } from 'react-redux';
22
- import { s as selectAdminPermissions } from './selectors-ZpHhvPK4.mjs';
23
21
  import { u as useOnce } from './useOnce-GJ2Ta2mZ.mjs';
24
- import { d as useInformationQuery } from './admin-B6AW0Kov.mjs';
22
+ import { d as useInformationQuery } from './admin-GZ-AP2T0.mjs';
25
23
 
26
24
  const name = "@strapi/admin";
27
- const version = "5.0.0-rc.8";
25
+ const version = "5.0.0-rc.30";
28
26
  const description = "Strapi Admin";
29
27
  const repository = {
30
28
  type: "git",
@@ -75,8 +73,9 @@ const exports = {
75
73
  "./strapi-server": {
76
74
  types: "./dist/server/src/index.d.ts",
77
75
  source: "./server/src/index.js",
78
- require: "./strapi-server.js",
79
- "default": "./strapi-server.js"
76
+ "import": "./dist/server/index.mjs",
77
+ require: "./dist/server/index.js",
78
+ "default": "./dist/server/index.js"
80
79
  },
81
80
  "./package.json": "./package.json"
82
81
  };
@@ -103,8 +102,8 @@ const dependencies = {
103
102
  "@radix-ui/react-context": "1.0.1",
104
103
  "@radix-ui/react-toolbar": "1.0.4",
105
104
  "@reduxjs/toolkit": "1.9.7",
106
- "@strapi/design-system": "2.0.0-rc.7",
107
- "@strapi/icons": "2.0.0-rc.7",
105
+ "@strapi/design-system": "2.0.0-rc.11",
106
+ "@strapi/icons": "2.0.0-rc.11",
108
107
  "@strapi/permissions": "workspace:*",
109
108
  "@strapi/types": "workspace:*",
110
109
  "@strapi/typescript-utils": "workspace:*",
@@ -112,7 +111,7 @@ const dependencies = {
112
111
  "@testing-library/dom": "10.1.0",
113
112
  "@testing-library/react": "15.0.7",
114
113
  "@testing-library/user-event": "14.5.2",
115
- axios: "1.6.8",
114
+ axios: "1.7.4",
116
115
  bcryptjs: "2.4.3",
117
116
  boxen: "5.1.2",
118
117
  chalk: "^4.1.2",
@@ -137,7 +136,7 @@ const dependencies = {
137
136
  "koa2-ratelimit": "^1.1.3",
138
137
  lodash: "4.17.21",
139
138
  msw: "1.3.0",
140
- "node-schedule": "2.1.0",
139
+ "node-schedule": "2.1.1",
141
140
  ora: "5.4.1",
142
141
  "p-map": "4.0.0",
143
142
  "passport-local": "1.0.0",
@@ -153,7 +152,7 @@ const dependencies = {
153
152
  "react-select": "5.8.0",
154
153
  "react-window": "1.8.10",
155
154
  rimraf: "5.0.5",
156
- "sanitize-html": "2.11.0",
155
+ "sanitize-html": "2.13.0",
157
156
  scheduler: "0.23.0",
158
157
  semver: "7.5.4",
159
158
  sift: "16.0.1",
@@ -180,7 +179,7 @@ const devDependencies = {
180
179
  "@types/pluralize": "0.0.32",
181
180
  "@types/punycode": "2.1.4",
182
181
  "@types/react-window": "1.8.8",
183
- "@types/sanitize-html": "2.11.0",
182
+ "@types/sanitize-html": "2.13.0",
184
183
  "@vitejs/plugin-react-swc": "3.6.0",
185
184
  "koa-body": "6.0.1",
186
185
  react: "18.3.1",
@@ -229,15 +228,15 @@ const packageJSON = {
229
228
  };
230
229
 
231
230
  const GuidedTourModal = () => {
232
- const currentStep = useGuidedTour("GuidedTourModal", (state) => state.currentStep);
233
- const guidedTourState = useGuidedTour("GuidedTourModal", (state) => state.guidedTourState);
234
- const setCurrentStep = useGuidedTour("GuidedTourModal", (state) => state.setCurrentStep);
235
- const setStepState = useGuidedTour("GuidedTourModal", (state) => state.setStepState);
236
- const isGuidedTourVisible = useGuidedTour(
237
- "GuidedTourModal",
238
- (state) => state.isGuidedTourVisible
239
- );
240
- const setSkipped = useGuidedTour("GuidedTourModal", (state) => state.setSkipped);
231
+ const guidedTour = useGuidedTour("GuidedTourModal", (state) => state);
232
+ const {
233
+ currentStep,
234
+ guidedTourState,
235
+ setCurrentStep,
236
+ setStepState,
237
+ isGuidedTourVisible,
238
+ setSkipped
239
+ } = guidedTour;
241
240
  const { formatMessage } = useIntl();
242
241
  const { trackUsage } = useTracking();
243
242
  if (!currentStep || !isGuidedTourVisible) {
@@ -554,6 +553,9 @@ const MenuTrigger = styled(Menu.Trigger)`
554
553
  border-width: 1px 0 0 0;
555
554
  border-color: ${({ theme }) => theme.colors.neutral150};
556
555
  border-style: solid;
556
+ padding: ${({ theme }) => theme.spaces[3]};
557
+ // padding 12px - 1px border width
558
+ padding-top: 11px;
557
559
  // Prevent empty pixel from appearing below the main nav
558
560
  overflow: hidden;
559
561
  `;
@@ -968,7 +970,7 @@ const init = (plugins) => {
968
970
  const useMenu = (shouldUpdateStrapi) => {
969
971
  const checkUserHasPermissions = useAuth("useMenu", (state) => state.checkUserHasPermissions);
970
972
  const menu = useStrapiApp("useMenu", (state) => state.menu);
971
- const permissions = useSelector(selectAdminPermissions);
973
+ const permissions = useTypedSelector((state) => state.admin_app.permissions);
972
974
  const [menuWithUserPermissions, setMenuWithUserPermissions] = React.useState({
973
975
  generalSectionLinks: [
974
976
  {
@@ -981,16 +983,6 @@ const useMenu = (shouldUpdateStrapi) => {
981
983
  permissions: [],
982
984
  position: 0
983
985
  },
984
- {
985
- icon: PuzzlePiece,
986
- intlLabel: {
987
- id: "global.plugins",
988
- defaultMessage: "Plugins"
989
- },
990
- to: "/list-plugins",
991
- permissions: permissions.marketplace?.main ?? [],
992
- position: 7
993
- },
994
986
  {
995
987
  icon: ShoppingCart,
996
988
  intlLabel: {
@@ -999,7 +991,7 @@ const useMenu = (shouldUpdateStrapi) => {
999
991
  },
1000
992
  to: "/marketplace",
1001
993
  permissions: permissions.marketplace?.main ?? [],
1002
- position: 8
994
+ position: 7
1003
995
  },
1004
996
  {
1005
997
  icon: Cog,
@@ -1012,7 +1004,7 @@ const useMenu = (shouldUpdateStrapi) => {
1012
1004
  // using the settings menu
1013
1005
  permissions: [],
1014
1006
  notificationsCount: 0,
1015
- position: 10
1007
+ position: 9
1016
1008
  }
1017
1009
  ],
1018
1010
  pluginsSectionLinks: [],
@@ -1172,4 +1164,4 @@ const checkLatestStrapiVersion = (currentPackageVersion, latestPublishedVersion
1172
1164
  };
1173
1165
 
1174
1166
  export { AdminLayout, PrivateAdminLayout };
1175
- //# sourceMappingURL=AuthenticatedLayout-06fn7qrH.mjs.map
1167
+ //# sourceMappingURL=AuthenticatedLayout-J22BBdYe.mjs.map