@strapi/admin 5.33.4 → 5.35.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 (310) hide show
  1. package/dist/admin/admin/src/components/GradientBadge.js +18 -2
  2. package/dist/admin/admin/src/components/GradientBadge.js.map +1 -1
  3. package/dist/admin/admin/src/components/GradientBadge.mjs +19 -3
  4. package/dist/admin/admin/src/components/GradientBadge.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/Layouts/ActionLayout.js +8 -1
  6. package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
  7. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs +8 -1
  8. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/Layouts/ContentLayout.js +4 -0
  10. package/dist/admin/admin/src/components/Layouts/ContentLayout.js.map +1 -1
  11. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs +4 -0
  12. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs.map +1 -1
  13. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +84 -50
  14. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  15. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +86 -52
  16. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  17. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +1 -0
  18. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -1
  19. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs +1 -0
  20. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs.map +1 -1
  21. package/dist/admin/admin/src/components/MainNav/NavLink.js +37 -6
  22. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  23. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +38 -7
  24. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/NpsSurvey.js +2 -0
  26. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  27. package/dist/admin/admin/src/components/NpsSurvey.mjs +2 -0
  28. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/SubNav.js +41 -20
  30. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  31. package/dist/admin/admin/src/components/SubNav.mjs +42 -21
  32. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  33. package/dist/admin/admin/src/constants/theme.js +2 -0
  34. package/dist/admin/admin/src/constants/theme.js.map +1 -1
  35. package/dist/admin/admin/src/constants/theme.mjs +2 -1
  36. package/dist/admin/admin/src/constants/theme.mjs.map +1 -1
  37. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  38. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  39. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  40. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  41. package/dist/admin/admin/src/hooks/useMenu.js +2 -1
  42. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  43. package/dist/admin/admin/src/hooks/useMenu.mjs +2 -1
  44. package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
  45. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  46. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  47. package/dist/admin/admin/src/pages/Auth/components/Register.js +51 -10
  48. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  49. package/dist/admin/admin/src/pages/Auth/components/Register.mjs +51 -10
  50. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  51. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +12 -3
  52. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
  53. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs +12 -3
  54. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs.map +1 -1
  55. package/dist/admin/admin/src/pages/Home/HomePage.js +1 -0
  56. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  57. package/dist/admin/admin/src/pages/Home/HomePage.mjs +1 -0
  58. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  59. package/dist/admin/admin/src/pages/ProfilePage.js +1 -0
  60. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  61. package/dist/admin/admin/src/pages/ProfilePage.mjs +1 -0
  62. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  63. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +7 -2
  64. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  65. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +7 -2
  66. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  67. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +44 -26
  68. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  69. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +45 -27
  70. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
  71. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -0
  72. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  73. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -0
  74. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  75. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -0
  76. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  77. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +1 -0
  78. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  79. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +3 -0
  80. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +3 -0
  82. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -11
  84. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +10 -12
  86. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js +1 -0
  88. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs +1 -0
  90. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +1 -0
  92. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +1 -0
  94. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +1 -0
  96. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +1 -0
  98. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js +1 -0
  100. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.js.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.mjs +1 -0
  102. package/dist/admin/admin/src/pages/Settings/pages/Users/components/CreateActionCE.mjs.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js +12 -3
  104. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.js.map +1 -1
  105. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.mjs +12 -3
  106. package/dist/admin/admin/src/pages/Settings/pages/Users/utils/validation.mjs.map +1 -1
  107. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +1 -0
  108. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  109. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs +1 -0
  110. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
  111. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +3 -0
  112. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
  113. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +3 -0
  114. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
  115. package/dist/admin/admin/src/router.js +0 -9
  116. package/dist/admin/admin/src/router.js.map +1 -1
  117. package/dist/admin/admin/src/router.mjs +0 -9
  118. package/dist/admin/admin/src/router.mjs.map +1 -1
  119. package/dist/admin/admin/src/translations/ar.json.js +0 -42
  120. package/dist/admin/admin/src/translations/ar.json.js.map +1 -1
  121. package/dist/admin/admin/src/translations/ar.json.mjs +0 -42
  122. package/dist/admin/admin/src/translations/ar.json.mjs.map +1 -1
  123. package/dist/admin/admin/src/translations/ca.json.js +0 -21
  124. package/dist/admin/admin/src/translations/ca.json.js.map +1 -1
  125. package/dist/admin/admin/src/translations/ca.json.mjs +0 -21
  126. package/dist/admin/admin/src/translations/ca.json.mjs.map +1 -1
  127. package/dist/admin/admin/src/translations/de.json.js +422 -66
  128. package/dist/admin/admin/src/translations/de.json.js.map +1 -1
  129. package/dist/admin/admin/src/translations/de.json.mjs +419 -67
  130. package/dist/admin/admin/src/translations/de.json.mjs.map +1 -1
  131. package/dist/admin/admin/src/translations/dk.json.js +0 -6
  132. package/dist/admin/admin/src/translations/dk.json.js.map +1 -1
  133. package/dist/admin/admin/src/translations/dk.json.mjs +0 -6
  134. package/dist/admin/admin/src/translations/dk.json.mjs.map +1 -1
  135. package/dist/admin/admin/src/translations/en.json.js +0 -44
  136. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  137. package/dist/admin/admin/src/translations/en.json.mjs +0 -44
  138. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  139. package/dist/admin/admin/src/translations/es.json.js +0 -25
  140. package/dist/admin/admin/src/translations/es.json.js.map +1 -1
  141. package/dist/admin/admin/src/translations/es.json.mjs +0 -25
  142. package/dist/admin/admin/src/translations/es.json.mjs.map +1 -1
  143. package/dist/admin/admin/src/translations/eu.json.js +0 -43
  144. package/dist/admin/admin/src/translations/eu.json.js.map +1 -1
  145. package/dist/admin/admin/src/translations/eu.json.mjs +0 -43
  146. package/dist/admin/admin/src/translations/eu.json.mjs.map +1 -1
  147. package/dist/admin/admin/src/translations/fr.json.js +0 -6
  148. package/dist/admin/admin/src/translations/fr.json.js.map +1 -1
  149. package/dist/admin/admin/src/translations/fr.json.mjs +0 -6
  150. package/dist/admin/admin/src/translations/fr.json.mjs.map +1 -1
  151. package/dist/admin/admin/src/translations/gu.json.js +0 -21
  152. package/dist/admin/admin/src/translations/gu.json.js.map +1 -1
  153. package/dist/admin/admin/src/translations/gu.json.mjs +0 -21
  154. package/dist/admin/admin/src/translations/gu.json.mjs.map +1 -1
  155. package/dist/admin/admin/src/translations/hi.json.js +0 -21
  156. package/dist/admin/admin/src/translations/hi.json.js.map +1 -1
  157. package/dist/admin/admin/src/translations/hi.json.mjs +0 -21
  158. package/dist/admin/admin/src/translations/hi.json.mjs.map +1 -1
  159. package/dist/admin/admin/src/translations/hu.json.js +0 -43
  160. package/dist/admin/admin/src/translations/hu.json.js.map +1 -1
  161. package/dist/admin/admin/src/translations/hu.json.mjs +0 -43
  162. package/dist/admin/admin/src/translations/hu.json.mjs.map +1 -1
  163. package/dist/admin/admin/src/translations/it.json.js +613 -3
  164. package/dist/admin/admin/src/translations/it.json.js.map +1 -1
  165. package/dist/admin/admin/src/translations/it.json.mjs +605 -4
  166. package/dist/admin/admin/src/translations/it.json.mjs.map +1 -1
  167. package/dist/admin/admin/src/translations/ja.json.js +0 -6
  168. package/dist/admin/admin/src/translations/ja.json.js.map +1 -1
  169. package/dist/admin/admin/src/translations/ja.json.mjs +0 -6
  170. package/dist/admin/admin/src/translations/ja.json.mjs.map +1 -1
  171. package/dist/admin/admin/src/translations/ko.json.js +430 -102
  172. package/dist/admin/admin/src/translations/ko.json.js.map +1 -1
  173. package/dist/admin/admin/src/translations/ko.json.mjs +427 -103
  174. package/dist/admin/admin/src/translations/ko.json.mjs.map +1 -1
  175. package/dist/admin/admin/src/translations/ml.json.js +0 -21
  176. package/dist/admin/admin/src/translations/ml.json.js.map +1 -1
  177. package/dist/admin/admin/src/translations/ml.json.mjs +0 -21
  178. package/dist/admin/admin/src/translations/ml.json.mjs.map +1 -1
  179. package/dist/admin/admin/src/translations/nl.json.js +0 -39
  180. package/dist/admin/admin/src/translations/nl.json.js.map +1 -1
  181. package/dist/admin/admin/src/translations/nl.json.mjs +0 -39
  182. package/dist/admin/admin/src/translations/nl.json.mjs.map +1 -1
  183. package/dist/admin/admin/src/translations/pl.json.js +0 -21
  184. package/dist/admin/admin/src/translations/pl.json.js.map +1 -1
  185. package/dist/admin/admin/src/translations/pl.json.mjs +0 -21
  186. package/dist/admin/admin/src/translations/pl.json.mjs.map +1 -1
  187. package/dist/admin/admin/src/translations/pt-BR.json.js +0 -25
  188. package/dist/admin/admin/src/translations/pt-BR.json.js.map +1 -1
  189. package/dist/admin/admin/src/translations/pt-BR.json.mjs +0 -25
  190. package/dist/admin/admin/src/translations/pt-BR.json.mjs.map +1 -1
  191. package/dist/admin/admin/src/translations/ru.json.js +0 -44
  192. package/dist/admin/admin/src/translations/ru.json.js.map +1 -1
  193. package/dist/admin/admin/src/translations/ru.json.mjs +0 -44
  194. package/dist/admin/admin/src/translations/ru.json.mjs.map +1 -1
  195. package/dist/admin/admin/src/translations/sa.json.js +0 -21
  196. package/dist/admin/admin/src/translations/sa.json.js.map +1 -1
  197. package/dist/admin/admin/src/translations/sa.json.mjs +0 -21
  198. package/dist/admin/admin/src/translations/sa.json.mjs.map +1 -1
  199. package/dist/admin/admin/src/translations/sv.json.js +0 -39
  200. package/dist/admin/admin/src/translations/sv.json.js.map +1 -1
  201. package/dist/admin/admin/src/translations/sv.json.mjs +0 -39
  202. package/dist/admin/admin/src/translations/sv.json.mjs.map +1 -1
  203. package/dist/admin/admin/src/translations/tr.json.js +0 -39
  204. package/dist/admin/admin/src/translations/tr.json.js.map +1 -1
  205. package/dist/admin/admin/src/translations/tr.json.mjs +0 -39
  206. package/dist/admin/admin/src/translations/tr.json.mjs.map +1 -1
  207. package/dist/admin/admin/src/translations/uk.json.js +0 -44
  208. package/dist/admin/admin/src/translations/uk.json.js.map +1 -1
  209. package/dist/admin/admin/src/translations/uk.json.mjs +0 -44
  210. package/dist/admin/admin/src/translations/uk.json.mjs.map +1 -1
  211. package/dist/admin/admin/src/translations/vi.json.js +0 -44
  212. package/dist/admin/admin/src/translations/vi.json.js.map +1 -1
  213. package/dist/admin/admin/src/translations/vi.json.mjs +0 -44
  214. package/dist/admin/admin/src/translations/vi.json.mjs.map +1 -1
  215. package/dist/admin/admin/src/translations/zh-Hans.json.js +0 -44
  216. package/dist/admin/admin/src/translations/zh-Hans.json.js.map +1 -1
  217. package/dist/admin/admin/src/translations/zh-Hans.json.mjs +0 -44
  218. package/dist/admin/admin/src/translations/zh-Hans.json.mjs.map +1 -1
  219. package/dist/admin/admin/src/translations/zh.json.js +0 -39
  220. package/dist/admin/admin/src/translations/zh.json.js.map +1 -1
  221. package/dist/admin/admin/src/translations/zh.json.mjs +0 -39
  222. package/dist/admin/admin/src/translations/zh.json.mjs.map +1 -1
  223. package/dist/admin/admin/tests/mockData.js +0 -1413
  224. package/dist/admin/admin/tests/mockData.js.map +1 -1
  225. package/dist/admin/admin/tests/mockData.mjs +0 -1413
  226. package/dist/admin/admin/tests/mockData.mjs.map +1 -1
  227. package/dist/admin/admin/tests/server.js +0 -99
  228. package/dist/admin/admin/tests/server.js.map +1 -1
  229. package/dist/admin/admin/tests/server.mjs +0 -80
  230. package/dist/admin/admin/tests/server.mjs.map +1 -1
  231. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +1 -0
  232. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  233. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +1 -0
  234. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
  235. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js +2 -0
  236. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.js.map +1 -1
  237. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.mjs +2 -0
  238. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.mjs.map +1 -1
  239. package/dist/admin/index.js +3 -0
  240. package/dist/admin/index.js.map +1 -1
  241. package/dist/admin/index.mjs +1 -1
  242. package/dist/admin/src/components/MainNav/NavLink.d.ts +2 -2
  243. package/dist/admin/src/constants/theme.d.ts +2 -1
  244. package/dist/admin/src/core/apis/router.d.ts +1 -0
  245. package/dist/admin/src/features/Tracking.d.ts +1 -1
  246. package/dist/admin/src/hooks/useMenu.d.ts +1 -0
  247. package/dist/admin/src/index.d.ts +1 -1
  248. package/dist/admin/tests/mockData.d.ts +0 -972
  249. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js +53 -0
  250. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.js.map +1 -0
  251. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs +51 -0
  252. package/dist/server/server/src/services/permission/permissions-manager/permission-fields.mjs.map +1 -0
  253. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js +7 -8
  254. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
  255. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs +10 -11
  256. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
  257. package/dist/server/server/src/services/permission/permissions-manager/validate.js +7 -8
  258. package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
  259. package/dist/server/server/src/services/permission/permissions-manager/validate.mjs +10 -11
  260. package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
  261. package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts +21 -0
  262. package/dist/server/src/services/permission/permissions-manager/permission-fields.d.ts.map +1 -0
  263. package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
  264. package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
  265. package/package.json +7 -7
  266. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +0 -339
  267. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +0 -1
  268. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +0 -317
  269. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +0 -1
  270. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js +0 -329
  271. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +0 -1
  272. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs +0 -308
  273. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +0 -1
  274. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js +0 -121
  275. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +0 -1
  276. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs +0 -119
  277. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +0 -1
  278. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js +0 -93
  279. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.js.map +0 -1
  280. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.mjs +0 -91
  281. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesGrid.mjs.map +0 -1
  282. package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.js +0 -81
  283. package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.js.map +0 -1
  284. package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.mjs +0 -79
  285. package/dist/admin/admin/src/pages/Marketplace/components/OfflineLayout.mjs.map +0 -1
  286. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js +0 -38
  287. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +0 -1
  288. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs +0 -36
  289. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +0 -1
  290. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js +0 -85
  291. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.js.map +0 -1
  292. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.mjs +0 -83
  293. package/dist/admin/admin/src/pages/Marketplace/components/SortSelect.mjs.map +0 -1
  294. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js +0 -134
  295. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +0 -1
  296. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs +0 -113
  297. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +0 -1
  298. package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.js +0 -44
  299. package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.js.map +0 -1
  300. package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.mjs +0 -23
  301. package/dist/admin/admin/src/pages/Marketplace/hooks/useNavigatorOnline.mjs.map +0 -1
  302. package/dist/admin/src/pages/Marketplace/MarketplacePage.d.ts +0 -19
  303. package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +0 -13
  304. package/dist/admin/src/pages/Marketplace/components/NpmPackagesFilters.d.ts +0 -13
  305. package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +0 -13
  306. package/dist/admin/src/pages/Marketplace/components/OfflineLayout.d.ts +0 -2
  307. package/dist/admin/src/pages/Marketplace/components/PageHeader.d.ts +0 -8
  308. package/dist/admin/src/pages/Marketplace/components/SortSelect.d.ts +0 -51
  309. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +0 -93
  310. package/dist/admin/src/pages/Marketplace/hooks/useNavigatorOnline.d.ts +0 -5
@@ -4,7 +4,7 @@ import { SubNav as SubNav$1, Flex, Box, Typography, Badge, IconButton, ScrollAre
4
4
  import { Plus, ChevronDown } from '@strapi/icons';
5
5
  import { NavLink } from 'react-router-dom';
6
6
  import { styled } from 'styled-components';
7
- import { HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM } from '../constants/theme.mjs';
7
+ import { HEIGHT_TOP_NAVIGATION, WIDTH_SIDE_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM } from '../constants/theme.mjs';
8
8
  import { tours } from './GuidedTour/Tours.mjs';
9
9
 
10
10
  const MainSubNav = styled(SubNav$1)`
@@ -22,7 +22,7 @@ const MainSubNav = styled(SubNav$1)`
22
22
  z-index: 2;
23
23
 
24
24
  ${({ theme })=>theme.breakpoints.medium} {
25
- width: 23.2rem;
25
+ width: ${WIDTH_SIDE_NAVIGATION};
26
26
  position: sticky;
27
27
  top: 0;
28
28
  border-right: 1px solid ${({ theme })=>theme.colors.neutral150};
@@ -83,11 +83,22 @@ const Link = (props)=>{
83
83
  width: '100%',
84
84
  paddingLeft: 3,
85
85
  paddingRight: 3,
86
+ paddingTop: {
87
+ initial: 1,
88
+ large: 0
89
+ },
90
+ paddingBottom: {
91
+ initial: 1,
92
+ large: 0
93
+ },
86
94
  borderRadius: 1,
87
95
  children: /*#__PURE__*/ jsxs(Flex, {
88
96
  justifyContent: "space-between",
89
97
  width: "100%",
90
- gap: 1,
98
+ gap: {
99
+ initial: 2,
100
+ large: 1
101
+ },
91
102
  children: [
92
103
  /*#__PURE__*/ jsx(Typography, {
93
104
  tag: "div",
@@ -124,14 +135,8 @@ const StyledHeader = styled(Flex)`
124
135
  const Header = ({ label })=>{
125
136
  return /*#__PURE__*/ jsx(StyledHeader, {
126
137
  justifyContent: "space-between",
127
- paddingLeft: {
128
- initial: 4,
129
- large: 5
130
- },
131
- paddingRight: {
132
- initial: 4,
133
- large: 5
134
- },
138
+ paddingLeft: 5,
139
+ paddingRight: 5,
135
140
  children: /*#__PURE__*/ jsx(Typography, {
136
141
  variant: "beta",
137
142
  tag: "h2",
@@ -141,15 +146,29 @@ const Header = ({ label })=>{
141
146
  };
142
147
  const Sections = ({ children, ...props })=>{
143
148
  return /*#__PURE__*/ jsx(Box, {
144
- paddingTop: 4,
145
- paddingBottom: 4,
149
+ paddingTop: {
150
+ initial: 5,
151
+ large: 4
152
+ },
153
+ paddingBottom: {
154
+ initial: 5,
155
+ large: 4
156
+ },
157
+ paddingLeft: {
158
+ initial: 3,
159
+ large: 0
160
+ },
161
+ paddingRight: {
162
+ initial: 3,
163
+ large: 0
164
+ },
146
165
  maxWidth: {
147
166
  initial: '100%',
148
- medium: '23.2rem'
167
+ medium: WIDTH_SIDE_NAVIGATION
149
168
  },
150
169
  children: /*#__PURE__*/ jsx(Flex, {
151
170
  tag: "ul",
152
- gap: "5",
171
+ gap: 6,
153
172
  direction: "column",
154
173
  alignItems: "stretch",
155
174
  ...props,
@@ -194,11 +213,11 @@ const Section = ({ label, children, link, sectionId, badgeLabel })=>{
194
213
  children: [
195
214
  /*#__PURE__*/ jsx(Box, {
196
215
  paddingLeft: {
197
- initial: 4,
216
+ initial: 3,
198
217
  large: 5
199
218
  },
200
219
  paddingRight: {
201
- initial: 4,
220
+ initial: 3,
202
221
  large: 5
203
222
  },
204
223
  children: /*#__PURE__*/ jsxs(Flex, {
@@ -208,7 +227,6 @@ const Section = ({ label, children, link, sectionId, badgeLabel })=>{
208
227
  children: [
209
228
  /*#__PURE__*/ jsx(Flex, {
210
229
  children: /*#__PURE__*/ jsx(Box, {
211
- paddingRight: 1,
212
230
  children: /*#__PURE__*/ jsx(Typography, {
213
231
  variant: "sigma",
214
232
  textColor: "neutral600",
@@ -244,14 +262,17 @@ const Section = ({ label, children, link, sectionId, badgeLabel })=>{
244
262
  tag: "ol",
245
263
  id: listId,
246
264
  direction: "column",
247
- gap: "2px",
265
+ gap: {
266
+ initial: 2,
267
+ large: '2px'
268
+ },
248
269
  alignItems: 'stretch',
249
270
  marginLeft: {
250
- initial: 1,
271
+ initial: 0,
251
272
  large: 2
252
273
  },
253
274
  marginRight: {
254
- initial: 1,
275
+ initial: 0,
255
276
  large: 2
256
277
  },
257
278
  children: children.map((child, index)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"SubNav.mjs","sources":["../../../../../admin/src/components/SubNav.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState } from 'react';\n\nimport {\n Badge,\n Box,\n Flex,\n IconButton,\n ScrollArea,\n SubNav as DSSubNav,\n Typography,\n} from '@strapi/design-system';\nimport { ChevronDown, Plus } from '@strapi/icons';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM } from '../constants/theme';\n\nimport { tours } from './GuidedTour/Tours';\n\nconst MainSubNav = styled(DSSubNav)`\n width: 100%;\n height: calc(100dvh - ${HEIGHT_TOP_NAVIGATION} - 1px);\n overflow: hidden;\n background-color: ${({ theme }) => theme.colors.neutral0};\n display: flex;\n flex-direction: column;\n border-right: 0;\n box-shadow: none;\n position: fixed;\n top: calc(${HEIGHT_TOP_NAVIGATION} + 1px);\n left: 0;\n z-index: 2;\n\n ${({ theme }) => theme.breakpoints.medium} {\n width: 23.2rem;\n position: sticky;\n top: 0;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n }\n ${({ theme }) => theme.breakpoints.large} {\n height: 100dvh;\n }\n`;\n\nconst Main = ({ children, ...props }: { children: React.ReactNode; isFullPage?: boolean }) => (\n <MainSubNav {...props}>{children}</MainSubNav>\n);\n\nconst StyledLink = styled(NavLink)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n text-decoration: none;\n height: 32px;\n\n color: ${({ theme }) => theme.colors.neutral800};\n\n &.active > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary700};\n font-weight: 500;\n `;\n }}\n }\n\n &:hover.active > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.primary100};\n `;\n }}\n }\n\n &:hover > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.neutral100};\n `;\n }}\n }\n\n &:focus-visible {\n outline-offset: -2px;\n }\n`;\n\nconst Link = (\n props: Omit<React.ComponentProps<typeof StyledLink>, 'label'> & {\n label: React.ReactNode;\n endAction?: React.ReactNode;\n handleClick?: () => void;\n }\n) => {\n const { label, endAction, handleClick, ...rest } = props;\n\n return (\n <StyledLink {...rest} onClick={handleClick}>\n <Box width={'100%'} paddingLeft={3} paddingRight={3} borderRadius={1}>\n <Flex justifyContent=\"space-between\" width=\"100%\" gap={1}>\n <Typography\n tag=\"div\"\n lineHeight=\"32px\"\n width={{ initial: '80dvw', medium: '100%' }}\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n {label}\n </Typography>\n <Flex gap={2}>{endAction}</Flex>\n </Flex>\n </Box>\n </StyledLink>\n );\n};\n\nconst StyledHeader = styled(Flex)`\n flex: 0 0 ${HEIGHT_TOP_NAVIGATION};\n height: ${HEIGHT_TOP_NAVIGATION};\n\n ${({ theme }) => theme.breakpoints.medium} {\n flex: 0 0 ${HEIGHT_TOP_NAVIGATION_MEDIUM};\n height: ${HEIGHT_TOP_NAVIGATION_MEDIUM};\n }\n`;\n\nconst Header = ({ label }: { label: string }) => {\n return (\n <StyledHeader\n justifyContent=\"space-between\"\n paddingLeft={{\n initial: 4,\n large: 5,\n }}\n paddingRight={{\n initial: 4,\n large: 5,\n }}\n >\n <Typography variant=\"beta\" tag=\"h2\">\n {label}\n </Typography>\n </StyledHeader>\n );\n};\n\nconst Sections = ({\n children,\n ...props\n}: {\n children: React.ReactNode[];\n [key: string]: unknown;\n}) => {\n return (\n <Box paddingTop={4} paddingBottom={4} maxWidth={{ initial: '100%', medium: '23.2rem' }}>\n <Flex tag=\"ul\" gap=\"5\" direction=\"column\" alignItems=\"stretch\" {...props}>\n {children.map((child, index) => {\n return <li key={index}>{child}</li>;\n })}\n </Flex>\n </Box>\n );\n};\n\n/**\n * TODO:\n * This would be better in the content-type-builder package directly but currently\n * the SubNav API does not expose a way to wrap the link, instead it wraps the link and the list\n */\nconst GuidedTourTooltip = ({\n sectionId,\n children,\n}: {\n sectionId?: string;\n children: React.ReactNode;\n}) => {\n switch (sectionId) {\n case 'models':\n return (\n <tours.contentTypeBuilder.CollectionTypes>\n <tours.contentTypeBuilder.YourTurn>{children}</tours.contentTypeBuilder.YourTurn>\n </tours.contentTypeBuilder.CollectionTypes>\n );\n case 'singleTypes':\n return (\n <tours.contentTypeBuilder.SingleTypes>{children}</tours.contentTypeBuilder.SingleTypes>\n );\n case 'components':\n return <tours.contentTypeBuilder.Components>{children}</tours.contentTypeBuilder.Components>;\n default:\n return children;\n }\n};\n\nconst Section = ({\n label,\n children,\n link,\n sectionId,\n badgeLabel,\n}: {\n label: string;\n children: React.ReactNode[];\n link?: { label: string; onClick: () => void };\n sectionId?: string;\n badgeLabel?: string;\n}) => {\n const listId = useId();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Box\n paddingLeft={{\n initial: 4,\n large: 5,\n }}\n paddingRight={{\n initial: 4,\n large: 5,\n }}\n >\n <Flex position=\"relative\" justifyContent=\"space-between\" gap={2}>\n <Flex>\n <Box paddingRight={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {label}\n </Typography>\n </Box>\n </Flex>\n <Flex gap={1}>\n {badgeLabel && (\n <Badge backgroundColor=\"neutral150\" textColor=\"neutral600\">\n {badgeLabel}\n </Badge>\n )}\n {link && (\n <GuidedTourTooltip sectionId={sectionId}>\n <IconButton\n label={link.label}\n variant=\"ghost\"\n withTooltip\n onClick={link.onClick}\n size=\"XS\"\n >\n <Plus />\n </IconButton>\n </GuidedTourTooltip>\n )}\n </Flex>\n </Flex>\n </Box>\n <Flex\n tag=\"ol\"\n id={listId}\n direction=\"column\"\n gap=\"2px\"\n alignItems={'stretch'}\n marginLeft={{\n initial: 1,\n large: 2,\n }}\n marginRight={{\n initial: 1,\n large: 2,\n }}\n >\n {children.map((child, index) => {\n return <li key={index}>{child}</li>;\n })}\n </Flex>\n </Flex>\n );\n};\n\nconst SubSectionHeader = styled.button`\n cursor: pointer;\n width: 100%;\n border: none;\n padding: 0;\n background: transparent;\n display: flex;\n align-items: center;\n border-radius: ${({ theme }) => theme.borderRadius};\n padding-left: ${({ theme }) => theme.spaces[3]};\n padding-right: ${({ theme }) => theme.spaces[3]};\n padding-top: ${({ theme }) => theme.spaces[2]};\n padding-bottom: ${({ theme }) => theme.spaces[2]};\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.neutral100};\n }\n`;\n\nconst SubSectionLinkWrapper = styled.li`\n ${StyledLink} > div {\n padding-left: 36px;\n }\n`;\n\nconst SubSection = ({ label, children }: { label: string; children: React.ReactNode[] }) => {\n const [isOpen, setOpenLinks] = useState(true);\n const [contentHeight, setContentHeight] = useState(0);\n const listId = useId();\n const contentRef = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n setContentHeight(contentRef.current.scrollHeight);\n }\n }, [children]);\n\n const handleClick = () => {\n setOpenLinks((prev) => !prev);\n };\n\n return (\n <Box>\n <Flex justifyContent=\"space-between\">\n <SubSectionHeader onClick={handleClick} aria-expanded={isOpen} aria-controls={listId}>\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n <Box paddingLeft={2}>\n <Typography tag=\"span\" fontWeight=\"semiBold\" textColor=\"neutral800\">\n {label}\n </Typography>\n </Box>\n </SubSectionHeader>\n </Flex>\n <Flex\n ref={contentRef}\n tag=\"ul\"\n id={listId}\n direction=\"column\"\n gap=\"2px\"\n alignItems={'stretch'}\n style={{\n maxHeight: isOpen ? `${contentHeight}px` : 0,\n overflow: 'hidden',\n transition: 'max-height 0.5s cubic-bezier(0, 1, 0, 1)',\n }}\n >\n {children.map((child, index) => {\n return <SubSectionLinkWrapper key={index}>{child}</SubSectionLinkWrapper>;\n })}\n </Flex>\n </Box>\n );\n};\n\nconst PageWrapper = styled(Box)`\n ${MainSubNav} {\n background-color: transparent;\n border-right: none;\n }\n\n ${({ theme }) => theme.breakpoints.medium} {\n ${MainSubNav} {\n top: 0;\n }\n }\n`;\n\nconst Content = ({ children }: { children: React.ReactNode }) => {\n return <ScrollArea>{children}</ScrollArea>;\n};\n\nexport const SubNav = {\n Main,\n Content,\n Header,\n Link,\n Sections,\n Section,\n SubSection,\n PageWrapper,\n};\n"],"names":["MainSubNav","styled","DSSubNav","HEIGHT_TOP_NAVIGATION","theme","colors","neutral0","breakpoints","medium","neutral150","large","Main","children","props","_jsx","StyledLink","NavLink","neutral800","primary100","primary700","neutral100","Link","label","endAction","handleClick","rest","onClick","Box","width","paddingLeft","paddingRight","borderRadius","_jsxs","Flex","justifyContent","gap","Typography","tag","lineHeight","initial","overflow","style","textOverflow","whiteSpace","StyledHeader","HEIGHT_TOP_NAVIGATION_MEDIUM","Header","variant","Sections","paddingTop","paddingBottom","maxWidth","direction","alignItems","map","child","index","li","GuidedTourTooltip","sectionId","tours","contentTypeBuilder","CollectionTypes","YourTurn","SingleTypes","Components","Section","link","badgeLabel","listId","useId","position","textColor","Badge","backgroundColor","IconButton","withTooltip","size","Plus","id","marginLeft","marginRight","SubSectionHeader","button","spaces","SubSectionLinkWrapper","SubSection","isOpen","setOpenLinks","useState","contentHeight","setContentHeight","contentRef","useRef","useEffect","current","scrollHeight","prev","aria-expanded","aria-controls","ChevronDown","aria-hidden","fill","transform","transition","fontWeight","ref","maxHeight","PageWrapper","Content","ScrollArea","SubNav"],"mappings":"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"}
1
+ {"version":3,"file":"SubNav.mjs","sources":["../../../../../admin/src/components/SubNav.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState } from 'react';\n\nimport {\n Badge,\n Box,\n Flex,\n IconButton,\n ScrollArea,\n SubNav as DSSubNav,\n Typography,\n} from '@strapi/design-system';\nimport { ChevronDown, Plus } from '@strapi/icons';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport {\n HEIGHT_TOP_NAVIGATION,\n HEIGHT_TOP_NAVIGATION_MEDIUM,\n WIDTH_SIDE_NAVIGATION,\n} from '../constants/theme';\n\nimport { tours } from './GuidedTour/Tours';\n\nconst MainSubNav = styled(DSSubNav)`\n width: 100%;\n height: calc(100dvh - ${HEIGHT_TOP_NAVIGATION} - 1px);\n overflow: hidden;\n background-color: ${({ theme }) => theme.colors.neutral0};\n display: flex;\n flex-direction: column;\n border-right: 0;\n box-shadow: none;\n position: fixed;\n top: calc(${HEIGHT_TOP_NAVIGATION} + 1px);\n left: 0;\n z-index: 2;\n\n ${({ theme }) => theme.breakpoints.medium} {\n width: ${WIDTH_SIDE_NAVIGATION};\n position: sticky;\n top: 0;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n }\n ${({ theme }) => theme.breakpoints.large} {\n height: 100dvh;\n }\n`;\n\nconst Main = ({ children, ...props }: { children: React.ReactNode; isFullPage?: boolean }) => (\n <MainSubNav {...props}>{children}</MainSubNav>\n);\n\nconst StyledLink = styled(NavLink)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n text-decoration: none;\n height: 32px;\n\n color: ${({ theme }) => theme.colors.neutral800};\n\n &.active > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary700};\n font-weight: 500;\n `;\n }}\n }\n\n &:hover.active > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.primary100};\n `;\n }}\n }\n\n &:hover > div {\n ${({ theme }) => {\n return `\n background-color: ${theme.colors.neutral100};\n `;\n }}\n }\n\n &:focus-visible {\n outline-offset: -2px;\n }\n`;\n\nconst Link = (\n props: Omit<React.ComponentProps<typeof StyledLink>, 'label'> & {\n label: React.ReactNode;\n endAction?: React.ReactNode;\n handleClick?: () => void;\n }\n) => {\n const { label, endAction, handleClick, ...rest } = props;\n\n return (\n <StyledLink {...rest} onClick={handleClick}>\n <Box\n width={'100%'}\n paddingLeft={3}\n paddingRight={3}\n paddingTop={{ initial: 1, large: 0 }}\n paddingBottom={{ initial: 1, large: 0 }}\n borderRadius={1}\n >\n <Flex justifyContent=\"space-between\" width=\"100%\" gap={{ initial: 2, large: 1 }}>\n <Typography\n tag=\"div\"\n lineHeight=\"32px\"\n width={{ initial: '80dvw', medium: '100%' }}\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n {label}\n </Typography>\n <Flex gap={2}>{endAction}</Flex>\n </Flex>\n </Box>\n </StyledLink>\n );\n};\n\nconst StyledHeader = styled(Flex)`\n flex: 0 0 ${HEIGHT_TOP_NAVIGATION};\n height: ${HEIGHT_TOP_NAVIGATION};\n\n ${({ theme }) => theme.breakpoints.medium} {\n flex: 0 0 ${HEIGHT_TOP_NAVIGATION_MEDIUM};\n height: ${HEIGHT_TOP_NAVIGATION_MEDIUM};\n }\n`;\n\nconst Header = ({ label }: { label: string }) => {\n return (\n <StyledHeader justifyContent=\"space-between\" paddingLeft={5} paddingRight={5}>\n <Typography variant=\"beta\" tag=\"h2\">\n {label}\n </Typography>\n </StyledHeader>\n );\n};\n\nconst Sections = ({\n children,\n ...props\n}: {\n children: React.ReactNode[];\n [key: string]: unknown;\n}) => {\n return (\n <Box\n paddingTop={{ initial: 5, large: 4 }}\n paddingBottom={{ initial: 5, large: 4 }}\n paddingLeft={{ initial: 3, large: 0 }}\n paddingRight={{ initial: 3, large: 0 }}\n maxWidth={{ initial: '100%', medium: WIDTH_SIDE_NAVIGATION }}\n >\n <Flex tag=\"ul\" gap={6} direction=\"column\" alignItems=\"stretch\" {...props}>\n {children.map((child, index) => {\n return <li key={index}>{child}</li>;\n })}\n </Flex>\n </Box>\n );\n};\n\n/**\n * TODO:\n * This would be better in the content-type-builder package directly but currently\n * the SubNav API does not expose a way to wrap the link, instead it wraps the link and the list\n */\nconst GuidedTourTooltip = ({\n sectionId,\n children,\n}: {\n sectionId?: string;\n children: React.ReactNode;\n}) => {\n switch (sectionId) {\n case 'models':\n return (\n <tours.contentTypeBuilder.CollectionTypes>\n <tours.contentTypeBuilder.YourTurn>{children}</tours.contentTypeBuilder.YourTurn>\n </tours.contentTypeBuilder.CollectionTypes>\n );\n case 'singleTypes':\n return (\n <tours.contentTypeBuilder.SingleTypes>{children}</tours.contentTypeBuilder.SingleTypes>\n );\n case 'components':\n return <tours.contentTypeBuilder.Components>{children}</tours.contentTypeBuilder.Components>;\n default:\n return children;\n }\n};\n\nconst Section = ({\n label,\n children,\n link,\n sectionId,\n badgeLabel,\n}: {\n label: string;\n children: React.ReactNode[];\n link?: { label: string; onClick: () => void };\n sectionId?: string;\n badgeLabel?: string;\n}) => {\n const listId = useId();\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Box\n paddingLeft={{\n initial: 3,\n large: 5,\n }}\n paddingRight={{\n initial: 3,\n large: 5,\n }}\n >\n <Flex position=\"relative\" justifyContent=\"space-between\" gap={2}>\n <Flex>\n <Box>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {label}\n </Typography>\n </Box>\n </Flex>\n <Flex gap={1}>\n {badgeLabel && (\n <Badge backgroundColor=\"neutral150\" textColor=\"neutral600\">\n {badgeLabel}\n </Badge>\n )}\n {link && (\n <GuidedTourTooltip sectionId={sectionId}>\n <IconButton\n label={link.label}\n variant=\"ghost\"\n withTooltip\n onClick={link.onClick}\n size=\"XS\"\n >\n <Plus />\n </IconButton>\n </GuidedTourTooltip>\n )}\n </Flex>\n </Flex>\n </Box>\n <Flex\n tag=\"ol\"\n id={listId}\n direction=\"column\"\n gap={{ initial: 2, large: '2px' }}\n alignItems={'stretch'}\n marginLeft={{\n initial: 0,\n large: 2,\n }}\n marginRight={{\n initial: 0,\n large: 2,\n }}\n >\n {children.map((child, index) => {\n return <li key={index}>{child}</li>;\n })}\n </Flex>\n </Flex>\n );\n};\n\nconst SubSectionHeader = styled.button`\n cursor: pointer;\n width: 100%;\n border: none;\n padding: 0;\n background: transparent;\n display: flex;\n align-items: center;\n border-radius: ${({ theme }) => theme.borderRadius};\n padding-left: ${({ theme }) => theme.spaces[3]};\n padding-right: ${({ theme }) => theme.spaces[3]};\n padding-top: ${({ theme }) => theme.spaces[2]};\n padding-bottom: ${({ theme }) => theme.spaces[2]};\n\n &:hover {\n background-color: ${({ theme }) => theme.colors.neutral100};\n }\n`;\n\nconst SubSectionLinkWrapper = styled.li`\n ${StyledLink} > div {\n padding-left: 36px;\n }\n`;\n\nconst SubSection = ({ label, children }: { label: string; children: React.ReactNode[] }) => {\n const [isOpen, setOpenLinks] = useState(true);\n const [contentHeight, setContentHeight] = useState(0);\n const listId = useId();\n const contentRef = useRef<HTMLElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n setContentHeight(contentRef.current.scrollHeight);\n }\n }, [children]);\n\n const handleClick = () => {\n setOpenLinks((prev) => !prev);\n };\n\n return (\n <Box>\n <Flex justifyContent=\"space-between\">\n <SubSectionHeader onClick={handleClick} aria-expanded={isOpen} aria-controls={listId}>\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n <Box paddingLeft={2}>\n <Typography tag=\"span\" fontWeight=\"semiBold\" textColor=\"neutral800\">\n {label}\n </Typography>\n </Box>\n </SubSectionHeader>\n </Flex>\n <Flex\n ref={contentRef}\n tag=\"ul\"\n id={listId}\n direction=\"column\"\n gap=\"2px\"\n alignItems={'stretch'}\n style={{\n maxHeight: isOpen ? `${contentHeight}px` : 0,\n overflow: 'hidden',\n transition: 'max-height 0.5s cubic-bezier(0, 1, 0, 1)',\n }}\n >\n {children.map((child, index) => {\n return <SubSectionLinkWrapper key={index}>{child}</SubSectionLinkWrapper>;\n })}\n </Flex>\n </Box>\n );\n};\n\nconst PageWrapper = styled(Box)`\n ${MainSubNav} {\n background-color: transparent;\n border-right: none;\n }\n\n ${({ theme }) => theme.breakpoints.medium} {\n ${MainSubNav} {\n top: 0;\n }\n }\n`;\n\nconst Content = ({ children }: { children: React.ReactNode }) => {\n return <ScrollArea>{children}</ScrollArea>;\n};\n\nexport const SubNav = {\n Main,\n Content,\n Header,\n Link,\n Sections,\n Section,\n SubSection,\n PageWrapper,\n};\n"],"names":["MainSubNav","styled","DSSubNav","HEIGHT_TOP_NAVIGATION","theme","colors","neutral0","breakpoints","medium","WIDTH_SIDE_NAVIGATION","neutral150","large","Main","children","props","_jsx","StyledLink","NavLink","neutral800","primary100","primary700","neutral100","Link","label","endAction","handleClick","rest","onClick","Box","width","paddingLeft","paddingRight","paddingTop","initial","paddingBottom","borderRadius","_jsxs","Flex","justifyContent","gap","Typography","tag","lineHeight","overflow","style","textOverflow","whiteSpace","StyledHeader","HEIGHT_TOP_NAVIGATION_MEDIUM","Header","variant","Sections","maxWidth","direction","alignItems","map","child","index","li","GuidedTourTooltip","sectionId","tours","contentTypeBuilder","CollectionTypes","YourTurn","SingleTypes","Components","Section","link","badgeLabel","listId","useId","position","textColor","Badge","backgroundColor","IconButton","withTooltip","size","Plus","id","marginLeft","marginRight","SubSectionHeader","button","spaces","SubSectionLinkWrapper","SubSection","isOpen","setOpenLinks","useState","contentHeight","setContentHeight","contentRef","useRef","useEffect","current","scrollHeight","prev","aria-expanded","aria-controls","ChevronDown","aria-hidden","fill","transform","transition","fontWeight","ref","maxHeight","PageWrapper","Content","ScrollArea","SubNav"],"mappings":"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"}
@@ -7,8 +7,10 @@ const RESPONSIVE_DEFAULT_SPACING = {
7
7
  };
8
8
  const HEIGHT_TOP_NAVIGATION = '6.4rem';
9
9
  const HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';
10
+ const WIDTH_SIDE_NAVIGATION = '23.2rem';
10
11
 
11
12
  exports.HEIGHT_TOP_NAVIGATION = HEIGHT_TOP_NAVIGATION;
12
13
  exports.HEIGHT_TOP_NAVIGATION_MEDIUM = HEIGHT_TOP_NAVIGATION_MEDIUM;
13
14
  exports.RESPONSIVE_DEFAULT_SPACING = RESPONSIVE_DEFAULT_SPACING;
15
+ exports.WIDTH_SIDE_NAVIGATION = WIDTH_SIDE_NAVIGATION;
14
16
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../../../../admin/src/constants/theme.ts"],"sourcesContent":["const RESPONSIVE_DEFAULT_SPACING = {\n initial: 4,\n medium: 6,\n large: 10,\n};\n\nconst HEIGHT_TOP_NAVIGATION = '6.4rem';\nconst HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';\n\nexport { RESPONSIVE_DEFAULT_SPACING, HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM };\n"],"names":["RESPONSIVE_DEFAULT_SPACING","initial","medium","large","HEIGHT_TOP_NAVIGATION","HEIGHT_TOP_NAVIGATION_MEDIUM"],"mappings":";;AAAA,MAAMA,0BAA6B,GAAA;IACjCC,OAAS,EAAA,CAAA;IACTC,MAAQ,EAAA,CAAA;IACRC,KAAO,EAAA;AACT;AAEA,MAAMC,qBAAwB,GAAA;AAC9B,MAAMC,4BAA+B,GAAA;;;;;;"}
1
+ {"version":3,"file":"theme.js","sources":["../../../../../admin/src/constants/theme.ts"],"sourcesContent":["const RESPONSIVE_DEFAULT_SPACING = {\n initial: 4,\n medium: 6,\n large: 10,\n};\n\nconst HEIGHT_TOP_NAVIGATION = '6.4rem';\nconst HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';\nconst WIDTH_SIDE_NAVIGATION = '23.2rem';\n\nexport {\n RESPONSIVE_DEFAULT_SPACING,\n HEIGHT_TOP_NAVIGATION,\n HEIGHT_TOP_NAVIGATION_MEDIUM,\n WIDTH_SIDE_NAVIGATION,\n};\n"],"names":["RESPONSIVE_DEFAULT_SPACING","initial","medium","large","HEIGHT_TOP_NAVIGATION","HEIGHT_TOP_NAVIGATION_MEDIUM","WIDTH_SIDE_NAVIGATION"],"mappings":";;AAAA,MAAMA,0BAA6B,GAAA;IACjCC,OAAS,EAAA,CAAA;IACTC,MAAQ,EAAA,CAAA;IACRC,KAAO,EAAA;AACT;AAEA,MAAMC,qBAAwB,GAAA;AAC9B,MAAMC,4BAA+B,GAAA;AACrC,MAAMC,qBAAwB,GAAA;;;;;;;"}
@@ -5,6 +5,7 @@ const RESPONSIVE_DEFAULT_SPACING = {
5
5
  };
6
6
  const HEIGHT_TOP_NAVIGATION = '6.4rem';
7
7
  const HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';
8
+ const WIDTH_SIDE_NAVIGATION = '23.2rem';
8
9
 
9
- export { HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM, RESPONSIVE_DEFAULT_SPACING };
10
+ export { HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM, RESPONSIVE_DEFAULT_SPACING, WIDTH_SIDE_NAVIGATION };
10
11
  //# sourceMappingURL=theme.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.mjs","sources":["../../../../../admin/src/constants/theme.ts"],"sourcesContent":["const RESPONSIVE_DEFAULT_SPACING = {\n initial: 4,\n medium: 6,\n large: 10,\n};\n\nconst HEIGHT_TOP_NAVIGATION = '6.4rem';\nconst HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';\n\nexport { RESPONSIVE_DEFAULT_SPACING, HEIGHT_TOP_NAVIGATION, HEIGHT_TOP_NAVIGATION_MEDIUM };\n"],"names":["RESPONSIVE_DEFAULT_SPACING","initial","medium","large","HEIGHT_TOP_NAVIGATION","HEIGHT_TOP_NAVIGATION_MEDIUM"],"mappings":"AAAA,MAAMA,0BAA6B,GAAA;IACjCC,OAAS,EAAA,CAAA;IACTC,MAAQ,EAAA,CAAA;IACRC,KAAO,EAAA;AACT;AAEA,MAAMC,qBAAwB,GAAA;AAC9B,MAAMC,4BAA+B,GAAA;;;;"}
1
+ {"version":3,"file":"theme.mjs","sources":["../../../../../admin/src/constants/theme.ts"],"sourcesContent":["const RESPONSIVE_DEFAULT_SPACING = {\n initial: 4,\n medium: 6,\n large: 10,\n};\n\nconst HEIGHT_TOP_NAVIGATION = '6.4rem';\nconst HEIGHT_TOP_NAVIGATION_MEDIUM = '5.6rem';\nconst WIDTH_SIDE_NAVIGATION = '23.2rem';\n\nexport {\n RESPONSIVE_DEFAULT_SPACING,\n HEIGHT_TOP_NAVIGATION,\n HEIGHT_TOP_NAVIGATION_MEDIUM,\n WIDTH_SIDE_NAVIGATION,\n};\n"],"names":["RESPONSIVE_DEFAULT_SPACING","initial","medium","large","HEIGHT_TOP_NAVIGATION","HEIGHT_TOP_NAVIGATION_MEDIUM","WIDTH_SIDE_NAVIGATION"],"mappings":"AAAA,MAAMA,0BAA6B,GAAA;IACjCC,OAAS,EAAA,CAAA;IACTC,MAAQ,EAAA,CAAA;IACRC,KAAO,EAAA;AACT;AAEA,MAAMC,qBAAwB,GAAA;AAC9B,MAAMC,4BAA+B,GAAA;AACrC,MAAMC,qBAAwB,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sources":["../../../../../../admin/src/core/apis/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport invariant from 'invariant';\nimport { MessageDescriptor, PrimitiveType } from 'react-intl';\nimport { Provider } from 'react-redux';\nimport { createBrowserRouter, createMemoryRouter, RouteObject } from 'react-router-dom';\n\nimport { App } from '../../App';\nimport { ErrorElement } from '../../components/ErrorElement';\nimport { LanguageProvider } from '../../components/LanguageProvider';\nimport { Theme } from '../../components/Theme';\nimport { Permission } from '../../features/Auth';\nimport { NotFoundPage } from '../../pages/NotFoundPage';\nimport { getImmutableRoutes } from '../../router';\nimport { StrapiApp } from '../../StrapiApp';\n\ntype IRouter = ReturnType<typeof createBrowserRouter> | ReturnType<typeof createMemoryRouter>;\n\ntype Reducer<Config extends object> = (prev: Config[]) => Config[];\n\ninterface MenuItem {\n to: string;\n icon: React.ElementType;\n intlLabel: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n permissions: Permission[];\n notificationsCount?: number;\n Component?: React.LazyExoticComponent<React.ComponentType>;\n exact?: boolean;\n position?: number;\n licenseOnly?: boolean;\n}\n\ninterface StrapiAppSettingLink extends Omit<MenuItem, 'icon' | 'notificationCount'> {\n id: string;\n}\n\ninterface UnloadedSettingsLink extends Omit<StrapiAppSettingLink, 'Component'> {\n Component?: () => Promise<{ default: React.ComponentType }>;\n}\n\ninterface StrapiAppSetting {\n id: string;\n intlLabel: MessageDescriptor & {\n values?: Record<string, PrimitiveType>;\n };\n links: Omit<StrapiAppSettingLink, 'Component'>[];\n}\n\ninterface RouterOptions {\n basename?: string;\n memory?: boolean;\n}\n\nclass Router {\n private _routes: RouteObject[] = [];\n private router: IRouter | null = null;\n private _menu: Omit<MenuItem, 'Component'>[] = [];\n private _settings: Record<string, StrapiAppSetting> = {\n global: {\n id: 'global',\n intlLabel: {\n id: 'Settings.global',\n defaultMessage: 'Global Settings',\n },\n links: [],\n },\n };\n\n constructor(initialRoutes: RouteObject[]) {\n this._routes = initialRoutes;\n }\n\n get routes() {\n return this._routes;\n }\n\n get menu() {\n return this._menu;\n }\n\n get settings() {\n return this._settings;\n }\n\n /**\n * @internal This method is used internally by Strapi to create the router.\n * It should not be used by plugins, doing so will likely break the application.\n */\n createRouter(strapi: StrapiApp, { memory, ...opts }: RouterOptions = {}) {\n const routes = [\n {\n path: '/*',\n errorElement: (\n <Provider store={strapi.store!}>\n <LanguageProvider messages={strapi.configurations.translations}>\n <Theme themes={strapi.configurations.themes}>\n <ErrorElement />\n </Theme>\n </LanguageProvider>\n </Provider>\n ),\n element: <App strapi={strapi} store={strapi.store!} />,\n children: [\n ...getImmutableRoutes(),\n {\n path: '/*',\n lazy: async () => {\n const { PrivateAdminLayout } = await import('../../layouts/AuthenticatedLayout');\n\n return {\n Component: PrivateAdminLayout,\n };\n },\n children: [\n ...this.routes,\n {\n path: '*',\n element: <NotFoundPage />,\n },\n ],\n },\n ],\n },\n ];\n\n if (memory) {\n this.router = createMemoryRouter(routes, opts);\n } else {\n this.router = createBrowserRouter(routes, opts);\n }\n\n return this.router;\n }\n\n public addMenuLink = (\n link: Omit<MenuItem, 'Component'> & {\n Component: () => Promise<{ default: React.ComponentType }>;\n }\n ) => {\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n typeof link.to === 'string',\n `[${\n link.intlLabel.defaultMessage\n }]: Expected link.to to be a string instead received ${typeof link.to}`\n );\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage should be defined`\n );\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise that returns a default component. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addMenuLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your menu link is an absolute path, it should be relative to the root of the application. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n const { Component, ...restLink } = link;\n\n if (Component) {\n this._routes.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this.menu.push(restLink);\n };\n\n public addSettingsLink(\n section: Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] },\n links?: never\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink[]\n ): void;\n public addSettingsLink(\n section:\n | string\n | Pick<StrapiAppSetting, 'id' | 'intlLabel'>\n | (Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] }),\n link?: UnloadedSettingsLink | UnloadedSettingsLink[]\n ): void {\n if (typeof section === 'object' && 'links' in section) {\n /**\n * Someone has passed an entire pre-configured section object\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n invariant(Array.isArray(section.links), 'TypeError expected links to be an array');\n\n this.settings[section.id] = { ...section, links: [] };\n\n section.links.forEach((link) => {\n this.createSettingsLink(section.id, link);\n });\n } else if (typeof section === 'object' && link) {\n /**\n * we need to create the section first\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n\n this.settings[section.id] = { ...section, links: [] };\n\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section.id, l));\n } else {\n this.createSettingsLink(section.id, link);\n }\n } else if (typeof section === 'string' && link) {\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section, l));\n } else {\n this.createSettingsLink(section, link);\n }\n } else {\n throw new Error(\n 'Invalid arguments provided to addSettingsLink, at minimum a sectionId and link are required.'\n );\n }\n }\n\n private createSettingsLink = (sectionId: string, link: UnloadedSettingsLink) => {\n invariant(this._settings[sectionId], 'The section does not exist');\n\n invariant(link.id, `[${link.intlLabel.defaultMessage}]: link.id should be defined`);\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage`\n );\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addSettingsLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link is an absolute path. It should be relative to \\`/settings\\`. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n if (link.to.split('/')[0] === 'settings') {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link has \\`settings\\` as the first part of it's path. It should be relative to \\`settings\\` and therefore, not include it. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.split('/').slice(1).join('/');\n }\n\n const { Component, ...restLink } = link;\n\n const settingsIndex = this._routes.findIndex((route) => route.path === 'settings/*');\n\n /**\n * This shouldn't happen unless someone has removed the settings section completely.\n * Print a warning if this is the case though.\n */\n if (!settingsIndex) {\n console.warn(\n 'A third party plugin has removed the settings section, the settings link cannot be added.'\n );\n return;\n } else if (!this._routes[settingsIndex].children) {\n this._routes[settingsIndex].children = [];\n }\n\n if (Component) {\n this._routes[settingsIndex].children!.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this._settings[sectionId].links.push(restLink);\n };\n\n /**\n * @alpha\n * @description Adds a route or an array of routes to the router.\n * Otherwise, pass a function that receives the current routes and\n * returns the new routes in a reducer like fashion.\n */\n addRoute(route: RouteObject | RouteObject[] | Reducer<RouteObject>) {\n if (Array.isArray(route)) {\n this._routes = [...this._routes, ...route];\n } else if (typeof route === 'object' && route !== null) {\n this._routes.push(route);\n } else if (typeof route === 'function') {\n this._routes = route(this._routes);\n } else {\n throw new Error(\n `Expected the \\`route\\` passed to \\`addRoute\\` to be an array or a function, but received ${getPrintableType(\n route\n )}`\n );\n }\n }\n}\n\n/* -------------------------------------------------------------------------------------------------\n * getPrintableType\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Gets the human-friendly printable type name for the given value, for instance it will yield\n * `array` instead of `object`, as the native `typeof` operator would do.\n */\nconst getPrintableType = (value: unknown): string => {\n const nativeType = typeof value;\n\n if (nativeType === 'object') {\n if (value === null) return 'null';\n if (Array.isArray(value)) return 'array';\n if (value instanceof Object && value.constructor.name !== 'Object') {\n return value.constructor.name;\n }\n }\n\n return nativeType;\n};\n\nexport { Router };\nexport type { MenuItem, StrapiAppSettingLink, UnloadedSettingsLink, StrapiAppSetting, RouteObject };\n"],"names":["Router","routes","_routes","menu","_menu","settings","_settings","createRouter","strapi","memory","opts","path","errorElement","_jsx","Provider","store","LanguageProvider","messages","configurations","translations","Theme","themes","ErrorElement","element","App","children","getImmutableRoutes","lazy","PrivateAdminLayout","Component","NotFoundPage","router","createMemoryRouter","createBrowserRouter","addSettingsLink","section","link","invariant","id","intlLabel","defaultMessage","undefined","Array","isArray","links","forEach","createSettingsLink","l","Error","addRoute","route","push","getPrintableType","initialRoutes","global","addMenuLink","to","Symbol","toStringTag","console","warn","trim","startsWith","slice","restLink","mod","default","sectionId","split","join","settingsIndex","findIndex","value","nativeType","Object","name"],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sources":["../../../../../../admin/src/core/apis/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport invariant from 'invariant';\nimport { MessageDescriptor, PrimitiveType } from 'react-intl';\nimport { Provider } from 'react-redux';\nimport { createBrowserRouter, createMemoryRouter, RouteObject } from 'react-router-dom';\n\nimport { App } from '../../App';\nimport { ErrorElement } from '../../components/ErrorElement';\nimport { LanguageProvider } from '../../components/LanguageProvider';\nimport { Theme } from '../../components/Theme';\nimport { Permission } from '../../features/Auth';\nimport { NotFoundPage } from '../../pages/NotFoundPage';\nimport { getImmutableRoutes } from '../../router';\nimport { StrapiApp } from '../../StrapiApp';\n\ntype IRouter = ReturnType<typeof createBrowserRouter> | ReturnType<typeof createMemoryRouter>;\n\ntype Reducer<Config extends object> = (prev: Config[]) => Config[];\n\ninterface MenuItem {\n to: string;\n target?: string;\n icon: React.ElementType;\n intlLabel: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n permissions: Permission[];\n notificationsCount?: number;\n Component?: React.LazyExoticComponent<React.ComponentType>;\n exact?: boolean;\n position?: number;\n licenseOnly?: boolean;\n}\n\ninterface StrapiAppSettingLink extends Omit<MenuItem, 'icon' | 'notificationCount'> {\n id: string;\n}\n\ninterface UnloadedSettingsLink extends Omit<StrapiAppSettingLink, 'Component'> {\n Component?: () => Promise<{ default: React.ComponentType }>;\n}\n\ninterface StrapiAppSetting {\n id: string;\n intlLabel: MessageDescriptor & {\n values?: Record<string, PrimitiveType>;\n };\n links: Omit<StrapiAppSettingLink, 'Component'>[];\n}\n\ninterface RouterOptions {\n basename?: string;\n memory?: boolean;\n}\n\nclass Router {\n private _routes: RouteObject[] = [];\n private router: IRouter | null = null;\n private _menu: Omit<MenuItem, 'Component'>[] = [];\n private _settings: Record<string, StrapiAppSetting> = {\n global: {\n id: 'global',\n intlLabel: {\n id: 'Settings.global',\n defaultMessage: 'Global Settings',\n },\n links: [],\n },\n };\n\n constructor(initialRoutes: RouteObject[]) {\n this._routes = initialRoutes;\n }\n\n get routes() {\n return this._routes;\n }\n\n get menu() {\n return this._menu;\n }\n\n get settings() {\n return this._settings;\n }\n\n /**\n * @internal This method is used internally by Strapi to create the router.\n * It should not be used by plugins, doing so will likely break the application.\n */\n createRouter(strapi: StrapiApp, { memory, ...opts }: RouterOptions = {}) {\n const routes = [\n {\n path: '/*',\n errorElement: (\n <Provider store={strapi.store!}>\n <LanguageProvider messages={strapi.configurations.translations}>\n <Theme themes={strapi.configurations.themes}>\n <ErrorElement />\n </Theme>\n </LanguageProvider>\n </Provider>\n ),\n element: <App strapi={strapi} store={strapi.store!} />,\n children: [\n ...getImmutableRoutes(),\n {\n path: '/*',\n lazy: async () => {\n const { PrivateAdminLayout } = await import('../../layouts/AuthenticatedLayout');\n\n return {\n Component: PrivateAdminLayout,\n };\n },\n children: [\n ...this.routes,\n {\n path: '*',\n element: <NotFoundPage />,\n },\n ],\n },\n ],\n },\n ];\n\n if (memory) {\n this.router = createMemoryRouter(routes, opts);\n } else {\n this.router = createBrowserRouter(routes, opts);\n }\n\n return this.router;\n }\n\n public addMenuLink = (\n link: Omit<MenuItem, 'Component'> & {\n Component: () => Promise<{ default: React.ComponentType }>;\n }\n ) => {\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n typeof link.to === 'string',\n `[${\n link.intlLabel.defaultMessage\n }]: Expected link.to to be a string instead received ${typeof link.to}`\n );\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage should be defined`\n );\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise that returns a default component. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addMenuLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your menu link is an absolute path, it should be relative to the root of the application. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n const { Component, ...restLink } = link;\n\n if (Component) {\n this._routes.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this.menu.push(restLink);\n };\n\n public addSettingsLink(\n section: Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] },\n links?: never\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink[]\n ): void;\n public addSettingsLink(\n section:\n | string\n | Pick<StrapiAppSetting, 'id' | 'intlLabel'>\n | (Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] }),\n link?: UnloadedSettingsLink | UnloadedSettingsLink[]\n ): void {\n if (typeof section === 'object' && 'links' in section) {\n /**\n * Someone has passed an entire pre-configured section object\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n invariant(Array.isArray(section.links), 'TypeError expected links to be an array');\n\n this.settings[section.id] = { ...section, links: [] };\n\n section.links.forEach((link) => {\n this.createSettingsLink(section.id, link);\n });\n } else if (typeof section === 'object' && link) {\n /**\n * we need to create the section first\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n\n this.settings[section.id] = { ...section, links: [] };\n\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section.id, l));\n } else {\n this.createSettingsLink(section.id, link);\n }\n } else if (typeof section === 'string' && link) {\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section, l));\n } else {\n this.createSettingsLink(section, link);\n }\n } else {\n throw new Error(\n 'Invalid arguments provided to addSettingsLink, at minimum a sectionId and link are required.'\n );\n }\n }\n\n private createSettingsLink = (sectionId: string, link: UnloadedSettingsLink) => {\n invariant(this._settings[sectionId], 'The section does not exist');\n\n invariant(link.id, `[${link.intlLabel.defaultMessage}]: link.id should be defined`);\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage`\n );\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addSettingsLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link is an absolute path. It should be relative to \\`/settings\\`. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n if (link.to.split('/')[0] === 'settings') {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link has \\`settings\\` as the first part of it's path. It should be relative to \\`settings\\` and therefore, not include it. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.split('/').slice(1).join('/');\n }\n\n const { Component, ...restLink } = link;\n\n const settingsIndex = this._routes.findIndex((route) => route.path === 'settings/*');\n\n /**\n * This shouldn't happen unless someone has removed the settings section completely.\n * Print a warning if this is the case though.\n */\n if (!settingsIndex) {\n console.warn(\n 'A third party plugin has removed the settings section, the settings link cannot be added.'\n );\n return;\n } else if (!this._routes[settingsIndex].children) {\n this._routes[settingsIndex].children = [];\n }\n\n if (Component) {\n this._routes[settingsIndex].children!.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this._settings[sectionId].links.push(restLink);\n };\n\n /**\n * @alpha\n * @description Adds a route or an array of routes to the router.\n * Otherwise, pass a function that receives the current routes and\n * returns the new routes in a reducer like fashion.\n */\n addRoute(route: RouteObject | RouteObject[] | Reducer<RouteObject>) {\n if (Array.isArray(route)) {\n this._routes = [...this._routes, ...route];\n } else if (typeof route === 'object' && route !== null) {\n this._routes.push(route);\n } else if (typeof route === 'function') {\n this._routes = route(this._routes);\n } else {\n throw new Error(\n `Expected the \\`route\\` passed to \\`addRoute\\` to be an array or a function, but received ${getPrintableType(\n route\n )}`\n );\n }\n }\n}\n\n/* -------------------------------------------------------------------------------------------------\n * getPrintableType\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Gets the human-friendly printable type name for the given value, for instance it will yield\n * `array` instead of `object`, as the native `typeof` operator would do.\n */\nconst getPrintableType = (value: unknown): string => {\n const nativeType = typeof value;\n\n if (nativeType === 'object') {\n if (value === null) return 'null';\n if (Array.isArray(value)) return 'array';\n if (value instanceof Object && value.constructor.name !== 'Object') {\n return value.constructor.name;\n }\n }\n\n return nativeType;\n};\n\nexport { Router };\nexport type { MenuItem, StrapiAppSettingLink, UnloadedSettingsLink, StrapiAppSetting, RouteObject };\n"],"names":["Router","routes","_routes","menu","_menu","settings","_settings","createRouter","strapi","memory","opts","path","errorElement","_jsx","Provider","store","LanguageProvider","messages","configurations","translations","Theme","themes","ErrorElement","element","App","children","getImmutableRoutes","lazy","PrivateAdminLayout","Component","NotFoundPage","router","createMemoryRouter","createBrowserRouter","addSettingsLink","section","link","invariant","id","intlLabel","defaultMessage","undefined","Array","isArray","links","forEach","createSettingsLink","l","Error","addRoute","route","push","getPrintableType","initialRoutes","global","addMenuLink","to","Symbol","toStringTag","console","warn","trim","startsWith","slice","restLink","mod","default","sectionId","split","join","settingsIndex","findIndex","value","nativeType","Object","name"],"mappings":";;;;;;;;;;;;;;AAuDA,MAAMA,MAAAA,CAAAA;AAmBJ,IAAA,IAAIC,MAAS,GAAA;QACX,OAAO,IAAI,CAACC,OAAO;AACrB;AAEA,IAAA,IAAIC,IAAO,GAAA;QACT,OAAO,IAAI,CAACC,KAAK;AACnB;AAEA,IAAA,IAAIC,QAAW,GAAA;QACb,OAAO,IAAI,CAACC,SAAS;AACvB;AAEA;;;MAIAC,YAAAA,CAAaC,MAAiB,EAAE,EAAEC,MAAM,EAAE,GAAGC,IAAqB,EAAA,GAAG,EAAE,EAAE;AACvE,QAAA,MAAMT,MAAS,GAAA;AACb,YAAA;gBACEU,IAAM,EAAA,IAAA;AACNC,gBAAAA,YAAAA,gBACEC,cAACC,CAAAA,mBAAAA,EAAAA;AAASC,oBAAAA,KAAAA,EAAOP,OAAOO,KAAK;AAC3B,oBAAA,QAAA,gBAAAF,cAACG,CAAAA,iCAAAA,EAAAA;wBAAiBC,QAAUT,EAAAA,MAAAA,CAAOU,cAAc,CAACC,YAAY;AAC5D,wBAAA,QAAA,gBAAAN,cAACO,CAAAA,WAAAA,EAAAA;4BAAMC,MAAQb,EAAAA,MAAAA,CAAOU,cAAc,CAACG,MAAM;AACzC,4BAAA,QAAA,gBAAAR,cAACS,CAAAA,yBAAAA,EAAAA,EAAAA;;;;AAKTC,gBAAAA,OAAAA,gBAASV,cAACW,CAAAA,OAAAA,EAAAA;oBAAIhB,MAAQA,EAAAA,MAAAA;AAAQO,oBAAAA,KAAAA,EAAOP,OAAOO;;gBAC5CU,QAAU,EAAA;AACLC,oBAAAA,GAAAA,yBAAAA,EAAAA;AACH,oBAAA;wBACEf,IAAM,EAAA,IAAA;wBACNgB,IAAM,EAAA,UAAA;AACJ,4BAAA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAM,oDAAO,sCAAA,KAAA;4BAE5C,OAAO;gCACLC,SAAWD,EAAAA;AACb,6BAAA;AACF,yBAAA;wBACAH,QAAU,EAAA;AACL,4BAAA,GAAA,IAAI,CAACxB,MAAM;AACd,4BAAA;gCACEU,IAAM,EAAA,GAAA;AACNY,gCAAAA,OAAAA,gBAASV,cAACiB,CAAAA,yBAAAA,EAAAA,EAAAA;AACZ;AACD;AACH;AACD;AACH;AACD,SAAA;AAED,QAAA,IAAIrB,MAAQ,EAAA;AACV,YAAA,IAAI,CAACsB,MAAM,GAAGC,iCAAAA,CAAmB/B,MAAQS,EAAAA,IAAAA,CAAAA;SACpC,MAAA;AACL,YAAA,IAAI,CAACqB,MAAM,GAAGE,kCAAAA,CAAoBhC,MAAQS,EAAAA,IAAAA,CAAAA;AAC5C;QAEA,OAAO,IAAI,CAACqB,MAAM;AACpB;IA6EOG,eACLC,CAAAA,OAGoF,EACpFC,IAAoD,EAC9C;AACN,QAAA,IAAI,OAAOD,OAAAA,KAAY,QAAY,IAAA,OAAA,IAAWA,OAAS,EAAA;AACrD;;UAGAE,SAAAA,CAAUF,OAAQG,CAAAA,EAAE,EAAE,8BAAA,CAAA;AACtBD,YAAAA,SAAAA,CACEF,QAAQI,SAAS,EAAED,MAAMH,OAAQI,CAAAA,SAAS,EAAEC,cAC5C,EAAA,qCAAA,CAAA;YAEFH,SAAU,CAAA,IAAI,CAAChC,QAAQ,CAAC8B,QAAQG,EAAE,CAAC,KAAKG,SAAW,EAAA,kCAAA,CAAA;AACnDJ,YAAAA,SAAAA,CAAUK,KAAMC,CAAAA,OAAO,CAACR,OAAAA,CAAQS,KAAK,CAAG,EAAA,yCAAA,CAAA;AAExC,YAAA,IAAI,CAACvC,QAAQ,CAAC8B,OAAQG,CAAAA,EAAE,CAAC,GAAG;AAAE,gBAAA,GAAGH,OAAO;AAAES,gBAAAA,KAAAA,EAAO;AAAG,aAAA;AAEpDT,YAAAA,OAAAA,CAAQS,KAAK,CAACC,OAAO,CAAC,CAACT,IAAAA,GAAAA;AACrB,gBAAA,IAAI,CAACU,kBAAkB,CAACX,OAAAA,CAAQG,EAAE,EAAEF,IAAAA,CAAAA;AACtC,aAAA,CAAA;AACF,SAAA,MAAO,IAAI,OAAOD,OAAY,KAAA,QAAA,IAAYC,IAAM,EAAA;AAC9C;;UAGAC,SAAAA,CAAUF,OAAQG,CAAAA,EAAE,EAAE,8BAAA,CAAA;AACtBD,YAAAA,SAAAA,CACEF,QAAQI,SAAS,EAAED,MAAMH,OAAQI,CAAAA,SAAS,EAAEC,cAC5C,EAAA,qCAAA,CAAA;YAEFH,SAAU,CAAA,IAAI,CAAChC,QAAQ,CAAC8B,QAAQG,EAAE,CAAC,KAAKG,SAAW,EAAA,kCAAA,CAAA;AAEnD,YAAA,IAAI,CAACpC,QAAQ,CAAC8B,OAAQG,CAAAA,EAAE,CAAC,GAAG;AAAE,gBAAA,GAAGH,OAAO;AAAES,gBAAAA,KAAAA,EAAO;AAAG,aAAA;YAEpD,IAAIF,KAAAA,CAAMC,OAAO,CAACP,IAAO,CAAA,EAAA;gBACvBA,IAAKS,CAAAA,OAAO,CAAC,CAACE,CAAM,GAAA,IAAI,CAACD,kBAAkB,CAACX,OAAQG,CAAAA,EAAE,EAAES,CAAAA,CAAAA,CAAAA;aACnD,MAAA;AACL,gBAAA,IAAI,CAACD,kBAAkB,CAACX,OAAAA,CAAQG,EAAE,EAAEF,IAAAA,CAAAA;AACtC;AACF,SAAA,MAAO,IAAI,OAAOD,OAAY,KAAA,QAAA,IAAYC,IAAM,EAAA;YAC9C,IAAIM,KAAAA,CAAMC,OAAO,CAACP,IAAO,CAAA,EAAA;gBACvBA,IAAKS,CAAAA,OAAO,CAAC,CAACE,CAAAA,GAAM,IAAI,CAACD,kBAAkB,CAACX,OAASY,EAAAA,CAAAA,CAAAA,CAAAA;aAChD,MAAA;gBACL,IAAI,CAACD,kBAAkB,CAACX,OAASC,EAAAA,IAAAA,CAAAA;AACnC;SACK,MAAA;AACL,YAAA,MAAM,IAAIY,KACR,CAAA,8FAAA,CAAA;AAEJ;AACF;AAiFA;;;;;MAMAC,QAAAA,CAASC,KAAyD,EAAE;QAClE,IAAIR,KAAAA,CAAMC,OAAO,CAACO,KAAQ,CAAA,EAAA;YACxB,IAAI,CAAChD,OAAO,GAAG;AAAI,gBAAA,GAAA,IAAI,CAACA,OAAO;AAAKgD,gBAAAA,GAAAA;AAAM,aAAA;AAC5C,SAAA,MAAO,IAAI,OAAOA,KAAU,KAAA,QAAA,IAAYA,UAAU,IAAM,EAAA;AACtD,YAAA,IAAI,CAAChD,OAAO,CAACiD,IAAI,CAACD,KAAAA,CAAAA;SACb,MAAA,IAAI,OAAOA,KAAAA,KAAU,UAAY,EAAA;AACtC,YAAA,IAAI,CAAChD,OAAO,GAAGgD,KAAM,CAAA,IAAI,CAAChD,OAAO,CAAA;SAC5B,MAAA;AACL,YAAA,MAAM,IAAI8C,KACR,CAAA,CAAC,yFAAyF,EAAEI,iBAC1FF,KACC,CAAA,CAAA,CAAA,CAAA;AAEP;AACF;AAvSA,IAAA,WAAA,CAAYG,aAA4B,CAAE;AAdlCnD,QAAAA,IAAAA,CAAAA,OAAAA,GAAyB,EAAE;aAC3B6B,MAAyB,GAAA,IAAA;AACzB3B,QAAAA,IAAAA,CAAAA,KAAAA,GAAuC,EAAE;aACzCE,SAA8C,GAAA;YACpDgD,MAAQ,EAAA;gBACNhB,EAAI,EAAA,QAAA;gBACJC,SAAW,EAAA;oBACTD,EAAI,EAAA,iBAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;AACAI,gBAAAA,KAAAA,EAAO;AACT;AACF,SAAA;AAoEOW,QAAAA,IAAAA,CAAAA,WAAAA,GAAc,CACnBnB,IAAAA,GAAAA;AAIAC,YAAAA,SAAAA,CAAUD,IAAKoB,CAAAA,EAAE,EAAE,CAAC,CAAC,EAAEpB,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,4BAA4B,CAAC,CAAA;AAClFH,YAAAA,SAAAA,CACE,OAAOD,IAAKoB,CAAAA,EAAE,KAAK,QACnB,EAAA,CAAC,CAAC,EACApB,IAAAA,CAAKG,SAAS,CAACC,cAAc,CAC9B,oDAAoD,EAAE,OAAOJ,IAAAA,CAAKoB,EAAE,CAAE,CAAA,CAAA;AAEzEnB,YAAAA,SAAAA,CACED,KAAKG,SAAS,EAAED,EAAMF,IAAAA,IAAAA,CAAKG,SAAS,EAAEC,cAAAA,EACtC,CAAC,CAAC,EAAEJ,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,sEAAsE,CAAC,CAAA;YAE3GH,SACE,CAAA,CAACD,KAAKP,SAAS,IAAKO,KAAKP,SAAS,IAAI,OAAOO,IAAKP,CAAAA,SAAS,KAAK,UAChE,EAAA,CAAC,CAAC,EAAEO,IAAAA,CAAKG,SAAS,CAACC,cAAc,CAAC,iJAAiJ,CAAC,CAAA;AAGtL,YAAA,IACE,CAACJ,IAAAA,CAAKP,SAAS,IACdO,IAAKP,CAAAA,SAAS,IACb,OAAOO,IAAKP,CAAAA,SAAS,KAAK,UAAA;AAE1BO,YAAAA,IAAAA,CAAKP,SAAS,CAAC4B,MAAAA,CAAOC,WAAW,CAAC,KAAK,eACzC,EAAA;gBACAC,OAAQC,CAAAA,IAAI,CACV;OACD,EAAExB,IAAAA,CAAKG,SAAS,CAACC,cAAc,CAAC,kFAAkF,EAAEJ,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC;AACnJ,MAAA,CAAC,CAACqB,IAAI,EAAA,CAAA;AAER;AAEA,YAAA,IAAIzB,IAAKoB,CAAAA,EAAE,CAACM,UAAU,CAAC,GAAM,CAAA,EAAA;gBAC3BH,OAAQC,CAAAA,IAAI,CACV,CAAC,CAAC,EAAExB,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,sMAAsM,CAAC,CAAA;AAG3OJ,gBAAAA,IAAAA,CAAKoB,EAAE,GAAGpB,IAAAA,CAAKoB,EAAE,CAACO,KAAK,CAAC,CAAA,CAAA;AAC1B;AAEA,YAAA,MAAM,EAAElC,SAAS,EAAE,GAAGmC,UAAU,GAAG5B,IAAAA;AAEnC,YAAA,IAAIP,SAAW,EAAA;AACb,gBAAA,IAAI,CAAC3B,OAAO,CAACiD,IAAI,CAAC;AAChBxC,oBAAAA,IAAAA,EAAM,CAAGyB,EAAAA,IAAAA,CAAKoB,EAAE,CAAC,EAAE,CAAC;oBACpB7B,IAAM,EAAA,UAAA;AACJ,wBAAA,MAAMsC,MAAM,MAAMpC,SAAAA,EAAAA;AAElB,wBAAA,IAAI,aAAaoC,GAAK,EAAA;4BACpB,OAAO;AAAEpC,gCAAAA,SAAAA,EAAWoC,IAAIC;AAAQ,6BAAA;yBAC3B,MAAA;4BACL,OAAO;gCAAErC,SAAWoC,EAAAA;AAAI,6BAAA;AAC1B;AACF;AACF,iBAAA,CAAA;AACF;AAEA,YAAA,IAAI,CAAC9D,IAAI,CAACgD,IAAI,CAACa,QAAAA,CAAAA;AACjB,SAAA;AAqEQlB,QAAAA,IAAAA,CAAAA,kBAAAA,GAAqB,CAACqB,SAAmB/B,EAAAA,IAAAA,GAAAA;AAC/CC,YAAAA,SAAAA,CAAU,IAAI,CAAC/B,SAAS,CAAC6D,UAAU,EAAE,4BAAA,CAAA;AAErC9B,YAAAA,SAAAA,CAAUD,IAAKE,CAAAA,EAAE,EAAE,CAAC,CAAC,EAAEF,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,4BAA4B,CAAC,CAAA;AAClFH,YAAAA,SAAAA,CACED,KAAKG,SAAS,EAAED,EAAMF,IAAAA,IAAAA,CAAKG,SAAS,EAAEC,cAAAA,EACtC,CAAC,CAAC,EAAEJ,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,oDAAoD,CAAC,CAAA;AAEzFH,YAAAA,SAAAA,CAAUD,IAAKoB,CAAAA,EAAE,EAAE,CAAC,CAAC,EAAEpB,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,4BAA4B,CAAC,CAAA;YAClFH,SACE,CAAA,CAACD,KAAKP,SAAS,IAAKO,KAAKP,SAAS,IAAI,OAAOO,IAAKP,CAAAA,SAAS,KAAK,UAChE,EAAA,CAAC,CAAC,EAAEO,IAAAA,CAAKG,SAAS,CAACC,cAAc,CAAC,gHAAgH,CAAC,CAAA;AAGrJ,YAAA,IACE,CAACJ,IAAAA,CAAKP,SAAS,IACdO,IAAKP,CAAAA,SAAS,IACb,OAAOO,IAAKP,CAAAA,SAAS,KAAK,UAAA;AAE1BO,YAAAA,IAAAA,CAAKP,SAAS,CAAC4B,MAAAA,CAAOC,WAAW,CAAC,KAAK,eACzC,EAAA;gBACAC,OAAQC,CAAAA,IAAI,CACV;OACD,EAAExB,IAAAA,CAAKG,SAAS,CAACC,cAAc,CAAC,sFAAsF,EAAEJ,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC;AACvJ,MAAA,CAAC,CAACqB,IAAI,EAAA,CAAA;AAER;AAEA,YAAA,IAAIzB,IAAKoB,CAAAA,EAAE,CAACM,UAAU,CAAC,GAAM,CAAA,EAAA;gBAC3BH,OAAQC,CAAAA,IAAI,CACV,CAAC,CAAC,EAAExB,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,4LAA4L,CAAC,CAAA;AAGjOJ,gBAAAA,IAAAA,CAAKoB,EAAE,GAAGpB,IAAAA,CAAKoB,EAAE,CAACO,KAAK,CAAC,CAAA,CAAA;AAC1B;YAEA,IAAI3B,IAAAA,CAAKoB,EAAE,CAACY,KAAK,CAAC,GAAI,CAAA,CAAC,CAAE,CAAA,KAAK,UAAY,EAAA;gBACxCT,OAAQC,CAAAA,IAAI,CACV,CAAC,CAAC,EAAExB,IAAKG,CAAAA,SAAS,CAACC,cAAc,CAAC,qPAAqP,CAAC,CAAA;AAG1RJ,gBAAAA,IAAAA,CAAKoB,EAAE,GAAGpB,IAAKoB,CAAAA,EAAE,CAACY,KAAK,CAAC,GAAA,CAAA,CAAKL,KAAK,CAAC,CAAGM,CAAAA,CAAAA,IAAI,CAAC,GAAA,CAAA;AAC7C;AAEA,YAAA,MAAM,EAAExC,SAAS,EAAE,GAAGmC,UAAU,GAAG5B,IAAAA;YAEnC,MAAMkC,aAAAA,GAAgB,IAAI,CAACpE,OAAO,CAACqE,SAAS,CAAC,CAACrB,KAAAA,GAAUA,KAAMvC,CAAAA,IAAI,KAAK,YAAA,CAAA;AAEvE;;;QAIA,IAAI,CAAC2D,aAAe,EAAA;AAClBX,gBAAAA,OAAAA,CAAQC,IAAI,CACV,2FAAA,CAAA;AAEF,gBAAA;aACK,MAAA,IAAI,CAAC,IAAI,CAAC1D,OAAO,CAACoE,aAAAA,CAAc,CAAC7C,QAAQ,EAAE;AAChD,gBAAA,IAAI,CAACvB,OAAO,CAACoE,cAAc,CAAC7C,QAAQ,GAAG,EAAE;AAC3C;AAEA,YAAA,IAAII,SAAW,EAAA;gBACb,IAAI,CAAC3B,OAAO,CAACoE,aAAAA,CAAc,CAAC7C,QAAQ,CAAE0B,IAAI,CAAC;AACzCxC,oBAAAA,IAAAA,EAAM,CAAGyB,EAAAA,IAAAA,CAAKoB,EAAE,CAAC,EAAE,CAAC;oBACpB7B,IAAM,EAAA,UAAA;AACJ,wBAAA,MAAMsC,MAAM,MAAMpC,SAAAA,EAAAA;AAElB,wBAAA,IAAI,aAAaoC,GAAK,EAAA;4BACpB,OAAO;AAAEpC,gCAAAA,SAAAA,EAAWoC,IAAIC;AAAQ,6BAAA;yBAC3B,MAAA;4BACL,OAAO;gCAAErC,SAAWoC,EAAAA;AAAI,6BAAA;AAC1B;AACF;AACF,iBAAA,CAAA;AACF;YAEA,IAAI,CAAC3D,SAAS,CAAC6D,SAAAA,CAAU,CAACvB,KAAK,CAACO,IAAI,CAACa,QAAAA,CAAAA;AACvC,SAAA;QAhRE,IAAI,CAAC9D,OAAO,GAAGmD,aAAAA;AACjB;AAsSF;AAEA;;;;;;IASA,MAAMD,mBAAmB,CAACoB,KAAAA,GAAAA;AACxB,IAAA,MAAMC,aAAa,OAAOD,KAAAA;AAE1B,IAAA,IAAIC,eAAe,QAAU,EAAA;QAC3B,IAAID,KAAAA,KAAU,MAAM,OAAO,MAAA;AAC3B,QAAA,IAAI9B,KAAMC,CAAAA,OAAO,CAAC6B,KAAAA,CAAAA,EAAQ,OAAO,OAAA;AACjC,QAAA,IAAIA,iBAAiBE,MAAUF,IAAAA,KAAAA,CAAM,WAAW,CAACG,IAAI,KAAK,QAAU,EAAA;YAClE,OAAOH,KAAAA,CAAM,WAAW,CAACG,IAAI;AAC/B;AACF;IAEA,OAAOF,UAAAA;AACT,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.mjs","sources":["../../../../../../admin/src/core/apis/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport invariant from 'invariant';\nimport { MessageDescriptor, PrimitiveType } from 'react-intl';\nimport { Provider } from 'react-redux';\nimport { createBrowserRouter, createMemoryRouter, RouteObject } from 'react-router-dom';\n\nimport { App } from '../../App';\nimport { ErrorElement } from '../../components/ErrorElement';\nimport { LanguageProvider } from '../../components/LanguageProvider';\nimport { Theme } from '../../components/Theme';\nimport { Permission } from '../../features/Auth';\nimport { NotFoundPage } from '../../pages/NotFoundPage';\nimport { getImmutableRoutes } from '../../router';\nimport { StrapiApp } from '../../StrapiApp';\n\ntype IRouter = ReturnType<typeof createBrowserRouter> | ReturnType<typeof createMemoryRouter>;\n\ntype Reducer<Config extends object> = (prev: Config[]) => Config[];\n\ninterface MenuItem {\n to: string;\n icon: React.ElementType;\n intlLabel: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n permissions: Permission[];\n notificationsCount?: number;\n Component?: React.LazyExoticComponent<React.ComponentType>;\n exact?: boolean;\n position?: number;\n licenseOnly?: boolean;\n}\n\ninterface StrapiAppSettingLink extends Omit<MenuItem, 'icon' | 'notificationCount'> {\n id: string;\n}\n\ninterface UnloadedSettingsLink extends Omit<StrapiAppSettingLink, 'Component'> {\n Component?: () => Promise<{ default: React.ComponentType }>;\n}\n\ninterface StrapiAppSetting {\n id: string;\n intlLabel: MessageDescriptor & {\n values?: Record<string, PrimitiveType>;\n };\n links: Omit<StrapiAppSettingLink, 'Component'>[];\n}\n\ninterface RouterOptions {\n basename?: string;\n memory?: boolean;\n}\n\nclass Router {\n private _routes: RouteObject[] = [];\n private router: IRouter | null = null;\n private _menu: Omit<MenuItem, 'Component'>[] = [];\n private _settings: Record<string, StrapiAppSetting> = {\n global: {\n id: 'global',\n intlLabel: {\n id: 'Settings.global',\n defaultMessage: 'Global Settings',\n },\n links: [],\n },\n };\n\n constructor(initialRoutes: RouteObject[]) {\n this._routes = initialRoutes;\n }\n\n get routes() {\n return this._routes;\n }\n\n get menu() {\n return this._menu;\n }\n\n get settings() {\n return this._settings;\n }\n\n /**\n * @internal This method is used internally by Strapi to create the router.\n * It should not be used by plugins, doing so will likely break the application.\n */\n createRouter(strapi: StrapiApp, { memory, ...opts }: RouterOptions = {}) {\n const routes = [\n {\n path: '/*',\n errorElement: (\n <Provider store={strapi.store!}>\n <LanguageProvider messages={strapi.configurations.translations}>\n <Theme themes={strapi.configurations.themes}>\n <ErrorElement />\n </Theme>\n </LanguageProvider>\n </Provider>\n ),\n element: <App strapi={strapi} store={strapi.store!} />,\n children: [\n ...getImmutableRoutes(),\n {\n path: '/*',\n lazy: async () => {\n const { PrivateAdminLayout } = await import('../../layouts/AuthenticatedLayout');\n\n return {\n Component: PrivateAdminLayout,\n };\n },\n children: [\n ...this.routes,\n {\n path: '*',\n element: <NotFoundPage />,\n },\n ],\n },\n ],\n },\n ];\n\n if (memory) {\n this.router = createMemoryRouter(routes, opts);\n } else {\n this.router = createBrowserRouter(routes, opts);\n }\n\n return this.router;\n }\n\n public addMenuLink = (\n link: Omit<MenuItem, 'Component'> & {\n Component: () => Promise<{ default: React.ComponentType }>;\n }\n ) => {\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n typeof link.to === 'string',\n `[${\n link.intlLabel.defaultMessage\n }]: Expected link.to to be a string instead received ${typeof link.to}`\n );\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage should be defined`\n );\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise that returns a default component. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addMenuLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your menu link is an absolute path, it should be relative to the root of the application. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n const { Component, ...restLink } = link;\n\n if (Component) {\n this._routes.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this.menu.push(restLink);\n };\n\n public addSettingsLink(\n section: Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] },\n links?: never\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink[]\n ): void;\n public addSettingsLink(\n section:\n | string\n | Pick<StrapiAppSetting, 'id' | 'intlLabel'>\n | (Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] }),\n link?: UnloadedSettingsLink | UnloadedSettingsLink[]\n ): void {\n if (typeof section === 'object' && 'links' in section) {\n /**\n * Someone has passed an entire pre-configured section object\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n invariant(Array.isArray(section.links), 'TypeError expected links to be an array');\n\n this.settings[section.id] = { ...section, links: [] };\n\n section.links.forEach((link) => {\n this.createSettingsLink(section.id, link);\n });\n } else if (typeof section === 'object' && link) {\n /**\n * we need to create the section first\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n\n this.settings[section.id] = { ...section, links: [] };\n\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section.id, l));\n } else {\n this.createSettingsLink(section.id, link);\n }\n } else if (typeof section === 'string' && link) {\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section, l));\n } else {\n this.createSettingsLink(section, link);\n }\n } else {\n throw new Error(\n 'Invalid arguments provided to addSettingsLink, at minimum a sectionId and link are required.'\n );\n }\n }\n\n private createSettingsLink = (sectionId: string, link: UnloadedSettingsLink) => {\n invariant(this._settings[sectionId], 'The section does not exist');\n\n invariant(link.id, `[${link.intlLabel.defaultMessage}]: link.id should be defined`);\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage`\n );\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addSettingsLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link is an absolute path. It should be relative to \\`/settings\\`. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n if (link.to.split('/')[0] === 'settings') {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link has \\`settings\\` as the first part of it's path. It should be relative to \\`settings\\` and therefore, not include it. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.split('/').slice(1).join('/');\n }\n\n const { Component, ...restLink } = link;\n\n const settingsIndex = this._routes.findIndex((route) => route.path === 'settings/*');\n\n /**\n * This shouldn't happen unless someone has removed the settings section completely.\n * Print a warning if this is the case though.\n */\n if (!settingsIndex) {\n console.warn(\n 'A third party plugin has removed the settings section, the settings link cannot be added.'\n );\n return;\n } else if (!this._routes[settingsIndex].children) {\n this._routes[settingsIndex].children = [];\n }\n\n if (Component) {\n this._routes[settingsIndex].children!.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this._settings[sectionId].links.push(restLink);\n };\n\n /**\n * @alpha\n * @description Adds a route or an array of routes to the router.\n * Otherwise, pass a function that receives the current routes and\n * returns the new routes in a reducer like fashion.\n */\n addRoute(route: RouteObject | RouteObject[] | Reducer<RouteObject>) {\n if (Array.isArray(route)) {\n this._routes = [...this._routes, ...route];\n } else if (typeof route === 'object' && route !== null) {\n this._routes.push(route);\n } else if (typeof route === 'function') {\n this._routes = route(this._routes);\n } else {\n throw new Error(\n `Expected the \\`route\\` passed to \\`addRoute\\` to be an array or a function, but received ${getPrintableType(\n route\n )}`\n );\n }\n }\n}\n\n/* -------------------------------------------------------------------------------------------------\n * getPrintableType\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Gets the human-friendly printable type name for the given value, for instance it will yield\n * `array` instead of `object`, as the native `typeof` operator would do.\n */\nconst getPrintableType = (value: unknown): string => {\n const nativeType = typeof value;\n\n if (nativeType === 'object') {\n if (value === null) return 'null';\n if (Array.isArray(value)) return 'array';\n if (value instanceof Object && value.constructor.name !== 'Object') {\n return value.constructor.name;\n }\n }\n\n return nativeType;\n};\n\nexport { Router };\nexport type { MenuItem, StrapiAppSettingLink, UnloadedSettingsLink, StrapiAppSetting, RouteObject };\n"],"names":["Router","routes","_routes","menu","_menu","settings","_settings","createRouter","strapi","memory","opts","path","errorElement","_jsx","Provider","store","LanguageProvider","messages","configurations","translations","Theme","themes","ErrorElement","element","App","children","getImmutableRoutes","lazy","PrivateAdminLayout","Component","NotFoundPage","router","createMemoryRouter","createBrowserRouter","addSettingsLink","section","link","invariant","id","intlLabel","defaultMessage","undefined","Array","isArray","links","forEach","createSettingsLink","l","Error","addRoute","route","push","getPrintableType","initialRoutes","global","addMenuLink","to","Symbol","toStringTag","console","warn","trim","startsWith","slice","restLink","mod","default","sectionId","split","join","settingsIndex","findIndex","value","nativeType","Object","name"],"mappings":"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"}
1
+ {"version":3,"file":"router.mjs","sources":["../../../../../../admin/src/core/apis/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport invariant from 'invariant';\nimport { MessageDescriptor, PrimitiveType } from 'react-intl';\nimport { Provider } from 'react-redux';\nimport { createBrowserRouter, createMemoryRouter, RouteObject } from 'react-router-dom';\n\nimport { App } from '../../App';\nimport { ErrorElement } from '../../components/ErrorElement';\nimport { LanguageProvider } from '../../components/LanguageProvider';\nimport { Theme } from '../../components/Theme';\nimport { Permission } from '../../features/Auth';\nimport { NotFoundPage } from '../../pages/NotFoundPage';\nimport { getImmutableRoutes } from '../../router';\nimport { StrapiApp } from '../../StrapiApp';\n\ntype IRouter = ReturnType<typeof createBrowserRouter> | ReturnType<typeof createMemoryRouter>;\n\ntype Reducer<Config extends object> = (prev: Config[]) => Config[];\n\ninterface MenuItem {\n to: string;\n target?: string;\n icon: React.ElementType;\n intlLabel: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n permissions: Permission[];\n notificationsCount?: number;\n Component?: React.LazyExoticComponent<React.ComponentType>;\n exact?: boolean;\n position?: number;\n licenseOnly?: boolean;\n}\n\ninterface StrapiAppSettingLink extends Omit<MenuItem, 'icon' | 'notificationCount'> {\n id: string;\n}\n\ninterface UnloadedSettingsLink extends Omit<StrapiAppSettingLink, 'Component'> {\n Component?: () => Promise<{ default: React.ComponentType }>;\n}\n\ninterface StrapiAppSetting {\n id: string;\n intlLabel: MessageDescriptor & {\n values?: Record<string, PrimitiveType>;\n };\n links: Omit<StrapiAppSettingLink, 'Component'>[];\n}\n\ninterface RouterOptions {\n basename?: string;\n memory?: boolean;\n}\n\nclass Router {\n private _routes: RouteObject[] = [];\n private router: IRouter | null = null;\n private _menu: Omit<MenuItem, 'Component'>[] = [];\n private _settings: Record<string, StrapiAppSetting> = {\n global: {\n id: 'global',\n intlLabel: {\n id: 'Settings.global',\n defaultMessage: 'Global Settings',\n },\n links: [],\n },\n };\n\n constructor(initialRoutes: RouteObject[]) {\n this._routes = initialRoutes;\n }\n\n get routes() {\n return this._routes;\n }\n\n get menu() {\n return this._menu;\n }\n\n get settings() {\n return this._settings;\n }\n\n /**\n * @internal This method is used internally by Strapi to create the router.\n * It should not be used by plugins, doing so will likely break the application.\n */\n createRouter(strapi: StrapiApp, { memory, ...opts }: RouterOptions = {}) {\n const routes = [\n {\n path: '/*',\n errorElement: (\n <Provider store={strapi.store!}>\n <LanguageProvider messages={strapi.configurations.translations}>\n <Theme themes={strapi.configurations.themes}>\n <ErrorElement />\n </Theme>\n </LanguageProvider>\n </Provider>\n ),\n element: <App strapi={strapi} store={strapi.store!} />,\n children: [\n ...getImmutableRoutes(),\n {\n path: '/*',\n lazy: async () => {\n const { PrivateAdminLayout } = await import('../../layouts/AuthenticatedLayout');\n\n return {\n Component: PrivateAdminLayout,\n };\n },\n children: [\n ...this.routes,\n {\n path: '*',\n element: <NotFoundPage />,\n },\n ],\n },\n ],\n },\n ];\n\n if (memory) {\n this.router = createMemoryRouter(routes, opts);\n } else {\n this.router = createBrowserRouter(routes, opts);\n }\n\n return this.router;\n }\n\n public addMenuLink = (\n link: Omit<MenuItem, 'Component'> & {\n Component: () => Promise<{ default: React.ComponentType }>;\n }\n ) => {\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n typeof link.to === 'string',\n `[${\n link.intlLabel.defaultMessage\n }]: Expected link.to to be a string instead received ${typeof link.to}`\n );\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage should be defined`\n );\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise that returns a default component. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addMenuLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your menu link is an absolute path, it should be relative to the root of the application. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n const { Component, ...restLink } = link;\n\n if (Component) {\n this._routes.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this.menu.push(restLink);\n };\n\n public addSettingsLink(\n section: Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] },\n links?: never\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink\n ): void;\n public addSettingsLink(\n sectionId: string | Pick<StrapiAppSetting, 'id' | 'intlLabel'>,\n link: UnloadedSettingsLink[]\n ): void;\n public addSettingsLink(\n section:\n | string\n | Pick<StrapiAppSetting, 'id' | 'intlLabel'>\n | (Pick<StrapiAppSetting, 'id' | 'intlLabel'> & { links: UnloadedSettingsLink[] }),\n link?: UnloadedSettingsLink | UnloadedSettingsLink[]\n ): void {\n if (typeof section === 'object' && 'links' in section) {\n /**\n * Someone has passed an entire pre-configured section object\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n invariant(Array.isArray(section.links), 'TypeError expected links to be an array');\n\n this.settings[section.id] = { ...section, links: [] };\n\n section.links.forEach((link) => {\n this.createSettingsLink(section.id, link);\n });\n } else if (typeof section === 'object' && link) {\n /**\n * we need to create the section first\n */\n invariant(section.id, 'section.id should be defined');\n invariant(\n section.intlLabel?.id && section.intlLabel?.defaultMessage,\n 'section.intlLabel should be defined'\n );\n invariant(this.settings[section.id] === undefined, 'A similar section already exists');\n\n this.settings[section.id] = { ...section, links: [] };\n\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section.id, l));\n } else {\n this.createSettingsLink(section.id, link);\n }\n } else if (typeof section === 'string' && link) {\n if (Array.isArray(link)) {\n link.forEach((l) => this.createSettingsLink(section, l));\n } else {\n this.createSettingsLink(section, link);\n }\n } else {\n throw new Error(\n 'Invalid arguments provided to addSettingsLink, at minimum a sectionId and link are required.'\n );\n }\n }\n\n private createSettingsLink = (sectionId: string, link: UnloadedSettingsLink) => {\n invariant(this._settings[sectionId], 'The section does not exist');\n\n invariant(link.id, `[${link.intlLabel.defaultMessage}]: link.id should be defined`);\n invariant(\n link.intlLabel?.id && link.intlLabel?.defaultMessage,\n `[${link.intlLabel.defaultMessage}]: link.intlLabel.id & link.intlLabel.defaultMessage`\n );\n invariant(link.to, `[${link.intlLabel.defaultMessage}]: link.to should be defined`);\n invariant(\n !link.Component || (link.Component && typeof link.Component === 'function'),\n `[${link.intlLabel.defaultMessage}]: link.Component must be a function returning a Promise. Please use: \\`Component: () => import(path)\\` instead.`\n );\n\n if (\n !link.Component ||\n (link.Component &&\n typeof link.Component === 'function' &&\n // @ts-expect-error – shh\n link.Component[Symbol.toStringTag] === 'AsyncFunction')\n ) {\n console.warn(\n `\n [${link.intlLabel.defaultMessage}]: [deprecated] addSettingsLink() was called with an async Component from the plugin \"${link.intlLabel.defaultMessage}\". This will be removed in the future. Please use: \\`Component: () => import(path)\\` ensuring you return a default export instead.\n `.trim()\n );\n }\n\n if (link.to.startsWith('/')) {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link is an absolute path. It should be relative to \\`/settings\\`. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.slice(1);\n }\n\n if (link.to.split('/')[0] === 'settings') {\n console.warn(\n `[${link.intlLabel.defaultMessage}]: the \\`to\\` property of your settings link has \\`settings\\` as the first part of it's path. It should be relative to \\`settings\\` and therefore, not include it. This has been corrected for you but will be removed in a future version of Strapi.`\n );\n\n link.to = link.to.split('/').slice(1).join('/');\n }\n\n const { Component, ...restLink } = link;\n\n const settingsIndex = this._routes.findIndex((route) => route.path === 'settings/*');\n\n /**\n * This shouldn't happen unless someone has removed the settings section completely.\n * Print a warning if this is the case though.\n */\n if (!settingsIndex) {\n console.warn(\n 'A third party plugin has removed the settings section, the settings link cannot be added.'\n );\n return;\n } else if (!this._routes[settingsIndex].children) {\n this._routes[settingsIndex].children = [];\n }\n\n if (Component) {\n this._routes[settingsIndex].children!.push({\n path: `${link.to}/*`,\n lazy: async () => {\n const mod = await Component();\n\n if ('default' in mod) {\n return { Component: mod.default };\n } else {\n return { Component: mod };\n }\n },\n });\n }\n\n this._settings[sectionId].links.push(restLink);\n };\n\n /**\n * @alpha\n * @description Adds a route or an array of routes to the router.\n * Otherwise, pass a function that receives the current routes and\n * returns the new routes in a reducer like fashion.\n */\n addRoute(route: RouteObject | RouteObject[] | Reducer<RouteObject>) {\n if (Array.isArray(route)) {\n this._routes = [...this._routes, ...route];\n } else if (typeof route === 'object' && route !== null) {\n this._routes.push(route);\n } else if (typeof route === 'function') {\n this._routes = route(this._routes);\n } else {\n throw new Error(\n `Expected the \\`route\\` passed to \\`addRoute\\` to be an array or a function, but received ${getPrintableType(\n route\n )}`\n );\n }\n }\n}\n\n/* -------------------------------------------------------------------------------------------------\n * getPrintableType\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n * @description Gets the human-friendly printable type name for the given value, for instance it will yield\n * `array` instead of `object`, as the native `typeof` operator would do.\n */\nconst getPrintableType = (value: unknown): string => {\n const nativeType = typeof value;\n\n if (nativeType === 'object') {\n if (value === null) return 'null';\n if (Array.isArray(value)) return 'array';\n if (value instanceof Object && value.constructor.name !== 'Object') {\n return value.constructor.name;\n }\n }\n\n return nativeType;\n};\n\nexport { Router };\nexport type { MenuItem, StrapiAppSettingLink, UnloadedSettingsLink, StrapiAppSetting, RouteObject };\n"],"names":["Router","routes","_routes","menu","_menu","settings","_settings","createRouter","strapi","memory","opts","path","errorElement","_jsx","Provider","store","LanguageProvider","messages","configurations","translations","Theme","themes","ErrorElement","element","App","children","getImmutableRoutes","lazy","PrivateAdminLayout","Component","NotFoundPage","router","createMemoryRouter","createBrowserRouter","addSettingsLink","section","link","invariant","id","intlLabel","defaultMessage","undefined","Array","isArray","links","forEach","createSettingsLink","l","Error","addRoute","route","push","getPrintableType","initialRoutes","global","addMenuLink","to","Symbol","toStringTag","console","warn","trim","startsWith","slice","restLink","mod","default","sectionId","split","join","settingsIndex","findIndex","value","nativeType","Object","name"],"mappings":"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"}