@strapi/admin 5.0.0-beta.6 → 5.0.0-beta.7

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 (329) hide show
  1. package/dist/admin/{AdminSeatInfo-ZrJlIt8M.mjs → AdminSeatInfo-f4TfgHFE.mjs} +5 -5
  2. package/dist/admin/AdminSeatInfo-f4TfgHFE.mjs.map +1 -0
  3. package/dist/admin/{AdminSeatInfo-G2ipQTLk.js → AdminSeatInfo-jSvlksaP.js} +5 -5
  4. package/dist/admin/AdminSeatInfo-jSvlksaP.js.map +1 -0
  5. package/dist/admin/{ApplicationInfoPage-dc0ReC0D.js → ApplicationInfoPage-75RPd0Ro.js} +32 -37
  6. package/dist/admin/ApplicationInfoPage-75RPd0Ro.js.map +1 -0
  7. package/dist/admin/{ApplicationInfoPage-TImAEuc3.mjs → ApplicationInfoPage-aB-vx1uX.mjs} +33 -37
  8. package/dist/admin/ApplicationInfoPage-aB-vx1uX.mjs.map +1 -0
  9. package/dist/admin/{AuthResponse-wfOnX6GO.mjs → AuthResponse-HbQI8hB8.mjs} +2 -2
  10. package/dist/admin/{AuthResponse-wfOnX6GO.mjs.map → AuthResponse-HbQI8hB8.mjs.map} +1 -1
  11. package/dist/admin/{AuthResponse-J1Y_hbtY.js → AuthResponse-YXlkDXrI.js} +2 -2
  12. package/dist/admin/{AuthResponse-J1Y_hbtY.js.map → AuthResponse-YXlkDXrI.js.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-eMLYKMgW.mjs → AuthenticatedLayout-LYVDZ-jl.mjs} +204 -213
  14. package/dist/admin/AuthenticatedLayout-LYVDZ-jl.mjs.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-TNbTifIA.js → AuthenticatedLayout-xkecaUXJ.js} +208 -218
  16. package/dist/admin/AuthenticatedLayout-xkecaUXJ.js.map +1 -0
  17. package/dist/admin/{ContentBox-Mzcpnn32.js → ContentBox-3MRTNw0X.js} +5 -8
  18. package/dist/admin/ContentBox-3MRTNw0X.js.map +1 -0
  19. package/dist/admin/{ContentBox-DjmNTcxv.mjs → ContentBox-9LBDzws0.mjs} +3 -2
  20. package/dist/admin/ContentBox-9LBDzws0.mjs.map +1 -0
  21. package/dist/admin/{CreateActionEE-_i5qXWEG.js → CreateActionEE-9Z-woKCk.js} +2 -2
  22. package/dist/admin/{CreateActionEE-_i5qXWEG.js.map → CreateActionEE-9Z-woKCk.js.map} +1 -1
  23. package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs → CreateActionEE-QiVnA7Rx.mjs} +2 -2
  24. package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs.map → CreateActionEE-QiVnA7Rx.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-uTwt_c8J.mjs → CreatePage-1iAK5V1h.mjs} +29 -26
  26. package/dist/admin/CreatePage-1iAK5V1h.mjs.map +1 -0
  27. package/dist/admin/{CreatePage-f3faA3vG.js → CreatePage-ZrJXDmLJ.js} +3 -3
  28. package/dist/admin/{CreatePage-f3faA3vG.js.map → CreatePage-ZrJXDmLJ.js.map} +1 -1
  29. package/dist/admin/{CreatePage-07P5-Zjt.mjs → CreatePage-jsVARlnB.mjs} +3 -3
  30. package/dist/admin/{CreatePage-07P5-Zjt.mjs.map → CreatePage-jsVARlnB.mjs.map} +1 -1
  31. package/dist/admin/{CreatePage-03MgCK7Z.js → CreatePage-uHcWJ0EG.js} +29 -29
  32. package/dist/admin/CreatePage-uHcWJ0EG.js.map +1 -0
  33. package/dist/admin/{CreateView-o5-hvd4h.js → CreateView-1WqjD6uO.js} +3 -3
  34. package/dist/admin/{CreateView-o5-hvd4h.js.map → CreateView-1WqjD6uO.js.map} +1 -1
  35. package/dist/admin/{CreateView-T8hLqvog.mjs → CreateView-Bi2p6uqA.mjs} +3 -3
  36. package/dist/admin/{CreateView-T8hLqvog.mjs.map → CreateView-Bi2p6uqA.mjs.map} +1 -1
  37. package/dist/admin/{CreateView-UemGfFqI.js → CreateView-HhvACL4t.js} +3 -3
  38. package/dist/admin/{CreateView-UemGfFqI.js.map → CreateView-HhvACL4t.js.map} +1 -1
  39. package/dist/admin/{CreateView-87aPv9QV.mjs → CreateView-tSUpjqXs.mjs} +3 -3
  40. package/dist/admin/{CreateView-87aPv9QV.mjs.map → CreateView-tSUpjqXs.mjs.map} +1 -1
  41. package/dist/admin/{EditPage-YqW1NIMp.js → EditPage-2l5T1lDC.js} +212 -254
  42. package/dist/admin/EditPage-2l5T1lDC.js.map +1 -0
  43. package/dist/admin/{EditPage-lyFePXWl.mjs → EditPage-JmGISZmG.mjs} +213 -252
  44. package/dist/admin/EditPage-JmGISZmG.mjs.map +1 -0
  45. package/dist/admin/{EditPage-Ly5MBiuB.js → EditPage-LMYuiLOp.js} +45 -29
  46. package/dist/admin/EditPage-LMYuiLOp.js.map +1 -0
  47. package/dist/admin/{EditPage-UqMDbMvJ.js → EditPage-MGQBBDmf.js} +12 -12
  48. package/dist/admin/EditPage-MGQBBDmf.js.map +1 -0
  49. package/dist/admin/{EditPage-F3yH0Fy6.mjs → EditPage-xQSTfVfO.mjs} +46 -30
  50. package/dist/admin/EditPage-xQSTfVfO.mjs.map +1 -0
  51. package/dist/admin/{EditPage-XSz7Wpt8.mjs → EditPage-yFuP3hZG.mjs} +13 -13
  52. package/dist/admin/EditPage-yFuP3hZG.mjs.map +1 -0
  53. package/dist/admin/{EditView-r0lx661I.mjs → EditView-06IK7yeo.mjs} +9 -9
  54. package/dist/admin/EditView-06IK7yeo.mjs.map +1 -0
  55. package/dist/admin/{EditView-bRFkRKAz.js → EditView-9cnQdotQ.js} +8 -8
  56. package/dist/admin/EditView-9cnQdotQ.js.map +1 -0
  57. package/dist/admin/{EditViewPage-tAsn6QS9.js → EditViewPage-ZTHin7cu.js} +20 -21
  58. package/dist/admin/EditViewPage-ZTHin7cu.js.map +1 -0
  59. package/dist/admin/{EditViewPage-f5dHmqdT.mjs → EditViewPage-x06h850j.mjs} +17 -17
  60. package/dist/admin/EditViewPage-x06h850j.mjs.map +1 -0
  61. package/dist/admin/{EventsTable-4h6LoAp-.js → EventsTable-i6DpZCjP.js} +2 -2
  62. package/dist/admin/{EventsTable-4h6LoAp-.js.map → EventsTable-i6DpZCjP.js.map} +1 -1
  63. package/dist/admin/{EventsTable-2C605_qQ.mjs → EventsTable-uKf7y-DM.mjs} +2 -2
  64. package/dist/admin/{EventsTable-2C605_qQ.mjs.map → EventsTable-uKf7y-DM.mjs.map} +1 -1
  65. package/dist/admin/{HomePage-4FySTCJU.mjs → HomePage-Dk_BC7we.mjs} +3 -3
  66. package/dist/admin/{HomePage-4FySTCJU.mjs.map → HomePage-Dk_BC7we.mjs.map} +1 -1
  67. package/dist/admin/{HomePage-UTnZwpp-.js → HomePage-VKuqPKIc.js} +34 -32
  68. package/dist/admin/HomePage-VKuqPKIc.js.map +1 -0
  69. package/dist/admin/{HomePage-Uuww2J1B.js → HomePage-tgoADIWe.js} +3 -3
  70. package/dist/admin/{HomePage-Uuww2J1B.js.map → HomePage-tgoADIWe.js.map} +1 -1
  71. package/dist/admin/{HomePage-ZF3T0k2r.mjs → HomePage-ytofle46.mjs} +24 -19
  72. package/dist/admin/HomePage-ytofle46.mjs.map +1 -0
  73. package/dist/admin/{InstalledPluginsPage-eOXi3oTN.mjs → InstalledPluginsPage--iVM14K3.mjs} +9 -8
  74. package/dist/admin/InstalledPluginsPage--iVM14K3.mjs.map +1 -0
  75. package/dist/admin/{InstalledPluginsPage-o43CGz2w.js → InstalledPluginsPage-5fDQJ3wY.js} +8 -7
  76. package/dist/admin/InstalledPluginsPage-5fDQJ3wY.js.map +1 -0
  77. package/dist/admin/{Layout-XxmAreH1.js → Layout-BYaZsvrJ.js} +11 -12
  78. package/dist/admin/Layout-BYaZsvrJ.js.map +1 -0
  79. package/dist/admin/{Layout-mnn4_IJp.mjs → Layout-woodqxaL.mjs} +10 -10
  80. package/dist/admin/Layout-woodqxaL.mjs.map +1 -0
  81. package/dist/admin/{ListPage-hln8fKzE.js → ListPage-0zYjdNsU.js} +11 -12
  82. package/dist/admin/ListPage-0zYjdNsU.js.map +1 -0
  83. package/dist/admin/{ListPage-Gj1OS6PX.mjs → ListPage-4VNlnYoD.mjs} +3 -3
  84. package/dist/admin/{ListPage-Gj1OS6PX.mjs.map → ListPage-4VNlnYoD.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-URtxfNJ4.js → ListPage-5OElNgYk.js} +14 -18
  86. package/dist/admin/ListPage-5OElNgYk.js.map +1 -0
  87. package/dist/admin/{ListPage-eNkUD3v_.mjs → ListPage-7wUYXUgs.mjs} +15 -15
  88. package/dist/admin/ListPage-7wUYXUgs.mjs.map +1 -0
  89. package/dist/admin/{ListPage-AFDAiR9X.mjs → ListPage-HCUzAC2B.mjs} +17 -30
  90. package/dist/admin/ListPage-HCUzAC2B.mjs.map +1 -0
  91. package/dist/admin/{ListPage-NTxNcftS.js → ListPage-MxOKlYmC.js} +14 -14
  92. package/dist/admin/ListPage-MxOKlYmC.js.map +1 -0
  93. package/dist/admin/{ListPage-5g8MtUEB.mjs → ListPage-NURPzLD-.mjs} +15 -19
  94. package/dist/admin/ListPage-NURPzLD-.mjs.map +1 -0
  95. package/dist/admin/{ListPage-Pi_dzfDr.js → ListPage-V26wHeo6.js} +16 -29
  96. package/dist/admin/ListPage-V26wHeo6.js.map +1 -0
  97. package/dist/admin/{ListPage-6Ukzm--I.js → ListPage-XZshrlES.js} +3 -3
  98. package/dist/admin/{ListPage-6Ukzm--I.js.map → ListPage-XZshrlES.js.map} +1 -1
  99. package/dist/admin/{ListPage-kdjzZ2al.mjs → ListPage-wtqw0RXL.mjs} +12 -13
  100. package/dist/admin/ListPage-wtqw0RXL.mjs.map +1 -0
  101. package/dist/admin/{ListView-pYVBJ4lg.js → ListView-SmHj4MFz.js} +10 -8
  102. package/dist/admin/ListView-SmHj4MFz.js.map +1 -0
  103. package/dist/admin/{ListView-FBh2WTHx.mjs → ListView-VRdl68JN.mjs} +10 -10
  104. package/dist/admin/ListView-VRdl68JN.mjs.map +1 -0
  105. package/dist/admin/{ListView-uwPF62w6.mjs → ListView-hi5fg7r8.mjs} +11 -9
  106. package/dist/admin/ListView-hi5fg7r8.mjs.map +1 -0
  107. package/dist/admin/{ListView-f2wVT21J.js → ListView-siyyh4f7.js} +9 -9
  108. package/dist/admin/ListView-siyyh4f7.js.map +1 -0
  109. package/dist/admin/{Login-FSNzATl0.mjs → Login-9hdTvAlD.mjs} +5 -5
  110. package/dist/admin/Login-9hdTvAlD.mjs.map +1 -0
  111. package/dist/admin/{Login-3rLFPliB.js → Login-bGhxScoT.js} +6 -10
  112. package/dist/admin/Login-bGhxScoT.js.map +1 -0
  113. package/dist/admin/{MagicLinkEE-bccsKKbJ.js → MagicLinkEE-5c7HTc8n.js} +3 -3
  114. package/dist/admin/{MagicLinkEE-bccsKKbJ.js.map → MagicLinkEE-5c7HTc8n.js.map} +1 -1
  115. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs → MagicLinkEE-cAwS-v3S.mjs} +3 -3
  116. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs.map → MagicLinkEE-cAwS-v3S.mjs.map} +1 -1
  117. package/dist/admin/{MarketplacePage-kNQPkoZK.mjs → MarketplacePage-hCtNAEWd.mjs} +19 -44
  118. package/dist/admin/MarketplacePage-hCtNAEWd.mjs.map +1 -0
  119. package/dist/admin/{MarketplacePage-sSTqINSu.js → MarketplacePage-t6FAhfMK.js} +23 -49
  120. package/dist/admin/MarketplacePage-t6FAhfMK.js.map +1 -0
  121. package/dist/admin/{Permissions-aU1eesjP.mjs → Permissions-Ng22nlYS.mjs} +34 -33
  122. package/dist/admin/Permissions-Ng22nlYS.mjs.map +1 -0
  123. package/dist/admin/{Permissions-NlSnXUKO.js → Permissions-aRi-vOk-.js} +53 -53
  124. package/dist/admin/Permissions-aRi-vOk-.js.map +1 -0
  125. package/dist/admin/{PrivateRoute-nJgGpBXP.js → PrivateRoute--JuZZan_.js} +2 -2
  126. package/dist/admin/{PrivateRoute-nJgGpBXP.js.map → PrivateRoute--JuZZan_.js.map} +1 -1
  127. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs → PrivateRoute-hfATZKl-.mjs} +2 -2
  128. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs.map → PrivateRoute-hfATZKl-.mjs.map} +1 -1
  129. package/dist/admin/{ProfilePage-jU98pa61.js → ProfilePage-8ieqgIrW.js} +11 -11
  130. package/dist/admin/ProfilePage-8ieqgIrW.js.map +1 -0
  131. package/dist/admin/{ProfilePage-T2kC_KoM.mjs → ProfilePage-imi1Exl5.mjs} +12 -12
  132. package/dist/admin/ProfilePage-imi1Exl5.mjs.map +1 -0
  133. package/dist/admin/{PurchaseAuditLogs-_1tVWtNF.mjs → PurchaseAuditLogs-RGCYZl25.mjs} +5 -4
  134. package/dist/admin/PurchaseAuditLogs-RGCYZl25.mjs.map +1 -0
  135. package/dist/admin/{PurchaseAuditLogs-GreHFPSR.js → PurchaseAuditLogs-xUopaGaS.js} +4 -3
  136. package/dist/admin/PurchaseAuditLogs-xUopaGaS.js.map +1 -0
  137. package/dist/admin/{PurchaseSingleSignOn-6t4xuNBd.js → PurchaseSingleSignOn-XOgkJmcn.js} +4 -3
  138. package/dist/admin/PurchaseSingleSignOn-XOgkJmcn.js.map +1 -0
  139. package/dist/admin/{PurchaseSingleSignOn-VUU-U4wi.mjs → PurchaseSingleSignOn-uMysWmJV.mjs} +5 -4
  140. package/dist/admin/PurchaseSingleSignOn-uMysWmJV.mjs.map +1 -0
  141. package/dist/admin/{SSOProviders-FZwT7RmU.js → SSOProviders-AirHFyBl.js} +4 -8
  142. package/dist/admin/SSOProviders-AirHFyBl.js.map +1 -0
  143. package/dist/admin/{SSOProviders-GcYDRAyn.mjs → SSOProviders-t8D-v8As.mjs} +2 -2
  144. package/dist/admin/SSOProviders-t8D-v8As.mjs.map +1 -0
  145. package/dist/admin/{SelectRoles--ys30CdN.mjs → SelectRoles-kh6E_r88.mjs} +44 -39
  146. package/dist/admin/SelectRoles-kh6E_r88.mjs.map +1 -0
  147. package/dist/admin/{SelectRoles-EdE6yfsj.js → SelectRoles-uO7YohIC.js} +44 -43
  148. package/dist/admin/SelectRoles-uO7YohIC.js.map +1 -0
  149. package/dist/admin/SingleSignOnPage-T90Opl7K.mjs +231 -0
  150. package/dist/admin/SingleSignOnPage-T90Opl7K.mjs.map +1 -0
  151. package/dist/admin/SingleSignOnPage-bnlsJPDh.js +256 -0
  152. package/dist/admin/SingleSignOnPage-bnlsJPDh.js.map +1 -0
  153. package/dist/admin/{Table--He5qeQG.mjs → Table-XkC1iUuN.mjs} +5 -5
  154. package/dist/admin/Table-XkC1iUuN.mjs.map +1 -0
  155. package/dist/admin/{Table-HXu3Nz4W.js → Table-qGOQznHA.js} +6 -9
  156. package/dist/admin/Table-qGOQznHA.js.map +1 -0
  157. package/dist/admin/{TokenTypeSelect-yY2kwTyO.js → TokenTypeSelect-733TgUaC.js} +83 -65
  158. package/dist/admin/TokenTypeSelect-733TgUaC.js.map +1 -0
  159. package/dist/admin/{TokenTypeSelect-kgKThMAL.mjs → TokenTypeSelect-kjhQiPbj.mjs} +84 -66
  160. package/dist/admin/TokenTypeSelect-kjhQiPbj.mjs.map +1 -0
  161. package/dist/admin/{UseCasePage-bfP-fDoW.mjs → UseCasePage-cNK2fN9i.mjs} +17 -34
  162. package/dist/admin/UseCasePage-cNK2fN9i.mjs.map +1 -0
  163. package/dist/admin/{UseCasePage-6_WRtTwv.js → UseCasePage-uk5jmSsj.js} +16 -36
  164. package/dist/admin/UseCasePage-uk5jmSsj.js.map +1 -0
  165. package/dist/admin/admin-dE-jnuNr.mjs +339 -0
  166. package/dist/admin/admin-dE-jnuNr.mjs.map +1 -0
  167. package/dist/admin/{admin-vlKSOeHB.js → admin-sk7xXllW.js} +146 -61
  168. package/dist/admin/admin-sk7xXllW.js.map +1 -0
  169. package/dist/admin/{apiTokens-bNRitXGF.mjs → apiTokens-W-bmo-dU.mjs} +2 -2
  170. package/dist/admin/{apiTokens-bNRitXGF.mjs.map → apiTokens-W-bmo-dU.mjs.map} +1 -1
  171. package/dist/admin/{apiTokens-lXn03No3.js → apiTokens-amUH0Wax.js} +2 -2
  172. package/dist/admin/{apiTokens-lXn03No3.js.map → apiTokens-amUH0Wax.js.map} +1 -1
  173. package/dist/admin/{constants-wnw4TGwG.mjs → constants-K5IOuR0b.mjs} +7 -7
  174. package/dist/admin/constants-K5IOuR0b.mjs.map +1 -0
  175. package/dist/admin/{constants-qdY4HMAg.js → constants-ZW8_ZgiN.js} +8 -12
  176. package/dist/admin/constants-ZW8_ZgiN.js.map +1 -0
  177. package/dist/admin/ee.js +1 -1
  178. package/dist/admin/ee.mjs +1 -1
  179. package/dist/admin/{index-7fPlAzj6.mjs → index--VHJr8__.mjs} +596 -410
  180. package/dist/admin/index--VHJr8__.mjs.map +1 -0
  181. package/dist/admin/{index-FJLgZ-Wg.js → index-8r8zglVb.js} +604 -418
  182. package/dist/admin/index-8r8zglVb.js.map +1 -0
  183. package/dist/admin/index.js +6 -3
  184. package/dist/admin/index.js.map +1 -1
  185. package/dist/admin/index.mjs +3 -3
  186. package/dist/admin/{rbac-uVd0RAE5.mjs → rbac-OjYDiE2n.mjs} +5 -5
  187. package/dist/admin/rbac-OjYDiE2n.mjs.map +1 -0
  188. package/dist/admin/{rbac-xgYdpUSq.js → rbac-xo8GO653.js} +7 -7
  189. package/dist/admin/rbac-xo8GO653.js.map +1 -0
  190. package/dist/admin/{selectors-AvywwQRm.mjs → selectors-k4OkEbL7.mjs} +2 -2
  191. package/dist/admin/{selectors-AvywwQRm.mjs.map → selectors-k4OkEbL7.mjs.map} +1 -1
  192. package/dist/admin/{selectors-C62Wf5On.js → selectors-lQOnkFXz.js} +2 -2
  193. package/dist/admin/{selectors-C62Wf5On.js.map → selectors-lQOnkFXz.js.map} +1 -1
  194. package/dist/admin/src/components/FormInputs/Email.d.ts +1 -1
  195. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +1 -1
  196. package/dist/admin/src/components/FormInputs/Json.d.ts +2 -4
  197. package/dist/admin/src/components/FormInputs/Password.d.ts +1 -1
  198. package/dist/admin/src/components/FormInputs/String.d.ts +1 -4
  199. package/dist/admin/src/components/FormInputs/Textarea.d.ts +1 -1
  200. package/dist/admin/src/components/FormInputs/types.d.ts +1 -0
  201. package/dist/admin/src/components/Layouts/ActionLayout.d.ts +7 -0
  202. package/dist/admin/src/components/Layouts/ContentLayout.d.ts +6 -0
  203. package/dist/admin/src/components/Layouts/GridLayout.d.ts +17 -0
  204. package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +19 -0
  205. package/dist/admin/src/components/MainNav/MainNav.d.ts +3 -0
  206. package/dist/admin/src/components/MainNav/NavLink.d.ts +5 -3
  207. package/dist/admin/src/components/MainNav/NavUser.d.ts +7 -0
  208. package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +2 -4
  209. package/dist/admin/src/hooks/useFetchClient.d.ts +7 -8
  210. package/dist/admin/src/hooks/useFocusInputField.d.ts +2 -5
  211. package/dist/admin/src/index.d.ts +6 -1
  212. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +4 -1
  213. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +6 -51
  214. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +1 -1
  215. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -1
  216. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -1
  217. package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +2 -3
  218. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +2 -2
  219. package/dist/admin/src/services/contentApi.d.ts +1 -1
  220. package/dist/admin/src/utils/baseQuery.d.ts +6 -6
  221. package/dist/admin/src/utils/getFetchClient.d.ts +40 -10
  222. package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -5
  223. package/dist/admin/test.js +2 -2
  224. package/dist/admin/test.mjs +2 -2
  225. package/dist/admin/{transferTokens-5qQjIKFd.js → transferTokens-6WfQBaQ-.js} +2 -2
  226. package/dist/admin/{transferTokens-5qQjIKFd.js.map → transferTokens-6WfQBaQ-.js.map} +1 -1
  227. package/dist/admin/{transferTokens-ngan7vz6.mjs → transferTokens-i692XANY.mjs} +2 -2
  228. package/dist/admin/{transferTokens-ngan7vz6.mjs.map → transferTokens-i692XANY.mjs.map} +1 -1
  229. package/dist/admin/{useAdminRoles-yjN2uT_o.js → useAdminRoles-Y5UQ6Egv.js} +2 -2
  230. package/dist/admin/{useAdminRoles-yjN2uT_o.js.map → useAdminRoles-Y5UQ6Egv.js.map} +1 -1
  231. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs → useAdminRoles-eVMCxlw1.mjs} +2 -2
  232. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs.map → useAdminRoles-eVMCxlw1.mjs.map} +1 -1
  233. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs → useLicenseLimitNotification-OHVMxaBa.mjs} +3 -3
  234. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs.map → useLicenseLimitNotification-OHVMxaBa.mjs.map} +1 -1
  235. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js → useLicenseLimitNotification-sfaZoueO.js} +3 -3
  236. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js.map → useLicenseLimitNotification-sfaZoueO.js.map} +1 -1
  237. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs → useLicenseLimits--WDjYzSj.mjs} +2 -2
  238. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs.map → useLicenseLimits--WDjYzSj.mjs.map} +1 -1
  239. package/dist/admin/{useLicenseLimits-m11DOu9p.js → useLicenseLimits-mA4KtQ81.js} +2 -2
  240. package/dist/admin/{useLicenseLimits-m11DOu9p.js.map → useLicenseLimits-mA4KtQ81.js.map} +1 -1
  241. package/dist/admin/{useWebhooks-8VWSFqNg.mjs → useWebhooks-0pDqX-k4.mjs} +2 -2
  242. package/dist/admin/{useWebhooks-8VWSFqNg.mjs.map → useWebhooks-0pDqX-k4.mjs.map} +1 -1
  243. package/dist/admin/{useWebhooks-oZ5DKtvz.js → useWebhooks-BBj9Ew7F.js} +2 -2
  244. package/dist/admin/{useWebhooks-oZ5DKtvz.js.map → useWebhooks-BBj9Ew7F.js.map} +1 -1
  245. package/dist/admin/{validation-rsP4iH1U.js → validation-hp8oweyu.js} +2 -2
  246. package/dist/admin/{validation-rsP4iH1U.js.map → validation-hp8oweyu.js.map} +1 -1
  247. package/dist/admin/{validation-p2q0MWxi.mjs → validation-xeirflOd.mjs} +2 -2
  248. package/dist/admin/{validation-p2q0MWxi.mjs.map → validation-xeirflOd.mjs.map} +1 -1
  249. package/dist/package.json.d.ts +12 -14
  250. package/dist/server/index.js +9 -6
  251. package/dist/server/index.js.map +1 -1
  252. package/dist/server/index.mjs +9 -6
  253. package/dist/server/index.mjs.map +1 -1
  254. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  255. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  256. package/package.json +13 -15
  257. package/dist/admin/AdminSeatInfo-G2ipQTLk.js.map +0 -1
  258. package/dist/admin/AdminSeatInfo-ZrJlIt8M.mjs.map +0 -1
  259. package/dist/admin/ApplicationInfoPage-TImAEuc3.mjs.map +0 -1
  260. package/dist/admin/ApplicationInfoPage-dc0ReC0D.js.map +0 -1
  261. package/dist/admin/AuthenticatedLayout-TNbTifIA.js.map +0 -1
  262. package/dist/admin/AuthenticatedLayout-eMLYKMgW.mjs.map +0 -1
  263. package/dist/admin/ContentBox-DjmNTcxv.mjs.map +0 -1
  264. package/dist/admin/ContentBox-Mzcpnn32.js.map +0 -1
  265. package/dist/admin/CreatePage-03MgCK7Z.js.map +0 -1
  266. package/dist/admin/CreatePage-uTwt_c8J.mjs.map +0 -1
  267. package/dist/admin/EditPage-F3yH0Fy6.mjs.map +0 -1
  268. package/dist/admin/EditPage-Ly5MBiuB.js.map +0 -1
  269. package/dist/admin/EditPage-UqMDbMvJ.js.map +0 -1
  270. package/dist/admin/EditPage-XSz7Wpt8.mjs.map +0 -1
  271. package/dist/admin/EditPage-YqW1NIMp.js.map +0 -1
  272. package/dist/admin/EditPage-lyFePXWl.mjs.map +0 -1
  273. package/dist/admin/EditView-bRFkRKAz.js.map +0 -1
  274. package/dist/admin/EditView-r0lx661I.mjs.map +0 -1
  275. package/dist/admin/EditViewPage-f5dHmqdT.mjs.map +0 -1
  276. package/dist/admin/EditViewPage-tAsn6QS9.js.map +0 -1
  277. package/dist/admin/HomePage-UTnZwpp-.js.map +0 -1
  278. package/dist/admin/HomePage-ZF3T0k2r.mjs.map +0 -1
  279. package/dist/admin/InstalledPluginsPage-eOXi3oTN.mjs.map +0 -1
  280. package/dist/admin/InstalledPluginsPage-o43CGz2w.js.map +0 -1
  281. package/dist/admin/Layout-XxmAreH1.js.map +0 -1
  282. package/dist/admin/Layout-mnn4_IJp.mjs.map +0 -1
  283. package/dist/admin/ListPage-5g8MtUEB.mjs.map +0 -1
  284. package/dist/admin/ListPage-AFDAiR9X.mjs.map +0 -1
  285. package/dist/admin/ListPage-NTxNcftS.js.map +0 -1
  286. package/dist/admin/ListPage-Pi_dzfDr.js.map +0 -1
  287. package/dist/admin/ListPage-URtxfNJ4.js.map +0 -1
  288. package/dist/admin/ListPage-eNkUD3v_.mjs.map +0 -1
  289. package/dist/admin/ListPage-hln8fKzE.js.map +0 -1
  290. package/dist/admin/ListPage-kdjzZ2al.mjs.map +0 -1
  291. package/dist/admin/ListView-FBh2WTHx.mjs.map +0 -1
  292. package/dist/admin/ListView-f2wVT21J.js.map +0 -1
  293. package/dist/admin/ListView-pYVBJ4lg.js.map +0 -1
  294. package/dist/admin/ListView-uwPF62w6.mjs.map +0 -1
  295. package/dist/admin/Login-3rLFPliB.js.map +0 -1
  296. package/dist/admin/Login-FSNzATl0.mjs.map +0 -1
  297. package/dist/admin/MarketplacePage-kNQPkoZK.mjs.map +0 -1
  298. package/dist/admin/MarketplacePage-sSTqINSu.js.map +0 -1
  299. package/dist/admin/Permissions-NlSnXUKO.js.map +0 -1
  300. package/dist/admin/Permissions-aU1eesjP.mjs.map +0 -1
  301. package/dist/admin/ProfilePage-T2kC_KoM.mjs.map +0 -1
  302. package/dist/admin/ProfilePage-jU98pa61.js.map +0 -1
  303. package/dist/admin/PurchaseAuditLogs-GreHFPSR.js.map +0 -1
  304. package/dist/admin/PurchaseAuditLogs-_1tVWtNF.mjs.map +0 -1
  305. package/dist/admin/PurchaseSingleSignOn-6t4xuNBd.js.map +0 -1
  306. package/dist/admin/PurchaseSingleSignOn-VUU-U4wi.mjs.map +0 -1
  307. package/dist/admin/SSOProviders-FZwT7RmU.js.map +0 -1
  308. package/dist/admin/SSOProviders-GcYDRAyn.mjs.map +0 -1
  309. package/dist/admin/SelectRoles--ys30CdN.mjs.map +0 -1
  310. package/dist/admin/SelectRoles-EdE6yfsj.js.map +0 -1
  311. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs +0 -234
  312. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs.map +0 -1
  313. package/dist/admin/SingleSignOnPage-nv121JbB.js +0 -259
  314. package/dist/admin/SingleSignOnPage-nv121JbB.js.map +0 -1
  315. package/dist/admin/Table--He5qeQG.mjs.map +0 -1
  316. package/dist/admin/Table-HXu3Nz4W.js.map +0 -1
  317. package/dist/admin/TokenTypeSelect-kgKThMAL.mjs.map +0 -1
  318. package/dist/admin/TokenTypeSelect-yY2kwTyO.js.map +0 -1
  319. package/dist/admin/UseCasePage-6_WRtTwv.js.map +0 -1
  320. package/dist/admin/UseCasePage-bfP-fDoW.mjs.map +0 -1
  321. package/dist/admin/admin-5SXhE_nJ.mjs +0 -256
  322. package/dist/admin/admin-5SXhE_nJ.mjs.map +0 -1
  323. package/dist/admin/admin-vlKSOeHB.js.map +0 -1
  324. package/dist/admin/constants-qdY4HMAg.js.map +0 -1
  325. package/dist/admin/constants-wnw4TGwG.mjs.map +0 -1
  326. package/dist/admin/index-7fPlAzj6.mjs.map +0 -1
  327. package/dist/admin/index-FJLgZ-Wg.js.map +0 -1
  328. package/dist/admin/rbac-uVd0RAE5.mjs.map +0 -1
  329. package/dist/admin/rbac-xgYdpUSq.js.map +0 -1
@@ -3,9 +3,9 @@ import { GridItem, Typography, Flex, Tooltip, Link } from '@strapi/design-system
3
3
  import { WarningCircle, ExternalLink } from '@strapi/icons';
4
4
  import { useIntl } from 'react-intl';
5
5
  import { useSelector } from 'react-redux';
6
- import { k as useRBAC } from './rbac-uVd0RAE5.mjs';
7
- import { s as selectAdminPermissions } from './selectors-AvywwQRm.mjs';
8
- import { u as useLicenseLimits } from './useLicenseLimits-fKc9uCtd.mjs';
6
+ import { k as useRBAC } from './rbac-OjYDiE2n.mjs';
7
+ import { s as selectAdminPermissions } from './selectors-k4OkEbL7.mjs';
8
+ import { u as useLicenseLimits } from './useLicenseLimits--WDjYzSj.mjs';
9
9
 
10
10
  const BILLING_STRAPI_CLOUD_URL = "https://cloud.strapi.io/profile/billing";
11
11
  const BILLING_SELF_HOSTED_URL = "https://strapi.io/billing/request-seats";
@@ -41,7 +41,7 @@ const AdminSeatInfoEE = () => {
41
41
  defaultMessage: "Admin seats"
42
42
  }) }),
43
43
  /* @__PURE__ */ jsxs(Flex, { gap: 2, children: [
44
- /* @__PURE__ */ jsx(Flex, { children: /* @__PURE__ */ jsx(Typography, { as: "p", children: formatMessage(
44
+ /* @__PURE__ */ jsx(Flex, { children: /* @__PURE__ */ jsx(Typography, { tag: "p", children: formatMessage(
45
45
  {
46
46
  id: "Settings.application.ee.admin-seats.count",
47
47
  defaultMessage: "<text>{enforcementUserCount}</text>/{permittedSeats}"
@@ -89,4 +89,4 @@ const AdminSeatInfoEE = () => {
89
89
  };
90
90
 
91
91
  export { AdminSeatInfoEE };
92
- //# sourceMappingURL=AdminSeatInfo-ZrJlIt8M.mjs.map
92
+ //# sourceMappingURL=AdminSeatInfo-f4TfgHFE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminSeatInfo-f4TfgHFE.mjs","sources":["../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.tsx"],"sourcesContent":["import { Flex, GridItem, Tooltip, Typography, Link } from '@strapi/design-system';\nimport { ExternalLink, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useRBAC } from '../../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nconst BILLING_STRAPI_CLOUD_URL = 'https://cloud.strapi.io/profile/billing';\nconst BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';\n\nexport const AdminSeatInfoEE = () => {\n const { formatMessage } = useIntl();\n const { settings } = useSelector(selectAdminPermissions);\n const {\n isLoading: isRBACLoading,\n allowedActions: { canRead, canCreate, canUpdate, canDelete },\n } = useRBAC(settings?.users ?? {});\n const {\n license,\n isError,\n isLoading: isLicenseLoading,\n } = useLicenseLimits({\n // TODO: this creates a waterfall which we should avoid to render earlier, but for that\n // we will have to move away from data-fetching hooks to query functions.\n // Short-term we could at least implement a loader, for the user to have visual feedback\n // in case the requests take a while\n enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete,\n });\n\n const isLoading = isRBACLoading || isLicenseLoading;\n\n if (isError || isLoading || !license) {\n return null;\n }\n\n const { licenseLimitStatus, enforcementUserCount, permittedSeats, isHostedOnStrapiCloud } =\n license;\n\n if (!permittedSeats) {\n return null;\n }\n\n return (\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.application.admin-seats',\n defaultMessage: 'Admin seats',\n })}\n </Typography>\n <Flex gap={2}>\n <Flex>\n <Typography tag=\"p\">\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.count',\n defaultMessage: '<text>{enforcementUserCount}</text>/{permittedSeats}',\n },\n {\n permittedSeats,\n enforcementUserCount,\n text: (chunks) =>\n (\n <Typography\n fontWeight=\"semiBold\"\n textColor={enforcementUserCount > permittedSeats ? 'danger500' : undefined}\n >\n {chunks}\n </Typography>\n ) as any,\n }\n )}\n </Typography>\n </Flex>\n {licenseLimitStatus === 'OVER_LIMIT' && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.ee.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n </Flex>\n <Link\n href={isHostedOnStrapiCloud ? BILLING_STRAPI_CLOUD_URL : BILLING_SELF_HOSTED_URL}\n isExternal\n endIcon={<ExternalLink />}\n >\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.add-seats',\n defaultMessage:\n '{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}',\n },\n { isHostedOnStrapiCloud }\n )}\n </Link>\n </GridItem>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -7,9 +7,9 @@ const designSystem = require('@strapi/design-system');
7
7
  const icons = require('@strapi/icons');
8
8
  const reactIntl = require('react-intl');
9
9
  const reactRedux = require('react-redux');
10
- const rbac = require('./rbac-xgYdpUSq.js');
11
- const selectors = require('./selectors-C62Wf5On.js');
12
- const useLicenseLimits = require('./useLicenseLimits-m11DOu9p.js');
10
+ const rbac = require('./rbac-xo8GO653.js');
11
+ const selectors = require('./selectors-lQOnkFXz.js');
12
+ const useLicenseLimits = require('./useLicenseLimits-mA4KtQ81.js');
13
13
 
14
14
  const BILLING_STRAPI_CLOUD_URL = "https://cloud.strapi.io/profile/billing";
15
15
  const BILLING_SELF_HOSTED_URL = "https://strapi.io/billing/request-seats";
@@ -45,7 +45,7 @@ const AdminSeatInfoEE = () => {
45
45
  defaultMessage: "Admin seats"
46
46
  }) }),
47
47
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
48
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "p", children: formatMessage(
48
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", children: formatMessage(
49
49
  {
50
50
  id: "Settings.application.ee.admin-seats.count",
51
51
  defaultMessage: "<text>{enforcementUserCount}</text>/{permittedSeats}"
@@ -93,4 +93,4 @@ const AdminSeatInfoEE = () => {
93
93
  };
94
94
 
95
95
  exports.AdminSeatInfoEE = AdminSeatInfoEE;
96
- //# sourceMappingURL=AdminSeatInfo-G2ipQTLk.js.map
96
+ //# sourceMappingURL=AdminSeatInfo-jSvlksaP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminSeatInfo-jSvlksaP.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.tsx"],"sourcesContent":["import { Flex, GridItem, Tooltip, Typography, Link } from '@strapi/design-system';\nimport { ExternalLink, WarningCircle } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { useRBAC } from '../../../../../../../../admin/src/hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport { useLicenseLimits } from '../../../../../hooks/useLicenseLimits';\n\nconst BILLING_STRAPI_CLOUD_URL = 'https://cloud.strapi.io/profile/billing';\nconst BILLING_SELF_HOSTED_URL = 'https://strapi.io/billing/request-seats';\n\nexport const AdminSeatInfoEE = () => {\n const { formatMessage } = useIntl();\n const { settings } = useSelector(selectAdminPermissions);\n const {\n isLoading: isRBACLoading,\n allowedActions: { canRead, canCreate, canUpdate, canDelete },\n } = useRBAC(settings?.users ?? {});\n const {\n license,\n isError,\n isLoading: isLicenseLoading,\n } = useLicenseLimits({\n // TODO: this creates a waterfall which we should avoid to render earlier, but for that\n // we will have to move away from data-fetching hooks to query functions.\n // Short-term we could at least implement a loader, for the user to have visual feedback\n // in case the requests take a while\n enabled: !isRBACLoading && canRead && canCreate && canUpdate && canDelete,\n });\n\n const isLoading = isRBACLoading || isLicenseLoading;\n\n if (isError || isLoading || !license) {\n return null;\n }\n\n const { licenseLimitStatus, enforcementUserCount, permittedSeats, isHostedOnStrapiCloud } =\n license;\n\n if (!permittedSeats) {\n return null;\n }\n\n return (\n <GridItem col={6} s={12}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.application.admin-seats',\n defaultMessage: 'Admin seats',\n })}\n </Typography>\n <Flex gap={2}>\n <Flex>\n <Typography tag=\"p\">\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.count',\n defaultMessage: '<text>{enforcementUserCount}</text>/{permittedSeats}',\n },\n {\n permittedSeats,\n enforcementUserCount,\n text: (chunks) =>\n (\n <Typography\n fontWeight=\"semiBold\"\n textColor={enforcementUserCount > permittedSeats ? 'danger500' : undefined}\n >\n {chunks}\n </Typography>\n ) as any,\n }\n )}\n </Typography>\n </Flex>\n {licenseLimitStatus === 'OVER_LIMIT' && (\n <Tooltip\n description={formatMessage({\n id: 'Settings.application.ee.admin-seats.at-limit-tooltip',\n defaultMessage: 'At limit: add seats to invite more users',\n })}\n >\n <WarningCircle width=\"1.4rem\" height=\"1.4rem\" fill=\"danger500\" />\n </Tooltip>\n )}\n </Flex>\n <Link\n href={isHostedOnStrapiCloud ? BILLING_STRAPI_CLOUD_URL : BILLING_SELF_HOSTED_URL}\n isExternal\n endIcon={<ExternalLink />}\n >\n {formatMessage(\n {\n id: 'Settings.application.ee.admin-seats.add-seats',\n defaultMessage:\n '{isHostedOnStrapiCloud, select, true {Add seats} other {Contact sales}}',\n },\n { isHostedOnStrapiCloud }\n )}\n </Link>\n </GridItem>\n );\n};\n"],"names":["useIntl","useSelector","selectAdminPermissions","useRBAC","useLicenseLimits","jsxs","GridItem","jsx","Typography","Flex","Tooltip","WarningCircle","Link","ExternalLink"],"mappings":"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"}
@@ -8,12 +8,13 @@ const designSystem = require('@strapi/design-system');
8
8
  const icons = require('@strapi/icons');
9
9
  const reactIntl = require('react-intl');
10
10
  const reactRedux = require('react-redux');
11
- const rbac = require('./rbac-xgYdpUSq.js');
11
+ const index = require('./index-8r8zglVb.js');
12
+ const rbac = require('./rbac-xo8GO653.js');
12
13
  const useEnterprise = require('./useEnterprise-DUs6BYlP.js');
13
- const selectors = require('./selectors-C62Wf5On.js');
14
+ const selectors = require('./selectors-lQOnkFXz.js');
14
15
  const reactContext = require('@radix-ui/react-context');
15
16
  const axios = require('axios');
16
- const styled = require('styled-components');
17
+ const styledComponents = require('styled-components');
17
18
 
18
19
  const _interopDefault = e => e && e.__esModule ? e : { default: e };
19
20
 
@@ -37,7 +38,6 @@ function _interopNamespace(e) {
37
38
 
38
39
  const React__namespace = /*#__PURE__*/_interopNamespace(React);
39
40
  const axios__default = /*#__PURE__*/_interopDefault(axios);
40
- const styled__default = /*#__PURE__*/_interopDefault(styled);
41
41
 
42
42
  const DIMENSION = 750;
43
43
  const SIZE = 100;
@@ -169,7 +169,7 @@ const LogoInput = ({
169
169
  {
170
170
  maxHeight: "40%",
171
171
  maxWidth: "40%",
172
- as: "img",
172
+ tag: "img",
173
173
  src: customLogo?.url || defaultLogo,
174
174
  alt: formatMessage({
175
175
  id: "Settings.application.customization.carousel.title",
@@ -182,7 +182,7 @@ const LogoInput = ({
182
182
  }
183
183
  ),
184
184
  currentStep ? /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { labelledBy: "modal", onClose: handleClose, children: [
185
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", as: "h2", id: "modal", children: formatMessage(
185
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", tag: "h2", id: "modal", children: formatMessage(
186
186
  currentStep === "upload" ? {
187
187
  id: "Settings.application.customization.modal.upload",
188
188
  defaultMessage: "Upload logo"
@@ -268,19 +268,14 @@ const URLForm = () => {
268
268
  }
269
269
  };
270
270
  return /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
271
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
272
- designSystem.TextInput,
273
- {
274
- label: formatMessage({
275
- id: "Settings.application.customization.modal.upload.from-url.input-label",
276
- defaultMessage: "URL"
277
- }),
278
- error,
279
- onChange: handleChange,
280
- value: logoUrl,
281
- name: "logo-url"
282
- }
283
- ) }),
271
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { error, name: "logo-url", children: [
272
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
273
+ id: "Settings.application.customization.modal.upload.from-url.input-label",
274
+ defaultMessage: "URL"
275
+ }) }),
276
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.TextInput, { onChange: handleChange, value: logoUrl }),
277
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
278
+ ] }) }),
284
279
  /* @__PURE__ */ jsxRuntime.jsx(
285
280
  designSystem.ModalFooter,
286
281
  {
@@ -326,7 +321,7 @@ const ComputerForm = () => {
326
321
  }
327
322
  };
328
323
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
329
- /* @__PURE__ */ jsxRuntime.jsx("form", { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field, { name: id, error: fileError, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
324
+ /* @__PURE__ */ jsxRuntime.jsx("form", { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { name: id, error: fileError, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
330
325
  /* @__PURE__ */ jsxRuntime.jsxs(
331
326
  designSystem.Flex,
332
327
  {
@@ -344,7 +339,7 @@ const ComputerForm = () => {
344
339
  onDragLeave: handleDragLeave,
345
340
  children: [
346
341
  /* @__PURE__ */ jsxRuntime.jsx(icons.PlusCircle, { fill: "primary600", width: "6rem", height: "6rem", "aria-hidden": true }),
347
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 3, paddingBottom: 5, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", as: "label", htmlFor: id, children: formatMessage({
342
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 3, paddingBottom: 5, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", tag: "label", htmlFor: id, children: formatMessage({
348
343
  id: "Settings.application.customization.modal.upload.drag-drop",
349
344
  defaultMessage: "Drag and Drop here or"
350
345
  }) }) }),
@@ -374,7 +369,7 @@ const ComputerForm = () => {
374
369
  ]
375
370
  }
376
371
  ),
377
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.FieldError, {})
372
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
378
373
  ] }) }) }) }),
379
374
  /* @__PURE__ */ jsxRuntime.jsx(
380
375
  designSystem.ModalFooter,
@@ -387,7 +382,7 @@ const ComputerForm = () => {
387
382
  )
388
383
  ] });
389
384
  };
390
- const FileInput = styled__default.default(designSystem.FieldInput)`
385
+ const FileInput = styledComponents.styled(designSystem.Field.Input)`
391
386
  opacity: 0;
392
387
  position: absolute;
393
388
  top: 0;
@@ -478,7 +473,7 @@ const ApplicationInfoPage = () => {
478
473
  const strapiVersion = rbac.useAppInfo("ApplicationInfoPage", (state) => state.strapiVersion);
479
474
  const AdminSeatInfo = useEnterprise.useEnterprise(
480
475
  AdminSeatInfoCE,
481
- async () => (await Promise.resolve().then(() => require('./AdminSeatInfo-G2ipQTLk.js'))).AdminSeatInfoEE
476
+ async () => (await Promise.resolve().then(() => require('./AdminSeatInfo-jSvlksaP.js'))).AdminSeatInfoEE
482
477
  );
483
478
  const {
484
479
  allowedActions: { canRead, canUpdate }
@@ -514,7 +509,7 @@ const ApplicationInfoPage = () => {
514
509
  return null;
515
510
  }
516
511
  const isSaveDisabled = logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;
517
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Layout, { children: [
512
+ return /* @__PURE__ */ jsxRuntime.jsxs(index.Layouts.Root, { children: [
518
513
  /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Title, { children: formatMessage(
519
514
  { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
520
515
  {
@@ -526,7 +521,7 @@ const ApplicationInfoPage = () => {
526
521
  ) }),
527
522
  /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Main, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
528
523
  /* @__PURE__ */ jsxRuntime.jsx(
529
- designSystem.HeaderLayout,
524
+ index.Layouts.Header,
530
525
  {
531
526
  title: formatMessage({
532
527
  id: "Settings.application.title",
@@ -539,7 +534,7 @@ const ApplicationInfoPage = () => {
539
534
  primaryAction: canUpdate && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { disabled: isSaveDisabled, type: "submit", startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}), children: formatMessage({ id: "global.save", defaultMessage: "Save" }) })
540
535
  }
541
536
  ),
542
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
537
+ /* @__PURE__ */ jsxRuntime.jsx(index.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
543
538
  /* @__PURE__ */ jsxRuntime.jsxs(
544
539
  designSystem.Flex,
545
540
  {
@@ -554,17 +549,17 @@ const ApplicationInfoPage = () => {
554
549
  paddingRight: 7,
555
550
  paddingLeft: 7,
556
551
  children: [
557
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", as: "h3", children: formatMessage({
552
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", tag: "h3", children: formatMessage({
558
553
  id: "global.details",
559
554
  defaultMessage: "Details"
560
555
  }) }),
561
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 5, as: "dl", children: [
556
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 5, tag: "dl", children: [
562
557
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.GridItem, { col: 6, s: 12, children: [
563
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
558
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
564
559
  id: "Settings.application.strapiVersion",
565
560
  defaultMessage: "strapi version"
566
561
  }) }),
567
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 3, direction: "column", alignItems: "start", as: "dd", children: [
562
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 3, direction: "column", alignItems: "start", tag: "dd", children: [
568
563
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { children: [
569
564
  "v",
570
565
  strapiVersion
@@ -583,11 +578,11 @@ const ApplicationInfoPage = () => {
583
578
  ] })
584
579
  ] }),
585
580
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.GridItem, { col: 6, s: 12, children: [
586
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
581
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
587
582
  id: "Settings.application.edition-title",
588
583
  defaultMessage: "current plan"
589
584
  }) }),
590
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 3, direction: "column", alignItems: "start", as: "dd", children: [
585
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 3, direction: "column", alignItems: "start", tag: "dd", children: [
591
586
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage(
592
587
  {
593
588
  id: "Settings.application.ee-or-ce",
@@ -602,11 +597,11 @@ const ApplicationInfoPage = () => {
602
597
  ] })
603
598
  ] }),
604
599
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.GridItem, { col: 6, s: 12, children: [
605
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
600
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", tag: "dt", children: formatMessage({
606
601
  id: "Settings.application.node-version",
607
602
  defaultMessage: "node version"
608
603
  }) }),
609
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "dd", children: nodeVersion })
604
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "dd", children: nodeVersion })
610
605
  ] }),
611
606
  /* @__PURE__ */ jsxRuntime.jsx(AdminSeatInfo, {})
612
607
  ] })
@@ -624,7 +619,7 @@ const ApplicationInfoPage = () => {
624
619
  paddingRight: 7,
625
620
  paddingLeft: 7,
626
621
  children: [
627
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", as: "h3", children: formatMessage({
622
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", tag: "h3", children: formatMessage({
628
623
  id: "Settings.application.customization",
629
624
  defaultMessage: "Customization"
630
625
  }) }),
@@ -680,4 +675,4 @@ const ApplicationInfoPage = () => {
680
675
  };
681
676
 
682
677
  exports.ApplicationInfoPage = ApplicationInfoPage;
683
- //# sourceMappingURL=ApplicationInfoPage-dc0ReC0D.js.map
678
+ //# sourceMappingURL=ApplicationInfoPage-75RPd0Ro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationInfoPage-75RPd0Ro.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 Divider,\n Field,\n Flex,\n IconButton,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\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 <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 <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 icon={<Plus />}\n />\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 icon={<ArrowClockwise />}\n />\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 {currentStep ? (\n <ModalLayout labelledBy=\"modal\" onClose={handleClose}>\n <ModalHeader>\n <Typography fontWeight=\"bold\" tag=\"h2\" id=\"modal\">\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 </Typography>\n </ModalHeader>\n {currentStep === 'upload' ? (\n <AddLogoDialog />\n ) : (\n <PendingLogoDialog onChangeLogo={onChangeLogo} />\n )}\n </ModalLayout>\n ) : null}\n </LogoInputContextProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AddLogoDialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst AddLogoDialog = () => {\n const { formatMessage } = useIntl();\n\n return (\n <TabGroup\n label={formatMessage({\n id: 'Settings.application.customization.modal.tab.label',\n defaultMessage: 'How do you want to upload your assets?',\n })}\n variant=\"simple\"\n >\n <Box paddingLeft={8} paddingRight={8}>\n <Tabs>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-computer',\n defaultMessage: 'From computer',\n })}\n </Tab>\n <Tab>\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.from-url',\n defaultMessage: 'From url',\n })}\n </Tab>\n </Tabs>\n <Divider />\n </Box>\n <TabPanels>\n <TabPanel>\n <ComputerForm />\n </TabPanel>\n <TabPanel>\n <URLForm />\n </TabPanel>\n </TabPanels>\n </TabGroup>\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 <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button type=\"submit\">\n {formatMessage({\n id: 'Settings.application.customization.modal.upload.next',\n defaultMessage: 'Next',\n })}\n </Button>\n }\n />\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 = () => setDragOver(true);\n const handleDragLeave = () => setDragOver(false);\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 <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 <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 <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n />\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 <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 <ModalFooter\n startActions={\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'Settings.application.customization.modal.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n <Button onClick={handleUpload}>\n {formatMessage({\n id: 'Settings.application.customization.modal.pending.upload',\n defaultMessage: 'Upload logo',\n })}\n </Button>\n }\n />\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, GridItem, 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 gap={5} tag=\"dl\">\n <GridItem col={6} s={12}>\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 </GridItem>\n <GridItem col={6} s={12}>\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 </GridItem>\n\n <GridItem col={6} s={12}>\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 </GridItem>\n <AdminSeatInfo />\n </Grid>\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 paddingTop={4} gap={4}>\n <GridItem col={6} s={12}>\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 </GridItem>\n <GridItem col={6} s={12}>\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 </GridItem>\n </Grid>\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","jsxs","jsx","CarouselInput","CarouselActions","IconButton","Plus","ArrowClockwise","CarouselSlide","Box","ModalLayout","ModalHeader","Typography","TabGroup","Tabs","Tab","Divider","TabPanels","TabPanel","axios","AxiosError","Field","TextInput","ModalFooter","Button","Fragment","Flex","PlusCircle","styled","Card","CardHeader","CardAsset","CardBody","CardContent","CardTitle","CardSubtitle","CardBadge","useTracking","useConfiguration","useSelector","selectAdminPermissions","useAppInfo","useEnterprise","useRBAC","Layouts","Page","Check","Grid","GridItem","Link","ExternalLink"],"mappings":"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"}