@strapi/admin 4.15.1 → 4.15.2

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 (266) hide show
  1. package/dist/_chunks/{AuthenticatedApp-092ef2be.js → AuthenticatedApp-d1e28164.js} +30 -30
  2. package/dist/_chunks/{AuthenticatedApp-092ef2be.js.map → AuthenticatedApp-d1e28164.js.map} +1 -1
  3. package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs → AuthenticatedApp-fd7e406d.mjs} +30 -30
  4. package/dist/_chunks/{AuthenticatedApp-b0ada7e9.mjs.map → AuthenticatedApp-fd7e406d.mjs.map} +1 -1
  5. package/dist/_chunks/{HomePage-5798ba6f.mjs → HomePage-2a7f678a.mjs} +7 -8
  6. package/dist/_chunks/{HomePage-5798ba6f.mjs.map → HomePage-2a7f678a.mjs.map} +1 -1
  7. package/dist/_chunks/{HomePage-5ae473e6.js → HomePage-2ac5c213.js} +7 -8
  8. package/dist/_chunks/{HomePage-5ae473e6.js.map → HomePage-2ac5c213.js.map} +1 -1
  9. package/dist/_chunks/{HomePage-bdcb51be.js → HomePage-616a2985.js} +12 -13
  10. package/dist/_chunks/HomePage-616a2985.js.map +1 -0
  11. package/dist/_chunks/{HomePage-a3cc32d2.mjs → HomePage-ded37c60.mjs} +12 -13
  12. package/dist/_chunks/HomePage-ded37c60.mjs.map +1 -0
  13. package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js → InstalledPluginsPage-189010c1.js} +10 -12
  14. package/dist/_chunks/{InstalledPluginsPage-cc2d6a36.js.map → InstalledPluginsPage-189010c1.js.map} +1 -1
  15. package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs → InstalledPluginsPage-afa9edc3.mjs} +10 -12
  16. package/dist/_chunks/{InstalledPluginsPage-6284aaff.mjs.map → InstalledPluginsPage-afa9edc3.mjs.map} +1 -1
  17. package/dist/_chunks/{index-305a03f4.mjs → Login-02ddabf7.mjs} +25 -29
  18. package/dist/_chunks/Login-02ddabf7.mjs.map +1 -0
  19. package/dist/_chunks/{index-137490ba.js → Login-28127829.js} +25 -30
  20. package/dist/_chunks/Login-28127829.js.map +1 -0
  21. package/dist/_chunks/{MarketplacePage-7dee72f5.mjs → MarketplacePage-40f76f3d.mjs} +6 -8
  22. package/dist/_chunks/{MarketplacePage-7dee72f5.mjs.map → MarketplacePage-40f76f3d.mjs.map} +1 -1
  23. package/dist/_chunks/{MarketplacePage-209ec658.js → MarketplacePage-946134e6.js} +6 -8
  24. package/dist/_chunks/{MarketplacePage-209ec658.js.map → MarketplacePage-946134e6.js.map} +1 -1
  25. package/dist/_chunks/{ProfilePage-26c14ba4.mjs → ProfilePage-4c94e332.mjs} +7 -9
  26. package/dist/_chunks/{ProfilePage-26c14ba4.mjs.map → ProfilePage-4c94e332.mjs.map} +1 -1
  27. package/dist/_chunks/{ProfilePage-4f8c127b.js → ProfilePage-6506e401.js} +7 -9
  28. package/dist/_chunks/{ProfilePage-4f8c127b.js.map → ProfilePage-6506e401.js.map} +1 -1
  29. package/dist/_chunks/{SSOProviders-1d062c95.mjs → SSOProviders-62bfad92.mjs} +29 -61
  30. package/dist/_chunks/SSOProviders-62bfad92.mjs.map +1 -0
  31. package/dist/_chunks/{SSOProviders-1ef0a89e.js → SSOProviders-b395a4e6.js} +28 -80
  32. package/dist/_chunks/SSOProviders-b395a4e6.js.map +1 -0
  33. package/dist/_chunks/{build-f36bfc97.js → build-55ba3e68.js} +4 -2
  34. package/dist/_chunks/{build-f36bfc97.js.map → build-55ba3e68.js.map} +1 -1
  35. package/dist/_chunks/{build-e1ca35da.mjs → build-b67ecc59.mjs} +4 -2
  36. package/dist/_chunks/{build-e1ca35da.mjs.map → build-b67ecc59.mjs.map} +1 -1
  37. package/dist/_chunks/{constants-70e05152.js → constants-42f4f7b3.js} +6 -6
  38. package/dist/_chunks/{constants-70e05152.js.map → constants-42f4f7b3.js.map} +1 -1
  39. package/dist/_chunks/{constants-921eda17.mjs → constants-6ecddc43.mjs} +43 -15
  40. package/dist/_chunks/constants-6ecddc43.mjs.map +1 -0
  41. package/dist/_chunks/{constants-727a113c.js → constants-733b0568.js} +26 -26
  42. package/dist/_chunks/constants-733b0568.js.map +1 -0
  43. package/dist/_chunks/{constants-86aa3e70.js → constants-7596f6f3.js} +60 -13
  44. package/dist/_chunks/constants-7596f6f3.js.map +1 -0
  45. package/dist/_chunks/{constants-32975b2e.js → constants-82e97fee.js} +11 -12
  46. package/dist/_chunks/{constants-32975b2e.js.map → constants-82e97fee.js.map} +1 -1
  47. package/dist/_chunks/{constants-90c20a6f.mjs → constants-952c50be.mjs} +11 -12
  48. package/dist/_chunks/{constants-90c20a6f.mjs.map → constants-952c50be.mjs.map} +1 -1
  49. package/dist/_chunks/{constants-9de7641c.mjs → constants-c0280aed.mjs} +28 -28
  50. package/dist/_chunks/constants-c0280aed.mjs.map +1 -0
  51. package/dist/_chunks/{constants-a773ff9b.js → constants-c9fce26f.js} +13 -12
  52. package/dist/_chunks/{constants-a773ff9b.js.map → constants-c9fce26f.js.map} +1 -1
  53. package/dist/_chunks/{constants-6157f648.mjs → constants-cbadfd36.mjs} +6 -6
  54. package/dist/_chunks/{constants-6157f648.mjs.map → constants-cbadfd36.mjs.map} +1 -1
  55. package/dist/_chunks/{constants-27319180.mjs → constants-cd1acf1b.mjs} +13 -12
  56. package/dist/_chunks/{constants-27319180.mjs.map → constants-cd1acf1b.mjs.map} +1 -1
  57. package/dist/_chunks/{develop-513c9644.js → develop-69e28e61.js} +4 -2
  58. package/dist/_chunks/{develop-513c9644.js.map → develop-69e28e61.js.map} +1 -1
  59. package/dist/_chunks/{develop-e45b460e.mjs → develop-d97e7494.mjs} +4 -2
  60. package/dist/_chunks/{develop-e45b460e.mjs.map → develop-d97e7494.mjs.map} +1 -1
  61. package/dist/_chunks/formatAPIErrors-b599cf27.js +20 -0
  62. package/dist/_chunks/formatAPIErrors-b599cf27.js.map +1 -0
  63. package/dist/_chunks/formatAPIErrors-db6ed675.mjs +21 -0
  64. package/dist/_chunks/formatAPIErrors-db6ed675.mjs.map +1 -0
  65. package/dist/_chunks/{index-af69bc98.mjs → index-01dfec54.mjs} +11 -11
  66. package/dist/_chunks/{index-af69bc98.mjs.map → index-01dfec54.mjs.map} +1 -1
  67. package/dist/_chunks/{index-fcd5bc14.mjs → index-0ed0c104.mjs} +14 -13
  68. package/dist/_chunks/{index-fcd5bc14.mjs.map → index-0ed0c104.mjs.map} +1 -1
  69. package/dist/_chunks/{index-1f1e2465.js → index-13a78498.js} +9 -11
  70. package/dist/_chunks/{index-1f1e2465.js.map → index-13a78498.js.map} +1 -1
  71. package/dist/_chunks/{index-6b9e3d60.js → index-150ec200.js} +9 -10
  72. package/dist/_chunks/{index-6b9e3d60.js.map → index-150ec200.js.map} +1 -1
  73. package/dist/_chunks/{index-b2257157.js → index-17acbe23.js} +49 -12
  74. package/dist/_chunks/index-17acbe23.js.map +1 -0
  75. package/dist/_chunks/{index-f5342ea5.js → index-17fbff58.js} +14 -13
  76. package/dist/_chunks/{index-f5342ea5.js.map → index-17fbff58.js.map} +1 -1
  77. package/dist/_chunks/{index-bb8093ea.mjs → index-18155022.mjs} +12 -12
  78. package/dist/_chunks/{index-bb8093ea.mjs.map → index-18155022.mjs.map} +1 -1
  79. package/dist/_chunks/{index-e22d1a84.mjs → index-22993544.mjs} +14 -13
  80. package/dist/_chunks/{index-e22d1a84.mjs.map → index-22993544.mjs.map} +1 -1
  81. package/dist/_chunks/{index-16030b74.js → index-2f4b78ee.js} +3 -3
  82. package/dist/_chunks/index-2f4b78ee.js.map +1 -0
  83. package/dist/_chunks/{index-35e4bad6.mjs → index-30933e3e.mjs} +8 -9
  84. package/dist/_chunks/{index-35e4bad6.mjs.map → index-30933e3e.mjs.map} +1 -1
  85. package/dist/_chunks/{index-928b18d2.mjs → index-31227291.mjs} +3 -3
  86. package/dist/_chunks/{index-928b18d2.mjs.map → index-31227291.mjs.map} +1 -1
  87. package/dist/_chunks/{index-24189ec9.js → index-3b888524.js} +6 -6
  88. package/dist/_chunks/{index-24189ec9.js.map → index-3b888524.js.map} +1 -1
  89. package/dist/_chunks/{index-5752584c.mjs → index-44360544.mjs} +182 -76
  90. package/dist/_chunks/index-44360544.mjs.map +1 -0
  91. package/dist/_chunks/{index-be2ca313.mjs → index-45ae7be1.mjs} +13 -13
  92. package/dist/_chunks/{index-be2ca313.mjs.map → index-45ae7be1.mjs.map} +1 -1
  93. package/dist/_chunks/{index-62b4b3fc.js → index-470a72bf.js} +11 -11
  94. package/dist/_chunks/{index-62b4b3fc.js.map → index-470a72bf.js.map} +1 -1
  95. package/dist/_chunks/{index-00202c8a.mjs → index-4a46c368.mjs} +13 -12
  96. package/dist/_chunks/{index-00202c8a.mjs.map → index-4a46c368.mjs.map} +1 -1
  97. package/dist/_chunks/{index-332f319e.mjs → index-52b70b56.mjs} +8 -10
  98. package/dist/_chunks/{index-332f319e.mjs.map → index-52b70b56.mjs.map} +1 -1
  99. package/dist/_chunks/{index-5ad8482b.mjs → index-55f9b6b3.mjs} +7 -7
  100. package/dist/_chunks/{index-5ad8482b.mjs.map → index-55f9b6b3.mjs.map} +1 -1
  101. package/dist/_chunks/{index-6cc54f3b.mjs → index-59e31a9f.mjs} +8 -9
  102. package/dist/_chunks/{index-6cc54f3b.mjs.map → index-59e31a9f.mjs.map} +1 -1
  103. package/dist/_chunks/{index-1e973c03.mjs → index-5df8a59e.mjs} +14 -13
  104. package/dist/_chunks/{index-1e973c03.mjs.map → index-5df8a59e.mjs.map} +1 -1
  105. package/dist/_chunks/{index-34de382e.mjs → index-60a57d31.mjs} +688 -824
  106. package/dist/_chunks/index-60a57d31.mjs.map +1 -0
  107. package/dist/_chunks/{index-77e0e5d7.js → index-62264743.js} +8 -7
  108. package/dist/_chunks/{index-77e0e5d7.js.map → index-62264743.js.map} +1 -1
  109. package/dist/_chunks/{index-4565fcbd.js → index-6931e33c.js} +3 -3
  110. package/dist/_chunks/{index-4565fcbd.js.map → index-6931e33c.js.map} +1 -1
  111. package/dist/_chunks/{index-3c58de6f.js → index-748f8264.js} +14 -13
  112. package/dist/_chunks/{index-3c58de6f.js.map → index-748f8264.js.map} +1 -1
  113. package/dist/_chunks/{index-bdfc1149.mjs → index-768b7de9.mjs} +49 -12
  114. package/dist/_chunks/index-768b7de9.mjs.map +1 -0
  115. package/dist/_chunks/{index-1763a04f.js → index-7739ddf5.js} +8 -9
  116. package/dist/_chunks/{index-1763a04f.js.map → index-7739ddf5.js.map} +1 -1
  117. package/dist/_chunks/{index-89d27faa.js → index-794eb0b6.js} +14 -13
  118. package/dist/_chunks/{index-89d27faa.js.map → index-794eb0b6.js.map} +1 -1
  119. package/dist/_chunks/{index-f448aed2.js → index-7e9cd960.js} +13 -12
  120. package/dist/_chunks/{index-f448aed2.js.map → index-7e9cd960.js.map} +1 -1
  121. package/dist/_chunks/{index-0af587c3.js → index-7f642760.js} +78 -147
  122. package/dist/_chunks/index-7f642760.js.map +1 -0
  123. package/dist/_chunks/{index-56ced4ab.mjs → index-853bd239.mjs} +8 -7
  124. package/dist/_chunks/{index-56ced4ab.mjs.map → index-853bd239.mjs.map} +1 -1
  125. package/dist/_chunks/{index-b98ea3ce.mjs → index-8a4d0275.mjs} +13 -14
  126. package/dist/_chunks/{index-b98ea3ce.mjs.map → index-8a4d0275.mjs.map} +1 -1
  127. package/dist/_chunks/{index-6dbc94a9.mjs → index-9c45bda7.mjs} +6 -6
  128. package/dist/_chunks/{index-6dbc94a9.mjs.map → index-9c45bda7.mjs.map} +1 -1
  129. package/dist/_chunks/{index-4c5acc70.js → index-9eb160a3.js} +9 -10
  130. package/dist/_chunks/{index-4c5acc70.js.map → index-9eb160a3.js.map} +1 -1
  131. package/dist/_chunks/{index-51a15b27.js → index-9f155b14.js} +4 -4
  132. package/dist/_chunks/{index-51a15b27.js.map → index-9f155b14.js.map} +1 -1
  133. package/dist/_chunks/{index-066ee02e.js → index-9f50c8b0.js} +8 -10
  134. package/dist/_chunks/{index-066ee02e.js.map → index-9f50c8b0.js.map} +1 -1
  135. package/dist/_chunks/{index-284c5926.js → index-9f900c47.js} +33 -47
  136. package/dist/_chunks/index-9f900c47.js.map +1 -0
  137. package/dist/_chunks/{index-5d8d89a7.js → index-a163001f.js} +13 -13
  138. package/dist/_chunks/{index-5d8d89a7.js.map → index-a163001f.js.map} +1 -1
  139. package/dist/_chunks/{index-34a2909e.mjs → index-a3176d19.mjs} +12 -12
  140. package/dist/_chunks/{index-34a2909e.mjs.map → index-a3176d19.mjs.map} +1 -1
  141. package/dist/_chunks/{index-ea23ee9f.mjs → index-a7d28c42.mjs} +9 -11
  142. package/dist/_chunks/{index-ea23ee9f.mjs.map → index-a7d28c42.mjs.map} +1 -1
  143. package/dist/_chunks/{index-a4348f3b.js → index-a8358156.js} +12 -12
  144. package/dist/_chunks/index-a8358156.js.map +1 -0
  145. package/dist/_chunks/{index-58db145d.mjs → index-a8d13f01.mjs} +3 -3
  146. package/dist/_chunks/{index-58db145d.mjs.map → index-a8d13f01.mjs.map} +1 -1
  147. package/dist/_chunks/{index-59d22949.mjs → index-b4cc14ad.mjs} +8 -9
  148. package/dist/_chunks/{index-59d22949.mjs.map → index-b4cc14ad.mjs.map} +1 -1
  149. package/dist/_chunks/{index-6a512cec.js → index-bad666f0.js} +8 -9
  150. package/dist/_chunks/{index-6a512cec.js.map → index-bad666f0.js.map} +1 -1
  151. package/dist/_chunks/{index-53ba81f9.mjs → index-bf788868.mjs} +9 -10
  152. package/dist/_chunks/{index-53ba81f9.mjs.map → index-bf788868.mjs.map} +1 -1
  153. package/dist/_chunks/{index-da04b144.js → index-bfb5b3ab.js} +14 -13
  154. package/dist/_chunks/{index-da04b144.js.map → index-bfb5b3ab.js.map} +1 -1
  155. package/dist/_chunks/{index-cadd3ee0.js → index-c0603138.js} +4 -4
  156. package/dist/_chunks/{index-cadd3ee0.js.map → index-c0603138.js.map} +1 -1
  157. package/dist/_chunks/{index-c604806d.js → index-c3761887.js} +12 -12
  158. package/dist/_chunks/{index-c604806d.js.map → index-c3761887.js.map} +1 -1
  159. package/dist/_chunks/{index-1da8c640.mjs → index-c4d3a07b.mjs} +9 -10
  160. package/dist/_chunks/{index-1da8c640.mjs.map → index-c4d3a07b.mjs.map} +1 -1
  161. package/dist/_chunks/{index-36e0d449.mjs → index-c7386be1.mjs} +32 -45
  162. package/dist/_chunks/index-c7386be1.mjs.map +1 -0
  163. package/dist/_chunks/{index-8d4d361d.mjs → index-cc7bedec.mjs} +13 -13
  164. package/dist/_chunks/{index-8d4d361d.mjs.map → index-cc7bedec.mjs.map} +1 -1
  165. package/dist/_chunks/{index-86dfbe3a.js → index-cce8ecb6.js} +178 -72
  166. package/dist/_chunks/index-cce8ecb6.js.map +1 -0
  167. package/dist/_chunks/{index-acd6d64f.js → index-cdadc366.js} +8 -7
  168. package/dist/_chunks/{index-acd6d64f.js.map → index-cdadc366.js.map} +1 -1
  169. package/dist/_chunks/{index-48322669.mjs → index-d81f74c4.mjs} +3 -3
  170. package/dist/_chunks/index-d81f74c4.mjs.map +1 -0
  171. package/dist/_chunks/{index-b81f7273.mjs → index-d93367d2.mjs} +78 -147
  172. package/dist/_chunks/index-d93367d2.mjs.map +1 -0
  173. package/dist/_chunks/{index-85069cac.mjs → index-dace55d9.mjs} +9 -10
  174. package/dist/_chunks/{index-85069cac.mjs.map → index-dace55d9.mjs.map} +1 -1
  175. package/dist/_chunks/{index-f179c7ea.js → index-db37fbe6.js} +13 -13
  176. package/dist/_chunks/{index-f179c7ea.js.map → index-db37fbe6.js.map} +1 -1
  177. package/dist/_chunks/{index-d1620260.js → index-dcb2c919.js} +13 -14
  178. package/dist/_chunks/{index-d1620260.js.map → index-dcb2c919.js.map} +1 -1
  179. package/dist/_chunks/{index-52b5db8a.js → index-dd3259f3.js} +8 -9
  180. package/dist/_chunks/{index-52b5db8a.js.map → index-dd3259f3.js.map} +1 -1
  181. package/dist/_chunks/{index-7d40adea.mjs → index-df42dfec.mjs} +8 -7
  182. package/dist/_chunks/{index-7d40adea.mjs.map → index-df42dfec.mjs.map} +1 -1
  183. package/dist/_chunks/{index-edc9bb0b.js → index-e2663a88.js} +673 -811
  184. package/dist/_chunks/index-e2663a88.js.map +1 -0
  185. package/dist/_chunks/{index-7aed99db.js → index-e2c5346d.js} +12 -12
  186. package/dist/_chunks/{index-7aed99db.js.map → index-e2c5346d.js.map} +1 -1
  187. package/dist/_chunks/{index-e414353b.js → index-e7381e58.js} +8 -8
  188. package/dist/_chunks/{index-e414353b.js.map → index-e7381e58.js.map} +1 -1
  189. package/dist/_chunks/{index-73ba6bdd.mjs → index-e8eff6c5.mjs} +3 -3
  190. package/dist/_chunks/{index-73ba6bdd.mjs.map → index-e8eff6c5.mjs.map} +1 -1
  191. package/dist/_chunks/{index-370a4ee8.mjs → index-f69d3930.mjs} +12 -12
  192. package/dist/_chunks/index-f69d3930.mjs.map +1 -0
  193. package/dist/_chunks/{index-8ea5a488.js → index-f9e95b10.js} +9 -10
  194. package/dist/_chunks/{index-8ea5a488.js.map → index-f9e95b10.js.map} +1 -1
  195. package/dist/_chunks/{index-1b7e986c.mjs → index-fe29b1fd.mjs} +14 -13
  196. package/dist/_chunks/{index-1b7e986c.mjs.map → index-fe29b1fd.mjs.map} +1 -1
  197. package/dist/_chunks/{schema-f49c76d7.js → schema-8eebfdf9.js} +2 -2
  198. package/dist/_chunks/{schema-f49c76d7.js.map → schema-8eebfdf9.js.map} +1 -1
  199. package/dist/_chunks/{schema-a95f2514.mjs → schema-ac25a47b.mjs} +2 -2
  200. package/dist/_chunks/{schema-a95f2514.mjs.map → schema-ac25a47b.mjs.map} +1 -1
  201. package/dist/_chunks/{validateWorkflow-d051b610.mjs → validateWorkflow-2511dc85.mjs} +3 -3
  202. package/dist/_chunks/{validateWorkflow-d051b610.mjs.map → validateWorkflow-2511dc85.mjs.map} +1 -1
  203. package/dist/_chunks/{validateWorkflow-e66d7d2e.js → validateWorkflow-c0f3148d.js} +3 -3
  204. package/dist/_chunks/{validateWorkflow-e66d7d2e.js.map → validateWorkflow-c0f3148d.js.map} +1 -1
  205. package/dist/admin/index.js +9 -10
  206. package/dist/admin/index.js.map +1 -1
  207. package/dist/admin/index.mjs +9 -10
  208. package/dist/admin/index.mjs.map +1 -1
  209. package/dist/admin/src/constants.d.ts +10 -0
  210. package/dist/admin/src/contexts/admin.d.ts +2 -2
  211. package/dist/admin/src/hooks/__mocks__/useSettingsMenu.d.ts +2 -0
  212. package/dist/admin/src/hooks/useEnterprise.d.ts +6 -4
  213. package/dist/admin/src/hooks/useSettingsMenu.d.ts +24 -0
  214. package/dist/admin/src/pages/Auth/AuthPage.d.ts +6 -0
  215. package/dist/admin/src/pages/Auth/components/FieldActionWrapper.d.ts +3 -0
  216. package/dist/admin/src/pages/Auth/components/ForgotPassword.d.ts +3 -0
  217. package/dist/admin/src/pages/Auth/components/ForgotPasswordSuccess.d.ts +2 -0
  218. package/dist/admin/src/pages/Auth/components/Login.d.ts +8 -0
  219. package/dist/admin/src/pages/Auth/components/Oops.d.ts +2 -0
  220. package/dist/admin/src/pages/Auth/components/Register.d.ts +7 -0
  221. package/dist/admin/src/pages/Auth/components/ResetPassword.d.ts +3 -0
  222. package/dist/admin/src/pages/Auth/constants.d.ts +14 -0
  223. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
  224. package/dist/admin/src/types/permissions.d.ts +10 -0
  225. package/dist/cli.js +3 -1
  226. package/dist/cli.js.map +1 -1
  227. package/dist/cli.mjs +3 -1
  228. package/dist/cli.mjs.map +1 -1
  229. package/dist/ee/admin/src/constants.d.ts +3 -1
  230. package/dist/ee/admin/src/pages/AuthPage/components/Login.d.ts +3 -0
  231. package/dist/ee/admin/src/pages/AuthPage/components/Providers.d.ts +2 -0
  232. package/dist/ee/admin/src/pages/AuthPage/components/SSOProviders.d.ts +8 -0
  233. package/dist/ee/admin/src/pages/AuthPage/constants.d.ts +3 -0
  234. package/dist/ee/admin/src/pages/AuthResponse.d.ts +2 -0
  235. package/dist/ee/admin/src/pages/HomePage.d.ts +1 -1
  236. package/dist/shared/contracts/authentication.d.ts +126 -0
  237. package/dist/shared/contracts/providers.d.ts +18 -0
  238. package/package.json +21 -21
  239. package/dist/_chunks/HomePage-a3cc32d2.mjs.map +0 -1
  240. package/dist/_chunks/HomePage-bdcb51be.js.map +0 -1
  241. package/dist/_chunks/SSOProviders-1d062c95.mjs.map +0 -1
  242. package/dist/_chunks/SSOProviders-1ef0a89e.js.map +0 -1
  243. package/dist/_chunks/constants-12dfb222.mjs +0 -34
  244. package/dist/_chunks/constants-12dfb222.mjs.map +0 -1
  245. package/dist/_chunks/constants-1aea1185.js +0 -34
  246. package/dist/_chunks/constants-1aea1185.js.map +0 -1
  247. package/dist/_chunks/constants-727a113c.js.map +0 -1
  248. package/dist/_chunks/constants-86aa3e70.js.map +0 -1
  249. package/dist/_chunks/constants-921eda17.mjs.map +0 -1
  250. package/dist/_chunks/constants-9de7641c.mjs.map +0 -1
  251. package/dist/_chunks/index-0af587c3.js.map +0 -1
  252. package/dist/_chunks/index-137490ba.js.map +0 -1
  253. package/dist/_chunks/index-16030b74.js.map +0 -1
  254. package/dist/_chunks/index-284c5926.js.map +0 -1
  255. package/dist/_chunks/index-305a03f4.mjs.map +0 -1
  256. package/dist/_chunks/index-34de382e.mjs.map +0 -1
  257. package/dist/_chunks/index-36e0d449.mjs.map +0 -1
  258. package/dist/_chunks/index-370a4ee8.mjs.map +0 -1
  259. package/dist/_chunks/index-48322669.mjs.map +0 -1
  260. package/dist/_chunks/index-5752584c.mjs.map +0 -1
  261. package/dist/_chunks/index-86dfbe3a.js.map +0 -1
  262. package/dist/_chunks/index-a4348f3b.js.map +0 -1
  263. package/dist/_chunks/index-b2257157.js.map +0 -1
  264. package/dist/_chunks/index-b81f7273.mjs.map +0 -1
  265. package/dist/_chunks/index-bdfc1149.mjs.map +0 -1
  266. package/dist/_chunks/index-edc9bb0b.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const helperPlugin = require("@strapi/helper-plugin");
5
- const index = require("./index-b2257157.js");
5
+ const index = require("./index-17acbe23.js");
6
6
  const designSystem = require("@strapi/design-system");
7
7
  const reactIntl = require("react-intl");
8
8
  const reactQuery = require("react-query");
@@ -11,11 +11,11 @@ require("lodash/cloneDeep");
11
11
  require("lodash/get");
12
12
  require("lodash/omit");
13
13
  require("lodash/isNaN");
14
- require("./schema-f49c76d7.js");
14
+ require("./schema-8eebfdf9.js");
15
15
  require("lodash/merge");
16
16
  require("lodash/set");
17
17
  const useAdminUsers = require("./useAdminUsers-05d6b26a.js");
18
- const AuthenticatedApp = require("./AuthenticatedApp-092ef2be.js");
18
+ const AuthenticatedApp = require("./AuthenticatedApp-d1e28164.js");
19
19
  const constants = require("./constants-d5d67ca8.js");
20
20
  const React = require("react");
21
21
  const useLicenseLimits = require("./useLicenseLimits-81ef3cce.js");
@@ -39,16 +39,16 @@ require("lodash/upperFirst");
39
39
  require("@strapi/design-system/v2");
40
40
  require("react-dnd-html5-backend");
41
41
  require("styled-components");
42
- require("./index-edc9bb0b.js");
42
+ require("./index-e2663a88.js");
43
43
  require("react-dom/client");
44
44
  require("invariant");
45
45
  require("lodash/isFunction");
46
46
  require("lodash/pick");
47
47
  require("@radix-ui/react-context");
48
- require("lodash/camelCase");
49
- require("lodash/defaultsDeep");
50
48
  require("formik");
49
+ require("lodash/camelCase");
51
50
  require("yup");
51
+ require("lodash/defaultsDeep");
52
52
  require("@reduxjs/toolkit");
53
53
  require("lodash/size");
54
54
  require("lodash/take");
@@ -82,6 +82,7 @@ require("lodash/unset");
82
82
  require("lodash/isArray");
83
83
  require("lodash/flatMap");
84
84
  require("lodash/uniq");
85
+ require("./formatAPIErrors-b599cf27.js");
85
86
  require("date-fns/parseISO");
86
87
  require("lodash/isNumber");
87
88
  require("lodash/groupBy");
@@ -414,4 +415,4 @@ function InformationBoxEE() {
414
415
  ] });
415
416
  }
416
417
  exports.InformationBoxEE = InformationBoxEE;
417
- //# sourceMappingURL=index-acd6d64f.js.map
418
+ //# sourceMappingURL=index-cdadc366.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-acd6d64f.js","sources":["../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxEE.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { getDisplayName } from '../../../../../../../../../admin/src/content-manager/utils';\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\nimport { ASSIGNEE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function AssigneeSelect() {\n const {\n initialData,\n layout: { uid },\n isSingleType,\n onChange,\n } = useCMEditViewDataManager();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { put } = useFetchClient();\n const {\n allowedActions: { canReadUsers },\n isLoading: isLoadingPermissions,\n } = useRBAC({\n readUsers: permissions.settings.users.read,\n });\n const { users, isLoading, isError } = useAdminUsers(\n {},\n {\n enabled: !isLoadingPermissions && canReadUsers,\n }\n );\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const handleChange = async ({ value: assigneeId }) => {\n mutation.mutate({\n entityId: initialData.id,\n assigneeId: parseInt(assigneeId, 10),\n uid,\n });\n };\n\n const mutation = useMutation(\n async ({ entityId, assigneeId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/assignee`, {\n data: { id: assigneeId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n {\n target: { name: ASSIGNEE_ATTRIBUTE_NAME, value: createdEntity[ASSIGNEE_ATTRIBUTE_NAME] },\n },\n true\n );\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n },\n }\n );\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n (isError &&\n canReadUsers &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (mutation.error && formatAPIError(mutation.error))\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id : null}\n onChange={(value) => handleChange({ value })}\n onClear={() => handleChange({ value: null })}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || mutation.isLoading}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n}\n","import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport function useReviewWorkflowsStages({ id, layout } = {}, queryOptions = {}) {\n const { kind, uid } = layout;\n const slug = kind === 'collectionType' ? 'collection-types' : 'single-types';\n\n const { get } = useFetchClient();\n\n const { data, isLoading, refetch } = useQuery(\n ['content-manager', slug, layout.uid, id, 'stages'],\n async () => {\n const { data } = await get(`/admin/content-manager/${slug}/${uid}/${id}/stages`);\n\n return data;\n },\n queryOptions\n );\n\n // these return values need to be memoized, because the default value\n // would lead to infinite rendering loops when used in a dependency array\n // on an effect\n const meta = React.useMemo(() => data?.meta ?? {}, [data?.meta]);\n const stages = React.useMemo(() => data?.data ?? [], [data?.data]);\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n stages,\n isLoading,\n refetch,\n };\n}\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useLicenseLimits } from '../../../../../../hooks/useLicenseLimits';\nimport * as LimitsModal from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { useReviewWorkflowsStages } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages';\nimport { getStageColorByHex } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { STAGE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function StageSelect() {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { put } = useFetchClient();\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { meta, stages, isLoading, refetch } = useReviewWorkflowsStages(\n { id: initialData.id, layout: contentType },\n {\n enabled: !!initialData?.id,\n }\n );\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState(false);\n\n const limits = getFeature('review-workflows');\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const mutation = useMutation(\n async ({ entityId, stageId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/stage`, {\n data: { id: stageId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n { target: { name: STAGE_ATTRIBUTE_NAME, value: createdEntity[STAGE_ATTRIBUTE_NAME] } },\n true\n );\n\n await refetch();\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n },\n }\n );\n\n const handleChange = async ({ value: stageId }) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < meta.workflowCount\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n mutation.mutateAsync({\n entityId: initialData.id,\n stageId,\n uid: contentType.uid,\n });\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = activeWorkflowStage?.color\n ? getStageColorByHex(activeWorkflowStage?.color)\n : {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(mutation.error && formatAPIError(mutation.error)) || null}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={(value) => handleChange({ value })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color);\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'stage'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n}\n","import React from 'react';\n\nimport { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/Information';\n\nimport { AssigneeSelect } from './components/AssigneeSelect';\nimport { StageSelect } from './components/StageSelect';\n\nexport function InformationBoxEE() {\n const {\n isCreatingEntry,\n layout: { options },\n } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n}\n"],"names":["useCMEditViewDataManager","useSelector","selectAdminPermissions","useIntl","useAPIErrorHandler","useNotification","useFetchClient","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useMutation","uid","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useQuery","data","React","useLicenseLimits","STAGE_ATTRIBUTE_NAME","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal.Root","LimitsModal.Title","LimitsModal.Body","Information"],"mappings":"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"}
1
+ {"version":3,"file":"index-cdadc366.js","sources":["../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js","../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js","../../ee/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxEE.js"],"sourcesContent":["import * as React from 'react';\n\nimport { Combobox, ComboboxOption, Field, Flex } from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { getDisplayName } from '../../../../../../../../../admin/src/content-manager/utils';\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\nimport { selectAdminPermissions } from '../../../../../../../../../admin/src/selectors';\nimport { ASSIGNEE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function AssigneeSelect() {\n const {\n initialData,\n layout: { uid },\n isSingleType,\n onChange,\n } = useCMEditViewDataManager();\n const permissions = useSelector(selectAdminPermissions);\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { put } = useFetchClient();\n const {\n allowedActions: { canReadUsers },\n isLoading: isLoadingPermissions,\n } = useRBAC({\n readUsers: permissions.settings.users.read,\n });\n const { users, isLoading, isError } = useAdminUsers(\n {},\n {\n enabled: !isLoadingPermissions && canReadUsers,\n }\n );\n\n const currentAssignee = initialData?.[ASSIGNEE_ATTRIBUTE_NAME] ?? null;\n\n const handleChange = async ({ value: assigneeId }) => {\n mutation.mutate({\n entityId: initialData.id,\n assigneeId: parseInt(assigneeId, 10),\n uid,\n });\n };\n\n const mutation = useMutation(\n async ({ entityId, assigneeId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/assignee`, {\n data: { id: assigneeId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n {\n target: { name: ASSIGNEE_ATTRIBUTE_NAME, value: createdEntity[ASSIGNEE_ATTRIBUTE_NAME] },\n },\n true\n );\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n },\n });\n },\n }\n );\n\n return (\n <Field name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <Combobox\n clearLabel={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n })}\n error={\n (isError &&\n canReadUsers &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (mutation.error && formatAPIError(mutation.error))\n }\n disabled={!isLoadingPermissions && !isLoading && users.length === 0}\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n value={currentAssignee ? currentAssignee.id : null}\n onChange={(value) => handleChange({ value })}\n onClear={() => handleChange({ value: null })}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select …',\n })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n })}\n loading={isLoading || isLoadingPermissions || mutation.isLoading}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id}\n textValue={getDisplayName(user, formatMessage)}\n >\n {getDisplayName(user, formatMessage)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Flex>\n </Field>\n );\n}\n","import * as React from 'react';\n\nimport { useFetchClient } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\n\nexport function useReviewWorkflowsStages({ id, layout } = {}, queryOptions = {}) {\n const { kind, uid } = layout;\n const slug = kind === 'collectionType' ? 'collection-types' : 'single-types';\n\n const { get } = useFetchClient();\n\n const { data, isLoading, refetch } = useQuery(\n ['content-manager', slug, layout.uid, id, 'stages'],\n async () => {\n const { data } = await get(`/admin/content-manager/${slug}/${uid}/${id}/stages`);\n\n return data;\n },\n queryOptions\n );\n\n // these return values need to be memoized, because the default value\n // would lead to infinite rendering loops when used in a dependency array\n // on an effect\n const meta = React.useMemo(() => data?.meta ?? {}, [data?.meta]);\n const stages = React.useMemo(() => data?.data ?? [], [data?.data]);\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n stages,\n isLoading,\n refetch,\n };\n}\n","import * as React from 'react';\n\nimport {\n SingleSelect,\n SingleSelectOption,\n Field,\n FieldError,\n FieldHint,\n Flex,\n Loader,\n Typography,\n} from '@strapi/design-system';\nimport {\n useCMEditViewDataManager,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\n\nimport { useLicenseLimits } from '../../../../../../hooks/useLicenseLimits';\nimport * as LimitsModal from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants';\nimport { useReviewWorkflowsStages } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages';\nimport { getStageColorByHex } from '../../../../../../pages/SettingsPage/pages/ReviewWorkflows/utils/colors';\nimport { STAGE_ATTRIBUTE_NAME } from '../../constants';\n\nexport function StageSelect() {\n const { initialData, layout: contentType, isSingleType, onChange } = useCMEditViewDataManager();\n const { put } = useFetchClient();\n const { formatMessage } = useIntl();\n const { formatAPIError } = useAPIErrorHandler();\n const toggleNotification = useNotification();\n const { meta, stages, isLoading, refetch } = useReviewWorkflowsStages(\n { id: initialData.id, layout: contentType },\n {\n enabled: !!initialData?.id,\n }\n );\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState(false);\n\n const limits = getFeature('review-workflows');\n // it is possible to rely on initialData here, because it always will\n // be updated at the same time when modifiedData is updated, otherwise\n // the entity is flagged as modified\n const activeWorkflowStage = initialData?.[STAGE_ATTRIBUTE_NAME] ?? null;\n\n const mutation = useMutation(\n async ({ entityId, stageId, uid }) => {\n const typeSlug = isSingleType ? 'single-types' : 'collection-types';\n\n const {\n data: { data: createdEntity },\n } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/stage`, {\n data: { id: stageId },\n });\n\n // initialData and modifiedData have to stay in sync, otherwise the entity would be flagged\n // as modified, which is what the boolean flag is for\n onChange(\n { target: { name: STAGE_ATTRIBUTE_NAME, value: createdEntity[STAGE_ATTRIBUTE_NAME] } },\n true\n );\n\n await refetch();\n\n return createdEntity;\n },\n {\n onSuccess() {\n toggleNotification({\n type: 'success',\n message: {\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n },\n });\n },\n }\n );\n\n const handleChange = async ({ value: stageId }) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < meta.workflowCount\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n mutation.mutateAsync({\n entityId: initialData.id,\n stageId,\n uid: contentType.uid,\n });\n }\n } catch (error) {\n // react-query@v3: the error doesn't have to be handled here\n // see: https://github.com/TanStack/query/issues/121\n }\n };\n\n const { themeColorName } = activeWorkflowStage?.color\n ? getStageColorByHex(activeWorkflowStage?.color)\n : {};\n\n return (\n <>\n <Field\n hint={\n stages.length === 0 &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n })\n }\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\">\n <SingleSelect\n disabled={stages.length === 0}\n error={(mutation.error && formatAPIError(mutation.error)) || null}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n value={activeWorkflowStage?.id}\n onChange={(value) => handleChange({ value })}\n label={formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n as=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n customizeContent={() => (\n <Flex as=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? (\n <Loader small style={{ display: 'flex' }} data-testid=\"loader\" />\n ) : null}\n </Flex>\n )}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color);\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <FieldHint />\n <FieldError />\n </Flex>\n </Field>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'stage'}\n onClose={() => setShowLimitModal(false)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n}\n","import React from 'react';\n\nimport { useCMEditViewDataManager } from '@strapi/helper-plugin';\n\nimport { Information } from '../../../../../../../admin/src/content-manager/pages/EditView/Information';\n\nimport { AssigneeSelect } from './components/AssigneeSelect';\nimport { StageSelect } from './components/StageSelect';\n\nexport function InformationBoxEE() {\n const {\n isCreatingEntry,\n layout: { options },\n } = useCMEditViewDataManager();\n\n const hasReviewWorkflowsEnabled = options?.reviewWorkflows ?? false;\n\n return (\n <Information.Root>\n <Information.Title />\n {hasReviewWorkflowsEnabled && !isCreatingEntry && (\n <>\n <StageSelect />\n <AssigneeSelect />\n </>\n )}\n <Information.Body />\n </Information.Root>\n );\n}\n"],"names":["useCMEditViewDataManager","useSelector","selectAdminPermissions","useIntl","useAPIErrorHandler","useNotification","useFetchClient","useRBAC","useAdminUsers","ASSIGNEE_ATTRIBUTE_NAME","useMutation","uid","jsx","Field","Flex","Combobox","ComboboxOption","getDisplayName","useQuery","data","React","useLicenseLimits","STAGE_ATTRIBUTE_NAME","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","getStageColorByHex","jsxs","Fragment","SingleSelect","Typography","Loader","themeColorName","SingleSelectOption","FieldHint","FieldError","LimitsModal.Root","LimitsModal.Title","LimitsModal.Body","Information"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import PropTypes from "prop-types";
3
3
  import { useIntl } from "react-intl";
4
- import { T as getBasename } from "./index-34de382e.mjs";
4
+ import { T as getBasename } from "./index-60a57d31.mjs";
5
5
  import { IconButton, Select, Option } from "@strapi/design-system";
6
6
  import { useNotification, useClipboard, ContentBox, getFetchClient } from "@strapi/helper-plugin";
7
7
  import { Duplicate, Loader as Loader$1 } from "@strapi/icons";
@@ -39,7 +39,7 @@ MagicLinkWrapper.propTypes = {
39
39
  };
40
40
  const MagicLinkCE = ({ registrationToken }) => {
41
41
  const { formatMessage } = useIntl();
42
- const target = `${window.location.origin}${getBasename()}auth/register?registrationToken=${registrationToken}`;
42
+ const target = `${window.location.origin}${getBasename()}/auth/register?registrationToken=${registrationToken}`;
43
43
  return /* @__PURE__ */ jsx(MagicLinkWrapper, { target, children: formatMessage({
44
44
  id: "app.components.Users.MagicLink.connect",
45
45
  defaultMessage: "Copy and share this link to give access to this user"
@@ -129,4 +129,4 @@ export {
129
129
  SelectRoles as S,
130
130
  MagicLinkWrapper as a
131
131
  };
132
- //# sourceMappingURL=index-48322669.mjs.map
132
+ //# sourceMappingURL=index-d81f74c4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-d81f74c4.mjs","sources":["../../admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js","../../admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js","../../admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js"],"sourcesContent":["import React from 'react';\n\nimport { IconButton } from '@strapi/design-system';\nimport { ContentBox, useClipboard, useNotification } from '@strapi/helper-plugin';\nimport { Duplicate } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst MagicLinkWrapper = ({ children, target }) => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const { copy } = useClipboard();\n\n const copyLabel = formatMessage({\n id: 'app.component.CopyToClipboard.label',\n defaultMessage: 'Copy to clipboard',\n });\n\n const handleClick = async () => {\n const didCopy = await copy(target);\n\n if (didCopy) {\n toggleNotification({ type: 'info', message: { id: 'notification.link-copied' } });\n }\n };\n\n return (\n <ContentBox\n endAction={\n <IconButton label={copyLabel} noBorder icon={<Duplicate />} onClick={handleClick} />\n }\n title={target}\n titleEllipsis\n subtitle={children}\n icon={<span style={{ fontSize: 32 }}>✉️</span>}\n iconBackground=\"neutral100\"\n />\n );\n};\n\nMagicLinkWrapper.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).isRequired,\n target: PropTypes.string.isRequired,\n};\n\nexport default MagicLinkWrapper;\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../core/utils/basename';\n\nimport MagicLinkWrapper from './MagicLinkWrapper';\n\nexport const MagicLinkCE = ({ registrationToken }) => {\n const { formatMessage } = useIntl();\n const target = `${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`;\n\n return (\n <MagicLinkWrapper target={target}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n};\n\nMagicLinkCE.defaultProps = {\n registrationToken: '',\n};\n\nMagicLinkCE.propTypes = {\n registrationToken: PropTypes.string,\n};\n","import React from 'react';\n\nimport { Option, Select } from '@strapi/design-system';\nimport { getFetchClient } from '@strapi/helper-plugin';\nimport { Loader as LoadingIcon } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\nimport styled, { keyframes } from 'styled-components';\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n`;\n\nconst LoadingWrapper = styled.div`\n animation: ${rotation} 2s infinite linear;\n`;\n\nconst Loader = () => (\n <LoadingWrapper>\n <LoadingIcon />\n </LoadingWrapper>\n);\n\nconst fetchData = async () => {\n const { get } = getFetchClient();\n const { data } = await get('/admin/roles');\n\n return data.data;\n};\n\nconst SelectRoles = ({ disabled, error, onChange, value }) => {\n const { status, data } = useQuery(['roles'], fetchData, {\n staleTime: 50000,\n });\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles',\n defaultMessage: \"User's roles\",\n });\n const hint = formatMessage({\n id: 'app.components.Users.ModalCreateBody.block-title.roles.description',\n defaultMessage: 'A user can have one or several roles',\n });\n const placeholder = formatMessage({\n id: 'app.components.Select.placeholder',\n defaultMessage: 'Select',\n });\n const startIcon = status === 'loading' ? <Loader /> : undefined;\n\n return (\n <Select\n id=\"roles\"\n disabled={disabled}\n error={errorMessage}\n hint={hint}\n label={label}\n name=\"roles\"\n onChange={(v) => {\n onChange({ target: { name: 'roles', value: v } });\n }}\n placeholder={placeholder}\n multi\n startIcon={startIcon}\n value={value.map((v) => v.toString())}\n withTags\n required\n >\n {(data || []).map((role) => {\n return (\n <Option key={role.id} value={role.id.toString()}>\n {formatMessage({\n id: `global.${role.code}`,\n defaultMessage: role.name,\n })}\n </Option>\n );\n })}\n </Select>\n );\n};\n\nSelectRoles.defaultProps = {\n disabled: false,\n error: undefined,\n};\n\nSelectRoles.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.array.isRequired,\n};\n\nexport default SelectRoles;\n"],"names":["LoadingIcon"],"mappings":"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"}
@@ -1,122 +1,50 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { useState, useCallback, useEffect, useReducer, useRef, forwardRef, useImperativeHandle } from "react";
3
+ import { useReducer, useState, useRef, forwardRef, useImperativeHandle } from "react";
4
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
5
  import { useRBACProvider, useAppInfo, useStrapiApp, hasPermissions, useTracking, getFetchClient, pxToRem, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, useFocusWhenNavigate, prefixFileUrlWithBackendUrl, SettingsPageTitle, LoadingIndicatorPage } from "@strapi/helper-plugin";
6
6
  import { Helmet } from "react-helmet";
7
7
  import { useIntl } from "react-intl";
8
8
  import { useLocation, NavLink, useParams, Redirect, Switch, Route } from "react-router-dom";
9
- import "lodash/omit";
10
- import produce from "immer";
11
- import "lodash/pick";
12
- import "lodash/set";
13
- import "lodash/unset";
14
- import { useSelector } from "react-redux";
15
- import { s as selectAdminPermissions } from "./AuthenticatedApp-b0ada7e9.mjs";
16
- import { p as useEnterprise, u as useConfiguration, d as createRoute } from "./index-34de382e.mjs";
9
+ import { Q as SETTINGS_LINKS_CE, p as useEnterprise, u as useConfiguration, d as createRoute } from "./index-60a57d31.mjs";
17
10
  import sortBy from "lodash/sortBy";
11
+ import { useSelector } from "react-redux";
12
+ import { s as selectAdminPermissions } from "./AuthenticatedApp-fd7e406d.mjs";
18
13
  import { SubNav, SubNavHeader, SubNavSections, SubNavSection, SubNavLink } from "@strapi/design-system/v2";
19
14
  import { Lock, PicturePlus, Plus, Refresh, Check, ExternalLink } from "@strapi/icons";
20
15
  import PropTypes from "prop-types";
21
16
  import styled from "styled-components";
22
17
  import { useQuery, useMutation } from "react-query";
18
+ import produce from "immer";
23
19
  import merge from "lodash/merge";
24
- import "semver/functions/lt";
25
- import "semver/functions/valid";
26
- import "react-dnd";
27
- import "react-dnd-html5-backend";
28
- import "lodash/get";
29
- import "lodash/cloneDeep";
30
20
  import "react-dom/client";
31
21
  import "invariant";
32
22
  import "lodash/isFunction";
23
+ import "lodash/pick";
33
24
  import "@radix-ui/react-context";
34
- import "axios";
35
- import "lodash/camelCase";
36
- import "lodash/defaultsDeep";
37
25
  import "formik";
26
+ import "lodash/camelCase";
38
27
  import "yup";
28
+ import "lodash/defaultsDeep";
29
+ import "lodash/omit";
39
30
  import "qs";
31
+ import "lodash/get";
32
+ import "lodash/set";
40
33
  import "@reduxjs/toolkit";
41
- const LINKS_CE = {
42
- global: [
43
- {
44
- intlLabel: { id: "Settings.application.title", defaultMessage: "Overview" },
45
- to: "/settings/application-infos",
46
- id: "000-application-infos",
47
- permissions: []
48
- },
49
- {
50
- intlLabel: { id: "Settings.webhooks.title", defaultMessage: "Webhooks" },
51
- to: "/settings/webhooks",
52
- id: "webhooks"
53
- },
54
- {
55
- intlLabel: { id: "Settings.apiTokens.title", defaultMessage: "API Tokens" },
56
- to: "/settings/api-tokens?sort=name:ASC",
57
- id: "api-tokens"
58
- },
59
- {
60
- intlLabel: { id: "Settings.transferTokens.title", defaultMessage: "Transfer Tokens" },
61
- to: "/settings/transfer-tokens?sort=name:ASC",
62
- id: "transfer-tokens"
63
- },
64
- // If the Enterprise feature is not enabled and if the config doesn't disable it, we promote the Enterprise feature by displaying them in the settings menu.
65
- // Disable this by adding "promoteEE: false" to your `./config/admin.js` file
66
- ...!window.strapi.features.isEnabled(window.strapi.features.SSO) && window.strapi?.flags?.promoteEE ? [
67
- {
68
- intlLabel: { id: "Settings.sso.title", defaultMessage: "Single Sign-On" },
69
- to: "/settings/purchase-single-sign-on",
70
- id: "sso",
71
- lockIcon: true
72
- }
73
- ] : [],
74
- ...!window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) && window.strapi?.flags?.promoteEE ? [
75
- {
76
- intlLabel: {
77
- id: "Settings.review-workflows.page.title",
78
- defaultMessage: "Review Workflows"
79
- },
80
- to: "/settings/purchase-review-workflows",
81
- id: "review-workflows",
82
- lockIcon: true
83
- }
84
- ] : []
85
- ],
86
- admin: [
87
- {
88
- intlLabel: { id: "global.roles", defaultMessage: "Roles" },
89
- to: "/settings/roles",
90
- id: "roles"
91
- },
92
- {
93
- intlLabel: { id: "global.users" },
94
- // Init the search params directly
95
- to: "/settings/users?pageSize=10&page=1&sort=firstname",
96
- id: "users"
97
- },
98
- ...!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) && window.strapi?.flags?.promoteEE ? [
99
- {
100
- intlLabel: { id: "global.auditLogs", defaultMessage: "Audit Logs" },
101
- to: "/settings/purchase-audit-logs",
102
- id: "auditLogs",
103
- lockIcon: true
104
- }
105
- ] : []
106
- ]
107
- };
108
- const formatLinks = (menu) => {
109
- return menu.map((menuSection) => {
110
- const formattedLinks = menuSection.links.map((link) => ({
111
- ...link,
112
- isDisplayed: false
113
- }));
114
- return { ...menuSection, links: formattedLinks };
115
- });
116
- };
117
- const sortLinks = (links) => sortBy(links, (link) => link.id);
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
+ });
118
46
  const useSettingsMenu = () => {
119
- const [{ isLoading, menu }, setData] = useState({
47
+ const [{ isLoading, menu }, setData] = React.useState({
120
48
  isLoading: true,
121
49
  menu: []
122
50
  });
@@ -124,14 +52,15 @@ const useSettingsMenu = () => {
124
52
  const { shouldUpdateStrapi } = useAppInfo();
125
53
  const { settings } = useStrapiApp();
126
54
  const permissions = useSelector(selectAdminPermissions);
127
- const { global: globalLinks, admin: adminLinks } = useEnterprise(
128
- LINKS_CE,
129
- async () => (await import("./constants-12dfb222.mjs")).LINKS_EE,
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(),
130
59
  {
131
- combine(ceLinks, eeLinks) {
60
+ combine(ceLinks2, eeLinks) {
132
61
  return {
133
- admin: [...eeLinks.admin, ...ceLinks.admin],
134
- global: [...ceLinks.global, ...eeLinks.global]
62
+ admin: [...eeLinks.admin, ...ceLinks2.admin],
63
+ global: [...ceLinks2.global, ...eeLinks.global]
135
64
  };
136
65
  },
137
66
  defaultValue: {
@@ -140,53 +69,55 @@ const useSettingsMenu = () => {
140
69
  }
141
70
  }
142
71
  );
143
- const addPermissions = useCallback(
72
+ const addPermissions = React.useCallback(
144
73
  (link) => {
145
74
  if (!link.id) {
146
75
  throw new Error("The settings menu item must have an id attribute.");
147
76
  }
148
77
  return {
149
78
  ...link,
150
- permissions: permissions.settings?.[link.id]?.main
79
+ permissions: permissions.settings?.[link.id]?.main ?? []
151
80
  };
152
81
  },
153
82
  [permissions.settings]
154
83
  );
155
- useEffect(() => {
84
+ React.useEffect(() => {
156
85
  const getData = async () => {
157
86
  const buildMenuPermissions = (sections2) => Promise.all(
158
87
  sections2.reduce((acc, section, sectionIndex) => {
159
- const buildMenuPermissions2 = (links) => links.map(async (link, linkIndex) => ({
88
+ const linksWithPermissions = section.links.map(async (link, linkIndex) => ({
160
89
  hasPermission: await hasPermissions(userPermissions, link.permissions),
161
90
  sectionIndex,
162
91
  linkIndex
163
92
  }));
164
- return [...acc, ...buildMenuPermissions2(section.links)];
93
+ return [...acc, ...linksWithPermissions];
165
94
  }, [])
166
95
  );
167
96
  const menuPermissions = await buildMenuPermissions(sections);
168
- setData((prev) => ({
169
- ...prev,
170
- isLoading: false,
171
- menu: sections.map((section, sectionIndex) => ({
172
- ...section,
173
- links: section.links.map((link, linkIndex) => {
174
- const permission = menuPermissions.find(
175
- (permission2) => permission2.sectionIndex === sectionIndex && permission2.linkIndex === linkIndex
176
- );
177
- return {
178
- ...link,
179
- isDisplayed: Boolean(permission.hasPermission)
180
- };
181
- })
182
- }))
183
- }));
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
+ });
184
115
  };
185
116
  const { global, ...otherSections } = settings;
186
117
  const sections = formatLinks([
187
118
  {
188
- ...settings.global,
189
- links: sortLinks([...settings.global.links, ...globalLinks.map(addPermissions)]).map(
119
+ ...global,
120
+ links: sortBy([...global.links, ...globalLinks.map(addPermissions)], (link) => link.id).map(
190
121
  (link) => ({
191
122
  ...link,
192
123
  hasNotification: link.id === "000-application-infos" && shouldUpdateStrapi
@@ -202,13 +133,13 @@ const useSettingsMenu = () => {
202
133
  ]);
203
134
  getData();
204
135
  }, [adminLinks, globalLinks, userPermissions, settings, shouldUpdateStrapi, addPermissions]);
205
- const filterMenu = (menuItem) => {
206
- return {
136
+ return {
137
+ isLoading,
138
+ menu: menu.map((menuItem) => ({
207
139
  ...menuItem,
208
140
  links: menuItem.links.filter((link) => link.isDisplayed)
209
- };
141
+ }))
210
142
  };
211
- return { isLoading, menu: menu.map(filterMenu) };
212
143
  };
213
144
  const CustomIcon = styled(Icon)`
214
145
  right: 15px;
@@ -267,7 +198,7 @@ SettingsNav.propTypes = {
267
198
  const ROUTES_CE = [
268
199
  {
269
200
  async Component() {
270
- const component = await import("./index-1da8c640.mjs");
201
+ const component = await import("./index-c4d3a07b.mjs");
271
202
  return component;
272
203
  },
273
204
  to: "/settings/roles",
@@ -275,7 +206,7 @@ const ROUTES_CE = [
275
206
  },
276
207
  {
277
208
  async Component() {
278
- const component = await import("./index-6cc54f3b.mjs");
209
+ const component = await import("./index-59e31a9f.mjs");
279
210
  return component;
280
211
  },
281
212
  to: "/settings/roles/duplicate/:id",
@@ -283,7 +214,7 @@ const ROUTES_CE = [
283
214
  },
284
215
  {
285
216
  async Component() {
286
- const component = await import("./index-6cc54f3b.mjs");
217
+ const component = await import("./index-59e31a9f.mjs");
287
218
  return component;
288
219
  },
289
220
  to: "/settings/roles/new",
@@ -291,7 +222,7 @@ const ROUTES_CE = [
291
222
  },
292
223
  {
293
224
  async Component() {
294
- const component = await import("./index-35e4bad6.mjs");
225
+ const component = await import("./index-30933e3e.mjs");
295
226
  return component;
296
227
  },
297
228
  to: "/settings/roles/:id",
@@ -299,7 +230,7 @@ const ROUTES_CE = [
299
230
  },
300
231
  {
301
232
  async Component() {
302
- const component = await import("./index-6dbc94a9.mjs").then((n) => n.i);
233
+ const component = await import("./index-9c45bda7.mjs").then((n) => n.i);
303
234
  return component;
304
235
  },
305
236
  to: "/settings/users",
@@ -307,7 +238,7 @@ const ROUTES_CE = [
307
238
  },
308
239
  {
309
240
  async Component() {
310
- const component = await import("./index-5ad8482b.mjs");
241
+ const component = await import("./index-55f9b6b3.mjs");
311
242
  return component;
312
243
  },
313
244
  to: "/settings/users/:id",
@@ -315,7 +246,7 @@ const ROUTES_CE = [
315
246
  },
316
247
  {
317
248
  async Component() {
318
- const component = await import("./index-8d4d361d.mjs");
249
+ const component = await import("./index-cc7bedec.mjs");
319
250
  return component;
320
251
  },
321
252
  to: "/settings/webhooks/create",
@@ -323,7 +254,7 @@ const ROUTES_CE = [
323
254
  },
324
255
  {
325
256
  async Component() {
326
- const component = await import("./index-be2ca313.mjs");
257
+ const component = await import("./index-45ae7be1.mjs");
327
258
  return component;
328
259
  },
329
260
  to: "/settings/webhooks/:id",
@@ -331,7 +262,7 @@ const ROUTES_CE = [
331
262
  },
332
263
  {
333
264
  async Component() {
334
- const component = await import("./index-ea23ee9f.mjs");
265
+ const component = await import("./index-a7d28c42.mjs");
335
266
  return component;
336
267
  },
337
268
  to: "/settings/webhooks",
@@ -339,7 +270,7 @@ const ROUTES_CE = [
339
270
  },
340
271
  {
341
272
  async Component() {
342
- const component = await import("./index-85069cac.mjs");
273
+ const component = await import("./index-dace55d9.mjs");
343
274
  return component;
344
275
  },
345
276
  to: "/settings/api-tokens",
@@ -347,7 +278,7 @@ const ROUTES_CE = [
347
278
  },
348
279
  {
349
280
  async Component() {
350
- const component = await import("./index-1b7e986c.mjs");
281
+ const component = await import("./index-fe29b1fd.mjs");
351
282
  return component;
352
283
  },
353
284
  to: "/settings/api-tokens/create",
@@ -355,7 +286,7 @@ const ROUTES_CE = [
355
286
  },
356
287
  {
357
288
  async Component() {
358
- const component = await import("./index-1e973c03.mjs");
289
+ const component = await import("./index-5df8a59e.mjs");
359
290
  return component;
360
291
  },
361
292
  to: "/settings/api-tokens/:id",
@@ -363,7 +294,7 @@ const ROUTES_CE = [
363
294
  },
364
295
  {
365
296
  async Component() {
366
- const component = await import("./index-e22d1a84.mjs");
297
+ const component = await import("./index-22993544.mjs");
367
298
  return component;
368
299
  },
369
300
  to: "/settings/transfer-tokens/create",
@@ -371,7 +302,7 @@ const ROUTES_CE = [
371
302
  },
372
303
  {
373
304
  async Component() {
374
- const component = await import("./index-53ba81f9.mjs");
305
+ const component = await import("./index-bf788868.mjs");
375
306
  return component;
376
307
  },
377
308
  to: "/settings/transfer-tokens",
@@ -379,7 +310,7 @@ const ROUTES_CE = [
379
310
  },
380
311
  {
381
312
  async Component() {
382
- const component = await import("./index-fcd5bc14.mjs");
313
+ const component = await import("./index-0ed0c104.mjs");
383
314
  return component;
384
315
  },
385
316
  to: "/settings/transfer-tokens/:id",
@@ -1258,7 +1189,7 @@ const ApplicationInfosPage = () => {
1258
1189
  } = useAppInfo();
1259
1190
  const AdminSeatInfo = useEnterprise(
1260
1191
  AdminSeatInfoCE,
1261
- async () => (await import("./index-332f319e.mjs")).AdminSeatInfoEE
1192
+ async () => (await import("./index-52b70b56.mjs")).AdminSeatInfoEE
1262
1193
  );
1263
1194
  const {
1264
1195
  allowedActions: { canRead, canUpdate }
@@ -1455,7 +1386,7 @@ function SettingsPage() {
1455
1386
  const { isLoading, menu } = useSettingsMenu();
1456
1387
  const routes = useEnterprise(
1457
1388
  ROUTES_CE,
1458
- async () => (await import("./constants-6157f648.mjs")).ROUTES_EE,
1389
+ async () => (await import("./constants-cbadfd36.mjs")).ROUTES_EE,
1459
1390
  {
1460
1391
  combine(ceRoutes, eeRoutes) {
1461
1392
  return [...ceRoutes, ...eeRoutes];
@@ -1498,4 +1429,4 @@ function SettingsPage() {
1498
1429
  export {
1499
1430
  SettingsPage
1500
1431
  };
1501
- //# sourceMappingURL=index-b81f7273.mjs.map
1432
+ //# sourceMappingURL=index-d93367d2.mjs.map