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