@strapi/admin 4.15.5-alpha.5 → 4.15.5

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 (183) hide show
  1. package/dist/_chunks/{AuthenticatedApp-eea6970a.js → AuthenticatedApp-61dfdab8.js} +21 -21
  2. package/dist/_chunks/{AuthenticatedApp-eea6970a.js.map → AuthenticatedApp-61dfdab8.js.map} +1 -1
  3. package/dist/_chunks/{AuthenticatedApp-1e10546a.mjs → AuthenticatedApp-da1595e9.mjs} +21 -21
  4. package/dist/_chunks/{AuthenticatedApp-1e10546a.mjs.map → AuthenticatedApp-da1595e9.mjs.map} +1 -1
  5. package/dist/_chunks/{HomePage-970b8c5a.mjs → HomePage-2690d237.mjs} +4 -4
  6. package/dist/_chunks/{HomePage-970b8c5a.mjs.map → HomePage-2690d237.mjs.map} +1 -1
  7. package/dist/_chunks/{HomePage-96c4aa5b.mjs → HomePage-3792b299.mjs} +4 -4
  8. package/dist/_chunks/{HomePage-96c4aa5b.mjs.map → HomePage-3792b299.mjs.map} +1 -1
  9. package/dist/_chunks/{HomePage-3ce777a2.js → HomePage-48934b34.js} +4 -4
  10. package/dist/_chunks/{HomePage-3ce777a2.js.map → HomePage-48934b34.js.map} +1 -1
  11. package/dist/_chunks/{HomePage-ec67248d.js → HomePage-f3052b59.js} +4 -4
  12. package/dist/_chunks/{HomePage-ec67248d.js.map → HomePage-f3052b59.js.map} +1 -1
  13. package/dist/_chunks/{InstalledPluginsPage-7743670e.mjs → InstalledPluginsPage-3bd06321.mjs} +3 -3
  14. package/dist/_chunks/{InstalledPluginsPage-7743670e.mjs.map → InstalledPluginsPage-3bd06321.mjs.map} +1 -1
  15. package/dist/_chunks/{InstalledPluginsPage-1e0d2ae1.js → InstalledPluginsPage-da0780c1.js} +3 -3
  16. package/dist/_chunks/{InstalledPluginsPage-1e0d2ae1.js.map → InstalledPluginsPage-da0780c1.js.map} +1 -1
  17. package/dist/_chunks/{Login-a6af5d62.mjs → Login-8f68c65a.mjs} +2 -2
  18. package/dist/_chunks/{Login-a6af5d62.mjs.map → Login-8f68c65a.mjs.map} +1 -1
  19. package/dist/_chunks/{Login-04fc2757.js → Login-ab4b47ad.js} +2 -2
  20. package/dist/_chunks/{Login-04fc2757.js.map → Login-ab4b47ad.js.map} +1 -1
  21. package/dist/_chunks/{MarketplacePage-aeb425cc.js → MarketplacePage-935fca72.js} +3 -3
  22. package/dist/_chunks/{MarketplacePage-aeb425cc.js.map → MarketplacePage-935fca72.js.map} +1 -1
  23. package/dist/_chunks/{MarketplacePage-61d66050.mjs → MarketplacePage-95af86bb.mjs} +3 -3
  24. package/dist/_chunks/{MarketplacePage-61d66050.mjs.map → MarketplacePage-95af86bb.mjs.map} +1 -1
  25. package/dist/_chunks/{ProfilePage-862401de.mjs → ProfilePage-20de1b54.mjs} +3 -3
  26. package/dist/_chunks/{ProfilePage-862401de.mjs.map → ProfilePage-20de1b54.mjs.map} +1 -1
  27. package/dist/_chunks/{ProfilePage-f3915e86.js → ProfilePage-b8b29c4d.js} +3 -3
  28. package/dist/_chunks/{ProfilePage-f3915e86.js.map → ProfilePage-b8b29c4d.js.map} +1 -1
  29. package/dist/_chunks/{constants-298d4e08.js → constants-008a1527.js} +5 -5
  30. package/dist/_chunks/{constants-298d4e08.js.map → constants-008a1527.js.map} +1 -1
  31. package/dist/_chunks/{constants-94ec0c39.mjs → constants-1d345364.mjs} +5 -5
  32. package/dist/_chunks/{constants-94ec0c39.mjs.map → constants-1d345364.mjs.map} +1 -1
  33. package/dist/_chunks/{constants-14dd24d9.mjs → constants-278adc05.mjs} +6 -6
  34. package/dist/_chunks/{constants-14dd24d9.mjs.map → constants-278adc05.mjs.map} +1 -1
  35. package/dist/_chunks/{constants-98046873.mjs → constants-29d123f8.mjs} +2 -2
  36. package/dist/_chunks/{constants-98046873.mjs.map → constants-29d123f8.mjs.map} +1 -1
  37. package/dist/_chunks/{constants-ca23be5d.js → constants-4be682e5.js} +2 -2
  38. package/dist/_chunks/{constants-ca23be5d.js.map → constants-4be682e5.js.map} +1 -1
  39. package/dist/_chunks/{constants-a0698a4a.js → constants-797ada28.js} +6 -6
  40. package/dist/_chunks/{constants-a0698a4a.js.map → constants-797ada28.js.map} +1 -1
  41. package/dist/_chunks/{constants-fb780d44.mjs → constants-db792b94.mjs} +3 -3
  42. package/dist/_chunks/{constants-fb780d44.mjs.map → constants-db792b94.mjs.map} +1 -1
  43. package/dist/_chunks/{constants-9ee3d5d7.js → constants-ec71917d.js} +3 -3
  44. package/dist/_chunks/{constants-9ee3d5d7.js.map → constants-ec71917d.js.map} +1 -1
  45. package/dist/_chunks/{index-4b12f2e9.mjs → index-003c2cab.mjs} +5 -5
  46. package/dist/_chunks/{index-4b12f2e9.mjs.map → index-003c2cab.mjs.map} +1 -1
  47. package/dist/_chunks/{index-e12cacd1.js → index-035f8c59.js} +3 -3
  48. package/dist/_chunks/{index-e12cacd1.js.map → index-035f8c59.js.map} +1 -1
  49. package/dist/_chunks/{index-5de6defe.mjs → index-039f8e26.mjs} +4 -4
  50. package/dist/_chunks/{index-5de6defe.mjs.map → index-039f8e26.mjs.map} +1 -1
  51. package/dist/_chunks/{index-ea2ed45d.js → index-0c9fceff.js} +5 -5
  52. package/dist/_chunks/{index-ea2ed45d.js.map → index-0c9fceff.js.map} +1 -1
  53. package/dist/_chunks/{index-2609696f.js → index-0ed05075.js} +4 -4
  54. package/dist/_chunks/{index-2609696f.js.map → index-0ed05075.js.map} +1 -1
  55. package/dist/_chunks/{index-bff8cad7.js → index-0fbbca7a.js} +3 -3
  56. package/dist/_chunks/{index-bff8cad7.js.map → index-0fbbca7a.js.map} +1 -1
  57. package/dist/_chunks/{index-ebd41ad5.mjs → index-154693de.mjs} +3 -3
  58. package/dist/_chunks/{index-ebd41ad5.mjs.map → index-154693de.mjs.map} +1 -1
  59. package/dist/_chunks/{index-a81ae30e.mjs → index-1932eedf.mjs} +3 -3
  60. package/dist/_chunks/{index-a81ae30e.mjs.map → index-1932eedf.mjs.map} +1 -1
  61. package/dist/_chunks/{index-92f311b0.mjs → index-1ebd9d8c.mjs} +5 -5
  62. package/dist/_chunks/{index-92f311b0.mjs.map → index-1ebd9d8c.mjs.map} +1 -1
  63. package/dist/_chunks/{index-51aa0dc6.js → index-1f4afa21.js} +3 -3
  64. package/dist/_chunks/{index-51aa0dc6.js.map → index-1f4afa21.js.map} +1 -1
  65. package/dist/_chunks/{index-ffafceee.js → index-25975989.js} +4 -4
  66. package/dist/_chunks/{index-ffafceee.js.map → index-25975989.js.map} +1 -1
  67. package/dist/_chunks/{index-75d51788.js → index-2b22b1a0.js} +5 -5
  68. package/dist/_chunks/{index-75d51788.js.map → index-2b22b1a0.js.map} +1 -1
  69. package/dist/_chunks/{index-5d3982dd.js → index-345c0ae9.js} +6 -6
  70. package/dist/_chunks/{index-5d3982dd.js.map → index-345c0ae9.js.map} +1 -1
  71. package/dist/_chunks/{index-5a15fb17.mjs → index-3c693658.mjs} +3 -3
  72. package/dist/_chunks/{index-5a15fb17.mjs.map → index-3c693658.mjs.map} +1 -1
  73. package/dist/_chunks/{index-372f70ce.mjs → index-40495ca1.mjs} +2 -2
  74. package/dist/_chunks/{index-372f70ce.mjs.map → index-40495ca1.mjs.map} +1 -1
  75. package/dist/_chunks/{index-6c56f4c2.mjs → index-40d047a8.mjs} +3 -3
  76. package/dist/_chunks/{index-6c56f4c2.mjs.map → index-40d047a8.mjs.map} +1 -1
  77. package/dist/_chunks/{index-9a307bbd.mjs → index-46138ec7.mjs} +4 -4
  78. package/dist/_chunks/{index-9a307bbd.mjs.map → index-46138ec7.mjs.map} +1 -1
  79. package/dist/_chunks/{index-b51842fb.mjs → index-46c3ee85.mjs} +3 -3
  80. package/dist/_chunks/{index-b51842fb.mjs.map → index-46c3ee85.mjs.map} +1 -1
  81. package/dist/_chunks/{index-c8abc905.mjs → index-4f557234.mjs} +3 -3
  82. package/dist/_chunks/{index-c8abc905.mjs.map → index-4f557234.mjs.map} +1 -1
  83. package/dist/_chunks/{index-6e082128.mjs → index-51986071.mjs} +3 -3
  84. package/dist/_chunks/{index-6e082128.mjs.map → index-51986071.mjs.map} +1 -1
  85. package/dist/_chunks/{index-8c004453.js → index-557e0c47.js} +2 -2
  86. package/dist/_chunks/{index-8c004453.js.map → index-557e0c47.js.map} +1 -1
  87. package/dist/_chunks/{index-04dc85bf.mjs → index-56b499fb.mjs} +5 -5
  88. package/dist/_chunks/{index-04dc85bf.mjs.map → index-56b499fb.mjs.map} +1 -1
  89. package/dist/_chunks/{index-f6e45499.js → index-5a5b0567.js} +20 -20
  90. package/dist/_chunks/{index-f6e45499.js.map → index-5a5b0567.js.map} +1 -1
  91. package/dist/_chunks/{index-27d910b7.mjs → index-6353193a.mjs} +5 -5
  92. package/dist/_chunks/{index-27d910b7.mjs.map → index-6353193a.mjs.map} +1 -1
  93. package/dist/_chunks/{index-527a80ef.mjs → index-6797e259.mjs} +3 -3
  94. package/dist/_chunks/{index-527a80ef.mjs.map → index-6797e259.mjs.map} +1 -1
  95. package/dist/_chunks/{index-435b6463.js → index-69d47db4.js} +3 -3
  96. package/dist/_chunks/{index-435b6463.js.map → index-69d47db4.js.map} +1 -1
  97. package/dist/_chunks/{index-b1141822.js → index-72494b79.js} +3 -3
  98. package/dist/_chunks/{index-b1141822.js.map → index-72494b79.js.map} +1 -1
  99. package/dist/_chunks/{index-008328ba.js → index-787a0db6.js} +5 -5
  100. package/dist/_chunks/{index-008328ba.js.map → index-787a0db6.js.map} +1 -1
  101. package/dist/_chunks/{index-cf35f9e7.js → index-7bfab5f5.js} +4 -4
  102. package/dist/_chunks/{index-cf35f9e7.js.map → index-7bfab5f5.js.map} +1 -1
  103. package/dist/_chunks/{index-7e1f48fc.mjs → index-81509193.mjs} +8 -8
  104. package/dist/_chunks/{index-7e1f48fc.mjs.map → index-81509193.mjs.map} +1 -1
  105. package/dist/_chunks/{index-e17a9e33.mjs → index-834fad5c.mjs} +5 -5
  106. package/dist/_chunks/{index-e17a9e33.mjs.map → index-834fad5c.mjs.map} +1 -1
  107. package/dist/_chunks/{index-8600b6e5.mjs → index-8e034257.mjs} +3 -3
  108. package/dist/_chunks/{index-8600b6e5.mjs.map → index-8e034257.mjs.map} +1 -1
  109. package/dist/_chunks/{index-15fddb85.mjs → index-9118a940.mjs} +4 -4
  110. package/dist/_chunks/{index-15fddb85.mjs.map → index-9118a940.mjs.map} +1 -1
  111. package/dist/_chunks/{index-3266a985.js → index-924a1288.js} +3 -3
  112. package/dist/_chunks/{index-3266a985.js.map → index-924a1288.js.map} +1 -1
  113. package/dist/_chunks/{index-a299ce97.js → index-9304d6de.js} +8 -8
  114. package/dist/_chunks/{index-a299ce97.js.map → index-9304d6de.js.map} +1 -1
  115. package/dist/_chunks/{index-7b5707cd.js → index-97a59f73.js} +4 -4
  116. package/dist/_chunks/{index-7b5707cd.js.map → index-97a59f73.js.map} +1 -1
  117. package/dist/_chunks/{index-b4277486.js → index-9c26fffe.js} +4 -4
  118. package/dist/_chunks/{index-b4277486.js.map → index-9c26fffe.js.map} +1 -1
  119. package/dist/_chunks/{index-f3c7f6a9.js → index-9f2d5dc8.js} +3 -3
  120. package/dist/_chunks/{index-f3c7f6a9.js.map → index-9f2d5dc8.js.map} +1 -1
  121. package/dist/_chunks/{index-92a2ece4.js → index-9f30a92e.js} +4 -4
  122. package/dist/_chunks/{index-92a2ece4.js.map → index-9f30a92e.js.map} +1 -1
  123. package/dist/_chunks/{index-aa35df09.mjs → index-a6f1ccf6.mjs} +6 -6
  124. package/dist/_chunks/{index-aa35df09.mjs.map → index-a6f1ccf6.mjs.map} +1 -1
  125. package/dist/_chunks/{index-e7e7f75d.mjs → index-a9625818.mjs} +5 -5
  126. package/dist/_chunks/{index-e7e7f75d.mjs.map → index-a9625818.mjs.map} +1 -1
  127. package/dist/_chunks/{index-401d5daa.js → index-b2d4d126.js} +5 -5
  128. package/dist/_chunks/{index-401d5daa.js.map → index-b2d4d126.js.map} +1 -1
  129. package/dist/_chunks/{index-c5ed938c.mjs → index-b42866c5.mjs} +2 -2
  130. package/dist/_chunks/{index-c5ed938c.mjs.map → index-b42866c5.mjs.map} +1 -1
  131. package/dist/_chunks/{index-83133812.mjs → index-b6ee936b.mjs} +4 -4
  132. package/dist/_chunks/{index-83133812.mjs.map → index-b6ee936b.mjs.map} +1 -1
  133. package/dist/_chunks/{index-392a9490.js → index-bac648de.js} +5 -5
  134. package/dist/_chunks/{index-392a9490.js.map → index-bac648de.js.map} +1 -1
  135. package/dist/_chunks/{index-56a6576d.js → index-bc709e72.js} +3 -3
  136. package/dist/_chunks/{index-56a6576d.js.map → index-bc709e72.js.map} +1 -1
  137. package/dist/_chunks/{index-0a328691.mjs → index-bde05e9e.mjs} +3 -3
  138. package/dist/_chunks/{index-0a328691.mjs.map → index-bde05e9e.mjs.map} +1 -1
  139. package/dist/_chunks/{index-a3bc2b4e.mjs → index-be3e5f69.mjs} +2 -2
  140. package/dist/_chunks/{index-a3bc2b4e.mjs.map → index-be3e5f69.mjs.map} +1 -1
  141. package/dist/_chunks/{index-7b53073e.js → index-bfb581a2.js} +3 -3
  142. package/dist/_chunks/{index-7b53073e.js.map → index-bfb581a2.js.map} +1 -1
  143. package/dist/_chunks/{index-470c6923.js → index-cbf9952d.js} +2 -2
  144. package/dist/_chunks/{index-470c6923.js.map → index-cbf9952d.js.map} +1 -1
  145. package/dist/_chunks/{index-80b911e7.mjs → index-cc38783c.mjs} +3 -3
  146. package/dist/_chunks/{index-80b911e7.mjs.map → index-cc38783c.mjs.map} +1 -1
  147. package/dist/_chunks/{index-6b269800.mjs → index-d2b3c398.mjs} +3 -3
  148. package/dist/_chunks/{index-6b269800.mjs.map → index-d2b3c398.mjs.map} +1 -1
  149. package/dist/_chunks/{index-1e7b6d32.js → index-d5f569ab.js} +5 -5
  150. package/dist/_chunks/{index-1e7b6d32.js.map → index-d5f569ab.js.map} +1 -1
  151. package/dist/_chunks/{index-e628615b.mjs → index-d9882c45.mjs} +4 -4
  152. package/dist/_chunks/{index-e628615b.mjs.map → index-d9882c45.mjs.map} +1 -1
  153. package/dist/_chunks/{index-65d8637e.js → index-e0e235a0.js} +3 -3
  154. package/dist/_chunks/{index-65d8637e.js.map → index-e0e235a0.js.map} +1 -1
  155. package/dist/_chunks/{index-da0be0d5.js → index-e34335f1.js} +3 -3
  156. package/dist/_chunks/{index-da0be0d5.js.map → index-e34335f1.js.map} +1 -1
  157. package/dist/_chunks/{index-9afe0455.js → index-eaff38ba.js} +3 -3
  158. package/dist/_chunks/{index-9afe0455.js.map → index-eaff38ba.js.map} +1 -1
  159. package/dist/_chunks/{index-1930d662.js → index-eebad65d.js} +3 -3
  160. package/dist/_chunks/{index-1930d662.js.map → index-eebad65d.js.map} +1 -1
  161. package/dist/_chunks/{index-c66a60bb.mjs → index-f3e7f8cc.mjs} +4 -4
  162. package/dist/_chunks/{index-c66a60bb.mjs.map → index-f3e7f8cc.mjs.map} +1 -1
  163. package/dist/_chunks/{index-c145ae06.mjs → index-f52ae628.mjs} +3 -3
  164. package/dist/_chunks/{index-c145ae06.mjs.map → index-f52ae628.mjs.map} +1 -1
  165. package/dist/_chunks/{index-eafb6c8c.mjs → index-f55a69e7.mjs} +4 -4
  166. package/dist/_chunks/{index-eafb6c8c.mjs.map → index-f55a69e7.mjs.map} +1 -1
  167. package/dist/_chunks/{index-7d60e3dc.mjs → index-f5b276a8.mjs} +20 -20
  168. package/dist/_chunks/{index-7d60e3dc.mjs.map → index-f5b276a8.mjs.map} +1 -1
  169. package/dist/_chunks/{index-b5ff3031.js → index-f7cf652c.js} +4 -4
  170. package/dist/_chunks/{index-b5ff3031.js.map → index-f7cf652c.js.map} +1 -1
  171. package/dist/_chunks/{index-9d9b9769.js → index-f7dbd21b.js} +2 -2
  172. package/dist/_chunks/{index-9d9b9769.js.map → index-f7dbd21b.js.map} +1 -1
  173. package/dist/_chunks/{schema-755747ac.js → schema-15e33d1c.js} +2 -2
  174. package/dist/_chunks/{schema-755747ac.js.map → schema-15e33d1c.js.map} +1 -1
  175. package/dist/_chunks/{schema-666ecce4.mjs → schema-a7f695ae.mjs} +2 -2
  176. package/dist/_chunks/{schema-666ecce4.mjs.map → schema-a7f695ae.mjs.map} +1 -1
  177. package/dist/_chunks/{validateWorkflow-e77a9ab3.mjs → validateWorkflow-2f84e76e.mjs} +3 -3
  178. package/dist/_chunks/{validateWorkflow-e77a9ab3.mjs.map → validateWorkflow-2f84e76e.mjs.map} +1 -1
  179. package/dist/_chunks/{validateWorkflow-ae45d3d4.js → validateWorkflow-6b5dffaf.js} +3 -3
  180. package/dist/_chunks/{validateWorkflow-ae45d3d4.js.map → validateWorkflow-6b5dffaf.js.map} +1 -1
  181. package/dist/admin/index.js +1 -1
  182. package/dist/admin/index.mjs +1 -1
  183. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"index-75d51788.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js"],"sourcesContent":["import * as React from 'react';\n\n// eslint-disable-next-line import/no-cycle\nimport { UserListPageCE } from '../../../../../../../../admin/src/pages/SettingsPage/pages/Users/ListPage';\nimport { useLicenseLimitNotification } from '../../../../../hooks/useLicenseLimitNotification';\n\nexport function UserListPageEE() {\n useLicenseLimitNotification();\n\n return <UserListPageCE />;\n}\n"],"names":["useLicenseLimitNotification","UserListPageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,iBAAiB;AACHA,8BAAAA;AAE5B,wCAAQC,sBAAe,CAAA,CAAA;AACzB;;"}
1
+ {"version":3,"file":"index-2b22b1a0.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js"],"sourcesContent":["import * as React from 'react';\n\n// eslint-disable-next-line import/no-cycle\nimport { UserListPageCE } from '../../../../../../../../admin/src/pages/SettingsPage/pages/Users/ListPage';\nimport { useLicenseLimitNotification } from '../../../../../hooks/useLicenseLimitNotification';\n\nexport function UserListPageEE() {\n useLicenseLimitNotification();\n\n return <UserListPageCE />;\n}\n"],"names":["useLicenseLimitNotification","UserListPageCE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,iBAAiB;AACHA,8BAAAA;AAE5B,wCAAQC,sBAAe,CAAA,CAAA;AACzB;;"}
@@ -2,7 +2,7 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const helperPlugin = require("@strapi/helper-plugin");
4
4
  const reactRedux = require("react-redux");
5
- const AuthenticatedApp = require("./AuthenticatedApp-eea6970a.js");
5
+ const AuthenticatedApp = require("./AuthenticatedApp-61dfdab8.js");
6
6
  const React = require("react");
7
7
  const designSystem = require("@strapi/design-system");
8
8
  const qs = require("qs");
@@ -10,13 +10,13 @@ const reactIntl = require("react-intl");
10
10
  const reactQuery = require("react-query");
11
11
  const reactRouterDom = require("react-router-dom");
12
12
  const useAdminUsers = require("./useAdminUsers-05d6b26a.js");
13
- const index$1 = require("./index-2609696f.js");
13
+ const index$1 = require("./index-0ed05075.js");
14
14
  const index$3 = require("./index-88298941.js");
15
15
  const Icons = require("@strapi/icons");
16
16
  const PropTypes = require("prop-types");
17
17
  const v2 = require("@strapi/design-system/v2");
18
18
  const formik = require("formik");
19
- const index$2 = require("./index-9d9b9769.js");
19
+ const index$2 = require("./index-f7dbd21b.js");
20
20
  const yup = require("yup");
21
21
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
22
22
  function _interopNamespace(e) {
@@ -264,7 +264,7 @@ const ModalForm = ({ onSuccess, onToggle }) => {
264
264
  );
265
265
  const MagicLink = index$1.useEnterprise(
266
266
  index$2.MagicLinkCE,
267
- async () => (await Promise.resolve().then(() => require("./index-65d8637e.js"))).MagicLinkEE
267
+ async () => (await Promise.resolve().then(() => require("./index-e0e235a0.js"))).MagicLinkEE
268
268
  );
269
269
  const postMutation = reactQuery.useMutation(
270
270
  (body) => {
@@ -676,7 +676,7 @@ const UsersListPageSwitch = () => {
676
676
  UserListPageCE,
677
677
  async () => (
678
678
  // eslint-disable-next-line import/no-cycle
679
- (await Promise.resolve().then(() => require("./index-75d51788.js"))).UserListPageEE
679
+ (await Promise.resolve().then(() => require("./index-2b22b1a0.js"))).UserListPageEE
680
680
  )
681
681
  );
682
682
  if (!UsersListPage) {
@@ -694,4 +694,4 @@ const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
694
694
  }, Symbol.toStringTag, { value: "Module" }));
695
695
  exports.UserListPageCE = UserListPageCE;
696
696
  exports.index = index;
697
- //# sourceMappingURL=index-5d3982dd.js.map
697
+ //# sourceMappingURL=index-345c0ae9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-5d3982dd.js","sources":["../../admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/utils/displayedFilters.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/index.js","../../admin/src/pages/SettingsPage/pages/Users/ProtectedListPage/index.js"],"sourcesContent":["import React from 'react';\n\nimport { Button } from '@strapi/design-system';\nimport { Envelop } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nexport const CreateActionCE = ({ onClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Button onClick={onClick} startIcon={<Envelop />} size=\"S\">\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n );\n};\n\nCreateActionCE.propTypes = {\n onClick: PropTypes.func.isRequired,\n};\n","import React from 'react';\n\nimport {\n BaseCheckbox,\n Box,\n Flex,\n IconButton,\n Tbody,\n Td,\n Tr,\n Typography,\n} from '@strapi/design-system';\nimport { onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Pencil, Trash } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { getFullName } from '../../../../../../../utils/getFullName';\n\nconst TableRows = ({\n canDelete,\n headers,\n entriesToDelete,\n onClickDelete,\n onSelectRow,\n withMainAction,\n withBulkActions,\n rows,\n}) => {\n const {\n push,\n location: { pathname },\n } = useHistory();\n const { formatMessage } = useIntl();\n\n return (\n <Tbody>\n {rows.map((data) => {\n const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1;\n\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => push(`${pathname}/${data.id}`),\n condition: withBulkActions,\n })}\n >\n {withMainAction && (\n <Td {...stopPropagation}>\n <BaseCheckbox\n aria-label={formatMessage(\n {\n id: 'app.component.table.select.one-entry',\n defaultMessage: `Select {target}`,\n },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n checked={isChecked}\n onChange={() => {\n onSelectRow({ name: data.id, value: !isChecked });\n }}\n />\n </Td>\n )}\n {headers.map(({ key, cellFormatter, name, ...rest }) => {\n return (\n <Td key={key}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(data, { key, name, formatMessage, ...rest })\n ) : (\n <Typography textColor=\"neutral800\">{data[name] || '-'}</Typography>\n )}\n </Td>\n );\n })}\n\n {withBulkActions && (\n <Td>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => push(`${pathname}/${data.id}`)}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n noBorder\n icon={<Pencil />}\n />\n\n {canDelete && (\n <Box paddingLeft={1} {...stopPropagation}>\n <IconButton\n onClick={() => onClickDelete(data.id)}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n noBorder\n icon={<Trash />}\n />\n </Box>\n )}\n </Flex>\n </Td>\n )}\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nTableRows.defaultProps = {\n canDelete: false,\n entriesToDelete: [],\n onClickDelete() {},\n onSelectRow() {},\n rows: [],\n withBulkActions: false,\n withMainAction: false,\n};\n\nTableRows.propTypes = {\n canDelete: PropTypes.bool,\n entriesToDelete: PropTypes.array,\n headers: PropTypes.array.isRequired,\n onClickDelete: PropTypes.func,\n onSelectRow: PropTypes.func,\n rows: PropTypes.array,\n withBulkActions: PropTypes.bool,\n withMainAction: PropTypes.bool,\n};\n\nexport default TableRows;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nexport const FORM_INITIAL_VALUES = {\n firstname: '',\n lastname: '',\n email: '',\n roles: [],\n};\n\nexport const ROLE_LAYOUT = [];\n\nexport const FORM_LAYOUT = [\n [\n {\n intlLabel: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n {\n intlLabel: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n ],\n];\n\nexport const FORM_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).required(translatedErrors.required),\n roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),\n});\n\nexport const STEPPER = {\n create: {\n buttonSubmitLabel: {\n id: 'app.containers.Users.ModalForm.footer.button-success',\n defaultMessage: 'Invite user',\n },\n isDisabled: false,\n next: 'magic-link',\n },\n 'magic-link': {\n buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },\n isDisabled: true,\n next: null,\n },\n};\n","import React, { useState } from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport {\n Form,\n GenericInput,\n useFetchClient,\n useNotification,\n useOverlayBlocker,\n} from '@strapi/helper-plugin';\nimport { Formik } from 'formik';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useEnterprise } from '../../../../../../hooks/useEnterprise';\nimport { MagicLinkCE } from '../../components/MagicLink';\nimport SelectRoles from '../../components/SelectRoles';\n\nimport { FORM_LAYOUT, FORM_SCHEMA, FORM_INITIAL_VALUES, ROLE_LAYOUT, STEPPER } from './constants';\n\nconst ModalForm = ({ onSuccess, onToggle }) => {\n const [currentStep, setStep] = useState('create');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [registrationToken, setRegistrationToken] = useState(null);\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { post } = useFetchClient();\n const roleLayout = useEnterprise(\n ROLE_LAYOUT,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants'\n )\n ).ROLE_LAYOUT,\n {\n combine(ceRoles, eeRoles) {\n return [...ceRoles, eeRoles];\n },\n\n defaultValue: [],\n }\n );\n const initialValues = useEnterprise(\n FORM_INITIAL_VALUES,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants'\n )\n ).FORM_INITIAL_VALUES,\n {\n combine(ceValues, eeValues) {\n return {\n ...ceValues,\n ...eeValues,\n };\n },\n\n defaultValue: FORM_INITIAL_VALUES,\n }\n );\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLink'\n )\n ).MagicLinkEE\n );\n const postMutation = useMutation(\n (body) => {\n return post('/admin/users', body);\n },\n {\n async onSuccess({ data }) {\n setRegistrationToken(data.data.registrationToken);\n\n await onSuccess();\n\n goNext();\n setIsSubmitting(false);\n },\n onError(err) {\n setIsSubmitting(false);\n\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n\n throw err;\n },\n onSettled() {\n unlockApp();\n },\n }\n );\n\n const headerTitle = formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n });\n\n const handleSubmit = async (body, { setErrors }) => {\n lockApp();\n setIsSubmitting(true);\n try {\n await postMutation.mutateAsync(body);\n } catch (err) {\n unlockApp();\n\n if (err?.response?.data?.error.message === 'Email already taken') {\n setErrors({ email: err.response.data.error.message });\n }\n }\n };\n\n const goNext = () => {\n if (next) {\n setStep(next);\n } else {\n onToggle();\n }\n };\n\n const { buttonSubmitLabel, isDisabled, next } = STEPPER[currentStep];\n const endActions =\n currentStep === 'create' ? (\n <Button type=\"submit\" loading={isSubmitting}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n ) : (\n <Button type=\"button\" loading={isSubmitting} onClick={onToggle}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n );\n\n // block rendering until the EE component is fully loaded\n if (!MagicLink) {\n return null;\n }\n\n return (\n <ModalLayout onClose={onToggle} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={headerTitle}>\n <Crumb isCurrent>{headerTitle}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Formik\n enableReinitialize\n initialValues={initialValues}\n onSubmit={handleSubmit}\n validationSchema={FORM_SCHEMA}\n validateOnChange={false}\n >\n {({ errors, handleChange, values }) => {\n return (\n <Form>\n <ModalBody>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {currentStep !== 'create' && <MagicLink registrationToken={registrationToken} />}\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'User details',\n })}\n </Typography>\n <Box paddingTop={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid gap={5}>\n {FORM_LAYOUT.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n error={errors[input.name]}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Flex>\n </Box>\n </Box>\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Box paddingTop={4}>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={isDisabled}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles}\n />\n </GridItem>\n {roleLayout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Box>\n </Box>\n </Flex>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={endActions}\n />\n </Form>\n );\n }}\n </Formik>\n </ModalLayout>\n );\n};\n\nModalForm.propTypes = {\n onToggle: PropTypes.func.isRequired,\n onSuccess: PropTypes.func.isRequired,\n};\n\nexport default ModalForm;\n","import React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\nimport { PageSizeURLQuery, PaginationURLQuery } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\n\nconst PaginationFooter = ({ pagination }) => {\n return (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n );\n};\n\nPaginationFooter.defaultProps = {\n pagination: {\n pageCount: 0,\n pageSize: 10,\n total: 0,\n },\n};\n\nPaginationFooter.propTypes = {\n pagination: PropTypes.shape({\n page: PropTypes.number,\n pageCount: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n }),\n};\n\nexport default PaginationFooter;\n","const displayedFilters = [\n {\n name: 'firstname',\n metadatas: { label: 'Firstname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'lastname',\n metadatas: { label: 'Lastname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'email',\n metadatas: { label: 'Email' },\n fieldSchema: { type: 'email' },\n },\n {\n name: 'username',\n metadatas: { label: 'Username' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'isActive',\n metadatas: { label: 'Active user' },\n fieldSchema: { type: 'boolean' },\n },\n];\n\nexport default displayedFilters;\n","import React from 'react';\n\nimport { Flex, Typography } from '@strapi/design-system';\nimport { Status } from '@strapi/helper-plugin';\n\nconst tableHeaders = [\n {\n name: 'firstname',\n key: 'firstname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n },\n {\n name: 'lastname',\n key: 'lastname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n },\n {\n key: 'email',\n name: 'email',\n metadatas: {\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n },\n {\n key: 'roles',\n name: 'roles',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n },\n cellFormatter({ roles }, { formatMessage }) {\n return (\n <Typography textColor=\"neutral800\">\n {roles\n .map((role) =>\n formatMessage({\n id: `Settings.permissions.users.${role.code}`,\n defaultMessage: role.name,\n })\n )\n .join(',\\n')}\n </Typography>\n );\n },\n },\n {\n key: 'username',\n name: 'username',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n },\n {\n key: 'isActive',\n name: 'isActive',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n },\n cellFormatter({ isActive }, { formatMessage }) {\n return (\n <Flex>\n <Status isActive={isActive} variant={isActive ? 'success' : 'danger'} />\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: isActive\n ? 'Settings.permissions.users.active'\n : 'Settings.permissions.users.inactive',\n defaultMessage: isActive ? 'Active' : 'Inactive',\n })}\n </Typography>\n </Flex>\n );\n },\n },\n];\n\nexport default tableHeaders;\n","import React, { useState } from 'react';\n\nimport { ActionLayout, ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n DynamicTable,\n NoPermissions,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../hooks/useAdminUsers';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport Filters from '../../../components/Filters';\n\nimport { CreateActionCE } from './CreateAction';\nimport TableRows from './DynamicTable/TableRows';\nimport ModalForm from './ModalForm';\nimport PaginationFooter from './PaginationFooter';\nimport displayedFilters from './utils/displayedFilters';\nimport tableHeaders from './utils/tableHeaders';\n\nconst EE_LICENSE_LIMIT_QUERY_KEY = ['ee', 'license-limit-info'];\n\nexport const UserListPageCE = () => {\n const { post } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = useState(false);\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings.users);\n const queryClient = useQueryClient();\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n useFocusWhenNavigate();\n const {\n users,\n pagination,\n isError,\n isLoading,\n refetch: refetchAdminUsers,\n } = useAdminUsers(qs.parse(search, { ignoreQueryPrefix: true }), {\n cacheTime: 0,\n enabled: canRead,\n });\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction'\n )\n ).CreateActionEE\n );\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const deleteAllMutation = useMutation(\n async (ids) => {\n await post('/admin/users/batch-delete', { ids });\n },\n {\n async onSuccess() {\n await refetchAdminUsers();\n\n // Toggle enabled/ disabled state on the invite button\n await queryClient.refetchQueries(EE_LICENSE_LIMIT_QUERY_KEY);\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n message: formatAPIError(error),\n defaultMessage: 'An error occured',\n },\n });\n },\n }\n );\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Users\" />\n <HeaderLayout\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n {canRead && (\n <ActionLayout\n startActions={\n <>\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n <Filters displayedFilters={displayedFilters} />\n </>\n }\n />\n )}\n\n <ContentLayout canRead={canRead}>\n {!canRead && <NoPermissions />}\n {/* TODO: Replace error message with something better */}\n {isError && <div>TODO: An error occurred</div>}\n {canRead && (\n <>\n <DynamicTable\n contentType=\"Users\"\n isLoading={isLoading}\n onConfirmDeleteAll={deleteAllMutation.mutateAsync}\n onConfirmDelete={(id) => deleteAllMutation.mutateAsync([id])}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n >\n <TableRows\n canDelete={canDelete}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n />\n </DynamicTable>\n\n {pagination && <PaginationFooter pagination={pagination} />}\n </>\n )}\n </ContentLayout>\n {isModalOpened && (\n <ModalForm\n onSuccess={async () => {\n await refetchAdminUsers();\n await queryClient.refetchQueries(EE_LICENSE_LIMIT_QUERY_KEY);\n }}\n onToggle={handleToggle}\n />\n )}\n </Main>\n );\n};\n\n// component which determines whether this page should render the CE or EE page\nconst UsersListPageSwitch = () => {\n const UsersListPage = useEnterprise(\n UserListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\nexport default UsersListPageSwitch;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListPage from '../ListPage';\n\nconst ProtectedListPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings.users.main}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedListPage;\n"],"names":["useIntl","jsx","Button","Envelop","PropTypes","useHistory","Tbody","jsxs","Tr","onRowClick","Td","stopPropagation","BaseCheckbox","getFullName","Typography","Flex","IconButton","Pencil","Box","Trash","yup","translatedErrors","useState","useNotification","useOverlayBlocker","useFetchClient","useEnterprise","MagicLinkCE","useMutation","ModalLayout","ModalHeader","Breadcrumbs","Crumb","Formik","Form","ModalBody","Grid","GridItem","GenericInput","SelectRoles","ModalFooter","PageSizeURLQuery","PaginationURLQuery","Status","useAPIErrorHandler","useSelector","selectAdminPermissions","useRBAC","useQueryClient","useLocation","useFocusWhenNavigate","useAdminUsers","qs","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Fragment","SearchURLQuery","Filters","ContentLayout","NoPermissions","DynamicTable","CheckPagePermissions","ListPage"],"mappings":"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"}
1
+ {"version":3,"file":"index-345c0ae9.js","sources":["../../admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/utils/displayedFilters.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/Users/ListPage/index.js","../../admin/src/pages/SettingsPage/pages/Users/ProtectedListPage/index.js"],"sourcesContent":["import React from 'react';\n\nimport { Button } from '@strapi/design-system';\nimport { Envelop } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nexport const CreateActionCE = ({ onClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Button onClick={onClick} startIcon={<Envelop />} size=\"S\">\n {formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n })}\n </Button>\n );\n};\n\nCreateActionCE.propTypes = {\n onClick: PropTypes.func.isRequired,\n};\n","import React from 'react';\n\nimport {\n BaseCheckbox,\n Box,\n Flex,\n IconButton,\n Tbody,\n Td,\n Tr,\n Typography,\n} from '@strapi/design-system';\nimport { onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Pencil, Trash } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useHistory } from 'react-router-dom';\n\nimport { getFullName } from '../../../../../../../utils/getFullName';\n\nconst TableRows = ({\n canDelete,\n headers,\n entriesToDelete,\n onClickDelete,\n onSelectRow,\n withMainAction,\n withBulkActions,\n rows,\n}) => {\n const {\n push,\n location: { pathname },\n } = useHistory();\n const { formatMessage } = useIntl();\n\n return (\n <Tbody>\n {rows.map((data) => {\n const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1;\n\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => push(`${pathname}/${data.id}`),\n condition: withBulkActions,\n })}\n >\n {withMainAction && (\n <Td {...stopPropagation}>\n <BaseCheckbox\n aria-label={formatMessage(\n {\n id: 'app.component.table.select.one-entry',\n defaultMessage: `Select {target}`,\n },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n checked={isChecked}\n onChange={() => {\n onSelectRow({ name: data.id, value: !isChecked });\n }}\n />\n </Td>\n )}\n {headers.map(({ key, cellFormatter, name, ...rest }) => {\n return (\n <Td key={key}>\n {typeof cellFormatter === 'function' ? (\n cellFormatter(data, { key, name, formatMessage, ...rest })\n ) : (\n <Typography textColor=\"neutral800\">{data[name] || '-'}</Typography>\n )}\n </Td>\n );\n })}\n\n {withBulkActions && (\n <Td>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => push(`${pathname}/${data.id}`)}\n label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n noBorder\n icon={<Pencil />}\n />\n\n {canDelete && (\n <Box paddingLeft={1} {...stopPropagation}>\n <IconButton\n onClick={() => onClickDelete(data.id)}\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: getFullName(data.firstname, data.lastname) }\n )}\n noBorder\n icon={<Trash />}\n />\n </Box>\n )}\n </Flex>\n </Td>\n )}\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nTableRows.defaultProps = {\n canDelete: false,\n entriesToDelete: [],\n onClickDelete() {},\n onSelectRow() {},\n rows: [],\n withBulkActions: false,\n withMainAction: false,\n};\n\nTableRows.propTypes = {\n canDelete: PropTypes.bool,\n entriesToDelete: PropTypes.array,\n headers: PropTypes.array.isRequired,\n onClickDelete: PropTypes.func,\n onSelectRow: PropTypes.func,\n rows: PropTypes.array,\n withBulkActions: PropTypes.bool,\n withMainAction: PropTypes.bool,\n};\n\nexport default TableRows;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nexport const FORM_INITIAL_VALUES = {\n firstname: '',\n lastname: '',\n email: '',\n roles: [],\n};\n\nexport const ROLE_LAYOUT = [];\n\nexport const FORM_LAYOUT = [\n [\n {\n intlLabel: {\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n },\n name: 'firstname',\n placeholder: {\n id: 'Auth.form.firstname.placeholder',\n defaultMessage: 'e.g. Kai',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n {\n intlLabel: {\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n },\n name: 'lastname',\n placeholder: {\n id: 'Auth.form.lastname.placeholder',\n defaultMessage: 'e.g. Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n },\n name: 'email',\n placeholder: {\n id: 'Auth.form.email.placeholder',\n defaultMessage: 'e.g. kai.doe@strapi.io',\n },\n type: 'email',\n size: {\n col: 6,\n xs: 12,\n },\n required: true,\n },\n ],\n];\n\nexport const FORM_SCHEMA = yup.object().shape({\n firstname: yup.string().trim().required(translatedErrors.required),\n lastname: yup.string(),\n email: yup.string().email(translatedErrors.email).required(translatedErrors.required),\n roles: yup.array().min(1, translatedErrors.required).required(translatedErrors.required),\n});\n\nexport const STEPPER = {\n create: {\n buttonSubmitLabel: {\n id: 'app.containers.Users.ModalForm.footer.button-success',\n defaultMessage: 'Invite user',\n },\n isDisabled: false,\n next: 'magic-link',\n },\n 'magic-link': {\n buttonSubmitLabel: { id: 'global.finish', defaultMessage: 'Finish' },\n isDisabled: true,\n next: null,\n },\n};\n","import React, { useState } from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport {\n Form,\n GenericInput,\n useFetchClient,\n useNotification,\n useOverlayBlocker,\n} from '@strapi/helper-plugin';\nimport { Formik } from 'formik';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useEnterprise } from '../../../../../../hooks/useEnterprise';\nimport { MagicLinkCE } from '../../components/MagicLink';\nimport SelectRoles from '../../components/SelectRoles';\n\nimport { FORM_LAYOUT, FORM_SCHEMA, FORM_INITIAL_VALUES, ROLE_LAYOUT, STEPPER } from './constants';\n\nconst ModalForm = ({ onSuccess, onToggle }) => {\n const [currentStep, setStep] = useState('create');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [registrationToken, setRegistrationToken] = useState(null);\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { post } = useFetchClient();\n const roleLayout = useEnterprise(\n ROLE_LAYOUT,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants'\n )\n ).ROLE_LAYOUT,\n {\n combine(ceRoles, eeRoles) {\n return [...ceRoles, eeRoles];\n },\n\n defaultValue: [],\n }\n );\n const initialValues = useEnterprise(\n FORM_INITIAL_VALUES,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants'\n )\n ).FORM_INITIAL_VALUES,\n {\n combine(ceValues, eeValues) {\n return {\n ...ceValues,\n ...eeValues,\n };\n },\n\n defaultValue: FORM_INITIAL_VALUES,\n }\n );\n const MagicLink = useEnterprise(\n MagicLinkCE,\n async () =>\n (\n await import(\n '../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLink'\n )\n ).MagicLinkEE\n );\n const postMutation = useMutation(\n (body) => {\n return post('/admin/users', body);\n },\n {\n async onSuccess({ data }) {\n setRegistrationToken(data.data.registrationToken);\n\n await onSuccess();\n\n goNext();\n setIsSubmitting(false);\n },\n onError(err) {\n setIsSubmitting(false);\n\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n\n throw err;\n },\n onSettled() {\n unlockApp();\n },\n }\n );\n\n const headerTitle = formatMessage({\n id: 'Settings.permissions.users.create',\n defaultMessage: 'Invite new user',\n });\n\n const handleSubmit = async (body, { setErrors }) => {\n lockApp();\n setIsSubmitting(true);\n try {\n await postMutation.mutateAsync(body);\n } catch (err) {\n unlockApp();\n\n if (err?.response?.data?.error.message === 'Email already taken') {\n setErrors({ email: err.response.data.error.message });\n }\n }\n };\n\n const goNext = () => {\n if (next) {\n setStep(next);\n } else {\n onToggle();\n }\n };\n\n const { buttonSubmitLabel, isDisabled, next } = STEPPER[currentStep];\n const endActions =\n currentStep === 'create' ? (\n <Button type=\"submit\" loading={isSubmitting}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n ) : (\n <Button type=\"button\" loading={isSubmitting} onClick={onToggle}>\n {formatMessage(buttonSubmitLabel)}\n </Button>\n );\n\n // block rendering until the EE component is fully loaded\n if (!MagicLink) {\n return null;\n }\n\n return (\n <ModalLayout onClose={onToggle} labelledBy=\"title\">\n <ModalHeader>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={headerTitle}>\n <Crumb isCurrent>{headerTitle}</Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Formik\n enableReinitialize\n initialValues={initialValues}\n onSubmit={handleSubmit}\n validationSchema={FORM_SCHEMA}\n validateOnChange={false}\n >\n {({ errors, handleChange, values }) => {\n return (\n <Form>\n <ModalBody>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {currentStep !== 'create' && <MagicLink registrationToken={registrationToken} />}\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'User details',\n })}\n </Typography>\n <Box paddingTop={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid gap={5}>\n {FORM_LAYOUT.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n error={errors[input.name]}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Flex>\n </Box>\n </Box>\n <Box>\n <Typography variant=\"beta\" as=\"h2\">\n {formatMessage({\n id: 'global.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Box paddingTop={4}>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={isDisabled}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles}\n />\n </GridItem>\n {roleLayout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={isDisabled}\n onChange={handleChange}\n value={values[input.name]}\n />\n </GridItem>\n );\n });\n })}\n </Grid>\n </Box>\n </Box>\n </Flex>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n }\n endActions={endActions}\n />\n </Form>\n );\n }}\n </Formik>\n </ModalLayout>\n );\n};\n\nModalForm.propTypes = {\n onToggle: PropTypes.func.isRequired,\n onSuccess: PropTypes.func.isRequired,\n};\n\nexport default ModalForm;\n","import React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\nimport { PageSizeURLQuery, PaginationURLQuery } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\n\nconst PaginationFooter = ({ pagination }) => {\n return (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n );\n};\n\nPaginationFooter.defaultProps = {\n pagination: {\n pageCount: 0,\n pageSize: 10,\n total: 0,\n },\n};\n\nPaginationFooter.propTypes = {\n pagination: PropTypes.shape({\n page: PropTypes.number,\n pageCount: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n }),\n};\n\nexport default PaginationFooter;\n","const displayedFilters = [\n {\n name: 'firstname',\n metadatas: { label: 'Firstname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'lastname',\n metadatas: { label: 'Lastname' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'email',\n metadatas: { label: 'Email' },\n fieldSchema: { type: 'email' },\n },\n {\n name: 'username',\n metadatas: { label: 'Username' },\n fieldSchema: { type: 'string' },\n },\n {\n name: 'isActive',\n metadatas: { label: 'Active user' },\n fieldSchema: { type: 'boolean' },\n },\n];\n\nexport default displayedFilters;\n","import React from 'react';\n\nimport { Flex, Typography } from '@strapi/design-system';\nimport { Status } from '@strapi/helper-plugin';\n\nconst tableHeaders = [\n {\n name: 'firstname',\n key: 'firstname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.firstname',\n defaultMessage: 'Firstname',\n },\n sortable: true,\n },\n },\n {\n name: 'lastname',\n key: 'lastname',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.lastname',\n defaultMessage: 'Lastname',\n },\n sortable: true,\n },\n },\n {\n key: 'email',\n name: 'email',\n metadatas: {\n label: { id: 'Settings.permissions.users.email', defaultMessage: 'Email' },\n sortable: true,\n },\n },\n {\n key: 'roles',\n name: 'roles',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.roles',\n defaultMessage: 'Roles',\n },\n sortable: false,\n },\n cellFormatter({ roles }, { formatMessage }) {\n return (\n <Typography textColor=\"neutral800\">\n {roles\n .map((role) =>\n formatMessage({\n id: `Settings.permissions.users.${role.code}`,\n defaultMessage: role.name,\n })\n )\n .join(',\\n')}\n </Typography>\n );\n },\n },\n {\n key: 'username',\n name: 'username',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.username',\n defaultMessage: 'Username',\n },\n sortable: true,\n },\n },\n {\n key: 'isActive',\n name: 'isActive',\n metadatas: {\n label: {\n id: 'Settings.permissions.users.user-status',\n defaultMessage: 'User status',\n },\n sortable: false,\n },\n cellFormatter({ isActive }, { formatMessage }) {\n return (\n <Flex>\n <Status isActive={isActive} variant={isActive ? 'success' : 'danger'} />\n <Typography textColor=\"neutral800\">\n {formatMessage({\n id: isActive\n ? 'Settings.permissions.users.active'\n : 'Settings.permissions.users.inactive',\n defaultMessage: isActive ? 'Active' : 'Inactive',\n })}\n </Typography>\n </Flex>\n );\n },\n },\n];\n\nexport default tableHeaders;\n","import React, { useState } from 'react';\n\nimport { ActionLayout, ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n DynamicTable,\n NoPermissions,\n SearchURLQuery,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../hooks/useAdminUsers';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport Filters from '../../../components/Filters';\n\nimport { CreateActionCE } from './CreateAction';\nimport TableRows from './DynamicTable/TableRows';\nimport ModalForm from './ModalForm';\nimport PaginationFooter from './PaginationFooter';\nimport displayedFilters from './utils/displayedFilters';\nimport tableHeaders from './utils/tableHeaders';\n\nconst EE_LICENSE_LIMIT_QUERY_KEY = ['ee', 'license-limit-info'];\n\nexport const UserListPageCE = () => {\n const { post } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const [isModalOpened, setIsModalOpen] = useState(false);\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canRead },\n } = useRBAC(permissions.settings.users);\n const queryClient = useQueryClient();\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { search } = useLocation();\n useFocusWhenNavigate();\n const {\n users,\n pagination,\n isError,\n isLoading,\n refetch: refetchAdminUsers,\n } = useAdminUsers(qs.parse(search, { ignoreQueryPrefix: true }), {\n cacheTime: 0,\n enabled: canRead,\n });\n const CreateAction = useEnterprise(\n CreateActionCE,\n async () =>\n (\n await import(\n '../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction'\n )\n ).CreateActionEE\n );\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const title = formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n });\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const deleteAllMutation = useMutation(\n async (ids) => {\n await post('/admin/users/batch-delete', { ids });\n },\n {\n async onSuccess() {\n await refetchAdminUsers();\n\n // Toggle enabled/ disabled state on the invite button\n await queryClient.refetchQueries(EE_LICENSE_LIMIT_QUERY_KEY);\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error',\n message: formatAPIError(error),\n defaultMessage: 'An error occured',\n },\n });\n },\n }\n );\n\n // block rendering until the EE component is fully loaded\n if (!CreateAction) {\n return null;\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Users\" />\n <HeaderLayout\n primaryAction={canCreate && <CreateAction onClick={handleToggle} />}\n title={title}\n subtitle={formatMessage({\n id: 'Settings.permissions.users.listview.header.subtitle',\n defaultMessage: 'All the users who have access to the Strapi admin panel',\n })}\n />\n {canRead && (\n <ActionLayout\n startActions={\n <>\n <SearchURLQuery\n label={formatMessage(\n { id: 'app.component.search.label', defaultMessage: 'Search for {target}' },\n { target: title }\n )}\n />\n <Filters displayedFilters={displayedFilters} />\n </>\n }\n />\n )}\n\n <ContentLayout canRead={canRead}>\n {!canRead && <NoPermissions />}\n {/* TODO: Replace error message with something better */}\n {isError && <div>TODO: An error occurred</div>}\n {canRead && (\n <>\n <DynamicTable\n contentType=\"Users\"\n isLoading={isLoading}\n onConfirmDeleteAll={deleteAllMutation.mutateAsync}\n onConfirmDelete={(id) => deleteAllMutation.mutateAsync([id])}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n >\n <TableRows\n canDelete={canDelete}\n headers={headers}\n rows={users}\n withBulkActions\n withMainAction={canDelete}\n />\n </DynamicTable>\n\n {pagination && <PaginationFooter pagination={pagination} />}\n </>\n )}\n </ContentLayout>\n {isModalOpened && (\n <ModalForm\n onSuccess={async () => {\n await refetchAdminUsers();\n await queryClient.refetchQueries(EE_LICENSE_LIMIT_QUERY_KEY);\n }}\n onToggle={handleToggle}\n />\n )}\n </Main>\n );\n};\n\n// component which determines whether this page should render the CE or EE page\nconst UsersListPageSwitch = () => {\n const UsersListPage = useEnterprise(\n UserListPageCE,\n async () =>\n // eslint-disable-next-line import/no-cycle\n (await import('../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/ListPage'))\n .UserListPageEE\n );\n\n // block rendering until the EE component is fully loaded\n if (!UsersListPage) {\n return null;\n }\n\n return <UsersListPage />;\n};\n\nexport default UsersListPageSwitch;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListPage from '../ListPage';\n\nconst ProtectedListPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings.users.main}>\n <ListPage />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedListPage;\n"],"names":["useIntl","jsx","Button","Envelop","PropTypes","useHistory","Tbody","jsxs","Tr","onRowClick","Td","stopPropagation","BaseCheckbox","getFullName","Typography","Flex","IconButton","Pencil","Box","Trash","yup","translatedErrors","useState","useNotification","useOverlayBlocker","useFetchClient","useEnterprise","MagicLinkCE","useMutation","ModalLayout","ModalHeader","Breadcrumbs","Crumb","Formik","Form","ModalBody","Grid","GridItem","GenericInput","SelectRoles","ModalFooter","PageSizeURLQuery","PaginationURLQuery","Status","useAPIErrorHandler","useSelector","selectAdminPermissions","useRBAC","useQueryClient","useLocation","useFocusWhenNavigate","useAdminUsers","qs","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Fragment","SearchURLQuery","Filters","ContentLayout","NoPermissions","DynamicTable","CheckPagePermissions","ListPage"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useFocusWhenNavigate, useNotification, useRBAC, useTracking, useGuidedTour, useFetchClient, SettingsPageTitle, LinkButton, NoPermissions, NoContent, CheckPagePermissions } from "@strapi/helper-plugin";
3
3
  import { useSelector } from "react-redux";
4
- import { s as selectAdminPermissions } from "./AuthenticatedApp-1e10546a.mjs";
4
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-da1595e9.mjs";
5
5
  import { useRef, useEffect } from "react";
6
6
  import { Main, HeaderLayout, ContentLayout } from "@strapi/design-system";
7
7
  import { Plus } from "@strapi/icons";
@@ -13,7 +13,7 @@ import { T as TRANSFER_TOKEN_TYPE } from "./constants-d3dd8ed6.mjs";
13
13
  import { T as Table } from "./index-eb67694f.mjs";
14
14
  import "semver/functions/lt";
15
15
  import "semver/functions/valid";
16
- import "./index-83133812.mjs";
16
+ import "./index-b6ee936b.mjs";
17
17
  import "react-dom/client";
18
18
  import "invariant";
19
19
  import "lodash/isFunction";
@@ -267,4 +267,4 @@ const ProtectedTransferTokenListView = () => {
267
267
  export {
268
268
  ProtectedTransferTokenListView as default
269
269
  };
270
- //# sourceMappingURL=index-5a15fb17.mjs.map
270
+ //# sourceMappingURL=index-3c693658.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-5a15fb17.mjs","sources":["../../admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js"],"sourcesContent":["const tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport default tableHeaders;\n","import React, { useEffect, useRef } from 'react';\n\nimport { ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LinkButton,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { TRANSFER_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport Table from '../../../components/Tokens/Table';\n\nimport tableHeaders from './utils/tableHeaders';\n\nconst TransferTokenListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions.settings['transfer-tokens']);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n\n const { startSection } = useGuidedTour();\n const startSectionRef = useRef(startSection);\n const { get, del } = useFetchClient();\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('transferTokens');\n }\n }, []);\n\n useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens,\n status,\n isFetching,\n refetch,\n } = useQuery(\n ['transfer-tokens'],\n async () => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n const {\n data: { data },\n } = await get(`/admin/transfer/tokens`);\n\n trackUsage('didAccessTokenList', { number: data.length, tokenType: TRANSFER_TOKEN_TYPE });\n\n return data;\n },\n {\n enabled: canRead,\n onError(err) {\n if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const isLoading =\n canRead &&\n ((status !== 'success' && status !== 'error') || (status === 'success' && isFetching));\n\n const deleteMutation = useMutation(\n async (id) => {\n await del(`/admin/transfer/tokens/${id}`);\n },\n {\n async onSuccess() {\n await refetch(['transfer-tokens']);\n },\n onError(err) {\n if (err?.response?.data?.data) {\n toggleNotification({ type: 'warning', message: err.response.data.data });\n } else if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const hasTransferTokens = transferTokens && transferTokens?.length > 0;\n const shouldDisplayDynamicTable = canRead && hasTransferTokens;\n const shouldDisplayNoContent = canRead && !hasTransferTokens && !canCreate;\n const shouldDisplayNoContentWithCreationButton = canRead && !hasTransferTokens && canCreate;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {shouldDisplayDynamicTable && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n rows={transferTokens}\n isLoading={isLoading}\n onConfirmDelete={(id) => deleteMutation.mutateAsync(id)}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {shouldDisplayNoContentWithCreationButton && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {shouldDisplayNoContent && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport default TransferTokenListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListView from '../ListView';\n\nconst ProtectedTransferTokenListView = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings['transfer-tokens'].main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedTransferTokenListView;\n"],"names":["qs","ListView"],"mappings":"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"}
1
+ {"version":3,"file":"index-3c693658.mjs","sources":["../../admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js"],"sourcesContent":["const tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.tokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport default tableHeaders;\n","import React, { useEffect, useRef } from 'react';\n\nimport { ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LinkButton,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { TRANSFER_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport Table from '../../../components/Tokens/Table';\n\nimport tableHeaders from './utils/tableHeaders';\n\nconst TransferTokenListView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions.settings['transfer-tokens']);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n\n const { startSection } = useGuidedTour();\n const startSectionRef = useRef(startSection);\n const { get, del } = useFetchClient();\n\n useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('transferTokens');\n }\n }, []);\n\n useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const {\n data: transferTokens,\n status,\n isFetching,\n refetch,\n } = useQuery(\n ['transfer-tokens'],\n async () => {\n trackUsage('willAccessTokenList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n const {\n data: { data },\n } = await get(`/admin/transfer/tokens`);\n\n trackUsage('didAccessTokenList', { number: data.length, tokenType: TRANSFER_TOKEN_TYPE });\n\n return data;\n },\n {\n enabled: canRead,\n onError(err) {\n if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const isLoading =\n canRead &&\n ((status !== 'success' && status !== 'error') || (status === 'success' && isFetching));\n\n const deleteMutation = useMutation(\n async (id) => {\n await del(`/admin/transfer/tokens/${id}`);\n },\n {\n async onSuccess() {\n await refetch(['transfer-tokens']);\n },\n onError(err) {\n if (err?.response?.data?.data) {\n toggleNotification({ type: 'warning', message: err.response.data.data });\n } else if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const hasTransferTokens = transferTokens && transferTokens?.length > 0;\n const shouldDisplayDynamicTable = canRead && hasTransferTokens;\n const shouldDisplayNoContent = canRead && !hasTransferTokens && !canCreate;\n const shouldDisplayNoContentWithCreationButton = canRead && !hasTransferTokens && canCreate;\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.transferTokens.title',\n defaultMessage: 'Transfer Tokens',\n })}\n subtitle={formatMessage({\n id: 'Settings.transferTokens.description',\n defaultMessage: '\"List of generated transfer tokens\"', // TODO change this message\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n data-testid=\"create-transfer-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n })\n }\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.create',\n defaultMessage: 'Create new Transfer Token',\n })}\n </LinkButton>\n ) : undefined\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {shouldDisplayDynamicTable && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"trasfer-tokens\"\n rows={transferTokens}\n isLoading={isLoading}\n onConfirmDelete={(id) => deleteMutation.mutateAsync(id)}\n tokens={transferTokens}\n tokenType={TRANSFER_TOKEN_TYPE}\n />\n )}\n {shouldDisplayNoContentWithCreationButton && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.addFirstToken',\n defaultMessage: 'Add your first Transfer Token',\n }}\n action={\n <LinkButton\n variant=\"secondary\"\n startIcon={<Plus />}\n to=\"/settings/transfer-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.transferTokens.addNewToken',\n defaultMessage: 'Add new Transfer Token',\n })}\n </LinkButton>\n }\n />\n )}\n {shouldDisplayNoContent && (\n <NoContent\n content={{\n id: 'Settings.transferTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport default TransferTokenListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListView from '../ListView';\n\nconst ProtectedTransferTokenListView = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings['transfer-tokens'].main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedTransferTokenListView;\n"],"names":["qs","ListView"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { useIntl } from "react-intl";
7
7
  import { useQuery } from "react-query";
8
8
  import { useSelector } from "react-redux";
9
9
  import { useHistory, useRouteMatch } from "react-router-dom";
10
- import { s as selectAdminPermissions } from "./AuthenticatedApp-1e10546a.mjs";
10
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-da1595e9.mjs";
11
11
  import { f as formatAPIErrors } from "./formatAPIErrors-db6ed675.mjs";
12
12
  import { T as TRANSFER_TOKEN_TYPE } from "./constants-d3dd8ed6.mjs";
13
13
  import { T as TokenName, a as TokenDescription, L as LifeSpanInput, b as TokenTypeSelect, F as FormHead, c as TokenBox } from "./index-176cc121.mjs";
@@ -380,4 +380,4 @@ const TransferTokenCreateView = () => {
380
380
  export {
381
381
  TransferTokenCreateView as T
382
382
  };
383
- //# sourceMappingURL=index-372f70ce.mjs.map
383
+ //# sourceMappingURL=index-40495ca1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-372f70ce.mjs","sources":["../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js"],"sourcesContent":["import React from 'react';\n\nimport { Box, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport LifeSpanInput from '../../../../../components/Tokens/LifeSpanInput';\nimport TokenDescription from '../../../../../components/Tokens/TokenDescription';\nimport TokenName from '../../../../../components/Tokens/TokenName';\nimport TokenTypeSelect from '../../../../../components/Tokens/TokenTypeSelect';\n\nconst FormTransferTokenContainer = ({\n errors,\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken,\n}) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n errors={errors}\n values={values}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n errors={errors}\n values={values}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n errors={errors}\n values={values}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n values={values}\n errors={errors}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n onChange={(value) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nFormTransferTokenContainer.propTypes = {\n errors: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n lifespan: PropTypes.string,\n type: PropTypes.string,\n }),\n onChange: PropTypes.func.isRequired,\n canEditInputs: PropTypes.bool.isRequired,\n values: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n lifespan: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n type: PropTypes.string,\n }).isRequired,\n isCreating: PropTypes.bool.isRequired,\n transferToken: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n type: PropTypes.string,\n lifespan: PropTypes.string,\n name: PropTypes.string,\n accessKey: PropTypes.string,\n permissions: PropTypes.array,\n description: PropTypes.string,\n createdAt: PropTypes.string,\n }),\n};\n\nFormTransferTokenContainer.defaultProps = {\n errors: {},\n transferToken: {},\n};\n\nexport default FormTransferTokenContainer;\n","import React from 'react';\n\nimport { Button, ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LoadingIndicatorPage,\n SettingsPageTitle,\n useFocusWhenNavigate,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst LoadingView = ({ transferTokenName }) => {\n const { formatMessage } = useIntl();\n useFocusWhenNavigate();\n\n return (\n <Main aria-busy=\"true\">\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n primaryAction={\n <Button disabled startIcon={<Check />} type=\"button\" size=\"L\">\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={\n transferTokenName ||\n formatMessage({\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'Create Transfer Token',\n })\n }\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n};\n\nLoadingView.defaultProps = {\n transferTokenName: null,\n};\n\nLoadingView.propTypes = {\n transferTokenName: PropTypes.string,\n};\n\nexport default LoadingView;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n name: yup.string(translatedErrors.string).max(100).required(translatedErrors.required),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required),\n permissions: yup.string(translatedErrors.string).required(translatedErrors.required),\n});\n\nexport default schema;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { ContentLayout, Flex, Main } from '@strapi/design-system';\nimport {\n Form,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Formik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { formatAPIErrors } from '../../../../../utils/formatAPIErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport FormHead from '../../../components/Tokens/FormHead';\nimport TokenBox from '../../../components/Tokens/TokenBox';\n\nimport FormTransferTokenContainer from './components/FormTransferTokenContainer';\nimport LoadingView from './components/LoadingView';\nimport { schema } from './utils';\n\nconst MSG_ERROR_NAME_TAKEN = 'Name already taken';\n\nconst TransferTokenCreateView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const toggleNotification = useNotification();\n const history = useHistory();\n const [transferToken, setTransferToken] = useState(\n history.location.state?.transferToken.accessKey\n ? {\n ...history.location.state.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const trackUsageRef = useRef(trackUsage);\n const { setCurrentStep } = useGuidedTour();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions.settings['transfer-tokens']);\n const {\n params: { id },\n } = useRouteMatch('/settings/transfer-tokens/:id');\n const { get, post, put } = useFetchClient();\n\n const isCreating = id === 'create';\n\n const { formatAPIError } = useAPIErrorHandler();\n\n useEffect(() => {\n trackUsageRef.current(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating]);\n\n const { status } = useQuery(\n ['transfer-token', id],\n async () => {\n const {\n data: { data },\n } = await get(`/admin/transfer/tokens/${id}`);\n\n setTransferToken({\n ...data,\n });\n\n return data;\n },\n {\n enabled: !isCreating && !transferToken,\n onError(err) {\n if (err.response.data.error.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n }\n },\n }\n );\n\n const handleSubmit = async (body, actions) => {\n trackUsageRef.current(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n lockApp();\n const lifespanVal =\n body.lifespan && parseInt(body.lifespan, 10) && body.lifespan !== '0'\n ? parseInt(body.lifespan, 10)\n : null;\n\n const permissions = body.permissions.split('-');\n\n try {\n const {\n data: { data: response },\n } = isCreating\n ? await post(`/admin/transfer/tokens`, {\n ...body,\n lifespan: lifespanVal,\n permissions,\n })\n : await put(`/admin/transfer/tokens/${id}`, {\n name: body.name,\n description: body.description,\n permissions,\n });\n\n unlockApp();\n\n if (isCreating) {\n history.replace(`/settings/transfer-tokens/${response.id}`, { transferToken: response });\n setCurrentStep('transferTokens.success');\n }\n setTransferToken({\n ...response,\n });\n\n toggleNotification({\n type: 'success',\n message: isCreating\n ? formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n })\n : formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsageRef.current(isCreating ? 'didCreateToken' : 'didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n } catch (err) {\n const errors = formatAPIErrors(err.response.data);\n actions.setErrors(errors);\n\n if (err?.response?.data?.error?.message === MSG_ERROR_NAME_TAKEN) {\n toggleNotification({\n type: 'warning',\n message: err.response.data.message || 'notification.error.tokennamenotunique',\n });\n } else if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: err?.response?.data?.message || 'notification.error',\n });\n }\n unlockApp();\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken && status !== 'success';\n\n if (isLoading) {\n return <LoadingView transferTokenName={transferToken?.name} />;\n }\n\n const handleErrorRegenerate = (err) => {\n if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n }\n };\n\n return (\n <Main>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={{\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan\n ? transferToken.lifespan.toString()\n : transferToken?.lifespan,\n permissions: transferToken?.permissions.join('-'),\n }}\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n backUrl=\"/settings/transfer-tokens\"\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'Create Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n onErrorRegenerate={handleErrorRegenerate}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {Boolean(transferToken?.name) && (\n <TokenBox token={transferToken?.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default TransferTokenCreateView;\n"],"names":["permissions"],"mappings":"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"}
1
+ {"version":3,"file":"index-40495ca1.mjs","sources":["../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js","../../admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js"],"sourcesContent":["import React from 'react';\n\nimport { Box, Flex, Grid, GridItem, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport LifeSpanInput from '../../../../../components/Tokens/LifeSpanInput';\nimport TokenDescription from '../../../../../components/Tokens/TokenDescription';\nimport TokenName from '../../../../../components/Tokens/TokenName';\nimport TokenTypeSelect from '../../../../../components/Tokens/TokenTypeSelect';\n\nconst FormTransferTokenContainer = ({\n errors,\n onChange,\n canEditInputs,\n isCreating,\n values,\n transferToken,\n}) => {\n const { formatMessage } = useIntl();\n\n const typeOptions = [\n {\n value: 'push',\n label: {\n id: 'Settings.transferTokens.types.push',\n defaultMessage: 'Push',\n },\n },\n {\n value: 'pull',\n label: {\n id: 'Settings.transferTokens.types.pull',\n defaultMessage: 'Pull',\n },\n },\n {\n value: 'push-pull',\n label: {\n id: 'Settings.transferTokens.types.push-pull',\n defaultMessage: 'Full Access',\n },\n },\n ];\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem key=\"name\" col={6} xs={12}>\n <TokenName\n errors={errors}\n values={values}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"description\" col={6} xs={12}>\n <TokenDescription\n errors={errors}\n values={values}\n canEditInputs={canEditInputs}\n onChange={onChange}\n />\n </GridItem>\n <GridItem key=\"lifespan\" col={6} xs={12}>\n <LifeSpanInput\n isCreating={isCreating}\n errors={errors}\n values={values}\n onChange={onChange}\n token={transferToken}\n />\n </GridItem>\n <GridItem key=\"permissions\" col={6} xs={12}>\n <TokenTypeSelect\n name=\"permissions\"\n values={values}\n errors={errors}\n label={{\n id: 'Settings.tokens.form.type',\n defaultMessage: 'Token type',\n }}\n onChange={(value) => {\n onChange({ target: { name: 'permissions', value } });\n }}\n options={typeOptions}\n canEditInputs={canEditInputs}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nFormTransferTokenContainer.propTypes = {\n errors: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n lifespan: PropTypes.string,\n type: PropTypes.string,\n }),\n onChange: PropTypes.func.isRequired,\n canEditInputs: PropTypes.bool.isRequired,\n values: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n lifespan: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n type: PropTypes.string,\n }).isRequired,\n isCreating: PropTypes.bool.isRequired,\n transferToken: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n type: PropTypes.string,\n lifespan: PropTypes.string,\n name: PropTypes.string,\n accessKey: PropTypes.string,\n permissions: PropTypes.array,\n description: PropTypes.string,\n createdAt: PropTypes.string,\n }),\n};\n\nFormTransferTokenContainer.defaultProps = {\n errors: {},\n transferToken: {},\n};\n\nexport default FormTransferTokenContainer;\n","import React from 'react';\n\nimport { Button, ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LoadingIndicatorPage,\n SettingsPageTitle,\n useFocusWhenNavigate,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst LoadingView = ({ transferTokenName }) => {\n const { formatMessage } = useIntl();\n useFocusWhenNavigate();\n\n return (\n <Main aria-busy=\"true\">\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <HeaderLayout\n primaryAction={\n <Button disabled startIcon={<Check />} type=\"button\" size=\"L\">\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={\n transferTokenName ||\n formatMessage({\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'Create Transfer Token',\n })\n }\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n};\n\nLoadingView.defaultProps = {\n transferTokenName: null,\n};\n\nLoadingView.propTypes = {\n transferTokenName: PropTypes.string,\n};\n\nexport default LoadingView;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n name: yup.string(translatedErrors.string).max(100).required(translatedErrors.required),\n description: yup.string().nullable(),\n lifespan: yup.number().integer().min(0).nullable().defined(translatedErrors.required),\n permissions: yup.string(translatedErrors.string).required(translatedErrors.required),\n});\n\nexport default schema;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { ContentLayout, Flex, Main } from '@strapi/design-system';\nimport {\n Form,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Formik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { formatAPIErrors } from '../../../../../utils/formatAPIErrors';\nimport { TRANSFER_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport FormHead from '../../../components/Tokens/FormHead';\nimport TokenBox from '../../../components/Tokens/TokenBox';\n\nimport FormTransferTokenContainer from './components/FormTransferTokenContainer';\nimport LoadingView from './components/LoadingView';\nimport { schema } from './utils';\n\nconst MSG_ERROR_NAME_TAKEN = 'Name already taken';\n\nconst TransferTokenCreateView = () => {\n useFocusWhenNavigate();\n const { formatMessage } = useIntl();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const toggleNotification = useNotification();\n const history = useHistory();\n const [transferToken, setTransferToken] = useState(\n history.location.state?.transferToken.accessKey\n ? {\n ...history.location.state.transferToken,\n }\n : null\n );\n const { trackUsage } = useTracking();\n const trackUsageRef = useRef(trackUsage);\n const { setCurrentStep } = useGuidedTour();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canUpdate, canRegenerate },\n } = useRBAC(permissions.settings['transfer-tokens']);\n const {\n params: { id },\n } = useRouteMatch('/settings/transfer-tokens/:id');\n const { get, post, put } = useFetchClient();\n\n const isCreating = id === 'create';\n\n const { formatAPIError } = useAPIErrorHandler();\n\n useEffect(() => {\n trackUsageRef.current(isCreating ? 'didAddTokenFromList' : 'didEditTokenFromList', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n }, [isCreating]);\n\n const { status } = useQuery(\n ['transfer-token', id],\n async () => {\n const {\n data: { data },\n } = await get(`/admin/transfer/tokens/${id}`);\n\n setTransferToken({\n ...data,\n });\n\n return data;\n },\n {\n enabled: !isCreating && !transferToken,\n onError(err) {\n if (err.response.data.error.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n }\n },\n }\n );\n\n const handleSubmit = async (body, actions) => {\n trackUsageRef.current(isCreating ? 'willCreateToken' : 'willEditToken', {\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n lockApp();\n const lifespanVal =\n body.lifespan && parseInt(body.lifespan, 10) && body.lifespan !== '0'\n ? parseInt(body.lifespan, 10)\n : null;\n\n const permissions = body.permissions.split('-');\n\n try {\n const {\n data: { data: response },\n } = isCreating\n ? await post(`/admin/transfer/tokens`, {\n ...body,\n lifespan: lifespanVal,\n permissions,\n })\n : await put(`/admin/transfer/tokens/${id}`, {\n name: body.name,\n description: body.description,\n permissions,\n });\n\n unlockApp();\n\n if (isCreating) {\n history.replace(`/settings/transfer-tokens/${response.id}`, { transferToken: response });\n setCurrentStep('transferTokens.success');\n }\n setTransferToken({\n ...response,\n });\n\n toggleNotification({\n type: 'success',\n message: isCreating\n ? formatMessage({\n id: 'notification.success.transfertokencreated',\n defaultMessage: 'Transfer Token successfully created',\n })\n : formatMessage({\n id: 'notification.success.transfertokenedited',\n defaultMessage: 'Transfer Token successfully edited',\n }),\n });\n\n trackUsageRef.current(isCreating ? 'didCreateToken' : 'didEditToken', {\n type: transferToken?.permissions,\n tokenType: TRANSFER_TOKEN_TYPE,\n });\n } catch (err) {\n const errors = formatAPIErrors(err.response.data);\n actions.setErrors(errors);\n\n if (err?.response?.data?.error?.message === MSG_ERROR_NAME_TAKEN) {\n toggleNotification({\n type: 'warning',\n message: err.response.data.message || 'notification.error.tokennamenotunique',\n });\n } else if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: err?.response?.data?.message || 'notification.error',\n });\n }\n unlockApp();\n }\n };\n\n const canEditInputs = (canUpdate && !isCreating) || (canCreate && isCreating);\n const isLoading = !isCreating && !transferToken && status !== 'success';\n\n if (isLoading) {\n return <LoadingView transferTokenName={transferToken?.name} />;\n }\n\n const handleErrorRegenerate = (err) => {\n if (err?.response?.data?.error?.details?.code === 'INVALID_TOKEN_SALT') {\n toggleNotification({\n type: 'warning',\n message: {\n id: 'notification.error.invalid.configuration',\n defaultMessage:\n 'You have an invalid configuration, check your server log for more information.',\n },\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n }\n };\n\n return (\n <Main>\n <SettingsPageTitle name=\"Transfer Tokens\" />\n <Formik\n validationSchema={schema}\n validateOnChange={false}\n initialValues={{\n name: transferToken?.name || '',\n description: transferToken?.description || '',\n lifespan: transferToken?.lifespan\n ? transferToken.lifespan.toString()\n : transferToken?.lifespan,\n permissions: transferToken?.permissions.join('-'),\n }}\n enableReinitialize\n onSubmit={(body, actions) => handleSubmit(body, actions)}\n >\n {({ errors, handleChange, isSubmitting, values }) => {\n return (\n <Form>\n <FormHead\n backUrl=\"/settings/transfer-tokens\"\n title={{\n id: 'Settings.transferTokens.createPage.title',\n defaultMessage: 'Create Transfer Token',\n }}\n token={transferToken}\n setToken={setTransferToken}\n canEditInputs={canEditInputs}\n canRegenerate={canRegenerate}\n isSubmitting={isSubmitting}\n regenerateUrl=\"/admin/transfer/tokens/\"\n onErrorRegenerate={handleErrorRegenerate}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {Boolean(transferToken?.name) && (\n <TokenBox token={transferToken?.accessKey} tokenType={TRANSFER_TOKEN_TYPE} />\n )}\n <FormTransferTokenContainer\n errors={errors}\n onChange={handleChange}\n canEditInputs={canEditInputs}\n isCreating={isCreating}\n values={values}\n transferToken={transferToken}\n />\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default TransferTokenCreateView;\n"],"names":["permissions"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { Link, pxToRem, useFetchClient, useAPIErrorHandler, useNotification, useTracking, useRBAC, LinkButton, onRowClick, ConfirmDialog, CheckPagePermissions } from "@strapi/helper-plugin";
3
3
  import { useSelector } from "react-redux";
4
- import { s as selectAdminPermissions } from "./AuthenticatedApp-1e10546a.mjs";
4
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-da1595e9.mjs";
5
5
  import React__default, { createElement } from "react";
6
6
  import { Flex, Loader, Table, TFooter, Thead, Tr, Th, Typography, VisuallyHidden, Tbody, Td, IconButton } from "@strapi/design-system";
7
7
  import { Plus, Pencil, Trash } from "@strapi/icons";
@@ -17,7 +17,7 @@ import { C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME } from "./constants-8092eeb5.m
17
17
  import { u as useReviewWorkflows } from "./useReviewWorkflows-9e6b8986.mjs";
18
18
  import "semver/functions/lt";
19
19
  import "semver/functions/valid";
20
- import "./index-83133812.mjs";
20
+ import "./index-b6ee936b.mjs";
21
21
  import "react-dom/client";
22
22
  import "invariant";
23
23
  import "lodash/isFunction";
@@ -305,4 +305,4 @@ function index() {
305
305
  export {
306
306
  index as default
307
307
  };
308
- //# sourceMappingURL=index-6c56f4c2.mjs.map
308
+ //# sourceMappingURL=index-40d047a8.mjs.map