@strapi/content-manager 0.0.0-experimental.cffeb3f30bb8beaa0d2a247ba56da461781c6690 → 0.0.0-experimental.d042f6a350fa3a48d61e7c56875e2a0a7ba3c8f5

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 (437) hide show
  1. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +69 -0
  2. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
  3. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +70 -0
  4. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
  5. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs +236 -0
  6. package/dist/_chunks/ComponentConfigurationPage-9_4yUE9L.mjs.map +1 -0
  7. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js +254 -0
  8. package/dist/_chunks/ComponentConfigurationPage-DBSh-kET.js.map +1 -0
  9. package/dist/_chunks/ComponentIcon-CRbtQEUV.js +175 -0
  10. package/dist/_chunks/ComponentIcon-CRbtQEUV.js.map +1 -0
  11. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +157 -0
  12. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -0
  13. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js +150 -0
  14. package/dist/_chunks/EditConfigurationPage-Bl_U2JgH.js.map +1 -0
  15. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs +132 -0
  16. package/dist/_chunks/EditConfigurationPage-COe6hjPC.mjs.map +1 -0
  17. package/dist/_chunks/EditViewPage-D4yFJET6.js +209 -0
  18. package/dist/_chunks/EditViewPage-D4yFJET6.js.map +1 -0
  19. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs +191 -0
  20. package/dist/_chunks/EditViewPage-DrmVmYN0.mjs.map +1 -0
  21. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +50 -0
  22. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -0
  23. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +49 -0
  24. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -0
  25. package/dist/_chunks/Form-C4rSaGsz.js +778 -0
  26. package/dist/_chunks/Form-C4rSaGsz.js.map +1 -0
  27. package/dist/_chunks/Form-DamaxNpG.mjs +758 -0
  28. package/dist/_chunks/Form-DamaxNpG.mjs.map +1 -0
  29. package/dist/_chunks/History-D1PreDSY.mjs +999 -0
  30. package/dist/_chunks/History-D1PreDSY.mjs.map +1 -0
  31. package/dist/_chunks/History-DTm8UCCQ.js +1019 -0
  32. package/dist/_chunks/History-DTm8UCCQ.js.map +1 -0
  33. package/dist/_chunks/Input-B7sapvBG.js +5617 -0
  34. package/dist/_chunks/Input-B7sapvBG.js.map +1 -0
  35. package/dist/_chunks/Input-CZ1YvjHR.mjs +5585 -0
  36. package/dist/_chunks/Input-CZ1YvjHR.mjs.map +1 -0
  37. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs +633 -0
  38. package/dist/_chunks/ListConfigurationPage-Bbi32isk.mjs.map +1 -0
  39. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js +652 -0
  40. package/dist/_chunks/ListConfigurationPage-ysFMjKI3.js.map +1 -0
  41. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs +854 -0
  42. package/dist/_chunks/ListViewPage-Bud_jBDQ.mjs.map +1 -0
  43. package/dist/_chunks/ListViewPage-DTuuxU3n.js +877 -0
  44. package/dist/_chunks/ListViewPage-DTuuxU3n.js.map +1 -0
  45. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js +51 -0
  46. package/dist/_chunks/NoContentTypePage-CL7VVeYs.js.map +1 -0
  47. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs +51 -0
  48. package/dist/_chunks/NoContentTypePage-DVhkugsf.mjs.map +1 -0
  49. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs +23 -0
  50. package/dist/_chunks/NoPermissionsPage-CMdM-dCo.mjs.map +1 -0
  51. package/dist/_chunks/NoPermissionsPage-v7I599vC.js +23 -0
  52. package/dist/_chunks/NoPermissionsPage-v7I599vC.js.map +1 -0
  53. package/dist/_chunks/Preview-BNuU0SuQ.mjs +287 -0
  54. package/dist/_chunks/Preview-BNuU0SuQ.mjs.map +1 -0
  55. package/dist/_chunks/Preview-Cxq-uI6D.js +305 -0
  56. package/dist/_chunks/Preview-Cxq-uI6D.js.map +1 -0
  57. package/dist/_chunks/Relations-C2Ahkrdg.mjs +728 -0
  58. package/dist/_chunks/Relations-C2Ahkrdg.mjs.map +1 -0
  59. package/dist/_chunks/Relations-CWS79QQn.js +747 -0
  60. package/dist/_chunks/Relations-CWS79QQn.js.map +1 -0
  61. package/dist/_chunks/ar-BUUWXIYu.js +226 -0
  62. package/dist/{admin/chunks/ar-DckYq_WK.js.map → _chunks/ar-BUUWXIYu.js.map} +1 -1
  63. package/dist/_chunks/ar-CCEVvqGG.mjs +226 -0
  64. package/dist/_chunks/ar-CCEVvqGG.mjs.map +1 -0
  65. package/dist/_chunks/ca-5U32ON2v.mjs +201 -0
  66. package/dist/_chunks/ca-5U32ON2v.mjs.map +1 -0
  67. package/dist/_chunks/ca-Cmk45QO6.js +201 -0
  68. package/dist/{admin/chunks/de-CbImAUA5.js.map → _chunks/ca-Cmk45QO6.js.map} +1 -1
  69. package/dist/_chunks/cs-CM2aBUar.mjs +125 -0
  70. package/dist/_chunks/cs-CM2aBUar.mjs.map +1 -0
  71. package/dist/_chunks/cs-CkJy6B2v.js +125 -0
  72. package/dist/{admin/chunks/cs-C7OSYFQ7.js.map → _chunks/cs-CkJy6B2v.js.map} +1 -1
  73. package/dist/_chunks/de-C72KDNOl.mjs +199 -0
  74. package/dist/_chunks/de-C72KDNOl.mjs.map +1 -0
  75. package/dist/_chunks/de-CCEmbAah.js +199 -0
  76. package/dist/{admin/chunks/es-C8vLuvZL.js.map → _chunks/de-CCEmbAah.js.map} +1 -1
  77. package/dist/_chunks/en-BR48D_RH.js +312 -0
  78. package/dist/{admin/chunks/en-DB7sPJVj.js.map → _chunks/en-BR48D_RH.js.map} +1 -1
  79. package/dist/_chunks/en-D65uIF6Y.mjs +312 -0
  80. package/dist/{admin/chunks/en-1xHet_GV.js.map → _chunks/en-D65uIF6Y.mjs.map} +1 -1
  81. package/dist/_chunks/es-9K52xZIr.js +196 -0
  82. package/dist/{admin/chunks/de-5QRlDHyR.js.map → _chunks/es-9K52xZIr.js.map} +1 -1
  83. package/dist/_chunks/es-D34tqjMw.mjs +196 -0
  84. package/dist/_chunks/es-D34tqjMw.mjs.map +1 -0
  85. package/dist/_chunks/eu-CdALomew.mjs +202 -0
  86. package/dist/_chunks/eu-CdALomew.mjs.map +1 -0
  87. package/dist/_chunks/eu-VDH-3ovk.js +202 -0
  88. package/dist/_chunks/eu-VDH-3ovk.js.map +1 -0
  89. package/dist/_chunks/fr-C43IbhA_.js +219 -0
  90. package/dist/_chunks/fr-C43IbhA_.js.map +1 -0
  91. package/dist/_chunks/fr-DBseuRuB.mjs +219 -0
  92. package/dist/_chunks/fr-DBseuRuB.mjs.map +1 -0
  93. package/dist/_chunks/gu-BRmF601H.js +200 -0
  94. package/dist/_chunks/gu-BRmF601H.js.map +1 -0
  95. package/dist/_chunks/gu-CNpaMDpH.mjs +200 -0
  96. package/dist/_chunks/gu-CNpaMDpH.mjs.map +1 -0
  97. package/dist/_chunks/hi-CCJBptSq.js +200 -0
  98. package/dist/_chunks/hi-CCJBptSq.js.map +1 -0
  99. package/dist/_chunks/hi-Dwvd04m3.mjs +200 -0
  100. package/dist/_chunks/hi-Dwvd04m3.mjs.map +1 -0
  101. package/dist/{admin/chunks/hooks-D-sOYd1s.js → _chunks/hooks-BAaaKPS_.js} +3 -6
  102. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -0
  103. package/dist/_chunks/hooks-E5u1mcgM.mjs +8 -0
  104. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +1 -0
  105. package/dist/_chunks/hu-CeYvaaO0.mjs +202 -0
  106. package/dist/_chunks/hu-CeYvaaO0.mjs.map +1 -0
  107. package/dist/_chunks/hu-sNV_yLYy.js +202 -0
  108. package/dist/_chunks/hu-sNV_yLYy.js.map +1 -0
  109. package/dist/_chunks/id-B5Ser98A.js +160 -0
  110. package/dist/{admin/chunks/it-BAHrwmYS.js.map → _chunks/id-B5Ser98A.js.map} +1 -1
  111. package/dist/_chunks/id-BtwA9WJT.mjs +160 -0
  112. package/dist/_chunks/id-BtwA9WJT.mjs.map +1 -0
  113. package/dist/_chunks/index-DQsvBb_N.js +4500 -0
  114. package/dist/_chunks/index-DQsvBb_N.js.map +1 -0
  115. package/dist/_chunks/index-ZKrsjv-2.mjs +4481 -0
  116. package/dist/_chunks/index-ZKrsjv-2.mjs.map +1 -0
  117. package/dist/_chunks/it-BrVPqaf1.mjs +162 -0
  118. package/dist/_chunks/it-BrVPqaf1.mjs.map +1 -0
  119. package/dist/_chunks/it-DkBIs7vD.js +162 -0
  120. package/dist/{admin/chunks/id-D7V5S1rB.js.map → _chunks/it-DkBIs7vD.js.map} +1 -1
  121. package/dist/_chunks/ja-7sfIbjxE.js +196 -0
  122. package/dist/{admin/chunks/it-CQFpa_Dc.js.map → _chunks/ja-7sfIbjxE.js.map} +1 -1
  123. package/dist/_chunks/ja-BHqhDq4V.mjs +196 -0
  124. package/dist/_chunks/ja-BHqhDq4V.mjs.map +1 -0
  125. package/dist/_chunks/ko-HVQRlfUI.mjs +195 -0
  126. package/dist/_chunks/ko-HVQRlfUI.mjs.map +1 -0
  127. package/dist/_chunks/ko-woFZPmLk.js +195 -0
  128. package/dist/{admin/chunks/es-DkoWSExG.js.map → _chunks/ko-woFZPmLk.js.map} +1 -1
  129. package/dist/_chunks/layout-Cl0NhlQB.js +488 -0
  130. package/dist/_chunks/layout-Cl0NhlQB.js.map +1 -0
  131. package/dist/_chunks/layout-fQk1rMk9.mjs +471 -0
  132. package/dist/_chunks/layout-fQk1rMk9.mjs.map +1 -0
  133. package/dist/_chunks/ml-BihZwQit.mjs +200 -0
  134. package/dist/_chunks/ml-BihZwQit.mjs.map +1 -0
  135. package/dist/_chunks/ml-C2W8N8k1.js +200 -0
  136. package/dist/_chunks/ml-C2W8N8k1.js.map +1 -0
  137. package/dist/_chunks/ms-BuFotyP_.js +144 -0
  138. package/dist/{admin/chunks/cs-BJFxwIWj.js.map → _chunks/ms-BuFotyP_.js.map} +1 -1
  139. package/dist/_chunks/ms-m_WjyWx7.mjs +144 -0
  140. package/dist/_chunks/ms-m_WjyWx7.mjs.map +1 -0
  141. package/dist/_chunks/nl-D4R9gHx5.mjs +202 -0
  142. package/dist/_chunks/nl-D4R9gHx5.mjs.map +1 -0
  143. package/dist/_chunks/nl-bbEOHChV.js +202 -0
  144. package/dist/_chunks/nl-bbEOHChV.js.map +1 -0
  145. package/dist/_chunks/objects-BcXOv6_9.js +47 -0
  146. package/dist/_chunks/objects-BcXOv6_9.js.map +1 -0
  147. package/dist/_chunks/objects-D6yBsdmx.mjs +45 -0
  148. package/dist/_chunks/objects-D6yBsdmx.mjs.map +1 -0
  149. package/dist/_chunks/pl-sbx9mSt_.mjs +199 -0
  150. package/dist/_chunks/pl-sbx9mSt_.mjs.map +1 -0
  151. package/dist/_chunks/pl-uzwG-hk7.js +199 -0
  152. package/dist/{admin/chunks/ca-DviY7mRj.js.map → _chunks/pl-uzwG-hk7.js.map} +1 -1
  153. package/dist/_chunks/pt-BR-BiOz37D9.js +201 -0
  154. package/dist/{admin/chunks/pt-BR-CcotyBGJ.js.map → _chunks/pt-BR-BiOz37D9.js.map} +1 -1
  155. package/dist/_chunks/pt-BR-C71iDxnh.mjs +201 -0
  156. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +1 -0
  157. package/dist/_chunks/pt-BsaFvS8-.mjs +95 -0
  158. package/dist/_chunks/pt-BsaFvS8-.mjs.map +1 -0
  159. package/dist/_chunks/pt-CeXQuq50.js +95 -0
  160. package/dist/_chunks/pt-CeXQuq50.js.map +1 -0
  161. package/dist/_chunks/relations-BRfBxVbX.js +133 -0
  162. package/dist/_chunks/relations-BRfBxVbX.js.map +1 -0
  163. package/dist/_chunks/relations-BakOFl_1.mjs +134 -0
  164. package/dist/_chunks/relations-BakOFl_1.mjs.map +1 -0
  165. package/dist/_chunks/ru-BE6A4Exp.mjs +231 -0
  166. package/dist/{admin/chunks/ar-DeQBSsfl.js.map → _chunks/ru-BE6A4Exp.mjs.map} +1 -1
  167. package/dist/_chunks/ru-BT3ybNny.js +231 -0
  168. package/dist/{admin/chunks/ru-CB4BUyQp.js.map → _chunks/ru-BT3ybNny.js.map} +1 -1
  169. package/dist/_chunks/sa-CcvkYInH.js +200 -0
  170. package/dist/_chunks/sa-CcvkYInH.js.map +1 -0
  171. package/dist/_chunks/sa-Dag0k-Z8.mjs +200 -0
  172. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +1 -0
  173. package/dist/_chunks/sk-BFg-R8qJ.mjs +202 -0
  174. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +1 -0
  175. package/dist/_chunks/sk-CvY09Xjv.js +202 -0
  176. package/dist/_chunks/sk-CvY09Xjv.js.map +1 -0
  177. package/dist/_chunks/sv-CUnfWGsh.mjs +202 -0
  178. package/dist/_chunks/sv-CUnfWGsh.mjs.map +1 -0
  179. package/dist/_chunks/sv-MYDuzgvT.js +202 -0
  180. package/dist/_chunks/sv-MYDuzgvT.js.map +1 -0
  181. package/dist/_chunks/th-BqbI8lIT.mjs +148 -0
  182. package/dist/_chunks/th-BqbI8lIT.mjs.map +1 -0
  183. package/dist/_chunks/th-D9_GfAjc.js +148 -0
  184. package/dist/{admin/chunks/ms-CvSC0OdG.js.map → _chunks/th-D9_GfAjc.js.map} +1 -1
  185. package/dist/_chunks/tr-CgeK3wJM.mjs +199 -0
  186. package/dist/_chunks/tr-CgeK3wJM.mjs.map +1 -0
  187. package/dist/_chunks/tr-D9UH-O_R.js +199 -0
  188. package/dist/_chunks/tr-D9UH-O_R.js.map +1 -0
  189. package/dist/_chunks/uk-C8EiqJY7.js +144 -0
  190. package/dist/{admin/chunks/ms-Bh09NFff.js.map → _chunks/uk-C8EiqJY7.js.map} +1 -1
  191. package/dist/_chunks/uk-CR-zDhAY.mjs +144 -0
  192. package/dist/_chunks/uk-CR-zDhAY.mjs.map +1 -0
  193. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js +245 -0
  194. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js.map +1 -0
  195. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs +228 -0
  196. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs.map +1 -0
  197. package/dist/_chunks/usePrev-CZGy2Vjf.mjs +29 -0
  198. package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +1 -0
  199. package/dist/_chunks/usePrev-D5J_2fEu.js +28 -0
  200. package/dist/_chunks/usePrev-D5J_2fEu.js.map +1 -0
  201. package/dist/_chunks/vi-CJlYDheJ.js +111 -0
  202. package/dist/{admin/chunks/vi-CvBGlTjr.js.map → _chunks/vi-CJlYDheJ.js.map} +1 -1
  203. package/dist/_chunks/vi-DUXIk_fw.mjs +111 -0
  204. package/dist/_chunks/vi-DUXIk_fw.mjs.map +1 -0
  205. package/dist/_chunks/zh-BWZspA60.mjs +209 -0
  206. package/dist/_chunks/zh-BWZspA60.mjs.map +1 -0
  207. package/dist/_chunks/zh-CQQfszqR.js +209 -0
  208. package/dist/{admin/chunks/ca-ClDTvatJ.js.map → _chunks/zh-CQQfszqR.js.map} +1 -1
  209. package/dist/_chunks/zh-Hans-9kOncHGw.js +952 -0
  210. package/dist/{admin/chunks/zh-Hans-CI0HKio3.js.map → _chunks/zh-Hans-9kOncHGw.js.map} +1 -1
  211. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +952 -0
  212. package/dist/{admin/chunks/zh-Hans-JVK9x7xr.js.map → _chunks/zh-Hans-BPQcRIyH.mjs.map} +1 -1
  213. package/dist/admin/index.js +4 -23
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +13 -16
  216. package/dist/admin/index.mjs.map +1 -1
  217. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  218. package/dist/admin/src/hooks/useDocument.d.ts +2 -2
  219. package/dist/admin/src/preview/index.d.ts +3 -2
  220. package/dist/server/index.js +4396 -5468
  221. package/dist/server/index.js.map +1 -1
  222. package/dist/server/index.mjs +4368 -5442
  223. package/dist/server/index.mjs.map +1 -1
  224. package/dist/server/src/controllers/utils/metadata.d.ts +1 -1
  225. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  226. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  227. package/dist/server/src/services/utils/count.d.ts +1 -1
  228. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  229. package/dist/server/src/services/utils/populate.d.ts +1 -1
  230. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  231. package/dist/shared/contracts/collection-types.d.ts +1 -0
  232. package/dist/shared/contracts/components.d.ts +1 -0
  233. package/dist/shared/contracts/content-types.d.ts +1 -0
  234. package/dist/shared/contracts/history-versions.d.ts +1 -0
  235. package/dist/shared/contracts/index.d.ts +1 -0
  236. package/dist/shared/contracts/init.d.ts +1 -0
  237. package/dist/shared/contracts/preview.d.ts +1 -0
  238. package/dist/shared/contracts/relations.d.ts +2 -1
  239. package/dist/shared/contracts/relations.d.ts.map +1 -1
  240. package/dist/shared/contracts/review-workflows.d.ts +1 -0
  241. package/dist/shared/contracts/single-types.d.ts +1 -0
  242. package/dist/shared/contracts/uid.d.ts +1 -0
  243. package/dist/shared/index.d.ts +1 -0
  244. package/dist/shared/index.js +24 -35
  245. package/dist/shared/index.js.map +1 -1
  246. package/dist/shared/index.mjs +25 -34
  247. package/dist/shared/index.mjs.map +1 -1
  248. package/package.json +10 -13
  249. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js +0 -80
  250. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
  251. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +0 -82
  252. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +0 -1
  253. package/dist/admin/chunks/ComponentConfigurationPage-BqW-t7Lr.js +0 -276
  254. package/dist/admin/chunks/ComponentConfigurationPage-BqW-t7Lr.js.map +0 -1
  255. package/dist/admin/chunks/ComponentConfigurationPage-CM3vQxyp.js +0 -298
  256. package/dist/admin/chunks/ComponentConfigurationPage-CM3vQxyp.js.map +0 -1
  257. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js +0 -153
  258. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
  259. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +0 -176
  260. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +0 -1
  261. package/dist/admin/chunks/EditConfigurationPage-CIKO27N8.js +0 -180
  262. package/dist/admin/chunks/EditConfigurationPage-CIKO27N8.js.map +0 -1
  263. package/dist/admin/chunks/EditConfigurationPage-CYQ6mJWy.js +0 -158
  264. package/dist/admin/chunks/EditConfigurationPage-CYQ6mJWy.js.map +0 -1
  265. package/dist/admin/chunks/EditViewPage-CRu2G4OS.js +0 -337
  266. package/dist/admin/chunks/EditViewPage-CRu2G4OS.js.map +0 -1
  267. package/dist/admin/chunks/EditViewPage-DaY9aMeu.js +0 -314
  268. package/dist/admin/chunks/EditViewPage-DaY9aMeu.js.map +0 -1
  269. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js +0 -56
  270. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
  271. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +0 -58
  272. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +0 -1
  273. package/dist/admin/chunks/Form--7s-Wsw1.js +0 -978
  274. package/dist/admin/chunks/Form--7s-Wsw1.js.map +0 -1
  275. package/dist/admin/chunks/Form-CX_f1AUZ.js +0 -955
  276. package/dist/admin/chunks/Form-CX_f1AUZ.js.map +0 -1
  277. package/dist/admin/chunks/History-SRih7tGq.js +0 -1380
  278. package/dist/admin/chunks/History-SRih7tGq.js.map +0 -1
  279. package/dist/admin/chunks/History-VVVFEAnd.js +0 -1357
  280. package/dist/admin/chunks/History-VVVFEAnd.js.map +0 -1
  281. package/dist/admin/chunks/Input-B3wbR0pJ.js +0 -6754
  282. package/dist/admin/chunks/Input-B3wbR0pJ.js.map +0 -1
  283. package/dist/admin/chunks/Input-BIRb1gP2.js +0 -6785
  284. package/dist/admin/chunks/Input-BIRb1gP2.js.map +0 -1
  285. package/dist/admin/chunks/ListConfigurationPage-BMBxgLtZ.js +0 -795
  286. package/dist/admin/chunks/ListConfigurationPage-BMBxgLtZ.js.map +0 -1
  287. package/dist/admin/chunks/ListConfigurationPage-DBWZlkHs.js +0 -818
  288. package/dist/admin/chunks/ListConfigurationPage-DBWZlkHs.js.map +0 -1
  289. package/dist/admin/chunks/ListViewPage-9jad22KO.js +0 -1154
  290. package/dist/admin/chunks/ListViewPage-9jad22KO.js.map +0 -1
  291. package/dist/admin/chunks/ListViewPage-Dq2zuPYL.js +0 -1132
  292. package/dist/admin/chunks/ListViewPage-Dq2zuPYL.js.map +0 -1
  293. package/dist/admin/chunks/NoContentTypePage-B5xX6Br5.js +0 -59
  294. package/dist/admin/chunks/NoContentTypePage-B5xX6Br5.js.map +0 -1
  295. package/dist/admin/chunks/NoContentTypePage-BtpSxTZs.js +0 -57
  296. package/dist/admin/chunks/NoContentTypePage-BtpSxTZs.js.map +0 -1
  297. package/dist/admin/chunks/NoPermissionsPage-CRS0hARz.js +0 -38
  298. package/dist/admin/chunks/NoPermissionsPage-CRS0hARz.js.map +0 -1
  299. package/dist/admin/chunks/NoPermissionsPage-HnOCsRtG.js +0 -36
  300. package/dist/admin/chunks/NoPermissionsPage-HnOCsRtG.js.map +0 -1
  301. package/dist/admin/chunks/Preview-BcggSPwn.js +0 -435
  302. package/dist/admin/chunks/Preview-BcggSPwn.js.map +0 -1
  303. package/dist/admin/chunks/Preview-DRtWRrYn.js +0 -457
  304. package/dist/admin/chunks/Preview-DRtWRrYn.js.map +0 -1
  305. package/dist/admin/chunks/Relations-B1i77Jba.js +0 -826
  306. package/dist/admin/chunks/Relations-B1i77Jba.js.map +0 -1
  307. package/dist/admin/chunks/Relations-BDe2e0a7.js +0 -852
  308. package/dist/admin/chunks/Relations-BDe2e0a7.js.map +0 -1
  309. package/dist/admin/chunks/ar-DckYq_WK.js +0 -222
  310. package/dist/admin/chunks/ar-DeQBSsfl.js +0 -227
  311. package/dist/admin/chunks/ca-ClDTvatJ.js +0 -202
  312. package/dist/admin/chunks/ca-DviY7mRj.js +0 -197
  313. package/dist/admin/chunks/cs-BJFxwIWj.js +0 -126
  314. package/dist/admin/chunks/cs-C7OSYFQ7.js +0 -122
  315. package/dist/admin/chunks/de-5QRlDHyR.js +0 -195
  316. package/dist/admin/chunks/de-CbImAUA5.js +0 -200
  317. package/dist/admin/chunks/en-1xHet_GV.js +0 -312
  318. package/dist/admin/chunks/en-DB7sPJVj.js +0 -307
  319. package/dist/admin/chunks/es-C8vLuvZL.js +0 -197
  320. package/dist/admin/chunks/es-DkoWSExG.js +0 -192
  321. package/dist/admin/chunks/eu-BG1xX7HK.js +0 -198
  322. package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
  323. package/dist/admin/chunks/eu-BJW3AvXu.js +0 -203
  324. package/dist/admin/chunks/eu-BJW3AvXu.js.map +0 -1
  325. package/dist/admin/chunks/fr-CqAyDOmo.js +0 -217
  326. package/dist/admin/chunks/fr-CqAyDOmo.js.map +0 -1
  327. package/dist/admin/chunks/fr-Dm1xiZI5.js +0 -212
  328. package/dist/admin/chunks/fr-Dm1xiZI5.js.map +0 -1
  329. package/dist/admin/chunks/gu-D5MMMXRs.js +0 -196
  330. package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
  331. package/dist/admin/chunks/gu-DPU4wyx7.js +0 -201
  332. package/dist/admin/chunks/gu-DPU4wyx7.js.map +0 -1
  333. package/dist/admin/chunks/hi-Dp4omeBb.js +0 -201
  334. package/dist/admin/chunks/hi-Dp4omeBb.js.map +0 -1
  335. package/dist/admin/chunks/hi-lp17SCjr.js +0 -196
  336. package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
  337. package/dist/admin/chunks/hooks-D-sOYd1s.js.map +0 -1
  338. package/dist/admin/chunks/hooks-DMvik5y_.js +0 -7
  339. package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
  340. package/dist/admin/chunks/hu-CLka1U2C.js +0 -198
  341. package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
  342. package/dist/admin/chunks/hu-CtFJuhTd.js +0 -203
  343. package/dist/admin/chunks/hu-CtFJuhTd.js.map +0 -1
  344. package/dist/admin/chunks/id-D7V5S1rB.js +0 -161
  345. package/dist/admin/chunks/id-USfY9m1g.js +0 -156
  346. package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
  347. package/dist/admin/chunks/index-CKZHZ3ir.js +0 -5339
  348. package/dist/admin/chunks/index-CKZHZ3ir.js.map +0 -1
  349. package/dist/admin/chunks/index-DfEfFmQC.js +0 -5273
  350. package/dist/admin/chunks/index-DfEfFmQC.js.map +0 -1
  351. package/dist/admin/chunks/it-BAHrwmYS.js +0 -158
  352. package/dist/admin/chunks/it-CQFpa_Dc.js +0 -163
  353. package/dist/admin/chunks/ja-BWKmBJFT.js +0 -192
  354. package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
  355. package/dist/admin/chunks/ja-jdQM-B79.js +0 -197
  356. package/dist/admin/chunks/ja-jdQM-B79.js.map +0 -1
  357. package/dist/admin/chunks/ko-CgADGBNt.js +0 -191
  358. package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
  359. package/dist/admin/chunks/ko-k46sEyzt.js +0 -196
  360. package/dist/admin/chunks/ko-k46sEyzt.js.map +0 -1
  361. package/dist/admin/chunks/layout-BN6DSZ4t.js +0 -598
  362. package/dist/admin/chunks/layout-BN6DSZ4t.js.map +0 -1
  363. package/dist/admin/chunks/layout-CX-A0s3P.js +0 -618
  364. package/dist/admin/chunks/layout-CX-A0s3P.js.map +0 -1
  365. package/dist/admin/chunks/ml-CnhCfOn_.js +0 -196
  366. package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
  367. package/dist/admin/chunks/ml-DqxPwODx.js +0 -201
  368. package/dist/admin/chunks/ml-DqxPwODx.js.map +0 -1
  369. package/dist/admin/chunks/ms-Bh09NFff.js +0 -140
  370. package/dist/admin/chunks/ms-CvSC0OdG.js +0 -145
  371. package/dist/admin/chunks/nl-BEubhS8C.js +0 -203
  372. package/dist/admin/chunks/nl-BEubhS8C.js.map +0 -1
  373. package/dist/admin/chunks/nl-C8HYflTc.js +0 -198
  374. package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
  375. package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
  376. package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
  377. package/dist/admin/chunks/objects-wl73iEma.js +0 -73
  378. package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
  379. package/dist/admin/chunks/pl-DWhGDzmM.js +0 -200
  380. package/dist/admin/chunks/pl-DWhGDzmM.js.map +0 -1
  381. package/dist/admin/chunks/pl-MFCZJZuZ.js +0 -195
  382. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
  383. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +0 -202
  384. package/dist/admin/chunks/pt-BR-CPtAXD-4.js.map +0 -1
  385. package/dist/admin/chunks/pt-BR-CcotyBGJ.js +0 -197
  386. package/dist/admin/chunks/pt-BoPxN80n.js +0 -96
  387. package/dist/admin/chunks/pt-BoPxN80n.js.map +0 -1
  388. package/dist/admin/chunks/pt-HbmgeiYO.js +0 -93
  389. package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
  390. package/dist/admin/chunks/relations-CuPmv-zR.js +0 -160
  391. package/dist/admin/chunks/relations-CuPmv-zR.js.map +0 -1
  392. package/dist/admin/chunks/relations-xwSNlsdc.js +0 -156
  393. package/dist/admin/chunks/relations-xwSNlsdc.js.map +0 -1
  394. package/dist/admin/chunks/ru-C0op0ALG.js +0 -232
  395. package/dist/admin/chunks/ru-C0op0ALG.js.map +0 -1
  396. package/dist/admin/chunks/ru-CB4BUyQp.js +0 -230
  397. package/dist/admin/chunks/sa-B_FuPyMw.js +0 -201
  398. package/dist/admin/chunks/sa-B_FuPyMw.js.map +0 -1
  399. package/dist/admin/chunks/sa-n_aPA-pU.js +0 -196
  400. package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
  401. package/dist/admin/chunks/sk-D_iXML2C.js +0 -203
  402. package/dist/admin/chunks/sk-D_iXML2C.js.map +0 -1
  403. package/dist/admin/chunks/sk-tn_BDjE2.js +0 -198
  404. package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
  405. package/dist/admin/chunks/sv-BstBC1Yp.js +0 -203
  406. package/dist/admin/chunks/sv-BstBC1Yp.js.map +0 -1
  407. package/dist/admin/chunks/sv-cq4ZrQRd.js +0 -198
  408. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
  409. package/dist/admin/chunks/th-lXoOCqPC.js +0 -149
  410. package/dist/admin/chunks/th-lXoOCqPC.js.map +0 -1
  411. package/dist/admin/chunks/th-mUH7hEtc.js +0 -144
  412. package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
  413. package/dist/admin/chunks/tr-CkS6sLIE.js +0 -200
  414. package/dist/admin/chunks/tr-CkS6sLIE.js.map +0 -1
  415. package/dist/admin/chunks/tr-Yt38daxh.js +0 -195
  416. package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
  417. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  418. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  419. package/dist/admin/chunks/uk-Cpgmm7gE.js +0 -140
  420. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
  421. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js +0 -247
  422. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
  423. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +0 -271
  424. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
  425. package/dist/admin/chunks/usePrev-CwGzb4ed.js +0 -38
  426. package/dist/admin/chunks/usePrev-CwGzb4ed.js.map +0 -1
  427. package/dist/admin/chunks/usePrev-tlgK0qPG.js +0 -34
  428. package/dist/admin/chunks/usePrev-tlgK0qPG.js.map +0 -1
  429. package/dist/admin/chunks/vi-BGr1X_HZ.js +0 -112
  430. package/dist/admin/chunks/vi-BGr1X_HZ.js.map +0 -1
  431. package/dist/admin/chunks/vi-CvBGlTjr.js +0 -108
  432. package/dist/admin/chunks/zh-BmF-sHaT.js +0 -205
  433. package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
  434. package/dist/admin/chunks/zh-DwFu_Kfj.js +0 -210
  435. package/dist/admin/chunks/zh-DwFu_Kfj.js.map +0 -1
  436. package/dist/admin/chunks/zh-Hans-CI0HKio3.js +0 -934
  437. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +0 -953
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ const React = require("react");
3
+ const reactDnd = require("react-dnd");
4
+ function _interopNamespace(e) {
5
+ if (e && e.__esModule) return e;
6
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
7
+ if (e) {
8
+ for (const k in e) {
9
+ if (k !== "default") {
10
+ const d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: () => e[k]
14
+ });
15
+ }
16
+ }
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
22
+ const ItemTypes = {
23
+ COMPONENT: "component",
24
+ EDIT_FIELD: "editField",
25
+ FIELD: "field",
26
+ DYNAMIC_ZONE: "dynamicZone",
27
+ RELATION: "relation",
28
+ BLOCKS: "blocks"
29
+ };
30
+ const useKeyboardDragAndDrop = (active, index, { onCancel, onDropItem, onGrabItem, onMoveItem }) => {
31
+ const [isSelected, setIsSelected] = React__namespace.useState(false);
32
+ const handleMove = (movement) => {
33
+ if (!isSelected) {
34
+ return;
35
+ }
36
+ if (typeof index === "number" && onMoveItem) {
37
+ if (movement === "UP") {
38
+ onMoveItem(index - 1, index);
39
+ } else if (movement === "DOWN") {
40
+ onMoveItem(index + 1, index);
41
+ }
42
+ }
43
+ };
44
+ const handleDragClick = () => {
45
+ if (isSelected) {
46
+ if (onDropItem) {
47
+ onDropItem(index);
48
+ }
49
+ setIsSelected(false);
50
+ } else {
51
+ if (onGrabItem) {
52
+ onGrabItem(index);
53
+ }
54
+ setIsSelected(true);
55
+ }
56
+ };
57
+ const handleCancel = () => {
58
+ if (isSelected) {
59
+ setIsSelected(false);
60
+ if (onCancel) {
61
+ onCancel(index);
62
+ }
63
+ }
64
+ };
65
+ const handleKeyDown = (e) => {
66
+ if (!active) {
67
+ return;
68
+ }
69
+ if (e.key === "Tab" && !isSelected) {
70
+ return;
71
+ }
72
+ e.preventDefault();
73
+ switch (e.key) {
74
+ case " ":
75
+ case "Enter":
76
+ handleDragClick();
77
+ break;
78
+ case "Escape":
79
+ handleCancel();
80
+ break;
81
+ case "ArrowDown":
82
+ case "ArrowRight":
83
+ handleMove("DOWN");
84
+ break;
85
+ case "ArrowUp":
86
+ case "ArrowLeft":
87
+ handleMove("UP");
88
+ break;
89
+ }
90
+ };
91
+ return handleKeyDown;
92
+ };
93
+ const DIRECTIONS = {
94
+ UPWARD: "upward",
95
+ DOWNWARD: "downward"
96
+ };
97
+ const DROP_SENSITIVITY = {
98
+ REGULAR: "regular",
99
+ IMMEDIATE: "immediate"
100
+ };
101
+ const useDragAndDrop = (active, {
102
+ type = "STRAPI_DND",
103
+ index,
104
+ item,
105
+ onStart,
106
+ onEnd,
107
+ onGrabItem,
108
+ onDropItem,
109
+ onCancel,
110
+ onMoveItem,
111
+ dropSensitivity = DROP_SENSITIVITY.REGULAR
112
+ }) => {
113
+ const objectRef = React__namespace.useRef(null);
114
+ const [{ handlerId, isOver }, dropRef] = reactDnd.useDrop({
115
+ accept: type,
116
+ collect(monitor) {
117
+ return {
118
+ handlerId: monitor.getHandlerId(),
119
+ isOver: monitor.isOver({ shallow: true })
120
+ };
121
+ },
122
+ drop(item2) {
123
+ const draggedIndex = item2.index;
124
+ const newIndex = index;
125
+ if (isOver && onDropItem) {
126
+ onDropItem(draggedIndex, newIndex);
127
+ }
128
+ },
129
+ hover(item2, monitor) {
130
+ if (!objectRef.current || !onMoveItem) {
131
+ return;
132
+ }
133
+ const dragIndex = item2.index;
134
+ const newIndex = index;
135
+ const hoverBoundingRect = objectRef.current?.getBoundingClientRect();
136
+ const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
137
+ const clientOffset = monitor.getClientOffset();
138
+ if (!clientOffset) return;
139
+ const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;
140
+ if (typeof dragIndex === "number" && typeof newIndex === "number") {
141
+ if (dragIndex === newIndex) {
142
+ return;
143
+ }
144
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
145
+ if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {
146
+ return;
147
+ }
148
+ if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {
149
+ return;
150
+ }
151
+ }
152
+ onMoveItem(newIndex, dragIndex);
153
+ item2.index = newIndex;
154
+ } else {
155
+ if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {
156
+ const minLength = Math.min(dragIndex.length, newIndex.length);
157
+ let areEqual = true;
158
+ let isLessThan = false;
159
+ let isGreaterThan = false;
160
+ for (let i = 0; i < minLength; i++) {
161
+ if (dragIndex[i] < newIndex[i]) {
162
+ isLessThan = true;
163
+ areEqual = false;
164
+ break;
165
+ } else if (dragIndex[i] > newIndex[i]) {
166
+ isGreaterThan = true;
167
+ areEqual = false;
168
+ break;
169
+ }
170
+ }
171
+ if (areEqual && dragIndex.length === newIndex.length) {
172
+ return;
173
+ }
174
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
175
+ if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {
176
+ return;
177
+ }
178
+ if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {
179
+ return;
180
+ }
181
+ }
182
+ }
183
+ onMoveItem(newIndex, dragIndex);
184
+ item2.index = newIndex;
185
+ }
186
+ }
187
+ });
188
+ const getDragDirection = (monitor) => {
189
+ if (monitor && monitor.isDragging() && !monitor.didDrop() && monitor.getInitialClientOffset() && monitor.getClientOffset()) {
190
+ const deltaY = monitor.getInitialClientOffset().y - monitor.getClientOffset().y;
191
+ if (deltaY > 0) return DIRECTIONS.UPWARD;
192
+ if (deltaY < 0) return DIRECTIONS.DOWNWARD;
193
+ return null;
194
+ }
195
+ return null;
196
+ };
197
+ const [{ isDragging, direction }, dragRef, dragPreviewRef] = reactDnd.useDrag({
198
+ type,
199
+ item() {
200
+ if (onStart) {
201
+ onStart();
202
+ }
203
+ const { width } = objectRef.current?.getBoundingClientRect() ?? {};
204
+ return { index, width, ...item };
205
+ },
206
+ end() {
207
+ if (onEnd) {
208
+ onEnd();
209
+ }
210
+ },
211
+ canDrag: active,
212
+ /**
213
+ * This is useful when the item is in a virtualized list.
214
+ * However, if we don't have an ID then we want the libraries
215
+ * defaults to take care of this.
216
+ */
217
+ isDragging: item?.id ? (monitor) => {
218
+ return item.id === monitor.getItem().id;
219
+ } : void 0,
220
+ collect: (monitor) => ({
221
+ isDragging: monitor.isDragging(),
222
+ initialOffset: monitor.getInitialClientOffset(),
223
+ currentOffset: monitor.getClientOffset(),
224
+ direction: getDragDirection(monitor)
225
+ })
226
+ });
227
+ const handleKeyDown = useKeyboardDragAndDrop(active, index, {
228
+ onGrabItem,
229
+ onDropItem,
230
+ onCancel,
231
+ onMoveItem
232
+ });
233
+ return [
234
+ { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },
235
+ objectRef,
236
+ dropRef,
237
+ dragRef,
238
+ dragPreviewRef
239
+ ];
240
+ };
241
+ exports.DIRECTIONS = DIRECTIONS;
242
+ exports.DROP_SENSITIVITY = DROP_SENSITIVITY;
243
+ exports.ItemTypes = ItemTypes;
244
+ exports.useDragAndDrop = useDragAndDrop;
245
+ //# sourceMappingURL=useDragAndDrop-BMtgCYzL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop-BMtgCYzL.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,228 @@
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) return;
120
+ const hoverClientY = clientOffset && clientOffset.y - hoverBoundingRect.top;
121
+ if (typeof dragIndex === "number" && typeof newIndex === "number") {
122
+ if (dragIndex === newIndex) {
123
+ return;
124
+ }
125
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
126
+ if (dragIndex < newIndex && hoverClientY < hoverMiddleY) {
127
+ return;
128
+ }
129
+ if (dragIndex > newIndex && hoverClientY > hoverMiddleY) {
130
+ return;
131
+ }
132
+ }
133
+ onMoveItem(newIndex, dragIndex);
134
+ item2.index = newIndex;
135
+ } else {
136
+ if (Array.isArray(dragIndex) && Array.isArray(newIndex)) {
137
+ const minLength = Math.min(dragIndex.length, newIndex.length);
138
+ let areEqual = true;
139
+ let isLessThan = false;
140
+ let isGreaterThan = false;
141
+ for (let i = 0; i < minLength; i++) {
142
+ if (dragIndex[i] < newIndex[i]) {
143
+ isLessThan = true;
144
+ areEqual = false;
145
+ break;
146
+ } else if (dragIndex[i] > newIndex[i]) {
147
+ isGreaterThan = true;
148
+ areEqual = false;
149
+ break;
150
+ }
151
+ }
152
+ if (areEqual && dragIndex.length === newIndex.length) {
153
+ return;
154
+ }
155
+ if (dropSensitivity === DROP_SENSITIVITY.REGULAR) {
156
+ if (isLessThan && !isGreaterThan && hoverClientY < hoverMiddleY) {
157
+ return;
158
+ }
159
+ if (isGreaterThan && !isLessThan && hoverClientY > hoverMiddleY) {
160
+ return;
161
+ }
162
+ }
163
+ }
164
+ onMoveItem(newIndex, dragIndex);
165
+ item2.index = newIndex;
166
+ }
167
+ }
168
+ });
169
+ const getDragDirection = (monitor) => {
170
+ if (monitor && monitor.isDragging() && !monitor.didDrop() && monitor.getInitialClientOffset() && monitor.getClientOffset()) {
171
+ const deltaY = monitor.getInitialClientOffset().y - monitor.getClientOffset().y;
172
+ if (deltaY > 0) return DIRECTIONS.UPWARD;
173
+ if (deltaY < 0) return DIRECTIONS.DOWNWARD;
174
+ return null;
175
+ }
176
+ return null;
177
+ };
178
+ const [{ isDragging, direction }, dragRef, dragPreviewRef] = useDrag({
179
+ type,
180
+ item() {
181
+ if (onStart) {
182
+ onStart();
183
+ }
184
+ const { width } = objectRef.current?.getBoundingClientRect() ?? {};
185
+ return { index, width, ...item };
186
+ },
187
+ end() {
188
+ if (onEnd) {
189
+ onEnd();
190
+ }
191
+ },
192
+ canDrag: active,
193
+ /**
194
+ * This is useful when the item is in a virtualized list.
195
+ * However, if we don't have an ID then we want the libraries
196
+ * defaults to take care of this.
197
+ */
198
+ isDragging: item?.id ? (monitor) => {
199
+ return item.id === monitor.getItem().id;
200
+ } : void 0,
201
+ collect: (monitor) => ({
202
+ isDragging: monitor.isDragging(),
203
+ initialOffset: monitor.getInitialClientOffset(),
204
+ currentOffset: monitor.getClientOffset(),
205
+ direction: getDragDirection(monitor)
206
+ })
207
+ });
208
+ const handleKeyDown = useKeyboardDragAndDrop(active, index, {
209
+ onGrabItem,
210
+ onDropItem,
211
+ onCancel,
212
+ onMoveItem
213
+ });
214
+ return [
215
+ { handlerId, isDragging, handleKeyDown, isOverDropTarget: isOver, direction },
216
+ objectRef,
217
+ dropRef,
218
+ dragRef,
219
+ dragPreviewRef
220
+ ];
221
+ };
222
+ export {
223
+ DROP_SENSITIVITY as D,
224
+ ItemTypes as I,
225
+ DIRECTIONS as a,
226
+ useDragAndDrop as u
227
+ };
228
+ //# sourceMappingURL=useDragAndDrop-DJ6jqvZN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop-DJ6jqvZN.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,29 @@
1
+ import { useState, useEffect, useRef } from "react";
2
+ const prefixFileUrlWithBackendUrl = (fileURL) => {
3
+ return !!fileURL && fileURL.startsWith("/") ? `${window.strapi.backendURL}${fileURL}` : fileURL;
4
+ };
5
+ function useDebounce(value, delay) {
6
+ const [debouncedValue, setDebouncedValue] = useState(value);
7
+ useEffect(() => {
8
+ const handler = setTimeout(() => {
9
+ setDebouncedValue(value);
10
+ }, delay);
11
+ return () => {
12
+ clearTimeout(handler);
13
+ };
14
+ }, [value, delay]);
15
+ return debouncedValue;
16
+ }
17
+ const usePrev = (value) => {
18
+ const ref = useRef();
19
+ useEffect(() => {
20
+ ref.current = value;
21
+ }, [value]);
22
+ return ref.current;
23
+ };
24
+ export {
25
+ usePrev as a,
26
+ prefixFileUrlWithBackendUrl as p,
27
+ useDebounce as u
28
+ };
29
+ //# sourceMappingURL=usePrev-CZGy2Vjf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrev-CZGy2Vjf.mjs","sources":["../../admin/src/utils/urls.ts","../../admin/src/hooks/useDebounce.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, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\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;ACAgB,SAAA,YAAoB,OAAe,OAAuB;AACxE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,YAAU,MAAM;AACR,UAAA,UAAU,WAAW,MAAM;AAC/B,wBAAkB,KAAK;AAAA,OACtB,KAAK;AAER,WAAO,MAAM;AACX,mBAAa,OAAO;AAAA,IACtB;AAAA,EAAA,GACC,CAAC,OAAO,KAAK,CAAC;AAEV,SAAA;AACT;ACda,MAAA,UAAU,CAAI,UAA4B;AACrD,QAAM,MAAM,OAAU;AAEtB,YAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAAA,GACb,CAAC,KAAK,CAAC;AAEV,SAAO,IAAI;AACb;"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ const React = require("react");
3
+ const prefixFileUrlWithBackendUrl = (fileURL) => {
4
+ return !!fileURL && fileURL.startsWith("/") ? `${window.strapi.backendURL}${fileURL}` : fileURL;
5
+ };
6
+ function useDebounce(value, delay) {
7
+ const [debouncedValue, setDebouncedValue] = React.useState(value);
8
+ React.useEffect(() => {
9
+ const handler = setTimeout(() => {
10
+ setDebouncedValue(value);
11
+ }, delay);
12
+ return () => {
13
+ clearTimeout(handler);
14
+ };
15
+ }, [value, delay]);
16
+ return debouncedValue;
17
+ }
18
+ const usePrev = (value) => {
19
+ const ref = React.useRef();
20
+ React.useEffect(() => {
21
+ ref.current = value;
22
+ }, [value]);
23
+ return ref.current;
24
+ };
25
+ exports.prefixFileUrlWithBackendUrl = prefixFileUrlWithBackendUrl;
26
+ exports.useDebounce = useDebounce;
27
+ exports.usePrev = usePrev;
28
+ //# sourceMappingURL=usePrev-D5J_2fEu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrev-D5J_2fEu.js","sources":["../../admin/src/utils/urls.ts","../../admin/src/hooks/useDebounce.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, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\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":["useState","useEffect","useRef"],"mappings":";;AAAM,MAAA,8BAA8B,CAAC,YAAyC;AAC5E,SAAO,CAAC,CAAC,WAAW,QAAQ,WAAW,GAAG,IAAI,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,KAAK;AAC1F;ACAgB,SAAA,YAAoB,OAAe,OAAuB;AACxE,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAE1DC,QAAAA,UAAU,MAAM;AACR,UAAA,UAAU,WAAW,MAAM;AAC/B,wBAAkB,KAAK;AAAA,OACtB,KAAK;AAER,WAAO,MAAM;AACX,mBAAa,OAAO;AAAA,IACtB;AAAA,EAAA,GACC,CAAC,OAAO,KAAK,CAAC;AAEV,SAAA;AACT;ACda,MAAA,UAAU,CAAI,UAA4B;AACrD,QAAM,MAAMC,MAAAA,OAAU;AAEtBD,QAAAA,UAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAAA,GACb,CAAC,KAAK,CAAC;AAEV,SAAO,IAAI;AACb;;;;"}