@strapi/admin 4.16.1 → 4.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/dist/_chunks/AdminSeatInfo-6e7bbb97.mjs +164 -0
  2. package/dist/_chunks/AdminSeatInfo-6e7bbb97.mjs.map +1 -0
  3. package/dist/_chunks/AdminSeatInfo-a10d232f.js +164 -0
  4. package/dist/_chunks/AdminSeatInfo-a10d232f.js.map +1 -0
  5. package/dist/_chunks/AuthenticatedApp-47219c52.js +1477 -0
  6. package/dist/_chunks/AuthenticatedApp-47219c52.js.map +1 -0
  7. package/dist/_chunks/AuthenticatedApp-7d1fdf0c.mjs +1451 -0
  8. package/dist/_chunks/AuthenticatedApp-7d1fdf0c.mjs.map +1 -0
  9. package/dist/_chunks/CreateActionEE-42bd2b19.js +63 -0
  10. package/dist/_chunks/CreateActionEE-42bd2b19.js.map +1 -0
  11. package/dist/_chunks/CreateActionEE-eadd5955.mjs +60 -0
  12. package/dist/_chunks/CreateActionEE-eadd5955.mjs.map +1 -0
  13. package/dist/_chunks/CreatePage-17c8a6e4.mjs +325 -0
  14. package/dist/_chunks/CreatePage-17c8a6e4.mjs.map +1 -0
  15. package/dist/_chunks/CreatePage-32977ee7.mjs +289 -0
  16. package/dist/_chunks/CreatePage-32977ee7.mjs.map +1 -0
  17. package/dist/_chunks/CreatePage-3c0b9dd5.js +346 -0
  18. package/dist/_chunks/CreatePage-3c0b9dd5.js.map +1 -0
  19. package/dist/_chunks/CreatePage-4ba4bd0d.mjs +82 -0
  20. package/dist/_chunks/CreatePage-4ba4bd0d.mjs.map +1 -0
  21. package/dist/_chunks/CreatePage-d2a061b5.js +82 -0
  22. package/dist/_chunks/CreatePage-d2a061b5.js.map +1 -0
  23. package/dist/_chunks/CreatePage-eeb81776.js +312 -0
  24. package/dist/_chunks/CreatePage-eeb81776.js.map +1 -0
  25. package/dist/_chunks/CreateView-2bc998f1.mjs +85 -0
  26. package/dist/_chunks/CreateView-2bc998f1.mjs.map +1 -0
  27. package/dist/_chunks/CreateView-5a0b0eca.js +89 -0
  28. package/dist/_chunks/CreateView-5a0b0eca.js.map +1 -0
  29. package/dist/_chunks/CreateView-8b6412c9.mjs +89 -0
  30. package/dist/_chunks/CreateView-8b6412c9.mjs.map +1 -0
  31. package/dist/_chunks/CreateView-fc328787.js +85 -0
  32. package/dist/_chunks/CreateView-fc328787.js.map +1 -0
  33. package/dist/_chunks/EditPage-0b1a48f7.js +499 -0
  34. package/dist/_chunks/EditPage-0b1a48f7.js.map +1 -0
  35. package/dist/_chunks/EditPage-2b051ea8.mjs +475 -0
  36. package/dist/_chunks/EditPage-2b051ea8.mjs.map +1 -0
  37. package/dist/_chunks/EditPage-6d3fe437.mjs +305 -0
  38. package/dist/_chunks/EditPage-6d3fe437.mjs.map +1 -0
  39. package/dist/_chunks/EditPage-7b9355e4.mjs +775 -0
  40. package/dist/_chunks/EditPage-7b9355e4.mjs.map +1 -0
  41. package/dist/_chunks/EditPage-89052393.js +796 -0
  42. package/dist/_chunks/EditPage-89052393.js.map +1 -0
  43. package/dist/_chunks/EditPage-de127112.js +325 -0
  44. package/dist/_chunks/EditPage-de127112.js.map +1 -0
  45. package/dist/_chunks/EditPage-efc987d7.js +404 -0
  46. package/dist/_chunks/EditPage-efc987d7.js.map +1 -0
  47. package/dist/_chunks/EditPage-faee9ac1.mjs +383 -0
  48. package/dist/_chunks/EditPage-faee9ac1.mjs.map +1 -0
  49. package/dist/_chunks/EditView-0e4d7c80.mjs +432 -0
  50. package/dist/_chunks/EditView-0e4d7c80.mjs.map +1 -0
  51. package/dist/_chunks/EditView-e480d09f.js +452 -0
  52. package/dist/_chunks/EditView-e480d09f.js.map +1 -0
  53. package/dist/_chunks/EditViewPage-3e638ea4.mjs +883 -0
  54. package/dist/_chunks/EditViewPage-3e638ea4.mjs.map +1 -0
  55. package/dist/_chunks/EditViewPage-ef0292a9.js +910 -0
  56. package/dist/_chunks/EditViewPage-ef0292a9.js.map +1 -0
  57. package/dist/_chunks/EventsTable-21c9c326.mjs +91 -0
  58. package/dist/_chunks/EventsTable-21c9c326.mjs.map +1 -0
  59. package/dist/_chunks/EventsTable-c8ea750e.js +91 -0
  60. package/dist/_chunks/EventsTable-c8ea750e.js.map +1 -0
  61. package/dist/_chunks/Filters-4d67a6ca.js +61 -0
  62. package/dist/_chunks/Filters-4d67a6ca.js.map +1 -0
  63. package/dist/_chunks/Filters-8f3c8fcf.mjs +43 -0
  64. package/dist/_chunks/Filters-8f3c8fcf.mjs.map +1 -0
  65. package/dist/_chunks/HomePage-28c2fc09.mjs +84 -0
  66. package/dist/_chunks/HomePage-28c2fc09.mjs.map +1 -0
  67. package/dist/_chunks/HomePage-bfeba10a.mjs +577 -0
  68. package/dist/_chunks/HomePage-bfeba10a.mjs.map +1 -0
  69. package/dist/_chunks/HomePage-d9e5bcf6.js +598 -0
  70. package/dist/_chunks/HomePage-d9e5bcf6.js.map +1 -0
  71. package/dist/_chunks/HomePage-ef17de6c.js +84 -0
  72. package/dist/_chunks/HomePage-ef17de6c.js.map +1 -0
  73. package/dist/_chunks/InformationBoxEE-2d2b6c4a.js +398 -0
  74. package/dist/_chunks/InformationBoxEE-2d2b6c4a.js.map +1 -0
  75. package/dist/_chunks/InformationBoxEE-bd1d2894.mjs +379 -0
  76. package/dist/_chunks/InformationBoxEE-bd1d2894.mjs.map +1 -0
  77. package/dist/_chunks/InstalledPluginsPage-39a094a5.js +189 -0
  78. package/dist/_chunks/InstalledPluginsPage-39a094a5.js.map +1 -0
  79. package/dist/_chunks/InstalledPluginsPage-8e9b0b64.mjs +170 -0
  80. package/dist/_chunks/InstalledPluginsPage-8e9b0b64.mjs.map +1 -0
  81. package/dist/_chunks/Layout-caf718bb.mjs +87 -0
  82. package/dist/_chunks/Layout-caf718bb.mjs.map +1 -0
  83. package/dist/_chunks/Layout-cc5413b2.js +88 -0
  84. package/dist/_chunks/Layout-cc5413b2.js.map +1 -0
  85. package/dist/_chunks/LimitsModal-3327be54.js +75 -0
  86. package/dist/_chunks/LimitsModal-3327be54.js.map +1 -0
  87. package/dist/_chunks/LimitsModal-d438f513.mjs +74 -0
  88. package/dist/_chunks/LimitsModal-d438f513.mjs.map +1 -0
  89. package/dist/_chunks/ListPage-05df9b86.mjs +345 -0
  90. package/dist/_chunks/ListPage-05df9b86.mjs.map +1 -0
  91. package/dist/_chunks/ListPage-17fb477a.js +389 -0
  92. package/dist/_chunks/ListPage-17fb477a.js.map +1 -0
  93. package/dist/_chunks/ListPage-338d8ca5.js +719 -0
  94. package/dist/_chunks/ListPage-338d8ca5.js.map +1 -0
  95. package/dist/_chunks/ListPage-56d94335.js +351 -0
  96. package/dist/_chunks/ListPage-56d94335.js.map +1 -0
  97. package/dist/_chunks/ListPage-5e5ad2aa.js +366 -0
  98. package/dist/_chunks/ListPage-5e5ad2aa.js.map +1 -0
  99. package/dist/_chunks/ListPage-5ed3e9d2.mjs +85 -0
  100. package/dist/_chunks/ListPage-5ed3e9d2.mjs.map +1 -0
  101. package/dist/_chunks/ListPage-7d5baee5.mjs +348 -0
  102. package/dist/_chunks/ListPage-7d5baee5.mjs.map +1 -0
  103. package/dist/_chunks/ListPage-800398cd.mjs +698 -0
  104. package/dist/_chunks/ListPage-800398cd.mjs.map +1 -0
  105. package/dist/_chunks/ListPage-cc823a6a.js +583 -0
  106. package/dist/_chunks/ListPage-cc823a6a.js.map +1 -0
  107. package/dist/_chunks/ListPage-db17e758.js +85 -0
  108. package/dist/_chunks/ListPage-db17e758.js.map +1 -0
  109. package/dist/_chunks/ListPage-de4b7131.mjs +580 -0
  110. package/dist/_chunks/ListPage-de4b7131.mjs.map +1 -0
  111. package/dist/_chunks/ListPage-f43782c4.mjs +370 -0
  112. package/dist/_chunks/ListPage-f43782c4.mjs.map +1 -0
  113. package/dist/_chunks/ListView-521e309f.mjs +271 -0
  114. package/dist/_chunks/ListView-521e309f.mjs.map +1 -0
  115. package/dist/_chunks/ListView-80855396.js +331 -0
  116. package/dist/_chunks/ListView-80855396.js.map +1 -0
  117. package/dist/_chunks/ListView-a33ebe77.js +292 -0
  118. package/dist/_chunks/ListView-a33ebe77.js.map +1 -0
  119. package/dist/_chunks/ListView-b91a8da7.mjs +310 -0
  120. package/dist/_chunks/ListView-b91a8da7.mjs.map +1 -0
  121. package/dist/_chunks/Login-4eb1fb78.mjs +101 -0
  122. package/dist/_chunks/Login-4eb1fb78.mjs.map +1 -0
  123. package/dist/_chunks/Login-906ebde5.js +103 -0
  124. package/dist/_chunks/Login-906ebde5.js.map +1 -0
  125. package/dist/_chunks/MagicLinkEE-03128309.mjs +92 -0
  126. package/dist/_chunks/MagicLinkEE-03128309.mjs.map +1 -0
  127. package/dist/_chunks/MagicLinkEE-ab36ee0f.js +92 -0
  128. package/dist/_chunks/MagicLinkEE-ab36ee0f.js.map +1 -0
  129. package/dist/_chunks/MarketplacePage-62e70483.mjs +1046 -0
  130. package/dist/_chunks/MarketplacePage-62e70483.mjs.map +1 -0
  131. package/dist/_chunks/MarketplacePage-fe1f2c6e.js +1070 -0
  132. package/dist/_chunks/MarketplacePage-fe1f2c6e.js.map +1 -0
  133. package/dist/_chunks/ModalForm-7057f0f5.mjs +28 -0
  134. package/dist/_chunks/ModalForm-7057f0f5.mjs.map +1 -0
  135. package/dist/_chunks/ModalForm-715b963e.js +28 -0
  136. package/dist/_chunks/ModalForm-715b963e.js.map +1 -0
  137. package/dist/_chunks/ProfilePage-5359ee40.mjs +676 -0
  138. package/dist/_chunks/ProfilePage-5359ee40.mjs.map +1 -0
  139. package/dist/_chunks/ProfilePage-5bf5e2ed.js +699 -0
  140. package/dist/_chunks/ProfilePage-5bf5e2ed.js.map +1 -0
  141. package/dist/_chunks/PurchaseAuditLogs-a9c1457c.js +48 -0
  142. package/dist/_chunks/PurchaseAuditLogs-a9c1457c.js.map +1 -0
  143. package/dist/_chunks/PurchaseAuditLogs-e50bb68e.mjs +48 -0
  144. package/dist/_chunks/PurchaseAuditLogs-e50bb68e.mjs.map +1 -0
  145. package/dist/_chunks/PurchaseReviewWorkflows-72d34d9b.mjs +51 -0
  146. package/dist/_chunks/PurchaseReviewWorkflows-72d34d9b.mjs.map +1 -0
  147. package/dist/_chunks/PurchaseReviewWorkflows-afa3d8ae.js +51 -0
  148. package/dist/_chunks/PurchaseReviewWorkflows-afa3d8ae.js.map +1 -0
  149. package/dist/_chunks/PurchaseSingleSignOn-70c10e60.mjs +51 -0
  150. package/dist/_chunks/PurchaseSingleSignOn-70c10e60.mjs.map +1 -0
  151. package/dist/_chunks/PurchaseSingleSignOn-b84a4ad2.js +51 -0
  152. package/dist/_chunks/PurchaseSingleSignOn-b84a4ad2.js.map +1 -0
  153. package/dist/_chunks/ReviewWorkflowsColumn-65518684.mjs +99 -0
  154. package/dist/_chunks/ReviewWorkflowsColumn-65518684.mjs.map +1 -0
  155. package/dist/_chunks/ReviewWorkflowsColumn-b36965fe.js +99 -0
  156. package/dist/_chunks/ReviewWorkflowsColumn-b36965fe.js.map +1 -0
  157. package/dist/_chunks/SelectRoles-3d810b00.mjs +114 -0
  158. package/dist/_chunks/SelectRoles-3d810b00.mjs.map +1 -0
  159. package/dist/_chunks/SelectRoles-e83f2dee.js +115 -0
  160. package/dist/_chunks/SelectRoles-e83f2dee.js.map +1 -0
  161. package/dist/_chunks/SettingsPage-571f777c.mjs +1074 -0
  162. package/dist/_chunks/SettingsPage-571f777c.mjs.map +1 -0
  163. package/dist/_chunks/SettingsPage-a558ffda.js +1097 -0
  164. package/dist/_chunks/SettingsPage-a558ffda.js.map +1 -0
  165. package/dist/_chunks/SingleSignOnPage-19f2e16f.mjs +325 -0
  166. package/dist/_chunks/SingleSignOnPage-19f2e16f.mjs.map +1 -0
  167. package/dist/_chunks/SingleSignOnPage-b63f4c0f.js +344 -0
  168. package/dist/_chunks/SingleSignOnPage-b63f4c0f.js.map +1 -0
  169. package/dist/_chunks/Table-3f09118e.mjs +206 -0
  170. package/dist/_chunks/Table-3f09118e.mjs.map +1 -0
  171. package/dist/_chunks/Table-69c2c269.js +226 -0
  172. package/dist/_chunks/Table-69c2c269.js.map +1 -0
  173. package/dist/_chunks/TokenTypeSelect-3e46ae6e.mjs +374 -0
  174. package/dist/_chunks/TokenTypeSelect-3e46ae6e.mjs.map +1 -0
  175. package/dist/_chunks/TokenTypeSelect-c75581af.js +392 -0
  176. package/dist/_chunks/TokenTypeSelect-c75581af.js.map +1 -0
  177. package/dist/_chunks/build-5bfa2e99.js +68 -0
  178. package/dist/_chunks/build-5bfa2e99.js.map +1 -0
  179. package/dist/_chunks/build-81e67209.mjs +68 -0
  180. package/dist/_chunks/build-81e67209.mjs.map +1 -0
  181. package/dist/_chunks/colors-bda951e9.mjs +34 -0
  182. package/dist/_chunks/colors-bda951e9.mjs.map +1 -0
  183. package/dist/_chunks/colors-c17c9c3c.js +33 -0
  184. package/dist/_chunks/colors-c17c9c3c.js.map +1 -0
  185. package/dist/_chunks/constants-28fd3788.js +134 -0
  186. package/dist/_chunks/constants-28fd3788.js.map +1 -0
  187. package/dist/_chunks/constants-2a8f4e41.mjs.map +1 -1
  188. package/dist/_chunks/constants-40ffa931.js.map +1 -1
  189. package/dist/_chunks/constants-5345058d.js +121 -0
  190. package/dist/_chunks/constants-5345058d.js.map +1 -0
  191. package/dist/_chunks/constants-71ebbb75.mjs +242 -0
  192. package/dist/_chunks/constants-71ebbb75.mjs.map +1 -0
  193. package/dist/_chunks/constants-73ebce66.js +242 -0
  194. package/dist/_chunks/constants-73ebce66.js.map +1 -0
  195. package/dist/_chunks/constants-7e57b453.mjs +52 -0
  196. package/dist/_chunks/constants-7e57b453.mjs.map +1 -0
  197. package/dist/_chunks/constants-8092eeb5.mjs.map +1 -1
  198. package/dist/_chunks/constants-85da8cc4.js.map +1 -1
  199. package/dist/_chunks/constants-a92ce583.mjs.map +1 -1
  200. package/dist/_chunks/constants-b3c9cbbf.mjs +119 -0
  201. package/dist/_chunks/constants-b3c9cbbf.mjs.map +1 -0
  202. package/dist/_chunks/constants-d3dd8ed6.mjs.map +1 -1
  203. package/dist/_chunks/constants-d5d67ca8.js.map +1 -1
  204. package/dist/_chunks/constants-d80f19f3.js +52 -0
  205. package/dist/_chunks/constants-d80f19f3.js.map +1 -0
  206. package/dist/_chunks/constants-da2542a3.js.map +1 -1
  207. package/dist/_chunks/constants-e1d0f820.mjs +113 -0
  208. package/dist/_chunks/constants-e1d0f820.mjs.map +1 -0
  209. package/dist/_chunks/develop-ab3daae0.js +61 -0
  210. package/dist/_chunks/develop-ab3daae0.js.map +1 -0
  211. package/dist/_chunks/develop-b194ba9b.mjs +61 -0
  212. package/dist/_chunks/develop-b194ba9b.mjs.map +1 -0
  213. package/dist/_chunks/en-390fd1f1.mjs +1029 -0
  214. package/dist/_chunks/en-390fd1f1.mjs.map +1 -0
  215. package/dist/_chunks/en-f40febb9.js +1029 -0
  216. package/dist/_chunks/en-f40febb9.js.map +1 -0
  217. package/dist/_chunks/index-3f8cf4d5.js +18413 -0
  218. package/dist/_chunks/index-3f8cf4d5.js.map +1 -0
  219. package/dist/_chunks/index-95e8649d.mjs +18334 -0
  220. package/dist/_chunks/index-95e8649d.mjs.map +1 -0
  221. package/dist/_chunks/index-dfdaf309.mjs +1265 -0
  222. package/dist/_chunks/index-dfdaf309.mjs.map +1 -0
  223. package/dist/_chunks/index-ea5b8bc5.js +1336 -0
  224. package/dist/_chunks/index-ea5b8bc5.js.map +1 -0
  225. package/dist/_chunks/useAdminRolePermissions-122fa43a.js +2065 -0
  226. package/dist/_chunks/useAdminRolePermissions-122fa43a.js.map +1 -0
  227. package/dist/_chunks/useAdminRolePermissions-fccd0884.mjs +2036 -0
  228. package/dist/_chunks/useAdminRolePermissions-fccd0884.mjs.map +1 -0
  229. package/dist/_chunks/useAdminRoles-485a39e5.js +65 -0
  230. package/dist/_chunks/useAdminRoles-485a39e5.js.map +1 -0
  231. package/dist/_chunks/useAdminRoles-501e111a.mjs +47 -0
  232. package/dist/_chunks/useAdminRoles-501e111a.mjs.map +1 -0
  233. package/dist/_chunks/useLicenseLimitNotification-92085192.js +100 -0
  234. package/dist/_chunks/useLicenseLimitNotification-92085192.js.map +1 -0
  235. package/dist/_chunks/useLicenseLimitNotification-b59fb6f9.mjs +80 -0
  236. package/dist/_chunks/useLicenseLimitNotification-b59fb6f9.mjs.map +1 -0
  237. package/dist/_chunks/useLicenseLimits-497c0f5f.mjs +34 -0
  238. package/dist/_chunks/useLicenseLimits-497c0f5f.mjs.map +1 -0
  239. package/dist/_chunks/useLicenseLimits-e60a01b1.js +52 -0
  240. package/dist/_chunks/useLicenseLimits-e60a01b1.js.map +1 -0
  241. package/dist/_chunks/useReviewWorkflows-26f7e558.js +71 -0
  242. package/dist/_chunks/useReviewWorkflows-26f7e558.js.map +1 -0
  243. package/dist/_chunks/useReviewWorkflows-3e0bcb69.mjs +53 -0
  244. package/dist/_chunks/useReviewWorkflows-3e0bcb69.mjs.map +1 -0
  245. package/dist/_chunks/validateWorkflow-1f89db67.js +1078 -0
  246. package/dist/_chunks/validateWorkflow-1f89db67.js.map +1 -0
  247. package/dist/_chunks/validateWorkflow-8a63abd6.mjs +1055 -0
  248. package/dist/_chunks/validateWorkflow-8a63abd6.mjs.map +1 -0
  249. package/dist/_chunks/validation-2e4cec2b.mjs +16 -0
  250. package/dist/_chunks/validation-2e4cec2b.mjs.map +1 -0
  251. package/dist/_chunks/validation-fabd21cc.js +34 -0
  252. package/dist/_chunks/validation-fabd21cc.js.map +1 -0
  253. package/dist/admin/index.js +43 -4
  254. package/dist/admin/index.js.map +1 -1
  255. package/dist/admin/index.mjs +45 -6
  256. package/dist/admin/index.mjs.map +1 -1
  257. package/dist/admin/src/App.d.ts +7 -1
  258. package/dist/admin/src/StrapiApp.d.ts +5 -5
  259. package/dist/admin/src/components/DragLayer.d.ts +4 -1
  260. package/dist/admin/src/components/InjectionZone.d.ts +59 -0
  261. package/dist/admin/src/components/LanguageProvider.d.ts +3 -14
  262. package/dist/admin/src/components/Providers.d.ts +3 -5
  263. package/dist/admin/src/components/Theme.d.ts +7 -1
  264. package/dist/admin/src/constants.d.ts +1 -4
  265. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Code.d.ts +3 -0
  266. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Heading.d.ts +3 -0
  267. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Image.d.ts +3 -0
  268. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Link.d.ts +3 -0
  269. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/List.d.ts +3 -0
  270. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Paragraph.d.ts +3 -0
  271. package/dist/admin/src/content-manager/components/BlocksInput/Blocks/Quote.d.ts +3 -0
  272. package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +36 -2
  273. package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +2 -2
  274. package/dist/admin/src/content-manager/components/BlocksInput/BlocksToolbar.d.ts +9 -1
  275. package/dist/admin/src/content-manager/components/BlocksInput/EditorLayout.d.ts +10 -0
  276. package/dist/admin/src/content-manager/components/BlocksInput/Modifiers.d.ts +16 -0
  277. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withImages.d.ts +11 -0
  278. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withLinks.d.ts +1 -0
  279. package/dist/admin/src/content-manager/components/BlocksInput/utils/conversions.d.ts +13 -0
  280. package/dist/admin/src/content-manager/components/BlocksInput/utils/enterKey.d.ts +6 -0
  281. package/dist/admin/src/content-manager/components/BlocksInput/utils/types.d.ts +7 -3
  282. package/dist/admin/src/content-manager/components/ComponentIcon.d.ts +8 -0
  283. package/dist/admin/src/content-manager/components/ComponentInitializer.d.ts +10 -0
  284. package/dist/admin/src/content-manager/components/ContentTypeFormWrapper.d.ts +32 -0
  285. package/dist/admin/src/content-manager/components/DragPreviews/CardDragPreview.d.ts +7 -0
  286. package/dist/admin/src/content-manager/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
  287. package/dist/admin/src/content-manager/components/DragPreviews/RelationDragPreview.d.ts +9 -0
  288. package/dist/admin/src/content-manager/components/DynamicZone/AddComponentButton.d.ts +11 -0
  289. package/dist/admin/src/content-manager/components/DynamicZone/ComponentCard.d.ts +9 -0
  290. package/dist/admin/src/content-manager/components/DynamicZone/ComponentCategory.d.ts +17 -0
  291. package/dist/admin/src/content-manager/components/DynamicZone/ComponentPicker.d.ts +9 -0
  292. package/dist/admin/src/content-manager/components/DynamicZone/DynamicComponent.d.ts +15 -0
  293. package/dist/admin/src/content-manager/components/DynamicZone/DynamicZoneLabel.d.ts +13 -0
  294. package/dist/admin/src/content-manager/components/DynamicZone/Field.d.ts +32 -0
  295. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/Provider.d.ts +18 -0
  296. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.d.ts +150 -0
  297. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.d.ts +6 -0
  298. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.d.ts +33 -0
  299. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.d.ts +6 -0
  300. package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/moveFields.d.ts +2 -0
  301. package/dist/admin/src/content-manager/components/FieldComponent.d.ts +16 -0
  302. package/dist/admin/src/content-manager/components/FieldTypeIcon.d.ts +32 -0
  303. package/dist/admin/src/content-manager/components/Hint.d.ts +9 -0
  304. package/dist/admin/src/content-manager/components/InputUID.d.ts +16 -0
  305. package/dist/admin/src/content-manager/components/Inputs.d.ts +11 -0
  306. package/dist/admin/src/content-manager/components/LeftMenu.d.ts +2 -0
  307. package/dist/admin/src/content-manager/components/NonRepeatableComponent.d.ts +9 -0
  308. package/dist/admin/src/content-manager/components/Relations/RelationInput.d.ts +62 -0
  309. package/dist/admin/src/content-manager/components/Relations/RelationInputDataManager.d.ts +26 -0
  310. package/dist/admin/src/content-manager/components/Relations/useRelation.d.ts +31 -0
  311. package/dist/admin/src/content-manager/components/Relations/utils/diffRelations.d.ts +2 -0
  312. package/dist/admin/src/content-manager/components/Relations/utils/getRelationLink.d.ts +2 -0
  313. package/dist/admin/src/content-manager/components/Relations/utils/normalizeRelations.d.ts +13 -0
  314. package/dist/admin/src/content-manager/components/Relations/utils/normalizeSearchResults.d.ts +149 -0
  315. package/dist/admin/src/content-manager/components/RepeatableComponent.d.ts +14 -0
  316. package/dist/admin/src/content-manager/components/Wysiwyg/Editor.d.ts +28 -0
  317. package/dist/admin/src/content-manager/components/Wysiwyg/EditorLayout.d.ts +59 -0
  318. package/dist/admin/src/content-manager/components/Wysiwyg/Field.d.ts +14 -0
  319. package/dist/admin/src/content-manager/components/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
  320. package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.d.ts +7 -0
  321. package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygNav.d.ts +17 -0
  322. package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.d.ts +54 -0
  323. package/dist/admin/src/content-manager/components/Wysiwyg/utils/continueList.d.ts +5 -0
  324. package/dist/admin/src/content-manager/components/Wysiwyg/utils/mdRenderer.d.ts +3 -0
  325. package/dist/admin/src/content-manager/components/Wysiwyg/utils/utils.d.ts +16 -0
  326. package/dist/admin/src/content-manager/constants/attributes.d.ts +2 -0
  327. package/dist/admin/src/content-manager/contexts/models.d.ts +5 -0
  328. package/dist/admin/src/content-manager/hooks/useContentManagerInitData.d.ts +29 -0
  329. package/dist/admin/src/content-manager/hooks/useContentTypeLayout.d.ts +6 -0
  330. package/dist/admin/src/content-manager/hooks/useDragAndDrop.d.ts +48 -0
  331. package/dist/admin/src/content-manager/hooks/useFindRedirectionLink.d.ts +2 -0
  332. package/dist/admin/src/content-manager/hooks/useKeyboardDragAndDrop.d.ts +14 -0
  333. package/dist/admin/src/content-manager/hooks/useLayouts.d.ts +10 -0
  334. package/dist/admin/src/content-manager/hooks/useLazyComponents.d.ts +13 -0
  335. package/dist/admin/src/content-manager/hooks/usePrev.d.ts +1 -0
  336. package/dist/admin/src/content-manager/hooks/useSyncRbac.d.ts +28 -0
  337. package/dist/admin/src/content-manager/pages/App.d.ts +47 -0
  338. package/dist/admin/src/content-manager/pages/CollectionTypePages.d.ts +12 -0
  339. package/dist/admin/src/content-manager/pages/ComponentSettingsView.d.ts +2 -0
  340. package/dist/admin/src/content-manager/pages/EditView/EditViewPage.d.ts +18 -0
  341. package/dist/admin/src/content-manager/pages/EditView/components/DeleteLink.d.ts +6 -0
  342. package/dist/admin/src/content-manager/pages/EditView/components/DraftAndPublishBadge.d.ts +2 -0
  343. package/dist/admin/src/content-manager/pages/EditView/components/Header.d.ts +7 -0
  344. package/dist/admin/src/content-manager/pages/EditView/components/Information.d.ts +10 -0
  345. package/dist/admin/src/content-manager/pages/EditView/components/InformationBoxCE.d.ts +2 -0
  346. package/dist/admin/src/content-manager/pages/EditViewLayoutManager.d.ts +26 -0
  347. package/dist/admin/src/content-manager/pages/ListView/ListViewPage.d.ts +25 -0
  348. package/dist/admin/src/content-manager/pages/ListView/components/AdminUsersFilter.d.ts +6 -0
  349. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Buttons.d.ts +27 -0
  350. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
  351. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/SelectedEntriesModal.d.ts +30 -0
  352. package/dist/admin/src/content-manager/pages/ListView/components/DialogConfirmDelete.d.ts +9 -0
  353. package/dist/admin/src/content-manager/pages/ListView/components/Filter.d.ts +7 -0
  354. package/dist/admin/src/content-manager/pages/ListView/components/InjectionZoneList.d.ts +7 -0
  355. package/dist/admin/src/content-manager/pages/ListView/components/Table.d.ts +28 -0
  356. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.d.ts +11 -0
  357. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellValue.d.ts +8 -0
  358. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Components.d.ts +12 -0
  359. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Media.d.ts +23 -0
  360. package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Relations.d.ts +12 -0
  361. package/dist/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu.d.ts +6 -0
  362. package/dist/admin/src/content-manager/pages/ListView/hooks/useAllowedAttributes.d.ts +3 -0
  363. package/dist/admin/src/content-manager/pages/ListViewLayoutManager.d.ts +75 -0
  364. package/dist/admin/src/content-manager/pages/NoContentTypePage.d.ts +2 -0
  365. package/dist/admin/src/content-manager/pages/NoPermissionsPage.d.ts +2 -0
  366. package/dist/admin/src/content-manager/sharedReducers/crud/actions.d.ts +63 -0
  367. package/dist/admin/src/content-manager/sharedReducers/crud/constants.d.ts +8 -0
  368. package/dist/admin/src/content-manager/sharedReducers/crud/reducer.d.ts +24 -0
  369. package/dist/admin/src/content-manager/utils/api.d.ts +14 -0
  370. package/dist/admin/src/content-manager/utils/arrayMoveItem.d.ts +2 -0
  371. package/dist/admin/src/content-manager/utils/attributes.d.ts +3 -0
  372. package/dist/admin/src/content-manager/utils/data.d.ts +5 -0
  373. package/dist/admin/src/content-manager/utils/dragAndDrop.d.ts +8 -0
  374. package/dist/admin/src/content-manager/utils/fields.d.ts +6 -0
  375. package/dist/admin/src/content-manager/utils/layouts.d.ts +96 -0
  376. package/dist/admin/src/content-manager/utils/paths.d.ts +7 -0
  377. package/dist/admin/src/content-manager/utils/permissions.d.ts +8 -0
  378. package/dist/admin/src/content-manager/utils/refs.d.ts +8 -0
  379. package/dist/admin/src/content-manager/utils/schemas.d.ts +22 -0
  380. package/dist/admin/src/content-manager/utils/translations.d.ts +2 -0
  381. package/dist/admin/src/content-manager/utils/users.d.ts +7 -0
  382. package/dist/admin/src/content-manager/utils/validation.d.ts +21 -0
  383. package/dist/admin/src/core/apis/CustomFields.d.ts +4 -4
  384. package/dist/admin/src/core/store/configure.d.ts +21 -16
  385. package/dist/admin/src/core/store/hooks.d.ts +18 -18
  386. package/dist/admin/src/core/utils/createHook.d.ts +3 -2
  387. package/dist/admin/src/features/Configuration.d.ts +54 -0
  388. package/dist/admin/src/hooks/useAdminRoles.d.ts +4 -3
  389. package/dist/admin/src/hooks/useAdminUsers.d.ts +6 -9
  390. package/dist/admin/src/hooks/useEnterprise.d.ts +1 -1
  391. package/dist/admin/src/hooks/useInjectionZone.d.ts +6 -0
  392. package/dist/admin/src/hooks/useOnce.d.ts +2 -0
  393. package/dist/admin/src/hooks/useSettingsMenu.d.ts +9 -4
  394. package/dist/admin/src/index.d.ts +1 -0
  395. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
  396. package/dist/admin/src/pages/Settings/SettingsPage.d.ts +4 -0
  397. package/dist/admin/src/pages/Settings/components/Filters.d.ts +5 -0
  398. package/dist/admin/src/pages/Settings/components/SettingsNav.d.ts +7 -0
  399. package/dist/admin/src/pages/Settings/components/Tokens/FormHead.d.ts +19 -0
  400. package/dist/admin/src/pages/Settings/components/Tokens/LifeSpanInput.d.ts +17 -0
  401. package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +27 -0
  402. package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +6 -0
  403. package/dist/admin/src/pages/Settings/components/Tokens/TokenDescription.d.ts +8 -0
  404. package/dist/admin/src/pages/Settings/components/Tokens/TokenName.d.ts +8 -0
  405. package/dist/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.d.ts +14 -0
  406. package/dist/admin/src/pages/Settings/components/Tokens/constants.d.ts +2 -0
  407. package/dist/admin/src/pages/Settings/constants.d.ts +4 -0
  408. package/dist/admin/src/pages/Settings/pages/ApiTokens/CreateView.d.ts +1 -0
  409. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.d.ts +2 -0
  410. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/apiTokenPermissions.d.ts +36 -0
  411. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ActionBoundRoutes.d.ts +1 -0
  412. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.d.ts +10 -0
  413. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollabsableContentType.d.ts +11 -0
  414. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/ContentTypesSection.d.ts +6 -0
  415. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.d.ts +20 -0
  416. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/LoadingView.d.ts +5 -0
  417. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Permissions.d.ts +3 -0
  418. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/Regenerate.d.ts +6 -0
  419. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.d.ts +17 -0
  420. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/reducer.d.ts +40 -0
  421. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.d.ts +1 -0
  422. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.d.ts +17 -0
  423. package/dist/admin/src/pages/Settings/pages/ApiTokens/ListView.d.ts +2 -0
  424. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.d.ts +2 -0
  425. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.d.ts +14 -0
  426. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/utils/constants.d.ts +3 -0
  427. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.d.ts +19 -0
  428. package/dist/admin/src/pages/Settings/pages/PurchaseAuditLogs.d.ts +2 -0
  429. package/dist/admin/src/pages/Settings/pages/PurchaseReviewWorkflows.d.ts +2 -0
  430. package/dist/admin/src/pages/Settings/pages/PurchaseSingleSignOn.d.ts +2 -0
  431. package/dist/admin/src/pages/Settings/pages/Roles/CreatePage.d.ts +7 -0
  432. package/dist/admin/src/pages/Settings/pages/Roles/EditPage.d.ts +8 -0
  433. package/dist/admin/src/pages/Settings/pages/Roles/ListPage.d.ts +3 -0
  434. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +52 -0
  435. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +35 -0
  436. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsButton.d.ts +12 -0
  437. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +32 -0
  438. package/dist/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.d.ts +35 -0
  439. package/dist/admin/src/pages/Settings/pages/Roles/components/ContentTypes.d.ts +8 -0
  440. package/dist/admin/src/pages/Settings/pages/Roles/components/GlobalActions.d.ts +10 -0
  441. package/dist/admin/src/pages/Settings/pages/Roles/components/HiddenAction.d.ts +2 -0
  442. package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +54 -0
  443. package/dist/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.d.ts +18 -0
  444. package/dist/admin/src/pages/Settings/pages/Roles/components/RequiredSign.d.ts +2 -0
  445. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleForm.d.ts +12 -0
  446. package/dist/admin/src/pages/Settings/pages/Roles/components/RoleRow.d.ts +10 -0
  447. package/dist/admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.d.ts +17 -0
  448. package/dist/admin/src/pages/Settings/pages/Roles/hooks/useAdminRolePermissions.d.ts +13 -0
  449. package/dist/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.d.ts +29 -0
  450. package/dist/admin/src/pages/Settings/pages/Roles/utils/constants.d.ts +3 -0
  451. package/dist/admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.d.ts +3 -0
  452. package/dist/admin/src/pages/Settings/pages/Roles/utils/forms.d.ts +28 -0
  453. package/dist/admin/src/pages/Settings/pages/Roles/utils/getCheckboxState.d.ts +8 -0
  454. package/dist/admin/src/pages/Settings/pages/Roles/utils/layouts.d.ts +13 -0
  455. package/dist/admin/src/pages/Settings/pages/Roles/utils/permissions.d.ts +8 -0
  456. package/dist/admin/src/pages/Settings/pages/Roles/utils/removeConditionKeyFromData.d.ts +8 -0
  457. package/dist/admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.d.ts +5 -0
  458. package/dist/admin/src/pages/Settings/pages/Roles/utils/updateValues.d.ts +8 -0
  459. package/dist/admin/src/pages/Settings/pages/TransferTokens/CreateView.d.ts +1 -0
  460. package/dist/admin/src/pages/Settings/pages/TransferTokens/EditView.d.ts +7 -0
  461. package/dist/admin/src/pages/Settings/pages/TransferTokens/ListView.d.ts +3 -0
  462. package/dist/admin/src/pages/Settings/pages/Users/EditPage.d.ts +3 -0
  463. package/dist/admin/src/pages/Settings/pages/Users/ListPage.d.ts +22 -0
  464. package/dist/admin/src/pages/Settings/pages/Users/components/CreateActionCE.d.ts +6 -0
  465. package/dist/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.d.ts +6 -0
  466. package/dist/admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper.d.ts +7 -0
  467. package/dist/admin/src/pages/Settings/pages/Users/components/NewUserForm.d.ts +15 -0
  468. package/dist/admin/src/pages/Settings/pages/Users/components/SelectRoles.d.ts +8 -0
  469. package/dist/admin/src/pages/Settings/pages/Users/components/TableRows.d.ts +9 -0
  470. package/dist/admin/src/pages/Settings/pages/Users/utils/validation.d.ts +13 -0
  471. package/dist/admin/src/pages/Settings/pages/Webhooks/CreatePage.d.ts +3 -0
  472. package/dist/admin/src/pages/Settings/pages/Webhooks/EditPage.d.ts +3 -0
  473. package/dist/admin/src/pages/Settings/pages/Webhooks/ListPage.d.ts +3 -0
  474. package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +32 -0
  475. package/dist/admin/src/pages/Settings/pages/Webhooks/components/EventsTable.d.ts +2 -0
  476. package/dist/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.d.ts +2 -0
  477. package/dist/admin/src/pages/Settings/pages/Webhooks/components/TriggerContainer.d.ts +13 -0
  478. package/dist/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.d.ts +22 -0
  479. package/dist/admin/src/pages/Settings/utils/forms.d.ts +3 -0
  480. package/dist/admin/src/reducer.d.ts +16 -18
  481. package/dist/admin/src/selectors.d.ts +18 -12
  482. package/dist/admin/src/types/form.d.ts +6 -0
  483. package/dist/admin/src/types/permissions.d.ts +17 -11
  484. package/dist/admin/src/utils/arrays.d.ts +23 -0
  485. package/dist/admin/src/utils/objects.d.ts +8 -0
  486. package/dist/admin/src/utils/strings.d.ts +2 -0
  487. package/dist/cli.js +1 -1
  488. package/dist/cli.mjs +1 -1
  489. package/dist/ee/admin/src/constants.d.ts +8 -0
  490. package/dist/ee/admin/src/content-manager/pages/EditView/components/AssigneeSelect.d.ts +2 -0
  491. package/dist/ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.d.ts +2 -0
  492. package/dist/ee/admin/src/content-manager/pages/EditView/components/StageSelect.d.ts +1 -0
  493. package/dist/ee/admin/src/content-manager/pages/EditView/components/constants.d.ts +2 -0
  494. package/dist/ee/admin/src/content-manager/pages/ListSettingsView/constants.d.ts +7 -0
  495. package/dist/ee/admin/src/content-manager/pages/ListView/components/AssigneeFilter.d.ts +6 -0
  496. package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsAssigneeEE.d.ts +7 -0
  497. package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsColumn.d.ts +2 -0
  498. package/dist/ee/admin/src/content-manager/pages/ListView/components/ReviewWorkflowsStageEE.d.ts +7 -0
  499. package/dist/ee/admin/src/content-manager/pages/ListView/components/StageFilter.d.ts +7 -0
  500. package/dist/ee/admin/src/content-manager/pages/ListView/constants.d.ts +86 -0
  501. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +20 -0
  502. package/dist/ee/admin/src/pages/SettingsPage/constants.d.ts +2 -0
  503. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.d.ts +1 -0
  504. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.d.ts +2 -0
  505. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.d.ts +11 -0
  506. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.d.ts +6 -0
  507. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/PaginationFooter.d.ts +6 -0
  508. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/TableRows.d.ts +32 -0
  509. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useAuditLogsData.d.ts +12 -0
  510. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.d.ts +1 -0
  511. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/tests/utils/data.d.ts +56 -0
  512. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +31 -0
  513. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +75 -0
  514. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/tableHeaders.d.ts +32 -0
  515. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.d.ts +1 -0
  516. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/EditPage.d.ts +1 -0
  517. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/ListPage.d.ts +2 -0
  518. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/actions.d.ts +86 -0
  519. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage.d.ts +8 -0
  520. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.d.ts +16 -0
  521. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal.d.ts +15 -0
  522. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stage.d.ts +10 -0
  523. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/StageDragPreview.d.ts +4 -0
  524. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Stages.d.ts +7 -0
  525. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes.d.ts +4 -0
  526. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/constants.d.ts +20 -0
  527. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.d.ts +13 -0
  528. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.d.ts +16 -0
  529. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/reducer.d.ts +38 -0
  530. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/selectors.d.ts +62 -0
  531. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/colors.d.ts +8 -0
  532. package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.d.ts +5 -0
  533. package/dist/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.d.ts +2 -0
  534. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/ListPage.d.ts +1 -0
  535. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.d.ts +8 -0
  536. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.d.ts +2 -0
  537. package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm.d.ts +15 -0
  538. package/dist/ee/admin/src/pages/SettingsPage/pages/Webhooks/components/EventsTable.d.ts +2 -0
  539. package/dist/ee/server/index.js +3866 -0
  540. package/dist/ee/server/index.js.map +1 -0
  541. package/dist/ee/server/index.mjs +3857 -0
  542. package/dist/ee/server/index.mjs.map +1 -0
  543. package/dist/server/index.js +5579 -0
  544. package/dist/server/index.js.map +1 -0
  545. package/dist/server/index.mjs +5562 -0
  546. package/dist/server/index.mjs.map +1 -0
  547. package/dist/server/src/bootstrap.d.ts +6 -0
  548. package/dist/server/src/bootstrap.d.ts.map +1 -0
  549. package/dist/server/src/config/admin-actions.d.ts +34 -0
  550. package/dist/server/src/config/admin-actions.d.ts.map +1 -0
  551. package/dist/server/src/config/admin-conditions.d.ts +47 -0
  552. package/dist/server/src/config/admin-conditions.d.ts.map +1 -0
  553. package/dist/server/src/config/email-templates/forgot-password.d.ts +7 -0
  554. package/dist/server/src/config/email-templates/forgot-password.d.ts.map +1 -0
  555. package/dist/server/src/config/index.d.ts +18 -0
  556. package/dist/server/src/config/index.d.ts.map +1 -0
  557. package/dist/server/src/config/settings.d.ts +8 -0
  558. package/dist/server/src/config/settings.d.ts.map +1 -0
  559. package/dist/server/src/content-types/Permission.d.ts +63 -0
  560. package/dist/server/src/content-types/Permission.d.ts.map +1 -0
  561. package/dist/server/src/content-types/Role.d.ts +58 -0
  562. package/dist/server/src/content-types/Role.d.ts.map +1 -0
  563. package/dist/server/src/content-types/User.d.ts +107 -0
  564. package/dist/server/src/content-types/User.d.ts.map +1 -0
  565. package/dist/server/src/content-types/api-token-permission.d.ts +36 -0
  566. package/dist/server/src/content-types/api-token-permission.d.ts.map +1 -0
  567. package/dist/server/src/content-types/api-token.d.ts +74 -0
  568. package/dist/server/src/content-types/api-token.d.ts.map +1 -0
  569. package/dist/server/src/content-types/index.d.ts +438 -0
  570. package/dist/server/src/content-types/index.d.ts.map +1 -0
  571. package/dist/server/src/content-types/transfer-token-permission.d.ts +36 -0
  572. package/dist/server/src/content-types/transfer-token-permission.d.ts.map +1 -0
  573. package/dist/server/src/content-types/transfer-token.d.ts +66 -0
  574. package/dist/server/src/content-types/transfer-token.d.ts.map +1 -0
  575. package/dist/server/src/controllers/admin.d.ts +55 -0
  576. package/dist/server/src/controllers/admin.d.ts.map +1 -0
  577. package/dist/server/src/controllers/api-token.d.ts +12 -0
  578. package/dist/server/src/controllers/api-token.d.ts.map +1 -0
  579. package/dist/server/src/controllers/authenticated-user.d.ts +8 -0
  580. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -0
  581. package/dist/server/src/controllers/authentication.d.ts +14 -0
  582. package/dist/server/src/controllers/authentication.d.ts.map +1 -0
  583. package/dist/server/src/controllers/content-api.d.ts +8 -0
  584. package/dist/server/src/controllers/content-api.d.ts.map +1 -0
  585. package/dist/server/src/controllers/formatters/conditions.d.ts +4 -0
  586. package/dist/server/src/controllers/formatters/conditions.d.ts.map +1 -0
  587. package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts +8 -0
  588. package/dist/server/src/controllers/formatters/format-actions-by-sections.d.ts.map +1 -0
  589. package/dist/server/src/controllers/formatters/index.d.ts +3 -0
  590. package/dist/server/src/controllers/formatters/index.d.ts.map +1 -0
  591. package/dist/server/src/controllers/index.d.ts +110 -0
  592. package/dist/server/src/controllers/index.d.ts.map +1 -0
  593. package/dist/server/src/controllers/permission.d.ts +15 -0
  594. package/dist/server/src/controllers/permission.d.ts.map +1 -0
  595. package/dist/server/src/controllers/role.d.ts +45 -0
  596. package/dist/server/src/controllers/role.d.ts.map +1 -0
  597. package/dist/server/src/controllers/transfer/index.d.ts +5 -0
  598. package/dist/server/src/controllers/transfer/index.d.ts.map +1 -0
  599. package/dist/server/src/controllers/transfer/runner.d.ts +9 -0
  600. package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -0
  601. package/dist/server/src/controllers/transfer/token.d.ts +11 -0
  602. package/dist/server/src/controllers/transfer/token.d.ts.map +1 -0
  603. package/dist/server/src/controllers/user.d.ts +15 -0
  604. package/dist/server/src/controllers/user.d.ts.map +1 -0
  605. package/dist/server/src/controllers/webhooks.d.ts +12 -0
  606. package/dist/server/src/controllers/webhooks.d.ts.map +1 -0
  607. package/dist/server/src/destroy.d.ts +3 -0
  608. package/dist/server/src/destroy.d.ts.map +1 -0
  609. package/dist/server/src/domain/action/index.d.ts +34 -0
  610. package/dist/server/src/domain/action/index.d.ts.map +1 -0
  611. package/dist/server/src/domain/action/provider.d.ts +40 -0
  612. package/dist/server/src/domain/action/provider.d.ts.map +1 -0
  613. package/dist/server/src/domain/condition/index.d.ts +54 -0
  614. package/dist/server/src/domain/condition/index.d.ts.map +1 -0
  615. package/dist/server/src/domain/condition/provider.d.ts +31 -0
  616. package/dist/server/src/domain/condition/provider.d.ts.map +1 -0
  617. package/dist/server/src/domain/permission/index.d.ts +71 -0
  618. package/dist/server/src/domain/permission/index.d.ts.map +1 -0
  619. package/dist/server/src/domain/user.d.ts +26 -0
  620. package/dist/server/src/domain/user.d.ts.map +1 -0
  621. package/dist/server/src/index.d.ts +11 -0
  622. package/dist/server/src/index.d.ts.map +1 -0
  623. package/dist/server/src/middlewares/data-transfer.d.ts +4 -0
  624. package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -0
  625. package/dist/server/src/middlewares/index.d.ts +11 -0
  626. package/dist/server/src/middlewares/index.d.ts.map +1 -0
  627. package/dist/server/src/middlewares/rateLimit.d.ts +7 -0
  628. package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -0
  629. package/dist/server/src/policies/hasPermissions.d.ts +7 -0
  630. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
  631. package/dist/server/src/policies/index.d.ts +15 -0
  632. package/dist/server/src/policies/index.d.ts.map +1 -0
  633. package/dist/server/src/policies/isAuthenticatedAdmin.d.ts +3 -0
  634. package/dist/server/src/policies/isAuthenticatedAdmin.d.ts.map +1 -0
  635. package/dist/server/src/policies/isTelemetryEnabled.d.ts +11 -0
  636. package/dist/server/src/policies/isTelemetryEnabled.d.ts.map +1 -0
  637. package/dist/server/src/register.d.ts +6 -0
  638. package/dist/server/src/register.d.ts.map +1 -0
  639. package/dist/server/src/routes/admin.d.ts +24 -0
  640. package/dist/server/src/routes/admin.d.ts.map +1 -0
  641. package/dist/server/src/routes/api-tokens.d.ts +15 -0
  642. package/dist/server/src/routes/api-tokens.d.ts.map +1 -0
  643. package/dist/server/src/routes/authentication.d.ts +30 -0
  644. package/dist/server/src/routes/authentication.d.ts.map +1 -0
  645. package/dist/server/src/routes/content-api.d.ts +10 -0
  646. package/dist/server/src/routes/content-api.d.ts.map +1 -0
  647. package/dist/server/src/routes/index.d.ts +60 -0
  648. package/dist/server/src/routes/index.d.ts.map +1 -0
  649. package/dist/server/src/routes/permissions.d.ts +10 -0
  650. package/dist/server/src/routes/permissions.d.ts.map +1 -0
  651. package/dist/server/src/routes/roles.d.ts +15 -0
  652. package/dist/server/src/routes/roles.d.ts.map +1 -0
  653. package/dist/server/src/routes/serve-admin-panel.d.ts +6 -0
  654. package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -0
  655. package/dist/server/src/routes/transfer.d.ts +49 -0
  656. package/dist/server/src/routes/transfer.d.ts.map +1 -0
  657. package/dist/server/src/routes/users.d.ts +15 -0
  658. package/dist/server/src/routes/users.d.ts.map +1 -0
  659. package/dist/server/src/routes/webhooks.d.ts +15 -0
  660. package/dist/server/src/routes/webhooks.d.ts.map +1 -0
  661. package/dist/server/src/services/action.d.ts +10 -0
  662. package/dist/server/src/services/action.d.ts.map +1 -0
  663. package/dist/server/src/services/api-token.d.ts +48 -0
  664. package/dist/server/src/services/api-token.d.ts.map +1 -0
  665. package/dist/server/src/services/auth.d.ts +21 -0
  666. package/dist/server/src/services/auth.d.ts.map +1 -0
  667. package/dist/server/src/services/condition.d.ts +3 -0
  668. package/dist/server/src/services/condition.d.ts.map +1 -0
  669. package/dist/server/src/services/constants.d.ts +34 -0
  670. package/dist/server/src/services/constants.d.ts.map +1 -0
  671. package/dist/server/src/services/content-type.d.ts +29 -0
  672. package/dist/server/src/services/content-type.d.ts.map +1 -0
  673. package/dist/server/src/services/index.d.ts +111 -0
  674. package/dist/server/src/services/index.d.ts.map +1 -0
  675. package/dist/server/src/services/metrics.d.ts +8 -0
  676. package/dist/server/src/services/metrics.d.ts.map +1 -0
  677. package/dist/server/src/services/passport/local-strategy.d.ts +5 -0
  678. package/dist/server/src/services/passport/local-strategy.d.ts.map +1 -0
  679. package/dist/server/src/services/passport.d.ts +12 -0
  680. package/dist/server/src/services/passport.d.ts.map +1 -0
  681. package/dist/server/src/services/permission/engine.d.ts +20 -0
  682. package/dist/server/src/services/permission/engine.d.ts.map +1 -0
  683. package/dist/server/src/services/permission/permissions-manager/index.d.ts +17 -0
  684. package/dist/server/src/services/permission/permissions-manager/index.d.ts.map +1 -0
  685. package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts +4 -0
  686. package/dist/server/src/services/permission/permissions-manager/query-builders.d.ts.map +1 -0
  687. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts +7 -0
  688. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -0
  689. package/dist/server/src/services/permission/permissions-manager/validate.d.ts +6 -0
  690. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -0
  691. package/dist/server/src/services/permission/queries.d.ts +43 -0
  692. package/dist/server/src/services/permission/queries.d.ts.map +1 -0
  693. package/dist/server/src/services/permission/sections-builder/builder.d.ts +38 -0
  694. package/dist/server/src/services/permission/sections-builder/builder.d.ts.map +1 -0
  695. package/dist/server/src/services/permission/sections-builder/handlers.d.ts +55 -0
  696. package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -0
  697. package/dist/server/src/services/permission/sections-builder/index.d.ts +9 -0
  698. package/dist/server/src/services/permission/sections-builder/index.d.ts.map +1 -0
  699. package/dist/server/src/services/permission/sections-builder/section.d.ts +38 -0
  700. package/dist/server/src/services/permission/sections-builder/section.d.ts.map +1 -0
  701. package/dist/server/src/services/permission/sections-builder/utils.d.ts +13 -0
  702. package/dist/server/src/services/permission/sections-builder/utils.d.ts.map +1 -0
  703. package/dist/server/src/services/permission.d.ts +68 -0
  704. package/dist/server/src/services/permission.d.ts.map +1 -0
  705. package/dist/server/src/services/project-settings.d.ts +27 -0
  706. package/dist/server/src/services/project-settings.d.ts.map +1 -0
  707. package/dist/server/src/services/role.d.ts +41 -0
  708. package/dist/server/src/services/role.d.ts.map +1 -0
  709. package/dist/server/src/services/token.d.ts +44 -0
  710. package/dist/server/src/services/token.d.ts.map +1 -0
  711. package/dist/server/src/services/transfer/index.d.ts +5 -0
  712. package/dist/server/src/services/transfer/index.d.ts.map +1 -0
  713. package/dist/server/src/services/transfer/permission.d.ts +8 -0
  714. package/dist/server/src/services/transfer/permission.d.ts.map +1 -0
  715. package/dist/server/src/services/transfer/token.d.ts +59 -0
  716. package/dist/server/src/services/transfer/token.d.ts.map +1 -0
  717. package/dist/server/src/services/transfer/utils.d.ts +14 -0
  718. package/dist/server/src/services/transfer/utils.d.ts.map +1 -0
  719. package/dist/server/src/services/user.d.ts +32 -0
  720. package/dist/server/src/services/user.d.ts.map +1 -0
  721. package/dist/server/src/strategies/admin.d.ts +27 -0
  722. package/dist/server/src/strategies/admin.d.ts.map +1 -0
  723. package/dist/server/src/strategies/api-token.d.ts +61 -0
  724. package/dist/server/src/strategies/api-token.d.ts.map +1 -0
  725. package/dist/server/src/strategies/data-transfer.d.ts +53 -0
  726. package/dist/server/src/strategies/data-transfer.d.ts.map +1 -0
  727. package/dist/server/src/strategies/index.d.ts +18 -0
  728. package/dist/server/src/strategies/index.d.ts.map +1 -0
  729. package/dist/server/src/validation/action-provider.d.ts +6 -0
  730. package/dist/server/src/validation/action-provider.d.ts.map +1 -0
  731. package/dist/server/src/validation/api-tokens.d.ts +8 -0
  732. package/dist/server/src/validation/api-tokens.d.ts.map +1 -0
  733. package/dist/server/src/validation/authentication/forgot-password.d.ts +3 -0
  734. package/dist/server/src/validation/authentication/forgot-password.d.ts.map +1 -0
  735. package/dist/server/src/validation/authentication/index.d.ts +6 -0
  736. package/dist/server/src/validation/authentication/index.d.ts.map +1 -0
  737. package/dist/server/src/validation/authentication/register.d.ts +10 -0
  738. package/dist/server/src/validation/authentication/register.d.ts.map +1 -0
  739. package/dist/server/src/validation/authentication/renew-token.d.ts +3 -0
  740. package/dist/server/src/validation/authentication/renew-token.d.ts.map +1 -0
  741. package/dist/server/src/validation/authentication/reset-password.d.ts +3 -0
  742. package/dist/server/src/validation/authentication/reset-password.d.ts.map +1 -0
  743. package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts +3 -0
  744. package/dist/server/src/validation/common-functions/check-fields-are-correctly-nested.d.ts.map +1 -0
  745. package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts +3 -0
  746. package/dist/server/src/validation/common-functions/check-fields-dont-have-duplicates.d.ts.map +1 -0
  747. package/dist/server/src/validation/common-functions/index.d.ts +4 -0
  748. package/dist/server/src/validation/common-functions/index.d.ts.map +1 -0
  749. package/dist/server/src/validation/common-validators.d.ts +61 -0
  750. package/dist/server/src/validation/common-validators.d.ts.map +1 -0
  751. package/dist/server/src/validation/permission.d.ts +10 -0
  752. package/dist/server/src/validation/permission.d.ts.map +1 -0
  753. package/dist/server/src/validation/policies/hasPermissions.d.ts +6 -0
  754. package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
  755. package/dist/server/src/validation/project-settings.d.ts +10 -0
  756. package/dist/server/src/validation/project-settings.d.ts.map +1 -0
  757. package/dist/server/src/validation/role.d.ts +12 -0
  758. package/dist/server/src/validation/role.d.ts.map +1 -0
  759. package/dist/server/src/validation/transfer/index.d.ts +2 -0
  760. package/dist/server/src/validation/transfer/index.d.ts.map +1 -0
  761. package/dist/server/src/validation/transfer/token.d.ts +8 -0
  762. package/dist/server/src/validation/transfer/token.d.ts.map +1 -0
  763. package/dist/server/src/validation/user.d.ts +119 -0
  764. package/dist/server/src/validation/user.d.ts.map +1 -0
  765. package/dist/shared/contracts/admin.d.ts +161 -0
  766. package/dist/shared/contracts/admin.d.ts.map +1 -0
  767. package/dist/shared/contracts/api-token.d.ts +95 -0
  768. package/dist/shared/contracts/api-token.d.ts.map +1 -0
  769. package/dist/shared/contracts/audit-logs.d.ts +42 -0
  770. package/dist/shared/contracts/audit-logs.d.ts.map +1 -0
  771. package/dist/shared/contracts/authentication.d.ts +6 -2
  772. package/dist/shared/contracts/authentication.d.ts.map +1 -0
  773. package/dist/shared/contracts/content-api/permissions.d.ts +24 -0
  774. package/dist/shared/contracts/content-api/permissions.d.ts.map +1 -0
  775. package/dist/shared/contracts/content-api/routes.d.ts +28 -0
  776. package/dist/shared/contracts/content-api/routes.d.ts.map +1 -0
  777. package/dist/shared/contracts/content-api.d.ts +31 -0
  778. package/dist/shared/contracts/content-api.d.ts.map +1 -0
  779. package/dist/shared/contracts/permissions.d.ts +79 -0
  780. package/dist/shared/contracts/permissions.d.ts.map +1 -0
  781. package/dist/shared/contracts/providers.d.ts +1 -0
  782. package/dist/shared/contracts/providers.d.ts.map +1 -0
  783. package/dist/shared/contracts/review-workflows.d.ts +80 -0
  784. package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
  785. package/dist/shared/contracts/roles.d.ts +91 -5
  786. package/dist/shared/contracts/roles.d.ts.map +1 -0
  787. package/dist/shared/contracts/shared.d.ts +24 -9
  788. package/dist/shared/contracts/shared.d.ts.map +1 -0
  789. package/dist/shared/contracts/transfer.d.ts +142 -0
  790. package/dist/shared/contracts/transfer.d.ts.map +1 -0
  791. package/dist/shared/contracts/user.d.ts +77 -8
  792. package/dist/shared/contracts/user.d.ts.map +1 -0
  793. package/dist/shared/contracts/users.d.ts +7 -2
  794. package/dist/shared/contracts/users.d.ts.map +1 -0
  795. package/dist/shared/contracts/webhooks.d.ts +111 -0
  796. package/dist/shared/contracts/webhooks.d.ts.map +1 -0
  797. package/dist/shared/schema.d.ts +1 -0
  798. package/dist/shared/schema.d.ts.map +1 -0
  799. package/index.d.ts +1 -1
  800. package/package.json +33 -21
  801. package/strapi-server.js +3 -3
  802. package/dist/_chunks/AuthenticatedApp-722b2e84.mjs +0 -1450
  803. package/dist/_chunks/AuthenticatedApp-722b2e84.mjs.map +0 -1
  804. package/dist/_chunks/AuthenticatedApp-7e646400.js +0 -1476
  805. package/dist/_chunks/AuthenticatedApp-7e646400.js.map +0 -1
  806. package/dist/_chunks/DragLayer-bff96835.mjs +0 -44
  807. package/dist/_chunks/DragLayer-bff96835.mjs.map +0 -1
  808. package/dist/_chunks/DragLayer-f07eee6c.js +0 -43
  809. package/dist/_chunks/DragLayer-f07eee6c.js.map +0 -1
  810. package/dist/_chunks/HomePage-0e0dc215.js +0 -49
  811. package/dist/_chunks/HomePage-0e0dc215.js.map +0 -1
  812. package/dist/_chunks/HomePage-76bcd0cd.mjs +0 -542
  813. package/dist/_chunks/HomePage-76bcd0cd.mjs.map +0 -1
  814. package/dist/_chunks/HomePage-8c98b31f.mjs +0 -49
  815. package/dist/_chunks/HomePage-8c98b31f.mjs.map +0 -1
  816. package/dist/_chunks/HomePage-ef787733.js +0 -563
  817. package/dist/_chunks/HomePage-ef787733.js.map +0 -1
  818. package/dist/_chunks/InstalledPluginsPage-67b5f9c2.mjs +0 -134
  819. package/dist/_chunks/InstalledPluginsPage-67b5f9c2.mjs.map +0 -1
  820. package/dist/_chunks/InstalledPluginsPage-6f0897e8.js +0 -153
  821. package/dist/_chunks/InstalledPluginsPage-6f0897e8.js.map +0 -1
  822. package/dist/_chunks/Layout-4b3e434a.js +0 -92
  823. package/dist/_chunks/Layout-4b3e434a.js.map +0 -1
  824. package/dist/_chunks/Layout-72fa2ace.mjs +0 -90
  825. package/dist/_chunks/Layout-72fa2ace.mjs.map +0 -1
  826. package/dist/_chunks/LimitsModal-203482b8.js +0 -84
  827. package/dist/_chunks/LimitsModal-203482b8.js.map +0 -1
  828. package/dist/_chunks/LimitsModal-da04700e.mjs +0 -82
  829. package/dist/_chunks/LimitsModal-da04700e.mjs.map +0 -1
  830. package/dist/_chunks/Login-5b447dd2.js +0 -64
  831. package/dist/_chunks/Login-5b447dd2.js.map +0 -1
  832. package/dist/_chunks/Login-8ade15b8.mjs +0 -62
  833. package/dist/_chunks/Login-8ade15b8.mjs.map +0 -1
  834. package/dist/_chunks/MarketplacePage-1c954f9d.js +0 -1035
  835. package/dist/_chunks/MarketplacePage-1c954f9d.js.map +0 -1
  836. package/dist/_chunks/MarketplacePage-58fc8a9a.mjs +0 -1011
  837. package/dist/_chunks/MarketplacePage-58fc8a9a.mjs.map +0 -1
  838. package/dist/_chunks/ProfilePage-a2f0366d.mjs +0 -642
  839. package/dist/_chunks/ProfilePage-a2f0366d.mjs.map +0 -1
  840. package/dist/_chunks/ProfilePage-a68483d3.js +0 -665
  841. package/dist/_chunks/ProfilePage-a68483d3.js.map +0 -1
  842. package/dist/_chunks/SalesPage-4a0a68fb.js +0 -51
  843. package/dist/_chunks/SalesPage-4a0a68fb.js.map +0 -1
  844. package/dist/_chunks/SalesPage-56bf9463.mjs +0 -48
  845. package/dist/_chunks/SalesPage-56bf9463.mjs.map +0 -1
  846. package/dist/_chunks/SalesPage-66f9ea32.js +0 -51
  847. package/dist/_chunks/SalesPage-66f9ea32.js.map +0 -1
  848. package/dist/_chunks/SalesPage-d0cdc1a7.js +0 -48
  849. package/dist/_chunks/SalesPage-d0cdc1a7.js.map +0 -1
  850. package/dist/_chunks/SalesPage-f9597ae7.mjs +0 -51
  851. package/dist/_chunks/SalesPage-f9597ae7.mjs.map +0 -1
  852. package/dist/_chunks/SalesPage-fceedf48.mjs +0 -51
  853. package/dist/_chunks/SalesPage-fceedf48.mjs.map +0 -1
  854. package/dist/_chunks/build-1026ce7c.mjs +0 -68
  855. package/dist/_chunks/build-1026ce7c.mjs.map +0 -1
  856. package/dist/_chunks/build-d99bcc06.js +0 -68
  857. package/dist/_chunks/build-d99bcc06.js.map +0 -1
  858. package/dist/_chunks/colors-c24a54f0.js +0 -33
  859. package/dist/_chunks/colors-c24a54f0.js.map +0 -1
  860. package/dist/_chunks/colors-e7489dd4.mjs +0 -34
  861. package/dist/_chunks/colors-e7489dd4.mjs.map +0 -1
  862. package/dist/_chunks/constants-155022af.js +0 -85
  863. package/dist/_chunks/constants-155022af.js.map +0 -1
  864. package/dist/_chunks/constants-32d352b6.mjs +0 -85
  865. package/dist/_chunks/constants-32d352b6.mjs.map +0 -1
  866. package/dist/_chunks/constants-3967338c.js +0 -229
  867. package/dist/_chunks/constants-3967338c.js.map +0 -1
  868. package/dist/_chunks/constants-64899732.js +0 -30
  869. package/dist/_chunks/constants-64899732.js.map +0 -1
  870. package/dist/_chunks/constants-6bf1c3c2.mjs +0 -227
  871. package/dist/_chunks/constants-6bf1c3c2.mjs.map +0 -1
  872. package/dist/_chunks/constants-6ecddc43.mjs +0 -111
  873. package/dist/_chunks/constants-6ecddc43.mjs.map +0 -1
  874. package/dist/_chunks/constants-7596f6f3.js +0 -132
  875. package/dist/_chunks/constants-7596f6f3.js.map +0 -1
  876. package/dist/_chunks/constants-d097f266.js +0 -52
  877. package/dist/_chunks/constants-d097f266.js.map +0 -1
  878. package/dist/_chunks/constants-da1ff847.mjs +0 -52
  879. package/dist/_chunks/constants-da1ff847.mjs.map +0 -1
  880. package/dist/_chunks/constants-def33545.mjs +0 -30
  881. package/dist/_chunks/constants-def33545.mjs.map +0 -1
  882. package/dist/_chunks/constants-eb77e47a.js +0 -82
  883. package/dist/_chunks/constants-eb77e47a.js.map +0 -1
  884. package/dist/_chunks/constants-ecad1e20.mjs +0 -80
  885. package/dist/_chunks/constants-ecad1e20.mjs.map +0 -1
  886. package/dist/_chunks/develop-72394876.mjs +0 -61
  887. package/dist/_chunks/develop-72394876.mjs.map +0 -1
  888. package/dist/_chunks/develop-da585b1e.js +0 -61
  889. package/dist/_chunks/develop-da585b1e.js.map +0 -1
  890. package/dist/_chunks/edit-29bdf5d6.js +0 -50
  891. package/dist/_chunks/edit-29bdf5d6.js.map +0 -1
  892. package/dist/_chunks/edit-923cefa0.mjs +0 -32
  893. package/dist/_chunks/edit-923cefa0.mjs.map +0 -1
  894. package/dist/_chunks/en-0e9e9327.js +0 -1022
  895. package/dist/_chunks/en-0e9e9327.js.map +0 -1
  896. package/dist/_chunks/en-e728accb.mjs +0 -1022
  897. package/dist/_chunks/en-e728accb.mjs.map +0 -1
  898. package/dist/_chunks/index-061947f1.mjs +0 -1432
  899. package/dist/_chunks/index-061947f1.mjs.map +0 -1
  900. package/dist/_chunks/index-06e97c47.mjs +0 -359
  901. package/dist/_chunks/index-06e97c47.mjs.map +0 -1
  902. package/dist/_chunks/index-1482f542.js +0 -403
  903. package/dist/_chunks/index-1482f542.js.map +0 -1
  904. package/dist/_chunks/index-14887b9d.mjs +0 -338
  905. package/dist/_chunks/index-14887b9d.mjs.map +0 -1
  906. package/dist/_chunks/index-1502dedd.js +0 -51
  907. package/dist/_chunks/index-1502dedd.js.map +0 -1
  908. package/dist/_chunks/index-176cc121.mjs +0 -469
  909. package/dist/_chunks/index-176cc121.mjs.map +0 -1
  910. package/dist/_chunks/index-19bd1210.js +0 -697
  911. package/dist/_chunks/index-19bd1210.js.map +0 -1
  912. package/dist/_chunks/index-2064cfaf.js +0 -51
  913. package/dist/_chunks/index-2064cfaf.js.map +0 -1
  914. package/dist/_chunks/index-209cca35.mjs +0 -308
  915. package/dist/_chunks/index-209cca35.mjs.map +0 -1
  916. package/dist/_chunks/index-24c2627d.mjs +0 -826
  917. package/dist/_chunks/index-24c2627d.mjs.map +0 -1
  918. package/dist/_chunks/index-24d1e175.js +0 -129
  919. package/dist/_chunks/index-24d1e175.js.map +0 -1
  920. package/dist/_chunks/index-272d8fb9.js +0 -365
  921. package/dist/_chunks/index-272d8fb9.js.map +0 -1
  922. package/dist/_chunks/index-2cf8d1f6.mjs +0 -270
  923. package/dist/_chunks/index-2cf8d1f6.mjs.map +0 -1
  924. package/dist/_chunks/index-35c3f9f1.mjs +0 -51
  925. package/dist/_chunks/index-35c3f9f1.mjs.map +0 -1
  926. package/dist/_chunks/index-38115cde.js +0 -66
  927. package/dist/_chunks/index-38115cde.js.map +0 -1
  928. package/dist/_chunks/index-391891ba.mjs +0 -51
  929. package/dist/_chunks/index-391891ba.mjs.map +0 -1
  930. package/dist/_chunks/index-3939f07e.mjs +0 -55
  931. package/dist/_chunks/index-3939f07e.mjs.map +0 -1
  932. package/dist/_chunks/index-3aab6b0f.mjs +0 -676
  933. package/dist/_chunks/index-3aab6b0f.mjs.map +0 -1
  934. package/dist/_chunks/index-3c67c00b.mjs +0 -3374
  935. package/dist/_chunks/index-3c67c00b.mjs.map +0 -1
  936. package/dist/_chunks/index-48c35356.mjs +0 -314
  937. package/dist/_chunks/index-48c35356.mjs.map +0 -1
  938. package/dist/_chunks/index-49b7e6ff.mjs +0 -1266
  939. package/dist/_chunks/index-49b7e6ff.mjs.map +0 -1
  940. package/dist/_chunks/index-4a019067.js +0 -272
  941. package/dist/_chunks/index-4a019067.js.map +0 -1
  942. package/dist/_chunks/index-55155d83.mjs +0 -866
  943. package/dist/_chunks/index-55155d83.mjs.map +0 -1
  944. package/dist/_chunks/index-57f9a06f.js +0 -15401
  945. package/dist/_chunks/index-57f9a06f.js.map +0 -1
  946. package/dist/_chunks/index-61852c7a.mjs +0 -582
  947. package/dist/_chunks/index-61852c7a.mjs.map +0 -1
  948. package/dist/_chunks/index-6685e5a8.js +0 -266
  949. package/dist/_chunks/index-6685e5a8.js.map +0 -1
  950. package/dist/_chunks/index-6731bae9.js +0 -51
  951. package/dist/_chunks/index-6731bae9.js.map +0 -1
  952. package/dist/_chunks/index-674778e2.mjs +0 -383
  953. package/dist/_chunks/index-674778e2.mjs.map +0 -1
  954. package/dist/_chunks/index-6a8a1f1d.js +0 -311
  955. package/dist/_chunks/index-6a8a1f1d.js.map +0 -1
  956. package/dist/_chunks/index-707e89df.mjs +0 -60
  957. package/dist/_chunks/index-707e89df.mjs.map +0 -1
  958. package/dist/_chunks/index-724169b2.js +0 -125
  959. package/dist/_chunks/index-724169b2.js.map +0 -1
  960. package/dist/_chunks/index-73971882.js +0 -847
  961. package/dist/_chunks/index-73971882.js.map +0 -1
  962. package/dist/_chunks/index-74812118.mjs +0 -53
  963. package/dist/_chunks/index-74812118.mjs.map +0 -1
  964. package/dist/_chunks/index-78f4851e.js +0 -418
  965. package/dist/_chunks/index-78f4851e.js.map +0 -1
  966. package/dist/_chunks/index-7a797b0f.mjs +0 -47
  967. package/dist/_chunks/index-7a797b0f.mjs.map +0 -1
  968. package/dist/_chunks/index-7b174d49.js +0 -1456
  969. package/dist/_chunks/index-7b174d49.js.map +0 -1
  970. package/dist/_chunks/index-819443df.js +0 -51
  971. package/dist/_chunks/index-819443df.js.map +0 -1
  972. package/dist/_chunks/index-82fca9fd.mjs +0 -393
  973. package/dist/_chunks/index-82fca9fd.mjs.map +0 -1
  974. package/dist/_chunks/index-8609fab4.mjs +0 -15320
  975. package/dist/_chunks/index-8609fab4.mjs.map +0 -1
  976. package/dist/_chunks/index-86a4fbbf.mjs +0 -273
  977. package/dist/_chunks/index-86a4fbbf.mjs.map +0 -1
  978. package/dist/_chunks/index-88298941.js +0 -54
  979. package/dist/_chunks/index-88298941.js.map +0 -1
  980. package/dist/_chunks/index-8f8eaed6.js +0 -3404
  981. package/dist/_chunks/index-8f8eaed6.js.map +0 -1
  982. package/dist/_chunks/index-91726188.js +0 -62
  983. package/dist/_chunks/index-91726188.js.map +0 -1
  984. package/dist/_chunks/index-973c363e.mjs +0 -63
  985. package/dist/_chunks/index-973c363e.mjs.map +0 -1
  986. package/dist/_chunks/index-97c03ee2.mjs +0 -55
  987. package/dist/_chunks/index-97c03ee2.mjs.map +0 -1
  988. package/dist/_chunks/index-9b2501ca.mjs +0 -132
  989. package/dist/_chunks/index-9b2501ca.mjs.map +0 -1
  990. package/dist/_chunks/index-aad003e4.mjs +0 -399
  991. package/dist/_chunks/index-aad003e4.mjs.map +0 -1
  992. package/dist/_chunks/index-ad0512f0.js +0 -47
  993. package/dist/_chunks/index-ad0512f0.js.map +0 -1
  994. package/dist/_chunks/index-b247e702.js +0 -294
  995. package/dist/_chunks/index-b247e702.js.map +0 -1
  996. package/dist/_chunks/index-b3ad6e5f.js +0 -338
  997. package/dist/_chunks/index-b3ad6e5f.js.map +0 -1
  998. package/dist/_chunks/index-b5eec5e2.js +0 -418
  999. package/dist/_chunks/index-b5eec5e2.js.map +0 -1
  1000. package/dist/_chunks/index-b6b2a306.js +0 -585
  1001. package/dist/_chunks/index-b6b2a306.js.map +0 -1
  1002. package/dist/_chunks/index-be9a9d91.mjs +0 -244
  1003. package/dist/_chunks/index-be9a9d91.mjs.map +0 -1
  1004. package/dist/_chunks/index-c5fa9006.mjs +0 -127
  1005. package/dist/_chunks/index-c5fa9006.mjs.map +0 -1
  1006. package/dist/_chunks/index-c6c83bb3.js +0 -134
  1007. package/dist/_chunks/index-c6c83bb3.js.map +0 -1
  1008. package/dist/_chunks/index-c8b6afca.js +0 -47
  1009. package/dist/_chunks/index-c8b6afca.js.map +0 -1
  1010. package/dist/_chunks/index-caab4b20.js +0 -873
  1011. package/dist/_chunks/index-caab4b20.js.map +0 -1
  1012. package/dist/_chunks/index-cc38421b.mjs +0 -51
  1013. package/dist/_chunks/index-cc38421b.mjs.map +0 -1
  1014. package/dist/_chunks/index-cdcf1a78.js +0 -380
  1015. package/dist/_chunks/index-cdcf1a78.js.map +0 -1
  1016. package/dist/_chunks/index-cea88049.mjs +0 -47
  1017. package/dist/_chunks/index-cea88049.mjs.map +0 -1
  1018. package/dist/_chunks/index-ceacb143.js +0 -335
  1019. package/dist/_chunks/index-ceacb143.js.map +0 -1
  1020. package/dist/_chunks/index-d1219a93.mjs +0 -232
  1021. package/dist/_chunks/index-d1219a93.mjs.map +0 -1
  1022. package/dist/_chunks/index-d3e1fd86.js +0 -490
  1023. package/dist/_chunks/index-d3e1fd86.js.map +0 -1
  1024. package/dist/_chunks/index-d47fc57d.mjs +0 -51
  1025. package/dist/_chunks/index-d47fc57d.mjs.map +0 -1
  1026. package/dist/_chunks/index-d844fbda.mjs +0 -362
  1027. package/dist/_chunks/index-d844fbda.mjs.map +0 -1
  1028. package/dist/_chunks/index-d9aae905.js +0 -418
  1029. package/dist/_chunks/index-d9aae905.js.map +0 -1
  1030. package/dist/_chunks/index-dab453d2.js +0 -55
  1031. package/dist/_chunks/index-dab453d2.js.map +0 -1
  1032. package/dist/_chunks/index-dd897afb.mjs +0 -125
  1033. package/dist/_chunks/index-dd897afb.mjs.map +0 -1
  1034. package/dist/_chunks/index-eb67694f.mjs +0 -261
  1035. package/dist/_chunks/index-eb67694f.mjs.map +0 -1
  1036. package/dist/_chunks/index-ec2d87cb.js +0 -55
  1037. package/dist/_chunks/index-ec2d87cb.js.map +0 -1
  1038. package/dist/_chunks/index-ecfaf6c1.js +0 -253
  1039. package/dist/_chunks/index-ecfaf6c1.js.map +0 -1
  1040. package/dist/_chunks/index-fc700e52.js +0 -263
  1041. package/dist/_chunks/index-fc700e52.js.map +0 -1
  1042. package/dist/_chunks/index-ff4fb44c.mjs +0 -412
  1043. package/dist/_chunks/index-ff4fb44c.mjs.map +0 -1
  1044. package/dist/_chunks/index-ffd2f664.js +0 -1337
  1045. package/dist/_chunks/index-ffd2f664.js.map +0 -1
  1046. package/dist/_chunks/schema-336f4dd6.js +0 -514
  1047. package/dist/_chunks/schema-336f4dd6.js.map +0 -1
  1048. package/dist/_chunks/schema-60d9880c.mjs +0 -490
  1049. package/dist/_chunks/schema-60d9880c.mjs.map +0 -1
  1050. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs +0 -2322
  1051. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs.map +0 -1
  1052. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js +0 -2337
  1053. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js.map +0 -1
  1054. package/dist/_chunks/useAdminRoles-68d5d608.js +0 -62
  1055. package/dist/_chunks/useAdminRoles-68d5d608.js.map +0 -1
  1056. package/dist/_chunks/useAdminRoles-7ab5d521.mjs +0 -44
  1057. package/dist/_chunks/useAdminRoles-7ab5d521.mjs.map +0 -1
  1058. package/dist/_chunks/useAdminUsers-05d6b26a.js +0 -61
  1059. package/dist/_chunks/useAdminUsers-05d6b26a.js.map +0 -1
  1060. package/dist/_chunks/useAdminUsers-09f86a58.mjs +0 -43
  1061. package/dist/_chunks/useAdminUsers-09f86a58.mjs.map +0 -1
  1062. package/dist/_chunks/useDebounce-4712871e.js +0 -35
  1063. package/dist/_chunks/useDebounce-4712871e.js.map +0 -1
  1064. package/dist/_chunks/useDebounce-9364f340.mjs +0 -17
  1065. package/dist/_chunks/useDebounce-9364f340.mjs.map +0 -1
  1066. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs +0 -80
  1067. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs.map +0 -1
  1068. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js +0 -100
  1069. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js.map +0 -1
  1070. package/dist/_chunks/useLicenseLimits-13a102d3.mjs +0 -31
  1071. package/dist/_chunks/useLicenseLimits-13a102d3.mjs.map +0 -1
  1072. package/dist/_chunks/useLicenseLimits-81ef3cce.js +0 -49
  1073. package/dist/_chunks/useLicenseLimits-81ef3cce.js.map +0 -1
  1074. package/dist/_chunks/useReviewWorkflows-799e0305.js +0 -59
  1075. package/dist/_chunks/useReviewWorkflows-799e0305.js.map +0 -1
  1076. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs +0 -41
  1077. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs.map +0 -1
  1078. package/dist/_chunks/validateWorkflow-022b5005.mjs +0 -1101
  1079. package/dist/_chunks/validateWorkflow-022b5005.mjs.map +0 -1
  1080. package/dist/_chunks/validateWorkflow-7f76e43f.js +0 -1124
  1081. package/dist/_chunks/validateWorkflow-7f76e43f.js.map +0 -1
  1082. package/dist/admin/src/components/ConfigurationProvider.d.ts +0 -11
  1083. package/dist/admin/src/components/ThemeToggleProvider.d.ts +0 -12
  1084. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useBlocksStore.d.ts +0 -32
  1085. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useModifiersStore.d.ts +0 -20
  1086. package/dist/admin/src/content-manager/components/BlocksInput/tests/mock-schema.d.ts +0 -2
  1087. package/dist/admin/src/contexts/admin.d.ts +0 -14
  1088. package/dist/admin/src/contexts/apiTokenPermissions.d.ts +0 -36
  1089. package/dist/admin/src/contexts/configuration.d.ts +0 -27
  1090. package/dist/admin/src/contexts/themeToggle.d.ts +0 -22
  1091. package/dist/admin/src/hooks/__mocks__/useAdminUsers.d.ts +0 -2
  1092. package/dist/admin/src/hooks/__mocks__/useContentTypes.d.ts +0 -2
  1093. package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +0 -2
  1094. package/dist/admin/src/pages/Marketplace/hooks/__mocks__/useNavigatorOnline.d.ts +0 -1
  1095. package/dist/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.d.ts +0 -24
  1096. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.d.ts +0 -2
  1097. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.d.ts +0 -11
  1098. package/dist/admin/src/pages/SettingsPage/utils/makeUniqueRoutes.d.ts +0 -6
  1099. package/dist/admin/src/shared/components/InjectionZone.d.ts +0 -53
  1100. package/dist/admin/src/shared/hooks/__mocks__/useInjectionZone.d.ts +0 -1
  1101. package/dist/admin/src/shared/hooks/useInjectionZone.d.ts +0 -2
  1102. package/ee/server/bootstrap.js +0 -41
  1103. package/ee/server/config/admin-actions.js +0 -72
  1104. package/ee/server/constants/default-stages.json +0 -18
  1105. package/ee/server/constants/default-workflow.json +0 -3
  1106. package/ee/server/constants/webhookEvents.js +0 -5
  1107. package/ee/server/constants/workflows.js +0 -33
  1108. package/ee/server/content-types/index.js +0 -9
  1109. package/ee/server/content-types/workflow/index.js +0 -41
  1110. package/ee/server/content-types/workflow-stage/index.js +0 -51
  1111. package/ee/server/controllers/__tests__/stages.test.js +0 -174
  1112. package/ee/server/controllers/admin.js +0 -50
  1113. package/ee/server/controllers/audit-logs.js +0 -24
  1114. package/ee/server/controllers/authentication/constants.js +0 -11
  1115. package/ee/server/controllers/authentication/index.js +0 -11
  1116. package/ee/server/controllers/authentication/middlewares.js +0 -117
  1117. package/ee/server/controllers/authentication/utils.js +0 -23
  1118. package/ee/server/controllers/authentication.js +0 -64
  1119. package/ee/server/controllers/index.js +0 -12
  1120. package/ee/server/controllers/role.js +0 -64
  1121. package/ee/server/controllers/user.js +0 -110
  1122. package/ee/server/controllers/workflows/assignees/index.js +0 -44
  1123. package/ee/server/controllers/workflows/index.js +0 -188
  1124. package/ee/server/controllers/workflows/stages/index.js +0 -189
  1125. package/ee/server/destroy.js +0 -12
  1126. package/ee/server/index.js +0 -11
  1127. package/ee/server/middlewares/__tests__/review-workflows.test.js +0 -40
  1128. package/ee/server/middlewares/review-workflows.js +0 -40
  1129. package/ee/server/migrations/audit-logs-table.js +0 -45
  1130. package/ee/server/migrations/review-workflows-content-types.js +0 -29
  1131. package/ee/server/migrations/review-workflows-deleted-ct-in-workflows.js +0 -39
  1132. package/ee/server/migrations/review-workflows-stage-attribute.js +0 -49
  1133. package/ee/server/migrations/review-workflows-stages-color.js +0 -20
  1134. package/ee/server/migrations/review-workflows-stages-roles.js +0 -68
  1135. package/ee/server/migrations/review-workflows-workflow-name.js +0 -28
  1136. package/ee/server/register.js +0 -40
  1137. package/ee/server/routes/audit-logs.js +0 -43
  1138. package/ee/server/routes/index.js +0 -8
  1139. package/ee/server/routes/license-limit.js +0 -29
  1140. package/ee/server/routes/review-workflows.js +0 -164
  1141. package/ee/server/routes/sso.js +0 -69
  1142. package/ee/server/routes/utils.js +0 -15
  1143. package/ee/server/services/__tests__/assignees.test.js +0 -76
  1144. package/ee/server/services/__tests__/audit-logs.test.js +0 -300
  1145. package/ee/server/services/__tests__/passport.test.js +0 -95
  1146. package/ee/server/services/__tests__/review-workflows-validation.test.js +0 -100
  1147. package/ee/server/services/__tests__/review-workflows.test.js +0 -163
  1148. package/ee/server/services/__tests__/sso.test.js +0 -117
  1149. package/ee/server/services/__tests__/stages.test.js +0 -275
  1150. package/ee/server/services/__tests__/workflows.test.js +0 -203
  1151. package/ee/server/services/audit-logs.js +0 -236
  1152. package/ee/server/services/auth.js +0 -75
  1153. package/ee/server/services/index.js +0 -18
  1154. package/ee/server/services/passport/provider-registry.js +0 -27
  1155. package/ee/server/services/passport/sso.js +0 -37
  1156. package/ee/server/services/passport.js +0 -46
  1157. package/ee/server/services/review-workflows/__tests__/entity-service-decorator.test.js +0 -211
  1158. package/ee/server/services/review-workflows/assignees.js +0 -54
  1159. package/ee/server/services/review-workflows/entity-service-decorator.js +0 -101
  1160. package/ee/server/services/review-workflows/metrics/__tests__/weekly-metrics.test.js +0 -65
  1161. package/ee/server/services/review-workflows/metrics/index.js +0 -56
  1162. package/ee/server/services/review-workflows/metrics/weekly-metrics.js +0 -76
  1163. package/ee/server/services/review-workflows/review-workflows.js +0 -133
  1164. package/ee/server/services/review-workflows/stage-permissions.js +0 -60
  1165. package/ee/server/services/review-workflows/stages.js +0 -384
  1166. package/ee/server/services/review-workflows/validation.js +0 -68
  1167. package/ee/server/services/review-workflows/workflows/__tests__/content-types.test.js +0 -146
  1168. package/ee/server/services/review-workflows/workflows/content-types.js +0 -89
  1169. package/ee/server/services/review-workflows/workflows/index.js +0 -237
  1170. package/ee/server/services/role.js +0 -24
  1171. package/ee/server/services/seat-enforcement.js +0 -114
  1172. package/ee/server/services/user.js +0 -234
  1173. package/ee/server/utils/__tests__/persisted-tables.test.js +0 -38
  1174. package/ee/server/utils/__tests__/sso-lock.test.js +0 -84
  1175. package/ee/server/utils/index.js +0 -8
  1176. package/ee/server/utils/persisted-tables.js +0 -139
  1177. package/ee/server/utils/review-workflows.js +0 -39
  1178. package/ee/server/utils/sso-lock.js +0 -42
  1179. package/ee/server/validation/audit-logs.js +0 -18
  1180. package/ee/server/validation/authentication.js +0 -36
  1181. package/ee/server/validation/review-workflows.js +0 -92
  1182. package/ee/server/validation/role.js +0 -68
  1183. package/ee/server/validation/user.js +0 -27
  1184. package/ee/strapi-server.js +0 -3
  1185. package/server/bootstrap.js +0 -101
  1186. package/server/config/admin-actions.js +0 -216
  1187. package/server/config/admin-conditions.js +0 -26
  1188. package/server/config/email-templates/forgot-password.js +0 -25
  1189. package/server/config/index.js +0 -9
  1190. package/server/config/settings.js +0 -9
  1191. package/server/content-types/Permission.js +0 -64
  1192. package/server/content-types/Role.js +0 -59
  1193. package/server/content-types/User.js +0 -112
  1194. package/server/content-types/api-token-permission.js +0 -36
  1195. package/server/content-types/api-token.js +0 -76
  1196. package/server/content-types/index.js +0 -11
  1197. package/server/content-types/transfer-token-permission.js +0 -36
  1198. package/server/content-types/transfer-token.js +0 -66
  1199. package/server/controllers/__tests__/admin.test.js +0 -106
  1200. package/server/controllers/__tests__/api-token.test.js +0 -496
  1201. package/server/controllers/__tests__/content-api.test.js +0 -173
  1202. package/server/controllers/__tests__/permission.test.js +0 -200
  1203. package/server/controllers/__tests__/role.test.js +0 -201
  1204. package/server/controllers/__tests__/transfer/token.test.js +0 -520
  1205. package/server/controllers/__tests__/user.test.js +0 -326
  1206. package/server/controllers/admin.js +0 -151
  1207. package/server/controllers/api-token.js +0 -135
  1208. package/server/controllers/authenticated-user.js +0 -52
  1209. package/server/controllers/authentication.js +0 -172
  1210. package/server/controllers/content-api.js +0 -15
  1211. package/server/controllers/formatters/conditions.js +0 -12
  1212. package/server/controllers/formatters/format-actions-by-sections.js +0 -40
  1213. package/server/controllers/formatters/index.js +0 -9
  1214. package/server/controllers/index.js +0 -14
  1215. package/server/controllers/permission.js +0 -45
  1216. package/server/controllers/role.js +0 -198
  1217. package/server/controllers/transfer/index.js +0 -13
  1218. package/server/controllers/transfer/runner.js +0 -28
  1219. package/server/controllers/transfer/token.js +0 -131
  1220. package/server/controllers/user.js +0 -141
  1221. package/server/controllers/webhooks.js +0 -132
  1222. package/server/destroy.js +0 -10
  1223. package/server/domain/action/__tests__/action-domain.test.js +0 -230
  1224. package/server/domain/action/__tests__/action-provider.test.js +0 -376
  1225. package/server/domain/action/index.js +0 -142
  1226. package/server/domain/action/provider.js +0 -83
  1227. package/server/domain/condition/__tests__/condition-domain.test.js +0 -122
  1228. package/server/domain/condition/__tests__/condition-provider.test.js +0 -156
  1229. package/server/domain/condition/index.js +0 -92
  1230. package/server/domain/condition/provider.js +0 -42
  1231. package/server/domain/permission/__tests__/permission-domain.test.js +0 -285
  1232. package/server/domain/permission/index.js +0 -156
  1233. package/server/domain/user.js +0 -28
  1234. package/server/index.js +0 -26
  1235. package/server/middlewares/data-transfer.js +0 -29
  1236. package/server/middlewares/index.js +0 -8
  1237. package/server/middlewares/rateLimit.js +0 -47
  1238. package/server/policies/hasPermissions.js +0 -38
  1239. package/server/policies/index.js +0 -7
  1240. package/server/policies/isAuthenticatedAdmin.js +0 -5
  1241. package/server/policies/isTelemetryEnabled.js +0 -16
  1242. package/server/register.js +0 -19
  1243. package/server/routes/admin.js +0 -71
  1244. package/server/routes/api-tokens.js +0 -70
  1245. package/server/routes/authentication.js +0 -57
  1246. package/server/routes/content-api.js +0 -20
  1247. package/server/routes/index.js +0 -28
  1248. package/server/routes/permissions.js +0 -20
  1249. package/server/routes/roles.js +0 -107
  1250. package/server/routes/serve-admin-panel.js +0 -71
  1251. package/server/routes/transfer.js +0 -102
  1252. package/server/routes/users.js +0 -88
  1253. package/server/routes/webhooks.js +0 -81
  1254. package/server/services/__tests__/action.test.js +0 -98
  1255. package/server/services/__tests__/api-token.test.js +0 -980
  1256. package/server/services/__tests__/auth.test.js +0 -319
  1257. package/server/services/__tests__/content-type.test.js +0 -405
  1258. package/server/services/__tests__/metrics.test.js +0 -65
  1259. package/server/services/__tests__/passport.test.js +0 -90
  1260. package/server/services/__tests__/permission.test.js +0 -177
  1261. package/server/services/__tests__/permissions-manager-sanitize.test.js +0 -117
  1262. package/server/services/__tests__/permissions-manager-validate.test.js +0 -119
  1263. package/server/services/__tests__/permissions-manager.test.js +0 -318
  1264. package/server/services/__tests__/permissions.section-builder.section.test.js +0 -136
  1265. package/server/services/__tests__/project-settings.test.js +0 -397
  1266. package/server/services/__tests__/role.test.js +0 -970
  1267. package/server/services/__tests__/token.test.js +0 -217
  1268. package/server/services/__tests__/transfer/token.test.js +0 -878
  1269. package/server/services/__tests__/user.test.js +0 -786
  1270. package/server/services/action.js +0 -35
  1271. package/server/services/api-token.js +0 -453
  1272. package/server/services/auth.js +0 -117
  1273. package/server/services/condition.js +0 -14
  1274. package/server/services/constants.js +0 -37
  1275. package/server/services/content-type.js +0 -208
  1276. package/server/services/index.js +0 -18
  1277. package/server/services/metrics.js +0 -44
  1278. package/server/services/passport/local-strategy.js +0 -28
  1279. package/server/services/passport.js +0 -45
  1280. package/server/services/permission/engine.js +0 -85
  1281. package/server/services/permission/permissions-manager/index.js +0 -53
  1282. package/server/services/permission/permissions-manager/query-builders.js +0 -72
  1283. package/server/services/permission/permissions-manager/sanitize.js +0 -286
  1284. package/server/services/permission/permissions-manager/validate.js +0 -218
  1285. package/server/services/permission/queries.js +0 -190
  1286. package/server/services/permission/sections-builder/builder.js +0 -84
  1287. package/server/services/permission/sections-builder/handlers.js +0 -156
  1288. package/server/services/permission/sections-builder/index.js +0 -50
  1289. package/server/services/permission/sections-builder/section.js +0 -71
  1290. package/server/services/permission/sections-builder/utils.js +0 -26
  1291. package/server/services/permission.js +0 -33
  1292. package/server/services/project-settings.js +0 -174
  1293. package/server/services/role.js +0 -471
  1294. package/server/services/token.js +0 -70
  1295. package/server/services/transfer/index.js +0 -7
  1296. package/server/services/transfer/permission.js +0 -22
  1297. package/server/services/transfer/token.js +0 -449
  1298. package/server/services/transfer/utils.js +0 -38
  1299. package/server/services/user.js +0 -363
  1300. package/server/strategies/__tests__/admin.test.js +0 -118
  1301. package/server/strategies/__tests__/api-token.test.js +0 -364
  1302. package/server/strategies/admin.js +0 -52
  1303. package/server/strategies/api-token.js +0 -140
  1304. package/server/strategies/data-transfer.js +0 -113
  1305. package/server/strategies/index.js +0 -26
  1306. package/server/utils/index.d.ts +0 -25
  1307. package/server/utils/index.js +0 -9
  1308. package/server/validation/__tests__/common-functions.test.js +0 -54
  1309. package/server/validation/action-provider.js +0 -67
  1310. package/server/validation/api-tokens.js +0 -32
  1311. package/server/validation/authentication/forgot-password.js +0 -14
  1312. package/server/validation/authentication/index.js +0 -19
  1313. package/server/validation/authentication/register.js +0 -45
  1314. package/server/validation/authentication/renew-token.js +0 -7
  1315. package/server/validation/authentication/reset-password.js +0 -15
  1316. package/server/validation/common-functions/check-fields-are-correctly-nested.js +0 -28
  1317. package/server/validation/common-functions/check-fields-dont-have-duplicates.js +0 -17
  1318. package/server/validation/common-functions/index.js +0 -9
  1319. package/server/validation/common-validators.js +0 -209
  1320. package/server/validation/permission.js +0 -53
  1321. package/server/validation/policies/hasPermissions.js +0 -27
  1322. package/server/validation/project-settings.js +0 -48
  1323. package/server/validation/role.js +0 -59
  1324. package/server/validation/transfer/index.js +0 -5
  1325. package/server/validation/transfer/token.js +0 -42
  1326. package/server/validation/user.js +0 -65
  1327. /package/dist/admin/src/pages/{SettingsPage → Settings}/hooks/useRegenerate.d.ts +0 -0
@@ -1,3374 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { auth, useCallbackRef, translatedErrors, useFetchClient, useQuery, Form, useNotification, useAppInfo, usePersistentState, useTracking, useGuidedTour, useAPIErrorHandler, getYupInnerErrors, useFocusWhenNavigate, pxToRem, LoadingIndicatorPage, TrackingProvider, prefixFileUrlWithBackendUrl, GuidedTourProvider as GuidedTourProvider$1, StrapiAppProvider, LibraryProvider, CustomFieldsProvider, AutoReloadOverlayBlockerProvider, OverlayBlockerProvider, NotificationsProvider, RBACContext, getFetchClient } from "@strapi/helper-plugin";
3
- import { createRoot } from "react-dom/client";
4
- import { Box, Flex, SingleSelect, SingleSelectOption, FieldAction, TextInput, Main, Typography, Checkbox, Button, Field, Portal, IconButton, FieldLabel, VisuallyHidden, FieldInput, Textarea, Grid, GridItem, HeaderLayout, ContentLayout, EmptyStateLayout, LinkButton, Select, Option, TextButton, SkipToContent, DesignSystemProvider, lightTheme, darkTheme } from "@strapi/design-system";
5
- import invariant from "invariant";
6
- import isFunction from "lodash/isFunction";
7
- import merge from "lodash/merge";
8
- import pick from "lodash/pick";
9
- import { Helmet } from "react-helmet";
10
- import { useLocation, Route, Redirect, useHistory, NavLink, useRouteMatch, Switch, BrowserRouter } from "react-router-dom";
11
- import * as React from "react";
12
- import { IntlProvider, useIntl } from "react-intl";
13
- import { useDispatch, Provider, useSelector, useStore } from "react-redux";
14
- import { createContext } from "@radix-ui/react-context";
15
- import { Link } from "@strapi/design-system/v2";
16
- import { Eye, EyeStriked, Cross, ArrowRight, EmptyPictures } from "@strapi/icons";
17
- import { Formik, Form as Form$1 } from "formik";
18
- import camelCase from "lodash/camelCase";
19
- import { useMutation, useQuery as useQuery$1, QueryClient, QueryClientProvider } from "react-query";
20
- import styled, { useTheme, createGlobalStyle } from "styled-components";
21
- import * as yup from "yup";
22
- import { ValidationError } from "yup";
23
- import defaultsDeep from "lodash/defaultsDeep";
24
- import omit from "lodash/omit";
25
- import { parse } from "qs";
26
- import produce from "immer";
27
- import get from "lodash/get";
28
- import set from "lodash/set";
29
- import { createSelector, configureStore, combineReducers } from "@reduxjs/toolkit";
30
- const styles = `
31
- .strapi--root {
32
- position: absolute;
33
- top: 0;
34
- right: 0;
35
- left: 0;
36
- bottom: 0;
37
- background: #fff;
38
- }
39
-
40
- .strapi--no-js {
41
- position: absolute;
42
- top: 50%;
43
- left: 50%;
44
- transform: translate(-50%, -50%);
45
- text-align: center;
46
- font-family: helvetica, arial, sans-serif;
47
- }
48
- `;
49
- const NoJavascript = () => {
50
- return /* @__PURE__ */ jsx("noscript", { children: /* @__PURE__ */ jsx("div", { className: "strapi--root", children: /* @__PURE__ */ jsxs("div", { className: "strapi--no-js", children: [
51
- /* @__PURE__ */ jsx("style", { type: "text/css", children: styles }),
52
- /* @__PURE__ */ jsx("h1", { children: "JavaScript disabled" }),
53
- /* @__PURE__ */ jsxs("p", { children: [
54
- "Please ",
55
- /* @__PURE__ */ jsx("a", { href: "https://www.enable-javascript.com/", children: "enable JavaScript" }),
56
- " in your browser and reload the page to proceed."
57
- ] })
58
- ] }) }) });
59
- };
60
- const globalStyles = `
61
- html,
62
- body,
63
- #strapi {
64
- height: 100%;
65
- }
66
- body {
67
- margin: 0;
68
- -webkit-font-smoothing: antialiased;
69
- }
70
- `;
71
- const DefaultDocument = () => {
72
- return /* @__PURE__ */ jsxs("html", { lang: "en", children: [
73
- /* @__PURE__ */ jsxs("head", { children: [
74
- /* @__PURE__ */ jsx("meta", { charSet: "utf-8" }),
75
- /* @__PURE__ */ jsx("meta", { name: "viewport", content: "width=device-width, initial-scale=1, viewport-fit=cover" }),
76
- /* @__PURE__ */ jsx("meta", { name: "robots", content: "noindex" }),
77
- /* @__PURE__ */ jsx("meta", { name: "referrer", content: "same-origin" }),
78
- /* @__PURE__ */ jsx("title", { children: "Strapi Admin" }),
79
- /* @__PURE__ */ jsx("style", { children: globalStyles })
80
- ] }),
81
- /* @__PURE__ */ jsxs("body", { children: [
82
- /* @__PURE__ */ jsx("div", { id: "strapi" }),
83
- /* @__PURE__ */ jsx(NoJavascript, {})
84
- ] })
85
- ] });
86
- };
87
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
88
- const v = glob[path];
89
- if (v) {
90
- return typeof v === "function" ? v() : Promise.resolve(v);
91
- }
92
- return new Promise((_, reject) => {
93
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
94
- });
95
- };
96
- const PrivateRoute = ({
97
- component: Component,
98
- path,
99
- ...rest
100
- }) => {
101
- const { pathname, search } = useLocation();
102
- return /* @__PURE__ */ jsx(
103
- Route,
104
- {
105
- path,
106
- render: (props) => auth.getToken() !== null ? /* @__PURE__ */ jsx(Component, { ...rest, ...props }) : /* @__PURE__ */ jsx(
107
- Redirect,
108
- {
109
- to: {
110
- pathname: "/auth/login",
111
- search: pathname !== "/" ? `?redirectTo=${encodeURIComponent(`${pathname}${search}`)}` : void 0
112
- }
113
- }
114
- )
115
- }
116
- );
117
- };
118
- const ADMIN_PERMISSIONS_CE = {
119
- contentManager: {
120
- main: [],
121
- collectionTypesConfigurations: [
122
- {
123
- action: "plugin::content-manager.collection-types.configure-view",
124
- subject: null
125
- }
126
- ],
127
- componentsConfigurations: [
128
- {
129
- action: "plugin::content-manager.components.configure-layout",
130
- subject: null
131
- }
132
- ],
133
- singleTypesConfigurations: [
134
- {
135
- action: "plugin::content-manager.single-types.configure-view",
136
- subject: null
137
- }
138
- ]
139
- },
140
- marketplace: {
141
- main: [{ action: "admin::marketplace.read", subject: null }],
142
- read: [{ action: "admin::marketplace.read", subject: null }]
143
- },
144
- settings: {
145
- roles: {
146
- main: [
147
- { action: "admin::roles.create", subject: null },
148
- { action: "admin::roles.update", subject: null },
149
- { action: "admin::roles.read", subject: null },
150
- { action: "admin::roles.delete", subject: null }
151
- ],
152
- create: [{ action: "admin::roles.create", subject: null }],
153
- delete: [{ action: "admin::roles.delete", subject: null }],
154
- read: [{ action: "admin::roles.read", subject: null }],
155
- update: [{ action: "admin::roles.update", subject: null }]
156
- },
157
- users: {
158
- main: [
159
- { action: "admin::users.create", subject: null },
160
- { action: "admin::users.read", subject: null },
161
- { action: "admin::users.update", subject: null },
162
- { action: "admin::users.delete", subject: null }
163
- ],
164
- create: [{ action: "admin::users.create", subject: null }],
165
- delete: [{ action: "admin::users.delete", subject: null }],
166
- read: [{ action: "admin::users.read", subject: null }],
167
- update: [{ action: "admin::users.update", subject: null }]
168
- },
169
- webhooks: {
170
- main: [
171
- { action: "admin::webhooks.create", subject: null },
172
- { action: "admin::webhooks.read", subject: null },
173
- { action: "admin::webhooks.update", subject: null },
174
- { action: "admin::webhooks.delete", subject: null }
175
- ],
176
- create: [{ action: "admin::webhooks.create", subject: null }],
177
- delete: [{ action: "admin::webhooks.delete", subject: null }],
178
- read: [
179
- { action: "admin::webhooks.read", subject: null },
180
- // NOTE: We need to check with the API
181
- { action: "admin::webhooks.update", subject: null },
182
- { action: "admin::webhooks.delete", subject: null }
183
- ],
184
- update: [{ action: "admin::webhooks.update", subject: null }]
185
- },
186
- "api-tokens": {
187
- main: [{ action: "admin::api-tokens.access", subject: null }],
188
- create: [{ action: "admin::api-tokens.create", subject: null }],
189
- delete: [{ action: "admin::api-tokens.delete", subject: null }],
190
- read: [{ action: "admin::api-tokens.read", subject: null }],
191
- update: [{ action: "admin::api-tokens.update", subject: null }],
192
- regenerate: [{ action: "admin::api-tokens.regenerate", subject: null }]
193
- },
194
- "transfer-tokens": {
195
- main: [{ action: "admin::transfer.tokens.access", subject: null }],
196
- create: [{ action: "admin::transfer.tokens.create", subject: null }],
197
- delete: [{ action: "admin::transfer.tokens.delete", subject: null }],
198
- read: [{ action: "admin::transfer.tokens.read", subject: null }],
199
- update: [{ action: "admin::transfer.tokens.update", subject: null }],
200
- regenerate: [{ action: "admin::transfer.tokens.regenerate", subject: null }]
201
- },
202
- "project-settings": {
203
- read: [{ action: "admin::project-settings.read", subject: null }],
204
- update: [{ action: "admin::project-settings.update", subject: null }]
205
- }
206
- }
207
- };
208
- const HOOKS = {
209
- /**
210
- * Hook that allows to mutate the displayed headers of the list view table
211
- * @constant
212
- * @type {string}
213
- */
214
- INJECT_COLUMN_IN_TABLE: "Admin/CM/pages/ListView/inject-column-in-table",
215
- /**
216
- * Hook that allows to mutate the CM's collection types links pre-set filters
217
- * @constant
218
- * @type {string}
219
- */
220
- MUTATE_COLLECTION_TYPES_LINKS: "Admin/CM/pages/App/mutate-collection-types-links",
221
- /**
222
- * Hook that allows to mutate the CM's edit view layout
223
- * @constant
224
- * @type {string}
225
- */
226
- MUTATE_EDIT_VIEW_LAYOUT: "Admin/CM/pages/EditView/mutate-edit-view-layout",
227
- /**
228
- * Hook that allows to mutate the CM's single types links pre-set filters
229
- * @constant
230
- * @type {string}
231
- */
232
- MUTATE_SINGLE_TYPES_LINKS: "Admin/CM/pages/App/mutate-single-types-links"
233
- };
234
- const ACTION_SET_APP_RUNTIME_STATUS = "StrapiAdmin/APP/SET_APP_RUNTIME_STATUS";
235
- const ACTION_SET_ADMIN_PERMISSIONS = "StrapiAdmin/App/SET_ADMIN_PERMISSIONS";
236
- const SETTINGS_LINKS_CE = () => ({
237
- global: [
238
- {
239
- intlLabel: { id: "Settings.application.title", defaultMessage: "Overview" },
240
- to: "/settings/application-infos",
241
- id: "000-application-infos"
242
- },
243
- {
244
- intlLabel: { id: "Settings.webhooks.title", defaultMessage: "Webhooks" },
245
- to: "/settings/webhooks",
246
- id: "webhooks"
247
- },
248
- {
249
- intlLabel: { id: "Settings.apiTokens.title", defaultMessage: "API Tokens" },
250
- to: "/settings/api-tokens?sort=name:ASC",
251
- id: "api-tokens"
252
- },
253
- {
254
- intlLabel: { id: "Settings.transferTokens.title", defaultMessage: "Transfer Tokens" },
255
- to: "/settings/transfer-tokens?sort=name:ASC",
256
- id: "transfer-tokens"
257
- },
258
- // If the Enterprise feature is not enabled and if the config doesn't disable it, we promote the Enterprise feature by displaying them in the settings menu.
259
- // Disable this by adding "promoteEE: false" to your `./config/admin.js` file
260
- ...!window.strapi.features.isEnabled(window.strapi.features.SSO) && window.strapi?.flags?.promoteEE ? [
261
- {
262
- intlLabel: { id: "Settings.sso.title", defaultMessage: "Single Sign-On" },
263
- to: "/settings/purchase-single-sign-on",
264
- id: "sso",
265
- lockIcon: true
266
- }
267
- ] : [],
268
- ...!window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) && window.strapi?.flags?.promoteEE ? [
269
- {
270
- intlLabel: {
271
- id: "Settings.review-workflows.page.title",
272
- defaultMessage: "Review Workflows"
273
- },
274
- to: "/settings/purchase-review-workflows",
275
- id: "review-workflows",
276
- lockIcon: true
277
- }
278
- ] : []
279
- ],
280
- admin: [
281
- {
282
- intlLabel: { id: "global.roles", defaultMessage: "Roles" },
283
- to: "/settings/roles",
284
- id: "roles"
285
- },
286
- {
287
- intlLabel: { id: "global.users", defaultMessage: "Users" },
288
- // Init the search params directly
289
- to: "/settings/users?pageSize=10&page=1&sort=firstname",
290
- id: "users"
291
- },
292
- ...!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) && window.strapi?.flags?.promoteEE ? [
293
- {
294
- intlLabel: { id: "global.auditLogs", defaultMessage: "Audit Logs" },
295
- to: "/settings/purchase-audit-logs",
296
- id: "auditLogs",
297
- lockIcon: true
298
- }
299
- ] : []
300
- ]
301
- });
302
- const [ConfigurationContextProvider, useConfigurationContext] = createContext("ConfigurationContext");
303
- const useConfiguration = () => useConfigurationContext("useConfiguration");
304
- function isEnterprise() {
305
- return window.strapi.isEE;
306
- }
307
- const useEnterprise = (ceData, eeCallback, opts = {}) => {
308
- const { defaultValue = null, combine = (_ceData, eeData) => eeData, enabled = true } = opts;
309
- const eeCallbackRef = useCallbackRef(eeCallback);
310
- const combineCallbackRef = useCallbackRef(combine);
311
- const [{ data }, setData] = React.useState({
312
- data: isEnterprise() && enabled ? defaultValue : ceData
313
- });
314
- React.useEffect(() => {
315
- async function importEE() {
316
- const eeData = await eeCallbackRef();
317
- const combinedValue = combineCallbackRef(ceData, eeData);
318
- setData({ data: combinedValue ? combinedValue : eeData });
319
- }
320
- if (isEnterprise() && enabled) {
321
- importEE();
322
- }
323
- }, [ceData, eeCallbackRef, combineCallbackRef, enabled]);
324
- return data;
325
- };
326
- const [LocalesContextProvider, useLocalesContext] = createContext("LocalesContext");
327
- const useLocales = () => useLocalesContext("useLocales");
328
- const LANGUAGE_LOCAL_STORAGE_KEY = "strapi-admin-language";
329
- const LanguageProvider = ({ children, localeNames, messages }) => {
330
- const [{ locale }, dispatch] = React.useReducer(
331
- reducer$2,
332
- initialState$7,
333
- () => {
334
- const languageFromLocaleStorage = window.localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY);
335
- if (languageFromLocaleStorage && localeNames[languageFromLocaleStorage]) {
336
- return {
337
- locale: languageFromLocaleStorage,
338
- localeNames
339
- };
340
- } else {
341
- return {
342
- locale: "en",
343
- localeNames
344
- };
345
- }
346
- }
347
- );
348
- React.useEffect(() => {
349
- window.localStorage.setItem(LANGUAGE_LOCAL_STORAGE_KEY, locale);
350
- document.documentElement.setAttribute("lang", locale);
351
- }, [locale]);
352
- const changeLocale = React.useCallback((locale2) => {
353
- dispatch({
354
- type: "CHANGE_LOCALE",
355
- locale: locale2
356
- });
357
- }, []);
358
- const appMessages = defaultsDeep(messages[locale], messages.en);
359
- return /* @__PURE__ */ jsx(IntlProvider, { locale, defaultLocale: "en", messages: appMessages, textComponent: "span", children: /* @__PURE__ */ jsx(LocalesContextProvider, { changeLocale, localeNames, children }) });
360
- };
361
- const initialState$7 = {
362
- localeNames: { en: "English" },
363
- locale: "en"
364
- };
365
- const reducer$2 = (state = initialState$7, action) => {
366
- switch (action.type) {
367
- case "CHANGE_LOCALE": {
368
- const { locale } = action;
369
- if (!state.localeNames[locale]) {
370
- return state;
371
- }
372
- return { ...state, locale };
373
- }
374
- default: {
375
- return state;
376
- }
377
- }
378
- };
379
- const Img = styled.img`
380
- height: ${72 / 16}rem;
381
- `;
382
- const Logo = () => {
383
- const {
384
- logos: { auth: auth2 }
385
- } = useConfiguration();
386
- return /* @__PURE__ */ jsx(Img, { src: auth2?.custom ?? auth2.default, "aria-hidden": true, alt: "" });
387
- };
388
- const Wrapper = styled(Box)`
389
- margin: 0 auto;
390
- width: 552px;
391
- `;
392
- const Column = styled(Flex)`
393
- flex-direction: column;
394
- `;
395
- const LocaleToggle = () => {
396
- const { changeLocale, localeNames } = useLocales();
397
- const { formatMessage, locale } = useIntl();
398
- return /* @__PURE__ */ jsx(
399
- SingleSelect,
400
- {
401
- "aria-label": formatMessage({
402
- id: "global.localeToggle.label",
403
- defaultMessage: "Select interface language"
404
- }),
405
- value: locale,
406
- onChange: (language) => {
407
- changeLocale(language);
408
- },
409
- children: Object.entries(localeNames).map(([language, name]) => /* @__PURE__ */ jsx(SingleSelectOption, { value: language, children: name }, language))
410
- }
411
- );
412
- };
413
- const LayoutContent = ({ children }) => /* @__PURE__ */ jsx(
414
- Wrapper,
415
- {
416
- shadow: "tableShadow",
417
- hasRadius: true,
418
- paddingTop: 9,
419
- paddingBottom: 9,
420
- paddingLeft: 10,
421
- paddingRight: 10,
422
- background: "neutral0",
423
- children
424
- }
425
- );
426
- const UnauthenticatedLayout = ({ children }) => {
427
- return /* @__PURE__ */ jsxs("div", { children: [
428
- /* @__PURE__ */ jsx(Flex, { as: "header", justifyContent: "flex-end", children: /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingRight: 8, children: /* @__PURE__ */ jsx(LocaleToggle, {}) }) }),
429
- /* @__PURE__ */ jsx(Box, { paddingTop: 2, paddingBottom: 11, children })
430
- ] });
431
- };
432
- const FieldActionWrapper = styled(FieldAction)`
433
- svg {
434
- height: 1rem;
435
- width: 1rem;
436
- path {
437
- fill: ${({ theme }) => theme.colors.neutral600};
438
- }
439
- }
440
- `;
441
- const LOGIN_SCHEMA = yup.object().shape({
442
- email: yup.string().email(translatedErrors.email).required(translatedErrors.required),
443
- password: yup.string().required(translatedErrors.required),
444
- rememberMe: yup.bool().nullable()
445
- });
446
- const Login = ({ children }) => {
447
- const [apiError, setApiError] = React.useState();
448
- const [passwordShown, setPasswordShown] = React.useState(false);
449
- const { formatMessage } = useIntl();
450
- const { post } = useFetchClient();
451
- const { changeLocale } = useLocales();
452
- const query = useQuery();
453
- const { push } = useHistory();
454
- const mutation = useMutation(
455
- async (body) => {
456
- const {
457
- data: { data }
458
- } = await post("/admin/login", body);
459
- return { ...data, rememberMe: body.rememberMe };
460
- },
461
- {
462
- onSuccess(data) {
463
- if (data) {
464
- const { token, user } = data;
465
- if (user.preferedLanguage) {
466
- changeLocale(user.preferedLanguage);
467
- }
468
- auth.setToken(token, data.rememberMe);
469
- auth.setUserInfo(user, data.rememberMe);
470
- const redirectTo = query.get("redirectTo");
471
- const redirectUrl = redirectTo ? decodeURIComponent(redirectTo) : "/";
472
- push(redirectUrl);
473
- }
474
- },
475
- onError(err) {
476
- const message = err.response?.data?.error?.message ?? "Something went wrong";
477
- if (camelCase(message).toLowerCase() === "usernotactive") {
478
- push("/auth/oops");
479
- return;
480
- }
481
- setApiError(message);
482
- }
483
- }
484
- );
485
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
486
- /* @__PURE__ */ jsxs(LayoutContent, { children: [
487
- /* @__PURE__ */ jsxs(Column, { children: [
488
- /* @__PURE__ */ jsx(Logo, {}),
489
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 1, children: /* @__PURE__ */ jsx(Typography, { variant: "alpha", as: "h1", children: formatMessage({
490
- id: "Auth.form.welcome.title",
491
- defaultMessage: "Welcome!"
492
- }) }) }),
493
- /* @__PURE__ */ jsx(Box, { paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage({
494
- id: "Auth.form.welcome.subtitle",
495
- defaultMessage: "Log in to your Strapi account"
496
- }) }) }),
497
- mutation.isError && apiError ? /* @__PURE__ */ jsx(Typography, { id: "global-form-error", role: "alert", tabIndex: -1, textColor: "danger600", children: apiError }) : null
498
- ] }),
499
- /* @__PURE__ */ jsx(
500
- Formik,
501
- {
502
- enableReinitialize: true,
503
- initialValues: {
504
- email: "",
505
- password: "",
506
- rememberMe: false
507
- },
508
- onSubmit: (values) => {
509
- mutation.mutate(values);
510
- },
511
- validationSchema: LOGIN_SCHEMA,
512
- validateOnChange: false,
513
- children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsx(Form, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
514
- /* @__PURE__ */ jsx(
515
- TextInput,
516
- {
517
- error: errors.email ? formatMessage({
518
- id: errors.email,
519
- defaultMessage: "This value is required."
520
- }) : "",
521
- value: values.email,
522
- onChange: handleChange,
523
- label: formatMessage({ id: "Auth.form.email.label", defaultMessage: "Email" }),
524
- placeholder: formatMessage({
525
- id: "Auth.form.email.placeholder",
526
- defaultMessage: "kai@doe.com"
527
- }),
528
- name: "email",
529
- required: true
530
- }
531
- ),
532
- /* @__PURE__ */ jsx(
533
- PasswordInput$2,
534
- {
535
- error: errors.password ? formatMessage({
536
- id: errors.password,
537
- defaultMessage: "This value is required."
538
- }) : "",
539
- onChange: handleChange,
540
- value: values.password,
541
- label: formatMessage({
542
- id: "global.password",
543
- defaultMessage: "Password"
544
- }),
545
- name: "password",
546
- type: passwordShown ? "text" : "password",
547
- endAction: /* @__PURE__ */ jsx(
548
- FieldActionWrapper,
549
- {
550
- onClick: (e) => {
551
- e.stopPropagation();
552
- setPasswordShown((prev) => !prev);
553
- },
554
- label: formatMessage(
555
- passwordShown ? {
556
- id: "Auth.form.password.show-password",
557
- defaultMessage: "Show password"
558
- } : {
559
- id: "Auth.form.password.hide-password",
560
- defaultMessage: "Hide password"
561
- }
562
- ),
563
- children: passwordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
564
- }
565
- ),
566
- required: true
567
- }
568
- ),
569
- /* @__PURE__ */ jsx(
570
- Checkbox,
571
- {
572
- onValueChange: (checked) => {
573
- handleChange({ target: { value: checked, name: "rememberMe" } });
574
- },
575
- value: values.rememberMe,
576
- "aria-label": "rememberMe",
577
- name: "rememberMe",
578
- children: formatMessage({
579
- id: "Auth.form.rememberMe.label",
580
- defaultMessage: "Remember me"
581
- })
582
- }
583
- ),
584
- /* @__PURE__ */ jsx(Button, { fullWidth: true, type: "submit", children: formatMessage({ id: "Auth.form.button.login", defaultMessage: "Login" }) })
585
- ] }) })
586
- }
587
- ),
588
- children
589
- ] }),
590
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/forgot-password", children: formatMessage({
591
- id: "Auth.link.forgot-password",
592
- defaultMessage: "Forgot your password?"
593
- }) }) }) })
594
- ] }) });
595
- };
596
- const PasswordInput$2 = styled(TextInput)`
597
- ::-ms-reveal {
598
- display: none;
599
- }
600
- `;
601
- const ForgotPassword = () => {
602
- const { push } = useHistory();
603
- const { post } = useFetchClient();
604
- const { formatMessage } = useIntl();
605
- const { mutate, isError } = useMutation(
606
- async (body) => {
607
- await post("/admin/forgot-password", body);
608
- },
609
- {
610
- onSuccess() {
611
- push("/auth/forgot-password-success");
612
- }
613
- }
614
- );
615
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
616
- /* @__PURE__ */ jsxs(LayoutContent, { children: [
617
- /* @__PURE__ */ jsxs(Column, { children: [
618
- /* @__PURE__ */ jsx(Logo, {}),
619
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
620
- id: "Auth.form.button.password-recovery",
621
- defaultMessage: "Password Recovery"
622
- }) }) }),
623
- isError ? /* @__PURE__ */ jsx(Typography, { id: "global-form-error", role: "alert", tabIndex: -1, textColor: "danger600", children: formatMessage({
624
- id: "notification.error",
625
- defaultMessage: "An error occurred"
626
- }) }) : null
627
- ] }),
628
- /* @__PURE__ */ jsx(
629
- Formik,
630
- {
631
- enableReinitialize: true,
632
- initialValues: {
633
- email: ""
634
- },
635
- onSubmit: (values) => {
636
- mutate(values);
637
- },
638
- validationSchema: yup.object().shape({
639
- email: yup.string().email(translatedErrors.email).required(translatedErrors.required)
640
- }),
641
- validateOnChange: false,
642
- children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsx(Form, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
643
- /* @__PURE__ */ jsx(
644
- TextInput,
645
- {
646
- error: errors.email ? formatMessage({
647
- id: errors.email,
648
- defaultMessage: "This email is invalid."
649
- }) : "",
650
- value: values.email,
651
- onChange: handleChange,
652
- label: formatMessage({ id: "Auth.form.email.label", defaultMessage: "Email" }),
653
- placeholder: formatMessage({
654
- id: "Auth.form.email.placeholder",
655
- defaultMessage: "kai@doe.com"
656
- }),
657
- name: "email",
658
- required: true
659
- }
660
- ),
661
- /* @__PURE__ */ jsx(Button, { type: "submit", fullWidth: true, children: formatMessage({
662
- id: "Auth.form.button.forgot-password",
663
- defaultMessage: "Send Email"
664
- }) })
665
- ] }) })
666
- }
667
- )
668
- ] }),
669
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
670
- ] }) });
671
- };
672
- const ForgotPasswordSuccess = () => {
673
- const { formatMessage } = useIntl();
674
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
675
- /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [
676
- /* @__PURE__ */ jsx(Logo, {}),
677
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
678
- id: "app.containers.AuthPage.ForgotPasswordSuccess.title",
679
- defaultMessage: "Email sent"
680
- }) }) }),
681
- /* @__PURE__ */ jsx(Typography, { children: formatMessage({
682
- id: "app.containers.AuthPage.ForgotPasswordSuccess.text.email",
683
- defaultMessage: "It can take a few minutes to receive your password recovery link."
684
- }) }),
685
- /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Typography, { children: formatMessage({
686
- id: "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",
687
- defaultMessage: "If you do not receive this link, please contact your administrator."
688
- }) }) })
689
- ] }) }),
690
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
691
- ] }) });
692
- };
693
- const Oops = () => {
694
- const { formatMessage } = useIntl();
695
- const query = useQuery();
696
- const message = query.get("info") || formatMessage({
697
- id: "Auth.components.Oops.text",
698
- defaultMessage: "Your account has been suspended."
699
- });
700
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
701
- /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs(Column, { children: [
702
- /* @__PURE__ */ jsx(Logo, {}),
703
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({ id: "Auth.components.Oops.title", defaultMessage: "Oops..." }) }) }),
704
- /* @__PURE__ */ jsx(Typography, { children: message }),
705
- /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Typography, { children: formatMessage({
706
- id: "Auth.components.Oops.text.admin",
707
- defaultMessage: "If this is a mistake, please contact your administrator."
708
- }) }) })
709
- ] }) }),
710
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.signin", defaultMessage: "Sign in" }) }) }) })
711
- ] }) });
712
- };
713
- const FieldWrapper = styled(Field)`
714
- height: ${32 / 16}rem;
715
- width: ${32 / 16}rem;
716
-
717
- > label,
718
- ~ input {
719
- display: block;
720
- position: absolute;
721
- top: 0;
722
- left: 0;
723
- right: 0;
724
- bottom: 0;
725
- }
726
-
727
- > label {
728
- color: inherit;
729
- cursor: pointer;
730
- padding: ${({ theme }) => theme.spaces[2]};
731
- text-align: center;
732
- vertical-align: middle;
733
- }
734
-
735
- &:hover,
736
- &:focus-within {
737
- background-color: ${({ theme }) => theme.colors.neutral0};
738
- }
739
-
740
- &:active,
741
- &.selected {
742
- color: ${({ theme }) => theme.colors.primary700};
743
- background-color: ${({ theme }) => theme.colors.neutral0};
744
- border-color: ${({ theme }) => theme.colors.primary700};
745
- }
746
- `;
747
- const delays = {
748
- postResponse: 90 * 24 * 60 * 60 * 1e3,
749
- // 90 days in ms
750
- postFirstDismissal: 7 * 24 * 60 * 60 * 1e3,
751
- // 7 days in ms
752
- postSubsequentDismissal: 90 * 24 * 60 * 60 * 1e3,
753
- // 90 days in ms
754
- display: 5 * 60 * 1e3
755
- // 5 minutes in ms
756
- };
757
- const ratingArray = [...Array(11).keys()];
758
- const checkIfShouldShowSurvey = (settings) => {
759
- const { enabled, lastResponseDate, firstDismissalDate, lastDismissalDate } = settings;
760
- if (window.strapi.flags.nps === false) {
761
- return false;
762
- }
763
- if (enabled === false) {
764
- return false;
765
- }
766
- if (lastResponseDate) {
767
- const timeSinceLastResponse = Date.now() - new Date(lastResponseDate).getTime();
768
- if (timeSinceLastResponse >= delays.postResponse) {
769
- return true;
770
- }
771
- return false;
772
- }
773
- if (lastDismissalDate) {
774
- const timeSinceLastDismissal = Date.now() - new Date(lastDismissalDate).getTime();
775
- if (timeSinceLastDismissal >= delays.postSubsequentDismissal) {
776
- return true;
777
- }
778
- return false;
779
- }
780
- if (firstDismissalDate) {
781
- const timeSinceFirstDismissal = Date.now() - new Date(firstDismissalDate).getTime();
782
- if (timeSinceFirstDismissal >= delays.postFirstDismissal) {
783
- return true;
784
- }
785
- return false;
786
- }
787
- return true;
788
- };
789
- const NpsSurvey = () => {
790
- const theme = useTheme();
791
- const { formatMessage } = useIntl();
792
- const { npsSurveySettings, setNpsSurveySettings } = useNpsSurveySettings();
793
- const [isFeedbackResponse, setIsFeedbackResponse] = React.useState(false);
794
- const toggleNotification = useNotification();
795
- const { currentEnvironment, strapiVersion } = useAppInfo();
796
- const { mutate, isLoading } = useMutation(
797
- async (form) => {
798
- const res = await fetch("https://analytics.strapi.io/submit-nps", {
799
- method: "POST",
800
- headers: {
801
- "Content-Type": "application/json"
802
- },
803
- body: JSON.stringify(form)
804
- });
805
- if (!res.ok) {
806
- throw new Error("Failed to submit NPS survey");
807
- }
808
- return res;
809
- },
810
- {
811
- onSuccess() {
812
- setNpsSurveySettings((settings) => ({
813
- ...settings,
814
- lastResponseDate: (/* @__PURE__ */ new Date()).toString(),
815
- firstDismissalDate: null,
816
- lastDismissalDate: null
817
- }));
818
- setIsFeedbackResponse(true);
819
- setTimeout(() => {
820
- setSurveyIsShown(false);
821
- }, 3e3);
822
- },
823
- onError() {
824
- toggleNotification({
825
- type: "warning",
826
- message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
827
- });
828
- }
829
- }
830
- );
831
- const [surveyIsShown, setSurveyIsShown] = React.useState(
832
- checkIfShouldShowSurvey(npsSurveySettings)
833
- );
834
- const [displaySurvey, setDisplaySurvey] = React.useState(false);
835
- React.useEffect(() => {
836
- const displayTime = setTimeout(() => {
837
- setDisplaySurvey(true);
838
- }, delays.display);
839
- return () => {
840
- clearTimeout(displayTime);
841
- };
842
- }, []);
843
- if (!displaySurvey) {
844
- return null;
845
- }
846
- if (!surveyIsShown) {
847
- return null;
848
- }
849
- const handleSubmitResponse = ({
850
- npsSurveyRating,
851
- npsSurveyFeedback
852
- }) => {
853
- const userInfo = auth.getUserInfo();
854
- mutate({
855
- email: typeof userInfo === "object" && userInfo !== null ? userInfo.email : "",
856
- rating: npsSurveyRating,
857
- comment: npsSurveyFeedback,
858
- environment: currentEnvironment,
859
- version: strapiVersion ?? void 0,
860
- license: window.strapi.projectType
861
- });
862
- };
863
- const handleDismiss = () => {
864
- setNpsSurveySettings((settings) => {
865
- const nextSettings = {
866
- ...settings,
867
- lastResponseDate: null
868
- };
869
- if (settings.firstDismissalDate) {
870
- nextSettings.lastDismissalDate = (/* @__PURE__ */ new Date()).toString();
871
- } else {
872
- nextSettings.firstDismissalDate = (/* @__PURE__ */ new Date()).toString();
873
- }
874
- return nextSettings;
875
- });
876
- setSurveyIsShown(false);
877
- };
878
- return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
879
- Formik,
880
- {
881
- initialValues: { npsSurveyFeedback: "", npsSurveyRating: null },
882
- onSubmit: handleSubmitResponse,
883
- validationSchema: yup.object({
884
- npsSurveyFeedback: yup.string(),
885
- npsSurveyRating: yup.number().required()
886
- }),
887
- children: ({ values, handleChange, setFieldValue }) => /* @__PURE__ */ jsx(Form$1, { name: "npsSurveyForm", children: /* @__PURE__ */ jsx(
888
- Flex,
889
- {
890
- hasRadius: true,
891
- direction: "column",
892
- padding: 4,
893
- borderColor: "primary200",
894
- background: "neutral0",
895
- shadow: "popupShadow",
896
- position: "fixed",
897
- bottom: 0,
898
- left: "50%",
899
- transform: "translateX(-50%)",
900
- zIndex: theme.zIndices[2],
901
- width: "50%",
902
- children: isFeedbackResponse ? /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", children: formatMessage({
903
- id: "app.components.NpsSurvey.feedback-response",
904
- defaultMessage: "Thank you very much for your feedback!"
905
- }) }) : /* @__PURE__ */ jsxs(Box, { as: "fieldset", width: "100%", children: [
906
- /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", width: "100%", children: [
907
- /* @__PURE__ */ jsx(Box, { marginLeft: "auto", marginRight: "auto", children: /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", as: "legend", children: formatMessage({
908
- id: "app.components.NpsSurvey.banner-title",
909
- defaultMessage: "How likely are you to recommend Strapi to a friend or colleague?"
910
- }) }) }),
911
- /* @__PURE__ */ jsx(
912
- IconButton,
913
- {
914
- onClick: handleDismiss,
915
- "aria-label": formatMessage({
916
- id: "app.components.NpsSurvey.dismiss-survey-label",
917
- defaultMessage: "Dismiss survey"
918
- }),
919
- icon: /* @__PURE__ */ jsx(Cross, {})
920
- }
921
- )
922
- ] }),
923
- /* @__PURE__ */ jsxs(Flex, { gap: 2, marginTop: 2, marginBottom: 2, justifyContent: "center", children: [
924
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: formatMessage({
925
- id: "app.components.NpsSurvey.no-recommendation",
926
- defaultMessage: "Not at all likely"
927
- }) }),
928
- ratingArray.map((number) => {
929
- return /* @__PURE__ */ jsx(
930
- FieldWrapper,
931
- {
932
- className: values.npsSurveyRating === number ? "selected" : void 0,
933
- hasRadius: true,
934
- background: "primary100",
935
- borderColor: "primary200",
936
- color: "primary600",
937
- position: "relative",
938
- cursor: "pointer",
939
- children: /* @__PURE__ */ jsxs(FieldLabel, { htmlFor: `nps-survey-rating-${number}-input`, children: [
940
- /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(
941
- FieldInput,
942
- {
943
- type: "radio",
944
- id: `nps-survey-rating-${number}-input`,
945
- name: "npsSurveyRating",
946
- checked: values.npsSurveyRating === number,
947
- onChange: (e) => setFieldValue("npsSurveyRating", parseInt(e.target.value, 10)),
948
- value: number
949
- }
950
- ) }),
951
- number
952
- ] })
953
- },
954
- number
955
- );
956
- }),
957
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: formatMessage({
958
- id: "app.components.NpsSurvey.happy-to-recommend",
959
- defaultMessage: "Extremely likely"
960
- }) })
961
- ] }),
962
- values.npsSurveyRating !== null && /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
963
- /* @__PURE__ */ jsx(Box, { marginTop: 2, children: /* @__PURE__ */ jsx(FieldLabel, { htmlFor: "npsSurveyFeedback", fontWeight: "semiBold", fontSize: 2, children: formatMessage({
964
- id: "app.components.NpsSurvey.feedback-question",
965
- defaultMessage: "Do you have any suggestion for improvements?"
966
- }) }) }),
967
- /* @__PURE__ */ jsx(Box, { width: "62%", marginTop: 3, marginBottom: 4, children: /* @__PURE__ */ jsx(
968
- Textarea,
969
- {
970
- id: "npsSurveyFeedback",
971
- width: "100%",
972
- onChange: handleChange,
973
- children: values.npsSurveyFeedback
974
- }
975
- ) }),
976
- /* @__PURE__ */ jsx(Button, { marginBottom: 2, type: "submit", loading: isLoading, children: formatMessage({
977
- id: "app.components.NpsSurvey.submit-feedback",
978
- defaultMessage: "Submit Feedback"
979
- }) })
980
- ] })
981
- ] })
982
- }
983
- ) })
984
- }
985
- ) });
986
- };
987
- function useNpsSurveySettings() {
988
- const [npsSurveySettings, setNpsSurveySettings] = usePersistentState(
989
- "STRAPI_NPS_SURVEY_SETTINGS",
990
- {
991
- enabled: true,
992
- lastResponseDate: null,
993
- firstDismissalDate: null,
994
- lastDismissalDate: null
995
- }
996
- );
997
- return { npsSurveySettings, setNpsSurveySettings };
998
- }
999
- const REGISTER_USER_SCHEMA = yup.object().shape({
1000
- firstname: yup.string().trim().required(translatedErrors.required),
1001
- lastname: yup.string().nullable(),
1002
- password: yup.string().min(8, 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(translatedErrors.required),
1003
- confirmPassword: yup.string().oneOf([yup.ref("password"), null], "components.Input.error.password.noMatch").required(translatedErrors.required),
1004
- registrationToken: yup.string().required(translatedErrors.required)
1005
- });
1006
- const REGISTER_ADMIN_SCHEMA = yup.object().shape({
1007
- firstname: yup.string().trim().required(translatedErrors.required),
1008
- lastname: yup.string().nullable(),
1009
- password: yup.string().min(8, 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(translatedErrors.required),
1010
- email: yup.string().email(translatedErrors.email).strict().lowercase(translatedErrors.lowercase).required(translatedErrors.required),
1011
- confirmPassword: yup.string().oneOf([yup.ref("password"), null], "components.Input.error.password.noMatch").required(translatedErrors.required)
1012
- });
1013
- const Register = ({ hasAdmin }) => {
1014
- const toggleNotification = useNotification();
1015
- const { push } = useHistory();
1016
- const [passwordShown, setPasswordShown] = React.useState(false);
1017
- const [confirmPasswordShown, setConfirmPasswordShown] = React.useState(false);
1018
- const [submitCount, setSubmitCount] = React.useState(0);
1019
- const [apiError, setApiError] = React.useState();
1020
- const { trackUsage } = useTracking();
1021
- const { formatMessage } = useIntl();
1022
- const { setSkipped } = useGuidedTour();
1023
- const query = useQuery();
1024
- const match = useRouteMatch(
1025
- "/auth/:authType"
1026
- );
1027
- const { formatAPIError } = useAPIErrorHandler();
1028
- const { get: get2, post } = useFetchClient();
1029
- const { setNpsSurveySettings } = useNpsSurveySettings();
1030
- const registrationToken = query.get("registrationToken");
1031
- const { data: userInfo } = useQuery$1({
1032
- queryKey: ["admin", "registration-info", registrationToken],
1033
- async queryFn() {
1034
- const {
1035
- data: { data }
1036
- } = await get2(`/admin/registration-info`, {
1037
- params: {
1038
- registrationToken
1039
- }
1040
- });
1041
- return data;
1042
- },
1043
- enabled: !!registrationToken,
1044
- initialData: {},
1045
- onError(err) {
1046
- const message = formatAPIError(err);
1047
- toggleNotification({
1048
- type: "warning",
1049
- message
1050
- });
1051
- push(`/auth/oops?info=${encodeURIComponent(message)}`);
1052
- }
1053
- });
1054
- const registerAdminMutation = useMutation(
1055
- async (body) => {
1056
- const { news, ...restBody } = body;
1057
- const { data } = await post("/admin/register-admin", restBody);
1058
- return { ...data.data, news };
1059
- },
1060
- {
1061
- onSuccess(data) {
1062
- const { token, user, news } = data;
1063
- auth.setToken(token, false);
1064
- auth.setUserInfo(user, false);
1065
- const { roles } = user;
1066
- if (roles) {
1067
- const isUserSuperAdmin = roles.find(({ code }) => code === "strapi-super-admin");
1068
- if (isUserSuperAdmin) {
1069
- auth.set(false, "GUIDED_TOUR_SKIPPED", true);
1070
- setSkipped(false);
1071
- trackUsage("didLaunchGuidedtour");
1072
- }
1073
- }
1074
- if (news) {
1075
- setNpsSurveySettings((s) => ({ ...s, enabled: true }));
1076
- push({
1077
- pathname: "/usecase",
1078
- search: `?hasAdmin=${true}`
1079
- });
1080
- } else {
1081
- push("/");
1082
- }
1083
- },
1084
- onError(err) {
1085
- trackUsage("didNotCreateFirstAdmin");
1086
- const error = formatAPIError(err);
1087
- setApiError(error);
1088
- }
1089
- }
1090
- );
1091
- const registerUserMutation = useMutation(
1092
- async (body) => {
1093
- const { news, ...restBody } = body;
1094
- const { data } = await post("/admin/register", restBody);
1095
- return { ...data.data, news };
1096
- },
1097
- {
1098
- onSuccess(data) {
1099
- const { token, user, news } = data;
1100
- auth.setToken(token, false);
1101
- auth.setUserInfo(user, false);
1102
- if (news) {
1103
- setNpsSurveySettings((s) => ({ ...s, enabled: true }));
1104
- push({
1105
- pathname: "/usecase",
1106
- search: `?hasAdmin=${hasAdmin}`
1107
- });
1108
- } else {
1109
- push("/");
1110
- }
1111
- },
1112
- onError(err) {
1113
- trackUsage("didNotCreateFirstAdmin");
1114
- const error = formatAPIError(err);
1115
- setApiError(error);
1116
- }
1117
- }
1118
- );
1119
- if (!match || match.params.authType !== "register" && match.params.authType !== "register-admin") {
1120
- return /* @__PURE__ */ jsx(Redirect, { to: "/" });
1121
- }
1122
- const isAdminRegistration = match.params.authType === "register-admin";
1123
- const schema = isAdminRegistration ? REGISTER_ADMIN_SCHEMA : REGISTER_USER_SCHEMA;
1124
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(LayoutContent, { children: [
1125
- /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "center", gap: 3, children: [
1126
- /* @__PURE__ */ jsx(Logo, {}),
1127
- /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", textAlign: "center", children: formatMessage({
1128
- id: "Auth.form.welcome.title",
1129
- defaultMessage: "Welcome to Strapi!"
1130
- }) }),
1131
- /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", textAlign: "center", children: formatMessage({
1132
- id: "Auth.form.register.subtitle",
1133
- defaultMessage: "Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."
1134
- }) }),
1135
- apiError ? /* @__PURE__ */ jsx(Typography, { id: "global-form-error", role: "alert", tabIndex: -1, textColor: "danger600", children: apiError }) : null
1136
- ] }),
1137
- /* @__PURE__ */ jsx(
1138
- Formik,
1139
- {
1140
- enableReinitialize: true,
1141
- initialValues: {
1142
- firstname: userInfo?.firstname || "",
1143
- lastname: userInfo?.lastname || "",
1144
- email: userInfo?.email || "",
1145
- password: "",
1146
- confirmPassword: "",
1147
- registrationToken: registrationToken || void 0,
1148
- news: false
1149
- },
1150
- onSubmit: async (data, formik) => {
1151
- const normalizedData = normalizeData(data);
1152
- try {
1153
- await schema.validate(normalizedData, { abortEarly: false });
1154
- if (submitCount > 0 && isAdminRegistration) {
1155
- trackUsage("didSubmitWithErrorsFirstAdmin", { count: submitCount.toString() });
1156
- }
1157
- if (normalizedData.registrationToken) {
1158
- registerUserMutation.mutate({
1159
- userInfo: omit(normalizedData, [
1160
- "registrationToken",
1161
- "confirmPassword",
1162
- "email",
1163
- "news"
1164
- ]),
1165
- registrationToken: normalizedData.registrationToken,
1166
- news: normalizedData.news
1167
- });
1168
- } else {
1169
- registerAdminMutation.mutate(
1170
- omit(normalizedData, ["registrationToken", "confirmPassword"])
1171
- );
1172
- }
1173
- } catch (err) {
1174
- if (err instanceof ValidationError) {
1175
- const errors = getYupInnerErrors(err);
1176
- formik.setErrors(errors);
1177
- }
1178
- setSubmitCount(submitCount + 1);
1179
- }
1180
- },
1181
- validateOnChange: false,
1182
- children: ({ values, errors, handleChange }) => {
1183
- return /* @__PURE__ */ jsx(Form, { children: /* @__PURE__ */ jsx(Main, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, marginTop: 7, children: [
1184
- /* @__PURE__ */ jsxs(Grid, { gap: 4, children: [
1185
- /* @__PURE__ */ jsx(GridItem, { col: 6, children: /* @__PURE__ */ jsx(
1186
- TextInput,
1187
- {
1188
- name: "firstname",
1189
- required: true,
1190
- value: values.firstname,
1191
- error: errors.firstname ? formatMessage(errors.firstname) : void 0,
1192
- onChange: handleChange,
1193
- label: formatMessage({
1194
- id: "Auth.form.firstname.label",
1195
- defaultMessage: "Firstname"
1196
- })
1197
- }
1198
- ) }),
1199
- /* @__PURE__ */ jsx(GridItem, { col: 6, children: /* @__PURE__ */ jsx(
1200
- TextInput,
1201
- {
1202
- name: "lastname",
1203
- value: values.lastname,
1204
- onChange: handleChange,
1205
- label: formatMessage({
1206
- id: "Auth.form.lastname.label",
1207
- defaultMessage: "Lastname"
1208
- })
1209
- }
1210
- ) })
1211
- ] }),
1212
- /* @__PURE__ */ jsx(
1213
- TextInput,
1214
- {
1215
- name: "email",
1216
- disabled: !isAdminRegistration,
1217
- value: values.email,
1218
- onChange: handleChange,
1219
- error: errors.email ? formatMessage(errors.email) : void 0,
1220
- required: true,
1221
- label: formatMessage({
1222
- id: "Auth.form.email.label",
1223
- defaultMessage: "Email"
1224
- }),
1225
- type: "email"
1226
- }
1227
- ),
1228
- /* @__PURE__ */ jsx(
1229
- PasswordInput$1,
1230
- {
1231
- name: "password",
1232
- onChange: handleChange,
1233
- value: values.password,
1234
- error: errors.password ? formatMessage(errors.password) : void 0,
1235
- endAction: /* @__PURE__ */ jsx(
1236
- FieldActionWrapper,
1237
- {
1238
- onClick: (e) => {
1239
- e.preventDefault();
1240
- setPasswordShown((prev) => !prev);
1241
- },
1242
- label: formatMessage(
1243
- passwordShown ? {
1244
- id: "Auth.form.password.show-password",
1245
- defaultMessage: "Show password"
1246
- } : {
1247
- id: "Auth.form.password.hide-password",
1248
- defaultMessage: "Hide password"
1249
- }
1250
- ),
1251
- children: passwordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
1252
- }
1253
- ),
1254
- hint: formatMessage({
1255
- id: "Auth.form.password.hint",
1256
- defaultMessage: "Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"
1257
- }),
1258
- required: true,
1259
- label: formatMessage({
1260
- id: "global.password",
1261
- defaultMessage: "Password"
1262
- }),
1263
- type: passwordShown ? "text" : "password"
1264
- }
1265
- ),
1266
- /* @__PURE__ */ jsx(
1267
- PasswordInput$1,
1268
- {
1269
- name: "confirmPassword",
1270
- onChange: handleChange,
1271
- value: values.confirmPassword,
1272
- error: errors.confirmPassword ? formatMessage(errors.confirmPassword) : void 0,
1273
- endAction: /* @__PURE__ */ jsx(
1274
- FieldActionWrapper,
1275
- {
1276
- onClick: (e) => {
1277
- e.preventDefault();
1278
- setConfirmPasswordShown((prev) => !prev);
1279
- },
1280
- label: formatMessage(
1281
- confirmPasswordShown ? {
1282
- id: "Auth.form.password.show-password",
1283
- defaultMessage: "Show password"
1284
- } : {
1285
- id: "Auth.form.password.hide-password",
1286
- defaultMessage: "Hide password"
1287
- }
1288
- ),
1289
- children: confirmPasswordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
1290
- }
1291
- ),
1292
- required: true,
1293
- label: formatMessage({
1294
- id: "Auth.form.confirmPassword.label",
1295
- defaultMessage: "Confirm Password"
1296
- }),
1297
- type: confirmPasswordShown ? "text" : "password"
1298
- }
1299
- ),
1300
- /* @__PURE__ */ jsx(
1301
- Checkbox,
1302
- {
1303
- onValueChange: (checked) => {
1304
- handleChange({ target: { value: checked, name: "news" } });
1305
- },
1306
- value: values.news,
1307
- name: "news",
1308
- "aria-label": "news",
1309
- children: formatMessage(
1310
- {
1311
- id: "Auth.form.register.news.label",
1312
- defaultMessage: "Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy})."
1313
- },
1314
- {
1315
- terms: /* @__PURE__ */ jsx(A, { target: "_blank", href: "https://strapi.io/terms", rel: "noreferrer", children: formatMessage({
1316
- id: "Auth.privacy-policy-agreement.terms",
1317
- defaultMessage: "terms"
1318
- }) }),
1319
- policy: /* @__PURE__ */ jsx(A, { target: "_blank", href: "https://strapi.io/privacy", rel: "noreferrer", children: formatMessage({
1320
- id: "Auth.privacy-policy-agreement.policy",
1321
- defaultMessage: "policy"
1322
- }) })
1323
- }
1324
- )
1325
- }
1326
- ),
1327
- /* @__PURE__ */ jsx(Button, { fullWidth: true, size: "L", type: "submit", children: formatMessage({
1328
- id: "Auth.form.button.register",
1329
- defaultMessage: "Let's start"
1330
- }) })
1331
- ] }) }) });
1332
- }
1333
- }
1334
- ),
1335
- match?.params.authType === "register" && /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({
1336
- id: "Auth.link.signin.account",
1337
- defaultMessage: "Already have an account?"
1338
- }) }) }) })
1339
- ] }) });
1340
- };
1341
- function normalizeData(data) {
1342
- return Object.entries(data).reduce(
1343
- (acc, [key, value]) => {
1344
- if (!["password", "confirmPassword"].includes(key) && typeof value === "string") {
1345
- acc[key] = value.trim();
1346
- if (key === "lastname") {
1347
- acc[key] = value || void 0;
1348
- }
1349
- } else {
1350
- acc[key] = value;
1351
- }
1352
- return acc;
1353
- },
1354
- {}
1355
- );
1356
- }
1357
- const A = styled.a`
1358
- color: ${({ theme }) => theme.colors.primary600};
1359
- `;
1360
- const PasswordInput$1 = styled(TextInput)`
1361
- ::-ms-reveal {
1362
- display: none;
1363
- }
1364
- `;
1365
- const RESET_PASSWORD_SCHEMA = yup.object().shape({
1366
- password: yup.string().min(8, 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(translatedErrors.required),
1367
- confirmPassword: yup.string().oneOf([yup.ref("password"), null], "components.Input.error.password.noMatch").required(translatedErrors.required)
1368
- });
1369
- const ResetPassword = () => {
1370
- const [passwordShown, setPasswordShown] = React.useState(false);
1371
- const [confirmPasswordShown, setConfirmPasswordShown] = React.useState(false);
1372
- const { formatMessage } = useIntl();
1373
- const { post } = useFetchClient();
1374
- const { push } = useHistory();
1375
- const query = useQuery();
1376
- const { mutate, isError } = useMutation(
1377
- async (body) => {
1378
- const {
1379
- data: { data }
1380
- } = await post("/admin/reset-password", {
1381
- ...body,
1382
- resetPasswordToken: query.get("code")
1383
- });
1384
- return data;
1385
- },
1386
- {
1387
- onSuccess(data) {
1388
- if (data) {
1389
- const { token, user } = data;
1390
- auth.setToken(token, false);
1391
- auth.setUserInfo(user, false);
1392
- push("/");
1393
- }
1394
- }
1395
- }
1396
- );
1397
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { children: [
1398
- /* @__PURE__ */ jsxs(LayoutContent, { children: [
1399
- /* @__PURE__ */ jsxs(Column, { children: [
1400
- /* @__PURE__ */ jsx(Logo, {}),
1401
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 7, children: /* @__PURE__ */ jsx(Typography, { as: "h1", variant: "alpha", children: formatMessage({
1402
- id: "global.reset-password",
1403
- defaultMessage: "Reset password"
1404
- }) }) }),
1405
- isError ? /* @__PURE__ */ jsx(Typography, { id: "global-form-error", role: "alert", tabIndex: -1, textColor: "danger600", children: formatMessage({
1406
- id: "notification.error",
1407
- defaultMessage: "An error occurred"
1408
- }) }) : null
1409
- ] }),
1410
- /* @__PURE__ */ jsx(
1411
- Formik,
1412
- {
1413
- enableReinitialize: true,
1414
- initialValues: {
1415
- password: "",
1416
- confirmPassword: ""
1417
- },
1418
- onSubmit: (values) => {
1419
- mutate({ password: values.password });
1420
- },
1421
- validationSchema: RESET_PASSWORD_SCHEMA,
1422
- validateOnChange: false,
1423
- children: ({ values, errors, handleChange }) => /* @__PURE__ */ jsx(Form, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
1424
- /* @__PURE__ */ jsx(
1425
- PasswordInput,
1426
- {
1427
- name: "password",
1428
- onChange: handleChange,
1429
- value: values.password,
1430
- error: errors.password ? formatMessage(
1431
- {
1432
- id: errors.password,
1433
- defaultMessage: "This field is required."
1434
- },
1435
- {
1436
- min: 8
1437
- }
1438
- ) : void 0,
1439
- endAction: /* @__PURE__ */ jsx(
1440
- FieldActionWrapper,
1441
- {
1442
- onClick: (e) => {
1443
- e.preventDefault();
1444
- setPasswordShown((prev) => !prev);
1445
- },
1446
- label: formatMessage(
1447
- passwordShown ? {
1448
- id: "Auth.form.password.show-password",
1449
- defaultMessage: "Show password"
1450
- } : {
1451
- id: "Auth.form.password.hide-password",
1452
- defaultMessage: "Hide password"
1453
- }
1454
- ),
1455
- children: passwordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
1456
- }
1457
- ),
1458
- hint: formatMessage({
1459
- id: "Auth.form.password.hint",
1460
- defaultMessage: "Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"
1461
- }),
1462
- required: true,
1463
- label: formatMessage({
1464
- id: "global.password",
1465
- defaultMessage: "Password"
1466
- }),
1467
- type: passwordShown ? "text" : "password"
1468
- }
1469
- ),
1470
- /* @__PURE__ */ jsx(
1471
- PasswordInput,
1472
- {
1473
- name: "confirmPassword",
1474
- onChange: handleChange,
1475
- value: values.confirmPassword,
1476
- error: errors.confirmPassword ? formatMessage({
1477
- id: errors.confirmPassword,
1478
- defaultMessage: "This value is required."
1479
- }) : void 0,
1480
- endAction: /* @__PURE__ */ jsx(
1481
- FieldActionWrapper,
1482
- {
1483
- onClick: (e) => {
1484
- e.preventDefault();
1485
- setConfirmPasswordShown((prev) => !prev);
1486
- },
1487
- label: formatMessage(
1488
- passwordShown ? {
1489
- id: "Auth.form.password.show-password",
1490
- defaultMessage: "Show password"
1491
- } : {
1492
- id: "Auth.form.password.hide-password",
1493
- defaultMessage: "Hide password"
1494
- }
1495
- ),
1496
- children: confirmPasswordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
1497
- }
1498
- ),
1499
- required: true,
1500
- label: formatMessage({
1501
- id: "Auth.form.confirmPassword.label",
1502
- defaultMessage: "Confirm Password"
1503
- }),
1504
- type: confirmPasswordShown ? "text" : "password"
1505
- }
1506
- ),
1507
- /* @__PURE__ */ jsx(Button, { fullWidth: true, type: "submit", children: formatMessage({
1508
- id: "global.change-password",
1509
- defaultMessage: "Change password"
1510
- }) })
1511
- ] }) })
1512
- }
1513
- )
1514
- ] }),
1515
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(Link, { as: NavLink, to: "/auth/login", children: formatMessage({ id: "Auth.link.ready", defaultMessage: "Ready to sign in?" }) }) }) })
1516
- ] }) });
1517
- };
1518
- const PasswordInput = styled(TextInput)`
1519
- ::-ms-reveal {
1520
- display: none;
1521
- }
1522
- `;
1523
- const FORMS = {
1524
- "forgot-password": ForgotPassword,
1525
- "forgot-password-success": ForgotPasswordSuccess,
1526
- // the `Component` attribute is set after all forms and CE/EE components are loaded, but since we
1527
- // are here outside of a React component we can not use the hook directly
1528
- login: () => null,
1529
- oops: Oops,
1530
- register: Register,
1531
- "register-admin": Register,
1532
- "reset-password": ResetPassword,
1533
- providers: () => null
1534
- };
1535
- const AuthPage = ({ hasAdmin }) => {
1536
- const {
1537
- location: { search }
1538
- } = useHistory();
1539
- const match = useRouteMatch("/auth/:authType");
1540
- const authType = match?.params.authType;
1541
- const Login$1 = useEnterprise(
1542
- Login,
1543
- async () => (await import("./Login-8ade15b8.mjs")).LoginEE
1544
- );
1545
- const forms = useEnterprise(
1546
- FORMS,
1547
- async () => (await import("./constants-ecad1e20.mjs")).FORMS,
1548
- {
1549
- combine(ceForms, eeForms) {
1550
- return {
1551
- ...ceForms,
1552
- ...eeForms
1553
- };
1554
- },
1555
- defaultValue: FORMS
1556
- }
1557
- );
1558
- if (!authType || !forms) {
1559
- return /* @__PURE__ */ jsx(Redirect, { to: "/" });
1560
- }
1561
- const Component = forms[authType];
1562
- if (!Component || hasAdmin && authType === "register-admin" || auth.getToken()) {
1563
- return /* @__PURE__ */ jsx(Redirect, { to: "/" });
1564
- }
1565
- if (!hasAdmin && authType !== "register-admin") {
1566
- return /* @__PURE__ */ jsx(
1567
- Redirect,
1568
- {
1569
- to: {
1570
- pathname: "/auth/register-admin",
1571
- // Forward the `?redirectTo` from /auth/login
1572
- // /abc => /auth/login?redirectTo=%2Fabc => /auth/register-admin?redirectTo=%2Fabc
1573
- search
1574
- }
1575
- }
1576
- );
1577
- }
1578
- if (Login$1 && authType === "login") {
1579
- return /* @__PURE__ */ jsx(Login$1, {});
1580
- } else if (authType === "login" && !Login$1) {
1581
- return null;
1582
- }
1583
- return /* @__PURE__ */ jsx(Component, { hasAdmin });
1584
- };
1585
- const NotFoundPage = () => {
1586
- const { formatMessage } = useIntl();
1587
- useFocusWhenNavigate();
1588
- return /* @__PURE__ */ jsxs(Main, { labelledBy: "title", children: [
1589
- /* @__PURE__ */ jsx(
1590
- HeaderLayout,
1591
- {
1592
- id: "title",
1593
- title: formatMessage({
1594
- id: "content-manager.pageNotFound",
1595
- defaultMessage: "Page not found"
1596
- })
1597
- }
1598
- ),
1599
- /* @__PURE__ */ jsx(ContentLayout, { children: /* @__PURE__ */ jsx(
1600
- EmptyStateLayout,
1601
- {
1602
- action: /* @__PURE__ */ jsx(LinkButton, { variant: "secondary", endIcon: /* @__PURE__ */ jsx(ArrowRight, {}), to: "/", children: formatMessage({
1603
- id: "app.components.NotFoundPage.back",
1604
- defaultMessage: "Back to homepage"
1605
- }) }),
1606
- content: formatMessage({
1607
- id: "app.page.not.found",
1608
- defaultMessage: "Oops! We can't seem to find the page you're looging for..."
1609
- }),
1610
- hasRadius: true,
1611
- icon: /* @__PURE__ */ jsx(EmptyPictures, { width: "10rem" }),
1612
- shadow: "tableShadow"
1613
- }
1614
- ) })
1615
- ] });
1616
- };
1617
- const NotFoundPage$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1618
- __proto__: null,
1619
- NotFoundPage
1620
- }, Symbol.toStringTag, { value: "Module" }));
1621
- const options = [
1622
- {
1623
- intlLabel: {
1624
- id: "Usecase.front-end",
1625
- defaultMessage: "Front-end developer"
1626
- },
1627
- value: "front_end_developer"
1628
- },
1629
- {
1630
- intlLabel: {
1631
- id: "Usecase.back-end",
1632
- defaultMessage: "Back-end developer"
1633
- },
1634
- value: "back_end_developer"
1635
- },
1636
- {
1637
- intlLabel: {
1638
- id: "Usecase.full-stack",
1639
- defaultMessage: "Full-stack developer"
1640
- },
1641
- value: "full_stack_developer"
1642
- },
1643
- {
1644
- intlLabel: {
1645
- id: "global.content-manager",
1646
- defaultMessage: "Content Manager"
1647
- },
1648
- value: "content_manager"
1649
- },
1650
- {
1651
- intlLabel: {
1652
- id: "Usecase.content-creator",
1653
- defaultMessage: "Content Creator"
1654
- },
1655
- value: "content_creator"
1656
- },
1657
- {
1658
- intlLabel: {
1659
- id: "Usecase.other",
1660
- defaultMessage: "Other"
1661
- },
1662
- value: "other"
1663
- }
1664
- ];
1665
- const TypographyCenter = styled(Typography)`
1666
- text-align: center;
1667
- `;
1668
- const UseCasePage = () => {
1669
- const toggleNotification = useNotification();
1670
- const { push, location } = useHistory();
1671
- const { formatMessage } = useIntl();
1672
- const [role, setRole] = React.useState(null);
1673
- const [otherRole, setOtherRole] = React.useState("");
1674
- const { post } = useFetchClient();
1675
- const { firstname, email } = auth.get("userInfo") ?? {};
1676
- const { hasAdmin } = parse(location?.search, { ignoreQueryPrefix: true });
1677
- const isOther = role === "other";
1678
- const handleSubmit = async (event, skipPersona) => {
1679
- event.preventDefault();
1680
- try {
1681
- await post("https://analytics.strapi.io/register", {
1682
- email,
1683
- username: firstname,
1684
- firstAdmin: Boolean(!hasAdmin),
1685
- persona: {
1686
- role: skipPersona ? void 0 : role,
1687
- otherRole: skipPersona ? void 0 : otherRole
1688
- }
1689
- });
1690
- toggleNotification({
1691
- type: "success",
1692
- message: {
1693
- id: "Usecase.notification.success.project-created",
1694
- defaultMessage: "Project has been successfully created"
1695
- }
1696
- });
1697
- push("/");
1698
- } catch (err) {
1699
- }
1700
- };
1701
- return /* @__PURE__ */ jsx(UnauthenticatedLayout, { children: /* @__PURE__ */ jsxs(Main, { labelledBy: "usecase-title", children: [
1702
- /* @__PURE__ */ jsx(LayoutContent, { children: /* @__PURE__ */ jsxs("form", { onSubmit: (e) => handleSubmit(e, false), children: [
1703
- /* @__PURE__ */ jsxs(Flex, { direction: "column", paddingBottom: 7, children: [
1704
- /* @__PURE__ */ jsx(Logo, {}),
1705
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, paddingBottom: 1, width: pxToRem(250), children: /* @__PURE__ */ jsx(TypographyCenter, { variant: "alpha", as: "h1", id: "usecase-title", children: formatMessage({
1706
- id: "Usecase.title",
1707
- defaultMessage: "Tell us a bit more about yourself"
1708
- }) }) })
1709
- ] }),
1710
- /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
1711
- /* @__PURE__ */ jsx(
1712
- Select,
1713
- {
1714
- id: "usecase",
1715
- "data-testid": "usecase",
1716
- label: formatMessage({
1717
- id: "Usecase.input.work-type",
1718
- defaultMessage: "What type of work do you do?"
1719
- }),
1720
- onChange: (value) => setRole(value),
1721
- value: role,
1722
- children: options.map(({ intlLabel, value }) => /* @__PURE__ */ jsx(Option, { value, children: formatMessage(intlLabel) }, value))
1723
- }
1724
- ),
1725
- isOther && /* @__PURE__ */ jsx(
1726
- TextInput,
1727
- {
1728
- name: "other",
1729
- label: formatMessage({ id: "Usecase.other", defaultMessage: "Other" }),
1730
- value: otherRole,
1731
- onChange: (e) => setOtherRole(e.target.value),
1732
- "data-testid": "other"
1733
- }
1734
- ),
1735
- /* @__PURE__ */ jsx(Button, { type: "submit", size: "L", fullWidth: true, disabled: !role, children: formatMessage({ id: "global.finish", defaultMessage: "Finish" }) })
1736
- ] })
1737
- ] }) }),
1738
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsx(TextButton, { onClick: (event) => handleSubmit(event, true), children: formatMessage({
1739
- id: "Usecase.button.skip",
1740
- defaultMessage: "Skip this question"
1741
- }) }) }) })
1742
- ] }) });
1743
- };
1744
- const LazyCompo = ({ loadComponent }) => {
1745
- const [Compo, setCompo] = React.useState(null);
1746
- React.useEffect(() => {
1747
- const loadCompo = async () => {
1748
- try {
1749
- const loadedCompo = await loadComponent();
1750
- if (typeof loadedCompo === "function") {
1751
- setCompo(() => loadedCompo);
1752
- } else if (loadedCompo.default) {
1753
- setCompo(() => loadedCompo.default);
1754
- }
1755
- } catch (err) {
1756
- }
1757
- };
1758
- loadCompo();
1759
- }, [loadComponent]);
1760
- if (Compo) {
1761
- return /* @__PURE__ */ jsx(Compo, {});
1762
- }
1763
- return /* @__PURE__ */ jsx(LoadingIndicatorPage, {});
1764
- };
1765
- const createRoute = (loadComponent, to, exact = false) => {
1766
- return /* @__PURE__ */ jsx(
1767
- Route,
1768
- {
1769
- render: () => /* @__PURE__ */ jsx(LazyCompo, { loadComponent }),
1770
- path: to,
1771
- exact: exact || false
1772
- },
1773
- to
1774
- );
1775
- };
1776
- const ROUTES_CE = null;
1777
- const AuthenticatedApp = React.lazy(
1778
- () => import("./AuthenticatedApp-722b2e84.mjs").then((n) => n.A).then((mod) => ({ default: mod.AuthenticatedApp }))
1779
- );
1780
- const App = () => {
1781
- const adminPermissions = useEnterprise(
1782
- ADMIN_PERMISSIONS_CE,
1783
- async () => (await import("./constants-6ecddc43.mjs")).ADMIN_PERMISSIONS_EE,
1784
- {
1785
- combine(cePermissions, eePermissions) {
1786
- return merge({}, cePermissions, eePermissions);
1787
- },
1788
- defaultValue: ADMIN_PERMISSIONS_CE
1789
- }
1790
- );
1791
- const routes = useEnterprise(
1792
- ROUTES_CE,
1793
- async () => (await import("./constants-6ecddc43.mjs")).ROUTES_EE,
1794
- {
1795
- defaultValue: []
1796
- }
1797
- );
1798
- const toggleNotification = useNotification();
1799
- const { updateProjectSettings } = useConfiguration();
1800
- const { formatMessage } = useIntl();
1801
- const [{ isLoading, hasAdmin, uuid, deviceId }, setState] = React.useState({
1802
- isLoading: true,
1803
- deviceId: void 0,
1804
- hasAdmin: false,
1805
- uuid: false
1806
- });
1807
- const dispatch = useDispatch();
1808
- const appInfo = useAppInfo();
1809
- const { get: get2, post } = useFetchClient();
1810
- const authRoutes = React.useMemo(() => {
1811
- if (!routes) {
1812
- return null;
1813
- }
1814
- return routes.map(({ to, Component, exact }) => createRoute(Component, to, exact));
1815
- }, [routes]);
1816
- const [telemetryProperties, setTelemetryProperties] = React.useState(void 0);
1817
- React.useEffect(() => {
1818
- dispatch({ type: ACTION_SET_ADMIN_PERMISSIONS, payload: adminPermissions });
1819
- }, [adminPermissions, dispatch]);
1820
- React.useEffect(() => {
1821
- const currentToken = auth.getToken();
1822
- const renewToken = async () => {
1823
- try {
1824
- const {
1825
- data: {
1826
- data: { token }
1827
- }
1828
- } = await post("/admin/renew-token", { token: currentToken });
1829
- auth.updateToken(token);
1830
- } catch (err) {
1831
- auth.clearAppStorage();
1832
- window.location.reload();
1833
- }
1834
- };
1835
- if (currentToken) {
1836
- renewToken();
1837
- }
1838
- }, [post]);
1839
- React.useEffect(() => {
1840
- const getData = async () => {
1841
- try {
1842
- const {
1843
- data: {
1844
- data: { hasAdmin: hasAdmin2, uuid: uuid2, menuLogo, authLogo }
1845
- }
1846
- } = await get2(`/admin/init`);
1847
- updateProjectSettings({
1848
- menuLogo: prefixFileUrlWithBackendUrl(menuLogo),
1849
- authLogo: prefixFileUrlWithBackendUrl(authLogo)
1850
- });
1851
- if (uuid2) {
1852
- const {
1853
- data: { data: properties }
1854
- } = await get2(`/admin/telemetry-properties`, {
1855
- // 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.
1856
- validateStatus: (status) => status < 500
1857
- });
1858
- setTelemetryProperties(properties);
1859
- try {
1860
- const event = "didInitializeAdministration";
1861
- await post(
1862
- "https://analytics.strapi.io/api/v2/track",
1863
- {
1864
- // This event is anonymous
1865
- event,
1866
- userId: "",
1867
- deviceId,
1868
- eventPropeties: {},
1869
- userProperties: { environment: appInfo.currentEnvironment },
1870
- groupProperties: { ...properties, projectId: uuid2 }
1871
- },
1872
- {
1873
- headers: {
1874
- "X-Strapi-Event": event
1875
- }
1876
- }
1877
- );
1878
- } catch (e) {
1879
- }
1880
- }
1881
- setState({ isLoading: false, hasAdmin: hasAdmin2, uuid: uuid2, deviceId });
1882
- } catch (err) {
1883
- toggleNotification({
1884
- type: "warning",
1885
- message: { id: "app.containers.App.notification.error.init" }
1886
- });
1887
- }
1888
- };
1889
- getData();
1890
- }, [toggleNotification, updateProjectSettings]);
1891
- const trackingInfo = React.useMemo(
1892
- () => ({
1893
- uuid,
1894
- telemetryProperties,
1895
- deviceId
1896
- }),
1897
- [uuid, telemetryProperties, deviceId]
1898
- );
1899
- if (isLoading) {
1900
- return /* @__PURE__ */ jsx(LoadingIndicatorPage, {});
1901
- }
1902
- return /* @__PURE__ */ jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsx(LoadingIndicatorPage, {}), children: [
1903
- /* @__PURE__ */ jsx(SkipToContent, { children: formatMessage({ id: "skipToContent", defaultMessage: "Skip to content" }) }),
1904
- /* @__PURE__ */ jsx(TrackingProvider, { value: trackingInfo, children: /* @__PURE__ */ jsxs(Switch, { children: [
1905
- authRoutes,
1906
- /* @__PURE__ */ jsx(
1907
- Route,
1908
- {
1909
- path: "/auth/:authType",
1910
- render: (routerProps) => /* @__PURE__ */ jsx(AuthPage, { ...routerProps, hasAdmin }),
1911
- exact: true
1912
- }
1913
- ),
1914
- /* @__PURE__ */ jsx(PrivateRoute, { path: "/usecase", component: UseCasePage }),
1915
- /* @__PURE__ */ jsx(PrivateRoute, { path: "/", component: AuthenticatedApp }),
1916
- /* @__PURE__ */ jsx(Route, { path: "", component: NotFoundPage })
1917
- ] }) })
1918
- ] });
1919
- };
1920
- const StrapiLogo = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAwIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDgwMCA4MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzkgMjgyYzAtMTE4IDAtMTc2LjkgMzYuNi0yMTMuNUMxMTIuMiAzMiAxNzEuMSAzMiAyODguOSAzMmgyMjEuMmMxMTcuOCAwIDE3Ni43IDAgMjEzLjMgMzYuNkM3NjAgMTA1LjIgNzYwIDE2NC4xIDc2MCAyODEuOXYyMjEuMmMwIDExNy44IDAgMTc2LjctMzYuNiAyMTMuM0M2ODYuOCA3NTMgNjI3LjkgNzUzIDUxMC4xIDc1M0gyODguOWMtMTE3LjggMC0xNzYuNyAwLTIxMy4zLTM2LjZDMzkgNjc5LjggMzkgNjIwLjkgMzkgNTAzLjFWMjgxLjlaIiBmaWxsPSIjNDk0NUZGIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUzNi40IDI1MC43SDI5My43djEyMy44aDEyMy44djEyMy43aDEyMy44VjI1NS41YzAtMi42LTIuMi00LjgtNC45LTQuOFoiIGZpbGw9IiNmZmYiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik00MTIuNyAzNzQuNWg0Ljh2NC44aC00Ljh6Ii8+CiAgICA8cGF0aCBkPSJNMjkzLjggMzc0LjVoMTE5YzIuNiAwIDQuOCAyLjEgNC44IDQuOHYxMTloLTExOWE0LjggNC44IDAgMCAxLTQuOC00Ljl2LTExOVoiIGZpbGw9IiM5NTkzRkYiLz4KICAgIDxwYXRoIGQ9Ik00MTcuNSA0OTguMmgxMjMuOEw0MjEuNiA2MThhMi40IDIuNCAwIDAgMS00LTEuN3YtMTE4Wk0yOTMuOCAzNzQuNWgtMTE4YTIuNCAyLjQgMCAwIDEtMS43LTQuMWwxMTkuNy0xMTkuN3YxMjMuOFoiIGZpbGw9IiM5NTkzRkYiLz4KPC9zdmc+Cg==";
1921
- const [AdminContextProvider, useAdminContext] = createContext("AdminContext");
1922
- const useAdmin = () => useAdminContext("useAdmin");
1923
- const ConfigurationProvider = ({
1924
- children,
1925
- authLogo: defaultAuthLogo,
1926
- menuLogo: defaultMenuLogo,
1927
- showReleaseNotification = false,
1928
- showTutorials = false
1929
- }) => {
1930
- const [{ menuLogo, authLogo }, setLogos] = React.useState({
1931
- menuLogo: null,
1932
- authLogo: null
1933
- });
1934
- const updateProjectSettings = React.useCallback(
1935
- ({ menuLogo: menuLogo2, authLogo: authLogo2 }) => {
1936
- setLogos({
1937
- menuLogo: menuLogo2 || defaultMenuLogo,
1938
- authLogo: authLogo2 || defaultAuthLogo
1939
- });
1940
- },
1941
- [defaultAuthLogo, defaultMenuLogo]
1942
- );
1943
- return /* @__PURE__ */ jsx(
1944
- ConfigurationContextProvider,
1945
- {
1946
- updateProjectSettings,
1947
- showReleaseNotification,
1948
- showTutorials,
1949
- logos: {
1950
- menu: { custom: menuLogo, default: defaultMenuLogo },
1951
- auth: { custom: authLogo, default: defaultAuthLogo }
1952
- },
1953
- children
1954
- }
1955
- );
1956
- };
1957
- const GuidedTourProvider = ({ children }) => {
1958
- const [{ currentStep, guidedTourState, isGuidedTourVisible, isSkipped }, dispatch] = React.useReducer(reducer$1, initialState$6, initialiseState);
1959
- const setCurrentStep = (step) => {
1960
- if (step !== null) {
1961
- const isStepAlreadyDone = get(guidedTourState, step);
1962
- const [sectionName, stepName] = step.split(".");
1963
- const sectionArray = Object.entries(guidedTourState[sectionName]);
1964
- const currentStepIndex = sectionArray.findIndex(([key]) => key === stepName);
1965
- const previousSteps = sectionArray.slice(0, currentStepIndex);
1966
- const isStepToShow = previousSteps.every(([, sectionValue]) => sectionValue);
1967
- if (isStepAlreadyDone || isSkipped || !isStepToShow) {
1968
- return null;
1969
- }
1970
- }
1971
- auth.set(null, "GUIDED_TOUR_CURRENT_STEP", true);
1972
- return dispatch({
1973
- type: "SET_CURRENT_STEP",
1974
- step
1975
- });
1976
- };
1977
- const setGuidedTourVisibility = (value) => {
1978
- dispatch({
1979
- type: "SET_GUIDED_TOUR_VISIBILITY",
1980
- value
1981
- });
1982
- };
1983
- const setStepState = (currentStep2, value) => {
1984
- addCompletedStep(currentStep2);
1985
- dispatch({
1986
- type: "SET_STEP_STATE",
1987
- currentStep: currentStep2,
1988
- value
1989
- });
1990
- };
1991
- const startSection = (sectionName) => {
1992
- const sectionSteps = guidedTourState[sectionName];
1993
- if (sectionSteps) {
1994
- const guidedTourArray = Object.entries(guidedTourState);
1995
- const currentSectionIndex = guidedTourArray.findIndex(([key]) => key === sectionName);
1996
- const previousSections = guidedTourArray.slice(0, currentSectionIndex);
1997
- const isSectionToShow = previousSections.every(
1998
- ([, sectionValue]) => Object.values(sectionValue).every(Boolean)
1999
- );
2000
- const [firstStep] = Object.keys(sectionSteps);
2001
- const isFirstStepDone = sectionSteps[firstStep];
2002
- if (isSectionToShow && !currentStep && !isFirstStepDone) {
2003
- setCurrentStep(`${sectionName}.${firstStep}`);
2004
- }
2005
- }
2006
- };
2007
- const setSkipped = (value) => {
2008
- auth.set(value, "GUIDED_TOUR_SKIPPED", true);
2009
- dispatch({
2010
- type: "SET_SKIPPED",
2011
- value
2012
- });
2013
- };
2014
- return /* @__PURE__ */ jsx(
2015
- GuidedTourProvider$1,
2016
- {
2017
- guidedTourState,
2018
- currentStep,
2019
- setCurrentStep,
2020
- setGuidedTourVisibility,
2021
- setSkipped,
2022
- setStepState,
2023
- startSection,
2024
- isGuidedTourVisible,
2025
- isSkipped,
2026
- children
2027
- }
2028
- );
2029
- };
2030
- const initialState$6 = {
2031
- currentStep: null,
2032
- guidedTourState: {
2033
- contentTypeBuilder: {
2034
- create: false,
2035
- success: false
2036
- },
2037
- contentManager: {
2038
- create: false,
2039
- success: false
2040
- },
2041
- apiTokens: {
2042
- create: false,
2043
- success: false
2044
- }
2045
- },
2046
- isGuidedTourVisible: false,
2047
- isSkipped: false
2048
- };
2049
- const reducer$1 = (state = initialState$6, action) => produce(state, (draftState) => {
2050
- switch (action.type) {
2051
- case "SET_CURRENT_STEP": {
2052
- draftState.currentStep = action.step;
2053
- break;
2054
- }
2055
- case "SET_STEP_STATE": {
2056
- const [section, step] = action.currentStep.split(".");
2057
- draftState.guidedTourState[section][step] = action.value;
2058
- break;
2059
- }
2060
- case "SET_SKIPPED": {
2061
- draftState.isSkipped = action.value;
2062
- break;
2063
- }
2064
- case "SET_GUIDED_TOUR_VISIBILITY": {
2065
- draftState.isGuidedTourVisible = action.value;
2066
- break;
2067
- }
2068
- default: {
2069
- return draftState;
2070
- }
2071
- }
2072
- });
2073
- const initialiseState = (initialState2) => {
2074
- const copyInitialState = { ...initialState2 };
2075
- const guidedTourLocaleStorage = auth.get("GUIDED_TOUR_COMPLETED_STEPS");
2076
- const currentStepLocaleStorage = auth.get("GUIDED_TOUR_CURRENT_STEP");
2077
- const skippedLocaleStorage = auth.get("GUIDED_TOUR_SKIPPED");
2078
- if (Array.isArray(guidedTourLocaleStorage)) {
2079
- guidedTourLocaleStorage.forEach((step) => {
2080
- const [sectionName, stepName] = step.split(".");
2081
- set(copyInitialState, ["guidedTourState", sectionName, stepName], true);
2082
- });
2083
- }
2084
- if (currentStepLocaleStorage) {
2085
- const [sectionName, stepName] = currentStepLocaleStorage.split(".");
2086
- set(copyInitialState, ["guidedTourState", sectionName, stepName], true);
2087
- addCompletedStep(currentStepLocaleStorage);
2088
- auth.set(null, "GUIDED_TOUR_CURRENT_STEP", true);
2089
- }
2090
- if (skippedLocaleStorage !== null) {
2091
- set(copyInitialState, "isSkipped", skippedLocaleStorage);
2092
- }
2093
- return copyInitialState;
2094
- };
2095
- const addCompletedStep = (completedStep) => {
2096
- const currentSteps = auth.get("GUIDED_TOUR_COMPLETED_STEPS") ?? [];
2097
- if (!Array.isArray(currentSteps)) {
2098
- return;
2099
- }
2100
- const isAlreadyStored = currentSteps.includes(completedStep);
2101
- if (isAlreadyStored) {
2102
- return;
2103
- }
2104
- auth.set([...currentSteps, completedStep], "GUIDED_TOUR_COMPLETED_STEPS", true);
2105
- };
2106
- const [ThemeToggleContextProvider, useThemeToggleContext] = createContext("ThemeToggleContext");
2107
- const useThemeToggle = () => useThemeToggleContext("useThemeToggle");
2108
- const Theme = ({ children }) => {
2109
- const { currentTheme, themes, systemTheme } = useThemeToggle();
2110
- const { locale } = useIntl();
2111
- const computedThemeName = currentTheme === "system" ? systemTheme : currentTheme;
2112
- return /* @__PURE__ */ jsxs(
2113
- DesignSystemProvider,
2114
- {
2115
- locale,
2116
- theme: themes?.[computedThemeName || "light"],
2117
- children: [
2118
- children,
2119
- /* @__PURE__ */ jsx(GlobalStyle, {})
2120
- ]
2121
- }
2122
- );
2123
- };
2124
- const GlobalStyle = createGlobalStyle`
2125
- body {
2126
- background: ${({ theme }) => theme.colors.neutral100};
2127
- }
2128
- `;
2129
- const THEME_KEY = "STRAPI_THEME";
2130
- const getDefaultTheme = () => {
2131
- const persistedTheme = localStorage.getItem(THEME_KEY);
2132
- return persistedTheme || "system";
2133
- };
2134
- const ThemeToggleProvider = ({ children, themes }) => {
2135
- const [currentTheme, setCurrentTheme] = React.useState(getDefaultTheme());
2136
- const [systemTheme, setSystemTheme] = React.useState();
2137
- const handleChangeTheme = React.useCallback(
2138
- (nextTheme) => {
2139
- setCurrentTheme(nextTheme);
2140
- localStorage.setItem(THEME_KEY, nextTheme);
2141
- },
2142
- [setCurrentTheme]
2143
- );
2144
- React.useEffect(() => {
2145
- const themeWatcher = window.matchMedia("(prefers-color-scheme: dark)");
2146
- setSystemTheme(themeWatcher.matches ? "dark" : "light");
2147
- const listener = (event) => {
2148
- setSystemTheme(event.matches ? "dark" : "light");
2149
- };
2150
- themeWatcher.addEventListener("change", listener);
2151
- return () => {
2152
- themeWatcher.removeEventListener("change", listener);
2153
- };
2154
- }, []);
2155
- return /* @__PURE__ */ jsx(
2156
- ThemeToggleContextProvider,
2157
- {
2158
- currentTheme,
2159
- onChangeTheme: handleChangeTheme,
2160
- themes,
2161
- systemTheme,
2162
- children
2163
- }
2164
- );
2165
- };
2166
- const queryClient = new QueryClient({
2167
- defaultOptions: {
2168
- queries: {
2169
- refetchOnWindowFocus: false
2170
- }
2171
- }
2172
- });
2173
- const Providers = ({
2174
- authLogo,
2175
- children,
2176
- components,
2177
- customFields,
2178
- fields,
2179
- getAdminInjectedComponents,
2180
- getPlugin,
2181
- localeNames,
2182
- menu,
2183
- menuLogo,
2184
- messages,
2185
- plugins,
2186
- runHookParallel,
2187
- runHookSeries,
2188
- runHookWaterfall,
2189
- settings,
2190
- showReleaseNotification,
2191
- showTutorials,
2192
- store,
2193
- themes
2194
- }) => {
2195
- return /* @__PURE__ */ jsx(LanguageProvider, { messages, localeNames, children: /* @__PURE__ */ jsx(ThemeToggleProvider, { themes, children: /* @__PURE__ */ jsx(Theme, { children: /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(Provider, { store, children: /* @__PURE__ */ jsx(AdminContextProvider, { getAdminInjectedComponents, children: /* @__PURE__ */ jsx(
2196
- ConfigurationProvider,
2197
- {
2198
- authLogo,
2199
- menuLogo,
2200
- showReleaseNotification,
2201
- showTutorials,
2202
- children: /* @__PURE__ */ jsx(
2203
- StrapiAppProvider,
2204
- {
2205
- getPlugin,
2206
- menu,
2207
- plugins,
2208
- runHookParallel,
2209
- runHookWaterfall,
2210
- runHookSeries,
2211
- settings,
2212
- children: /* @__PURE__ */ jsx(LibraryProvider, { components, fields, children: /* @__PURE__ */ jsx(CustomFieldsProvider, { customFields, children: /* @__PURE__ */ jsx(AutoReloadOverlayBlockerProvider, { children: /* @__PURE__ */ jsx(OverlayBlockerProvider, { children: /* @__PURE__ */ jsx(GuidedTourProvider, { children: /* @__PURE__ */ jsx(NotificationsProvider, { children }) }) }) }) }) })
2213
- }
2214
- )
2215
- }
2216
- ) }) }) }) }) }) });
2217
- };
2218
- class Components {
2219
- components;
2220
- constructor() {
2221
- this.components = {};
2222
- }
2223
- add(component) {
2224
- const { name, Component } = component;
2225
- invariant(Component, "A Component must be provided");
2226
- invariant(name, "A name must be provided");
2227
- invariant(this.components[name] === void 0, "A similar field already exists");
2228
- this.components[name] = Component;
2229
- }
2230
- }
2231
- const ALLOWED_TYPES = [
2232
- "biginteger",
2233
- "boolean",
2234
- "date",
2235
- "datetime",
2236
- "decimal",
2237
- "email",
2238
- "enumeration",
2239
- "float",
2240
- "integer",
2241
- "json",
2242
- "password",
2243
- "richtext",
2244
- "string",
2245
- "text",
2246
- "time",
2247
- "uid"
2248
- ];
2249
- const ALLOWED_ROOT_LEVEL_OPTIONS = [
2250
- "min",
2251
- "minLength",
2252
- "max",
2253
- "maxLength",
2254
- "required",
2255
- "regex",
2256
- "enum",
2257
- "unique",
2258
- "private",
2259
- "default"
2260
- ];
2261
- class CustomFields {
2262
- customFields;
2263
- constructor() {
2264
- this.customFields = {};
2265
- }
2266
- register(customFields) {
2267
- if (Array.isArray(customFields)) {
2268
- customFields.forEach((customField) => {
2269
- this.register(customField);
2270
- });
2271
- } else {
2272
- const { name, pluginId, type, intlLabel, intlDescription, components, options: options2 } = customFields;
2273
- invariant(name, "A name must be provided");
2274
- invariant(type, "A type must be provided");
2275
- invariant(intlLabel, "An intlLabel must be provided");
2276
- invariant(intlDescription, "An intlDescription must be provided");
2277
- invariant(components, "A components object must be provided");
2278
- invariant(components.Input, "An Input component must be provided");
2279
- invariant(
2280
- ALLOWED_TYPES.includes(type),
2281
- `Custom field type: '${type}' is not a valid Strapi type or it can't be used with a Custom Field`
2282
- );
2283
- const isValidObjectKey = /^(?![0-9])[a-zA-Z0-9$_-]+$/g;
2284
- invariant(
2285
- isValidObjectKey.test(name),
2286
- `Custom field name: '${name}' is not a valid object key`
2287
- );
2288
- const allFormOptions = [...options2?.base || [], ...options2?.advanced || []];
2289
- if (allFormOptions.length) {
2290
- const optionPathValidations = allFormOptions.reduce(optionsValidationReducer, []);
2291
- optionPathValidations.forEach(({ isValidOptionPath, errorMessage }) => {
2292
- invariant(isValidOptionPath, errorMessage);
2293
- });
2294
- }
2295
- const uid = pluginId ? `plugin::${pluginId}.${name}` : `global::${name}`;
2296
- const uidAlreadyUsed = Object.prototype.hasOwnProperty.call(this.customFields, uid);
2297
- invariant(!uidAlreadyUsed, `Custom field: '${uid}' has already been registered`);
2298
- this.customFields[uid] = customFields;
2299
- }
2300
- }
2301
- getAll() {
2302
- return this.customFields;
2303
- }
2304
- get(uid) {
2305
- return this.customFields[uid];
2306
- }
2307
- }
2308
- const optionsValidationReducer = (acc, option) => {
2309
- if ("items" in option) {
2310
- return option.items.reduce(optionsValidationReducer, acc);
2311
- }
2312
- if (!option.name) {
2313
- acc.push({
2314
- isValidOptionPath: false,
2315
- errorMessage: "The 'name' property is required on an options object"
2316
- });
2317
- } else {
2318
- acc.push({
2319
- isValidOptionPath: option.name.startsWith("options") || ALLOWED_ROOT_LEVEL_OPTIONS.includes(option.name),
2320
- errorMessage: `'${option.name}' must be prefixed with 'options.'`
2321
- });
2322
- }
2323
- return acc;
2324
- };
2325
- class Fields {
2326
- fields;
2327
- constructor() {
2328
- this.fields = {};
2329
- }
2330
- add(field) {
2331
- const { type, Component } = field;
2332
- invariant(Component, "A Component must be provided");
2333
- invariant(type, "A type must be provided");
2334
- this.fields[type] = Component;
2335
- }
2336
- }
2337
- class Middlewares {
2338
- middlewares;
2339
- constructor() {
2340
- this.middlewares = [];
2341
- }
2342
- add(middleware) {
2343
- this.middlewares.push(middleware);
2344
- }
2345
- }
2346
- class Plugin {
2347
- apis;
2348
- initializer;
2349
- injectionZones;
2350
- isReady;
2351
- name;
2352
- pluginId;
2353
- constructor(pluginConf) {
2354
- this.apis = pluginConf.apis || {};
2355
- this.initializer = pluginConf.initializer || null;
2356
- this.injectionZones = pluginConf.injectionZones || {};
2357
- this.isReady = pluginConf.isReady !== void 0 ? pluginConf.isReady : true;
2358
- this.name = pluginConf.name;
2359
- this.pluginId = pluginConf.id;
2360
- }
2361
- getInjectedComponents(containerName, blockName) {
2362
- try {
2363
- return this.injectionZones[containerName][blockName] || [];
2364
- } catch (err) {
2365
- console.error("Cannot get injected component", err);
2366
- return [];
2367
- }
2368
- }
2369
- injectComponent(containerName, blockName, component) {
2370
- try {
2371
- this.injectionZones[containerName][blockName].push(component);
2372
- } catch (err) {
2373
- console.error("Cannot inject component", err);
2374
- }
2375
- }
2376
- }
2377
- class Reducers {
2378
- reducers;
2379
- constructor({ appReducers = {} } = {}) {
2380
- this.reducers = { ...appReducers };
2381
- }
2382
- add(reducerName, reducer2) {
2383
- this.reducers[reducerName] = reducer2;
2384
- }
2385
- }
2386
- const useTypedDispatch = useDispatch;
2387
- const useTypedStore = useStore;
2388
- const useTypedSelector = useSelector;
2389
- const createTypedSelector = (selector) => createSelector((state) => state, selector);
2390
- const RBACProvider = ({ children, permissions, refetchPermissions }) => {
2391
- const allPermissions = useTypedSelector((state) => state.rbacProvider.allPermissions);
2392
- const dispatch = useTypedDispatch();
2393
- React.useEffect(() => {
2394
- dispatch(setPermissionsAction(permissions));
2395
- return () => {
2396
- dispatch(resetStoreAction());
2397
- };
2398
- }, [permissions, dispatch]);
2399
- if (!allPermissions) {
2400
- return /* @__PURE__ */ jsx(LoadingIndicatorPage, {});
2401
- }
2402
- return /* @__PURE__ */ jsx(RBACContext.Provider, { value: { allPermissions, refetchPermissions }, children });
2403
- };
2404
- const initialState$5 = {
2405
- allPermissions: null,
2406
- collectionTypesRelatedPermissions: {}
2407
- };
2408
- const RESET_STORE = "StrapiAdmin/RBACProvider/RESET_STORE";
2409
- const SET_PERMISSIONS$1 = "StrapiAdmin/RBACProvider/SET_PERMISSIONS";
2410
- const resetStoreAction = () => ({ type: RESET_STORE });
2411
- const setPermissionsAction = (permissions) => ({
2412
- type: SET_PERMISSIONS$1,
2413
- permissions
2414
- });
2415
- const RBACReducer = (state = initialState$5, action) => produce(state, (draftState) => {
2416
- switch (action.type) {
2417
- case SET_PERMISSIONS$1: {
2418
- draftState.allPermissions = action.permissions;
2419
- draftState.collectionTypesRelatedPermissions = action.permissions.filter((perm) => perm.subject).reduce((acc, current) => {
2420
- const { subject, action: action2 } = current;
2421
- if (!subject)
2422
- return acc;
2423
- if (!acc[subject]) {
2424
- acc[subject] = {};
2425
- }
2426
- acc[subject] = acc[subject][action2] ? { ...acc[subject], [action2]: [...acc[subject][action2], current] } : { ...acc[subject], [action2]: [current] };
2427
- return acc;
2428
- }, {});
2429
- break;
2430
- }
2431
- case RESET_STORE: {
2432
- return initialState$5;
2433
- }
2434
- default:
2435
- return state;
2436
- }
2437
- });
2438
- const SET_PERMISSIONS = "ContentManager/RBACManager/SET_PERMISSIONS";
2439
- const RESET_PERMISSIONS = "ContentManager/RBACManager/RESET_PERMISSIONS";
2440
- const initialState$4 = {
2441
- permissions: null
2442
- };
2443
- const rbacManagerReducer = (state = initialState$4, action) => (
2444
- // eslint-disable-next-line consistent-return
2445
- produce(state, (draftState) => {
2446
- switch (action.type) {
2447
- case SET_PERMISSIONS: {
2448
- draftState.permissions = Object.entries(action.permissions).reduce((acc, current) => {
2449
- return [...acc, ...current[1]];
2450
- }, []);
2451
- break;
2452
- }
2453
- case RESET_PERMISSIONS: {
2454
- draftState.permissions = null;
2455
- break;
2456
- }
2457
- default:
2458
- return draftState;
2459
- }
2460
- })
2461
- );
2462
- const GET_INIT_DATA = "ContentManager/App/GET_INIT_DATA";
2463
- const RESET_INIT_DATA = "ContentManager/App/RESET_INIT_DATA";
2464
- const SET_INIT_DATA = "ContentManager/App/SET_INIT_DATA";
2465
- const initialState$3 = {
2466
- components: [],
2467
- status: "loading",
2468
- models: [],
2469
- collectionTypeLinks: [],
2470
- singleTypeLinks: []
2471
- };
2472
- const mainReducer = (state = initialState$3, action) => produce(state, (draftState) => {
2473
- switch (action.type) {
2474
- case GET_INIT_DATA: {
2475
- draftState.status = "loading";
2476
- break;
2477
- }
2478
- case RESET_INIT_DATA: {
2479
- return initialState$3;
2480
- }
2481
- case SET_INIT_DATA: {
2482
- draftState.collectionTypeLinks = action.data.authorizedCollectionTypeLinks.filter(
2483
- ({ isDisplayed }) => isDisplayed
2484
- );
2485
- draftState.singleTypeLinks = action.data.authorizedSingleTypeLinks.filter(
2486
- ({ isDisplayed }) => isDisplayed
2487
- );
2488
- draftState.components = action.data.components;
2489
- draftState.models = action.data.contentTypeSchemas;
2490
- draftState.fieldSizes = action.data.fieldSizes;
2491
- draftState.status = "resolved";
2492
- break;
2493
- }
2494
- default:
2495
- return draftState;
2496
- }
2497
- });
2498
- const SET_LAYOUT = "ContentManager/EditViewLayoutManager/SET_LAYOUT";
2499
- const RESET_PROPS$2 = "ContentManager/EditViewLayoutManager/RESET_PROPS";
2500
- const initialState$2 = {
2501
- currentLayout: null
2502
- };
2503
- const editViewManagerReducer = (state = initialState$2, action) => (
2504
- // eslint-disable-next-line consistent-return
2505
- produce(state, (draftState) => {
2506
- switch (action.type) {
2507
- case RESET_PROPS$2: {
2508
- draftState.currentLayout = null;
2509
- break;
2510
- }
2511
- case SET_LAYOUT: {
2512
- draftState.currentLayout = action.layout;
2513
- break;
2514
- }
2515
- default:
2516
- return draftState;
2517
- }
2518
- })
2519
- );
2520
- const GET_DATA$1 = "ContentManager/ListView/GET_DATA";
2521
- const GET_DATA_SUCCEEDED$1 = "ContentManager/ListView/GET_DATA_SUCCEEDED";
2522
- const RESET_PROPS$1 = "ContentManager/ListView/RESET_PROPS";
2523
- const ON_CHANGE_LIST_HEADERS = "ContentManager/ListView/ON_CHANGE_LIST_HEADERS ";
2524
- const ON_RESET_LIST_HEADERS = "ContentManager/ListView/ON_RESET_LIST_HEADERS ";
2525
- const SET_LIST_LAYOUT = "ContentManager/ListView/SET_LIST_LAYOUT ";
2526
- const initialState$1 = {
2527
- data: [],
2528
- isLoading: true,
2529
- contentType: {},
2530
- components: [],
2531
- initialDisplayedHeaders: [],
2532
- displayedHeaders: [],
2533
- pagination: {
2534
- total: 0
2535
- }
2536
- };
2537
- const listViewReducer = (state = initialState$1, action) => (
2538
- // eslint-disable-next-line consistent-return
2539
- produce(state, (draftState) => {
2540
- switch (action.type) {
2541
- case GET_DATA$1: {
2542
- return {
2543
- ...initialState$1,
2544
- contentType: state.contentType,
2545
- components: state.components,
2546
- initialDisplayedHeaders: state.initialDisplayedHeaders,
2547
- displayedHeaders: state.displayedHeaders
2548
- };
2549
- }
2550
- case GET_DATA_SUCCEEDED$1: {
2551
- draftState.pagination = action.pagination;
2552
- draftState.data = action.data;
2553
- draftState.isLoading = false;
2554
- break;
2555
- }
2556
- case ON_CHANGE_LIST_HEADERS: {
2557
- const {
2558
- target: { name, value }
2559
- } = action;
2560
- if (!value) {
2561
- const { metadatas, attributes, uid } = state.contentType;
2562
- const metas = metadatas[name].list;
2563
- const header = {
2564
- name,
2565
- fieldSchema: attributes[name],
2566
- metadatas: metas,
2567
- key: `__${name}_key__`
2568
- };
2569
- switch (attributes[name].type) {
2570
- case "component": {
2571
- const componentName = attributes[name].component;
2572
- const mainFieldName = get(
2573
- state,
2574
- ["components", componentName, "settings", "mainField"],
2575
- null
2576
- );
2577
- const mainFieldAttribute = get(state, [
2578
- "components",
2579
- componentName,
2580
- "attributes",
2581
- mainFieldName
2582
- ]);
2583
- draftState.displayedHeaders.push({
2584
- ...header,
2585
- metadatas: {
2586
- ...metas,
2587
- mainField: {
2588
- ...mainFieldAttribute,
2589
- name: mainFieldName
2590
- }
2591
- }
2592
- });
2593
- break;
2594
- }
2595
- case "relation":
2596
- draftState.displayedHeaders.push({
2597
- ...header,
2598
- queryInfos: {
2599
- defaultParams: {},
2600
- endPoint: `collection-types/${uid}`
2601
- }
2602
- });
2603
- break;
2604
- default:
2605
- draftState.displayedHeaders.push(header);
2606
- }
2607
- } else {
2608
- draftState.displayedHeaders = state.displayedHeaders.filter(
2609
- (header) => header.name !== name
2610
- );
2611
- }
2612
- break;
2613
- }
2614
- case ON_RESET_LIST_HEADERS: {
2615
- draftState.displayedHeaders = state.initialDisplayedHeaders;
2616
- break;
2617
- }
2618
- case RESET_PROPS$1: {
2619
- return initialState$1;
2620
- }
2621
- case SET_LIST_LAYOUT: {
2622
- const { contentType, components, displayedHeaders } = action;
2623
- draftState.contentType = contentType;
2624
- draftState.components = components;
2625
- draftState.displayedHeaders = displayedHeaders;
2626
- draftState.initialDisplayedHeaders = displayedHeaders;
2627
- break;
2628
- }
2629
- default:
2630
- return draftState;
2631
- }
2632
- })
2633
- );
2634
- const GET_DATA = "ContentManager/CrudReducer/GET_DATA";
2635
- const GET_DATA_SUCCEEDED = "ContentManager/CrudReducer/GET_DATA_SUCCEEDED";
2636
- const INIT_FORM = "ContentManager/CrudReducer/INIT_FORM";
2637
- const RESET_PROPS = "ContentManager/CrudReducer/RESET_PROPS";
2638
- const SET_DATA_STRUCTURES = "ContentManager/CrudReducer/SET_DATA_STRUCTURES";
2639
- const SET_STATUS = "ContentManager/CrudReducer/SET_STATUS";
2640
- const SUBMIT_SUCCEEDED = "ContentManager/CrudReducer/SUBMIT_SUCCEEDED";
2641
- const CLEAR_SET_MODIFIED_DATA_ONLY = "ContentManager/CrudReducer/CLEAR_SET_MODIFIED_DATA_ONLY";
2642
- const crudInitialState = {
2643
- componentsDataStructure: {},
2644
- contentTypeDataStructure: {},
2645
- isLoading: true,
2646
- data: null,
2647
- status: "resolved",
2648
- setModifiedDataOnly: false
2649
- };
2650
- const crudReducer = (state = crudInitialState, action) => produce(state, (draftState) => {
2651
- switch (action.type) {
2652
- case GET_DATA: {
2653
- draftState.isLoading = true;
2654
- draftState.data = null;
2655
- break;
2656
- }
2657
- case GET_DATA_SUCCEEDED: {
2658
- draftState.isLoading = false;
2659
- draftState.data = action.data;
2660
- draftState.setModifiedDataOnly = action.setModifiedDataOnly ?? false;
2661
- break;
2662
- }
2663
- case INIT_FORM: {
2664
- if (action.data) {
2665
- draftState.isLoading = false;
2666
- draftState.data = action.data;
2667
- break;
2668
- }
2669
- draftState.isLoading = false;
2670
- draftState.data = state.contentTypeDataStructure;
2671
- break;
2672
- }
2673
- case RESET_PROPS: {
2674
- return crudInitialState;
2675
- }
2676
- case SET_DATA_STRUCTURES: {
2677
- draftState.componentsDataStructure = action.componentsDataStructure;
2678
- draftState.contentTypeDataStructure = action.contentTypeDataStructure;
2679
- break;
2680
- }
2681
- case SET_STATUS: {
2682
- draftState.status = action.status;
2683
- break;
2684
- }
2685
- case SUBMIT_SUCCEEDED: {
2686
- draftState.data = action.data;
2687
- break;
2688
- }
2689
- case CLEAR_SET_MODIFIED_DATA_ONLY: {
2690
- draftState.setModifiedDataOnly = false;
2691
- break;
2692
- }
2693
- default:
2694
- return draftState;
2695
- }
2696
- });
2697
- const initialState = {
2698
- permissions: {},
2699
- status: "init"
2700
- };
2701
- const reducer = (state = initialState, action) => (
2702
- /* eslint-disable-next-line consistent-return */
2703
- produce(state, (draftState) => {
2704
- switch (action.type) {
2705
- case ACTION_SET_APP_RUNTIME_STATUS: {
2706
- draftState.status = "runtime";
2707
- break;
2708
- }
2709
- case ACTION_SET_ADMIN_PERMISSIONS: {
2710
- draftState.permissions = action.payload;
2711
- break;
2712
- }
2713
- default:
2714
- return draftState;
2715
- }
2716
- })
2717
- );
2718
- const staticReducers = {
2719
- admin_app: reducer,
2720
- rbacProvider: RBACReducer,
2721
- "content-manager_app": mainReducer,
2722
- "content-manager_listView": listViewReducer,
2723
- "content-manager_rbacManager": rbacManagerReducer,
2724
- "content-manager_editViewLayoutManager": editViewManagerReducer,
2725
- "content-manager_editViewCrudReducer": crudReducer
2726
- };
2727
- const injectReducerStoreEnhancer = (appReducers) => (next) => (...args) => {
2728
- const store = next(...args);
2729
- const asyncReducers = {};
2730
- return {
2731
- ...store,
2732
- asyncReducers,
2733
- injectReducer: (key, asyncReducer) => {
2734
- asyncReducers[key] = asyncReducer;
2735
- store.replaceReducer(
2736
- // @ts-expect-error we dynamically add reducers which makes the types uncomfortable.
2737
- combineReducers({
2738
- ...appReducers,
2739
- ...asyncReducers
2740
- })
2741
- );
2742
- }
2743
- };
2744
- };
2745
- const configureStoreImpl = (appMiddlewares = [], injectedReducers = {}) => {
2746
- const coreReducers = { ...staticReducers, ...injectedReducers };
2747
- const store = configureStore({
2748
- reducer: coreReducers,
2749
- devTools: process.env.NODE_ENV !== "production",
2750
- middleware: (getDefaultMiddleware) => [
2751
- ...getDefaultMiddleware(),
2752
- ...appMiddlewares.map((m) => m())
2753
- ],
2754
- enhancers: [injectReducerStoreEnhancer(coreReducers)]
2755
- });
2756
- return store;
2757
- };
2758
- const getBasename = () => (process.env.ADMIN_PATH ?? "").replace(window.location.origin, "");
2759
- const createHook = () => {
2760
- const _handlers = [];
2761
- return {
2762
- register(fn) {
2763
- _handlers.push(fn);
2764
- },
2765
- delete(handler) {
2766
- _handlers.splice(_handlers.indexOf(handler), 1);
2767
- },
2768
- runWaterfall(args, store) {
2769
- return _handlers.reduce((acc, fn) => fn(acc, store), args);
2770
- },
2771
- async runWaterfallAsync(args, store) {
2772
- let result = args;
2773
- for (const fn of _handlers) {
2774
- result = await fn(result, store);
2775
- }
2776
- return result;
2777
- },
2778
- runSeries(...args) {
2779
- return _handlers.map((fn) => fn(...args));
2780
- },
2781
- async runSeriesAsync(...args) {
2782
- const result = [];
2783
- for (const fn of _handlers) {
2784
- result.push(await fn(...args));
2785
- }
2786
- return result;
2787
- },
2788
- runParallel(...args) {
2789
- return Promise.all(
2790
- _handlers.map((fn) => {
2791
- return fn(...args);
2792
- })
2793
- );
2794
- }
2795
- };
2796
- };
2797
- const useInjectionZone = (area) => {
2798
- const { getAdminInjectedComponents } = useAdmin();
2799
- const [moduleName, page, position] = area.split(".");
2800
- return getAdminInjectedComponents(moduleName, page, position);
2801
- };
2802
- const INJECTION_ZONES = {
2803
- admin: {
2804
- // Temporary injection zone, support for the react-tour plugin in foodadvisor
2805
- tutorials: {
2806
- links: []
2807
- }
2808
- },
2809
- contentManager: {
2810
- editView: { informations: [], "right-links": [] },
2811
- listView: {
2812
- actions: [],
2813
- deleteModalAdditionalInfos: [],
2814
- publishModalAdditionalInfos: [],
2815
- unpublishModalAdditionalInfos: []
2816
- }
2817
- }
2818
- };
2819
- const InjectionZone = ({ area, ...props }) => {
2820
- const components = useInjectionZone(area);
2821
- return components.map((component) => /* @__PURE__ */ jsx(component.Component, { ...props }, component.name));
2822
- };
2823
- const languageNativeNames = {
2824
- ar: "العربية",
2825
- ca: "Català",
2826
- cs: "Čeština",
2827
- de: "Deutsch",
2828
- dk: "Dansk",
2829
- en: "English",
2830
- es: "Español",
2831
- eu: "Euskara",
2832
- fr: "Français",
2833
- gu: "Gujarati",
2834
- he: "עברית",
2835
- hu: "Magyar",
2836
- id: "Indonesian",
2837
- it: "Italiano",
2838
- ja: "日本語",
2839
- ko: "한국어",
2840
- ml: "Malayalam",
2841
- ms: "Melayu",
2842
- nl: "Nederlands",
2843
- no: "Norwegian",
2844
- pl: "Polski",
2845
- "pt-BR": "Português (Brasil)",
2846
- pt: "Português (Portugal)",
2847
- ru: "Русский",
2848
- sk: "Slovenčina",
2849
- sv: "Swedish",
2850
- th: "ไทย",
2851
- tr: "Türkçe",
2852
- uk: "Українська",
2853
- vi: "Tiếng Việt",
2854
- "zh-Hans": "中文 (简体)",
2855
- zh: "中文 (繁體)",
2856
- sa: "संस्कृत",
2857
- hi: "हिन्दी"
2858
- };
2859
- const {
2860
- INJECT_COLUMN_IN_TABLE,
2861
- MUTATE_COLLECTION_TYPES_LINKS,
2862
- MUTATE_EDIT_VIEW_LAYOUT,
2863
- MUTATE_SINGLE_TYPES_LINKS
2864
- } = HOOKS;
2865
- class StrapiApp {
2866
- admin;
2867
- appPlugins;
2868
- configurations;
2869
- customBootstrapConfiguration;
2870
- customConfigurations;
2871
- customFields;
2872
- hooksDict;
2873
- library;
2874
- menu;
2875
- middlewares;
2876
- plugins;
2877
- reducers;
2878
- settings;
2879
- translations;
2880
- constructor({ adminConfig, appPlugins } = {}) {
2881
- this.customConfigurations = adminConfig?.config ?? {};
2882
- this.customBootstrapConfiguration = adminConfig?.bootstrap;
2883
- this.configurations = {
2884
- authLogo: StrapiLogo,
2885
- head: { favicon: "" },
2886
- locales: ["en"],
2887
- menuLogo: StrapiLogo,
2888
- notifications: { releases: true },
2889
- themes: { light: lightTheme, dark: darkTheme },
2890
- translations: {},
2891
- tutorials: true
2892
- };
2893
- this.appPlugins = appPlugins || {};
2894
- this.library = {
2895
- components: new Components(),
2896
- fields: new Fields()
2897
- };
2898
- this.middlewares = new Middlewares();
2899
- this.plugins = {};
2900
- this.reducers = new Reducers();
2901
- this.translations = {};
2902
- this.hooksDict = {};
2903
- this.admin = {
2904
- injectionZones: INJECTION_ZONES
2905
- };
2906
- this.customFields = new CustomFields();
2907
- this.menu = [];
2908
- this.settings = {
2909
- global: {
2910
- id: "global",
2911
- intlLabel: {
2912
- id: "Settings.global",
2913
- defaultMessage: "Global Settings"
2914
- },
2915
- links: []
2916
- }
2917
- };
2918
- }
2919
- addComponents = (components) => {
2920
- if (Array.isArray(components)) {
2921
- components.map((compo) => this.library.components.add(compo));
2922
- } else {
2923
- this.library.components.add(components);
2924
- }
2925
- };
2926
- addCorePluginMenuLink = (link) => {
2927
- const stringifiedLink = JSON.stringify(link);
2928
- invariant(link.to, `link.to should be defined for ${stringifiedLink}`);
2929
- invariant(
2930
- typeof link.to === "string",
2931
- `Expected link.to to be a string instead received ${typeof link.to}`
2932
- );
2933
- invariant(
2934
- ["/plugins/content-type-builder", "/plugins/upload"].includes(link.to),
2935
- "This method is not available for your plugin"
2936
- );
2937
- invariant(
2938
- link.intlLabel?.id && link.intlLabel?.defaultMessage,
2939
- `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
2940
- );
2941
- this.menu.push(link);
2942
- };
2943
- addFields = (fields) => {
2944
- if (Array.isArray(fields)) {
2945
- fields.map((field) => this.library.fields.add(field));
2946
- } else {
2947
- this.library.fields.add(fields);
2948
- }
2949
- };
2950
- addMenuLink = (link) => {
2951
- const stringifiedLink = JSON.stringify(link);
2952
- invariant(link.to, `link.to should be defined for ${stringifiedLink}`);
2953
- invariant(
2954
- typeof link.to === "string",
2955
- `Expected link.to to be a string instead received ${typeof link.to}`
2956
- );
2957
- invariant(
2958
- link.intlLabel?.id && link.intlLabel?.defaultMessage,
2959
- `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
2960
- );
2961
- invariant(
2962
- link.Component && typeof link.Component === "function",
2963
- `link.Component should be a valid React Component`
2964
- );
2965
- invariant(
2966
- link.icon && typeof link.icon === "function",
2967
- `link.Icon should be a valid React Component`
2968
- );
2969
- this.menu.push(link);
2970
- };
2971
- addMiddlewares = (middlewares) => {
2972
- middlewares.forEach((middleware) => {
2973
- this.middlewares.add(middleware);
2974
- });
2975
- };
2976
- addReducers = (reducers) => {
2977
- Object.keys(reducers).forEach((reducerName) => {
2978
- this.reducers.add(reducerName, reducers[reducerName]);
2979
- });
2980
- };
2981
- addSettingsLink = (sectionId, link) => {
2982
- invariant(this.settings[sectionId], "The section does not exist");
2983
- const stringifiedLink = JSON.stringify(link);
2984
- invariant(link.id, `link.id should be defined for ${stringifiedLink}`);
2985
- invariant(
2986
- link.intlLabel?.id && link.intlLabel?.defaultMessage,
2987
- `link.intlLabel.id & link.intlLabel.defaultMessage for ${stringifiedLink}`
2988
- );
2989
- invariant(link.to, `link.to should be defined for ${stringifiedLink}`);
2990
- invariant(
2991
- link.Component && typeof link.Component === "function",
2992
- `link.Component should be a valid React Component`
2993
- );
2994
- this.settings[sectionId].links.push(link);
2995
- };
2996
- addSettingsLinks = (sectionId, links) => {
2997
- invariant(this.settings[sectionId], "The section does not exist");
2998
- invariant(Array.isArray(links), "TypeError expected links to be an array");
2999
- links.forEach((link) => {
3000
- this.addSettingsLink(sectionId, link);
3001
- });
3002
- };
3003
- async bootstrap() {
3004
- Object.keys(this.appPlugins).forEach((plugin) => {
3005
- const bootstrap = this.appPlugins[plugin].bootstrap;
3006
- if (bootstrap) {
3007
- bootstrap({
3008
- addSettingsLink: this.addSettingsLink,
3009
- addSettingsLinks: this.addSettingsLinks,
3010
- getPlugin: this.getPlugin,
3011
- injectContentManagerComponent: this.injectContentManagerComponent,
3012
- injectAdminComponent: this.injectAdminComponent,
3013
- registerHook: this.registerHook
3014
- });
3015
- }
3016
- });
3017
- if (isFunction(this.customBootstrapConfiguration)) {
3018
- this.customBootstrapConfiguration({
3019
- addComponents: this.addComponents,
3020
- addFields: this.addFields,
3021
- addMenuLink: this.addMenuLink,
3022
- addReducers: this.addReducers,
3023
- addSettingsLink: this.addSettingsLink,
3024
- addSettingsLinks: this.addSettingsLinks,
3025
- getPlugin: this.getPlugin,
3026
- injectContentManagerComponent: this.injectContentManagerComponent,
3027
- injectAdminComponent: this.injectAdminComponent,
3028
- registerHook: this.registerHook
3029
- });
3030
- }
3031
- }
3032
- bootstrapAdmin = async () => {
3033
- await this.createCustomConfigurations();
3034
- this.createHook(INJECT_COLUMN_IN_TABLE);
3035
- this.createHook(MUTATE_COLLECTION_TYPES_LINKS);
3036
- this.createHook(MUTATE_SINGLE_TYPES_LINKS);
3037
- this.createHook(MUTATE_EDIT_VIEW_LAYOUT);
3038
- return Promise.resolve();
3039
- };
3040
- createCustomConfigurations = async () => {
3041
- if (this.customConfigurations?.locales) {
3042
- this.configurations.locales = [
3043
- "en",
3044
- ...this.customConfigurations.locales?.filter((loc) => loc !== "en") || []
3045
- ];
3046
- }
3047
- if (this.customConfigurations?.auth?.logo) {
3048
- this.configurations.authLogo = this.customConfigurations.auth.logo;
3049
- }
3050
- if (this.customConfigurations?.menu?.logo) {
3051
- this.configurations.menuLogo = this.customConfigurations.menu.logo;
3052
- }
3053
- if (this.customConfigurations?.head?.favicon) {
3054
- this.configurations.head.favicon = this.customConfigurations.head.favicon;
3055
- }
3056
- if (this.customConfigurations?.theme) {
3057
- const darkTheme2 = this.customConfigurations.theme.dark;
3058
- const lightTheme2 = this.customConfigurations.theme.light;
3059
- if (!darkTheme2 && !lightTheme2) {
3060
- console.warn(
3061
- `[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.`
3062
- );
3063
- merge(this.configurations.themes.light, this.customConfigurations.theme);
3064
- }
3065
- if (lightTheme2)
3066
- merge(this.configurations.themes.light, lightTheme2);
3067
- if (darkTheme2)
3068
- merge(this.configurations.themes.dark, darkTheme2);
3069
- }
3070
- if (this.customConfigurations?.notifications?.releases !== void 0) {
3071
- this.configurations.notifications.releases = this.customConfigurations.notifications.releases;
3072
- }
3073
- if (this.customConfigurations?.tutorials !== void 0) {
3074
- this.configurations.tutorials = this.customConfigurations.tutorials;
3075
- }
3076
- };
3077
- createHook = (name) => {
3078
- this.hooksDict[name] = createHook();
3079
- };
3080
- createSettingSection = (section, links) => {
3081
- invariant(section.id, "section.id should be defined");
3082
- invariant(
3083
- section.intlLabel?.id && section.intlLabel?.defaultMessage,
3084
- "section.intlLabel should be defined"
3085
- );
3086
- invariant(Array.isArray(links), "TypeError expected links to be an array");
3087
- invariant(this.settings[section.id] === void 0, "A similar section already exists");
3088
- this.settings[section.id] = { ...section, links: [] };
3089
- links.forEach((link) => {
3090
- this.addSettingsLink(section.id, link);
3091
- });
3092
- };
3093
- createStore = () => {
3094
- const store = configureStoreImpl(this.middlewares.middlewares, this.reducers.reducers);
3095
- return store;
3096
- };
3097
- getAdminInjectedComponents = (moduleName, containerName, blockName) => {
3098
- try {
3099
- return this.admin.injectionZones[moduleName][containerName][blockName] || [];
3100
- } catch (err) {
3101
- console.error("Cannot get injected component", err);
3102
- return [];
3103
- }
3104
- };
3105
- getPlugin = (pluginId) => {
3106
- return this.plugins[pluginId];
3107
- };
3108
- async initialize() {
3109
- Object.keys(this.appPlugins).forEach((plugin) => {
3110
- this.appPlugins[plugin].register(this);
3111
- });
3112
- }
3113
- injectContentManagerComponent = (containerName, blockName, component) => {
3114
- invariant(
3115
- this.admin.injectionZones.contentManager[containerName]?.[blockName],
3116
- `The ${containerName} ${String(blockName)} zone is not defined in the content manager`
3117
- );
3118
- invariant(component, "A Component must be provided");
3119
- this.admin.injectionZones.contentManager[containerName][blockName].push(component);
3120
- };
3121
- injectAdminComponent = (containerName, blockName, component) => {
3122
- invariant(
3123
- this.admin.injectionZones.admin[containerName]?.[blockName],
3124
- `The ${containerName} ${String(blockName)} zone is not defined in the admin`
3125
- );
3126
- invariant(component, "A Component must be provided");
3127
- this.admin.injectionZones.admin[containerName][blockName].push(component);
3128
- };
3129
- /**
3130
- * Load the admin translations
3131
- * @returns {Object} The imported admin translations
3132
- */
3133
- async loadAdminTrads() {
3134
- const arrayOfPromises = this.configurations.locales.map((locale) => {
3135
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-62e5e2b3.mjs"), "./translations/ca.json": () => import("./ca-e99de225.mjs"), "./translations/cs.json": () => import("./cs-2fa881a2.mjs"), "./translations/de.json": () => import("./de-28f8bc28.mjs"), "./translations/dk.json": () => import("./dk-0b759a56.mjs"), "./translations/en.json": () => import("./en-e728accb.mjs"), "./translations/es.json": () => import("./es-18b29db2.mjs"), "./translations/eu.json": () => import("./eu-8fd773c2.mjs"), "./translations/fr.json": () => import("./fr-f37df086.mjs"), "./translations/gu.json": () => import("./gu-69f0e13a.mjs"), "./translations/he.json": () => import("./he-bd769d7e.mjs"), "./translations/hi.json": () => import("./hi-d397a24b.mjs"), "./translations/hu.json": () => import("./hu-eb88bd0c.mjs"), "./translations/id.json": () => import("./id-f47699e6.mjs"), "./translations/it.json": () => import("./it-4006227c.mjs"), "./translations/ja.json": () => import("./ja-db43ca3d.mjs"), "./translations/ko.json": () => import("./ko-a7826e25.mjs"), "./translations/ml.json": () => import("./ml-90131768.mjs"), "./translations/ms.json": () => import("./ms-f4f16a83.mjs"), "./translations/nl.json": () => import("./nl-887ce2c3.mjs"), "./translations/no.json": () => import("./no-f0b02541.mjs"), "./translations/pl.json": () => import("./pl-9ccd35d9.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-fd73cb13.mjs"), "./translations/pt.json": () => import("./pt-8acb6ac1.mjs"), "./translations/ru.json": () => import("./ru-9aad40c5.mjs"), "./translations/sa.json": () => import("./sa-6bf4c20e.mjs"), "./translations/sk.json": () => import("./sk-58d31b17.mjs"), "./translations/sv.json": () => import("./sv-d80ad633.mjs"), "./translations/th.json": () => import("./th-e72c6a22.mjs"), "./translations/tr.json": () => import("./tr-e35ecfe8.mjs"), "./translations/uk.json": () => import("./uk-de367ec1.mjs"), "./translations/vi.json": () => import("./vi-096bccbb.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-ccf4be4b.mjs"), "./translations/zh.json": () => import("./zh-ba29b2e1.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
3136
- return { data, locale };
3137
- }).catch(() => {
3138
- return { data: null, locale };
3139
- });
3140
- });
3141
- const adminLocales = await Promise.all(arrayOfPromises);
3142
- const translations = adminLocales.reduce(
3143
- (acc, current) => {
3144
- if (current.data) {
3145
- acc[current.locale] = current.data;
3146
- }
3147
- return acc;
3148
- },
3149
- {}
3150
- );
3151
- return translations;
3152
- }
3153
- /**
3154
- * Load the application's translations and merged the custom translations
3155
- * with the default ones.
3156
- *
3157
- */
3158
- async loadTrads() {
3159
- const adminTranslations = await this.loadAdminTrads();
3160
- const arrayOfPromises = Object.keys(this.appPlugins).map((plugin) => {
3161
- const registerTrads = this.appPlugins[plugin].registerTrads;
3162
- if (registerTrads) {
3163
- return registerTrads({ locales: this.configurations.locales });
3164
- }
3165
- return null;
3166
- }).filter((a) => a);
3167
- const pluginsTrads = await Promise.all(arrayOfPromises);
3168
- const mergedTrads = pluginsTrads.reduce(
3169
- (acc, currentPluginTrads) => {
3170
- const pluginTrads = currentPluginTrads.reduce(
3171
- (acc1, current) => {
3172
- acc1[current.locale] = current.data;
3173
- return acc1;
3174
- },
3175
- {}
3176
- );
3177
- Object.keys(pluginTrads).forEach((locale) => {
3178
- acc[locale] = { ...acc[locale], ...pluginTrads[locale] };
3179
- });
3180
- return acc;
3181
- },
3182
- {}
3183
- );
3184
- const translations = this.configurations.locales.reduce((acc, current) => {
3185
- acc[current] = {
3186
- ...adminTranslations[current],
3187
- ...mergedTrads[current] || {},
3188
- ...this.customConfigurations?.translations?.[current] ?? {}
3189
- };
3190
- return acc;
3191
- }, {});
3192
- this.configurations.translations = translations;
3193
- return Promise.resolve();
3194
- }
3195
- registerHook = (name, fn) => {
3196
- invariant(
3197
- this.hooksDict[name],
3198
- `The hook ${name} is not defined. You are trying to register a hook that does not exist in the application.`
3199
- );
3200
- this.hooksDict[name].register(fn);
3201
- };
3202
- registerPlugin = (pluginConf) => {
3203
- const plugin = new Plugin(pluginConf);
3204
- this.plugins[plugin.pluginId] = plugin;
3205
- };
3206
- runHookSeries = (name, asynchronous = false) => asynchronous ? this.hooksDict[name].runSeriesAsync() : this.hooksDict[name].runSeries();
3207
- runHookWaterfall = (name, initialValue, asynchronous = false, store) => {
3208
- return asynchronous ? this.hooksDict[name].runWaterfallAsync(initialValue, store) : this.hooksDict[name].runWaterfall(initialValue, store);
3209
- };
3210
- runHookParallel = (name) => this.hooksDict[name].runParallel();
3211
- render() {
3212
- const store = this.createStore();
3213
- const localeNames = pick(languageNativeNames, this.configurations.locales || []);
3214
- const {
3215
- components: { components },
3216
- fields: { fields }
3217
- } = this.library;
3218
- return /* @__PURE__ */ jsxs(
3219
- Providers,
3220
- {
3221
- authLogo: this.configurations.authLogo,
3222
- components,
3223
- fields,
3224
- customFields: this.customFields,
3225
- localeNames,
3226
- getAdminInjectedComponents: this.getAdminInjectedComponents,
3227
- getPlugin: this.getPlugin,
3228
- messages: this.configurations.translations,
3229
- menu: this.menu,
3230
- menuLogo: this.configurations.menuLogo,
3231
- plugins: this.plugins,
3232
- runHookParallel: this.runHookParallel,
3233
- runHookWaterfall: (name, initialValue, async = false) => {
3234
- return this.runHookWaterfall(name, initialValue, async, store);
3235
- },
3236
- runHookSeries: this.runHookSeries,
3237
- themes: this.configurations.themes,
3238
- settings: this.settings,
3239
- showTutorials: this.configurations.tutorials,
3240
- showReleaseNotification: this.configurations.notifications.releases,
3241
- store,
3242
- children: [
3243
- /* @__PURE__ */ jsx(
3244
- Helmet,
3245
- {
3246
- htmlAttributes: { lang: localStorage.getItem(LANGUAGE_LOCAL_STORAGE_KEY) || "en" }
3247
- }
3248
- ),
3249
- /* @__PURE__ */ jsx(BrowserRouter, { basename: getBasename(), children: /* @__PURE__ */ jsx(App, {}) })
3250
- ]
3251
- }
3252
- );
3253
- }
3254
- }
3255
- const renderAdmin = async (mountNode, { plugins, customisations, features }) => {
3256
- if (!mountNode) {
3257
- throw new Error("[@strapi/admin]: Could not find the root element to mount the admin app");
3258
- }
3259
- window.strapi = {
3260
- /**
3261
- * This ENV variable is passed from the strapi instance, by default no url is set
3262
- * in the config and therefore the instance returns you an empty string so URLs are relative.
3263
- *
3264
- * To ensure that the backendURL is always set, we use the window.location.origin as a fallback.
3265
- */
3266
- backendURL: process.env.STRAPI_ADMIN_BACKEND_URL || window.location.origin,
3267
- isEE: false,
3268
- telemetryDisabled: process.env.STRAPI_TELEMETRY_DISABLED === "true" ? true : false,
3269
- future: {
3270
- isEnabled: (name) => {
3271
- return features?.future?.[name] === true;
3272
- }
3273
- },
3274
- // @ts-expect-error – there's pollution from the global scope of Node.
3275
- features: {
3276
- SSO: "sso",
3277
- AUDIT_LOGS: "audit-logs",
3278
- REVIEW_WORKFLOWS: "review-workflows",
3279
- /**
3280
- * If we don't get the license then we know it's not EE
3281
- * so no feature is enabled.
3282
- */
3283
- isEnabled: () => false
3284
- },
3285
- projectType: "Community",
3286
- flags: {
3287
- nps: false,
3288
- promoteEE: true
3289
- }
3290
- };
3291
- const { get: get2 } = getFetchClient();
3292
- try {
3293
- const {
3294
- data: {
3295
- data: { isEE, features: features2, flags }
3296
- }
3297
- } = await get2("/admin/project-type");
3298
- window.strapi.isEE = isEE;
3299
- window.strapi.flags = flags;
3300
- window.strapi.features = {
3301
- ...window.strapi.features,
3302
- isEnabled: (featureName) => features2.some((feature) => feature.name === featureName)
3303
- };
3304
- window.strapi.projectType = isEE ? "Enterprise" : "Community";
3305
- } catch (err) {
3306
- console.error(err);
3307
- }
3308
- const app = new StrapiApp({
3309
- adminConfig: customisations,
3310
- appPlugins: plugins
3311
- });
3312
- await app.bootstrapAdmin();
3313
- await app.initialize();
3314
- await app.bootstrap();
3315
- await app.loadTrads();
3316
- createRoot(mountNode).render(app.render());
3317
- if (typeof module !== "undefined" && module && "hot" in module && typeof module.hot === "object" && module.hot !== null && "accept" in module.hot && typeof module.hot.accept === "function") {
3318
- module.hot.accept();
3319
- }
3320
- };
3321
- export {
3322
- ACTION_SET_APP_RUNTIME_STATUS as A,
3323
- crudInitialState as B,
3324
- Column as C,
3325
- RESET_INIT_DATA as D,
3326
- GET_INIT_DATA as E,
3327
- SET_INIT_DATA as F,
3328
- GET_DATA as G,
3329
- HOOKS as H,
3330
- INIT_FORM as I,
3331
- initialState$3 as J,
3332
- StrapiLogo as K,
3333
- Login as L,
3334
- useLocales as M,
3335
- NpsSurvey as N,
3336
- ON_RESET_LIST_HEADERS as O,
3337
- useThemeToggle as P,
3338
- SETTINGS_LINKS_CE as Q,
3339
- RBACProvider as R,
3340
- SET_PERMISSIONS as S,
3341
- getBasename as T,
3342
- UnauthenticatedLayout as U,
3343
- useTypedStore as V,
3344
- DefaultDocument as W,
3345
- renderAdmin as X,
3346
- NotFoundPage$1 as Y,
3347
- useTypedDispatch as a,
3348
- useTypedSelector as b,
3349
- createTypedSelector as c,
3350
- createRoute as d,
3351
- LayoutContent as e,
3352
- Logo as f,
3353
- RESET_PERMISSIONS as g,
3354
- RESET_PROPS$2 as h,
3355
- SET_LAYOUT as i,
3356
- RESET_PROPS as j,
3357
- SET_DATA_STRUCTURES as k,
3358
- SET_STATUS as l,
3359
- SUBMIT_SUCCEEDED as m,
3360
- GET_DATA_SUCCEEDED as n,
3361
- CLEAR_SET_MODIFIED_DATA_ONLY as o,
3362
- useEnterprise as p,
3363
- InjectionZone as q,
3364
- GET_DATA$1 as r,
3365
- GET_DATA_SUCCEEDED$1 as s,
3366
- RESET_PROPS$1 as t,
3367
- useConfiguration as u,
3368
- SET_LIST_LAYOUT as v,
3369
- ON_CHANGE_LIST_HEADERS as w,
3370
- useInjectionZone as x,
3371
- initialState$1 as y,
3372
- crudReducer as z
3373
- };
3374
- //# sourceMappingURL=index-3c67c00b.mjs.map