@strapi/admin 5.10.1 → 5.10.3

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 (221) hide show
  1. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs → AdminSeatInfo-CQ4w8a3g.mjs} +3 -3
  2. package/dist/admin/chunks/{AdminSeatInfo-Cw1ujAsZ.mjs.map → AdminSeatInfo-CQ4w8a3g.mjs.map} +1 -1
  3. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js → AdminSeatInfo-DZ4hBesy.js} +3 -3
  4. package/dist/admin/chunks/{AdminSeatInfo-BfPqdNN0.js.map → AdminSeatInfo-DZ4hBesy.js.map} +1 -1
  5. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js → ApplicationInfoPage-CsBvES_c.js} +5 -5
  6. package/dist/admin/chunks/{ApplicationInfoPage-DIiAE-tT.js.map → ApplicationInfoPage-CsBvES_c.js.map} +1 -1
  7. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs → ApplicationInfoPage-DiEcqVEU.mjs} +5 -5
  8. package/dist/admin/chunks/{ApplicationInfoPage-Ch6hKH4Y.mjs.map → ApplicationInfoPage-DiEcqVEU.mjs.map} +1 -1
  9. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js → AuthResponse-Ch0hurir.js} +2 -2
  10. package/dist/admin/chunks/{AuthResponse-DI-Q1kQL.js.map → AuthResponse-Ch0hurir.js.map} +1 -1
  11. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs → AuthResponse-Cu7HgPEK.mjs} +2 -2
  12. package/dist/admin/chunks/{AuthResponse-DFS6gVO4.mjs.map → AuthResponse-Cu7HgPEK.mjs.map} +1 -1
  13. package/dist/admin/chunks/{AuthenticatedLayout-BNWCtSH2.mjs → AuthenticatedLayout-C9eZ12Ue.mjs} +10 -291
  14. package/dist/admin/chunks/AuthenticatedLayout-C9eZ12Ue.mjs.map +1 -0
  15. package/dist/admin/chunks/{AuthenticatedLayout-D067wUoO.js → AuthenticatedLayout-D_VSoB1l.js} +5 -286
  16. package/dist/admin/chunks/AuthenticatedLayout-D_VSoB1l.js.map +1 -0
  17. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs → CreatePage-Cb-ETkOn.mjs} +5 -5
  18. package/dist/admin/chunks/{CreatePage-DojcQqvH.mjs.map → CreatePage-Cb-ETkOn.mjs.map} +1 -1
  19. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs → CreatePage-DQDa78K3.mjs} +4 -4
  20. package/dist/admin/chunks/{CreatePage-0PdN9Fyc.mjs.map → CreatePage-DQDa78K3.mjs.map} +1 -1
  21. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js → CreatePage-DbmpFjHt.js} +4 -4
  22. package/dist/admin/chunks/{CreatePage-BK_ivKDk.js.map → CreatePage-DbmpFjHt.js.map} +1 -1
  23. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js → CreatePage-DkzHz0zk.js} +5 -5
  24. package/dist/admin/chunks/{CreatePage-C8PMNi_P.js.map → CreatePage-DkzHz0zk.js.map} +1 -1
  25. package/dist/admin/chunks/{CreateView-DtccbWiR.js → CreateView-CE4-drK6.js} +5 -5
  26. package/dist/admin/chunks/{CreateView-DtccbWiR.js.map → CreateView-CE4-drK6.js.map} +1 -1
  27. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs → CreateView-CmubtWzn.mjs} +5 -5
  28. package/dist/admin/chunks/{CreateView-BuN2a7bo.mjs.map → CreateView-CmubtWzn.mjs.map} +1 -1
  29. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs → CreateView-DZaIevIB.mjs} +5 -5
  30. package/dist/admin/chunks/{CreateView-DB0xD4f5.mjs.map → CreateView-DZaIevIB.mjs.map} +1 -1
  31. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js → CreateView-yjsS9KUJ.js} +5 -5
  32. package/dist/admin/chunks/{CreateView-ITRNGoQ6.js.map → CreateView-yjsS9KUJ.js.map} +1 -1
  33. package/dist/admin/chunks/{EditPage-BazkPM17.mjs → EditPage-Bjr4f1Bs.mjs} +5 -5
  34. package/dist/admin/chunks/{EditPage-BazkPM17.mjs.map → EditPage-Bjr4f1Bs.mjs.map} +1 -1
  35. package/dist/admin/chunks/{EditPage-ibh8EtSv.js → EditPage-BrMhV8aB.js} +8 -8
  36. package/dist/admin/chunks/{EditPage-ibh8EtSv.js.map → EditPage-BrMhV8aB.js.map} +1 -1
  37. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs → EditPage-C44OaxjN.mjs} +5 -5
  38. package/dist/admin/chunks/{EditPage-BNZ90ISm.mjs.map → EditPage-C44OaxjN.mjs.map} +1 -1
  39. package/dist/admin/chunks/{EditPage-r043NYgB.js → EditPage-CNaAuT5C.js} +5 -5
  40. package/dist/admin/chunks/{EditPage-r043NYgB.js.map → EditPage-CNaAuT5C.js.map} +1 -1
  41. package/dist/admin/chunks/{EditPage-DiDSR0tz.js → EditPage-CycQlsFL.js} +5 -5
  42. package/dist/admin/chunks/{EditPage-DiDSR0tz.js.map → EditPage-CycQlsFL.js.map} +1 -1
  43. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs → EditPage-MmQQ4hWc.mjs} +8 -8
  44. package/dist/admin/chunks/{EditPage-LRn1-C88.mjs.map → EditPage-MmQQ4hWc.mjs.map} +1 -1
  45. package/dist/admin/chunks/{EditView-DxmJI6e0.js → EditView-C9cKaoY1.js} +4 -4
  46. package/dist/admin/chunks/{EditView-DxmJI6e0.js.map → EditView-C9cKaoY1.js.map} +1 -1
  47. package/dist/admin/chunks/{EditView-CgMgqsza.mjs → EditView-CFIkvFrt.mjs} +4 -4
  48. package/dist/admin/chunks/{EditView-CgMgqsza.mjs.map → EditView-CFIkvFrt.mjs.map} +1 -1
  49. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs → EditViewPage-CwdhHAuX.mjs} +4 -4
  50. package/dist/admin/chunks/{EditViewPage-BE_u8pQP.mjs.map → EditViewPage-CwdhHAuX.mjs.map} +1 -1
  51. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js → EditViewPage-DBga-70A.js} +4 -4
  52. package/dist/admin/chunks/{EditViewPage-Bz4GEIsc.js.map → EditViewPage-DBga-70A.js.map} +1 -1
  53. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs → EventsTable-CeqMb1jP.mjs} +5 -5
  54. package/dist/admin/chunks/{EventsTable-CsFf4rOj.mjs.map → EventsTable-CeqMb1jP.mjs.map} +1 -1
  55. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js → EventsTable-fkWvAMuL.js} +5 -5
  56. package/dist/admin/chunks/{EventsTable-CZY0aI5G.js.map → EventsTable-fkWvAMuL.js.map} +1 -1
  57. package/dist/admin/chunks/{HomePage-ebJLhO6a.js → HomePage-B2skN1xt.js} +5 -5
  58. package/dist/admin/chunks/{HomePage-ebJLhO6a.js.map → HomePage-B2skN1xt.js.map} +1 -1
  59. package/dist/admin/chunks/{HomePage-Df0YSqNE.js → HomePage-CVc0RfvD.js} +4 -4
  60. package/dist/admin/chunks/{HomePage-Df0YSqNE.js.map → HomePage-CVc0RfvD.js.map} +1 -1
  61. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs → HomePage-DGTeFboL.mjs} +4 -4
  62. package/dist/admin/chunks/{HomePage-CFTx_SgI.mjs.map → HomePage-DGTeFboL.mjs.map} +1 -1
  63. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs → HomePage-MfOqcIag.mjs} +5 -5
  64. package/dist/admin/chunks/{HomePage-C2Sue0eX.mjs.map → HomePage-MfOqcIag.mjs.map} +1 -1
  65. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs → InstalledPlugins-5j7xjDqh.mjs} +3 -3
  66. package/dist/admin/chunks/{InstalledPlugins-B4gyKUHh.mjs.map → InstalledPlugins-5j7xjDqh.mjs.map} +1 -1
  67. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js → InstalledPlugins-BXM3i3xr.js} +3 -3
  68. package/dist/admin/chunks/{InstalledPlugins-BtwwVsQ_.js.map → InstalledPlugins-BXM3i3xr.js.map} +1 -1
  69. package/dist/admin/chunks/{Layout-BZTqa7oj.js → Layout-DST1PxaO.js} +5 -5
  70. package/dist/admin/chunks/{Layout-BZTqa7oj.js.map → Layout-DST1PxaO.js.map} +1 -1
  71. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs → Layout-DYjtK6iP.mjs} +5 -5
  72. package/dist/admin/chunks/{Layout-B_xkPr1q.mjs.map → Layout-DYjtK6iP.mjs.map} +1 -1
  73. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs → ListPage-B5Hb8BA-.mjs} +7 -7
  74. package/dist/admin/chunks/{ListPage-BtMdu1eQ.mjs.map → ListPage-B5Hb8BA-.mjs.map} +1 -1
  75. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs → ListPage-BVI0O8bq.mjs} +3 -3
  76. package/dist/admin/chunks/{ListPage-Beh8uBDE.mjs.map → ListPage-BVI0O8bq.mjs.map} +1 -1
  77. package/dist/admin/chunks/{ListPage-YW-UVjk3.js → ListPage-BgyypnOM.js} +7 -7
  78. package/dist/admin/chunks/{ListPage-YW-UVjk3.js.map → ListPage-BgyypnOM.js.map} +1 -1
  79. package/dist/admin/chunks/{ListPage-CENQarKY.mjs → ListPage-BhGt3EBQ.mjs} +3 -3
  80. package/dist/admin/chunks/{ListPage-CENQarKY.mjs.map → ListPage-BhGt3EBQ.mjs.map} +1 -1
  81. package/dist/admin/chunks/{ListPage-gKsEm3Px.js → ListPage-CLXy5r60.js} +5 -5
  82. package/dist/admin/chunks/{ListPage-gKsEm3Px.js.map → ListPage-CLXy5r60.js.map} +1 -1
  83. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js → ListPage-CWINpwfS.js} +7 -7
  84. package/dist/admin/chunks/{ListPage-Du6Jt5wY.js.map → ListPage-CWINpwfS.js.map} +1 -1
  85. package/dist/admin/chunks/{ListPage-DgmOJv7H.js → ListPage-D21yUih2.js} +3 -3
  86. package/dist/admin/chunks/{ListPage-DgmOJv7H.js.map → ListPage-D21yUih2.js.map} +1 -1
  87. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js → ListPage-DbfL2rpi.js} +3 -3
  88. package/dist/admin/chunks/{ListPage-LqcmQd_Q.js.map → ListPage-DbfL2rpi.js.map} +1 -1
  89. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs → ListPage-PwzVjSsA.mjs} +7 -7
  90. package/dist/admin/chunks/{ListPage-r9rW__R8.mjs.map → ListPage-PwzVjSsA.mjs.map} +1 -1
  91. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs → ListPage-srJutHdv.mjs} +5 -5
  92. package/dist/admin/chunks/{ListPage-Czwak48Z.mjs.map → ListPage-srJutHdv.mjs.map} +1 -1
  93. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs → ListView--KzJiQiO.mjs} +4 -4
  94. package/dist/admin/chunks/{ListView-Q2AO0JSX.mjs.map → ListView--KzJiQiO.mjs.map} +1 -1
  95. package/dist/admin/chunks/{ListView-CajksON_.mjs → ListView-CoGoDDiF.mjs} +4 -4
  96. package/dist/admin/chunks/{ListView-CajksON_.mjs.map → ListView-CoGoDDiF.mjs.map} +1 -1
  97. package/dist/admin/chunks/{ListView-Bys8EN-y.js → ListView-DGfxO89i.js} +4 -4
  98. package/dist/admin/chunks/{ListView-Bys8EN-y.js.map → ListView-DGfxO89i.js.map} +1 -1
  99. package/dist/admin/chunks/{ListView-BfwBUxHL.js → ListView-DzwvQ8nW.js} +4 -4
  100. package/dist/admin/chunks/{ListView-BfwBUxHL.js.map → ListView-DzwvQ8nW.js.map} +1 -1
  101. package/dist/admin/chunks/{Login-5ByBaKI3.mjs → Login-Dtkhd0GV.mjs} +3 -3
  102. package/dist/admin/chunks/{Login-5ByBaKI3.mjs.map → Login-Dtkhd0GV.mjs.map} +1 -1
  103. package/dist/admin/chunks/{Login-BpEOnVbU.js → Login-Iw84AH9L.js} +3 -3
  104. package/dist/admin/chunks/{Login-BpEOnVbU.js.map → Login-Iw84AH9L.js.map} +1 -1
  105. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js → MagicLinkEE-C5K8p8Rk.js} +5 -5
  106. package/dist/admin/chunks/{MagicLinkEE-a-AbOB4s.js.map → MagicLinkEE-C5K8p8Rk.js.map} +1 -1
  107. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs → MagicLinkEE-EcyHC46Y.mjs} +5 -5
  108. package/dist/admin/chunks/{MagicLinkEE-CiQG7NL3.mjs.map → MagicLinkEE-EcyHC46Y.mjs.map} +1 -1
  109. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js → MarketplacePage-BmqfuAvB.js} +3 -3
  110. package/dist/admin/chunks/{MarketplacePage-my1nDaHy.js.map → MarketplacePage-BmqfuAvB.js.map} +1 -1
  111. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs → MarketplacePage-CcAYozK2.mjs} +3 -3
  112. package/dist/admin/chunks/{MarketplacePage-BrHNQ8SG.mjs.map → MarketplacePage-CcAYozK2.mjs.map} +1 -1
  113. package/dist/admin/chunks/{Permissions-C7FA_7J9.js → Permissions-D6qH78lN.js} +2 -2
  114. package/dist/admin/chunks/{Permissions-C7FA_7J9.js.map → Permissions-D6qH78lN.js.map} +1 -1
  115. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs → Permissions-rJmE3qb1.mjs} +2 -2
  116. package/dist/admin/chunks/{Permissions-CuLck8vw.mjs.map → Permissions-rJmE3qb1.mjs.map} +1 -1
  117. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js → PrivateRoute-DvGSyomB.js} +2 -2
  118. package/dist/admin/chunks/{PrivateRoute-BnxIlIDb.js.map → PrivateRoute-DvGSyomB.js.map} +1 -1
  119. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs → PrivateRoute-KL_RhoV8.mjs} +2 -2
  120. package/dist/admin/chunks/{PrivateRoute-BYKd2yE4.mjs.map → PrivateRoute-KL_RhoV8.mjs.map} +1 -1
  121. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs → ProfilePage-CN8SAQ9w.mjs} +4 -4
  122. package/dist/admin/chunks/{ProfilePage-Do6nPMsx.mjs.map → ProfilePage-CN8SAQ9w.mjs.map} +1 -1
  123. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js → ProfilePage-DiGV7o6c.js} +4 -4
  124. package/dist/admin/chunks/{ProfilePage-C8zWtYzY.js.map → ProfilePage-DiGV7o6c.js.map} +1 -1
  125. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs → PurchaseAuditLogs-BI41XTBD.mjs} +3 -3
  126. package/dist/admin/chunks/{PurchaseAuditLogs-McvZESGI.mjs.map → PurchaseAuditLogs-BI41XTBD.mjs.map} +1 -1
  127. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js → PurchaseAuditLogs-DnWVbru3.js} +3 -3
  128. package/dist/admin/chunks/{PurchaseAuditLogs-BTAi887h.js.map → PurchaseAuditLogs-DnWVbru3.js.map} +1 -1
  129. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs → PurchaseContentHistory-BzC2C4Pv.mjs} +3 -3
  130. package/dist/admin/chunks/{PurchaseContentHistory-pb7RDvhZ.mjs.map → PurchaseContentHistory-BzC2C4Pv.mjs.map} +1 -1
  131. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js → PurchaseContentHistory-DUk7otrp.js} +3 -3
  132. package/dist/admin/chunks/{PurchaseContentHistory-dfepsahq.js.map → PurchaseContentHistory-DUk7otrp.js.map} +1 -1
  133. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js → PurchaseSingleSignOn-Bq0YHAHt.js} +3 -3
  134. package/dist/admin/chunks/{PurchaseSingleSignOn-Dgal5RnY.js.map → PurchaseSingleSignOn-Bq0YHAHt.js.map} +1 -1
  135. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs → PurchaseSingleSignOn-G1TKPP15.mjs} +3 -3
  136. package/dist/admin/chunks/{PurchaseSingleSignOn-BUB9Irlt.mjs.map → PurchaseSingleSignOn-G1TKPP15.mjs.map} +1 -1
  137. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js → SelectRoles-CKInlnSd.js} +4 -4
  138. package/dist/admin/chunks/{SelectRoles-Clx1_4zB.js.map → SelectRoles-CKInlnSd.js.map} +1 -1
  139. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs → SelectRoles-DR4KBZkw.mjs} +4 -4
  140. package/dist/admin/chunks/{SelectRoles-CG3Czm0u.mjs.map → SelectRoles-DR4KBZkw.mjs.map} +1 -1
  141. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs → SingleSignOnPage-CRzrEUGp.mjs} +4 -4
  142. package/dist/admin/chunks/{SingleSignOnPage-Bqn13t3u.mjs.map → SingleSignOnPage-CRzrEUGp.mjs.map} +1 -1
  143. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js → SingleSignOnPage-DtRVlrGP.js} +4 -4
  144. package/dist/admin/chunks/{SingleSignOnPage-DqHWnXWQ.js.map → SingleSignOnPage-DtRVlrGP.js.map} +1 -1
  145. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs → Table-BohVeu0r.mjs} +3 -3
  146. package/dist/admin/chunks/{Table-Ra6bYcx7.mjs.map → Table-BohVeu0r.mjs.map} +1 -1
  147. package/dist/admin/chunks/{Table-BHi0q5It.js → Table-CBZnqMuN.js} +3 -3
  148. package/dist/admin/chunks/{Table-BHi0q5It.js.map → Table-CBZnqMuN.js.map} +1 -1
  149. package/dist/admin/chunks/{Theme-CDaBfQ-7.mjs → Theme-C3oHrQcy.mjs} +6 -4
  150. package/dist/admin/chunks/Theme-C3oHrQcy.mjs.map +1 -0
  151. package/dist/admin/chunks/{Theme-CFGbtvHi.js → Theme-DDlJz91O.js} +6 -3
  152. package/dist/admin/chunks/Theme-DDlJz91O.js.map +1 -0
  153. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js → TokenTypeSelect-BV_ZNiY_.js} +3 -3
  154. package/dist/admin/chunks/{TokenTypeSelect-EY1WftKo.js.map → TokenTypeSelect-BV_ZNiY_.js.map} +1 -1
  155. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs → TokenTypeSelect-CpEAVZ_b.mjs} +3 -3
  156. package/dist/admin/chunks/{TokenTypeSelect-BIRgChNx.mjs.map → TokenTypeSelect-CpEAVZ_b.mjs.map} +1 -1
  157. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs → UseCasePage-Bro5fyP3.mjs} +4 -4
  158. package/dist/admin/chunks/{UseCasePage-Y_h0Fbiv.mjs.map → UseCasePage-Bro5fyP3.mjs.map} +1 -1
  159. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js → UseCasePage-CipG2GC4.js} +4 -4
  160. package/dist/admin/chunks/{UseCasePage-Dl-WfgYc.js.map → UseCasePage-CipG2GC4.js.map} +1 -1
  161. package/dist/admin/chunks/{constants-DoArvzRr.mjs → constants-BddeukI7.mjs} +3 -3
  162. package/dist/admin/chunks/{constants-DoArvzRr.mjs.map → constants-BddeukI7.mjs.map} +1 -1
  163. package/dist/admin/chunks/{constants-DClZ3JYF.js → constants-CaerHoe3.js} +3 -3
  164. package/dist/admin/chunks/{constants-DClZ3JYF.js.map → constants-CaerHoe3.js.map} +1 -1
  165. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs +6 -0
  166. package/dist/admin/chunks/en-GB-3SrHvAFz.mjs.map +1 -0
  167. package/dist/admin/chunks/en-GB-Cc-PTeUP.js +8 -0
  168. package/dist/admin/chunks/en-GB-Cc-PTeUP.js.map +1 -0
  169. package/dist/admin/chunks/{en-CRu3-kTC.mjs → en-n340Bke8.mjs} +2 -1
  170. package/dist/admin/chunks/{en-CRu3-kTC.mjs.map → en-n340Bke8.mjs.map} +1 -1
  171. package/dist/admin/chunks/{en-CJjqxA2Q.js → en-rWmm12oE.js} +2 -1
  172. package/dist/admin/chunks/{en-CJjqxA2Q.js.map → en-rWmm12oE.js.map} +1 -1
  173. package/dist/admin/chunks/{index-BUGouNML.mjs → index-BM8-DG5K.mjs} +56 -36
  174. package/dist/admin/chunks/index-BM8-DG5K.mjs.map +1 -0
  175. package/dist/admin/chunks/{index-D7OmC33R.js → index-HGaughzt.js} +56 -36
  176. package/dist/admin/chunks/index-HGaughzt.js.map +1 -0
  177. package/dist/admin/chunks/{selectors-2ohXQx5g.js → selectors-Bf-6Fmez.js} +2 -2
  178. package/dist/admin/chunks/{selectors-2ohXQx5g.js.map → selectors-Bf-6Fmez.js.map} +1 -1
  179. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs → selectors-Dej_6h4x.mjs} +2 -2
  180. package/dist/admin/chunks/{selectors-PQdhPmzv.mjs.map → selectors-Dej_6h4x.mjs.map} +1 -1
  181. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs → useAdminRoles-C6Es4UUq.mjs} +2 -2
  182. package/dist/admin/chunks/{useAdminRoles-BEmkB0uj.mjs.map → useAdminRoles-C6Es4UUq.mjs.map} +1 -1
  183. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js → useAdminRoles-_4HKisJz.js} +2 -2
  184. package/dist/admin/chunks/{useAdminRoles-DwDqOIvp.js.map → useAdminRoles-_4HKisJz.js.map} +1 -1
  185. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs → useLicenseLimitNotification-DbPhRccK.mjs} +2 -2
  186. package/dist/admin/chunks/{useLicenseLimitNotification-CGkazzao.mjs.map → useLicenseLimitNotification-DbPhRccK.mjs.map} +1 -1
  187. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js → useLicenseLimitNotification-iuozPic9.js} +2 -2
  188. package/dist/admin/chunks/{useLicenseLimitNotification-BMCQ8obE.js.map → useLicenseLimitNotification-iuozPic9.js.map} +1 -1
  189. package/dist/admin/chunks/{validation-DOQs6_Ay.mjs → validation-Dmvl0gZQ.mjs} +8 -2
  190. package/dist/admin/chunks/validation-Dmvl0gZQ.mjs.map +1 -0
  191. package/dist/admin/chunks/{validation-ECrFbJ6K.js → validation-dPl3P7dv.js} +8 -2
  192. package/dist/admin/chunks/validation-dPl3P7dv.js.map +1 -0
  193. package/dist/admin/index.js +2 -2
  194. package/dist/admin/index.mjs +2 -2
  195. package/dist/admin/src/features/Configuration.d.ts +1 -3
  196. package/dist/admin/src/utils/strings.d.ts +2 -1
  197. package/dist/admin/test.js +1 -2
  198. package/dist/admin/test.js.map +1 -1
  199. package/dist/admin/test.mjs +1 -2
  200. package/dist/admin/test.mjs.map +1 -1
  201. package/dist/server/index.js +23 -9
  202. package/dist/server/index.js.map +1 -1
  203. package/dist/server/index.mjs +23 -9
  204. package/dist/server/index.mjs.map +1 -1
  205. package/dist/server/src/routes/authentication.d.ts.map +1 -1
  206. package/dist/server/src/services/homepage.d.ts.map +1 -1
  207. package/dist/server/src/validation/common-validators.d.ts.map +1 -1
  208. package/package.json +7 -7
  209. package/dist/admin/chunks/AuthenticatedLayout-BNWCtSH2.mjs.map +0 -1
  210. package/dist/admin/chunks/AuthenticatedLayout-D067wUoO.js.map +0 -1
  211. package/dist/admin/chunks/Theme-CDaBfQ-7.mjs.map +0 -1
  212. package/dist/admin/chunks/Theme-CFGbtvHi.js.map +0 -1
  213. package/dist/admin/chunks/en-GB-CMP_CCZs.js +0 -8
  214. package/dist/admin/chunks/en-GB-CMP_CCZs.js.map +0 -1
  215. package/dist/admin/chunks/en-GB-DZyWkup_.mjs +0 -6
  216. package/dist/admin/chunks/en-GB-DZyWkup_.mjs.map +0 -1
  217. package/dist/admin/chunks/index-BUGouNML.mjs.map +0 -1
  218. package/dist/admin/chunks/index-D7OmC33R.js.map +0 -1
  219. package/dist/admin/chunks/validation-DOQs6_Ay.mjs.map +0 -1
  220. package/dist/admin/chunks/validation-ECrFbJ6K.js.map +0 -1
  221. package/dist/admin/src/components/Onboarding.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-Beh8uBDE.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 Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\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 <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\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 </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\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.Root\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.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\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\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 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 withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\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":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery","useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle","actionTypes","getDefaultMessage","Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","React","useEffect","type","message","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","Crumb","isCurrent","Body","ActionBody","formatMessage","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","model","displayName","toString","Field","Label","Payload","JSON","stringify","disabled","styled","JSONInput","direction","textColor","useAuditLogsData","canReadAuditLogs","canReadUsers","useQueryParams","isError","isUsersError","isLoadingUsers","useAdminUsers","skip","refetchOnMountOrArgChange","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","users","hasError","ComboboxFilter","props","field","useField","name","ariaLabel","handleChange","onChange","Combobox","aria-label","options","map","opt","ComboboxOption","getDisplayedFilters","operators","filters","input","Object","keys","undefined","mainField","getDisplayName","ListPage","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","isLoadingRBAC","useRBAC","readUsers","read","setQuery","isLoadingData","displayedFilters","headers","sortable","cellFormatter","Page","Error","results","Main","aria-busy","Title","Layouts","title","subtitle","Action","startActions","Filters","Trigger","Popover","List","Table","rows","Head","header","HeaderCell","Empty","Loading","log","Row","onClick","Cell","e","stopPropagation","IconButton","withTooltip","target","Eye","Pagination","pagination","PageSize","Links","ProtectedListPage","main","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage-BVI0O8bq.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 Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\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 <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\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 </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\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.Root\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.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\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\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 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 withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\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":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery","useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle","actionTypes","getDefaultMessage","Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","React","useEffect","type","message","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","Crumb","isCurrent","Body","ActionBody","formatMessage","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","model","displayName","toString","Field","Label","Payload","JSON","stringify","disabled","styled","JSONInput","direction","textColor","useAuditLogsData","canReadAuditLogs","canReadUsers","useQueryParams","isError","isUsersError","isLoadingUsers","useAdminUsers","skip","refetchOnMountOrArgChange","auditLogs","isLoadingAuditLogs","isAuditLogsError","auditLogsError","users","hasError","ComboboxFilter","props","field","useField","name","ariaLabel","handleChange","onChange","Combobox","aria-label","options","map","opt","ComboboxOption","getDisplayedFilters","operators","filters","input","Object","keys","undefined","mainField","getDisplayName","ListPage","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","isLoadingRBAC","useRBAC","readUsers","read","setQuery","isLoadingData","displayedFilters","headers","sortable","cellFormatter","Page","Error","results","Main","aria-busy","Title","Layouts","title","subtitle","Action","startActions","Filters","Trigger","Popover","List","Table","rows","Head","header","HeaderCell","Empty","Loading","log","Row","onClick","Cell","e","stopPropagation","IconButton","withTooltip","target","Eye","Pagination","pagination","PageSize","Links","ProtectedListPage","main","Protect"],"mappings":"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"}
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- var ListPage = require('./ListPage-Du6Jt5wY.js');
5
- var useLicenseLimitNotification = require('./useLicenseLimitNotification-BMCQ8obE.js');
4
+ var ListPage = require('./ListPage-CWINpwfS.js');
5
+ var useLicenseLimitNotification = require('./useLicenseLimitNotification-iuozPic9.js');
6
6
  require('react');
7
7
  require('@strapi/design-system');
8
8
  require('@strapi/icons');
9
9
  require('qs');
10
10
  require('react-intl');
11
11
  require('react-router-dom');
12
- require('./index-D7OmC33R.js');
12
+ require('./index-HGaughzt.js');
13
13
  require('react-dom/client');
14
14
  require('invariant');
15
15
  require('lodash/isFunction');
16
16
  require('lodash/merge');
17
17
  require('lodash/pick');
18
18
  require('immer');
19
- require('./Theme-CFGbtvHi.js');
19
+ require('./Theme-DDlJz91O.js');
20
20
  require('@radix-ui/react-context');
21
21
  require('@strapi/icons/symbols');
22
22
  require('./admin-udBiOv2o.js');
@@ -43,8 +43,8 @@ require('lodash/omit');
43
43
  require('formik');
44
44
  require('lodash/throttle');
45
45
  require('./users-D-oKxjK9.js');
46
- require('./SelectRoles-Clx1_4zB.js');
47
- require('./useAdminRoles-DwDqOIvp.js');
46
+ require('./SelectRoles-CKInlnSd.js');
47
+ require('./useAdminRoles-_4HKisJz.js');
48
48
  require('lodash/isNil');
49
49
  require('./useLicenseLimits-JOHH8jfL.js');
50
50
 
@@ -54,4 +54,4 @@ const UserListPageEE = ()=>{
54
54
  };
55
55
 
56
56
  exports.UserListPageEE = UserListPageEE;
57
- //# sourceMappingURL=ListPage-YW-UVjk3.js.map
57
+ //# sourceMappingURL=ListPage-BgyypnOM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-YW-UVjk3.js","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage.tsx"],"sourcesContent":["import { ListPageCE } from '../../../../../../../admin/src/pages/Settings/pages/Users/ListPage';\nimport { useLicenseLimitNotification } from '../../../../hooks/useLicenseLimitNotification';\n\nexport const UserListPageEE = () => {\n useLicenseLimitNotification();\n\n return <ListPageCE />;\n};\n"],"names":["UserListPageEE","useLicenseLimitNotification","_jsx","ListPageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGaA,cAAiB,GAAA,IAAA;AAC5BC,IAAAA,uDAAAA,EAAAA;AAEA,IAAA,qBAAOC,cAACC,CAAAA,mBAAAA,EAAAA,EAAAA,CAAAA;AACV;;;;"}
1
+ {"version":3,"file":"ListPage-BgyypnOM.js","sources":["../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage.tsx"],"sourcesContent":["import { ListPageCE } from '../../../../../../../admin/src/pages/Settings/pages/Users/ListPage';\nimport { useLicenseLimitNotification } from '../../../../hooks/useLicenseLimitNotification';\n\nexport const UserListPageEE = () => {\n useLicenseLimitNotification();\n\n return <ListPageCE />;\n};\n"],"names":["UserListPageEE","useLicenseLimitNotification","_jsx","ListPageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGaA,cAAiB,GAAA,IAAA;AAC5BC,IAAAA,uDAAAA,EAAAA;AAEA,IAAA,qBAAOC,cAACC,CAAAA,mBAAAA,EAAAA,EAAAA,CAAAA;AACV;;;;"}
@@ -5,8 +5,8 @@ import { Plus, Trash, Pencil } from '@strapi/icons';
5
5
  import { EmptyDocuments } from '@strapi/icons/symbols';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useNavigate, NavLink } from 'react-router-dom';
8
- import { b as Layouts, C as ConfirmDialog } from './index-BUGouNML.mjs';
9
- import { b as useTypedSelector, P as Page, e as useAPIErrorHandler, a as useNotification, k as useRBAC } from './Theme-CDaBfQ-7.mjs';
8
+ import { b as Layouts, C as ConfirmDialog } from './index-BM8-DG5K.mjs';
9
+ import { b as useTypedSelector, P as Page, e as useAPIErrorHandler, a as useNotification, k as useRBAC } from './Theme-C3oHrQcy.mjs';
10
10
  import { u as useWebhooks } from './useWebhooks-DzJ3X-hd.mjs';
11
11
  import 'react-dom/client';
12
12
  import 'invariant';
@@ -449,4 +449,4 @@ const DeleteActionButton = ({ onDelete })=>{
449
449
  };
450
450
 
451
451
  export { ListPage, ProtectedListPage };
452
- //# sourceMappingURL=ListPage-CENQarKY.mjs.map
452
+ //# sourceMappingURL=ListPage-BhGt3EBQ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-CENQarKY.mjs","sources":["../../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\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 Dialog,\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 deleteWebhook = async (id: string) => {\n try {\n const res = await deleteManyWebhooks({\n ids: [id],\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((prev) => prev.filter((webhookId) => webhookId !== id));\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 confirmBulkDelete = 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 <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={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 <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(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 onClick={(e) => e.stopPropagation()}>\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 aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\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 variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n )}\n {canDelete && (\n <DeleteActionButton\n onDelete={() => {\n deleteWebhook(webhook.id);\n }}\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 <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmBulkDelete} />\n </Dialog.Root>\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteActionButton\n * -----------------------------------------------------------------------------------------------*/\n\ntype DeleteActionButtonProps = {\n onDelete: () => void;\n};\n\nconst DeleteActionButton = ({ onDelete }: DeleteActionButtonProps) => {\n const [showModal, setShowModal] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog\n onConfirm={(e) => {\n e?.stopPropagation();\n onDelete();\n }}\n />\n </Dialog.Root>\n </>\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":["ListPage","showModal","setShowModal","React","useState","webhooksToDelete","setWebhooksToDelete","permissions","useTypedSelector","state","admin_app","settings","webhooks","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","navigate","useNavigate","isLoading","isRBACLoading","allowedActions","canCreate","canUpdate","canDelete","useRBAC","notifyStatus","useNotifyAT","isWebhooksLoading","error","webhooksError","updateWebhook","deleteManyWebhooks","useWebhooks","useEffect","type","message","id","defaultMessage","enableWebhook","body","res","deleteWebhook","ids","prev","filter","webhookId","confirmBulkDelete","selectAllCheckbox","selected","map","webhook","selectOneCheckbox","numberOfWebhooks","length","webhooksToDeleteLength","_jsx","Page","Loading","_jsxs","Layouts","Root","Title","name","Main","aria-busy","Header","title","subtitle","primaryAction","LinkButton","tag","NavLink","startIcon","Plus","variant","to","size","Action","startActions","_Fragment","Typography","textColor","Button","onClick","Trash","Content","Table","colCount","rowCount","footer","TFooter","icon","Thead","Tr","Th","Checkbox","aria-label","checked","onCheckedChange","width","VisuallyHidden","Tbody","style","cursor","Td","e","stopPropagation","includes","fontWeight","url","Flex","Switch","onLabel","offLabel","isEnabled","enabled","visibleLabels","gap","IconButton","label","Pencil","DeleteActionButton","onDelete","EmptyStateLayout","EmptyDocuments","content","action","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","ProtectedListPage","main","Protect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA;;AAEkG,2GAE5FA,QAAW,GAAA,IAAA;AACf,IAAA,MAAM,CAACC,SAAWC,EAAAA,YAAAA,CAAa,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;AACjD,IAAA,MAAM,CAACC,gBAAkBC,EAAAA,mBAAAA,CAAoB,GAAGH,KAAMC,CAAAA,QAAQ,CAAW,EAAE,CAAA;IAC3E,MAAMG,WAAAA,GAAcC,gBAAiB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,EAAEC,QAAAA,CAAAA;IACtF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;IACpD,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;AAEjB,IAAA,MAAM,EACJC,SAAAA,EAAWC,aAAa,EACxBC,gBAAgB,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,EACpD,GAAGC,OAAQrB,CAAAA,WAAAA,CAAAA;IACZ,MAAM,EAAEsB,YAAY,EAAE,GAAGC,WAAAA,EAAAA;AAEzB,IAAA,MAAM,EACJR,SAAAA,EAAWS,iBAAiB,EAC5BnB,QAAQ,EACRoB,KAAOC,EAAAA,aAAa,EACpBC,aAAa,EACbC,kBAAkB,EACnB,GAAGC,WAAAA,EAAAA;AAEJjC,IAAAA,KAAAA,CAAMkC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIJ,aAAe,EAAA;YACjBf,kBAAmB,CAAA;gBACjBoB,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAASvB,cAAeiB,CAAAA,aAAAA;AAC1B,aAAA,CAAA;AAEA,YAAA;AACF;AACA,QAAA,IAAIrB,QAAU,EAAA;AACZiB,YAAAA,YAAAA,CACEhB,aAAc,CAAA;gBACZ2B,EAAI,EAAA,wCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA,CAAA;AAEJ;KACC,EAAA;AAAC7B,QAAAA,QAAAA;AAAUqB,QAAAA,aAAAA;AAAef,QAAAA,kBAAAA;AAAoBL,QAAAA,aAAAA;AAAegB,QAAAA,YAAAA;AAAcb,QAAAA;AAAe,KAAA,CAAA;AAE7F,IAAA,MAAM0B,gBAAgB,OAAOC,IAAAA,GAAAA;QAC3B,IAAI;YACF,MAAMC,GAAAA,GAAM,MAAMV,aAAcS,CAAAA,IAAAA,CAAAA;AAEhC,YAAA,IAAI,WAAWC,GAAK,EAAA;gBAClB1B,kBAAmB,CAAA;oBACjBoB,IAAM,EAAA,QAAA;oBACNC,OAASvB,EAAAA,cAAAA,CAAe4B,IAAIZ,KAAK;AACnC,iBAAA,CAAA;AACF;AACF,SAAA,CAAE,OAAM;YACNd,kBAAmB,CAAA;gBACjBoB,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS1B,aAAc,CAAA;oBACrB2B,EAAI,EAAA,oBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMI,gBAAgB,OAAOL,EAAAA,GAAAA;QAC3B,IAAI;YACF,MAAMI,GAAAA,GAAM,MAAMT,kBAAmB,CAAA;gBACnCW,GAAK,EAAA;AAACN,oBAAAA;AAAG;AACX,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWI,GAAK,EAAA;gBAClB1B,kBAAmB,CAAA;oBACjBoB,IAAM,EAAA,QAAA;oBACNC,OAASvB,EAAAA,cAAAA,CAAe4B,IAAIZ,KAAK;AACnC,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA1B,YAAAA,mBAAAA,CAAoB,CAACyC,IAASA,GAAAA,IAAAA,CAAKC,MAAM,CAAC,CAACC,YAAcA,SAAcT,KAAAA,EAAAA,CAAAA,CAAAA;AACzE,SAAA,CAAE,OAAM;YACNtB,kBAAmB,CAAA;gBACjBoB,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS1B,aAAc,CAAA;oBACrB2B,EAAI,EAAA,oBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMS,iBAAoB,GAAA,UAAA;QACxB,IAAI;YACF,MAAMN,GAAAA,GAAM,MAAMT,kBAAmB,CAAA;gBACnCW,GAAKzC,EAAAA;AACP,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWuC,GAAK,EAAA;gBAClB1B,kBAAmB,CAAA;oBACjBoB,IAAM,EAAA,QAAA;oBACNC,OAASvB,EAAAA,cAAAA,CAAe4B,IAAIZ,KAAK;AACnC,iBAAA,CAAA;AAEA,gBAAA;AACF;AAEA1B,YAAAA,mBAAAA,CAAoB,EAAE,CAAA;AACxB,SAAA,CAAE,OAAM;YACNY,kBAAmB,CAAA;gBACjBoB,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS1B,aAAc,CAAA;oBACrB2B,EAAI,EAAA,oBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;SACQ,QAAA;YACRvC,YAAa,CAAA,KAAA,CAAA;AACf;AACF,KAAA;AAEA,IAAA,MAAMiD,iBAAoB,GAAA,CAACC,QACzBA,GAAAA,QAAAA,GACI9C,oBAAoBM,QAAUyC,EAAAA,GAAAA,CAAI,CAACC,OAAAA,GAAYA,QAAQd,EAAE,CAAA,IAAK,EAAE,CAAA,GAChElC,oBAAoB,EAAE,CAAA;AAE5B,IAAA,MAAMiD,oBAAoB,CAACH,QAAAA,EAAmBZ,KAC5CY,QACI9C,GAAAA,mBAAAA,CAAoB,CAACyC,IAAS,GAAA;AAAIA,gBAAAA,GAAAA,IAAAA;AAAMP,gBAAAA;aAAG,CAC3ClC,GAAAA,mBAAAA,CAAoB,CAACyC,IAASA,GAAAA,IAAAA,CAAKC,MAAM,CAAC,CAACC,YAAcA,SAAcT,KAAAA,EAAAA,CAAAA,CAAAA;AAE7E,IAAA,MAAMlB,YAAYC,aAAiBQ,IAAAA,iBAAAA;IACnC,MAAMyB,gBAAAA,GAAmB5C,UAAU6C,MAAU,IAAA,CAAA;IAC7C,MAAMC,sBAAAA,GAAyBrD,iBAAiBoD,MAAM;AAEtD,IAAA,IAAInC,SAAW,EAAA;QACb,qBAAOqC,GAAA,CAACC,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;IAEA,qBACEC,IAAA,CAACC,QAAQC,IAAI,EAAA;;AACX,0BAAAL,GAAA,CAACC,KAAKK,KAAK,EAAA;0BACRpD,aACC,CAAA;oBAAE2B,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;iBAC5C,EAAA;oBACEyB,IAAM,EAAA;AACR,iBAAA;;AAGJ,0BAAAJ,IAAA,CAACF,KAAKO,IAAI,EAAA;gBAACC,WAAW9C,EAAAA,SAAAA;;AACpB,kCAAAqC,GAAA,CAACI,QAAQM,MAAM,EAAA;AACbC,wBAAAA,KAAAA,EAAOzD,aAAc,CAAA;4BAAE2B,EAAI,EAAA,yBAAA;4BAA2BC,cAAgB,EAAA;AAAW,yBAAA,CAAA;AACjF8B,wBAAAA,QAAAA,EAAU1D,aAAc,CAAA;4BACtB2B,EAAI,EAAA,oCAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA,CAAA;wBACA+B,aACE/C,EAAAA,SAAAA,IACA,CAACH,SAAAA,kBACCqC,GAACc,CAAAA,UAAAA,EAAAA;4BAAWC,GAAKC,EAAAA,OAAAA;AAASC,4BAAAA,SAAAA,gBAAWjB,GAACkB,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA;4BAASC,OAAQ,EAAA,SAAA;4BAAUC,EAAG,EAAA,QAAA;4BAASC,IAAK,EAAA,GAAA;sCAC/EnE,aAAc,CAAA;gCACb2B,EAAI,EAAA,mCAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA;;;AAKPiB,oBAAAA,sBAAAA,GAAyB,CAAK/B,IAAAA,SAAAA,kBAC7BgC,GAACI,CAAAA,OAAAA,CAAQkB,MAAM,EAAA;wBACbC,YACE,gBAAApB,IAAA,CAAAqB,QAAA,EAAA;;8CACExB,GAACyB,CAAAA,UAAAA,EAAAA;oCAAWN,OAAQ,EAAA,SAAA;oCAAUO,SAAU,EAAA,YAAA;8CACrCxE,aACC,CAAA;wCACE2B,EAAI,EAAA,6BAAA;wCACJC,cACE,EAAA;qCAEJ,EAAA;AAAEiB,wCAAAA;AAAuB,qCAAA;;8CAG7BC,GAAC2B,CAAAA,MAAAA,EAAAA;AACCC,oCAAAA,OAAAA,EAAS,IAAMrF,YAAa,CAAA,IAAA,CAAA;AAC5B0E,oCAAAA,SAAAA,gBAAWjB,GAAC6B,CAAAA,KAAAA,EAAAA,EAAAA,CAAAA;oCACZR,IAAK,EAAA,GAAA;oCACLF,OAAQ,EAAA,cAAA;8CAEPjE,aAAc,CAAA;wCACb2B,EAAI,EAAA,eAAA;wCACJC,cAAgB,EAAA;AAClB,qCAAA;;;;;AAMV,kCAAAkB,GAAA,CAACI,QAAQ0B,OAAO,EAAA;AACbjC,wBAAAA,QAAAA,EAAAA,gBAAAA,GAAmB,kBAClBM,IAAC4B,CAAAA,KAAAA,EAAAA;4BACCC,QAAU,EAAA,CAAA;AACVC,4BAAAA,QAAAA,EAAUpC,gBAAmB,GAAA,CAAA;AAC7BqC,4BAAAA,MAAAA,gBACElC,GAACmC,CAAAA,OAAAA,EAAAA;gCACCP,OAAS,EAAA,IAAA;AACP,oCAAA,IAAI9D,SAAW,EAAA;wCACbL,QAAS,CAAA,QAAA,CAAA;AACX;AACF,iCAAA;AACA2E,gCAAAA,IAAAA,gBAAMpC,GAACkB,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA;0CAENhE,aAAc,CAAA;oCACb2B,EAAI,EAAA,mCAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;;;8CAIJkB,GAACqC,CAAAA,KAAAA,EAAAA;AACC,oCAAA,QAAA,gBAAAlC,IAACmC,CAAAA,EAAAA,EAAAA;;0DACCtC,GAACuC,CAAAA,EAAAA,EAAAA;AACC,gDAAA,QAAA,gBAAAvC,GAACwC,CAAAA,QAAAA,EAAAA;AACCC,oDAAAA,YAAAA,EAAYvF,aAAc,CAAA;wDACxB2B,EAAI,EAAA,2BAAA;wDACJC,cAAgB,EAAA;AAClB,qDAAA,CAAA;AACA4D,oDAAAA,OAAAA,EACE3C,sBAAyB,GAAA,CAAA,IAAKA,sBAAyBF,GAAAA,gBAAAA,GACnD,kBACAE,sBAA2BF,KAAAA,gBAAAA;oDAEjC8C,eAAiBnD,EAAAA;;;0DAGrBQ,GAACuC,CAAAA,EAAAA,EAAAA;gDAAGK,KAAM,EAAA,KAAA;AACR,gDAAA,QAAA,gBAAA5C,GAACyB,CAAAA,UAAAA,EAAAA;oDAAWN,OAAQ,EAAA,OAAA;oDAAQO,SAAU,EAAA,YAAA;8DACnCxE,aAAc,CAAA;wDACb2B,EAAI,EAAA,aAAA;wDACJC,cAAgB,EAAA;AAClB,qDAAA;;;0DAGJkB,GAACuC,CAAAA,EAAAA,EAAAA;gDAAGK,KAAM,EAAA,KAAA;AACR,gDAAA,QAAA,gBAAA5C,GAACyB,CAAAA,UAAAA,EAAAA;oDAAWN,OAAQ,EAAA,OAAA;oDAAQO,SAAU,EAAA,YAAA;8DACnCxE,aAAc,CAAA;wDACb2B,EAAI,EAAA,4BAAA;wDACJC,cAAgB,EAAA;AAClB,qDAAA;;;0DAGJkB,GAACuC,CAAAA,EAAAA,EAAAA;gDAAGK,KAAM,EAAA,KAAA;AACR,gDAAA,QAAA,gBAAA5C,GAACyB,CAAAA,UAAAA,EAAAA;oDAAWN,OAAQ,EAAA,OAAA;oDAAQO,SAAU,EAAA,YAAA;8DACnCxE,aAAc,CAAA;wDACb2B,EAAI,EAAA,kCAAA;wDACJC,cAAgB,EAAA;AAClB,qDAAA;;;0DAGJkB,GAACuC,CAAAA,EAAAA,EAAAA;AACC,gDAAA,QAAA,gBAAAvC,GAAC6C,CAAAA,cAAAA,EAAAA;8DACE3F,aAAc,CAAA;wDACb2B,EAAI,EAAA,mCAAA;wDACJC,cAAgB,EAAA;AAClB,qDAAA;;;;;;8CAKRkB,GAAC8C,CAAAA,KAAAA,EAAAA;8CACE7F,QAAUyC,EAAAA,GAAAA,CAAI,CAACC,OAAAA,iBACdQ,IAACmC,CAAAA,EAAAA,EAAAA;4CAECV,OAAS,EAAA,IAAA;AACP,gDAAA,IAAI7D,SAAW,EAAA;AACbN,oDAAAA,QAAAA,CAASkC,QAAQd,EAAE,CAAA;AACrB;AACF,6CAAA;4CACAkE,KAAO,EAAA;AAAEC,gDAAAA,MAAAA,EAAQjF,YAAY,SAAY,GAAA;AAAU,6CAAA;;8DAEnDiC,GAACiD,CAAAA,EAAAA,EAAAA;oDAAGrB,OAAS,EAAA,CAACsB,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AACnC,oDAAA,QAAA,gBAAAnD,GAACwC,CAAAA,QAAAA,EAAAA;wDACCC,YAAY,EAAA,CAAC,EAAEvF,aAAc,CAAA;4DAC3B2B,EAAI,EAAA,eAAA;4DACJC,cAAgB,EAAA;AAClB,yDAAA,CAAA,CAAG,CAAC,EAAEa,OAAQY,CAAAA,IAAI,CAAC,CAAC;wDACpBmC,OAAShG,EAAAA,gBAAAA,EAAkB0G,QAASzD,CAAAA,OAAAA,CAAQd,EAAE,CAAA;AAC9C8D,wDAAAA,eAAAA,EAAiB,CAAClD,QAAaG,GAAAA,iBAAAA,CAAkB,CAAC,CAACH,QAAAA,EAAUE,QAAQd,EAAE,CAAA;wDACvE0B,IAAK,EAAA;;;8DAGTP,GAACiD,CAAAA,EAAAA,EAAAA;AACC,oDAAA,QAAA,gBAAAjD,GAACyB,CAAAA,UAAAA,EAAAA;wDAAW4B,UAAW,EAAA,UAAA;wDAAW3B,SAAU,EAAA,YAAA;AACzC/B,wDAAAA,QAAAA,EAAAA,OAAAA,CAAQY;;;8DAGbP,GAACiD,CAAAA,EAAAA,EAAAA;AACC,oDAAA,QAAA,gBAAAjD,GAACyB,CAAAA,UAAAA,EAAAA;wDAAWC,SAAU,EAAA,YAAA;AAAc/B,wDAAAA,QAAAA,EAAAA,OAAAA,CAAQ2D;;;8DAE9CtD,GAACiD,CAAAA,EAAAA,EAAAA;oDAAGrB,OAAS,EAAA,CAACsB,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AACnC,oDAAA,QAAA,gBAAAnD,GAACuD,CAAAA,IAAAA,EAAAA;AACC,wDAAA,QAAA,gBAAAvD,GAACwD,CAAAA,MAAAA,EAAAA;AACCC,4DAAAA,OAAAA,EAASvG,aAAc,CAAA;gEACrB2B,EAAI,EAAA,gBAAA;gEACJC,cAAgB,EAAA;AAClB,6DAAA,CAAA;AACA4E,4DAAAA,QAAAA,EAAUxG,aAAc,CAAA;gEACtB2B,EAAI,EAAA,iBAAA;gEACJC,cAAgB,EAAA;AAClB,6DAAA,CAAA;AACA2D,4DAAAA,YAAAA,EAAY,CAAC,EAAE9C,OAAAA,CAAQY,IAAI,CAAC,CAAC,EAAErD,aAAc,CAAA;gEAC3C2B,EAAI,EAAA,kCAAA;gEACJC,cAAgB,EAAA;AAClB,6DAAA,CAAA,CAAG,CAAC;AACJ4D,4DAAAA,OAAAA,EAAS/C,QAAQgE,SAAS;AAC1BhB,4DAAAA,eAAAA,EAAiB,CAACiB,OAAAA,GAAAA;gEAChB7E,aAAc,CAAA;AACZ,oEAAA,GAAGY,OAAO;oEACVgE,SAAWC,EAAAA;AACb,iEAAA,CAAA;AACF,6DAAA;4DACAC,aAAa,EAAA;;;;8DAInB7D,GAACiD,CAAAA,EAAAA,EAAAA;AACC,oDAAA,QAAA,gBAAA9C,IAACoD,CAAAA,IAAAA,EAAAA;wDAAKO,GAAK,EAAA,CAAA;;AACR/F,4DAAAA,SAAAA,kBACCiC,GAAC+D,CAAAA,UAAAA,EAAAA;AACCC,gEAAAA,KAAAA,EAAO9G,aAAc,CAAA;oEACnB2B,EAAI,EAAA,iCAAA;oEACJC,cAAgB,EAAA;AAClB,iEAAA,CAAA;gEACAqC,OAAQ,EAAA,OAAA;AAER,gEAAA,QAAA,gBAAAnB,GAACiE,CAAAA,MAAAA,EAAAA,EAAAA;;AAGJjG,4DAAAA,SAAAA,kBACCgC,GAACkE,CAAAA,kBAAAA,EAAAA;gEACCC,QAAU,EAAA,IAAA;AACRjF,oEAAAA,aAAAA,CAAcS,QAAQd,EAAE,CAAA;AAC1B;;;;;;AAtEHc,yCAAAA,EAAAA,OAAAA,CAAQd,EAAE,CAAA;;;2CAgFvBmB,GAACoE,CAAAA,gBAAAA,EAAAA;AACChC,4BAAAA,IAAAA,gBAAMpC,GAACqE,CAAAA,cAAAA,EAAAA;gCAAezB,KAAM,EAAA;;AAC5B0B,4BAAAA,OAAAA,EAASpH,aAAc,CAAA;gCACrB2B,EAAI,EAAA,0CAAA;gCACJC,cAAgB,EAAA;AAClB,6BAAA,CAAA;AACAyF,4BAAAA,MAAAA,EACEzG,0BACEkC,GAACc,CAAAA,UAAAA,EAAAA;gCAAWK,OAAQ,EAAA,WAAA;AAAYF,gCAAAA,SAAAA,gBAAWjB,GAACkB,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA;gCAASH,GAAKC,EAAAA,OAAAA;gCAASI,EAAG,EAAA,QAAA;0CACnElE,aAAc,CAAA;oCACb2B,EAAI,EAAA,mCAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;AAEA,6BAAA,CAAA,GAAA;;;;;AAMd,0BAAAkB,GAAA,CAACwE,OAAOnE,IAAI,EAAA;gBAACoE,IAAMnI,EAAAA,SAAAA;gBAAWoI,YAAcnI,EAAAA,YAAAA;AAC1C,gBAAA,QAAA,gBAAAyD,GAAC2E,CAAAA,aAAAA,EAAAA;oBAAcC,SAAWrF,EAAAA;;;;;AAIlC;AAUA,MAAM2E,kBAAqB,GAAA,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AAC/D,IAAA,MAAM,CAAC7H,SAAWC,EAAAA,YAAAA,CAAa,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACjD,MAAM,EAAES,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,qBACEgD,IAAA,CAAAqB,QAAA,EAAA;;0BACExB,GAAC+D,CAAAA,UAAAA,EAAAA;AACCnC,gBAAAA,OAAAA,EAAS,CAACsB,CAAAA,GAAAA;AACRA,oBAAAA,CAAAA,CAAEC,eAAe,EAAA;oBACjB5G,YAAa,CAAA,IAAA,CAAA;AACf,iBAAA;AACAyH,gBAAAA,KAAAA,EAAO9G,aAAc,CAAA;oBACnB2B,EAAI,EAAA,iCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAqC,OAAQ,EAAA,OAAA;AAER,gBAAA,QAAA,gBAAAnB,GAAC6B,CAAAA,KAAAA,EAAAA,EAAAA;;AAGH,0BAAA7B,GAAA,CAACwE,OAAOnE,IAAI,EAAA;gBAACoE,IAAMnI,EAAAA,SAAAA;gBAAWoI,YAAcnI,EAAAA,YAAAA;AAC1C,gBAAA,QAAA,gBAAAyD,GAAC2E,CAAAA,aAAAA,EAAAA;AACCC,oBAAAA,SAAAA,EAAW,CAAC1B,CAAAA,GAAAA;wBACVA,CAAGC,EAAAA,eAAAA,EAAAA;AACHgB,wBAAAA,QAAAA,EAAAA;AACF;;;;;AAKV,CAAA;AAEA;;AAEkG,2GAE5FU,iBAAoB,GAAA,IAAA;IACxB,MAAMjI,WAAAA,GAAcC,gBAClB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,EAAEC,QAAS6H,CAAAA,IAAAA,CAAAA;IAG5D,qBACE9E,GAAA,CAACC,KAAK8E,OAAO,EAAA;QAACnI,WAAaA,EAAAA,WAAAA;AACzB,QAAA,QAAA,gBAAAoD,GAAC3D,CAAAA,QAAAA,EAAAA,EAAAA;;AAGP;;;;"}
1
+ {"version":3,"file":"ListPage-BhGt3EBQ.mjs","sources":["../../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\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 Dialog,\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 deleteWebhook = async (id: string) => {\n try {\n const res = await deleteManyWebhooks({\n ids: [id],\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((prev) => prev.filter((webhookId) => webhookId !== id));\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 confirmBulkDelete = 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 <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={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 <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(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 onClick={(e) => e.stopPropagation()}>\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 aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\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 variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n )}\n {canDelete && (\n <DeleteActionButton\n onDelete={() => {\n deleteWebhook(webhook.id);\n }}\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 <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmBulkDelete} />\n </Dialog.Root>\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteActionButton\n * -----------------------------------------------------------------------------------------------*/\n\ntype DeleteActionButtonProps = {\n onDelete: () => void;\n};\n\nconst DeleteActionButton = ({ onDelete }: DeleteActionButtonProps) => {\n const [showModal, setShowModal] = React.useState(false);\n const { formatMessage } = useIntl();\n\n return (\n <>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n variant=\"ghost\"\n >\n <Trash />\n </IconButton>\n\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog\n onConfirm={(e) => {\n e?.stopPropagation();\n onDelete();\n }}\n />\n </Dialog.Root>\n </>\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":["ListPage","showModal","setShowModal","React","useState","webhooksToDelete","setWebhooksToDelete","permissions","useTypedSelector","state","admin_app","settings","webhooks","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","navigate","useNavigate","isLoading","isRBACLoading","allowedActions","canCreate","canUpdate","canDelete","useRBAC","notifyStatus","useNotifyAT","isWebhooksLoading","error","webhooksError","updateWebhook","deleteManyWebhooks","useWebhooks","useEffect","type","message","id","defaultMessage","enableWebhook","body","res","deleteWebhook","ids","prev","filter","webhookId","confirmBulkDelete","selectAllCheckbox","selected","map","webhook","selectOneCheckbox","numberOfWebhooks","length","webhooksToDeleteLength","_jsx","Page","Loading","_jsxs","Layouts","Root","Title","name","Main","aria-busy","Header","title","subtitle","primaryAction","LinkButton","tag","NavLink","startIcon","Plus","variant","to","size","Action","startActions","_Fragment","Typography","textColor","Button","onClick","Trash","Content","Table","colCount","rowCount","footer","TFooter","icon","Thead","Tr","Th","Checkbox","aria-label","checked","onCheckedChange","width","VisuallyHidden","Tbody","style","cursor","Td","e","stopPropagation","includes","fontWeight","url","Flex","Switch","onLabel","offLabel","isEnabled","enabled","visibleLabels","gap","IconButton","label","Pencil","DeleteActionButton","onDelete","EmptyStateLayout","EmptyDocuments","content","action","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","ProtectedListPage","main","Protect"],"mappings":"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"}
@@ -7,10 +7,10 @@ var icons = require('@strapi/icons');
7
7
  var immer = require('immer');
8
8
  var reactIntl = require('react-intl');
9
9
  var reactRouterDom = require('react-router-dom');
10
- var index = require('./index-D7OmC33R.js');
11
- var Theme = require('./Theme-CFGbtvHi.js');
12
- var useAdminRoles = require('./useAdminRoles-DwDqOIvp.js');
13
- var selectors = require('./selectors-2ohXQx5g.js');
10
+ var index = require('./index-HGaughzt.js');
11
+ var Theme = require('./Theme-DDlJz91O.js');
12
+ var useAdminRoles = require('./useAdminRoles-_4HKisJz.js');
13
+ var selectors = require('./selectors-Bf-6Fmez.js');
14
14
  var admin = require('./admin-udBiOv2o.js');
15
15
  require('react-dom/client');
16
16
  require('invariant');
@@ -392,4 +392,4 @@ const reducer = (state, action)=>immer.produce(state, (draftState)=>{
392
392
 
393
393
  exports.ListPage = ListPage;
394
394
  exports.ProtectedListPage = ProtectedListPage;
395
- //# sourceMappingURL=ListPage-gKsEm3Px.js.map
395
+ //# sourceMappingURL=ListPage-CLXy5r60.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-gKsEm3Px.js","sources":["../../../admin/src/pages/Settings/pages/Roles/components/RoleRow.tsx","../../../admin/src/pages/Settings/pages/Roles/ListPage.tsx"],"sourcesContent":["import { Box, Flex, IconButton, IconButtonProps, Td, Tr, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\n\ninterface RoleRowProps extends Pick<AdminRole, 'id' | 'name' | 'description' | 'usersCount'> {\n icons: Array<Required<Pick<IconButtonProps, 'children' | 'label' | 'onClick'>>>;\n rowIndex: number;\n canUpdate?: boolean;\n cursor?: string;\n}\n\nconst RoleRow = ({\n id,\n name,\n description,\n usersCount,\n icons,\n rowIndex,\n canUpdate,\n cursor,\n}: RoleRowProps) => {\n const { formatMessage } = useIntl();\n const [, editObject] = icons;\n\n const usersCountText = formatMessage(\n {\n id: `Roles.RoleRow.user-count`,\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: usersCount }\n );\n\n return (\n <Tr\n cursor={cursor}\n aria-rowindex={rowIndex}\n key={id}\n // @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`\n onClick={canUpdate ? editObject.onClick : undefined}\n >\n <Td maxWidth={`13rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {name}\n </Typography>\n </Td>\n <Td maxWidth={`25rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {description}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{usersCountText}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"flex-end\" onClick={(e) => e.stopPropagation()}>\n {icons.map((icon, i) => {\n if (icon) {\n return (\n <Box key={icon.label} paddingLeft={i === 0 ? 0 : 1}>\n <IconButton {...icon} variant=\"ghost\" />\n </Box>\n );\n }\n\n return null;\n })}\n </Flex>\n </Td>\n </Tr>\n );\n};\n\nexport { RoleRow };\nexport type { RoleRowProps };\n","import * as React from 'react';\n\nimport {\n Button,\n Dialog,\n Table,\n Tbody,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Duplicate, Pencil, Plus, Trash } from '@strapi/icons';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAdminRoles, AdminRole } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useQueryParams } from '../../../../hooks/useQueryParams';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { isFetchError } from '../../../../utils/getFetchClient';\n\nimport { RoleRow, RoleRowProps } from './components/RoleRow';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);\n const [{ query }] = useQueryParams<{ _q?: string }>();\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canCreate, canDelete, canRead, canUpdate },\n } = useRBAC(permissions.settings?.roles);\n\n const { roles, refetch: refetchRoles } = useAdminRoles(\n { filters: query?._q ? { name: { $containsi: query._q } } : undefined },\n {\n refetchOnMountOrArgChange: true,\n skip: isLoadingForPermissions || !canRead,\n }\n );\n\n const navigate = useNavigate();\n const [{ roleToDelete }, dispatch] = React.useReducer(reducer, initialState);\n const { post } = useFetchClient();\n\n const handleDeleteData = async () => {\n try {\n dispatch({\n type: 'ON_REMOVE_ROLES',\n });\n\n await post('/admin/roles/batch-delete', {\n ids: [roleToDelete],\n });\n\n await refetchRoles();\n\n dispatch({\n type: 'RESET_DATA_TO_DELETE',\n });\n } catch (error) {\n if (isFetchError(error)) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n };\n\n const handleNewRoleClick = () => navigate('new');\n\n const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev);\n\n const handleClickDelete = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (role.usersCount) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: 'Roles.ListPage.notification.delete-not-allowed' }),\n });\n } else {\n dispatch({\n type: 'SET_ROLE_TO_DELETE',\n id: role.id,\n });\n\n handleToggleModal();\n }\n };\n\n const handleClickDuplicate = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n navigate(`duplicate/${role.id}`);\n };\n\n const rowCount = roles.length + 1;\n const colCount = 6;\n\n if (isLoadingForPermissions) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Layouts.Header\n primaryAction={\n canCreate ? (\n <Button onClick={handleNewRoleClick} startIcon={<Plus />} size=\"S\">\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.list.description',\n defaultMessage: 'List of roles',\n })}\n />\n {canRead && (\n <Layouts.Action\n startActions={\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n {\n target: formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n }),\n }\n )}\n />\n }\n />\n )}\n {canRead && (\n <Layouts.Content>\n <Table\n colCount={colCount}\n rowCount={rowCount}\n footer={\n canCreate ? (\n <TFooter cursor=\"pointer\" onClick={handleNewRoleClick} icon={<Plus />}>\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </TFooter>\n ) : null\n }\n >\n <Thead>\n <Tr aria-rowindex={1}>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'global.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {roles?.map((role, index) => (\n <RoleRow\n cursor=\"pointer\"\n key={role.id}\n id={role.id}\n name={role.name}\n description={role.description}\n usersCount={role.usersCount}\n icons={\n [\n canCreate &&\n ({\n onClick: handleClickDuplicate(role),\n label: formatMessage({\n id: 'app.utils.duplicate',\n defaultMessage: 'Duplicate',\n }),\n children: <Duplicate />,\n } satisfies RoleRowProps['icons'][number]),\n canUpdate &&\n ({\n onClick: () => navigate(role.id.toString()),\n label: formatMessage({ id: 'app.utils.edit', defaultMessage: 'Edit' }),\n children: <Pencil />,\n } satisfies RoleRowProps['icons'][number]),\n canDelete &&\n ({\n onClick: handleClickDelete(role),\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n children: <Trash />,\n } satisfies RoleRowProps['icons'][number]),\n ].filter(Boolean) as RoleRowProps['icons']\n }\n rowIndex={index + 2}\n canUpdate={canUpdate}\n />\n ))}\n </Tbody>\n </Table>\n </Layouts.Content>\n )}\n <Dialog.Root open={isWarningDeleteAllOpened} onOpenChange={handleToggleModal}>\n <ConfirmDialog onConfirm={handleDeleteData} />\n </Dialog.Root>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * TODO: do we actually need this reducer? It's not doing a lot...\n */\n\ninterface State {\n roleToDelete: null | AdminRole['id'];\n showModalConfirmButtonLoading: boolean;\n shouldRefetchData: boolean;\n}\n\nconst initialState = {\n roleToDelete: null,\n showModalConfirmButtonLoading: false,\n shouldRefetchData: false,\n} satisfies State;\n\ninterface SetRoleToDeleteAction extends Pick<AdminRole, 'id'> {\n type: 'SET_ROLE_TO_DELETE';\n}\n\ninterface ResetDataToDeleteAction {\n type: 'RESET_DATA_TO_DELETE';\n}\n\ninterface OnRemoveRolesAction {\n type: 'ON_REMOVE_ROLES';\n}\n\ninterface OnRemoveRolesSucceededAction {\n type: 'ON_REMOVE_ROLES_SUCCEEDED';\n}\n\ntype Action =\n | SetRoleToDeleteAction\n | ResetDataToDeleteAction\n | OnRemoveRolesAction\n | OnRemoveRolesSucceededAction;\n\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_REMOVE_ROLES': {\n draftState.showModalConfirmButtonLoading = true;\n break;\n }\n case 'ON_REMOVE_ROLES_SUCCEEDED': {\n draftState.shouldRefetchData = true;\n draftState.roleToDelete = null;\n break;\n }\n case 'RESET_DATA_TO_DELETE': {\n draftState.shouldRefetchData = false;\n draftState.roleToDelete = null;\n draftState.showModalConfirmButtonLoading = false;\n break;\n }\n case 'SET_ROLE_TO_DELETE': {\n draftState.roleToDelete = action.id;\n\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.roles.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage, ListPage };\n"],"names":["RoleRow","id","name","description","usersCount","icons","rowIndex","canUpdate","cursor","formatMessage","useIntl","editObject","usersCountText","defaultMessage","number","_jsxs","Tr","aria-rowindex","onClick","undefined","_jsx","Td","maxWidth","Typography","ellipsis","textColor","Flex","justifyContent","e","stopPropagation","map","icon","i","Box","paddingLeft","IconButton","variant","label","ListPage","permissions","useTypedSelector","selectAdminPermissions","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","isWarningDeleteAllOpened","setIsWarningDeleteAllOpenend","React","useState","query","useQueryParams","isLoading","isLoadingForPermissions","allowedActions","canCreate","canDelete","canRead","useRBAC","settings","roles","refetch","refetchRoles","useAdminRoles","filters","_q","$containsi","refetchOnMountOrArgChange","skip","navigate","useNavigate","roleToDelete","dispatch","useReducer","reducer","initialState","post","useFetchClient","handleDeleteData","type","ids","error","isFetchError","message","handleNewRoleClick","handleToggleModal","prev","handleClickDelete","role","preventDefault","handleClickDuplicate","rowCount","length","colCount","Page","Loading","Main","Title","Layouts","Header","primaryAction","Button","startIcon","Plus","size","title","subtitle","Action","startActions","SearchInput","target","Content","Table","footer","TFooter","Thead","Th","VisuallyHidden","Tbody","index","children","Duplicate","toString","Pencil","Trash","filter","Boolean","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","showModalConfirmButtonLoading","shouldRefetchData","state","action","produce","draftState","ProtectedListPage","admin_app","read","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage-CLXy5r60.js","sources":["../../../admin/src/pages/Settings/pages/Roles/components/RoleRow.tsx","../../../admin/src/pages/Settings/pages/Roles/ListPage.tsx"],"sourcesContent":["import { Box, Flex, IconButton, IconButtonProps, Td, Tr, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { AdminRole } from '../../../../../hooks/useAdminRoles';\n\ninterface RoleRowProps extends Pick<AdminRole, 'id' | 'name' | 'description' | 'usersCount'> {\n icons: Array<Required<Pick<IconButtonProps, 'children' | 'label' | 'onClick'>>>;\n rowIndex: number;\n canUpdate?: boolean;\n cursor?: string;\n}\n\nconst RoleRow = ({\n id,\n name,\n description,\n usersCount,\n icons,\n rowIndex,\n canUpdate,\n cursor,\n}: RoleRowProps) => {\n const { formatMessage } = useIntl();\n const [, editObject] = icons;\n\n const usersCountText = formatMessage(\n {\n id: `Roles.RoleRow.user-count`,\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: usersCount }\n );\n\n return (\n <Tr\n cursor={cursor}\n aria-rowindex={rowIndex}\n key={id}\n // @ts-expect-error – the prop uses `HTMLButtonElement` but we just specify `HTMLElement`\n onClick={canUpdate ? editObject.onClick : undefined}\n >\n <Td maxWidth={`13rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {name}\n </Typography>\n </Td>\n <Td maxWidth={`25rem`}>\n <Typography ellipsis textColor=\"neutral800\">\n {description}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{usersCountText}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"flex-end\" onClick={(e) => e.stopPropagation()}>\n {icons.map((icon, i) => {\n if (icon) {\n return (\n <Box key={icon.label} paddingLeft={i === 0 ? 0 : 1}>\n <IconButton {...icon} variant=\"ghost\" />\n </Box>\n );\n }\n\n return null;\n })}\n </Flex>\n </Td>\n </Tr>\n );\n};\n\nexport { RoleRow };\nexport type { RoleRowProps };\n","import * as React from 'react';\n\nimport {\n Button,\n Dialog,\n Table,\n Tbody,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Duplicate, Pencil, Plus, Trash } from '@strapi/icons';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { SearchInput } from '../../../../components/SearchInput';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAdminRoles, AdminRole } from '../../../../hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useFetchClient } from '../../../../hooks/useFetchClient';\nimport { useQueryParams } from '../../../../hooks/useQueryParams';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\nimport { isFetchError } from '../../../../utils/getFetchClient';\n\nimport { RoleRow, RoleRowProps } from './components/RoleRow';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector(selectAdminPermissions);\n const { formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [isWarningDeleteAllOpened, setIsWarningDeleteAllOpenend] = React.useState(false);\n const [{ query }] = useQueryParams<{ _q?: string }>();\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canCreate, canDelete, canRead, canUpdate },\n } = useRBAC(permissions.settings?.roles);\n\n const { roles, refetch: refetchRoles } = useAdminRoles(\n { filters: query?._q ? { name: { $containsi: query._q } } : undefined },\n {\n refetchOnMountOrArgChange: true,\n skip: isLoadingForPermissions || !canRead,\n }\n );\n\n const navigate = useNavigate();\n const [{ roleToDelete }, dispatch] = React.useReducer(reducer, initialState);\n const { post } = useFetchClient();\n\n const handleDeleteData = async () => {\n try {\n dispatch({\n type: 'ON_REMOVE_ROLES',\n });\n\n await post('/admin/roles/batch-delete', {\n ids: [roleToDelete],\n });\n\n await refetchRoles();\n\n dispatch({\n type: 'RESET_DATA_TO_DELETE',\n });\n } catch (error) {\n if (isFetchError(error)) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }\n };\n\n const handleNewRoleClick = () => navigate('new');\n\n const handleToggleModal = () => setIsWarningDeleteAllOpenend((prev) => !prev);\n\n const handleClickDelete = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (role.usersCount) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: 'Roles.ListPage.notification.delete-not-allowed' }),\n });\n } else {\n dispatch({\n type: 'SET_ROLE_TO_DELETE',\n id: role.id,\n });\n\n handleToggleModal();\n }\n };\n\n const handleClickDuplicate = (role: AdminRole) => (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n navigate(`duplicate/${role.id}`);\n };\n\n const rowCount = roles.length + 1;\n const colCount = 6;\n\n if (isLoadingForPermissions) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Layouts.Header\n primaryAction={\n canCreate ? (\n <Button onClick={handleNewRoleClick} startIcon={<Plus />} size=\"S\">\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </Button>\n ) : null\n }\n title={formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.list.description',\n defaultMessage: 'List of roles',\n })}\n />\n {canRead && (\n <Layouts.Action\n startActions={\n <SearchInput\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n {\n target: formatMessage({\n id: 'global.roles',\n defaultMessage: 'roles',\n }),\n }\n )}\n />\n }\n />\n )}\n {canRead && (\n <Layouts.Content>\n <Table\n colCount={colCount}\n rowCount={rowCount}\n footer={\n canCreate ? (\n <TFooter cursor=\"pointer\" onClick={handleNewRoleClick} icon={<Plus />}>\n {formatMessage({\n id: 'Settings.roles.list.button.add',\n defaultMessage: 'Add new role',\n })}\n </TFooter>\n ) : null\n }\n >\n <Thead>\n <Tr aria-rowindex={1}>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'global.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {roles?.map((role, index) => (\n <RoleRow\n cursor=\"pointer\"\n key={role.id}\n id={role.id}\n name={role.name}\n description={role.description}\n usersCount={role.usersCount}\n icons={\n [\n canCreate &&\n ({\n onClick: handleClickDuplicate(role),\n label: formatMessage({\n id: 'app.utils.duplicate',\n defaultMessage: 'Duplicate',\n }),\n children: <Duplicate />,\n } satisfies RoleRowProps['icons'][number]),\n canUpdate &&\n ({\n onClick: () => navigate(role.id.toString()),\n label: formatMessage({ id: 'app.utils.edit', defaultMessage: 'Edit' }),\n children: <Pencil />,\n } satisfies RoleRowProps['icons'][number]),\n canDelete &&\n ({\n onClick: handleClickDelete(role),\n label: formatMessage({ id: 'global.delete', defaultMessage: 'Delete' }),\n children: <Trash />,\n } satisfies RoleRowProps['icons'][number]),\n ].filter(Boolean) as RoleRowProps['icons']\n }\n rowIndex={index + 2}\n canUpdate={canUpdate}\n />\n ))}\n </Tbody>\n </Table>\n </Layouts.Content>\n )}\n <Dialog.Root open={isWarningDeleteAllOpened} onOpenChange={handleToggleModal}>\n <ConfirmDialog onConfirm={handleDeleteData} />\n </Dialog.Root>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Reducer\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * TODO: do we actually need this reducer? It's not doing a lot...\n */\n\ninterface State {\n roleToDelete: null | AdminRole['id'];\n showModalConfirmButtonLoading: boolean;\n shouldRefetchData: boolean;\n}\n\nconst initialState = {\n roleToDelete: null,\n showModalConfirmButtonLoading: false,\n shouldRefetchData: false,\n} satisfies State;\n\ninterface SetRoleToDeleteAction extends Pick<AdminRole, 'id'> {\n type: 'SET_ROLE_TO_DELETE';\n}\n\ninterface ResetDataToDeleteAction {\n type: 'RESET_DATA_TO_DELETE';\n}\n\ninterface OnRemoveRolesAction {\n type: 'ON_REMOVE_ROLES';\n}\n\ninterface OnRemoveRolesSucceededAction {\n type: 'ON_REMOVE_ROLES_SUCCEEDED';\n}\n\ntype Action =\n | SetRoleToDeleteAction\n | ResetDataToDeleteAction\n | OnRemoveRolesAction\n | OnRemoveRolesSucceededAction;\n\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_REMOVE_ROLES': {\n draftState.showModalConfirmButtonLoading = true;\n break;\n }\n case 'ON_REMOVE_ROLES_SUCCEEDED': {\n draftState.shouldRefetchData = true;\n draftState.roleToDelete = null;\n break;\n }\n case 'RESET_DATA_TO_DELETE': {\n draftState.shouldRefetchData = false;\n draftState.roleToDelete = null;\n draftState.showModalConfirmButtonLoading = false;\n break;\n }\n case 'SET_ROLE_TO_DELETE': {\n draftState.roleToDelete = action.id;\n\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.roles.read);\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage, ListPage };\n"],"names":["RoleRow","id","name","description","usersCount","icons","rowIndex","canUpdate","cursor","formatMessage","useIntl","editObject","usersCountText","defaultMessage","number","_jsxs","Tr","aria-rowindex","onClick","undefined","_jsx","Td","maxWidth","Typography","ellipsis","textColor","Flex","justifyContent","e","stopPropagation","map","icon","i","Box","paddingLeft","IconButton","variant","label","ListPage","permissions","useTypedSelector","selectAdminPermissions","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","isWarningDeleteAllOpened","setIsWarningDeleteAllOpenend","React","useState","query","useQueryParams","isLoading","isLoadingForPermissions","allowedActions","canCreate","canDelete","canRead","useRBAC","settings","roles","refetch","refetchRoles","useAdminRoles","filters","_q","$containsi","refetchOnMountOrArgChange","skip","navigate","useNavigate","roleToDelete","dispatch","useReducer","reducer","initialState","post","useFetchClient","handleDeleteData","type","ids","error","isFetchError","message","handleNewRoleClick","handleToggleModal","prev","handleClickDelete","role","preventDefault","handleClickDuplicate","rowCount","length","colCount","Page","Loading","Main","Title","Layouts","Header","primaryAction","Button","startIcon","Plus","size","title","subtitle","Action","startActions","SearchInput","target","Content","Table","footer","TFooter","Thead","Th","VisuallyHidden","Tbody","index","children","Duplicate","toString","Pencil","Trash","filter","Boolean","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","showModalConfirmButtonLoading","shouldRefetchData","state","action","produce","draftState","ProtectedListPage","admin_app","read","Protect"],"mappings":"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"}