@strapi/admin 4.16.2 → 4.18.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 (804) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +1 -1
  3. package/package.json +55 -41
  4. package/strapi-server.js +3 -3
  5. package/dist/_chunks/AuthenticatedApp-342bf22f.js +0 -1476
  6. package/dist/_chunks/AuthenticatedApp-342bf22f.js.map +0 -1
  7. package/dist/_chunks/AuthenticatedApp-bb31f306.mjs +0 -1450
  8. package/dist/_chunks/AuthenticatedApp-bb31f306.mjs.map +0 -1
  9. package/dist/_chunks/DragLayer-bff96835.mjs +0 -44
  10. package/dist/_chunks/DragLayer-bff96835.mjs.map +0 -1
  11. package/dist/_chunks/DragLayer-f07eee6c.js +0 -43
  12. package/dist/_chunks/DragLayer-f07eee6c.js.map +0 -1
  13. package/dist/_chunks/HomePage-0c7717c0.mjs +0 -49
  14. package/dist/_chunks/HomePage-0c7717c0.mjs.map +0 -1
  15. package/dist/_chunks/HomePage-175f79c7.js +0 -49
  16. package/dist/_chunks/HomePage-175f79c7.js.map +0 -1
  17. package/dist/_chunks/HomePage-246cc590.mjs +0 -542
  18. package/dist/_chunks/HomePage-246cc590.mjs.map +0 -1
  19. package/dist/_chunks/HomePage-6ff9e578.js +0 -563
  20. package/dist/_chunks/HomePage-6ff9e578.js.map +0 -1
  21. package/dist/_chunks/InstalledPluginsPage-170aff77.mjs +0 -134
  22. package/dist/_chunks/InstalledPluginsPage-170aff77.mjs.map +0 -1
  23. package/dist/_chunks/InstalledPluginsPage-3ae5dbb6.js +0 -153
  24. package/dist/_chunks/InstalledPluginsPage-3ae5dbb6.js.map +0 -1
  25. package/dist/_chunks/InternalErrorPage-040dc993.mjs +0 -41
  26. package/dist/_chunks/InternalErrorPage-040dc993.mjs.map +0 -1
  27. package/dist/_chunks/InternalErrorPage-d0e51ac2.js +0 -41
  28. package/dist/_chunks/InternalErrorPage-d0e51ac2.js.map +0 -1
  29. package/dist/_chunks/Layout-4b3e434a.js +0 -92
  30. package/dist/_chunks/Layout-4b3e434a.js.map +0 -1
  31. package/dist/_chunks/Layout-72fa2ace.mjs +0 -90
  32. package/dist/_chunks/Layout-72fa2ace.mjs.map +0 -1
  33. package/dist/_chunks/LimitsModal-203482b8.js +0 -84
  34. package/dist/_chunks/LimitsModal-203482b8.js.map +0 -1
  35. package/dist/_chunks/LimitsModal-da04700e.mjs +0 -82
  36. package/dist/_chunks/LimitsModal-da04700e.mjs.map +0 -1
  37. package/dist/_chunks/Login-576bbc11.js +0 -64
  38. package/dist/_chunks/Login-576bbc11.js.map +0 -1
  39. package/dist/_chunks/Login-d627bb0a.mjs +0 -62
  40. package/dist/_chunks/Login-d627bb0a.mjs.map +0 -1
  41. package/dist/_chunks/MarketplacePage-1cbfa8fd.mjs +0 -1011
  42. package/dist/_chunks/MarketplacePage-1cbfa8fd.mjs.map +0 -1
  43. package/dist/_chunks/MarketplacePage-e7cd973b.js +0 -1035
  44. package/dist/_chunks/MarketplacePage-e7cd973b.js.map +0 -1
  45. package/dist/_chunks/ProfilePage-52844daa.js +0 -665
  46. package/dist/_chunks/ProfilePage-52844daa.js.map +0 -1
  47. package/dist/_chunks/ProfilePage-ef400907.mjs +0 -642
  48. package/dist/_chunks/ProfilePage-ef400907.mjs.map +0 -1
  49. package/dist/_chunks/SSOProviders-62bfad92.mjs +0 -58
  50. package/dist/_chunks/SSOProviders-62bfad92.mjs.map +0 -1
  51. package/dist/_chunks/SSOProviders-b395a4e6.js +0 -59
  52. package/dist/_chunks/SSOProviders-b395a4e6.js.map +0 -1
  53. package/dist/_chunks/SalesPage-4a0a68fb.js +0 -51
  54. package/dist/_chunks/SalesPage-4a0a68fb.js.map +0 -1
  55. package/dist/_chunks/SalesPage-56bf9463.mjs +0 -48
  56. package/dist/_chunks/SalesPage-56bf9463.mjs.map +0 -1
  57. package/dist/_chunks/SalesPage-66f9ea32.js +0 -51
  58. package/dist/_chunks/SalesPage-66f9ea32.js.map +0 -1
  59. package/dist/_chunks/SalesPage-d0cdc1a7.js +0 -48
  60. package/dist/_chunks/SalesPage-d0cdc1a7.js.map +0 -1
  61. package/dist/_chunks/SalesPage-f9597ae7.mjs +0 -51
  62. package/dist/_chunks/SalesPage-f9597ae7.mjs.map +0 -1
  63. package/dist/_chunks/SalesPage-fceedf48.mjs +0 -51
  64. package/dist/_chunks/SalesPage-fceedf48.mjs.map +0 -1
  65. package/dist/_chunks/ar-21279f4c.js +0 -936
  66. package/dist/_chunks/ar-21279f4c.js.map +0 -1
  67. package/dist/_chunks/ar-62e5e2b3.mjs +0 -936
  68. package/dist/_chunks/ar-62e5e2b3.mjs.map +0 -1
  69. package/dist/_chunks/build-1026ce7c.mjs +0 -68
  70. package/dist/_chunks/build-1026ce7c.mjs.map +0 -1
  71. package/dist/_chunks/build-d99bcc06.js +0 -68
  72. package/dist/_chunks/build-d99bcc06.js.map +0 -1
  73. package/dist/_chunks/ca-d05fb350.js +0 -724
  74. package/dist/_chunks/ca-d05fb350.js.map +0 -1
  75. package/dist/_chunks/ca-e99de225.mjs +0 -724
  76. package/dist/_chunks/ca-e99de225.mjs.map +0 -1
  77. package/dist/_chunks/colors-c24a54f0.js +0 -33
  78. package/dist/_chunks/colors-c24a54f0.js.map +0 -1
  79. package/dist/_chunks/colors-e7489dd4.mjs +0 -34
  80. package/dist/_chunks/colors-e7489dd4.mjs.map +0 -1
  81. package/dist/_chunks/constants-2a8f4e41.mjs +0 -11
  82. package/dist/_chunks/constants-2a8f4e41.mjs.map +0 -1
  83. package/dist/_chunks/constants-40ffa931.js +0 -11
  84. package/dist/_chunks/constants-40ffa931.js.map +0 -1
  85. package/dist/_chunks/constants-4aca55b6.js +0 -85
  86. package/dist/_chunks/constants-4aca55b6.js.map +0 -1
  87. package/dist/_chunks/constants-64899732.js +0 -30
  88. package/dist/_chunks/constants-64899732.js.map +0 -1
  89. package/dist/_chunks/constants-6c68e9a0.js +0 -229
  90. package/dist/_chunks/constants-6c68e9a0.js.map +0 -1
  91. package/dist/_chunks/constants-6ecddc43.mjs +0 -111
  92. package/dist/_chunks/constants-6ecddc43.mjs.map +0 -1
  93. package/dist/_chunks/constants-74b8a935.mjs +0 -52
  94. package/dist/_chunks/constants-74b8a935.mjs.map +0 -1
  95. package/dist/_chunks/constants-7596f6f3.js +0 -132
  96. package/dist/_chunks/constants-7596f6f3.js.map +0 -1
  97. package/dist/_chunks/constants-8092eeb5.mjs +0 -59
  98. package/dist/_chunks/constants-8092eeb5.mjs.map +0 -1
  99. package/dist/_chunks/constants-85da8cc4.js +0 -58
  100. package/dist/_chunks/constants-85da8cc4.js.map +0 -1
  101. package/dist/_chunks/constants-a6fd64fc.mjs +0 -80
  102. package/dist/_chunks/constants-a6fd64fc.mjs.map +0 -1
  103. package/dist/_chunks/constants-a92ce583.mjs +0 -7
  104. package/dist/_chunks/constants-a92ce583.mjs.map +0 -1
  105. package/dist/_chunks/constants-ae0b83df.mjs +0 -227
  106. package/dist/_chunks/constants-ae0b83df.mjs.map +0 -1
  107. package/dist/_chunks/constants-c1f1f698.mjs +0 -85
  108. package/dist/_chunks/constants-c1f1f698.mjs.map +0 -1
  109. package/dist/_chunks/constants-d3dd8ed6.mjs +0 -7
  110. package/dist/_chunks/constants-d3dd8ed6.mjs.map +0 -1
  111. package/dist/_chunks/constants-d5d67ca8.js +0 -6
  112. package/dist/_chunks/constants-d5d67ca8.js.map +0 -1
  113. package/dist/_chunks/constants-da2542a3.js +0 -6
  114. package/dist/_chunks/constants-da2542a3.js.map +0 -1
  115. package/dist/_chunks/constants-ddd2d586.js +0 -82
  116. package/dist/_chunks/constants-ddd2d586.js.map +0 -1
  117. package/dist/_chunks/constants-def33545.mjs +0 -30
  118. package/dist/_chunks/constants-def33545.mjs.map +0 -1
  119. package/dist/_chunks/constants-e05f06d4.js +0 -52
  120. package/dist/_chunks/constants-e05f06d4.js.map +0 -1
  121. package/dist/_chunks/cs-2fa881a2.mjs +0 -291
  122. package/dist/_chunks/cs-2fa881a2.mjs.map +0 -1
  123. package/dist/_chunks/cs-eee75b10.js +0 -291
  124. package/dist/_chunks/cs-eee75b10.js.map +0 -1
  125. package/dist/_chunks/de-28f8bc28.mjs +0 -716
  126. package/dist/_chunks/de-28f8bc28.mjs.map +0 -1
  127. package/dist/_chunks/de-976cc986.js +0 -716
  128. package/dist/_chunks/de-976cc986.js.map +0 -1
  129. package/dist/_chunks/develop-72394876.mjs +0 -61
  130. package/dist/_chunks/develop-72394876.mjs.map +0 -1
  131. package/dist/_chunks/develop-da585b1e.js +0 -61
  132. package/dist/_chunks/develop-da585b1e.js.map +0 -1
  133. package/dist/_chunks/dk-0b759a56.mjs +0 -634
  134. package/dist/_chunks/dk-0b759a56.mjs.map +0 -1
  135. package/dist/_chunks/dk-6189917e.js +0 -634
  136. package/dist/_chunks/dk-6189917e.js.map +0 -1
  137. package/dist/_chunks/edit-29bdf5d6.js +0 -50
  138. package/dist/_chunks/edit-29bdf5d6.js.map +0 -1
  139. package/dist/_chunks/edit-923cefa0.mjs +0 -32
  140. package/dist/_chunks/edit-923cefa0.mjs.map +0 -1
  141. package/dist/_chunks/en-0e9e9327.js +0 -1022
  142. package/dist/_chunks/en-0e9e9327.js.map +0 -1
  143. package/dist/_chunks/en-e728accb.mjs +0 -1022
  144. package/dist/_chunks/en-e728accb.mjs.map +0 -1
  145. package/dist/_chunks/es-18b29db2.mjs +0 -796
  146. package/dist/_chunks/es-18b29db2.mjs.map +0 -1
  147. package/dist/_chunks/es-3ee0992a.js +0 -796
  148. package/dist/_chunks/es-3ee0992a.js.map +0 -1
  149. package/dist/_chunks/eu-8fd773c2.mjs +0 -832
  150. package/dist/_chunks/eu-8fd773c2.mjs.map +0 -1
  151. package/dist/_chunks/eu-be749f31.js +0 -832
  152. package/dist/_chunks/eu-be749f31.js.map +0 -1
  153. package/dist/_chunks/formatAPIErrors-b599cf27.js +0 -20
  154. package/dist/_chunks/formatAPIErrors-b599cf27.js.map +0 -1
  155. package/dist/_chunks/formatAPIErrors-db6ed675.mjs +0 -21
  156. package/dist/_chunks/formatAPIErrors-db6ed675.mjs.map +0 -1
  157. package/dist/_chunks/fr-29c84e1f.js +0 -762
  158. package/dist/_chunks/fr-29c84e1f.js.map +0 -1
  159. package/dist/_chunks/fr-f37df086.mjs +0 -762
  160. package/dist/_chunks/fr-f37df086.mjs.map +0 -1
  161. package/dist/_chunks/gu-377a4b46.js +0 -623
  162. package/dist/_chunks/gu-377a4b46.js.map +0 -1
  163. package/dist/_chunks/gu-69f0e13a.mjs +0 -623
  164. package/dist/_chunks/gu-69f0e13a.mjs.map +0 -1
  165. package/dist/_chunks/he-aec27352.js +0 -326
  166. package/dist/_chunks/he-aec27352.js.map +0 -1
  167. package/dist/_chunks/he-bd769d7e.mjs +0 -326
  168. package/dist/_chunks/he-bd769d7e.mjs.map +0 -1
  169. package/dist/_chunks/hi-1bdc7a46.js +0 -722
  170. package/dist/_chunks/hi-1bdc7a46.js.map +0 -1
  171. package/dist/_chunks/hi-d397a24b.mjs +0 -722
  172. package/dist/_chunks/hi-d397a24b.mjs.map +0 -1
  173. package/dist/_chunks/hu-e2c05f40.js +0 -832
  174. package/dist/_chunks/hu-e2c05f40.js.map +0 -1
  175. package/dist/_chunks/hu-eb88bd0c.mjs +0 -832
  176. package/dist/_chunks/hu-eb88bd0c.mjs.map +0 -1
  177. package/dist/_chunks/id-586df3a2.js +0 -448
  178. package/dist/_chunks/id-586df3a2.js.map +0 -1
  179. package/dist/_chunks/id-f47699e6.mjs +0 -448
  180. package/dist/_chunks/id-f47699e6.mjs.map +0 -1
  181. package/dist/_chunks/index-10a05917.mjs +0 -51
  182. package/dist/_chunks/index-10a05917.mjs.map +0 -1
  183. package/dist/_chunks/index-115d317b.mjs +0 -244
  184. package/dist/_chunks/index-115d317b.mjs.map +0 -1
  185. package/dist/_chunks/index-171715e4.js +0 -697
  186. package/dist/_chunks/index-171715e4.js.map +0 -1
  187. package/dist/_chunks/index-176cc121.mjs +0 -469
  188. package/dist/_chunks/index-176cc121.mjs.map +0 -1
  189. package/dist/_chunks/index-1bac5263.js +0 -338
  190. package/dist/_chunks/index-1bac5263.js.map +0 -1
  191. package/dist/_chunks/index-200c5a6a.js +0 -51
  192. package/dist/_chunks/index-200c5a6a.js.map +0 -1
  193. package/dist/_chunks/index-215b5421.mjs +0 -51
  194. package/dist/_chunks/index-215b5421.mjs.map +0 -1
  195. package/dist/_chunks/index-23401c29.js +0 -418
  196. package/dist/_chunks/index-23401c29.js.map +0 -1
  197. package/dist/_chunks/index-242c859c.js +0 -335
  198. package/dist/_chunks/index-242c859c.js.map +0 -1
  199. package/dist/_chunks/index-26fcb3ca.mjs +0 -1432
  200. package/dist/_chunks/index-26fcb3ca.mjs.map +0 -1
  201. package/dist/_chunks/index-28dd9303.mjs +0 -51
  202. package/dist/_chunks/index-28dd9303.mjs.map +0 -1
  203. package/dist/_chunks/index-296c14bf.mjs +0 -362
  204. package/dist/_chunks/index-296c14bf.mjs.map +0 -1
  205. package/dist/_chunks/index-2de06c32.js +0 -51
  206. package/dist/_chunks/index-2de06c32.js.map +0 -1
  207. package/dist/_chunks/index-2eb69b5d.mjs +0 -399
  208. package/dist/_chunks/index-2eb69b5d.mjs.map +0 -1
  209. package/dist/_chunks/index-2f61e3ae.js +0 -585
  210. package/dist/_chunks/index-2f61e3ae.js.map +0 -1
  211. package/dist/_chunks/index-308b73ba.mjs +0 -60
  212. package/dist/_chunks/index-308b73ba.mjs.map +0 -1
  213. package/dist/_chunks/index-34e41e15.js +0 -134
  214. package/dist/_chunks/index-34e41e15.js.map +0 -1
  215. package/dist/_chunks/index-38115cde.js +0 -66
  216. package/dist/_chunks/index-38115cde.js.map +0 -1
  217. package/dist/_chunks/index-383efae4.mjs +0 -55
  218. package/dist/_chunks/index-383efae4.mjs.map +0 -1
  219. package/dist/_chunks/index-3b426575.js +0 -47
  220. package/dist/_chunks/index-3b426575.js.map +0 -1
  221. package/dist/_chunks/index-47af1603.js +0 -253
  222. package/dist/_chunks/index-47af1603.js.map +0 -1
  223. package/dist/_chunks/index-49b7e6ff.mjs +0 -1266
  224. package/dist/_chunks/index-49b7e6ff.mjs.map +0 -1
  225. package/dist/_chunks/index-4d9b2cb9.js +0 -47
  226. package/dist/_chunks/index-4d9b2cb9.js.map +0 -1
  227. package/dist/_chunks/index-4de70b5d.js +0 -3404
  228. package/dist/_chunks/index-4de70b5d.js.map +0 -1
  229. package/dist/_chunks/index-59b1f604.js +0 -380
  230. package/dist/_chunks/index-59b1f604.js.map +0 -1
  231. package/dist/_chunks/index-5a5217e0.mjs +0 -308
  232. package/dist/_chunks/index-5a5217e0.mjs.map +0 -1
  233. package/dist/_chunks/index-5da07c41.js +0 -418
  234. package/dist/_chunks/index-5da07c41.js.map +0 -1
  235. package/dist/_chunks/index-600cb5dd.js +0 -51
  236. package/dist/_chunks/index-600cb5dd.js.map +0 -1
  237. package/dist/_chunks/index-608d8d10.mjs +0 -393
  238. package/dist/_chunks/index-608d8d10.mjs.map +0 -1
  239. package/dist/_chunks/index-74812118.mjs +0 -53
  240. package/dist/_chunks/index-74812118.mjs.map +0 -1
  241. package/dist/_chunks/index-7d578921.js +0 -847
  242. package/dist/_chunks/index-7d578921.js.map +0 -1
  243. package/dist/_chunks/index-8109fa91.mjs +0 -676
  244. package/dist/_chunks/index-8109fa91.mjs.map +0 -1
  245. package/dist/_chunks/index-82c7a120.js +0 -15401
  246. package/dist/_chunks/index-82c7a120.js.map +0 -1
  247. package/dist/_chunks/index-83d53962.js +0 -62
  248. package/dist/_chunks/index-83d53962.js.map +0 -1
  249. package/dist/_chunks/index-88298941.js +0 -54
  250. package/dist/_chunks/index-88298941.js.map +0 -1
  251. package/dist/_chunks/index-8933483b.mjs +0 -3374
  252. package/dist/_chunks/index-8933483b.mjs.map +0 -1
  253. package/dist/_chunks/index-91df57b1.mjs +0 -826
  254. package/dist/_chunks/index-91df57b1.mjs.map +0 -1
  255. package/dist/_chunks/index-973c363e.mjs +0 -63
  256. package/dist/_chunks/index-973c363e.mjs.map +0 -1
  257. package/dist/_chunks/index-989bbeec.mjs +0 -232
  258. package/dist/_chunks/index-989bbeec.mjs.map +0 -1
  259. package/dist/_chunks/index-9910dda4.js +0 -55
  260. package/dist/_chunks/index-9910dda4.js.map +0 -1
  261. package/dist/_chunks/index-9afb163a.js +0 -418
  262. package/dist/_chunks/index-9afb163a.js.map +0 -1
  263. package/dist/_chunks/index-9f61bef8.js +0 -51
  264. package/dist/_chunks/index-9f61bef8.js.map +0 -1
  265. package/dist/_chunks/index-ab31623a.mjs +0 -273
  266. package/dist/_chunks/index-ab31623a.mjs.map +0 -1
  267. package/dist/_chunks/index-ac85118a.mjs +0 -47
  268. package/dist/_chunks/index-ac85118a.mjs.map +0 -1
  269. package/dist/_chunks/index-ad8e55c0.mjs +0 -866
  270. package/dist/_chunks/index-ad8e55c0.mjs.map +0 -1
  271. package/dist/_chunks/index-aedeaf5a.js +0 -311
  272. package/dist/_chunks/index-aedeaf5a.js.map +0 -1
  273. package/dist/_chunks/index-bbac142a.js +0 -125
  274. package/dist/_chunks/index-bbac142a.js.map +0 -1
  275. package/dist/_chunks/index-bd18f803.mjs +0 -15320
  276. package/dist/_chunks/index-bd18f803.mjs.map +0 -1
  277. package/dist/_chunks/index-c8b8a2ee.mjs +0 -359
  278. package/dist/_chunks/index-c8b8a2ee.mjs.map +0 -1
  279. package/dist/_chunks/index-c97f5820.js +0 -1456
  280. package/dist/_chunks/index-c97f5820.js.map +0 -1
  281. package/dist/_chunks/index-cb6a72d2.mjs +0 -127
  282. package/dist/_chunks/index-cb6a72d2.mjs.map +0 -1
  283. package/dist/_chunks/index-cbc7c054.js +0 -266
  284. package/dist/_chunks/index-cbc7c054.js.map +0 -1
  285. package/dist/_chunks/index-ce5995cd.mjs +0 -132
  286. package/dist/_chunks/index-ce5995cd.mjs.map +0 -1
  287. package/dist/_chunks/index-d1152896.js +0 -294
  288. package/dist/_chunks/index-d1152896.js.map +0 -1
  289. package/dist/_chunks/index-d1dd825b.js +0 -365
  290. package/dist/_chunks/index-d1dd825b.js.map +0 -1
  291. package/dist/_chunks/index-d2d9df41.mjs +0 -270
  292. package/dist/_chunks/index-d2d9df41.mjs.map +0 -1
  293. package/dist/_chunks/index-d3e1fd86.js +0 -490
  294. package/dist/_chunks/index-d3e1fd86.js.map +0 -1
  295. package/dist/_chunks/index-d4517ac4.mjs +0 -582
  296. package/dist/_chunks/index-d4517ac4.mjs.map +0 -1
  297. package/dist/_chunks/index-d49fa655.js +0 -873
  298. package/dist/_chunks/index-d49fa655.js.map +0 -1
  299. package/dist/_chunks/index-d6694cab.mjs +0 -125
  300. package/dist/_chunks/index-d6694cab.mjs.map +0 -1
  301. package/dist/_chunks/index-e117c643.mjs +0 -55
  302. package/dist/_chunks/index-e117c643.mjs.map +0 -1
  303. package/dist/_chunks/index-e1b90981.mjs +0 -314
  304. package/dist/_chunks/index-e1b90981.mjs.map +0 -1
  305. package/dist/_chunks/index-e24df0bf.js +0 -403
  306. package/dist/_chunks/index-e24df0bf.js.map +0 -1
  307. package/dist/_chunks/index-e2d2f58e.mjs +0 -47
  308. package/dist/_chunks/index-e2d2f58e.mjs.map +0 -1
  309. package/dist/_chunks/index-e369d741.mjs +0 -383
  310. package/dist/_chunks/index-e369d741.mjs.map +0 -1
  311. package/dist/_chunks/index-e79b2b9e.mjs +0 -338
  312. package/dist/_chunks/index-e79b2b9e.mjs.map +0 -1
  313. package/dist/_chunks/index-ea18ff22.mjs +0 -51
  314. package/dist/_chunks/index-ea18ff22.mjs.map +0 -1
  315. package/dist/_chunks/index-eb67694f.mjs +0 -261
  316. package/dist/_chunks/index-eb67694f.mjs.map +0 -1
  317. package/dist/_chunks/index-ed3696ec.js +0 -272
  318. package/dist/_chunks/index-ed3696ec.js.map +0 -1
  319. package/dist/_chunks/index-ee1ea38b.js +0 -129
  320. package/dist/_chunks/index-ee1ea38b.js.map +0 -1
  321. package/dist/_chunks/index-efc967f5.js +0 -55
  322. package/dist/_chunks/index-efc967f5.js.map +0 -1
  323. package/dist/_chunks/index-fc700e52.js +0 -263
  324. package/dist/_chunks/index-fc700e52.js.map +0 -1
  325. package/dist/_chunks/index-fd4e5616.mjs +0 -412
  326. package/dist/_chunks/index-fd4e5616.mjs.map +0 -1
  327. package/dist/_chunks/index-ffd2f664.js +0 -1337
  328. package/dist/_chunks/index-ffd2f664.js.map +0 -1
  329. package/dist/_chunks/it-4006227c.mjs +0 -459
  330. package/dist/_chunks/it-4006227c.mjs.map +0 -1
  331. package/dist/_chunks/it-9c4295f1.js +0 -459
  332. package/dist/_chunks/it-9c4295f1.js.map +0 -1
  333. package/dist/_chunks/ja-db43ca3d.mjs +0 -633
  334. package/dist/_chunks/ja-db43ca3d.mjs.map +0 -1
  335. package/dist/_chunks/ja-eb74520f.js +0 -633
  336. package/dist/_chunks/ja-eb74520f.js.map +0 -1
  337. package/dist/_chunks/ko-18e71df4.js +0 -631
  338. package/dist/_chunks/ko-18e71df4.js.map +0 -1
  339. package/dist/_chunks/ko-a7826e25.mjs +0 -631
  340. package/dist/_chunks/ko-a7826e25.mjs.map +0 -1
  341. package/dist/_chunks/ml-90131768.mjs +0 -722
  342. package/dist/_chunks/ml-90131768.mjs.map +0 -1
  343. package/dist/_chunks/ml-c5199364.js +0 -722
  344. package/dist/_chunks/ml-c5199364.js.map +0 -1
  345. package/dist/_chunks/ms-bc514df6.js +0 -342
  346. package/dist/_chunks/ms-bc514df6.js.map +0 -1
  347. package/dist/_chunks/ms-f4f16a83.mjs +0 -342
  348. package/dist/_chunks/ms-f4f16a83.mjs.map +0 -1
  349. package/dist/_chunks/nl-887ce2c3.mjs +0 -828
  350. package/dist/_chunks/nl-887ce2c3.mjs.map +0 -1
  351. package/dist/_chunks/nl-f1aedbe2.js +0 -828
  352. package/dist/_chunks/nl-f1aedbe2.js.map +0 -1
  353. package/dist/_chunks/no-ec6c2927.js +0 -310
  354. package/dist/_chunks/no-ec6c2927.js.map +0 -1
  355. package/dist/_chunks/no-f0b02541.mjs +0 -310
  356. package/dist/_chunks/no-f0b02541.mjs.map +0 -1
  357. package/dist/_chunks/pl-9be86414.js +0 -721
  358. package/dist/_chunks/pl-9be86414.js.map +0 -1
  359. package/dist/_chunks/pl-9ccd35d9.mjs +0 -721
  360. package/dist/_chunks/pl-9ccd35d9.mjs.map +0 -1
  361. package/dist/_chunks/pt-4fcc08f1.js +0 -296
  362. package/dist/_chunks/pt-4fcc08f1.js.map +0 -1
  363. package/dist/_chunks/pt-8acb6ac1.mjs +0 -296
  364. package/dist/_chunks/pt-8acb6ac1.mjs.map +0 -1
  365. package/dist/_chunks/pt-BR-d43239e3.js +0 -794
  366. package/dist/_chunks/pt-BR-d43239e3.js.map +0 -1
  367. package/dist/_chunks/pt-BR-fd73cb13.mjs +0 -794
  368. package/dist/_chunks/pt-BR-fd73cb13.mjs.map +0 -1
  369. package/dist/_chunks/ru-9aad40c5.mjs +0 -993
  370. package/dist/_chunks/ru-9aad40c5.mjs.map +0 -1
  371. package/dist/_chunks/ru-c0293425.js +0 -993
  372. package/dist/_chunks/ru-c0293425.js.map +0 -1
  373. package/dist/_chunks/sa-6bf4c20e.mjs +0 -722
  374. package/dist/_chunks/sa-6bf4c20e.mjs.map +0 -1
  375. package/dist/_chunks/sa-8ffb7ca7.js +0 -722
  376. package/dist/_chunks/sa-8ffb7ca7.js.map +0 -1
  377. package/dist/_chunks/schema-260fec28.js +0 -514
  378. package/dist/_chunks/schema-260fec28.js.map +0 -1
  379. package/dist/_chunks/schema-6bd8bd85.mjs +0 -490
  380. package/dist/_chunks/schema-6bd8bd85.mjs.map +0 -1
  381. package/dist/_chunks/sk-58d31b17.mjs +0 -690
  382. package/dist/_chunks/sk-58d31b17.mjs.map +0 -1
  383. package/dist/_chunks/sk-a9308737.js +0 -690
  384. package/dist/_chunks/sk-a9308737.js.map +0 -1
  385. package/dist/_chunks/sv-0f5ffd1e.js +0 -827
  386. package/dist/_chunks/sv-0f5ffd1e.js.map +0 -1
  387. package/dist/_chunks/sv-d80ad633.mjs +0 -827
  388. package/dist/_chunks/sv-d80ad633.mjs.map +0 -1
  389. package/dist/_chunks/th-a53bbf7a.js +0 -430
  390. package/dist/_chunks/th-a53bbf7a.js.map +0 -1
  391. package/dist/_chunks/th-e72c6a22.mjs +0 -430
  392. package/dist/_chunks/th-e72c6a22.mjs.map +0 -1
  393. package/dist/_chunks/tr-b84a68b0.js +0 -785
  394. package/dist/_chunks/tr-b84a68b0.js.map +0 -1
  395. package/dist/_chunks/tr-e35ecfe8.mjs +0 -785
  396. package/dist/_chunks/tr-e35ecfe8.mjs.map +0 -1
  397. package/dist/_chunks/uk-de367ec1.mjs +0 -343
  398. package/dist/_chunks/uk-de367ec1.mjs.map +0 -1
  399. package/dist/_chunks/uk-e5226227.js +0 -343
  400. package/dist/_chunks/uk-e5226227.js.map +0 -1
  401. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs +0 -2322
  402. package/dist/_chunks/useAdminRolePermissions-603a2709.mjs.map +0 -1
  403. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js +0 -2337
  404. package/dist/_chunks/useAdminRolePermissions-cb1a3ee2.js.map +0 -1
  405. package/dist/_chunks/useAdminRoles-68d5d608.js +0 -62
  406. package/dist/_chunks/useAdminRoles-68d5d608.js.map +0 -1
  407. package/dist/_chunks/useAdminRoles-7ab5d521.mjs +0 -44
  408. package/dist/_chunks/useAdminRoles-7ab5d521.mjs.map +0 -1
  409. package/dist/_chunks/useAdminUsers-05d6b26a.js +0 -61
  410. package/dist/_chunks/useAdminUsers-05d6b26a.js.map +0 -1
  411. package/dist/_chunks/useAdminUsers-09f86a58.mjs +0 -43
  412. package/dist/_chunks/useAdminUsers-09f86a58.mjs.map +0 -1
  413. package/dist/_chunks/useContentTypes-53b449bb.mjs +0 -67
  414. package/dist/_chunks/useContentTypes-53b449bb.mjs.map +0 -1
  415. package/dist/_chunks/useContentTypes-7da293cc.js +0 -85
  416. package/dist/_chunks/useContentTypes-7da293cc.js.map +0 -1
  417. package/dist/_chunks/useDebounce-4712871e.js +0 -35
  418. package/dist/_chunks/useDebounce-4712871e.js.map +0 -1
  419. package/dist/_chunks/useDebounce-9364f340.mjs +0 -17
  420. package/dist/_chunks/useDebounce-9364f340.mjs.map +0 -1
  421. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs +0 -80
  422. package/dist/_chunks/useLicenseLimitNotification-1fd756fa.mjs.map +0 -1
  423. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js +0 -100
  424. package/dist/_chunks/useLicenseLimitNotification-8a4d7fc1.js.map +0 -1
  425. package/dist/_chunks/useLicenseLimits-13a102d3.mjs +0 -31
  426. package/dist/_chunks/useLicenseLimits-13a102d3.mjs.map +0 -1
  427. package/dist/_chunks/useLicenseLimits-81ef3cce.js +0 -49
  428. package/dist/_chunks/useLicenseLimits-81ef3cce.js.map +0 -1
  429. package/dist/_chunks/useReviewWorkflows-799e0305.js +0 -59
  430. package/dist/_chunks/useReviewWorkflows-799e0305.js.map +0 -1
  431. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs +0 -41
  432. package/dist/_chunks/useReviewWorkflows-9e6b8986.mjs.map +0 -1
  433. package/dist/_chunks/validateWorkflow-5693ea2d.js +0 -1124
  434. package/dist/_chunks/validateWorkflow-5693ea2d.js.map +0 -1
  435. package/dist/_chunks/validateWorkflow-7a2b6ab8.mjs +0 -1101
  436. package/dist/_chunks/validateWorkflow-7a2b6ab8.mjs.map +0 -1
  437. package/dist/_chunks/vi-096bccbb.mjs +0 -298
  438. package/dist/_chunks/vi-096bccbb.mjs.map +0 -1
  439. package/dist/_chunks/vi-c5fabb75.js +0 -298
  440. package/dist/_chunks/vi-c5fabb75.js.map +0 -1
  441. package/dist/_chunks/zh-24f618cb.js +0 -836
  442. package/dist/_chunks/zh-24f618cb.js.map +0 -1
  443. package/dist/_chunks/zh-Hans-35d2c374.js +0 -957
  444. package/dist/_chunks/zh-Hans-35d2c374.js.map +0 -1
  445. package/dist/_chunks/zh-Hans-ccf4be4b.mjs +0 -957
  446. package/dist/_chunks/zh-Hans-ccf4be4b.mjs.map +0 -1
  447. package/dist/_chunks/zh-ba29b2e1.mjs +0 -836
  448. package/dist/_chunks/zh-ba29b2e1.mjs.map +0 -1
  449. package/dist/admin/index.js +0 -34
  450. package/dist/admin/index.js.map +0 -1
  451. package/dist/admin/index.mjs +0 -34
  452. package/dist/admin/index.mjs.map +0 -1
  453. package/dist/admin/src/App.d.ts +0 -6
  454. package/dist/admin/src/StrapiApp.d.ts +0 -140
  455. package/dist/admin/src/components/AuthenticatedApp.d.ts +0 -2
  456. package/dist/admin/src/components/ConfigurationProvider.d.ts +0 -11
  457. package/dist/admin/src/components/DefaultDocument.d.ts +0 -5
  458. package/dist/admin/src/components/DragLayer.d.ts +0 -10
  459. package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
  460. package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
  461. package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
  462. package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -6
  463. package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
  464. package/dist/admin/src/components/LanguageProvider.d.ts +0 -19
  465. package/dist/admin/src/components/LeftMenu.d.ts +0 -5
  466. package/dist/admin/src/components/NoJavascript.d.ts +0 -7
  467. package/dist/admin/src/components/NpsSurvey.d.ts +0 -17
  468. package/dist/admin/src/components/Onboarding.d.ts +0 -2
  469. package/dist/admin/src/components/PluginsInitializer.d.ts +0 -5
  470. package/dist/admin/src/components/PrivateRoute.d.ts +0 -8
  471. package/dist/admin/src/components/Providers.d.ts +0 -13
  472. package/dist/admin/src/components/RBACProvider.d.ts +0 -27
  473. package/dist/admin/src/components/Theme.d.ts +0 -6
  474. package/dist/admin/src/components/ThemeToggleProvider.d.ts +0 -12
  475. package/dist/admin/src/components/UnauthenticatedLogo.d.ts +0 -2
  476. package/dist/admin/src/constants.d.ts +0 -195
  477. package/dist/admin/src/content-manager/components/BlocksInput/BlocksContent.d.ts +0 -5
  478. package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +0 -34
  479. package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +0 -18
  480. package/dist/admin/src/content-manager/components/BlocksInput/BlocksToolbar.d.ts +0 -2
  481. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useBlocksStore.d.ts +0 -32
  482. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useModifiersStore.d.ts +0 -20
  483. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withLinks.d.ts +0 -8
  484. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withStrapiSchema.d.ts +0 -8
  485. package/dist/admin/src/content-manager/components/BlocksInput/tests/mock-schema.d.ts +0 -2
  486. package/dist/admin/src/content-manager/components/BlocksInput/utils/links.d.ts +0 -10
  487. package/dist/admin/src/content-manager/components/BlocksInput/utils/types.d.ts +0 -6
  488. package/dist/admin/src/contexts/admin.d.ts +0 -14
  489. package/dist/admin/src/contexts/apiTokenPermissions.d.ts +0 -36
  490. package/dist/admin/src/contexts/configuration.d.ts +0 -27
  491. package/dist/admin/src/contexts/themeToggle.d.ts +0 -22
  492. package/dist/admin/src/core/apis/Components.d.ts +0 -10
  493. package/dist/admin/src/core/apis/CustomFields.d.ts +0 -8
  494. package/dist/admin/src/core/apis/Fields.d.ts +0 -10
  495. package/dist/admin/src/core/apis/Middlewares.d.ts +0 -9
  496. package/dist/admin/src/core/apis/Plugin.d.ts +0 -19
  497. package/dist/admin/src/core/apis/Reducers.d.ts +0 -10
  498. package/dist/admin/src/core/store/configure.d.ts +0 -29
  499. package/dist/admin/src/core/store/hooks.d.ts +0 -37
  500. package/dist/admin/src/core/utils/basename.d.ts +0 -1
  501. package/dist/admin/src/core/utils/createHook.d.ts +0 -10
  502. package/dist/admin/src/hooks/__mocks__/useAdminUsers.d.ts +0 -2
  503. package/dist/admin/src/hooks/__mocks__/useContentTypes.d.ts +0 -2
  504. package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +0 -2
  505. package/dist/admin/src/hooks/useAdminRoles.d.ts +0 -13
  506. package/dist/admin/src/hooks/useAdminUsers.d.ts +0 -19
  507. package/dist/admin/src/hooks/useContentTypes.d.ts +0 -7
  508. package/dist/admin/src/hooks/useDebounce.d.ts +0 -1
  509. package/dist/admin/src/hooks/useEnterprise.d.ts +0 -8
  510. package/dist/admin/src/hooks/useInjectReducer.d.ts +0 -10
  511. package/dist/admin/src/hooks/useLicenseLimitNotification.d.ts +0 -1
  512. package/dist/admin/src/hooks/useMenu.d.ts +0 -9
  513. package/dist/admin/src/hooks/useSettingsMenu.d.ts +0 -24
  514. package/dist/admin/src/index.d.ts +0 -3
  515. package/dist/admin/src/layouts/AppLayout.d.ts +0 -7
  516. package/dist/admin/src/layouts/UnauthenticatedLayout.d.ts +0 -11
  517. package/dist/admin/src/pages/Admin.d.ts +0 -7
  518. package/dist/admin/src/pages/Auth/AuthPage.d.ts +0 -6
  519. package/dist/admin/src/pages/Auth/components/FieldActionWrapper.d.ts +0 -3
  520. package/dist/admin/src/pages/Auth/components/ForgotPassword.d.ts +0 -3
  521. package/dist/admin/src/pages/Auth/components/ForgotPasswordSuccess.d.ts +0 -2
  522. package/dist/admin/src/pages/Auth/components/Login.d.ts +0 -8
  523. package/dist/admin/src/pages/Auth/components/Oops.d.ts +0 -2
  524. package/dist/admin/src/pages/Auth/components/Register.d.ts +0 -7
  525. package/dist/admin/src/pages/Auth/components/ResetPassword.d.ts +0 -3
  526. package/dist/admin/src/pages/Auth/constants.d.ts +0 -14
  527. package/dist/admin/src/pages/HomePage.d.ts +0 -3
  528. package/dist/admin/src/pages/InstalledPluginsPage.d.ts +0 -3
  529. package/dist/admin/src/pages/InternalErrorPage.d.ts +0 -7
  530. package/dist/admin/src/pages/Marketplace/MarketplacePage.d.ts +0 -19
  531. package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +0 -13
  532. package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +0 -13
  533. package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +0 -13
  534. package/dist/admin/src/pages/Marketplace/components/OfflineLayout.d.ts +0 -2
  535. package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +0 -8
  536. package/dist/admin/src/pages/Marketplace/components/SortSelect.d.ts +0 -51
  537. package/dist/admin/src/pages/Marketplace/hooks/__mocks__/useNavigatorOnline.d.ts +0 -1
  538. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +0 -92
  539. package/dist/admin/src/pages/Marketplace/hooks/useNavigatorOnline.d.ts +0 -5
  540. package/dist/admin/src/pages/NotFoundPage.d.ts +0 -1
  541. package/dist/admin/src/pages/ProfilePage.d.ts +0 -2
  542. package/dist/admin/src/pages/SettingsPage/hooks/useRegenerate.d.ts +0 -4
  543. package/dist/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.d.ts +0 -24
  544. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.d.ts +0 -2
  545. package/dist/admin/src/pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.d.ts +0 -11
  546. package/dist/admin/src/pages/SettingsPage/utils/makeUniqueRoutes.d.ts +0 -6
  547. package/dist/admin/src/pages/UseCasePage.d.ts +0 -8
  548. package/dist/admin/src/reducer.d.ts +0 -21
  549. package/dist/admin/src/render.d.ts +0 -10
  550. package/dist/admin/src/selectors.d.ts +0 -21
  551. package/dist/admin/src/shared/components/InjectionZone.d.ts +0 -53
  552. package/dist/admin/src/shared/hooks/__mocks__/useInjectionZone.d.ts +0 -1
  553. package/dist/admin/src/shared/hooks/useInjectionZone.d.ts +0 -2
  554. package/dist/admin/src/translations/languageNativeNames.d.ts +0 -36
  555. package/dist/admin/src/types/permissions.d.ts +0 -17
  556. package/dist/admin/src/utils/createRoute.d.ts +0 -6
  557. package/dist/admin/src/utils/formatAPIErrors.d.ts +0 -6
  558. package/dist/admin/src/utils/getFullName.d.ts +0 -1
  559. package/dist/admin/src/utils/hashAdminUserEmail.d.ts +0 -6
  560. package/dist/cli.js +0 -48
  561. package/dist/cli.js.map +0 -1
  562. package/dist/cli.mjs +0 -48
  563. package/dist/cli.mjs.map +0 -1
  564. package/dist/ee/admin/src/constants.d.ts +0 -55
  565. package/dist/ee/admin/src/hooks/useLicenseLimitNotification.d.ts +0 -1
  566. package/dist/ee/admin/src/pages/AuthPage/components/Login.d.ts +0 -3
  567. package/dist/ee/admin/src/pages/AuthPage/components/Providers.d.ts +0 -2
  568. package/dist/ee/admin/src/pages/AuthPage/components/SSOProviders.d.ts +0 -8
  569. package/dist/ee/admin/src/pages/AuthPage/constants.d.ts +0 -3
  570. package/dist/ee/admin/src/pages/AuthResponse.d.ts +0 -2
  571. package/dist/ee/admin/src/pages/HomePage.d.ts +0 -1
  572. package/dist/shared/contracts/admin.d.ts +0 -23
  573. package/dist/shared/contracts/authentication.d.ts +0 -126
  574. package/dist/shared/contracts/providers.d.ts +0 -34
  575. package/dist/shared/contracts/roles.d.ts +0 -52
  576. package/dist/shared/contracts/shared.d.ts +0 -39
  577. package/dist/shared/contracts/user.d.ts +0 -40
  578. package/dist/shared/contracts/users.d.ts +0 -52
  579. package/dist/shared/schema.d.ts +0 -7
  580. package/ee/server/bootstrap.js +0 -41
  581. package/ee/server/config/admin-actions.js +0 -72
  582. package/ee/server/constants/default-stages.json +0 -18
  583. package/ee/server/constants/default-workflow.json +0 -3
  584. package/ee/server/constants/webhookEvents.js +0 -5
  585. package/ee/server/constants/workflows.js +0 -33
  586. package/ee/server/content-types/index.js +0 -9
  587. package/ee/server/content-types/workflow/index.js +0 -41
  588. package/ee/server/content-types/workflow-stage/index.js +0 -51
  589. package/ee/server/controllers/__tests__/stages.test.js +0 -174
  590. package/ee/server/controllers/admin.js +0 -50
  591. package/ee/server/controllers/audit-logs.js +0 -24
  592. package/ee/server/controllers/authentication/constants.js +0 -11
  593. package/ee/server/controllers/authentication/index.js +0 -11
  594. package/ee/server/controllers/authentication/middlewares.js +0 -117
  595. package/ee/server/controllers/authentication/utils.js +0 -23
  596. package/ee/server/controllers/authentication.js +0 -64
  597. package/ee/server/controllers/index.js +0 -12
  598. package/ee/server/controllers/role.js +0 -64
  599. package/ee/server/controllers/user.js +0 -110
  600. package/ee/server/controllers/workflows/assignees/index.js +0 -44
  601. package/ee/server/controllers/workflows/index.js +0 -188
  602. package/ee/server/controllers/workflows/stages/index.js +0 -189
  603. package/ee/server/destroy.js +0 -12
  604. package/ee/server/index.js +0 -11
  605. package/ee/server/middlewares/__tests__/review-workflows.test.js +0 -40
  606. package/ee/server/middlewares/review-workflows.js +0 -40
  607. package/ee/server/migrations/audit-logs-table.js +0 -45
  608. package/ee/server/migrations/review-workflows-content-types.js +0 -29
  609. package/ee/server/migrations/review-workflows-deleted-ct-in-workflows.js +0 -39
  610. package/ee/server/migrations/review-workflows-stage-attribute.js +0 -49
  611. package/ee/server/migrations/review-workflows-stages-color.js +0 -20
  612. package/ee/server/migrations/review-workflows-stages-roles.js +0 -68
  613. package/ee/server/migrations/review-workflows-workflow-name.js +0 -28
  614. package/ee/server/register.js +0 -40
  615. package/ee/server/routes/audit-logs.js +0 -43
  616. package/ee/server/routes/index.js +0 -8
  617. package/ee/server/routes/license-limit.js +0 -29
  618. package/ee/server/routes/review-workflows.js +0 -164
  619. package/ee/server/routes/sso.js +0 -69
  620. package/ee/server/routes/utils.js +0 -15
  621. package/ee/server/services/__tests__/assignees.test.js +0 -76
  622. package/ee/server/services/__tests__/audit-logs.test.js +0 -300
  623. package/ee/server/services/__tests__/passport.test.js +0 -95
  624. package/ee/server/services/__tests__/review-workflows-validation.test.js +0 -100
  625. package/ee/server/services/__tests__/review-workflows.test.js +0 -163
  626. package/ee/server/services/__tests__/sso.test.js +0 -117
  627. package/ee/server/services/__tests__/stages.test.js +0 -275
  628. package/ee/server/services/__tests__/workflows.test.js +0 -203
  629. package/ee/server/services/audit-logs.js +0 -236
  630. package/ee/server/services/auth.js +0 -75
  631. package/ee/server/services/index.js +0 -18
  632. package/ee/server/services/passport/provider-registry.js +0 -27
  633. package/ee/server/services/passport/sso.js +0 -37
  634. package/ee/server/services/passport.js +0 -46
  635. package/ee/server/services/review-workflows/__tests__/entity-service-decorator.test.js +0 -211
  636. package/ee/server/services/review-workflows/assignees.js +0 -54
  637. package/ee/server/services/review-workflows/entity-service-decorator.js +0 -101
  638. package/ee/server/services/review-workflows/metrics/__tests__/weekly-metrics.test.js +0 -65
  639. package/ee/server/services/review-workflows/metrics/index.js +0 -56
  640. package/ee/server/services/review-workflows/metrics/weekly-metrics.js +0 -76
  641. package/ee/server/services/review-workflows/review-workflows.js +0 -133
  642. package/ee/server/services/review-workflows/stage-permissions.js +0 -60
  643. package/ee/server/services/review-workflows/stages.js +0 -384
  644. package/ee/server/services/review-workflows/validation.js +0 -68
  645. package/ee/server/services/review-workflows/workflows/__tests__/content-types.test.js +0 -146
  646. package/ee/server/services/review-workflows/workflows/content-types.js +0 -89
  647. package/ee/server/services/review-workflows/workflows/index.js +0 -237
  648. package/ee/server/services/role.js +0 -24
  649. package/ee/server/services/seat-enforcement.js +0 -114
  650. package/ee/server/services/user.js +0 -234
  651. package/ee/server/utils/__tests__/persisted-tables.test.js +0 -38
  652. package/ee/server/utils/__tests__/sso-lock.test.js +0 -84
  653. package/ee/server/utils/index.js +0 -8
  654. package/ee/server/utils/persisted-tables.js +0 -139
  655. package/ee/server/utils/review-workflows.js +0 -39
  656. package/ee/server/utils/sso-lock.js +0 -42
  657. package/ee/server/validation/audit-logs.js +0 -18
  658. package/ee/server/validation/authentication.js +0 -36
  659. package/ee/server/validation/review-workflows.js +0 -92
  660. package/ee/server/validation/role.js +0 -68
  661. package/ee/server/validation/user.js +0 -27
  662. package/ee/strapi-server.js +0 -3
  663. package/server/bootstrap.js +0 -101
  664. package/server/config/admin-actions.js +0 -216
  665. package/server/config/admin-conditions.js +0 -26
  666. package/server/config/email-templates/forgot-password.js +0 -25
  667. package/server/config/index.js +0 -9
  668. package/server/config/settings.js +0 -9
  669. package/server/content-types/Permission.js +0 -64
  670. package/server/content-types/Role.js +0 -59
  671. package/server/content-types/User.js +0 -112
  672. package/server/content-types/api-token-permission.js +0 -36
  673. package/server/content-types/api-token.js +0 -76
  674. package/server/content-types/index.js +0 -11
  675. package/server/content-types/transfer-token-permission.js +0 -36
  676. package/server/content-types/transfer-token.js +0 -66
  677. package/server/controllers/__tests__/admin.test.js +0 -106
  678. package/server/controllers/__tests__/api-token.test.js +0 -496
  679. package/server/controllers/__tests__/content-api.test.js +0 -173
  680. package/server/controllers/__tests__/permission.test.js +0 -200
  681. package/server/controllers/__tests__/role.test.js +0 -201
  682. package/server/controllers/__tests__/transfer/token.test.js +0 -520
  683. package/server/controllers/__tests__/user.test.js +0 -326
  684. package/server/controllers/admin.js +0 -151
  685. package/server/controllers/api-token.js +0 -135
  686. package/server/controllers/authenticated-user.js +0 -52
  687. package/server/controllers/authentication.js +0 -172
  688. package/server/controllers/content-api.js +0 -15
  689. package/server/controllers/formatters/conditions.js +0 -12
  690. package/server/controllers/formatters/format-actions-by-sections.js +0 -40
  691. package/server/controllers/formatters/index.js +0 -9
  692. package/server/controllers/index.js +0 -14
  693. package/server/controllers/permission.js +0 -45
  694. package/server/controllers/role.js +0 -198
  695. package/server/controllers/transfer/index.js +0 -13
  696. package/server/controllers/transfer/runner.js +0 -28
  697. package/server/controllers/transfer/token.js +0 -131
  698. package/server/controllers/user.js +0 -141
  699. package/server/controllers/webhooks.js +0 -132
  700. package/server/destroy.js +0 -10
  701. package/server/domain/action/__tests__/action-domain.test.js +0 -230
  702. package/server/domain/action/__tests__/action-provider.test.js +0 -376
  703. package/server/domain/action/index.js +0 -142
  704. package/server/domain/action/provider.js +0 -83
  705. package/server/domain/condition/__tests__/condition-domain.test.js +0 -122
  706. package/server/domain/condition/__tests__/condition-provider.test.js +0 -156
  707. package/server/domain/condition/index.js +0 -92
  708. package/server/domain/condition/provider.js +0 -42
  709. package/server/domain/permission/__tests__/permission-domain.test.js +0 -285
  710. package/server/domain/permission/index.js +0 -156
  711. package/server/domain/user.js +0 -28
  712. package/server/index.js +0 -26
  713. package/server/middlewares/data-transfer.js +0 -29
  714. package/server/middlewares/index.js +0 -8
  715. package/server/middlewares/rateLimit.js +0 -47
  716. package/server/policies/hasPermissions.js +0 -38
  717. package/server/policies/index.js +0 -7
  718. package/server/policies/isAuthenticatedAdmin.js +0 -5
  719. package/server/policies/isTelemetryEnabled.js +0 -16
  720. package/server/register.js +0 -19
  721. package/server/routes/admin.js +0 -71
  722. package/server/routes/api-tokens.js +0 -70
  723. package/server/routes/authentication.js +0 -57
  724. package/server/routes/content-api.js +0 -20
  725. package/server/routes/index.js +0 -28
  726. package/server/routes/permissions.js +0 -20
  727. package/server/routes/roles.js +0 -107
  728. package/server/routes/serve-admin-panel.js +0 -71
  729. package/server/routes/transfer.js +0 -102
  730. package/server/routes/users.js +0 -88
  731. package/server/routes/webhooks.js +0 -81
  732. package/server/services/__tests__/action.test.js +0 -98
  733. package/server/services/__tests__/api-token.test.js +0 -980
  734. package/server/services/__tests__/auth.test.js +0 -319
  735. package/server/services/__tests__/content-type.test.js +0 -405
  736. package/server/services/__tests__/metrics.test.js +0 -65
  737. package/server/services/__tests__/passport.test.js +0 -90
  738. package/server/services/__tests__/permission.test.js +0 -177
  739. package/server/services/__tests__/permissions-manager-sanitize.test.js +0 -117
  740. package/server/services/__tests__/permissions-manager-validate.test.js +0 -119
  741. package/server/services/__tests__/permissions-manager.test.js +0 -318
  742. package/server/services/__tests__/permissions.section-builder.section.test.js +0 -136
  743. package/server/services/__tests__/project-settings.test.js +0 -397
  744. package/server/services/__tests__/role.test.js +0 -970
  745. package/server/services/__tests__/token.test.js +0 -217
  746. package/server/services/__tests__/transfer/token.test.js +0 -878
  747. package/server/services/__tests__/user.test.js +0 -786
  748. package/server/services/action.js +0 -35
  749. package/server/services/api-token.js +0 -453
  750. package/server/services/auth.js +0 -117
  751. package/server/services/condition.js +0 -14
  752. package/server/services/constants.js +0 -37
  753. package/server/services/content-type.js +0 -208
  754. package/server/services/index.js +0 -18
  755. package/server/services/metrics.js +0 -44
  756. package/server/services/passport/local-strategy.js +0 -28
  757. package/server/services/passport.js +0 -45
  758. package/server/services/permission/engine.js +0 -85
  759. package/server/services/permission/permissions-manager/index.js +0 -53
  760. package/server/services/permission/permissions-manager/query-builders.js +0 -72
  761. package/server/services/permission/permissions-manager/sanitize.js +0 -286
  762. package/server/services/permission/permissions-manager/validate.js +0 -218
  763. package/server/services/permission/queries.js +0 -190
  764. package/server/services/permission/sections-builder/builder.js +0 -84
  765. package/server/services/permission/sections-builder/handlers.js +0 -156
  766. package/server/services/permission/sections-builder/index.js +0 -50
  767. package/server/services/permission/sections-builder/section.js +0 -71
  768. package/server/services/permission/sections-builder/utils.js +0 -26
  769. package/server/services/permission.js +0 -33
  770. package/server/services/project-settings.js +0 -174
  771. package/server/services/role.js +0 -471
  772. package/server/services/token.js +0 -70
  773. package/server/services/transfer/index.js +0 -7
  774. package/server/services/transfer/permission.js +0 -22
  775. package/server/services/transfer/token.js +0 -449
  776. package/server/services/transfer/utils.js +0 -38
  777. package/server/services/user.js +0 -363
  778. package/server/strategies/__tests__/admin.test.js +0 -118
  779. package/server/strategies/__tests__/api-token.test.js +0 -364
  780. package/server/strategies/admin.js +0 -52
  781. package/server/strategies/api-token.js +0 -140
  782. package/server/strategies/data-transfer.js +0 -113
  783. package/server/strategies/index.js +0 -26
  784. package/server/utils/index.d.ts +0 -25
  785. package/server/utils/index.js +0 -9
  786. package/server/validation/__tests__/common-functions.test.js +0 -54
  787. package/server/validation/action-provider.js +0 -67
  788. package/server/validation/api-tokens.js +0 -32
  789. package/server/validation/authentication/forgot-password.js +0 -14
  790. package/server/validation/authentication/index.js +0 -19
  791. package/server/validation/authentication/register.js +0 -45
  792. package/server/validation/authentication/renew-token.js +0 -7
  793. package/server/validation/authentication/reset-password.js +0 -15
  794. package/server/validation/common-functions/check-fields-are-correctly-nested.js +0 -28
  795. package/server/validation/common-functions/check-fields-dont-have-duplicates.js +0 -17
  796. package/server/validation/common-functions/index.js +0 -9
  797. package/server/validation/common-validators.js +0 -209
  798. package/server/validation/permission.js +0 -53
  799. package/server/validation/policies/hasPermissions.js +0 -27
  800. package/server/validation/project-settings.js +0 -48
  801. package/server/validation/role.js +0 -59
  802. package/server/validation/transfer/index.js +0 -5
  803. package/server/validation/transfer/token.js +0 -42
  804. package/server/validation/user.js +0 -65
@@ -1,1432 +0,0 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { useReducer, useState, useRef, forwardRef, useImperativeHandle } from "react";
4
- import { Icon, ModalLayout, ModalHeader, Typography, FieldInput, Box, Field, Flex, Button, FieldError, ModalFooter, TextInput, TabGroup, Tabs, Tab, Divider, TabPanels, TabPanel, Card, CardHeader, CardAsset, CardBody, CardContent, CardTitle, CardSubtitle, CardBadge, CarouselInput, CarouselActions, IconButton, CarouselSlide, Grid, GridItem, Layout, Main, Loader, HeaderLayout, ContentLayout, Link } from "@strapi/design-system";
5
- import { useRBACProvider, useAppInfo, useStrapiApp, hasPermissions, useTracking, getFetchClient, pxToRem, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, useFocusWhenNavigate, prefixFileUrlWithBackendUrl, SettingsPageTitle, LoadingIndicatorPage } from "@strapi/helper-plugin";
6
- import { Helmet } from "react-helmet";
7
- import { useIntl } from "react-intl";
8
- import { useLocation, NavLink, useParams, Redirect, Switch, Route } from "react-router-dom";
9
- import { Q as SETTINGS_LINKS_CE, p as useEnterprise, u as useConfiguration, d as createRoute } from "./index-8933483b.mjs";
10
- import sortBy from "lodash/sortBy";
11
- import { useSelector } from "react-redux";
12
- import { s as selectAdminPermissions } from "./AuthenticatedApp-bb31f306.mjs";
13
- import { SubNav, SubNavHeader, SubNavSections, SubNavSection, SubNavLink } from "@strapi/design-system/v2";
14
- import { Lock, PicturePlus, Plus, Refresh, Check, ExternalLink } from "@strapi/icons";
15
- import PropTypes from "prop-types";
16
- import styled from "styled-components";
17
- import { useQuery, useMutation } from "react-query";
18
- import produce from "immer";
19
- import merge from "lodash/merge";
20
- import "react-dom/client";
21
- import "invariant";
22
- import "lodash/isFunction";
23
- import "lodash/pick";
24
- import "@radix-ui/react-context";
25
- import "formik";
26
- import "lodash/camelCase";
27
- import "yup";
28
- import "lodash/defaultsDeep";
29
- import "lodash/omit";
30
- import "qs";
31
- import "lodash/get";
32
- import "lodash/set";
33
- import "@reduxjs/toolkit";
34
- import "semver/functions/lt";
35
- import "semver/functions/valid";
36
- import "react-dnd";
37
- import "react-dnd-html5-backend";
38
- import "lodash/cloneDeep";
39
- const formatLinks = (menu) => menu.map((menuSection) => {
40
- const formattedLinks = menuSection.links.map((link) => ({
41
- ...link,
42
- isDisplayed: false
43
- }));
44
- return { ...menuSection, links: formattedLinks };
45
- });
46
- const useSettingsMenu = () => {
47
- const [{ isLoading, menu }, setData] = React.useState({
48
- isLoading: true,
49
- menu: []
50
- });
51
- const { allPermissions: userPermissions } = useRBACProvider();
52
- const { shouldUpdateStrapi } = useAppInfo();
53
- const { settings } = useStrapiApp();
54
- const permissions = useSelector(selectAdminPermissions);
55
- const ceLinks = React.useMemo(() => SETTINGS_LINKS_CE(), []);
56
- const { admin: adminLinks, global: globalLinks } = useEnterprise(
57
- ceLinks,
58
- async () => (await import("./constants-6ecddc43.mjs")).SETTINGS_LINKS_EE(),
59
- {
60
- combine(ceLinks2, eeLinks) {
61
- return {
62
- admin: [...eeLinks.admin, ...ceLinks2.admin],
63
- global: [...ceLinks2.global, ...eeLinks.global]
64
- };
65
- },
66
- defaultValue: {
67
- admin: [],
68
- global: []
69
- }
70
- }
71
- );
72
- const addPermissions = React.useCallback(
73
- (link) => {
74
- if (!link.id) {
75
- throw new Error("The settings menu item must have an id attribute.");
76
- }
77
- return {
78
- ...link,
79
- permissions: permissions.settings?.[link.id]?.main ?? []
80
- };
81
- },
82
- [permissions.settings]
83
- );
84
- React.useEffect(() => {
85
- const getData = async () => {
86
- const buildMenuPermissions = (sections2) => Promise.all(
87
- sections2.reduce((acc, section, sectionIndex) => {
88
- const linksWithPermissions = section.links.map(async (link, linkIndex) => ({
89
- hasPermission: await hasPermissions(userPermissions, link.permissions),
90
- sectionIndex,
91
- linkIndex
92
- }));
93
- return [...acc, ...linksWithPermissions];
94
- }, [])
95
- );
96
- const menuPermissions = await buildMenuPermissions(sections);
97
- setData((prev) => {
98
- return {
99
- ...prev,
100
- isLoading: false,
101
- menu: sections.map((section, sectionIndex) => ({
102
- ...section,
103
- links: section.links.map((link, linkIndex) => {
104
- const permission = menuPermissions.find(
105
- (permission2) => permission2.sectionIndex === sectionIndex && permission2.linkIndex === linkIndex
106
- );
107
- return {
108
- ...link,
109
- isDisplayed: Boolean(permission?.hasPermission)
110
- };
111
- })
112
- }))
113
- };
114
- });
115
- };
116
- const { global, ...otherSections } = settings;
117
- const sections = formatLinks([
118
- {
119
- ...global,
120
- links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(
121
- (link) => ({
122
- ...link,
123
- hasNotification: link.id === "000-application-infos" && shouldUpdateStrapi
124
- })
125
- )
126
- },
127
- {
128
- id: "permissions",
129
- intlLabel: { id: "Settings.permissions", defaultMessage: "Administration Panel" },
130
- links: adminLinks.map(addPermissions)
131
- },
132
- ...Object.values(otherSections)
133
- ]);
134
- getData();
135
- }, [adminLinks, globalLinks, userPermissions, settings, shouldUpdateStrapi, addPermissions]);
136
- return {
137
- isLoading,
138
- menu: menu.map((menuItem) => ({
139
- ...menuItem,
140
- links: menuItem.links.filter((link) => link.isDisplayed)
141
- }))
142
- };
143
- };
144
- const CustomIcon = styled(Icon)`
145
- right: 15px;
146
- position: absolute;
147
- `;
148
- const SettingsNav = ({ menu }) => {
149
- const { formatMessage } = useIntl();
150
- const { trackUsage } = useTracking();
151
- const { pathname } = useLocation();
152
- const filteredMenu = menu.filter(
153
- (section) => !section.links.every((link) => link.isDisplayed === false)
154
- );
155
- const sections = filteredMenu.map((section) => {
156
- return {
157
- ...section,
158
- title: section.intlLabel,
159
- links: section.links.map((link) => {
160
- return {
161
- ...link,
162
- title: link.intlLabel,
163
- name: link.id
164
- };
165
- })
166
- };
167
- });
168
- const label = formatMessage({
169
- id: "global.settings",
170
- defaultMessage: "Settings"
171
- });
172
- const handleClickOnLink = (destination = null) => {
173
- trackUsage("willNavigate", { from: pathname, to: destination });
174
- };
175
- return /* @__PURE__ */ jsxs(SubNav, { ariaLabel: label, children: [
176
- /* @__PURE__ */ jsx(SubNavHeader, { label }),
177
- /* @__PURE__ */ jsx(SubNavSections, { children: sections.map((section) => /* @__PURE__ */ jsx(SubNavSection, { label: formatMessage(section.intlLabel), children: section.links.map((link) => {
178
- return /* @__PURE__ */ jsxs(
179
- SubNavLink,
180
- {
181
- as: NavLink,
182
- withBullet: link.hasNotification,
183
- to: link.to,
184
- onClick: () => handleClickOnLink(link.to),
185
- children: [
186
- formatMessage(link.intlLabel),
187
- link?.lockIcon && /* @__PURE__ */ jsx(CustomIcon, { width: `${15 / 16}rem`, height: `${15 / 16}rem`, as: Lock })
188
- ]
189
- },
190
- link.id
191
- );
192
- }) }, section.id)) })
193
- ] });
194
- };
195
- SettingsNav.propTypes = {
196
- menu: PropTypes.array.isRequired
197
- };
198
- const ROUTES_CE = [
199
- {
200
- async Component() {
201
- const component = await import("./index-296c14bf.mjs");
202
- return component;
203
- },
204
- to: "/settings/roles",
205
- exact: true
206
- },
207
- {
208
- async Component() {
209
- const component = await import("./index-115d317b.mjs");
210
- return component;
211
- },
212
- to: "/settings/roles/duplicate/:id",
213
- exact: true
214
- },
215
- {
216
- async Component() {
217
- const component = await import("./index-115d317b.mjs");
218
- return component;
219
- },
220
- to: "/settings/roles/new",
221
- exact: true
222
- },
223
- {
224
- async Component() {
225
- const component = await import("./index-ab31623a.mjs");
226
- return component;
227
- },
228
- to: "/settings/roles/:id",
229
- exact: true
230
- },
231
- {
232
- async Component() {
233
- const component = await import("./index-8109fa91.mjs").then((n) => n.i);
234
- return component;
235
- },
236
- to: "/settings/users",
237
- exact: true
238
- },
239
- {
240
- async Component() {
241
- const component = await import("./index-fd4e5616.mjs");
242
- return component;
243
- },
244
- to: "/settings/users/:id",
245
- exact: true
246
- },
247
- {
248
- async Component() {
249
- const component = await import("./index-ac85118a.mjs");
250
- return component;
251
- },
252
- to: "/settings/webhooks/create",
253
- exact: true
254
- },
255
- {
256
- async Component() {
257
- const component = await import("./index-e2d2f58e.mjs");
258
- return component;
259
- },
260
- to: "/settings/webhooks/:id",
261
- exact: true
262
- },
263
- {
264
- async Component() {
265
- const component = await import("./index-e79b2b9e.mjs");
266
- return component;
267
- },
268
- to: "/settings/webhooks",
269
- exact: true
270
- },
271
- {
272
- async Component() {
273
- const component = await import("./index-989bbeec.mjs");
274
- return component;
275
- },
276
- to: "/settings/api-tokens",
277
- exact: true
278
- },
279
- {
280
- async Component() {
281
- const component = await import("./index-383efae4.mjs");
282
- return component;
283
- },
284
- to: "/settings/api-tokens/create",
285
- exact: true
286
- },
287
- {
288
- async Component() {
289
- const component = await import("./index-e117c643.mjs");
290
- return component;
291
- },
292
- to: "/settings/api-tokens/:id",
293
- exact: true
294
- },
295
- {
296
- async Component() {
297
- const component = await import("./index-10a05917.mjs");
298
- return component;
299
- },
300
- to: "/settings/transfer-tokens/create",
301
- exact: true
302
- },
303
- {
304
- async Component() {
305
- const component = await import("./index-d2d9df41.mjs");
306
- return component;
307
- },
308
- to: "/settings/transfer-tokens",
309
- exact: true
310
- },
311
- {
312
- async Component() {
313
- const component = await import("./index-ea18ff22.mjs");
314
- return component;
315
- },
316
- to: "/settings/transfer-tokens/:id",
317
- exact: true
318
- },
319
- {
320
- async Component() {
321
- const component = await import("./SalesPage-56bf9463.mjs");
322
- return component;
323
- },
324
- to: "/settings/purchase-audit-logs",
325
- exact: true
326
- },
327
- {
328
- async Component() {
329
- const component = await import("./SalesPage-fceedf48.mjs");
330
- return component;
331
- },
332
- to: "/settings/purchase-review-workflows",
333
- exact: true
334
- },
335
- {
336
- async Component() {
337
- const component = await import("./SalesPage-f9597ae7.mjs");
338
- return component;
339
- },
340
- to: "/settings/purchase-single-sign-on",
341
- exact: true
342
- }
343
- ];
344
- const DIMENSION = 750;
345
- const SIZE = 100;
346
- const ACCEPTED_FORMAT = ["image/jpeg", "image/png", "image/svg+xml"];
347
- const initialState$2 = {
348
- localImage: void 0
349
- };
350
- const reducer$2 = (state = initialState$2, action) => produce(state, (draftState) => {
351
- switch (action.type) {
352
- case "SET_LOCAL_IMAGE": {
353
- draftState.localImage = action.value;
354
- break;
355
- }
356
- default: {
357
- return draftState;
358
- }
359
- }
360
- });
361
- const LogoModalStepper = ({
362
- onChangeLogo,
363
- customLogo,
364
- goTo,
365
- Component,
366
- modalTitle,
367
- next,
368
- prev,
369
- currentStep
370
- }) => {
371
- const [{ localImage }, dispatch] = useReducer(reducer$2, initialState$2);
372
- const { formatMessage } = useIntl();
373
- const setLocalImage = (asset) => {
374
- dispatch({
375
- type: "SET_LOCAL_IMAGE",
376
- value: asset
377
- });
378
- };
379
- const handleCloseModal = () => {
380
- goTo(null);
381
- };
382
- if (!currentStep) {
383
- return null;
384
- }
385
- return /* @__PURE__ */ jsxs(ModalLayout, { labelledBy: "modal", onClose: handleCloseModal, children: [
386
- /* @__PURE__ */ jsx(ModalHeader, { children: /* @__PURE__ */ jsx(Typography, { fontWeight: "bold", as: "h2", id: "modal", children: formatMessage(modalTitle) }) }),
387
- /* @__PURE__ */ jsx(
388
- Component,
389
- {
390
- setLocalImage,
391
- goTo,
392
- next,
393
- prev,
394
- onClose: handleCloseModal,
395
- asset: localImage || customLogo,
396
- onChangeLogo
397
- }
398
- )
399
- ] });
400
- };
401
- LogoModalStepper.defaultProps = {
402
- Component: void 0,
403
- currentStep: void 0,
404
- customLogo: void 0,
405
- modalTitle: void 0,
406
- next: null,
407
- prev: null
408
- };
409
- LogoModalStepper.propTypes = {
410
- Component: PropTypes.elementType,
411
- currentStep: PropTypes.string,
412
- customLogo: PropTypes.shape({
413
- name: PropTypes.string,
414
- url: PropTypes.string,
415
- width: PropTypes.number,
416
- height: PropTypes.number,
417
- ext: PropTypes.string
418
- }),
419
- goTo: PropTypes.func.isRequired,
420
- modalTitle: PropTypes.shape({
421
- id: PropTypes.string,
422
- defaultMessage: PropTypes.string
423
- }),
424
- next: PropTypes.string,
425
- onChangeLogo: PropTypes.func.isRequired,
426
- prev: PropTypes.string
427
- };
428
- const initialState$1 = {
429
- currentStep: void 0
430
- };
431
- const reducer$1 = (state = initialState$1, action) => produce(state, (draftState) => {
432
- switch (action.type) {
433
- case "GO_TO": {
434
- draftState.currentStep = action.to;
435
- break;
436
- }
437
- default: {
438
- return draftState;
439
- }
440
- }
441
- });
442
- const FILE_FORMAT_ERROR_MESSAGE = {
443
- id: "Settings.application.customization.modal.upload.error-format",
444
- defaultMessage: "Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."
445
- };
446
- const FILE_SIZING_ERROR_MESSAGE = {
447
- id: "Settings.application.customization.modal.upload.error-size",
448
- defaultMessage: "The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"
449
- };
450
- const getFileDimensions = (file) => {
451
- return new Promise((resolve) => {
452
- const reader = new FileReader();
453
- reader.onload = () => {
454
- const img = new Image();
455
- img.onload = function() {
456
- resolve({ width: img.width, height: img.height });
457
- };
458
- img.src = reader.result;
459
- };
460
- reader.readAsDataURL(file);
461
- });
462
- };
463
- const rawFileToAsset = (rawFile, fileDimensions) => {
464
- return {
465
- ext: rawFile.name.split(".").pop(),
466
- size: rawFile.size / 1e3,
467
- name: rawFile.name,
468
- url: URL.createObjectURL(rawFile),
469
- rawFile,
470
- width: fileDimensions.width,
471
- height: fileDimensions.height
472
- };
473
- };
474
- const parseFileMetadatas = async (file) => {
475
- let error;
476
- const isFormatAuthorized = ACCEPTED_FORMAT.includes(file.type);
477
- if (!isFormatAuthorized) {
478
- error = new Error("File format");
479
- error.displayMessage = FILE_FORMAT_ERROR_MESSAGE;
480
- throw error;
481
- }
482
- const fileDimensions = await getFileDimensions(file);
483
- const areDimensionsAuthorized = fileDimensions.width <= DIMENSION && fileDimensions.height <= DIMENSION;
484
- if (!areDimensionsAuthorized) {
485
- error = new Error("File sizing");
486
- error.displayMessage = FILE_SIZING_ERROR_MESSAGE;
487
- throw error;
488
- }
489
- const asset = rawFileToAsset(file, fileDimensions);
490
- const isSizeAuthorized = asset.size <= SIZE;
491
- if (!isSizeAuthorized) {
492
- error = new Error("File sizing");
493
- error.displayMessage = FILE_SIZING_ERROR_MESSAGE;
494
- throw error;
495
- }
496
- return asset;
497
- };
498
- const FileInput = styled(FieldInput)`
499
- opacity: 0;
500
- position: absolute;
501
- top: 0;
502
- bottom: 0;
503
- left: 0;
504
- right: 0;
505
- z-index: 1;
506
- `;
507
- const FromComputerForm = ({ setLocalImage, goTo, next, onClose }) => {
508
- const { formatMessage } = useIntl();
509
- const [dragOver, setDragOver] = useState(false);
510
- const [fileError, setFileError] = useState(void 0);
511
- const inputRef = useRef(null);
512
- const handleDragEnter = () => setDragOver(true);
513
- const handleDragLeave = () => setDragOver(false);
514
- const handleClick = (e) => {
515
- e.preventDefault();
516
- inputRef.current.click();
517
- };
518
- const handleChange = async () => {
519
- handleDragLeave();
520
- const file = inputRef.current.files[0];
521
- if (!file) {
522
- return;
523
- }
524
- try {
525
- const asset = await parseFileMetadatas(file);
526
- setLocalImage(asset);
527
- goTo(next);
528
- } catch (err) {
529
- if (err.displayMessage) {
530
- setFileError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));
531
- inputRef.current.focus();
532
- } else {
533
- throw err;
534
- }
535
- }
536
- };
537
- const getBorderColor = () => {
538
- if (dragOver) {
539
- return "primary500";
540
- }
541
- if (fileError) {
542
- return "danger600";
543
- }
544
- return "neutral300";
545
- };
546
- return /* @__PURE__ */ jsxs(Fragment, { children: [
547
- /* @__PURE__ */ jsx("form", { children: /* @__PURE__ */ jsx(Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(Field, { name: "logo-upload", error: fileError, children: /* @__PURE__ */ jsx("label", { htmlFor: "logo-upload", children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
548
- /* @__PURE__ */ jsxs(
549
- Flex,
550
- {
551
- paddingTop: 9,
552
- paddingBottom: 7,
553
- hasRadius: true,
554
- justifyContent: "center",
555
- direction: "column",
556
- background: dragOver ? "primary100" : "neutral100",
557
- borderColor: getBorderColor(),
558
- borderStyle: "dashed",
559
- borderWidth: "1px",
560
- position: "relative",
561
- onDragEnter: handleDragEnter,
562
- onDragLeave: handleDragLeave,
563
- children: [
564
- /* @__PURE__ */ jsx(
565
- Icon,
566
- {
567
- color: "primary600",
568
- width: `${60 / 16}rem`,
569
- height: `${60 / 16}rem`,
570
- as: PicturePlus,
571
- "aria-hidden": true
572
- }
573
- ),
574
- /* @__PURE__ */ jsx(Box, { paddingTop: 3, paddingBottom: 5, children: /* @__PURE__ */ jsx(Typography, { variant: "delta", as: "span", children: formatMessage({
575
- id: "Settings.application.customization.modal.upload.drag-drop",
576
- defaultMessage: "Drag and Drop here or"
577
- }) }) }),
578
- /* @__PURE__ */ jsx(
579
- FileInput,
580
- {
581
- accept: ACCEPTED_FORMAT,
582
- cursor: "pointer",
583
- as: "input",
584
- type: "file",
585
- name: "files",
586
- tabIndex: -1,
587
- zIndex: 1,
588
- onChange: handleChange,
589
- ref: inputRef,
590
- id: "logo-upload"
591
- }
592
- ),
593
- /* @__PURE__ */ jsx(Button, { type: "button", onClick: handleClick, children: formatMessage({
594
- id: "Settings.application.customization.modal.upload.cta.browse",
595
- defaultMessage: "Browse files"
596
- }) }),
597
- /* @__PURE__ */ jsx(Box, { paddingTop: 6, children: /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: formatMessage(
598
- {
599
- id: "Settings.application.customization.modal.upload.file-validation",
600
- defaultMessage: "Max dimension: {dimension}x{dimension}, Max size: {size}KB"
601
- },
602
- { size: SIZE, dimension: DIMENSION }
603
- ) }) })
604
- ]
605
- }
606
- ),
607
- /* @__PURE__ */ jsx(FieldError, {})
608
- ] }) }) }) }) }),
609
- /* @__PURE__ */ jsx(
610
- ModalFooter,
611
- {
612
- startActions: /* @__PURE__ */ jsx(Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
613
- id: "Settings.application.customization.modal.cancel",
614
- defaultMessage: "Cancel"
615
- }) })
616
- }
617
- )
618
- ] });
619
- };
620
- FromComputerForm.defaultProps = {
621
- next: null
622
- };
623
- FromComputerForm.propTypes = {
624
- goTo: PropTypes.func.isRequired,
625
- next: PropTypes.string,
626
- onClose: PropTypes.func.isRequired,
627
- setLocalImage: PropTypes.func.isRequired
628
- };
629
- const urlToFile = async (url) => {
630
- try {
631
- const { get } = getFetchClient();
632
- const res = await get(url, { responseType: "blob", timeout: 8e3 });
633
- const loadedFile = new File([res.data], res.config.url, {
634
- type: res.headers["content-type"]
635
- });
636
- return loadedFile;
637
- } catch (err) {
638
- err.displayMessage = {
639
- id: "Settings.application.customization.modal.upload.error-network",
640
- defaultMessage: "Network error"
641
- };
642
- throw err;
643
- }
644
- };
645
- const FromUrlForm = ({ goTo, next, onClose, setLocalImage }) => {
646
- const { formatMessage } = useIntl();
647
- const [logoUrl, setLogoUrl] = useState("");
648
- const [error, setError] = useState(null);
649
- const handleChange = (e) => {
650
- setLogoUrl(e.target.value);
651
- };
652
- const handleSubmit = async () => {
653
- try {
654
- const file = await urlToFile(logoUrl);
655
- const asset = await parseFileMetadatas(file);
656
- setLocalImage(asset);
657
- goTo(next);
658
- } catch (err) {
659
- if (err.displayMessage) {
660
- setError(formatMessage(err.displayMessage, { size: SIZE, dimension: DIMENSION }));
661
- } else {
662
- throw err;
663
- }
664
- }
665
- };
666
- return /* @__PURE__ */ jsxs(
667
- "form",
668
- {
669
- onSubmit: (e) => {
670
- e.preventDefault();
671
- handleSubmit();
672
- },
673
- children: [
674
- /* @__PURE__ */ jsx(Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: /* @__PURE__ */ jsx(
675
- TextInput,
676
- {
677
- label: formatMessage({
678
- id: "Settings.application.customization.modal.upload.from-url.input-label",
679
- defaultMessage: "URL"
680
- }),
681
- error,
682
- onChange: handleChange,
683
- value: logoUrl,
684
- name: "logo-url"
685
- }
686
- ) }),
687
- /* @__PURE__ */ jsx(
688
- ModalFooter,
689
- {
690
- startActions: /* @__PURE__ */ jsx(Button, { onClick: onClose, variant: "tertiary", children: formatMessage({ id: "app.components.Button.cancel", defaultMessage: "Cancel" }) }),
691
- endActions: /* @__PURE__ */ jsx(Button, { type: "submit", children: formatMessage({
692
- id: "Settings.application.customization.modal.upload.next",
693
- defaultMessage: "Next"
694
- }) })
695
- }
696
- )
697
- ]
698
- }
699
- );
700
- };
701
- FromUrlForm.defaultProps = {
702
- next: null
703
- };
704
- FromUrlForm.propTypes = {
705
- goTo: PropTypes.func.isRequired,
706
- next: PropTypes.string,
707
- onClose: PropTypes.func.isRequired,
708
- setLocalImage: PropTypes.func.isRequired
709
- };
710
- const AddLogoDialog = ({ setLocalImage, goTo, next, onClose }) => {
711
- const { formatMessage } = useIntl();
712
- return /* @__PURE__ */ jsxs(
713
- TabGroup,
714
- {
715
- label: formatMessage({
716
- id: "Settings.application.customization.modal.tab.label",
717
- defaultMessage: "How do you want to upload your assets?"
718
- }),
719
- variant: "simple",
720
- children: [
721
- /* @__PURE__ */ jsxs(Box, { paddingLeft: 8, paddingRight: 8, children: [
722
- /* @__PURE__ */ jsxs(Tabs, { children: [
723
- /* @__PURE__ */ jsx(Tab, { children: formatMessage({
724
- id: "Settings.application.customization.modal.upload.from-computer",
725
- defaultMessage: "From computer"
726
- }) }),
727
- /* @__PURE__ */ jsx(Tab, { children: formatMessage({
728
- id: "Settings.application.customization.modal.upload.from-url",
729
- defaultMessage: "From url"
730
- }) })
731
- ] }),
732
- /* @__PURE__ */ jsx(Divider, {})
733
- ] }),
734
- /* @__PURE__ */ jsxs(TabPanels, { children: [
735
- /* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(
736
- FromComputerForm,
737
- {
738
- onClose,
739
- setLocalImage,
740
- goTo,
741
- next
742
- }
743
- ) }),
744
- /* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(FromUrlForm, { onClose, setLocalImage, goTo, next }) })
745
- ] })
746
- ]
747
- }
748
- );
749
- };
750
- AddLogoDialog.defaultProps = {
751
- next: null
752
- };
753
- AddLogoDialog.propTypes = {
754
- goTo: PropTypes.func.isRequired,
755
- next: PropTypes.string,
756
- onClose: PropTypes.func.isRequired,
757
- setLocalImage: PropTypes.func.isRequired
758
- };
759
- const ImageCardAsset = ({ asset }) => {
760
- const { formatMessage } = useIntl();
761
- return /* @__PURE__ */ jsxs(Card, { children: [
762
- /* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardAsset, { size: "S", src: asset.url }) }),
763
- /* @__PURE__ */ jsxs(CardBody, { children: [
764
- /* @__PURE__ */ jsxs(CardContent, { children: [
765
- /* @__PURE__ */ jsx(CardTitle, { children: asset.name }),
766
- /* @__PURE__ */ jsx(CardSubtitle, { children: `${asset.ext.toUpperCase()} - ${asset.width}✕${asset.height}` })
767
- ] }),
768
- /* @__PURE__ */ jsx(CardBadge, { children: formatMessage({
769
- id: "Settings.application.customization.modal.pending.card-badge",
770
- defaultMessage: "image"
771
- }) })
772
- ] })
773
- ] });
774
- };
775
- ImageCardAsset.propTypes = {
776
- asset: PropTypes.shape({
777
- name: PropTypes.string,
778
- url: PropTypes.string,
779
- width: PropTypes.number,
780
- height: PropTypes.number,
781
- ext: PropTypes.string
782
- }).isRequired
783
- };
784
- const PendingLogoDialog = ({ onClose, asset, prev, next, goTo, setLocalImage, onChangeLogo }) => {
785
- const { formatMessage } = useIntl();
786
- const handleGoBack = () => {
787
- setLocalImage(void 0);
788
- goTo(prev);
789
- };
790
- const handleUpload = () => {
791
- onChangeLogo(asset);
792
- goTo(next);
793
- };
794
- return /* @__PURE__ */ jsxs(Fragment, { children: [
795
- /* @__PURE__ */ jsxs(Box, { paddingLeft: 8, paddingRight: 8, paddingTop: 6, paddingBottom: 6, children: [
796
- /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", paddingBottom: 6, children: [
797
- /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", children: [
798
- /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", children: formatMessage({
799
- id: "Settings.application.customization.modal.pending.title",
800
- defaultMessage: "Logo ready to upload"
801
- }) }),
802
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral500", children: formatMessage({
803
- id: "Settings.application.customization.modal.pending.subtitle",
804
- defaultMessage: "Manage the chosen logo before uploading it"
805
- }) })
806
- ] }),
807
- /* @__PURE__ */ jsx(Button, { onClick: handleGoBack, variant: "secondary", children: formatMessage({
808
- id: "Settings.application.customization.modal.pending.choose-another",
809
- defaultMessage: "Choose another logo"
810
- }) })
811
- ] }),
812
- /* @__PURE__ */ jsx(Box, { maxWidth: pxToRem(180), children: asset.url ? /* @__PURE__ */ jsx(ImageCardAsset, { asset }) : null })
813
- ] }),
814
- /* @__PURE__ */ jsx(
815
- ModalFooter,
816
- {
817
- startActions: /* @__PURE__ */ jsx(Button, { onClick: onClose, variant: "tertiary", children: formatMessage({
818
- id: "Settings.application.customization.modal.cancel",
819
- defaultMessage: "Cancel"
820
- }) }),
821
- endActions: /* @__PURE__ */ jsx(Button, { onClick: handleUpload, children: formatMessage({
822
- id: "Settings.application.customization.modal.pending.upload",
823
- defaultMessage: "Upload logo"
824
- }) })
825
- }
826
- )
827
- ] });
828
- };
829
- PendingLogoDialog.defaultProps = {
830
- next: null,
831
- prev: null
832
- };
833
- PendingLogoDialog.propTypes = {
834
- goTo: PropTypes.func.isRequired,
835
- asset: PropTypes.shape({
836
- name: PropTypes.string,
837
- url: PropTypes.string,
838
- width: PropTypes.number,
839
- height: PropTypes.number,
840
- ext: PropTypes.string
841
- }).isRequired,
842
- next: PropTypes.string,
843
- onClose: PropTypes.func.isRequired,
844
- onChangeLogo: PropTypes.func.isRequired,
845
- prev: PropTypes.string,
846
- setLocalImage: PropTypes.func.isRequired
847
- };
848
- const stepper = {
849
- upload: {
850
- Component: AddLogoDialog,
851
- modalTitle: {
852
- id: "Settings.application.customization.modal.upload",
853
- defaultMessage: "Upload logo"
854
- },
855
- next: "pending",
856
- prev: null
857
- },
858
- pending: {
859
- Component: PendingLogoDialog,
860
- modalTitle: {
861
- id: "Settings.application.customization.modal.pending",
862
- defaultMessage: "Pending logo"
863
- },
864
- next: null,
865
- prev: "upload"
866
- }
867
- };
868
- const LogoInput = ({
869
- canUpdate,
870
- customLogo,
871
- defaultLogo,
872
- hint,
873
- label,
874
- onChangeLogo,
875
- onResetLogo
876
- }) => {
877
- const [{ currentStep }, dispatch] = useReducer(reducer$1, initialState$1);
878
- const { Component, next, prev, modalTitle } = stepper[currentStep] || {};
879
- const { formatMessage } = useIntl();
880
- const goTo = (to) => {
881
- dispatch({
882
- type: "GO_TO",
883
- to
884
- });
885
- };
886
- return /* @__PURE__ */ jsxs(Fragment, { children: [
887
- /* @__PURE__ */ jsx(
888
- CarouselInput,
889
- {
890
- label,
891
- selectedSlide: 0,
892
- hint,
893
- previousLabel: "",
894
- nextLabel: "",
895
- onNext: () => {
896
- },
897
- onPrevious: () => {
898
- },
899
- secondaryLabel: customLogo?.name || "logo.png",
900
- actions: /* @__PURE__ */ jsxs(CarouselActions, { children: [
901
- /* @__PURE__ */ jsx(
902
- IconButton,
903
- {
904
- disabled: !canUpdate,
905
- onClick: () => goTo(customLogo ? "pending" : "upload"),
906
- label: formatMessage({
907
- id: "Settings.application.customization.carousel.change-action",
908
- defaultMessage: "Change logo"
909
- }),
910
- icon: /* @__PURE__ */ jsx(Plus, {})
911
- }
912
- ),
913
- customLogo && /* @__PURE__ */ jsx(
914
- IconButton,
915
- {
916
- disabled: !canUpdate,
917
- onClick: onResetLogo,
918
- label: formatMessage({
919
- id: "Settings.application.customization.carousel.reset-action",
920
- defaultMessage: "Reset logo"
921
- }),
922
- icon: /* @__PURE__ */ jsx(Refresh, {})
923
- }
924
- )
925
- ] }),
926
- children: /* @__PURE__ */ jsx(
927
- CarouselSlide,
928
- {
929
- label: formatMessage({
930
- id: "Settings.application.customization.carousel-slide.label",
931
- defaultMessage: "Logo slide"
932
- }),
933
- children: /* @__PURE__ */ jsx(
934
- Box,
935
- {
936
- maxHeight: "40%",
937
- maxWidth: "40%",
938
- as: "img",
939
- src: customLogo?.url || defaultLogo,
940
- alt: formatMessage({
941
- id: "Settings.application.customization.carousel.title",
942
- defaultMessage: "Logo"
943
- })
944
- }
945
- )
946
- }
947
- )
948
- }
949
- ),
950
- /* @__PURE__ */ jsx(
951
- LogoModalStepper,
952
- {
953
- Component,
954
- currentStep,
955
- onChangeLogo,
956
- customLogo,
957
- goTo,
958
- next,
959
- prev,
960
- modalTitle
961
- }
962
- )
963
- ] });
964
- };
965
- LogoInput.defaultProps = {
966
- canUpdate: false,
967
- customLogo: null,
968
- hint: null
969
- };
970
- LogoInput.propTypes = {
971
- canUpdate: PropTypes.bool,
972
- customLogo: PropTypes.shape({
973
- url: PropTypes.string,
974
- name: PropTypes.string
975
- }),
976
- label: PropTypes.string.isRequired,
977
- hint: PropTypes.string,
978
- defaultLogo: PropTypes.string.isRequired,
979
- onChangeLogo: PropTypes.func.isRequired,
980
- onResetLogo: PropTypes.func.isRequired
981
- };
982
- const init = (initialState2, projectSettingsStored) => {
983
- const copyInitialState = merge(initialState2, {
984
- menuLogo: {
985
- display: projectSettingsStored.menuLogo
986
- },
987
- authLogo: {
988
- display: projectSettingsStored.authLogo
989
- }
990
- });
991
- return copyInitialState;
992
- };
993
- const initialState = {
994
- menuLogo: {
995
- display: null,
996
- submit: {
997
- rawFile: null,
998
- isReset: false
999
- }
1000
- },
1001
- authLogo: {
1002
- display: null,
1003
- submit: {
1004
- rawFile: null,
1005
- isReset: false
1006
- }
1007
- }
1008
- };
1009
- const reducer = (state = initialState, action) => produce(state, (draftState) => {
1010
- switch (action.type) {
1011
- case "SET_CUSTOM_MENU_LOGO": {
1012
- draftState.menuLogo.display = action.value;
1013
- draftState.menuLogo.submit.rawFile = action.value.rawFile;
1014
- break;
1015
- }
1016
- case "SET_CUSTOM_AUTH_LOGO": {
1017
- draftState.authLogo.display = action.value;
1018
- draftState.authLogo.submit.rawFile = action.value.rawFile;
1019
- break;
1020
- }
1021
- case "RESET_CUSTOM_MENU_LOGO": {
1022
- draftState.menuLogo.display = null;
1023
- draftState.menuLogo.submit = {
1024
- rawFile: null,
1025
- isReset: true
1026
- };
1027
- break;
1028
- }
1029
- case "RESET_CUSTOM_AUTH_LOGO": {
1030
- draftState.authLogo.display = null;
1031
- draftState.authLogo.submit = {
1032
- rawFile: null,
1033
- isReset: true
1034
- };
1035
- break;
1036
- }
1037
- default: {
1038
- return draftState;
1039
- }
1040
- }
1041
- });
1042
- const CustomizationInfos = forwardRef(({ canUpdate, projectSettingsStored }, ref) => {
1043
- const { formatMessage } = useIntl();
1044
- const { trackUsage } = useTracking();
1045
- const {
1046
- logos: { menu, auth }
1047
- } = useConfiguration();
1048
- const [{ menuLogo, authLogo }, dispatch] = useReducer(
1049
- reducer,
1050
- initialState,
1051
- () => init(initialState, projectSettingsStored)
1052
- );
1053
- const handleChangeMenuLogo = (asset) => {
1054
- dispatch({
1055
- type: "SET_CUSTOM_MENU_LOGO",
1056
- value: asset
1057
- });
1058
- };
1059
- const handleResetMenuLogo = () => {
1060
- trackUsage("didClickResetLogo", {
1061
- logo: "menu"
1062
- });
1063
- dispatch({
1064
- type: "RESET_CUSTOM_MENU_LOGO"
1065
- });
1066
- };
1067
- const handleChangeAuthLogo = (asset) => {
1068
- dispatch({
1069
- type: "SET_CUSTOM_AUTH_LOGO",
1070
- value: asset
1071
- });
1072
- };
1073
- const handleResetAuthLogo = () => {
1074
- trackUsage("didClickResetLogo", {
1075
- logo: "auth"
1076
- });
1077
- dispatch({
1078
- type: "RESET_CUSTOM_AUTH_LOGO"
1079
- });
1080
- };
1081
- useImperativeHandle(ref, () => ({
1082
- getValues: () => ({ menuLogo: menuLogo.submit, authLogo: authLogo.submit })
1083
- }));
1084
- return /* @__PURE__ */ jsxs(
1085
- Box,
1086
- {
1087
- hasRadius: true,
1088
- background: "neutral0",
1089
- shadow: "tableShadow",
1090
- paddingTop: 6,
1091
- paddingBottom: 6,
1092
- paddingRight: 7,
1093
- paddingLeft: 7,
1094
- children: [
1095
- /* @__PURE__ */ jsx(Typography, { variant: "delta", as: "h3", children: formatMessage({
1096
- id: "Settings.application.customization",
1097
- defaultMessage: "Customization"
1098
- }) }),
1099
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: formatMessage(
1100
- {
1101
- id: "Settings.application.customization.size-details",
1102
- defaultMessage: "Max dimension: {dimension}×{dimension}, Max file size: {size}KB"
1103
- },
1104
- { dimension: DIMENSION, size: SIZE }
1105
- ) }),
1106
- /* @__PURE__ */ jsxs(Grid, { paddingTop: 4, gap: 4, children: [
1107
- /* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsx(
1108
- LogoInput,
1109
- {
1110
- canUpdate,
1111
- customLogo: menuLogo.display,
1112
- defaultLogo: menu.default,
1113
- hint: formatMessage({
1114
- id: "Settings.application.customization.menu-logo.carousel-hint",
1115
- defaultMessage: "Replace the logo in the main navigation"
1116
- }),
1117
- label: formatMessage({
1118
- id: "Settings.application.customization.carousel.menu-logo.title",
1119
- defaultMessage: "Menu logo"
1120
- }),
1121
- onChangeLogo: handleChangeMenuLogo,
1122
- onResetLogo: handleResetMenuLogo
1123
- }
1124
- ) }),
1125
- /* @__PURE__ */ jsx(GridItem, { col: 6, s: 12, children: /* @__PURE__ */ jsx(
1126
- LogoInput,
1127
- {
1128
- canUpdate,
1129
- customLogo: authLogo.display,
1130
- defaultLogo: auth.default,
1131
- hint: formatMessage({
1132
- id: "Settings.application.customization.auth-logo.carousel-hint",
1133
- defaultMessage: "Replace the logo in the authentication pages"
1134
- }),
1135
- label: formatMessage({
1136
- id: "Settings.application.customization.carousel.auth-logo.title",
1137
- defaultMessage: "Auth logo"
1138
- }),
1139
- onChangeLogo: handleChangeAuthLogo,
1140
- onResetLogo: handleResetAuthLogo
1141
- }
1142
- ) })
1143
- ] })
1144
- ]
1145
- }
1146
- );
1147
- });
1148
- CustomizationInfos.defaultProps = {
1149
- canUpdate: false,
1150
- projectSettingsStored: null
1151
- };
1152
- CustomizationInfos.propTypes = {
1153
- canUpdate: PropTypes.bool,
1154
- projectSettingsStored: PropTypes.shape({
1155
- menuLogo: PropTypes.shape({
1156
- url: PropTypes.string,
1157
- name: PropTypes.string
1158
- })
1159
- })
1160
- };
1161
- const getFormData = (data) => {
1162
- const formData = new FormData();
1163
- Object.entries(data).forEach(([key, value]) => {
1164
- if (value && value.rawFile instanceof File) {
1165
- formData.append(key, value.rawFile);
1166
- }
1167
- if (value && value.isReset) {
1168
- formData.append(key, null);
1169
- }
1170
- });
1171
- return formData;
1172
- };
1173
- const AdminSeatInfoCE = () => null;
1174
- const ApplicationInfosPage = () => {
1175
- const inputsRef = React.useRef();
1176
- const toggleNotification = useNotification();
1177
- const { trackUsage } = useTracking();
1178
- const { formatMessage } = useIntl();
1179
- const { get, post } = useFetchClient();
1180
- const { updateProjectSettings } = useConfiguration();
1181
- const permissions = useSelector(selectAdminPermissions);
1182
- const { formatAPIError } = useAPIErrorHandler();
1183
- const {
1184
- communityEdition,
1185
- latestStrapiReleaseTag,
1186
- nodeVersion,
1187
- shouldUpdateStrapi,
1188
- strapiVersion
1189
- } = useAppInfo();
1190
- const AdminSeatInfo = useEnterprise(
1191
- AdminSeatInfoCE,
1192
- async () => (await import("./index-d6694cab.mjs")).AdminSeatInfoEE
1193
- );
1194
- const {
1195
- allowedActions: { canRead, canUpdate }
1196
- } = useRBAC(permissions.settings["project-settings"]);
1197
- useFocusWhenNavigate();
1198
- const { data, isLoading } = useQuery(
1199
- ["project-settings"],
1200
- async () => {
1201
- const { data: data2 } = await get("/admin/project-settings");
1202
- return data2;
1203
- },
1204
- {
1205
- cacheTime: 0,
1206
- enabled: canRead,
1207
- select(data2) {
1208
- return {
1209
- ...data2,
1210
- authLogo: data2.authLogo ? {
1211
- ...data2.authLogo,
1212
- url: prefixFileUrlWithBackendUrl(data2.authLogo.url)
1213
- } : data2.authLogo,
1214
- menuLogo: data2.menuLogo ? {
1215
- ...data2.menuLogo,
1216
- url: prefixFileUrlWithBackendUrl(data2.menuLogo.url)
1217
- } : data2.menuLogo
1218
- };
1219
- }
1220
- }
1221
- );
1222
- const submitMutation = useMutation(
1223
- (body) => post("/admin/project-settings", body, {
1224
- headers: {
1225
- "Content-Type": "multipart/form-data"
1226
- }
1227
- }),
1228
- {
1229
- onError(error) {
1230
- toggleNotification({
1231
- type: "warning",
1232
- message: formatAPIError(error)
1233
- });
1234
- },
1235
- async onSuccess(data2) {
1236
- const { menuLogo, authLogo } = data2;
1237
- updateProjectSettings({ menuLogo: menuLogo?.url, authLogo: authLogo?.url });
1238
- if (menuLogo?.rawFile) {
1239
- trackUsage("didChangeLogo", {
1240
- logo: "menu"
1241
- });
1242
- }
1243
- if (authLogo?.rawFile) {
1244
- trackUsage("didChangeLogo", {
1245
- logo: "auth"
1246
- });
1247
- }
1248
- toggleNotification({
1249
- type: "success",
1250
- message: formatMessage({ id: "app", defaultMessage: "Saved" })
1251
- });
1252
- }
1253
- }
1254
- );
1255
- const handleSubmit = (e) => {
1256
- e.preventDefault();
1257
- submitMutation.mutate(getFormData(inputsRef.current.getValues()));
1258
- };
1259
- if (!AdminSeatInfo) {
1260
- return null;
1261
- }
1262
- return /* @__PURE__ */ jsxs(Layout, { children: [
1263
- /* @__PURE__ */ jsx(SettingsPageTitle, { name: "Application" }),
1264
- /* @__PURE__ */ jsx(Main, { children: isLoading ? /* @__PURE__ */ jsx(Loader, { children: formatMessage({
1265
- id: "Settings.application.isLoading",
1266
- defaultMessage: "Loading"
1267
- }) }) : /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, children: [
1268
- /* @__PURE__ */ jsx(
1269
- HeaderLayout,
1270
- {
1271
- title: formatMessage({
1272
- id: "Settings.application.title",
1273
- defaultMessage: "Overview"
1274
- }),
1275
- subtitle: formatMessage({
1276
- id: "Settings.application.description",
1277
- defaultMessage: "Administration panel’s global information"
1278
- }),
1279
- primaryAction: canUpdate && /* @__PURE__ */ jsx(Button, { type: "submit", startIcon: /* @__PURE__ */ jsx(Check, {}), children: formatMessage({ id: "global.save", defaultMessage: "Save" }) })
1280
- }
1281
- ),
1282
- /* @__PURE__ */ jsx(ContentLayout, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: [
1283
- /* @__PURE__ */ jsxs(
1284
- Flex,
1285
- {
1286
- direction: "column",
1287
- alignItems: "stretch",
1288
- gap: 4,
1289
- hasRadius: true,
1290
- background: "neutral0",
1291
- shadow: "tableShadow",
1292
- paddingTop: 6,
1293
- paddingBottom: 6,
1294
- paddingRight: 7,
1295
- paddingLeft: 7,
1296
- children: [
1297
- /* @__PURE__ */ jsx(Typography, { variant: "delta", as: "h3", children: formatMessage({
1298
- id: "global.details",
1299
- defaultMessage: "Details"
1300
- }) }),
1301
- /* @__PURE__ */ jsxs(Grid, { gap: 5, as: "dl", children: [
1302
- /* @__PURE__ */ jsxs(GridItem, { col: 6, s: 12, children: [
1303
- /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
1304
- id: "Settings.application.strapiVersion",
1305
- defaultMessage: "strapi version"
1306
- }) }),
1307
- /* @__PURE__ */ jsxs(Flex, { gap: 3, direction: "column", alignItems: "start", as: "dd", children: [
1308
- /* @__PURE__ */ jsxs(Typography, { children: [
1309
- "v",
1310
- strapiVersion
1311
- ] }),
1312
- shouldUpdateStrapi && /* @__PURE__ */ jsx(
1313
- Link,
1314
- {
1315
- href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
1316
- isExternal: true,
1317
- endIcon: /* @__PURE__ */ jsx(ExternalLink, {}),
1318
- children: formatMessage({
1319
- id: "Settings.application.link-upgrade",
1320
- defaultMessage: "Upgrade your admin panel"
1321
- })
1322
- }
1323
- )
1324
- ] })
1325
- ] }),
1326
- /* @__PURE__ */ jsxs(GridItem, { col: 6, s: 12, children: [
1327
- /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
1328
- id: "Settings.application.edition-title",
1329
- defaultMessage: "current plan"
1330
- }) }),
1331
- /* @__PURE__ */ jsxs(Flex, { gap: 3, direction: "column", alignItems: "start", as: "dd", children: [
1332
- /* @__PURE__ */ jsx(Typography, { children: formatMessage(
1333
- {
1334
- id: "Settings.application.ee-or-ce",
1335
- defaultMessage: "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"
1336
- },
1337
- { communityEdition }
1338
- ) }),
1339
- /* @__PURE__ */ jsx(
1340
- Link,
1341
- {
1342
- href: "https://strapi.io/pricing-self-hosted",
1343
- isExternal: true,
1344
- endIcon: /* @__PURE__ */ jsx(ExternalLink, {}),
1345
- children: formatMessage({
1346
- id: "Settings.application.link-pricing",
1347
- defaultMessage: "See all pricing plans"
1348
- })
1349
- }
1350
- )
1351
- ] })
1352
- ] }),
1353
- /* @__PURE__ */ jsxs(GridItem, { col: 6, s: 12, children: [
1354
- /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", as: "dt", children: formatMessage({
1355
- id: "Settings.application.node-version",
1356
- defaultMessage: "node version"
1357
- }) }),
1358
- /* @__PURE__ */ jsx(Typography, { as: "dd", children: nodeVersion })
1359
- ] }),
1360
- /* @__PURE__ */ jsx(AdminSeatInfo, {})
1361
- ] })
1362
- ]
1363
- }
1364
- ),
1365
- canRead && data && /* @__PURE__ */ jsx(
1366
- CustomizationInfos,
1367
- {
1368
- canUpdate,
1369
- ref: inputsRef,
1370
- projectSettingsStored: data
1371
- }
1372
- )
1373
- ] }) })
1374
- ] }) })
1375
- ] });
1376
- };
1377
- function makeUniqueRoutes(routes) {
1378
- return routes.filter(
1379
- (route, index, refArray) => refArray.findIndex((obj) => obj.key === route.key) === index
1380
- );
1381
- }
1382
- function SettingsPage() {
1383
- const { settingId } = useParams();
1384
- const { settings } = useStrapiApp();
1385
- const { formatMessage } = useIntl();
1386
- const { isLoading, menu } = useSettingsMenu();
1387
- const routes = useEnterprise(
1388
- ROUTES_CE,
1389
- async () => (await import("./constants-74b8a935.mjs")).ROUTES_EE,
1390
- {
1391
- combine(ceRoutes, eeRoutes) {
1392
- return [...ceRoutes, ...eeRoutes];
1393
- },
1394
- defaultValue: []
1395
- }
1396
- );
1397
- const adminRoutes = React.useMemo(() => {
1398
- return makeUniqueRoutes(
1399
- routes.map(({ to, Component, exact }) => createRoute(Component, to, exact))
1400
- );
1401
- }, [routes]);
1402
- const pluginsRoutes = Object.values(settings).flatMap((section) => {
1403
- const { links } = section;
1404
- return links.map((link) => createRoute(link.Component, link.to, link.exact || false));
1405
- });
1406
- if (isLoading) {
1407
- return /* @__PURE__ */ jsx(LoadingIndicatorPage, {});
1408
- }
1409
- if (!settingId) {
1410
- return /* @__PURE__ */ jsx(Redirect, { to: "/settings/application-infos" });
1411
- }
1412
- return /* @__PURE__ */ jsxs(Layout, { sideNav: /* @__PURE__ */ jsx(SettingsNav, { menu }), children: [
1413
- /* @__PURE__ */ jsx(
1414
- Helmet,
1415
- {
1416
- title: formatMessage({
1417
- id: "global.settings",
1418
- defaultMessage: "Settings"
1419
- })
1420
- }
1421
- ),
1422
- /* @__PURE__ */ jsxs(Switch, { children: [
1423
- /* @__PURE__ */ jsx(Route, { path: "/settings/application-infos", component: ApplicationInfosPage, exact: true }),
1424
- adminRoutes,
1425
- pluginsRoutes
1426
- ] })
1427
- ] });
1428
- }
1429
- export {
1430
- SettingsPage
1431
- };
1432
- //# sourceMappingURL=index-26fcb3ca.mjs.map