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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/dist/admin/{AdminSeatInfo-ZrJlIt8M.mjs → AdminSeatInfo-f4TfgHFE.mjs} +5 -5
  2. package/dist/admin/AdminSeatInfo-f4TfgHFE.mjs.map +1 -0
  3. package/dist/admin/{AdminSeatInfo-G2ipQTLk.js → AdminSeatInfo-jSvlksaP.js} +5 -5
  4. package/dist/admin/AdminSeatInfo-jSvlksaP.js.map +1 -0
  5. package/dist/admin/{ApplicationInfoPage-dc0ReC0D.js → ApplicationInfoPage-75RPd0Ro.js} +32 -37
  6. package/dist/admin/ApplicationInfoPage-75RPd0Ro.js.map +1 -0
  7. package/dist/admin/{ApplicationInfoPage-TImAEuc3.mjs → ApplicationInfoPage-aB-vx1uX.mjs} +33 -37
  8. package/dist/admin/ApplicationInfoPage-aB-vx1uX.mjs.map +1 -0
  9. package/dist/admin/{AuthResponse-wfOnX6GO.mjs → AuthResponse-HbQI8hB8.mjs} +2 -2
  10. package/dist/admin/{AuthResponse-wfOnX6GO.mjs.map → AuthResponse-HbQI8hB8.mjs.map} +1 -1
  11. package/dist/admin/{AuthResponse-J1Y_hbtY.js → AuthResponse-YXlkDXrI.js} +2 -2
  12. package/dist/admin/{AuthResponse-J1Y_hbtY.js.map → AuthResponse-YXlkDXrI.js.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-eMLYKMgW.mjs → AuthenticatedLayout-LYVDZ-jl.mjs} +204 -213
  14. package/dist/admin/AuthenticatedLayout-LYVDZ-jl.mjs.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-TNbTifIA.js → AuthenticatedLayout-xkecaUXJ.js} +208 -218
  16. package/dist/admin/AuthenticatedLayout-xkecaUXJ.js.map +1 -0
  17. package/dist/admin/{ContentBox-Mzcpnn32.js → ContentBox-3MRTNw0X.js} +5 -8
  18. package/dist/admin/ContentBox-3MRTNw0X.js.map +1 -0
  19. package/dist/admin/{ContentBox-DjmNTcxv.mjs → ContentBox-9LBDzws0.mjs} +3 -2
  20. package/dist/admin/ContentBox-9LBDzws0.mjs.map +1 -0
  21. package/dist/admin/{CreateActionEE-_i5qXWEG.js → CreateActionEE-9Z-woKCk.js} +2 -2
  22. package/dist/admin/{CreateActionEE-_i5qXWEG.js.map → CreateActionEE-9Z-woKCk.js.map} +1 -1
  23. package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs → CreateActionEE-QiVnA7Rx.mjs} +2 -2
  24. package/dist/admin/{CreateActionEE-Qdz4UDPf.mjs.map → CreateActionEE-QiVnA7Rx.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-uTwt_c8J.mjs → CreatePage-1iAK5V1h.mjs} +29 -26
  26. package/dist/admin/CreatePage-1iAK5V1h.mjs.map +1 -0
  27. package/dist/admin/{CreatePage-f3faA3vG.js → CreatePage-ZrJXDmLJ.js} +3 -3
  28. package/dist/admin/{CreatePage-f3faA3vG.js.map → CreatePage-ZrJXDmLJ.js.map} +1 -1
  29. package/dist/admin/{CreatePage-07P5-Zjt.mjs → CreatePage-jsVARlnB.mjs} +3 -3
  30. package/dist/admin/{CreatePage-07P5-Zjt.mjs.map → CreatePage-jsVARlnB.mjs.map} +1 -1
  31. package/dist/admin/{CreatePage-03MgCK7Z.js → CreatePage-uHcWJ0EG.js} +29 -29
  32. package/dist/admin/CreatePage-uHcWJ0EG.js.map +1 -0
  33. package/dist/admin/{CreateView-o5-hvd4h.js → CreateView-1WqjD6uO.js} +3 -3
  34. package/dist/admin/{CreateView-o5-hvd4h.js.map → CreateView-1WqjD6uO.js.map} +1 -1
  35. package/dist/admin/{CreateView-T8hLqvog.mjs → CreateView-Bi2p6uqA.mjs} +3 -3
  36. package/dist/admin/{CreateView-T8hLqvog.mjs.map → CreateView-Bi2p6uqA.mjs.map} +1 -1
  37. package/dist/admin/{CreateView-UemGfFqI.js → CreateView-HhvACL4t.js} +3 -3
  38. package/dist/admin/{CreateView-UemGfFqI.js.map → CreateView-HhvACL4t.js.map} +1 -1
  39. package/dist/admin/{CreateView-87aPv9QV.mjs → CreateView-tSUpjqXs.mjs} +3 -3
  40. package/dist/admin/{CreateView-87aPv9QV.mjs.map → CreateView-tSUpjqXs.mjs.map} +1 -1
  41. package/dist/admin/{EditPage-YqW1NIMp.js → EditPage-2l5T1lDC.js} +212 -254
  42. package/dist/admin/EditPage-2l5T1lDC.js.map +1 -0
  43. package/dist/admin/{EditPage-lyFePXWl.mjs → EditPage-JmGISZmG.mjs} +213 -252
  44. package/dist/admin/EditPage-JmGISZmG.mjs.map +1 -0
  45. package/dist/admin/{EditPage-Ly5MBiuB.js → EditPage-LMYuiLOp.js} +45 -29
  46. package/dist/admin/EditPage-LMYuiLOp.js.map +1 -0
  47. package/dist/admin/{EditPage-UqMDbMvJ.js → EditPage-MGQBBDmf.js} +12 -12
  48. package/dist/admin/EditPage-MGQBBDmf.js.map +1 -0
  49. package/dist/admin/{EditPage-F3yH0Fy6.mjs → EditPage-xQSTfVfO.mjs} +46 -30
  50. package/dist/admin/EditPage-xQSTfVfO.mjs.map +1 -0
  51. package/dist/admin/{EditPage-XSz7Wpt8.mjs → EditPage-yFuP3hZG.mjs} +13 -13
  52. package/dist/admin/EditPage-yFuP3hZG.mjs.map +1 -0
  53. package/dist/admin/{EditView-r0lx661I.mjs → EditView-06IK7yeo.mjs} +9 -9
  54. package/dist/admin/EditView-06IK7yeo.mjs.map +1 -0
  55. package/dist/admin/{EditView-bRFkRKAz.js → EditView-9cnQdotQ.js} +8 -8
  56. package/dist/admin/EditView-9cnQdotQ.js.map +1 -0
  57. package/dist/admin/{EditViewPage-tAsn6QS9.js → EditViewPage-ZTHin7cu.js} +20 -21
  58. package/dist/admin/EditViewPage-ZTHin7cu.js.map +1 -0
  59. package/dist/admin/{EditViewPage-f5dHmqdT.mjs → EditViewPage-x06h850j.mjs} +17 -17
  60. package/dist/admin/EditViewPage-x06h850j.mjs.map +1 -0
  61. package/dist/admin/{EventsTable-4h6LoAp-.js → EventsTable-i6DpZCjP.js} +2 -2
  62. package/dist/admin/{EventsTable-4h6LoAp-.js.map → EventsTable-i6DpZCjP.js.map} +1 -1
  63. package/dist/admin/{EventsTable-2C605_qQ.mjs → EventsTable-uKf7y-DM.mjs} +2 -2
  64. package/dist/admin/{EventsTable-2C605_qQ.mjs.map → EventsTable-uKf7y-DM.mjs.map} +1 -1
  65. package/dist/admin/{HomePage-4FySTCJU.mjs → HomePage-Dk_BC7we.mjs} +3 -3
  66. package/dist/admin/{HomePage-4FySTCJU.mjs.map → HomePage-Dk_BC7we.mjs.map} +1 -1
  67. package/dist/admin/{HomePage-UTnZwpp-.js → HomePage-VKuqPKIc.js} +34 -32
  68. package/dist/admin/HomePage-VKuqPKIc.js.map +1 -0
  69. package/dist/admin/{HomePage-Uuww2J1B.js → HomePage-tgoADIWe.js} +3 -3
  70. package/dist/admin/{HomePage-Uuww2J1B.js.map → HomePage-tgoADIWe.js.map} +1 -1
  71. package/dist/admin/{HomePage-ZF3T0k2r.mjs → HomePage-ytofle46.mjs} +24 -19
  72. package/dist/admin/HomePage-ytofle46.mjs.map +1 -0
  73. package/dist/admin/{InstalledPluginsPage-eOXi3oTN.mjs → InstalledPluginsPage--iVM14K3.mjs} +9 -8
  74. package/dist/admin/InstalledPluginsPage--iVM14K3.mjs.map +1 -0
  75. package/dist/admin/{InstalledPluginsPage-o43CGz2w.js → InstalledPluginsPage-5fDQJ3wY.js} +8 -7
  76. package/dist/admin/InstalledPluginsPage-5fDQJ3wY.js.map +1 -0
  77. package/dist/admin/{Layout-XxmAreH1.js → Layout-BYaZsvrJ.js} +11 -12
  78. package/dist/admin/Layout-BYaZsvrJ.js.map +1 -0
  79. package/dist/admin/{Layout-mnn4_IJp.mjs → Layout-woodqxaL.mjs} +10 -10
  80. package/dist/admin/Layout-woodqxaL.mjs.map +1 -0
  81. package/dist/admin/{ListPage-hln8fKzE.js → ListPage-0zYjdNsU.js} +11 -12
  82. package/dist/admin/ListPage-0zYjdNsU.js.map +1 -0
  83. package/dist/admin/{ListPage-Gj1OS6PX.mjs → ListPage-4VNlnYoD.mjs} +3 -3
  84. package/dist/admin/{ListPage-Gj1OS6PX.mjs.map → ListPage-4VNlnYoD.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-URtxfNJ4.js → ListPage-5OElNgYk.js} +14 -18
  86. package/dist/admin/ListPage-5OElNgYk.js.map +1 -0
  87. package/dist/admin/{ListPage-eNkUD3v_.mjs → ListPage-7wUYXUgs.mjs} +15 -15
  88. package/dist/admin/ListPage-7wUYXUgs.mjs.map +1 -0
  89. package/dist/admin/{ListPage-AFDAiR9X.mjs → ListPage-HCUzAC2B.mjs} +17 -30
  90. package/dist/admin/ListPage-HCUzAC2B.mjs.map +1 -0
  91. package/dist/admin/{ListPage-NTxNcftS.js → ListPage-MxOKlYmC.js} +14 -14
  92. package/dist/admin/ListPage-MxOKlYmC.js.map +1 -0
  93. package/dist/admin/{ListPage-5g8MtUEB.mjs → ListPage-NURPzLD-.mjs} +15 -19
  94. package/dist/admin/ListPage-NURPzLD-.mjs.map +1 -0
  95. package/dist/admin/{ListPage-Pi_dzfDr.js → ListPage-V26wHeo6.js} +16 -29
  96. package/dist/admin/ListPage-V26wHeo6.js.map +1 -0
  97. package/dist/admin/{ListPage-6Ukzm--I.js → ListPage-XZshrlES.js} +3 -3
  98. package/dist/admin/{ListPage-6Ukzm--I.js.map → ListPage-XZshrlES.js.map} +1 -1
  99. package/dist/admin/{ListPage-kdjzZ2al.mjs → ListPage-wtqw0RXL.mjs} +12 -13
  100. package/dist/admin/ListPage-wtqw0RXL.mjs.map +1 -0
  101. package/dist/admin/{ListView-pYVBJ4lg.js → ListView-SmHj4MFz.js} +10 -8
  102. package/dist/admin/ListView-SmHj4MFz.js.map +1 -0
  103. package/dist/admin/{ListView-FBh2WTHx.mjs → ListView-VRdl68JN.mjs} +10 -10
  104. package/dist/admin/ListView-VRdl68JN.mjs.map +1 -0
  105. package/dist/admin/{ListView-uwPF62w6.mjs → ListView-hi5fg7r8.mjs} +11 -9
  106. package/dist/admin/ListView-hi5fg7r8.mjs.map +1 -0
  107. package/dist/admin/{ListView-f2wVT21J.js → ListView-siyyh4f7.js} +9 -9
  108. package/dist/admin/ListView-siyyh4f7.js.map +1 -0
  109. package/dist/admin/{Login-FSNzATl0.mjs → Login-9hdTvAlD.mjs} +5 -5
  110. package/dist/admin/Login-9hdTvAlD.mjs.map +1 -0
  111. package/dist/admin/{Login-3rLFPliB.js → Login-bGhxScoT.js} +6 -10
  112. package/dist/admin/Login-bGhxScoT.js.map +1 -0
  113. package/dist/admin/{MagicLinkEE-bccsKKbJ.js → MagicLinkEE-5c7HTc8n.js} +3 -3
  114. package/dist/admin/{MagicLinkEE-bccsKKbJ.js.map → MagicLinkEE-5c7HTc8n.js.map} +1 -1
  115. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs → MagicLinkEE-cAwS-v3S.mjs} +3 -3
  116. package/dist/admin/{MagicLinkEE-czAdOuTH.mjs.map → MagicLinkEE-cAwS-v3S.mjs.map} +1 -1
  117. package/dist/admin/{MarketplacePage-kNQPkoZK.mjs → MarketplacePage-hCtNAEWd.mjs} +19 -44
  118. package/dist/admin/MarketplacePage-hCtNAEWd.mjs.map +1 -0
  119. package/dist/admin/{MarketplacePage-sSTqINSu.js → MarketplacePage-t6FAhfMK.js} +23 -49
  120. package/dist/admin/MarketplacePage-t6FAhfMK.js.map +1 -0
  121. package/dist/admin/{Permissions-aU1eesjP.mjs → Permissions-Ng22nlYS.mjs} +34 -33
  122. package/dist/admin/Permissions-Ng22nlYS.mjs.map +1 -0
  123. package/dist/admin/{Permissions-NlSnXUKO.js → Permissions-aRi-vOk-.js} +53 -53
  124. package/dist/admin/Permissions-aRi-vOk-.js.map +1 -0
  125. package/dist/admin/{PrivateRoute-nJgGpBXP.js → PrivateRoute--JuZZan_.js} +2 -2
  126. package/dist/admin/{PrivateRoute-nJgGpBXP.js.map → PrivateRoute--JuZZan_.js.map} +1 -1
  127. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs → PrivateRoute-hfATZKl-.mjs} +2 -2
  128. package/dist/admin/{PrivateRoute-zZ7p1pc9.mjs.map → PrivateRoute-hfATZKl-.mjs.map} +1 -1
  129. package/dist/admin/{ProfilePage-jU98pa61.js → ProfilePage-8ieqgIrW.js} +11 -11
  130. package/dist/admin/ProfilePage-8ieqgIrW.js.map +1 -0
  131. package/dist/admin/{ProfilePage-T2kC_KoM.mjs → ProfilePage-imi1Exl5.mjs} +12 -12
  132. package/dist/admin/ProfilePage-imi1Exl5.mjs.map +1 -0
  133. package/dist/admin/{PurchaseAuditLogs-_1tVWtNF.mjs → PurchaseAuditLogs-RGCYZl25.mjs} +5 -4
  134. package/dist/admin/PurchaseAuditLogs-RGCYZl25.mjs.map +1 -0
  135. package/dist/admin/{PurchaseAuditLogs-GreHFPSR.js → PurchaseAuditLogs-xUopaGaS.js} +4 -3
  136. package/dist/admin/PurchaseAuditLogs-xUopaGaS.js.map +1 -0
  137. package/dist/admin/{PurchaseSingleSignOn-6t4xuNBd.js → PurchaseSingleSignOn-XOgkJmcn.js} +4 -3
  138. package/dist/admin/PurchaseSingleSignOn-XOgkJmcn.js.map +1 -0
  139. package/dist/admin/{PurchaseSingleSignOn-VUU-U4wi.mjs → PurchaseSingleSignOn-uMysWmJV.mjs} +5 -4
  140. package/dist/admin/PurchaseSingleSignOn-uMysWmJV.mjs.map +1 -0
  141. package/dist/admin/{SSOProviders-FZwT7RmU.js → SSOProviders-AirHFyBl.js} +4 -8
  142. package/dist/admin/SSOProviders-AirHFyBl.js.map +1 -0
  143. package/dist/admin/{SSOProviders-GcYDRAyn.mjs → SSOProviders-t8D-v8As.mjs} +2 -2
  144. package/dist/admin/SSOProviders-t8D-v8As.mjs.map +1 -0
  145. package/dist/admin/{SelectRoles--ys30CdN.mjs → SelectRoles-kh6E_r88.mjs} +44 -39
  146. package/dist/admin/SelectRoles-kh6E_r88.mjs.map +1 -0
  147. package/dist/admin/{SelectRoles-EdE6yfsj.js → SelectRoles-uO7YohIC.js} +44 -43
  148. package/dist/admin/SelectRoles-uO7YohIC.js.map +1 -0
  149. package/dist/admin/SingleSignOnPage-T90Opl7K.mjs +231 -0
  150. package/dist/admin/SingleSignOnPage-T90Opl7K.mjs.map +1 -0
  151. package/dist/admin/SingleSignOnPage-bnlsJPDh.js +256 -0
  152. package/dist/admin/SingleSignOnPage-bnlsJPDh.js.map +1 -0
  153. package/dist/admin/{Table--He5qeQG.mjs → Table-XkC1iUuN.mjs} +5 -5
  154. package/dist/admin/Table-XkC1iUuN.mjs.map +1 -0
  155. package/dist/admin/{Table-HXu3Nz4W.js → Table-qGOQznHA.js} +6 -9
  156. package/dist/admin/Table-qGOQznHA.js.map +1 -0
  157. package/dist/admin/{TokenTypeSelect-yY2kwTyO.js → TokenTypeSelect-733TgUaC.js} +83 -65
  158. package/dist/admin/TokenTypeSelect-733TgUaC.js.map +1 -0
  159. package/dist/admin/{TokenTypeSelect-kgKThMAL.mjs → TokenTypeSelect-kjhQiPbj.mjs} +84 -66
  160. package/dist/admin/TokenTypeSelect-kjhQiPbj.mjs.map +1 -0
  161. package/dist/admin/{UseCasePage-bfP-fDoW.mjs → UseCasePage-cNK2fN9i.mjs} +17 -34
  162. package/dist/admin/UseCasePage-cNK2fN9i.mjs.map +1 -0
  163. package/dist/admin/{UseCasePage-6_WRtTwv.js → UseCasePage-uk5jmSsj.js} +16 -36
  164. package/dist/admin/UseCasePage-uk5jmSsj.js.map +1 -0
  165. package/dist/admin/admin-dE-jnuNr.mjs +339 -0
  166. package/dist/admin/admin-dE-jnuNr.mjs.map +1 -0
  167. package/dist/admin/{admin-vlKSOeHB.js → admin-sk7xXllW.js} +146 -61
  168. package/dist/admin/admin-sk7xXllW.js.map +1 -0
  169. package/dist/admin/{apiTokens-bNRitXGF.mjs → apiTokens-W-bmo-dU.mjs} +2 -2
  170. package/dist/admin/{apiTokens-bNRitXGF.mjs.map → apiTokens-W-bmo-dU.mjs.map} +1 -1
  171. package/dist/admin/{apiTokens-lXn03No3.js → apiTokens-amUH0Wax.js} +2 -2
  172. package/dist/admin/{apiTokens-lXn03No3.js.map → apiTokens-amUH0Wax.js.map} +1 -1
  173. package/dist/admin/{constants-wnw4TGwG.mjs → constants-K5IOuR0b.mjs} +7 -7
  174. package/dist/admin/constants-K5IOuR0b.mjs.map +1 -0
  175. package/dist/admin/{constants-qdY4HMAg.js → constants-ZW8_ZgiN.js} +8 -12
  176. package/dist/admin/constants-ZW8_ZgiN.js.map +1 -0
  177. package/dist/admin/ee.js +1 -1
  178. package/dist/admin/ee.mjs +1 -1
  179. package/dist/admin/{index-7fPlAzj6.mjs → index--VHJr8__.mjs} +596 -410
  180. package/dist/admin/index--VHJr8__.mjs.map +1 -0
  181. package/dist/admin/{index-FJLgZ-Wg.js → index-8r8zglVb.js} +604 -418
  182. package/dist/admin/index-8r8zglVb.js.map +1 -0
  183. package/dist/admin/index.js +6 -3
  184. package/dist/admin/index.js.map +1 -1
  185. package/dist/admin/index.mjs +3 -3
  186. package/dist/admin/{rbac-uVd0RAE5.mjs → rbac-OjYDiE2n.mjs} +5 -5
  187. package/dist/admin/rbac-OjYDiE2n.mjs.map +1 -0
  188. package/dist/admin/{rbac-xgYdpUSq.js → rbac-xo8GO653.js} +7 -7
  189. package/dist/admin/rbac-xo8GO653.js.map +1 -0
  190. package/dist/admin/{selectors-AvywwQRm.mjs → selectors-k4OkEbL7.mjs} +2 -2
  191. package/dist/admin/{selectors-AvywwQRm.mjs.map → selectors-k4OkEbL7.mjs.map} +1 -1
  192. package/dist/admin/{selectors-C62Wf5On.js → selectors-lQOnkFXz.js} +2 -2
  193. package/dist/admin/{selectors-C62Wf5On.js.map → selectors-lQOnkFXz.js.map} +1 -1
  194. package/dist/admin/src/components/FormInputs/Email.d.ts +1 -1
  195. package/dist/admin/src/components/FormInputs/Enumeration.d.ts +1 -1
  196. package/dist/admin/src/components/FormInputs/Json.d.ts +2 -4
  197. package/dist/admin/src/components/FormInputs/Password.d.ts +1 -1
  198. package/dist/admin/src/components/FormInputs/String.d.ts +1 -4
  199. package/dist/admin/src/components/FormInputs/Textarea.d.ts +1 -1
  200. package/dist/admin/src/components/FormInputs/types.d.ts +1 -0
  201. package/dist/admin/src/components/Layouts/ActionLayout.d.ts +7 -0
  202. package/dist/admin/src/components/Layouts/ContentLayout.d.ts +6 -0
  203. package/dist/admin/src/components/Layouts/GridLayout.d.ts +17 -0
  204. package/dist/admin/src/components/Layouts/HeaderLayout.d.ts +19 -0
  205. package/dist/admin/src/components/MainNav/MainNav.d.ts +3 -0
  206. package/dist/admin/src/components/MainNav/NavLink.d.ts +5 -3
  207. package/dist/admin/src/components/MainNav/NavUser.d.ts +7 -0
  208. package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +2 -4
  209. package/dist/admin/src/hooks/useFetchClient.d.ts +7 -8
  210. package/dist/admin/src/hooks/useFocusInputField.d.ts +2 -5
  211. package/dist/admin/src/index.d.ts +6 -1
  212. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +4 -1
  213. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +6 -51
  214. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +1 -1
  215. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +2 -1
  216. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -1
  217. package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +2 -3
  218. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +2 -2
  219. package/dist/admin/src/services/contentApi.d.ts +1 -1
  220. package/dist/admin/src/utils/baseQuery.d.ts +6 -6
  221. package/dist/admin/src/utils/getFetchClient.d.ts +40 -10
  222. package/dist/admin/src/utils/normalizeAPIError.d.ts +2 -5
  223. package/dist/admin/test.js +2 -2
  224. package/dist/admin/test.mjs +2 -2
  225. package/dist/admin/{transferTokens-5qQjIKFd.js → transferTokens-6WfQBaQ-.js} +2 -2
  226. package/dist/admin/{transferTokens-5qQjIKFd.js.map → transferTokens-6WfQBaQ-.js.map} +1 -1
  227. package/dist/admin/{transferTokens-ngan7vz6.mjs → transferTokens-i692XANY.mjs} +2 -2
  228. package/dist/admin/{transferTokens-ngan7vz6.mjs.map → transferTokens-i692XANY.mjs.map} +1 -1
  229. package/dist/admin/{useAdminRoles-yjN2uT_o.js → useAdminRoles-Y5UQ6Egv.js} +2 -2
  230. package/dist/admin/{useAdminRoles-yjN2uT_o.js.map → useAdminRoles-Y5UQ6Egv.js.map} +1 -1
  231. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs → useAdminRoles-eVMCxlw1.mjs} +2 -2
  232. package/dist/admin/{useAdminRoles-X4pwDHaW.mjs.map → useAdminRoles-eVMCxlw1.mjs.map} +1 -1
  233. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs → useLicenseLimitNotification-OHVMxaBa.mjs} +3 -3
  234. package/dist/admin/{useLicenseLimitNotification-T2LoOH4B.mjs.map → useLicenseLimitNotification-OHVMxaBa.mjs.map} +1 -1
  235. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js → useLicenseLimitNotification-sfaZoueO.js} +3 -3
  236. package/dist/admin/{useLicenseLimitNotification-wrxezW0C.js.map → useLicenseLimitNotification-sfaZoueO.js.map} +1 -1
  237. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs → useLicenseLimits--WDjYzSj.mjs} +2 -2
  238. package/dist/admin/{useLicenseLimits-fKc9uCtd.mjs.map → useLicenseLimits--WDjYzSj.mjs.map} +1 -1
  239. package/dist/admin/{useLicenseLimits-m11DOu9p.js → useLicenseLimits-mA4KtQ81.js} +2 -2
  240. package/dist/admin/{useLicenseLimits-m11DOu9p.js.map → useLicenseLimits-mA4KtQ81.js.map} +1 -1
  241. package/dist/admin/{useWebhooks-8VWSFqNg.mjs → useWebhooks-0pDqX-k4.mjs} +2 -2
  242. package/dist/admin/{useWebhooks-8VWSFqNg.mjs.map → useWebhooks-0pDqX-k4.mjs.map} +1 -1
  243. package/dist/admin/{useWebhooks-oZ5DKtvz.js → useWebhooks-BBj9Ew7F.js} +2 -2
  244. package/dist/admin/{useWebhooks-oZ5DKtvz.js.map → useWebhooks-BBj9Ew7F.js.map} +1 -1
  245. package/dist/admin/{validation-rsP4iH1U.js → validation-hp8oweyu.js} +2 -2
  246. package/dist/admin/{validation-rsP4iH1U.js.map → validation-hp8oweyu.js.map} +1 -1
  247. package/dist/admin/{validation-p2q0MWxi.mjs → validation-xeirflOd.mjs} +2 -2
  248. package/dist/admin/{validation-p2q0MWxi.mjs.map → validation-xeirflOd.mjs.map} +1 -1
  249. package/dist/package.json.d.ts +12 -14
  250. package/dist/server/index.js +9 -6
  251. package/dist/server/index.js.map +1 -1
  252. package/dist/server/index.mjs +9 -6
  253. package/dist/server/index.mjs.map +1 -1
  254. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  255. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  256. package/package.json +13 -15
  257. package/dist/admin/AdminSeatInfo-G2ipQTLk.js.map +0 -1
  258. package/dist/admin/AdminSeatInfo-ZrJlIt8M.mjs.map +0 -1
  259. package/dist/admin/ApplicationInfoPage-TImAEuc3.mjs.map +0 -1
  260. package/dist/admin/ApplicationInfoPage-dc0ReC0D.js.map +0 -1
  261. package/dist/admin/AuthenticatedLayout-TNbTifIA.js.map +0 -1
  262. package/dist/admin/AuthenticatedLayout-eMLYKMgW.mjs.map +0 -1
  263. package/dist/admin/ContentBox-DjmNTcxv.mjs.map +0 -1
  264. package/dist/admin/ContentBox-Mzcpnn32.js.map +0 -1
  265. package/dist/admin/CreatePage-03MgCK7Z.js.map +0 -1
  266. package/dist/admin/CreatePage-uTwt_c8J.mjs.map +0 -1
  267. package/dist/admin/EditPage-F3yH0Fy6.mjs.map +0 -1
  268. package/dist/admin/EditPage-Ly5MBiuB.js.map +0 -1
  269. package/dist/admin/EditPage-UqMDbMvJ.js.map +0 -1
  270. package/dist/admin/EditPage-XSz7Wpt8.mjs.map +0 -1
  271. package/dist/admin/EditPage-YqW1NIMp.js.map +0 -1
  272. package/dist/admin/EditPage-lyFePXWl.mjs.map +0 -1
  273. package/dist/admin/EditView-bRFkRKAz.js.map +0 -1
  274. package/dist/admin/EditView-r0lx661I.mjs.map +0 -1
  275. package/dist/admin/EditViewPage-f5dHmqdT.mjs.map +0 -1
  276. package/dist/admin/EditViewPage-tAsn6QS9.js.map +0 -1
  277. package/dist/admin/HomePage-UTnZwpp-.js.map +0 -1
  278. package/dist/admin/HomePage-ZF3T0k2r.mjs.map +0 -1
  279. package/dist/admin/InstalledPluginsPage-eOXi3oTN.mjs.map +0 -1
  280. package/dist/admin/InstalledPluginsPage-o43CGz2w.js.map +0 -1
  281. package/dist/admin/Layout-XxmAreH1.js.map +0 -1
  282. package/dist/admin/Layout-mnn4_IJp.mjs.map +0 -1
  283. package/dist/admin/ListPage-5g8MtUEB.mjs.map +0 -1
  284. package/dist/admin/ListPage-AFDAiR9X.mjs.map +0 -1
  285. package/dist/admin/ListPage-NTxNcftS.js.map +0 -1
  286. package/dist/admin/ListPage-Pi_dzfDr.js.map +0 -1
  287. package/dist/admin/ListPage-URtxfNJ4.js.map +0 -1
  288. package/dist/admin/ListPage-eNkUD3v_.mjs.map +0 -1
  289. package/dist/admin/ListPage-hln8fKzE.js.map +0 -1
  290. package/dist/admin/ListPage-kdjzZ2al.mjs.map +0 -1
  291. package/dist/admin/ListView-FBh2WTHx.mjs.map +0 -1
  292. package/dist/admin/ListView-f2wVT21J.js.map +0 -1
  293. package/dist/admin/ListView-pYVBJ4lg.js.map +0 -1
  294. package/dist/admin/ListView-uwPF62w6.mjs.map +0 -1
  295. package/dist/admin/Login-3rLFPliB.js.map +0 -1
  296. package/dist/admin/Login-FSNzATl0.mjs.map +0 -1
  297. package/dist/admin/MarketplacePage-kNQPkoZK.mjs.map +0 -1
  298. package/dist/admin/MarketplacePage-sSTqINSu.js.map +0 -1
  299. package/dist/admin/Permissions-NlSnXUKO.js.map +0 -1
  300. package/dist/admin/Permissions-aU1eesjP.mjs.map +0 -1
  301. package/dist/admin/ProfilePage-T2kC_KoM.mjs.map +0 -1
  302. package/dist/admin/ProfilePage-jU98pa61.js.map +0 -1
  303. package/dist/admin/PurchaseAuditLogs-GreHFPSR.js.map +0 -1
  304. package/dist/admin/PurchaseAuditLogs-_1tVWtNF.mjs.map +0 -1
  305. package/dist/admin/PurchaseSingleSignOn-6t4xuNBd.js.map +0 -1
  306. package/dist/admin/PurchaseSingleSignOn-VUU-U4wi.mjs.map +0 -1
  307. package/dist/admin/SSOProviders-FZwT7RmU.js.map +0 -1
  308. package/dist/admin/SSOProviders-GcYDRAyn.mjs.map +0 -1
  309. package/dist/admin/SelectRoles--ys30CdN.mjs.map +0 -1
  310. package/dist/admin/SelectRoles-EdE6yfsj.js.map +0 -1
  311. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs +0 -234
  312. package/dist/admin/SingleSignOnPage-Y-brfYQ1.mjs.map +0 -1
  313. package/dist/admin/SingleSignOnPage-nv121JbB.js +0 -259
  314. package/dist/admin/SingleSignOnPage-nv121JbB.js.map +0 -1
  315. package/dist/admin/Table--He5qeQG.mjs.map +0 -1
  316. package/dist/admin/Table-HXu3Nz4W.js.map +0 -1
  317. package/dist/admin/TokenTypeSelect-kgKThMAL.mjs.map +0 -1
  318. package/dist/admin/TokenTypeSelect-yY2kwTyO.js.map +0 -1
  319. package/dist/admin/UseCasePage-6_WRtTwv.js.map +0 -1
  320. package/dist/admin/UseCasePage-bfP-fDoW.mjs.map +0 -1
  321. package/dist/admin/admin-5SXhE_nJ.mjs +0 -256
  322. package/dist/admin/admin-5SXhE_nJ.mjs.map +0 -1
  323. package/dist/admin/admin-vlKSOeHB.js.map +0 -1
  324. package/dist/admin/constants-qdY4HMAg.js.map +0 -1
  325. package/dist/admin/constants-wnw4TGwG.mjs.map +0 -1
  326. package/dist/admin/index-7fPlAzj6.mjs.map +0 -1
  327. package/dist/admin/index-FJLgZ-Wg.js.map +0 -1
  328. package/dist/admin/rbac-uVd0RAE5.mjs.map +0 -1
  329. package/dist/admin/rbac-xgYdpUSq.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListPage-HCUzAC2B.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n BaseCheckbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton tag={NavLink} startIcon={<Plus />} variant=\"default\" to=\"create\" size=\"S\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}
@@ -9,13 +9,13 @@ const icons = require('@strapi/icons');
9
9
  const qs = require('qs');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRouterDom = require('react-router-dom');
12
- const index = require('./index-FJLgZ-Wg.js');
13
- const rbac = require('./rbac-xgYdpUSq.js');
12
+ const index = require('./index-8r8zglVb.js');
13
+ const rbac = require('./rbac-xo8GO653.js');
14
14
  const useEnterprise = require('./useEnterprise-DUs6BYlP.js');
15
15
  const users = require('./users-R5A0kUOV.js');
16
16
  const yup = require('yup');
17
- const admin = require('./admin-vlKSOeHB.js');
18
- const SelectRoles = require('./SelectRoles-EdE6yfsj.js');
17
+ const admin = require('./admin-sk7xXllW.js');
18
+ const SelectRoles = require('./SelectRoles-uO7YohIC.js');
19
19
 
20
20
  function _interopNamespace(e) {
21
21
  if (e && e.__esModule) return e;
@@ -81,7 +81,7 @@ const ModalForm = ({ onToggle }) => {
81
81
  );
82
82
  const MagicLink = useEnterprise.useEnterprise(
83
83
  SelectRoles.MagicLinkCE,
84
- async () => (await Promise.resolve().then(() => require('./MagicLinkEE-bccsKKbJ.js'))).MagicLinkEE
84
+ async () => (await Promise.resolve().then(() => require('./MagicLinkEE-5c7HTc8n.js'))).MagicLinkEE
85
85
  );
86
86
  const [createUser] = index.useCreateUserMutation();
87
87
  const headerTitle = formatMessage({
@@ -138,7 +138,7 @@ const ModalForm = ({ onToggle }) => {
138
138
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
139
139
  currentStep !== "create" && /* @__PURE__ */ jsxRuntime.jsx(MagicLink, { registrationToken }),
140
140
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { children: [
141
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", as: "h2", children: formatMessage({
141
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", tag: "h2", children: formatMessage({
142
142
  id: "app.components.Users.ModalCreateBody.block-title.details",
143
143
  defaultMessage: "User details"
144
144
  }) }),
@@ -157,7 +157,7 @@ const ModalForm = ({ onToggle }) => {
157
157
  }) }) }) })
158
158
  ] }),
159
159
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { children: [
160
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", as: "h2", children: formatMessage({
160
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", tag: "h2", children: formatMessage({
161
161
  id: "global.roles",
162
162
  defaultMessage: "User's role"
163
163
  }) }),
@@ -299,7 +299,7 @@ const ListPageCE = () => {
299
299
  const { pagination, users: users$1 = [] } = data ?? {};
300
300
  const CreateAction = useEnterprise.useEnterprise(
301
301
  CreateActionCE,
302
- async () => (await Promise.resolve().then(() => require('./CreateActionEE-_i5qXWEG.js'))).CreateActionEE
302
+ async () => (await Promise.resolve().then(() => require('./CreateActionEE-9Z-woKCk.js'))).CreateActionEE
303
303
  );
304
304
  const headers = TABLE_HEADERS.map((header) => ({
305
305
  ...header,
@@ -353,7 +353,7 @@ const ListPageCE = () => {
353
353
  }
354
354
  ) }),
355
355
  /* @__PURE__ */ jsxRuntime.jsx(
356
- designSystem.HeaderLayout,
356
+ index.Layouts.Header,
357
357
  {
358
358
  primaryAction: canCreate && /* @__PURE__ */ jsxRuntime.jsx(CreateAction, { onClick: handleToggle }),
359
359
  title,
@@ -364,7 +364,7 @@ const ListPageCE = () => {
364
364
  }
365
365
  ),
366
366
  /* @__PURE__ */ jsxRuntime.jsx(
367
- designSystem.ActionLayout,
367
+ index.Layouts.Action,
368
368
  {
369
369
  startActions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
370
370
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -384,7 +384,7 @@ const ListPageCE = () => {
384
384
  ] })
385
385
  }
386
386
  ),
387
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ContentLayout, { children: [
387
+ /* @__PURE__ */ jsxRuntime.jsxs(index.Layouts.Content, { children: [
388
388
  /* @__PURE__ */ jsxRuntime.jsxs(index.Table.Root, { rows: users$1, headers, children: [
389
389
  /* @__PURE__ */ jsxRuntime.jsx(index.Table.ActionBar, {}),
390
390
  /* @__PURE__ */ jsxRuntime.jsxs(index.Table.Content, { children: [
@@ -411,7 +411,7 @@ const ListPageCE = () => {
411
411
  canRead ? /* @__PURE__ */ jsxRuntime.jsx(
412
412
  designSystem.IconButton,
413
413
  {
414
- forwardedAs: reactRouterDom.NavLink,
414
+ tag: reactRouterDom.NavLink,
415
415
  to: user.id.toString(),
416
416
  label: formatMessage(
417
417
  { id: "app.component.table.edit", defaultMessage: "Edit {target}" },
@@ -543,7 +543,7 @@ const ListPage = () => {
543
543
  ListPageCE,
544
544
  async () => (
545
545
  // eslint-disable-next-line import/no-cycle
546
- (await Promise.resolve().then(() => require('./ListPage-6Ukzm--I.js'))).UserListPageEE
546
+ (await Promise.resolve().then(() => require('./ListPage-XZshrlES.js'))).UserListPageEE
547
547
  )
548
548
  );
549
549
  if (!UsersListPage) {
@@ -559,4 +559,4 @@ const ProtectedListPage = () => {
559
559
  exports.ListPage = ListPage;
560
560
  exports.ListPageCE = ListPageCE;
561
561
  exports.ProtectedListPage = ProtectedListPage;
562
- //# sourceMappingURL=ListPage-NTxNcftS.js.map
562
+ //# sourceMappingURL=ListPage-MxOKlYmC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListPage-MxOKlYmC.js","sources":["../../admin/src/pages/Settings/pages/Users/components/CreateActionCE.tsx","../../admin/src/pages/Settings/pages/Users/components/NewUserForm.tsx","../../admin/src/pages/Settings/pages/Users/ListPage.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@strapi/design-system';\nimport { Mail } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\ninterface CreateActionCEProps extends Pick<ButtonProps, 'onClick'> {}\n\nconst CreateActionCE = ({ onClick }: CreateActionCEProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Button onClick={onClick} startIcon={<Mail />} size=\"S\">\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n );\n};\n\nexport { CreateActionCE };\nexport type { CreateActionCEProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Typography,\n Breadcrumbs,\n Crumb,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, type FormHelpers } from '../../../../../components/Form';\nimport { InputRenderer } from '../../../../../components/FormInputs/Renderer';\nimport { useNotification } from '../../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { useCreateUserMutation } from '../../../../../services/users';\nimport { FormLayoutInputProps } from '../../../../../types/forms';\nimport { isBaseQueryError } from '../../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\nimport { MagicLinkCE } from './MagicLinkCE';\nimport { SelectRoles } from './SelectRoles';\n\nimport type { Data } from '@strapi/types';\n\ninterface ModalFormProps {\n onToggle: () => void;\n}\n\ntype FormLayout = FormLayoutInputProps[][];\n\nconst ModalForm = ({ onToggle }: ModalFormProps) => {\n const [currentStep, setStep] = React.useState<keyof typeof STEPPER>('create');\n const [registrationToken, setRegistrationToken] = React.useState('');\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const roleLayout = useEnterprise<FormLayout, FormLayout, FormLayout>(\n ROLE_LAYOUT,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).ROLE_LAYOUT,\n {\n combine(ceRoles, eeRoles) {\n return [...ceRoles, ...eeRoles];\n },\n\n defaultValue: [],\n }\n );\n\n const initialValues = useEnterprise<InitialData>(\n FORM_INITIAL_VALUES,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm'\n )\n ).FORM_INITIAL_VALUES,\n {\n combine(ceValues, eeValues) {\n return {\n ...ceValues,\n ...eeValues,\n };\n },\n\n defaultValue: FORM_INITIAL_VALUES,\n }\n );\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE'\n )\n ).MagicLinkEE\n );\n\n const [createUser] = useCreateUserMutation();\n\n const headerTitle = formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n });\n\n const handleSubmit = async (body: InitialData, { setErrors }: FormHelpers<InitialData>) => {\n const res = await createUser({\n ...body,\n roles: body.roles ?? [],\n });\n\n if ('data' in res) {\n if (res.data.registrationToken) {\n setRegistrationToken(res.data.registrationToken);\n\n goNext();\n } else {\n // This shouldn't happen, but just incase.\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n }\n }\n };\n\n const goNext = () => {\n if (next) {\n setStep(next);\n } else {\n onToggle();\n }\n };\n\n const { buttonSubmitLabel, isDisabled, next } = STEPPER[currentStep];\n\n // block rendering until the EE component is fully loaded\n if (!MagicLink) {\n return null;\n }\n\n return (\n <ModalLayout onClose={onToggle} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={headerTitle}>\n <Crumb isCurrent>{headerTitle}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Form\n method={currentStep === 'create' ? 'POST' : 'PUT'}\n initialValues={initialValues ?? {}}\n onSubmit={handleSubmit}\n validationSchema={FORM_SCHEMA}\n >\n {({ isSubmitting }) => {\n return (\n <>\n <ModalBody>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {currentStep !== 'create' && <MagicLink registrationToken={registrationToken} />}\n <Box>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'User details',\n })}\n </Typography>\n <Box paddingTop={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid gap={5}>\n {FORM_LAYOUT.map((row) => {\n return row.map(({ size, ...field }) => {\n return (\n <GridItem key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={isDisabled}\n label={formatMessage(field.label)}\n placeholder={formatMessage(field.placeholder)}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Flex>\n </Box>\n </Box>\n <Box>\n <Typography variant=\"beta\" tag=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Box paddingTop={4}>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles disabled={isDisabled} />\n </GridItem>\n {roleLayout.map((row) => {\n return row.map(({ size, ...field }) => {\n return (\n <GridItem key={field.name} col={size}>\n <InputRenderer\n {...field}\n disabled={isDisabled}\n label={formatMessage(field.label)}\n placeholder={\n field.placeholder ? formatMessage(field.placeholder) : undefined\n }\n hint={field.hint ? formatMessage(field.hint) : undefined}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Box>\n </Box>\n </Flex>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={\n currentStep === 'create' ? (\n <Button type=\"submit\" loading={isSubmitting}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n ) : (\n <Button type=\"button\" loading={isSubmitting} onClick={onToggle}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n )\n }\n />\n </>\n );\n }}\n </Form>\n </ModalLayout>\n );\n};\n\ninterface InitialData {\n firstname?: string;\n lastname?: string;\n email?: string;\n roles?: Data.ID[];\n useSSORegistration?: boolean;\n}\n\nconst FORM_INITIAL_VALUES = {\n firstname: '',\n lastname: '',\n email: '',\n roles: [],\n};\n\nconst ROLE_LAYOUT: FormLayout = [];\n\nconst FORM_LAYOUT = [\n [\n {\n label: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'string' as const,\n size: 6,\n required: true,\n },\n {\n label: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'string' as const,\n size: 6,\n },\n ],\n [\n {\n label: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email' as const,\n size: 6,\n required: true,\n },\n ],\n] satisfies FormLayout;\n\nconst FORM_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n roles: yup\n .array()\n .min(1, {\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n});\n\nconst STEPPER = {\n create: {\n buttonSubmitLabel: {\n id: 'app.containers.Users.ModalForm.footer.button-success',\n defaultMessage: 'Invite user',\n },\n isDisabled: false,\n next: 'magic-link',\n },\n 'magic-link': {\n buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },\n isDisabled: true,\n next: null,\n },\n} as const;\n\nexport { ModalForm };\nexport type { InitialData };\n","import * as React from 'react';\n\nimport { Flex, Typography, Status, IconButton } from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport * as qs from 'qs';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { NavLink, useLocation, useNavigate } from 'react-router-dom';\n\nimport { SanitizedAdminUser } from '../../../../../../shared/contracts/shared';\nimport { Filters } from '../../../../components/Filters';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { Pagination } from '../../../../components/Pagination';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { Table } from '../../../../components/Table';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { useAdminUsers, useDeleteManyUsersMutation } from '../../../../services/users';\nimport { getDisplayName } from '../../../../utils/users';\n\nimport { CreateActionCE } from './components/CreateActionCE';\nimport { ModalForm } from './components/NewUserForm';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPageCE\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPageCE = () => {\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = React.useState(false);\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings?.users);\n const navigate = useNavigate();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n const { data, isError, isLoading } = useAdminUsers(qs.parse(search, { ignoreQueryPrefix: true }));\n\n const { pagination, users = [] } = data ?? {};\n\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE'\n )\n ).CreateActionEE\n );\n\n const headers = TABLE_HEADERS.map((header) => ({\n ...header,\n label: formatMessage(header.label),\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const [deleteAll] = useDeleteManyUsersMutation();\n const handleDeleteAll = async (ids: Array<SanitizedAdminUser['id']>) => {\n try {\n const res = await deleteAll({ ids });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'global.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const handleRowClick = (id: SanitizedAdminUser['id']) => () => {\n if (canRead) {\n navigate(id.toString());\n }\n };\n\n const handleDeleteClick = (id: SanitizedAdminUser['id']) => async () =>\n await handleDeleteAll([id]);\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Users',\n }\n )}\n </Page.Title>\n <Layouts.Header\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n <Layouts.Action\n startActions={\n <>\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n <Filters.Root options={FILTERS}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n </>\n }\n />\n <Layouts.Content>\n <Table.Root rows={users} headers={headers}>\n <Table.ActionBar />\n <Table.Content>\n <Table.Head>\n {canDelete ? <Table.HeaderCheckboxCell /> : null}\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {users.map((user) => (\n <Table.Row\n key={user.id}\n onClick={handleRowClick(user.id)}\n cursor={canRead ? 'pointer' : 'default'}\n >\n {canDelete ? <Table.CheckboxCell id={user.id} /> : null}\n {headers.map(({ cellFormatter, name, ...rest }) => {\n return (\n <Table.Cell key={name}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(user, { name, ...rest })\n ) : (\n // @ts-expect-error – name === \"roles\" has the data value of `AdminRole[]` but the header has a cellFormatter value so this shouldn't be called.\n <Typography textColor=\"neutral800\">{user[name] || '-'}</Typography>\n )}\n </Table.Cell>\n );\n })}\n {canRead || canDelete ? (\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n {canRead ? (\n <IconButton\n tag={NavLink}\n to={user.id.toString()}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getDisplayName(user) }\n )}\n noBorder\n icon={<Pencil />}\n />\n ) : null}\n {canDelete ? (\n <IconButton\n onClick={handleDeleteClick(user.id)}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getDisplayName(user) }\n )}\n noBorder\n icon={<Trash />}\n />\n ) : null}\n </Flex>\n </Table.Cell>\n ) : null}\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root {...pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {isModalOpened && <ModalForm onToggle={handleToggle} />}\n </Page.Main>\n );\n};\n\nconst TABLE_HEADERS: Array<\n Omit<Table.Header<SanitizedAdminUser, any>, 'label'> & { label: MessageDescriptor }\n> = [\n {\n name: 'firstname',\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n {\n name: 'lastname',\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n {\n name: 'email',\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n {\n name: 'roles',\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n cellFormatter({ roles }) {\n return (\n <Typography textColor=\"neutral800\">{roles.map((role) => role.name).join(',\\n')}</Typography>\n );\n },\n },\n {\n name: 'username',\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n {\n name: 'isActive',\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n cellFormatter({ isActive }) {\n return (\n <Flex>\n <Status\n size=\"S\"\n borderWidth={0}\n background=\"transparent\"\n color=\"neutral800\"\n variant={isActive ? 'success' : 'danger'}\n >\n <Typography>{isActive ? 'Active' : 'Inactive'}</Typography>\n </Status>\n </Flex>\n );\n },\n },\n];\n\nconst FILTERS = [\n {\n name: 'firstname',\n label: 'Firstname',\n type: 'string',\n },\n {\n name: 'lastname',\n label: 'Lastname',\n type: 'string',\n },\n {\n name: 'email',\n label: 'Email',\n type: 'email',\n },\n {\n name: 'username',\n label: 'Username',\n type: 'string',\n },\n {\n name: 'isActive',\n label: 'Active user',\n type: 'boolean',\n },\n] satisfies Filters.Filter[];\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\n// component which determines whether this page should render the CE or EE page\nconst ListPage = () => {\n const UsersListPage = useEnterprise(\n ListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage, ListPage, ListPageCE };\n"],"names":["useIntl","jsx","Button","Mail","React","useNotification","useAPIErrorHandler","useEnterprise","MagicLinkCE","useCreateUserMutation","isBaseQueryError","jsxs","ModalLayout","ModalHeader","Breadcrumbs","Crumb","Form","Fragment","ModalBody","Flex","Box","Typography","Grid","GridItem","InputRenderer","SelectRoles","ModalFooter","yup","translatedErrors","useTypedSelector","useRBAC","useNavigate","useLocation","useAdminUsers","qs","users","useDeleteManyUsersMutation","Page","Layouts","SearchInput","Filters","Table","IconButton","NavLink","getDisplayName","Pencil","Trash","Pagination","Status"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { ModalLayout, ModalHeader, Breadcrumbs, Crumb, ModalBody, Flex, Loader, Box, Typography, Grid, JSONInput, Combobox, ComboboxOption, HeaderLayout, ActionLayout, ContentLayout, IconButton } from '@strapi/design-system';
2
+ import { ModalLayout, ModalHeader, Breadcrumbs, Crumb, ModalBody, Flex, Loader, Box, Typography, Grid, Field, JSONInput, Combobox, ComboboxOption, IconButton } from '@strapi/design-system';
3
3
  import { Eye } from '@strapi/icons';
4
4
  import { useIntl } from 'react-intl';
5
- import { m as useQueryParams, i as useAdminUsers, v as useField, s as Filters, T as Table, P as Pagination } from './index-7fPlAzj6.mjs';
6
- import { u as useNotification, f as useAPIErrorHandler, b as useTypedSelector, P as Page, k as useRBAC } from './rbac-uVd0RAE5.mjs';
5
+ import { o as useQueryParams, k as useAdminUsers, u as useField, b as Layouts, v as Filters, T as Table, P as Pagination } from './index--VHJr8__.mjs';
6
+ import { u as useNotification, f as useAPIErrorHandler, b as useTypedSelector, P as Page, k as useRBAC } from './rbac-OjYDiE2n.mjs';
7
7
  import * as React from 'react';
8
- import { b as adminApi } from './admin-5SXhE_nJ.mjs';
8
+ import { b as adminApi } from './admin-dE-jnuNr.mjs';
9
9
  import parseISO from 'date-fns/parseISO';
10
10
  import { g as getDisplayName } from './users-a4KTyEyc.mjs';
11
11
 
@@ -171,17 +171,13 @@ const ActionBody = ({ isLoading, data, formattedDate }) => {
171
171
  ]
172
172
  }
173
173
  ),
174
- /* @__PURE__ */ jsx(
175
- JSONInput,
176
- {
177
- value: JSON.stringify(payload, null, 2),
178
- disabled: true,
179
- label: formatMessage({
180
- id: "Settings.permissions.auditLogs.payload",
181
- defaultMessage: "Payload"
182
- })
183
- }
184
- )
174
+ /* @__PURE__ */ jsxs(Field.Root, { children: [
175
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
176
+ id: "Settings.permissions.auditLogs.payload",
177
+ defaultMessage: "Payload"
178
+ }) }),
179
+ /* @__PURE__ */ jsx(JSONInput, { value: JSON.stringify(payload, null, 2), disabled: true })
180
+ ] })
185
181
  ] });
186
182
  };
187
183
  const ActionItem = ({ actionLabel, actionName }) => {
@@ -402,7 +398,7 @@ const ListPage = () => {
402
398
  }
403
399
  ) }),
404
400
  /* @__PURE__ */ jsx(
405
- HeaderLayout,
401
+ Layouts.Header,
406
402
  {
407
403
  title: formatMessage({
408
404
  id: "global.auditLogs",
@@ -415,7 +411,7 @@ const ListPage = () => {
415
411
  }
416
412
  ),
417
413
  /* @__PURE__ */ jsx(
418
- ActionLayout,
414
+ Layouts.Action,
419
415
  {
420
416
  startActions: /* @__PURE__ */ jsxs(Filters.Root, { options: displayedFilters, children: [
421
417
  /* @__PURE__ */ jsx(Filters.Trigger, {}),
@@ -424,7 +420,7 @@ const ListPage = () => {
424
420
  ] })
425
421
  }
426
422
  ),
427
- /* @__PURE__ */ jsxs(ContentLayout, { children: [
423
+ /* @__PURE__ */ jsxs(Layouts.Content, { children: [
428
424
  /* @__PURE__ */ jsx(Table.Root, { rows: results, headers, isLoading, children: /* @__PURE__ */ jsxs(Table.Content, { children: [
429
425
  /* @__PURE__ */ jsx(Table.Head, { children: headers.map((header) => /* @__PURE__ */ jsx(Table.HeaderCell, { ...header }, header.name)) }),
430
426
  /* @__PURE__ */ jsx(Table.Empty, {}),
@@ -482,4 +478,4 @@ const ProtectedListPage = () => {
482
478
  };
483
479
 
484
480
  export { ListPage, ProtectedListPage };
485
- //# sourceMappingURL=ListPage-5g8MtUEB.mjs.map
481
+ //# sourceMappingURL=ListPage-NURPzLD-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListPage-NURPzLD-.mjs","sources":["../../ee/admin/src/services/auditLogs.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.tsx","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n","import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n","export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n};\n\nexport const getDefaultMessage = (value: keyof typeof actionTypes) => {\n return actionTypes[value] || value;\n};\n","import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n ModalBody,\n ModalHeader,\n ModalLayout,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <ModalLayout onClose={handleClose} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <ModalBody>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </ModalBody>\n </ModalLayout>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <JSONInput value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n","import * as React from 'react';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useQueryParams } from '../../../../../../../../admin/src/hooks/useQueryParams';\nimport { useAdminUsers } from '../../../../../../../../admin/src/services/users';\nimport { useGetAuditLogsQuery } from '../../../../../services/auditLogs';\n\nexport const useAuditLogsData = ({\n canReadAuditLogs,\n canReadUsers,\n}: {\n canReadAuditLogs: boolean;\n canReadUsers: boolean;\n}) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams();\n\n const {\n data,\n error,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n skip: !canReadUsers,\n refetchOnMountOrArgChange: true,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({ type: 'danger', message: formatAPIError(error) });\n }\n }, [error, toggleNotification, formatAPIError]);\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n error: auditLogsError,\n } = useGetAuditLogsQuery(query, {\n refetchOnMountOrArgChange: true,\n skip: !canReadAuditLogs,\n });\n\n React.useEffect(() => {\n if (auditLogsError) {\n toggleNotification({ type: 'danger', message: formatAPIError(auditLogsError) });\n }\n }, [auditLogsError, toggleNotification, formatAPIError]);\n\n return {\n auditLogs,\n users: data?.users ?? [],\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n","import { Combobox, ComboboxOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { useField } from '../../../../../../../../admin/src/components/Form';\n\nexport const ComboboxFilter = (props: Filters.ValueInputProps) => {\n const { formatMessage } = useIntl();\n const field = useField(props.name);\n const ariaLabel = formatMessage({\n id: 'Settings.permissions.auditLogs.filter.aria-label',\n defaultMessage: 'Search and select an option to filter',\n });\n\n const handleChange = (value?: string) => {\n field.onChange(props.name, value);\n };\n\n return (\n <Combobox aria-label={ariaLabel} value={field.value} onChange={handleChange}>\n {props.options?.map((opt) => {\n const value = typeof opt === 'string' ? opt : opt.value;\n const label = typeof opt === 'string' ? opt : opt.label;\n return (\n <ComboboxOption key={value} value={value}>\n {label}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n","import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n","import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n {\n name: 'actions',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.actions',\n defaultMessage: 'Actions',\n }),\n sortable: false,\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n case 'actions':\n return null;\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n aria-label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n noBorder\n icon={<Eye />}\n />\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n <Pagination.Root {...auditLogs?.pagination} defaultPageSize={24}>\n <Pagination.PageSize options={['12', '24', '50', '100']} />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}
@@ -9,9 +9,9 @@ const icons = require('@strapi/icons');
9
9
  const symbols = require('@strapi/icons/symbols');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRouterDom = require('react-router-dom');
12
- const index = require('./index-FJLgZ-Wg.js');
13
- const rbac = require('./rbac-xgYdpUSq.js');
14
- const useWebhooks = require('./useWebhooks-oZ5DKtvz.js');
12
+ const index = require('./index-8r8zglVb.js');
13
+ const rbac = require('./rbac-xo8GO653.js');
14
+ const useWebhooks = require('./useWebhooks-BBj9Ew7F.js');
15
15
 
16
16
  function _interopNamespace(e) {
17
17
  if (e && e.__esModule) return e;
@@ -122,7 +122,7 @@ const ListPage = () => {
122
122
  if (isLoading) {
123
123
  return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Loading, {});
124
124
  }
125
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Layout, { children: [
125
+ return /* @__PURE__ */ jsxRuntime.jsxs(index.Layouts.Root, { children: [
126
126
  /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Title, { children: formatMessage(
127
127
  { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
128
128
  {
@@ -131,31 +131,21 @@ const ListPage = () => {
131
131
  ) }),
132
132
  /* @__PURE__ */ jsxRuntime.jsxs(rbac.Page.Main, { "aria-busy": isLoading, children: [
133
133
  /* @__PURE__ */ jsxRuntime.jsx(
134
- designSystem.HeaderLayout,
134
+ index.Layouts.Header,
135
135
  {
136
136
  title: formatMessage({ id: "Settings.webhooks.title", defaultMessage: "Webhooks" }),
137
137
  subtitle: formatMessage({
138
138
  id: "Settings.webhooks.list.description",
139
139
  defaultMessage: "Get POST changes notifications"
140
140
  }),
141
- primaryAction: canCreate && !isLoading && /* @__PURE__ */ jsxRuntime.jsx(
142
- designSystem.LinkButton,
143
- {
144
- as: reactRouterDom.NavLink,
145
- startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {}),
146
- variant: "default",
147
- to: "create",
148
- size: "S",
149
- children: formatMessage({
150
- id: "Settings.webhooks.list.button.add",
151
- defaultMessage: "Create new webhook"
152
- })
153
- }
154
- )
141
+ primaryAction: canCreate && !isLoading && /* @__PURE__ */ jsxRuntime.jsx(designSystem.LinkButton, { tag: reactRouterDom.NavLink, startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {}), variant: "default", to: "create", size: "S", children: formatMessage({
142
+ id: "Settings.webhooks.list.button.add",
143
+ defaultMessage: "Create new webhook"
144
+ }) })
155
145
  }
156
146
  ),
157
147
  webhooksToDeleteLength > 0 && canDelete && /* @__PURE__ */ jsxRuntime.jsx(
158
- designSystem.ActionLayout,
148
+ index.Layouts.Action,
159
149
  {
160
150
  startActions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
161
151
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
@@ -181,7 +171,7 @@ const ListPage = () => {
181
171
  ] })
182
172
  }
183
173
  ),
184
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: numberOfWebhooks > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
174
+ /* @__PURE__ */ jsxRuntime.jsx(index.Layouts.Content, { children: numberOfWebhooks > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
185
175
  designSystem.Table,
186
176
  {
187
177
  colCount: 5,
@@ -325,13 +315,10 @@ const ListPage = () => {
325
315
  id: "Settings.webhooks.list.empty.description",
326
316
  defaultMessage: "No webhooks found"
327
317
  }),
328
- action: canCreate ? (
329
- // @ts-expect-error – this is an issue with the DS where as props are not inferred
330
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.LinkButton, { variant: "secondary", startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {}), as: reactRouterDom.NavLink, to: "create", children: formatMessage({
331
- id: "Settings.webhooks.list.button.add",
332
- defaultMessage: "Create new webhook"
333
- }) })
334
- ) : null
318
+ action: canCreate ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.LinkButton, { variant: "secondary", startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Plus, {}), tag: reactRouterDom.NavLink, to: "create", children: formatMessage({
319
+ id: "Settings.webhooks.list.button.add",
320
+ defaultMessage: "Create new webhook"
321
+ }) }) : null
335
322
  }
336
323
  ) })
337
324
  ] }),
@@ -354,4 +341,4 @@ const ProtectedListPage = () => {
354
341
 
355
342
  exports.ListPage = ListPage;
356
343
  exports.ProtectedListPage = ProtectedListPage;
357
- //# sourceMappingURL=ListPage-Pi_dzfDr.js.map
344
+ //# sourceMappingURL=ListPage-V26wHeo6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListPage-V26wHeo6.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n BaseCheckbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton tag={NavLink} startIcon={<Plus />} variant=\"default\" to=\"create\" size=\"S\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["React","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useNavigate","useRBAC","useNotifyAT","useWebhooks","jsx","Page","jsxs","Layouts","LinkButton","NavLink","Plus","Fragment","Typography","Button","Trash","Table","TFooter","Thead","Tr","Th","BaseCheckbox","VisuallyHidden","Tbody","Td","Flex","Switch","IconButton","Pencil","EmptyStateLayout","EmptyDocuments","ConfirmDialog"],"mappings":"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"}