@strapi/content-manager 0.0.0 → 5.0.0-beta.7

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 (507) hide show
  1. package/README.md +9 -1
  2. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +69 -0
  3. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
  4. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +70 -0
  5. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
  6. package/dist/_chunks/ComponentConfigurationPage-DMq0wvcL.js +255 -0
  7. package/dist/_chunks/ComponentConfigurationPage-DMq0wvcL.js.map +1 -0
  8. package/dist/_chunks/ComponentConfigurationPage-uTMkLI60.mjs +236 -0
  9. package/dist/_chunks/ComponentConfigurationPage-uTMkLI60.mjs.map +1 -0
  10. package/dist/_chunks/ComponentIcon-BBQsYCVn.js +170 -0
  11. package/dist/_chunks/ComponentIcon-BBQsYCVn.js.map +1 -0
  12. package/dist/_chunks/ComponentIcon-BOFnK76n.mjs +151 -0
  13. package/dist/_chunks/ComponentIcon-BOFnK76n.mjs.map +1 -0
  14. package/dist/_chunks/EditConfigurationPage-B2HhCh-b.mjs +132 -0
  15. package/dist/_chunks/EditConfigurationPage-B2HhCh-b.mjs.map +1 -0
  16. package/dist/_chunks/EditConfigurationPage-BFpQwwbc.js +151 -0
  17. package/dist/_chunks/EditConfigurationPage-BFpQwwbc.js.map +1 -0
  18. package/dist/_chunks/EditViewPage-BVIrgjyG.mjs +203 -0
  19. package/dist/_chunks/EditViewPage-BVIrgjyG.mjs.map +1 -0
  20. package/dist/_chunks/EditViewPage-CXXue16T.js +222 -0
  21. package/dist/_chunks/EditViewPage-CXXue16T.js.map +1 -0
  22. package/dist/_chunks/Field-0_2h1vuK.mjs +5328 -0
  23. package/dist/_chunks/Field-0_2h1vuK.mjs.map +1 -0
  24. package/dist/_chunks/Field-ZgzKlgxR.js +5360 -0
  25. package/dist/_chunks/Field-ZgzKlgxR.js.map +1 -0
  26. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +50 -0
  27. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -0
  28. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +49 -0
  29. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -0
  30. package/dist/_chunks/Form-B7TUnQDd.mjs +737 -0
  31. package/dist/_chunks/Form-B7TUnQDd.mjs.map +1 -0
  32. package/dist/_chunks/Form-DgTc2qkx.js +758 -0
  33. package/dist/_chunks/Form-DgTc2qkx.js.map +1 -0
  34. package/dist/_chunks/History-DtHjQuqM.js +948 -0
  35. package/dist/_chunks/History-DtHjQuqM.js.map +1 -0
  36. package/dist/_chunks/History-Dug_4HIA.mjs +927 -0
  37. package/dist/_chunks/History-Dug_4HIA.mjs.map +1 -0
  38. package/dist/_chunks/ListConfigurationPage-BuSdTjfa.js +641 -0
  39. package/dist/_chunks/ListConfigurationPage-BuSdTjfa.js.map +1 -0
  40. package/dist/_chunks/ListConfigurationPage-CmEeNg6T.mjs +622 -0
  41. package/dist/_chunks/ListConfigurationPage-CmEeNg6T.mjs.map +1 -0
  42. package/dist/_chunks/ListViewPage-CExWwa4S.js +846 -0
  43. package/dist/_chunks/ListViewPage-CExWwa4S.js.map +1 -0
  44. package/dist/_chunks/ListViewPage-Dsoa3wEA.mjs +823 -0
  45. package/dist/_chunks/ListViewPage-Dsoa3wEA.mjs.map +1 -0
  46. package/dist/_chunks/NoContentTypePage-DCUL8gVi.js +51 -0
  47. package/dist/_chunks/NoContentTypePage-DCUL8gVi.js.map +1 -0
  48. package/dist/_chunks/NoContentTypePage-Dh38hBXB.mjs +51 -0
  49. package/dist/_chunks/NoContentTypePage-Dh38hBXB.mjs.map +1 -0
  50. package/dist/_chunks/NoPermissionsPage-BK-XCpIy.js +23 -0
  51. package/dist/_chunks/NoPermissionsPage-BK-XCpIy.js.map +1 -0
  52. package/dist/_chunks/NoPermissionsPage-Dt2O40ey.mjs +23 -0
  53. package/dist/_chunks/NoPermissionsPage-Dt2O40ey.mjs.map +1 -0
  54. package/dist/_chunks/Relations-CNypkp-g.js +712 -0
  55. package/dist/_chunks/Relations-CNypkp-g.js.map +1 -0
  56. package/dist/_chunks/Relations-DZyjWZHl.mjs +692 -0
  57. package/dist/_chunks/Relations-DZyjWZHl.mjs.map +1 -0
  58. package/dist/_chunks/ar-BUUWXIYu.js +226 -0
  59. package/dist/_chunks/ar-BUUWXIYu.js.map +1 -0
  60. package/dist/_chunks/ar-CCEVvqGG.mjs +226 -0
  61. package/dist/_chunks/ar-CCEVvqGG.mjs.map +1 -0
  62. package/dist/_chunks/ca-5U32ON2v.mjs +201 -0
  63. package/dist/_chunks/ca-5U32ON2v.mjs.map +1 -0
  64. package/dist/_chunks/ca-Cmk45QO6.js +201 -0
  65. package/dist/_chunks/ca-Cmk45QO6.js.map +1 -0
  66. package/dist/_chunks/cs-CM2aBUar.mjs +125 -0
  67. package/dist/_chunks/cs-CM2aBUar.mjs.map +1 -0
  68. package/dist/_chunks/cs-CkJy6B2v.js +125 -0
  69. package/dist/_chunks/cs-CkJy6B2v.js.map +1 -0
  70. package/dist/_chunks/de-C72KDNOl.mjs +199 -0
  71. package/dist/_chunks/de-C72KDNOl.mjs.map +1 -0
  72. package/dist/_chunks/de-CCEmbAah.js +199 -0
  73. package/dist/_chunks/de-CCEmbAah.js.map +1 -0
  74. package/dist/_chunks/en-C-V1_90f.js +285 -0
  75. package/dist/_chunks/en-C-V1_90f.js.map +1 -0
  76. package/dist/_chunks/en-MBPul9Su.mjs +285 -0
  77. package/dist/_chunks/en-MBPul9Su.mjs.map +1 -0
  78. package/dist/_chunks/es-CeXiYflN.mjs +196 -0
  79. package/dist/_chunks/es-CeXiYflN.mjs.map +1 -0
  80. package/dist/_chunks/es-EUonQTon.js +196 -0
  81. package/dist/_chunks/es-EUonQTon.js.map +1 -0
  82. package/dist/_chunks/eu-CdALomew.mjs +202 -0
  83. package/dist/_chunks/eu-CdALomew.mjs.map +1 -0
  84. package/dist/_chunks/eu-VDH-3ovk.js +202 -0
  85. package/dist/_chunks/eu-VDH-3ovk.js.map +1 -0
  86. package/dist/_chunks/fr-B7kGGg3E.js +206 -0
  87. package/dist/_chunks/fr-B7kGGg3E.js.map +1 -0
  88. package/dist/_chunks/fr-CD9VFbPM.mjs +206 -0
  89. package/dist/_chunks/fr-CD9VFbPM.mjs.map +1 -0
  90. package/dist/_chunks/gu-BRmF601H.js +200 -0
  91. package/dist/_chunks/gu-BRmF601H.js.map +1 -0
  92. package/dist/_chunks/gu-CNpaMDpH.mjs +200 -0
  93. package/dist/_chunks/gu-CNpaMDpH.mjs.map +1 -0
  94. package/dist/_chunks/hi-CCJBptSq.js +200 -0
  95. package/dist/_chunks/hi-CCJBptSq.js.map +1 -0
  96. package/dist/_chunks/hi-Dwvd04m3.mjs +200 -0
  97. package/dist/_chunks/hi-Dwvd04m3.mjs.map +1 -0
  98. package/dist/_chunks/hooks-BAaaKPS_.js +7 -0
  99. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -0
  100. package/dist/_chunks/hooks-E5u1mcgM.mjs +8 -0
  101. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +1 -0
  102. package/dist/_chunks/hu-CeYvaaO0.mjs +202 -0
  103. package/dist/_chunks/hu-CeYvaaO0.mjs.map +1 -0
  104. package/dist/_chunks/hu-sNV_yLYy.js +202 -0
  105. package/dist/_chunks/hu-sNV_yLYy.js.map +1 -0
  106. package/dist/_chunks/id-B5Ser98A.js +160 -0
  107. package/dist/_chunks/id-B5Ser98A.js.map +1 -0
  108. package/dist/_chunks/id-BtwA9WJT.mjs +160 -0
  109. package/dist/_chunks/id-BtwA9WJT.mjs.map +1 -0
  110. package/dist/_chunks/index-B3c-4it4.mjs +3188 -0
  111. package/dist/_chunks/index-B3c-4it4.mjs.map +1 -0
  112. package/dist/_chunks/index-DFK7LwDW.js +3207 -0
  113. package/dist/_chunks/index-DFK7LwDW.js.map +1 -0
  114. package/dist/_chunks/it-BrVPqaf1.mjs +162 -0
  115. package/dist/_chunks/it-BrVPqaf1.mjs.map +1 -0
  116. package/dist/_chunks/it-DkBIs7vD.js +162 -0
  117. package/dist/_chunks/it-DkBIs7vD.js.map +1 -0
  118. package/dist/_chunks/ja-CcFe8diO.js +196 -0
  119. package/dist/_chunks/ja-CcFe8diO.js.map +1 -0
  120. package/dist/_chunks/ja-CtsUxOvk.mjs +196 -0
  121. package/dist/_chunks/ja-CtsUxOvk.mjs.map +1 -0
  122. package/dist/_chunks/ko-HVQRlfUI.mjs +195 -0
  123. package/dist/_chunks/ko-HVQRlfUI.mjs.map +1 -0
  124. package/dist/_chunks/ko-woFZPmLk.js +195 -0
  125. package/dist/_chunks/ko-woFZPmLk.js.map +1 -0
  126. package/dist/_chunks/layout-B5cm7cZj.mjs +453 -0
  127. package/dist/_chunks/layout-B5cm7cZj.mjs.map +1 -0
  128. package/dist/_chunks/layout-DLih5-_W.js +471 -0
  129. package/dist/_chunks/layout-DLih5-_W.js.map +1 -0
  130. package/dist/_chunks/ml-BihZwQit.mjs +200 -0
  131. package/dist/_chunks/ml-BihZwQit.mjs.map +1 -0
  132. package/dist/_chunks/ml-C2W8N8k1.js +200 -0
  133. package/dist/_chunks/ml-C2W8N8k1.js.map +1 -0
  134. package/dist/_chunks/ms-BuFotyP_.js +144 -0
  135. package/dist/_chunks/ms-BuFotyP_.js.map +1 -0
  136. package/dist/_chunks/ms-m_WjyWx7.mjs +144 -0
  137. package/dist/_chunks/ms-m_WjyWx7.mjs.map +1 -0
  138. package/dist/_chunks/nl-D4R9gHx5.mjs +202 -0
  139. package/dist/_chunks/nl-D4R9gHx5.mjs.map +1 -0
  140. package/dist/_chunks/nl-bbEOHChV.js +202 -0
  141. package/dist/_chunks/nl-bbEOHChV.js.map +1 -0
  142. package/dist/_chunks/objects-gigeqt7s.js +49 -0
  143. package/dist/_chunks/objects-gigeqt7s.js.map +1 -0
  144. package/dist/_chunks/objects-mKMAmfec.mjs +47 -0
  145. package/dist/_chunks/objects-mKMAmfec.mjs.map +1 -0
  146. package/dist/_chunks/pl-sbx9mSt_.mjs +199 -0
  147. package/dist/_chunks/pl-sbx9mSt_.mjs.map +1 -0
  148. package/dist/_chunks/pl-uzwG-hk7.js +199 -0
  149. package/dist/_chunks/pl-uzwG-hk7.js.map +1 -0
  150. package/dist/_chunks/pt-BR-BiOz37D9.js +201 -0
  151. package/dist/_chunks/pt-BR-BiOz37D9.js.map +1 -0
  152. package/dist/_chunks/pt-BR-C71iDxnh.mjs +201 -0
  153. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +1 -0
  154. package/dist/_chunks/pt-BsaFvS8-.mjs +95 -0
  155. package/dist/_chunks/pt-BsaFvS8-.mjs.map +1 -0
  156. package/dist/_chunks/pt-CeXQuq50.js +95 -0
  157. package/dist/_chunks/pt-CeXQuq50.js.map +1 -0
  158. package/dist/_chunks/relations-BZkrMa2z.mjs +135 -0
  159. package/dist/_chunks/relations-BZkrMa2z.mjs.map +1 -0
  160. package/dist/_chunks/relations-CTvkuINQ.js +134 -0
  161. package/dist/_chunks/relations-CTvkuINQ.js.map +1 -0
  162. package/dist/_chunks/ru-BE6A4Exp.mjs +231 -0
  163. package/dist/_chunks/ru-BE6A4Exp.mjs.map +1 -0
  164. package/dist/_chunks/ru-BT3ybNny.js +231 -0
  165. package/dist/_chunks/ru-BT3ybNny.js.map +1 -0
  166. package/dist/_chunks/sa-CcvkYInH.js +200 -0
  167. package/dist/_chunks/sa-CcvkYInH.js.map +1 -0
  168. package/dist/_chunks/sa-Dag0k-Z8.mjs +200 -0
  169. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +1 -0
  170. package/dist/_chunks/sk-BFg-R8qJ.mjs +202 -0
  171. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +1 -0
  172. package/dist/_chunks/sk-CvY09Xjv.js +202 -0
  173. package/dist/_chunks/sk-CvY09Xjv.js.map +1 -0
  174. package/dist/_chunks/sv-CUnfWGsh.mjs +202 -0
  175. package/dist/_chunks/sv-CUnfWGsh.mjs.map +1 -0
  176. package/dist/_chunks/sv-MYDuzgvT.js +202 -0
  177. package/dist/_chunks/sv-MYDuzgvT.js.map +1 -0
  178. package/dist/_chunks/th-BqbI8lIT.mjs +148 -0
  179. package/dist/_chunks/th-BqbI8lIT.mjs.map +1 -0
  180. package/dist/_chunks/th-D9_GfAjc.js +148 -0
  181. package/dist/_chunks/th-D9_GfAjc.js.map +1 -0
  182. package/dist/_chunks/tr-CgeK3wJM.mjs +199 -0
  183. package/dist/_chunks/tr-CgeK3wJM.mjs.map +1 -0
  184. package/dist/_chunks/tr-D9UH-O_R.js +199 -0
  185. package/dist/_chunks/tr-D9UH-O_R.js.map +1 -0
  186. package/dist/_chunks/uk-C8EiqJY7.js +144 -0
  187. package/dist/_chunks/uk-C8EiqJY7.js.map +1 -0
  188. package/dist/_chunks/uk-CR-zDhAY.mjs +144 -0
  189. package/dist/_chunks/uk-CR-zDhAY.mjs.map +1 -0
  190. package/dist/_chunks/urls-CbOsUOoW.mjs +7 -0
  191. package/dist/_chunks/urls-CbOsUOoW.mjs.map +1 -0
  192. package/dist/_chunks/urls-DzZya_gm.js +6 -0
  193. package/dist/_chunks/urls-DzZya_gm.js.map +1 -0
  194. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +231 -0
  195. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +1 -0
  196. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +249 -0
  197. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +1 -0
  198. package/dist/_chunks/vi-CJlYDheJ.js +111 -0
  199. package/dist/_chunks/vi-CJlYDheJ.js.map +1 -0
  200. package/dist/_chunks/vi-DUXIk_fw.mjs +111 -0
  201. package/dist/_chunks/vi-DUXIk_fw.mjs.map +1 -0
  202. package/dist/_chunks/zh-BWZspA60.mjs +209 -0
  203. package/dist/_chunks/zh-BWZspA60.mjs.map +1 -0
  204. package/dist/_chunks/zh-CQQfszqR.js +209 -0
  205. package/dist/_chunks/zh-CQQfszqR.js.map +1 -0
  206. package/dist/_chunks/zh-Hans-9kOncHGw.js +952 -0
  207. package/dist/_chunks/zh-Hans-9kOncHGw.js.map +1 -0
  208. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +952 -0
  209. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs.map +1 -0
  210. package/dist/admin/index.js +11 -0
  211. package/dist/admin/index.js.map +1 -0
  212. package/dist/admin/index.mjs +11 -0
  213. package/dist/admin/index.mjs.map +1 -0
  214. package/dist/admin/src/components/ComponentIcon.d.ts +8 -0
  215. package/dist/admin/src/components/ConfigurationForm/EditFieldForm.d.ts +9 -0
  216. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +21 -0
  217. package/dist/admin/src/components/ConfigurationForm/Form.d.ts +32 -0
  218. package/dist/admin/src/components/DragLayer.d.ts +13 -0
  219. package/dist/admin/src/components/DragPreviews/CardDragPreview.d.ts +7 -0
  220. package/dist/admin/src/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
  221. package/dist/admin/src/components/DragPreviews/RelationDragPreview.d.ts +11 -0
  222. package/dist/admin/src/components/FieldTypeIcon.d.ts +9 -0
  223. package/dist/admin/src/components/InjectionZone.d.ts +45 -0
  224. package/dist/admin/src/components/LeftMenu.d.ts +2 -0
  225. package/dist/admin/src/components/RelativeTime.d.ts +28 -0
  226. package/dist/admin/src/constants/attributes.d.ts +14 -0
  227. package/dist/admin/src/constants/collections.d.ts +3 -0
  228. package/dist/admin/src/constants/dragAndDrop.d.ts +8 -0
  229. package/dist/admin/src/constants/hooks.d.ts +26 -0
  230. package/dist/admin/src/constants/plugin.d.ts +3 -0
  231. package/dist/admin/src/content-manager.d.ts +133 -0
  232. package/dist/admin/src/exports.d.ts +11 -0
  233. package/dist/admin/src/features/DocumentRBAC.d.ts +36 -0
  234. package/dist/admin/src/history/components/HistoryAction.d.ts +3 -0
  235. package/dist/admin/src/history/components/VersionContent.d.ts +17 -0
  236. package/dist/admin/src/history/components/VersionHeader.d.ts +5 -0
  237. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +19 -0
  238. package/dist/admin/src/history/components/VersionsList.d.ts +2 -0
  239. package/dist/admin/src/history/pages/History.d.ts +27 -0
  240. package/dist/admin/src/history/routes.d.ts +6 -0
  241. package/dist/admin/src/history/services/historyVersion.d.ts +12 -0
  242. package/dist/admin/src/hooks/useContentManagerInitData.d.ts +15 -0
  243. package/dist/admin/src/hooks/useContentTypeSchema.d.ts +25 -0
  244. package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
  245. package/dist/admin/src/hooks/useDocument.d.ts +90 -0
  246. package/dist/admin/src/hooks/useDocumentActions.d.ts +102 -0
  247. package/dist/admin/src/hooks/useDocumentLayout.d.ts +137 -0
  248. package/dist/admin/src/hooks/useDragAndDrop.d.ts +51 -0
  249. package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +14 -0
  250. package/dist/admin/src/hooks/useLazyComponents.d.ts +13 -0
  251. package/dist/admin/src/hooks/useOnce.d.ts +2 -0
  252. package/dist/admin/src/hooks/usePrev.d.ts +1 -0
  253. package/dist/admin/src/index.d.ts +16 -0
  254. package/dist/admin/src/layout.d.ts +2 -0
  255. package/dist/admin/src/modules/app.d.ts +20 -0
  256. package/dist/admin/src/modules/hooks.d.ts +10 -0
  257. package/dist/admin/src/modules/reducers.d.ts +6 -0
  258. package/dist/admin/src/pages/ComponentConfigurationPage.d.ts +3 -0
  259. package/dist/admin/src/pages/EditConfigurationPage.d.ts +3 -0
  260. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +3 -0
  261. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +69 -0
  262. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +16 -0
  263. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +3 -0
  264. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.d.ts +3 -0
  265. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +3 -0
  266. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.d.ts +3 -0
  267. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.d.ts +3 -0
  268. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.d.ts +3 -0
  269. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.d.ts +3 -0
  270. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.d.ts +6 -0
  271. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +61 -0
  272. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +11 -0
  273. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.d.ts +10 -0
  274. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +10 -0
  275. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.d.ts +16 -0
  276. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.d.ts +11 -0
  277. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.d.ts +9 -0
  278. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
  279. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +13 -0
  280. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +6 -0
  281. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +10 -0
  282. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +10 -0
  283. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
  284. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +18 -0
  285. package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +5 -0
  286. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +5 -0
  287. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +42 -0
  288. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +11 -0
  289. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
  290. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +17 -0
  291. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +9 -0
  292. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +14 -0
  293. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
  294. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +14 -0
  295. package/dist/admin/src/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
  296. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +31 -0
  297. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +9 -0
  298. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +17 -0
  299. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +14 -0
  300. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
  301. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
  302. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +7 -0
  303. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +17 -0
  304. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +49 -0
  305. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +5 -0
  306. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +4 -0
  307. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +16 -0
  308. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +5 -0
  309. package/dist/admin/src/pages/EditView/components/Header.d.ts +35 -0
  310. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +17 -0
  311. package/dist/admin/src/pages/EditView/components/Panels.d.ts +10 -0
  312. package/dist/admin/src/pages/EditView/utils/data.d.ts +33 -0
  313. package/dist/admin/src/pages/EditView/utils/forms.d.ts +9 -0
  314. package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
  315. package/dist/admin/src/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
  316. package/dist/admin/src/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
  317. package/dist/admin/src/pages/ListConfiguration/components/Header.d.ts +8 -0
  318. package/dist/admin/src/pages/ListConfiguration/components/Settings.d.ts +19 -0
  319. package/dist/admin/src/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
  320. package/dist/admin/src/pages/ListView/ListViewPage.d.ts +3 -0
  321. package/dist/admin/src/pages/ListView/components/AutoCloneFailureModal.d.ts +7 -0
  322. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +51 -0
  323. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
  324. package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +31 -0
  325. package/dist/admin/src/pages/ListView/components/Filters.d.ts +8 -0
  326. package/dist/admin/src/pages/ListView/components/TableActions.d.ts +8 -0
  327. package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +9 -0
  328. package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +8 -0
  329. package/dist/admin/src/pages/ListView/components/TableCells/Components.d.ts +12 -0
  330. package/dist/admin/src/pages/ListView/components/TableCells/Media.d.ts +23 -0
  331. package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +12 -0
  332. package/dist/admin/src/pages/ListView/components/ViewSettingsMenu.d.ts +10 -0
  333. package/dist/admin/src/pages/NoContentTypePage.d.ts +2 -0
  334. package/dist/admin/src/pages/NoPermissionsPage.d.ts +2 -0
  335. package/dist/admin/src/router.d.ts +5 -0
  336. package/dist/admin/src/services/api.d.ts +3 -0
  337. package/dist/admin/src/services/components.d.ts +5 -0
  338. package/dist/admin/src/services/contentTypes.d.ts +17 -0
  339. package/dist/admin/src/services/documents.d.ts +89 -0
  340. package/dist/admin/src/services/init.d.ts +9 -0
  341. package/dist/admin/src/services/relations.d.ts +49 -0
  342. package/dist/admin/src/services/uid.d.ts +32 -0
  343. package/dist/admin/src/utils/api.d.ts +37 -0
  344. package/dist/admin/src/utils/attributes.d.ts +19 -0
  345. package/dist/admin/src/utils/objects.d.ts +33 -0
  346. package/dist/admin/src/utils/relations.d.ts +12 -0
  347. package/dist/admin/src/utils/strings.d.ts +2 -0
  348. package/dist/admin/src/utils/translations.d.ts +4 -0
  349. package/dist/admin/src/utils/urls.d.ts +2 -0
  350. package/dist/admin/src/utils/users.d.ts +6 -0
  351. package/dist/admin/src/utils/validation.d.ts +12 -0
  352. package/dist/server/index.js +4244 -0
  353. package/dist/server/index.js.map +1 -0
  354. package/dist/server/index.mjs +4220 -0
  355. package/dist/server/index.mjs.map +1 -0
  356. package/dist/server/src/bootstrap.d.ts +3 -0
  357. package/dist/server/src/bootstrap.d.ts.map +1 -0
  358. package/dist/server/src/config.d.ts +6 -0
  359. package/dist/server/src/config.d.ts.map +1 -0
  360. package/dist/server/src/constants/index.d.ts +6 -0
  361. package/dist/server/src/constants/index.d.ts.map +1 -0
  362. package/dist/server/src/controllers/collection-types.d.ts +23 -0
  363. package/dist/server/src/controllers/collection-types.d.ts.map +1 -0
  364. package/dist/server/src/controllers/components.d.ts +7 -0
  365. package/dist/server/src/controllers/components.d.ts.map +1 -0
  366. package/dist/server/src/controllers/content-types.d.ts +8 -0
  367. package/dist/server/src/controllers/content-types.d.ts.map +1 -0
  368. package/dist/server/src/controllers/index.d.ts +53 -0
  369. package/dist/server/src/controllers/index.d.ts.map +1 -0
  370. package/dist/server/src/controllers/init.d.ts +5 -0
  371. package/dist/server/src/controllers/init.d.ts.map +1 -0
  372. package/dist/server/src/controllers/relations.d.ts +13 -0
  373. package/dist/server/src/controllers/relations.d.ts.map +1 -0
  374. package/dist/server/src/controllers/single-types.d.ts +11 -0
  375. package/dist/server/src/controllers/single-types.d.ts.map +1 -0
  376. package/dist/server/src/controllers/uid.d.ts +6 -0
  377. package/dist/server/src/controllers/uid.d.ts.map +1 -0
  378. package/dist/server/src/controllers/utils/clone.d.ts +12 -0
  379. package/dist/server/src/controllers/utils/clone.d.ts.map +1 -0
  380. package/dist/server/src/controllers/utils/dimensions.d.ts +5 -0
  381. package/dist/server/src/controllers/utils/dimensions.d.ts.map +1 -0
  382. package/dist/server/src/controllers/validation/index.d.ts +20 -0
  383. package/dist/server/src/controllers/validation/index.d.ts.map +1 -0
  384. package/dist/server/src/controllers/validation/model-configuration.d.ts +22 -0
  385. package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -0
  386. package/dist/server/src/controllers/validation/relations.d.ts +4 -0
  387. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
  388. package/dist/server/src/destroy.d.ts +4 -0
  389. package/dist/server/src/destroy.d.ts.map +1 -0
  390. package/dist/server/src/history/constants.d.ts +3 -0
  391. package/dist/server/src/history/constants.d.ts.map +1 -0
  392. package/dist/server/src/history/controllers/history-version.d.ts +19 -0
  393. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -0
  394. package/dist/server/src/history/controllers/index.d.ts +2 -0
  395. package/dist/server/src/history/controllers/index.d.ts.map +1 -0
  396. package/dist/server/src/history/controllers/validation/history-version.d.ts +2 -0
  397. package/dist/server/src/history/controllers/validation/history-version.d.ts.map +1 -0
  398. package/dist/server/src/history/index.d.ts +4 -0
  399. package/dist/server/src/history/index.d.ts.map +1 -0
  400. package/dist/server/src/history/models/history-version.d.ts +4 -0
  401. package/dist/server/src/history/models/history-version.d.ts.map +1 -0
  402. package/dist/server/src/history/routes/history-version.d.ts +4 -0
  403. package/dist/server/src/history/routes/history-version.d.ts.map +1 -0
  404. package/dist/server/src/history/routes/index.d.ts +8 -0
  405. package/dist/server/src/history/routes/index.d.ts.map +1 -0
  406. package/dist/server/src/history/services/history.d.ts +16 -0
  407. package/dist/server/src/history/services/history.d.ts.map +1 -0
  408. package/dist/server/src/history/services/index.d.ts +19 -0
  409. package/dist/server/src/history/services/index.d.ts.map +1 -0
  410. package/dist/server/src/history/services/lifecycles.d.ts +9 -0
  411. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
  412. package/dist/server/src/history/services/utils.d.ts +44 -0
  413. package/dist/server/src/history/services/utils.d.ts.map +1 -0
  414. package/dist/server/src/history/utils.d.ts +22 -0
  415. package/dist/server/src/history/utils.d.ts.map +1 -0
  416. package/dist/server/src/index.d.ts +374 -0
  417. package/dist/server/src/index.d.ts.map +1 -0
  418. package/dist/server/src/middlewares/index.d.ts +3 -0
  419. package/dist/server/src/middlewares/index.d.ts.map +1 -0
  420. package/dist/server/src/middlewares/routing.d.ts +4 -0
  421. package/dist/server/src/middlewares/routing.d.ts.map +1 -0
  422. package/dist/server/src/policies/hasPermissions.d.ts +7 -0
  423. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
  424. package/dist/server/src/policies/index.d.ts +9 -0
  425. package/dist/server/src/policies/index.d.ts.map +1 -0
  426. package/dist/server/src/register.d.ts +4 -0
  427. package/dist/server/src/register.d.ts.map +1 -0
  428. package/dist/server/src/routes/admin.d.ts +41 -0
  429. package/dist/server/src/routes/admin.d.ts.map +1 -0
  430. package/dist/server/src/routes/index.d.ts +43 -0
  431. package/dist/server/src/routes/index.d.ts.map +1 -0
  432. package/dist/server/src/services/components.d.ts +32 -0
  433. package/dist/server/src/services/components.d.ts.map +1 -0
  434. package/dist/server/src/services/configuration.d.ts +20 -0
  435. package/dist/server/src/services/configuration.d.ts.map +1 -0
  436. package/dist/server/src/services/content-types.d.ts +18 -0
  437. package/dist/server/src/services/content-types.d.ts.map +1 -0
  438. package/dist/server/src/services/data-mapper.d.ts +20 -0
  439. package/dist/server/src/services/data-mapper.d.ts.map +1 -0
  440. package/dist/server/src/services/document-manager.d.ts +48 -0
  441. package/dist/server/src/services/document-manager.d.ts.map +1 -0
  442. package/dist/server/src/services/document-metadata.d.ts +88 -0
  443. package/dist/server/src/services/document-metadata.d.ts.map +1 -0
  444. package/dist/server/src/services/field-sizes.d.ts +19 -0
  445. package/dist/server/src/services/field-sizes.d.ts.map +1 -0
  446. package/dist/server/src/services/index.d.ts +266 -0
  447. package/dist/server/src/services/index.d.ts.map +1 -0
  448. package/dist/server/src/services/metrics.d.ts +9 -0
  449. package/dist/server/src/services/metrics.d.ts.map +1 -0
  450. package/dist/server/src/services/permission-checker.d.ts +54 -0
  451. package/dist/server/src/services/permission-checker.d.ts.map +1 -0
  452. package/dist/server/src/services/permission.d.ts +12 -0
  453. package/dist/server/src/services/permission.d.ts.map +1 -0
  454. package/dist/server/src/services/populate-builder.d.ts +30 -0
  455. package/dist/server/src/services/populate-builder.d.ts.map +1 -0
  456. package/dist/server/src/services/uid.d.ts +25 -0
  457. package/dist/server/src/services/uid.d.ts.map +1 -0
  458. package/dist/server/src/services/utils/configuration/attributes.d.ts +17 -0
  459. package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -0
  460. package/dist/server/src/services/utils/configuration/index.d.ts +21 -0
  461. package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -0
  462. package/dist/server/src/services/utils/configuration/layouts.d.ts +14 -0
  463. package/dist/server/src/services/utils/configuration/layouts.d.ts.map +1 -0
  464. package/dist/server/src/services/utils/configuration/metadatas.d.ts +5 -0
  465. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -0
  466. package/dist/server/src/services/utils/configuration/settings.d.ts +5 -0
  467. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -0
  468. package/dist/server/src/services/utils/count.d.ts +5 -0
  469. package/dist/server/src/services/utils/count.d.ts.map +1 -0
  470. package/dist/server/src/services/utils/draft.d.ts +11 -0
  471. package/dist/server/src/services/utils/draft.d.ts.map +1 -0
  472. package/dist/server/src/services/utils/populate.d.ts +35 -0
  473. package/dist/server/src/services/utils/populate.d.ts.map +1 -0
  474. package/dist/server/src/services/utils/store.d.ts +16 -0
  475. package/dist/server/src/services/utils/store.d.ts.map +1 -0
  476. package/dist/server/src/utils/index.d.ts +9 -0
  477. package/dist/server/src/utils/index.d.ts.map +1 -0
  478. package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -0
  479. package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
  480. package/dist/shared/contracts/collection-types.d.ts +330 -0
  481. package/dist/shared/contracts/collection-types.d.ts.map +1 -0
  482. package/dist/shared/contracts/components.d.ts +65 -0
  483. package/dist/shared/contracts/components.d.ts.map +1 -0
  484. package/dist/shared/contracts/content-types.d.ts +113 -0
  485. package/dist/shared/contracts/content-types.d.ts.map +1 -0
  486. package/dist/shared/contracts/history-versions.d.ts +92 -0
  487. package/dist/shared/contracts/history-versions.d.ts.map +1 -0
  488. package/dist/shared/contracts/index.d.ts +10 -0
  489. package/dist/shared/contracts/index.d.ts.map +1 -0
  490. package/dist/shared/contracts/init.d.ts +24 -0
  491. package/dist/shared/contracts/init.d.ts.map +1 -0
  492. package/dist/shared/contracts/relations.d.ts +70 -0
  493. package/dist/shared/contracts/relations.d.ts.map +1 -0
  494. package/dist/shared/contracts/review-workflows.d.ts +78 -0
  495. package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
  496. package/dist/shared/contracts/single-types.d.ts +113 -0
  497. package/dist/shared/contracts/single-types.d.ts.map +1 -0
  498. package/dist/shared/contracts/uid.d.ts +48 -0
  499. package/dist/shared/contracts/uid.d.ts.map +1 -0
  500. package/dist/shared/index.d.ts +2 -0
  501. package/dist/shared/index.d.ts.map +1 -0
  502. package/dist/shared/index.js +43 -0
  503. package/dist/shared/index.js.map +1 -0
  504. package/dist/shared/index.mjs +43 -0
  505. package/dist/shared/index.mjs.map +1 -0
  506. package/package.json +113 -2
  507. package/strapi-server.js +3 -0
@@ -0,0 +1,471 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const strapiAdmin = require("@strapi/admin/strapi-admin");
6
+ const reactIntl = require("react-intl");
7
+ const reactRouterDom = require("react-router-dom");
8
+ const designSystem = require("@strapi/design-system");
9
+ const reactDnd = require("react-dnd");
10
+ const CardDragPreview = require("./CardDragPreview-C0QyJgRA.js");
11
+ const Icons = require("@strapi/icons");
12
+ const styledComponents = require("styled-components");
13
+ const index = require("./index-DFK7LwDW.js");
14
+ const Relations = require("./Relations-CNypkp-g.js");
15
+ const qs = require("qs");
16
+ const hooks = require("./hooks-BAaaKPS_.js");
17
+ const useDragAndDrop = require("./useDragAndDrop-J0TUUbR6.js");
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule)
20
+ return e;
21
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
22
+ if (e) {
23
+ for (const k in e) {
24
+ if (k !== "default") {
25
+ const d = Object.getOwnPropertyDescriptor(e, k);
26
+ Object.defineProperty(n, k, d.get ? d : {
27
+ enumerable: true,
28
+ get: () => e[k]
29
+ });
30
+ }
31
+ }
32
+ }
33
+ n.default = e;
34
+ return Object.freeze(n);
35
+ }
36
+ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
37
+ function getStyle(initialOffset, currentOffset, mouseOffset) {
38
+ if (!initialOffset || !currentOffset || !mouseOffset) {
39
+ return { display: "none" };
40
+ }
41
+ const { x, y } = mouseOffset;
42
+ return {
43
+ transform: `translate(${x}px, ${y}px)`
44
+ };
45
+ }
46
+ const DragLayer = ({ renderItem }) => {
47
+ const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = reactDnd.useDragLayer(
48
+ (monitor) => ({
49
+ item: monitor.getItem(),
50
+ itemType: monitor.getItemType(),
51
+ initialOffset: monitor.getInitialSourceClientOffset(),
52
+ currentOffset: monitor.getSourceClientOffset(),
53
+ isDragging: monitor.isDragging(),
54
+ mouseOffset: monitor.getClientOffset()
55
+ })
56
+ );
57
+ if (!isDragging) {
58
+ return null;
59
+ }
60
+ return /* @__PURE__ */ jsxRuntime.jsx(
61
+ designSystem.Box,
62
+ {
63
+ height: "100%",
64
+ left: 0,
65
+ position: "fixed",
66
+ pointerEvents: "none",
67
+ top: 0,
68
+ zIndex: 100,
69
+ width: "100%",
70
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: renderItem({ type: itemType, item }) })
71
+ }
72
+ );
73
+ };
74
+ const ComponentDragPreview = ({ displayedValue }) => {
75
+ return /* @__PURE__ */ jsxRuntime.jsxs(
76
+ designSystem.Flex,
77
+ {
78
+ background: "neutral0",
79
+ borderColor: "neutral200",
80
+ justifyContent: "space-between",
81
+ gap: 3,
82
+ padding: 3,
83
+ width: "30rem",
84
+ children: [
85
+ /* @__PURE__ */ jsxRuntime.jsx(ToggleButton, { type: "button", children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 6, children: [
86
+ /* @__PURE__ */ jsxRuntime.jsx(
87
+ DropdownIconWrapper,
88
+ {
89
+ alignItems: "center",
90
+ justifyContent: "center",
91
+ background: "neutral200",
92
+ height: "3.2rem",
93
+ width: "3.2rem",
94
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.CaretDown, {})
95
+ }
96
+ ),
97
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { maxWidth: "15rem", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral700", ellipsis: true, children: displayedValue }) })
98
+ ] }) }),
99
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
100
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { "aria-label": "", borderWidth: 0, children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Trash, {}) }),
101
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { "aria-label": "", borderWidth: 0, children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, {}) })
102
+ ] })
103
+ ]
104
+ }
105
+ );
106
+ };
107
+ const DropdownIconWrapper = styledComponents.styled(designSystem.Flex)`
108
+ border-radius: 50%;
109
+
110
+ svg {
111
+ height: 0.6rem;
112
+ width: 1.1rem;
113
+ > path {
114
+ fill: ${({ theme }) => theme.colors.neutral600};
115
+ }
116
+ }
117
+ `;
118
+ const ToggleButton = styledComponents.styled.button`
119
+ border: none;
120
+ background: transparent;
121
+ display: block;
122
+ width: 100%;
123
+ text-align: unset;
124
+ padding: 0;
125
+ `;
126
+ const RelationDragPreview = ({ status, displayedValue, width }) => {
127
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { style: { width }, children: /* @__PURE__ */ jsxRuntime.jsxs(
128
+ designSystem.Flex,
129
+ {
130
+ paddingTop: 2,
131
+ paddingBottom: 2,
132
+ paddingLeft: 2,
133
+ paddingRight: 4,
134
+ hasRadius: true,
135
+ borderWidth: 1,
136
+ background: "neutral0",
137
+ borderColor: "neutral200",
138
+ justifyContent: "space-between",
139
+ gap: 4,
140
+ children: [
141
+ /* @__PURE__ */ jsxRuntime.jsxs(Relations.FlexWrapper, { gap: 1, children: [
142
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.IconButton, { "aria-label": "", borderWidth: 0, children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Drag, {}) }),
143
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", minWidth: 0, justifyContent: "space-between", children: [
144
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsxRuntime.jsx(Relations.LinkEllipsis, { href: "", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", ellipsis: true, children: displayedValue }) }) }),
145
+ status ? /* @__PURE__ */ jsxRuntime.jsx(index.DocumentStatus, { status }) : null
146
+ ] })
147
+ ] }),
148
+ /* @__PURE__ */ jsxRuntime.jsx(Relations.DisconnectButton, { type: "button", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Cross, { width: "12px" }) })
149
+ ]
150
+ }
151
+ ) });
152
+ };
153
+ const LeftMenu = () => {
154
+ const [search, setSearch] = React__namespace.useState("");
155
+ const [{ query }] = strapiAdmin.useQueryParams();
156
+ const { formatMessage, locale } = reactIntl.useIntl();
157
+ const collectionTypeLinks = hooks.useTypedSelector(
158
+ (state) => state["content-manager"].app.collectionTypeLinks
159
+ );
160
+ const singleTypeLinks = hooks.useTypedSelector((state) => state["content-manager"].app.singleTypeLinks);
161
+ const { startsWith } = designSystem.useFilter(locale, {
162
+ sensitivity: "base"
163
+ });
164
+ const formatter = designSystem.useCollator(locale, {
165
+ sensitivity: "base"
166
+ });
167
+ const menu = React__namespace.useMemo(
168
+ () => [
169
+ {
170
+ id: "collectionTypes",
171
+ title: formatMessage({
172
+ id: index.getTranslation("components.LeftMenu.collection-types"),
173
+ defaultMessage: "Collection Types"
174
+ }),
175
+ searchable: true,
176
+ links: collectionTypeLinks
177
+ },
178
+ {
179
+ id: "singleTypes",
180
+ title: formatMessage({
181
+ id: index.getTranslation("components.LeftMenu.single-types"),
182
+ defaultMessage: "Single Types"
183
+ }),
184
+ searchable: true,
185
+ links: singleTypeLinks
186
+ }
187
+ ].map((section) => ({
188
+ ...section,
189
+ links: section.links.filter((link) => startsWith(link.title, search)).sort((a, b) => formatter.compare(a.title, b.title)).map((link) => {
190
+ return {
191
+ ...link,
192
+ title: formatMessage({ id: link.title, defaultMessage: link.title })
193
+ };
194
+ })
195
+ })),
196
+ [collectionTypeLinks, search, singleTypeLinks, startsWith, formatMessage, formatter]
197
+ );
198
+ const handleClear = () => {
199
+ setSearch("");
200
+ };
201
+ const handleChangeSearch = ({ target: { value } }) => {
202
+ setSearch(value);
203
+ };
204
+ const label = formatMessage({
205
+ id: index.getTranslation("header.name"),
206
+ defaultMessage: "Content"
207
+ });
208
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.SubNav, { "aria-label": label, children: [
209
+ /* @__PURE__ */ jsxRuntime.jsx(
210
+ designSystem.SubNavHeader,
211
+ {
212
+ label,
213
+ searchable: true,
214
+ value: search,
215
+ onChange: handleChangeSearch,
216
+ onClear: handleClear,
217
+ searchLabel: formatMessage({
218
+ id: "content-manager.components.LeftMenu.Search.label",
219
+ defaultMessage: "Search for a content type"
220
+ })
221
+ }
222
+ ),
223
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.SubNavSections, { children: menu.map((section) => {
224
+ return /* @__PURE__ */ jsxRuntime.jsx(
225
+ designSystem.SubNavSection,
226
+ {
227
+ label: section.title,
228
+ badgeLabel: section.links.length.toString(),
229
+ children: section.links.map((link) => {
230
+ return /* @__PURE__ */ jsxRuntime.jsx(
231
+ designSystem.SubNavLink,
232
+ {
233
+ tag: reactRouterDom.NavLink,
234
+ to: {
235
+ pathname: link.to,
236
+ /**
237
+ * We re-add the plugins query to the params available in the menu,
238
+ * this means once you've changed the locale in the app, you continue
239
+ * to see the same locale when changing content-type.
240
+ *
241
+ * NOTE: if you go to a content-type that does not have i18n enabled,
242
+ * we return the default documents anyway.
243
+ */
244
+ search: qs.stringify({
245
+ ...qs.parse(link.search ?? ""),
246
+ plugins: query.plugins
247
+ })
248
+ },
249
+ children: link.title
250
+ },
251
+ link.uid
252
+ );
253
+ })
254
+ },
255
+ section.id
256
+ );
257
+ }) })
258
+ ] });
259
+ };
260
+ const { MUTATE_COLLECTION_TYPES_LINKS, MUTATE_SINGLE_TYPES_LINKS } = index.HOOKS;
261
+ const useContentManagerInitData = () => {
262
+ const { toggleNotification } = strapiAdmin.useNotification();
263
+ const dispatch = hooks.useTypedDispatch();
264
+ const runHookWaterfall = strapiAdmin.useStrapiApp(
265
+ "useContentManagerInitData",
266
+ (state2) => state2.runHookWaterfall
267
+ );
268
+ const { notifyStatus } = designSystem.useNotifyAT();
269
+ const { formatMessage } = reactIntl.useIntl();
270
+ const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler(index.getTranslation);
271
+ const checkUserHasPermissions = strapiAdmin.useAuth(
272
+ "useContentManagerInitData",
273
+ (state2) => state2.checkUserHasPermissions
274
+ );
275
+ const state = hooks.useTypedSelector((state2) => state2["content-manager"].app);
276
+ const initialDataQuery = index.useGetInitialDataQuery(void 0, {
277
+ /**
278
+ * TODO: remove this when the CTB has been refactored to use redux-toolkit-query
279
+ * and it can invalidate the cache on mutation
280
+ */
281
+ refetchOnMountOrArgChange: true
282
+ });
283
+ React.useEffect(() => {
284
+ if (initialDataQuery.data) {
285
+ notifyStatus(
286
+ formatMessage({
287
+ id: index.getTranslation("App.schemas.data-loaded"),
288
+ defaultMessage: "The schemas have been successfully loaded."
289
+ })
290
+ );
291
+ }
292
+ }, [formatMessage, initialDataQuery.data, notifyStatus]);
293
+ React.useEffect(() => {
294
+ if (initialDataQuery.error) {
295
+ toggleNotification({ type: "danger", message: formatAPIError(initialDataQuery.error) });
296
+ }
297
+ }, [formatAPIError, initialDataQuery.error, toggleNotification]);
298
+ const contentTypeSettingsQuery = index.useGetAllContentTypeSettingsQuery();
299
+ React.useEffect(() => {
300
+ if (contentTypeSettingsQuery.error) {
301
+ toggleNotification({
302
+ type: "danger",
303
+ message: formatAPIError(contentTypeSettingsQuery.error)
304
+ });
305
+ }
306
+ }, [formatAPIError, contentTypeSettingsQuery.error, toggleNotification]);
307
+ const formatData = async (components, contentTypes, fieldSizes, contentTypeConfigurations) => {
308
+ const { collectionType: collectionTypeLinks, singleType: singleTypeLinks } = contentTypes.reduce(
309
+ (acc, model) => {
310
+ acc[model.kind].push(model);
311
+ return acc;
312
+ },
313
+ {
314
+ collectionType: [],
315
+ singleType: []
316
+ }
317
+ );
318
+ const collectionTypeSectionLinks = generateLinks(
319
+ collectionTypeLinks,
320
+ "collectionTypes",
321
+ contentTypeConfigurations
322
+ );
323
+ const singleTypeSectionLinks = generateLinks(singleTypeLinks, "singleTypes");
324
+ const collectionTypeLinksPermissions = await Promise.all(
325
+ collectionTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))
326
+ );
327
+ const authorizedCollectionTypeLinks = collectionTypeSectionLinks.filter(
328
+ (_, index2) => collectionTypeLinksPermissions[index2]
329
+ );
330
+ const singleTypeLinksPermissions = await Promise.all(
331
+ singleTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))
332
+ );
333
+ const authorizedSingleTypeLinks = singleTypeSectionLinks.filter(
334
+ (_, index2) => singleTypeLinksPermissions[index2]
335
+ );
336
+ const { ctLinks } = runHookWaterfall(MUTATE_COLLECTION_TYPES_LINKS, {
337
+ ctLinks: authorizedCollectionTypeLinks,
338
+ models: contentTypes
339
+ });
340
+ const { stLinks } = runHookWaterfall(MUTATE_SINGLE_TYPES_LINKS, {
341
+ stLinks: authorizedSingleTypeLinks,
342
+ models: contentTypes
343
+ });
344
+ dispatch(
345
+ index.setInitialData({
346
+ authorizedCollectionTypeLinks: ctLinks,
347
+ authorizedSingleTypeLinks: stLinks,
348
+ components,
349
+ contentTypeSchemas: contentTypes,
350
+ fieldSizes
351
+ })
352
+ );
353
+ };
354
+ React.useEffect(() => {
355
+ if (initialDataQuery.data && contentTypeSettingsQuery.data) {
356
+ formatData(
357
+ initialDataQuery.data.components,
358
+ initialDataQuery.data.contentTypes,
359
+ initialDataQuery.data.fieldSizes,
360
+ contentTypeSettingsQuery.data
361
+ );
362
+ }
363
+ }, [initialDataQuery.data, contentTypeSettingsQuery.data]);
364
+ return { ...state };
365
+ };
366
+ const generateLinks = (links, type, configurations = []) => {
367
+ return links.filter((link) => link.isDisplayed).map((link) => {
368
+ const collectionTypesPermissions = [
369
+ { action: "plugin::content-manager.explorer.create", subject: link.uid },
370
+ { action: "plugin::content-manager.explorer.read", subject: link.uid }
371
+ ];
372
+ const singleTypesPermissions = [
373
+ { action: "plugin::content-manager.explorer.read", subject: link.uid }
374
+ ];
375
+ const permissions = type === "collectionTypes" ? collectionTypesPermissions : singleTypesPermissions;
376
+ const currentContentTypeConfig = configurations.find(({ uid }) => uid === link.uid);
377
+ let search = null;
378
+ if (currentContentTypeConfig) {
379
+ const searchParams = {
380
+ page: 1,
381
+ pageSize: currentContentTypeConfig.settings.pageSize,
382
+ sort: `${currentContentTypeConfig.settings.defaultSortBy}:${currentContentTypeConfig.settings.defaultSortOrder}`
383
+ };
384
+ search = qs.stringify(searchParams, { encode: false });
385
+ }
386
+ return {
387
+ permissions,
388
+ search,
389
+ kind: link.kind,
390
+ title: link.info.displayName,
391
+ to: `/content-manager/${link.kind === "collectionType" ? index.COLLECTION_TYPES : index.SINGLE_TYPES}/${link.uid}`,
392
+ uid: link.uid,
393
+ // Used for the list item key in the helper plugin
394
+ name: link.uid,
395
+ isDisplayed: link.isDisplayed
396
+ };
397
+ });
398
+ };
399
+ const Layout = () => {
400
+ const contentTypeMatch = reactRouterDom.useMatch("/content-manager/:kind/:uid/*");
401
+ const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();
402
+ const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort(
403
+ (a, b) => a.title.localeCompare(b.title)
404
+ );
405
+ const { pathname } = reactRouterDom.useLocation();
406
+ const { formatMessage } = reactIntl.useIntl();
407
+ const startSection = strapiAdmin.useGuidedTour("Layout", (state) => state.startSection);
408
+ const startSectionRef = React__namespace.useRef(startSection);
409
+ React__namespace.useEffect(() => {
410
+ if (startSectionRef.current) {
411
+ startSectionRef.current("contentManager");
412
+ }
413
+ }, []);
414
+ if (isLoading) {
415
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
416
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage({
417
+ id: index.getTranslation("plugin.name"),
418
+ defaultMessage: "Content Manager"
419
+ }) }),
420
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {})
421
+ ] });
422
+ }
423
+ const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);
424
+ if (authorisedModels.length === 0 && supportedModelsToDisplay.length > 0 && pathname !== "/content-manager/403") {
425
+ return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/403" });
426
+ }
427
+ if (supportedModelsToDisplay.length === 0 && pathname !== "/no-content-types") {
428
+ return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/no-content-types" });
429
+ }
430
+ if (!contentTypeMatch && authorisedModels.length > 0) {
431
+ return /* @__PURE__ */ jsxRuntime.jsx(
432
+ reactRouterDom.Navigate,
433
+ {
434
+ to: {
435
+ pathname: authorisedModels[0].to,
436
+ search: authorisedModels[0].search ?? ""
437
+ }
438
+ }
439
+ );
440
+ }
441
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
442
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage({
443
+ id: index.getTranslation("plugin.name"),
444
+ defaultMessage: "Content Manager"
445
+ }) }),
446
+ /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Layouts.Root, { sideNav: /* @__PURE__ */ jsxRuntime.jsx(LeftMenu, {}), children: [
447
+ /* @__PURE__ */ jsxRuntime.jsx(DragLayer, { renderItem: renderDraglayerItem }),
448
+ /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Routes, { children: index.routes.map((route) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { ...route }, route.path)) })
449
+ ] })
450
+ ] });
451
+ };
452
+ function renderDraglayerItem({ type, item }) {
453
+ if (!type || type && typeof type !== "string") {
454
+ return null;
455
+ }
456
+ const [actualType] = type.split("_");
457
+ switch (actualType) {
458
+ case useDragAndDrop.ItemTypes.EDIT_FIELD:
459
+ case useDragAndDrop.ItemTypes.FIELD:
460
+ return /* @__PURE__ */ jsxRuntime.jsx(CardDragPreview.CardDragPreview, { label: item.label });
461
+ case useDragAndDrop.ItemTypes.COMPONENT:
462
+ case useDragAndDrop.ItemTypes.DYNAMIC_ZONE:
463
+ return /* @__PURE__ */ jsxRuntime.jsx(ComponentDragPreview, { displayedValue: item.displayedValue });
464
+ case useDragAndDrop.ItemTypes.RELATION:
465
+ return /* @__PURE__ */ jsxRuntime.jsx(RelationDragPreview, { ...item });
466
+ default:
467
+ return null;
468
+ }
469
+ }
470
+ exports.Layout = Layout;
471
+ //# sourceMappingURL=layout-DLih5-_W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-DLih5-_W.js","sources":["../../admin/src/components/DragLayer.tsx","../../admin/src/components/DragPreviews/ComponentDragPreview.tsx","../../admin/src/components/DragPreviews/RelationDragPreview.tsx","../../admin/src/components/LeftMenu.tsx","../../admin/src/hooks/useContentManagerInitData.ts","../../admin/src/layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { DragLayerMonitor, XYCoord, useDragLayer } from 'react-dnd';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nexport interface DragLayerProps {\n renderItem: (item: {\n /**\n * TODO: it'd be great if we could make this a union where the type infers the item.\n */\n item: any;\n type: ReturnType<DragLayerMonitor['getItemType']>;\n }) => React.ReactNode;\n}\n\nconst DragLayer = ({ renderItem }: DragLayerProps) => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n {renderItem({ type: itemType, item })}\n </Box>\n </Box>\n );\n};\n\nexport { DragLayer };\n","import { Flex, FlexComponent, IconButton, Typography } from '@strapi/design-system';\nimport { CaretDown, Drag, Trash } from '@strapi/icons';\nimport { styled } from 'styled-components';\n\ninterface ComponentDragPreviewProps {\n displayedValue: string;\n}\n\nconst ComponentDragPreview = ({ displayedValue }: ComponentDragPreviewProps) => {\n return (\n <Flex\n background=\"neutral0\"\n borderColor=\"neutral200\"\n justifyContent=\"space-between\"\n gap={3}\n padding={3}\n width=\"30rem\"\n >\n <ToggleButton type=\"button\">\n <Flex gap={6}>\n <DropdownIconWrapper\n alignItems=\"center\"\n justifyContent=\"center\"\n background=\"neutral200\"\n height=\"3.2rem\"\n width=\"3.2rem\"\n >\n <CaretDown />\n </DropdownIconWrapper>\n\n <Flex maxWidth=\"15rem\">\n <Typography textColor=\"neutral700\" ellipsis>\n {displayedValue}\n </Typography>\n </Flex>\n </Flex>\n </ToggleButton>\n\n <Flex gap={2}>\n <IconButton aria-label=\"\" borderWidth={0}>\n <Trash />\n </IconButton>\n\n <IconButton aria-label=\"\" borderWidth={0}>\n <Drag />\n </IconButton>\n </Flex>\n </Flex>\n );\n};\n\nconst DropdownIconWrapper = styled<FlexComponent>(Flex)`\n border-radius: 50%;\n\n svg {\n height: 0.6rem;\n width: 1.1rem;\n > path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n// TODO: we shouldn't have to reset a whole button\nconst ToggleButton = styled.button`\n border: none;\n background: transparent;\n display: block;\n width: 100%;\n text-align: unset;\n padding: 0;\n`;\n\nexport { ComponentDragPreview };\nexport type { ComponentDragPreviewProps };\n","import { Box, Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Cross, Drag } from '@strapi/icons';\n\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport {\n DisconnectButton,\n LinkEllipsis,\n FlexWrapper,\n} from '../../pages/EditView/components/FormInputs/Relations';\n\nimport type { Data } from '@strapi/types';\n\ninterface RelationDragPreviewProps {\n status?: string;\n displayedValue: string;\n id: Data.ID;\n index: number;\n width: number;\n}\n\nconst RelationDragPreview = ({ status, displayedValue, width }: RelationDragPreviewProps) => {\n return (\n <Box style={{ width }}>\n <Flex\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={2}\n paddingRight={4}\n hasRadius\n borderWidth={1}\n background=\"neutral0\"\n borderColor=\"neutral200\"\n justifyContent=\"space-between\"\n gap={4}\n >\n <FlexWrapper gap={1}>\n <IconButton aria-label=\"\" borderWidth={0}>\n <Drag />\n </IconButton>\n <Flex width=\"100%\" minWidth={0} justifyContent=\"space-between\">\n <Box minWidth={0} paddingTop={1} paddingBottom={1} paddingRight={4}>\n <LinkEllipsis href=\"\">\n <Typography textColor=\"primary600\" ellipsis>\n {displayedValue}\n </Typography>\n </LinkEllipsis>\n </Box>\n {status ? <DocumentStatus status={status} /> : null}\n </Flex>\n </FlexWrapper>\n <DisconnectButton type=\"button\">\n <Cross width=\"12px\" />\n </DisconnectButton>\n </Flex>\n </Box>\n );\n};\n\nexport { RelationDragPreview };\nexport type { RelationDragPreviewProps };\n","import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport {\n useCollator,\n useFilter,\n SubNav,\n SubNavHeader,\n SubNavLink,\n SubNavSection,\n SubNavSections,\n} from '@strapi/design-system';\nimport { parse, stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useTypedSelector } from '../modules/hooks';\nimport { getTranslation } from '../utils/translations';\n\nconst LeftMenu = () => {\n const [search, setSearch] = React.useState('');\n const [{ query }] = useQueryParams<{ plugins?: object }>();\n const { formatMessage, locale } = useIntl();\n const collectionTypeLinks = useTypedSelector(\n (state) => state['content-manager'].app.collectionTypeLinks\n );\n const singleTypeLinks = useTypedSelector((state) => state['content-manager'].app.singleTypeLinks);\n\n const { startsWith } = useFilter(locale, {\n sensitivity: 'base',\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const menu = React.useMemo(\n () =>\n [\n {\n id: 'collectionTypes',\n title: formatMessage({\n id: getTranslation('components.LeftMenu.collection-types'),\n defaultMessage: 'Collection Types',\n }),\n searchable: true,\n links: collectionTypeLinks,\n },\n {\n id: 'singleTypes',\n title: formatMessage({\n id: getTranslation('components.LeftMenu.single-types'),\n defaultMessage: 'Single Types',\n }),\n searchable: true,\n links: singleTypeLinks,\n },\n ].map((section) => ({\n ...section,\n links: section.links\n /**\n * Filter by the search value\n */\n .filter((link) => startsWith(link.title, search))\n /**\n * Sort correctly using the language\n */\n .sort((a, b) => formatter.compare(a.title, b.title))\n /**\n * Apply the formated strings to the links from react-intl\n */\n .map((link) => {\n return {\n ...link,\n title: formatMessage({ id: link.title, defaultMessage: link.title }),\n };\n }),\n })),\n [collectionTypeLinks, search, singleTypeLinks, startsWith, formatMessage, formatter]\n );\n\n const handleClear = () => {\n setSearch('');\n };\n\n const handleChangeSearch = ({ target: { value } }: { target: { value: string } }) => {\n setSearch(value);\n };\n\n const label = formatMessage({\n id: getTranslation('header.name'),\n defaultMessage: 'Content',\n });\n\n return (\n <SubNav aria-label={label}>\n <SubNavHeader\n label={label}\n searchable\n value={search}\n onChange={handleChangeSearch}\n onClear={handleClear}\n searchLabel={formatMessage({\n id: 'content-manager.components.LeftMenu.Search.label',\n defaultMessage: 'Search for a content type',\n })}\n />\n <SubNavSections>\n {menu.map((section) => {\n return (\n <SubNavSection\n key={section.id}\n label={section.title}\n badgeLabel={section.links.length.toString()}\n >\n {section.links.map((link) => {\n return (\n <SubNavLink\n tag={NavLink}\n key={link.uid}\n to={{\n pathname: link.to,\n /**\n * We re-add the plugins query to the params available in the menu,\n * this means once you've changed the locale in the app, you continue\n * to see the same locale when changing content-type.\n *\n * NOTE: if you go to a content-type that does not have i18n enabled,\n * we return the default documents anyway.\n */\n search: stringify({\n ...parse(link.search ?? ''),\n plugins: query.plugins,\n }),\n }}\n >\n {link.title}\n </SubNavLink>\n );\n })}\n </SubNavSection>\n );\n })}\n </SubNavSections>\n </SubNav>\n );\n};\n\nexport { LeftMenu };\n","import { useEffect } from 'react';\n\nimport {\n useAuth,\n type Permission,\n useNotification,\n useStrapiApp,\n useAPIErrorHandler,\n} from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\n\nimport { COLLECTION_TYPES, SINGLE_TYPES } from '../constants/collections';\nimport { HOOKS } from '../constants/hooks';\nimport { AppState, setInitialData } from '../modules/app';\nimport { useTypedDispatch, useTypedSelector } from '../modules/hooks';\nimport { useGetAllContentTypeSettingsQuery } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Component } from '../../../shared/contracts/components';\nimport type {\n ContentType,\n FindContentTypesSettings,\n} from '../../../shared/contracts/content-types';\nimport type { GetInitData } from '../../../shared/contracts/init';\n\nconst { MUTATE_COLLECTION_TYPES_LINKS, MUTATE_SINGLE_TYPES_LINKS } = HOOKS;\n\ninterface ContentManagerLink {\n permissions: Permission[];\n search: string | null;\n kind: string;\n title: string;\n to: string;\n uid: string;\n name: string;\n isDisplayed: boolean;\n}\n\nconst useContentManagerInitData = (): AppState => {\n const { toggleNotification } = useNotification();\n const dispatch = useTypedDispatch();\n const runHookWaterfall = useStrapiApp(\n 'useContentManagerInitData',\n (state) => state.runHookWaterfall\n );\n const { notifyStatus } = useNotifyAT();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler(getTranslation);\n const checkUserHasPermissions = useAuth(\n 'useContentManagerInitData',\n (state) => state.checkUserHasPermissions\n );\n\n const state = useTypedSelector((state) => state['content-manager'].app);\n\n const initialDataQuery = useGetInitialDataQuery(undefined, {\n /**\n * TODO: remove this when the CTB has been refactored to use redux-toolkit-query\n * and it can invalidate the cache on mutation\n */\n refetchOnMountOrArgChange: true,\n });\n\n useEffect(() => {\n if (initialDataQuery.data) {\n notifyStatus(\n formatMessage({\n id: getTranslation('App.schemas.data-loaded'),\n defaultMessage: 'The schemas have been successfully loaded.',\n })\n );\n }\n }, [formatMessage, initialDataQuery.data, notifyStatus]);\n\n useEffect(() => {\n if (initialDataQuery.error) {\n toggleNotification({ type: 'danger', message: formatAPIError(initialDataQuery.error) });\n }\n }, [formatAPIError, initialDataQuery.error, toggleNotification]);\n\n const contentTypeSettingsQuery = useGetAllContentTypeSettingsQuery();\n\n useEffect(() => {\n if (contentTypeSettingsQuery.error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(contentTypeSettingsQuery.error),\n });\n }\n }, [formatAPIError, contentTypeSettingsQuery.error, toggleNotification]);\n\n const formatData = async (\n components: Component[],\n contentTypes: ContentType[],\n fieldSizes: GetInitData.Response['data']['fieldSizes'],\n contentTypeConfigurations: FindContentTypesSettings.Response['data']\n ) => {\n /**\n * We group these by the two types we support. We do with an object because we can use default\n * values of arrays to make sure we always have an array to manipulate further on if, for example,\n * a user has not made any single types.\n *\n * This means we have to manually add new content types to this hook if we add a new type – but\n * the safety is worth it.\n */\n const { collectionType: collectionTypeLinks, singleType: singleTypeLinks } =\n contentTypes.reduce<{\n collectionType: ContentType[];\n singleType: ContentType[];\n }>(\n (acc, model) => {\n acc[model.kind].push(model);\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n const collectionTypeSectionLinks = generateLinks(\n collectionTypeLinks,\n 'collectionTypes',\n contentTypeConfigurations\n );\n const singleTypeSectionLinks = generateLinks(singleTypeLinks, 'singleTypes');\n\n // Collection Types verifications\n const collectionTypeLinksPermissions = await Promise.all(\n collectionTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n const authorizedCollectionTypeLinks = collectionTypeSectionLinks.filter(\n (_, index) => collectionTypeLinksPermissions[index]\n );\n\n // Single Types verifications\n const singleTypeLinksPermissions = await Promise.all(\n singleTypeSectionLinks.map(({ permissions }) => checkUserHasPermissions(permissions))\n );\n const authorizedSingleTypeLinks = singleTypeSectionLinks.filter(\n (_, index) => singleTypeLinksPermissions[index]\n );\n const { ctLinks } = runHookWaterfall(MUTATE_COLLECTION_TYPES_LINKS, {\n ctLinks: authorizedCollectionTypeLinks,\n models: contentTypes,\n });\n const { stLinks } = runHookWaterfall(MUTATE_SINGLE_TYPES_LINKS, {\n stLinks: authorizedSingleTypeLinks,\n models: contentTypes,\n });\n\n dispatch(\n setInitialData({\n authorizedCollectionTypeLinks: ctLinks,\n authorizedSingleTypeLinks: stLinks,\n components,\n contentTypeSchemas: contentTypes,\n fieldSizes,\n })\n );\n };\n\n useEffect(() => {\n if (initialDataQuery.data && contentTypeSettingsQuery.data) {\n formatData(\n initialDataQuery.data.components,\n initialDataQuery.data.contentTypes,\n initialDataQuery.data.fieldSizes,\n contentTypeSettingsQuery.data\n );\n }\n }, [initialDataQuery.data, contentTypeSettingsQuery.data]);\n\n return { ...state };\n};\n\nconst generateLinks = (\n links: ContentType[],\n type: 'collectionTypes' | 'singleTypes',\n configurations: FindContentTypesSettings.Response['data'] = []\n) => {\n return links\n .filter((link) => link.isDisplayed)\n .map((link) => {\n const collectionTypesPermissions = [\n { action: 'plugin::content-manager.explorer.create', subject: link.uid },\n { action: 'plugin::content-manager.explorer.read', subject: link.uid },\n ];\n const singleTypesPermissions = [\n { action: 'plugin::content-manager.explorer.read', subject: link.uid },\n ];\n const permissions =\n type === 'collectionTypes' ? collectionTypesPermissions : singleTypesPermissions;\n\n const currentContentTypeConfig = configurations.find(({ uid }) => uid === link.uid);\n\n let search = null;\n\n if (currentContentTypeConfig) {\n const searchParams = {\n page: 1,\n pageSize: currentContentTypeConfig.settings.pageSize,\n sort: `${currentContentTypeConfig.settings.defaultSortBy}:${currentContentTypeConfig.settings.defaultSortOrder}`,\n };\n\n search = stringify(searchParams, { encode: false });\n }\n\n return {\n permissions,\n search,\n kind: link.kind,\n title: link.info.displayName,\n to: `/content-manager/${link.kind === 'collectionType' ? COLLECTION_TYPES : SINGLE_TYPES}/${\n link.uid\n }`,\n uid: link.uid,\n // Used for the list item key in the helper plugin\n name: link.uid,\n isDisplayed: link.isDisplayed,\n } satisfies ContentManagerLink;\n });\n};\n\nexport { useContentManagerInitData };\nexport type { ContentManagerLink };\n","/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useGuidedTour, Layouts } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Navigate, Route, Routes, useLocation, useMatch } from 'react-router-dom';\n\nimport { DragLayer, DragLayerProps } from './components/DragLayer';\nimport { CardDragPreview } from './components/DragPreviews/CardDragPreview';\nimport { ComponentDragPreview } from './components/DragPreviews/ComponentDragPreview';\nimport { RelationDragPreview } from './components/DragPreviews/RelationDragPreview';\nimport { LeftMenu } from './components/LeftMenu';\nimport { ItemTypes } from './constants/dragAndDrop';\nimport { useContentManagerInitData } from './hooks/useContentManagerInitData';\nimport { routes } from './router';\nimport { getTranslation } from './utils/translations';\n\n/* -------------------------------------------------------------------------------------------------\n * Layout\n * -----------------------------------------------------------------------------------------------*/\n\nconst Layout = () => {\n const contentTypeMatch = useMatch('/content-manager/:kind/:uid/*');\n\n const { isLoading, collectionTypeLinks, models, singleTypeLinks } = useContentManagerInitData();\n const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks].sort((a, b) =>\n a.title.localeCompare(b.title)\n );\n\n const { pathname } = useLocation();\n const { formatMessage } = useIntl();\n const startSection = useGuidedTour('Layout', (state) => state.startSection);\n const startSectionRef = React.useRef(startSection);\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('contentManager');\n }\n }, []);\n\n if (isLoading) {\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Page.Loading />\n </>\n );\n }\n\n // Array of models that are displayed in the content manager\n const supportedModelsToDisplay = models.filter(({ isDisplayed }) => isDisplayed);\n\n // Redirect the user to the 403 page\n if (\n authorisedModels.length === 0 &&\n supportedModelsToDisplay.length > 0 &&\n pathname !== '/content-manager/403'\n ) {\n return <Navigate to=\"/403\" />;\n }\n\n // Redirect the user to the create content type page\n if (supportedModelsToDisplay.length === 0 && pathname !== '/no-content-types') {\n return <Navigate to=\"/no-content-types\" />;\n }\n\n if (!contentTypeMatch && authorisedModels.length > 0) {\n return (\n <Navigate\n to={{\n pathname: authorisedModels[0].to,\n search: authorisedModels[0].search ?? '',\n }}\n />\n );\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage({\n id: getTranslation('plugin.name'),\n defaultMessage: 'Content Manager',\n })}\n </Page.Title>\n <Layouts.Root sideNav={<LeftMenu />}>\n <DragLayer renderItem={renderDraglayerItem} />\n <Routes>\n {routes.map((route) => (\n <Route key={route.path} {...route} />\n ))}\n </Routes>\n </Layouts.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * renderDraglayerItem\n * -----------------------------------------------------------------------------------------------*/\n\nfunction renderDraglayerItem({ type, item }: Parameters<DragLayerProps['renderItem']>[0]) {\n if (!type || (type && typeof type !== 'string')) {\n return null;\n }\n\n /**\n * Because a user may have multiple relations / dynamic zones / repeable fields in the same content type,\n * we append the fieldName for the item type to make them unique, however, we then want to extract that\n * first type to apply the correct preview.\n */\n const [actualType] = type.split('_');\n\n switch (actualType) {\n case ItemTypes.EDIT_FIELD:\n case ItemTypes.FIELD:\n return <CardDragPreview label={item.label} />;\n case ItemTypes.COMPONENT:\n case ItemTypes.DYNAMIC_ZONE:\n return <ComponentDragPreview displayedValue={item.displayedValue} />;\n\n case ItemTypes.RELATION:\n return <RelationDragPreview {...item} />;\n\n default:\n return null;\n }\n}\n\nexport { Layout };\n"],"names":["useDragLayer","jsx","Box","jsxs","Flex","CaretDown","Typography","IconButton","Trash","Drag","styled","FlexWrapper","LinkEllipsis","DocumentStatus","DisconnectButton","Cross","React","useQueryParams","useIntl","useTypedSelector","useFilter","useCollator","getTranslation","SubNav","SubNavHeader","SubNavSections","SubNavSection","SubNavLink","NavLink","stringify","parse","HOOKS","useNotification","useTypedDispatch","useStrapiApp","state","useNotifyAT","useAPIErrorHandler","useAuth","useGetInitialDataQuery","useEffect","useGetAllContentTypeSettingsQuery","index","setInitialData","COLLECTION_TYPES","SINGLE_TYPES","useMatch","useLocation","useGuidedTour","Fragment","Page","Navigate","Layouts","Routes","routes","Route","ItemTypes","CardDragPreview"],"mappings":"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"}