@strapi/admin 4.15.0 → 4.15.1

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 (1525) hide show
  1. package/dist/_chunks/AuthenticatedApp-092ef2be.js +1476 -0
  2. package/dist/_chunks/AuthenticatedApp-092ef2be.js.map +1 -0
  3. package/dist/_chunks/AuthenticatedApp-b0ada7e9.mjs +1450 -0
  4. package/dist/_chunks/AuthenticatedApp-b0ada7e9.mjs.map +1 -0
  5. package/dist/_chunks/DragLayer-bff96835.mjs +44 -0
  6. package/dist/_chunks/DragLayer-bff96835.mjs.map +1 -0
  7. package/dist/_chunks/DragLayer-f07eee6c.js +43 -0
  8. package/dist/_chunks/DragLayer-f07eee6c.js.map +1 -0
  9. package/dist/_chunks/HomePage-5798ba6f.mjs +543 -0
  10. package/dist/_chunks/HomePage-5798ba6f.mjs.map +1 -0
  11. package/dist/_chunks/HomePage-5ae473e6.js +564 -0
  12. package/dist/_chunks/HomePage-5ae473e6.js.map +1 -0
  13. package/dist/_chunks/HomePage-a3cc32d2.mjs +50 -0
  14. package/dist/_chunks/HomePage-a3cc32d2.mjs.map +1 -0
  15. package/dist/_chunks/HomePage-bdcb51be.js +50 -0
  16. package/dist/_chunks/HomePage-bdcb51be.js.map +1 -0
  17. package/dist/_chunks/InstalledPluginsPage-6284aaff.mjs +136 -0
  18. package/dist/_chunks/InstalledPluginsPage-6284aaff.mjs.map +1 -0
  19. package/dist/_chunks/InstalledPluginsPage-cc2d6a36.js +155 -0
  20. package/dist/_chunks/InstalledPluginsPage-cc2d6a36.js.map +1 -0
  21. package/dist/_chunks/InternalErrorPage-040dc993.mjs +41 -0
  22. package/dist/_chunks/InternalErrorPage-040dc993.mjs.map +1 -0
  23. package/dist/_chunks/InternalErrorPage-d0e51ac2.js +41 -0
  24. package/dist/_chunks/InternalErrorPage-d0e51ac2.js.map +1 -0
  25. package/dist/_chunks/Layout-4b3e434a.js +92 -0
  26. package/dist/_chunks/Layout-4b3e434a.js.map +1 -0
  27. package/dist/_chunks/Layout-72fa2ace.mjs +90 -0
  28. package/dist/_chunks/Layout-72fa2ace.mjs.map +1 -0
  29. package/dist/_chunks/LimitsModal-203482b8.js +84 -0
  30. package/dist/_chunks/LimitsModal-203482b8.js.map +1 -0
  31. package/dist/_chunks/LimitsModal-da04700e.mjs +82 -0
  32. package/dist/_chunks/LimitsModal-da04700e.mjs.map +1 -0
  33. package/dist/_chunks/MarketplacePage-209ec658.js +1037 -0
  34. package/dist/_chunks/MarketplacePage-209ec658.js.map +1 -0
  35. package/dist/_chunks/MarketplacePage-7dee72f5.mjs +1013 -0
  36. package/dist/_chunks/MarketplacePage-7dee72f5.mjs.map +1 -0
  37. package/dist/_chunks/ProfilePage-26c14ba4.mjs +596 -0
  38. package/dist/_chunks/ProfilePage-26c14ba4.mjs.map +1 -0
  39. package/dist/_chunks/ProfilePage-4f8c127b.js +619 -0
  40. package/dist/_chunks/ProfilePage-4f8c127b.js.map +1 -0
  41. package/dist/_chunks/SSOProviders-1d062c95.mjs +90 -0
  42. package/dist/_chunks/SSOProviders-1d062c95.mjs.map +1 -0
  43. package/dist/_chunks/SSOProviders-1ef0a89e.js +111 -0
  44. package/dist/_chunks/SSOProviders-1ef0a89e.js.map +1 -0
  45. package/dist/_chunks/SalesPage-56bf9463.mjs +48 -0
  46. package/dist/_chunks/SalesPage-56bf9463.mjs.map +1 -0
  47. package/dist/_chunks/SalesPage-66f9ea32.js +51 -0
  48. package/dist/_chunks/SalesPage-66f9ea32.js.map +1 -0
  49. package/dist/_chunks/SalesPage-c5cbb366.js +51 -0
  50. package/dist/_chunks/SalesPage-c5cbb366.js.map +1 -0
  51. package/dist/_chunks/SalesPage-c7c94c3f.mjs +51 -0
  52. package/dist/_chunks/SalesPage-c7c94c3f.mjs.map +1 -0
  53. package/dist/_chunks/SalesPage-d0cdc1a7.js +48 -0
  54. package/dist/_chunks/SalesPage-d0cdc1a7.js.map +1 -0
  55. package/dist/_chunks/SalesPage-f9597ae7.mjs +51 -0
  56. package/dist/_chunks/SalesPage-f9597ae7.mjs.map +1 -0
  57. package/dist/_chunks/ar-21279f4c.js +936 -0
  58. package/dist/_chunks/ar-21279f4c.js.map +1 -0
  59. package/dist/_chunks/ar-62e5e2b3.mjs +936 -0
  60. package/dist/_chunks/ar-62e5e2b3.mjs.map +1 -0
  61. package/dist/_chunks/build-e1ca35da.mjs +66 -0
  62. package/dist/_chunks/build-e1ca35da.mjs.map +1 -0
  63. package/dist/_chunks/build-f36bfc97.js +66 -0
  64. package/dist/_chunks/build-f36bfc97.js.map +1 -0
  65. package/dist/_chunks/ca-d05fb350.js +724 -0
  66. package/dist/_chunks/ca-d05fb350.js.map +1 -0
  67. package/dist/_chunks/ca-e99de225.mjs +724 -0
  68. package/dist/_chunks/ca-e99de225.mjs.map +1 -0
  69. package/dist/_chunks/colors-c24a54f0.js +33 -0
  70. package/dist/_chunks/colors-c24a54f0.js.map +1 -0
  71. package/dist/_chunks/colors-e7489dd4.mjs +34 -0
  72. package/dist/_chunks/colors-e7489dd4.mjs.map +1 -0
  73. package/dist/_chunks/constants-12dfb222.mjs +34 -0
  74. package/dist/_chunks/constants-12dfb222.mjs.map +1 -0
  75. package/dist/_chunks/constants-1aea1185.js +34 -0
  76. package/dist/_chunks/constants-1aea1185.js.map +1 -0
  77. package/dist/_chunks/constants-27319180.mjs +226 -0
  78. package/dist/_chunks/constants-27319180.mjs.map +1 -0
  79. package/dist/_chunks/constants-2a8f4e41.mjs +11 -0
  80. package/dist/_chunks/constants-2a8f4e41.mjs.map +1 -0
  81. package/dist/_chunks/constants-32975b2e.js +86 -0
  82. package/dist/_chunks/constants-32975b2e.js.map +1 -0
  83. package/dist/_chunks/constants-40ffa931.js +11 -0
  84. package/dist/_chunks/constants-40ffa931.js.map +1 -0
  85. package/dist/_chunks/constants-6157f648.mjs +52 -0
  86. package/dist/_chunks/constants-6157f648.mjs.map +1 -0
  87. package/dist/_chunks/constants-64899732.js +30 -0
  88. package/dist/_chunks/constants-64899732.js.map +1 -0
  89. package/dist/_chunks/constants-70e05152.js +52 -0
  90. package/dist/_chunks/constants-70e05152.js.map +1 -0
  91. package/dist/_chunks/constants-727a113c.js +82 -0
  92. package/dist/_chunks/constants-727a113c.js.map +1 -0
  93. package/dist/_chunks/constants-8092eeb5.mjs +59 -0
  94. package/dist/_chunks/constants-8092eeb5.mjs.map +1 -0
  95. package/dist/_chunks/constants-85da8cc4.js +58 -0
  96. package/dist/_chunks/constants-85da8cc4.js.map +1 -0
  97. package/dist/_chunks/constants-86aa3e70.js +85 -0
  98. package/dist/_chunks/constants-86aa3e70.js.map +1 -0
  99. package/dist/_chunks/constants-90c20a6f.mjs +86 -0
  100. package/dist/_chunks/constants-90c20a6f.mjs.map +1 -0
  101. package/dist/_chunks/constants-921eda17.mjs +83 -0
  102. package/dist/_chunks/constants-921eda17.mjs.map +1 -0
  103. package/dist/_chunks/constants-9de7641c.mjs +80 -0
  104. package/dist/_chunks/constants-9de7641c.mjs.map +1 -0
  105. package/dist/_chunks/constants-a773ff9b.js +228 -0
  106. package/dist/_chunks/constants-a773ff9b.js.map +1 -0
  107. package/dist/_chunks/constants-a92ce583.mjs +7 -0
  108. package/dist/_chunks/constants-a92ce583.mjs.map +1 -0
  109. package/dist/_chunks/constants-d3dd8ed6.mjs +7 -0
  110. package/dist/_chunks/constants-d3dd8ed6.mjs.map +1 -0
  111. package/dist/_chunks/constants-d5d67ca8.js +6 -0
  112. package/dist/_chunks/constants-d5d67ca8.js.map +1 -0
  113. package/dist/_chunks/constants-da2542a3.js +6 -0
  114. package/dist/_chunks/constants-da2542a3.js.map +1 -0
  115. package/dist/_chunks/constants-def33545.mjs +30 -0
  116. package/dist/_chunks/constants-def33545.mjs.map +1 -0
  117. package/dist/_chunks/cs-2fa881a2.mjs +291 -0
  118. package/dist/_chunks/cs-2fa881a2.mjs.map +1 -0
  119. package/dist/_chunks/cs-eee75b10.js +291 -0
  120. package/dist/_chunks/cs-eee75b10.js.map +1 -0
  121. package/dist/_chunks/de-28f8bc28.mjs +716 -0
  122. package/dist/_chunks/de-28f8bc28.mjs.map +1 -0
  123. package/dist/_chunks/de-976cc986.js +716 -0
  124. package/dist/_chunks/de-976cc986.js.map +1 -0
  125. package/dist/_chunks/develop-513c9644.js +59 -0
  126. package/dist/_chunks/develop-513c9644.js.map +1 -0
  127. package/dist/_chunks/develop-e45b460e.mjs +59 -0
  128. package/dist/_chunks/develop-e45b460e.mjs.map +1 -0
  129. package/dist/_chunks/dk-0b759a56.mjs +634 -0
  130. package/dist/_chunks/dk-0b759a56.mjs.map +1 -0
  131. package/dist/_chunks/dk-6189917e.js +634 -0
  132. package/dist/_chunks/dk-6189917e.js.map +1 -0
  133. package/dist/_chunks/edit-29bdf5d6.js +50 -0
  134. package/dist/_chunks/edit-29bdf5d6.js.map +1 -0
  135. package/dist/_chunks/edit-923cefa0.mjs +32 -0
  136. package/dist/_chunks/edit-923cefa0.mjs.map +1 -0
  137. package/dist/_chunks/en-0e9e9327.js +1022 -0
  138. package/dist/_chunks/en-0e9e9327.js.map +1 -0
  139. package/dist/_chunks/en-e728accb.mjs +1022 -0
  140. package/dist/_chunks/en-e728accb.mjs.map +1 -0
  141. package/dist/_chunks/es-18b29db2.mjs +796 -0
  142. package/dist/_chunks/es-18b29db2.mjs.map +1 -0
  143. package/dist/_chunks/es-3ee0992a.js +796 -0
  144. package/dist/_chunks/es-3ee0992a.js.map +1 -0
  145. package/dist/_chunks/eu-8fd773c2.mjs +832 -0
  146. package/dist/_chunks/eu-8fd773c2.mjs.map +1 -0
  147. package/dist/_chunks/eu-be749f31.js +832 -0
  148. package/dist/_chunks/eu-be749f31.js.map +1 -0
  149. package/dist/_chunks/fr-29c84e1f.js +762 -0
  150. package/dist/_chunks/fr-29c84e1f.js.map +1 -0
  151. package/dist/_chunks/fr-f37df086.mjs +762 -0
  152. package/dist/_chunks/fr-f37df086.mjs.map +1 -0
  153. package/dist/_chunks/gu-377a4b46.js +623 -0
  154. package/dist/_chunks/gu-377a4b46.js.map +1 -0
  155. package/dist/_chunks/gu-69f0e13a.mjs +623 -0
  156. package/dist/_chunks/gu-69f0e13a.mjs.map +1 -0
  157. package/dist/_chunks/he-aec27352.js +326 -0
  158. package/dist/_chunks/he-aec27352.js.map +1 -0
  159. package/dist/_chunks/he-bd769d7e.mjs +326 -0
  160. package/dist/_chunks/he-bd769d7e.mjs.map +1 -0
  161. package/dist/_chunks/hi-1bdc7a46.js +722 -0
  162. package/dist/_chunks/hi-1bdc7a46.js.map +1 -0
  163. package/dist/_chunks/hi-d397a24b.mjs +722 -0
  164. package/dist/_chunks/hi-d397a24b.mjs.map +1 -0
  165. package/dist/_chunks/hu-e2c05f40.js +832 -0
  166. package/dist/_chunks/hu-e2c05f40.js.map +1 -0
  167. package/dist/_chunks/hu-eb88bd0c.mjs +832 -0
  168. package/dist/_chunks/hu-eb88bd0c.mjs.map +1 -0
  169. package/dist/_chunks/id-586df3a2.js +448 -0
  170. package/dist/_chunks/id-586df3a2.js.map +1 -0
  171. package/dist/_chunks/id-f47699e6.mjs +448 -0
  172. package/dist/_chunks/id-f47699e6.mjs.map +1 -0
  173. package/dist/_chunks/index-00202c8a.mjs +126 -0
  174. package/dist/_chunks/index-00202c8a.mjs.map +1 -0
  175. package/dist/_chunks/index-066ee02e.js +127 -0
  176. package/dist/_chunks/index-066ee02e.js.map +1 -0
  177. package/dist/_chunks/index-0af587c3.js +1525 -0
  178. package/dist/_chunks/index-0af587c3.js.map +1 -0
  179. package/dist/_chunks/index-137490ba.js +69 -0
  180. package/dist/_chunks/index-137490ba.js.map +1 -0
  181. package/dist/_chunks/index-16030b74.js +134 -0
  182. package/dist/_chunks/index-16030b74.js.map +1 -0
  183. package/dist/_chunks/index-1763a04f.js +586 -0
  184. package/dist/_chunks/index-1763a04f.js.map +1 -0
  185. package/dist/_chunks/index-176cc121.mjs +469 -0
  186. package/dist/_chunks/index-176cc121.mjs.map +1 -0
  187. package/dist/_chunks/index-1b7e986c.mjs +54 -0
  188. package/dist/_chunks/index-1b7e986c.mjs.map +1 -0
  189. package/dist/_chunks/index-1da8c640.mjs +363 -0
  190. package/dist/_chunks/index-1da8c640.mjs.map +1 -0
  191. package/dist/_chunks/index-1e973c03.mjs +54 -0
  192. package/dist/_chunks/index-1e973c03.mjs.map +1 -0
  193. package/dist/_chunks/index-1f1e2465.js +340 -0
  194. package/dist/_chunks/index-1f1e2465.js.map +1 -0
  195. package/dist/_chunks/index-24189ec9.js +697 -0
  196. package/dist/_chunks/index-24189ec9.js.map +1 -0
  197. package/dist/_chunks/index-284c5926.js +432 -0
  198. package/dist/_chunks/index-284c5926.js.map +1 -0
  199. package/dist/_chunks/index-305a03f4.mjs +66 -0
  200. package/dist/_chunks/index-305a03f4.mjs.map +1 -0
  201. package/dist/_chunks/index-332f319e.mjs +127 -0
  202. package/dist/_chunks/index-332f319e.mjs.map +1 -0
  203. package/dist/_chunks/index-34a2909e.mjs +359 -0
  204. package/dist/_chunks/index-34a2909e.mjs.map +1 -0
  205. package/dist/_chunks/index-34de382e.mjs +3504 -0
  206. package/dist/_chunks/index-34de382e.mjs.map +1 -0
  207. package/dist/_chunks/index-35e4bad6.mjs +274 -0
  208. package/dist/_chunks/index-35e4bad6.mjs.map +1 -0
  209. package/dist/_chunks/index-36e0d449.mjs +406 -0
  210. package/dist/_chunks/index-36e0d449.mjs.map +1 -0
  211. package/dist/_chunks/index-370a4ee8.mjs +60 -0
  212. package/dist/_chunks/index-370a4ee8.mjs.map +1 -0
  213. package/dist/_chunks/index-38115cde.js +66 -0
  214. package/dist/_chunks/index-38115cde.js.map +1 -0
  215. package/dist/_chunks/index-3c58de6f.js +50 -0
  216. package/dist/_chunks/index-3c58de6f.js.map +1 -0
  217. package/dist/_chunks/index-4565fcbd.js +847 -0
  218. package/dist/_chunks/index-4565fcbd.js.map +1 -0
  219. package/dist/_chunks/index-48322669.mjs +132 -0
  220. package/dist/_chunks/index-48322669.mjs.map +1 -0
  221. package/dist/_chunks/index-4c5acc70.js +254 -0
  222. package/dist/_chunks/index-4c5acc70.js.map +1 -0
  223. package/dist/_chunks/index-51a15b27.js +403 -0
  224. package/dist/_chunks/index-51a15b27.js.map +1 -0
  225. package/dist/_chunks/index-52b5db8a.js +267 -0
  226. package/dist/_chunks/index-52b5db8a.js.map +1 -0
  227. package/dist/_chunks/index-53ba81f9.mjs +271 -0
  228. package/dist/_chunks/index-53ba81f9.mjs.map +1 -0
  229. package/dist/_chunks/index-56ced4ab.mjs +50 -0
  230. package/dist/_chunks/index-56ced4ab.mjs.map +1 -0
  231. package/dist/_chunks/index-5752584c.mjs +1063 -0
  232. package/dist/_chunks/index-5752584c.mjs.map +1 -0
  233. package/dist/_chunks/index-58db145d.mjs +866 -0
  234. package/dist/_chunks/index-58db145d.mjs.map +1 -0
  235. package/dist/_chunks/index-59d22949.mjs +583 -0
  236. package/dist/_chunks/index-59d22949.mjs.map +1 -0
  237. package/dist/_chunks/index-5ad8482b.mjs +412 -0
  238. package/dist/_chunks/index-5ad8482b.mjs.map +1 -0
  239. package/dist/_chunks/index-5d8d89a7.js +47 -0
  240. package/dist/_chunks/index-5d8d89a7.js.map +1 -0
  241. package/dist/_chunks/index-62b4b3fc.js +311 -0
  242. package/dist/_chunks/index-62b4b3fc.js.map +1 -0
  243. package/dist/_chunks/index-6a512cec.js +295 -0
  244. package/dist/_chunks/index-6a512cec.js.map +1 -0
  245. package/dist/_chunks/index-6b9e3d60.js +273 -0
  246. package/dist/_chunks/index-6b9e3d60.js.map +1 -0
  247. package/dist/_chunks/index-6cc54f3b.mjs +245 -0
  248. package/dist/_chunks/index-6cc54f3b.mjs.map +1 -0
  249. package/dist/_chunks/index-6dbc94a9.mjs +676 -0
  250. package/dist/_chunks/index-6dbc94a9.mjs.map +1 -0
  251. package/dist/_chunks/index-73ba6bdd.mjs +826 -0
  252. package/dist/_chunks/index-73ba6bdd.mjs.map +1 -0
  253. package/dist/_chunks/index-74812118.mjs +53 -0
  254. package/dist/_chunks/index-74812118.mjs.map +1 -0
  255. package/dist/_chunks/index-77e0e5d7.js +50 -0
  256. package/dist/_chunks/index-77e0e5d7.js.map +1 -0
  257. package/dist/_chunks/index-7aed99db.js +380 -0
  258. package/dist/_chunks/index-7aed99db.js.map +1 -0
  259. package/dist/_chunks/index-7d40adea.mjs +398 -0
  260. package/dist/_chunks/index-7d40adea.mjs.map +1 -0
  261. package/dist/_chunks/index-85069cac.mjs +233 -0
  262. package/dist/_chunks/index-85069cac.mjs.map +1 -0
  263. package/dist/_chunks/index-86dfbe3a.js +1134 -0
  264. package/dist/_chunks/index-86dfbe3a.js.map +1 -0
  265. package/dist/_chunks/index-88298941.js +54 -0
  266. package/dist/_chunks/index-88298941.js.map +1 -0
  267. package/dist/_chunks/index-89d27faa.js +54 -0
  268. package/dist/_chunks/index-89d27faa.js.map +1 -0
  269. package/dist/_chunks/index-8d4d361d.mjs +47 -0
  270. package/dist/_chunks/index-8d4d361d.mjs.map +1 -0
  271. package/dist/_chunks/index-8ea5a488.js +366 -0
  272. package/dist/_chunks/index-8ea5a488.js.map +1 -0
  273. package/dist/_chunks/index-928b18d2.mjs +383 -0
  274. package/dist/_chunks/index-928b18d2.mjs.map +1 -0
  275. package/dist/_chunks/index-973c363e.mjs +63 -0
  276. package/dist/_chunks/index-973c363e.mjs.map +1 -0
  277. package/dist/_chunks/index-a4348f3b.js +62 -0
  278. package/dist/_chunks/index-a4348f3b.js.map +1 -0
  279. package/dist/_chunks/index-acd6d64f.js +417 -0
  280. package/dist/_chunks/index-acd6d64f.js.map +1 -0
  281. package/dist/_chunks/index-af69bc98.mjs +308 -0
  282. package/dist/_chunks/index-af69bc98.mjs.map +1 -0
  283. package/dist/_chunks/index-b2257157.js +15328 -0
  284. package/dist/_chunks/index-b2257157.js.map +1 -0
  285. package/dist/_chunks/index-b81f7273.mjs +1501 -0
  286. package/dist/_chunks/index-b81f7273.mjs.map +1 -0
  287. package/dist/_chunks/index-b98ea3ce.mjs +52 -0
  288. package/dist/_chunks/index-b98ea3ce.mjs.map +1 -0
  289. package/dist/_chunks/index-bb8093ea.mjs +314 -0
  290. package/dist/_chunks/index-bb8093ea.mjs.map +1 -0
  291. package/dist/_chunks/index-bdfc1149.mjs +15247 -0
  292. package/dist/_chunks/index-bdfc1149.mjs.map +1 -0
  293. package/dist/_chunks/index-be2ca313.mjs +47 -0
  294. package/dist/_chunks/index-be2ca313.mjs.map +1 -0
  295. package/dist/_chunks/index-c604806d.js +335 -0
  296. package/dist/_chunks/index-c604806d.js.map +1 -0
  297. package/dist/_chunks/index-cadd3ee0.js +873 -0
  298. package/dist/_chunks/index-cadd3ee0.js.map +1 -0
  299. package/dist/_chunks/index-d1620260.js +52 -0
  300. package/dist/_chunks/index-d1620260.js.map +1 -0
  301. package/dist/_chunks/index-d3e1fd86.js +490 -0
  302. package/dist/_chunks/index-d3e1fd86.js.map +1 -0
  303. package/dist/_chunks/index-da04b144.js +50 -0
  304. package/dist/_chunks/index-da04b144.js.map +1 -0
  305. package/dist/_chunks/index-e22d1a84.mjs +50 -0
  306. package/dist/_chunks/index-e22d1a84.mjs.map +1 -0
  307. package/dist/_chunks/index-e414353b.js +418 -0
  308. package/dist/_chunks/index-e414353b.js.map +1 -0
  309. package/dist/_chunks/index-ea23ee9f.mjs +340 -0
  310. package/dist/_chunks/index-ea23ee9f.mjs.map +1 -0
  311. package/dist/_chunks/index-eb67694f.mjs +261 -0
  312. package/dist/_chunks/index-eb67694f.mjs.map +1 -0
  313. package/dist/_chunks/index-edc9bb0b.js +3536 -0
  314. package/dist/_chunks/index-edc9bb0b.js.map +1 -0
  315. package/dist/_chunks/index-f179c7ea.js +47 -0
  316. package/dist/_chunks/index-f179c7ea.js.map +1 -0
  317. package/dist/_chunks/index-f448aed2.js +128 -0
  318. package/dist/_chunks/index-f448aed2.js.map +1 -0
  319. package/dist/_chunks/index-f5342ea5.js +54 -0
  320. package/dist/_chunks/index-f5342ea5.js.map +1 -0
  321. package/dist/_chunks/index-fc700e52.js +263 -0
  322. package/dist/_chunks/index-fc700e52.js.map +1 -0
  323. package/dist/_chunks/index-fcd5bc14.mjs +50 -0
  324. package/dist/_chunks/index-fcd5bc14.mjs.map +1 -0
  325. package/dist/_chunks/it-4006227c.mjs +459 -0
  326. package/dist/_chunks/it-4006227c.mjs.map +1 -0
  327. package/dist/_chunks/it-9c4295f1.js +459 -0
  328. package/dist/_chunks/it-9c4295f1.js.map +1 -0
  329. package/dist/_chunks/ja-db43ca3d.mjs +633 -0
  330. package/dist/_chunks/ja-db43ca3d.mjs.map +1 -0
  331. package/dist/_chunks/ja-eb74520f.js +633 -0
  332. package/dist/_chunks/ja-eb74520f.js.map +1 -0
  333. package/dist/_chunks/ko-18e71df4.js +631 -0
  334. package/dist/_chunks/ko-18e71df4.js.map +1 -0
  335. package/dist/_chunks/ko-a7826e25.mjs +631 -0
  336. package/dist/_chunks/ko-a7826e25.mjs.map +1 -0
  337. package/dist/_chunks/ml-90131768.mjs +722 -0
  338. package/dist/_chunks/ml-90131768.mjs.map +1 -0
  339. package/dist/_chunks/ml-c5199364.js +722 -0
  340. package/dist/_chunks/ml-c5199364.js.map +1 -0
  341. package/dist/_chunks/ms-bc514df6.js +342 -0
  342. package/dist/_chunks/ms-bc514df6.js.map +1 -0
  343. package/dist/_chunks/ms-f4f16a83.mjs +342 -0
  344. package/dist/_chunks/ms-f4f16a83.mjs.map +1 -0
  345. package/dist/_chunks/nl-887ce2c3.mjs +828 -0
  346. package/dist/_chunks/nl-887ce2c3.mjs.map +1 -0
  347. package/dist/_chunks/nl-f1aedbe2.js +828 -0
  348. package/dist/_chunks/nl-f1aedbe2.js.map +1 -0
  349. package/dist/_chunks/no-ec6c2927.js +310 -0
  350. package/dist/_chunks/no-ec6c2927.js.map +1 -0
  351. package/dist/_chunks/no-f0b02541.mjs +310 -0
  352. package/dist/_chunks/no-f0b02541.mjs.map +1 -0
  353. package/dist/_chunks/pl-9be86414.js +721 -0
  354. package/dist/_chunks/pl-9be86414.js.map +1 -0
  355. package/dist/_chunks/pl-9ccd35d9.mjs +721 -0
  356. package/dist/_chunks/pl-9ccd35d9.mjs.map +1 -0
  357. package/dist/_chunks/pt-4fcc08f1.js +296 -0
  358. package/dist/_chunks/pt-4fcc08f1.js.map +1 -0
  359. package/dist/_chunks/pt-8acb6ac1.mjs +296 -0
  360. package/dist/_chunks/pt-8acb6ac1.mjs.map +1 -0
  361. package/dist/_chunks/pt-BR-d43239e3.js +794 -0
  362. package/dist/_chunks/pt-BR-d43239e3.js.map +1 -0
  363. package/dist/_chunks/pt-BR-fd73cb13.mjs +794 -0
  364. package/dist/_chunks/pt-BR-fd73cb13.mjs.map +1 -0
  365. package/dist/_chunks/ru-07958f09.js +944 -0
  366. package/dist/_chunks/ru-07958f09.js.map +1 -0
  367. package/dist/_chunks/ru-d43423ea.mjs +944 -0
  368. package/dist/_chunks/ru-d43423ea.mjs.map +1 -0
  369. package/dist/_chunks/sa-6bf4c20e.mjs +722 -0
  370. package/dist/_chunks/sa-6bf4c20e.mjs.map +1 -0
  371. package/dist/_chunks/sa-8ffb7ca7.js +722 -0
  372. package/dist/_chunks/sa-8ffb7ca7.js.map +1 -0
  373. package/dist/_chunks/schema-a95f2514.mjs +490 -0
  374. package/dist/_chunks/schema-a95f2514.mjs.map +1 -0
  375. package/dist/_chunks/schema-f49c76d7.js +514 -0
  376. package/dist/_chunks/schema-f49c76d7.js.map +1 -0
  377. package/dist/_chunks/sk-58d31b17.mjs +690 -0
  378. package/dist/_chunks/sk-58d31b17.mjs.map +1 -0
  379. package/dist/_chunks/sk-a9308737.js +690 -0
  380. package/dist/_chunks/sk-a9308737.js.map +1 -0
  381. package/dist/_chunks/sv-0f5ffd1e.js +827 -0
  382. package/dist/_chunks/sv-0f5ffd1e.js.map +1 -0
  383. package/dist/_chunks/sv-d80ad633.mjs +827 -0
  384. package/dist/_chunks/sv-d80ad633.mjs.map +1 -0
  385. package/dist/_chunks/th-a53bbf7a.js +430 -0
  386. package/dist/_chunks/th-a53bbf7a.js.map +1 -0
  387. package/dist/_chunks/th-e72c6a22.mjs +430 -0
  388. package/dist/_chunks/th-e72c6a22.mjs.map +1 -0
  389. package/dist/_chunks/tr-b84a68b0.js +785 -0
  390. package/dist/_chunks/tr-b84a68b0.js.map +1 -0
  391. package/dist/_chunks/tr-e35ecfe8.mjs +785 -0
  392. package/dist/_chunks/tr-e35ecfe8.mjs.map +1 -0
  393. package/dist/_chunks/uk-de367ec1.mjs +343 -0
  394. package/dist/_chunks/uk-de367ec1.mjs.map +1 -0
  395. package/dist/_chunks/uk-e5226227.js +343 -0
  396. package/dist/_chunks/uk-e5226227.js.map +1 -0
  397. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs +2322 -0
  398. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs.map +1 -0
  399. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js +2337 -0
  400. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js.map +1 -0
  401. package/dist/_chunks/useAdminRoles-68d5d608.js +62 -0
  402. package/dist/_chunks/useAdminRoles-68d5d608.js.map +1 -0
  403. package/dist/_chunks/useAdminRoles-7ab5d521.mjs +44 -0
  404. package/dist/_chunks/useAdminRoles-7ab5d521.mjs.map +1 -0
  405. package/dist/_chunks/useAdminUsers-05d6b26a.js +61 -0
  406. package/dist/_chunks/useAdminUsers-05d6b26a.js.map +1 -0
  407. package/dist/_chunks/useAdminUsers-09f86a58.mjs +43 -0
  408. package/dist/_chunks/useAdminUsers-09f86a58.mjs.map +1 -0
  409. package/dist/_chunks/useContentTypes-53b449bb.mjs +67 -0
  410. package/dist/_chunks/useContentTypes-53b449bb.mjs.map +1 -0
  411. package/dist/_chunks/useContentTypes-7da293cc.js +85 -0
  412. package/dist/_chunks/useContentTypes-7da293cc.js.map +1 -0
  413. package/dist/_chunks/useDebounce-4712871e.js +35 -0
  414. package/dist/_chunks/useDebounce-4712871e.js.map +1 -0
  415. package/dist/_chunks/useDebounce-9364f340.mjs +17 -0
  416. package/dist/_chunks/useDebounce-9364f340.mjs.map +1 -0
  417. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs +80 -0
  418. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs.map +1 -0
  419. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js +100 -0
  420. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js.map +1 -0
  421. package/dist/_chunks/useLicenseLimits-13a102d3.mjs +31 -0
  422. package/dist/_chunks/useLicenseLimits-13a102d3.mjs.map +1 -0
  423. package/dist/_chunks/useLicenseLimits-81ef3cce.js +49 -0
  424. package/dist/_chunks/useLicenseLimits-81ef3cce.js.map +1 -0
  425. package/dist/_chunks/useReviewWorkflows-799e0305.js +59 -0
  426. package/dist/_chunks/useReviewWorkflows-799e0305.js.map +1 -0
  427. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs +41 -0
  428. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs.map +1 -0
  429. package/dist/_chunks/validateWorkflow-d051b610.mjs +1101 -0
  430. package/dist/_chunks/validateWorkflow-d051b610.mjs.map +1 -0
  431. package/dist/_chunks/validateWorkflow-e66d7d2e.js +1124 -0
  432. package/dist/_chunks/validateWorkflow-e66d7d2e.js.map +1 -0
  433. package/dist/_chunks/vi-096bccbb.mjs +298 -0
  434. package/dist/_chunks/vi-096bccbb.mjs.map +1 -0
  435. package/dist/_chunks/vi-c5fabb75.js +298 -0
  436. package/dist/_chunks/vi-c5fabb75.js.map +1 -0
  437. package/dist/_chunks/zh-24f618cb.js +836 -0
  438. package/dist/_chunks/zh-24f618cb.js.map +1 -0
  439. package/dist/_chunks/zh-Hans-35d2c374.js +957 -0
  440. package/dist/_chunks/zh-Hans-35d2c374.js.map +1 -0
  441. package/dist/_chunks/zh-Hans-ccf4be4b.mjs +957 -0
  442. package/dist/_chunks/zh-Hans-ccf4be4b.mjs.map +1 -0
  443. package/dist/_chunks/zh-ba29b2e1.mjs +836 -0
  444. package/dist/_chunks/zh-ba29b2e1.mjs.map +1 -0
  445. package/dist/admin/index.js +35 -0
  446. package/dist/admin/index.js.map +1 -0
  447. package/dist/admin/index.mjs +35 -0
  448. package/dist/admin/index.mjs.map +1 -0
  449. package/dist/admin/src/App.d.ts +6 -0
  450. package/dist/admin/src/StrapiApp.d.ts +140 -0
  451. package/dist/admin/src/components/AuthenticatedApp.d.ts +2 -0
  452. package/dist/admin/src/components/ConfigurationProvider.d.ts +11 -0
  453. package/dist/admin/src/components/DefaultDocument.d.ts +5 -0
  454. package/dist/admin/src/components/DragLayer.d.ts +10 -0
  455. package/dist/admin/src/components/GuidedTour/Homepage.d.ts +2 -0
  456. package/dist/admin/src/components/GuidedTour/Modal.d.ts +2 -0
  457. package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +13 -0
  458. package/dist/admin/src/components/GuidedTour/Provider.d.ts +6 -0
  459. package/dist/admin/src/components/GuidedTour/constants.d.ts +165 -0
  460. package/dist/admin/src/components/LanguageProvider.d.ts +19 -0
  461. package/dist/admin/src/components/LeftMenu.d.ts +5 -0
  462. package/dist/admin/src/components/NoJavascript.d.ts +7 -0
  463. package/dist/admin/src/components/NpsSurvey.d.ts +17 -0
  464. package/dist/admin/src/components/Onboarding.d.ts +2 -0
  465. package/dist/admin/src/components/PluginsInitializer.d.ts +5 -0
  466. package/dist/admin/src/components/PrivateRoute.d.ts +8 -0
  467. package/dist/admin/src/components/Providers.d.ts +13 -0
  468. package/dist/admin/src/components/RBACProvider.d.ts +27 -0
  469. package/dist/admin/src/components/Theme.d.ts +6 -0
  470. package/dist/admin/src/components/ThemeToggleProvider.d.ts +12 -0
  471. package/dist/admin/src/components/UnauthenticatedLogo.d.ts +2 -0
  472. package/dist/admin/src/constants.d.ts +185 -0
  473. package/dist/admin/src/contexts/admin.d.ts +14 -0
  474. package/dist/admin/src/contexts/apiTokenPermissions.d.ts +36 -0
  475. package/dist/admin/src/contexts/configuration.d.ts +27 -0
  476. package/dist/admin/src/contexts/themeToggle.d.ts +22 -0
  477. package/dist/admin/src/core/apis/Components.d.ts +10 -0
  478. package/dist/admin/src/core/apis/CustomFields.d.ts +8 -0
  479. package/dist/admin/src/core/apis/Fields.d.ts +10 -0
  480. package/dist/admin/src/core/apis/Middlewares.d.ts +9 -0
  481. package/dist/admin/src/core/apis/Plugin.d.ts +19 -0
  482. package/dist/admin/src/core/apis/Reducers.d.ts +10 -0
  483. package/dist/admin/src/core/store/configure.d.ts +29 -0
  484. package/dist/admin/src/core/store/hooks.d.ts +37 -0
  485. package/dist/admin/src/core/utils/basename.d.ts +1 -0
  486. package/dist/admin/src/core/utils/createHook.d.ts +10 -0
  487. package/dist/admin/src/hooks/__mocks__/useAdminUsers.d.ts +2 -0
  488. package/dist/admin/src/hooks/__mocks__/useContentTypes.d.ts +2 -0
  489. package/dist/admin/src/hooks/useAdminRoles.d.ts +13 -0
  490. package/dist/admin/src/hooks/useAdminUsers.d.ts +19 -0
  491. package/dist/admin/src/hooks/useContentTypes.d.ts +7 -0
  492. package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
  493. package/dist/admin/src/hooks/useEnterprise.d.ts +6 -0
  494. package/dist/admin/src/hooks/useInjectReducer.d.ts +10 -0
  495. package/dist/admin/src/hooks/useLicenseLimitNotification.d.ts +1 -0
  496. package/dist/admin/src/hooks/useMenu.d.ts +9 -0
  497. package/dist/admin/src/index.d.ts +2 -0
  498. package/dist/admin/src/layouts/AppLayout.d.ts +7 -0
  499. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +11 -0
  500. package/dist/admin/src/pages/Admin.d.ts +7 -0
  501. package/dist/admin/src/pages/HomePage.d.ts +3 -0
  502. package/dist/admin/src/pages/InstalledPluginsPage.d.ts +3 -0
  503. package/dist/admin/src/pages/InternalErrorPage.d.ts +7 -0
  504. package/dist/admin/src/pages/Marketplace/MarketplacePage.d.ts +19 -0
  505. package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +13 -0
  506. package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +13 -0
  507. package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +13 -0
  508. package/dist/admin/src/pages/Marketplace/components/OfflineLayout.d.ts +2 -0
  509. package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +8 -0
  510. package/dist/admin/src/pages/Marketplace/components/SortSelect.d.ts +51 -0
  511. package/dist/admin/src/pages/Marketplace/hooks/__mocks__/useNavigatorOnline.d.ts +1 -0
  512. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +92 -0
  513. package/dist/admin/src/pages/Marketplace/hooks/useNavigatorOnline.d.ts +5 -0
  514. package/dist/admin/src/pages/NotFoundPage.d.ts +1 -0
  515. package/dist/admin/src/pages/ProfilePage.d.ts +2 -0
  516. package/dist/admin/src/pages/SettingsPage/hooks/useRegenerate.d.ts +4 -0
  517. package/dist/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.d.ts +24 -0
  518. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.d.ts +2 -0
  519. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.d.ts +11 -0
  520. package/dist/admin/src/pages/SettingsPage/utils/makeUniqueRoutes.d.ts +6 -0
  521. package/dist/admin/src/pages/UseCasePage.d.ts +8 -0
  522. package/dist/admin/src/reducer.d.ts +21 -0
  523. package/dist/admin/src/render.d.ts +7 -0
  524. package/dist/admin/src/selectors.d.ts +21 -0
  525. package/dist/admin/src/shared/components/InjectionZone.d.ts +53 -0
  526. package/dist/admin/src/shared/hooks/__mocks__/useInjectionZone.d.ts +1 -0
  527. package/dist/admin/src/shared/hooks/useInjectionZone.d.ts +2 -0
  528. package/dist/admin/src/translations/languageNativeNames.d.ts +36 -0
  529. package/dist/admin/src/types/permissions.d.ts +7 -0
  530. package/dist/admin/src/utils/createRoute.d.ts +6 -0
  531. package/dist/admin/src/utils/formatAPIErrors.d.ts +6 -0
  532. package/dist/admin/src/utils/getFullName.d.ts +1 -0
  533. package/dist/admin/src/utils/hashAdminUserEmail.d.ts +6 -0
  534. package/dist/cli.js +46 -0
  535. package/dist/cli.js.map +1 -0
  536. package/dist/cli.mjs +46 -0
  537. package/dist/cli.mjs.map +1 -0
  538. package/dist/ee/admin/src/constants.d.ts +53 -0
  539. package/dist/ee/admin/src/hooks/useLicenseLimitNotification.d.ts +1 -0
  540. package/dist/ee/admin/src/pages/HomePage.d.ts +1 -0
  541. package/dist/shared/contracts/admin.d.ts +23 -0
  542. package/dist/shared/contracts/providers.d.ts +16 -0
  543. package/dist/shared/contracts/roles.d.ts +52 -0
  544. package/dist/shared/contracts/shared.d.ts +39 -0
  545. package/dist/shared/contracts/user.d.ts +40 -0
  546. package/dist/shared/contracts/users.d.ts +49 -0
  547. package/dist/shared/schema.d.ts +7 -0
  548. package/ee/server/controllers/__tests__/stages.test.js +174 -0
  549. package/ee/server/middlewares/__tests__/review-workflows.test.js +40 -0
  550. package/ee/server/services/__tests__/assignees.test.js +76 -0
  551. package/ee/server/services/__tests__/audit-logs.test.js +300 -0
  552. package/ee/server/services/__tests__/passport.test.js +95 -0
  553. package/ee/server/services/__tests__/review-workflows-validation.test.js +100 -0
  554. package/ee/server/services/__tests__/review-workflows.test.js +163 -0
  555. package/ee/server/services/__tests__/sso.test.js +117 -0
  556. package/ee/server/services/__tests__/stages.test.js +275 -0
  557. package/ee/server/services/__tests__/workflows.test.js +203 -0
  558. package/ee/server/services/review-workflows/__tests__/entity-service-decorator.test.js +211 -0
  559. package/ee/server/services/review-workflows/metrics/__tests__/weekly-metrics.test.js +65 -0
  560. package/ee/server/services/review-workflows/workflows/__tests__/content-types.test.js +146 -0
  561. package/ee/server/utils/__tests__/persisted-tables.test.js +38 -0
  562. package/ee/server/utils/__tests__/sso-lock.test.js +84 -0
  563. package/index.d.ts +22 -0
  564. package/index.js +214 -123
  565. package/package.json +72 -32
  566. package/server/controllers/__tests__/admin.test.js +106 -0
  567. package/server/controllers/__tests__/api-token.test.js +496 -0
  568. package/server/controllers/__tests__/content-api.test.js +173 -0
  569. package/server/controllers/__tests__/permission.test.js +200 -0
  570. package/server/controllers/__tests__/role.test.js +201 -0
  571. package/server/controllers/__tests__/transfer/token.test.js +520 -0
  572. package/server/controllers/__tests__/user.test.js +326 -0
  573. package/server/domain/action/__tests__/action-domain.test.js +230 -0
  574. package/server/domain/action/__tests__/action-provider.test.js +376 -0
  575. package/server/domain/condition/__tests__/condition-domain.test.js +122 -0
  576. package/server/domain/condition/__tests__/condition-provider.test.js +156 -0
  577. package/server/domain/permission/__tests__/permission-domain.test.js +285 -0
  578. package/server/services/__tests__/action.test.js +98 -0
  579. package/server/services/__tests__/api-token.test.js +980 -0
  580. package/server/services/__tests__/auth.test.js +319 -0
  581. package/server/services/__tests__/content-type.test.js +405 -0
  582. package/server/services/__tests__/metrics.test.js +65 -0
  583. package/server/services/__tests__/passport.test.js +90 -0
  584. package/server/services/__tests__/permission.test.js +177 -0
  585. package/server/services/__tests__/permissions-manager-sanitize.test.js +117 -0
  586. package/server/services/__tests__/permissions-manager-validate.test.js +119 -0
  587. package/server/services/__tests__/permissions-manager.test.js +318 -0
  588. package/server/services/__tests__/permissions.section-builder.section.test.js +136 -0
  589. package/server/services/__tests__/project-settings.test.js +397 -0
  590. package/server/services/__tests__/role.test.js +970 -0
  591. package/server/services/__tests__/token.test.js +217 -0
  592. package/server/services/__tests__/transfer/token.test.js +878 -0
  593. package/server/services/__tests__/user.test.js +771 -0
  594. package/server/strategies/__tests__/admin.test.js +118 -0
  595. package/server/strategies/__tests__/api-token.test.js +364 -0
  596. package/server/validation/__tests__/common-functions.test.js +54 -0
  597. package/.browserslistrc +0 -4
  598. package/.eslintignore +0 -4
  599. package/.eslintrc.js +0 -17
  600. package/admin/.eslintrc.js +0 -28
  601. package/admin/custom.d.ts +0 -28
  602. package/admin/src/StrapiApp.js +0 -477
  603. package/admin/src/app.js +0 -9
  604. package/admin/src/assets/images/icon_offline-cloud.svg +0 -5
  605. package/admin/src/assets/images/logo-strapi-2022.svg +0 -7
  606. package/admin/src/assets/images/onboarding-preview.png +0 -0
  607. package/admin/src/components/AuthenticatedApp.tsx +0 -187
  608. package/admin/src/components/ConfigurationProvider.tsx +0 -68
  609. package/admin/src/components/DragLayer.tsx +0 -62
  610. package/admin/src/components/GuidedTour/Homepage.tsx +0 -111
  611. package/admin/src/components/GuidedTour/Modal.tsx +0 -303
  612. package/admin/src/components/GuidedTour/Ornaments.tsx +0 -74
  613. package/admin/src/components/GuidedTour/Provider.tsx +0 -253
  614. package/admin/src/components/GuidedTour/constants.ts +0 -172
  615. package/admin/src/components/LanguageProvider.tsx +0 -130
  616. package/admin/src/components/LeftMenu.tsx +0 -257
  617. package/admin/src/components/NpsSurvey.tsx +0 -415
  618. package/admin/src/components/PluginsInitializer.tsx +0 -124
  619. package/admin/src/components/PrivateRoute.tsx +0 -42
  620. package/admin/src/components/Providers.tsx +0 -125
  621. package/admin/src/components/RBACProvider.tsx +0 -124
  622. package/admin/src/components/Theme.tsx +0 -41
  623. package/admin/src/components/ThemeToggleProvider.tsx +0 -64
  624. package/admin/src/components/UnauthenticatedLogo.tsx +0 -17
  625. package/admin/src/components/__mocks__/LanguageProvider.ts +0 -9
  626. package/admin/src/constants.ts +0 -138
  627. package/admin/src/content-manager/assets/images/background_input.svg +0 -1
  628. package/admin/src/content-manager/assets/images/icon_remove.svg +0 -19
  629. package/admin/src/content-manager/assets/images/logo.svg +0 -1
  630. package/admin/src/content-manager/components/BlocksEditor/BlocksInput/index.js +0 -146
  631. package/admin/src/content-manager/components/BlocksEditor/Toolbar/index.js +0 -694
  632. package/admin/src/content-manager/components/BlocksEditor/hooks/useBlocksStore.js +0 -779
  633. package/admin/src/content-manager/components/BlocksEditor/hooks/useModifiersStore.js +0 -119
  634. package/admin/src/content-manager/components/BlocksEditor/index.js +0 -203
  635. package/admin/src/content-manager/components/BlocksEditor/plugins/index.js +0 -4
  636. package/admin/src/content-manager/components/BlocksEditor/plugins/withLinks.js +0 -61
  637. package/admin/src/content-manager/components/BlocksEditor/plugins/withStrapiSchema.js +0 -33
  638. package/admin/src/content-manager/components/BlocksEditor/utils/links.js +0 -90
  639. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +0 -432
  640. package/admin/src/content-manager/components/ComponentIcon/ComponentIcon.js +0 -40
  641. package/admin/src/content-manager/components/ComponentIcon/constants.js +0 -133
  642. package/admin/src/content-manager/components/ComponentIcon/index.js +0 -1
  643. package/admin/src/content-manager/components/ComponentInitializer/index.js +0 -81
  644. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumns.js +0 -2
  645. package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +0 -102
  646. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +0 -72
  647. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +0 -108
  648. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +0 -94
  649. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +0 -313
  650. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +0 -79
  651. package/admin/src/content-manager/components/DynamicZone/index.js +0 -316
  652. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +0 -709
  653. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +0 -428
  654. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +0 -191
  655. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +0 -92
  656. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.js +0 -18
  657. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/handleAPIError.js +0 -15
  658. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -3
  659. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/moveFields.js +0 -10
  660. package/admin/src/content-manager/components/FieldComponent/Label.js +0 -68
  661. package/admin/src/content-manager/components/FieldComponent/index.js +0 -168
  662. package/admin/src/content-manager/components/FieldComponent/utils/connect.js +0 -12
  663. package/admin/src/content-manager/components/FieldComponent/utils/select.js +0 -129
  664. package/admin/src/content-manager/components/FieldTypeIcon/index.js +0 -82
  665. package/admin/src/content-manager/components/Filter/CustomInputs/AdminUsersFilter.js +0 -42
  666. package/admin/src/content-manager/components/Filter/Filter.js +0 -54
  667. package/admin/src/content-manager/components/Filter/index.js +0 -1
  668. package/admin/src/content-manager/components/Hint/index.js +0 -31
  669. package/admin/src/content-manager/components/InjectionZoneList/index.js +0 -39
  670. package/admin/src/content-manager/components/InputUID/endActionStyle.js +0 -43
  671. package/admin/src/content-manager/components/InputUID/index.js +0 -286
  672. package/admin/src/content-manager/components/InputUID/regex.js +0 -3
  673. package/admin/src/content-manager/components/Inputs/index.js +0 -288
  674. package/admin/src/content-manager/components/Inputs/utils/VALIDATIONS_TO_OMIT.js +0 -13
  675. package/admin/src/content-manager/components/Inputs/utils/connect.js +0 -12
  676. package/admin/src/content-manager/components/Inputs/utils/generateOptions.js +0 -32
  677. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +0 -46
  678. package/admin/src/content-manager/components/Inputs/utils/index.js +0 -5
  679. package/admin/src/content-manager/components/Inputs/utils/select.js +0 -39
  680. package/admin/src/content-manager/components/ListViewTable/CellContent/PublicationState/PublicationState.js +0 -27
  681. package/admin/src/content-manager/components/ListViewTable/CellContent/PublicationState/index.js +0 -1
  682. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +0 -98
  683. package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +0 -147
  684. package/admin/src/content-manager/components/PreviewWysiwyg/index.js +0 -34
  685. package/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +0 -77
  686. package/admin/src/content-manager/components/PreviewWysiwyg/utils/satinizeHtml.js +0 -16
  687. package/admin/src/content-manager/components/RelationInput/RelationInput.js +0 -507
  688. package/admin/src/content-manager/components/RelationInput/components/Option.js +0 -63
  689. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +0 -170
  690. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +0 -56
  691. package/admin/src/content-manager/components/RelationInput/constants.js +0 -2
  692. package/admin/src/content-manager/components/RelationInput/index.js +0 -2
  693. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +0 -436
  694. package/admin/src/content-manager/components/RelationInputDataManager/constants.js +0 -8
  695. package/admin/src/content-manager/components/RelationInputDataManager/index.js +0 -1
  696. package/admin/src/content-manager/components/RelationInputDataManager/utils/connect.js +0 -11
  697. package/admin/src/content-manager/components/RelationInputDataManager/utils/diffRelations.js +0 -24
  698. package/admin/src/content-manager/components/RelationInputDataManager/utils/getRelationLink.js +0 -3
  699. package/admin/src/content-manager/components/RelationInputDataManager/utils/index.js +0 -5
  700. package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeRelations.js +0 -44
  701. package/admin/src/content-manager/components/RelationInputDataManager/utils/normalizeSearchResults.js +0 -16
  702. package/admin/src/content-manager/components/RelationInputDataManager/utils/select.js +0 -113
  703. package/admin/src/content-manager/components/RepeatableComponent/components/Accordion.js +0 -78
  704. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +0 -272
  705. package/admin/src/content-manager/components/RepeatableComponent/components/Preview.js +0 -17
  706. package/admin/src/content-manager/components/RepeatableComponent/index.js +0 -283
  707. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +0 -10
  708. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +0 -387
  709. package/admin/src/content-manager/components/Wysiwyg/Editor.js +0 -468
  710. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +0 -127
  711. package/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +0 -38
  712. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +0 -232
  713. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +0 -57
  714. package/admin/src/content-manager/components/Wysiwyg/index.js +0 -214
  715. package/admin/src/content-manager/components/Wysiwyg/utils/continueList.js +0 -111
  716. package/admin/src/content-manager/components/Wysiwyg/utils/utils.js +0 -313
  717. package/admin/src/content-manager/constants/attributes.js +0 -3
  718. package/admin/src/content-manager/contexts/ContentTypeLayout.js +0 -5
  719. package/admin/src/content-manager/contexts/ModelsContext.js +0 -5
  720. package/admin/src/content-manager/contexts/Wysiwyg.js +0 -5
  721. package/admin/src/content-manager/contexts/index.js +0 -2
  722. package/admin/src/content-manager/hooks/index.js +0 -9
  723. package/admin/src/content-manager/hooks/useAllowedAttributes.js +0 -51
  724. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +0 -20
  725. package/admin/src/content-manager/hooks/useDragAndDrop.js +0 -135
  726. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +0 -90
  727. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +0 -56
  728. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +0 -167
  729. package/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +0 -15
  730. package/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +0 -7
  731. package/admin/src/content-manager/hooks/useFindRedirectionLink/utils/getRedirectionLink.js +0 -45
  732. package/admin/src/content-manager/hooks/useKeyboardDragAndDrop.js +0 -106
  733. package/admin/src/content-manager/hooks/useLazyComponents/index.js +0 -70
  734. package/admin/src/content-manager/hooks/usePluginsQueryParams/index.js +0 -11
  735. package/admin/src/content-manager/hooks/usePrev.js +0 -14
  736. package/admin/src/content-manager/hooks/useRelation/index.js +0 -1
  737. package/admin/src/content-manager/hooks/useRelation/useRelation.js +0 -174
  738. package/admin/src/content-manager/hooks/useSyncRbac/actions.js +0 -14
  739. package/admin/src/content-manager/hooks/useSyncRbac/constants.js +0 -2
  740. package/admin/src/content-manager/hooks/useSyncRbac/index.js +0 -38
  741. package/admin/src/content-manager/hooks/useSyncRbac/reducer.js +0 -33
  742. package/admin/src/content-manager/hooks/useSyncRbac/selectors.js +0 -4
  743. package/admin/src/content-manager/hooks/useWysiwyg.js +0 -7
  744. package/admin/src/content-manager/pages/App/LeftMenu/index.js +0 -142
  745. package/admin/src/content-manager/pages/App/actions.js +0 -24
  746. package/admin/src/content-manager/pages/App/components/CardDragPreview.js +0 -95
  747. package/admin/src/content-manager/pages/App/components/ComponentDragPreview.js +0 -76
  748. package/admin/src/content-manager/pages/App/components/RelationDragPreview.js +0 -81
  749. package/admin/src/content-manager/pages/App/constants.js +0 -3
  750. package/admin/src/content-manager/pages/App/index.js +0 -166
  751. package/admin/src/content-manager/pages/App/reducer.js +0 -50
  752. package/admin/src/content-manager/pages/App/selectors.js +0 -36
  753. package/admin/src/content-manager/pages/App/useContentManagerInitData.js +0 -104
  754. package/admin/src/content-manager/pages/App/utils/checkPermissions.js +0 -13
  755. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +0 -65
  756. package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +0 -50
  757. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/components/ErrorFallback.js +0 -14
  758. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +0 -134
  759. package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +0 -62
  760. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +0 -62
  761. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFieldButton.js +0 -394
  762. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +0 -79
  763. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +0 -76
  764. package/admin/src/content-manager/pages/EditSettingsView/components/FieldButtonContent.js +0 -81
  765. package/admin/src/content-manager/pages/EditSettingsView/components/FormModal.js +0 -100
  766. package/admin/src/content-manager/pages/EditSettingsView/components/GenericInput.js +0 -67
  767. package/admin/src/content-manager/pages/EditSettingsView/components/LayoutDndProvider/index.js +0 -75
  768. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +0 -59
  769. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +0 -141
  770. package/admin/src/content-manager/pages/EditSettingsView/components/RowItemsLayout.js +0 -42
  771. package/admin/src/content-manager/pages/EditSettingsView/components/RowsLayout.js +0 -34
  772. package/admin/src/content-manager/pages/EditSettingsView/hooks/useLayoutDnd.js +0 -7
  773. package/admin/src/content-manager/pages/EditSettingsView/index.js +0 -405
  774. package/admin/src/content-manager/pages/EditSettingsView/init.js +0 -19
  775. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +0 -196
  776. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +0 -25
  777. package/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +0 -30
  778. package/admin/src/content-manager/pages/EditSettingsView/utils/index.js +0 -2
  779. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +0 -106
  780. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +0 -69
  781. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +0 -12
  782. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/index.js +0 -2
  783. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +0 -21
  784. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +0 -93
  785. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +0 -12
  786. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/index.js +0 -2
  787. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/select.js +0 -14
  788. package/admin/src/content-manager/pages/EditView/GridRow/index.js +0 -64
  789. package/admin/src/content-manager/pages/EditView/Header/index.js +0 -303
  790. package/admin/src/content-manager/pages/EditView/Header/utils/connect.js +0 -12
  791. package/admin/src/content-manager/pages/EditView/Header/utils/index.js +0 -2
  792. package/admin/src/content-manager/pages/EditView/Header/utils/select.js +0 -33
  793. package/admin/src/content-manager/pages/EditView/Information/index.js +0 -132
  794. package/admin/src/content-manager/pages/EditView/Information/utils/getUnits.js +0 -27
  795. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +0 -12
  796. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +0 -1
  797. package/admin/src/content-manager/pages/EditView/hooks/useOnce.js +0 -14
  798. package/admin/src/content-manager/pages/EditView/index.js +0 -297
  799. package/admin/src/content-manager/pages/EditView/selectors.js +0 -15
  800. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +0 -41
  801. package/admin/src/content-manager/pages/EditView/utils/getCustomFieldUidsFromLayout.js +0 -18
  802. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +0 -24
  803. package/admin/src/content-manager/pages/EditView/utils/index.js +0 -4
  804. package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +0 -32
  805. package/admin/src/content-manager/pages/EditViewLayoutManager/actions.js +0 -9
  806. package/admin/src/content-manager/pages/EditViewLayoutManager/constants.js +0 -2
  807. package/admin/src/content-manager/pages/EditViewLayoutManager/index.js +0 -54
  808. package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +0 -31
  809. package/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +0 -3
  810. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +0 -260
  811. package/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +0 -144
  812. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +0 -203
  813. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +0 -115
  814. package/admin/src/content-manager/pages/ListSettingsView/constants.js +0 -9
  815. package/admin/src/content-manager/pages/ListSettingsView/index.js +0 -288
  816. package/admin/src/content-manager/pages/ListSettingsView/reducer.js +0 -83
  817. package/admin/src/content-manager/pages/ListView/actions.js +0 -35
  818. package/admin/src/content-manager/pages/ListView/components/Body/index.js +0 -188
  819. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +0 -169
  820. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +0 -527
  821. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/index.js +0 -233
  822. package/admin/src/content-manager/pages/ListView/components/CellContent/CellValue.js +0 -51
  823. package/admin/src/content-manager/pages/ListView/components/CellContent/Media/FileWrapper.js +0 -36
  824. package/admin/src/content-manager/pages/ListView/components/CellContent/Media/index.js +0 -43
  825. package/admin/src/content-manager/pages/ListView/components/CellContent/MultipleMedias.js +0 -48
  826. package/admin/src/content-manager/pages/ListView/components/CellContent/RelationMultiple/index.js +0 -144
  827. package/admin/src/content-manager/pages/ListView/components/CellContent/RelationSingle/index.js +0 -34
  828. package/admin/src/content-manager/pages/ListView/components/CellContent/RepeatableComponent/index.js +0 -67
  829. package/admin/src/content-manager/pages/ListView/components/CellContent/SingleComponent/index.js +0 -37
  830. package/admin/src/content-manager/pages/ListView/components/CellContent/index.js +0 -99
  831. package/admin/src/content-manager/pages/ListView/components/CellContent/utils/hasContent.js +0 -65
  832. package/admin/src/content-manager/pages/ListView/components/CellContent/utils/isSingleRelation.js +0 -3
  833. package/admin/src/content-manager/pages/ListView/components/ConfirmDialogDelete/index.js +0 -77
  834. package/admin/src/content-manager/pages/ListView/components/ConfirmDialogDeleteAll/index.js +0 -78
  835. package/admin/src/content-manager/pages/ListView/components/FieldPicker/index.js +0 -106
  836. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +0 -304
  837. package/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu/index.js +0 -80
  838. package/admin/src/content-manager/pages/ListView/constants.js +0 -6
  839. package/admin/src/content-manager/pages/ListView/index.js +0 -889
  840. package/admin/src/content-manager/pages/ListView/reducer.js +0 -137
  841. package/admin/src/content-manager/pages/ListView/selectors.js +0 -30
  842. package/admin/src/content-manager/pages/ListView/utils/buildValidGetParams.js +0 -30
  843. package/admin/src/content-manager/pages/ListView/utils/index.js +0 -1
  844. package/admin/src/content-manager/pages/ListViewLayoutManager/Permissions.js +0 -43
  845. package/admin/src/content-manager/pages/ListViewLayoutManager/index.js +0 -60
  846. package/admin/src/content-manager/pages/NoContentType/index.js +0 -50
  847. package/admin/src/content-manager/pages/NoPermissions/index.js +0 -28
  848. package/admin/src/content-manager/pages/SingleTypeRecursivePath/index.js +0 -88
  849. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +0 -49
  850. package/admin/src/content-manager/sharedReducers/crudReducer/constants.js +0 -9
  851. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +0 -81
  852. package/admin/src/content-manager/sharedReducers/crudReducer/selectors.js +0 -3
  853. package/admin/src/content-manager/testUtils/data.js +0 -305
  854. package/admin/src/content-manager/testUtils/index.js +0 -3
  855. package/admin/src/content-manager/utils/ItemTypes.js +0 -7
  856. package/admin/src/content-manager/utils/arrayMoveItem.js +0 -22
  857. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +0 -11
  858. package/admin/src/content-manager/utils/composeRefs.js +0 -28
  859. package/admin/src/content-manager/utils/createDefaultForm.js +0 -42
  860. package/admin/src/content-manager/utils/formatLayoutToApi.js +0 -43
  861. package/admin/src/content-manager/utils/generatePermissionsObject.js +0 -21
  862. package/admin/src/content-manager/utils/getDisplayName.js +0 -33
  863. package/admin/src/content-manager/utils/getFieldName.js +0 -6
  864. package/admin/src/content-manager/utils/getMaxTempKey.js +0 -14
  865. package/admin/src/content-manager/utils/getTrad.js +0 -3
  866. package/admin/src/content-manager/utils/index.js +0 -15
  867. package/admin/src/content-manager/utils/isFieldTypeNumber.js +0 -3
  868. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +0 -24
  869. package/admin/src/content-manager/utils/paths.js +0 -37
  870. package/admin/src/content-manager/utils/removeKeyInObject.js +0 -41
  871. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +0 -54
  872. package/admin/src/content-manager/utils/schema.js +0 -405
  873. package/admin/src/contexts/admin.ts +0 -19
  874. package/admin/src/contexts/apiTokenPermissions.tsx +0 -64
  875. package/admin/src/contexts/configuration.ts +0 -25
  876. package/admin/src/contexts/themeToggle.ts +0 -18
  877. package/admin/src/core/apis/Components.js +0 -19
  878. package/admin/src/core/apis/CustomFields.js +0 -124
  879. package/admin/src/core/apis/Fields.js +0 -18
  880. package/admin/src/core/apis/Middlewares.js +0 -11
  881. package/admin/src/core/apis/Plugin.js +0 -30
  882. package/admin/src/core/apis/Reducers.js +0 -11
  883. package/admin/src/core/apis/index.js +0 -6
  884. package/admin/src/core/store/configure.ts +0 -91
  885. package/admin/src/core/store/hooks.ts +0 -15
  886. package/admin/src/core/utils/basename.js +0 -3
  887. package/admin/src/core/utils/createHook.js +0 -49
  888. package/admin/src/core/utils/index.js +0 -2
  889. package/admin/src/favicon.png +0 -0
  890. package/admin/src/hooks/__mocks__/useAdminUsers.ts +0 -5
  891. package/admin/src/hooks/__mocks__/useConfigurations.ts +0 -9
  892. package/admin/src/hooks/__mocks__/useContentTypes.ts +0 -6
  893. package/admin/src/hooks/index.js +0 -2
  894. package/admin/src/hooks/useAdminRoles.ts +0 -66
  895. package/admin/src/hooks/useAdminUsers.ts +0 -64
  896. package/admin/src/hooks/useConfiguration.ts +0 -5
  897. package/admin/src/hooks/useContentTypes.ts +0 -79
  898. package/admin/src/hooks/useDebounce.ts +0 -17
  899. package/admin/src/hooks/useEnterprise.ts +0 -46
  900. package/admin/src/hooks/useInjectReducer/index.js +0 -1
  901. package/admin/src/hooks/useInjectReducer/useInjectReducer.js +0 -20
  902. package/admin/src/hooks/useLicenseLimitNotification.ts +0 -3
  903. package/admin/src/hooks/useMenu.ts +0 -153
  904. package/admin/src/hooks/useSettingsForm/index.js +0 -163
  905. package/admin/src/hooks/useSettingsForm/init.js +0 -5
  906. package/admin/src/hooks/useSettingsForm/reducer.js +0 -62
  907. package/admin/src/hooks/useSettingsMenu/constants.js +0 -78
  908. package/admin/src/hooks/useSettingsMenu/index.js +0 -125
  909. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +0 -12
  910. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +0 -5
  911. package/admin/src/hooks/useThemeToggle.ts +0 -9
  912. package/admin/src/index.html +0 -15
  913. package/admin/src/index.js +0 -83
  914. package/admin/src/layouts/AppLayout.tsx +0 -30
  915. package/admin/src/layouts/UnauthenticatedLayout.tsx +0 -77
  916. package/admin/src/pages/Admin/Onboarding/constants.js +0 -46
  917. package/admin/src/pages/Admin/Onboarding/index.js +0 -226
  918. package/admin/src/pages/Admin/index.js +0 -133
  919. package/admin/src/pages/App/constants.js +0 -4
  920. package/admin/src/pages/App/index.js +0 -208
  921. package/admin/src/pages/App/reducer.js +0 -30
  922. package/admin/src/pages/App/selectors.js +0 -12
  923. package/admin/src/pages/AuthPage/components/FieldActionWrapper/index.js +0 -14
  924. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +0 -113
  925. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +0 -60
  926. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +0 -180
  927. package/admin/src/pages/AuthPage/components/Login/index.js +0 -23
  928. package/admin/src/pages/AuthPage/components/Oops/index.js +0 -59
  929. package/admin/src/pages/AuthPage/components/Register/index.js +0 -373
  930. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +0 -191
  931. package/admin/src/pages/AuthPage/constants.js +0 -122
  932. package/admin/src/pages/AuthPage/index.js +0 -318
  933. package/admin/src/pages/AuthPage/init.js +0 -5
  934. package/admin/src/pages/AuthPage/reducer.js +0 -41
  935. package/admin/src/pages/HomePage/CloudBox.js +0 -85
  936. package/admin/src/pages/HomePage/ContentBlocks.js +0 -106
  937. package/admin/src/pages/HomePage/HomeHeader.js +0 -76
  938. package/admin/src/pages/HomePage/SocialLinks.js +0 -203
  939. package/admin/src/pages/HomePage/assets/corner-ornament.svg +0 -48
  940. package/admin/src/pages/HomePage/assets/strapi-cloud-background.png +0 -0
  941. package/admin/src/pages/HomePage/assets/strapi-cloud-flags.svg +0 -1
  942. package/admin/src/pages/HomePage/assets/strapi-cloud-icon.svg +0 -1
  943. package/admin/src/pages/HomePage/index.js +0 -110
  944. package/admin/src/pages/InstalledPluginsPage/Plugins.js +0 -121
  945. package/admin/src/pages/InstalledPluginsPage/hooks/usePlugins/index.js +0 -29
  946. package/admin/src/pages/InstalledPluginsPage/index.js +0 -29
  947. package/admin/src/pages/InternalErrorPage.tsx +0 -54
  948. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/EmptyNpmPackageGrid.js +0 -27
  949. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +0 -31
  950. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +0 -40
  951. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/CardButton.js +0 -109
  952. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +0 -81
  953. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/PackageStats.js +0 -75
  954. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/index.js +0 -187
  955. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FilterSelect.js +0 -43
  956. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +0 -104
  957. package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/index.js +0 -105
  958. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +0 -87
  959. package/admin/src/pages/MarketplacePage/components/NpmPackagesPagination/index.js +0 -27
  960. package/admin/src/pages/MarketplacePage/components/OfflineLayout/index.js +0 -47
  961. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +0 -55
  962. package/admin/src/pages/MarketplacePage/components/SortSelect/index.js +0 -106
  963. package/admin/src/pages/MarketplacePage/constants.js +0 -1
  964. package/admin/src/pages/MarketplacePage/hooks/__mocks__/useNavigatorOnline.ts +0 -1
  965. package/admin/src/pages/MarketplacePage/hooks/useFetchMarketplacePlugins/index.js +0 -44
  966. package/admin/src/pages/MarketplacePage/hooks/useFetchMarketplaceProviders/index.js +0 -44
  967. package/admin/src/pages/MarketplacePage/hooks/useNavigatorOnline.ts +0 -29
  968. package/admin/src/pages/MarketplacePage/index.js +0 -263
  969. package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +0 -87
  970. package/admin/src/pages/NotFoundPage.tsx +0 -52
  971. package/admin/src/pages/ProfilePage/components/Password/index.js +0 -216
  972. package/admin/src/pages/ProfilePage/components/Preferences/index.js +0 -175
  973. package/admin/src/pages/ProfilePage/components/UserInfo/index.js +0 -113
  974. package/admin/src/pages/ProfilePage/index.js +0 -235
  975. package/admin/src/pages/ProfilePage/utils/schema.js +0 -7
  976. package/admin/src/pages/SettingsPage/components/Filters/index.js +0 -54
  977. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +0 -97
  978. package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +0 -110
  979. package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +0 -99
  980. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +0 -77
  981. package/admin/src/pages/SettingsPage/components/Tokens/Table/DefaultButton/index.js +0 -64
  982. package/admin/src/pages/SettingsPage/components/Tokens/Table/DeleteButton/index.js +0 -53
  983. package/admin/src/pages/SettingsPage/components/Tokens/Table/ReadButton/index.js +0 -21
  984. package/admin/src/pages/SettingsPage/components/Tokens/Table/UpdateButton/index.js +0 -21
  985. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +0 -193
  986. package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +0 -81
  987. package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +0 -52
  988. package/admin/src/pages/SettingsPage/components/Tokens/TokenName/index.js +0 -47
  989. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +0 -71
  990. package/admin/src/pages/SettingsPage/components/Tokens/constants.js +0 -2
  991. package/admin/src/pages/SettingsPage/constants.js +0 -200
  992. package/admin/src/pages/SettingsPage/hooks/useRegenerate.ts +0 -46
  993. package/admin/src/pages/SettingsPage/index.js +0 -73
  994. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +0 -56
  995. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/getMethodColor.js +0 -41
  996. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/BoundRoute/index.js +0 -72
  997. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/CheckBoxWrapper.js +0 -30
  998. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +0 -160
  999. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ContenTypesSection/index.js +0 -39
  1000. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +0 -164
  1001. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/LoadingView/index.js +0 -49
  1002. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +0 -40
  1003. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +0 -74
  1004. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +0 -342
  1005. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/init.js +0 -13
  1006. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +0 -73
  1007. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/getDateOfExpiration.js +0 -16
  1008. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/index.js +0 -5
  1009. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/schema.js +0 -14
  1010. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +0 -34
  1011. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +0 -187
  1012. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js +0 -48
  1013. package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedCreateView/index.js +0 -19
  1014. package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedEditView/index.js +0 -19
  1015. package/admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedListView/index.js +0 -19
  1016. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +0 -143
  1017. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/init.js +0 -16
  1018. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/reducer.js +0 -63
  1019. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +0 -128
  1020. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +0 -28
  1021. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +0 -25
  1022. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +0 -67
  1023. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +0 -181
  1024. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +0 -85
  1025. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +0 -52
  1026. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +0 -93
  1027. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +0 -86
  1028. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +0 -28
  1029. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +0 -293
  1030. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +0 -3
  1031. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +0 -17
  1032. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +0 -76
  1033. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +0 -22
  1034. package/admin/src/pages/SettingsPage/pages/AuditLogs/SalesPage.js +0 -50
  1035. package/admin/src/pages/SettingsPage/pages/ReviewWorkflows/SalesPage.js +0 -53
  1036. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +0 -284
  1037. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/utils/schema.js +0 -9
  1038. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/CollapseLabel/index.js +0 -11
  1039. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsButton/index.js +0 -58
  1040. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/index.js +0 -72
  1041. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/ActionRow/utils/options.js +0 -31
  1042. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +0 -161
  1043. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +0 -47
  1044. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +0 -262
  1045. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +0 -57
  1046. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +0 -228
  1047. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +0 -60
  1048. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/CarretIcon/index.js +0 -11
  1049. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/Header/index.js +0 -67
  1050. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +0 -243
  1051. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/index.js +0 -62
  1052. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/utils/generateHeadersFromActions.js +0 -12
  1053. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/index.js +0 -77
  1054. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/activeStyle.js +0 -18
  1055. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/getAvailableActions.js +0 -10
  1056. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/utils/index.js +0 -2
  1057. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapses/index.js +0 -52
  1058. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypes/index.js +0 -46
  1059. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Curve/index.js +0 -56
  1060. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +0 -94
  1061. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/findDisplayedActions.js +0 -4
  1062. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +0 -39
  1063. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/index.js +0 -2
  1064. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/HiddenAction/index.js +0 -9
  1065. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/README.md +0 -372
  1066. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/index.js +0 -185
  1067. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/init.js +0 -41
  1068. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +0 -182
  1069. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/constants.js +0 -3
  1070. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +0 -182
  1071. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +0 -48
  1072. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/findMatchingPermissions.js +0 -4
  1073. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +0 -124
  1074. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatLayoutForSettingsAndPlugins.js +0 -19
  1075. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatPermissionsToAPI.js +0 -21
  1076. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatSettingsPermissionsToAPI.js +0 -59
  1077. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/tabLabels.js +0 -24
  1078. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +0 -42
  1079. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +0 -31
  1080. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PermissionsDataManagerProvider/index.js +0 -28
  1081. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/Row/index.js +0 -77
  1082. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +0 -153
  1083. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +0 -33
  1084. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/getConditionsButtonState.js +0 -17
  1085. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/index.js +0 -2
  1086. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/index.js +0 -52
  1087. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RequiredSign/index.js +0 -12
  1088. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +0 -107
  1089. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RowLabelWithCheckbox/index.js +0 -98
  1090. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/index.js +0 -2
  1091. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +0 -20
  1092. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/getCheckboxState.js +0 -19
  1093. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/index.js +0 -3
  1094. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/removeConditionKeyFromData.js +0 -15
  1095. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.ts +0 -28
  1096. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +0 -185
  1097. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/utils/schema.js +0 -8
  1098. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/EmptyRole/index.js +0 -1
  1099. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +0 -72
  1100. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +0 -347
  1101. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/reducer.js +0 -38
  1102. package/admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js +0 -32
  1103. package/admin/src/pages/SettingsPage/pages/Roles/ProtectedListPage/index.js +0 -19
  1104. package/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.ts +0 -5
  1105. package/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissionLayout/index.js +0 -23
  1106. package/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.ts +0 -41
  1107. package/admin/src/pages/SettingsPage/pages/SingleSignOn/SalesPage.js +0 -53
  1108. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +0 -144
  1109. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/LoadingView/index.js +0 -49
  1110. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +0 -268
  1111. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/getDateOfExpiration.js +0 -16
  1112. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/index.js +0 -4
  1113. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +0 -11
  1114. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +0 -222
  1115. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +0 -48
  1116. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedCreateView/index.js +0 -19
  1117. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedEditView/index.js +0 -19
  1118. package/admin/src/pages/SettingsPage/pages/TransferTokens/ProtectedListView/index.js +0 -19
  1119. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +0 -314
  1120. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +0 -11
  1121. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/layout.js +0 -116
  1122. package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +0 -23
  1123. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +0 -136
  1124. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js +0 -91
  1125. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +0 -271
  1126. package/admin/src/pages/SettingsPage/pages/Users/ListPage/PaginationFooter/index.js +0 -35
  1127. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +0 -201
  1128. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/displayedFilters.js +0 -29
  1129. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +0 -101
  1130. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +0 -54
  1131. package/admin/src/pages/SettingsPage/pages/Users/ProtectedListPage/index.js +0 -19
  1132. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +0 -46
  1133. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js +0 -30
  1134. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +0 -101
  1135. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/edit.js +0 -12
  1136. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/index.js +0 -3
  1137. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/profile.js +0 -36
  1138. package/admin/src/pages/SettingsPage/pages/Users/utils/validations/users/roles.js +0 -8
  1139. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableCE.js +0 -13
  1140. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +0 -1
  1141. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/Events/index.js +0 -333
  1142. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +0 -97
  1143. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +0 -109
  1144. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/TriggerContainer/index.js +0 -168
  1145. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +0 -196
  1146. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/utils/makeWebhookValidationSchema.js +0 -68
  1147. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +0 -152
  1148. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +0 -400
  1149. package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedCreateView/index.js +0 -19
  1150. package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedEditView/index.js +0 -19
  1151. package/admin/src/pages/SettingsPage/pages/Webhooks/ProtectedListView/index.js +0 -19
  1152. package/admin/src/pages/UseCasePage.tsx +0 -173
  1153. package/admin/src/plugins.js +0 -17
  1154. package/admin/src/shared/components/InjectionZone/index.js +0 -17
  1155. package/admin/src/shared/components/index.js +0 -2
  1156. package/admin/src/shared/hooks/index.js +0 -1
  1157. package/admin/src/shared/hooks/useInjectionZone/index.js +0 -11
  1158. package/admin/src/translations/ar.json +0 -898
  1159. package/admin/src/translations/ca.json +0 -692
  1160. package/admin/src/translations/cs.json +0 -269
  1161. package/admin/src/translations/de.json +0 -684
  1162. package/admin/src/translations/dk.json +0 -602
  1163. package/admin/src/translations/en.json +0 -984
  1164. package/admin/src/translations/es.json +0 -760
  1165. package/admin/src/translations/eu.json +0 -796
  1166. package/admin/src/translations/fr.json +0 -724
  1167. package/admin/src/translations/gu.json +0 -609
  1168. package/admin/src/translations/he.json +0 -302
  1169. package/admin/src/translations/hi.json +0 -690
  1170. package/admin/src/translations/hu.json +0 -796
  1171. package/admin/src/translations/id.json +0 -426
  1172. package/admin/src/translations/it.json +0 -437
  1173. package/admin/src/translations/ja.json +0 -601
  1174. package/admin/src/translations/ko.json +0 -599
  1175. package/admin/src/translations/languageNativeNames.js +0 -38
  1176. package/admin/src/translations/ml.json +0 -690
  1177. package/admin/src/translations/ms.json +0 -320
  1178. package/admin/src/translations/nl.json +0 -792
  1179. package/admin/src/translations/no.json +0 -288
  1180. package/admin/src/translations/pl.json +0 -689
  1181. package/admin/src/translations/pt-BR.json +0 -758
  1182. package/admin/src/translations/pt.json +0 -276
  1183. package/admin/src/translations/ru.json +0 -906
  1184. package/admin/src/translations/sa.json +0 -690
  1185. package/admin/src/translations/sk.json +0 -654
  1186. package/admin/src/translations/sv.json +0 -791
  1187. package/admin/src/translations/th.json +0 -408
  1188. package/admin/src/translations/tr.json +0 -749
  1189. package/admin/src/translations/uk.json +0 -321
  1190. package/admin/src/translations/vi.json +0 -276
  1191. package/admin/src/translations/zh-Hans.json +0 -919
  1192. package/admin/src/translations/zh.json +0 -800
  1193. package/admin/src/types/adminAPI.ts +0 -29
  1194. package/admin/src/utils/createRoute.tsx +0 -54
  1195. package/admin/src/utils/formatAPIErrors.ts +0 -18
  1196. package/admin/src/utils/getFullName.ts +0 -3
  1197. package/admin/src/utils/hashAdminUserEmail.ts +0 -25
  1198. package/admin/src/utils/makeUniqueRoutes.ts +0 -11
  1199. package/admin/tsconfig.build.json +0 -4
  1200. package/admin/tsconfig.json +0 -11
  1201. package/build/0cd5f8915b265d5b1856.png +0 -0
  1202. package/build/1049.ecc10c97.chunk.js +0 -1
  1203. package/build/1217.96155682.chunk.js +0 -35
  1204. package/build/1227.947ceaf9.chunk.js +0 -1
  1205. package/build/1306.2699df52.chunk.js +0 -79
  1206. package/build/135.ad267b59.chunk.js +0 -1
  1207. package/build/1386.eabd8a1e.chunk.js +0 -7
  1208. package/build/1727.b49f0713.chunk.js +0 -1
  1209. package/build/1835.eaa696ba.chunk.js +0 -1
  1210. package/build/19eb2dfcf2603eb55733.png +0 -0
  1211. package/build/2325.d705b39a.chunk.js +0 -1
  1212. package/build/2379.7ce8e110.chunk.js +0 -1
  1213. package/build/2395.acb961a8.chunk.js +0 -26
  1214. package/build/2421.79e5b3d0.chunk.js +0 -1
  1215. package/build/267.073a3bcb.chunk.js +0 -1
  1216. package/build/27d16aefee06412db90a.png +0 -0
  1217. package/build/2801.4711ea5a.chunk.js +0 -1
  1218. package/build/2878.145ebf7c.chunk.js +0 -1
  1219. package/build/2950.216f2e89.chunk.js +0 -1
  1220. package/build/2953.284a63c0.chunk.js +0 -1
  1221. package/build/3019.fde2e1be.chunk.js +0 -181
  1222. package/build/3100.2ba4df95.chunk.js +0 -1
  1223. package/build/311.cb0884bb.chunk.js +0 -1
  1224. package/build/3460.8644e608.chunk.js +0 -146
  1225. package/build/3483.db8c1520.chunk.js +0 -1
  1226. package/build/3911.488fbde3.chunk.js +0 -95
  1227. package/build/4174.49cedb6a.chunk.js +0 -1
  1228. package/build/4429.7f044dc7.chunk.js +0 -1
  1229. package/build/4555.c883d697.chunk.js +0 -1
  1230. package/build/4663.b906cc10.chunk.js +0 -1
  1231. package/build/4732.149f5f8f.chunk.js +0 -1
  1232. package/build/4916.480053a6.chunk.js +0 -1
  1233. package/build/4996.d285c30b.chunk.js +0 -1
  1234. package/build/502.f536f78b.chunk.js +0 -1
  1235. package/build/570.2f3b4c56.chunk.js +0 -1
  1236. package/build/5858.493b31ec.chunk.js +0 -1
  1237. package/build/6158.c3c13c20.chunk.js +0 -1
  1238. package/build/6345.334e7678.chunk.js +0 -1
  1239. package/build/6453.4160b5b7.chunk.js +0 -1
  1240. package/build/7030.b98dcedf.chunk.js +0 -1
  1241. package/build/70674f63fc3904c20de0.svg +0 -7
  1242. package/build/7448.6fd14dd3.chunk.js +0 -1
  1243. package/build/7464.579564ac.chunk.js +0 -1
  1244. package/build/7735.9e7c9fdd.chunk.js +0 -10
  1245. package/build/78.dcc6df5c.chunk.js +0 -1
  1246. package/build/7811.fdbe09af.chunk.js +0 -103
  1247. package/build/782.7243b183.chunk.js +0 -1
  1248. package/build/7849.2a500ed8.chunk.js +0 -1
  1249. package/build/7897.63ba0a00.chunk.js +0 -6
  1250. package/build/7e9af4fb7e723fcebf1f.svg +0 -48
  1251. package/build/8162.7d1100a0.chunk.js +0 -1
  1252. package/build/8276.9abe4679.chunk.js +0 -26
  1253. package/build/8773.ee67141c.chunk.js +0 -48
  1254. package/build/8980.f0045cc1.chunk.js +0 -1
  1255. package/build/9077.2cc01ac8.chunk.js +0 -105
  1256. package/build/9153.42c1428a.chunk.js +0 -1
  1257. package/build/918.54414509.chunk.js +0 -1
  1258. package/build/9218.b2d367f8.chunk.js +0 -1
  1259. package/build/9285.5f174057.chunk.js +0 -1
  1260. package/build/9547.62987774.chunk.js +0 -1
  1261. package/build/9754.b4e73779.chunk.js +0 -1
  1262. package/build/9d5d788027e86620c234.svg +0 -5
  1263. package/build/Admin-authenticatedApp.059dc48f.chunk.js +0 -79
  1264. package/build/Admin_InternalErrorPage.06eeef20.chunk.js +0 -1
  1265. package/build/Admin_homePage.56b9eb3f.chunk.js +0 -81
  1266. package/build/Admin_marketplace.d693a435.chunk.js +0 -44
  1267. package/build/Admin_pluginsPage.ae2c872a.chunk.js +0 -6
  1268. package/build/Admin_profilePage.89099d5b.chunk.js +0 -13
  1269. package/build/Admin_settingsPage.88c45586.chunk.js +0 -12
  1270. package/build/Upload_ConfigureTheView.44f28145.chunk.js +0 -1
  1271. package/build/admin-app.990e112f.chunk.js +0 -69
  1272. package/build/admin-edit-roles-page.4e1eb4a9.chunk.js +0 -267
  1273. package/build/admin-edit-users.5b91404e.chunk.js +0 -10
  1274. package/build/admin-roles-list.89dd94fe.chunk.js +0 -22
  1275. package/build/admin-users.7be4fc5f.chunk.js +0 -11
  1276. package/build/api-tokens-create-page.571920e5.chunk.js +0 -1
  1277. package/build/api-tokens-edit-page.cbdc81b1.chunk.js +0 -1
  1278. package/build/api-tokens-list-page.de0c49e8.chunk.js +0 -16
  1279. package/build/ar-json.74e40bc7.chunk.js +0 -1
  1280. package/build/audit-logs-sales-page.2955db88.chunk.js +0 -1
  1281. package/build/audit-logs-settings-page.b0cb5164.chunk.js +0 -1
  1282. package/build/bb3108f7fd1e6179bde1.svg +0 -1
  1283. package/build/bb4d0d527bdfb161bc5a.svg +0 -1
  1284. package/build/ca-json.fc6001d3.chunk.js +0 -1
  1285. package/build/content-manager.de7ae330.chunk.js +0 -1241
  1286. package/build/content-type-builder-list-view.6c8d3213.chunk.js +0 -211
  1287. package/build/content-type-builder-translation-ar-json.3e808e2f.chunk.js +0 -1
  1288. package/build/content-type-builder-translation-cs-json.1ef9e106.chunk.js +0 -1
  1289. package/build/content-type-builder-translation-de-json.63fcff7b.chunk.js +0 -1
  1290. package/build/content-type-builder-translation-dk-json.fd626b67.chunk.js +0 -1
  1291. package/build/content-type-builder-translation-en-json.74d80f18.chunk.js +0 -1
  1292. package/build/content-type-builder-translation-es-json.a4a361a9.chunk.js +0 -1
  1293. package/build/content-type-builder-translation-fr-json.499c3a46.chunk.js +0 -1
  1294. package/build/content-type-builder-translation-id-json.65255f93.chunk.js +0 -1
  1295. package/build/content-type-builder-translation-it-json.e268ab74.chunk.js +0 -1
  1296. package/build/content-type-builder-translation-ja-json.9be0d5b2.chunk.js +0 -1
  1297. package/build/content-type-builder-translation-ko-json.04cb309d.chunk.js +0 -1
  1298. package/build/content-type-builder-translation-ms-json.f6b743b9.chunk.js +0 -1
  1299. package/build/content-type-builder-translation-nl-json.997fe8cc.chunk.js +0 -1
  1300. package/build/content-type-builder-translation-pl-json.634f638b.chunk.js +0 -1
  1301. package/build/content-type-builder-translation-pt-BR-json.6a95dc71.chunk.js +0 -1
  1302. package/build/content-type-builder-translation-pt-json.ddb44f8c.chunk.js +0 -1
  1303. package/build/content-type-builder-translation-ru-json.3af65503.chunk.js +0 -1
  1304. package/build/content-type-builder-translation-sk-json.c6078082.chunk.js +0 -1
  1305. package/build/content-type-builder-translation-sv-json.a6df2462.chunk.js +0 -1
  1306. package/build/content-type-builder-translation-th-json.122277cc.chunk.js +0 -1
  1307. package/build/content-type-builder-translation-tr-json.41f44f77.chunk.js +0 -1
  1308. package/build/content-type-builder-translation-uk-json.e1315acd.chunk.js +0 -1
  1309. package/build/content-type-builder-translation-zh-Hans-json.6ff57db6.chunk.js +0 -1
  1310. package/build/content-type-builder-translation-zh-json.3532b962.chunk.js +0 -1
  1311. package/build/content-type-builder.0bc97051.chunk.js +0 -136
  1312. package/build/cs-json.4b44411c.chunk.js +0 -1
  1313. package/build/de-json.e72545cf.chunk.js +0 -1
  1314. package/build/dk-json.e77140ef.chunk.js +0 -1
  1315. package/build/email-settings-page.07712efc.chunk.js +0 -11
  1316. package/build/en-json.5b907f67.chunk.js +0 -1
  1317. package/build/es-json.b1f2284b.chunk.js +0 -1
  1318. package/build/eu-json.63d0a898.chunk.js +0 -1
  1319. package/build/fr-json.33c6428b.chunk.js +0 -1
  1320. package/build/gu-json.7efe8cc2.chunk.js +0 -1
  1321. package/build/he-json.3cf0b48a.chunk.js +0 -1
  1322. package/build/hi-json.0d633692.chunk.js +0 -1
  1323. package/build/highlight.js.28a1547e.chunk.js +0 -85
  1324. package/build/hu-json.c74b6a1e.chunk.js +0 -1
  1325. package/build/i18n-settings-page.5c34f012.chunk.js +0 -9
  1326. package/build/i18n-translation-de-json.362384a6.chunk.js +0 -1
  1327. package/build/i18n-translation-dk-json.89401417.chunk.js +0 -1
  1328. package/build/i18n-translation-en-json.1ec7becf.chunk.js +0 -1
  1329. package/build/i18n-translation-es-json.87b494d1.chunk.js +0 -1
  1330. package/build/i18n-translation-fr-json.57ddc77e.chunk.js +0 -1
  1331. package/build/i18n-translation-ko-json.ef4f9471.chunk.js +0 -1
  1332. package/build/i18n-translation-pl-json.dfac513d.chunk.js +0 -1
  1333. package/build/i18n-translation-ru-json.a3dbc125.chunk.js +0 -1
  1334. package/build/i18n-translation-tr-json.3bfc812f.chunk.js +0 -1
  1335. package/build/i18n-translation-zh-Hans-json.757ce62d.chunk.js +0 -1
  1336. package/build/i18n-translation-zh-json.bef2dc07.chunk.js +0 -1
  1337. package/build/id-json.41e07c46.chunk.js +0 -1
  1338. package/build/index.html +0 -1
  1339. package/build/it-json.bfe27ed8.chunk.js +0 -1
  1340. package/build/ja-json.e1959a1c.chunk.js +0 -1
  1341. package/build/ko-json.ce5d6d94.chunk.js +0 -1
  1342. package/build/main.f84563f1.js +0 -2665
  1343. package/build/ml-json.940d7ace.chunk.js +0 -1
  1344. package/build/ms-json.0eddffd9.chunk.js +0 -1
  1345. package/build/nl-json.fe38f0fb.chunk.js +0 -1
  1346. package/build/no-json.19a2dbfa.chunk.js +0 -1
  1347. package/build/pl-json.d55e8e78.chunk.js +0 -1
  1348. package/build/pt-BR-json.ae0a0d2e.chunk.js +0 -1
  1349. package/build/pt-json.ee554a41.chunk.js +0 -1
  1350. package/build/review-workflows-sales-page.f46a8f00.chunk.js +0 -1
  1351. package/build/review-workflows-settings-create-view.d0544fb0.chunk.js +0 -1
  1352. package/build/review-workflows-settings-edit-view.aabf49ef.chunk.js +0 -1
  1353. package/build/review-workflows-settings-list-view.8b0525ab.chunk.js +0 -56
  1354. package/build/ru-json.1c976644.chunk.js +0 -1
  1355. package/build/runtime~main.270fd45f.js +0 -2
  1356. package/build/sa-json.2c03ef4e.chunk.js +0 -1
  1357. package/build/sk-json.b41847e8.chunk.js +0 -1
  1358. package/build/sso-sales-page.ef22e469.chunk.js +0 -1
  1359. package/build/sso-settings-page.21e16ae4.chunk.js +0 -1
  1360. package/build/sv-json.568cb7ae.chunk.js +0 -1
  1361. package/build/th-json.5f659396.chunk.js +0 -1
  1362. package/build/tr-json.c9f22432.chunk.js +0 -1
  1363. package/build/transfer-tokens-create-page.3366204d.chunk.js +0 -1
  1364. package/build/transfer-tokens-edit-page.15cf0f73.chunk.js +0 -1
  1365. package/build/transfer-tokens-list-page.0bc0e682.chunk.js +0 -16
  1366. package/build/uk-json.b7e38370.chunk.js +0 -1
  1367. package/build/upload-settings.1319dca0.chunk.js +0 -14
  1368. package/build/upload-translation-ca-json.57954414.chunk.js +0 -1
  1369. package/build/upload-translation-de-json.420c943b.chunk.js +0 -1
  1370. package/build/upload-translation-dk-json.bbb2fa05.chunk.js +0 -1
  1371. package/build/upload-translation-en-json.8b7573ce.chunk.js +0 -1
  1372. package/build/upload-translation-es-json.ba2eb03a.chunk.js +0 -1
  1373. package/build/upload-translation-fr-json.baab9911.chunk.js +0 -1
  1374. package/build/upload-translation-he-json.0a830937.chunk.js +0 -1
  1375. package/build/upload-translation-it-json.e87d7966.chunk.js +0 -1
  1376. package/build/upload-translation-ja-json.44b88e7a.chunk.js +0 -1
  1377. package/build/upload-translation-ko-json.a52eab64.chunk.js +0 -1
  1378. package/build/upload-translation-ms-json.74f6d746.chunk.js +0 -1
  1379. package/build/upload-translation-pl-json.426f31c9.chunk.js +0 -1
  1380. package/build/upload-translation-pt-BR-json.d1704f0b.chunk.js +0 -1
  1381. package/build/upload-translation-pt-json.6b937fdf.chunk.js +0 -1
  1382. package/build/upload-translation-ru-json.675f6b93.chunk.js +0 -1
  1383. package/build/upload-translation-sk-json.483a18f6.chunk.js +0 -1
  1384. package/build/upload-translation-th-json.98d35574.chunk.js +0 -1
  1385. package/build/upload-translation-tr-json.74117e5c.chunk.js +0 -1
  1386. package/build/upload-translation-uk-json.9950466a.chunk.js +0 -1
  1387. package/build/upload-translation-zh-Hans-json.db163b6b.chunk.js +0 -1
  1388. package/build/upload-translation-zh-json.e1dd6eb2.chunk.js +0 -1
  1389. package/build/upload.1ced11be.chunk.js +0 -58
  1390. package/build/users-advanced-settings-page.8e657084.chunk.js +0 -9
  1391. package/build/users-email-settings-page.e57745e5.chunk.js +0 -9
  1392. package/build/users-permissions-translation-ar-json.7d87d54d.chunk.js +0 -1
  1393. package/build/users-permissions-translation-cs-json.7e23424a.chunk.js +0 -1
  1394. package/build/users-permissions-translation-de-json.a6fb670f.chunk.js +0 -1
  1395. package/build/users-permissions-translation-dk-json.60e50f48.chunk.js +0 -1
  1396. package/build/users-permissions-translation-en-json.4b302272.chunk.js +0 -1
  1397. package/build/users-permissions-translation-es-json.35007573.chunk.js +0 -1
  1398. package/build/users-permissions-translation-fr-json.7e55bbbb.chunk.js +0 -1
  1399. package/build/users-permissions-translation-id-json.a5a0fb59.chunk.js +0 -1
  1400. package/build/users-permissions-translation-it-json.0705465d.chunk.js +0 -1
  1401. package/build/users-permissions-translation-ja-json.891fe76e.chunk.js +0 -1
  1402. package/build/users-permissions-translation-ko-json.357d7a33.chunk.js +0 -1
  1403. package/build/users-permissions-translation-ms-json.c83f87c4.chunk.js +0 -1
  1404. package/build/users-permissions-translation-nl-json.c9f92a3c.chunk.js +0 -1
  1405. package/build/users-permissions-translation-pl-json.0a7287d1.chunk.js +0 -1
  1406. package/build/users-permissions-translation-pt-BR-json.1b6d2920.chunk.js +0 -1
  1407. package/build/users-permissions-translation-pt-json.a7eda429.chunk.js +0 -1
  1408. package/build/users-permissions-translation-ru-json.8e883c67.chunk.js +0 -1
  1409. package/build/users-permissions-translation-sk-json.7f37180f.chunk.js +0 -1
  1410. package/build/users-permissions-translation-sv-json.17187818.chunk.js +0 -1
  1411. package/build/users-permissions-translation-th-json.1e9c0247.chunk.js +0 -1
  1412. package/build/users-permissions-translation-tr-json.2bd7ff98.chunk.js +0 -1
  1413. package/build/users-permissions-translation-uk-json.6a0a1572.chunk.js +0 -1
  1414. package/build/users-permissions-translation-vi-json.6722a8a2.chunk.js +0 -1
  1415. package/build/users-permissions-translation-zh-Hans-json.8d82c809.chunk.js +0 -1
  1416. package/build/users-permissions-translation-zh-json.7978eaa6.chunk.js +0 -1
  1417. package/build/users-providers-settings-page.55796d13.chunk.js +0 -14
  1418. package/build/users-roles-settings-page.57079245.chunk.js +0 -55
  1419. package/build/vi-json.ee4c5537.chunk.js +0 -1
  1420. package/build/webhook-edit-page.3a28b2e7.chunk.js +0 -33
  1421. package/build/webhook-list-page.ee80767b.chunk.js +0 -63
  1422. package/build/zh-Hans-json.97efd015.chunk.js +0 -1
  1423. package/build/zh-json.bfc2e036.chunk.js +0 -1
  1424. package/doc/change-the-login-page-logo.md +0 -28
  1425. package/doc/customize-menu.md +0 -17
  1426. package/doc/disable-tracking.md +0 -16
  1427. package/ee/LICENSE +0 -1
  1428. package/ee/admin/constants.js +0 -19
  1429. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/AssigneeFilter.js +0 -42
  1430. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/StageFilter.js +0 -70
  1431. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/constants.js +0 -71
  1432. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +0 -30
  1433. package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js +0 -137
  1434. package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/index.js +0 -1
  1435. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +0 -255
  1436. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/index.js +0 -1
  1437. package/ee/admin/content-manager/pages/EditView/InformationBox/constants.js +0 -2
  1438. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +0 -1
  1439. package/ee/admin/content-manager/pages/ListSettingsView/constants.js +0 -7
  1440. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsAssigneeEE.js +0 -21
  1441. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsStageEE.js +0 -38
  1442. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +0 -51
  1443. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +0 -2
  1444. package/ee/admin/hooks/__mocks__/useLicenseLimits.js +0 -8
  1445. package/ee/admin/hooks/useAuthProviders.js +0 -25
  1446. package/ee/admin/hooks/useLicenseLimitNotification.ts +0 -99
  1447. package/ee/admin/hooks/useLicenseLimits.js +0 -37
  1448. package/ee/admin/hooks/useSettingsMenu/constants.js +0 -38
  1449. package/ee/admin/pages/App/constants.js +0 -9
  1450. package/ee/admin/pages/AuthPage/components/Login/index.js +0 -67
  1451. package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +0 -114
  1452. package/ee/admin/pages/AuthPage/components/Providers/index.js +0 -94
  1453. package/ee/admin/pages/AuthPage/constants.js +0 -12
  1454. package/ee/admin/pages/AuthResponse/index.js +0 -66
  1455. package/ee/admin/pages/HomePage/index.js +0 -11
  1456. package/ee/admin/pages/SettingsPage/constants.js +0 -73
  1457. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +0 -105
  1458. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js +0 -42
  1459. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +0 -107
  1460. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js +0 -22
  1461. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js +0 -62
  1462. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js +0 -35
  1463. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js +0 -87
  1464. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +0 -60
  1465. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js +0 -24
  1466. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +0 -110
  1467. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js +0 -34
  1468. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +0 -107
  1469. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +0 -38
  1470. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js +0 -19
  1471. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +0 -113
  1472. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +0 -87
  1473. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +0 -1
  1474. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/Layout.js +0 -65
  1475. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/index.js +0 -1
  1476. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/LimitsModal.js +0 -111
  1477. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/assets/balloon.png +0 -0
  1478. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/index.js +0 -3
  1479. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/StageDragPreview.js +0 -46
  1480. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview/index.js +0 -1
  1481. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +0 -569
  1482. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +0 -1
  1483. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +0 -99
  1484. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +0 -1
  1485. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +0 -186
  1486. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/index.js +0 -1
  1487. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +0 -43
  1488. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +0 -50
  1489. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js +0 -36
  1490. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +0 -394
  1491. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/index.js +0 -18
  1492. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +0 -467
  1493. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/index.js +0 -18
  1494. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +0 -399
  1495. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/index.js +0 -18
  1496. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +0 -221
  1497. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/selectors.js +0 -45
  1498. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.js +0 -39
  1499. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.js +0 -100
  1500. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +0 -244
  1501. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/utils/schema.js +0 -19
  1502. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +0 -59
  1503. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/constants.js +0 -30
  1504. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +0 -11
  1505. package/ee/admin/pages/SettingsPage/pages/Users/components/MagicLink/index.js +0 -43
  1506. package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableEE.js +0 -22
  1507. package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +0 -1
  1508. package/ee/admin/permissions/customPermissions.js +0 -18
  1509. package/env.js +0 -42
  1510. package/index.html +0 -16
  1511. package/jest.config.front.js +0 -11
  1512. package/scripts/build.js +0 -122
  1513. package/scripts/create-dev-plugins-file.js +0 -33
  1514. package/shared/entities.ts +0 -33
  1515. package/shared/permissions.ts +0 -52
  1516. package/shared/schema.ts +0 -9
  1517. package/utils/create-cache-dir.js +0 -80
  1518. package/utils/get-custom-app-config-file.js +0 -33
  1519. package/utils/get-custom-webpack-config.js +0 -38
  1520. package/utils/index.js +0 -13
  1521. package/utils/plugins.js +0 -223
  1522. package/utils/should-build-admin.js +0 -52
  1523. package/utils/watch-admin-files.js +0 -59
  1524. package/webpack.alias.js +0 -40
  1525. package/webpack.config.js +0 -174
@@ -0,0 +1,3536 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const helperPlugin = require("@strapi/helper-plugin");
4
+ const client = require("react-dom/client");
5
+ const designSystem = require("@strapi/design-system");
6
+ const invariant = require("invariant");
7
+ const isFunction = require("lodash/isFunction");
8
+ const merge = require("lodash/merge");
9
+ const pick = require("lodash/pick");
10
+ const reactHelmet = require("react-helmet");
11
+ const reactRouterDom = require("react-router-dom");
12
+ const React = require("react");
13
+ const reactIntl = require("react-intl");
14
+ const reactRedux = require("react-redux");
15
+ const reactContext = require("@radix-ui/react-context");
16
+ const axios = require("axios");
17
+ const camelCase = require("lodash/camelCase");
18
+ const get = require("lodash/get");
19
+ const omit = require("lodash/omit");
20
+ const PropTypes = require("prop-types");
21
+ const defaultsDeep = require("lodash/defaultsDeep");
22
+ const styled = require("styled-components");
23
+ const Icons = require("@strapi/icons");
24
+ const formik = require("formik");
25
+ const yup = require("yup");
26
+ const reactQuery = require("react-query");
27
+ const produce = require("immer");
28
+ const set = require("lodash/set");
29
+ const qs = require("qs");
30
+ const toolkit = require("@reduxjs/toolkit");
31
+ const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
32
+ function _interopNamespace(e) {
33
+ if (e && e.__esModule)
34
+ return e;
35
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
36
+ if (e) {
37
+ for (const k in e) {
38
+ if (k !== "default") {
39
+ const d = Object.getOwnPropertyDescriptor(e, k);
40
+ Object.defineProperty(n, k, d.get ? d : {
41
+ enumerable: true,
42
+ get: () => e[k]
43
+ });
44
+ }
45
+ }
46
+ }
47
+ n.default = e;
48
+ return Object.freeze(n);
49
+ }
50
+ const invariant__default = /* @__PURE__ */ _interopDefault(invariant);
51
+ const isFunction__default = /* @__PURE__ */ _interopDefault(isFunction);
52
+ const merge__default = /* @__PURE__ */ _interopDefault(merge);
53
+ const pick__default = /* @__PURE__ */ _interopDefault(pick);
54
+ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
55
+ const axios__default = /* @__PURE__ */ _interopDefault(axios);
56
+ const camelCase__default = /* @__PURE__ */ _interopDefault(camelCase);
57
+ const get__default = /* @__PURE__ */ _interopDefault(get);
58
+ const omit__default = /* @__PURE__ */ _interopDefault(omit);
59
+ const PropTypes__default = /* @__PURE__ */ _interopDefault(PropTypes);
60
+ const defaultsDeep__default = /* @__PURE__ */ _interopDefault(defaultsDeep);
61
+ const styled__default = /* @__PURE__ */ _interopDefault(styled);
62
+ const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
63
+ const produce__default = /* @__PURE__ */ _interopDefault(produce);
64
+ const set__default = /* @__PURE__ */ _interopDefault(set);
65
+ const styles = `
66
+ .strapi--root {
67
+ position: absolute;
68
+ top: 0;
69
+ right: 0;
70
+ left: 0;
71
+ bottom: 0;
72
+ background: #fff;
73
+ }
74
+
75
+ .strapi--no-js {
76
+ position: absolute;
77
+ top: 50%;
78
+ left: 50%;
79
+ transform: translate(-50%, -50%);
80
+ text-align: center;
81
+ font-family: helvetica, arial, sans-serif;
82
+ }
83
+ `;
84
+ const NoJavascript = () => {
85
+ return /* @__PURE__ */ jsxRuntime.jsx("noscript", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "strapi--root", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "strapi--no-js", children: [
86
+ /* @__PURE__ */ jsxRuntime.jsx("style", { type: "text/css", children: styles }),
87
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { children: "JavaScript disabled" }),
88
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
89
+ "Please ",
90
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: "https://www.enable-javascript.com/", children: "enable JavaScript" }),
91
+ " in your browser and reload the page to proceed."
92
+ ] })
93
+ ] }) }) });
94
+ };
95
+ const globalStyles = `
96
+ html,
97
+ body,
98
+ #strapi {
99
+ height: 100%;
100
+ }
101
+ body {
102
+ margin: 0;
103
+ -webkit-font-smoothing: antialiased;
104
+ }
105
+ `;
106
+ const DefaultDocument = () => {
107
+ return /* @__PURE__ */ jsxRuntime.jsxs("html", { lang: "en", children: [
108
+ /* @__PURE__ */ jsxRuntime.jsxs("head", { children: [
109
+ /* @__PURE__ */ jsxRuntime.jsx("meta", { charSet: "utf-8" }),
110
+ /* @__PURE__ */ jsxRuntime.jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1, viewport-fit=cover" }),
111
+ /* @__PURE__ */ jsxRuntime.jsx("meta", { name: "robots", content: "noindex" }),
112
+ /* @__PURE__ */ jsxRuntime.jsx("meta", { name: "referrer", content: "same-origin" }),
113
+ /* @__PURE__ */ jsxRuntime.jsx("title", { children: "Strapi Admin" }),
114
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: globalStyles })
115
+ ] }),
116
+ /* @__PURE__ */ jsxRuntime.jsxs("body", { children: [
117
+ /* @__PURE__ */ jsxRuntime.jsx("div", { id: "strapi" }),
118
+ /* @__PURE__ */ jsxRuntime.jsx(NoJavascript, {})
119
+ ] })
120
+ ] });
121
+ };
122
+ const __variableDynamicImportRuntimeHelper = (glob, path) => {
123
+ const v = glob[path];
124
+ if (v) {
125
+ return typeof v === "function" ? v() : Promise.resolve(v);
126
+ }
127
+ return new Promise((_, reject) => {
128
+ (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
129
+ });
130
+ };
131
+ const PrivateRoute = ({
132
+ component: Component,
133
+ path,
134
+ ...rest
135
+ }) => {
136
+ const { pathname, search } = reactRouterDom.useLocation();
137
+ return /* @__PURE__ */ jsxRuntime.jsx(
138
+ reactRouterDom.Route,
139
+ {
140
+ path,
141
+ render: (props) => helperPlugin.auth.getToken() !== null ? /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest, ...props }) : /* @__PURE__ */ jsxRuntime.jsx(
142
+ reactRouterDom.Redirect,
143
+ {
144
+ to: {
145
+ pathname: "/auth/login",
146
+ search: pathname !== "/" ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}` : void 0
147
+ }
148
+ }
149
+ )
150
+ }
151
+ );
152
+ };
153
+ const ADMIN_PERMISSIONS_CE = {
154
+ contentManager: {
155
+ main: [],
156
+ collectionTypesConfigurations: [
157
+ {
158
+ action: "plugin::content-manager.collection-types.configure-view",
159
+ subject: null
160
+ }
161
+ ],
162
+ componentsConfigurations: [
163
+ {
164
+ action: "plugin::content-manager.components.configure-layout",
165
+ subject: null
166
+ }
167
+ ],
168
+ singleTypesConfigurations: [
169
+ {
170
+ action: "plugin::content-manager.single-types.configure-view",
171
+ subject: null
172
+ }
173
+ ]
174
+ },
175
+ marketplace: {
176
+ main: [{ action: "admin::marketplace.read", subject: null }],
177
+ read: [{ action: "admin::marketplace.read", subject: null }]
178
+ },
179
+ settings: {
180
+ roles: {
181
+ main: [
182
+ { action: "admin::roles.create", subject: null },
183
+ { action: "admin::roles.update", subject: null },
184
+ { action: "admin::roles.read", subject: null },
185
+ { action: "admin::roles.delete", subject: null }
186
+ ],
187
+ create: [{ action: "admin::roles.create", subject: null }],
188
+ delete: [{ action: "admin::roles.delete", subject: null }],
189
+ read: [{ action: "admin::roles.read", subject: null }],
190
+ update: [{ action: "admin::roles.update", subject: null }]
191
+ },
192
+ users: {
193
+ main: [
194
+ { action: "admin::users.create", subject: null },
195
+ { action: "admin::users.read", subject: null },
196
+ { action: "admin::users.update", subject: null },
197
+ { action: "admin::users.delete", subject: null }
198
+ ],
199
+ create: [{ action: "admin::users.create", subject: null }],
200
+ delete: [{ action: "admin::users.delete", subject: null }],
201
+ read: [{ action: "admin::users.read", subject: null }],
202
+ update: [{ action: "admin::users.update", subject: null }]
203
+ },
204
+ webhooks: {
205
+ main: [
206
+ { action: "admin::webhooks.create", subject: null },
207
+ { action: "admin::webhooks.read", subject: null },
208
+ { action: "admin::webhooks.update", subject: null },
209
+ { action: "admin::webhooks.delete", subject: null }
210
+ ],
211
+ create: [{ action: "admin::webhooks.create", subject: null }],
212
+ delete: [{ action: "admin::webhooks.delete", subject: null }],
213
+ read: [
214
+ { action: "admin::webhooks.read", subject: null },
215
+ // NOTE: We need to check with the API
216
+ { action: "admin::webhooks.update", subject: null },
217
+ { action: "admin::webhooks.delete", subject: null }
218
+ ],
219
+ update: [{ action: "admin::webhooks.update", subject: null }]
220
+ },
221
+ "api-tokens": {
222
+ main: [{ action: "admin::api-tokens.access", subject: null }],
223
+ create: [{ action: "admin::api-tokens.create", subject: null }],
224
+ delete: [{ action: "admin::api-tokens.delete", subject: null }],
225
+ read: [{ action: "admin::api-tokens.read", subject: null }],
226
+ update: [{ action: "admin::api-tokens.update", subject: null }],
227
+ regenerate: [{ action: "admin::api-tokens.regenerate", subject: null }]
228
+ },
229
+ "transfer-tokens": {
230
+ main: [{ action: "admin::transfer.tokens.access", subject: null }],
231
+ create: [{ action: "admin::transfer.tokens.create", subject: null }],
232
+ delete: [{ action: "admin::transfer.tokens.delete", subject: null }],
233
+ read: [{ action: "admin::transfer.tokens.read", subject: null }],
234
+ update: [{ action: "admin::transfer.tokens.update", subject: null }],
235
+ regenerate: [{ action: "admin::transfer.tokens.regenerate", subject: null }]
236
+ },
237
+ "project-settings": {
238
+ read: [{ action: "admin::project-settings.read", subject: null }],
239
+ update: [{ action: "admin::project-settings.update", subject: null }]
240
+ }
241
+ }
242
+ };
243
+ const HOOKS = {
244
+ /**
245
+ * Hook that allows to mutate the displayed headers of the list view table
246
+ * @constant
247
+ * @type {string}
248
+ */
249
+ INJECT_COLUMN_IN_TABLE: "Admin/CM/pages/ListView/inject-column-in-table",
250
+ /**
251
+ * Hook that allows to mutate the CM's collection types links pre-set filters
252
+ * @constant
253
+ * @type {string}
254
+ */
255
+ MUTATE_COLLECTION_TYPES_LINKS: "Admin/CM/pages/App/mutate-collection-types-links",
256
+ /**
257
+ * Hook that allows to mutate the CM's edit view layout
258
+ * @constant
259
+ * @type {string}
260
+ */
261
+ MUTATE_EDIT_VIEW_LAYOUT: "Admin/CM/pages/EditView/mutate-edit-view-layout",
262
+ /**
263
+ * Hook that allows to mutate the CM's single types links pre-set filters
264
+ * @constant
265
+ * @type {string}
266
+ */
267
+ MUTATE_SINGLE_TYPES_LINKS: "Admin/CM/pages/App/mutate-single-types-links"
268
+ };
269
+ const ACTION_SET_APP_RUNTIME_STATUS = "StrapiAdmin/APP/SET_APP_RUNTIME_STATUS";
270
+ const ACTION_SET_ADMIN_PERMISSIONS = "StrapiAdmin/App/SET_ADMIN_PERMISSIONS";
271
+ const [ConfigurationContextProvider, useConfigurationContext] = reactContext.createContext("ConfigurationContext");
272
+ const useConfiguration = () => useConfigurationContext("useConfiguration");
273
+ function isEnterprise() {
274
+ return window.strapi.isEE;
275
+ }
276
+ function useEnterprise(ceData, eeCallback, {
277
+ defaultValue = null,
278
+ combine = (ceData2, eeData) => eeData,
279
+ enabled = true
280
+ } = {}) {
281
+ const eeCallbackRef = helperPlugin.useCallbackRef(eeCallback);
282
+ const combineCallbackRef = helperPlugin.useCallbackRef(combine);
283
+ const [{ data }, setData] = React__namespace.useState({
284
+ data: isEnterprise() && enabled ? defaultValue : ceData
285
+ });
286
+ React__namespace.useEffect(() => {
287
+ async function importEE() {
288
+ const eeData = await eeCallbackRef();
289
+ setData({ data: combineCallbackRef(ceData, eeData) });
290
+ }
291
+ if (isEnterprise() && enabled) {
292
+ importEE();
293
+ }
294
+ }, [ceData, eeCallbackRef, combineCallbackRef, enabled]);
295
+ return data;
296
+ }
297
+ const [LocalesContextProvider, useLocalesContext] = reactContext.createContext("LocalesContext");
298
+ const useLocales = () => useLocalesContext("useLocales");
299
+ const LANGUAGE_LOCAL_STORAGE_KEY = "strapi-admin-language";
300
+ const LanguageProvider = ({ children, localeNames, messages }) => {
301
+ const [{ locale }, dispatch] = React__namespace.useReducer(
302
+ reducer$3,
303
+ initialState$8,
304
+ () => {
305
+ const languageFromLocaleStorage = window.localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY);
306
+ if (languageFromLocaleStorage && localeNames[languageFromLocaleStorage]) {
307
+ return {
308
+ locale: languageFromLocaleStorage,
309
+ localeNames
310
+ };
311
+ } else {
312
+ return {
313
+ locale: "en",
314
+ localeNames
315
+ };
316
+ }
317
+ }
318
+ );
319
+ React__namespace.useEffect(() => {
320
+ window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, locale);
321
+ document.documentElement.setAttribute("lang", locale);
322
+ }, [locale]);
323
+ const changeLocale = React__namespace.useCallback((locale2) => {
324
+ dispatch({
325
+ type: "CHANGE_LOCALE",
326
+ locale: locale2
327
+ });
328
+ }, []);
329
+ const appMessages = defaultsDeep__default.default(messages[locale], messages.en);
330
+ return /* @__PURE__ */ jsxRuntime.jsx(reactIntl.IntlProvider, { locale, defaultLocale: "en", messages: appMessages, textComponent: "span", children: /* @__PURE__ */ jsxRuntime.jsx(LocalesContextProvider, { changeLocale, localeNames, children }) });
331
+ };
332
+ const initialState$8 = {
333
+ localeNames: { en: "English" },
334
+ locale: "en"
335
+ };
336
+ const reducer$3 = (state = initialState$8, action) => {
337
+ switch (action.type) {
338
+ case "CHANGE_LOCALE": {
339
+ const { locale } = action;
340
+ if (!state.localeNames[locale]) {
341
+ return state;
342
+ }
343
+ return { ...state, locale };
344
+ }
345
+ default: {
346
+ return state;
347
+ }
348
+ }
349
+ };
350
+ const formatAPIErrors = ({ data }) => {
351
+ try {
352
+ return Object.keys(data).reduce(
353
+ (acc, current) => {
354
+ const errorMessage = data[current][0];
355
+ acc[current] = {
356
+ id: errorMessage,
357
+ defaultMessage: errorMessage
358
+ };
359
+ return acc;
360
+ },
361
+ {}
362
+ );
363
+ } catch (err) {
364
+ return {};
365
+ }
366
+ };
367
+ const Wrapper = styled__default.default(designSystem.Box)`
368
+ margin: 0 auto;
369
+ width: 552px;
370
+ `;
371
+ const Column = styled__default.default(designSystem.Flex)`
372
+ flex-direction: column;
373
+ `;
374
+ const LocaleToggle = () => {
375
+ const { changeLocale, localeNames } = useLocales();
376
+ const { formatMessage, locale } = reactIntl.useIntl();
377
+ return /* @__PURE__ */ jsxRuntime.jsx(
378
+ designSystem.SingleSelect,
379
+ {
380
+ "aria-label": formatMessage({
381
+ id: "global.localeToggle.label",
382
+ defaultMessage: "Select interface language"
383
+ }),
384
+ value: locale,
385
+ onChange: (language) => {
386
+ changeLocale(language);
387
+ },
388
+ children: Object.entries(localeNames).map(([language, name]) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: language, children: name }, language))
389
+ }
390
+ );
391
+ };
392
+ const LayoutContent = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(
393
+ Wrapper,
394
+ {
395
+ shadow: "tableShadow",
396
+ hasRadius: true,
397
+ paddingTop: 9,
398
+ paddingBottom: 9,
399
+ paddingLeft: 10,
400
+ paddingRight: 10,
401
+ background: "neutral0",
402
+ children
403
+ }
404
+ );
405
+ const UnauthenticatedLayout = ({ children }) => {
406
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
407
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { as: "header", justifyContent: "flex-end", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingRight: 8, children: /* @__PURE__ */ jsxRuntime.jsx(LocaleToggle, {}) }) }),
408
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 2, paddingBottom: 11, children })
409
+ ] });
410
+ };
411
+ const Img = styled__default.default.img`
412
+ height: ${72 / 16}rem;
413
+ `;
414
+ const Logo = () => {
415
+ const {
416
+ logos: { auth }
417
+ } = useConfiguration();
418
+ return /* @__PURE__ */ jsxRuntime.jsx(Img, { src: auth?.custom ?? auth.default, "aria-hidden": true, alt: "" });
419
+ };
420
+ const FieldActionWrapper = styled__default.default(designSystem.FieldAction)`
421
+ svg {
422
+ height: 1rem;
423
+ width: 1rem;
424
+ path {
425
+ fill: ${({ theme }) => theme.colors.neutral600};
426
+ }
427
+ }
428
+ `;
429
+ const PasswordInput$2 = styled__default.default(designSystem.TextInput)`
430
+ ::-ms-reveal {
431
+ display: none;
432
+ }
433
+ `;
434
+ const Login = ({ onSubmit, schema, children }) => {
435
+ const [passwordShown, setPasswordShown] = React.useState(false);
436
+ const { formatMessage } = reactIntl.useIntl();
437
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
438
+ /* @__PURE__ */ jsxRuntime.jsxs(LayoutContent, { children: [
439
+ /* @__PURE__ */ jsxRuntime.jsx(
440
+ formik.Formik,
441
+ {
442
+ enableReinitialize: true,
443
+ initialValues: {
444
+ email: "",
445
+ password: "",
446
+ rememberMe: false
447
+ },
448
+ onSubmit,
449
+ validationSchema: schema,
450
+ validateOnChange: false,
451
+ children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsxRuntime.jsxs(helperPlugin.Form, { noValidate: true, children: [
452
+ /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
453
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
454
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", as: "h1", children: formatMessage({
455
+ id: "Auth.form.welcome.title",
456
+ defaultMessage: "Welcome!"
457
+ }) }) }),
458
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage({
459
+ id: "Auth.form.welcome.subtitle",
460
+ defaultMessage: "Log in to your Strapi account"
461
+ }) }) }),
462
+ errors.errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
463
+ designSystem.Typography,
464
+ {
465
+ id: "global-form-error",
466
+ role: "alert",
467
+ tabIndex: -1,
468
+ textColor: "danger600",
469
+ children: errors.errorMessage
470
+ }
471
+ )
472
+ ] }),
473
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
474
+ /* @__PURE__ */ jsxRuntime.jsx(
475
+ designSystem.TextInput,
476
+ {
477
+ error: errors.email ? formatMessage({
478
+ id: errors.email,
479
+ defaultMessage: "This value is required."
480
+ }) : "",
481
+ value: values.email,
482
+ onChange: handleChange,
483
+ label: formatMessage({ id: "Auth.form.email.label", defaultMessage: "Email" }),
484
+ placeholder: formatMessage({
485
+ id: "Auth.form.email.placeholder",
486
+ defaultMessage: "kai@doe.com"
487
+ }),
488
+ name: "email",
489
+ required: true
490
+ }
491
+ ),
492
+ /* @__PURE__ */ jsxRuntime.jsx(
493
+ PasswordInput$2,
494
+ {
495
+ error: errors.password ? formatMessage({
496
+ id: errors.password,
497
+ defaultMessage: "This value is required."
498
+ }) : "",
499
+ onChange: handleChange,
500
+ value: values.password,
501
+ label: formatMessage({
502
+ id: "global.password",
503
+ defaultMessage: "Password"
504
+ }),
505
+ name: "password",
506
+ type: passwordShown ? "text" : "password",
507
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
508
+ FieldActionWrapper,
509
+ {
510
+ onClick: (e) => {
511
+ e.stopPropagation();
512
+ setPasswordShown((prev) => !prev);
513
+ },
514
+ label: formatMessage(
515
+ passwordShown ? {
516
+ id: "Auth.form.password.show-password",
517
+ defaultMessage: "Show password"
518
+ } : {
519
+ id: "Auth.form.password.hide-password",
520
+ defaultMessage: "Hide password"
521
+ }
522
+ ),
523
+ children: passwordShown ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.EyeStriked, {})
524
+ }
525
+ ),
526
+ required: true
527
+ }
528
+ ),
529
+ /* @__PURE__ */ jsxRuntime.jsx(
530
+ designSystem.Checkbox,
531
+ {
532
+ onValueChange: (checked) => {
533
+ handleChange({ target: { value: checked, name: "rememberMe" } });
534
+ },
535
+ value: values.rememberMe,
536
+ "aria-label": "rememberMe",
537
+ name: "rememberMe",
538
+ children: formatMessage({
539
+ id: "Auth.form.rememberMe.label",
540
+ defaultMessage: "Remember me"
541
+ })
542
+ }
543
+ ),
544
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { fullWidth: true, type: "submit", children: formatMessage({ id: "Auth.form.button.login", defaultMessage: "Login" }) })
545
+ ] })
546
+ ] })
547
+ }
548
+ ),
549
+ children
550
+ ] }),
551
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { to: "/auth/forgot-password", children: formatMessage({
552
+ id: "Auth.link.forgot-password",
553
+ defaultMessage: "Forgot your password?"
554
+ }) }) }) })
555
+ ] });
556
+ };
557
+ Login.defaultProps = {
558
+ children: null,
559
+ onSubmit() {
560
+ }
561
+ };
562
+ Login.propTypes = {
563
+ children: PropTypes__default.default.node,
564
+ onSubmit: PropTypes__default.default.func,
565
+ schema: PropTypes__default.default.shape({
566
+ type: PropTypes__default.default.string.isRequired
567
+ }).isRequired
568
+ };
569
+ const LoginCE = (loginProps) => {
570
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsx(Login, { ...loginProps }) });
571
+ };
572
+ LoginCE.defaultProps = {
573
+ onSubmit: (e) => e.preventDefault()
574
+ };
575
+ LoginCE.propTypes = {
576
+ onSubmit: PropTypes__default.default.func
577
+ };
578
+ const ForgotPassword$1 = ({ onSubmit, schema }) => {
579
+ const { formatMessage } = reactIntl.useIntl();
580
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
581
+ /* @__PURE__ */ jsxRuntime.jsx(LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
582
+ formik.Formik,
583
+ {
584
+ enableReinitialize: true,
585
+ initialValues: {
586
+ email: ""
587
+ },
588
+ onSubmit,
589
+ validationSchema: schema,
590
+ validateOnChange: false,
591
+ children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsxRuntime.jsxs(helperPlugin.Form, { noValidate: true, children: [
592
+ /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
593
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
594
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h1", variant: "alpha", children: formatMessage({
595
+ id: "Auth.form.button.password-recovery",
596
+ defaultMessage: "Password Recovery"
597
+ }) }) }),
598
+ errors.errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
599
+ designSystem.Typography,
600
+ {
601
+ id: "global-form-error",
602
+ role: "alert",
603
+ tabIndex: -1,
604
+ textColor: "danger600",
605
+ children: formatMessage({
606
+ id: errors.errorMessage,
607
+ defaultMessage: "An error occurred"
608
+ })
609
+ }
610
+ )
611
+ ] }),
612
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
613
+ /* @__PURE__ */ jsxRuntime.jsx(
614
+ designSystem.TextInput,
615
+ {
616
+ error: errors.email ? formatMessage({
617
+ id: errors.email,
618
+ defaultMessage: "This email is invalid."
619
+ }) : "",
620
+ value: values.email,
621
+ onChange: handleChange,
622
+ label: formatMessage({ id: "Auth.form.email.label", defaultMessage: "Email" }),
623
+ placeholder: formatMessage({
624
+ id: "Auth.form.email.placeholder",
625
+ defaultMessage: "kai@doe.com"
626
+ }),
627
+ name: "email",
628
+ required: true
629
+ }
630
+ ),
631
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", fullWidth: true, children: formatMessage({
632
+ id: "Auth.form.button.forgot-password",
633
+ defaultMessage: "Send Email"
634
+ }) })
635
+ ] })
636
+ ] })
637
+ }
638
+ ) }),
639
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
640
+ ] }) });
641
+ };
642
+ ForgotPassword$1.defaultProps = {
643
+ onSubmit: (e) => e.preventDefault()
644
+ };
645
+ ForgotPassword$1.propTypes = {
646
+ onSubmit: PropTypes__default.default.func,
647
+ schema: PropTypes__default.default.shape({
648
+ type: PropTypes__default.default.string.isRequired
649
+ }).isRequired
650
+ };
651
+ const ForgotPasswordSuccess = () => {
652
+ const { formatMessage } = reactIntl.useIntl();
653
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
654
+ /* @__PURE__ */ jsxRuntime.jsx(LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
655
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
656
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h1", variant: "alpha", children: formatMessage({
657
+ id: "app.containers.AuthPage.ForgotPasswordSuccess.title",
658
+ defaultMessage: "Email sent"
659
+ }) }) }),
660
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
661
+ id: "app.containers.AuthPage.ForgotPasswordSuccess.text.email",
662
+ defaultMessage: "It can take a few minutes to receive your password recovery link."
663
+ }) }),
664
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
665
+ id: "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",
666
+ defaultMessage: "If you do not receive this link, please contact your administrator."
667
+ }) }) })
668
+ ] }) }),
669
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
670
+ ] }) });
671
+ };
672
+ const Oops = () => {
673
+ const { formatMessage } = reactIntl.useIntl();
674
+ const query = helperPlugin.useQuery();
675
+ const message = query.get("info") || formatMessage({
676
+ id: "Auth.components.Oops.text",
677
+ defaultMessage: "Your account has been suspended."
678
+ });
679
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
680
+ /* @__PURE__ */ jsxRuntime.jsx(LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
681
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
682
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h1", variant: "alpha", children: formatMessage({ id: "Auth.components.Oops.title", defaultMessage: "Oops..." }) }) }),
683
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: message }),
684
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
685
+ id: "Auth.components.Oops.text.admin",
686
+ defaultMessage: "If this is a mistake, please contact your administrator."
687
+ }) }) })
688
+ ] }) }),
689
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
690
+ ] }) });
691
+ };
692
+ const FieldWrapper = styled__default.default(designSystem.Field)`
693
+ height: ${32 / 16}rem;
694
+ width: ${32 / 16}rem;
695
+
696
+ > label,
697
+ ~ input {
698
+ display: block;
699
+ position: absolute;
700
+ top: 0;
701
+ left: 0;
702
+ right: 0;
703
+ bottom: 0;
704
+ }
705
+
706
+ > label {
707
+ color: inherit;
708
+ cursor: pointer;
709
+ padding: ${({ theme }) => theme.spaces[2]};
710
+ text-align: center;
711
+ vertical-align: middle;
712
+ }
713
+
714
+ &:hover,
715
+ &:focus-within {
716
+ background-color: ${({ theme }) => theme.colors.neutral0};
717
+ }
718
+
719
+ &:active,
720
+ &.selected {
721
+ color: ${({ theme }) => theme.colors.primary700};
722
+ background-color: ${({ theme }) => theme.colors.neutral0};
723
+ border-color: ${({ theme }) => theme.colors.primary700};
724
+ }
725
+ `;
726
+ const delays = {
727
+ postResponse: 90 * 24 * 60 * 60 * 1e3,
728
+ // 90 days in ms
729
+ postFirstDismissal: 7 * 24 * 60 * 60 * 1e3,
730
+ // 7 days in ms
731
+ postSubsequentDismissal: 90 * 24 * 60 * 60 * 1e3,
732
+ // 90 days in ms
733
+ display: 5 * 60 * 1e3
734
+ // 5 minutes in ms
735
+ };
736
+ const ratingArray = [...Array(11).keys()];
737
+ const checkIfShouldShowSurvey = (settings) => {
738
+ const { enabled, lastResponseDate, firstDismissalDate, lastDismissalDate } = settings;
739
+ if (window.strapi.flags.nps === false) {
740
+ return false;
741
+ }
742
+ if (enabled === false) {
743
+ return false;
744
+ }
745
+ if (lastResponseDate) {
746
+ const timeSinceLastResponse = Date.now() - new Date(lastResponseDate).getTime();
747
+ if (timeSinceLastResponse >= delays.postResponse) {
748
+ return true;
749
+ }
750
+ return false;
751
+ }
752
+ if (lastDismissalDate) {
753
+ const timeSinceLastDismissal = Date.now() - new Date(lastDismissalDate).getTime();
754
+ if (timeSinceLastDismissal >= delays.postSubsequentDismissal) {
755
+ return true;
756
+ }
757
+ return false;
758
+ }
759
+ if (firstDismissalDate) {
760
+ const timeSinceFirstDismissal = Date.now() - new Date(firstDismissalDate).getTime();
761
+ if (timeSinceFirstDismissal >= delays.postFirstDismissal) {
762
+ return true;
763
+ }
764
+ return false;
765
+ }
766
+ return true;
767
+ };
768
+ const NpsSurvey = () => {
769
+ const theme = styled.useTheme();
770
+ const { formatMessage } = reactIntl.useIntl();
771
+ const { npsSurveySettings, setNpsSurveySettings } = useNpsSurveySettings();
772
+ const [isFeedbackResponse, setIsFeedbackResponse] = React__namespace.useState(false);
773
+ const toggleNotification = helperPlugin.useNotification();
774
+ const { currentEnvironment, strapiVersion } = helperPlugin.useAppInfo();
775
+ const { mutate, isLoading } = reactQuery.useMutation(
776
+ async (form) => {
777
+ const res = await fetch("https://analytics.strapi.io/submit-nps", {
778
+ method: "POST",
779
+ headers: {
780
+ "Content-Type": "application/json"
781
+ },
782
+ body: JSON.stringify(form)
783
+ });
784
+ if (!res.ok) {
785
+ throw new Error("Failed to submit NPS survey");
786
+ }
787
+ return res;
788
+ },
789
+ {
790
+ onSuccess() {
791
+ setNpsSurveySettings((settings) => ({
792
+ ...settings,
793
+ lastResponseDate: (/* @__PURE__ */ new Date()).toString(),
794
+ firstDismissalDate: null,
795
+ lastDismissalDate: null
796
+ }));
797
+ setIsFeedbackResponse(true);
798
+ setTimeout(() => {
799
+ setSurveyIsShown(false);
800
+ }, 3e3);
801
+ },
802
+ onError() {
803
+ toggleNotification({
804
+ type: "warning",
805
+ message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
806
+ });
807
+ }
808
+ }
809
+ );
810
+ const [surveyIsShown, setSurveyIsShown] = React__namespace.useState(
811
+ checkIfShouldShowSurvey(npsSurveySettings)
812
+ );
813
+ const [displaySurvey, setDisplaySurvey] = React__namespace.useState(false);
814
+ React__namespace.useEffect(() => {
815
+ const displayTime = setTimeout(() => {
816
+ setDisplaySurvey(true);
817
+ }, delays.display);
818
+ return () => {
819
+ clearTimeout(displayTime);
820
+ };
821
+ }, []);
822
+ if (!displaySurvey) {
823
+ return null;
824
+ }
825
+ if (!surveyIsShown) {
826
+ return null;
827
+ }
828
+ const handleSubmitResponse = ({
829
+ npsSurveyRating,
830
+ npsSurveyFeedback
831
+ }) => {
832
+ const userInfo = helperPlugin.auth.getUserInfo();
833
+ mutate({
834
+ email: typeof userInfo === "object" && userInfo !== null ? userInfo.email : "",
835
+ rating: npsSurveyRating,
836
+ comment: npsSurveyFeedback,
837
+ environment: currentEnvironment,
838
+ version: strapiVersion ?? void 0,
839
+ license: window.strapi.projectType
840
+ });
841
+ };
842
+ const handleDismiss = () => {
843
+ setNpsSurveySettings((settings) => {
844
+ const nextSettings = {
845
+ ...settings,
846
+ lastResponseDate: null
847
+ };
848
+ if (settings.firstDismissalDate) {
849
+ nextSettings.lastDismissalDate = (/* @__PURE__ */ new Date()).toString();
850
+ } else {
851
+ nextSettings.firstDismissalDate = (/* @__PURE__ */ new Date()).toString();
852
+ }
853
+ return nextSettings;
854
+ });
855
+ setSurveyIsShown(false);
856
+ };
857
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
858
+ formik.Formik,
859
+ {
860
+ initialValues: { npsSurveyFeedback: "", npsSurveyRating: null },
861
+ onSubmit: handleSubmitResponse,
862
+ validationSchema: yup__namespace.object({
863
+ npsSurveyFeedback: yup__namespace.string(),
864
+ npsSurveyRating: yup__namespace.number().required()
865
+ }),
866
+ children: ({ values, handleChange, setFieldValue }) => /* @__PURE__ */ jsxRuntime.jsx(formik.Form, { name: "npsSurveyForm", children: /* @__PURE__ */ jsxRuntime.jsx(
867
+ designSystem.Flex,
868
+ {
869
+ hasRadius: true,
870
+ direction: "column",
871
+ padding: 4,
872
+ borderColor: "primary200",
873
+ background: "neutral0",
874
+ shadow: "popupShadow",
875
+ position: "fixed",
876
+ bottom: 0,
877
+ left: "50%",
878
+ transform: "translateX(-50%)",
879
+ zIndex: theme.zIndices[2],
880
+ width: "50%",
881
+ children: isFeedbackResponse ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", children: formatMessage({
882
+ id: "app.components.NpsSurvey.feedback-response",
883
+ defaultMessage: "Thank you very much for your feedback!"
884
+ }) }) : /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { as: "fieldset", width: "100%", children: [
885
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", width: "100%", children: [
886
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginLeft: "auto", marginRight: "auto", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", as: "legend", children: formatMessage({
887
+ id: "app.components.NpsSurvey.banner-title",
888
+ defaultMessage: "How likely are you to recommend Strapi to a friend or colleague?"
889
+ }) }) }),
890
+ /* @__PURE__ */ jsxRuntime.jsx(
891
+ designSystem.IconButton,
892
+ {
893
+ onClick: handleDismiss,
894
+ "aria-label": formatMessage({
895
+ id: "app.components.NpsSurvey.dismiss-survey-label",
896
+ defaultMessage: "Dismiss survey"
897
+ }),
898
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.Cross, {})
899
+ }
900
+ )
901
+ ] }),
902
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, marginTop: 2, marginBottom: 2, justifyContent: "center", children: [
903
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral600", children: formatMessage({
904
+ id: "app.components.NpsSurvey.no-recommendation",
905
+ defaultMessage: "Not at all likely"
906
+ }) }),
907
+ ratingArray.map((number) => {
908
+ return /* @__PURE__ */ jsxRuntime.jsx(
909
+ FieldWrapper,
910
+ {
911
+ className: values.npsSurveyRating === number ? "selected" : void 0,
912
+ hasRadius: true,
913
+ background: "primary100",
914
+ borderColor: "primary200",
915
+ color: "primary600",
916
+ position: "relative",
917
+ cursor: "pointer",
918
+ children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.FieldLabel, { htmlFor: `nps-survey-rating-${number}-input`, children: [
919
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(
920
+ designSystem.FieldInput,
921
+ {
922
+ type: "radio",
923
+ id: `nps-survey-rating-${number}-input`,
924
+ name: "npsSurveyRating",
925
+ checked: values.npsSurveyRating === number,
926
+ onChange: (e) => setFieldValue("npsSurveyRating", parseInt(e.target.value, 10)),
927
+ value: number
928
+ }
929
+ ) }),
930
+ number
931
+ ] })
932
+ },
933
+ number
934
+ );
935
+ }),
936
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral600", children: formatMessage({
937
+ id: "app.components.NpsSurvey.happy-to-recommend",
938
+ defaultMessage: "Extremely likely"
939
+ }) })
940
+ ] }),
941
+ values.npsSurveyRating !== null && /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", children: [
942
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 2, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.FieldLabel, { htmlFor: "npsSurveyFeedback", fontWeight: "semiBold", fontSize: 2, children: formatMessage({
943
+ id: "app.components.NpsSurvey.feedback-question",
944
+ defaultMessage: "Do you have any suggestion for improvements?"
945
+ }) }) }),
946
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "62%", marginTop: 3, marginBottom: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
947
+ designSystem.Textarea,
948
+ {
949
+ id: "npsSurveyFeedback",
950
+ width: "100%",
951
+ onChange: handleChange,
952
+ children: values.npsSurveyFeedback
953
+ }
954
+ ) }),
955
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { marginBottom: 2, type: "submit", loading: isLoading, children: formatMessage({
956
+ id: "app.components.NpsSurvey.submit-feedback",
957
+ defaultMessage: "Submit Feedback"
958
+ }) })
959
+ ] })
960
+ ] })
961
+ }
962
+ ) })
963
+ }
964
+ ) });
965
+ };
966
+ function useNpsSurveySettings() {
967
+ const [npsSurveySettings, setNpsSurveySettings] = helperPlugin.usePersistentState(
968
+ "STRAPI_NPS_SURVEY_SETTINGS",
969
+ {
970
+ enabled: true,
971
+ lastResponseDate: null,
972
+ firstDismissalDate: null,
973
+ lastDismissalDate: null
974
+ }
975
+ );
976
+ return { npsSurveySettings, setNpsSurveySettings };
977
+ }
978
+ const A = styled__default.default.a`
979
+ color: ${({ theme }) => theme.colors.primary600};
980
+ `;
981
+ const PasswordInput$1 = styled__default.default(designSystem.TextInput)`
982
+ ::-ms-reveal {
983
+ display: none;
984
+ }
985
+ `;
986
+ const Register = ({ authType, fieldsToDisable, noSignin, onSubmit, schema }) => {
987
+ const toggleNotification = helperPlugin.useNotification();
988
+ const { push } = reactRouterDom.useHistory();
989
+ const [passwordShown, setPasswordShown] = React.useState(false);
990
+ const [confirmPasswordShown, setConfirmPasswordShown] = React.useState(false);
991
+ const [submitCount, setSubmitCount] = React.useState(0);
992
+ const { trackUsage } = helperPlugin.useTracking();
993
+ const { formatMessage } = reactIntl.useIntl();
994
+ const query = helperPlugin.useQuery();
995
+ const { formatAPIError } = helperPlugin.useAPIErrorHandler();
996
+ const { get: get2 } = helperPlugin.useFetchClient();
997
+ const { setNpsSurveySettings } = useNpsSurveySettings();
998
+ const registrationToken = query.get("registrationToken");
999
+ const { data: userInfo } = reactQuery.useQuery({
1000
+ queryKey: ["admin", "registration-info", registrationToken],
1001
+ async queryFn() {
1002
+ const {
1003
+ data: { data }
1004
+ } = await get2(`/admin/registration-info`, {
1005
+ params: {
1006
+ registrationToken
1007
+ }
1008
+ });
1009
+ return data;
1010
+ },
1011
+ enabled: !!registrationToken,
1012
+ initialData: {},
1013
+ onError(err) {
1014
+ const message = formatAPIError(err);
1015
+ toggleNotification({
1016
+ type: "warning",
1017
+ message
1018
+ });
1019
+ push(`/auth/oops?info=${encodeURIComponent(message)}`);
1020
+ }
1021
+ });
1022
+ function normalizeData(data) {
1023
+ return Object.entries(data).reduce((acc, [key, value]) => {
1024
+ let normalizedvalue = value;
1025
+ if (!["password", "confirmPassword"].includes(key) && typeof value === "string") {
1026
+ normalizedvalue = normalizedvalue.trim();
1027
+ if (key === "lastname") {
1028
+ normalizedvalue = normalizedvalue || null;
1029
+ }
1030
+ }
1031
+ acc[key] = normalizedvalue;
1032
+ return acc;
1033
+ }, {});
1034
+ }
1035
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(LayoutContent, { children: [
1036
+ /* @__PURE__ */ jsxRuntime.jsx(
1037
+ formik.Formik,
1038
+ {
1039
+ enableReinitialize: true,
1040
+ initialValues: {
1041
+ firstname: userInfo.firstname || "",
1042
+ lastname: userInfo.lastname || "",
1043
+ email: userInfo.email || "",
1044
+ password: "",
1045
+ confirmPassword: "",
1046
+ registrationToken: registrationToken || void 0,
1047
+ news: false
1048
+ },
1049
+ onSubmit: async (data, formik2) => {
1050
+ const normalizedData = normalizeData(data);
1051
+ try {
1052
+ await schema.validate(normalizedData, { abortEarly: false });
1053
+ if (submitCount > 0 && authType === "register-admin") {
1054
+ trackUsage("didSubmitWithErrorsFirstAdmin", { count: submitCount.toString() });
1055
+ }
1056
+ if (registrationToken) {
1057
+ onSubmit(
1058
+ { userInfo: omit__default.default(normalizedData, ["registrationToken"]), registrationToken },
1059
+ formik2
1060
+ );
1061
+ } else {
1062
+ onSubmit(normalizedData, formik2);
1063
+ }
1064
+ setNpsSurveySettings({ enabled: data.news });
1065
+ } catch (err) {
1066
+ const errors = helperPlugin.getYupInnerErrors(err);
1067
+ setSubmitCount(submitCount + 1);
1068
+ formik2.setErrors(errors);
1069
+ }
1070
+ },
1071
+ validateOnChange: false,
1072
+ children: ({ values, errors, handleChange }) => {
1073
+ return /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Form, { noValidate: true, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
1074
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "center", gap: 3, children: [
1075
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
1076
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h1", variant: "alpha", textAlign: "center", children: formatMessage({
1077
+ id: "Auth.form.welcome.title",
1078
+ defaultMessage: "Welcome to Strapi!"
1079
+ }) }),
1080
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", textColor: "neutral600", textAlign: "center", children: formatMessage({
1081
+ id: "Auth.form.register.subtitle",
1082
+ defaultMessage: "Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."
1083
+ }) })
1084
+ ] }),
1085
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, marginTop: 7, children: [
1086
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { gap: 4, children: [
1087
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
1088
+ designSystem.TextInput,
1089
+ {
1090
+ name: "firstname",
1091
+ required: true,
1092
+ value: values.firstname,
1093
+ error: errors.firstname ? formatMessage(errors.firstname) : void 0,
1094
+ onChange: handleChange,
1095
+ label: formatMessage({
1096
+ id: "Auth.form.firstname.label",
1097
+ defaultMessage: "Firstname"
1098
+ })
1099
+ }
1100
+ ) }),
1101
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
1102
+ designSystem.TextInput,
1103
+ {
1104
+ name: "lastname",
1105
+ value: values.lastname,
1106
+ onChange: handleChange,
1107
+ label: formatMessage({
1108
+ id: "Auth.form.lastname.label",
1109
+ defaultMessage: "Lastname"
1110
+ })
1111
+ }
1112
+ ) })
1113
+ ] }),
1114
+ /* @__PURE__ */ jsxRuntime.jsx(
1115
+ designSystem.TextInput,
1116
+ {
1117
+ name: "email",
1118
+ disabled: fieldsToDisable.includes("email"),
1119
+ value: values.email,
1120
+ onChange: handleChange,
1121
+ error: errors.email ? formatMessage(errors.email) : void 0,
1122
+ required: true,
1123
+ label: formatMessage({
1124
+ id: "Auth.form.email.label",
1125
+ defaultMessage: "Email"
1126
+ }),
1127
+ type: "email"
1128
+ }
1129
+ ),
1130
+ /* @__PURE__ */ jsxRuntime.jsx(
1131
+ PasswordInput$1,
1132
+ {
1133
+ name: "password",
1134
+ onChange: handleChange,
1135
+ value: values.password,
1136
+ error: errors.password ? formatMessage(errors.password) : void 0,
1137
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
1138
+ FieldActionWrapper,
1139
+ {
1140
+ onClick: (e) => {
1141
+ e.preventDefault();
1142
+ setPasswordShown((prev) => !prev);
1143
+ },
1144
+ label: formatMessage(
1145
+ passwordShown ? {
1146
+ id: "Auth.form.password.show-password",
1147
+ defaultMessage: "Show password"
1148
+ } : {
1149
+ id: "Auth.form.password.hide-password",
1150
+ defaultMessage: "Hide password"
1151
+ }
1152
+ ),
1153
+ children: passwordShown ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.EyeStriked, {})
1154
+ }
1155
+ ),
1156
+ hint: formatMessage({
1157
+ id: "Auth.form.password.hint",
1158
+ defaultMessage: "Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"
1159
+ }),
1160
+ required: true,
1161
+ label: formatMessage({
1162
+ id: "global.password",
1163
+ defaultMessage: "Password"
1164
+ }),
1165
+ type: passwordShown ? "text" : "password"
1166
+ }
1167
+ ),
1168
+ /* @__PURE__ */ jsxRuntime.jsx(
1169
+ PasswordInput$1,
1170
+ {
1171
+ name: "confirmPassword",
1172
+ onChange: handleChange,
1173
+ value: values.confirmPassword,
1174
+ error: errors.confirmPassword ? formatMessage(errors.confirmPassword) : void 0,
1175
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
1176
+ FieldActionWrapper,
1177
+ {
1178
+ onClick: (e) => {
1179
+ e.preventDefault();
1180
+ setConfirmPasswordShown((prev) => !prev);
1181
+ },
1182
+ label: formatMessage(
1183
+ confirmPasswordShown ? {
1184
+ id: "Auth.form.password.show-password",
1185
+ defaultMessage: "Show password"
1186
+ } : {
1187
+ id: "Auth.form.password.hide-password",
1188
+ defaultMessage: "Hide password"
1189
+ }
1190
+ ),
1191
+ children: confirmPasswordShown ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.EyeStriked, {})
1192
+ }
1193
+ ),
1194
+ required: true,
1195
+ label: formatMessage({
1196
+ id: "Auth.form.confirmPassword.label",
1197
+ defaultMessage: "Confirm Password"
1198
+ }),
1199
+ type: confirmPasswordShown ? "text" : "password"
1200
+ }
1201
+ ),
1202
+ /* @__PURE__ */ jsxRuntime.jsx(
1203
+ designSystem.Checkbox,
1204
+ {
1205
+ onValueChange: (checked) => {
1206
+ handleChange({ target: { value: checked, name: "news" } });
1207
+ },
1208
+ value: values.news,
1209
+ name: "news",
1210
+ "aria-label": "news",
1211
+ children: formatMessage(
1212
+ {
1213
+ id: "Auth.form.register.news.label",
1214
+ defaultMessage: "Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy})."
1215
+ },
1216
+ {
1217
+ terms: /* @__PURE__ */ jsxRuntime.jsx(A, { target: "_blank", href: "https://strapi.io/terms", rel: "noreferrer", children: formatMessage({
1218
+ id: "Auth.privacy-policy-agreement.terms",
1219
+ defaultMessage: "terms"
1220
+ }) }),
1221
+ policy: /* @__PURE__ */ jsxRuntime.jsx(A, { target: "_blank", href: "https://strapi.io/privacy", rel: "noreferrer", children: formatMessage({
1222
+ id: "Auth.privacy-policy-agreement.policy",
1223
+ defaultMessage: "policy"
1224
+ }) })
1225
+ }
1226
+ )
1227
+ }
1228
+ ),
1229
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { fullWidth: true, size: "L", type: "submit", children: formatMessage({
1230
+ id: "Auth.form.button.register",
1231
+ defaultMessage: "Let's start"
1232
+ }) })
1233
+ ] })
1234
+ ] }) });
1235
+ }
1236
+ }
1237
+ ),
1238
+ !noSignin && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { label: "Auth.link.signin", to: "/auth/login", children: formatMessage({
1239
+ id: "Auth.link.signin.account",
1240
+ defaultMessage: "Already have an account?"
1241
+ }) }) }) })
1242
+ ] }) });
1243
+ };
1244
+ Register.defaultProps = {
1245
+ fieldsToDisable: [],
1246
+ noSignin: false,
1247
+ onSubmit: (e) => e.preventDefault()
1248
+ };
1249
+ Register.propTypes = {
1250
+ authType: PropTypes__default.default.string.isRequired,
1251
+ fieldsToDisable: PropTypes__default.default.array,
1252
+ noSignin: PropTypes__default.default.bool,
1253
+ onSubmit: PropTypes__default.default.func,
1254
+ schema: PropTypes__default.default.shape({
1255
+ validate: PropTypes__default.default.func.isRequired,
1256
+ type: PropTypes__default.default.string.isRequired
1257
+ }).isRequired
1258
+ };
1259
+ const PasswordInput = styled__default.default(designSystem.TextInput)`
1260
+ ::-ms-reveal {
1261
+ display: none;
1262
+ }
1263
+ `;
1264
+ const ForgotPassword = ({ onSubmit, schema }) => {
1265
+ const [passwordShown, setPasswordShown] = React.useState(false);
1266
+ const [confirmPasswordShown, setConfirmPasswordShown] = React.useState(false);
1267
+ const { formatMessage } = reactIntl.useIntl();
1268
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
1269
+ /* @__PURE__ */ jsxRuntime.jsx(LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(
1270
+ formik.Formik,
1271
+ {
1272
+ enableReinitialize: true,
1273
+ initialValues: {
1274
+ password: "",
1275
+ confirmPassword: ""
1276
+ },
1277
+ onSubmit,
1278
+ validationSchema: schema,
1279
+ validateOnChange: false,
1280
+ children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsxRuntime.jsxs(helperPlugin.Form, { noValidate: true, children: [
1281
+ /* @__PURE__ */ jsxRuntime.jsxs(Column, { children: [
1282
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
1283
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { as: "h1", variant: "alpha", children: formatMessage({
1284
+ id: "global.reset-password",
1285
+ defaultMessage: "Reset password"
1286
+ }) }) }),
1287
+ errors.errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
1288
+ designSystem.Typography,
1289
+ {
1290
+ id: "global-form-error",
1291
+ role: "alert",
1292
+ tabIndex: -1,
1293
+ textColor: "danger600",
1294
+ children: formatMessage({
1295
+ id: errors.errorMessage,
1296
+ defaultMessage: "An error occurred"
1297
+ })
1298
+ }
1299
+ )
1300
+ ] }),
1301
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
1302
+ /* @__PURE__ */ jsxRuntime.jsx(
1303
+ PasswordInput,
1304
+ {
1305
+ name: "password",
1306
+ onChange: handleChange,
1307
+ value: values.password,
1308
+ error: errors.password ? formatMessage({
1309
+ id: errors.password,
1310
+ defaultMessage: "This field is required."
1311
+ }) : void 0,
1312
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
1313
+ FieldActionWrapper,
1314
+ {
1315
+ onClick: (e) => {
1316
+ e.preventDefault();
1317
+ setPasswordShown((prev) => !prev);
1318
+ },
1319
+ label: formatMessage(
1320
+ passwordShown ? {
1321
+ id: "Auth.form.password.show-password",
1322
+ defaultMessage: "Show password"
1323
+ } : {
1324
+ id: "Auth.form.password.hide-password",
1325
+ defaultMessage: "Hide password"
1326
+ }
1327
+ ),
1328
+ children: passwordShown ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.EyeStriked, {})
1329
+ }
1330
+ ),
1331
+ hint: formatMessage({
1332
+ id: "Auth.form.password.hint",
1333
+ defaultMessage: "Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"
1334
+ }),
1335
+ required: true,
1336
+ label: formatMessage({
1337
+ id: "global.password",
1338
+ defaultMessage: "Password"
1339
+ }),
1340
+ type: passwordShown ? "text" : "password"
1341
+ }
1342
+ ),
1343
+ /* @__PURE__ */ jsxRuntime.jsx(
1344
+ PasswordInput,
1345
+ {
1346
+ name: "confirmPassword",
1347
+ onChange: handleChange,
1348
+ value: values.confirmPassword,
1349
+ error: errors.confirmPassword ? formatMessage({
1350
+ id: errors.confirmPassword,
1351
+ defaultMessage: "This value is required."
1352
+ }) : void 0,
1353
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
1354
+ FieldActionWrapper,
1355
+ {
1356
+ onClick: (e) => {
1357
+ e.preventDefault();
1358
+ setConfirmPasswordShown((prev) => !prev);
1359
+ },
1360
+ label: formatMessage(
1361
+ passwordShown ? {
1362
+ id: "Auth.form.password.show-password",
1363
+ defaultMessage: "Show password"
1364
+ } : {
1365
+ id: "Auth.form.password.hide-password",
1366
+ defaultMessage: "Hide password"
1367
+ }
1368
+ ),
1369
+ children: confirmPasswordShown ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.EyeStriked, {})
1370
+ }
1371
+ ),
1372
+ required: true,
1373
+ label: formatMessage({
1374
+ id: "Auth.form.confirmPassword.label",
1375
+ defaultMessage: "Confirm Password"
1376
+ }),
1377
+ type: confirmPasswordShown ? "text" : "password"
1378
+ }
1379
+ ),
1380
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { fullwidth: true, type: "submit", children: formatMessage({
1381
+ id: "global.change-password",
1382
+ defaultMessage: "Change password"
1383
+ }) })
1384
+ ] })
1385
+ ] })
1386
+ }
1387
+ ) }),
1388
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.Link, { to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
1389
+ ] }) });
1390
+ };
1391
+ ForgotPassword.defaultProps = {
1392
+ onSubmit: (e) => e.preventDefault()
1393
+ };
1394
+ ForgotPassword.propTypes = {
1395
+ onSubmit: PropTypes__default.default.func,
1396
+ schema: PropTypes__default.default.shape({
1397
+ type: PropTypes__default.default.string.isRequired
1398
+ }).isRequired
1399
+ };
1400
+ const FORMS = {
1401
+ "forgot-password": {
1402
+ Component: ForgotPassword$1,
1403
+ endPoint: "forgot-password",
1404
+ fieldsToDisable: [],
1405
+ fieldsToOmit: [],
1406
+ schema: yup__namespace.object().shape({
1407
+ email: yup__namespace.string().email(helperPlugin.translatedErrors.email).required(helperPlugin.translatedErrors.required)
1408
+ }),
1409
+ inputsPrefix: ""
1410
+ },
1411
+ "forgot-password-success": {
1412
+ Component: ForgotPasswordSuccess,
1413
+ endPoint: "",
1414
+ fieldsToDisable: [],
1415
+ fieldsToOmit: [],
1416
+ schema: null,
1417
+ inputsPrefix: ""
1418
+ },
1419
+ // the `Component` attribute is set after all forms and CE/EE components are loaded, but since we
1420
+ // are here outside of a React component we can not use the hook directly
1421
+ login: {
1422
+ endPoint: "login",
1423
+ fieldsToDisable: [],
1424
+ fieldsToOmit: ["rememberMe"],
1425
+ schema: yup__namespace.object().shape({
1426
+ email: yup__namespace.string().email(helperPlugin.translatedErrors.email).required(helperPlugin.translatedErrors.required),
1427
+ password: yup__namespace.string().required(helperPlugin.translatedErrors.required),
1428
+ rememberMe: yup__namespace.bool().nullable()
1429
+ }),
1430
+ inputsPrefix: ""
1431
+ },
1432
+ oops: {
1433
+ Component: Oops,
1434
+ endPoint: null,
1435
+ fieldsToDisable: [],
1436
+ fieldsToOmit: [],
1437
+ schema: null,
1438
+ inputsPrefix: ""
1439
+ },
1440
+ register: {
1441
+ Component: Register,
1442
+ endPoint: "register",
1443
+ fieldsToDisable: ["email"],
1444
+ fieldsToOmit: ["userInfo.confirmPassword", "userInfo.news", "userInfo.email"],
1445
+ schema: yup__namespace.object().shape({
1446
+ firstname: yup__namespace.string().trim().required(helperPlugin.translatedErrors.required),
1447
+ lastname: yup__namespace.string().nullable(),
1448
+ password: yup__namespace.string().min(8, helperPlugin.translatedErrors.minLength).matches(/[a-z]/, "components.Input.error.contain.lowercase").matches(/[A-Z]/, "components.Input.error.contain.uppercase").matches(/\d/, "components.Input.error.contain.number").required(helperPlugin.translatedErrors.required),
1449
+ confirmPassword: yup__namespace.string().oneOf([yup__namespace.ref("password"), null], "components.Input.error.password.noMatch").required(helperPlugin.translatedErrors.required),
1450
+ registrationToken: yup__namespace.string().required(helperPlugin.translatedErrors.required)
1451
+ }),
1452
+ inputsPrefix: "userInfo."
1453
+ },
1454
+ "register-admin": {
1455
+ Component: Register,
1456
+ endPoint: "register-admin",
1457
+ noSignin: true,
1458
+ fieldsToDisable: [],
1459
+ fieldsToOmit: ["confirmPassword", "news"],
1460
+ schema: yup__namespace.object().shape({
1461
+ firstname: yup__namespace.string().trim().required(helperPlugin.translatedErrors.required),
1462
+ lastname: yup__namespace.string().nullable(),
1463
+ password: yup__namespace.string().min(8, helperPlugin.translatedErrors.minLength).matches(/[a-z]/, "components.Input.error.contain.lowercase").matches(/[A-Z]/, "components.Input.error.contain.uppercase").matches(/\d/, "components.Input.error.contain.number").required(helperPlugin.translatedErrors.required),
1464
+ email: yup__namespace.string().email(helperPlugin.translatedErrors.email).strict().lowercase(helperPlugin.translatedErrors.lowercase).required(helperPlugin.translatedErrors.required),
1465
+ confirmPassword: yup__namespace.string().oneOf([yup__namespace.ref("password"), null], "components.Input.error.password.noMatch").required(helperPlugin.translatedErrors.required)
1466
+ }),
1467
+ inputsPrefix: ""
1468
+ },
1469
+ "reset-password": {
1470
+ Component: ForgotPassword,
1471
+ endPoint: "reset-password",
1472
+ fieldsToDisable: [],
1473
+ fieldsToOmit: ["confirmPassword"],
1474
+ schema: yup__namespace.object().shape({
1475
+ password: yup__namespace.string().min(8, helperPlugin.translatedErrors.minLength).matches(/[a-z]/, "components.Input.error.contain.lowercase").matches(/[A-Z]/, "components.Input.error.contain.uppercase").matches(/\d/, "components.Input.error.contain.number").required(helperPlugin.translatedErrors.required),
1476
+ confirmPassword: yup__namespace.string().oneOf([yup__namespace.ref("password"), null], "components.Input.error.password.noMatch").required(helperPlugin.translatedErrors.required)
1477
+ })
1478
+ }
1479
+ };
1480
+ const init = (initialState2) => {
1481
+ return initialState2;
1482
+ };
1483
+ const initialState$7 = {
1484
+ formErrors: {},
1485
+ modifiedData: {},
1486
+ requestError: null
1487
+ };
1488
+ const reducer$2 = (state, action) => produce__default.default(state, (draftState) => {
1489
+ switch (action.type) {
1490
+ case "ON_CHANGE": {
1491
+ set__default.default(draftState.modifiedData, action.keys.split("."), action.value);
1492
+ break;
1493
+ }
1494
+ case "RESET_PROPS": {
1495
+ return initialState$7;
1496
+ }
1497
+ case "SET_DATA": {
1498
+ draftState.modifiedData = action.data;
1499
+ break;
1500
+ }
1501
+ case "SET_ERRORS": {
1502
+ draftState.formErrors = action.errors;
1503
+ break;
1504
+ }
1505
+ case "SET_REQUEST_ERROR": {
1506
+ draftState.requestError = {
1507
+ errorMessage: action.errorMessage,
1508
+ errorStatus: action.errorStatus
1509
+ };
1510
+ break;
1511
+ }
1512
+ default:
1513
+ return draftState;
1514
+ }
1515
+ });
1516
+ const AuthPage = ({ hasAdmin, setHasAdmin }) => {
1517
+ const {
1518
+ push,
1519
+ location: { search }
1520
+ } = reactRouterDom.useHistory();
1521
+ const { changeLocale } = useLocales();
1522
+ const { setSkipped } = helperPlugin.useGuidedTour();
1523
+ const { trackUsage } = helperPlugin.useTracking();
1524
+ const {
1525
+ params: { authType }
1526
+ } = reactRouterDom.useRouteMatch("/auth/:authType");
1527
+ const query = helperPlugin.useQuery();
1528
+ const Login2 = useEnterprise(
1529
+ LoginCE,
1530
+ async () => (await Promise.resolve().then(() => require("./index-137490ba.js"))).LoginEE
1531
+ );
1532
+ const forms = useEnterprise(
1533
+ FORMS,
1534
+ async () => (await Promise.resolve().then(() => require("./constants-727a113c.js"))).FORMS,
1535
+ {
1536
+ combine(ceForms, eeForms) {
1537
+ return {
1538
+ ...ceForms,
1539
+ ...eeForms
1540
+ };
1541
+ },
1542
+ defaultValue: FORMS
1543
+ }
1544
+ );
1545
+ const [{ formErrors, modifiedData, requestError }, dispatch] = React.useReducer(
1546
+ reducer$2,
1547
+ initialState$7,
1548
+ init
1549
+ );
1550
+ const CancelToken = axios__default.default.CancelToken;
1551
+ const source = CancelToken.source();
1552
+ const { endPoint, fieldsToDisable, fieldsToOmit, inputsPrefix, schema, ...rest } = forms?.[authType] ?? {};
1553
+ React.useEffect(() => {
1554
+ return () => {
1555
+ source.cancel("Component unmounted");
1556
+ };
1557
+ }, []);
1558
+ const { post } = helperPlugin.useFetchClient();
1559
+ React.useEffect(() => {
1560
+ dispatch({
1561
+ type: "RESET_PROPS"
1562
+ });
1563
+ }, [authType]);
1564
+ const handleChange = ({ target: { name, value } }) => {
1565
+ dispatch({
1566
+ type: "ON_CHANGE",
1567
+ keys: name,
1568
+ value
1569
+ });
1570
+ };
1571
+ const handleSubmit = async (e, { setSubmitting, setErrors }) => {
1572
+ setSubmitting(true);
1573
+ const body = omit__default.default(e, fieldsToOmit);
1574
+ const requestURL = `/admin/${endPoint}`;
1575
+ if (authType === "login") {
1576
+ await loginRequest(e, requestURL, { setSubmitting, setErrors });
1577
+ }
1578
+ if (authType === "register" || authType === "register-admin") {
1579
+ await registerRequest(e, requestURL, { setSubmitting, setErrors });
1580
+ }
1581
+ if (authType === "forgot-password") {
1582
+ await forgotPasswordRequest(body, requestURL, { setSubmitting, setErrors });
1583
+ }
1584
+ if (authType === "reset-password") {
1585
+ await resetPasswordRequest(body, requestURL, { setSubmitting, setErrors });
1586
+ }
1587
+ };
1588
+ const forgotPasswordRequest = async (body, requestURL, { setSubmitting, setErrors }) => {
1589
+ try {
1590
+ await post(requestURL, body, { cancelToken: source.token });
1591
+ push("/auth/forgot-password-success");
1592
+ } catch (err) {
1593
+ console.error(err);
1594
+ setErrors({ errorMessage: "notification.error" });
1595
+ } finally {
1596
+ setSubmitting(false);
1597
+ }
1598
+ };
1599
+ const loginRequest = async (body, requestURL, { setSubmitting, setErrors }) => {
1600
+ try {
1601
+ const {
1602
+ data: {
1603
+ data: { token, user }
1604
+ }
1605
+ } = await post(requestURL, omit__default.default(body, fieldsToOmit), { cancelToken: source.token });
1606
+ if (user.preferedLanguage) {
1607
+ changeLocale(user.preferedLanguage);
1608
+ }
1609
+ helperPlugin.auth.setToken(token, body.rememberMe);
1610
+ helperPlugin.auth.setUserInfo(user, body.rememberMe);
1611
+ redirectToPreviousLocation();
1612
+ } catch (err) {
1613
+ if (err.response) {
1614
+ const errorMessage = get__default.default(
1615
+ err,
1616
+ ["response", "data", "error", "message"],
1617
+ "Something went wrong"
1618
+ );
1619
+ if (camelCase__default.default(errorMessage).toLowerCase() === "usernotactive") {
1620
+ push("/auth/oops");
1621
+ dispatch({
1622
+ type: "RESET_PROPS"
1623
+ });
1624
+ return;
1625
+ }
1626
+ setErrors({ errorMessage });
1627
+ }
1628
+ } finally {
1629
+ setSubmitting(false);
1630
+ }
1631
+ };
1632
+ const registerRequest = async (body, requestURL, { setSubmitting, setErrors }) => {
1633
+ try {
1634
+ trackUsage("willCreateFirstAdmin");
1635
+ const {
1636
+ data: {
1637
+ data: { token, user }
1638
+ }
1639
+ } = await post(requestURL, omit__default.default(body, fieldsToOmit), { cancelToken: source.token });
1640
+ helperPlugin.auth.setToken(token, false);
1641
+ helperPlugin.auth.setUserInfo(user, false);
1642
+ setSubmitting(false);
1643
+ setHasAdmin(true);
1644
+ const { roles } = user;
1645
+ if (roles) {
1646
+ const isUserSuperAdmin = roles.find(({ code }) => code === "strapi-super-admin");
1647
+ if (isUserSuperAdmin) {
1648
+ helperPlugin.auth.set(false, "GUIDED_TOUR_SKIPPED", true);
1649
+ setSkipped(false);
1650
+ trackUsage("didLaunchGuidedtour");
1651
+ }
1652
+ }
1653
+ if (authType === "register" && body.userInfo.news === true || authType === "register-admin" && body.news === true) {
1654
+ push({
1655
+ pathname: "/usecase",
1656
+ search: `?hasAdmin=${hasAdmin}`
1657
+ });
1658
+ return;
1659
+ }
1660
+ redirectToPreviousLocation();
1661
+ } catch (err) {
1662
+ trackUsage("didNotCreateFirstAdmin");
1663
+ if (err.response) {
1664
+ const { data } = err.response;
1665
+ const apiErrors = formatAPIErrors(data);
1666
+ setErrors({ apiErrors });
1667
+ }
1668
+ }
1669
+ };
1670
+ const resetPasswordRequest = async (body, requestURL, { setErrors, setSubmitting }) => {
1671
+ try {
1672
+ const {
1673
+ data: {
1674
+ data: { token, user }
1675
+ }
1676
+ } = await post(
1677
+ requestURL,
1678
+ { ...body, resetPasswordToken: query.get("code") },
1679
+ { cancelToken: source.token }
1680
+ );
1681
+ helperPlugin.auth.setToken(token, false);
1682
+ helperPlugin.auth.setUserInfo(user, false);
1683
+ push("/");
1684
+ } catch (err) {
1685
+ if (err.response) {
1686
+ const errorMessage = get__default.default(err, ["response", "data", "message"], "Something went wrong");
1687
+ const errorStatus = get__default.default(err, ["response", "data", "statusCode"], 400);
1688
+ dispatch({
1689
+ type: "SET_REQUEST_ERROR",
1690
+ errorMessage,
1691
+ errorStatus
1692
+ });
1693
+ setErrors({ errorMessage });
1694
+ }
1695
+ } finally {
1696
+ setSubmitting(false);
1697
+ }
1698
+ };
1699
+ const redirectToPreviousLocation = () => {
1700
+ if (authType === "login") {
1701
+ const redirectTo = query.get("redirectTo");
1702
+ const redirectUrl = redirectTo ? decodeURIComponent(redirectTo) : "/";
1703
+ push(redirectUrl);
1704
+ } else {
1705
+ push("/");
1706
+ }
1707
+ };
1708
+ if (!forms[authType] || hasAdmin && authType === "register-admin" || helperPlugin.auth.getToken()) {
1709
+ return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Redirect, { to: "/" });
1710
+ }
1711
+ if (!hasAdmin && authType !== "register-admin") {
1712
+ return /* @__PURE__ */ jsxRuntime.jsx(
1713
+ reactRouterDom.Redirect,
1714
+ {
1715
+ to: {
1716
+ pathname: "/auth/register-admin",
1717
+ // Forward the `?redirectTo` from /auth/login
1718
+ // /abc => /auth/login?redirectTo=%2Fabc => /auth/register-admin?redirectTo=%2Fabc
1719
+ search
1720
+ }
1721
+ }
1722
+ );
1723
+ }
1724
+ if (Login2) {
1725
+ forms.login.Component = Login2;
1726
+ }
1727
+ if (!Login2) {
1728
+ return null;
1729
+ }
1730
+ const { Component } = forms?.[authType] ?? {};
1731
+ return /* @__PURE__ */ jsxRuntime.jsx(
1732
+ Component,
1733
+ {
1734
+ ...rest,
1735
+ authType,
1736
+ fieldsToDisable,
1737
+ formErrors,
1738
+ inputsPrefix,
1739
+ modifiedData,
1740
+ onChange: handleChange,
1741
+ onSubmit: handleSubmit,
1742
+ requestError,
1743
+ schema
1744
+ }
1745
+ );
1746
+ };
1747
+ AuthPage.defaultProps = {
1748
+ hasAdmin: false
1749
+ };
1750
+ AuthPage.propTypes = {
1751
+ hasAdmin: PropTypes__default.default.bool,
1752
+ setHasAdmin: PropTypes__default.default.func.isRequired
1753
+ };
1754
+ const NotFoundPage = () => {
1755
+ const { formatMessage } = reactIntl.useIntl();
1756
+ helperPlugin.useFocusWhenNavigate();
1757
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { labelledBy: "title", children: [
1758
+ /* @__PURE__ */ jsxRuntime.jsx(
1759
+ designSystem.HeaderLayout,
1760
+ {
1761
+ id: "title",
1762
+ title: formatMessage({
1763
+ id: "content-manager.pageNotFound",
1764
+ defaultMessage: "Page not found"
1765
+ })
1766
+ }
1767
+ ),
1768
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsx(
1769
+ designSystem.EmptyStateLayout,
1770
+ {
1771
+ action: /* @__PURE__ */ jsxRuntime.jsx(designSystem.LinkButton, { variant: "secondary", endIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ArrowRight, {}), to: "/", children: formatMessage({
1772
+ id: "app.components.NotFoundPage.back",
1773
+ defaultMessage: "Back to homepage"
1774
+ }) }),
1775
+ content: formatMessage({
1776
+ id: "app.page.not.found",
1777
+ defaultMessage: "Oops! We can't seem to find the page you're looging for..."
1778
+ }),
1779
+ hasRadius: true,
1780
+ icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.EmptyPictures, { width: "10rem" }),
1781
+ shadow: "tableShadow"
1782
+ }
1783
+ ) })
1784
+ ] });
1785
+ };
1786
+ const NotFoundPage$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1787
+ __proto__: null,
1788
+ NotFoundPage
1789
+ }, Symbol.toStringTag, { value: "Module" }));
1790
+ const options = [
1791
+ {
1792
+ intlLabel: {
1793
+ id: "Usecase.front-end",
1794
+ defaultMessage: "Front-end developer"
1795
+ },
1796
+ value: "front_end_developer"
1797
+ },
1798
+ {
1799
+ intlLabel: {
1800
+ id: "Usecase.back-end",
1801
+ defaultMessage: "Back-end developer"
1802
+ },
1803
+ value: "back_end_developer"
1804
+ },
1805
+ {
1806
+ intlLabel: {
1807
+ id: "Usecase.full-stack",
1808
+ defaultMessage: "Full-stack developer"
1809
+ },
1810
+ value: "full_stack_developer"
1811
+ },
1812
+ {
1813
+ intlLabel: {
1814
+ id: "global.content-manager",
1815
+ defaultMessage: "Content Manager"
1816
+ },
1817
+ value: "content_manager"
1818
+ },
1819
+ {
1820
+ intlLabel: {
1821
+ id: "Usecase.content-creator",
1822
+ defaultMessage: "Content Creator"
1823
+ },
1824
+ value: "content_creator"
1825
+ },
1826
+ {
1827
+ intlLabel: {
1828
+ id: "Usecase.other",
1829
+ defaultMessage: "Other"
1830
+ },
1831
+ value: "other"
1832
+ }
1833
+ ];
1834
+ const TypographyCenter = styled__default.default(designSystem.Typography)`
1835
+ text-align: center;
1836
+ `;
1837
+ const UseCasePage = () => {
1838
+ const toggleNotification = helperPlugin.useNotification();
1839
+ const { push, location } = reactRouterDom.useHistory();
1840
+ const { formatMessage } = reactIntl.useIntl();
1841
+ const [role, setRole] = React__namespace.useState(null);
1842
+ const [otherRole, setOtherRole] = React__namespace.useState("");
1843
+ const { post } = helperPlugin.useFetchClient();
1844
+ const { firstname, email } = helperPlugin.auth.get("userInfo") ?? {};
1845
+ const { hasAdmin } = qs.parse(location?.search, { ignoreQueryPrefix: true });
1846
+ const isOther = role === "other";
1847
+ const handleSubmit = async (event, skipPersona) => {
1848
+ event.preventDefault();
1849
+ try {
1850
+ await post("https://analytics.strapi.io/register", {
1851
+ email,
1852
+ username: firstname,
1853
+ firstAdmin: Boolean(!hasAdmin),
1854
+ persona: {
1855
+ role: skipPersona ? void 0 : role,
1856
+ otherRole: skipPersona ? void 0 : otherRole
1857
+ }
1858
+ });
1859
+ toggleNotification({
1860
+ type: "success",
1861
+ message: {
1862
+ id: "Usecase.notification.success.project-created",
1863
+ defaultMessage: "Project has been successfully created"
1864
+ }
1865
+ });
1866
+ push("/");
1867
+ } catch (err) {
1868
+ }
1869
+ };
1870
+ return /* @__PURE__ */ jsxRuntime.jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { labelledBy: "usecase-title", children: [
1871
+ /* @__PURE__ */ jsxRuntime.jsx(LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: (e) => handleSubmit(e, false), children: [
1872
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", paddingBottom: 7, children: [
1873
+ /* @__PURE__ */ jsxRuntime.jsx(Logo, {}),
1874
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 6, paddingBottom: 1, width: helperPlugin.pxToRem(250), children: /* @__PURE__ */ jsxRuntime.jsx(TypographyCenter, { variant: "alpha", as: "h1", id: "usecase-title", children: formatMessage({
1875
+ id: "Usecase.title",
1876
+ defaultMessage: "Tell us a bit more about yourself"
1877
+ }) }) })
1878
+ ] }),
1879
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
1880
+ /* @__PURE__ */ jsxRuntime.jsx(
1881
+ designSystem.Select,
1882
+ {
1883
+ id: "usecase",
1884
+ "data-testid": "usecase",
1885
+ label: formatMessage({
1886
+ id: "Usecase.input.work-type",
1887
+ defaultMessage: "What type of work do you do?"
1888
+ }),
1889
+ onChange: (value) => setRole(value),
1890
+ value: role,
1891
+ children: options.map(({ intlLabel, value }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Option, { value, children: formatMessage(intlLabel) }, value))
1892
+ }
1893
+ ),
1894
+ isOther && /* @__PURE__ */ jsxRuntime.jsx(
1895
+ designSystem.TextInput,
1896
+ {
1897
+ name: "other",
1898
+ label: formatMessage({ id: "Usecase.other", defaultMessage: "Other" }),
1899
+ value: otherRole,
1900
+ onChange: (e) => setOtherRole(e.target.value),
1901
+ "data-testid": "other"
1902
+ }
1903
+ ),
1904
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", size: "L", fullWidth: true, disabled: !role, children: formatMessage({ id: "global.finish", defaultMessage: "Finish" }) })
1905
+ ] })
1906
+ ] }) }),
1907
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.TextButton, { onClick: (event) => handleSubmit(event, true), children: formatMessage({
1908
+ id: "Usecase.button.skip",
1909
+ defaultMessage: "Skip this question"
1910
+ }) }) }) })
1911
+ ] }) });
1912
+ };
1913
+ const LazyCompo = ({ loadComponent }) => {
1914
+ const [Compo, setCompo] = React__namespace.useState(null);
1915
+ React__namespace.useEffect(() => {
1916
+ const loadCompo = async () => {
1917
+ try {
1918
+ const loadedCompo = await loadComponent();
1919
+ if (typeof loadedCompo === "function") {
1920
+ setCompo(() => loadedCompo);
1921
+ } else if (loadedCompo.default) {
1922
+ setCompo(() => loadedCompo.default);
1923
+ }
1924
+ } catch (err) {
1925
+ }
1926
+ };
1927
+ loadCompo();
1928
+ }, [loadComponent]);
1929
+ if (Compo) {
1930
+ return /* @__PURE__ */ jsxRuntime.jsx(Compo, {});
1931
+ }
1932
+ return /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, {});
1933
+ };
1934
+ const createRoute = (loadComponent, to, exact = false) => {
1935
+ return /* @__PURE__ */ jsxRuntime.jsx(
1936
+ reactRouterDom.Route,
1937
+ {
1938
+ render: () => /* @__PURE__ */ jsxRuntime.jsx(LazyCompo, { loadComponent }),
1939
+ path: to,
1940
+ exact: exact || false
1941
+ },
1942
+ to
1943
+ );
1944
+ };
1945
+ const ROUTES_CE = null;
1946
+ const AuthenticatedApp = React__namespace.lazy(
1947
+ () => Promise.resolve().then(() => require("./AuthenticatedApp-092ef2be.js")).then((n) => n.AuthenticatedApp).then((mod) => ({ default: mod.AuthenticatedApp }))
1948
+ );
1949
+ const App = () => {
1950
+ const adminPermissions = useEnterprise(
1951
+ ADMIN_PERMISSIONS_CE,
1952
+ async () => (await Promise.resolve().then(() => require("./constants-86aa3e70.js"))).ADMIN_PERMISSIONS_EE,
1953
+ {
1954
+ combine(cePermissions, eePermissions) {
1955
+ return merge__default.default({}, cePermissions, eePermissions);
1956
+ },
1957
+ defaultValue: ADMIN_PERMISSIONS_CE
1958
+ }
1959
+ );
1960
+ const routes = useEnterprise(
1961
+ ROUTES_CE,
1962
+ async () => (await Promise.resolve().then(() => require("./constants-86aa3e70.js"))).ROUTES_EE,
1963
+ {
1964
+ defaultValue: []
1965
+ }
1966
+ );
1967
+ const toggleNotification = helperPlugin.useNotification();
1968
+ const { updateProjectSettings } = useConfiguration();
1969
+ const { formatMessage } = reactIntl.useIntl();
1970
+ const [{ isLoading, hasAdmin, uuid, deviceId }, setState] = React__namespace.useState({
1971
+ isLoading: true,
1972
+ deviceId: void 0,
1973
+ hasAdmin: false,
1974
+ uuid: false
1975
+ });
1976
+ const dispatch = reactRedux.useDispatch();
1977
+ const appInfo = helperPlugin.useAppInfo();
1978
+ const { get: get2, post } = helperPlugin.useFetchClient();
1979
+ const authRoutes = React__namespace.useMemo(() => {
1980
+ if (!routes) {
1981
+ return null;
1982
+ }
1983
+ return routes.map(({ to, Component, exact }) => createRoute(Component, to, exact));
1984
+ }, [routes]);
1985
+ const [telemetryProperties, setTelemetryProperties] = React__namespace.useState(void 0);
1986
+ React__namespace.useEffect(() => {
1987
+ dispatch({ type: ACTION_SET_ADMIN_PERMISSIONS, payload: adminPermissions });
1988
+ }, [adminPermissions, dispatch]);
1989
+ React__namespace.useEffect(() => {
1990
+ const currentToken = helperPlugin.auth.getToken();
1991
+ const renewToken = async () => {
1992
+ try {
1993
+ const {
1994
+ data: {
1995
+ data: { token }
1996
+ }
1997
+ } = await post("/admin/renew-token", { token: currentToken });
1998
+ helperPlugin.auth.updateToken(token);
1999
+ } catch (err) {
2000
+ helperPlugin.auth.clearAppStorage();
2001
+ window.location.reload();
2002
+ }
2003
+ };
2004
+ if (currentToken) {
2005
+ renewToken();
2006
+ }
2007
+ }, [post]);
2008
+ React__namespace.useEffect(() => {
2009
+ const getData = async () => {
2010
+ try {
2011
+ const {
2012
+ data: {
2013
+ data: { hasAdmin: hasAdmin2, uuid: uuid2, menuLogo, authLogo }
2014
+ }
2015
+ } = await get2(`/admin/init`);
2016
+ updateProjectSettings({
2017
+ menuLogo: helperPlugin.prefixFileUrlWithBackendUrl(menuLogo),
2018
+ authLogo: helperPlugin.prefixFileUrlWithBackendUrl(authLogo)
2019
+ });
2020
+ if (uuid2) {
2021
+ const {
2022
+ data: { data: properties }
2023
+ } = await get2(`/admin/telemetry-properties`, {
2024
+ // NOTE: needed because the interceptors of the fetchClient redirect to /login when receive a 401 and it would end up in an infinite loop when the user doesn't have a session.
2025
+ validateStatus: (status) => status < 500
2026
+ });
2027
+ setTelemetryProperties(properties);
2028
+ try {
2029
+ const event = "didInitializeAdministration";
2030
+ await post(
2031
+ "https://analytics.strapi.io/api/v2/track",
2032
+ {
2033
+ // This event is anonymous
2034
+ event,
2035
+ userId: "",
2036
+ deviceId,
2037
+ eventPropeties: {},
2038
+ userProperties: { environment: appInfo.currentEnvironment },
2039
+ groupProperties: { ...properties, projectId: uuid2 }
2040
+ },
2041
+ {
2042
+ headers: {
2043
+ "X-Strapi-Event": event
2044
+ }
2045
+ }
2046
+ );
2047
+ } catch (e) {
2048
+ }
2049
+ }
2050
+ setState({ isLoading: false, hasAdmin: hasAdmin2, uuid: uuid2, deviceId });
2051
+ } catch (err) {
2052
+ toggleNotification({
2053
+ type: "warning",
2054
+ message: { id: "app.containers.App.notification.error.init" }
2055
+ });
2056
+ }
2057
+ };
2058
+ getData();
2059
+ }, [toggleNotification, updateProjectSettings]);
2060
+ const setHasAdmin = (hasAdmin2) => setState((prev) => ({ ...prev, hasAdmin: hasAdmin2 }));
2061
+ const trackingInfo = React__namespace.useMemo(
2062
+ () => ({
2063
+ uuid,
2064
+ telemetryProperties,
2065
+ deviceId
2066
+ }),
2067
+ [uuid, telemetryProperties, deviceId]
2068
+ );
2069
+ if (isLoading) {
2070
+ return /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, {});
2071
+ }
2072
+ return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, {}), children: [
2073
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.SkipToContent, { children: formatMessage({ id: "skipToContent", defaultMessage: "Skip to content" }) }),
2074
+ /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.TrackingProvider, { value: trackingInfo, children: /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Switch, { children: [
2075
+ authRoutes,
2076
+ /* @__PURE__ */ jsxRuntime.jsx(
2077
+ reactRouterDom.Route,
2078
+ {
2079
+ path: "/auth/:authType",
2080
+ render: (routerProps) => /* @__PURE__ */ jsxRuntime.jsx(AuthPage, { ...routerProps, setHasAdmin, hasAdmin }),
2081
+ exact: true
2082
+ }
2083
+ ),
2084
+ /* @__PURE__ */ jsxRuntime.jsx(PrivateRoute, { path: "/usecase", component: UseCasePage }),
2085
+ /* @__PURE__ */ jsxRuntime.jsx(PrivateRoute, { path: "/", component: AuthenticatedApp }),
2086
+ /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { path: "", component: NotFoundPage })
2087
+ ] }) })
2088
+ ] });
2089
+ };
2090
+ const StrapiLogo = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDgwMCA4MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzkgMjgyYzAtMTE4IDAtMTc2LjkgMzYuNi0yMTMuNUMxMTIuMiAzMiAxNzEuMSAzMiAyODguOSAzMmgyMjEuMmMxMTcuOCAwIDE3Ni43IDAgMjEzLjMgMzYuNkM3NjAgMTA1LjIgNzYwIDE2NC4xIDc2MCAyODEuOXYyMjEuMmMwIDExNy44IDAgMTc2LjctMzYuNiAyMTMuM0M2ODYuOCA3NTMgNjI3LjkgNzUzIDUxMC4xIDc1M0gyODguOWMtMTE3LjggMC0xNzYuNyAwLTIxMy4zLTM2LjZDMzkgNjc5LjggMzkgNjIwLjkgMzkgNTAzLjFWMjgxLjlaIiBmaWxsPSIjNDk0NUZGIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUzNi40IDI1MC43SDI5My43djEyMy44aDEyMy44djEyMy43aDEyMy44VjI1NS41YzAtMi42LTIuMi00LjgtNC45LTQuOFoiIGZpbGw9IiNmZmYiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00MTIuNyAzNzQuNWg0Ljh2NC44aC00Ljh6Ii8+CiAgICA8cGF0aCBkPSJNMjkzLjggMzc0LjVoMTE5YzIuNiAwIDQuOCAyLjEgNC44IDQuOHYxMTloLTExOWE0LjggNC44IDAgMCAxLTQuOC00Ljl2LTExOVoiIGZpbGw9IiM5NTkzRkYiLz4KICAgIDxwYXRoIGQ9Ik00MTcuNSA0OTguMmgxMjMuOEw0MjEuNiA2MThhMi40IDIuNCAwIDAgMS00LTEuN3YtMTE4Wk0yOTMuOCAzNzQuNWgtMTE4YTIuNCAyLjQgMCAwIDEtMS43LTQuMWwxMTkuNy0xMTkuN3YxMjMuOFoiIGZpbGw9IiM5NTkzRkYiLz4KPC9zdmc+Cg==";
2091
+ const [AdminContextProvider, useAdminContext] = reactContext.createContext("AdminContext");
2092
+ const useAdmin = () => useAdminContext("useAdmin");
2093
+ const ConfigurationProvider = ({
2094
+ children,
2095
+ authLogo: defaultAuthLogo,
2096
+ menuLogo: defaultMenuLogo,
2097
+ showReleaseNotification = false,
2098
+ showTutorials = false
2099
+ }) => {
2100
+ const [{ menuLogo, authLogo }, setLogos] = React__namespace.useState({
2101
+ menuLogo: null,
2102
+ authLogo: null
2103
+ });
2104
+ const updateProjectSettings = React__namespace.useCallback(
2105
+ ({ menuLogo: menuLogo2, authLogo: authLogo2 }) => {
2106
+ setLogos({
2107
+ menuLogo: menuLogo2 || defaultMenuLogo,
2108
+ authLogo: authLogo2 || defaultAuthLogo
2109
+ });
2110
+ },
2111
+ [defaultAuthLogo, defaultMenuLogo]
2112
+ );
2113
+ return /* @__PURE__ */ jsxRuntime.jsx(
2114
+ ConfigurationContextProvider,
2115
+ {
2116
+ updateProjectSettings,
2117
+ showReleaseNotification,
2118
+ showTutorials,
2119
+ logos: {
2120
+ menu: { custom: menuLogo, default: defaultMenuLogo },
2121
+ auth: { custom: authLogo, default: defaultAuthLogo }
2122
+ },
2123
+ children
2124
+ }
2125
+ );
2126
+ };
2127
+ const GuidedTourProvider = ({ children }) => {
2128
+ const [{ currentStep, guidedTourState, isGuidedTourVisible, isSkipped }, dispatch] = React__namespace.useReducer(reducer$1, initialState$6, initialiseState);
2129
+ const setCurrentStep = (step) => {
2130
+ if (step !== null) {
2131
+ const isStepAlreadyDone = get__default.default(guidedTourState, step);
2132
+ const [sectionName, stepName] = step.split(".");
2133
+ const sectionArray = Object.entries(guidedTourState[sectionName]);
2134
+ const currentStepIndex = sectionArray.findIndex(([key]) => key === stepName);
2135
+ const previousSteps = sectionArray.slice(0, currentStepIndex);
2136
+ const isStepToShow = previousSteps.every(([, sectionValue]) => sectionValue);
2137
+ if (isStepAlreadyDone || isSkipped || !isStepToShow) {
2138
+ return null;
2139
+ }
2140
+ }
2141
+ helperPlugin.auth.set(null, "GUIDED_TOUR_CURRENT_STEP", true);
2142
+ return dispatch({
2143
+ type: "SET_CURRENT_STEP",
2144
+ step
2145
+ });
2146
+ };
2147
+ const setGuidedTourVisibility = (value) => {
2148
+ dispatch({
2149
+ type: "SET_GUIDED_TOUR_VISIBILITY",
2150
+ value
2151
+ });
2152
+ };
2153
+ const setStepState = (currentStep2, value) => {
2154
+ addCompletedStep(currentStep2);
2155
+ dispatch({
2156
+ type: "SET_STEP_STATE",
2157
+ currentStep: currentStep2,
2158
+ value
2159
+ });
2160
+ };
2161
+ const startSection = (sectionName) => {
2162
+ const sectionSteps = guidedTourState[sectionName];
2163
+ if (sectionSteps) {
2164
+ const guidedTourArray = Object.entries(guidedTourState);
2165
+ const currentSectionIndex = guidedTourArray.findIndex(([key]) => key === sectionName);
2166
+ const previousSections = guidedTourArray.slice(0, currentSectionIndex);
2167
+ const isSectionToShow = previousSections.every(
2168
+ ([, sectionValue]) => Object.values(sectionValue).every(Boolean)
2169
+ );
2170
+ const [firstStep] = Object.keys(sectionSteps);
2171
+ const isFirstStepDone = sectionSteps[firstStep];
2172
+ if (isSectionToShow && !currentStep && !isFirstStepDone) {
2173
+ setCurrentStep(`${sectionName}.${firstStep}`);
2174
+ }
2175
+ }
2176
+ };
2177
+ const setSkipped = (value) => {
2178
+ helperPlugin.auth.set(value, "GUIDED_TOUR_SKIPPED", true);
2179
+ dispatch({
2180
+ type: "SET_SKIPPED",
2181
+ value
2182
+ });
2183
+ };
2184
+ return /* @__PURE__ */ jsxRuntime.jsx(
2185
+ helperPlugin.GuidedTourProvider,
2186
+ {
2187
+ guidedTourState,
2188
+ currentStep,
2189
+ setCurrentStep,
2190
+ setGuidedTourVisibility,
2191
+ setSkipped,
2192
+ setStepState,
2193
+ startSection,
2194
+ isGuidedTourVisible,
2195
+ isSkipped,
2196
+ children
2197
+ }
2198
+ );
2199
+ };
2200
+ const initialState$6 = {
2201
+ currentStep: null,
2202
+ guidedTourState: {
2203
+ contentTypeBuilder: {
2204
+ create: false,
2205
+ success: false
2206
+ },
2207
+ contentManager: {
2208
+ create: false,
2209
+ success: false
2210
+ },
2211
+ apiTokens: {
2212
+ create: false,
2213
+ success: false
2214
+ }
2215
+ },
2216
+ isGuidedTourVisible: false,
2217
+ isSkipped: false
2218
+ };
2219
+ const reducer$1 = (state = initialState$6, action) => produce__default.default(state, (draftState) => {
2220
+ switch (action.type) {
2221
+ case "SET_CURRENT_STEP": {
2222
+ draftState.currentStep = action.step;
2223
+ break;
2224
+ }
2225
+ case "SET_STEP_STATE": {
2226
+ const [section, step] = action.currentStep.split(".");
2227
+ draftState.guidedTourState[section][step] = action.value;
2228
+ break;
2229
+ }
2230
+ case "SET_SKIPPED": {
2231
+ draftState.isSkipped = action.value;
2232
+ break;
2233
+ }
2234
+ case "SET_GUIDED_TOUR_VISIBILITY": {
2235
+ draftState.isGuidedTourVisible = action.value;
2236
+ break;
2237
+ }
2238
+ default: {
2239
+ return draftState;
2240
+ }
2241
+ }
2242
+ });
2243
+ const initialiseState = (initialState2) => {
2244
+ const copyInitialState = { ...initialState2 };
2245
+ const guidedTourLocaleStorage = helperPlugin.auth.get("GUIDED_TOUR_COMPLETED_STEPS");
2246
+ const currentStepLocaleStorage = helperPlugin.auth.get("GUIDED_TOUR_CURRENT_STEP");
2247
+ const skippedLocaleStorage = helperPlugin.auth.get("GUIDED_TOUR_SKIPPED");
2248
+ if (Array.isArray(guidedTourLocaleStorage)) {
2249
+ guidedTourLocaleStorage.forEach((step) => {
2250
+ const [sectionName, stepName] = step.split(".");
2251
+ set__default.default(copyInitialState, ["guidedTourState", sectionName, stepName], true);
2252
+ });
2253
+ }
2254
+ if (currentStepLocaleStorage) {
2255
+ const [sectionName, stepName] = currentStepLocaleStorage.split(".");
2256
+ set__default.default(copyInitialState, ["guidedTourState", sectionName, stepName], true);
2257
+ addCompletedStep(currentStepLocaleStorage);
2258
+ helperPlugin.auth.set(null, "GUIDED_TOUR_CURRENT_STEP", true);
2259
+ }
2260
+ if (skippedLocaleStorage !== null) {
2261
+ set__default.default(copyInitialState, "isSkipped", skippedLocaleStorage);
2262
+ }
2263
+ return copyInitialState;
2264
+ };
2265
+ const addCompletedStep = (completedStep) => {
2266
+ const currentSteps = helperPlugin.auth.get("GUIDED_TOUR_COMPLETED_STEPS") ?? [];
2267
+ if (!Array.isArray(currentSteps)) {
2268
+ return;
2269
+ }
2270
+ const isAlreadyStored = currentSteps.includes(completedStep);
2271
+ if (isAlreadyStored) {
2272
+ return;
2273
+ }
2274
+ helperPlugin.auth.set([...currentSteps, completedStep], "GUIDED_TOUR_COMPLETED_STEPS", true);
2275
+ };
2276
+ const [ThemeToggleContextProvider, useThemeToggleContext] = reactContext.createContext("ThemeToggleContext");
2277
+ const useThemeToggle = () => useThemeToggleContext("useThemeToggle");
2278
+ const Theme = ({ children }) => {
2279
+ const { currentTheme, themes, systemTheme } = useThemeToggle();
2280
+ const { locale } = reactIntl.useIntl();
2281
+ const computedThemeName = currentTheme === "system" ? systemTheme : currentTheme;
2282
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2283
+ designSystem.DesignSystemProvider,
2284
+ {
2285
+ locale,
2286
+ theme: themes?.[computedThemeName || "light"],
2287
+ children: [
2288
+ children,
2289
+ /* @__PURE__ */ jsxRuntime.jsx(GlobalStyle, {})
2290
+ ]
2291
+ }
2292
+ );
2293
+ };
2294
+ const GlobalStyle = styled.createGlobalStyle`
2295
+ body {
2296
+ background: ${({ theme }) => theme.colors.neutral100};
2297
+ }
2298
+ `;
2299
+ const THEME_KEY = "STRAPI_THEME";
2300
+ const getDefaultTheme = () => {
2301
+ const persistedTheme = localStorage.getItem(THEME_KEY);
2302
+ return persistedTheme || "system";
2303
+ };
2304
+ const ThemeToggleProvider = ({ children, themes }) => {
2305
+ const [currentTheme, setCurrentTheme] = React__namespace.useState(getDefaultTheme());
2306
+ const [systemTheme, setSystemTheme] = React__namespace.useState();
2307
+ const handleChangeTheme = React__namespace.useCallback(
2308
+ (nextTheme) => {
2309
+ setCurrentTheme(nextTheme);
2310
+ localStorage.setItem(THEME_KEY, nextTheme);
2311
+ },
2312
+ [setCurrentTheme]
2313
+ );
2314
+ React__namespace.useEffect(() => {
2315
+ const themeWatcher = window.matchMedia("(prefers-color-scheme: dark)");
2316
+ setSystemTheme(themeWatcher.matches ? "dark" : "light");
2317
+ const listener = (event) => {
2318
+ setSystemTheme(event.matches ? "dark" : "light");
2319
+ };
2320
+ themeWatcher.addEventListener("change", listener);
2321
+ return () => {
2322
+ themeWatcher.removeEventListener("change", listener);
2323
+ };
2324
+ }, []);
2325
+ return /* @__PURE__ */ jsxRuntime.jsx(
2326
+ ThemeToggleContextProvider,
2327
+ {
2328
+ currentTheme,
2329
+ onChangeTheme: handleChangeTheme,
2330
+ themes,
2331
+ systemTheme,
2332
+ children
2333
+ }
2334
+ );
2335
+ };
2336
+ const queryClient = new reactQuery.QueryClient({
2337
+ defaultOptions: {
2338
+ queries: {
2339
+ refetchOnWindowFocus: false
2340
+ }
2341
+ }
2342
+ });
2343
+ const Providers = ({
2344
+ authLogo,
2345
+ children,
2346
+ components,
2347
+ customFields,
2348
+ fields,
2349
+ getAdminInjectedComponents,
2350
+ getPlugin,
2351
+ localeNames,
2352
+ menu,
2353
+ menuLogo,
2354
+ messages,
2355
+ plugins,
2356
+ runHookParallel,
2357
+ runHookSeries,
2358
+ runHookWaterfall,
2359
+ settings,
2360
+ showReleaseNotification,
2361
+ showTutorials,
2362
+ store,
2363
+ themes
2364
+ }) => {
2365
+ return /* @__PURE__ */ jsxRuntime.jsx(LanguageProvider, { messages, localeNames, children: /* @__PURE__ */ jsxRuntime.jsx(ThemeToggleProvider, { themes, children: /* @__PURE__ */ jsxRuntime.jsx(Theme, { children: /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(reactRedux.Provider, { store, children: /* @__PURE__ */ jsxRuntime.jsx(AdminContextProvider, { getAdminInjectedComponents, children: /* @__PURE__ */ jsxRuntime.jsx(
2366
+ ConfigurationProvider,
2367
+ {
2368
+ authLogo,
2369
+ menuLogo,
2370
+ showReleaseNotification,
2371
+ showTutorials,
2372
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2373
+ helperPlugin.StrapiAppProvider,
2374
+ {
2375
+ getPlugin,
2376
+ menu,
2377
+ plugins,
2378
+ runHookParallel,
2379
+ runHookWaterfall,
2380
+ runHookSeries,
2381
+ settings,
2382
+ children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LibraryProvider, { components, fields, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.CustomFieldsProvider, { customFields, children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.AutoReloadOverlayBlockerProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.OverlayBlockerProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(GuidedTourProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.NotificationsProvider, { children }) }) }) }) }) })
2383
+ }
2384
+ )
2385
+ }
2386
+ ) }) }) }) }) }) });
2387
+ };
2388
+ class Components {
2389
+ components;
2390
+ constructor() {
2391
+ this.components = {};
2392
+ }
2393
+ add(component) {
2394
+ const { name, Component } = component;
2395
+ invariant__default.default(Component, "A Component must be provided");
2396
+ invariant__default.default(name, "A name must be provided");
2397
+ invariant__default.default(this.components[name] === void 0, "A similar field already exists");
2398
+ this.components[name] = Component;
2399
+ }
2400
+ }
2401
+ const ALLOWED_TYPES = [
2402
+ "biginteger",
2403
+ "boolean",
2404
+ "date",
2405
+ "datetime",
2406
+ "decimal",
2407
+ "email",
2408
+ "enumeration",
2409
+ "float",
2410
+ "integer",
2411
+ "json",
2412
+ "password",
2413
+ "richtext",
2414
+ "string",
2415
+ "text",
2416
+ "time",
2417
+ "uid"
2418
+ ];
2419
+ const ALLOWED_ROOT_LEVEL_OPTIONS = [
2420
+ "min",
2421
+ "minLength",
2422
+ "max",
2423
+ "maxLength",
2424
+ "required",
2425
+ "regex",
2426
+ "enum",
2427
+ "unique",
2428
+ "private",
2429
+ "default"
2430
+ ];
2431
+ class CustomFields {
2432
+ customFields;
2433
+ constructor() {
2434
+ this.customFields = {};
2435
+ }
2436
+ register(customFields) {
2437
+ if (Array.isArray(customFields)) {
2438
+ customFields.forEach((customField) => {
2439
+ this.register(customField);
2440
+ });
2441
+ } else {
2442
+ const { name, pluginId, type, intlLabel, intlDescription, components, options: options2 } = customFields;
2443
+ invariant__default.default(name, "A name must be provided");
2444
+ invariant__default.default(type, "A type must be provided");
2445
+ invariant__default.default(intlLabel, "An intlLabel must be provided");
2446
+ invariant__default.default(intlDescription, "An intlDescription must be provided");
2447
+ invariant__default.default(components, "A components object must be provided");
2448
+ invariant__default.default(components.Input, "An Input component must be provided");
2449
+ invariant__default.default(
2450
+ ALLOWED_TYPES.includes(type),
2451
+ `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
2452
+ );
2453
+ const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
2454
+ invariant__default.default(
2455
+ isValidObjectKey.test(name),
2456
+ `Custom field name: '${name}' is not a valid object key`
2457
+ );
2458
+ const allFormOptions = [...options2?.base || [], ...options2?.advanced || []];
2459
+ if (allFormOptions.length) {
2460
+ const optionPathValidations = allFormOptions.reduce(optionsValidationReducer, []);
2461
+ optionPathValidations.forEach(({ isValidOptionPath, errorMessage }) => {
2462
+ invariant__default.default(isValidOptionPath, errorMessage);
2463
+ });
2464
+ }
2465
+ const uid = pluginId ? `plugin::${pluginId}.${name}` : `global::${name}`;
2466
+ const uidAlreadyUsed = Object.prototype.hasOwnProperty.call(this.customFields, uid);
2467
+ invariant__default.default(!uidAlreadyUsed, `Custom field: '${uid}' has already been registered`);
2468
+ this.customFields[uid] = customFields;
2469
+ }
2470
+ }
2471
+ getAll() {
2472
+ return this.customFields;
2473
+ }
2474
+ get(uid) {
2475
+ return this.customFields[uid];
2476
+ }
2477
+ }
2478
+ const optionsValidationReducer = (acc, option) => {
2479
+ if ("items" in option) {
2480
+ return option.items.reduce(optionsValidationReducer, acc);
2481
+ }
2482
+ if (!option.name) {
2483
+ acc.push({
2484
+ isValidOptionPath: false,
2485
+ errorMessage: "The 'name' property is required on an options object"
2486
+ });
2487
+ } else {
2488
+ acc.push({
2489
+ isValidOptionPath: option.name.startsWith("options") || ALLOWED_ROOT_LEVEL_OPTIONS.includes(option.name),
2490
+ errorMessage: `'${option.name}' must be prefixed with 'options.'`
2491
+ });
2492
+ }
2493
+ return acc;
2494
+ };
2495
+ class Fields {
2496
+ fields;
2497
+ constructor() {
2498
+ this.fields = {};
2499
+ }
2500
+ add(field) {
2501
+ const { type, Component } = field;
2502
+ invariant__default.default(Component, "A Component must be provided");
2503
+ invariant__default.default(type, "A type must be provided");
2504
+ this.fields[type] = Component;
2505
+ }
2506
+ }
2507
+ class Middlewares {
2508
+ middlewares;
2509
+ constructor() {
2510
+ this.middlewares = [];
2511
+ }
2512
+ add(middleware) {
2513
+ this.middlewares.push(middleware);
2514
+ }
2515
+ }
2516
+ class Plugin {
2517
+ apis;
2518
+ initializer;
2519
+ injectionZones;
2520
+ isReady;
2521
+ name;
2522
+ pluginId;
2523
+ constructor(pluginConf) {
2524
+ this.apis = pluginConf.apis || {};
2525
+ this.initializer = pluginConf.initializer || null;
2526
+ this.injectionZones = pluginConf.injectionZones || {};
2527
+ this.isReady = pluginConf.isReady !== void 0 ? pluginConf.isReady : true;
2528
+ this.name = pluginConf.name;
2529
+ this.pluginId = pluginConf.id;
2530
+ }
2531
+ getInjectedComponents(containerName, blockName) {
2532
+ try {
2533
+ return this.injectionZones[containerName][blockName] || [];
2534
+ } catch (err) {
2535
+ console.error("Cannot get injected component", err);
2536
+ return [];
2537
+ }
2538
+ }
2539
+ injectComponent(containerName, blockName, component) {
2540
+ try {
2541
+ this.injectionZones[containerName][blockName].push(component);
2542
+ } catch (err) {
2543
+ console.error("Cannot inject component", err);
2544
+ }
2545
+ }
2546
+ }
2547
+ class Reducers {
2548
+ reducers;
2549
+ constructor({ appReducers = {} } = {}) {
2550
+ this.reducers = { ...appReducers };
2551
+ }
2552
+ add(reducerName, reducer2) {
2553
+ this.reducers[reducerName] = reducer2;
2554
+ }
2555
+ }
2556
+ const useTypedDispatch = reactRedux.useDispatch;
2557
+ const useTypedStore = reactRedux.useStore;
2558
+ const useTypedSelector = reactRedux.useSelector;
2559
+ const createTypedSelector = (selector) => toolkit.createSelector((state) => state, selector);
2560
+ const RBACProvider = ({ children, permissions, refetchPermissions }) => {
2561
+ const allPermissions = useTypedSelector((state) => state.rbacProvider.allPermissions);
2562
+ const dispatch = useTypedDispatch();
2563
+ React__namespace.useEffect(() => {
2564
+ dispatch(setPermissionsAction(permissions));
2565
+ return () => {
2566
+ dispatch(resetStoreAction());
2567
+ };
2568
+ }, [permissions, dispatch]);
2569
+ if (!allPermissions) {
2570
+ return /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, {});
2571
+ }
2572
+ return /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.RBACContext.Provider, { value: { allPermissions, refetchPermissions }, children });
2573
+ };
2574
+ const initialState$5 = {
2575
+ allPermissions: null,
2576
+ collectionTypesRelatedPermissions: {}
2577
+ };
2578
+ const RESET_STORE = "StrapiAdmin/RBACProvider/RESET_STORE";
2579
+ const SET_PERMISSIONS$1 = "StrapiAdmin/RBACProvider/SET_PERMISSIONS";
2580
+ const resetStoreAction = () => ({ type: RESET_STORE });
2581
+ const setPermissionsAction = (permissions) => ({
2582
+ type: SET_PERMISSIONS$1,
2583
+ permissions
2584
+ });
2585
+ const RBACReducer = (state = initialState$5, action) => produce__default.default(state, (draftState) => {
2586
+ switch (action.type) {
2587
+ case SET_PERMISSIONS$1: {
2588
+ draftState.allPermissions = action.permissions;
2589
+ draftState.collectionTypesRelatedPermissions = action.permissions.filter((perm) => perm.subject).reduce((acc, current) => {
2590
+ const { subject, action: action2 } = current;
2591
+ if (!subject)
2592
+ return acc;
2593
+ if (!acc[subject]) {
2594
+ acc[subject] = {};
2595
+ }
2596
+ acc[subject] = acc[subject][action2] ? { ...acc[subject], [action2]: [...acc[subject][action2], current] } : { ...acc[subject], [action2]: [current] };
2597
+ return acc;
2598
+ }, {});
2599
+ break;
2600
+ }
2601
+ case RESET_STORE: {
2602
+ return initialState$5;
2603
+ }
2604
+ default:
2605
+ return state;
2606
+ }
2607
+ });
2608
+ const SET_PERMISSIONS = "ContentManager/RBACManager/SET_PERMISSIONS";
2609
+ const RESET_PERMISSIONS = "ContentManager/RBACManager/RESET_PERMISSIONS";
2610
+ const initialState$4 = {
2611
+ permissions: null
2612
+ };
2613
+ const rbacManagerReducer = (state = initialState$4, action) => (
2614
+ // eslint-disable-next-line consistent-return
2615
+ produce__default.default(state, (draftState) => {
2616
+ switch (action.type) {
2617
+ case SET_PERMISSIONS: {
2618
+ draftState.permissions = Object.entries(action.permissions).reduce((acc, current) => {
2619
+ return [...acc, ...current[1]];
2620
+ }, []);
2621
+ break;
2622
+ }
2623
+ case RESET_PERMISSIONS: {
2624
+ draftState.permissions = null;
2625
+ break;
2626
+ }
2627
+ default:
2628
+ return draftState;
2629
+ }
2630
+ })
2631
+ );
2632
+ const GET_INIT_DATA = "ContentManager/App/GET_INIT_DATA";
2633
+ const RESET_INIT_DATA = "ContentManager/App/RESET_INIT_DATA";
2634
+ const SET_INIT_DATA = "ContentManager/App/SET_INIT_DATA";
2635
+ const initialState$3 = {
2636
+ components: [],
2637
+ status: "loading",
2638
+ models: [],
2639
+ collectionTypeLinks: [],
2640
+ singleTypeLinks: []
2641
+ };
2642
+ const mainReducer = (state = initialState$3, action) => produce__default.default(state, (draftState) => {
2643
+ switch (action.type) {
2644
+ case GET_INIT_DATA: {
2645
+ draftState.status = "loading";
2646
+ break;
2647
+ }
2648
+ case RESET_INIT_DATA: {
2649
+ return initialState$3;
2650
+ }
2651
+ case SET_INIT_DATA: {
2652
+ draftState.collectionTypeLinks = action.data.authorizedCollectionTypeLinks.filter(
2653
+ ({ isDisplayed }) => isDisplayed
2654
+ );
2655
+ draftState.singleTypeLinks = action.data.authorizedSingleTypeLinks.filter(
2656
+ ({ isDisplayed }) => isDisplayed
2657
+ );
2658
+ draftState.components = action.data.components;
2659
+ draftState.models = action.data.contentTypeSchemas;
2660
+ draftState.fieldSizes = action.data.fieldSizes;
2661
+ draftState.status = "resolved";
2662
+ break;
2663
+ }
2664
+ default:
2665
+ return draftState;
2666
+ }
2667
+ });
2668
+ const SET_LAYOUT = "ContentManager/EditViewLayoutManager/SET_LAYOUT";
2669
+ const RESET_PROPS$2 = "ContentManager/EditViewLayoutManager/RESET_PROPS";
2670
+ const initialState$2 = {
2671
+ currentLayout: null
2672
+ };
2673
+ const editViewManagerReducer = (state = initialState$2, action) => (
2674
+ // eslint-disable-next-line consistent-return
2675
+ produce__default.default(state, (draftState) => {
2676
+ switch (action.type) {
2677
+ case RESET_PROPS$2: {
2678
+ draftState.currentLayout = null;
2679
+ break;
2680
+ }
2681
+ case SET_LAYOUT: {
2682
+ draftState.currentLayout = action.layout;
2683
+ break;
2684
+ }
2685
+ default:
2686
+ return draftState;
2687
+ }
2688
+ })
2689
+ );
2690
+ const GET_DATA$1 = "ContentManager/ListView/GET_DATA";
2691
+ const GET_DATA_SUCCEEDED$1 = "ContentManager/ListView/GET_DATA_SUCCEEDED";
2692
+ const RESET_PROPS$1 = "ContentManager/ListView/RESET_PROPS";
2693
+ const ON_CHANGE_LIST_HEADERS = "ContentManager/ListView/ON_CHANGE_LIST_HEADERS ";
2694
+ const ON_RESET_LIST_HEADERS = "ContentManager/ListView/ON_RESET_LIST_HEADERS ";
2695
+ const SET_LIST_LAYOUT = "ContentManager/ListView/SET_LIST_LAYOUT ";
2696
+ const initialState$1 = {
2697
+ data: [],
2698
+ isLoading: true,
2699
+ contentType: {},
2700
+ components: [],
2701
+ initialDisplayedHeaders: [],
2702
+ displayedHeaders: [],
2703
+ pagination: {
2704
+ total: 0
2705
+ }
2706
+ };
2707
+ const listViewReducer = (state = initialState$1, action) => (
2708
+ // eslint-disable-next-line consistent-return
2709
+ produce__default.default(state, (draftState) => {
2710
+ switch (action.type) {
2711
+ case GET_DATA$1: {
2712
+ return {
2713
+ ...initialState$1,
2714
+ contentType: state.contentType,
2715
+ components: state.components,
2716
+ initialDisplayedHeaders: state.initialDisplayedHeaders,
2717
+ displayedHeaders: state.displayedHeaders
2718
+ };
2719
+ }
2720
+ case GET_DATA_SUCCEEDED$1: {
2721
+ draftState.pagination = action.pagination;
2722
+ draftState.data = action.data;
2723
+ draftState.isLoading = false;
2724
+ break;
2725
+ }
2726
+ case ON_CHANGE_LIST_HEADERS: {
2727
+ const {
2728
+ target: { name, value }
2729
+ } = action;
2730
+ if (!value) {
2731
+ const { metadatas, attributes, uid } = state.contentType;
2732
+ const metas = metadatas[name].list;
2733
+ const header = {
2734
+ name,
2735
+ fieldSchema: attributes[name],
2736
+ metadatas: metas,
2737
+ key: `__${name}_key__`
2738
+ };
2739
+ switch (attributes[name].type) {
2740
+ case "component": {
2741
+ const componentName = attributes[name].component;
2742
+ const mainFieldName = get__default.default(
2743
+ state,
2744
+ ["components", componentName, "settings", "mainField"],
2745
+ null
2746
+ );
2747
+ const mainFieldAttribute = get__default.default(state, [
2748
+ "components",
2749
+ componentName,
2750
+ "attributes",
2751
+ mainFieldName
2752
+ ]);
2753
+ draftState.displayedHeaders.push({
2754
+ ...header,
2755
+ metadatas: {
2756
+ ...metas,
2757
+ mainField: {
2758
+ ...mainFieldAttribute,
2759
+ name: mainFieldName
2760
+ }
2761
+ }
2762
+ });
2763
+ break;
2764
+ }
2765
+ case "relation":
2766
+ draftState.displayedHeaders.push({
2767
+ ...header,
2768
+ queryInfos: {
2769
+ defaultParams: {},
2770
+ endPoint: `collection-types/${uid}`
2771
+ }
2772
+ });
2773
+ break;
2774
+ default:
2775
+ draftState.displayedHeaders.push(header);
2776
+ }
2777
+ } else {
2778
+ draftState.displayedHeaders = state.displayedHeaders.filter(
2779
+ (header) => header.name !== name
2780
+ );
2781
+ }
2782
+ break;
2783
+ }
2784
+ case ON_RESET_LIST_HEADERS: {
2785
+ draftState.displayedHeaders = state.initialDisplayedHeaders;
2786
+ break;
2787
+ }
2788
+ case RESET_PROPS$1: {
2789
+ return initialState$1;
2790
+ }
2791
+ case SET_LIST_LAYOUT: {
2792
+ const { contentType, components, displayedHeaders } = action;
2793
+ draftState.contentType = contentType;
2794
+ draftState.components = components;
2795
+ draftState.displayedHeaders = displayedHeaders;
2796
+ draftState.initialDisplayedHeaders = displayedHeaders;
2797
+ break;
2798
+ }
2799
+ default:
2800
+ return draftState;
2801
+ }
2802
+ })
2803
+ );
2804
+ const GET_DATA = "ContentManager/CrudReducer/GET_DATA";
2805
+ const GET_DATA_SUCCEEDED = "ContentManager/CrudReducer/GET_DATA_SUCCEEDED";
2806
+ const INIT_FORM = "ContentManager/CrudReducer/INIT_FORM";
2807
+ const RESET_PROPS = "ContentManager/CrudReducer/RESET_PROPS";
2808
+ const SET_DATA_STRUCTURES = "ContentManager/CrudReducer/SET_DATA_STRUCTURES";
2809
+ const SET_STATUS = "ContentManager/CrudReducer/SET_STATUS";
2810
+ const SUBMIT_SUCCEEDED = "ContentManager/CrudReducer/SUBMIT_SUCCEEDED";
2811
+ const CLEAR_SET_MODIFIED_DATA_ONLY = "ContentManager/CrudReducer/CLEAR_SET_MODIFIED_DATA_ONLY";
2812
+ const crudInitialState = {
2813
+ componentsDataStructure: {},
2814
+ contentTypeDataStructure: {},
2815
+ isLoading: true,
2816
+ data: null,
2817
+ status: "resolved",
2818
+ setModifiedDataOnly: false
2819
+ };
2820
+ const crudReducer = (state = crudInitialState, action) => produce__default.default(state, (draftState) => {
2821
+ switch (action.type) {
2822
+ case GET_DATA: {
2823
+ draftState.isLoading = true;
2824
+ draftState.data = null;
2825
+ break;
2826
+ }
2827
+ case GET_DATA_SUCCEEDED: {
2828
+ draftState.isLoading = false;
2829
+ draftState.data = action.data;
2830
+ draftState.setModifiedDataOnly = action.setModifiedDataOnly ?? false;
2831
+ break;
2832
+ }
2833
+ case INIT_FORM: {
2834
+ if (action.data) {
2835
+ draftState.isLoading = false;
2836
+ draftState.data = action.data;
2837
+ break;
2838
+ }
2839
+ draftState.isLoading = false;
2840
+ draftState.data = state.contentTypeDataStructure;
2841
+ break;
2842
+ }
2843
+ case RESET_PROPS: {
2844
+ return crudInitialState;
2845
+ }
2846
+ case SET_DATA_STRUCTURES: {
2847
+ draftState.componentsDataStructure = action.componentsDataStructure;
2848
+ draftState.contentTypeDataStructure = action.contentTypeDataStructure;
2849
+ break;
2850
+ }
2851
+ case SET_STATUS: {
2852
+ draftState.status = action.status;
2853
+ break;
2854
+ }
2855
+ case SUBMIT_SUCCEEDED: {
2856
+ draftState.data = action.data;
2857
+ break;
2858
+ }
2859
+ case CLEAR_SET_MODIFIED_DATA_ONLY: {
2860
+ draftState.setModifiedDataOnly = false;
2861
+ break;
2862
+ }
2863
+ default:
2864
+ return draftState;
2865
+ }
2866
+ });
2867
+ const initialState = {
2868
+ permissions: {},
2869
+ status: "init"
2870
+ };
2871
+ const reducer = (state = initialState, action) => (
2872
+ /* eslint-disable-next-line consistent-return */
2873
+ produce__default.default(state, (draftState) => {
2874
+ switch (action.type) {
2875
+ case ACTION_SET_APP_RUNTIME_STATUS: {
2876
+ draftState.status = "runtime";
2877
+ break;
2878
+ }
2879
+ case ACTION_SET_ADMIN_PERMISSIONS: {
2880
+ draftState.permissions = action.payload;
2881
+ break;
2882
+ }
2883
+ default:
2884
+ return draftState;
2885
+ }
2886
+ })
2887
+ );
2888
+ const staticReducers = {
2889
+ admin_app: reducer,
2890
+ rbacProvider: RBACReducer,
2891
+ "content-manager_app": mainReducer,
2892
+ "content-manager_listView": listViewReducer,
2893
+ "content-manager_rbacManager": rbacManagerReducer,
2894
+ "content-manager_editViewLayoutManager": editViewManagerReducer,
2895
+ "content-manager_editViewCrudReducer": crudReducer
2896
+ };
2897
+ const injectReducerStoreEnhancer = (appReducers) => (next) => (...args) => {
2898
+ const store = next(...args);
2899
+ const asyncReducers = {};
2900
+ return {
2901
+ ...store,
2902
+ asyncReducers,
2903
+ injectReducer: (key, asyncReducer) => {
2904
+ asyncReducers[key] = asyncReducer;
2905
+ store.replaceReducer(
2906
+ // @ts-expect-error we dynamically add reducers which makes the types uncomfortable.
2907
+ toolkit.combineReducers({
2908
+ ...appReducers,
2909
+ ...asyncReducers
2910
+ })
2911
+ );
2912
+ }
2913
+ };
2914
+ };
2915
+ const configureStoreImpl = (appMiddlewares = [], injectedReducers = {}) => {
2916
+ const coreReducers = { ...staticReducers, ...injectedReducers };
2917
+ const store = toolkit.configureStore({
2918
+ reducer: coreReducers,
2919
+ devTools: process.env.NODE_ENV !== "production",
2920
+ middleware: (getDefaultMiddleware) => [
2921
+ ...getDefaultMiddleware(),
2922
+ ...appMiddlewares.map((m) => m())
2923
+ ],
2924
+ enhancers: [injectReducerStoreEnhancer(coreReducers)]
2925
+ });
2926
+ return store;
2927
+ };
2928
+ const getBasename = () => (process.env.ADMIN_PATH ?? "").replace(window.location.origin, "");
2929
+ const createHook = () => {
2930
+ const _handlers = [];
2931
+ return {
2932
+ register(fn) {
2933
+ _handlers.push(fn);
2934
+ },
2935
+ delete(handler) {
2936
+ _handlers.splice(_handlers.indexOf(handler), 1);
2937
+ },
2938
+ runWaterfall(args, store) {
2939
+ return _handlers.reduce((acc, fn) => fn(acc, store), args);
2940
+ },
2941
+ async runWaterfallAsync(args, store) {
2942
+ let result = args;
2943
+ for (const fn of _handlers) {
2944
+ result = await fn(result, store);
2945
+ }
2946
+ return result;
2947
+ },
2948
+ runSeries(...args) {
2949
+ return _handlers.map((fn) => fn(...args));
2950
+ },
2951
+ async runSeriesAsync(...args) {
2952
+ const result = [];
2953
+ for (const fn of _handlers) {
2954
+ result.push(await fn(...args));
2955
+ }
2956
+ return result;
2957
+ },
2958
+ runParallel(...args) {
2959
+ return Promise.all(
2960
+ _handlers.map((fn) => {
2961
+ return fn(...args);
2962
+ })
2963
+ );
2964
+ }
2965
+ };
2966
+ };
2967
+ const useInjectionZone = (area) => {
2968
+ const { getAdminInjectedComponents } = useAdmin();
2969
+ const [moduleName, page, position] = area.split(".");
2970
+ return getAdminInjectedComponents(moduleName, page, position);
2971
+ };
2972
+ const INJECTION_ZONES = {
2973
+ admin: {
2974
+ // Temporary injection zone, support for the react-tour plugin in foodadvisor
2975
+ tutorials: {
2976
+ links: []
2977
+ }
2978
+ },
2979
+ contentManager: {
2980
+ editView: { informations: [], "right-links": [] },
2981
+ listView: {
2982
+ actions: [],
2983
+ deleteModalAdditionalInfos: [],
2984
+ publishModalAdditionalInfos: [],
2985
+ unpublishModalAdditionalInfos: []
2986
+ }
2987
+ }
2988
+ };
2989
+ const InjectionZone = ({ area, ...props }) => {
2990
+ const components = useInjectionZone(area);
2991
+ return components.map((component) => /* @__PURE__ */ jsxRuntime.jsx(component.Component, { ...props }, component.name));
2992
+ };
2993
+ const languageNativeNames = {
2994
+ ar: "العربية",
2995
+ ca: "Català",
2996
+ cs: "Čeština",
2997
+ de: "Deutsch",
2998
+ dk: "Dansk",
2999
+ en: "English",
3000
+ es: "Español",
3001
+ eu: "Euskara",
3002
+ fr: "Français",
3003
+ gu: "Gujarati",
3004
+ he: "עברית",
3005
+ hu: "Magyar",
3006
+ id: "Indonesian",
3007
+ it: "Italiano",
3008
+ ja: "日本語",
3009
+ ko: "한국어",
3010
+ ml: "Malayalam",
3011
+ ms: "Melayu",
3012
+ nl: "Nederlands",
3013
+ no: "Norwegian",
3014
+ pl: "Polski",
3015
+ "pt-BR": "Português (Brasil)",
3016
+ pt: "Português (Portugal)",
3017
+ ru: "Русский",
3018
+ sk: "Slovenčina",
3019
+ sv: "Swedish",
3020
+ th: "ไทย",
3021
+ tr: "Türkçe",
3022
+ uk: "Українська",
3023
+ vi: "Tiếng Việt",
3024
+ "zh-Hans": "中文 (简体)",
3025
+ zh: "中文 (繁體)",
3026
+ sa: "संस्कृत",
3027
+ hi: "हिन्दी"
3028
+ };
3029
+ const {
3030
+ INJECT_COLUMN_IN_TABLE,
3031
+ MUTATE_COLLECTION_TYPES_LINKS,
3032
+ MUTATE_EDIT_VIEW_LAYOUT,
3033
+ MUTATE_SINGLE_TYPES_LINKS
3034
+ } = HOOKS;
3035
+ class StrapiApp {
3036
+ admin;
3037
+ appPlugins;
3038
+ configurations;
3039
+ customBootstrapConfiguration;
3040
+ customConfigurations;
3041
+ customFields;
3042
+ hooksDict;
3043
+ library;
3044
+ menu;
3045
+ middlewares;
3046
+ plugins;
3047
+ reducers;
3048
+ settings;
3049
+ translations;
3050
+ constructor({ adminConfig, appPlugins } = {}) {
3051
+ this.customConfigurations = adminConfig?.config ?? {};
3052
+ this.customBootstrapConfiguration = adminConfig?.bootstrap;
3053
+ this.configurations = {
3054
+ authLogo: StrapiLogo,
3055
+ head: { favicon: "" },
3056
+ locales: ["en"],
3057
+ menuLogo: StrapiLogo,
3058
+ notifications: { releases: true },
3059
+ themes: { light: designSystem.lightTheme, dark: designSystem.darkTheme },
3060
+ translations: {},
3061
+ tutorials: true
3062
+ };
3063
+ this.appPlugins = appPlugins || {};
3064
+ this.library = {
3065
+ components: new Components(),
3066
+ fields: new Fields()
3067
+ };
3068
+ this.middlewares = new Middlewares();
3069
+ this.plugins = {};
3070
+ this.reducers = new Reducers();
3071
+ this.translations = {};
3072
+ this.hooksDict = {};
3073
+ this.admin = {
3074
+ injectionZones: INJECTION_ZONES
3075
+ };
3076
+ this.customFields = new CustomFields();
3077
+ this.menu = [];
3078
+ this.settings = {
3079
+ global: {
3080
+ id: "global",
3081
+ intlLabel: {
3082
+ id: "Settings.global",
3083
+ defaultMessage: "Global Settings"
3084
+ },
3085
+ links: []
3086
+ }
3087
+ };
3088
+ }
3089
+ addComponents = (components) => {
3090
+ if (Array.isArray(components)) {
3091
+ components.map((compo) => this.library.components.add(compo));
3092
+ } else {
3093
+ this.library.components.add(components);
3094
+ }
3095
+ };
3096
+ addCorePluginMenuLink = (link) => {
3097
+ const stringifiedLink = JSON.stringify(link);
3098
+ invariant__default.default(link.to, `link.to should be defined for ${stringifiedLink}`);
3099
+ invariant__default.default(
3100
+ typeof link.to === "string",
3101
+ `Expected link.to to be a string instead received ${typeof link.to}`
3102
+ );
3103
+ invariant__default.default(
3104
+ ["/plugins/content-type-builder", "/plugins/upload"].includes(link.to),
3105
+ "This method is not available for your plugin"
3106
+ );
3107
+ invariant__default.default(
3108
+ link.intlLabel?.id && link.intlLabel?.defaultMessage,
3109
+ `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
3110
+ );
3111
+ this.menu.push(link);
3112
+ };
3113
+ addFields = (fields) => {
3114
+ if (Array.isArray(fields)) {
3115
+ fields.map((field) => this.library.fields.add(field));
3116
+ } else {
3117
+ this.library.fields.add(fields);
3118
+ }
3119
+ };
3120
+ addMenuLink = (link) => {
3121
+ const stringifiedLink = JSON.stringify(link);
3122
+ invariant__default.default(link.to, `link.to should be defined for ${stringifiedLink}`);
3123
+ invariant__default.default(
3124
+ typeof link.to === "string",
3125
+ `Expected link.to to be a string instead received ${typeof link.to}`
3126
+ );
3127
+ invariant__default.default(
3128
+ link.intlLabel?.id && link.intlLabel?.defaultMessage,
3129
+ `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
3130
+ );
3131
+ invariant__default.default(
3132
+ link.Component && typeof link.Component === "function",
3133
+ `link.Component should be a valid React Component`
3134
+ );
3135
+ invariant__default.default(
3136
+ link.icon && typeof link.icon === "function",
3137
+ `link.Icon should be a valid React Component`
3138
+ );
3139
+ this.menu.push(link);
3140
+ };
3141
+ addMiddlewares = (middlewares) => {
3142
+ middlewares.forEach((middleware) => {
3143
+ this.middlewares.add(middleware);
3144
+ });
3145
+ };
3146
+ addReducers = (reducers) => {
3147
+ Object.keys(reducers).forEach((reducerName) => {
3148
+ this.reducers.add(reducerName, reducers[reducerName]);
3149
+ });
3150
+ };
3151
+ addSettingsLink = (sectionId, link) => {
3152
+ invariant__default.default(this.settings[sectionId], "The section does not exist");
3153
+ const stringifiedLink = JSON.stringify(link);
3154
+ invariant__default.default(link.id, `link.id should be defined for ${stringifiedLink}`);
3155
+ invariant__default.default(
3156
+ link.intlLabel?.id && link.intlLabel?.defaultMessage,
3157
+ `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
3158
+ );
3159
+ invariant__default.default(link.to, `link.to should be defined for ${stringifiedLink}`);
3160
+ invariant__default.default(
3161
+ link.Component && typeof link.Component === "function",
3162
+ `link.Component should be a valid React Component`
3163
+ );
3164
+ this.settings[sectionId].links.push(link);
3165
+ };
3166
+ addSettingsLinks = (sectionId, links) => {
3167
+ invariant__default.default(this.settings[sectionId], "The section does not exist");
3168
+ invariant__default.default(Array.isArray(links), "TypeError expected links to be an array");
3169
+ links.forEach((link) => {
3170
+ this.addSettingsLink(sectionId, link);
3171
+ });
3172
+ };
3173
+ async bootstrap() {
3174
+ Object.keys(this.appPlugins).forEach((plugin) => {
3175
+ const bootstrap = this.appPlugins[plugin].bootstrap;
3176
+ if (bootstrap) {
3177
+ bootstrap({
3178
+ addSettingsLink: this.addSettingsLink,
3179
+ addSettingsLinks: this.addSettingsLinks,
3180
+ getPlugin: this.getPlugin,
3181
+ injectContentManagerComponent: this.injectContentManagerComponent,
3182
+ injectAdminComponent: this.injectAdminComponent,
3183
+ registerHook: this.registerHook
3184
+ });
3185
+ }
3186
+ });
3187
+ if (isFunction__default.default(this.customBootstrapConfiguration)) {
3188
+ this.customBootstrapConfiguration({
3189
+ addComponents: this.addComponents,
3190
+ addFields: this.addFields,
3191
+ addMenuLink: this.addMenuLink,
3192
+ addReducers: this.addReducers,
3193
+ addSettingsLink: this.addSettingsLink,
3194
+ addSettingsLinks: this.addSettingsLinks,
3195
+ getPlugin: this.getPlugin,
3196
+ injectContentManagerComponent: this.injectContentManagerComponent,
3197
+ injectAdminComponent: this.injectAdminComponent,
3198
+ registerHook: this.registerHook
3199
+ });
3200
+ }
3201
+ }
3202
+ bootstrapAdmin = async () => {
3203
+ await this.createCustomConfigurations();
3204
+ this.createHook(INJECT_COLUMN_IN_TABLE);
3205
+ this.createHook(MUTATE_COLLECTION_TYPES_LINKS);
3206
+ this.createHook(MUTATE_SINGLE_TYPES_LINKS);
3207
+ this.createHook(MUTATE_EDIT_VIEW_LAYOUT);
3208
+ return Promise.resolve();
3209
+ };
3210
+ createCustomConfigurations = async () => {
3211
+ if (this.customConfigurations?.locales) {
3212
+ this.configurations.locales = [
3213
+ "en",
3214
+ ...this.customConfigurations.locales?.filter((loc) => loc !== "en") || []
3215
+ ];
3216
+ }
3217
+ if (this.customConfigurations?.auth?.logo) {
3218
+ this.configurations.authLogo = this.customConfigurations.auth.logo;
3219
+ }
3220
+ if (this.customConfigurations?.menu?.logo) {
3221
+ this.configurations.menuLogo = this.customConfigurations.menu.logo;
3222
+ }
3223
+ if (this.customConfigurations?.head?.favicon) {
3224
+ this.configurations.head.favicon = this.customConfigurations.head.favicon;
3225
+ }
3226
+ if (this.customConfigurations?.theme) {
3227
+ const darkTheme2 = this.customConfigurations.theme.dark;
3228
+ const lightTheme2 = this.customConfigurations.theme.light;
3229
+ if (!darkTheme2 && !lightTheme2) {
3230
+ console.warn(
3231
+ `[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension.`
3232
+ );
3233
+ merge__default.default(this.configurations.themes.light, this.customConfigurations.theme);
3234
+ }
3235
+ if (lightTheme2)
3236
+ merge__default.default(this.configurations.themes.light, lightTheme2);
3237
+ if (darkTheme2)
3238
+ merge__default.default(this.configurations.themes.dark, darkTheme2);
3239
+ }
3240
+ if (this.customConfigurations?.notifications?.releases !== void 0) {
3241
+ this.configurations.notifications.releases = this.customConfigurations.notifications.releases;
3242
+ }
3243
+ if (this.customConfigurations?.tutorials !== void 0) {
3244
+ this.configurations.tutorials = this.customConfigurations.tutorials;
3245
+ }
3246
+ };
3247
+ createHook = (name) => {
3248
+ this.hooksDict[name] = createHook();
3249
+ };
3250
+ createSettingSection = (section, links) => {
3251
+ invariant__default.default(section.id, "section.id should be defined");
3252
+ invariant__default.default(
3253
+ section.intlLabel?.id && section.intlLabel?.defaultMessage,
3254
+ "section.intlLabel should be defined"
3255
+ );
3256
+ invariant__default.default(Array.isArray(links), "TypeError expected links to be an array");
3257
+ invariant__default.default(this.settings[section.id] === void 0, "A similar section already exists");
3258
+ this.settings[section.id] = { ...section, links: [] };
3259
+ links.forEach((link) => {
3260
+ this.addSettingsLink(section.id, link);
3261
+ });
3262
+ };
3263
+ createStore = () => {
3264
+ const store = configureStoreImpl(this.middlewares.middlewares, this.reducers.reducers);
3265
+ return store;
3266
+ };
3267
+ getAdminInjectedComponents = (moduleName, containerName, blockName) => {
3268
+ try {
3269
+ return this.admin.injectionZones[moduleName][containerName][blockName] || [];
3270
+ } catch (err) {
3271
+ console.error("Cannot get injected component", err);
3272
+ return [];
3273
+ }
3274
+ };
3275
+ getPlugin = (pluginId) => {
3276
+ return this.plugins[pluginId];
3277
+ };
3278
+ async initialize() {
3279
+ Object.keys(this.appPlugins).forEach((plugin) => {
3280
+ this.appPlugins[plugin].register(this);
3281
+ });
3282
+ }
3283
+ injectContentManagerComponent = (containerName, blockName, component) => {
3284
+ invariant__default.default(
3285
+ this.admin.injectionZones.contentManager[containerName]?.[blockName],
3286
+ `The ${containerName} ${String(blockName)} zone is not defined in the content manager`
3287
+ );
3288
+ invariant__default.default(component, "A Component must be provided");
3289
+ this.admin.injectionZones.contentManager[containerName][blockName].push(component);
3290
+ };
3291
+ injectAdminComponent = (containerName, blockName, component) => {
3292
+ invariant__default.default(
3293
+ this.admin.injectionZones.admin[containerName]?.[blockName],
3294
+ `The ${containerName} ${String(blockName)} zone is not defined in the admin`
3295
+ );
3296
+ invariant__default.default(component, "A Component must be provided");
3297
+ this.admin.injectionZones.admin[containerName][blockName].push(component);
3298
+ };
3299
+ /**
3300
+ * Load the admin translations
3301
+ * @returns {Object} The imported admin translations
3302
+ */
3303
+ async loadAdminTrads() {
3304
+ const arrayOfPromises = this.configurations.locales.map((locale) => {
3305
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-21279f4c.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-d05fb350.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-eee75b10.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-976cc986.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-6189917e.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-0e9e9327.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-3ee0992a.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-be749f31.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-29c84e1f.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-377a4b46.js")), "./translations/he.json": () => Promise.resolve().then(() => require("./he-aec27352.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-1bdc7a46.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-e2c05f40.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-586df3a2.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-9c4295f1.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-eb74520f.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-18e71df4.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-c5199364.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-bc514df6.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-f1aedbe2.js")), "./translations/no.json": () => Promise.resolve().then(() => require("./no-ec6c2927.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-9be86414.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-d43239e3.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-4fcc08f1.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-07958f09.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-8ffb7ca7.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-a9308737.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-0f5ffd1e.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-a53bbf7a.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-b84a68b0.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-e5226227.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-c5fabb75.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-35d2c374.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-24f618cb.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
3306
+ return { data, locale };
3307
+ }).catch(() => {
3308
+ return { data: null, locale };
3309
+ });
3310
+ });
3311
+ const adminLocales = await Promise.all(arrayOfPromises);
3312
+ const translations = adminLocales.reduce(
3313
+ (acc, current) => {
3314
+ if (current.data) {
3315
+ acc[current.locale] = current.data;
3316
+ }
3317
+ return acc;
3318
+ },
3319
+ {}
3320
+ );
3321
+ return translations;
3322
+ }
3323
+ /**
3324
+ * Load the application's translations and merged the custom translations
3325
+ * with the default ones.
3326
+ *
3327
+ */
3328
+ async loadTrads() {
3329
+ const adminTranslations = await this.loadAdminTrads();
3330
+ const arrayOfPromises = Object.keys(this.appPlugins).map((plugin) => {
3331
+ const registerTrads = this.appPlugins[plugin].registerTrads;
3332
+ if (registerTrads) {
3333
+ return registerTrads({ locales: this.configurations.locales });
3334
+ }
3335
+ return null;
3336
+ }).filter((a) => a);
3337
+ const pluginsTrads = await Promise.all(arrayOfPromises);
3338
+ const mergedTrads = pluginsTrads.reduce(
3339
+ (acc, currentPluginTrads) => {
3340
+ const pluginTrads = currentPluginTrads.reduce(
3341
+ (acc1, current) => {
3342
+ acc1[current.locale] = current.data;
3343
+ return acc1;
3344
+ },
3345
+ {}
3346
+ );
3347
+ Object.keys(pluginTrads).forEach((locale) => {
3348
+ acc[locale] = { ...acc[locale], ...pluginTrads[locale] };
3349
+ });
3350
+ return acc;
3351
+ },
3352
+ {}
3353
+ );
3354
+ const translations = this.configurations.locales.reduce((acc, current) => {
3355
+ acc[current] = {
3356
+ ...adminTranslations[current],
3357
+ ...mergedTrads[current] || {},
3358
+ ...this.customConfigurations?.translations?.[current] ?? {}
3359
+ };
3360
+ return acc;
3361
+ }, {});
3362
+ this.configurations.translations = translations;
3363
+ return Promise.resolve();
3364
+ }
3365
+ registerHook = (name, fn) => {
3366
+ invariant__default.default(
3367
+ this.hooksDict[name],
3368
+ `The hook ${name} is not defined. You are trying to register a hook that does not exist in the application.`
3369
+ );
3370
+ this.hooksDict[name].register(fn);
3371
+ };
3372
+ registerPlugin = (pluginConf) => {
3373
+ const plugin = new Plugin(pluginConf);
3374
+ this.plugins[plugin.pluginId] = plugin;
3375
+ };
3376
+ runHookSeries = (name, asynchronous = false) => asynchronous ? this.hooksDict[name].runSeriesAsync() : this.hooksDict[name].runSeries();
3377
+ runHookWaterfall = (name, initialValue, asynchronous = false, store) => {
3378
+ return asynchronous ? this.hooksDict[name].runWaterfallAsync(initialValue, store) : this.hooksDict[name].runWaterfall(initialValue, store);
3379
+ };
3380
+ runHookParallel = (name) => this.hooksDict[name].runParallel();
3381
+ render() {
3382
+ const store = this.createStore();
3383
+ const localeNames = pick__default.default(languageNativeNames, this.configurations.locales || []);
3384
+ const {
3385
+ components: { components },
3386
+ fields: { fields }
3387
+ } = this.library;
3388
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3389
+ Providers,
3390
+ {
3391
+ authLogo: this.configurations.authLogo,
3392
+ components,
3393
+ fields,
3394
+ customFields: this.customFields,
3395
+ localeNames,
3396
+ getAdminInjectedComponents: this.getAdminInjectedComponents,
3397
+ getPlugin: this.getPlugin,
3398
+ messages: this.configurations.translations,
3399
+ menu: this.menu,
3400
+ menuLogo: this.configurations.menuLogo,
3401
+ plugins: this.plugins,
3402
+ runHookParallel: this.runHookParallel,
3403
+ runHookWaterfall: (name, initialValue, async = false) => {
3404
+ return this.runHookWaterfall(name, initialValue, async, store);
3405
+ },
3406
+ runHookSeries: this.runHookSeries,
3407
+ themes: this.configurations.themes,
3408
+ settings: this.settings,
3409
+ showTutorials: this.configurations.tutorials,
3410
+ showReleaseNotification: this.configurations.notifications.releases,
3411
+ store,
3412
+ children: [
3413
+ /* @__PURE__ */ jsxRuntime.jsx(
3414
+ reactHelmet.Helmet,
3415
+ {
3416
+ htmlAttributes: { lang: localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY) || "en" }
3417
+ }
3418
+ ),
3419
+ /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.BrowserRouter, { basename: getBasename(), children: /* @__PURE__ */ jsxRuntime.jsx(App, {}) })
3420
+ ]
3421
+ }
3422
+ );
3423
+ }
3424
+ }
3425
+ const renderAdmin = async (mountNode, { plugins }) => {
3426
+ if (!mountNode) {
3427
+ throw new Error("[@strapi/admin]: Could not find the root element to mount the admin app");
3428
+ }
3429
+ window.strapi = {
3430
+ /**
3431
+ * This ENV variable is passed from the strapi instance, by default no url is set
3432
+ * in the config and therefore the instance returns you an empty string so URLs are relative.
3433
+ *
3434
+ * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.
3435
+ */
3436
+ backendURL: process.env.STRAPI_ADMIN_BACKEND_URL || window.location.origin,
3437
+ isEE: false,
3438
+ telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === "true" ? true : false,
3439
+ features: {
3440
+ SSO: "sso",
3441
+ AUDIT_LOGS: "audit-logs",
3442
+ REVIEW_WORKFLOWS: "review-workflows",
3443
+ /**
3444
+ * If we don't get the license then we know it's not EE
3445
+ * so no feature is enabled.
3446
+ */
3447
+ isEnabled: () => false
3448
+ },
3449
+ projectType: "Community",
3450
+ flags: {
3451
+ nps: false,
3452
+ promoteEE: true
3453
+ }
3454
+ };
3455
+ const { get: get2 } = helperPlugin.getFetchClient();
3456
+ try {
3457
+ const {
3458
+ data: {
3459
+ data: { isEE, features, flags }
3460
+ }
3461
+ } = await get2("/admin/project-type");
3462
+ window.strapi.isEE = isEE;
3463
+ window.strapi.flags = flags;
3464
+ window.strapi.features = {
3465
+ ...window.strapi.features,
3466
+ isEnabled: (featureName) => features.some((feature) => feature.name === featureName)
3467
+ };
3468
+ window.strapi.projectType = isEE ? "Enterprise" : "Community";
3469
+ } catch (err) {
3470
+ console.error(err);
3471
+ }
3472
+ const app = new StrapiApp({
3473
+ adminConfig: {},
3474
+ appPlugins: plugins
3475
+ });
3476
+ await app.bootstrapAdmin();
3477
+ await app.initialize();
3478
+ await app.bootstrap();
3479
+ await app.loadTrads();
3480
+ client.createRoot(mountNode).render(app.render());
3481
+ if (typeof module !== "undefined" && module && "hot" in module && typeof module.hot === "object" && module.hot !== null && "accept" in module.hot && typeof module.hot.accept === "function") {
3482
+ module.hot.accept();
3483
+ }
3484
+ };
3485
+ exports.ACTION_SET_APP_RUNTIME_STATUS = ACTION_SET_APP_RUNTIME_STATUS;
3486
+ exports.CLEAR_SET_MODIFIED_DATA_ONLY = CLEAR_SET_MODIFIED_DATA_ONLY;
3487
+ exports.Column = Column;
3488
+ exports.DefaultDocument = DefaultDocument;
3489
+ exports.GET_DATA = GET_DATA;
3490
+ exports.GET_DATA$1 = GET_DATA$1;
3491
+ exports.GET_DATA_SUCCEEDED = GET_DATA_SUCCEEDED;
3492
+ exports.GET_DATA_SUCCEEDED$1 = GET_DATA_SUCCEEDED$1;
3493
+ exports.GET_INIT_DATA = GET_INIT_DATA;
3494
+ exports.HOOKS = HOOKS;
3495
+ exports.INIT_FORM = INIT_FORM;
3496
+ exports.InjectionZone = InjectionZone;
3497
+ exports.LayoutContent = LayoutContent;
3498
+ exports.Login = Login;
3499
+ exports.Logo = Logo;
3500
+ exports.NotFoundPage = NotFoundPage$1;
3501
+ exports.NpsSurvey = NpsSurvey;
3502
+ exports.ON_CHANGE_LIST_HEADERS = ON_CHANGE_LIST_HEADERS;
3503
+ exports.ON_RESET_LIST_HEADERS = ON_RESET_LIST_HEADERS;
3504
+ exports.RBACProvider = RBACProvider;
3505
+ exports.RESET_INIT_DATA = RESET_INIT_DATA;
3506
+ exports.RESET_PERMISSIONS = RESET_PERMISSIONS;
3507
+ exports.RESET_PROPS = RESET_PROPS$2;
3508
+ exports.RESET_PROPS$1 = RESET_PROPS;
3509
+ exports.RESET_PROPS$2 = RESET_PROPS$1;
3510
+ exports.SET_DATA_STRUCTURES = SET_DATA_STRUCTURES;
3511
+ exports.SET_INIT_DATA = SET_INIT_DATA;
3512
+ exports.SET_LAYOUT = SET_LAYOUT;
3513
+ exports.SET_LIST_LAYOUT = SET_LIST_LAYOUT;
3514
+ exports.SET_PERMISSIONS = SET_PERMISSIONS;
3515
+ exports.SET_STATUS = SET_STATUS;
3516
+ exports.SUBMIT_SUCCEEDED = SUBMIT_SUCCEEDED;
3517
+ exports.StrapiLogo = StrapiLogo;
3518
+ exports.UnauthenticatedLayout = UnauthenticatedLayout;
3519
+ exports.createRoute = createRoute;
3520
+ exports.createTypedSelector = createTypedSelector;
3521
+ exports.crudInitialState = crudInitialState;
3522
+ exports.crudReducer = crudReducer;
3523
+ exports.formatAPIErrors = formatAPIErrors;
3524
+ exports.getBasename = getBasename;
3525
+ exports.initialState = initialState$1;
3526
+ exports.initialState$1 = initialState$3;
3527
+ exports.renderAdmin = renderAdmin;
3528
+ exports.useConfiguration = useConfiguration;
3529
+ exports.useEnterprise = useEnterprise;
3530
+ exports.useInjectionZone = useInjectionZone;
3531
+ exports.useLocales = useLocales;
3532
+ exports.useThemeToggle = useThemeToggle;
3533
+ exports.useTypedDispatch = useTypedDispatch;
3534
+ exports.useTypedSelector = useTypedSelector;
3535
+ exports.useTypedStore = useTypedStore;
3536
+ //# sourceMappingURL=index-edc9bb0b.js.map