@strapi/admin 5.0.0-beta.12 → 5.0.0-beta.14

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 (169) hide show
  1. package/dist/admin/{ApplicationInfoPage-uasiyWB5.mjs → ApplicationInfoPage-wbM7lUA1.mjs} +2 -2
  2. package/dist/admin/{ApplicationInfoPage-uasiyWB5.mjs.map → ApplicationInfoPage-wbM7lUA1.mjs.map} +1 -1
  3. package/dist/admin/{ApplicationInfoPage-KQETt-ON.js → ApplicationInfoPage-xNNMcZi9.js} +2 -2
  4. package/dist/admin/{ApplicationInfoPage-KQETt-ON.js.map → ApplicationInfoPage-xNNMcZi9.js.map} +1 -1
  5. package/dist/admin/{AuthenticatedLayout-Vvio5wiC.js → AuthenticatedLayout-OYxkbi9J.js} +9 -9
  6. package/dist/admin/{AuthenticatedLayout-Vvio5wiC.js.map → AuthenticatedLayout-OYxkbi9J.js.map} +1 -1
  7. package/dist/admin/{AuthenticatedLayout-WgDErBPS.mjs → AuthenticatedLayout-sfukig9h.mjs} +9 -9
  8. package/dist/admin/{AuthenticatedLayout-WgDErBPS.mjs.map → AuthenticatedLayout-sfukig9h.mjs.map} +1 -1
  9. package/dist/admin/{CreatePage-c1UAG1Pz.js → CreatePage-5iwkDlyg.js} +2 -2
  10. package/dist/admin/{CreatePage-c1UAG1Pz.js.map → CreatePage-5iwkDlyg.js.map} +1 -1
  11. package/dist/admin/{CreatePage-qO5Fsd73.mjs → CreatePage-HR-X4o8O.mjs} +2 -2
  12. package/dist/admin/{CreatePage-qO5Fsd73.mjs.map → CreatePage-HR-X4o8O.mjs.map} +1 -1
  13. package/dist/admin/{CreatePage-QPlhxPWu.js → CreatePage-w05sR-tr.js} +4 -4
  14. package/dist/admin/CreatePage-w05sR-tr.js.map +1 -0
  15. package/dist/admin/{CreatePage-Jtbg4Axr.mjs → CreatePage-wIEUvVoT.mjs} +4 -4
  16. package/dist/admin/CreatePage-wIEUvVoT.mjs.map +1 -0
  17. package/dist/admin/{CreateView-6X8zrDa4.mjs → CreateView-CBKxYeXK.mjs} +2 -2
  18. package/dist/admin/{CreateView-6X8zrDa4.mjs.map → CreateView-CBKxYeXK.mjs.map} +1 -1
  19. package/dist/admin/{CreateView-tz9mjAr8.js → CreateView-XYAPG5p4.js} +2 -2
  20. package/dist/admin/{CreateView-tz9mjAr8.js.map → CreateView-XYAPG5p4.js.map} +1 -1
  21. package/dist/admin/{CreateView-df0oOgwH.js → CreateView-_61QqZgM.js} +2 -2
  22. package/dist/admin/{CreateView-df0oOgwH.js.map → CreateView-_61QqZgM.js.map} +1 -1
  23. package/dist/admin/{CreateView-I_AcEctc.mjs → CreateView-oVQplM-A.mjs} +2 -2
  24. package/dist/admin/{CreateView-I_AcEctc.mjs.map → CreateView-oVQplM-A.mjs.map} +1 -1
  25. package/dist/admin/{EditPage-UjhP-c39.mjs → EditPage-QmWK5wLi.mjs} +3 -3
  26. package/dist/admin/{EditPage-UjhP-c39.mjs.map → EditPage-QmWK5wLi.mjs.map} +1 -1
  27. package/dist/admin/{EditPage-CJfjdfkV.js → EditPage-YTX5vPhf.js} +5 -5
  28. package/dist/admin/{EditPage-CJfjdfkV.js.map → EditPage-YTX5vPhf.js.map} +1 -1
  29. package/dist/admin/{EditPage-qz3ag7b-.mjs → EditPage-ZDNie54Y.mjs} +4 -4
  30. package/dist/admin/{EditPage-qz3ag7b-.mjs.map → EditPage-ZDNie54Y.mjs.map} +1 -1
  31. package/dist/admin/{EditPage-H0_OHPE-.js → EditPage-azTfLOy9.js} +4 -4
  32. package/dist/admin/{EditPage-H0_OHPE-.js.map → EditPage-azTfLOy9.js.map} +1 -1
  33. package/dist/admin/{EditPage-lvtguw64.mjs → EditPage-sJIiBC0u.mjs} +5 -5
  34. package/dist/admin/{EditPage-lvtguw64.mjs.map → EditPage-sJIiBC0u.mjs.map} +1 -1
  35. package/dist/admin/{EditPage-xdwfsmQu.js → EditPage-wLLM8f2f.js} +3 -3
  36. package/dist/admin/{EditPage-xdwfsmQu.js.map → EditPage-wLLM8f2f.js.map} +1 -1
  37. package/dist/admin/{EditView-j6KW3gjS.js → EditView-1-JFc3uR.js} +3 -3
  38. package/dist/admin/{EditView-j6KW3gjS.js.map → EditView-1-JFc3uR.js.map} +1 -1
  39. package/dist/admin/{EditView-qzOuPJuV.mjs → EditView-1xLnZamy.mjs} +3 -3
  40. package/dist/admin/{EditView-qzOuPJuV.mjs.map → EditView-1xLnZamy.mjs.map} +1 -1
  41. package/dist/admin/{EditViewPage-I1YFzBeC.js → EditViewPage-BDKPoyIy.js} +3 -3
  42. package/dist/admin/{EditViewPage-I1YFzBeC.js.map → EditViewPage-BDKPoyIy.js.map} +1 -1
  43. package/dist/admin/{EditViewPage-UidswFpY.mjs → EditViewPage-Swq1Yta9.mjs} +3 -3
  44. package/dist/admin/{EditViewPage-UidswFpY.mjs.map → EditViewPage-Swq1Yta9.mjs.map} +1 -1
  45. package/dist/admin/{EventsTable-0L1CjkJZ.mjs → EventsTable-Jpg8f7d8.mjs} +2 -2
  46. package/dist/admin/{EventsTable-0L1CjkJZ.mjs.map → EventsTable-Jpg8f7d8.mjs.map} +1 -1
  47. package/dist/admin/{EventsTable-QX2atcfm.js → EventsTable-_Q772Mht.js} +2 -2
  48. package/dist/admin/{EventsTable-QX2atcfm.js.map → EventsTable-_Q772Mht.js.map} +1 -1
  49. package/dist/admin/{HomePage-Z1bBkdZd.js → HomePage-03CDfbwR.js} +2 -2
  50. package/dist/admin/{HomePage-Z1bBkdZd.js.map → HomePage-03CDfbwR.js.map} +1 -1
  51. package/dist/admin/{HomePage-l0hSTO83.mjs → HomePage-8r_eQl5-.mjs} +3 -3
  52. package/dist/admin/{HomePage-l0hSTO83.mjs.map → HomePage-8r_eQl5-.mjs.map} +1 -1
  53. package/dist/admin/{HomePage-58hB6NEL.js → HomePage-BLhvGztr.js} +3 -3
  54. package/dist/admin/{HomePage-58hB6NEL.js.map → HomePage-BLhvGztr.js.map} +1 -1
  55. package/dist/admin/{HomePage-OEhCzFU1.mjs → HomePage-CitC_zyC.mjs} +2 -2
  56. package/dist/admin/{HomePage-OEhCzFU1.mjs.map → HomePage-CitC_zyC.mjs.map} +1 -1
  57. package/dist/admin/{InstalledPluginsPage-mjDk7bIy.mjs → InstalledPluginsPage-0-3jg-QA.mjs} +2 -2
  58. package/dist/admin/{InstalledPluginsPage-mjDk7bIy.mjs.map → InstalledPluginsPage-0-3jg-QA.mjs.map} +1 -1
  59. package/dist/admin/{InstalledPluginsPage-ToVkNeOW.js → InstalledPluginsPage-4wGljedn.js} +2 -2
  60. package/dist/admin/{InstalledPluginsPage-ToVkNeOW.js.map → InstalledPluginsPage-4wGljedn.js.map} +1 -1
  61. package/dist/admin/{Layout-rLCApf8n.js → Layout-9uved2Bb.js} +3 -3
  62. package/dist/admin/{Layout-rLCApf8n.js.map → Layout-9uved2Bb.js.map} +1 -1
  63. package/dist/admin/{Layout-JfZEpoAi.mjs → Layout-qATi5QbL.mjs} +3 -3
  64. package/dist/admin/{Layout-JfZEpoAi.mjs.map → Layout-qATi5QbL.mjs.map} +1 -1
  65. package/dist/admin/{ListPage-L2QuM7UE.mjs → ListPage-1vSH-0tL.mjs} +3 -3
  66. package/dist/admin/ListPage-1vSH-0tL.mjs.map +1 -0
  67. package/dist/admin/{ListPage-0d14kKi_.js → ListPage-BHmEVvOx.js} +2 -2
  68. package/dist/admin/{ListPage-0d14kKi_.js.map → ListPage-BHmEVvOx.js.map} +1 -1
  69. package/dist/admin/{ListPage-rAGFOcI3.mjs → ListPage-IWfd9RMp.mjs} +2 -2
  70. package/dist/admin/{ListPage-rAGFOcI3.mjs.map → ListPage-IWfd9RMp.mjs.map} +1 -1
  71. package/dist/admin/{ListPage-7oDmaO8D.mjs → ListPage-JkbzV3H0.mjs} +5 -5
  72. package/dist/admin/{ListPage-7oDmaO8D.mjs.map → ListPage-JkbzV3H0.mjs.map} +1 -1
  73. package/dist/admin/{ListPage-UY_3K2Wy.js → ListPage-KWjrKqby.js} +3 -3
  74. package/dist/admin/{ListPage-UY_3K2Wy.js.map → ListPage-KWjrKqby.js.map} +1 -1
  75. package/dist/admin/{ListPage-hpSHo1FU.mjs → ListPage-O4MoV8Bq.mjs} +2 -2
  76. package/dist/admin/{ListPage-hpSHo1FU.mjs.map → ListPage-O4MoV8Bq.mjs.map} +1 -1
  77. package/dist/admin/{ListPage-N0O1Hqdf.mjs → ListPage-YKB_zcjy.mjs} +3 -3
  78. package/dist/admin/{ListPage-N0O1Hqdf.mjs.map → ListPage-YKB_zcjy.mjs.map} +1 -1
  79. package/dist/admin/{ListPage-kmWRcYle.js → ListPage-iAFAGaPV.js} +2 -2
  80. package/dist/admin/{ListPage-kmWRcYle.js.map → ListPage-iAFAGaPV.js.map} +1 -1
  81. package/dist/admin/{ListPage-3yawwYZy.js → ListPage-man6fhdQ.js} +3 -3
  82. package/dist/admin/ListPage-man6fhdQ.js.map +1 -0
  83. package/dist/admin/{ListPage-gxijeg53.js → ListPage-nltl67SB.js} +5 -5
  84. package/dist/admin/{ListPage-gxijeg53.js.map → ListPage-nltl67SB.js.map} +1 -1
  85. package/dist/admin/{ListView-GCE-p1AU.js → ListView-5P2kUAuu.js} +3 -3
  86. package/dist/admin/{ListView-GCE-p1AU.js.map → ListView-5P2kUAuu.js.map} +1 -1
  87. package/dist/admin/{ListView-vcKS-Zmc.mjs → ListView-EnLlNZo9.mjs} +3 -3
  88. package/dist/admin/{ListView-vcKS-Zmc.mjs.map → ListView-EnLlNZo9.mjs.map} +1 -1
  89. package/dist/admin/{ListView-OorXxSB4.js → ListView-jegQTO3T.js} +3 -3
  90. package/dist/admin/{ListView-OorXxSB4.js.map → ListView-jegQTO3T.js.map} +1 -1
  91. package/dist/admin/{ListView-0PnKwTDf.mjs → ListView-yM90pzvE.mjs} +3 -3
  92. package/dist/admin/{ListView-0PnKwTDf.mjs.map → ListView-yM90pzvE.mjs.map} +1 -1
  93. package/dist/admin/{Login-7l3x6yOV.js → Login-MvCT693q.js} +2 -2
  94. package/dist/admin/{Login-7l3x6yOV.js.map → Login-MvCT693q.js.map} +1 -1
  95. package/dist/admin/{Login-eQL_RQXm.mjs → Login-_xZOQXkQ.mjs} +2 -2
  96. package/dist/admin/{Login-eQL_RQXm.mjs.map → Login-_xZOQXkQ.mjs.map} +1 -1
  97. package/dist/admin/{MagicLinkEE-qzoFCgd6.js → MagicLinkEE-RzDXADSQ.js} +3 -3
  98. package/dist/admin/{MagicLinkEE-qzoFCgd6.js.map → MagicLinkEE-RzDXADSQ.js.map} +1 -1
  99. package/dist/admin/{MagicLinkEE-PMO2aXgs.mjs → MagicLinkEE-vxadXP8z.mjs} +3 -3
  100. package/dist/admin/{MagicLinkEE-PMO2aXgs.mjs.map → MagicLinkEE-vxadXP8z.mjs.map} +1 -1
  101. package/dist/admin/{MarketplacePage-fqRuZ5tH.js → MarketplacePage-QLNjMmn-.js} +2 -2
  102. package/dist/admin/{MarketplacePage-fqRuZ5tH.js.map → MarketplacePage-QLNjMmn-.js.map} +1 -1
  103. package/dist/admin/{MarketplacePage-d1n38TCm.mjs → MarketplacePage-kb5_FJJA.mjs} +2 -2
  104. package/dist/admin/{MarketplacePage-d1n38TCm.mjs.map → MarketplacePage-kb5_FJJA.mjs.map} +1 -1
  105. package/dist/admin/{Permissions-SH6iTLMt.mjs → Permissions-ZJfz77Ys.mjs} +2 -2
  106. package/dist/admin/{Permissions-SH6iTLMt.mjs.map → Permissions-ZJfz77Ys.mjs.map} +1 -1
  107. package/dist/admin/{Permissions-ZLekr37e.js → Permissions-d8-I2wcO.js} +2 -2
  108. package/dist/admin/{Permissions-ZLekr37e.js.map → Permissions-d8-I2wcO.js.map} +1 -1
  109. package/dist/admin/{ProfilePage-XBXtSTmT.mjs → ProfilePage-ayp8uhe5.mjs} +3 -3
  110. package/dist/admin/{ProfilePage-XBXtSTmT.mjs.map → ProfilePage-ayp8uhe5.mjs.map} +1 -1
  111. package/dist/admin/{ProfilePage-NTjed70Z.js → ProfilePage-re3qYdaQ.js} +3 -3
  112. package/dist/admin/{ProfilePage-NTjed70Z.js.map → ProfilePage-re3qYdaQ.js.map} +1 -1
  113. package/dist/admin/{PurchaseAuditLogs-nEBPLzVm.mjs → PurchaseAuditLogs-Whcj8VHz.mjs} +2 -2
  114. package/dist/admin/{PurchaseAuditLogs-nEBPLzVm.mjs.map → PurchaseAuditLogs-Whcj8VHz.mjs.map} +1 -1
  115. package/dist/admin/{PurchaseAuditLogs-jB1NOXg4.js → PurchaseAuditLogs-k6UN3jqJ.js} +2 -2
  116. package/dist/admin/{PurchaseAuditLogs-jB1NOXg4.js.map → PurchaseAuditLogs-k6UN3jqJ.js.map} +1 -1
  117. package/dist/admin/{PurchaseSingleSignOn-O1zGlyVf.mjs → PurchaseSingleSignOn-912fzYBP.mjs} +2 -2
  118. package/dist/admin/{PurchaseSingleSignOn-O1zGlyVf.mjs.map → PurchaseSingleSignOn-912fzYBP.mjs.map} +1 -1
  119. package/dist/admin/{PurchaseSingleSignOn-u10-YAGx.js → PurchaseSingleSignOn-LbDVmYRg.js} +2 -2
  120. package/dist/admin/{PurchaseSingleSignOn-u10-YAGx.js.map → PurchaseSingleSignOn-LbDVmYRg.js.map} +1 -1
  121. package/dist/admin/{SelectRoles-GlWRf-Tw.js → SelectRoles-2Wg-lV_P.js} +3 -3
  122. package/dist/admin/{SelectRoles-GlWRf-Tw.js.map → SelectRoles-2Wg-lV_P.js.map} +1 -1
  123. package/dist/admin/{SelectRoles-heQJxEhL.mjs → SelectRoles-QBFFeBbK.mjs} +3 -3
  124. package/dist/admin/{SelectRoles-heQJxEhL.mjs.map → SelectRoles-QBFFeBbK.mjs.map} +1 -1
  125. package/dist/admin/{SingleSignOnPage-mmKAZ8mV.mjs → SingleSignOnPage-8H9BXwum.mjs} +3 -3
  126. package/dist/admin/{SingleSignOnPage-mmKAZ8mV.mjs.map → SingleSignOnPage-8H9BXwum.mjs.map} +1 -1
  127. package/dist/admin/{SingleSignOnPage-QIOJcuMR.js → SingleSignOnPage-vu0ozC6a.js} +3 -3
  128. package/dist/admin/{SingleSignOnPage-QIOJcuMR.js.map → SingleSignOnPage-vu0ozC6a.js.map} +1 -1
  129. package/dist/admin/{Table-F1obCnqD.js → Table-X7w_HVaN.js} +2 -2
  130. package/dist/admin/{Table-F1obCnqD.js.map → Table-X7w_HVaN.js.map} +1 -1
  131. package/dist/admin/{Table-vPXGhBll.mjs → Table-ue-m7HWb.mjs} +2 -2
  132. package/dist/admin/{Table-vPXGhBll.mjs.map → Table-ue-m7HWb.mjs.map} +1 -1
  133. package/dist/admin/{TokenTypeSelect-i78k2gg3.mjs → TokenTypeSelect-Fkk_8lR1.mjs} +2 -2
  134. package/dist/admin/{TokenTypeSelect-i78k2gg3.mjs.map → TokenTypeSelect-Fkk_8lR1.mjs.map} +1 -1
  135. package/dist/admin/{TokenTypeSelect-LAWTFkRA.js → TokenTypeSelect-Loy-xbd7.js} +2 -2
  136. package/dist/admin/{TokenTypeSelect-LAWTFkRA.js.map → TokenTypeSelect-Loy-xbd7.js.map} +1 -1
  137. package/dist/admin/{UseCasePage-JvS8byfE.js → UseCasePage-JfWTrvVI.js} +2 -2
  138. package/dist/admin/{UseCasePage-JvS8byfE.js.map → UseCasePage-JfWTrvVI.js.map} +1 -1
  139. package/dist/admin/{UseCasePage-gVGjn6p2.mjs → UseCasePage-coK2qEQ8.mjs} +2 -2
  140. package/dist/admin/{UseCasePage-gVGjn6p2.mjs.map → UseCasePage-coK2qEQ8.mjs.map} +1 -1
  141. package/dist/admin/{constants-9azy3JJD.js → constants-dII8qFln.js} +2 -2
  142. package/dist/admin/{constants-9azy3JJD.js.map → constants-dII8qFln.js.map} +1 -1
  143. package/dist/admin/{constants-mR-6yeoL.mjs → constants-ju1heEre.mjs} +2 -2
  144. package/dist/admin/{constants-mR-6yeoL.mjs.map → constants-ju1heEre.mjs.map} +1 -1
  145. package/dist/admin/{index-HH_X-3kJ.js → index-PMooPfic.js} +43 -38
  146. package/dist/admin/index-PMooPfic.js.map +1 -0
  147. package/dist/admin/{index-wHs6nj5s.mjs → index-YkJQv7zr.mjs} +43 -38
  148. package/dist/admin/index-YkJQv7zr.mjs.map +1 -0
  149. package/dist/admin/index.js +1 -1
  150. package/dist/admin/index.mjs +1 -1
  151. package/dist/admin/src/components/ConfirmDialog.d.ts +1 -1
  152. package/dist/admin/src/components/FormInputs/types.d.ts +1 -1
  153. package/dist/admin/src/constants/filters.d.ts +2 -1
  154. package/dist/admin/{useAdminRoles-XzbtItdy.js → useAdminRoles-7-wc0xzd.js} +2 -2
  155. package/dist/admin/{useAdminRoles-XzbtItdy.js.map → useAdminRoles-7-wc0xzd.js.map} +1 -1
  156. package/dist/admin/{useAdminRoles-1-9TqGqM.mjs → useAdminRoles-UsV_fhnq.mjs} +2 -2
  157. package/dist/admin/{useAdminRoles-1-9TqGqM.mjs.map → useAdminRoles-UsV_fhnq.mjs.map} +1 -1
  158. package/dist/admin/{validation-nRSf_5UG.js → validation-GmkrMIwS.js} +2 -2
  159. package/dist/admin/{validation-nRSf_5UG.js.map → validation-GmkrMIwS.js.map} +1 -1
  160. package/dist/admin/{validation-10a7k3aM.mjs → validation-b8AaACO4.mjs} +2 -2
  161. package/dist/admin/{validation-10a7k3aM.mjs.map → validation-b8AaACO4.mjs.map} +1 -1
  162. package/dist/package.json.d.ts +7 -7
  163. package/package.json +8 -8
  164. package/dist/admin/CreatePage-Jtbg4Axr.mjs.map +0 -1
  165. package/dist/admin/CreatePage-QPlhxPWu.js.map +0 -1
  166. package/dist/admin/ListPage-3yawwYZy.js.map +0 -1
  167. package/dist/admin/ListPage-L2QuM7UE.mjs.map +0 -1
  168. package/dist/admin/index-HH_X-3kJ.js.map +0 -1
  169. package/dist/admin/index-wHs6nj5s.mjs.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const index = require('./index-HH_X-3kJ.js');
5
+ const index = require('./index-PMooPfic.js');
6
6
  const Theme = require('./Theme-QO8ntQqL.js');
7
7
  const admin = require('./admin-p0djr5G6.js');
8
8
 
@@ -1,4 +1,4 @@
1
- export { B as BackButton, I as Blocker, C as ConfirmDialog, H as DescriptionComponentRenderer, v as Filters, F as Form, M as InputRenderer, b as Layouts, P as Pagination, S as SearchInput, T as Table, J as getYupValidationErrors, G as renderAdmin, e as translatedErrors, k as useAdminUsers, p as useFetchClient, u as useField, E as useFocusInputField, x as useForm, l as useGuidedTour, D as useInjectReducer, o as useQueryParams, K as useTable } from './index-wHs6nj5s.mjs';
1
+ export { B as BackButton, I as Blocker, C as ConfirmDialog, H as DescriptionComponentRenderer, v as Filters, F as Form, M as InputRenderer, b as Layouts, P as Pagination, S as SearchInput, T as Table, J as getYupValidationErrors, G as renderAdmin, e as translatedErrors, k as useAdminUsers, p as useFetchClient, u as useField, E as useFocusInputField, x as useForm, l as useGuidedTour, D as useInjectReducer, o as useQueryParams, K as useTable } from './index-YkJQv7zr.mjs';
2
2
  export { N as NotificationsProvider, P as Page, t as createContext, f as useAPIErrorHandler, m as useAppInfo, u as useAuth, a as useNotification, k as useRBAC, n as useStrapiApp, d as useTracking } from './Theme-vNSAMTAv.mjs';
3
3
  export { F as FetchError, b as adminApi, l as fetchBaseQuery, k as getFetchClient, i as isBaseQueryError, c as isFetchError } from './admin-B6AW0Kov.mjs';
4
4
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps, Dialog } from '@strapi/design-system';
3
3
  interface ConfirmDialogProps extends Pick<ButtonProps, 'variant'>, Pick<Dialog.BodyProps, 'icon'> {
4
- onConfirm?: () => Promise<void> | void;
4
+ onConfirm?: (e?: React.MouseEvent<HTMLButtonElement>) => Promise<void> | void;
5
5
  children?: React.ReactNode;
6
6
  endAction?: React.ReactNode;
7
7
  startAction?: React.ReactNode;
@@ -28,6 +28,6 @@ interface InputProps {
28
28
  placeholder?: string;
29
29
  required?: boolean;
30
30
  options?: never;
31
- type: Exclude<Schema.Attribute.Kind, 'enumeration' | 'media' | 'blocks' | 'richtext' | 'uid' | 'dynamiczone' | 'component' | 'relation' | 'text' | 'string' | 'password' | 'email'> | 'checkbox';
31
+ type: Exclude<Schema.Attribute.Kind, 'enumeration' | 'media' | 'blocks' | 'richtext' | 'dynamiczone' | 'component' | 'relation' | 'text' | 'string' | 'password' | 'email'> | 'checkbox';
32
32
  }
33
33
  export type { EnumerationProps, InputProps, StringProps };
@@ -133,5 +133,6 @@ declare const STRING_PARSE_FILTERS: ({
133
133
  };
134
134
  value: "$endsWithi";
135
135
  })[];
136
- export { BASE_FILTERS, NUMERIC_FILTERS, IS_SENSITIVE_FILTERS, CONTAINS_FILTERS, STRING_PARSE_FILTERS, };
136
+ declare const FILTERS_WITH_NO_VALUE: string[];
137
+ export { BASE_FILTERS, NUMERIC_FILTERS, IS_SENSITIVE_FILTERS, CONTAINS_FILTERS, STRING_PARSE_FILTERS, FILTERS_WITH_NO_VALUE, };
137
138
  export type { FilterOption };
@@ -3,7 +3,7 @@
3
3
  const React = require('react');
4
4
  const designSystem = require('@strapi/design-system');
5
5
  const reactIntl = require('react-intl');
6
- const index = require('./index-HH_X-3kJ.js');
6
+ const index = require('./index-PMooPfic.js');
7
7
 
8
8
  function _interopNamespace(e) {
9
9
  if (e && e.__esModule) return e;
@@ -47,4 +47,4 @@ const useAdminRoles = (params = {}, queryOptions) => {
47
47
  };
48
48
 
49
49
  exports.useAdminRoles = useAdminRoles;
50
- //# sourceMappingURL=useAdminRoles-XzbtItdy.js.map
50
+ //# sourceMappingURL=useAdminRoles-7-wc0xzd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdminRoles-XzbtItdy.js","sources":["../../admin/src/hooks/useAdminRoles.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { GetRolesParams, useGetRolesQuery } from '../services/users';\n\nimport type { FindRoles } from '../../../shared/contracts/roles';\n\nexport type AdminRole = FindRoles.Response['data'][number];\n\nexport const useAdminRoles = (\n params: GetRolesParams = {},\n queryOptions?: Parameters<typeof useGetRolesQuery>[1]\n) => {\n const { locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const { data, error, isError, isLoading, refetch } = useGetRolesQuery(params, queryOptions);\n\n // the return value needs to be memoized, because intantiating\n // an empty array as default value would lead to an unstable return\n // value, which later on triggers infinite loops if used in the\n // dependency arrays of other hooks\n const roles = React.useMemo(\n () =>\n [...(data ?? [])].sort((a, b) =>\n formatter.compare(a.name, b.name)\n ) as FindRoles.Response['data'],\n [data, formatter]\n );\n\n return {\n roles,\n error,\n isError,\n isLoading,\n refetch,\n };\n};\n"],"names":["useIntl","useCollator","useGetRolesQuery","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,aAAgB,GAAA,CAC3B,MAAyB,GAAA,IACzB,YACG,KAAA;AACH,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAYC,yBAAY,MAAQ,EAAA;AAAA,IACpC,WAAa,EAAA,MAAA;AAAA,GACd,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,OAAA,EAAS,WAAW,OAAQ,EAAA,GAAIC,sBAAiB,CAAA,MAAA,EAAQ,YAAY,CAAA,CAAA;AAM1F,EAAA,MAAM,QAAQC,gBAAM,CAAA,OAAA;AAAA,IAClB,MACE,CAAC,GAAI,IAAQ,IAAA,EAAG,CAAE,CAAA,IAAA;AAAA,MAAK,CAAC,GAAG,CACzB,KAAA,SAAA,CAAU,QAAQ,CAAE,CAAA,IAAA,EAAM,EAAE,IAAI,CAAA;AAAA,KAClC;AAAA,IACF,CAAC,MAAM,SAAS,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useAdminRoles-7-wc0xzd.js","sources":["../../admin/src/hooks/useAdminRoles.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { GetRolesParams, useGetRolesQuery } from '../services/users';\n\nimport type { FindRoles } from '../../../shared/contracts/roles';\n\nexport type AdminRole = FindRoles.Response['data'][number];\n\nexport const useAdminRoles = (\n params: GetRolesParams = {},\n queryOptions?: Parameters<typeof useGetRolesQuery>[1]\n) => {\n const { locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const { data, error, isError, isLoading, refetch } = useGetRolesQuery(params, queryOptions);\n\n // the return value needs to be memoized, because intantiating\n // an empty array as default value would lead to an unstable return\n // value, which later on triggers infinite loops if used in the\n // dependency arrays of other hooks\n const roles = React.useMemo(\n () =>\n [...(data ?? [])].sort((a, b) =>\n formatter.compare(a.name, b.name)\n ) as FindRoles.Response['data'],\n [data, formatter]\n );\n\n return {\n roles,\n error,\n isError,\n isLoading,\n refetch,\n };\n};\n"],"names":["useIntl","useCollator","useGetRolesQuery","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,aAAgB,GAAA,CAC3B,MAAyB,GAAA,IACzB,YACG,KAAA;AACH,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIA,iBAAQ,EAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAYC,yBAAY,MAAQ,EAAA;AAAA,IACpC,WAAa,EAAA,MAAA;AAAA,GACd,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,OAAA,EAAS,WAAW,OAAQ,EAAA,GAAIC,sBAAiB,CAAA,MAAA,EAAQ,YAAY,CAAA,CAAA;AAM1F,EAAA,MAAM,QAAQC,gBAAM,CAAA,OAAA;AAAA,IAClB,MACE,CAAC,GAAI,IAAQ,IAAA,EAAG,CAAE,CAAA,IAAA;AAAA,MAAK,CAAC,GAAG,CACzB,KAAA,SAAA,CAAU,QAAQ,CAAE,CAAA,IAAA,EAAM,EAAE,IAAI,CAAA;AAAA,KAClC;AAAA,IACF,CAAC,MAAM,SAAS,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useCollator } from '@strapi/design-system';
3
3
  import { useIntl } from 'react-intl';
4
- import { c as useGetRolesQuery } from './index-wHs6nj5s.mjs';
4
+ import { c as useGetRolesQuery } from './index-YkJQv7zr.mjs';
5
5
 
6
6
  const useAdminRoles = (params = {}, queryOptions) => {
7
7
  const { locale } = useIntl();
@@ -25,4 +25,4 @@ const useAdminRoles = (params = {}, queryOptions) => {
25
25
  };
26
26
 
27
27
  export { useAdminRoles as u };
28
- //# sourceMappingURL=useAdminRoles-1-9TqGqM.mjs.map
28
+ //# sourceMappingURL=useAdminRoles-UsV_fhnq.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdminRoles-1-9TqGqM.mjs","sources":["../../admin/src/hooks/useAdminRoles.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { GetRolesParams, useGetRolesQuery } from '../services/users';\n\nimport type { FindRoles } from '../../../shared/contracts/roles';\n\nexport type AdminRole = FindRoles.Response['data'][number];\n\nexport const useAdminRoles = (\n params: GetRolesParams = {},\n queryOptions?: Parameters<typeof useGetRolesQuery>[1]\n) => {\n const { locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const { data, error, isError, isLoading, refetch } = useGetRolesQuery(params, queryOptions);\n\n // the return value needs to be memoized, because intantiating\n // an empty array as default value would lead to an unstable return\n // value, which later on triggers infinite loops if used in the\n // dependency arrays of other hooks\n const roles = React.useMemo(\n () =>\n [...(data ?? [])].sort((a, b) =>\n formatter.compare(a.name, b.name)\n ) as FindRoles.Response['data'],\n [data, formatter]\n );\n\n return {\n roles,\n error,\n isError,\n isLoading,\n refetch,\n };\n};\n"],"names":[],"mappings":";;;;;AAWO,MAAM,aAAgB,GAAA,CAC3B,MAAyB,GAAA,IACzB,YACG,KAAA;AACH,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,OAAQ,EAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAY,YAAY,MAAQ,EAAA;AAAA,IACpC,WAAa,EAAA,MAAA;AAAA,GACd,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,OAAA,EAAS,WAAW,OAAQ,EAAA,GAAI,gBAAiB,CAAA,MAAA,EAAQ,YAAY,CAAA,CAAA;AAM1F,EAAA,MAAM,QAAQ,KAAM,CAAA,OAAA;AAAA,IAClB,MACE,CAAC,GAAI,IAAQ,IAAA,EAAG,CAAE,CAAA,IAAA;AAAA,MAAK,CAAC,GAAG,CACzB,KAAA,SAAA,CAAU,QAAQ,CAAE,CAAA,IAAA,EAAM,EAAE,IAAI,CAAA;AAAA,KAClC;AAAA,IACF,CAAC,MAAM,SAAS,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useAdminRoles-UsV_fhnq.mjs","sources":["../../admin/src/hooks/useAdminRoles.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { GetRolesParams, useGetRolesQuery } from '../services/users';\n\nimport type { FindRoles } from '../../../shared/contracts/roles';\n\nexport type AdminRole = FindRoles.Response['data'][number];\n\nexport const useAdminRoles = (\n params: GetRolesParams = {},\n queryOptions?: Parameters<typeof useGetRolesQuery>[1]\n) => {\n const { locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const { data, error, isError, isLoading, refetch } = useGetRolesQuery(params, queryOptions);\n\n // the return value needs to be memoized, because intantiating\n // an empty array as default value would lead to an unstable return\n // value, which later on triggers infinite loops if used in the\n // dependency arrays of other hooks\n const roles = React.useMemo(\n () =>\n [...(data ?? [])].sort((a, b) =>\n formatter.compare(a.name, b.name)\n ) as FindRoles.Response['data'],\n [data, formatter]\n );\n\n return {\n roles,\n error,\n isError,\n isLoading,\n refetch,\n };\n};\n"],"names":[],"mappings":";;;;;AAWO,MAAM,aAAgB,GAAA,CAC3B,MAAyB,GAAA,IACzB,YACG,KAAA;AACH,EAAM,MAAA,EAAE,MAAO,EAAA,GAAI,OAAQ,EAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAY,YAAY,MAAQ,EAAA;AAAA,IACpC,WAAa,EAAA,MAAA;AAAA,GACd,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,OAAA,EAAS,WAAW,OAAQ,EAAA,GAAI,gBAAiB,CAAA,MAAA,EAAQ,YAAY,CAAA,CAAA;AAM1F,EAAA,MAAM,QAAQ,KAAM,CAAA,OAAA;AAAA,IAClB,MACE,CAAC,GAAI,IAAQ,IAAA,EAAG,CAAE,CAAA,IAAA;AAAA,MAAK,CAAC,GAAG,CACzB,KAAA,SAAA,CAAU,QAAQ,CAAE,CAAA,IAAA,EAAM,EAAE,IAAI,CAAA;AAAA,KAClC;AAAA,IACF,CAAC,MAAM,SAAS,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const yup = require('yup');
4
- const index = require('./index-HH_X-3kJ.js');
4
+ const index = require('./index-PMooPfic.js');
5
5
 
6
6
  function _interopNamespace(e) {
7
7
  if (e && e.__esModule) return e;
@@ -62,4 +62,4 @@ const COMMON_USER_SCHEMA = {
62
62
  };
63
63
 
64
64
  exports.COMMON_USER_SCHEMA = COMMON_USER_SCHEMA;
65
- //# sourceMappingURL=validation-nRSf_5UG.js.map
65
+ //# sourceMappingURL=validation-GmkrMIwS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-nRSf_5UG.js","sources":["../../admin/src/pages/Settings/pages/Users/utils/validation.ts"],"sourcesContent":["import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\n/**\n * @description This needs wrapping in `yup.object().shape()` before use.\n */\nconst COMMON_USER_SCHEMA = {\n firstname: yup.string().trim().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).lowercase().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n username: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable(),\n password: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .matches(/[a-z]/, {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least one lowercase character',\n })\n .matches(/[A-Z]/, {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least one uppercase character',\n })\n .matches(/\\d/, {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least one number',\n }),\n confirmPassword: yup\n .string()\n .transform((value) => (value === '' ? null : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .when('password', (password, passSchema) => {\n return password\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n};\n\nexport { COMMON_USER_SCHEMA };\n"],"names":["yup","translatedErrors"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,kBAAqB,GAAA;AAAA,EACzB,WAAWA,cAAI,CAAA,MAAA,EAAS,CAAA,IAAA,GAAO,QAAS,CAAA;AAAA,IACtC,EAAA,EAAIC,kBAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAA,EAAUD,eAAI,MAAO,EAAA;AAAA,EACrB,KAAA,EAAOA,cAAI,CAAA,MAAA,EAAS,CAAA,KAAA,CAAMC,kBAAiB,KAAK,CAAA,CAAE,SAAU,EAAA,CAAE,QAAS,CAAA;AAAA,IACrE,EAAA,EAAIA,kBAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAU,EAAAD,cAAA,CACP,MAAO,EAAA,CACP,SAAU,CAAA,CAAC,KAAW,KAAA,KAAA,KAAU,EAAK,GAAA,KAAA,CAAA,GAAY,KAAM,CAAA,CACvD,QAAS,EAAA;AAAA,EACZ,QAAU,EAAAA,cAAA,CACP,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,SAAY,KAAM,CAAA,CACvD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGC,iBAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,EAAI,EAAA,uCAAA;AAAA,IACJ,cAAgB,EAAA,2CAAA;AAAA,GACjB,CAAA;AAAA,EACH,eAAiB,EAAAD,cAAA,CACd,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,OAAO,KAAM,CAAA,CAClD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGC,iBAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,EACA,KAAM,CAAA,CAACD,eAAI,GAAI,CAAA,UAAU,CAAG,EAAA,IAAI,CAAG,EAAA;AAAA,IAClC,EAAI,EAAA,yCAAA;AAAA,IACJ,cAAgB,EAAA,sBAAA;AAAA,GACjB,CACA,CAAA,IAAA,CAAK,UAAY,EAAA,CAAC,UAAU,UAAe,KAAA;AAC1C,IAAO,OAAA,QAAA,GACH,WAAW,QAAS,CAAA;AAAA,MAClB,EAAA,EAAIC,kBAAiB,QAAS,CAAA,EAAA;AAAA,MAC9B,cAAgB,EAAA,wBAAA;AAAA,KACjB,CACD,GAAA,UAAA,CAAA;AAAA,GACL,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"validation-GmkrMIwS.js","sources":["../../admin/src/pages/Settings/pages/Users/utils/validation.ts"],"sourcesContent":["import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\n/**\n * @description This needs wrapping in `yup.object().shape()` before use.\n */\nconst COMMON_USER_SCHEMA = {\n firstname: yup.string().trim().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).lowercase().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n username: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable(),\n password: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .matches(/[a-z]/, {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least one lowercase character',\n })\n .matches(/[A-Z]/, {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least one uppercase character',\n })\n .matches(/\\d/, {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least one number',\n }),\n confirmPassword: yup\n .string()\n .transform((value) => (value === '' ? null : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .when('password', (password, passSchema) => {\n return password\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n};\n\nexport { COMMON_USER_SCHEMA };\n"],"names":["yup","translatedErrors"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,kBAAqB,GAAA;AAAA,EACzB,WAAWA,cAAI,CAAA,MAAA,EAAS,CAAA,IAAA,GAAO,QAAS,CAAA;AAAA,IACtC,EAAA,EAAIC,kBAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAA,EAAUD,eAAI,MAAO,EAAA;AAAA,EACrB,KAAA,EAAOA,cAAI,CAAA,MAAA,EAAS,CAAA,KAAA,CAAMC,kBAAiB,KAAK,CAAA,CAAE,SAAU,EAAA,CAAE,QAAS,CAAA;AAAA,IACrE,EAAA,EAAIA,kBAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAU,EAAAD,cAAA,CACP,MAAO,EAAA,CACP,SAAU,CAAA,CAAC,KAAW,KAAA,KAAA,KAAU,EAAK,GAAA,KAAA,CAAA,GAAY,KAAM,CAAA,CACvD,QAAS,EAAA;AAAA,EACZ,QAAU,EAAAA,cAAA,CACP,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,SAAY,KAAM,CAAA,CACvD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGC,iBAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,EAAI,EAAA,uCAAA;AAAA,IACJ,cAAgB,EAAA,2CAAA;AAAA,GACjB,CAAA;AAAA,EACH,eAAiB,EAAAD,cAAA,CACd,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,OAAO,KAAM,CAAA,CAClD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGC,iBAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,EACA,KAAM,CAAA,CAACD,eAAI,GAAI,CAAA,UAAU,CAAG,EAAA,IAAI,CAAG,EAAA;AAAA,IAClC,EAAI,EAAA,yCAAA;AAAA,IACJ,cAAgB,EAAA,sBAAA;AAAA,GACjB,CACA,CAAA,IAAA,CAAK,UAAY,EAAA,CAAC,UAAU,UAAe,KAAA;AAC1C,IAAO,OAAA,QAAA,GACH,WAAW,QAAS,CAAA;AAAA,MAClB,EAAA,EAAIC,kBAAiB,QAAS,CAAA,EAAA;AAAA,MAC9B,cAAgB,EAAA,wBAAA;AAAA,KACjB,CACD,GAAA,UAAA,CAAA;AAAA,GACL,CAAA;AACL;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as yup from 'yup';
2
- import { e as errorsTrads } from './index-wHs6nj5s.mjs';
2
+ import { e as errorsTrads } from './index-YkJQv7zr.mjs';
3
3
 
4
4
  const COMMON_USER_SCHEMA = {
5
5
  firstname: yup.string().trim().required({
@@ -40,4 +40,4 @@ const COMMON_USER_SCHEMA = {
40
40
  };
41
41
 
42
42
  export { COMMON_USER_SCHEMA as C };
43
- //# sourceMappingURL=validation-10a7k3aM.mjs.map
43
+ //# sourceMappingURL=validation-b8AaACO4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-10a7k3aM.mjs","sources":["../../admin/src/pages/Settings/pages/Users/utils/validation.ts"],"sourcesContent":["import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\n/**\n * @description This needs wrapping in `yup.object().shape()` before use.\n */\nconst COMMON_USER_SCHEMA = {\n firstname: yup.string().trim().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).lowercase().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n username: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable(),\n password: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .matches(/[a-z]/, {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least one lowercase character',\n })\n .matches(/[A-Z]/, {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least one uppercase character',\n })\n .matches(/\\d/, {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least one number',\n }),\n confirmPassword: yup\n .string()\n .transform((value) => (value === '' ? null : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .when('password', (password, passSchema) => {\n return password\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n};\n\nexport { COMMON_USER_SCHEMA };\n"],"names":["translatedErrors"],"mappings":";;;AAOA,MAAM,kBAAqB,GAAA;AAAA,EACzB,WAAW,GAAI,CAAA,MAAA,EAAS,CAAA,IAAA,GAAO,QAAS,CAAA;AAAA,IACtC,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAA,EAAU,IAAI,MAAO,EAAA;AAAA,EACrB,KAAA,EAAO,GAAI,CAAA,MAAA,EAAS,CAAA,KAAA,CAAMA,YAAiB,KAAK,CAAA,CAAE,SAAU,EAAA,CAAE,QAAS,CAAA;AAAA,IACrE,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAU,EAAA,GAAA,CACP,MAAO,EAAA,CACP,SAAU,CAAA,CAAC,KAAW,KAAA,KAAA,KAAU,EAAK,GAAA,KAAA,CAAA,GAAY,KAAM,CAAA,CACvD,QAAS,EAAA;AAAA,EACZ,QAAU,EAAA,GAAA,CACP,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,SAAY,KAAM,CAAA,CACvD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGA,WAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,EAAI,EAAA,uCAAA;AAAA,IACJ,cAAgB,EAAA,2CAAA;AAAA,GACjB,CAAA;AAAA,EACH,eAAiB,EAAA,GAAA,CACd,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,OAAO,KAAM,CAAA,CAClD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGA,WAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,EACA,KAAM,CAAA,CAAC,IAAI,GAAI,CAAA,UAAU,CAAG,EAAA,IAAI,CAAG,EAAA;AAAA,IAClC,EAAI,EAAA,yCAAA;AAAA,IACJ,cAAgB,EAAA,sBAAA;AAAA,GACjB,CACA,CAAA,IAAA,CAAK,UAAY,EAAA,CAAC,UAAU,UAAe,KAAA;AAC1C,IAAO,OAAA,QAAA,GACH,WAAW,QAAS,CAAA;AAAA,MAClB,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,MAC9B,cAAgB,EAAA,wBAAA;AAAA,KACjB,CACD,GAAA,UAAA,CAAA;AAAA,GACL,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"validation-b8AaACO4.mjs","sources":["../../admin/src/pages/Settings/pages/Users/utils/validation.ts"],"sourcesContent":["import * as yup from 'yup';\n\nimport { translatedErrors } from '../../../../../utils/translatedErrors';\n\n/**\n * @description This needs wrapping in `yup.object().shape()` before use.\n */\nconst COMMON_USER_SCHEMA = {\n firstname: yup.string().trim().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).lowercase().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n username: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable(),\n password: yup\n .string()\n .transform((value) => (value === '' ? undefined : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .matches(/[a-z]/, {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least one lowercase character',\n })\n .matches(/[A-Z]/, {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least one uppercase character',\n })\n .matches(/\\d/, {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least one number',\n }),\n confirmPassword: yup\n .string()\n .transform((value) => (value === '' ? null : value))\n .nullable()\n .min(8, {\n ...translatedErrors.minLength,\n values: { min: 8 },\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .when('password', (password, passSchema) => {\n return password\n ? passSchema.required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n : passSchema;\n }),\n};\n\nexport { COMMON_USER_SCHEMA };\n"],"names":["translatedErrors"],"mappings":";;;AAOA,MAAM,kBAAqB,GAAA;AAAA,EACzB,WAAW,GAAI,CAAA,MAAA,EAAS,CAAA,IAAA,GAAO,QAAS,CAAA;AAAA,IACtC,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAA,EAAU,IAAI,MAAO,EAAA;AAAA,EACrB,KAAA,EAAO,GAAI,CAAA,MAAA,EAAS,CAAA,KAAA,CAAMA,YAAiB,KAAK,CAAA,CAAE,SAAU,EAAA,CAAE,QAAS,CAAA;AAAA,IACrE,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,IAC9B,cAAgB,EAAA,wBAAA;AAAA,GACjB,CAAA;AAAA,EACD,QAAU,EAAA,GAAA,CACP,MAAO,EAAA,CACP,SAAU,CAAA,CAAC,KAAW,KAAA,KAAA,KAAU,EAAK,GAAA,KAAA,CAAA,GAAY,KAAM,CAAA,CACvD,QAAS,EAAA;AAAA,EACZ,QAAU,EAAA,GAAA,CACP,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,SAAY,KAAM,CAAA,CACvD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGA,WAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,EAAI,EAAA,0CAAA;AAAA,IACJ,cAAgB,EAAA,wDAAA;AAAA,GACjB,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,EAAI,EAAA,uCAAA;AAAA,IACJ,cAAgB,EAAA,2CAAA;AAAA,GACjB,CAAA;AAAA,EACH,eAAiB,EAAA,GAAA,CACd,MAAO,EAAA,CACP,UAAU,CAAC,KAAA,KAAW,KAAU,KAAA,EAAA,GAAK,OAAO,KAAM,CAAA,CAClD,QAAS,EAAA,CACT,IAAI,CAAG,EAAA;AAAA,IACN,GAAGA,WAAiB,CAAA,SAAA;AAAA,IACpB,MAAA,EAAQ,EAAE,GAAA,EAAK,CAAE,EAAA;AAAA,GAClB,EACA,KAAM,CAAA,CAAC,IAAI,GAAI,CAAA,UAAU,CAAG,EAAA,IAAI,CAAG,EAAA;AAAA,IAClC,EAAI,EAAA,yCAAA;AAAA,IACJ,cAAgB,EAAA,sBAAA;AAAA,GACjB,CACA,CAAA,IAAA,CAAK,UAAY,EAAA,CAAC,UAAU,UAAe,KAAA;AAC1C,IAAO,OAAA,QAAA,GACH,WAAW,QAAS,CAAA;AAAA,MAClB,EAAA,EAAIA,YAAiB,QAAS,CAAA,EAAA;AAAA,MAC9B,cAAgB,EAAA,wBAAA;AAAA,KACjB,CACD,GAAA,UAAA,CAAA;AAAA,GACL,CAAA;AACL;;;;"}
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "@strapi/admin",
3
- "version": "5.0.0-beta.11",
3
+ "version": "5.0.0-beta.13",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -81,10 +81,10 @@ declare const _default: {
81
81
  "@reduxjs/toolkit": "1.9.7",
82
82
  "@strapi/design-system": "2.0.0-beta.6",
83
83
  "@strapi/icons": "2.0.0-beta.6",
84
- "@strapi/permissions": "5.0.0-beta.11",
85
- "@strapi/types": "5.0.0-beta.11",
86
- "@strapi/typescript-utils": "5.0.0-beta.11",
87
- "@strapi/utils": "5.0.0-beta.11",
84
+ "@strapi/permissions": "5.0.0-beta.13",
85
+ "@strapi/types": "5.0.0-beta.13",
86
+ "@strapi/typescript-utils": "5.0.0-beta.13",
87
+ "@strapi/utils": "5.0.0-beta.13",
88
88
  "@testing-library/dom": "10.1.0",
89
89
  "@testing-library/react": "15.0.7",
90
90
  "@testing-library/user-event": "14.5.2",
@@ -137,8 +137,8 @@ declare const _default: {
137
137
  "zod": "^3.22.4"
138
138
  },
139
139
  "devDependencies": {
140
- "@strapi/admin-test-utils": "5.0.0-beta.11",
141
- "@strapi/data-transfer": "5.0.0-beta.11",
140
+ "@strapi/admin-test-utils": "5.0.0-beta.13",
141
+ "@strapi/data-transfer": "5.0.0-beta.13",
142
142
  "@strapi/pack-up": "5.0.0",
143
143
  "@types/codemirror5": "npm:@types/codemirror@^5.60.15",
144
144
  "@types/fs-extra": "11.0.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "5.0.0-beta.12",
3
+ "version": "5.0.0-beta.14",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -81,10 +81,10 @@
81
81
  "@reduxjs/toolkit": "1.9.7",
82
82
  "@strapi/design-system": "2.0.0-beta.6",
83
83
  "@strapi/icons": "2.0.0-beta.6",
84
- "@strapi/permissions": "5.0.0-beta.12",
85
- "@strapi/types": "5.0.0-beta.12",
86
- "@strapi/typescript-utils": "5.0.0-beta.12",
87
- "@strapi/utils": "5.0.0-beta.12",
84
+ "@strapi/permissions": "5.0.0-beta.14",
85
+ "@strapi/types": "5.0.0-beta.14",
86
+ "@strapi/typescript-utils": "5.0.0-beta.14",
87
+ "@strapi/utils": "5.0.0-beta.14",
88
88
  "@testing-library/dom": "10.1.0",
89
89
  "@testing-library/react": "15.0.7",
90
90
  "@testing-library/user-event": "14.5.2",
@@ -137,8 +137,8 @@
137
137
  "zod": "^3.22.4"
138
138
  },
139
139
  "devDependencies": {
140
- "@strapi/admin-test-utils": "5.0.0-beta.12",
141
- "@strapi/data-transfer": "5.0.0-beta.12",
140
+ "@strapi/admin-test-utils": "5.0.0-beta.14",
141
+ "@strapi/data-transfer": "5.0.0-beta.14",
142
142
  "@strapi/pack-up": "5.0.0",
143
143
  "@types/codemirror5": "npm:@types/codemirror@^5.60.15",
144
144
  "@types/fs-extra": "11.0.4",
@@ -183,5 +183,5 @@
183
183
  }
184
184
  }
185
185
  },
186
- "gitHead": "d27f662252a0b10d2ad83f175e8b06d6f513a270"
186
+ "gitHead": "e7ee24229edd61af831e291dfca3f5bc6f42f912"
187
187
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreatePage-Jtbg4Axr.mjs","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Formik\n initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <Layouts.Header\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6}>\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={values.name} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6}>\n <Field.Root\n name=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={handleChange} value={values.description} />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: 1.2rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["translatedErrors"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreatePage-QPlhxPWu.js","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Field,\n Flex,\n Grid,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n </Page.Title>\n <Formik\n initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <Layouts.Header\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid.Root gap={4}>\n <Grid.Item col={6}>\n <Field.Root\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput onChange={handleChange} value={values.name} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6}>\n <Field.Root\n name=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea onChange={handleChange} value={values.description} />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </Layouts.Content>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: 1.2rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["yup","translatedErrors","useMatch","useNotification","useIntl","useNavigate","React","useTracking","useAPIErrorHandler","useGetRolePermissionLayoutQuery","useGetRolePermissionsQuery","useCreateRoleMutation","useUpdateRolePermissionsMutation","isBaseQueryError","jsx","Page","Main","Formik","format","Form","jsxs","Fragment","Layouts","Flex","Button","BackButton","Box","Typography","Grid","Field","TextInput","Textarea","Permissions","styled","useTypedSelector"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListPage-3yawwYZy.js","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton tag={NavLink} startIcon={<Plus />} variant=\"default\" to=\"create\" size=\"S\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(selected) => selectOneCheckbox(!!selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n borderWidth={0}\n >\n <Pencil />\n </IconButton>\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 borderWidth={0}\n >\n <Trash />\n </IconButton>\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmDelete} />\n </Dialog.Root>\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["React","useTypedSelector","useIntl","useAPIErrorHandler","useNotification","useNavigate","useRBAC","useNotifyAT","useWebhooks","jsx","Page","jsxs","Layouts","LinkButton","NavLink","Plus","Fragment","Typography","Button","Trash","Table","TFooter","Thead","Tr","Th","Checkbox","VisuallyHidden","Tbody","Td","Flex","Switch","IconButton","Pencil","EmptyStateLayout","EmptyDocuments","Dialog","ConfirmDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,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,EACE,uBAAAC,eAAA,CAACC,aAAQ,CAAA,IAAA,EAAR,EACC,QAAA,EAAA;AAAA,oBAACH,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,oBACCC,eAAA,CAAAD,UAAA,CAAK,IAAL,EAAA,EAAU,aAAW,SACpB,EAAA,QAAA,EAAA;AAAA,sBAAAD,cAAA;AAAA,QAACG,aAAQ,CAAA,MAAA;AAAA,QAAR;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,eACE,SACA,IAAA,CAAC,6BACEH,cAAA,CAAAI,uBAAA,EAAA,EAAW,KAAKC,sBAAS,EAAA,SAAA,kBAAYL,cAAA,CAAAM,UAAA,EAAA,EAAK,GAAI,OAAQ,EAAA,SAAA,EAAU,IAAG,QAAS,EAAA,IAAA,EAAK,KAC/E,QAAc,EAAA,aAAA,CAAA;AAAA,YACb,EAAI,EAAA,mCAAA;AAAA,YACJ,cAAgB,EAAA,oBAAA;AAAA,WACjB,CACH,EAAA,CAAA;AAAA,SAAA;AAAA,OAGN;AAAA,MACC,sBAAA,GAAyB,KAAK,SAC7B,oBAAAN,cAAA;AAAA,QAACG,aAAQ,CAAA,MAAA;AAAA,QAAR;AAAA,UACC,8BAEID,eAAA,CAAAK,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAAP,cAAA,CAACQ,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,4BACAR,cAAA;AAAA,cAACS,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,sBAEDV,cAAA,CAAAG,aAAA,CAAQ,OAAR,EAAA,EACE,6BAAmB,CAClB,mBAAAD,eAAA;AAAA,QAACS,kBAAA;AAAA,QAAA;AAAA,UACC,QAAU,EAAA,CAAA;AAAA,UACV,UAAU,gBAAmB,GAAA,CAAA;AAAA,UAC7B,MACE,kBAAAX,cAAA;AAAA,YAACY,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,iCAAON,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,4BAACN,cAAA,CAAAa,kBAAA,EAAA,EACC,0CAACC,eACC,EAAA,EAAA,QAAA,EAAA;AAAA,8BAAAd,cAAA,CAACe,eACC,EAAA,EAAA,QAAA,kBAAAf,cAAA;AAAA,gBAACgB,qBAAA;AAAA,gBAAA;AAAA,kBACC,cAAY,aAAc,CAAA;AAAA,oBACxB,EAAI,EAAA,2BAAA;AAAA,oBACJ,cAAgB,EAAA,oBAAA;AAAA,mBACjB,CAAA;AAAA,kBACD,SACE,sBAAyB,GAAA,CAAA,IAAK,sBAAyB,GAAA,gBAAA,GACnD,kBACA,sBAA2B,KAAA,gBAAA;AAAA,kBAEjC,eAAiB,EAAA,iBAAA;AAAA,iBAAA;AAAA,eAErB,EAAA,CAAA;AAAA,8BACAhB,cAAA,CAACe,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAf,cAAA,CAACQ,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,8BACAR,cAAA,CAACe,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAf,cAAA,CAACQ,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,8BACAR,cAAA,CAACe,eAAG,EAAA,EAAA,KAAA,EAAM,KACR,EAAA,QAAA,kBAAAf,cAAA,CAACQ,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,8BACCR,cAAA,CAAAe,eAAA,EAAA,EACC,QAAC,kBAAAf,cAAA,CAAAiB,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,4BACCjB,cAAA,CAAAkB,kBAAA,EAAA,EACE,QAAU,EAAA,QAAA,EAAA,GAAA,CAAI,CAAC,OACd,qBAAAhB,eAAA;AAAA,cAACY,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,kCAAAd,cAAA,CAACmB,mBAAG,OAAS,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,iBACpB,EAAA,QAAA,kBAAAnB,cAAA;AAAA,oBAACgB,qBAAA;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,OAAS,EAAA,gBAAA,EAAkB,QAAS,CAAA,OAAA,CAAQ,EAAE,CAAA;AAAA,sBAC9C,eAAA,EAAiB,CAAC,QAAa,KAAA,iBAAA,CAAkB,CAAC,CAAC,QAAA,EAAU,QAAQ,EAAE,CAAA;AAAA,sBACvE,IAAK,EAAA,QAAA;AAAA,qBAAA;AAAA,mBAET,EAAA,CAAA;AAAA,kCACAhB,cAAA,CAACmB,eACC,EAAA,EAAA,QAAA,kBAAAnB,cAAA,CAACQ,uBAAW,EAAA,EAAA,UAAA,EAAW,YAAW,SAAU,EAAA,YAAA,EACzC,QAAQ,EAAA,OAAA,CAAA,IAAA,EACX,CACF,EAAA,CAAA;AAAA,kCACAR,cAAA,CAACmB,mBACC,QAAC,kBAAAnB,cAAA,CAAAQ,uBAAA,EAAA,EAAW,WAAU,YAAc,EAAA,QAAA,EAAA,OAAA,CAAQ,KAAI,CAClD,EAAA,CAAA;AAAA,kCACAR,cAAA,CAACmB,eACC,EAAA,EAAA,QAAA,kBAAAnB,cAAA,CAACoB,iBACC,EAAA,EAAA,QAAA,kBAAApB,cAAA;AAAA,oBAACqB,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,YAAY,EAAA,CAAA,EAAG,OAAQ,CAAA,IAAI,IAAI,aAAc,CAAA;AAAA,wBAC3C,EAAI,EAAA,kCAAA;AAAA,wBACJ,cAAgB,EAAA,QAAA;AAAA,uBACjB,CAAC,CAAA,CAAA;AAAA,sBACF,SAAS,OAAQ,CAAA,SAAA;AAAA,sBACjB,eAAA,EAAiB,CAAC,OAAY,KAAA;AAC5B,wBAAc,aAAA,CAAA;AAAA,0BACZ,GAAG,OAAA;AAAA,0BACH,SAAW,EAAA,OAAA;AAAA,yBACZ,CAAA,CAAA;AAAA,uBACH;AAAA,sBACA,aAAa,EAAA,IAAA;AAAA,qBAAA;AAAA,qBAEjB,CACF,EAAA,CAAA;AAAA,kCACCrB,cAAA,CAAAmB,eAAA,EAAA,EACC,QAAC,kBAAAjB,eAAA,CAAAkB,iBAAA,EAAA,EAAK,KAAK,CACR,EAAA,QAAA,EAAA;AAAA,oBACC,SAAA,oBAAApB,cAAA;AAAA,sBAACsB,uBAAA;AAAA,sBAAA;AAAA,wBACC,OAAO,aAAc,CAAA;AAAA,0BACnB,EAAI,EAAA,iCAAA;AAAA,0BACJ,cAAgB,EAAA,QAAA;AAAA,yBACjB,CAAA;AAAA,wBACD,WAAa,EAAA,CAAA;AAAA,wBAEb,yCAACC,YAAO,EAAA,EAAA,CAAA;AAAA,uBAAA;AAAA,qBACV;AAAA,oBAED,SACC,oBAAAvB,cAAA;AAAA,sBAACsB,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,WAAa,EAAA,CAAA;AAAA,wBAEb,yCAACZ,WAAM,EAAA,EAAA,CAAA;AAAA,uBAAA;AAAA,qBACT;AAAA,mBAAA,EAEJ,CACF,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA;AAAA,cAnFK,OAAQ,CAAA,EAAA;AAAA,aAqFhB,CACH,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAGF,mBAAAV,cAAA;AAAA,QAACwB,6BAAA;AAAA,QAAA;AAAA,UACC,IAAM,kBAAAxB,cAAA,CAACyB,sBAAe,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,mBACGzB,cAAA,CAAAI,uBAAA,EAAA,EAAW,SAAQ,WAAY,EAAA,SAAA,kBAAYJ,cAAA,CAAAM,UAAA,EAAA,EAAK,CAAI,EAAA,GAAA,EAAKD,sBAAS,EAAA,EAAA,EAAG,UACnE,QAAc,EAAA,aAAA,CAAA;AAAA,YACb,EAAI,EAAA,mCAAA;AAAA,YACJ,cAAgB,EAAA,oBAAA;AAAA,WACjB,GACH,CACE,GAAA,IAAA;AAAA,SAAA;AAAA,OAIZ,EAAA,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,oBACCL,cAAA,CAAA0B,mBAAA,CAAO,IAAP,EAAA,EAAY,IAAM,EAAA,SAAA,EAAW,YAAc,EAAA,YAAA,EAC1C,QAAC,kBAAA1B,cAAA,CAAA2B,mBAAA,EAAA,EAAc,SAAW,EAAA,aAAA,EAAe,CAC3C,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAMA,MAAM,oBAAoB,MAAM;AAC9B,EAAA,MAAM,WAAc,GAAAnC,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 +0,0 @@
1
- {"version":3,"file":"ListPage-L2QuM7UE.mjs","sources":["../../admin/src/pages/Settings/pages/Webhooks/ListPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotifyAT,\n Checkbox,\n Button,\n EmptyStateLayout,\n Flex,\n IconButton,\n Switch,\n Table,\n Tbody,\n Td,\n TFooter,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport { UpdateWebhook } from '../../../../../../shared/contracts/webhooks';\nimport { ConfirmDialog } from '../../../../components/ConfirmDialog';\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport { useRBAC } from '../../../../hooks/useRBAC';\n\nimport { useWebhooks } from './hooks/useWebhooks';\n\n/* -------------------------------------------------------------------------------------------------\n * ListPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ListPage = () => {\n const [showModal, setShowModal] = React.useState(false);\n const [webhooksToDelete, setWebhooksToDelete] = React.useState<string[]>([]);\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings?.webhooks);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n\n const {\n isLoading: isRBACLoading,\n allowedActions: { canCreate, canUpdate, canDelete },\n } = useRBAC(permissions);\n const { notifyStatus } = useNotifyAT();\n\n const {\n isLoading: isWebhooksLoading,\n webhooks,\n error: webhooksError,\n updateWebhook,\n deleteManyWebhooks,\n } = useWebhooks();\n\n React.useEffect(() => {\n if (webhooksError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(webhooksError),\n });\n\n return;\n }\n if (webhooks) {\n notifyStatus(\n formatMessage({\n id: 'Settings.webhooks.list.loading.success',\n defaultMessage: 'Webhooks have been loaded',\n })\n );\n }\n }, [webhooks, webhooksError, toggleNotification, formatMessage, notifyStatus, formatAPIError]);\n\n const enableWebhook = async (body: UpdateWebhook.Request['body'] & UpdateWebhook.Params) => {\n try {\n const res = await updateWebhook(body);\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const confirmDelete = async () => {\n try {\n const res = await deleteManyWebhooks({\n ids: webhooksToDelete,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n setWebhooksToDelete([]);\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n } finally {\n setShowModal(false);\n }\n };\n\n const selectAllCheckbox = (selected: boolean) =>\n selected\n ? setWebhooksToDelete(webhooks?.map((webhook) => webhook.id) ?? [])\n : setWebhooksToDelete([]);\n\n const selectOneCheckbox = (selected: boolean, id: string) =>\n selected\n ? setWebhooksToDelete((prev) => [...prev, id])\n : setWebhooksToDelete((prev) => prev.filter((webhookId) => webhookId !== id));\n\n const isLoading = isRBACLoading || isWebhooksLoading;\n const numberOfWebhooks = webhooks?.length ?? 0;\n const webhooksToDeleteLength = webhooksToDelete.length;\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Webhooks',\n }\n )}\n </Page.Title>\n <Page.Main aria-busy={isLoading}>\n <Layouts.Header\n title={formatMessage({ id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' })}\n subtitle={formatMessage({\n id: 'Settings.webhooks.list.description',\n defaultMessage: 'Get POST changes notifications',\n })}\n primaryAction={\n canCreate &&\n !isLoading && (\n <LinkButton tag={NavLink} startIcon={<Plus />} variant=\"default\" to=\"create\" size=\"S\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n )\n }\n />\n {webhooksToDeleteLength > 0 && canDelete && (\n <Layouts.Action\n startActions={\n <>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.webhooks.to.delete',\n defaultMessage:\n '{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected',\n },\n { webhooksToDeleteLength }\n )}\n </Typography>\n <Button\n onClick={() => setShowModal(true)}\n startIcon={<Trash />}\n size=\"L\"\n variant=\"danger-light\"\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n </>\n }\n />\n )}\n <Layouts.Content>\n {numberOfWebhooks > 0 ? (\n <Table\n colCount={5}\n rowCount={numberOfWebhooks + 1}\n footer={\n <TFooter\n onClick={() => {\n if (canCreate) {\n navigate('create');\n }\n }}\n icon={<Plus />}\n >\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </TFooter>\n }\n >\n <Thead>\n <Tr>\n <Th>\n <Checkbox\n aria-label={formatMessage({\n id: 'global.select-all-entries',\n defaultMessage: 'Select all entries',\n })}\n checked={\n webhooksToDeleteLength > 0 && webhooksToDeleteLength < numberOfWebhooks\n ? 'indeterminate'\n : webhooksToDeleteLength === numberOfWebhooks\n }\n onCheckedChange={selectAllCheckbox}\n />\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Typography>\n </Th>\n <Th width=\"60%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.form.url',\n defaultMessage: 'URL',\n })}\n </Typography>\n </Th>\n <Th width=\"20%\">\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'Settings.webhooks.list.th.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {webhooks?.map((webhook) => (\n <Tr\n key={webhook.id}\n onClick={() => {\n if (canUpdate) {\n navigate(webhook.id);\n }\n }}\n style={{ cursor: canUpdate ? 'pointer' : 'default' }}\n >\n <Td onClick={(e) => e.stopPropagation()}>\n <Checkbox\n aria-label={`${formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })} ${webhook.name}`}\n checked={webhooksToDelete?.includes(webhook.id)}\n onCheckedChange={(selected) => selectOneCheckbox(!!selected, webhook.id)}\n name=\"select\"\n />\n </Td>\n <Td>\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {webhook.name}\n </Typography>\n </Td>\n <Td>\n <Typography textColor=\"neutral800\">{webhook.url}</Typography>\n </Td>\n <Td>\n <Flex>\n <Switch\n onLabel={formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })}\n offLabel={formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n aria-label={`${webhook.name} ${formatMessage({\n id: 'Settings.webhooks.list.th.status',\n defaultMessage: 'Status',\n })}`}\n checked={webhook.isEnabled}\n onCheckedChange={(enabled) => {\n enableWebhook({\n ...webhook,\n isEnabled: enabled,\n });\n }}\n visibleLabels\n />\n </Flex>\n </Td>\n <Td>\n <Flex gap={1}>\n {canUpdate && (\n <IconButton\n label={formatMessage({\n id: 'Settings.webhooks.events.update',\n defaultMessage: 'Update',\n })}\n borderWidth={0}\n >\n <Pencil />\n </IconButton>\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 borderWidth={0}\n >\n <Trash />\n </IconButton>\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"160px\" />}\n content={formatMessage({\n id: 'Settings.webhooks.list.empty.description',\n defaultMessage: 'No webhooks found',\n })}\n action={\n canCreate ? (\n <LinkButton variant=\"secondary\" startIcon={<Plus />} tag={NavLink} to=\"create\">\n {formatMessage({\n id: 'Settings.webhooks.list.button.add',\n defaultMessage: 'Create new webhook',\n })}\n </LinkButton>\n ) : null\n }\n />\n )}\n </Layouts.Content>\n </Page.Main>\n <Dialog.Root open={showModal} onOpenChange={setShowModal}>\n <ConfirmDialog onConfirm={confirmDelete} />\n </Dialog.Root>\n </Layouts.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedListView\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.webhooks.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":[],"mappings":"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"}