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

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 (510) 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-C-49MccQ.js +255 -0
  7. package/dist/_chunks/ComponentConfigurationPage-C-49MccQ.js.map +1 -0
  8. package/dist/_chunks/ComponentConfigurationPage-DmwmiFQy.mjs +236 -0
  9. package/dist/_chunks/ComponentConfigurationPage-DmwmiFQy.mjs.map +1 -0
  10. package/dist/_chunks/ComponentIcon-BXdiCGQp.js +176 -0
  11. package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +1 -0
  12. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +157 -0
  13. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -0
  14. package/dist/_chunks/EditConfigurationPage-DjFJw56M.js +151 -0
  15. package/dist/_chunks/EditConfigurationPage-DjFJw56M.js.map +1 -0
  16. package/dist/_chunks/EditConfigurationPage-JT3E7NZy.mjs +132 -0
  17. package/dist/_chunks/EditConfigurationPage-JT3E7NZy.mjs.map +1 -0
  18. package/dist/_chunks/EditViewPage-CPj61RMh.mjs +203 -0
  19. package/dist/_chunks/EditViewPage-CPj61RMh.mjs.map +1 -0
  20. package/dist/_chunks/EditViewPage-zT3fBr4Y.js +222 -0
  21. package/dist/_chunks/EditViewPage-zT3fBr4Y.js.map +1 -0
  22. package/dist/_chunks/Field-Boxf9Ajp.js +5498 -0
  23. package/dist/_chunks/Field-Boxf9Ajp.js.map +1 -0
  24. package/dist/_chunks/Field-dha5VnIQ.mjs +5466 -0
  25. package/dist/_chunks/Field-dha5VnIQ.mjs.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-DHrru2AV.mjs +739 -0
  31. package/dist/_chunks/Form-DHrru2AV.mjs.map +1 -0
  32. package/dist/_chunks/Form-y5g1SRsh.js +760 -0
  33. package/dist/_chunks/Form-y5g1SRsh.js.map +1 -0
  34. package/dist/_chunks/History-Bru_KoeP.mjs +1007 -0
  35. package/dist/_chunks/History-Bru_KoeP.mjs.map +1 -0
  36. package/dist/_chunks/History-CqN6K7SX.js +1028 -0
  37. package/dist/_chunks/History-CqN6K7SX.js.map +1 -0
  38. package/dist/_chunks/ListConfigurationPage-D8wGABj0.mjs +620 -0
  39. package/dist/_chunks/ListConfigurationPage-D8wGABj0.mjs.map +1 -0
  40. package/dist/_chunks/ListConfigurationPage-R_p-SbHZ.js +640 -0
  41. package/dist/_chunks/ListConfigurationPage-R_p-SbHZ.js.map +1 -0
  42. package/dist/_chunks/ListViewPage-SID6TRb9.mjs +810 -0
  43. package/dist/_chunks/ListViewPage-SID6TRb9.mjs.map +1 -0
  44. package/dist/_chunks/ListViewPage-pEw_zug9.js +834 -0
  45. package/dist/_chunks/ListViewPage-pEw_zug9.js.map +1 -0
  46. package/dist/_chunks/NoContentTypePage-C5dcQojD.js +51 -0
  47. package/dist/_chunks/NoContentTypePage-C5dcQojD.js.map +1 -0
  48. package/dist/_chunks/NoContentTypePage-CJ7UXwrQ.mjs +51 -0
  49. package/dist/_chunks/NoContentTypePage-CJ7UXwrQ.mjs.map +1 -0
  50. package/dist/_chunks/NoPermissionsPage-B7syEq5E.mjs +23 -0
  51. package/dist/_chunks/NoPermissionsPage-B7syEq5E.mjs.map +1 -0
  52. package/dist/_chunks/NoPermissionsPage-BtPrImPP.js +23 -0
  53. package/dist/_chunks/NoPermissionsPage-BtPrImPP.js.map +1 -0
  54. package/dist/_chunks/Relations-B9Crnhnn.mjs +694 -0
  55. package/dist/_chunks/Relations-B9Crnhnn.mjs.map +1 -0
  56. package/dist/_chunks/Relations-DjTQ5kGB.js +714 -0
  57. package/dist/_chunks/Relations-DjTQ5kGB.js.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-Ux26r5pl.mjs +291 -0
  75. package/dist/_chunks/en-Ux26r5pl.mjs.map +1 -0
  76. package/dist/_chunks/en-fbKQxLGn.js +291 -0
  77. package/dist/_chunks/en-fbKQxLGn.js.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-DJXJw9V5.mjs +3780 -0
  111. package/dist/_chunks/index-DJXJw9V5.mjs.map +1 -0
  112. package/dist/_chunks/index-DVPWZkbS.js +3799 -0
  113. package/dist/_chunks/index-DVPWZkbS.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-Bau7ZfLV.mjs +458 -0
  127. package/dist/_chunks/layout-Bau7ZfLV.mjs.map +1 -0
  128. package/dist/_chunks/layout-Dm6fbiQj.js +476 -0
  129. package/dist/_chunks/layout-Dm6fbiQj.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-BH_kBSJ0.mjs +135 -0
  159. package/dist/_chunks/relations-BH_kBSJ0.mjs.map +1 -0
  160. package/dist/_chunks/relations-CKnpRgrN.js +134 -0
  161. package/dist/_chunks/relations-CKnpRgrN.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/useDragAndDrop-DdHgKsqq.mjs +231 -0
  191. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +1 -0
  192. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +249 -0
  193. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +1 -0
  194. package/dist/_chunks/usePrev-B9w_-eYc.js +15 -0
  195. package/dist/_chunks/usePrev-B9w_-eYc.js.map +1 -0
  196. package/dist/_chunks/usePrev-DH6iah0A.mjs +16 -0
  197. package/dist/_chunks/usePrev-DH6iah0A.mjs.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 +12 -0
  211. package/dist/admin/index.js.map +1 -0
  212. package/dist/admin/index.mjs +12 -0
  213. package/dist/admin/index.mjs.map +1 -0
  214. package/dist/admin/src/components/ComponentIcon.d.ts +11 -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 +12 -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 +87 -0
  246. package/dist/admin/src/hooks/useDocumentActions.d.ts +123 -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 +75 -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/constants.d.ts +4 -0
  280. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +13 -0
  281. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +6 -0
  282. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +10 -0
  283. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +10 -0
  284. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
  285. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +18 -0
  286. package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +5 -0
  287. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +5 -0
  288. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +42 -0
  289. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +11 -0
  290. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
  291. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +15 -0
  292. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +9 -0
  293. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +14 -0
  294. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
  295. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +14 -0
  296. package/dist/admin/src/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
  297. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +18 -0
  298. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +9 -0
  299. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +17 -0
  300. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +14 -0
  301. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
  302. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
  303. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +7 -0
  304. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +17 -0
  305. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +62 -0
  306. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +5 -0
  307. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +4 -0
  308. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +16 -0
  309. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +5 -0
  310. package/dist/admin/src/pages/EditView/components/Header.d.ts +35 -0
  311. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +9 -0
  312. package/dist/admin/src/pages/EditView/components/Panels.d.ts +10 -0
  313. package/dist/admin/src/pages/EditView/utils/data.d.ts +33 -0
  314. package/dist/admin/src/pages/EditView/utils/forms.d.ts +9 -0
  315. package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
  316. package/dist/admin/src/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
  317. package/dist/admin/src/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
  318. package/dist/admin/src/pages/ListConfiguration/components/Header.d.ts +8 -0
  319. package/dist/admin/src/pages/ListConfiguration/components/Settings.d.ts +19 -0
  320. package/dist/admin/src/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
  321. package/dist/admin/src/pages/ListView/ListViewPage.d.ts +3 -0
  322. package/dist/admin/src/pages/ListView/components/AutoCloneFailureModal.d.ts +7 -0
  323. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +24 -0
  324. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
  325. package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +14 -0
  326. package/dist/admin/src/pages/ListView/components/Filters.d.ts +8 -0
  327. package/dist/admin/src/pages/ListView/components/TableActions.d.ts +8 -0
  328. package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +9 -0
  329. package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +8 -0
  330. package/dist/admin/src/pages/ListView/components/TableCells/Components.d.ts +12 -0
  331. package/dist/admin/src/pages/ListView/components/TableCells/Media.d.ts +23 -0
  332. package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +12 -0
  333. package/dist/admin/src/pages/ListView/components/ViewSettingsMenu.d.ts +10 -0
  334. package/dist/admin/src/pages/NoContentTypePage.d.ts +2 -0
  335. package/dist/admin/src/pages/NoPermissionsPage.d.ts +2 -0
  336. package/dist/admin/src/router.d.ts +5 -0
  337. package/dist/admin/src/services/api.d.ts +2 -0
  338. package/dist/admin/src/services/components.d.ts +5 -0
  339. package/dist/admin/src/services/contentTypes.d.ts +17 -0
  340. package/dist/admin/src/services/documents.d.ts +101 -0
  341. package/dist/admin/src/services/init.d.ts +9 -0
  342. package/dist/admin/src/services/relations.d.ts +49 -0
  343. package/dist/admin/src/services/uid.d.ts +32 -0
  344. package/dist/admin/src/utils/api.d.ts +24 -0
  345. package/dist/admin/src/utils/attributes.d.ts +19 -0
  346. package/dist/admin/src/utils/objects.d.ts +33 -0
  347. package/dist/admin/src/utils/relations.d.ts +12 -0
  348. package/dist/admin/src/utils/strings.d.ts +2 -0
  349. package/dist/admin/src/utils/translations.d.ts +4 -0
  350. package/dist/admin/src/utils/urls.d.ts +2 -0
  351. package/dist/admin/src/utils/users.d.ts +6 -0
  352. package/dist/admin/src/utils/validation.d.ts +7 -0
  353. package/dist/server/index.js +4365 -0
  354. package/dist/server/index.js.map +1 -0
  355. package/dist/server/index.mjs +4341 -0
  356. package/dist/server/index.mjs.map +1 -0
  357. package/dist/server/src/bootstrap.d.ts +3 -0
  358. package/dist/server/src/bootstrap.d.ts.map +1 -0
  359. package/dist/server/src/config.d.ts +6 -0
  360. package/dist/server/src/config.d.ts.map +1 -0
  361. package/dist/server/src/constants/index.d.ts +6 -0
  362. package/dist/server/src/constants/index.d.ts.map +1 -0
  363. package/dist/server/src/controllers/collection-types.d.ts +23 -0
  364. package/dist/server/src/controllers/collection-types.d.ts.map +1 -0
  365. package/dist/server/src/controllers/components.d.ts +7 -0
  366. package/dist/server/src/controllers/components.d.ts.map +1 -0
  367. package/dist/server/src/controllers/content-types.d.ts +8 -0
  368. package/dist/server/src/controllers/content-types.d.ts.map +1 -0
  369. package/dist/server/src/controllers/index.d.ts +53 -0
  370. package/dist/server/src/controllers/index.d.ts.map +1 -0
  371. package/dist/server/src/controllers/init.d.ts +5 -0
  372. package/dist/server/src/controllers/init.d.ts.map +1 -0
  373. package/dist/server/src/controllers/relations.d.ts +13 -0
  374. package/dist/server/src/controllers/relations.d.ts.map +1 -0
  375. package/dist/server/src/controllers/single-types.d.ts +11 -0
  376. package/dist/server/src/controllers/single-types.d.ts.map +1 -0
  377. package/dist/server/src/controllers/uid.d.ts +6 -0
  378. package/dist/server/src/controllers/uid.d.ts.map +1 -0
  379. package/dist/server/src/controllers/utils/clone.d.ts +12 -0
  380. package/dist/server/src/controllers/utils/clone.d.ts.map +1 -0
  381. package/dist/server/src/controllers/utils/metadata.d.ts +8 -0
  382. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -0
  383. package/dist/server/src/controllers/validation/dimensions.d.ts +9 -0
  384. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -0
  385. package/dist/server/src/controllers/validation/index.d.ts +20 -0
  386. package/dist/server/src/controllers/validation/index.d.ts.map +1 -0
  387. package/dist/server/src/controllers/validation/model-configuration.d.ts +22 -0
  388. package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -0
  389. package/dist/server/src/controllers/validation/relations.d.ts +4 -0
  390. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
  391. package/dist/server/src/destroy.d.ts +4 -0
  392. package/dist/server/src/destroy.d.ts.map +1 -0
  393. package/dist/server/src/history/constants.d.ts +3 -0
  394. package/dist/server/src/history/constants.d.ts.map +1 -0
  395. package/dist/server/src/history/controllers/history-version.d.ts +19 -0
  396. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -0
  397. package/dist/server/src/history/controllers/index.d.ts +2 -0
  398. package/dist/server/src/history/controllers/index.d.ts.map +1 -0
  399. package/dist/server/src/history/controllers/validation/history-version.d.ts +2 -0
  400. package/dist/server/src/history/controllers/validation/history-version.d.ts.map +1 -0
  401. package/dist/server/src/history/index.d.ts +4 -0
  402. package/dist/server/src/history/index.d.ts.map +1 -0
  403. package/dist/server/src/history/models/history-version.d.ts +4 -0
  404. package/dist/server/src/history/models/history-version.d.ts.map +1 -0
  405. package/dist/server/src/history/routes/history-version.d.ts +4 -0
  406. package/dist/server/src/history/routes/history-version.d.ts.map +1 -0
  407. package/dist/server/src/history/routes/index.d.ts +8 -0
  408. package/dist/server/src/history/routes/index.d.ts.map +1 -0
  409. package/dist/server/src/history/services/history.d.ts +16 -0
  410. package/dist/server/src/history/services/history.d.ts.map +1 -0
  411. package/dist/server/src/history/services/index.d.ts +19 -0
  412. package/dist/server/src/history/services/index.d.ts.map +1 -0
  413. package/dist/server/src/history/services/lifecycles.d.ts +9 -0
  414. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
  415. package/dist/server/src/history/services/utils.d.ts +44 -0
  416. package/dist/server/src/history/services/utils.d.ts.map +1 -0
  417. package/dist/server/src/history/utils.d.ts +22 -0
  418. package/dist/server/src/history/utils.d.ts.map +1 -0
  419. package/dist/server/src/index.d.ts +353 -0
  420. package/dist/server/src/index.d.ts.map +1 -0
  421. package/dist/server/src/middlewares/index.d.ts +3 -0
  422. package/dist/server/src/middlewares/index.d.ts.map +1 -0
  423. package/dist/server/src/middlewares/routing.d.ts +4 -0
  424. package/dist/server/src/middlewares/routing.d.ts.map +1 -0
  425. package/dist/server/src/policies/hasPermissions.d.ts +7 -0
  426. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
  427. package/dist/server/src/policies/index.d.ts +9 -0
  428. package/dist/server/src/policies/index.d.ts.map +1 -0
  429. package/dist/server/src/register.d.ts +4 -0
  430. package/dist/server/src/register.d.ts.map +1 -0
  431. package/dist/server/src/routes/admin.d.ts +41 -0
  432. package/dist/server/src/routes/admin.d.ts.map +1 -0
  433. package/dist/server/src/routes/index.d.ts +43 -0
  434. package/dist/server/src/routes/index.d.ts.map +1 -0
  435. package/dist/server/src/services/components.d.ts +32 -0
  436. package/dist/server/src/services/components.d.ts.map +1 -0
  437. package/dist/server/src/services/configuration.d.ts +20 -0
  438. package/dist/server/src/services/configuration.d.ts.map +1 -0
  439. package/dist/server/src/services/content-types.d.ts +18 -0
  440. package/dist/server/src/services/content-types.d.ts.map +1 -0
  441. package/dist/server/src/services/data-mapper.d.ts +20 -0
  442. package/dist/server/src/services/data-mapper.d.ts.map +1 -0
  443. package/dist/server/src/services/document-manager.d.ts +48 -0
  444. package/dist/server/src/services/document-manager.d.ts.map +1 -0
  445. package/dist/server/src/services/document-metadata.d.ts +67 -0
  446. package/dist/server/src/services/document-metadata.d.ts.map +1 -0
  447. package/dist/server/src/services/field-sizes.d.ts +19 -0
  448. package/dist/server/src/services/field-sizes.d.ts.map +1 -0
  449. package/dist/server/src/services/index.d.ts +245 -0
  450. package/dist/server/src/services/index.d.ts.map +1 -0
  451. package/dist/server/src/services/metrics.d.ts +9 -0
  452. package/dist/server/src/services/metrics.d.ts.map +1 -0
  453. package/dist/server/src/services/permission-checker.d.ts +54 -0
  454. package/dist/server/src/services/permission-checker.d.ts.map +1 -0
  455. package/dist/server/src/services/permission.d.ts +12 -0
  456. package/dist/server/src/services/permission.d.ts.map +1 -0
  457. package/dist/server/src/services/populate-builder.d.ts +30 -0
  458. package/dist/server/src/services/populate-builder.d.ts.map +1 -0
  459. package/dist/server/src/services/uid.d.ts +25 -0
  460. package/dist/server/src/services/uid.d.ts.map +1 -0
  461. package/dist/server/src/services/utils/configuration/attributes.d.ts +17 -0
  462. package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -0
  463. package/dist/server/src/services/utils/configuration/index.d.ts +21 -0
  464. package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -0
  465. package/dist/server/src/services/utils/configuration/layouts.d.ts +14 -0
  466. package/dist/server/src/services/utils/configuration/layouts.d.ts.map +1 -0
  467. package/dist/server/src/services/utils/configuration/metadatas.d.ts +5 -0
  468. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -0
  469. package/dist/server/src/services/utils/configuration/settings.d.ts +5 -0
  470. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -0
  471. package/dist/server/src/services/utils/count.d.ts +5 -0
  472. package/dist/server/src/services/utils/count.d.ts.map +1 -0
  473. package/dist/server/src/services/utils/draft.d.ts +11 -0
  474. package/dist/server/src/services/utils/draft.d.ts.map +1 -0
  475. package/dist/server/src/services/utils/populate.d.ts +42 -0
  476. package/dist/server/src/services/utils/populate.d.ts.map +1 -0
  477. package/dist/server/src/services/utils/store.d.ts +16 -0
  478. package/dist/server/src/services/utils/store.d.ts.map +1 -0
  479. package/dist/server/src/utils/index.d.ts +9 -0
  480. package/dist/server/src/utils/index.d.ts.map +1 -0
  481. package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -0
  482. package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
  483. package/dist/shared/contracts/collection-types.d.ts +336 -0
  484. package/dist/shared/contracts/collection-types.d.ts.map +1 -0
  485. package/dist/shared/contracts/components.d.ts +65 -0
  486. package/dist/shared/contracts/components.d.ts.map +1 -0
  487. package/dist/shared/contracts/content-types.d.ts +113 -0
  488. package/dist/shared/contracts/content-types.d.ts.map +1 -0
  489. package/dist/shared/contracts/history-versions.d.ts +92 -0
  490. package/dist/shared/contracts/history-versions.d.ts.map +1 -0
  491. package/dist/shared/contracts/index.d.ts +10 -0
  492. package/dist/shared/contracts/index.d.ts.map +1 -0
  493. package/dist/shared/contracts/init.d.ts +24 -0
  494. package/dist/shared/contracts/init.d.ts.map +1 -0
  495. package/dist/shared/contracts/relations.d.ts +70 -0
  496. package/dist/shared/contracts/relations.d.ts.map +1 -0
  497. package/dist/shared/contracts/review-workflows.d.ts +78 -0
  498. package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
  499. package/dist/shared/contracts/single-types.d.ts +113 -0
  500. package/dist/shared/contracts/single-types.d.ts.map +1 -0
  501. package/dist/shared/contracts/uid.d.ts +48 -0
  502. package/dist/shared/contracts/uid.d.ts.map +1 -0
  503. package/dist/shared/index.d.ts +2 -0
  504. package/dist/shared/index.d.ts.map +1 -0
  505. package/dist/shared/index.js +43 -0
  506. package/dist/shared/index.js.map +1 -0
  507. package/dist/shared/index.mjs +43 -0
  508. package/dist/shared/index.mjs.map +1 -0
  509. package/package.json +113 -2
  510. package/strapi-server.js +3 -0
@@ -0,0 +1,231 @@
1
+ import * as React from "react";
2
+ import { useDrop, useDrag } from "react-dnd";
3
+ const ItemTypes = {
4
+ COMPONENT: "component",
5
+ EDIT_FIELD: "editField",
6
+ FIELD: "field",
7
+ DYNAMIC_ZONE: "dynamicZone",
8
+ RELATION: "relation",
9
+ BLOCKS: "blocks"
10
+ };
11
+ const useKeyboardDragAndDrop = (active, index, { onCancel, onDropItem, onGrabItem, onMoveItem }) => {
12
+ const [isSelected, setIsSelected] = React.useState(false);
13
+ const handleMove = (movement) => {
14
+ if (!isSelected) {
15
+ return;
16
+ }
17
+ if (typeof index === "number" && onMoveItem) {
18
+ if (movement === "UP") {
19
+ onMoveItem(index - 1, index);
20
+ } else if (movement === "DOWN") {
21
+ onMoveItem(index + 1, index);
22
+ }
23
+ }
24
+ };
25
+ const handleDragClick = () => {
26
+ if (isSelected) {
27
+ if (onDropItem) {
28
+ onDropItem(index);
29
+ }
30
+ setIsSelected(false);
31
+ } else {
32
+ if (onGrabItem) {
33
+ onGrabItem(index);
34
+ }
35
+ setIsSelected(true);
36
+ }
37
+ };
38
+ const handleCancel = () => {
39
+ if (isSelected) {
40
+ setIsSelected(false);
41
+ if (onCancel) {
42
+ onCancel(index);
43
+ }
44
+ }
45
+ };
46
+ const handleKeyDown = (e) => {
47
+ if (!active) {
48
+ return;
49
+ }
50
+ if (e.key === "Tab" && !isSelected) {
51
+ return;
52
+ }
53
+ e.preventDefault();
54
+ switch (e.key) {
55
+ case " ":
56
+ case "Enter":
57
+ handleDragClick();
58
+ break;
59
+ case "Escape":
60
+ handleCancel();
61
+ break;
62
+ case "ArrowDown":
63
+ case "ArrowRight":
64
+ handleMove("DOWN");
65
+ break;
66
+ case "ArrowUp":
67
+ case "ArrowLeft":
68
+ handleMove("UP");
69
+ break;
70
+ }
71
+ };
72
+ return handleKeyDown;
73
+ };
74
+ const DIRECTIONS = {
75
+ UPWARD: "upward",
76
+ DOWNWARD: "downward"
77
+ };
78
+ const DROP_SENSITIVITY = {
79
+ REGULAR: "regular",
80
+ IMMEDIATE: "immediate"
81
+ };
82
+ const useDragAndDrop = (active, {
83
+ type = "STRAPI_DND",
84
+ index,
85
+ item,
86
+ onStart,
87
+ onEnd,
88
+ onGrabItem,
89
+ onDropItem,
90
+ onCancel,
91
+ onMoveItem,
92
+ dropSensitivity = DROP_SENSITIVITY.REGULAR
93
+ }) => {
94
+ const objectRef = React.useRef(null);
95
+ const [{ handlerId, isOver }, dropRef] = useDrop({
96
+ accept: type,
97
+ collect(monitor) {
98
+ return {
99
+ handlerId: monitor.getHandlerId(),
100
+ isOver: monitor.isOver({ shallow: true })
101
+ };
102
+ },
103
+ drop(item2) {
104
+ const draggedIndex = item2.index;
105
+ const newIndex = index;
106
+ if (isOver && onDropItem) {
107
+ onDropItem(draggedIndex, newIndex);
108
+ }
109
+ },
110
+ hover(item2, monitor) {
111
+ if (!objectRef.current || !onMoveItem) {
112
+ return;
113
+ }
114
+ const dragIndex = item2.index;
115
+ const newIndex = index;
116
+ const hoverBoundingRect = objectRef.current?.getBoundingClientRect();
117
+ const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
118
+ const clientOffset = monitor.getClientOffset();
119
+ if (!clientOffset)
120
+ return;
121
+ const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;
122
+ if (typeof dragIndex === "number" && typeof newIndex === "number") {
123
+ if (dragIndex === newIndex) {
124
+ return;
125
+ }
126
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
127
+ if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {
128
+ return;
129
+ }
130
+ if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {
131
+ return;
132
+ }
133
+ }
134
+ onMoveItem(newIndex, dragIndex);
135
+ item2.index = newIndex;
136
+ } else {
137
+ if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {
138
+ const minLength = Math.min(dragIndex.length, newIndex.length);
139
+ let areEqual = true;
140
+ let isLessThan = false;
141
+ let isGreaterThan = false;
142
+ for (let i = 0; i < minLength; i++) {
143
+ if (dragIndex[i] < newIndex[i]) {
144
+ isLessThan = true;
145
+ areEqual = false;
146
+ break;
147
+ } else if (dragIndex[i] > newIndex[i]) {
148
+ isGreaterThan = true;
149
+ areEqual = false;
150
+ break;
151
+ }
152
+ }
153
+ if (areEqual && dragIndex.length === newIndex.length) {
154
+ return;
155
+ }
156
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
157
+ if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {
158
+ return;
159
+ }
160
+ if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {
161
+ return;
162
+ }
163
+ }
164
+ }
165
+ onMoveItem(newIndex, dragIndex);
166
+ item2.index = newIndex;
167
+ }
168
+ }
169
+ });
170
+ const getDragDirection = (monitor) => {
171
+ if (monitor && monitor.isDragging() && !monitor.didDrop() && monitor.getInitialClientOffset() && monitor.getClientOffset()) {
172
+ const deltaY = monitor.getInitialClientOffset().y - monitor.getClientOffset().y;
173
+ if (deltaY > 0)
174
+ return DIRECTIONS.UPWARD;
175
+ if (deltaY < 0)
176
+ return DIRECTIONS.DOWNWARD;
177
+ return null;
178
+ }
179
+ return null;
180
+ };
181
+ const [{ isDragging, direction }, dragRef, dragPreviewRef] = useDrag({
182
+ type,
183
+ item() {
184
+ if (onStart) {
185
+ onStart();
186
+ }
187
+ const { width } = objectRef.current?.getBoundingClientRect() ?? {};
188
+ return { index, width, ...item };
189
+ },
190
+ end() {
191
+ if (onEnd) {
192
+ onEnd();
193
+ }
194
+ },
195
+ canDrag: active,
196
+ /**
197
+ * This is useful when the item is in a virtualized list.
198
+ * However, if we don't have an ID then we want the libraries
199
+ * defaults to take care of this.
200
+ */
201
+ isDragging: item?.id ? (monitor) => {
202
+ return item.id === monitor.getItem().id;
203
+ } : void 0,
204
+ collect: (monitor) => ({
205
+ isDragging: monitor.isDragging(),
206
+ initialOffset: monitor.getInitialClientOffset(),
207
+ currentOffset: monitor.getClientOffset(),
208
+ direction: getDragDirection(monitor)
209
+ })
210
+ });
211
+ const handleKeyDown = useKeyboardDragAndDrop(active, index, {
212
+ onGrabItem,
213
+ onDropItem,
214
+ onCancel,
215
+ onMoveItem
216
+ });
217
+ return [
218
+ { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },
219
+ objectRef,
220
+ dropRef,
221
+ dragRef,
222
+ dragPreviewRef
223
+ ];
224
+ };
225
+ export {
226
+ DROP_SENSITIVITY as D,
227
+ ItemTypes as I,
228
+ DIRECTIONS as a,
229
+ useDragAndDrop as u
230
+ };
231
+ //# sourceMappingURL=useDragAndDrop-DdHgKsqq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop-DdHgKsqq.mjs","sources":["../../admin/src/constants/dragAndDrop.ts","../../admin/src/hooks/useKeyboardDragAndDrop.ts","../../admin/src/hooks/useDragAndDrop.ts"],"sourcesContent":["export const ItemTypes = {\n COMPONENT: 'component',\n EDIT_FIELD: 'editField',\n FIELD: 'field',\n DYNAMIC_ZONE: 'dynamicZone',\n RELATION: 'relation',\n BLOCKS: 'blocks',\n} as const;\n","import * as React from 'react';\n\nexport type UseKeyboardDragAndDropCallbacks<TIndex extends number | Array<number> = number> = {\n onCancel?: (index: TIndex) => void;\n onDropItem?: (currentIndex: TIndex, newIndex?: TIndex) => void;\n onGrabItem?: (index: TIndex) => void;\n onMoveItem?: (newIndex: TIndex, currentIndex: TIndex) => void;\n};\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n */\nexport const useKeyboardDragAndDrop = <TIndex extends number | Array<number> = number>(\n active: boolean,\n index: TIndex,\n { onCancel, onDropItem, onGrabItem, onMoveItem }: UseKeyboardDragAndDropCallbacks<TIndex>\n) => {\n const [isSelected, setIsSelected] = React.useState(false);\n\n const handleMove = (movement: 'UP' | 'DOWN') => {\n if (!isSelected) {\n return;\n }\n if (typeof index === 'number' && onMoveItem) {\n if (movement === 'UP') {\n onMoveItem((index - 1) as TIndex, index);\n } else if (movement === 'DOWN') {\n onMoveItem((index + 1) as TIndex, index);\n }\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n const handleKeyDown = <E extends Element>(e: React.KeyboardEvent<E>) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import * as React from 'react';\n\nimport {\n useDrag,\n useDrop,\n type HandlerManager,\n type ConnectDragSource,\n type ConnectDropTarget,\n type ConnectDragPreview,\n type DragSourceMonitor,\n} from 'react-dnd';\n\nimport {\n useKeyboardDragAndDrop,\n type UseKeyboardDragAndDropCallbacks,\n} from './useKeyboardDragAndDrop';\n\nimport type { Data } from '@strapi/types';\n\nconst DIRECTIONS = {\n UPWARD: 'upward',\n DOWNWARD: 'downward',\n} as const;\n\nconst DROP_SENSITIVITY = {\n REGULAR: 'regular',\n IMMEDIATE: 'immediate',\n} as const;\n\ninterface UseDragAndDropOptions<\n TIndex extends number | Array<number> = number,\n TItem extends { index: TIndex } = { index: TIndex },\n> extends UseKeyboardDragAndDropCallbacks<TIndex> {\n type?: string;\n index: TIndex;\n item?: TItem;\n onStart?: () => void;\n onEnd?: () => void;\n dropSensitivity?: (typeof DROP_SENSITIVITY)[keyof typeof DROP_SENSITIVITY];\n}\n\ntype Identifier = ReturnType<HandlerManager['getHandlerId']>;\n\ntype UseDragAndDropReturn<E extends Element = HTMLElement> = [\n props: {\n handlerId: Identifier;\n isDragging: boolean;\n handleKeyDown: <E extends Element>(event: React.KeyboardEvent<E>) => void;\n isOverDropTarget: boolean;\n direction: (typeof DIRECTIONS)[keyof typeof DIRECTIONS] | null;\n },\n objectRef: React.RefObject<E>,\n dropRef: ConnectDropTarget,\n dragRef: ConnectDragSource,\n dragPreviewRef: ConnectDragPreview,\n];\n\ntype DropCollectedProps = {\n handlerId: Identifier;\n isOver: boolean;\n};\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n */\nconst useDragAndDrop = <\n TIndex extends number | Array<number>,\n TItem extends { index: TIndex; id?: Data.ID; [key: string]: unknown } = {\n index: TIndex;\n [key: string]: unknown;\n },\n E extends Element = HTMLElement,\n>(\n active: boolean,\n {\n type = 'STRAPI_DND',\n index,\n item,\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = DROP_SENSITIVITY.REGULAR,\n }: UseDragAndDropOptions<TIndex, TItem>\n): UseDragAndDropReturn<E> => {\n const objectRef = React.useRef<E>(null);\n\n const [{ handlerId, isOver }, dropRef] = useDrop<TItem, void, DropCollectedProps>({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n isOver: monitor.isOver({ shallow: true }),\n };\n },\n drop(item) {\n const draggedIndex = item.index;\n const newIndex = index;\n\n if (isOver && onDropItem) {\n onDropItem(draggedIndex, newIndex);\n }\n },\n hover(item, monitor) {\n if (!objectRef.current || !onMoveItem) {\n return;\n }\n\n const dragIndex = item.index;\n const newIndex = index;\n\n const hoverBoundingRect = objectRef.current?.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n if (!clientOffset) return;\n\n const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;\n if (typeof dragIndex === 'number' && typeof newIndex === 'number') {\n if (dragIndex === newIndex) {\n // Don't replace items with themselves\n return;\n }\n\n if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {\n // Dragging downwards\n if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newIndex, dragIndex);\n item.index = newIndex;\n } else {\n // Using numbers as indices doesn't work for nested list items with path like [1, 1, 0]\n if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {\n // Indices comparison to find item position in nested list\n const minLength = Math.min(dragIndex.length, newIndex.length);\n let areEqual = true;\n let isLessThan = false;\n let isGreaterThan = false;\n\n for (let i = 0; i < minLength; i++) {\n if (dragIndex[i] < newIndex[i]) {\n isLessThan = true;\n areEqual = false;\n break;\n } else if (dragIndex[i] > newIndex[i]) {\n isGreaterThan = true;\n areEqual = false;\n break;\n }\n }\n\n // Don't replace items with themselves\n if (areEqual && dragIndex.length === newIndex.length) {\n return;\n }\n\n if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {\n // Dragging downwards\n if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n }\n\n onMoveItem(newIndex, dragIndex);\n item.index = newIndex;\n }\n },\n });\n\n const getDragDirection = (monitor: DragSourceMonitor<TItem, void>) => {\n if (\n monitor &&\n monitor.isDragging() &&\n !monitor.didDrop() &&\n monitor.getInitialClientOffset() &&\n monitor.getClientOffset()\n ) {\n const deltaY = monitor.getInitialClientOffset()!.y - monitor.getClientOffset()!.y;\n\n if (deltaY > 0) return DIRECTIONS.UPWARD;\n\n if (deltaY < 0) return DIRECTIONS.DOWNWARD;\n\n return null;\n }\n\n return null;\n };\n\n const [{ isDragging, direction }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item?.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n initialOffset: monitor.getInitialClientOffset(),\n currentOffset: monitor.getClientOffset(),\n direction: getDragDirection(monitor),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [\n { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },\n objectRef,\n dropRef,\n dragRef,\n dragPreviewRef,\n ];\n};\n\nexport {\n useDragAndDrop,\n UseDragAndDropReturn,\n UseDragAndDropOptions,\n DIRECTIONS,\n DROP_SENSITIVITY,\n};\n"],"names":["item"],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ const React = require("react");
3
+ const reactDnd = require("react-dnd");
4
+ function _interopNamespace(e) {
5
+ if (e && e.__esModule)
6
+ return e;
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
23
+ const ItemTypes = {
24
+ COMPONENT: "component",
25
+ EDIT_FIELD: "editField",
26
+ FIELD: "field",
27
+ DYNAMIC_ZONE: "dynamicZone",
28
+ RELATION: "relation",
29
+ BLOCKS: "blocks"
30
+ };
31
+ const useKeyboardDragAndDrop = (active, index, { onCancel, onDropItem, onGrabItem, onMoveItem }) => {
32
+ const [isSelected, setIsSelected] = React__namespace.useState(false);
33
+ const handleMove = (movement) => {
34
+ if (!isSelected) {
35
+ return;
36
+ }
37
+ if (typeof index === "number" && onMoveItem) {
38
+ if (movement === "UP") {
39
+ onMoveItem(index - 1, index);
40
+ } else if (movement === "DOWN") {
41
+ onMoveItem(index + 1, index);
42
+ }
43
+ }
44
+ };
45
+ const handleDragClick = () => {
46
+ if (isSelected) {
47
+ if (onDropItem) {
48
+ onDropItem(index);
49
+ }
50
+ setIsSelected(false);
51
+ } else {
52
+ if (onGrabItem) {
53
+ onGrabItem(index);
54
+ }
55
+ setIsSelected(true);
56
+ }
57
+ };
58
+ const handleCancel = () => {
59
+ if (isSelected) {
60
+ setIsSelected(false);
61
+ if (onCancel) {
62
+ onCancel(index);
63
+ }
64
+ }
65
+ };
66
+ const handleKeyDown = (e) => {
67
+ if (!active) {
68
+ return;
69
+ }
70
+ if (e.key === "Tab" && !isSelected) {
71
+ return;
72
+ }
73
+ e.preventDefault();
74
+ switch (e.key) {
75
+ case " ":
76
+ case "Enter":
77
+ handleDragClick();
78
+ break;
79
+ case "Escape":
80
+ handleCancel();
81
+ break;
82
+ case "ArrowDown":
83
+ case "ArrowRight":
84
+ handleMove("DOWN");
85
+ break;
86
+ case "ArrowUp":
87
+ case "ArrowLeft":
88
+ handleMove("UP");
89
+ break;
90
+ }
91
+ };
92
+ return handleKeyDown;
93
+ };
94
+ const DIRECTIONS = {
95
+ UPWARD: "upward",
96
+ DOWNWARD: "downward"
97
+ };
98
+ const DROP_SENSITIVITY = {
99
+ REGULAR: "regular",
100
+ IMMEDIATE: "immediate"
101
+ };
102
+ const useDragAndDrop = (active, {
103
+ type = "STRAPI_DND",
104
+ index,
105
+ item,
106
+ onStart,
107
+ onEnd,
108
+ onGrabItem,
109
+ onDropItem,
110
+ onCancel,
111
+ onMoveItem,
112
+ dropSensitivity = DROP_SENSITIVITY.REGULAR
113
+ }) => {
114
+ const objectRef = React__namespace.useRef(null);
115
+ const [{ handlerId, isOver }, dropRef] = reactDnd.useDrop({
116
+ accept: type,
117
+ collect(monitor) {
118
+ return {
119
+ handlerId: monitor.getHandlerId(),
120
+ isOver: monitor.isOver({ shallow: true })
121
+ };
122
+ },
123
+ drop(item2) {
124
+ const draggedIndex = item2.index;
125
+ const newIndex = index;
126
+ if (isOver && onDropItem) {
127
+ onDropItem(draggedIndex, newIndex);
128
+ }
129
+ },
130
+ hover(item2, monitor) {
131
+ if (!objectRef.current || !onMoveItem) {
132
+ return;
133
+ }
134
+ const dragIndex = item2.index;
135
+ const newIndex = index;
136
+ const hoverBoundingRect = objectRef.current?.getBoundingClientRect();
137
+ const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
138
+ const clientOffset = monitor.getClientOffset();
139
+ if (!clientOffset)
140
+ return;
141
+ const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;
142
+ if (typeof dragIndex === "number" && typeof newIndex === "number") {
143
+ if (dragIndex === newIndex) {
144
+ return;
145
+ }
146
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
147
+ if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {
148
+ return;
149
+ }
150
+ if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {
151
+ return;
152
+ }
153
+ }
154
+ onMoveItem(newIndex, dragIndex);
155
+ item2.index = newIndex;
156
+ } else {
157
+ if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {
158
+ const minLength = Math.min(dragIndex.length, newIndex.length);
159
+ let areEqual = true;
160
+ let isLessThan = false;
161
+ let isGreaterThan = false;
162
+ for (let i = 0; i < minLength; i++) {
163
+ if (dragIndex[i] < newIndex[i]) {
164
+ isLessThan = true;
165
+ areEqual = false;
166
+ break;
167
+ } else if (dragIndex[i] > newIndex[i]) {
168
+ isGreaterThan = true;
169
+ areEqual = false;
170
+ break;
171
+ }
172
+ }
173
+ if (areEqual && dragIndex.length === newIndex.length) {
174
+ return;
175
+ }
176
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
177
+ if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {
178
+ return;
179
+ }
180
+ if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {
181
+ return;
182
+ }
183
+ }
184
+ }
185
+ onMoveItem(newIndex, dragIndex);
186
+ item2.index = newIndex;
187
+ }
188
+ }
189
+ });
190
+ const getDragDirection = (monitor) => {
191
+ if (monitor && monitor.isDragging() && !monitor.didDrop() && monitor.getInitialClientOffset() && monitor.getClientOffset()) {
192
+ const deltaY = monitor.getInitialClientOffset().y - monitor.getClientOffset().y;
193
+ if (deltaY > 0)
194
+ return DIRECTIONS.UPWARD;
195
+ if (deltaY < 0)
196
+ return DIRECTIONS.DOWNWARD;
197
+ return null;
198
+ }
199
+ return null;
200
+ };
201
+ const [{ isDragging, direction }, dragRef, dragPreviewRef] = reactDnd.useDrag({
202
+ type,
203
+ item() {
204
+ if (onStart) {
205
+ onStart();
206
+ }
207
+ const { width } = objectRef.current?.getBoundingClientRect() ?? {};
208
+ return { index, width, ...item };
209
+ },
210
+ end() {
211
+ if (onEnd) {
212
+ onEnd();
213
+ }
214
+ },
215
+ canDrag: active,
216
+ /**
217
+ * This is useful when the item is in a virtualized list.
218
+ * However, if we don't have an ID then we want the libraries
219
+ * defaults to take care of this.
220
+ */
221
+ isDragging: item?.id ? (monitor) => {
222
+ return item.id === monitor.getItem().id;
223
+ } : void 0,
224
+ collect: (monitor) => ({
225
+ isDragging: monitor.isDragging(),
226
+ initialOffset: monitor.getInitialClientOffset(),
227
+ currentOffset: monitor.getClientOffset(),
228
+ direction: getDragDirection(monitor)
229
+ })
230
+ });
231
+ const handleKeyDown = useKeyboardDragAndDrop(active, index, {
232
+ onGrabItem,
233
+ onDropItem,
234
+ onCancel,
235
+ onMoveItem
236
+ });
237
+ return [
238
+ { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },
239
+ objectRef,
240
+ dropRef,
241
+ dragRef,
242
+ dragPreviewRef
243
+ ];
244
+ };
245
+ exports.DIRECTIONS = DIRECTIONS;
246
+ exports.DROP_SENSITIVITY = DROP_SENSITIVITY;
247
+ exports.ItemTypes = ItemTypes;
248
+ exports.useDragAndDrop = useDragAndDrop;
249
+ //# sourceMappingURL=useDragAndDrop-J0TUUbR6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop-J0TUUbR6.js","sources":["../../admin/src/constants/dragAndDrop.ts","../../admin/src/hooks/useKeyboardDragAndDrop.ts","../../admin/src/hooks/useDragAndDrop.ts"],"sourcesContent":["export const ItemTypes = {\n COMPONENT: 'component',\n EDIT_FIELD: 'editField',\n FIELD: 'field',\n DYNAMIC_ZONE: 'dynamicZone',\n RELATION: 'relation',\n BLOCKS: 'blocks',\n} as const;\n","import * as React from 'react';\n\nexport type UseKeyboardDragAndDropCallbacks<TIndex extends number | Array<number> = number> = {\n onCancel?: (index: TIndex) => void;\n onDropItem?: (currentIndex: TIndex, newIndex?: TIndex) => void;\n onGrabItem?: (index: TIndex) => void;\n onMoveItem?: (newIndex: TIndex, currentIndex: TIndex) => void;\n};\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n */\nexport const useKeyboardDragAndDrop = <TIndex extends number | Array<number> = number>(\n active: boolean,\n index: TIndex,\n { onCancel, onDropItem, onGrabItem, onMoveItem }: UseKeyboardDragAndDropCallbacks<TIndex>\n) => {\n const [isSelected, setIsSelected] = React.useState(false);\n\n const handleMove = (movement: 'UP' | 'DOWN') => {\n if (!isSelected) {\n return;\n }\n if (typeof index === 'number' && onMoveItem) {\n if (movement === 'UP') {\n onMoveItem((index - 1) as TIndex, index);\n } else if (movement === 'DOWN') {\n onMoveItem((index + 1) as TIndex, index);\n }\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n const handleKeyDown = <E extends Element>(e: React.KeyboardEvent<E>) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import * as React from 'react';\n\nimport {\n useDrag,\n useDrop,\n type HandlerManager,\n type ConnectDragSource,\n type ConnectDropTarget,\n type ConnectDragPreview,\n type DragSourceMonitor,\n} from 'react-dnd';\n\nimport {\n useKeyboardDragAndDrop,\n type UseKeyboardDragAndDropCallbacks,\n} from './useKeyboardDragAndDrop';\n\nimport type { Data } from '@strapi/types';\n\nconst DIRECTIONS = {\n UPWARD: 'upward',\n DOWNWARD: 'downward',\n} as const;\n\nconst DROP_SENSITIVITY = {\n REGULAR: 'regular',\n IMMEDIATE: 'immediate',\n} as const;\n\ninterface UseDragAndDropOptions<\n TIndex extends number | Array<number> = number,\n TItem extends { index: TIndex } = { index: TIndex },\n> extends UseKeyboardDragAndDropCallbacks<TIndex> {\n type?: string;\n index: TIndex;\n item?: TItem;\n onStart?: () => void;\n onEnd?: () => void;\n dropSensitivity?: (typeof DROP_SENSITIVITY)[keyof typeof DROP_SENSITIVITY];\n}\n\ntype Identifier = ReturnType<HandlerManager['getHandlerId']>;\n\ntype UseDragAndDropReturn<E extends Element = HTMLElement> = [\n props: {\n handlerId: Identifier;\n isDragging: boolean;\n handleKeyDown: <E extends Element>(event: React.KeyboardEvent<E>) => void;\n isOverDropTarget: boolean;\n direction: (typeof DIRECTIONS)[keyof typeof DIRECTIONS] | null;\n },\n objectRef: React.RefObject<E>,\n dropRef: ConnectDropTarget,\n dragRef: ConnectDragSource,\n dragPreviewRef: ConnectDragPreview,\n];\n\ntype DropCollectedProps = {\n handlerId: Identifier;\n isOver: boolean;\n};\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n */\nconst useDragAndDrop = <\n TIndex extends number | Array<number>,\n TItem extends { index: TIndex; id?: Data.ID; [key: string]: unknown } = {\n index: TIndex;\n [key: string]: unknown;\n },\n E extends Element = HTMLElement,\n>(\n active: boolean,\n {\n type = 'STRAPI_DND',\n index,\n item,\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = DROP_SENSITIVITY.REGULAR,\n }: UseDragAndDropOptions<TIndex, TItem>\n): UseDragAndDropReturn<E> => {\n const objectRef = React.useRef<E>(null);\n\n const [{ handlerId, isOver }, dropRef] = useDrop<TItem, void, DropCollectedProps>({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n isOver: monitor.isOver({ shallow: true }),\n };\n },\n drop(item) {\n const draggedIndex = item.index;\n const newIndex = index;\n\n if (isOver && onDropItem) {\n onDropItem(draggedIndex, newIndex);\n }\n },\n hover(item, monitor) {\n if (!objectRef.current || !onMoveItem) {\n return;\n }\n\n const dragIndex = item.index;\n const newIndex = index;\n\n const hoverBoundingRect = objectRef.current?.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n if (!clientOffset) return;\n\n const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;\n if (typeof dragIndex === 'number' && typeof newIndex === 'number') {\n if (dragIndex === newIndex) {\n // Don't replace items with themselves\n return;\n }\n\n if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {\n // Dragging downwards\n if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newIndex, dragIndex);\n item.index = newIndex;\n } else {\n // Using numbers as indices doesn't work for nested list items with path like [1, 1, 0]\n if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {\n // Indices comparison to find item position in nested list\n const minLength = Math.min(dragIndex.length, newIndex.length);\n let areEqual = true;\n let isLessThan = false;\n let isGreaterThan = false;\n\n for (let i = 0; i < minLength; i++) {\n if (dragIndex[i] < newIndex[i]) {\n isLessThan = true;\n areEqual = false;\n break;\n } else if (dragIndex[i] > newIndex[i]) {\n isGreaterThan = true;\n areEqual = false;\n break;\n }\n }\n\n // Don't replace items with themselves\n if (areEqual && dragIndex.length === newIndex.length) {\n return;\n }\n\n if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {\n // Dragging downwards\n if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n }\n\n onMoveItem(newIndex, dragIndex);\n item.index = newIndex;\n }\n },\n });\n\n const getDragDirection = (monitor: DragSourceMonitor<TItem, void>) => {\n if (\n monitor &&\n monitor.isDragging() &&\n !monitor.didDrop() &&\n monitor.getInitialClientOffset() &&\n monitor.getClientOffset()\n ) {\n const deltaY = monitor.getInitialClientOffset()!.y - monitor.getClientOffset()!.y;\n\n if (deltaY > 0) return DIRECTIONS.UPWARD;\n\n if (deltaY < 0) return DIRECTIONS.DOWNWARD;\n\n return null;\n }\n\n return null;\n };\n\n const [{ isDragging, direction }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item?.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n initialOffset: monitor.getInitialClientOffset(),\n currentOffset: monitor.getClientOffset(),\n direction: getDragDirection(monitor),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [\n { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },\n objectRef,\n dropRef,\n dragRef,\n dragPreviewRef,\n ];\n};\n\nexport {\n useDragAndDrop,\n UseDragAndDropReturn,\n UseDragAndDropOptions,\n DIRECTIONS,\n DROP_SENSITIVITY,\n};\n"],"names":["React","useDrop","item","useDrag"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ const React = require("react");
3
+ const prefixFileUrlWithBackendUrl = (fileURL) => {
4
+ return !!fileURL && fileURL.startsWith("/") ? `${window.strapi.backendURL}${fileURL}` : fileURL;
5
+ };
6
+ const usePrev = (value) => {
7
+ const ref = React.useRef();
8
+ React.useEffect(() => {
9
+ ref.current = value;
10
+ }, [value]);
11
+ return ref.current;
12
+ };
13
+ exports.prefixFileUrlWithBackendUrl = prefixFileUrlWithBackendUrl;
14
+ exports.usePrev = usePrev;
15
+ //# sourceMappingURL=usePrev-B9w_-eYc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrev-B9w_-eYc.js","sources":["../../admin/src/utils/urls.ts","../../admin/src/hooks/usePrev.ts"],"sourcesContent":["const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\nexport { prefixFileUrlWithBackendUrl };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n"],"names":["useRef","useEffect"],"mappings":";;AAAM,MAAA,8BAA8B,CAAC,YAAyC;AAC5E,SAAO,CAAC,CAAC,WAAW,QAAQ,WAAW,GAAG,IAAI,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,KAAK;AAC1F;ACAa,MAAA,UAAU,CAAI,UAA4B;AACrD,QAAM,MAAMA,MAAAA;AAEZC,QAAAA,UAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAAA,GACb,CAAC,KAAK,CAAC;AAEV,SAAO,IAAI;AACb;;;"}
@@ -0,0 +1,16 @@
1
+ import { useRef, useEffect } from "react";
2
+ const prefixFileUrlWithBackendUrl = (fileURL) => {
3
+ return !!fileURL && fileURL.startsWith("/") ? `${window.strapi.backendURL}${fileURL}` : fileURL;
4
+ };
5
+ const usePrev = (value) => {
6
+ const ref = useRef();
7
+ useEffect(() => {
8
+ ref.current = value;
9
+ }, [value]);
10
+ return ref.current;
11
+ };
12
+ export {
13
+ prefixFileUrlWithBackendUrl as p,
14
+ usePrev as u
15
+ };
16
+ //# sourceMappingURL=usePrev-DH6iah0A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrev-DH6iah0A.mjs","sources":["../../admin/src/utils/urls.ts","../../admin/src/hooks/usePrev.ts"],"sourcesContent":["const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\nexport { prefixFileUrlWithBackendUrl };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n"],"names":[],"mappings":";AAAM,MAAA,8BAA8B,CAAC,YAAyC;AAC5E,SAAO,CAAC,CAAC,WAAW,QAAQ,WAAW,GAAG,IAAI,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,KAAK;AAC1F;ACAa,MAAA,UAAU,CAAI,UAA4B;AACrD,QAAM,MAAM;AAEZ,YAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAAA,GACb,CAAC,KAAK,CAAC;AAEV,SAAO,IAAI;AACb;"}