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

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 (376) hide show
  1. package/dist/admin/{AdminSeatInfo-ZrJlIt8M.mjs → AdminSeatInfo-_UxgNKbX.mjs} +6 -6
  2. package/dist/admin/AdminSeatInfo-_UxgNKbX.mjs.map +1 -0
  3. package/dist/admin/{AdminSeatInfo-G2ipQTLk.js → AdminSeatInfo-cqB8nHFZ.js} +6 -6
  4. package/dist/admin/AdminSeatInfo-cqB8nHFZ.js.map +1 -0
  5. package/dist/admin/{ApplicationInfoPage-dc0ReC0D.js → ApplicationInfoPage-FlIVu3WL.js} +34 -39
  6. package/dist/admin/ApplicationInfoPage-FlIVu3WL.js.map +1 -0
  7. package/dist/admin/{ApplicationInfoPage-TImAEuc3.mjs → ApplicationInfoPage-y-FX7oPO.mjs} +35 -39
  8. package/dist/admin/ApplicationInfoPage-y-FX7oPO.mjs.map +1 -0
  9. package/dist/admin/{AuthResponse-J1Y_hbtY.js → AuthResponse-6oCac46I.js} +2 -2
  10. package/dist/admin/{AuthResponse-J1Y_hbtY.js.map → AuthResponse-6oCac46I.js.map} +1 -1
  11. package/dist/admin/{AuthResponse-wfOnX6GO.mjs → AuthResponse-TKtSIvEM.mjs} +2 -2
  12. package/dist/admin/{AuthResponse-wfOnX6GO.mjs.map → AuthResponse-TKtSIvEM.mjs.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-TNbTifIA.js → AuthenticatedLayout-QwEem8GL.js} +208 -234
  14. package/dist/admin/AuthenticatedLayout-QwEem8GL.js.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-eMLYKMgW.mjs → AuthenticatedLayout-qx1Lyy4q.mjs} +204 -229
  16. package/dist/admin/AuthenticatedLayout-qx1Lyy4q.mjs.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-dGj-JbWV.js} +4 -4
  22. package/dist/admin/CreateActionEE-dGj-JbWV.js.map +1 -0
  23. package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs → CreateActionEE-uBGAkLbn.mjs} +4 -4
  24. package/dist/admin/CreateActionEE-uBGAkLbn.mjs.map +1 -0
  25. package/dist/admin/{CreatePage-f3faA3vG.js → CreatePage-4TW2khkB.js} +3 -3
  26. package/dist/admin/{CreatePage-f3faA3vG.js.map → CreatePage-4TW2khkB.js.map} +1 -1
  27. package/dist/admin/{CreatePage-07P5-Zjt.mjs → CreatePage-4tMY0ik1.mjs} +3 -3
  28. package/dist/admin/{CreatePage-07P5-Zjt.mjs.map → CreatePage-4tMY0ik1.mjs.map} +1 -1
  29. package/dist/admin/{CreatePage-uTwt_c8J.mjs → CreatePage-537fJDEU.mjs} +29 -26
  30. package/dist/admin/CreatePage-537fJDEU.mjs.map +1 -0
  31. package/dist/admin/{CreatePage-03MgCK7Z.js → CreatePage-peOfskFg.js} +29 -29
  32. package/dist/admin/CreatePage-peOfskFg.js.map +1 -0
  33. package/dist/admin/{CreateView-87aPv9QV.mjs → CreateView-AaD01TxO.mjs} +3 -3
  34. package/dist/admin/{CreateView-87aPv9QV.mjs.map → CreateView-AaD01TxO.mjs.map} +1 -1
  35. package/dist/admin/{CreateView-T8hLqvog.mjs → CreateView-EfGicMHg.mjs} +3 -3
  36. package/dist/admin/{CreateView-T8hLqvog.mjs.map → CreateView-EfGicMHg.mjs.map} +1 -1
  37. package/dist/admin/{CreateView-UemGfFqI.js → CreateView-Ni2CgUVr.js} +3 -3
  38. package/dist/admin/{CreateView-UemGfFqI.js.map → CreateView-Ni2CgUVr.js.map} +1 -1
  39. package/dist/admin/{CreateView-o5-hvd4h.js → CreateView-uK14O_jU.js} +3 -3
  40. package/dist/admin/{CreateView-o5-hvd4h.js.map → CreateView-uK14O_jU.js.map} +1 -1
  41. package/dist/admin/{EditPage-lyFePXWl.mjs → EditPage-15aToLph.mjs} +213 -252
  42. package/dist/admin/EditPage-15aToLph.mjs.map +1 -0
  43. package/dist/admin/{EditPage-XSz7Wpt8.mjs → EditPage-Il4eROQZ.mjs} +14 -14
  44. package/dist/admin/EditPage-Il4eROQZ.mjs.map +1 -0
  45. package/dist/admin/{EditPage-UqMDbMvJ.js → EditPage-SrUqHo-J.js} +13 -13
  46. package/dist/admin/EditPage-SrUqHo-J.js.map +1 -0
  47. package/dist/admin/{EditPage-YqW1NIMp.js → EditPage-cmzfgdc5.js} +212 -254
  48. package/dist/admin/EditPage-cmzfgdc5.js.map +1 -0
  49. package/dist/admin/{EditPage-F3yH0Fy6.mjs → EditPage-g0VOXyKS.mjs} +46 -30
  50. package/dist/admin/EditPage-g0VOXyKS.mjs.map +1 -0
  51. package/dist/admin/{EditPage-Ly5MBiuB.js → EditPage-z7pM9PD2.js} +45 -29
  52. package/dist/admin/EditPage-z7pM9PD2.js.map +1 -0
  53. package/dist/admin/{EditView-r0lx661I.mjs → EditView-NOjzvG4n.mjs} +9 -9
  54. package/dist/admin/EditView-NOjzvG4n.mjs.map +1 -0
  55. package/dist/admin/{EditView-bRFkRKAz.js → EditView-gJfIIjvG.js} +8 -8
  56. package/dist/admin/EditView-gJfIIjvG.js.map +1 -0
  57. package/dist/admin/{EditViewPage-tAsn6QS9.js → EditViewPage-KEF7ROrG.js} +84 -109
  58. package/dist/admin/EditViewPage-KEF7ROrG.js.map +1 -0
  59. package/dist/admin/{EditViewPage-f5dHmqdT.mjs → EditViewPage-c3QrE1Hr.mjs} +81 -105
  60. package/dist/admin/EditViewPage-c3QrE1Hr.mjs.map +1 -0
  61. package/dist/admin/{EventsTable-4h6LoAp-.js → EventsTable-WB2pMyjf.js} +2 -2
  62. package/dist/admin/{EventsTable-4h6LoAp-.js.map → EventsTable-WB2pMyjf.js.map} +1 -1
  63. package/dist/admin/{EventsTable-2C605_qQ.mjs → EventsTable-x0tiLQ21.mjs} +2 -2
  64. package/dist/admin/{EventsTable-2C605_qQ.mjs.map → EventsTable-x0tiLQ21.mjs.map} +1 -1
  65. package/dist/admin/{HomePage-Uuww2J1B.js → HomePage-_HRMXYSc.js} +3 -3
  66. package/dist/admin/{HomePage-Uuww2J1B.js.map → HomePage-_HRMXYSc.js.map} +1 -1
  67. package/dist/admin/{HomePage-UTnZwpp-.js → HomePage-eU782NVl.js} +52 -47
  68. package/dist/admin/HomePage-eU782NVl.js.map +1 -0
  69. package/dist/admin/{HomePage-4FySTCJU.mjs → HomePage-t-i4SXRB.mjs} +3 -3
  70. package/dist/admin/{HomePage-4FySTCJU.mjs.map → HomePage-t-i4SXRB.mjs.map} +1 -1
  71. package/dist/admin/{HomePage-ZF3T0k2r.mjs → HomePage-uzU2Sfu_.mjs} +42 -34
  72. package/dist/admin/HomePage-uzU2Sfu_.mjs.map +1 -0
  73. package/dist/admin/{InstalledPluginsPage-o43CGz2w.js → InstalledPluginsPage-gga_OMMI.js} +8 -7
  74. package/dist/admin/InstalledPluginsPage-gga_OMMI.js.map +1 -0
  75. package/dist/admin/{InstalledPluginsPage-eOXi3oTN.mjs → InstalledPluginsPage-j8w6fibY.mjs} +9 -8
  76. package/dist/admin/InstalledPluginsPage-j8w6fibY.mjs.map +1 -0
  77. package/dist/admin/{Layout-XxmAreH1.js → Layout-6QqRGC19.js} +11 -12
  78. package/dist/admin/Layout-6QqRGC19.js.map +1 -0
  79. package/dist/admin/{Layout-mnn4_IJp.mjs → Layout-mm5FttWk.mjs} +10 -10
  80. package/dist/admin/Layout-mm5FttWk.mjs.map +1 -0
  81. package/dist/admin/{ListPage-kdjzZ2al.mjs → ListPage--SLZfVEu.mjs} +21 -27
  82. package/dist/admin/ListPage--SLZfVEu.mjs.map +1 -0
  83. package/dist/admin/{ListPage-AFDAiR9X.mjs → ListPage-91B_ZBgU.mjs} +21 -34
  84. package/dist/admin/ListPage-91B_ZBgU.mjs.map +1 -0
  85. package/dist/admin/{ListPage-Gj1OS6PX.mjs → ListPage-COfc9Nb2.mjs} +3 -3
  86. package/dist/admin/{ListPage-Gj1OS6PX.mjs.map → ListPage-COfc9Nb2.mjs.map} +1 -1
  87. package/dist/admin/{ListPage-NTxNcftS.js → ListPage-Id9VZhfe.js} +20 -20
  88. package/dist/admin/ListPage-Id9VZhfe.js.map +1 -0
  89. package/dist/admin/{ListPage-6Ukzm--I.js → ListPage-R1VIjb_K.js} +3 -3
  90. package/dist/admin/{ListPage-6Ukzm--I.js.map → ListPage-R1VIjb_K.js.map} +1 -1
  91. package/dist/admin/{ListPage-eNkUD3v_.mjs → ListPage-hJ6Ynuzs.mjs} +21 -21
  92. package/dist/admin/ListPage-hJ6Ynuzs.mjs.map +1 -0
  93. package/dist/admin/{ListPage-Pi_dzfDr.js → ListPage-kdascM3g.js} +20 -33
  94. package/dist/admin/ListPage-kdascM3g.js.map +1 -0
  95. package/dist/admin/{ListPage-hln8fKzE.js → ListPage-qccI1KJZ.js} +20 -26
  96. package/dist/admin/ListPage-qccI1KJZ.js.map +1 -0
  97. package/dist/admin/{ListPage-URtxfNJ4.js → ListPage-qnRnNdZB.js} +18 -21
  98. package/dist/admin/ListPage-qnRnNdZB.js.map +1 -0
  99. package/dist/admin/{ListPage-5g8MtUEB.mjs → ListPage-ver_Z86B.mjs} +19 -22
  100. package/dist/admin/ListPage-ver_Z86B.mjs.map +1 -0
  101. package/dist/admin/{ListView-FBh2WTHx.mjs → ListView-HFV67l_w.mjs} +10 -10
  102. package/dist/admin/ListView-HFV67l_w.mjs.map +1 -0
  103. package/dist/admin/{ListView-uwPF62w6.mjs → ListView-PXoWtVRs.mjs} +11 -9
  104. package/dist/admin/ListView-PXoWtVRs.mjs.map +1 -0
  105. package/dist/admin/{ListView-pYVBJ4lg.js → ListView-Tdz585_r.js} +10 -8
  106. package/dist/admin/ListView-Tdz585_r.js.map +1 -0
  107. package/dist/admin/{ListView-f2wVT21J.js → ListView-gOdn2Qwi.js} +9 -9
  108. package/dist/admin/ListView-gOdn2Qwi.js.map +1 -0
  109. package/dist/admin/{Login-FSNzATl0.mjs → Login-227oY0SP.mjs} +5 -5
  110. package/dist/admin/Login-227oY0SP.mjs.map +1 -0
  111. package/dist/admin/{Login-3rLFPliB.js → Login-uUFgaGQO.js} +6 -10
  112. package/dist/admin/Login-uUFgaGQO.js.map +1 -0
  113. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs → MagicLinkEE-1cdMwO4L.mjs} +3 -3
  114. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs.map → MagicLinkEE-1cdMwO4L.mjs.map} +1 -1
  115. package/dist/admin/{MagicLinkEE-bccsKKbJ.js → MagicLinkEE-SU6DdTGf.js} +3 -3
  116. package/dist/admin/{MagicLinkEE-bccsKKbJ.js.map → MagicLinkEE-SU6DdTGf.js.map} +1 -1
  117. package/dist/admin/{MarketplacePage-kNQPkoZK.mjs → MarketplacePage-HcA4KrZ1.mjs} +25 -52
  118. package/dist/admin/MarketplacePage-HcA4KrZ1.mjs.map +1 -0
  119. package/dist/admin/{MarketplacePage-sSTqINSu.js → MarketplacePage-UfmJkfaS.js} +29 -57
  120. package/dist/admin/MarketplacePage-UfmJkfaS.js.map +1 -0
  121. package/dist/admin/{Permissions-NlSnXUKO.js → Permissions-kWoGUyLH.js} +80 -100
  122. package/dist/admin/Permissions-kWoGUyLH.js.map +1 -0
  123. package/dist/admin/{Permissions-aU1eesjP.mjs → Permissions-ujqtV7GK.mjs} +62 -81
  124. package/dist/admin/Permissions-ujqtV7GK.mjs.map +1 -0
  125. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs → PrivateRoute-1hyhztQM.mjs} +2 -2
  126. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs.map → PrivateRoute-1hyhztQM.mjs.map} +1 -1
  127. package/dist/admin/{PrivateRoute-nJgGpBXP.js → PrivateRoute-wBE5vMxe.js} +2 -2
  128. package/dist/admin/{PrivateRoute-nJgGpBXP.js.map → PrivateRoute-wBE5vMxe.js.map} +1 -1
  129. package/dist/admin/{ProfilePage-jU98pa61.js → ProfilePage-lpqTZIyh.js} +14 -14
  130. package/dist/admin/ProfilePage-lpqTZIyh.js.map +1 -0
  131. package/dist/admin/{ProfilePage-T2kC_KoM.mjs → ProfilePage-s8Kfhq6I.mjs} +15 -15
  132. package/dist/admin/ProfilePage-s8Kfhq6I.mjs.map +1 -0
  133. package/dist/admin/{PurchaseAuditLogs-_1tVWtNF.mjs → PurchaseAuditLogs-iXSAELjJ.mjs} +5 -4
  134. package/dist/admin/PurchaseAuditLogs-iXSAELjJ.mjs.map +1 -0
  135. package/dist/admin/{PurchaseAuditLogs-GreHFPSR.js → PurchaseAuditLogs-uu0_PoKP.js} +4 -3
  136. package/dist/admin/PurchaseAuditLogs-uu0_PoKP.js.map +1 -0
  137. package/dist/admin/{PurchaseSingleSignOn-VUU-U4wi.mjs → PurchaseSingleSignOn-A_9ts2Q3.mjs} +5 -4
  138. package/dist/admin/PurchaseSingleSignOn-A_9ts2Q3.mjs.map +1 -0
  139. package/dist/admin/{PurchaseSingleSignOn-6t4xuNBd.js → PurchaseSingleSignOn-I0AAcpBZ.js} +4 -3
  140. package/dist/admin/PurchaseSingleSignOn-I0AAcpBZ.js.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-EdE6yfsj.js → SelectRoles-7QbQhIi4.js} +45 -44
  146. package/dist/admin/SelectRoles-7QbQhIi4.js.map +1 -0
  147. package/dist/admin/{SelectRoles--ys30CdN.mjs → SelectRoles-neYrKAlL.mjs} +45 -40
  148. package/dist/admin/SelectRoles-neYrKAlL.mjs.map +1 -0
  149. package/dist/admin/SingleSignOnPage-NRBGwvMB.js +256 -0
  150. package/dist/admin/SingleSignOnPage-NRBGwvMB.js.map +1 -0
  151. package/dist/admin/SingleSignOnPage-rOuB5fpN.mjs +231 -0
  152. package/dist/admin/SingleSignOnPage-rOuB5fpN.mjs.map +1 -0
  153. package/dist/admin/{Table--He5qeQG.mjs → Table-07CnEMJB.mjs} +6 -6
  154. package/dist/admin/Table-07CnEMJB.mjs.map +1 -0
  155. package/dist/admin/{Table-HXu3Nz4W.js → Table-5EMXAhBX.js} +7 -10
  156. package/dist/admin/Table-5EMXAhBX.js.map +1 -0
  157. package/dist/admin/{TokenTypeSelect-kgKThMAL.mjs → TokenTypeSelect-XHNUoyhJ.mjs} +86 -68
  158. package/dist/admin/TokenTypeSelect-XHNUoyhJ.mjs.map +1 -0
  159. package/dist/admin/{TokenTypeSelect-yY2kwTyO.js → TokenTypeSelect-j99COf2u.js} +86 -68
  160. package/dist/admin/TokenTypeSelect-j99COf2u.js.map +1 -0
  161. package/dist/admin/{UseCasePage-6_WRtTwv.js → UseCasePage-g9nN8RuC.js} +16 -36
  162. package/dist/admin/UseCasePage-g9nN8RuC.js.map +1 -0
  163. package/dist/admin/{UseCasePage-bfP-fDoW.mjs → UseCasePage-yZtkKM9d.mjs} +17 -34
  164. package/dist/admin/UseCasePage-yZtkKM9d.mjs.map +1 -0
  165. package/dist/admin/admin-B6AW0Kov.mjs +318 -0
  166. package/dist/admin/admin-B6AW0Kov.mjs.map +1 -0
  167. package/dist/admin/admin-p0djr5G6.js +338 -0
  168. package/dist/admin/admin-p0djr5G6.js.map +1 -0
  169. package/dist/admin/{apiTokens-bNRitXGF.mjs → apiTokens-YMUmHnrH.mjs} +7 -6
  170. package/dist/admin/apiTokens-YMUmHnrH.mjs.map +1 -0
  171. package/dist/admin/{apiTokens-lXn03No3.js → apiTokens-YxfAnO7_.js} +7 -6
  172. package/dist/admin/apiTokens-YxfAnO7_.js.map +1 -0
  173. package/dist/admin/{constants-qdY4HMAg.js → constants-MTKkA8PE.js} +8 -12
  174. package/dist/admin/constants-MTKkA8PE.js.map +1 -0
  175. package/dist/admin/{constants-wnw4TGwG.mjs → constants-N0AWjcMN.mjs} +7 -7
  176. package/dist/admin/constants-N0AWjcMN.mjs.map +1 -0
  177. package/dist/admin/ee.js +1 -1
  178. package/dist/admin/ee.mjs +1 -1
  179. package/dist/admin/{en-zVbLVH-h.js → en-G-ukrF2h.js} +2 -1
  180. package/dist/admin/{en-zVbLVH-h.js.map → en-G-ukrF2h.js.map} +1 -1
  181. package/dist/admin/{en-D7rooMTs.mjs → en-K35WIWVM.mjs} +2 -1
  182. package/dist/admin/{en-D7rooMTs.mjs.map → en-K35WIWVM.mjs.map} +1 -1
  183. package/dist/admin/{index-7fPlAzj6.mjs → index-69WUS0qJ.mjs} +654 -458
  184. package/dist/admin/index-69WUS0qJ.mjs.map +1 -0
  185. package/dist/admin/{index-FJLgZ-Wg.js → index-UrJZyInv.js} +663 -466
  186. package/dist/admin/index-UrJZyInv.js.map +1 -0
  187. package/dist/admin/index.js +11 -4
  188. package/dist/admin/index.js.map +1 -1
  189. package/dist/admin/index.mjs +3 -3
  190. package/dist/admin/{rbac-xgYdpUSq.js → rbac-5b9ylhpa.js} +13 -10
  191. package/dist/admin/rbac-5b9ylhpa.js.map +1 -0
  192. package/dist/admin/{rbac-uVd0RAE5.mjs → rbac-oJEkQdXG.mjs} +12 -9
  193. package/dist/admin/rbac-oJEkQdXG.mjs.map +1 -0
  194. package/dist/admin/{selectors-AvywwQRm.mjs → selectors-Ilww6FA-.mjs} +2 -2
  195. package/dist/admin/{selectors-AvywwQRm.mjs.map → selectors-Ilww6FA-.mjs.map} +1 -1
  196. package/dist/admin/{selectors-C62Wf5On.js → selectors-NDEu6dJa.js} +2 -2
  197. package/dist/admin/{selectors-C62Wf5On.js.map → selectors-NDEu6dJa.js.map} +1 -1
  198. package/dist/admin/src/StrapiApp.d.ts +1 -0
  199. package/dist/admin/src/components/Form.d.ts +7 -2
  200. package/dist/admin/src/components/FormInputs/Boolean.d.ts +2 -2
  201. package/dist/admin/src/components/FormInputs/Checkbox.d.ts +2 -2
  202. package/dist/admin/src/components/FormInputs/Date.d.ts +2 -2
  203. package/dist/admin/src/components/FormInputs/DateTime.d.ts +2 -2
  204. package/dist/admin/src/components/FormInputs/Email.d.ts +2 -1
  205. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +2 -1
  206. package/dist/admin/src/components/FormInputs/Json.d.ts +3 -4
  207. package/dist/admin/src/components/FormInputs/Number.d.ts +2 -2
  208. package/dist/admin/src/components/FormInputs/Password.d.ts +2 -1
  209. package/dist/admin/src/components/FormInputs/Renderer.d.ts +2 -8
  210. package/dist/admin/src/components/FormInputs/String.d.ts +2 -4
  211. package/dist/admin/src/components/FormInputs/Textarea.d.ts +2 -1
  212. package/dist/admin/src/components/FormInputs/Time.d.ts +2 -2
  213. package/dist/admin/src/components/FormInputs/types.d.ts +1 -0
  214. package/dist/admin/src/components/Layouts/ActionLayout.d.ts +7 -0
  215. package/dist/admin/src/components/Layouts/ContentLayout.d.ts +6 -0
  216. package/dist/admin/src/components/Layouts/GridLayout.d.ts +17 -0
  217. package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +19 -0
  218. package/dist/admin/src/components/Layouts/Layout.d.ts +18 -0
  219. package/dist/admin/src/components/MainNav/MainNav.d.ts +3 -0
  220. package/dist/admin/src/components/MainNav/NavLink.d.ts +7 -5
  221. package/dist/admin/src/components/MainNav/NavUser.d.ts +7 -0
  222. package/dist/admin/src/components/PageHelpers.d.ts +1 -1
  223. package/dist/admin/src/core/store/configure.d.ts +3 -9
  224. package/dist/admin/src/core/store/hooks.d.ts +3 -9
  225. package/dist/admin/src/features/Tracking.d.ts +1 -1
  226. package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +2 -4
  227. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  228. package/dist/admin/src/hooks/useFetchClient.d.ts +4 -10
  229. package/dist/admin/src/hooks/useFocusInputField.d.ts +2 -5
  230. package/dist/admin/src/hooks/useMenu.d.ts +1 -1
  231. package/dist/admin/src/index.d.ts +7 -1
  232. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +4 -1
  233. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/{CollabsableContentType.d.ts → CollapsableContentType.d.ts} +1 -3
  234. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +6 -51
  235. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +1 -1
  236. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -1
  237. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -1
  238. package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +2 -4
  239. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +1 -1
  240. package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +2 -3
  241. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +2 -2
  242. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  243. package/dist/admin/src/selectors.d.ts +2 -6
  244. package/dist/admin/src/services/admin.d.ts +5 -5
  245. package/dist/admin/src/services/api.d.ts +11 -9
  246. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  247. package/dist/admin/src/services/auth.d.ts +13 -11
  248. package/dist/admin/src/services/contentApi.d.ts +2 -2
  249. package/dist/admin/src/services/contentManager.d.ts +5 -1
  250. package/dist/admin/src/services/transferTokens.d.ts +2 -2
  251. package/dist/admin/src/services/users.d.ts +8 -8
  252. package/dist/admin/src/services/webhooks.d.ts +2 -2
  253. package/dist/admin/src/utils/baseQuery.d.ts +10 -9
  254. package/dist/admin/src/utils/getFetchClient.d.ts +40 -10
  255. package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -5
  256. package/dist/admin/test.js +10 -7
  257. package/dist/admin/test.js.map +1 -1
  258. package/dist/admin/test.mjs +10 -7
  259. package/dist/admin/test.mjs.map +1 -1
  260. package/dist/admin/tests/utils.d.ts +1 -3
  261. package/dist/admin/{transferTokens-ngan7vz6.mjs → transferTokens-CNI0TFdA.mjs} +15 -5
  262. package/dist/admin/transferTokens-CNI0TFdA.mjs.map +1 -0
  263. package/dist/admin/{transferTokens-5qQjIKFd.js → transferTokens-HcVXmOrq.js} +15 -4
  264. package/dist/admin/transferTokens-HcVXmOrq.js.map +1 -0
  265. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs → useAdminRoles-0epUuJHP.mjs} +2 -2
  266. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs.map → useAdminRoles-0epUuJHP.mjs.map} +1 -1
  267. package/dist/admin/{useAdminRoles-yjN2uT_o.js → useAdminRoles-8RoYtgXn.js} +2 -2
  268. package/dist/admin/{useAdminRoles-yjN2uT_o.js.map → useAdminRoles-8RoYtgXn.js.map} +1 -1
  269. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs → useLicenseLimitNotification-1Xo24v-C.mjs} +3 -3
  270. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs.map → useLicenseLimitNotification-1Xo24v-C.mjs.map} +1 -1
  271. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js → useLicenseLimitNotification-9iq0TFuF.js} +3 -3
  272. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js.map → useLicenseLimitNotification-9iq0TFuF.js.map} +1 -1
  273. package/dist/admin/{useLicenseLimits-m11DOu9p.js → useLicenseLimits-FtmLXkwK.js} +2 -2
  274. package/dist/admin/{useLicenseLimits-m11DOu9p.js.map → useLicenseLimits-FtmLXkwK.js.map} +1 -1
  275. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs → useLicenseLimits-Jy6E6qc2.mjs} +2 -2
  276. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs.map → useLicenseLimits-Jy6E6qc2.mjs.map} +1 -1
  277. package/dist/admin/{useWebhooks-8VWSFqNg.mjs → useWebhooks-bgdpL7W6.mjs} +5 -3
  278. package/dist/admin/useWebhooks-bgdpL7W6.mjs.map +1 -0
  279. package/dist/admin/{useWebhooks-oZ5DKtvz.js → useWebhooks-opYGugiT.js} +5 -3
  280. package/dist/admin/useWebhooks-opYGugiT.js.map +1 -0
  281. package/dist/admin/{validation-p2q0MWxi.mjs → validation-TWt09i2x.mjs} +2 -2
  282. package/dist/admin/{validation-p2q0MWxi.mjs.map → validation-TWt09i2x.mjs.map} +1 -1
  283. package/dist/admin/{validation-rsP4iH1U.js → validation-wyU5bqks.js} +2 -2
  284. package/dist/admin/{validation-rsP4iH1U.js.map → validation-wyU5bqks.js.map} +1 -1
  285. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  286. package/dist/package.json.d.ts +17 -19
  287. package/dist/server/index.js +19 -7
  288. package/dist/server/index.js.map +1 -1
  289. package/dist/server/index.mjs +19 -7
  290. package/dist/server/index.mjs.map +1 -1
  291. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  292. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  293. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  294. package/package.json +18 -20
  295. package/dist/admin/AdminSeatInfo-G2ipQTLk.js.map +0 -1
  296. package/dist/admin/AdminSeatInfo-ZrJlIt8M.mjs.map +0 -1
  297. package/dist/admin/ApplicationInfoPage-TImAEuc3.mjs.map +0 -1
  298. package/dist/admin/ApplicationInfoPage-dc0ReC0D.js.map +0 -1
  299. package/dist/admin/AuthenticatedLayout-TNbTifIA.js.map +0 -1
  300. package/dist/admin/AuthenticatedLayout-eMLYKMgW.mjs.map +0 -1
  301. package/dist/admin/ContentBox-DjmNTcxv.mjs.map +0 -1
  302. package/dist/admin/ContentBox-Mzcpnn32.js.map +0 -1
  303. package/dist/admin/CreateActionEE-Qdz4UDPf.mjs.map +0 -1
  304. package/dist/admin/CreateActionEE-_i5qXWEG.js.map +0 -1
  305. package/dist/admin/CreatePage-03MgCK7Z.js.map +0 -1
  306. package/dist/admin/CreatePage-uTwt_c8J.mjs.map +0 -1
  307. package/dist/admin/EditPage-F3yH0Fy6.mjs.map +0 -1
  308. package/dist/admin/EditPage-Ly5MBiuB.js.map +0 -1
  309. package/dist/admin/EditPage-UqMDbMvJ.js.map +0 -1
  310. package/dist/admin/EditPage-XSz7Wpt8.mjs.map +0 -1
  311. package/dist/admin/EditPage-YqW1NIMp.js.map +0 -1
  312. package/dist/admin/EditPage-lyFePXWl.mjs.map +0 -1
  313. package/dist/admin/EditView-bRFkRKAz.js.map +0 -1
  314. package/dist/admin/EditView-r0lx661I.mjs.map +0 -1
  315. package/dist/admin/EditViewPage-f5dHmqdT.mjs.map +0 -1
  316. package/dist/admin/EditViewPage-tAsn6QS9.js.map +0 -1
  317. package/dist/admin/HomePage-UTnZwpp-.js.map +0 -1
  318. package/dist/admin/HomePage-ZF3T0k2r.mjs.map +0 -1
  319. package/dist/admin/InstalledPluginsPage-eOXi3oTN.mjs.map +0 -1
  320. package/dist/admin/InstalledPluginsPage-o43CGz2w.js.map +0 -1
  321. package/dist/admin/Layout-XxmAreH1.js.map +0 -1
  322. package/dist/admin/Layout-mnn4_IJp.mjs.map +0 -1
  323. package/dist/admin/ListPage-5g8MtUEB.mjs.map +0 -1
  324. package/dist/admin/ListPage-AFDAiR9X.mjs.map +0 -1
  325. package/dist/admin/ListPage-NTxNcftS.js.map +0 -1
  326. package/dist/admin/ListPage-Pi_dzfDr.js.map +0 -1
  327. package/dist/admin/ListPage-URtxfNJ4.js.map +0 -1
  328. package/dist/admin/ListPage-eNkUD3v_.mjs.map +0 -1
  329. package/dist/admin/ListPage-hln8fKzE.js.map +0 -1
  330. package/dist/admin/ListPage-kdjzZ2al.mjs.map +0 -1
  331. package/dist/admin/ListView-FBh2WTHx.mjs.map +0 -1
  332. package/dist/admin/ListView-f2wVT21J.js.map +0 -1
  333. package/dist/admin/ListView-pYVBJ4lg.js.map +0 -1
  334. package/dist/admin/ListView-uwPF62w6.mjs.map +0 -1
  335. package/dist/admin/Login-3rLFPliB.js.map +0 -1
  336. package/dist/admin/Login-FSNzATl0.mjs.map +0 -1
  337. package/dist/admin/MarketplacePage-kNQPkoZK.mjs.map +0 -1
  338. package/dist/admin/MarketplacePage-sSTqINSu.js.map +0 -1
  339. package/dist/admin/Permissions-NlSnXUKO.js.map +0 -1
  340. package/dist/admin/Permissions-aU1eesjP.mjs.map +0 -1
  341. package/dist/admin/ProfilePage-T2kC_KoM.mjs.map +0 -1
  342. package/dist/admin/ProfilePage-jU98pa61.js.map +0 -1
  343. package/dist/admin/PurchaseAuditLogs-GreHFPSR.js.map +0 -1
  344. package/dist/admin/PurchaseAuditLogs-_1tVWtNF.mjs.map +0 -1
  345. package/dist/admin/PurchaseSingleSignOn-6t4xuNBd.js.map +0 -1
  346. package/dist/admin/PurchaseSingleSignOn-VUU-U4wi.mjs.map +0 -1
  347. package/dist/admin/SSOProviders-FZwT7RmU.js.map +0 -1
  348. package/dist/admin/SSOProviders-GcYDRAyn.mjs.map +0 -1
  349. package/dist/admin/SelectRoles--ys30CdN.mjs.map +0 -1
  350. package/dist/admin/SelectRoles-EdE6yfsj.js.map +0 -1
  351. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs +0 -234
  352. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs.map +0 -1
  353. package/dist/admin/SingleSignOnPage-nv121JbB.js +0 -259
  354. package/dist/admin/SingleSignOnPage-nv121JbB.js.map +0 -1
  355. package/dist/admin/Table--He5qeQG.mjs.map +0 -1
  356. package/dist/admin/Table-HXu3Nz4W.js.map +0 -1
  357. package/dist/admin/TokenTypeSelect-kgKThMAL.mjs.map +0 -1
  358. package/dist/admin/TokenTypeSelect-yY2kwTyO.js.map +0 -1
  359. package/dist/admin/UseCasePage-6_WRtTwv.js.map +0 -1
  360. package/dist/admin/UseCasePage-bfP-fDoW.mjs.map +0 -1
  361. package/dist/admin/admin-5SXhE_nJ.mjs +0 -256
  362. package/dist/admin/admin-5SXhE_nJ.mjs.map +0 -1
  363. package/dist/admin/admin-vlKSOeHB.js +0 -274
  364. package/dist/admin/admin-vlKSOeHB.js.map +0 -1
  365. package/dist/admin/apiTokens-bNRitXGF.mjs.map +0 -1
  366. package/dist/admin/apiTokens-lXn03No3.js.map +0 -1
  367. package/dist/admin/constants-qdY4HMAg.js.map +0 -1
  368. package/dist/admin/constants-wnw4TGwG.mjs.map +0 -1
  369. package/dist/admin/index-7fPlAzj6.mjs.map +0 -1
  370. package/dist/admin/index-FJLgZ-Wg.js.map +0 -1
  371. package/dist/admin/rbac-uVd0RAE5.mjs.map +0 -1
  372. package/dist/admin/rbac-xgYdpUSq.js.map +0 -1
  373. package/dist/admin/transferTokens-5qQjIKFd.js.map +0 -1
  374. package/dist/admin/transferTokens-ngan7vz6.mjs.map +0 -1
  375. package/dist/admin/useWebhooks-8VWSFqNg.mjs.map +0 -1
  376. package/dist/admin/useWebhooks-oZ5DKtvz.js.map +0 -1
@@ -2,23 +2,23 @@ import { createRoot } from 'react-dom/client';
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import { useEffect, Suspense, useCallback, useMemo, useState, forwardRef, memo } from 'react';
5
- import { Link, Alert, Typography, Main, Flex, Button, useCallbackRef, useComposedRefs, Dialog, DialogBody, DialogFooter, ToggleInput, Checkbox, DatePicker, DateTimePicker, TextInput, SingleSelect, SingleSelectOption, JSONInput, NumberInput, Textarea, TimePicker, Box, Field, Portal, IconButton, FieldLabel, VisuallyHidden, FieldInput, Grid, GridItem, HeaderLayout, ContentLayout, EmptyStateLayout, LinkButton, lightTheme, darkTheme, PopoverPrimitives, Tag, Pagination as Pagination$1, PreviousLink, PageLink, Dots, NextLink, SearchForm, Searchbar, Table as Table$1, Thead, Tr, Th, Tooltip, BaseCheckbox, Tbody, Td, Loader } from '@strapi/design-system';
5
+ import { Link, Alert, Typography, Main, Flex, Button, useCallbackRef, useComposedRefs, Dialog, DialogBody, DialogFooter, Field, Toggle, Checkbox, DatePicker, DateTimePicker, TextInput, SingleSelect, SingleSelectOption, JSONInput, NumberInput, Textarea, TimePicker, Box, Portal, IconButton, VisuallyHidden, Grid, GridItem, EmptyStateLayout, LinkButton, lightTheme, darkTheme, PopoverPrimitives, Tag, Pagination as Pagination$1, PreviousLink, PageLink, Dots, NextLink, SearchForm, Searchbar, Table as Table$1, Thead, Tr, Th, Tooltip, BaseCheckbox, Tbody, Td, Loader } from '@strapi/design-system';
6
6
  import invariant from 'invariant';
7
7
  import isFunction from 'lodash/isFunction';
8
8
  import merge from 'lodash/merge';
9
9
  import pick from 'lodash/pick';
10
10
  import { Provider as Provider$1 } from 'react-redux';
11
11
  import { NavLink, useLocation, useNavigate, Outlet, useRouteError, useBlocker, useMatch, Navigate, Link as Link$1, createBrowserRouter, RouterProvider } from 'react-router-dom';
12
- import { t as createContext, S as StrapiAppProvider, A as AuthProvider, L as LanguageProvider, T as Theme, N as NotificationsProvider, v as TrackingProvider, w as ConfigurationProvider, x as LANGUAGE_LOCAL_STORAGE_KEY, P as Page, r as reducer$3, o as useConfiguration, b as useTypedSelector, e as useTypedDispatch, y as setLocale, a as useAuth, f as useAPIErrorHandler, z as useForgotPasswordMutation, u as useNotification, m as useAppInfo, d as useTracking, B as useGetRegistrationInfoQuery, D as useRegisterAdminMutation, E as useRegisterUserMutation, F as useResetPasswordMutation, R as RBAC, G as THEME_LOCAL_STORAGE_KEY, H as useTypedStore } from './rbac-uVd0RAE5.mjs';
12
+ import { t as createContext, S as StrapiAppProvider, A as AuthProvider, L as LanguageProvider, T as Theme, N as NotificationsProvider, v as TrackingProvider, w as ConfigurationProvider, x as LANGUAGE_LOCAL_STORAGE_KEY, P as Page, r as reducer$3, o as useConfiguration, b as useTypedSelector, e as useTypedDispatch, y as setLocale, a as useAuth, f as useAPIErrorHandler, z as useForgotPasswordMutation, u as useNotification, m as useAppInfo, d as useTracking, B as useGetRegistrationInfoQuery, D as useRegisterAdminMutation, E as useRegisterUserMutation, F as useResetPasswordMutation, R as RBAC, G as THEME_LOCAL_STORAGE_KEY, H as useTypedStore } from './rbac-oJEkQdXG.mjs';
13
13
  import { QueryClient, QueryClientProvider } from 'react-query';
14
14
  import { ArrowLeft, WarningCircle, Duplicate, Eye, EyeStriked, Cross, ArrowRight, Filter, Plus, Search, CaretDown } from '@strapi/icons';
15
15
  import { produce } from 'immer';
16
16
  import { useIntl } from 'react-intl';
17
17
  import get from 'lodash/get';
18
18
  import set from 'lodash/set';
19
- import styled, { useTheme } from 'styled-components';
19
+ import { styled } from 'styled-components';
20
20
  import { configureStore, combineReducers } from '@reduxjs/toolkit';
21
- import { b as adminApi, i as isBaseQueryError, e as useInitQuery, j as createAbsoluteUrl, k as getFetchClient } from './admin-5SXhE_nJ.mjs';
21
+ import { b as adminApi, i as isBaseQueryError, e as useInitQuery, j as createAbsoluteUrl, k as getFetchClient } from './admin-B6AW0Kov.mjs';
22
22
  import { u as useEnterprise } from './useEnterprise-jpsYZWzn.mjs';
23
23
  import camelCase from 'lodash/camelCase';
24
24
  import * as yup from 'yup';
@@ -68,7 +68,7 @@ const getEERoutes$1 = () => window.strapi.isEE ? [
68
68
  {
69
69
  path: "auth/login/:authResponse",
70
70
  lazy: async () => {
71
- const { AuthResponse } = await import('./AuthResponse-wfOnX6GO.mjs');
71
+ const { AuthResponse } = await import('./AuthResponse-TKtSIvEM.mjs');
72
72
  return {
73
73
  Component: AuthResponse
74
74
  };
@@ -108,7 +108,7 @@ const getEERoutes = () => [
108
108
  {
109
109
  path: "audit-logs",
110
110
  lazy: async () => {
111
- const { ProtectedListPage } = await import('./ListPage-5g8MtUEB.mjs');
111
+ const { ProtectedListPage } = await import('./ListPage-ver_Z86B.mjs');
112
112
  return {
113
113
  Component: ProtectedListPage
114
114
  };
@@ -119,7 +119,7 @@ const getEERoutes = () => [
119
119
  {
120
120
  path: "single-sign-on",
121
121
  lazy: async () => {
122
- const { ProtectedSSO } = await import('./SingleSignOnPage-Y-brfYQ1.mjs');
122
+ const { ProtectedSSO } = await import('./SingleSignOnPage-rOuB5fpN.mjs');
123
123
  return {
124
124
  Component: ProtectedSSO
125
125
  };
@@ -221,8 +221,8 @@ const BackButton = React.forwardRef(({ disabled }, ref) => {
221
221
  Link,
222
222
  {
223
223
  ref,
224
- as: NavLink,
225
- to: history.at(-1),
224
+ tag: NavLink,
225
+ to: history.at(-1) ?? "",
226
226
  onClick: handleClick,
227
227
  disabled: disabled || !canGoBack,
228
228
  "aria-disabled": disabled || !canGoBack,
@@ -1072,17 +1072,7 @@ const Form = React.forwardRef(
1072
1072
  return { data };
1073
1073
  } catch (err) {
1074
1074
  if (isErrorYupValidationError(err)) {
1075
- let errors = {};
1076
- if (err.inner) {
1077
- if (err.inner.length === 0) {
1078
- return setIn(errors, err.path, err.message);
1079
- }
1080
- for (const error of err.inner) {
1081
- if (!getIn(errors, error.path)) {
1082
- errors = setIn(errors, error.path, error.message);
1083
- }
1084
- }
1085
- }
1075
+ const errors = getYupValidationErrors(err);
1086
1076
  if (shouldSetErrors) {
1087
1077
  setErrors(errors);
1088
1078
  }
@@ -1257,6 +1247,20 @@ const Form = React.forwardRef(
1257
1247
  }
1258
1248
  );
1259
1249
  const isErrorYupValidationError = (err) => typeof err === "object" && err !== null && "name" in err && typeof err.name === "string" && err.name === "ValidationError";
1250
+ const getYupValidationErrors = (err) => {
1251
+ let errors = {};
1252
+ if (err.inner) {
1253
+ if (err.inner.length === 0) {
1254
+ return setIn(errors, err.path, err.message);
1255
+ }
1256
+ for (const error of err.inner) {
1257
+ if (!getIn(errors, error.path)) {
1258
+ errors = setIn(errors, error.path, error.message);
1259
+ }
1260
+ }
1261
+ }
1262
+ return errors;
1263
+ };
1260
1264
  const reducer = (state, action) => produce(state, (draft) => {
1261
1265
  switch (action.type) {
1262
1266
  case "SET_INITIAL_VALUES":
@@ -1400,7 +1404,7 @@ const Blocker = ({ onProceed = () => {
1400
1404
  children: [
1401
1405
  /* @__PURE__ */ jsx(DialogBody, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
1402
1406
  /* @__PURE__ */ jsx(WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
1403
- /* @__PURE__ */ jsx(Typography, { as: "p", variant: "omega", textAlign: "center", children: formatMessage({
1407
+ /* @__PURE__ */ jsx(Typography, { tag: "p", variant: "omega", textAlign: "center", children: formatMessage({
1404
1408
  id: "global.prompt.unsaved",
1405
1409
  defaultMessage: "You have unsaved changes, are you sure you want to leave?"
1406
1410
  }) })
@@ -1441,327 +1445,359 @@ const useFocusInputField = (name) => {
1441
1445
  const [field, setField] = useState(null);
1442
1446
  useEffect(() => {
1443
1447
  if (search.has("field") && search.get("field") === name && field) {
1444
- if ("input" in field) {
1445
- field.input.current.focus();
1446
- field.input.current.scrollIntoView({
1447
- block: "center"
1448
- });
1449
- } else {
1450
- field.focus();
1451
- field.scrollIntoView({
1452
- block: "center"
1453
- });
1454
- }
1448
+ field.focus();
1449
+ field.scrollIntoView({
1450
+ block: "center"
1451
+ });
1455
1452
  }
1456
1453
  }, [search, name, field]);
1457
1454
  return setField;
1458
1455
  };
1459
1456
 
1460
- const BooleanInput = forwardRef((props, ref) => {
1461
- const { formatMessage } = useIntl();
1462
- const field = useField(props.name);
1463
- const fieldRef = useFocusInputField(props.name);
1464
- const composedRefs = useComposedRefs(ref, fieldRef);
1465
- return (
1466
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1467
- /* @__PURE__ */ jsx(
1468
- ToggleInput,
1469
- {
1470
- ref: composedRefs,
1471
- checked: field.value === null ? null : field.value || false,
1472
- error: field.error,
1473
- offLabel: formatMessage({
1474
- id: "app.components.ToggleCheckbox.off-label",
1475
- defaultMessage: "False"
1476
- }),
1477
- onLabel: formatMessage({
1478
- id: "app.components.ToggleCheckbox.on-label",
1479
- defaultMessage: "True"
1480
- }),
1481
- onChange: field.onChange,
1482
- onClear: () => {
1483
- field.onChange(props.name, null);
1484
- },
1485
- ...props
1486
- }
1487
- )
1488
- );
1489
- });
1457
+ const BooleanInput = forwardRef(
1458
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1459
+ const { formatMessage } = useIntl();
1460
+ const field = useField(name);
1461
+ const fieldRef = useFocusInputField(name);
1462
+ const composedRefs = useComposedRefs(ref, fieldRef);
1463
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, maxWidth: "320px", children: [
1464
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1465
+ /* @__PURE__ */ jsx(
1466
+ Toggle,
1467
+ {
1468
+ ref: composedRefs,
1469
+ checked: field.value === null ? null : field.value || false,
1470
+ offLabel: formatMessage({
1471
+ id: "app.components.ToggleCheckbox.off-label",
1472
+ defaultMessage: "False"
1473
+ }),
1474
+ onLabel: formatMessage({
1475
+ id: "app.components.ToggleCheckbox.on-label",
1476
+ defaultMessage: "True"
1477
+ }),
1478
+ onChange: field.onChange,
1479
+ ...props
1480
+ }
1481
+ ),
1482
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1483
+ /* @__PURE__ */ jsx(Field.Error, {})
1484
+ ] });
1485
+ }
1486
+ );
1487
+ const MemoizedBooleanInput = memo(BooleanInput);
1490
1488
 
1491
- const CheckboxInput = forwardRef((props, ref) => {
1492
- const field = useField(props.name);
1493
- const fieldRef = useFocusInputField(props.name);
1494
- const composedRefs = useComposedRefs(ref, fieldRef);
1495
- return /* @__PURE__ */ jsx(
1496
- Checkbox,
1497
- {
1498
- onValueChange: (checked) => field.onChange(props.name, checked),
1499
- ref: composedRefs,
1500
- value: field.value,
1501
- ...props,
1502
- children: props.label || props["aria-label"]
1503
- }
1504
- );
1505
- });
1489
+ const CheckboxInput = forwardRef(
1490
+ ({ name, required, label, hint, ...props }, ref) => {
1491
+ const field = useField(name);
1492
+ const fieldRef = useFocusInputField(name);
1493
+ const composedRefs = useComposedRefs(ref, fieldRef);
1494
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1495
+ /* @__PURE__ */ jsx(
1496
+ Checkbox,
1497
+ {
1498
+ onValueChange: (checked) => field.onChange(name, checked),
1499
+ ref: composedRefs,
1500
+ value: field.value,
1501
+ ...props,
1502
+ children: label || props["aria-label"]
1503
+ }
1504
+ ),
1505
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1506
+ /* @__PURE__ */ jsx(Field.Error, {})
1507
+ ] });
1508
+ }
1509
+ );
1510
+ const MemoizedCheckboxInput = memo(CheckboxInput);
1506
1511
 
1507
- const DateInput = forwardRef(({ type: _type, ...props }, ref) => {
1508
- const { formatMessage } = useIntl();
1509
- const field = useField(props.name);
1510
- const fieldRef = useFocusInputField(props.name);
1511
- const composedRefs = useComposedRefs(ref, fieldRef);
1512
- const value = typeof field.value === "string" ? new Date(field.value) : field.value;
1513
- return (
1514
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1515
- /* @__PURE__ */ jsx(
1516
- DatePicker,
1517
- {
1518
- ref: composedRefs,
1519
- clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1520
- error: field.error,
1521
- id: props.name,
1522
- onChange: (date) => {
1523
- field.onChange(props.name, date);
1524
- },
1525
- onClear: () => field.onChange(props.name, void 0),
1526
- selectedDate: value,
1527
- ...props
1528
- }
1529
- )
1530
- );
1531
- });
1512
+ const DateInput = forwardRef(
1513
+ ({ name, required, label, hint, labelAction, type: _type, ...props }, ref) => {
1514
+ const { formatMessage } = useIntl();
1515
+ const field = useField(name);
1516
+ const fieldRef = useFocusInputField(name);
1517
+ const composedRefs = useComposedRefs(ref, fieldRef);
1518
+ const value = typeof field.value === "string" ? new Date(field.value) : field.value;
1519
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1520
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1521
+ /* @__PURE__ */ jsx(
1522
+ DatePicker,
1523
+ {
1524
+ ref: composedRefs,
1525
+ clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1526
+ onChange: (date) => {
1527
+ field.onChange(name, date);
1528
+ },
1529
+ onClear: () => field.onChange(name, void 0),
1530
+ value,
1531
+ ...props
1532
+ }
1533
+ ),
1534
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1535
+ /* @__PURE__ */ jsx(Field.Error, {})
1536
+ ] });
1537
+ }
1538
+ );
1539
+ const MemoizedDateInput = memo(DateInput);
1532
1540
 
1533
- const DateTimeInput = forwardRef((props, ref) => {
1534
- const { formatMessage } = useIntl();
1535
- const field = useField(props.name);
1536
- const fieldRef = useFocusInputField(props.name);
1537
- const composedRefs = useComposedRefs(ref, fieldRef);
1538
- const value = typeof field.value === "string" ? new Date(field.value) : field.value;
1539
- return (
1540
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1541
- /* @__PURE__ */ jsx(
1542
- DateTimePicker,
1543
- {
1544
- ref: composedRefs,
1545
- clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1546
- error: field.error,
1547
- id: props.name,
1548
- onChange: (date) => {
1549
- field.onChange(props.name, date);
1550
- },
1551
- onClear: () => field.onChange(props.name, void 0),
1552
- value,
1553
- ...props
1554
- }
1555
- )
1556
- );
1557
- });
1541
+ const DateTimeInput = forwardRef(
1542
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1543
+ const { formatMessage } = useIntl();
1544
+ const field = useField(name);
1545
+ const fieldRef = useFocusInputField(name);
1546
+ const composedRefs = useComposedRefs(ref, fieldRef);
1547
+ const value = typeof field.value === "string" ? new Date(field.value) : field.value;
1548
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1549
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1550
+ /* @__PURE__ */ jsx(
1551
+ DateTimePicker,
1552
+ {
1553
+ ref: composedRefs,
1554
+ clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1555
+ onChange: (date) => {
1556
+ field.onChange(name, date);
1557
+ },
1558
+ onClear: () => field.onChange(name, void 0),
1559
+ value,
1560
+ ...props
1561
+ }
1562
+ ),
1563
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1564
+ /* @__PURE__ */ jsx(Field.Error, {})
1565
+ ] });
1566
+ }
1567
+ );
1568
+ const MemoizedDateTimeInput = memo(DateTimeInput);
1558
1569
 
1559
- const EmailInput = forwardRef((props, ref) => {
1560
- const field = useField(props.name);
1561
- const fieldRef = useFocusInputField(props.name);
1562
- const composedRefs = useComposedRefs(ref, fieldRef);
1563
- return (
1564
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1565
- /* @__PURE__ */ jsx(
1566
- TextInput,
1567
- {
1568
- ref: composedRefs,
1569
- autoComplete: "email",
1570
- error: field.error,
1571
- id: props.name,
1572
- onChange: field.onChange,
1573
- defaultValue: field.initialValue,
1574
- value: field.value,
1575
- ...props,
1576
- type: "email"
1577
- }
1578
- )
1579
- );
1580
- });
1570
+ const EmailInput = forwardRef(
1571
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1572
+ const field = useField(name);
1573
+ const fieldRef = useFocusInputField(name);
1574
+ const composedRefs = useComposedRefs(ref, fieldRef);
1575
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1576
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1577
+ /* @__PURE__ */ jsx(
1578
+ TextInput,
1579
+ {
1580
+ ref: composedRefs,
1581
+ autoComplete: "email",
1582
+ onChange: field.onChange,
1583
+ defaultValue: field.initialValue,
1584
+ value: field.value,
1585
+ ...props,
1586
+ type: "email"
1587
+ }
1588
+ ),
1589
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1590
+ /* @__PURE__ */ jsx(Field.Error, {})
1591
+ ] });
1592
+ }
1593
+ );
1594
+ const MemoizedEmailInput = memo(EmailInput);
1581
1595
 
1582
1596
  const EnumerationInput = forwardRef(
1583
- ({ options = [], ...props }, ref) => {
1584
- const field = useField(props.name);
1585
- const fieldRef = useFocusInputField(props.name);
1597
+ ({ name, required, label, hint, labelAction, options = [], ...props }, ref) => {
1598
+ const field = useField(name);
1599
+ const fieldRef = useFocusInputField(name);
1586
1600
  const composedRefs = useComposedRefs(ref, fieldRef);
1587
- return (
1588
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1601
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1602
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1589
1603
  /* @__PURE__ */ jsx(
1590
1604
  SingleSelect,
1591
1605
  {
1592
1606
  ref: composedRefs,
1593
- error: field.error,
1594
1607
  onChange: (value) => {
1595
- field.onChange(props.name, value);
1608
+ field.onChange(name, value);
1596
1609
  },
1597
1610
  value: field.value,
1598
1611
  ...props,
1599
- children: options.map(({ value, label, disabled, hidden }) => {
1600
- return /* @__PURE__ */ jsx(SingleSelectOption, { value, disabled, hidden, children: label ?? value }, value);
1612
+ children: options.map(({ value, label: label2, disabled, hidden }) => {
1613
+ return /* @__PURE__ */ jsx(SingleSelectOption, { value, disabled, hidden, children: label2 ?? value }, value);
1601
1614
  })
1602
1615
  }
1603
- )
1604
- );
1616
+ ),
1617
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1618
+ /* @__PURE__ */ jsx(Field.Error, {})
1619
+ ] });
1605
1620
  }
1606
1621
  );
1622
+ const MemoizedEnumerationInput = memo(EnumerationInput);
1607
1623
 
1608
- const JsonInput = forwardRef((props, ref) => {
1609
- const field = useField(props.name);
1610
- const fieldRef = useFocusInputField(props.name);
1611
- const composedRefs = useComposedRefs(ref, fieldRef);
1612
- return (
1613
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1614
- /* @__PURE__ */ jsx(
1615
- JSONInput,
1616
- {
1617
- ref: composedRefs,
1618
- value: field.value,
1619
- error: field.error,
1620
- onChange: (json) => {
1621
- const value = props.required && !json.length ? null : json;
1622
- field.onChange(props.name, value);
1623
- },
1624
- minHeight: `25.2rem`,
1625
- maxHeight: `50.4rem`,
1626
- ...props
1627
- }
1628
- )
1629
- );
1630
- });
1624
+ const JsonInput = forwardRef(
1625
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1626
+ const field = useField(name);
1627
+ const fieldRef = useFocusInputField(name);
1628
+ const composedRefs = useComposedRefs(ref, fieldRef);
1629
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1630
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1631
+ /* @__PURE__ */ jsx(
1632
+ JSONInput,
1633
+ {
1634
+ ref: composedRefs,
1635
+ value: field.value,
1636
+ onChange: (json) => {
1637
+ const value = required && !json.length ? null : json;
1638
+ field.onChange(name, value);
1639
+ },
1640
+ minHeight: `25.2rem`,
1641
+ maxHeight: `50.4rem`,
1642
+ ...props
1643
+ }
1644
+ ),
1645
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1646
+ /* @__PURE__ */ jsx(Field.Error, {})
1647
+ ] });
1648
+ }
1649
+ );
1650
+ const MemoizedJsonInput = memo(JsonInput);
1631
1651
 
1632
- const NumberInputImpl = forwardRef(({ type, ...props }, ref) => {
1633
- const field = useField(props.name);
1634
- const fieldRef = useFocusInputField(props.name);
1635
- const composedRefs = useComposedRefs(ref, fieldRef);
1636
- return (
1637
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1638
- /* @__PURE__ */ jsx(
1639
- NumberInput,
1640
- {
1641
- ref: composedRefs,
1642
- defaultValue: field.initialValue,
1643
- error: field.error,
1644
- id: props.name,
1645
- onValueChange: (value) => {
1646
- field.onChange(props.name, value);
1647
- },
1648
- step: type === "float" || type == "decimal" ? 0.01 : 1,
1649
- value: field.value,
1650
- ...props
1651
- }
1652
- )
1653
- );
1654
- });
1652
+ const NumberInputImpl = forwardRef(
1653
+ ({ name, required, label, hint, labelAction, type, ...props }, ref) => {
1654
+ const field = useField(name);
1655
+ const fieldRef = useFocusInputField(name);
1656
+ const composedRefs = useComposedRefs(ref, fieldRef);
1657
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1658
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1659
+ /* @__PURE__ */ jsx(
1660
+ NumberInput,
1661
+ {
1662
+ ref: composedRefs,
1663
+ defaultValue: field.initialValue,
1664
+ onValueChange: (value) => {
1665
+ field.onChange(name, value);
1666
+ },
1667
+ step: type === "float" || type == "decimal" ? 0.01 : 1,
1668
+ value: field.value,
1669
+ ...props
1670
+ }
1671
+ ),
1672
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1673
+ /* @__PURE__ */ jsx(Field.Error, {})
1674
+ ] });
1675
+ }
1676
+ );
1677
+ const MemoizedNumberInput = memo(NumberInputImpl);
1655
1678
 
1656
- const PasswordInput = forwardRef((props, ref) => {
1657
- const [showPassword, setShowPassword] = useState(false);
1658
- const { formatMessage } = useIntl();
1659
- const field = useField(props.name);
1660
- const fieldRef = useFocusInputField(props.name);
1661
- const composedRefs = useComposedRefs(ref, fieldRef);
1662
- return (
1663
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1664
- /* @__PURE__ */ jsx(
1665
- TextInput,
1666
- {
1667
- ref: composedRefs,
1668
- autoComplete: "password",
1669
- error: field.error,
1670
- endAction: /* @__PURE__ */ jsx(
1671
- "button",
1672
- {
1673
- "aria-label": formatMessage({
1674
- id: "Auth.form.password.show-password",
1675
- defaultMessage: "Show password"
1676
- }),
1677
- onClick: () => {
1678
- setShowPassword((prev) => !prev);
1679
- },
1680
- style: {
1681
- border: "none",
1682
- padding: 0,
1683
- background: "transparent"
1684
- },
1685
- type: "button",
1686
- children: showPassword ? /* @__PURE__ */ jsx(Eye, { fill: "neutral500" }) : /* @__PURE__ */ jsx(EyeStriked, { fill: "neutral500" })
1687
- }
1688
- ),
1689
- id: props.name,
1690
- onChange: field.onChange,
1691
- defaultValue: field.initialValue,
1692
- value: field.value,
1693
- ...props,
1694
- type: showPassword ? "text" : "password"
1695
- }
1696
- )
1697
- );
1698
- });
1679
+ const PasswordInput = forwardRef(
1680
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1681
+ const [showPassword, setShowPassword] = useState(false);
1682
+ const { formatMessage } = useIntl();
1683
+ const field = useField(name);
1684
+ const fieldRef = useFocusInputField(name);
1685
+ const composedRefs = useComposedRefs(ref, fieldRef);
1686
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1687
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1688
+ /* @__PURE__ */ jsx(
1689
+ TextInput,
1690
+ {
1691
+ ref: composedRefs,
1692
+ autoComplete: "password",
1693
+ endAction: /* @__PURE__ */ jsx(
1694
+ "button",
1695
+ {
1696
+ "aria-label": formatMessage({
1697
+ id: "Auth.form.password.show-password",
1698
+ defaultMessage: "Show password"
1699
+ }),
1700
+ onClick: () => {
1701
+ setShowPassword((prev) => !prev);
1702
+ },
1703
+ style: {
1704
+ border: "none",
1705
+ padding: 0,
1706
+ background: "transparent"
1707
+ },
1708
+ type: "button",
1709
+ children: showPassword ? /* @__PURE__ */ jsx(Eye, { fill: "neutral500" }) : /* @__PURE__ */ jsx(EyeStriked, { fill: "neutral500" })
1710
+ }
1711
+ ),
1712
+ onChange: field.onChange,
1713
+ defaultValue: field.initialValue,
1714
+ value: field.value,
1715
+ ...props,
1716
+ type: showPassword ? "text" : "password"
1717
+ }
1718
+ ),
1719
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1720
+ /* @__PURE__ */ jsx(Field.Error, {})
1721
+ ] });
1722
+ }
1723
+ );
1724
+ const MemoizedPasswordInput = memo(PasswordInput);
1699
1725
 
1700
- const StringInput = forwardRef(({ ...props }, ref) => {
1701
- const field = useField(props.name);
1702
- const fieldRef = useFocusInputField(props.name);
1703
- const composedRefs = useComposedRefs(ref, fieldRef);
1704
- return (
1705
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1706
- /* @__PURE__ */ jsx(
1707
- TextInput,
1708
- {
1709
- ref: composedRefs,
1710
- error: field.error,
1711
- defaultValue: field.initialValue,
1712
- onChange: field.onChange,
1713
- value: field.value ?? "",
1714
- ...props
1715
- }
1716
- )
1717
- );
1718
- });
1726
+ const StringInput = forwardRef(
1727
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1728
+ const field = useField(name);
1729
+ const fieldRef = useFocusInputField(name);
1730
+ const composedRefs = useComposedRefs(ref, fieldRef);
1731
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1732
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1733
+ /* @__PURE__ */ jsx(
1734
+ TextInput,
1735
+ {
1736
+ ref: composedRefs,
1737
+ defaultValue: field.initialValue,
1738
+ onChange: field.onChange,
1739
+ value: field.value ?? "",
1740
+ ...props
1741
+ }
1742
+ ),
1743
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1744
+ /* @__PURE__ */ jsx(Field.Error, {})
1745
+ ] });
1746
+ }
1747
+ );
1748
+ const MemoizedStringInput = memo(StringInput);
1719
1749
 
1720
- const TextareaInput = forwardRef((props, ref) => {
1721
- const field = useField(props.name);
1722
- const fieldRef = useFocusInputField(props.name);
1723
- const composedRefs = useComposedRefs(ref, fieldRef);
1724
- return (
1725
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1726
- /* @__PURE__ */ jsx(
1727
- Textarea,
1728
- {
1729
- ref: composedRefs,
1730
- defaultValue: field.initialValue,
1731
- error: field.error,
1732
- id: props.name,
1733
- onChange: field.onChange,
1734
- value: field.value ?? "",
1735
- ...props
1736
- }
1737
- )
1738
- );
1739
- });
1750
+ const TextareaInput = forwardRef(
1751
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1752
+ const field = useField(name);
1753
+ const fieldRef = useFocusInputField(name);
1754
+ const composedRefs = useComposedRefs(ref, fieldRef);
1755
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1756
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1757
+ /* @__PURE__ */ jsx(
1758
+ Textarea,
1759
+ {
1760
+ ref: composedRefs,
1761
+ defaultValue: field.initialValue,
1762
+ onChange: field.onChange,
1763
+ value: field.value ?? "",
1764
+ ...props
1765
+ }
1766
+ ),
1767
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1768
+ /* @__PURE__ */ jsx(Field.Error, {})
1769
+ ] });
1770
+ }
1771
+ );
1772
+ const MemoizedTextareaInput = memo(TextareaInput);
1740
1773
 
1741
- const TimeInput = forwardRef((props, ref) => {
1742
- const { formatMessage } = useIntl();
1743
- const field = useField(props.name);
1744
- const fieldRef = useFocusInputField(props.name);
1745
- const composedRefs = useComposedRefs(ref, fieldRef);
1746
- return (
1747
- // @ts-expect-error label _could_ be a ReactNode since it's a child, this should be fixed in the DS.
1748
- /* @__PURE__ */ jsx(
1749
- TimePicker,
1750
- {
1751
- ref: composedRefs,
1752
- clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1753
- error: field.error,
1754
- id: props.name,
1755
- onChange: (time) => {
1756
- field.onChange(props.name, time);
1757
- },
1758
- onClear: () => field.onChange(props.name, void 0),
1759
- value: field.value ?? "",
1760
- ...props
1761
- }
1762
- )
1763
- );
1764
- });
1774
+ const TimeInput = forwardRef(
1775
+ ({ name, required, label, hint, labelAction, ...props }, ref) => {
1776
+ const { formatMessage } = useIntl();
1777
+ const field = useField(name);
1778
+ const fieldRef = useFocusInputField(name);
1779
+ const composedRefs = useComposedRefs(ref, fieldRef);
1780
+ return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, name, hint, required, children: [
1781
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1782
+ /* @__PURE__ */ jsx(
1783
+ TimePicker,
1784
+ {
1785
+ ref: composedRefs,
1786
+ clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
1787
+ onChange: (time) => {
1788
+ field.onChange(name, time);
1789
+ },
1790
+ onClear: () => field.onChange(name, void 0),
1791
+ value: field.value ?? "",
1792
+ ...props
1793
+ }
1794
+ ),
1795
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1796
+ /* @__PURE__ */ jsx(Field.Error, {})
1797
+ ] });
1798
+ }
1799
+ );
1800
+ const MemoizedTimeInput = memo(TimeInput);
1765
1801
 
1766
1802
  const InputRenderer = memo(
1767
1803
  forwardRef((props, forwardRef2) => {
@@ -1769,57 +1805,60 @@ const InputRenderer = memo(
1769
1805
  case "biginteger":
1770
1806
  case "timestamp":
1771
1807
  case "string":
1772
- return /* @__PURE__ */ jsx(StringInput, { ref: forwardRef2, ...props });
1808
+ return /* @__PURE__ */ jsx(MemoizedStringInput, { ref: forwardRef2, ...props });
1773
1809
  case "boolean":
1774
- return /* @__PURE__ */ jsx(BooleanInput, { ref: forwardRef2, ...props });
1810
+ return /* @__PURE__ */ jsx(MemoizedBooleanInput, { ref: forwardRef2, ...props });
1775
1811
  case "checkbox":
1776
- return /* @__PURE__ */ jsx(CheckboxInput, { ref: forwardRef2, ...props });
1812
+ return /* @__PURE__ */ jsx(MemoizedCheckboxInput, { ref: forwardRef2, ...props });
1777
1813
  case "datetime":
1778
- return /* @__PURE__ */ jsx(DateTimeInput, { ref: forwardRef2, ...props });
1814
+ return /* @__PURE__ */ jsx(MemoizedDateTimeInput, { ref: forwardRef2, ...props });
1779
1815
  case "date":
1780
- return /* @__PURE__ */ jsx(DateInput, { ref: forwardRef2, ...props });
1816
+ return /* @__PURE__ */ jsx(MemoizedDateInput, { ref: forwardRef2, ...props });
1781
1817
  case "decimal":
1782
1818
  case "float":
1783
1819
  case "integer":
1784
- return /* @__PURE__ */ jsx(NumberInputImpl, { ref: forwardRef2, ...props });
1820
+ return /* @__PURE__ */ jsx(MemoizedNumberInput, { ref: forwardRef2, ...props });
1785
1821
  case "json":
1786
- return /* @__PURE__ */ jsx(JsonInput, { ref: forwardRef2, ...props });
1822
+ return /* @__PURE__ */ jsx(MemoizedJsonInput, { ref: forwardRef2, ...props });
1787
1823
  case "email":
1788
- return /* @__PURE__ */ jsx(EmailInput, { ref: forwardRef2, ...props });
1824
+ return /* @__PURE__ */ jsx(MemoizedEmailInput, { ref: forwardRef2, ...props });
1789
1825
  case "enumeration":
1790
- return /* @__PURE__ */ jsx(EnumerationInput, { ref: forwardRef2, ...props });
1826
+ return /* @__PURE__ */ jsx(MemoizedEnumerationInput, { ref: forwardRef2, ...props });
1791
1827
  case "password":
1792
- return /* @__PURE__ */ jsx(PasswordInput, { ref: forwardRef2, ...props });
1828
+ return /* @__PURE__ */ jsx(MemoizedPasswordInput, { ref: forwardRef2, ...props });
1793
1829
  case "text":
1794
- return /* @__PURE__ */ jsx(TextareaInput, { ref: forwardRef2, ...props });
1830
+ return /* @__PURE__ */ jsx(MemoizedTextareaInput, { ref: forwardRef2, ...props });
1795
1831
  case "time":
1796
- return /* @__PURE__ */ jsx(TimeInput, { ref: forwardRef2, ...props });
1832
+ return /* @__PURE__ */ jsx(MemoizedTimeInput, { ref: forwardRef2, ...props });
1797
1833
  default:
1798
1834
  return /* @__PURE__ */ jsx(NotSupportedField, { ref: forwardRef2, ...props });
1799
1835
  }
1800
1836
  })
1801
1837
  );
1802
- const NotSupportedField = forwardRef((props, ref) => {
1803
- const { error } = useField(props.name);
1804
- const fieldRef = useFocusInputField(props.name);
1805
- const composedRefs = useComposedRefs(ref, fieldRef);
1806
- return /* @__PURE__ */ jsx(
1807
- TextInput,
1808
- {
1809
- ref: composedRefs,
1810
- disabled: true,
1811
- error,
1812
- label: props.label,
1813
- id: props.name,
1814
- hint: props.hint,
1815
- name: props.name,
1816
- placeholder: `Unsupported field type: ${props.type}`,
1817
- required: props.required,
1818
- type: "text",
1819
- value: ""
1820
- }
1821
- );
1822
- });
1838
+ const NotSupportedField = forwardRef(
1839
+ ({ label, hint, name, required, type, labelAction }, ref) => {
1840
+ const { error } = useField(name);
1841
+ const fieldRef = useFocusInputField(name);
1842
+ const composedRefs = useComposedRefs(ref, fieldRef);
1843
+ return /* @__PURE__ */ jsxs(Field.Root, { error, name, hint, required, children: [
1844
+ /* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
1845
+ /* @__PURE__ */ jsx(
1846
+ TextInput,
1847
+ {
1848
+ ref: composedRefs,
1849
+ disabled: true,
1850
+ placeholder: `Unsupported field type: ${type}`,
1851
+ required,
1852
+ type: "text",
1853
+ value: ""
1854
+ }
1855
+ ),
1856
+ /* @__PURE__ */ jsx(Field.Hint, {}),
1857
+ /* @__PURE__ */ jsx(Field.Error, {})
1858
+ ] });
1859
+ }
1860
+ );
1861
+ const MemoizedInputRenderer = memo(InputRenderer);
1823
1862
 
1824
1863
  const Img = styled.img`
1825
1864
  height: 7.2rem;
@@ -1872,7 +1911,7 @@ const LayoutContent = ({ children }) => /* @__PURE__ */ jsx(
1872
1911
  );
1873
1912
  const UnauthenticatedLayout = ({ children }) => {
1874
1913
  return /* @__PURE__ */ jsxs("div", { children: [
1875
- /* @__PURE__ */ jsx(Flex, { as: "header", justifyContent: "flex-end", children: /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingRight: 8, children: /* @__PURE__ */ jsx(LocaleToggle, {}) }) }),
1914
+ /* @__PURE__ */ jsx(Flex, { tag: "header", justifyContent: "flex-end", children: /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingRight: 8, children: /* @__PURE__ */ jsx(LocaleToggle, {}) }) }),
1876
1915
  /* @__PURE__ */ jsx(Box, { paddingTop: 2, paddingBottom: 11, children })
1877
1916
  ] });
1878
1917
  };
@@ -1963,7 +2002,7 @@ const Login = ({ children }) => {
1963
2002
  /* @__PURE__ */ jsxs(LayoutContent, { children: [
1964
2003
  /* @__PURE__ */ jsxs(Column, { children: [
1965
2004
  /* @__PURE__ */ jsx(Logo, {}),
1966
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 1, children: /* @__PURE__ */ jsx(Typography, { variant: "alpha", as: "h1", children: formatMessage({
2005
+ /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 1, children: /* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: formatMessage({
1967
2006
  id: "Auth.form.welcome.title",
1968
2007
  defaultMessage: "Welcome!"
1969
2008
  }) }) }),
@@ -2015,14 +2054,14 @@ const Login = ({ children }) => {
2015
2054
  name: "rememberMe",
2016
2055
  type: "checkbox"
2017
2056
  }
2018
- ].map((field) => /* @__PURE__ */ jsx(InputRenderer, { ...field }, field.name)),
2057
+ ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),
2019
2058
  /* @__PURE__ */ jsx(Button, { fullWidth: true, type: "submit", children: formatMessage({ id: "Auth.form.button.login", defaultMessage: "Login" }) })
2020
2059
  ] })
2021
2060
  }
2022
2061
  ),
2023
2062
  children
2024
2063
  ] }),
2025
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/forgot-password", children: formatMessage({
2064
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { isExternal: false, tag: NavLink, to: "/auth/forgot-password", children: formatMessage({
2026
2065
  id: "Auth.link.forgot-password",
2027
2066
  defaultMessage: "Forgot your password?"
2028
2067
  }) }) }) })
@@ -2038,7 +2077,7 @@ const ForgotPassword = () => {
2038
2077
  /* @__PURE__ */ jsxs(LayoutContent, { children: [
2039
2078
  /* @__PURE__ */ jsxs(Column, { children: [
2040
2079
  /* @__PURE__ */ jsx(Logo, {}),
2041
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
2080
+ /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", children: formatMessage({
2042
2081
  id: "Auth.form.button.password-recovery",
2043
2082
  defaultMessage: "Password Recovery"
2044
2083
  }) }) }),
@@ -2078,7 +2117,7 @@ const ForgotPassword = () => {
2078
2117
  required: true,
2079
2118
  type: "string"
2080
2119
  }
2081
- ].map((field) => /* @__PURE__ */ jsx(InputRenderer, { ...field }, field.name)),
2120
+ ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),
2082
2121
  /* @__PURE__ */ jsx(Button, { type: "submit", fullWidth: true, children: formatMessage({
2083
2122
  id: "Auth.form.button.forgot-password",
2084
2123
  defaultMessage: "Send Email"
@@ -2087,7 +2126,7 @@ const ForgotPassword = () => {
2087
2126
  }
2088
2127
  )
2089
2128
  ] }),
2090
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
2129
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
2091
2130
  ] }) });
2092
2131
  };
2093
2132
 
@@ -2096,7 +2135,7 @@ const ForgotPasswordSuccess = () => {
2096
2135
  return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
2097
2136
  /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [
2098
2137
  /* @__PURE__ */ jsx(Logo, {}),
2099
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
2138
+ /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", children: formatMessage({
2100
2139
  id: "app.containers.AuthPage.ForgotPasswordSuccess.title",
2101
2140
  defaultMessage: "Email sent"
2102
2141
  }) }) }),
@@ -2109,7 +2148,7 @@ const ForgotPasswordSuccess = () => {
2109
2148
  defaultMessage: "If you do not receive this link, please contact your administrator."
2110
2149
  }) }) })
2111
2150
  ] }) }),
2112
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
2151
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
2113
2152
  ] }) });
2114
2153
  };
2115
2154
 
@@ -2124,14 +2163,14 @@ const Oops = () => {
2124
2163
  return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
2125
2164
  /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [
2126
2165
  /* @__PURE__ */ jsx(Logo, {}),
2127
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({ id: "Auth.components.Oops.title", defaultMessage: "Oops..." }) }) }),
2166
+ /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", children: formatMessage({ id: "Auth.components.Oops.title", defaultMessage: "Oops..." }) }) }),
2128
2167
  /* @__PURE__ */ jsx(Typography, { children: message }),
2129
2168
  /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Typography, { children: formatMessage({
2130
2169
  id: "Auth.components.Oops.text.admin",
2131
2170
  defaultMessage: "If this is a mistake, please contact your administrator."
2132
2171
  }) }) })
2133
2172
  ] }) }),
2134
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
2173
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
2135
2174
  ] }) });
2136
2175
  };
2137
2176
 
@@ -2153,7 +2192,7 @@ const usePersistentState = (key, defaultValue) => {
2153
2192
  return [value, setValue];
2154
2193
  };
2155
2194
 
2156
- const FieldWrapper = styled(Field)`
2195
+ const FieldWrapper = styled(Field.Root)`
2157
2196
  height: 3.2rem;
2158
2197
  width: 3.2rem;
2159
2198
 
@@ -2230,7 +2269,6 @@ const checkIfShouldShowSurvey = (settings) => {
2230
2269
  return true;
2231
2270
  };
2232
2271
  const NpsSurvey = () => {
2233
- const theme = useTheme();
2234
2272
  const { formatMessage } = useIntl();
2235
2273
  const { npsSurveySettings, setNpsSurveySettings } = useNpsSurveySettings();
2236
2274
  const [isFeedbackResponse, setIsFeedbackResponse] = React.useState(false);
@@ -2333,14 +2371,14 @@ const NpsSurvey = () => {
2333
2371
  bottom: 0,
2334
2372
  left: "50%",
2335
2373
  transform: "translateX(-50%)",
2336
- zIndex: theme.zIndices[2],
2374
+ zIndex: "popover",
2337
2375
  width: "50%",
2338
2376
  children: isFeedbackResponse ? /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", children: formatMessage({
2339
2377
  id: "app.components.NpsSurvey.feedback-response",
2340
2378
  defaultMessage: "Thank you very much for your feedback!"
2341
- }) }) : /* @__PURE__ */ jsxs(Box, { as: "fieldset", width: "100%", children: [
2379
+ }) }) : /* @__PURE__ */ jsxs(Box, { tag: "fieldset", width: "100%", borderWidth: 0, children: [
2342
2380
  /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", width: "100%", children: [
2343
- /* @__PURE__ */ jsx(Box, { marginLeft: "auto", marginRight: "auto", children: /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", as: "legend", children: formatMessage({
2381
+ /* @__PURE__ */ jsx(Box, { marginLeft: "auto", marginRight: "auto", children: /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", tag: "legend", children: formatMessage({
2344
2382
  id: "app.components.NpsSurvey.banner-title",
2345
2383
  defaultMessage: "How likely are you to recommend Strapi to a friend or colleague?"
2346
2384
  }) }) }),
@@ -2348,11 +2386,12 @@ const NpsSurvey = () => {
2348
2386
  IconButton,
2349
2387
  {
2350
2388
  onClick: handleDismiss,
2351
- "aria-label": formatMessage({
2389
+ withTooltip: false,
2390
+ label: formatMessage({
2352
2391
  id: "app.components.NpsSurvey.dismiss-survey-label",
2353
2392
  defaultMessage: "Dismiss survey"
2354
2393
  }),
2355
- icon: /* @__PURE__ */ jsx(Cross, {})
2394
+ children: /* @__PURE__ */ jsx(Cross, {})
2356
2395
  }
2357
2396
  )
2358
2397
  ] }),
@@ -2365,6 +2404,7 @@ const NpsSurvey = () => {
2365
2404
  return /* @__PURE__ */ jsx(
2366
2405
  FieldWrapper,
2367
2406
  {
2407
+ name: "npsSurveyRating",
2368
2408
  className: values.npsSurveyRating === number ? "selected" : void 0,
2369
2409
  hasRadius: true,
2370
2410
  background: "primary100",
@@ -2372,13 +2412,11 @@ const NpsSurvey = () => {
2372
2412
  color: "primary600",
2373
2413
  position: "relative",
2374
2414
  cursor: "pointer",
2375
- children: /* @__PURE__ */ jsxs(FieldLabel, { htmlFor: `nps-survey-rating-${number}-input`, children: [
2415
+ children: /* @__PURE__ */ jsxs(Field.Label, { children: [
2376
2416
  /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(
2377
- FieldInput,
2417
+ Field.Input,
2378
2418
  {
2379
2419
  type: "radio",
2380
- id: `nps-survey-rating-${number}-input`,
2381
- name: "npsSurveyRating",
2382
2420
  checked: values.npsSurveyRating === number,
2383
2421
  onChange: (e) => setFieldValue("npsSurveyRating", parseInt(e.target.value, 10)),
2384
2422
  value: number
@@ -2396,7 +2434,7 @@ const NpsSurvey = () => {
2396
2434
  }) })
2397
2435
  ] }),
2398
2436
  values.npsSurveyRating !== null && /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
2399
- /* @__PURE__ */ jsx(Box, { marginTop: 2, children: /* @__PURE__ */ jsx(FieldLabel, { htmlFor: "npsSurveyFeedback", fontWeight: "semiBold", fontSize: 2, children: formatMessage({
2437
+ /* @__PURE__ */ jsx(Box, { marginTop: 2, children: /* @__PURE__ */ jsx(Field.Label, { fontWeight: "semiBold", fontSize: 2, children: formatMessage({
2400
2438
  id: "app.components.NpsSurvey.feedback-question",
2401
2439
  defaultMessage: "Do you have any suggestion for improvements?"
2402
2440
  }) }) }),
@@ -2406,7 +2444,7 @@ const NpsSurvey = () => {
2406
2444
  id: "npsSurveyFeedback",
2407
2445
  width: "100%",
2408
2446
  onChange: handleChange,
2409
- children: values.npsSurveyFeedback
2447
+ value: values.npsSurveyFeedback
2410
2448
  }
2411
2449
  ) }),
2412
2450
  /* @__PURE__ */ jsx(Button, { marginBottom: 2, type: "submit", loading: isSubmitting, children: formatMessage({
@@ -2616,7 +2654,7 @@ const Register = ({ hasAdmin }) => {
2616
2654
  return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(LayoutContent, { children: [
2617
2655
  /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "center", gap: 3, children: [
2618
2656
  /* @__PURE__ */ jsx(Logo, {}),
2619
- /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", textAlign: "center", children: formatMessage({
2657
+ /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", textAlign: "center", children: formatMessage({
2620
2658
  id: "Auth.form.welcome.title",
2621
2659
  defaultMessage: "Welcome to Strapi!"
2622
2660
  }) }),
@@ -2757,7 +2795,7 @@ const Register = ({ hasAdmin }) => {
2757
2795
  size: 12,
2758
2796
  type: "checkbox"
2759
2797
  }
2760
- ].map(({ size, ...field }) => /* @__PURE__ */ jsx(GridItem, { col: size, children: /* @__PURE__ */ jsx(InputRenderer, { ...field }) }, field.name)) }),
2798
+ ].map(({ size, ...field }) => /* @__PURE__ */ jsx(GridItem, { col: size, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }, field.name)) }),
2761
2799
  /* @__PURE__ */ jsx(Button, { fullWidth: true, size: "L", type: "submit", children: formatMessage({
2762
2800
  id: "Auth.form.button.register",
2763
2801
  defaultMessage: "Let's start"
@@ -2765,7 +2803,7 @@ const Register = ({ hasAdmin }) => {
2765
2803
  ] })
2766
2804
  }
2767
2805
  ),
2768
- match?.params.authType === "register" && /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({
2806
+ match?.params.authType === "register" && /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: "/auth/login", children: formatMessage({
2769
2807
  id: "Auth.link.signin.account",
2770
2808
  defaultMessage: "Already have an account?"
2771
2809
  }) }) }) })
@@ -2845,7 +2883,7 @@ const ResetPassword = () => {
2845
2883
  /* @__PURE__ */ jsxs(LayoutContent, { children: [
2846
2884
  /* @__PURE__ */ jsxs(Column, { children: [
2847
2885
  /* @__PURE__ */ jsx(Logo, {}),
2848
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
2886
+ /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", children: formatMessage({
2849
2887
  id: "global.reset-password",
2850
2888
  defaultMessage: "Reset password"
2851
2889
  }) }) }),
@@ -2890,7 +2928,7 @@ const ResetPassword = () => {
2890
2928
  required: true,
2891
2929
  type: "password"
2892
2930
  }
2893
- ].map((field) => /* @__PURE__ */ jsx(InputRenderer, { ...field }, field.name)),
2931
+ ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),
2894
2932
  /* @__PURE__ */ jsx(Button, { fullWidth: true, type: "submit", children: formatMessage({
2895
2933
  id: "global.change-password",
2896
2934
  defaultMessage: "Change password"
@@ -2899,7 +2937,7 @@ const ResetPassword = () => {
2899
2937
  }
2900
2938
  )
2901
2939
  ] }),
2902
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
2940
+ /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { tag: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
2903
2941
  ] }) });
2904
2942
  };
2905
2943
 
@@ -2924,11 +2962,11 @@ const AuthPage = () => {
2924
2962
  const { hasAdmin } = data ?? {};
2925
2963
  const Login$1 = useEnterprise(
2926
2964
  Login,
2927
- async () => (await import('./Login-FSNzATl0.mjs')).LoginEE
2965
+ async () => (await import('./Login-227oY0SP.mjs')).LoginEE
2928
2966
  );
2929
2967
  const forms = useEnterprise(
2930
2968
  FORMS,
2931
- async () => (await import('./constants-wnw4TGwG.mjs')).FORMS,
2969
+ async () => (await import('./constants-N0AWjcMN.mjs')).FORMS,
2932
2970
  {
2933
2971
  combine(ceForms, eeForms) {
2934
2972
  return {
@@ -2968,11 +3006,194 @@ const AuthPage = () => {
2968
3006
  return /* @__PURE__ */ jsx(Component, { hasAdmin });
2969
3007
  };
2970
3008
 
3009
+ const ActionLayout = ({ startActions, endActions }) => {
3010
+ if (!startActions && !endActions) {
3011
+ return null;
3012
+ }
3013
+ return /* @__PURE__ */ jsxs(
3014
+ Flex,
3015
+ {
3016
+ justifyContent: "space-between",
3017
+ alignItems: "flex-start",
3018
+ paddingBottom: 4,
3019
+ paddingLeft: 10,
3020
+ paddingRight: 10,
3021
+ children: [
3022
+ /* @__PURE__ */ jsx(Flex, { gap: 2, wrap: "wrap", children: startActions }),
3023
+ /* @__PURE__ */ jsx(Flex, { gap: 2, shrink: 0, wrap: "wrap", children: endActions })
3024
+ ]
3025
+ }
3026
+ );
3027
+ };
3028
+
3029
+ const ContentLayout = ({ children }) => {
3030
+ return /* @__PURE__ */ jsx(Box, { paddingLeft: 10, paddingRight: 10, children });
3031
+ };
3032
+
3033
+ const GridColSize = {
3034
+ S: 180,
3035
+ M: 250
3036
+ };
3037
+ const StyledGrid = styled(Box)`
3038
+ display: grid;
3039
+ grid-template-columns: repeat(
3040
+ auto-fit,
3041
+ minmax(${({ $size }) => `${GridColSize[$size]}px`}, 1fr)
3042
+ );
3043
+ grid-gap: ${({ theme }) => theme.spaces[4]};
3044
+ `;
3045
+ const GridLayout = ({ size, children }) => {
3046
+ return /* @__PURE__ */ jsx(StyledGrid, { $size: size, children });
3047
+ };
3048
+
3049
+ const BaseHeaderLayout = React.forwardRef(
3050
+ ({ navigationAction, primaryAction, secondaryAction, subtitle, title, sticky, width, ...props }, ref) => {
3051
+ const isSubtitleString = typeof subtitle === "string";
3052
+ if (sticky) {
3053
+ return /* @__PURE__ */ jsx(
3054
+ Box,
3055
+ {
3056
+ paddingLeft: 6,
3057
+ paddingRight: 6,
3058
+ paddingTop: 3,
3059
+ paddingBottom: 3,
3060
+ position: "fixed",
3061
+ top: 0,
3062
+ right: 0,
3063
+ background: "neutral0",
3064
+ shadow: "tableShadow",
3065
+ width: `${width}rem`,
3066
+ zIndex: 1,
3067
+ "data-strapi-header-sticky": true,
3068
+ children: /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
3069
+ /* @__PURE__ */ jsxs(Flex, { children: [
3070
+ navigationAction && /* @__PURE__ */ jsx(Box, { paddingRight: 3, children: navigationAction }),
3071
+ /* @__PURE__ */ jsxs(Box, { children: [
3072
+ /* @__PURE__ */ jsx(Typography, { variant: "beta", tag: "h1", ...props, children: title }),
3073
+ isSubtitleString ? /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: subtitle }) : subtitle
3074
+ ] }),
3075
+ secondaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: secondaryAction }) : null
3076
+ ] }),
3077
+ /* @__PURE__ */ jsx(Flex, { children: primaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 2, children: primaryAction }) : void 0 })
3078
+ ] })
3079
+ }
3080
+ );
3081
+ }
3082
+ return /* @__PURE__ */ jsxs(
3083
+ Box,
3084
+ {
3085
+ ref,
3086
+ paddingLeft: 10,
3087
+ paddingRight: 10,
3088
+ paddingBottom: 8,
3089
+ paddingTop: navigationAction ? 6 : 8,
3090
+ background: "neutral100",
3091
+ "data-strapi-header": true,
3092
+ children: [
3093
+ navigationAction ? /* @__PURE__ */ jsx(Box, { paddingBottom: 2, children: navigationAction }) : null,
3094
+ /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
3095
+ /* @__PURE__ */ jsxs(Flex, { minWidth: 0, children: [
3096
+ /* @__PURE__ */ jsx(Typography, { tag: "h1", variant: "alpha", ...props, children: title }),
3097
+ secondaryAction ? /* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: secondaryAction }) : null
3098
+ ] }),
3099
+ primaryAction
3100
+ ] }),
3101
+ isSubtitleString ? /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", tag: "p", children: subtitle }) : subtitle
3102
+ ]
3103
+ }
3104
+ );
3105
+ }
3106
+ );
3107
+ const HeaderLayout = (props) => {
3108
+ const baseHeaderLayoutRef = React.useRef(null);
3109
+ const [headerSize, setHeaderSize] = React.useState(null);
3110
+ const [containerRef, isVisible] = useElementOnScreen({
3111
+ root: null,
3112
+ rootMargin: "0px",
3113
+ threshold: 0
3114
+ });
3115
+ useResizeObserver(containerRef, () => {
3116
+ if (containerRef.current) {
3117
+ setHeaderSize(containerRef.current.getBoundingClientRect());
3118
+ }
3119
+ });
3120
+ React.useEffect(() => {
3121
+ if (baseHeaderLayoutRef.current) {
3122
+ setHeaderSize(baseHeaderLayoutRef.current.getBoundingClientRect());
3123
+ }
3124
+ }, [baseHeaderLayoutRef]);
3125
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3126
+ /* @__PURE__ */ jsx("div", { style: { height: headerSize?.height }, ref: containerRef, children: isVisible && /* @__PURE__ */ jsx(BaseHeaderLayout, { ref: baseHeaderLayoutRef, ...props }) }),
3127
+ !isVisible && /* @__PURE__ */ jsx(BaseHeaderLayout, { ...props, sticky: true, width: headerSize?.width })
3128
+ ] });
3129
+ };
3130
+ HeaderLayout.displayName = "HeaderLayout";
3131
+ const useElementOnScreen = (options) => {
3132
+ const containerRef = React.useRef(null);
3133
+ const [isVisible, setIsVisible] = React.useState(true);
3134
+ const callback = ([entry]) => {
3135
+ setIsVisible(entry.isIntersecting);
3136
+ };
3137
+ React.useEffect(() => {
3138
+ const containerEl = containerRef.current;
3139
+ const observer = new IntersectionObserver(callback, options);
3140
+ if (containerEl) {
3141
+ observer.observe(containerRef.current);
3142
+ }
3143
+ return () => {
3144
+ if (containerEl) {
3145
+ observer.disconnect();
3146
+ }
3147
+ };
3148
+ }, [containerRef, options]);
3149
+ return [containerRef, isVisible];
3150
+ };
3151
+ const useResizeObserver = (sources, onResize) => {
3152
+ const handleResize = useCallbackRef(onResize);
3153
+ React.useLayoutEffect(() => {
3154
+ const resizeObs = new ResizeObserver(handleResize);
3155
+ if (Array.isArray(sources)) {
3156
+ sources.forEach((source) => {
3157
+ if (source.current) {
3158
+ resizeObs.observe(source.current);
3159
+ }
3160
+ });
3161
+ } else if (sources.current) {
3162
+ resizeObs.observe(sources.current);
3163
+ }
3164
+ return () => {
3165
+ resizeObs.disconnect();
3166
+ };
3167
+ }, [sources, handleResize]);
3168
+ };
3169
+
3170
+ const GridContainer = styled(Box)`
3171
+ display: grid;
3172
+ grid-template-columns: ${({ $hasSideNav }) => $hasSideNav ? `auto 1fr` : "1fr"};
3173
+ `;
3174
+ const OverflowingItem = styled(Box)`
3175
+ overflow-x: hidden;
3176
+ `;
3177
+ const RootLayout = ({ sideNav, children }) => {
3178
+ return /* @__PURE__ */ jsxs(GridContainer, { $hasSideNav: Boolean(sideNav), children: [
3179
+ sideNav,
3180
+ /* @__PURE__ */ jsx(OverflowingItem, { paddingBottom: 10, children })
3181
+ ] });
3182
+ };
3183
+ const Layouts = {
3184
+ Root: RootLayout,
3185
+ Header: HeaderLayout,
3186
+ BaseHeader: BaseHeaderLayout,
3187
+ Grid: GridLayout,
3188
+ Action: ActionLayout,
3189
+ Content: ContentLayout
3190
+ };
3191
+
2971
3192
  const NotFoundPage = () => {
2972
3193
  const { formatMessage } = useIntl();
2973
3194
  return /* @__PURE__ */ jsxs(Page.Main, { labelledBy: "title", children: [
2974
3195
  /* @__PURE__ */ jsx(
2975
- HeaderLayout,
3196
+ Layouts.Header,
2976
3197
  {
2977
3198
  id: "title",
2978
3199
  title: formatMessage({
@@ -2981,16 +3202,13 @@ const NotFoundPage = () => {
2981
3202
  })
2982
3203
  }
2983
3204
  ),
2984
- /* @__PURE__ */ jsx(ContentLayout, { children: /* @__PURE__ */ jsx(
3205
+ /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsx(
2985
3206
  EmptyStateLayout,
2986
3207
  {
2987
- action: (
2988
- // @ts-expect-error We need to accept the props of the component passed in the `as` prop
2989
- /* @__PURE__ */ jsx(LinkButton, { forwardedAs: Link$1, variant: "secondary", endIcon: /* @__PURE__ */ jsx(ArrowRight, {}), to: "/", children: formatMessage({
2990
- id: "app.components.NotFoundPage.back",
2991
- defaultMessage: "Back to homepage"
2992
- }) })
2993
- ),
3208
+ action: /* @__PURE__ */ jsx(LinkButton, { tag: Link$1, variant: "secondary", endIcon: /* @__PURE__ */ jsx(ArrowRight, {}), to: "/", children: formatMessage({
3209
+ id: "app.components.NotFoundPage.back",
3210
+ defaultMessage: "Back to homepage"
3211
+ }) }),
2994
3212
  content: formatMessage({
2995
3213
  id: "app.page.not.found",
2996
3214
  defaultMessage: "Oops! We can't seem to find the page you're looging for..."
@@ -3006,7 +3224,7 @@ const NotFoundPage = () => {
3006
3224
  const ROUTES_CE = [
3007
3225
  {
3008
3226
  lazy: async () => {
3009
- const { ProtectedListPage } = await import('./ListPage-kdjzZ2al.mjs');
3227
+ const { ProtectedListPage } = await import('./ListPage--SLZfVEu.mjs');
3010
3228
  return {
3011
3229
  Component: ProtectedListPage
3012
3230
  };
@@ -3015,7 +3233,7 @@ const ROUTES_CE = [
3015
3233
  },
3016
3234
  {
3017
3235
  lazy: async () => {
3018
- const { ProtectedCreatePage } = await import('./CreatePage-uTwt_c8J.mjs');
3236
+ const { ProtectedCreatePage } = await import('./CreatePage-537fJDEU.mjs');
3019
3237
  return {
3020
3238
  Component: ProtectedCreatePage
3021
3239
  };
@@ -3024,7 +3242,7 @@ const ROUTES_CE = [
3024
3242
  },
3025
3243
  {
3026
3244
  lazy: async () => {
3027
- const { ProtectedCreatePage } = await import('./CreatePage-uTwt_c8J.mjs');
3245
+ const { ProtectedCreatePage } = await import('./CreatePage-537fJDEU.mjs');
3028
3246
  return {
3029
3247
  Component: ProtectedCreatePage
3030
3248
  };
@@ -3033,7 +3251,7 @@ const ROUTES_CE = [
3033
3251
  },
3034
3252
  {
3035
3253
  lazy: async () => {
3036
- const { ProtectedEditPage } = await import('./EditPage-F3yH0Fy6.mjs');
3254
+ const { ProtectedEditPage } = await import('./EditPage-g0VOXyKS.mjs');
3037
3255
  return {
3038
3256
  Component: ProtectedEditPage
3039
3257
  };
@@ -3042,7 +3260,7 @@ const ROUTES_CE = [
3042
3260
  },
3043
3261
  {
3044
3262
  lazy: async () => {
3045
- const { ProtectedListPage } = await import('./ListPage-eNkUD3v_.mjs');
3263
+ const { ProtectedListPage } = await import('./ListPage-hJ6Ynuzs.mjs');
3046
3264
  return {
3047
3265
  Component: ProtectedListPage
3048
3266
  };
@@ -3051,7 +3269,7 @@ const ROUTES_CE = [
3051
3269
  },
3052
3270
  {
3053
3271
  lazy: async () => {
3054
- const { ProtectedEditPage } = await import('./EditPage-XSz7Wpt8.mjs');
3272
+ const { ProtectedEditPage } = await import('./EditPage-Il4eROQZ.mjs');
3055
3273
  return {
3056
3274
  Component: ProtectedEditPage
3057
3275
  };
@@ -3060,7 +3278,7 @@ const ROUTES_CE = [
3060
3278
  },
3061
3279
  {
3062
3280
  lazy: async () => {
3063
- const { ProtectedCreatePage } = await import('./CreatePage-07P5-Zjt.mjs');
3281
+ const { ProtectedCreatePage } = await import('./CreatePage-4tMY0ik1.mjs');
3064
3282
  return {
3065
3283
  Component: ProtectedCreatePage
3066
3284
  };
@@ -3069,7 +3287,7 @@ const ROUTES_CE = [
3069
3287
  },
3070
3288
  {
3071
3289
  lazy: async () => {
3072
- const { ProtectedEditPage } = await import('./EditPage-lyFePXWl.mjs').then(n => n.b);
3290
+ const { ProtectedEditPage } = await import('./EditPage-15aToLph.mjs').then(n => n.b);
3073
3291
  return {
3074
3292
  Component: ProtectedEditPage
3075
3293
  };
@@ -3078,7 +3296,7 @@ const ROUTES_CE = [
3078
3296
  },
3079
3297
  {
3080
3298
  lazy: async () => {
3081
- const { ProtectedListPage } = await import('./ListPage-AFDAiR9X.mjs');
3299
+ const { ProtectedListPage } = await import('./ListPage-91B_ZBgU.mjs');
3082
3300
  return {
3083
3301
  Component: ProtectedListPage
3084
3302
  };
@@ -3087,7 +3305,7 @@ const ROUTES_CE = [
3087
3305
  },
3088
3306
  {
3089
3307
  lazy: async () => {
3090
- const { ProtectedListView } = await import('./ListView-FBh2WTHx.mjs');
3308
+ const { ProtectedListView } = await import('./ListView-HFV67l_w.mjs');
3091
3309
  return {
3092
3310
  Component: ProtectedListView
3093
3311
  };
@@ -3096,7 +3314,7 @@ const ROUTES_CE = [
3096
3314
  },
3097
3315
  {
3098
3316
  lazy: async () => {
3099
- const { ProtectedCreateView } = await import('./CreateView-87aPv9QV.mjs');
3317
+ const { ProtectedCreateView } = await import('./CreateView-AaD01TxO.mjs');
3100
3318
  return {
3101
3319
  Component: ProtectedCreateView
3102
3320
  };
@@ -3105,7 +3323,7 @@ const ROUTES_CE = [
3105
3323
  },
3106
3324
  {
3107
3325
  lazy: async () => {
3108
- const { ProtectedEditView } = await import('./EditViewPage-f5dHmqdT.mjs');
3326
+ const { ProtectedEditView } = await import('./EditViewPage-c3QrE1Hr.mjs');
3109
3327
  return {
3110
3328
  Component: ProtectedEditView
3111
3329
  };
@@ -3114,7 +3332,7 @@ const ROUTES_CE = [
3114
3332
  },
3115
3333
  {
3116
3334
  lazy: async () => {
3117
- const { ProtectedCreateView } = await import('./CreateView-T8hLqvog.mjs');
3335
+ const { ProtectedCreateView } = await import('./CreateView-EfGicMHg.mjs');
3118
3336
  return {
3119
3337
  Component: ProtectedCreateView
3120
3338
  };
@@ -3123,7 +3341,7 @@ const ROUTES_CE = [
3123
3341
  },
3124
3342
  {
3125
3343
  lazy: async () => {
3126
- const { ProtectedListView } = await import('./ListView-uwPF62w6.mjs');
3344
+ const { ProtectedListView } = await import('./ListView-PXoWtVRs.mjs');
3127
3345
  return {
3128
3346
  Component: ProtectedListView
3129
3347
  };
@@ -3132,7 +3350,7 @@ const ROUTES_CE = [
3132
3350
  },
3133
3351
  {
3134
3352
  lazy: async () => {
3135
- const { ProtectedEditView } = await import('./EditView-r0lx661I.mjs');
3353
+ const { ProtectedEditView } = await import('./EditView-NOjzvG4n.mjs');
3136
3354
  return {
3137
3355
  Component: ProtectedEditView
3138
3356
  };
@@ -3141,7 +3359,7 @@ const ROUTES_CE = [
3141
3359
  },
3142
3360
  {
3143
3361
  lazy: async () => {
3144
- const { PurchaseAuditLogs } = await import('./PurchaseAuditLogs-_1tVWtNF.mjs');
3362
+ const { PurchaseAuditLogs } = await import('./PurchaseAuditLogs-iXSAELjJ.mjs');
3145
3363
  return {
3146
3364
  Component: PurchaseAuditLogs
3147
3365
  };
@@ -3150,7 +3368,7 @@ const ROUTES_CE = [
3150
3368
  },
3151
3369
  {
3152
3370
  lazy: async () => {
3153
- const { PurchaseSingleSignOn } = await import('./PurchaseSingleSignOn-VUU-U4wi.mjs');
3371
+ const { PurchaseSingleSignOn } = await import('./PurchaseSingleSignOn-A_9ts2Q3.mjs');
3154
3372
  return {
3155
3373
  Component: PurchaseSingleSignOn
3156
3374
  };
@@ -3483,7 +3701,7 @@ class StrapiApp {
3483
3701
  const adminLocales = await Promise.all(
3484
3702
  this.configurations.locales.map(async (locale) => {
3485
3703
  try {
3486
- const { default: data } = await __variableDynamicImportRuntimeHelper((/* #__PURE__ */ Object.assign({"./translations/ar.json": () => import('./ar-gTQs8p7A.mjs'),"./translations/ca.json": () => import('./ca-A-U5stlG.mjs'),"./translations/cs.json": () => import('./cs-iYqoHUVt.mjs'),"./translations/de.json": () => import('./de-uZBjRd6a.mjs'),"./translations/dk.json": () => import('./dk-nXAO32DE.mjs'),"./translations/en.json": () => import('./en-D7rooMTs.mjs'),"./translations/es.json": () => import('./es-i0dEHPPQ.mjs'),"./translations/eu.json": () => import('./eu-wFmYHERY.mjs'),"./translations/fr.json": () => import('./fr-OI7VyC_k.mjs'),"./translations/gu.json": () => import('./gu-zSaMc-a6.mjs'),"./translations/he.json": () => import('./he-YzAGShlQ.mjs'),"./translations/hi.json": () => import('./hi-ZQ4t6UdY.mjs'),"./translations/hu.json": () => import('./hu-O1FJoY8c.mjs'),"./translations/id.json": () => import('./id-Lb_0kPQU.mjs'),"./translations/it.json": () => import('./it-136monzD.mjs'),"./translations/ja.json": () => import('./ja-0-FUC0T4.mjs'),"./translations/ko.json": () => import('./ko-H3Y8GpnD.mjs'),"./translations/ml.json": () => import('./ml-NPdcpJoN.mjs'),"./translations/ms.json": () => import('./ms-v9c434YI.mjs'),"./translations/nl.json": () => import('./nl-qHmOt3d1.mjs'),"./translations/no.json": () => import('./no-XGZQN-Ji.mjs'),"./translations/pl.json": () => import('./pl-Id5YX-Pw.mjs'),"./translations/pt-BR.json": () => import('./pt-BR-0o0Gf-P8.mjs'),"./translations/pt.json": () => import('./pt-f52AXrxz.mjs'),"./translations/ru.json": () => import('./ru-FpmG9SEf.mjs'),"./translations/sa.json": () => import('./sa-KUwV8aRB.mjs'),"./translations/sk.json": () => import('./sk-g_1C955P.mjs'),"./translations/sv.json": () => import('./sv-lzyY1dsz.mjs'),"./translations/th.json": () => import('./th-7LJ9Y8EL.mjs'),"./translations/tr.json": () => import('./tr-09v-DLMg.mjs'),"./translations/uk.json": () => import('./uk-38IblmOr.mjs'),"./translations/vi.json": () => import('./vi-ryNZtXtk.mjs'),"./translations/zh-Hans.json": () => import('./zh-Hans-HlxDUeVA.mjs'),"./translations/zh.json": () => import('./zh-WEteLuNm.mjs')})), `./translations/${locale}.json`);
3704
+ const { default: data } = await __variableDynamicImportRuntimeHelper((/* #__PURE__ */ Object.assign({"./translations/ar.json": () => import('./ar-gTQs8p7A.mjs'),"./translations/ca.json": () => import('./ca-A-U5stlG.mjs'),"./translations/cs.json": () => import('./cs-iYqoHUVt.mjs'),"./translations/de.json": () => import('./de-uZBjRd6a.mjs'),"./translations/dk.json": () => import('./dk-nXAO32DE.mjs'),"./translations/en.json": () => import('./en-K35WIWVM.mjs'),"./translations/es.json": () => import('./es-i0dEHPPQ.mjs'),"./translations/eu.json": () => import('./eu-wFmYHERY.mjs'),"./translations/fr.json": () => import('./fr-OI7VyC_k.mjs'),"./translations/gu.json": () => import('./gu-zSaMc-a6.mjs'),"./translations/he.json": () => import('./he-YzAGShlQ.mjs'),"./translations/hi.json": () => import('./hi-ZQ4t6UdY.mjs'),"./translations/hu.json": () => import('./hu-O1FJoY8c.mjs'),"./translations/id.json": () => import('./id-Lb_0kPQU.mjs'),"./translations/it.json": () => import('./it-136monzD.mjs'),"./translations/ja.json": () => import('./ja-0-FUC0T4.mjs'),"./translations/ko.json": () => import('./ko-H3Y8GpnD.mjs'),"./translations/ml.json": () => import('./ml-NPdcpJoN.mjs'),"./translations/ms.json": () => import('./ms-v9c434YI.mjs'),"./translations/nl.json": () => import('./nl-qHmOt3d1.mjs'),"./translations/no.json": () => import('./no-XGZQN-Ji.mjs'),"./translations/pl.json": () => import('./pl-Id5YX-Pw.mjs'),"./translations/pt-BR.json": () => import('./pt-BR-0o0Gf-P8.mjs'),"./translations/pt.json": () => import('./pt-f52AXrxz.mjs'),"./translations/ru.json": () => import('./ru-FpmG9SEf.mjs'),"./translations/sa.json": () => import('./sa-KUwV8aRB.mjs'),"./translations/sk.json": () => import('./sk-g_1C955P.mjs'),"./translations/sv.json": () => import('./sv-lzyY1dsz.mjs'),"./translations/th.json": () => import('./th-7LJ9Y8EL.mjs'),"./translations/tr.json": () => import('./tr-09v-DLMg.mjs'),"./translations/uk.json": () => import('./uk-38IblmOr.mjs'),"./translations/vi.json": () => import('./vi-ryNZtXtk.mjs'),"./translations/zh-Hans.json": () => import('./zh-Hans-HlxDUeVA.mjs'),"./translations/zh.json": () => import('./zh-WEteLuNm.mjs')})), `./translations/${locale}.json`);
3487
3705
  return { data, locale };
3488
3706
  } catch {
3489
3707
  return { data: null, locale };
@@ -3587,7 +3805,7 @@ class StrapiApp {
3587
3805
  {
3588
3806
  path: "usecase",
3589
3807
  lazy: async () => {
3590
- const { PrivateUseCasePage } = await import('./UseCasePage-bfP-fDoW.mjs');
3808
+ const { PrivateUseCasePage } = await import('./UseCasePage-yZtkKM9d.mjs');
3591
3809
  return {
3592
3810
  Component: PrivateUseCasePage
3593
3811
  };
@@ -3602,7 +3820,7 @@ class StrapiApp {
3602
3820
  {
3603
3821
  path: "/*",
3604
3822
  lazy: async () => {
3605
- const { PrivateAdminLayout } = await import('./AuthenticatedLayout-eMLYKMgW.mjs');
3823
+ const { PrivateAdminLayout } = await import('./AuthenticatedLayout-qx1Lyy4q.mjs');
3606
3824
  return {
3607
3825
  Component: PrivateAdminLayout
3608
3826
  };
@@ -3611,7 +3829,7 @@ class StrapiApp {
3611
3829
  {
3612
3830
  index: true,
3613
3831
  lazy: async () => {
3614
- const { HomePage } = await import('./HomePage-ZF3T0k2r.mjs');
3832
+ const { HomePage } = await import('./HomePage-uzU2Sfu_.mjs');
3615
3833
  return {
3616
3834
  Component: HomePage
3617
3835
  };
@@ -3620,7 +3838,7 @@ class StrapiApp {
3620
3838
  {
3621
3839
  path: "me",
3622
3840
  lazy: async () => {
3623
- const { ProfilePage } = await import('./ProfilePage-T2kC_KoM.mjs');
3841
+ const { ProfilePage } = await import('./ProfilePage-s8Kfhq6I.mjs');
3624
3842
  return {
3625
3843
  Component: ProfilePage
3626
3844
  };
@@ -3629,7 +3847,7 @@ class StrapiApp {
3629
3847
  {
3630
3848
  path: "list-plugins",
3631
3849
  lazy: async () => {
3632
- const { ProtectedInstalledPluginsPage } = await import('./InstalledPluginsPage-eOXi3oTN.mjs');
3850
+ const { ProtectedInstalledPluginsPage } = await import('./InstalledPluginsPage-j8w6fibY.mjs');
3633
3851
  return {
3634
3852
  Component: ProtectedInstalledPluginsPage
3635
3853
  };
@@ -3638,7 +3856,7 @@ class StrapiApp {
3638
3856
  {
3639
3857
  path: "marketplace",
3640
3858
  lazy: async () => {
3641
- const { ProtectedMarketplacePage } = await import('./MarketplacePage-kNQPkoZK.mjs');
3859
+ const { ProtectedMarketplacePage } = await import('./MarketplacePage-HcA4KrZ1.mjs');
3642
3860
  return {
3643
3861
  Component: ProtectedMarketplacePage
3644
3862
  };
@@ -3647,7 +3865,7 @@ class StrapiApp {
3647
3865
  {
3648
3866
  path: "settings/*",
3649
3867
  lazy: async () => {
3650
- const { Layout } = await import('./Layout-mnn4_IJp.mjs');
3868
+ const { Layout } = await import('./Layout-mm5FttWk.mjs');
3651
3869
  return {
3652
3870
  Component: Layout
3653
3871
  };
@@ -3656,7 +3874,7 @@ class StrapiApp {
3656
3874
  {
3657
3875
  path: "application-infos",
3658
3876
  lazy: async () => {
3659
- const { ApplicationInfoPage } = await import('./ApplicationInfoPage-TImAEuc3.mjs');
3877
+ const { ApplicationInfoPage } = await import('./ApplicationInfoPage-y-FX7oPO.mjs');
3660
3878
  return {
3661
3879
  Component: ApplicationInfoPage
3662
3880
  };
@@ -4268,7 +4486,7 @@ const PopoverImpl = () => {
4268
4486
  onSubmit: handleSubmit,
4269
4487
  children: ({ values: formValues, modified, isSubmitting }) => {
4270
4488
  const filter = options.find((filter2) => filter2.name === formValues.name);
4271
- const Input = filter?.input || InputRenderer;
4489
+ const Input = filter?.input || MemoizedInputRenderer;
4272
4490
  return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 2, style: { minWidth: 184 }, children: [
4273
4491
  [
4274
4492
  {
@@ -4303,7 +4521,7 @@ const PopoverImpl = () => {
4303
4521
  }),
4304
4522
  type: "enumeration"
4305
4523
  }
4306
- ].map((field) => /* @__PURE__ */ jsx(InputRenderer, { ...field }, field.name)),
4524
+ ].map((field) => /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }, field.name)),
4307
4525
  filter && formValues.filter && formValues.filter !== "$null" && formValues.filter !== "$notNull" ? /* @__PURE__ */ jsx(
4308
4526
  Input,
4309
4527
  {
@@ -4555,7 +4773,7 @@ const PageSize = ({ options = ["10", "20", "50", "100"] }) => {
4555
4773
  children: options.map((option) => /* @__PURE__ */ jsx(SingleSelectOption, { value: option, children: option }, option))
4556
4774
  }
4557
4775
  ),
4558
- /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", as: "span", children: formatMessage({
4776
+ /* @__PURE__ */ jsx(Typography, { textColor: "neutral600", tag: "span", children: formatMessage({
4559
4777
  id: "components.PageFooter.select",
4560
4778
  defaultMessage: "Entries per page"
4561
4779
  }) })
@@ -4610,24 +4828,16 @@ const Links = ({ boundaryCount = 1, siblingCount = 1 }) => {
4610
4828
  return null;
4611
4829
  }
4612
4830
  return /* @__PURE__ */ jsxs(Pagination$1, { activePage, pageCount, children: [
4613
- /* @__PURE__ */ jsx(
4614
- PreviousLink,
4615
- {
4616
- as: Link$1,
4617
- to: { search: stringify({ ...query, page: activePage - 1 }) },
4618
- children: formatMessage({
4619
- id: "components.pagination.go-to-previous",
4620
- defaultMessage: "Go to previous page"
4621
- })
4622
- }
4623
- ),
4831
+ /* @__PURE__ */ jsx(PreviousLink, { tag: Link$1, to: { search: stringify({ ...query, page: activePage - 1 }) }, children: formatMessage({
4832
+ id: "components.pagination.go-to-previous",
4833
+ defaultMessage: "Go to previous page"
4834
+ }) }),
4624
4835
  items.map((item) => {
4625
4836
  if (typeof item === "number") {
4626
4837
  return /* @__PURE__ */ jsx(
4627
4838
  PageLink,
4628
4839
  {
4629
- as: Link$1,
4630
- active: item === activePage,
4840
+ tag: Link$1,
4631
4841
  number: item,
4632
4842
  to: { search: stringify({ ...query, page: item }) },
4633
4843
  children: formatMessage(
@@ -4640,17 +4850,10 @@ const Links = ({ boundaryCount = 1, siblingCount = 1 }) => {
4640
4850
  }
4641
4851
  return /* @__PURE__ */ jsx(Dots, {}, item);
4642
4852
  }),
4643
- /* @__PURE__ */ jsx(
4644
- NextLink,
4645
- {
4646
- as: Link$1,
4647
- to: { search: stringify({ ...query, page: activePage + 1 }) },
4648
- children: formatMessage({
4649
- id: "components.pagination.go-to-next",
4650
- defaultMessage: "Go to next page"
4651
- })
4652
- }
4653
- )
4853
+ /* @__PURE__ */ jsx(NextLink, { tag: Link$1, to: { search: stringify({ ...query, page: activePage + 1 }) }, children: formatMessage({
4854
+ id: "components.pagination.go-to-next",
4855
+ defaultMessage: "Go to next page"
4856
+ }) })
4654
4857
  ] });
4655
4858
  };
4656
4859
  const Pagination = {
@@ -4705,7 +4908,6 @@ const SearchInput = ({
4705
4908
  value,
4706
4909
  clearLabel: formatMessage({ id: "clearLabel", defaultMessage: "Clear" }),
4707
4910
  onClear: handleClear,
4708
- size: "S",
4709
4911
  placeholder,
4710
4912
  children: label
4711
4913
  }
@@ -4716,9 +4918,9 @@ const SearchInput = ({
4716
4918
  {
4717
4919
  ref: iconButtonRef,
4718
4920
  disabled,
4719
- icon: /* @__PURE__ */ jsx(Search, { fill: "neutral800" }),
4720
4921
  label: formatMessage({ id: "global.search", defaultMessage: "Search" }),
4721
- onClick: handleToggle
4922
+ onClick: handleToggle,
4923
+ children: /* @__PURE__ */ jsx(Search, { fill: "neutral800" })
4722
4924
  }
4723
4925
  );
4724
4926
  };
@@ -4801,20 +5003,12 @@ const HeaderCell = ({ name, label, sortable }) => {
4801
5003
  return /* @__PURE__ */ jsx(
4802
5004
  Th,
4803
5005
  {
4804
- action: isSorted && sortable && /* @__PURE__ */ jsx(
4805
- IconButton,
4806
- {
4807
- label: sortLabel,
4808
- onClick: handleClickSort,
4809
- icon: /* @__PURE__ */ jsx(SortIcon, { isUp: sortOrder === "ASC" }),
4810
- borderStyle: "none"
4811
- }
4812
- ),
5006
+ action: isSorted && sortable && /* @__PURE__ */ jsx(IconButton, { label: sortLabel, onClick: handleClickSort, borderStyle: "none", children: /* @__PURE__ */ jsx(SortIcon, { $isUp: sortOrder === "ASC" }) }),
4813
5007
  children: /* @__PURE__ */ jsx(Tooltip, { label: sortable ? sortLabel : label, children: /* @__PURE__ */ jsx(
4814
5008
  Typography,
4815
5009
  {
4816
5010
  textColor: "neutral600",
4817
- as: !isSorted && sortable ? "button" : "span",
5011
+ tag: !isSorted && sortable ? "button" : "span",
4818
5012
  onClick: handleClickSort,
4819
5013
  variant: "sigma",
4820
5014
  children: label
@@ -4824,7 +5018,7 @@ const HeaderCell = ({ name, label, sortable }) => {
4824
5018
  );
4825
5019
  };
4826
5020
  const SortIcon = styled(CaretDown)`
4827
- transform: ${({ isUp }) => `rotate(${isUp ? "180" : "0"}deg)`};
5021
+ transform: ${({ $isUp }) => `rotate(${$isUp ? "180" : "0"}deg)`};
4828
5022
  `;
4829
5023
  const ActionBar = ({ children }) => {
4830
5024
  const { formatMessage } = useIntl();
@@ -4932,8 +5126,8 @@ const CheckboxCell = ({ id, ...props }) => {
4932
5126
  BaseCheckbox,
4933
5127
  {
4934
5128
  "aria-label": formatMessage({
4935
- id: "global.select-all-entries",
4936
- defaultMessage: "Select all entries"
5129
+ id: "global.select",
5130
+ defaultMessage: "Select"
4937
5131
  }),
4938
5132
  disabled: rows.length === 0,
4939
5133
  checked: isChecked,
@@ -4981,7 +5175,9 @@ const useFetchClient = () => {
4981
5175
  );
4982
5176
  };
4983
5177
 
4984
- const usersService = adminApi.injectEndpoints({
5178
+ const usersService = adminApi.enhanceEndpoints({
5179
+ addTagTypes: ["LicenseLimits", "User", "Role", "RolePermissions"]
5180
+ }).injectEndpoints({
4985
5181
  endpoints: (builder) => ({
4986
5182
  /**
4987
5183
  * users
@@ -5151,5 +5347,5 @@ const {
5151
5347
  } = usersService;
5152
5348
  const useAdminUsers = useGetUsersQuery;
5153
5349
 
5154
- export { useFocusInputField as A, BackButton as B, ConfirmDialog as C, renderAdmin as D, DescriptionComponentRenderer as E, Form as F, Blocker as G, useForm as H, InputRenderer as I, useTable as J, constants as K, LayoutContent as L, NpsSurvey as N, Pagination as P, SearchInput as S, Table as T, UnauthenticatedLayout as U, Logo as a, Login as b, useGetRolePermissionLayoutQuery as c, useGetRolePermissionsQuery as d, errorsTrads as e, useCreateRoleMutation as f, useUpdateRolePermissionsMutation as g, useUpdateUserMutation as h, useAdminUsers as i, useGuidedTour as j, getBasename as k, Column as l, useQueryParams as m, useFetchClient as n, useUpdateRoleMutation as o, SETTINGS_LINKS_CE as p, useCreateUserMutation as q, useDeleteManyUsersMutation as r, Filters as s, useClipboard as t, useGetRolesQuery as u, useField as v, usePersistentState as w, StrapiLogo as x, isObject as y, useInjectReducer as z };
5155
- //# sourceMappingURL=index-7fPlAzj6.mjs.map
5350
+ export { isObject as A, BackButton as B, ConfirmDialog as C, useInjectReducer as D, useFocusInputField as E, Form as F, renderAdmin as G, DescriptionComponentRenderer as H, Blocker as I, getYupValidationErrors as J, useTable as K, LayoutContent as L, MemoizedInputRenderer as M, NpsSurvey as N, constants as O, Pagination as P, SearchInput as S, Table as T, UnauthenticatedLayout as U, Logo as a, Layouts as b, useGetRolesQuery as c, Login as d, errorsTrads as e, useGetRolePermissionLayoutQuery as f, useGetRolePermissionsQuery as g, useCreateRoleMutation as h, useUpdateRolePermissionsMutation as i, useUpdateUserMutation as j, useAdminUsers as k, useGuidedTour as l, getBasename as m, Column as n, useQueryParams as o, useFetchClient as p, useUpdateRoleMutation as q, SETTINGS_LINKS_CE as r, useCreateUserMutation as s, useDeleteManyUsersMutation as t, useField as u, Filters as v, useClipboard as w, useForm as x, MemoizedStringInput as y, StrapiLogo as z };
5351
+ //# sourceMappingURL=index-69WUS0qJ.mjs.map