@strapi/admin 5.0.0-beta.2 → 5.0.0-beta.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 (252) hide show
  1. package/dist/admin/{AdminSeatInfo-pcU6Psg5.js → AdminSeatInfo-H5eNy3Gq.js} +5 -5
  2. package/dist/admin/{AdminSeatInfo-pcU6Psg5.js.map → AdminSeatInfo-H5eNy3Gq.js.map} +1 -1
  3. package/dist/admin/{AdminSeatInfo-KKTvi8LR.mjs → AdminSeatInfo-jPH1stsB.mjs} +4 -4
  4. package/dist/admin/{AdminSeatInfo-KKTvi8LR.mjs.map → AdminSeatInfo-jPH1stsB.mjs.map} +1 -1
  5. package/dist/admin/{ApplicationInfoPage-eFuntlx4.mjs → ApplicationInfoPage-QiVVy6LS.mjs} +4 -4
  6. package/dist/admin/{ApplicationInfoPage-eFuntlx4.mjs.map → ApplicationInfoPage-QiVVy6LS.mjs.map} +1 -1
  7. package/dist/admin/{ApplicationInfoPage-Ip1_DTk9.js → ApplicationInfoPage-leY1AEgo.js} +14 -14
  8. package/dist/admin/{ApplicationInfoPage-Ip1_DTk9.js.map → ApplicationInfoPage-leY1AEgo.js.map} +1 -1
  9. package/dist/admin/{AuthResponse-no1FFPpN.mjs → AuthResponse-5G-7aJDM.mjs} +2 -2
  10. package/dist/admin/{AuthResponse-no1FFPpN.mjs.map → AuthResponse-5G-7aJDM.mjs.map} +1 -1
  11. package/dist/admin/{AuthResponse-j4iu1hDd.js → AuthResponse-kdo9DYPT.js} +4 -4
  12. package/dist/admin/{AuthResponse-j4iu1hDd.js.map → AuthResponse-kdo9DYPT.js.map} +1 -1
  13. package/dist/admin/{AuthenticatedLayout-GD2XM4Xh.js → AuthenticatedLayout-1x0WC6c6.js} +41 -62
  14. package/dist/admin/AuthenticatedLayout-1x0WC6c6.js.map +1 -0
  15. package/dist/admin/{AuthenticatedLayout-mta84NQE.mjs → AuthenticatedLayout-zaOd05gw.mjs} +23 -44
  16. package/dist/admin/AuthenticatedLayout-zaOd05gw.mjs.map +1 -0
  17. package/dist/admin/{CreateActionEE-j8NEQArt.js → CreateActionEE-2DKYzbq_.js} +2 -2
  18. package/dist/admin/{CreateActionEE-j8NEQArt.js.map → CreateActionEE-2DKYzbq_.js.map} +1 -1
  19. package/dist/admin/{CreateActionEE-9o2Mj6Ml.mjs → CreateActionEE-TcGdWjIN.mjs} +2 -2
  20. package/dist/admin/{CreateActionEE-9o2Mj6Ml.mjs.map → CreateActionEE-TcGdWjIN.mjs.map} +1 -1
  21. package/dist/admin/{CreatePage-V4cSRx8F.js → CreatePage-J84OUqE4.js} +12 -12
  22. package/dist/admin/{CreatePage-V4cSRx8F.js.map → CreatePage-J84OUqE4.js.map} +1 -1
  23. package/dist/admin/{CreatePage-FJXNWV-g.mjs → CreatePage-gSoe3n8A.mjs} +3 -3
  24. package/dist/admin/{CreatePage-FJXNWV-g.mjs.map → CreatePage-gSoe3n8A.mjs.map} +1 -1
  25. package/dist/admin/{CreatePage-P-JKk6La.mjs → CreatePage-pniatTP-.mjs} +5 -5
  26. package/dist/admin/{CreatePage-P-JKk6La.mjs.map → CreatePage-pniatTP-.mjs.map} +1 -1
  27. package/dist/admin/{CreatePage-ZcVRwog2.js → CreatePage-z4ERqv1R.js} +5 -5
  28. package/dist/admin/{CreatePage-ZcVRwog2.js.map → CreatePage-z4ERqv1R.js.map} +1 -1
  29. package/dist/admin/{CreateView-BKV0PWUL.mjs → CreateView-BdO0Pvex.mjs} +3 -3
  30. package/dist/admin/{CreateView-BKV0PWUL.mjs.map → CreateView-BdO0Pvex.mjs.map} +1 -1
  31. package/dist/admin/CreateView-JNmfRawb.js +17 -0
  32. package/dist/admin/{CreateView-tQxib6Yo.js.map → CreateView-JNmfRawb.js.map} +1 -1
  33. package/dist/admin/CreateView-NwMXZjDh.js +17 -0
  34. package/dist/admin/{CreateView-5zt3cfsd.js.map → CreateView-NwMXZjDh.js.map} +1 -1
  35. package/dist/admin/{CreateView-A1wdcygq.mjs → CreateView-sFb3ySEj.mjs} +3 -3
  36. package/dist/admin/{CreateView-A1wdcygq.mjs.map → CreateView-sFb3ySEj.mjs.map} +1 -1
  37. package/dist/admin/{EditPage-qN5pbP1W.mjs → EditPage-3wx6NJgA.mjs} +7 -7
  38. package/dist/admin/{EditPage-qN5pbP1W.mjs.map → EditPage-3wx6NJgA.mjs.map} +1 -1
  39. package/dist/admin/{EditPage-k_6aHRVf.mjs → EditPage-IQRLHMer.mjs} +10 -9
  40. package/dist/admin/EditPage-IQRLHMer.mjs.map +1 -0
  41. package/dist/admin/{EditPage-YUSwYkTW.js → EditPage-dAyJwJfs.js} +19 -18
  42. package/dist/admin/EditPage-dAyJwJfs.js.map +1 -0
  43. package/dist/admin/{EditPage-L3K_x3mo.js → EditPage-eR6riBsR.js} +13 -13
  44. package/dist/admin/{EditPage-L3K_x3mo.js.map → EditPage-eR6riBsR.js.map} +1 -1
  45. package/dist/admin/{EditPage-7LbHuqPq.js → EditPage-rdOE18EC.js} +13 -13
  46. package/dist/admin/{EditPage-7LbHuqPq.js.map → EditPage-rdOE18EC.js.map} +1 -1
  47. package/dist/admin/{EditPage-NKv-e2KT.mjs → EditPage-yztdPcnM.mjs} +6 -6
  48. package/dist/admin/{EditPage-NKv-e2KT.mjs.map → EditPage-yztdPcnM.mjs.map} +1 -1
  49. package/dist/admin/{EditView-NsG_ztE8.mjs → EditView-fbzip_S8.mjs} +6 -6
  50. package/dist/admin/{EditView-NsG_ztE8.mjs.map → EditView-fbzip_S8.mjs.map} +1 -1
  51. package/dist/admin/{EditView-HPIQBaUm.js → EditView-oyHNBKvL.js} +16 -16
  52. package/dist/admin/{EditView-HPIQBaUm.js.map → EditView-oyHNBKvL.js.map} +1 -1
  53. package/dist/admin/{EditViewPage-_RgRquw7.js → EditViewPage-LdDGNi6d.js} +18 -18
  54. package/dist/admin/{EditViewPage-_RgRquw7.js.map → EditViewPage-LdDGNi6d.js.map} +1 -1
  55. package/dist/admin/{EditViewPage-SORieV31.mjs → EditViewPage-rDgxiutd.mjs} +8 -8
  56. package/dist/admin/{EditViewPage-SORieV31.mjs.map → EditViewPage-rDgxiutd.mjs.map} +1 -1
  57. package/dist/admin/{EventsTable-lKzkleEo.js → EventsTable--peC0Geq.js} +2 -2
  58. package/dist/admin/{EventsTable-lKzkleEo.js.map → EventsTable--peC0Geq.js.map} +1 -1
  59. package/dist/admin/{EventsTable-ZGByQmYS.mjs → EventsTable-rNMPq-X1.mjs} +2 -2
  60. package/dist/admin/{EventsTable-ZGByQmYS.mjs.map → EventsTable-rNMPq-X1.mjs.map} +1 -1
  61. package/dist/admin/{HomePage-WL46uo6c.js → HomePage-14WM2hIE.js} +3 -3
  62. package/dist/admin/{HomePage-WL46uo6c.js.map → HomePage-14WM2hIE.js.map} +1 -1
  63. package/dist/admin/{HomePage-XsltwUHu.js → HomePage-e2Bs6Kar.js} +12 -12
  64. package/dist/admin/{HomePage-XsltwUHu.js.map → HomePage-e2Bs6Kar.js.map} +1 -1
  65. package/dist/admin/{HomePage-Gt7-reqY.mjs → HomePage-qgAro8dS.mjs} +5 -5
  66. package/dist/admin/{HomePage-Gt7-reqY.mjs.map → HomePage-qgAro8dS.mjs.map} +1 -1
  67. package/dist/admin/{HomePage-WNfhIqeG.mjs → HomePage-zQ7HL9y6.mjs} +3 -3
  68. package/dist/admin/{HomePage-WNfhIqeG.mjs.map → HomePage-zQ7HL9y6.mjs.map} +1 -1
  69. package/dist/admin/{InstalledPluginsPage-GYKMwvHv.js → InstalledPluginsPage-ZIPyDrzh.js} +10 -10
  70. package/dist/admin/{InstalledPluginsPage-GYKMwvHv.js.map → InstalledPluginsPage-ZIPyDrzh.js.map} +1 -1
  71. package/dist/admin/{InstalledPluginsPage--ZsKfXh4.mjs → InstalledPluginsPage-s_PGIc3_.mjs} +4 -4
  72. package/dist/admin/{InstalledPluginsPage--ZsKfXh4.mjs.map → InstalledPluginsPage-s_PGIc3_.mjs.map} +1 -1
  73. package/dist/admin/{Layout-Ojd0IVLT.js → Layout-KAX2c8wc.js} +12 -12
  74. package/dist/admin/Layout-KAX2c8wc.js.map +1 -0
  75. package/dist/admin/{Layout-fD9qm3jw.mjs → Layout-mEj5c1Bi.mjs} +6 -6
  76. package/dist/admin/Layout-mEj5c1Bi.mjs.map +1 -0
  77. package/dist/admin/{ListPage-fjrFazMD.mjs → ListPage-AI8neqxV.mjs} +4 -4
  78. package/dist/admin/{ListPage-fjrFazMD.mjs.map → ListPage-AI8neqxV.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-bixYhMBi.js → ListPage-ARW72ceH.js} +13 -13
  80. package/dist/admin/{ListPage-bixYhMBi.js.map → ListPage-ARW72ceH.js.map} +1 -1
  81. package/dist/admin/{ListPage-ddKZOtpb.js → ListPage-AUimd0cK.js} +20 -20
  82. package/dist/admin/{ListPage-ddKZOtpb.js.map → ListPage-AUimd0cK.js.map} +1 -1
  83. package/dist/admin/{ListPage-cdXKmKwt.mjs → ListPage-BIpKdUdv.mjs} +5 -5
  84. package/dist/admin/{ListPage-cdXKmKwt.mjs.map → ListPage-BIpKdUdv.mjs.map} +1 -1
  85. package/dist/admin/{ListPage-qABnTZzR.js → ListPage-DxI49fdQ.js} +14 -14
  86. package/dist/admin/{ListPage-qABnTZzR.js.map → ListPage-DxI49fdQ.js.map} +1 -1
  87. package/dist/admin/{ListPage-2KQUGpSp.js → ListPage-MvgbZlgc.js} +3 -3
  88. package/dist/admin/{ListPage-2KQUGpSp.js.map → ListPage-MvgbZlgc.js.map} +1 -1
  89. package/dist/admin/{ListPage-WozCiyeB.mjs → ListPage-ZDEeaYvm.mjs} +3 -3
  90. package/dist/admin/{ListPage-WozCiyeB.mjs.map → ListPage-ZDEeaYvm.mjs.map} +1 -1
  91. package/dist/admin/{ListPage-FjHi4ZGu.mjs → ListPage-asZ9aDzG.mjs} +5 -5
  92. package/dist/admin/{ListPage-FjHi4ZGu.mjs.map → ListPage-asZ9aDzG.mjs.map} +1 -1
  93. package/dist/admin/{ListPage-BjjqJKzh.js → ListPage-romICg1Z.js} +16 -16
  94. package/dist/admin/{ListPage-BjjqJKzh.js.map → ListPage-romICg1Z.js.map} +1 -1
  95. package/dist/admin/{ListPage-TQPuZR4V.mjs → ListPage-tniramRN.mjs} +9 -9
  96. package/dist/admin/{ListPage-TQPuZR4V.mjs.map → ListPage-tniramRN.mjs.map} +1 -1
  97. package/dist/admin/{ListView-9E8SVTSf.js → ListView-1VRmjfh8.js} +13 -13
  98. package/dist/admin/{ListView-9E8SVTSf.js.map → ListView-1VRmjfh8.js.map} +1 -1
  99. package/dist/admin/{ListView-T5y4ambL.mjs → ListView-6hlTFx5H.mjs} +5 -5
  100. package/dist/admin/{ListView-T5y4ambL.mjs.map → ListView-6hlTFx5H.mjs.map} +1 -1
  101. package/dist/admin/{ListView-jUavvOoD.mjs → ListView-GYuN24HV.mjs} +4 -4
  102. package/dist/admin/{ListView-jUavvOoD.mjs.map → ListView-GYuN24HV.mjs.map} +1 -1
  103. package/dist/admin/{ListView-ZC27Df9H.js → ListView-ph55AtDF.js} +14 -14
  104. package/dist/admin/{ListView-ZC27Df9H.js.map → ListView-ph55AtDF.js.map} +1 -1
  105. package/dist/admin/{Login-pnQ7v5vq.mjs → Login-LxE58baP.mjs} +3 -3
  106. package/dist/admin/{Login-pnQ7v5vq.mjs.map → Login-LxE58baP.mjs.map} +1 -1
  107. package/dist/admin/{Login-1AOrPSGD.js → Login-WeDT3kAj.js} +4 -4
  108. package/dist/admin/{Login-1AOrPSGD.js.map → Login-WeDT3kAj.js.map} +1 -1
  109. package/dist/admin/{MagicLinkEE-ahlmWLG6.mjs → MagicLinkEE-AO_SBYi5.mjs} +3 -3
  110. package/dist/admin/{MagicLinkEE-ahlmWLG6.mjs.map → MagicLinkEE-AO_SBYi5.mjs.map} +1 -1
  111. package/dist/admin/{MagicLinkEE-BpisXVzq.js → MagicLinkEE-_fUwHKdf.js} +3 -3
  112. package/dist/admin/{MagicLinkEE-BpisXVzq.js.map → MagicLinkEE-_fUwHKdf.js.map} +1 -1
  113. package/dist/admin/{MarketplacePage-gDPY0phu.mjs → MarketplacePage-26cUn4e5.mjs} +3 -3
  114. package/dist/admin/{MarketplacePage-gDPY0phu.mjs.map → MarketplacePage-26cUn4e5.mjs.map} +1 -1
  115. package/dist/admin/{MarketplacePage-Ogkt8lJq.js → MarketplacePage-m8Lf3adM.js} +17 -17
  116. package/dist/admin/{MarketplacePage-Ogkt8lJq.js.map → MarketplacePage-m8Lf3adM.js.map} +1 -1
  117. package/dist/admin/{Permissions-RkPUHIVE.js → Permissions-NRzJqZEr.js} +7 -7
  118. package/dist/admin/{Permissions-RkPUHIVE.js.map → Permissions-NRzJqZEr.js.map} +1 -1
  119. package/dist/admin/{Permissions-l8yWERDW.mjs → Permissions-VzklM1ie.mjs} +3 -3
  120. package/dist/admin/{Permissions-l8yWERDW.mjs.map → Permissions-VzklM1ie.mjs.map} +1 -1
  121. package/dist/admin/{PrivateRoute-I8uiqYMc.js → PrivateRoute-KAM10GGM.js} +3 -3
  122. package/dist/admin/{PrivateRoute-I8uiqYMc.js.map → PrivateRoute-KAM10GGM.js.map} +1 -1
  123. package/dist/admin/{PrivateRoute-m7OeCfYA.mjs → PrivateRoute-wDu6Vo0N.mjs} +2 -2
  124. package/dist/admin/{PrivateRoute-m7OeCfYA.mjs.map → PrivateRoute-wDu6Vo0N.mjs.map} +1 -1
  125. package/dist/admin/{ProfilePage-mO3MQozZ.mjs → ProfilePage-0d-k7mtP.mjs} +6 -6
  126. package/dist/admin/{ProfilePage-mO3MQozZ.mjs.map → ProfilePage-0d-k7mtP.mjs.map} +1 -1
  127. package/dist/admin/{ProfilePage-yLYrmYfh.js → ProfilePage-oSih4pcL.js} +20 -20
  128. package/dist/admin/{ProfilePage-yLYrmYfh.js.map → ProfilePage-oSih4pcL.js.map} +1 -1
  129. package/dist/admin/{SelectRoles-vs_GIRku.mjs → SelectRoles-V_PZUtVT.mjs} +4 -4
  130. package/dist/admin/{SelectRoles-vs_GIRku.mjs.map → SelectRoles-V_PZUtVT.mjs.map} +1 -1
  131. package/dist/admin/{SelectRoles-E27rLNXb.js → SelectRoles-ZsRUnSdr.js} +5 -5
  132. package/dist/admin/{SelectRoles-E27rLNXb.js.map → SelectRoles-ZsRUnSdr.js.map} +1 -1
  133. package/dist/admin/{SingleSignOnPage-EIJNDHZ1.js → SingleSignOnPage-jtjy4_4U.js} +16 -16
  134. package/dist/admin/{SingleSignOnPage-EIJNDHZ1.js.map → SingleSignOnPage-jtjy4_4U.js.map} +1 -1
  135. package/dist/admin/{SingleSignOnPage-rFbze2qS.mjs → SingleSignOnPage-kbLz1A_y.mjs} +5 -5
  136. package/dist/admin/{SingleSignOnPage-rFbze2qS.mjs.map → SingleSignOnPage-kbLz1A_y.mjs.map} +1 -1
  137. package/dist/admin/{Table-yt4e2psj.mjs → Table-ZFyORhH3.mjs} +3 -3
  138. package/dist/admin/{Table-yt4e2psj.mjs.map → Table-ZFyORhH3.mjs.map} +1 -1
  139. package/dist/admin/{Table-y_iVVRmo.js → Table-kMt3jQ2g.js} +5 -5
  140. package/dist/admin/{Table-y_iVVRmo.js.map → Table-kMt3jQ2g.js.map} +1 -1
  141. package/dist/admin/{TokenTypeSelect-6UaG68id.js → TokenTypeSelect-Ngz4ONEL.js} +8 -8
  142. package/dist/admin/{TokenTypeSelect-6UaG68id.js.map → TokenTypeSelect-Ngz4ONEL.js.map} +1 -1
  143. package/dist/admin/{TokenTypeSelect-FTMoBhn3.mjs → TokenTypeSelect-oOKwvsQ2.mjs} +4 -4
  144. package/dist/admin/{TokenTypeSelect-FTMoBhn3.mjs.map → TokenTypeSelect-oOKwvsQ2.mjs.map} +1 -1
  145. package/dist/admin/{UseCasePage-ifVOOcqK.mjs → UseCasePage-2wum_xzS.mjs} +4 -4
  146. package/dist/admin/{UseCasePage-ifVOOcqK.mjs.map → UseCasePage-2wum_xzS.mjs.map} +1 -1
  147. package/dist/admin/{UseCasePage-PzT7YQgK.js → UseCasePage-qrhHiF5S.js} +6 -6
  148. package/dist/admin/{UseCasePage-PzT7YQgK.js.map → UseCasePage-qrhHiF5S.js.map} +1 -1
  149. package/dist/admin/{admin-w3o7ePNm.mjs → admin-DUKhYsmP.mjs} +12 -2
  150. package/dist/admin/admin-DUKhYsmP.mjs.map +1 -0
  151. package/dist/admin/{admin-vcfA8Zox.js → admin-vlKSOeHB.js} +12 -1
  152. package/dist/admin/admin-vlKSOeHB.js.map +1 -0
  153. package/dist/admin/{apiTokens-75EXEvGS.mjs → apiTokens-dBRuo1wd.mjs} +2 -2
  154. package/dist/admin/{apiTokens-75EXEvGS.mjs.map → apiTokens-dBRuo1wd.mjs.map} +1 -1
  155. package/dist/admin/{apiTokens-wqQgdbcG.js → apiTokens-lXn03No3.js} +2 -2
  156. package/dist/admin/{apiTokens-wqQgdbcG.js.map → apiTokens-lXn03No3.js.map} +1 -1
  157. package/dist/admin/{constants-ORUQO0uh.mjs → constants-enREoOEa.mjs} +3 -3
  158. package/dist/admin/{constants-ORUQO0uh.mjs.map → constants-enREoOEa.mjs.map} +1 -1
  159. package/dist/admin/{constants-oTDk_K7z.js → constants-jQFnBWVd.js} +4 -4
  160. package/dist/admin/{constants-oTDk_K7z.js.map → constants-jQFnBWVd.js.map} +1 -1
  161. package/dist/admin/ee.js +1 -1
  162. package/dist/admin/ee.mjs +1 -1
  163. package/dist/admin/{index-tmvI3DXu.js → index-dcaxfEDi.js} +113 -90
  164. package/dist/admin/index-dcaxfEDi.js.map +1 -0
  165. package/dist/admin/{index-PCKQWB49.mjs → index-oBxjGftZ.mjs} +72 -49
  166. package/dist/admin/index-oBxjGftZ.mjs.map +1 -0
  167. package/dist/admin/index.js +13 -13
  168. package/dist/admin/index.mjs +3 -3
  169. package/dist/admin/{Theme-j7r62OPn.js → rbac-WZsv1761.js} +128 -50
  170. package/dist/admin/rbac-WZsv1761.js.map +1 -0
  171. package/dist/admin/{Theme-Gult7t3_.mjs → rbac-sYT_mXH0.mjs} +128 -51
  172. package/dist/admin/rbac-sYT_mXH0.mjs.map +1 -0
  173. package/dist/admin/{selectors-i8UwQyuC.mjs → selectors-3gRe5pAj.mjs} +2 -2
  174. package/dist/admin/{selectors-i8UwQyuC.mjs.map → selectors-3gRe5pAj.mjs.map} +1 -1
  175. package/dist/admin/selectors-CiTVxP8O.js +8 -0
  176. package/dist/admin/{selectors-1-hG3q3-.js.map → selectors-CiTVxP8O.js.map} +1 -1
  177. package/dist/admin/src/StrapiApp.d.ts +3 -0
  178. package/dist/admin/src/components/Form.d.ts +10 -1
  179. package/dist/admin/src/core/apis/rbac.d.ts +24 -0
  180. package/dist/admin/src/features/Auth.d.ts +14 -3
  181. package/dist/admin/src/features/StrapiApp.d.ts +2 -0
  182. package/dist/admin/src/hooks/useRBAC.d.ts +33 -1
  183. package/dist/admin/src/index.d.ts +1 -0
  184. package/dist/admin/src/utils/once.d.ts +1 -0
  185. package/dist/admin/src/utils/urls.d.ts +7 -1
  186. package/dist/admin/src/utils/users.d.ts +4 -3
  187. package/dist/admin/test.js +48 -48
  188. package/dist/admin/test.js.map +1 -1
  189. package/dist/admin/test.mjs +44 -44
  190. package/dist/admin/test.mjs.map +1 -1
  191. package/dist/admin/{transferTokens-GqOwfpHk.js → transferTokens-5qQjIKFd.js} +2 -2
  192. package/dist/admin/{transferTokens-GqOwfpHk.js.map → transferTokens-5qQjIKFd.js.map} +1 -1
  193. package/dist/admin/{transferTokens-Dibaubom.mjs → transferTokens-OLPKYcY_.mjs} +2 -2
  194. package/dist/admin/{transferTokens-Dibaubom.mjs.map → transferTokens-OLPKYcY_.mjs.map} +1 -1
  195. package/dist/admin/{useAdminRoles-iyGa9Xh9.mjs → useAdminRoles-HWIbyk2Z.mjs} +2 -2
  196. package/dist/admin/{useAdminRoles-iyGa9Xh9.mjs.map → useAdminRoles-HWIbyk2Z.mjs.map} +1 -1
  197. package/dist/admin/{useAdminRoles-XTNZhJh5.js → useAdminRoles-Q2BxHs4o.js} +2 -2
  198. package/dist/admin/{useAdminRoles-XTNZhJh5.js.map → useAdminRoles-Q2BxHs4o.js.map} +1 -1
  199. package/dist/admin/{useLicenseLimitNotification-qeIH3VJE.js → useLicenseLimitNotification-0UWeCY_u.js} +4 -4
  200. package/dist/admin/{useLicenseLimitNotification-qeIH3VJE.js.map → useLicenseLimitNotification-0UWeCY_u.js.map} +1 -1
  201. package/dist/admin/{useLicenseLimitNotification-d06Aex_I.mjs → useLicenseLimitNotification-aTNbD3xK.mjs} +3 -3
  202. package/dist/admin/{useLicenseLimitNotification-d06Aex_I.mjs.map → useLicenseLimitNotification-aTNbD3xK.mjs.map} +1 -1
  203. package/dist/admin/{useLicenseLimits-EyslHDFM.mjs → useLicenseLimits-F7K-YWAE.mjs} +2 -2
  204. package/dist/admin/{useLicenseLimits-EyslHDFM.mjs.map → useLicenseLimits-F7K-YWAE.mjs.map} +1 -1
  205. package/dist/admin/{useLicenseLimits-bLiwF5ah.js → useLicenseLimits-m11DOu9p.js} +2 -2
  206. package/dist/admin/{useLicenseLimits-bLiwF5ah.js.map → useLicenseLimits-m11DOu9p.js.map} +1 -1
  207. package/dist/admin/{useWebhooks-Dae71Az5.mjs → useWebhooks-7BXPSMHG.mjs} +2 -2
  208. package/dist/admin/{useWebhooks-Dae71Az5.mjs.map → useWebhooks-7BXPSMHG.mjs.map} +1 -1
  209. package/dist/admin/{useWebhooks-WyRAGIH5.js → useWebhooks-oZ5DKtvz.js} +2 -2
  210. package/dist/admin/{useWebhooks-WyRAGIH5.js.map → useWebhooks-oZ5DKtvz.js.map} +1 -1
  211. package/dist/admin/users-R5A0kUOV.js +33 -0
  212. package/dist/admin/users-R5A0kUOV.js.map +1 -0
  213. package/dist/admin/users-a4KTyEyc.mjs +30 -0
  214. package/dist/admin/users-a4KTyEyc.mjs.map +1 -0
  215. package/dist/admin/{validation-Tb5_X4v4.js → validation-2MGgF10o.js} +2 -2
  216. package/dist/admin/{validation-Tb5_X4v4.js.map → validation-2MGgF10o.js.map} +1 -1
  217. package/dist/admin/{validation-GUb7vvsl.mjs → validation-gH-06ERZ.mjs} +2 -2
  218. package/dist/admin/{validation-GUb7vvsl.mjs.map → validation-gH-06ERZ.mjs.map} +1 -1
  219. package/dist/ee/server/index.js +15 -15
  220. package/dist/ee/server/index.js.map +1 -1
  221. package/dist/ee/server/index.mjs +15 -15
  222. package/dist/ee/server/index.mjs.map +1 -1
  223. package/dist/package.json.d.ts +14 -14
  224. package/dist/server/index.js +30 -34
  225. package/dist/server/index.js.map +1 -1
  226. package/dist/server/index.mjs +30 -34
  227. package/dist/server/index.mjs.map +1 -1
  228. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  229. package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
  230. package/dist/server/src/services/passport.d.ts.map +1 -1
  231. package/dist/server/src/validation/project-settings.d.ts +8 -8
  232. package/package.json +15 -15
  233. package/dist/admin/AuthenticatedLayout-GD2XM4Xh.js.map +0 -1
  234. package/dist/admin/AuthenticatedLayout-mta84NQE.mjs.map +0 -1
  235. package/dist/admin/CreateView-5zt3cfsd.js +0 -17
  236. package/dist/admin/CreateView-tQxib6Yo.js +0 -17
  237. package/dist/admin/EditPage-YUSwYkTW.js.map +0 -1
  238. package/dist/admin/EditPage-k_6aHRVf.mjs.map +0 -1
  239. package/dist/admin/Layout-Ojd0IVLT.js.map +0 -1
  240. package/dist/admin/Layout-fD9qm3jw.mjs.map +0 -1
  241. package/dist/admin/Theme-Gult7t3_.mjs.map +0 -1
  242. package/dist/admin/Theme-j7r62OPn.js.map +0 -1
  243. package/dist/admin/admin-vcfA8Zox.js.map +0 -1
  244. package/dist/admin/admin-w3o7ePNm.mjs.map +0 -1
  245. package/dist/admin/index-PCKQWB49.mjs.map +0 -1
  246. package/dist/admin/index-tmvI3DXu.js.map +0 -1
  247. package/dist/admin/selectors-1-hG3q3-.js +0 -8
  248. package/dist/admin/src/utils/hashAdminUserEmail.d.ts +0 -6
  249. package/dist/admin/users-BKmHEtNM.js +0 -19
  250. package/dist/admin/users-BKmHEtNM.js.map +0 -1
  251. package/dist/admin/users-P2ivP9Cm.mjs +0 -17
  252. package/dist/admin/users-P2ivP9Cm.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout-KAX2c8wc.js","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Page.Title>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Page.Title>\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["React","useAuth","useAppInfo","useStrapiApp","useSelector","selectAdminPermissions","SETTINGS_LINKS_CE","useEnterprise","ceLinks","sections","permission","sortBy","styled","Icon","useIntl","useTracking","useLocation","jsxs","SubNav","jsx","SubNavHeader","SubNavSections","SubNavSection","SubNavLink","NavLink","Lock","useMatch","Page","Navigate","DSLayout","Outlet"],"mappings":"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"}
@@ -2,12 +2,12 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Icon, Layout as Layout$1 } from '@strapi/design-system';
3
3
  import { useIntl } from 'react-intl';
4
4
  import { useLocation, NavLink, useMatch, Navigate, Outlet } from 'react-router-dom';
5
- import { a as useAuth, m as useAppInfo, n as useStrapiApp, d as useTracking, P as Page } from './Theme-Gult7t3_.mjs';
5
+ import { a as useAuth, m as useAppInfo, n as useStrapiApp, d as useTracking, P as Page } from './rbac-sYT_mXH0.mjs';
6
6
  import * as React from 'react';
7
7
  import sortBy from 'lodash/sortBy';
8
8
  import { useSelector } from 'react-redux';
9
- import { p as SETTINGS_LINKS_CE } from './index-PCKQWB49.mjs';
10
- import { s as selectAdminPermissions } from './selectors-i8UwQyuC.mjs';
9
+ import { p as SETTINGS_LINKS_CE } from './index-oBxjGftZ.mjs';
10
+ import { s as selectAdminPermissions } from './selectors-3gRe5pAj.mjs';
11
11
  import { u as useEnterprise } from './useEnterprise-jpsYZWzn.mjs';
12
12
  import { SubNav, SubNavHeader, SubNavSections, SubNavSection, SubNavLink } from '@strapi/design-system/v2';
13
13
  import { Lock } from '@strapi/icons';
@@ -35,7 +35,7 @@ const useSettingsMenu = () => {
35
35
  const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
36
36
  const { admin: adminLinks, global: globalLinks } = useEnterprise(
37
37
  ceLinks,
38
- async () => (await import('./index-PCKQWB49.mjs').then(n => n.K)).SETTINGS_LINKS_EE(),
38
+ async () => (await import('./index-oBxjGftZ.mjs').then(n => n.K)).SETTINGS_LINKS_EE(),
39
39
  {
40
40
  combine(ceLinks2, eeLinks) {
41
41
  return {
@@ -66,7 +66,7 @@ const useSettingsMenu = () => {
66
66
  const buildMenuPermissions = (sections2) => Promise.all(
67
67
  sections2.reduce((acc, section, sectionIndex) => {
68
68
  const linksWithPermissions = section.links.map(async (link, linkIndex) => ({
69
- hasPermission: await checkUserHasPermission(link.permissions),
69
+ hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,
70
70
  sectionIndex,
71
71
  linkIndex
72
72
  }));
@@ -201,4 +201,4 @@ const Layout = () => {
201
201
  };
202
202
 
203
203
  export { Layout };
204
- //# sourceMappingURL=Layout-fD9qm3jw.mjs.map
204
+ //# sourceMappingURL=Layout-mEj5c1Bi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout-mEj5c1Bi.mjs","sources":["../../admin/src/hooks/useSettingsMenu.ts","../../admin/src/pages/Settings/components/SettingsNav.tsx","../../admin/src/pages/Settings/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport sortBy from 'lodash/sortBy';\nimport { useSelector } from 'react-redux';\n\nimport { SETTINGS_LINKS_CE, SettingsMenuLink } from '../constants';\nimport { useAppInfo } from '../features/AppInfo';\nimport { useAuth } from '../features/Auth';\nimport { useStrapiApp } from '../features/StrapiApp';\nimport { selectAdminPermissions } from '../selectors';\nimport { PermissionMap } from '../types/permissions';\n\nimport { useEnterprise } from './useEnterprise';\n\nimport type { StrapiAppSetting, StrapiAppSettingLink as IStrapiAppSettingLink } from '../StrapiApp';\n\nconst formatLinks = (menu: SettingsMenuSection[]): SettingsMenuSectionWithDisplayedLinks[] =>\n menu.map((menuSection) => {\n const formattedLinks = menuSection.links.map((link) => ({\n ...link,\n isDisplayed: false,\n }));\n\n return { ...menuSection, links: formattedLinks };\n });\n\ninterface SettingsMenuLinkWithPermissions extends SettingsMenuLink {\n permissions: IStrapiAppSettingLink['permissions'];\n hasNotification?: boolean;\n}\n\ninterface StrapiAppSettingsLink extends IStrapiAppSettingLink {\n lockIcon?: never;\n hasNotification?: never;\n}\n\ninterface SettingsMenuSection extends Omit<StrapiAppSetting, 'links'> {\n links: Array<SettingsMenuLinkWithPermissions | StrapiAppSettingsLink>;\n}\n\ninterface SettingsMenuLinkWithPermissionsAndDisplayed extends SettingsMenuLinkWithPermissions {\n isDisplayed: boolean;\n}\n\ninterface StrapiAppSettingLinkWithDisplayed extends StrapiAppSettingsLink {\n isDisplayed: boolean;\n}\n\ninterface SettingsMenuSectionWithDisplayedLinks extends Omit<SettingsMenuSection, 'links'> {\n links: Array<SettingsMenuLinkWithPermissionsAndDisplayed | StrapiAppSettingLinkWithDisplayed>;\n}\n\ntype SettingsMenu = SettingsMenuSectionWithDisplayedLinks[];\n\nconst useSettingsMenu = (): {\n isLoading: boolean;\n menu: SettingsMenu;\n} => {\n const [{ isLoading, menu }, setData] = React.useState<{\n isLoading: boolean;\n menu: SettingsMenu;\n }>({\n isLoading: true,\n menu: [],\n });\n const checkUserHasPermission = useAuth(\n 'useSettingsMenu',\n (state) => state.checkUserHasPermissions\n );\n const shouldUpdateStrapi = useAppInfo('useSettingsMenu', (state) => state.shouldUpdateStrapi);\n const settings = useStrapiApp('useSettingsMenu', (state) => state.settings);\n const permissions = useSelector(selectAdminPermissions);\n\n /**\n * memoize the return value of this function to avoid re-computing it on every render\n * because it's used in an effect it ends up re-running recursively.\n */\n const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);\n\n const { admin: adminLinks, global: globalLinks } = useEnterprise(\n ceLinks,\n async () => (await import('../../../ee/admin/src/constants')).SETTINGS_LINKS_EE(),\n {\n combine(ceLinks, eeLinks) {\n return {\n admin: [...eeLinks.admin, ...ceLinks.admin],\n global: [...ceLinks.global, ...eeLinks.global],\n };\n },\n defaultValue: {\n admin: [],\n global: [],\n },\n }\n );\n\n const addPermissions = React.useCallback(\n (link: SettingsMenuLink) => {\n if (!link.id) {\n throw new Error('The settings menu item must have an id attribute.');\n }\n\n return {\n ...link,\n permissions: permissions.settings?.[link.id as keyof PermissionMap['settings']]?.main ?? [],\n } satisfies SettingsMenuLinkWithPermissions;\n },\n [permissions.settings]\n );\n\n React.useEffect(() => {\n const getData = async () => {\n interface MenuLinkPermission {\n hasPermission: boolean;\n sectionIndex: number;\n linkIndex: number;\n }\n\n const buildMenuPermissions = (sections: SettingsMenuSectionWithDisplayedLinks[]) =>\n Promise.all(\n sections.reduce<Promise<MenuLinkPermission>[]>((acc, section, sectionIndex) => {\n const linksWithPermissions = section.links.map(async (link, linkIndex) => ({\n hasPermission: (await checkUserHasPermission(link.permissions)).length > 0,\n sectionIndex,\n linkIndex,\n }));\n\n return [...acc, ...linksWithPermissions];\n }, [])\n );\n\n const menuPermissions = await buildMenuPermissions(sections);\n\n setData((prev) => {\n return {\n ...prev,\n isLoading: false,\n menu: sections.map((section, sectionIndex) => ({\n ...section,\n links: section.links.map((link, linkIndex) => {\n const permission = menuPermissions.find(\n (permission) =>\n permission.sectionIndex === sectionIndex && permission.linkIndex === linkIndex\n );\n\n return {\n ...link,\n isDisplayed: Boolean(permission?.hasPermission),\n };\n }),\n })),\n };\n });\n };\n\n const { global, ...otherSections } = settings;\n const sections = formatLinks([\n {\n ...global,\n links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(\n (link) => ({\n ...link,\n hasNotification: link.id === '000-application-infos' && shouldUpdateStrapi,\n })\n ),\n },\n {\n id: 'permissions',\n intlLabel: { id: 'Settings.permissions', defaultMessage: 'Administration Panel' },\n links: adminLinks.map(addPermissions),\n },\n ...Object.values(otherSections),\n ]);\n\n getData();\n }, [\n adminLinks,\n globalLinks,\n settings,\n shouldUpdateStrapi,\n addPermissions,\n checkUserHasPermission,\n ]);\n\n return {\n isLoading,\n menu: menu.map((menuItem) => ({\n ...menuItem,\n links: menuItem.links.filter((link) => link.isDisplayed),\n })),\n };\n};\n\nexport { useSettingsMenu };\nexport type { SettingsMenu };\n","import { Icon } from '@strapi/design-system';\nimport {\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system/v2';\nimport { Lock } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { SettingsMenu } from '../../../hooks/useSettingsMenu';\n\n/**\n * TODO: refactor the SubNav entirely, we shouldn't have\n * to do this hack to work a lock at the end. It's a bit hacky.\n */\n\nconst CustomIcon = styled(Icon)`\n right: 15px;\n position: absolute;\n`;\n\ninterface SettingsNavProps {\n menu: SettingsMenu;\n}\n\nconst SettingsNav = ({ menu }: SettingsNavProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { pathname } = useLocation();\n\n const filteredMenu = menu.filter(\n (section) => !section.links.every((link) => link.isDisplayed === false)\n );\n\n const sections = filteredMenu.map((section) => {\n return {\n ...section,\n title: section.intlLabel,\n links: section.links.map((link) => {\n return {\n ...link,\n title: link.intlLabel,\n name: link.id,\n };\n }),\n };\n });\n\n const label = formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n });\n\n const handleClickOnLink = (destination: string) => () => {\n trackUsage('willNavigate', { from: pathname, to: destination });\n };\n\n return (\n <SubNav ariaLabel={label}>\n <SubNavHeader label={label} />\n <SubNavSections>\n {sections.map((section) => (\n <SubNavSection key={section.id} label={formatMessage(section.intlLabel)}>\n {section.links.map((link) => {\n return (\n <SubNavLink\n as={NavLink}\n withBullet={link.hasNotification}\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to={link.to}\n onClick={handleClickOnLink(link.to)}\n key={link.id}\n >\n {formatMessage(link.intlLabel)}\n {link?.lockIcon && (\n <CustomIcon width={`${15 / 16}rem`} height={`${15 / 16}rem`} as={Lock} />\n )}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n ))}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { SettingsNav };\nexport type { SettingsNavProps };\n","import { Layout as DSLayout } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Outlet, useMatch } from 'react-router-dom';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useSettingsMenu } from '../../hooks/useSettingsMenu';\n\nimport { SettingsNav } from './components/SettingsNav';\n\nconst Layout = () => {\n /**\n * This ensures we're capturing the settingId from the URL\n * but also lets any nesting after that pass.\n */\n const match = useMatch('/settings/:settingId/*');\n const { formatMessage } = useIntl();\n const { isLoading, menu } = useSettingsMenu();\n\n // Since the useSettingsMenu hook can make API calls in order to check the links permissions\n // We need to add a loading state to prevent redirecting the user while permissions are being checked\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (!match?.params.settingId) {\n return <Navigate to=\"application-infos\" />;\n }\n\n return (\n <DSLayout sideNav={<SettingsNav menu={menu} />}>\n <Page.Title>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Page.Title>\n <Outlet />\n </DSLayout>\n );\n};\n\nexport { Layout };\n"],"names":["ceLinks","sections","permission","DSLayout"],"mappings":"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"}
@@ -5,9 +5,9 @@ import { LinkButton } from '@strapi/design-system/v2';
5
5
  import { Plus, Trash, Pencil, EmptyDocuments } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useNavigate, NavLink } from 'react-router-dom';
8
- import { C as ConfirmDialog } from './index-PCKQWB49.mjs';
9
- import { b as useTypedSelector, P as Page, f as useAPIErrorHandler, u as useNotification, k as useRBAC } from './Theme-Gult7t3_.mjs';
10
- import { u as useWebhooks } from './useWebhooks-Dae71Az5.mjs';
8
+ import { C as ConfirmDialog } from './index-oBxjGftZ.mjs';
9
+ import { b as useTypedSelector, P as Page, f as useAPIErrorHandler, u as useNotification, k as useRBAC } from './rbac-sYT_mXH0.mjs';
10
+ import { u as useWebhooks } from './useWebhooks-7BXPSMHG.mjs';
11
11
 
12
12
  const ListPage = () => {
13
13
  const [showModal, setShowModal] = React.useState(false);
@@ -329,4 +329,4 @@ const ProtectedListPage = () => {
329
329
  };
330
330
 
331
331
  export { ListPage, ProtectedListPage };
332
- //# sourceMappingURL=ListPage-fjrFazMD.mjs.map
332
+ //# sourceMappingURL=ListPage-AI8neqxV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-fjrFazMD.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n ActionLayout,\n BaseCheckbox,\n Button,\n ContentLayout,\n EmptyStateLayout,\n Flex,\n HeaderLayout,\n IconButton,\n Layout,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { EmptyDocuments, Pencil, Plus, Trash } from '@strapi/icons';\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 { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\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 <HeaderLayout\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\n as={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to=\"create\"\n size=\"S\"\n >\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 <ActionLayout\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 <ContentLayout>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n <LinkButton variant=\"secondary\" startIcon={<Plus />} as={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 </ContentLayout>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layout>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListPage-AI8neqxV.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n ActionLayout,\n BaseCheckbox,\n Button,\n ContentLayout,\n EmptyStateLayout,\n Flex,\n HeaderLayout,\n IconButton,\n Layout,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { EmptyDocuments, Pencil, Plus, Trash } from '@strapi/icons';\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 { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\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 <HeaderLayout\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\n as={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to=\"create\"\n size=\"S\"\n >\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 <ActionLayout\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 <ContentLayout>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n <LinkButton variant=\"secondary\" startIcon={<Plus />} as={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 </ContentLayout>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layout>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}
@@ -9,9 +9,9 @@ const v2 = require('@strapi/design-system/v2');
9
9
  const icons = require('@strapi/icons');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRouterDom = require('react-router-dom');
12
- const index = require('./index-tmvI3DXu.js');
13
- const Theme = require('./Theme-j7r62OPn.js');
14
- const useWebhooks = require('./useWebhooks-WyRAGIH5.js');
12
+ const index = require('./index-dcaxfEDi.js');
13
+ const rbac = require('./rbac-WZsv1761.js');
14
+ const useWebhooks = require('./useWebhooks-oZ5DKtvz.js');
15
15
 
16
16
  function _interopNamespace(e) {
17
17
  if (e && e.__esModule) return e;
@@ -36,15 +36,15 @@ const React__namespace = /*#__PURE__*/_interopNamespace(React);
36
36
  const ListPage = () => {
37
37
  const [showModal, setShowModal] = React__namespace.useState(false);
38
38
  const [webhooksToDelete, setWebhooksToDelete] = React__namespace.useState([]);
39
- const permissions = Theme.useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);
39
+ const permissions = rbac.useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);
40
40
  const { formatMessage } = reactIntl.useIntl();
41
- const { _unstableFormatAPIError: formatAPIError } = Theme.useAPIErrorHandler();
42
- const { toggleNotification } = Theme.useNotification();
41
+ const { _unstableFormatAPIError: formatAPIError } = rbac.useAPIErrorHandler();
42
+ const { toggleNotification } = rbac.useNotification();
43
43
  const navigate = reactRouterDom.useNavigate();
44
44
  const {
45
45
  isLoading: isRBACLoading,
46
46
  allowedActions: { canCreate, canUpdate, canDelete }
47
- } = Theme.useRBAC(permissions);
47
+ } = rbac.useRBAC(permissions);
48
48
  const { notifyStatus } = designSystem.useNotifyAT();
49
49
  const {
50
50
  isLoading: isWebhooksLoading,
@@ -120,16 +120,16 @@ const ListPage = () => {
120
120
  const numberOfWebhooks = webhooks?.length ?? 0;
121
121
  const webhooksToDeleteLength = webhooksToDelete.length;
122
122
  if (isLoading) {
123
- return /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Loading, {});
123
+ return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Loading, {});
124
124
  }
125
125
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Layout, { children: [
126
- /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Title, { children: formatMessage(
126
+ /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Title, { children: formatMessage(
127
127
  { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
128
128
  {
129
129
  name: "Webhooks"
130
130
  }
131
131
  ) }),
132
- /* @__PURE__ */ jsxRuntime.jsxs(Theme.Page.Main, { "aria-busy": isLoading, children: [
132
+ /* @__PURE__ */ jsxRuntime.jsxs(rbac.Page.Main, { "aria-busy": isLoading, children: [
133
133
  /* @__PURE__ */ jsxRuntime.jsx(
134
134
  designSystem.HeaderLayout,
135
135
  {
@@ -346,12 +346,12 @@ const ListPage = () => {
346
346
  ] });
347
347
  };
348
348
  const ProtectedListPage = () => {
349
- const permissions = Theme.useTypedSelector(
349
+ const permissions = rbac.useTypedSelector(
350
350
  (state) => state.admin_app.permissions.settings?.webhooks.main
351
351
  );
352
- return /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(ListPage, {}) });
352
+ return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(ListPage, {}) });
353
353
  };
354
354
 
355
355
  exports.ListPage = ListPage;
356
356
  exports.ProtectedListPage = ProtectedListPage;
357
- //# sourceMappingURL=ListPage-bixYhMBi.js.map
357
+ //# sourceMappingURL=ListPage-ARW72ceH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage-bixYhMBi.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n ActionLayout,\n BaseCheckbox,\n Button,\n ContentLayout,\n EmptyStateLayout,\n Flex,\n HeaderLayout,\n IconButton,\n Layout,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { EmptyDocuments, Pencil, Plus, Trash } from '@strapi/icons';\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 { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\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 <HeaderLayout\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\n as={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to=\"create\"\n size=\"S\"\n >\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 <ActionLayout\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 <ContentLayout>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n <LinkButton variant=\"secondary\" startIcon={<Plus />} as={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 </ContentLayout>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layout>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["React","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useNavigate","useRBAC","useNotifyAT","useWebhooks","jsx","Page","Layout","jsxs","HeaderLayout","LinkButton","NavLink","Plus","ActionLayout","Fragment","Typography","Button","Trash","ContentLayout","Table","TFooter","Thead","Tr","Th","BaseCheckbox","VisuallyHidden","Tbody","Td","Flex","Switch","IconButton","Pencil","EmptyStateLayout","EmptyDocuments","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAM,WAAW,MAAM;AACrB,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAAA,gBAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AACtD,EAAA,MAAM,CAAC,gBAAkB,EAAA,mBAAmB,IAAIA,gBAAM,CAAA,QAAA,CAAmB,EAAE,CAAA,CAAA;AAC3E,EAAM,MAAA,WAAA,GAAcC,uBAAiB,CAAC,KAAA,KAAU,MAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAQ,CAAA,CAAA;AAC9F,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA,CAAA;AAClC,EAAA,MAAM,EAAE,uBAAA,EAAyB,cAAe,EAAA,GAAIC,wBAAmB,EAAA,CAAA;AACvE,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,qBAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,WAAWC,0BAAY,EAAA,CAAA;AAE7B,EAAM,MAAA;AAAA,IACJ,SAAW,EAAA,aAAA;AAAA,IACX,cAAgB,EAAA,EAAE,SAAW,EAAA,SAAA,EAAW,SAAU,EAAA;AAAA,GACpD,GAAIC,cAAQ,WAAW,CAAA,CAAA;AACvB,EAAM,MAAA,EAAE,YAAa,EAAA,GAAIC,wBAAY,EAAA,CAAA;AAErC,EAAM,MAAA;AAAA,IACJ,SAAW,EAAA,iBAAA;AAAA,IACX,QAAA;AAAA,IACA,KAAO,EAAA,aAAA;AAAA,IACP,aAAA;AAAA,IACA,kBAAA;AAAA,MACEC,uBAAY,EAAA,CAAA;AAEhB,EAAAR,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,aAAe,EAAA;AACjB,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,eAAe,aAAa,CAAA;AAAA,OACtC,CAAA,CAAA;AAED,MAAA,OAAA;AAAA,KACF;AACA,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,YAAA;AAAA,QACE,aAAc,CAAA;AAAA,UACZ,EAAI,EAAA,wCAAA;AAAA,UACJ,cAAgB,EAAA,2BAAA;AAAA,SACjB,CAAA;AAAA,OACH,CAAA;AAAA,KACF;AAAA,GACF,EAAG,CAAC,QAAU,EAAA,aAAA,EAAe,oBAAoB,aAAe,EAAA,YAAA,EAAc,cAAc,CAAC,CAAA,CAAA;AAE7F,EAAM,MAAA,aAAA,GAAgB,OAAO,IAA+D,KAAA;AAC1F,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,MAAM,aAAA,CAAc,IAAI,CAAA,CAAA;AAEpC,MAAA,IAAI,WAAW,GAAK,EAAA;AAClB,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAAA,OACH;AAAA,KACM,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,mBAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,MAAM,kBAAmB,CAAA;AAAA,QACnC,GAAK,EAAA,gBAAA;AAAA,OACN,CAAA,CAAA;AAED,MAAA,IAAI,WAAW,GAAK,EAAA;AAClB,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAED,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,mBAAA,CAAoB,EAAE,CAAA,CAAA;AAAA,KAChB,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA;AAAA,UACrB,EAAI,EAAA,oBAAA;AAAA,UACJ,cAAgB,EAAA,mBAAA;AAAA,SACjB,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACD,SAAA;AACA,MAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,oBAAoB,CAAC,QAAA,KACzB,QACI,GAAA,mBAAA,CAAoB,UAAU,GAAI,CAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,EAAE,CAAK,IAAA,EAAE,CAChE,GAAA,mBAAA,CAAoB,EAAE,CAAA,CAAA;AAE5B,EAAM,MAAA,iBAAA,GAAoB,CAAC,QAAmB,EAAA,EAAA,KAC5C,WACI,mBAAoB,CAAA,CAAC,IAAS,KAAA,CAAC,GAAG,IAAA,EAAM,EAAE,CAAC,CAAA,GAC3C,mBAAoB,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,OAAO,CAAC,SAAA,KAAc,SAAc,KAAA,EAAE,CAAC,CAAA,CAAA;AAEhF,EAAA,MAAM,YAAY,aAAiB,IAAA,iBAAA,CAAA;AACnC,EAAM,MAAA,gBAAA,GAAmB,UAAU,MAAU,IAAA,CAAA,CAAA;AAC7C,EAAA,MAAM,yBAAyB,gBAAiB,CAAA,MAAA,CAAA;AAEhD,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAAS,cAAA,CAACC,UAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,uCACGC,mBACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAACF,cAAA,CAAAC,UAAA,CAAK,OAAL,EACE,QAAA,EAAA,aAAA;AAAA,MACC,EAAE,EAAA,EAAI,oBAAsB,EAAA,cAAA,EAAgB,mBAAoB,EAAA;AAAA,MAChE;AAAA,QACE,IAAM,EAAA,UAAA;AAAA,OACR;AAAA,KAEJ,EAAA,CAAA;AAAA,oBACCE,eAAA,CAAAF,UAAA,CAAK,IAAL,EAAA,EAAU,aAAW,SACpB,EAAA,QAAA,EAAA;AAAA,sBAAAD,cAAA;AAAA,QAACI,yBAAA;AAAA,QAAA;AAAA,UACC,OAAO,aAAc,CAAA,EAAE,IAAI,yBAA2B,EAAA,cAAA,EAAgB,YAAY,CAAA;AAAA,UAClF,UAAU,aAAc,CAAA;AAAA,YACtB,EAAI,EAAA,oCAAA;AAAA,YACJ,cAAgB,EAAA,gCAAA;AAAA,WACjB,CAAA;AAAA,UACD,aAAA,EACE,SACA,IAAA,CAAC,SACC,oBAAAJ,cAAA;AAAA,YAACK,aAAA;AAAA,YAAA;AAAA,cACC,EAAI,EAAAC,sBAAA;AAAA,cACJ,SAAA,iCAAYC,UAAK,EAAA,EAAA,CAAA;AAAA,cACjB,OAAQ,EAAA,SAAA;AAAA,cAER,EAAG,EAAA,QAAA;AAAA,cACH,IAAK,EAAA,GAAA;AAAA,cAEJ,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,mCAAA;AAAA,gBACJ,cAAgB,EAAA,oBAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WACH;AAAA,SAAA;AAAA,OAGN;AAAA,MACC,sBAAA,GAAyB,KAAK,SAC7B,oBAAAP,cAAA;AAAA,QAACQ,yBAAA;AAAA,QAAA;AAAA,UACC,8BAEIL,eAAA,CAAAM,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAAT,cAAA,CAACU,uBAAW,EAAA,EAAA,OAAA,EAAQ,SAAU,EAAA,SAAA,EAAU,YACrC,EAAA,QAAA,EAAA,aAAA;AAAA,cACC;AAAA,gBACE,EAAI,EAAA,6BAAA;AAAA,gBACJ,cACE,EAAA,+EAAA;AAAA,eACJ;AAAA,cACA,EAAE,sBAAuB,EAAA;AAAA,aAE7B,EAAA,CAAA;AAAA,4BACAV,cAAA;AAAA,cAACW,mBAAA;AAAA,cAAA;AAAA,gBACC,OAAA,EAAS,MAAM,YAAA,CAAa,IAAI,CAAA;AAAA,gBAChC,SAAA,iCAAYC,WAAM,EAAA,EAAA,CAAA;AAAA,gBAClB,IAAK,EAAA,GAAA;AAAA,gBACL,OAAQ,EAAA,cAAA;AAAA,gBAEP,QAAc,EAAA,aAAA,CAAA;AAAA,kBACb,EAAI,EAAA,eAAA;AAAA,kBACJ,cAAgB,EAAA,QAAA;AAAA,iBACjB,CAAA;AAAA,eAAA;AAAA,aACH;AAAA,WACF,EAAA,CAAA;AAAA,SAAA;AAAA,OAEJ;AAAA,sBAEFZ,cAAA,CAACa,0BACE,EAAA,EAAA,QAAA,EAAA,gBAAA,GAAmB,CAClB,mBAAAV,eAAA;AAAA,QAACW,kBAAA;AAAA,QAAA;AAAA,UACC,QAAU,EAAA,CAAA;AAAA,UACV,UAAU,gBAAmB,GAAA,CAAA;AAAA,UAC7B,MACE,kBAAAd,cAAA;AAAA,YAACe,oBAAA;AAAA,YAAA;AAAA,cACC,SAAS,MAAM;AACb,gBAAA,IAAI,SAAW,EAAA;AACb,kBAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;AAAA,iBACnB;AAAA,eACF;AAAA,cACA,IAAA,iCAAOR,UAAK,EAAA,EAAA,CAAA;AAAA,cAEX,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,mCAAA;AAAA,gBACJ,cAAgB,EAAA,oBAAA;AAAA,eACjB,CAAA;AAAA,aAAA;AAAA,WACH;AAAA,UAGF,QAAA,EAAA;AAAA,4BAACP,cAAA,CAAAgB,kBAAA,EAAA,EACC,0CAACC,eACC,EAAA,EAAA,QAAA,EAAA;AAAA,8BAAAjB,cAAA,CAACkB,eACC,EAAA,EAAA,QAAA,kBAAAlB,cAAA;AAAA,gBAACmB,yBAAA;AAAA,gBAAA;AAAA,kBACC,cAAY,aAAc,CAAA;AAAA,oBACxB,EAAI,EAAA,2BAAA;AAAA,oBACJ,cAAgB,EAAA,oBAAA;AAAA,mBACjB,CAAA;AAAA,kBACD,aAAA,EACE,sBAAyB,GAAA,CAAA,IAAK,sBAAyB,GAAA,gBAAA;AAAA,kBAEzD,OAAO,sBAA2B,KAAA,gBAAA;AAAA,kBAClC,aAAe,EAAA,iBAAA;AAAA,iBAAA;AAAA,eAEnB,EAAA,CAAA;AAAA,8BACAnB,cAAA,CAACkB,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAlB,cAAA,CAACU,2BAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,YAAA,EACnC,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,aAAA;AAAA,gBACJ,cAAgB,EAAA,MAAA;AAAA,eACjB,GACH,CACF,EAAA,CAAA;AAAA,8BACAV,cAAA,CAACkB,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAlB,cAAA,CAACU,2BAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,YAAA,EACnC,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,4BAAA;AAAA,gBACJ,cAAgB,EAAA,KAAA;AAAA,eACjB,GACH,CACF,EAAA,CAAA;AAAA,8BACAV,cAAA,CAACkB,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAlB,cAAA,CAACU,2BAAW,OAAQ,EAAA,OAAA,EAAQ,SAAU,EAAA,YAAA,EACnC,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,kCAAA;AAAA,gBACJ,cAAgB,EAAA,QAAA;AAAA,eACjB,GACH,CACF,EAAA,CAAA;AAAA,8BACCV,cAAA,CAAAkB,eAAA,EAAA,EACC,QAAC,kBAAAlB,cAAA,CAAAoB,2BAAA,EAAA,EACE,QAAc,EAAA,aAAA,CAAA;AAAA,gBACb,EAAI,EAAA,mCAAA;AAAA,gBACJ,cAAgB,EAAA,SAAA;AAAA,eACjB,GACH,CACF,EAAA,CAAA;AAAA,aAAA,EACF,CACF,EAAA,CAAA;AAAA,4BACCpB,cAAA,CAAAqB,kBAAA,EAAA,EACE,QAAU,EAAA,QAAA,EAAA,GAAA,CAAI,CAAC,OACd,qBAAAlB,eAAA;AAAA,cAACc,eAAA;AAAA,cAAA;AAAA,gBAEC,SAAS,MAAM;AACb,kBAAA,IAAI,SAAW,EAAA;AACb,oBAAA,QAAA,CAAS,QAAQ,EAAE,CAAA,CAAA;AAAA,mBACrB;AAAA,iBACF;AAAA,gBACA,KAAO,EAAA,EAAE,MAAQ,EAAA,SAAA,GAAY,YAAY,SAAU,EAAA;AAAA,gBAEnD,QAAA,EAAA;AAAA,kCAAAjB,cAAA,CAACsB,mBAAG,OAAS,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,iBACpB,EAAA,QAAA,kBAAAtB,cAAA;AAAA,oBAACmB,yBAAA;AAAA,oBAAA;AAAA,sBACC,YAAA,EAAY,GAAG,aAAc,CAAA;AAAA,wBAC3B,EAAI,EAAA,eAAA;AAAA,wBACJ,cAAgB,EAAA,QAAA;AAAA,uBACjB,CAAC,CAAI,CAAA,EAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,sBAClB,KAAO,EAAA,gBAAA,EAAkB,QAAS,CAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,sBAC5C,eAAe,CAAC,QAAA,KAAa,iBAAkB,CAAA,QAAA,EAAU,QAAQ,EAAE,CAAA;AAAA,sBACnE,IAAK,EAAA,QAAA;AAAA,qBAAA;AAAA,mBAET,EAAA,CAAA;AAAA,kCACAnB,cAAA,CAACsB,eACC,EAAA,EAAA,QAAA,kBAAAtB,cAAA,CAACU,uBAAW,EAAA,EAAA,UAAA,EAAW,YAAW,SAAU,EAAA,YAAA,EACzC,QAAQ,EAAA,OAAA,CAAA,IAAA,EACX,CACF,EAAA,CAAA;AAAA,kCACAV,cAAA,CAACsB,mBACC,QAAC,kBAAAtB,cAAA,CAAAU,uBAAA,EAAA,EAAW,WAAU,YAAc,EAAA,QAAA,EAAA,OAAA,CAAQ,KAAI,CAClD,EAAA,CAAA;AAAA,kCACAV,cAAA,CAACsB,eACC,EAAA,EAAA,QAAA,kBAAAtB,cAAA,CAACuB,iBACC,EAAA,EAAA,QAAA,kBAAAvB,cAAA;AAAA,oBAACwB,mBAAA;AAAA,oBAAA;AAAA,sBACC,SAAS,aAAc,CAAA;AAAA,wBACrB,EAAI,EAAA,gBAAA;AAAA,wBACJ,cAAgB,EAAA,SAAA;AAAA,uBACjB,CAAA;AAAA,sBACD,UAAU,aAAc,CAAA;AAAA,wBACtB,EAAI,EAAA,iBAAA;AAAA,wBACJ,cAAgB,EAAA,UAAA;AAAA,uBACjB,CAAA;AAAA,sBACD,KAAO,EAAA,CAAA,EAAG,OAAQ,CAAA,IAAI,IAAI,aAAc,CAAA;AAAA,wBACtC,EAAI,EAAA,kCAAA;AAAA,wBACJ,cAAgB,EAAA,QAAA;AAAA,uBACjB,CAAC,CAAA,CAAA;AAAA,sBACF,UAAU,OAAQ,CAAA,SAAA;AAAA,sBAClB,QAAA,EAAU,CAAC,CAAM,KAAA;AACf,wBAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAClB,wBAAc,aAAA,CAAA;AAAA,0BACZ,GAAG,OAAA;AAAA,0BACH,SAAA,EAAW,CAAC,OAAQ,CAAA,SAAA;AAAA,yBACrB,CAAA,CAAA;AAAA,uBACH;AAAA,sBACA,aAAa,EAAA,IAAA;AAAA,qBAAA;AAAA,qBAEjB,CACF,EAAA,CAAA;AAAA,kCACCxB,cAAA,CAAAsB,eAAA,EAAA,EACC,QAAC,kBAAAnB,eAAA,CAAAoB,iBAAA,EAAA,EAAK,KAAK,CACR,EAAA,QAAA,EAAA;AAAA,oBACC,SAAA,oBAAAvB,cAAA;AAAA,sBAACyB,uBAAA;AAAA,sBAAA;AAAA,wBACC,OAAO,aAAc,CAAA;AAAA,0BACnB,EAAI,EAAA,iCAAA;AAAA,0BACJ,cAAgB,EAAA,QAAA;AAAA,yBACjB,CAAA;AAAA,wBACD,IAAA,iCAAOC,YAAO,EAAA,EAAA,CAAA;AAAA,wBACd,QAAQ,EAAA,IAAA;AAAA,uBAAA;AAAA,qBACV;AAAA,oBAED,SACC,oBAAA1B,cAAA;AAAA,sBAACyB,uBAAA;AAAA,sBAAA;AAAA,wBACC,OAAA,EAAS,CAAC,CAAM,KAAA;AACd,0BAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAClB,0BAAoB,mBAAA,CAAA,CAAC,OAAQ,CAAA,EAAE,CAAC,CAAA,CAAA;AAChC,0BAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AAAA,yBACnB;AAAA,wBACA,OAAO,aAAc,CAAA;AAAA,0BACnB,EAAI,EAAA,iCAAA;AAAA,0BACJ,cAAgB,EAAA,gBAAA;AAAA,yBACjB,CAAA;AAAA,wBACD,IAAA,iCAAOb,WAAM,EAAA,EAAA,CAAA;AAAA,wBACb,QAAQ,EAAA,IAAA;AAAA,uBAAA;AAAA,qBACV;AAAA,mBAAA,EAEJ,CACF,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA;AAAA,cAlFK,OAAQ,CAAA,EAAA;AAAA,aAoFhB,CACH,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAGF,mBAAAZ,cAAA;AAAA,QAAC2B,6BAAA;AAAA,QAAA;AAAA,UACC,IAAM,kBAAA3B,cAAA,CAAC4B,oBAAe,EAAA,EAAA,KAAA,EAAM,OAAQ,EAAA,CAAA;AAAA,UACpC,SAAS,aAAc,CAAA;AAAA,YACrB,EAAI,EAAA,0CAAA;AAAA,YACJ,cAAgB,EAAA,mBAAA;AAAA,WACjB,CAAA;AAAA,UACD,MACE,EAAA,SAAA;AAAA;AAAA,4BAEG5B,cAAA,CAAAK,aAAA,EAAA,EAAW,OAAQ,EAAA,WAAA,EAAY,SAAW,kBAAAL,cAAA,CAACO,UAAK,EAAA,EAAA,CAAA,EAAI,EAAI,EAAAD,sBAAA,EAAS,EAAG,EAAA,QAAA,EAClE,QAAc,EAAA,aAAA,CAAA;AAAA,cACb,EAAI,EAAA,mCAAA;AAAA,cACJ,cAAgB,EAAA,oBAAA;AAAA,aACjB,CACH,EAAA,CAAA;AAAA,cACE,IAAA;AAAA,SAAA;AAAA,OAIZ,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,oBACAN,cAAA;AAAA,MAAC6B,mBAAA;AAAA,MAAA;AAAA,QACC,MAAQ,EAAA,SAAA;AAAA,QACR,SAAS,MAAM,YAAA,CAAa,CAAC,IAAA,KAAS,CAAC,IAAI,CAAA;AAAA,QAC3C,SAAW,EAAA,aAAA;AAAA,OAAA;AAAA,KACb;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAMA,MAAM,oBAAoB,MAAM;AAC9B,EAAA,MAAM,WAAc,GAAArC,sBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,SAAU,CAAA,WAAA,CAAY,UAAU,QAAS,CAAA,IAAA;AAAA,GAC5D,CAAA;AAEA,EAAA,sCACGS,UAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAD,cAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"ListPage-ARW72ceH.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n ActionLayout,\n BaseCheckbox,\n Button,\n ContentLayout,\n EmptyStateLayout,\n Flex,\n HeaderLayout,\n IconButton,\n Layout,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { EmptyDocuments, Pencil, Plus, Trash } from '@strapi/icons';\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 { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layout>\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 <HeaderLayout\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\n as={NavLink}\n startIcon={<Plus />}\n variant=\"default\"\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n to=\"create\"\n size=\"S\"\n >\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 <ActionLayout\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 <ContentLayout>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <BaseCheckbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n indeterminate={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n }\n value={webhooksToDeleteLength === numberOfWebhooks}\n onValueChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <BaseCheckbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n value={webhooksToDelete?.includes(webhook.id)}\n onValueChange={(selected) => selectOneCheckbox(selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n selected={webhook.isEnabled}\n onChange={(e) => {\n e.stopPropagation();\n enableWebhook({\n ...webhook,\n isEnabled: !webhook.isEnabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n icon={<Pencil />}\n noBorder\n />\n )}\n {canDelete && (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n setWebhooksToDelete([webhook.id]);\n setShowModal(true);\n }}\n label={formatMessage({\n id: 'Settings.webhooks.events.delete',\n defaultMessage: 'Delete webhook',\n })}\n icon={<Trash />}\n noBorder\n />\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n // @ts-expect-error – this is an issue with the DS where as props are not inferred\n <LinkButton variant=\"secondary\" startIcon={<Plus />} as={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 </ContentLayout>\n </Page.Main>\n <ConfirmDialog\n isOpen={showModal}\n onClose={() => setShowModal((prev) => !prev)}\n onConfirm={confirmDelete}\n />\n </Layout>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["React","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useNavigate","useRBAC","useNotifyAT","useWebhooks","jsx","Page","Layout","jsxs","HeaderLayout","LinkButton","NavLink","Plus","ActionLayout","Fragment","Typography","Button","Trash","ContentLayout","Table","TFooter","Thead","Tr","Th","BaseCheckbox","VisuallyHidden","Tbody","Td","Flex","Switch","IconButton","Pencil","EmptyStateLayout","EmptyDocuments","ConfirmDialog"],"mappings":"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"}
@@ -9,14 +9,14 @@ const icons = require('@strapi/icons');
9
9
  const qs = require('qs');
10
10
  const reactIntl = require('react-intl');
11
11
  const reactRouterDom = require('react-router-dom');
12
- const index = require('./index-tmvI3DXu.js');
13
- const Theme = require('./Theme-j7r62OPn.js');
12
+ const index = require('./index-dcaxfEDi.js');
13
+ const rbac = require('./rbac-WZsv1761.js');
14
14
  const useEnterprise = require('./useEnterprise-DUs6BYlP.js');
15
- const users = require('./users-BKmHEtNM.js');
15
+ const users = require('./users-R5A0kUOV.js');
16
16
  const v2 = require('@strapi/design-system/v2');
17
17
  const yup = require('yup');
18
- const admin = require('./admin-vcfA8Zox.js');
19
- const SelectRoles = require('./SelectRoles-E27rLNXb.js');
18
+ const admin = require('./admin-vlKSOeHB.js');
19
+ const SelectRoles = require('./SelectRoles-ZsRUnSdr.js');
20
20
 
21
21
  function _interopNamespace(e) {
22
22
  if (e && e.__esModule) return e;
@@ -52,11 +52,11 @@ const ModalForm = ({ onToggle }) => {
52
52
  const [currentStep, setStep] = React__namespace.useState("create");
53
53
  const [registrationToken, setRegistrationToken] = React__namespace.useState("");
54
54
  const { formatMessage } = reactIntl.useIntl();
55
- const { toggleNotification } = Theme.useNotification();
55
+ const { toggleNotification } = rbac.useNotification();
56
56
  const {
57
57
  _unstableFormatAPIError: formatAPIError,
58
58
  _unstableFormatValidationErrors: formatValidationErrors
59
- } = Theme.useAPIErrorHandler();
59
+ } = rbac.useAPIErrorHandler();
60
60
  const roleLayout = useEnterprise.useEnterprise(
61
61
  ROLE_LAYOUT,
62
62
  async () => (await Promise.resolve().then(() => require('./ModalForm-wXXenEdW.js'))).ROLE_LAYOUT,
@@ -82,7 +82,7 @@ const ModalForm = ({ onToggle }) => {
82
82
  );
83
83
  const MagicLink = useEnterprise.useEnterprise(
84
84
  SelectRoles.MagicLinkCE,
85
- async () => (await Promise.resolve().then(() => require('./MagicLinkEE-BpisXVzq.js'))).MagicLinkEE
85
+ async () => (await Promise.resolve().then(() => require('./MagicLinkEE-_fUwHKdf.js'))).MagicLinkEE
86
86
  );
87
87
  const [createUser] = index.useCreateUserMutation();
88
88
  const headerTitle = formatMessage({
@@ -286,21 +286,21 @@ const STEPPER = {
286
286
  };
287
287
 
288
288
  const ListPageCE = () => {
289
- const { _unstableFormatAPIError: formatAPIError } = Theme.useAPIErrorHandler();
289
+ const { _unstableFormatAPIError: formatAPIError } = rbac.useAPIErrorHandler();
290
290
  const [isModalOpened, setIsModalOpen] = React__namespace.useState(false);
291
- const permissions = Theme.useTypedSelector((state) => state.admin_app.permissions);
291
+ const permissions = rbac.useTypedSelector((state) => state.admin_app.permissions);
292
292
  const {
293
293
  allowedActions: { canCreate, canDelete, canRead }
294
- } = Theme.useRBAC(permissions.settings?.users);
294
+ } = rbac.useRBAC(permissions.settings?.users);
295
295
  const navigate = reactRouterDom.useNavigate();
296
- const { toggleNotification } = Theme.useNotification();
296
+ const { toggleNotification } = rbac.useNotification();
297
297
  const { formatMessage } = reactIntl.useIntl();
298
298
  const { search } = reactRouterDom.useLocation();
299
299
  const { data, isError, isLoading } = index.useAdminUsers(qs__namespace.parse(search, { ignoreQueryPrefix: true }));
300
300
  const { pagination, users: users$1 = [] } = data ?? {};
301
301
  const CreateAction = useEnterprise.useEnterprise(
302
302
  CreateActionCE,
303
- async () => (await Promise.resolve().then(() => require('./CreateActionEE-j8NEQArt.js'))).CreateActionEE
303
+ async () => (await Promise.resolve().then(() => require('./CreateActionEE-2DKYzbq_.js'))).CreateActionEE
304
304
  );
305
305
  const headers = TABLE_HEADERS.map((header) => ({
306
306
  ...header,
@@ -344,10 +344,10 @@ const ListPageCE = () => {
344
344
  return null;
345
345
  }
346
346
  if (isError) {
347
- return /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Error, {});
347
+ return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Error, {});
348
348
  }
349
- return /* @__PURE__ */ jsxRuntime.jsxs(Theme.Page.Main, { "aria-busy": isLoading, children: [
350
- /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Title, { children: formatMessage(
349
+ return /* @__PURE__ */ jsxRuntime.jsxs(rbac.Page.Main, { "aria-busy": isLoading, children: [
350
+ /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Title, { children: formatMessage(
351
351
  { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
352
352
  {
353
353
  name: "Users"
@@ -544,7 +544,7 @@ const ListPage = () => {
544
544
  ListPageCE,
545
545
  async () => (
546
546
  // eslint-disable-next-line import/no-cycle
547
- (await Promise.resolve().then(() => require('./ListPage-2KQUGpSp.js'))).UserListPageEE
547
+ (await Promise.resolve().then(() => require('./ListPage-MvgbZlgc.js'))).UserListPageEE
548
548
  )
549
549
  );
550
550
  if (!UsersListPage) {
@@ -553,11 +553,11 @@ const ListPage = () => {
553
553
  return /* @__PURE__ */ jsxRuntime.jsx(UsersListPage, {});
554
554
  };
555
555
  const ProtectedListPage = () => {
556
- const permissions = Theme.useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);
557
- return /* @__PURE__ */ jsxRuntime.jsx(Theme.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(ListPage, {}) });
556
+ const permissions = rbac.useTypedSelector((state) => state.admin_app.permissions.settings?.users.read);
557
+ return /* @__PURE__ */ jsxRuntime.jsx(rbac.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(ListPage, {}) });
558
558
  };
559
559
 
560
560
  exports.ListPage = ListPage;
561
561
  exports.ListPageCE = ListPageCE;
562
562
  exports.ProtectedListPage = ProtectedListPage;
563
- //# sourceMappingURL=ListPage-ddKZOtpb.js.map
563
+ //# sourceMappingURL=ListPage-AUimd0cK.js.map