@strapi/admin 4.15.5 → 4.16.0

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 (226) hide show
  1. package/dist/_chunks/{AuthenticatedApp-61dfdab8.js → AuthenticatedApp-12b0b80d.js} +23 -23
  2. package/dist/_chunks/{AuthenticatedApp-61dfdab8.js.map → AuthenticatedApp-12b0b80d.js.map} +1 -1
  3. package/dist/_chunks/{AuthenticatedApp-da1595e9.mjs → AuthenticatedApp-2b5530b9.mjs} +23 -23
  4. package/dist/_chunks/{AuthenticatedApp-da1595e9.mjs.map → AuthenticatedApp-2b5530b9.mjs.map} +1 -1
  5. package/dist/_chunks/{HomePage-48934b34.js → HomePage-3ad80266.js} +4 -4
  6. package/dist/_chunks/{HomePage-48934b34.js.map → HomePage-3ad80266.js.map} +1 -1
  7. package/dist/_chunks/{HomePage-f3052b59.js → HomePage-763d3a5f.js} +4 -4
  8. package/dist/_chunks/{HomePage-f3052b59.js.map → HomePage-763d3a5f.js.map} +1 -1
  9. package/dist/_chunks/{HomePage-2690d237.mjs → HomePage-93e2ba01.mjs} +4 -4
  10. package/dist/_chunks/{HomePage-2690d237.mjs.map → HomePage-93e2ba01.mjs.map} +1 -1
  11. package/dist/_chunks/{HomePage-3792b299.mjs → HomePage-f6a78451.mjs} +4 -4
  12. package/dist/_chunks/{HomePage-3792b299.mjs.map → HomePage-f6a78451.mjs.map} +1 -1
  13. package/dist/_chunks/{InstalledPluginsPage-3bd06321.mjs → InstalledPluginsPage-83eaebad.mjs} +3 -3
  14. package/dist/_chunks/{InstalledPluginsPage-3bd06321.mjs.map → InstalledPluginsPage-83eaebad.mjs.map} +1 -1
  15. package/dist/_chunks/{InstalledPluginsPage-da0780c1.js → InstalledPluginsPage-e3d10fcd.js} +3 -3
  16. package/dist/_chunks/{InstalledPluginsPage-da0780c1.js.map → InstalledPluginsPage-e3d10fcd.js.map} +1 -1
  17. package/dist/_chunks/{Login-ab4b47ad.js → Login-a48df094.js} +2 -2
  18. package/dist/_chunks/{Login-ab4b47ad.js.map → Login-a48df094.js.map} +1 -1
  19. package/dist/_chunks/{Login-8f68c65a.mjs → Login-e12abb16.mjs} +2 -2
  20. package/dist/_chunks/{Login-8f68c65a.mjs.map → Login-e12abb16.mjs.map} +1 -1
  21. package/dist/_chunks/{MarketplacePage-935fca72.js → MarketplacePage-193e4eca.js} +3 -3
  22. package/dist/_chunks/{MarketplacePage-935fca72.js.map → MarketplacePage-193e4eca.js.map} +1 -1
  23. package/dist/_chunks/{MarketplacePage-95af86bb.mjs → MarketplacePage-b1679fa5.mjs} +3 -3
  24. package/dist/_chunks/{MarketplacePage-95af86bb.mjs.map → MarketplacePage-b1679fa5.mjs.map} +1 -1
  25. package/dist/_chunks/{ProfilePage-20de1b54.mjs → ProfilePage-3858db75.mjs} +3 -3
  26. package/dist/_chunks/{ProfilePage-20de1b54.mjs.map → ProfilePage-3858db75.mjs.map} +1 -1
  27. package/dist/_chunks/{ProfilePage-b8b29c4d.js → ProfilePage-4a1eb00d.js} +3 -3
  28. package/dist/_chunks/{ProfilePage-b8b29c4d.js.map → ProfilePage-4a1eb00d.js.map} +1 -1
  29. package/dist/_chunks/{SalesPage-c5cbb366.js → SalesPage-4a0a68fb.js} +2 -2
  30. package/dist/_chunks/SalesPage-4a0a68fb.js.map +1 -0
  31. package/dist/_chunks/{SalesPage-c7c94c3f.mjs → SalesPage-fceedf48.mjs} +2 -2
  32. package/dist/_chunks/{SalesPage-c7c94c3f.mjs.map → SalesPage-fceedf48.mjs.map} +1 -1
  33. package/dist/_chunks/{build-92e15b93.mjs → build-1026ce7c.mjs} +2 -2
  34. package/dist/_chunks/{build-92e15b93.mjs.map → build-1026ce7c.mjs.map} +1 -1
  35. package/dist/_chunks/{build-df2f219f.js → build-d99bcc06.js} +2 -2
  36. package/dist/_chunks/{build-df2f219f.js.map → build-d99bcc06.js.map} +1 -1
  37. package/dist/_chunks/{constants-db792b94.mjs → constants-481b3914.mjs} +3 -3
  38. package/dist/_chunks/{constants-db792b94.mjs.map → constants-481b3914.mjs.map} +1 -1
  39. package/dist/_chunks/{constants-797ada28.js → constants-49d63c92.js} +6 -6
  40. package/dist/_chunks/{constants-797ada28.js.map → constants-49d63c92.js.map} +1 -1
  41. package/dist/_chunks/{constants-008a1527.js → constants-5fd54815.js} +5 -5
  42. package/dist/_chunks/{constants-008a1527.js.map → constants-5fd54815.js.map} +1 -1
  43. package/dist/_chunks/{constants-278adc05.mjs → constants-6876b155.mjs} +6 -6
  44. package/dist/_chunks/{constants-278adc05.mjs.map → constants-6876b155.mjs.map} +1 -1
  45. package/dist/_chunks/{constants-1d345364.mjs → constants-8bdc91a9.mjs} +5 -5
  46. package/dist/_chunks/{constants-1d345364.mjs.map → constants-8bdc91a9.mjs.map} +1 -1
  47. package/dist/_chunks/{constants-29d123f8.mjs → constants-b0bc030f.mjs} +2 -2
  48. package/dist/_chunks/{constants-29d123f8.mjs.map → constants-b0bc030f.mjs.map} +1 -1
  49. package/dist/_chunks/{constants-ec71917d.js → constants-dd4a9742.js} +3 -3
  50. package/dist/_chunks/{constants-ec71917d.js.map → constants-dd4a9742.js.map} +1 -1
  51. package/dist/_chunks/{constants-4be682e5.js → constants-fac0ce8c.js} +2 -2
  52. package/dist/_chunks/{constants-4be682e5.js.map → constants-fac0ce8c.js.map} +1 -1
  53. package/dist/_chunks/{develop-a46fed01.mjs → develop-72394876.mjs} +2 -2
  54. package/dist/_chunks/{develop-a46fed01.mjs.map → develop-72394876.mjs.map} +1 -1
  55. package/dist/_chunks/{develop-4d25a6e0.js → develop-da585b1e.js} +2 -2
  56. package/dist/_chunks/{develop-4d25a6e0.js.map → develop-da585b1e.js.map} +1 -1
  57. package/dist/_chunks/{index-40d047a8.mjs → index-0dcabbdd.mjs} +3 -3
  58. package/dist/_chunks/{index-40d047a8.mjs.map → index-0dcabbdd.mjs.map} +1 -1
  59. package/dist/_chunks/{index-1ebd9d8c.mjs → index-1d2a74ca.mjs} +5 -5
  60. package/dist/_chunks/{index-1ebd9d8c.mjs.map → index-1d2a74ca.mjs.map} +1 -1
  61. package/dist/_chunks/{index-f5b276a8.mjs → index-1ddec644.mjs} +21 -21
  62. package/dist/_chunks/{index-f5b276a8.mjs.map → index-1ddec644.mjs.map} +1 -1
  63. package/dist/_chunks/{index-a9625818.mjs → index-1eef7482.mjs} +5 -5
  64. package/dist/_chunks/{index-a9625818.mjs.map → index-1eef7482.mjs.map} +1 -1
  65. package/dist/_chunks/{index-834fad5c.mjs → index-20454411.mjs} +5 -5
  66. package/dist/_chunks/{index-834fad5c.mjs.map → index-20454411.mjs.map} +1 -1
  67. package/dist/_chunks/{index-40495ca1.mjs → index-296f0769.mjs} +2 -2
  68. package/dist/_chunks/{index-40495ca1.mjs.map → index-296f0769.mjs.map} +1 -1
  69. package/dist/_chunks/{index-d2b3c398.mjs → index-34233ee7.mjs} +3 -3
  70. package/dist/_chunks/{index-d2b3c398.mjs.map → index-34233ee7.mjs.map} +1 -1
  71. package/dist/_chunks/{index-924a1288.js → index-42a0b19b.js} +3 -3
  72. package/dist/_chunks/{index-924a1288.js.map → index-42a0b19b.js.map} +1 -1
  73. package/dist/_chunks/{index-dc89c18c.mjs → index-49b7e6ff.mjs} +8 -4
  74. package/dist/_chunks/index-49b7e6ff.mjs.map +1 -0
  75. package/dist/_chunks/{index-bc709e72.js → index-4ac37d7c.js} +3 -3
  76. package/dist/_chunks/{index-bc709e72.js.map → index-4ac37d7c.js.map} +1 -1
  77. package/dist/_chunks/{index-0fbbca7a.js → index-4ff0e245.js} +3 -3
  78. package/dist/_chunks/{index-0fbbca7a.js.map → index-4ff0e245.js.map} +1 -1
  79. package/dist/_chunks/{index-cbf9952d.js → index-526ea946.js} +2 -2
  80. package/dist/_chunks/{index-cbf9952d.js.map → index-526ea946.js.map} +1 -1
  81. package/dist/_chunks/{index-1932eedf.mjs → index-55f565cf.mjs} +3 -3
  82. package/dist/_chunks/{index-1932eedf.mjs.map → index-55f565cf.mjs.map} +1 -1
  83. package/dist/_chunks/{index-e34335f1.js → index-56cc01e0.js} +3 -3
  84. package/dist/_chunks/{index-e34335f1.js.map → index-56cc01e0.js.map} +1 -1
  85. package/dist/_chunks/{index-51986071.mjs → index-5d044c87.mjs} +3 -3
  86. package/dist/_chunks/{index-51986071.mjs.map → index-5d044c87.mjs.map} +1 -1
  87. package/dist/_chunks/{index-3c693658.mjs → index-5d14fd43.mjs} +3 -3
  88. package/dist/_chunks/{index-3c693658.mjs.map → index-5d14fd43.mjs.map} +1 -1
  89. package/dist/_chunks/{index-f3e7f8cc.mjs → index-5e9a93b3.mjs} +4 -4
  90. package/dist/_chunks/{index-f3e7f8cc.mjs.map → index-5e9a93b3.mjs.map} +1 -1
  91. package/dist/_chunks/{index-46c3ee85.mjs → index-60941eee.mjs} +3 -3
  92. package/dist/_chunks/{index-46c3ee85.mjs.map → index-60941eee.mjs.map} +1 -1
  93. package/dist/_chunks/{index-9c26fffe.js → index-60e19de0.js} +4 -4
  94. package/dist/_chunks/{index-9c26fffe.js.map → index-60e19de0.js.map} +1 -1
  95. package/dist/_chunks/{index-003c2cab.mjs → index-6757c461.mjs} +5 -5
  96. package/dist/_chunks/{index-003c2cab.mjs.map → index-6757c461.mjs.map} +1 -1
  97. package/dist/_chunks/{index-b42866c5.mjs → index-69dbf2cf.mjs} +2 -2
  98. package/dist/_chunks/{index-b42866c5.mjs.map → index-69dbf2cf.mjs.map} +1 -1
  99. package/dist/_chunks/{index-035f8c59.js → index-71c88425.js} +3 -3
  100. package/dist/_chunks/{index-035f8c59.js.map → index-71c88425.js.map} +1 -1
  101. package/dist/_chunks/{index-f7cf652c.js → index-74601a9b.js} +4 -4
  102. package/dist/_chunks/{index-f7cf652c.js.map → index-74601a9b.js.map} +1 -1
  103. package/dist/_chunks/{index-cc38783c.mjs → index-7e31e982.mjs} +3 -3
  104. package/dist/_chunks/{index-cc38783c.mjs.map → index-7e31e982.mjs.map} +1 -1
  105. package/dist/_chunks/{index-787a0db6.js → index-8759f1d9.js} +5 -5
  106. package/dist/_chunks/{index-787a0db6.js.map → index-8759f1d9.js.map} +1 -1
  107. package/dist/_chunks/{index-f55a69e7.mjs → index-89a1d72c.mjs} +4 -4
  108. package/dist/_chunks/{index-f55a69e7.mjs.map → index-89a1d72c.mjs.map} +1 -1
  109. package/dist/_chunks/{index-0ed05075.js → index-8b79ee6c.js} +14 -8
  110. package/dist/_chunks/{index-0ed05075.js.map → index-8b79ee6c.js.map} +1 -1
  111. package/dist/_chunks/{index-154693de.mjs → index-8c5b4bda.mjs} +3 -3
  112. package/dist/_chunks/{index-154693de.mjs.map → index-8c5b4bda.mjs.map} +1 -1
  113. package/dist/_chunks/{index-7bfab5f5.js → index-912140fa.js} +4 -4
  114. package/dist/_chunks/{index-7bfab5f5.js.map → index-912140fa.js.map} +1 -1
  115. package/dist/_chunks/{index-eebad65d.js → index-947668f7.js} +3 -3
  116. package/dist/_chunks/{index-eebad65d.js.map → index-947668f7.js.map} +1 -1
  117. package/dist/_chunks/{index-8e034257.mjs → index-95d9bcb0.mjs} +3 -3
  118. package/dist/_chunks/{index-8e034257.mjs.map → index-95d9bcb0.mjs.map} +1 -1
  119. package/dist/_chunks/{index-56b499fb.mjs → index-98221317.mjs} +5 -5
  120. package/dist/_chunks/{index-56b499fb.mjs.map → index-98221317.mjs.map} +1 -1
  121. package/dist/_chunks/{index-6797e259.mjs → index-9881aa54.mjs} +3 -3
  122. package/dist/_chunks/{index-6797e259.mjs.map → index-9881aa54.mjs.map} +1 -1
  123. package/dist/_chunks/{index-9304d6de.js → index-9d98e8b2.js} +511 -475
  124. package/dist/_chunks/index-9d98e8b2.js.map +1 -0
  125. package/dist/_chunks/{index-97a59f73.js → index-9ebd4c75.js} +4 -4
  126. package/dist/_chunks/{index-97a59f73.js.map → index-9ebd4c75.js.map} +1 -1
  127. package/dist/_chunks/{index-b6ee936b.mjs → index-9f08bcc3.mjs} +14 -8
  128. package/dist/_chunks/{index-b6ee936b.mjs.map → index-9f08bcc3.mjs.map} +1 -1
  129. package/dist/_chunks/{index-eaff38ba.js → index-a1707d3b.js} +3 -3
  130. package/dist/_chunks/{index-eaff38ba.js.map → index-a1707d3b.js.map} +1 -1
  131. package/dist/_chunks/{index-039f8e26.mjs → index-a61e2ef0.mjs} +4 -4
  132. package/dist/_chunks/{index-039f8e26.mjs.map → index-a61e2ef0.mjs.map} +1 -1
  133. package/dist/_chunks/{index-b2d4d126.js → index-a8c829e4.js} +5 -5
  134. package/dist/_chunks/{index-b2d4d126.js.map → index-a8c829e4.js.map} +1 -1
  135. package/dist/_chunks/{index-72494b79.js → index-a9574ead.js} +3 -3
  136. package/dist/_chunks/{index-72494b79.js.map → index-a9574ead.js.map} +1 -1
  137. package/dist/_chunks/{index-9118a940.mjs → index-a98002b5.mjs} +4 -4
  138. package/dist/_chunks/{index-9118a940.mjs.map → index-a98002b5.mjs.map} +1 -1
  139. package/dist/_chunks/{index-d9882c45.mjs → index-ad85a00a.mjs} +4 -4
  140. package/dist/_chunks/{index-d9882c45.mjs.map → index-ad85a00a.mjs.map} +1 -1
  141. package/dist/_chunks/{index-bde05e9e.mjs → index-b6e7426d.mjs} +3 -3
  142. package/dist/_chunks/{index-bde05e9e.mjs.map → index-b6e7426d.mjs.map} +1 -1
  143. package/dist/_chunks/{index-46138ec7.mjs → index-bcafdc00.mjs} +4 -4
  144. package/dist/_chunks/{index-46138ec7.mjs.map → index-bcafdc00.mjs.map} +1 -1
  145. package/dist/_chunks/{index-a6f1ccf6.mjs → index-bd42fb77.mjs} +6 -6
  146. package/dist/_chunks/{index-a6f1ccf6.mjs.map → index-bd42fb77.mjs.map} +1 -1
  147. package/dist/_chunks/{index-bac648de.js → index-bdb23c76.js} +5 -5
  148. package/dist/_chunks/{index-bac648de.js.map → index-bdb23c76.js.map} +1 -1
  149. package/dist/_chunks/{index-81509193.mjs → index-c0f59e46.mjs} +513 -477
  150. package/dist/_chunks/index-c0f59e46.mjs.map +1 -0
  151. package/dist/_chunks/{index-557e0c47.js → index-c8be54b1.js} +2 -2
  152. package/dist/_chunks/{index-557e0c47.js.map → index-c8be54b1.js.map} +1 -1
  153. package/dist/_chunks/{index-345c0ae9.js → index-c8f0ea8f.js} +6 -6
  154. package/dist/_chunks/{index-345c0ae9.js.map → index-c8f0ea8f.js.map} +1 -1
  155. package/dist/_chunks/{index-f7dbd21b.js → index-caa6ed37.js} +2 -2
  156. package/dist/_chunks/{index-f7dbd21b.js.map → index-caa6ed37.js.map} +1 -1
  157. package/dist/_chunks/{index-25975989.js → index-ccae5f17.js} +4 -4
  158. package/dist/_chunks/{index-25975989.js.map → index-ccae5f17.js.map} +1 -1
  159. package/dist/_chunks/{index-d5f569ab.js → index-cf24d5a0.js} +5 -5
  160. package/dist/_chunks/{index-d5f569ab.js.map → index-cf24d5a0.js.map} +1 -1
  161. package/dist/_chunks/{index-6353193a.mjs → index-d8d56664.mjs} +5 -5
  162. package/dist/_chunks/{index-6353193a.mjs.map → index-d8d56664.mjs.map} +1 -1
  163. package/dist/_chunks/{index-69d47db4.js → index-da64448f.js} +3 -3
  164. package/dist/_chunks/{index-69d47db4.js.map → index-da64448f.js.map} +1 -1
  165. package/dist/_chunks/{index-be3e5f69.mjs → index-e04aafb3.mjs} +2 -2
  166. package/dist/_chunks/{index-be3e5f69.mjs.map → index-e04aafb3.mjs.map} +1 -1
  167. package/dist/_chunks/{index-9f30a92e.js → index-e76dc085.js} +4 -4
  168. package/dist/_chunks/{index-9f30a92e.js.map → index-e76dc085.js.map} +1 -1
  169. package/dist/_chunks/{index-bfb581a2.js → index-eab05381.js} +3 -3
  170. package/dist/_chunks/{index-bfb581a2.js.map → index-eab05381.js.map} +1 -1
  171. package/dist/_chunks/{index-2b22b1a0.js → index-eb720419.js} +5 -5
  172. package/dist/_chunks/{index-2b22b1a0.js.map → index-eb720419.js.map} +1 -1
  173. package/dist/_chunks/{index-4f557234.mjs → index-ebd0c6b2.mjs} +3 -3
  174. package/dist/_chunks/{index-4f557234.mjs.map → index-ebd0c6b2.mjs.map} +1 -1
  175. package/dist/_chunks/{index-e0e235a0.js → index-ef2c6efd.js} +3 -3
  176. package/dist/_chunks/{index-e0e235a0.js.map → index-ef2c6efd.js.map} +1 -1
  177. package/dist/_chunks/{index-1f4afa21.js → index-f09ec538.js} +3 -3
  178. package/dist/_chunks/{index-1f4afa21.js.map → index-f09ec538.js.map} +1 -1
  179. package/dist/_chunks/{index-9f2d5dc8.js → index-f5a00b06.js} +3 -3
  180. package/dist/_chunks/{index-9f2d5dc8.js.map → index-f5a00b06.js.map} +1 -1
  181. package/dist/_chunks/{index-5a5b0567.js → index-f762b27d.js} +21 -21
  182. package/dist/_chunks/{index-5a5b0567.js.map → index-f762b27d.js.map} +1 -1
  183. package/dist/_chunks/{index-f52ae628.mjs → index-faf78cfd.mjs} +3 -3
  184. package/dist/_chunks/{index-f52ae628.mjs.map → index-faf78cfd.mjs.map} +1 -1
  185. package/dist/_chunks/{index-0c9fceff.js → index-ff413b1a.js} +5 -5
  186. package/dist/_chunks/{index-0c9fceff.js.map → index-ff413b1a.js.map} +1 -1
  187. package/dist/_chunks/{index-1a74fa41.js → index-ffd2f664.js} +8 -4
  188. package/dist/_chunks/index-ffd2f664.js.map +1 -0
  189. package/dist/_chunks/{ru-d43423ea.mjs → ru-9aad40c5.mjs} +91 -42
  190. package/dist/_chunks/{ru-d43423ea.mjs.map → ru-9aad40c5.mjs.map} +1 -1
  191. package/dist/_chunks/{ru-07958f09.js → ru-c0293425.js} +91 -42
  192. package/dist/_chunks/{ru-07958f09.js.map → ru-c0293425.js.map} +1 -1
  193. package/dist/_chunks/{schema-a7f695ae.mjs → schema-da392e23.mjs} +2 -2
  194. package/dist/_chunks/{schema-a7f695ae.mjs.map → schema-da392e23.mjs.map} +1 -1
  195. package/dist/_chunks/{schema-15e33d1c.js → schema-e8bfd9c4.js} +2 -2
  196. package/dist/_chunks/{schema-15e33d1c.js.map → schema-e8bfd9c4.js.map} +1 -1
  197. package/dist/_chunks/{validateWorkflow-6b5dffaf.js → validateWorkflow-34ccfb57.js} +3 -3
  198. package/dist/_chunks/{validateWorkflow-6b5dffaf.js.map → validateWorkflow-34ccfb57.js.map} +1 -1
  199. package/dist/_chunks/{validateWorkflow-2f84e76e.mjs → validateWorkflow-67154f59.mjs} +3 -3
  200. package/dist/_chunks/{validateWorkflow-2f84e76e.mjs.map → validateWorkflow-67154f59.mjs.map} +1 -1
  201. package/dist/admin/index.js +1 -1
  202. package/dist/admin/index.mjs +1 -1
  203. package/dist/admin/src/content-manager/components/BlocksInput/BlocksContent.d.ts +5 -0
  204. package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +34 -0
  205. package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +18 -0
  206. package/dist/admin/src/content-manager/components/BlocksInput/BlocksToolbar.d.ts +2 -0
  207. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useBlocksStore.d.ts +32 -0
  208. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useModifiersStore.d.ts +20 -0
  209. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withLinks.d.ts +8 -0
  210. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
  211. package/dist/admin/src/content-manager/components/BlocksInput/tests/mock-schema.d.ts +2 -0
  212. package/dist/admin/src/content-manager/components/BlocksInput/utils/links.d.ts +10 -0
  213. package/dist/admin/src/content-manager/components/BlocksInput/utils/types.d.ts +6 -0
  214. package/dist/admin/src/hooks/useAdminUsers.d.ts +3 -3
  215. package/dist/admin/src/index.d.ts +1 -0
  216. package/dist/admin/src/render.d.ts +3 -1
  217. package/dist/cli.js +1 -1
  218. package/dist/cli.mjs +1 -1
  219. package/package.json +14 -14
  220. package/server/services/__tests__/user.test.js +15 -0
  221. package/server/services/user.js +1 -4
  222. package/dist/_chunks/SalesPage-c5cbb366.js.map +0 -1
  223. package/dist/_chunks/index-1a74fa41.js.map +0 -1
  224. package/dist/_chunks/index-81509193.mjs.map +0 -1
  225. package/dist/_chunks/index-9304d6de.js.map +0 -1
  226. package/dist/_chunks/index-dc89c18c.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-bac648de.js","sources":["../../admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js","../../admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js","../../admin/src/pages/SettingsPage/pages/Users/EditPage/index.js","../../admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js"],"sourcesContent":["import { getFetchClient } from '@strapi/helper-plugin';\n\nconst putUser = async (id, body) => {\n const { put } = getFetchClient();\n\n const { data } = await put(`/admin/users/${id}`, body);\n\n return data.data;\n};\n\nexport { putUser };\n","const 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 intlLabel: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password',\n size: {\n col: 6,\n xs: 12,\n },\n autoComplete: 'new-password',\n },\n {\n intlLabel: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password',\n size: {\n col: 6,\n xs: 12,\n },\n autoComplete: 'new-password',\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'bool',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n];\n\nexport default layout;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Typography,\n} from '@strapi/design-system';\nimport {\n auth,\n Form,\n GenericInput,\n Link,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAppInfo,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n} from '@strapi/helper-plugin';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport { Formik } from 'formik';\nimport get from 'lodash/get';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../hooks/useAdminUsers';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { formatAPIErrors } from '../../../../../utils/formatAPIErrors';\nimport { getFullName } from '../../../../../utils/getFullName';\nimport { MagicLinkCE } from '../components/MagicLink';\nimport SelectRoles from '../components/SelectRoles';\nimport { editValidation } from '../utils/validations/users';\n\nimport { putUser } from './utils/api';\nimport layout from './utils/layout';\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'];\n\nconst EditPage = ({ canUpdate }) => {\n const { formatMessage } = useIntl();\n const {\n params: { id },\n } = useRouteMatch('/settings/users/:id');\n const { push } = useHistory();\n const { setUserDisplayName } = useAppInfo();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\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\n useFocusWhenNavigate();\n\n const {\n users: [user],\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n cacheTime: 0,\n\n onError(error) {\n const { status } = error.response;\n\n // Redirect the use to the homepage if is not allowed to read\n if (status === 403) {\n toggleNotification({\n type: 'info',\n message: {\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n },\n });\n\n push('/');\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const handleSubmit = async (body, actions) => {\n lockApp();\n\n try {\n const data = await putUser(id, omit(body, 'confirmPassword'));\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n const userInfos = auth.getUserInfo();\n\n // The user is updating himself\n if (id.toString() === userInfos.id.toString()) {\n auth.setUserInfo(data);\n\n const userDisplayName = get(body, 'username') || getFullName(body.firstname, body.lastname);\n\n setUserDisplayName(userDisplayName);\n }\n actions.setValues(pick(body, fieldsToPick));\n } catch (err) {\n // FIXME when API errors are ready\n const errors = formatAPIErrors(err.response.data);\n const fieldsErrors = Object.keys(errors).reduce((acc, current) => {\n acc[current] = errors[current].id;\n\n return acc;\n }, {});\n\n actions.setErrors(fieldsErrors);\n toggleNotification({\n type: 'warning',\n message: get(err, 'response.data.error.message', 'notification.error'),\n });\n }\n\n unlockApp();\n };\n\n const isLoading = isLoadingAdminUsers || !MagicLink;\n\n const headerLabel = isLoading\n ? { id: 'app.containers.Users.EditPage.header.label-loading', defaultMessage: 'Edit user' }\n : { id: 'app.containers.Users.EditPage.header.label', defaultMessage: 'Edit {name}' };\n\n const initialData = Object.keys(pick(user, fieldsToPick)).reduce((acc, current) => {\n if (current === 'roles') {\n acc[current] = (user?.roles || []).map(({ id }) => id);\n\n return acc;\n }\n\n acc[current] = user?.[current];\n\n return acc;\n }, {});\n\n const headerLabelName =\n initialData.username || getFullName(initialData.firstname, initialData.lastname);\n\n const title = formatMessage(headerLabel, { name: headerLabelName });\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n {/* TODO: translate */}\n <SettingsPageTitle name=\"Users\" />\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={title}\n navigationAction={\n <Link startIcon={<ArrowLeft />} to=\"/settings/users?pageSize=10&page=1&sort=firstname\">\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main>\n <SettingsPageTitle name=\"Users\" />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={editValidation}\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate ? true : !dirty}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={title}\n navigationAction={\n <Link\n startIcon={<ArrowLeft />}\n to=\"/settings/users?pageSize=10&page=1&sort=firstname\"\n >\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\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: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n {layout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={!canUpdate}\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 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.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={!canUpdate}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nEditPage.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n};\n\nexport default EditPage;\n","import React, { useEffect } from 'react';\n\nimport { LoadingIndicatorPage, useNotification, useRBAC } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\nimport { Redirect, useLocation } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport EditPage from '../EditPage';\n\nconst ProtectedEditPage = () => {\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n\n const memoizedPermissions = React.useMemo(\n () => ({\n read: permissions.settings.users.read,\n update: permissions.settings.users.update,\n }),\n [permissions.settings.users]\n );\n\n const {\n isLoading,\n allowedActions: { canRead, canUpdate },\n } = useRBAC(memoizedPermissions);\n const { state } = useLocation();\n const from = state?.from ?? '/';\n\n useEffect(() => {\n if (!isLoading) {\n if (!canRead && !canUpdate) {\n toggleNotification({\n type: 'info',\n message: {\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n },\n });\n }\n }\n }, [isLoading, canRead, canUpdate, toggleNotification]);\n\n if (isLoading) {\n return <LoadingIndicatorPage />;\n }\n\n if (!canRead && !canUpdate) {\n return <Redirect to={from} />;\n }\n\n return <EditPage canUpdate={canUpdate} />;\n};\n\nexport default ProtectedEditPage;\n"],"names":["getFetchClient","useIntl","useRouteMatch","useHistory","useAppInfo","useNotification","useOverlayBlocker","useEnterprise","MagicLinkCE","useFocusWhenNavigate","useAdminUsers","omit","auth","get","getFullName","pick","formatAPIErrors","id","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","Button","Check","Link","ArrowLeft","ContentLayout","LoadingIndicatorPage","Formik","editValidation","Form","Box","Flex","Typography","Grid","GridItem","GenericInput","SelectRoles","PropTypes","useSelector","selectAdminPermissions","React","useRBAC","useLocation","useEffect","Redirect"],"mappings":"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"}
1
+ {"version":3,"file":"index-bdb23c76.js","sources":["../../admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js","../../admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js","../../admin/src/pages/SettingsPage/pages/Users/EditPage/index.js","../../admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js"],"sourcesContent":["import { getFetchClient } from '@strapi/helper-plugin';\n\nconst putUser = async (id, body) => {\n const { put } = getFetchClient();\n\n const { data } = await put(`/admin/users/${id}`, body);\n\n return data.data;\n};\n\nexport { putUser };\n","const 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 intlLabel: {\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n },\n name: 'username',\n placeholder: {\n id: 'Auth.form.username.placeholder',\n defaultMessage: 'e.g. Kai_Doe',\n },\n type: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: 'global.password',\n defaultMessage: 'Password',\n },\n name: 'password',\n type: 'password',\n size: {\n col: 6,\n xs: 12,\n },\n autoComplete: 'new-password',\n },\n {\n intlLabel: {\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Password confirmation',\n },\n name: 'confirmPassword',\n type: 'password',\n size: {\n col: 6,\n xs: 12,\n },\n autoComplete: 'new-password',\n },\n ],\n [\n {\n intlLabel: {\n id: 'Auth.form.active.label',\n defaultMessage: 'Active',\n },\n name: 'isActive',\n type: 'bool',\n size: {\n col: 6,\n xs: 12,\n },\n },\n ],\n];\n\nexport default layout;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Typography,\n} from '@strapi/design-system';\nimport {\n auth,\n Form,\n GenericInput,\n Link,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAppInfo,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n} from '@strapi/helper-plugin';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport { Formik } from 'formik';\nimport get from 'lodash/get';\nimport omit from 'lodash/omit';\nimport pick from 'lodash/pick';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useHistory, useRouteMatch } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../hooks/useAdminUsers';\nimport { useEnterprise } from '../../../../../hooks/useEnterprise';\nimport { formatAPIErrors } from '../../../../../utils/formatAPIErrors';\nimport { getFullName } from '../../../../../utils/getFullName';\nimport { MagicLinkCE } from '../components/MagicLink';\nimport SelectRoles from '../components/SelectRoles';\nimport { editValidation } from '../utils/validations/users';\n\nimport { putUser } from './utils/api';\nimport layout from './utils/layout';\n\nconst fieldsToPick = ['email', 'firstname', 'lastname', 'username', 'isActive', 'roles'];\n\nconst EditPage = ({ canUpdate }) => {\n const { formatMessage } = useIntl();\n const {\n params: { id },\n } = useRouteMatch('/settings/users/:id');\n const { push } = useHistory();\n const { setUserDisplayName } = useAppInfo();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\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\n useFocusWhenNavigate();\n\n const {\n users: [user],\n isLoading: isLoadingAdminUsers,\n } = useAdminUsers(\n { id },\n {\n cacheTime: 0,\n\n onError(error) {\n const { status } = error.response;\n\n // Redirect the use to the homepage if is not allowed to read\n if (status === 403) {\n toggleNotification({\n type: 'info',\n message: {\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n },\n });\n\n push('/');\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n },\n }\n );\n\n const handleSubmit = async (body, actions) => {\n lockApp();\n\n try {\n const data = await putUser(id, omit(body, 'confirmPassword'));\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n const userInfos = auth.getUserInfo();\n\n // The user is updating himself\n if (id.toString() === userInfos.id.toString()) {\n auth.setUserInfo(data);\n\n const userDisplayName = get(body, 'username') || getFullName(body.firstname, body.lastname);\n\n setUserDisplayName(userDisplayName);\n }\n actions.setValues(pick(body, fieldsToPick));\n } catch (err) {\n // FIXME when API errors are ready\n const errors = formatAPIErrors(err.response.data);\n const fieldsErrors = Object.keys(errors).reduce((acc, current) => {\n acc[current] = errors[current].id;\n\n return acc;\n }, {});\n\n actions.setErrors(fieldsErrors);\n toggleNotification({\n type: 'warning',\n message: get(err, 'response.data.error.message', 'notification.error'),\n });\n }\n\n unlockApp();\n };\n\n const isLoading = isLoadingAdminUsers || !MagicLink;\n\n const headerLabel = isLoading\n ? { id: 'app.containers.Users.EditPage.header.label-loading', defaultMessage: 'Edit user' }\n : { id: 'app.containers.Users.EditPage.header.label', defaultMessage: 'Edit {name}' };\n\n const initialData = Object.keys(pick(user, fieldsToPick)).reduce((acc, current) => {\n if (current === 'roles') {\n acc[current] = (user?.roles || []).map(({ id }) => id);\n\n return acc;\n }\n\n acc[current] = user?.[current];\n\n return acc;\n }, {});\n\n const headerLabelName =\n initialData.username || getFullName(initialData.firstname, initialData.lastname);\n\n const title = formatMessage(headerLabel, { name: headerLabelName });\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n {/* TODO: translate */}\n <SettingsPageTitle name=\"Users\" />\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={title}\n navigationAction={\n <Link startIcon={<ArrowLeft />} to=\"/settings/users?pageSize=10&page=1&sort=firstname\">\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main>\n <SettingsPageTitle name=\"Users\" />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={editValidation}\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\n primaryAction={\n <Button\n disabled={isSubmitting || !canUpdate ? true : !dirty}\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n size=\"L\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n title={title}\n navigationAction={\n <Link\n startIcon={<ArrowLeft />}\n to=\"/settings/users?pageSize=10&page=1&sort=firstname\"\n >\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n {user?.registrationToken && (\n <Box paddingBottom={6}>\n <MagicLink registrationToken={user.registrationToken} />\n </Box>\n )}\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\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: 'app.components.Users.ModalCreateBody.block-title.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n <Grid gap={5}>\n {layout.map((row) => {\n return row.map((input) => {\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n disabled={!canUpdate}\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 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.roles',\n defaultMessage: \"User's role\",\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem col={6} xs={12}>\n <SelectRoles\n disabled={!canUpdate}\n error={errors.roles}\n onChange={handleChange}\n value={values.roles}\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n </Flex>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nEditPage.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n};\n\nexport default EditPage;\n","import React, { useEffect } from 'react';\n\nimport { LoadingIndicatorPage, useNotification, useRBAC } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\nimport { Redirect, useLocation } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport EditPage from '../EditPage';\n\nconst ProtectedEditPage = () => {\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n\n const memoizedPermissions = React.useMemo(\n () => ({\n read: permissions.settings.users.read,\n update: permissions.settings.users.update,\n }),\n [permissions.settings.users]\n );\n\n const {\n isLoading,\n allowedActions: { canRead, canUpdate },\n } = useRBAC(memoizedPermissions);\n const { state } = useLocation();\n const from = state?.from ?? '/';\n\n useEffect(() => {\n if (!isLoading) {\n if (!canRead && !canUpdate) {\n toggleNotification({\n type: 'info',\n message: {\n id: 'notification.permission.not-allowed-read',\n defaultMessage: 'You are not allowed to see this document',\n },\n });\n }\n }\n }, [isLoading, canRead, canUpdate, toggleNotification]);\n\n if (isLoading) {\n return <LoadingIndicatorPage />;\n }\n\n if (!canRead && !canUpdate) {\n return <Redirect to={from} />;\n }\n\n return <EditPage canUpdate={canUpdate} />;\n};\n\nexport default ProtectedEditPage;\n"],"names":["getFetchClient","useIntl","useRouteMatch","useHistory","useAppInfo","useNotification","useOverlayBlocker","useEnterprise","MagicLinkCE","useFocusWhenNavigate","useAdminUsers","omit","auth","get","getFullName","pick","formatAPIErrors","id","jsxs","Main","jsx","SettingsPageTitle","HeaderLayout","Button","Check","Link","ArrowLeft","ContentLayout","LoadingIndicatorPage","Formik","editValidation","Form","Box","Flex","Typography","Grid","GridItem","GenericInput","SelectRoles","PropTypes","useSelector","selectAdminPermissions","React","useRBAC","useLocation","useEffect","Redirect"],"mappings":"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"}