@strapi/content-manager 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609 → 0.0.0-next.fdac61dd05ca665168f51f655f1d165b55ec4231

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 (214) hide show
  1. package/dist/admin/chunks/{CardDragPreview-DwuraT0K.js → CardDragPreview-DwuraT0K.mjs} +1 -1
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BcLDueh-.js → ComponentConfigurationPage-BBM3VdRz.js} +4 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js.map → ComponentConfigurationPage-BBM3VdRz.js.map} +1 -1
  5. package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js → ComponentConfigurationPage-I9h58PvZ.mjs} +9 -8
  6. package/dist/admin/chunks/ComponentConfigurationPage-I9h58PvZ.mjs.map +1 -0
  7. package/dist/admin/chunks/{ComponentIcon-BZcTc4rj.js → ComponentIcon-BZcTc4rj.mjs} +1 -1
  8. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
  9. package/dist/admin/chunks/{EditConfigurationPage-D4Oio8m1.js → EditConfigurationPage-B0IuEz1P.mjs} +9 -8
  10. package/dist/admin/chunks/EditConfigurationPage-B0IuEz1P.mjs.map +1 -0
  11. package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js → EditConfigurationPage-M30RR8U2.js} +4 -3
  12. package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js.map → EditConfigurationPage-M30RR8U2.js.map} +1 -1
  13. package/dist/admin/chunks/{EditViewPage-DUYzyJRA.js → EditViewPage-B8CdaXgs.mjs} +11 -14
  14. package/dist/admin/chunks/EditViewPage-B8CdaXgs.mjs.map +1 -0
  15. package/dist/admin/chunks/{EditViewPage-CzwW9usH.js → EditViewPage-BDutXAUN.js} +7 -10
  16. package/dist/admin/chunks/EditViewPage-BDutXAUN.js.map +1 -0
  17. package/dist/admin/chunks/{FieldTypeIcon-BY6MrVF4.js → FieldTypeIcon-BY6MrVF4.mjs} +1 -1
  18. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
  19. package/dist/admin/chunks/{Form-BNpDL5sM.js → Form-5g7HkFFt.mjs} +5 -5
  20. package/dist/admin/chunks/Form-5g7HkFFt.mjs.map +1 -0
  21. package/dist/admin/chunks/{Form-BhIYfGuy.js → Form-BbSrOxiB.js} +2 -2
  22. package/dist/admin/chunks/{Form-BhIYfGuy.js.map → Form-BbSrOxiB.js.map} +1 -1
  23. package/dist/admin/chunks/{History-B8UudJwA.js → History-BNHiyUWB.js} +6 -6
  24. package/dist/admin/chunks/{History-B8UudJwA.js.map → History-BNHiyUWB.js.map} +1 -1
  25. package/dist/admin/chunks/{History-BIB0-AfT.js → History-Cy1ebdHN.mjs} +11 -11
  26. package/dist/admin/chunks/History-Cy1ebdHN.mjs.map +1 -0
  27. package/dist/admin/chunks/{Input-D7x4QMoZ.js → Input-BCN9DN4b.js} +748 -313
  28. package/dist/admin/chunks/Input-BCN9DN4b.js.map +1 -0
  29. package/dist/admin/chunks/{Input-B6avNTdM.js → Input-BojOcrfa.mjs} +755 -320
  30. package/dist/admin/chunks/Input-BojOcrfa.mjs.map +1 -0
  31. package/dist/admin/chunks/{ListConfigurationPage-CqNUcBK5.js → ListConfigurationPage-BalGY7W3.js} +3 -2
  32. package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js.map → ListConfigurationPage-BalGY7W3.js.map} +1 -1
  33. package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js → ListConfigurationPage-DZQMgiUY.mjs} +8 -7
  34. package/dist/admin/chunks/ListConfigurationPage-DZQMgiUY.mjs.map +1 -0
  35. package/dist/admin/chunks/{ListViewPage-C2jqACsH.js → ListViewPage-DJroapZV.js} +4 -3
  36. package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js.map → ListViewPage-DJroapZV.js.map} +1 -1
  37. package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js → ListViewPage-YoatliSO.mjs} +6 -5
  38. package/dist/admin/chunks/ListViewPage-YoatliSO.mjs.map +1 -0
  39. package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js → NoContentTypePage-DQKO0Whm.mjs} +3 -2
  40. package/dist/admin/chunks/NoContentTypePage-DQKO0Whm.mjs.map +1 -0
  41. package/dist/admin/chunks/{NoContentTypePage-DP8WmGnH.js → NoContentTypePage-DZm2YCb6.js} +3 -2
  42. package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js.map → NoContentTypePage-DZm2YCb6.js.map} +1 -1
  43. package/dist/admin/chunks/{NoPermissionsPage-DdE7dHGN.js → NoPermissionsPage-CxrNSIIg.js} +3 -2
  44. package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js.map → NoPermissionsPage-CxrNSIIg.js.map} +1 -1
  45. package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js → NoPermissionsPage-bgiFATIt.mjs} +3 -2
  46. package/dist/admin/chunks/NoPermissionsPage-bgiFATIt.mjs.map +1 -0
  47. package/dist/admin/chunks/{Preview-B-Qxu3nw.js → Preview-BJkZ6x1-.js} +252 -22
  48. package/dist/admin/chunks/Preview-BJkZ6x1-.js.map +1 -0
  49. package/dist/admin/chunks/{Preview-DF_PNpvE.js → Preview-BeB-PWgo.mjs} +261 -31
  50. package/dist/admin/chunks/Preview-BeB-PWgo.mjs.map +1 -0
  51. package/dist/admin/chunks/{Relations-Bc1mVCAn.js → Relations-C5phxBHR.js} +469 -4
  52. package/dist/admin/chunks/Relations-C5phxBHR.js.map +1 -0
  53. package/dist/admin/chunks/{Relations-BKR-Kn-x.js → Relations-CND3mw3X.mjs} +471 -7
  54. package/dist/admin/chunks/Relations-CND3mw3X.mjs.map +1 -0
  55. package/dist/admin/chunks/{ar-DckYq_WK.js → ar-DckYq_WK.mjs} +1 -1
  56. package/dist/admin/chunks/ar-DckYq_WK.mjs.map +1 -0
  57. package/dist/admin/chunks/{ca-DviY7mRj.js → ca-DviY7mRj.mjs} +1 -1
  58. package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
  59. package/dist/admin/chunks/{cs-C7OSYFQ7.js → cs-C7OSYFQ7.mjs} +1 -1
  60. package/dist/admin/chunks/cs-C7OSYFQ7.mjs.map +1 -0
  61. package/dist/admin/chunks/{de-5QRlDHyR.js → de-5QRlDHyR.mjs} +1 -1
  62. package/dist/admin/chunks/de-5QRlDHyR.mjs.map +1 -0
  63. package/dist/admin/chunks/{en-LfhocNG2.js → en-CImiNxXE.mjs} +3 -1
  64. package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-CImiNxXE.mjs.map} +1 -1
  65. package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
  66. package/dist/admin/chunks/{en-LfhocNG2.js.map → en-CLf4SuMQ.js.map} +1 -1
  67. package/dist/admin/chunks/{es-DkoWSExG.js → es-DkoWSExG.mjs} +1 -1
  68. package/dist/admin/chunks/es-DkoWSExG.mjs.map +1 -0
  69. package/dist/admin/chunks/{eu-BG1xX7HK.js → eu-BG1xX7HK.mjs} +1 -1
  70. package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
  71. package/dist/admin/chunks/{fr-CFdRaRVj.js → fr-CFdRaRVj.mjs} +1 -1
  72. package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
  73. package/dist/admin/chunks/{gu-D5MMMXRs.js → gu-D5MMMXRs.mjs} +1 -1
  74. package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
  75. package/dist/admin/chunks/{hi-lp17SCjr.js → hi-lp17SCjr.mjs} +1 -1
  76. package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
  77. package/dist/admin/chunks/{hooks-DMvik5y_.js → hooks-DMvik5y_.mjs} +1 -1
  78. package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
  79. package/dist/admin/chunks/{hu-CLka1U2C.js → hu-CLka1U2C.mjs} +1 -1
  80. package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
  81. package/dist/admin/chunks/{id-USfY9m1g.js → id-USfY9m1g.mjs} +1 -1
  82. package/dist/admin/chunks/id-USfY9m1g.mjs.map +1 -0
  83. package/dist/admin/chunks/{index-BERMAQwA.js → index-BRXoE5Bv.js} +64 -34
  84. package/dist/admin/chunks/index-BRXoE5Bv.js.map +1 -0
  85. package/dist/admin/chunks/{index-Jhj6SW8H.js → index-CKhhB2D_.mjs} +94 -65
  86. package/dist/admin/chunks/index-CKhhB2D_.mjs.map +1 -0
  87. package/dist/admin/chunks/{it-BAHrwmYS.js → it-BAHrwmYS.mjs} +1 -1
  88. package/dist/admin/chunks/it-BAHrwmYS.mjs.map +1 -0
  89. package/dist/admin/chunks/{ja-BWKmBJFT.js → ja-BWKmBJFT.mjs} +1 -1
  90. package/dist/admin/chunks/ja-BWKmBJFT.mjs.map +1 -0
  91. package/dist/admin/chunks/{ko-CgADGBNt.js → ko-CgADGBNt.mjs} +1 -1
  92. package/dist/admin/chunks/ko-CgADGBNt.mjs.map +1 -0
  93. package/dist/admin/chunks/{layout-BU6D6F6_.js → layout-Bp7Wxdg6.js} +5 -4
  94. package/dist/admin/chunks/{layout-DYlapjb1.js.map → layout-Bp7Wxdg6.js.map} +1 -1
  95. package/dist/admin/chunks/{layout-DYlapjb1.js → layout-CdOs9qR9.mjs} +8 -7
  96. package/dist/admin/chunks/layout-CdOs9qR9.mjs.map +1 -0
  97. package/dist/admin/chunks/{ml-CnhCfOn_.js → ml-CnhCfOn_.mjs} +1 -1
  98. package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
  99. package/dist/admin/chunks/{ms-Bh09NFff.js → ms-Bh09NFff.mjs} +1 -1
  100. package/dist/admin/chunks/ms-Bh09NFff.mjs.map +1 -0
  101. package/dist/admin/chunks/{nl-C8HYflTc.js → nl-C8HYflTc.mjs} +1 -1
  102. package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
  103. package/dist/admin/chunks/{objects-wl73iEma.js → objects-wl73iEma.mjs} +1 -1
  104. package/dist/admin/chunks/objects-wl73iEma.mjs.map +1 -0
  105. package/dist/admin/chunks/{pl-MFCZJZuZ.js → pl-MFCZJZuZ.mjs} +1 -1
  106. package/dist/admin/chunks/pl-MFCZJZuZ.mjs.map +1 -0
  107. package/dist/admin/chunks/{pt-BR-CcotyBGJ.js → pt-BR-CcotyBGJ.mjs} +1 -1
  108. package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs.map +1 -0
  109. package/dist/admin/chunks/{pt-HbmgeiYO.js → pt-HbmgeiYO.mjs} +1 -1
  110. package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
  111. package/dist/admin/chunks/{relations-DXceN3I-.js → relations-BuF5cvYF.js} +2 -2
  112. package/dist/admin/chunks/{relations-DXceN3I-.js.map → relations-BuF5cvYF.js.map} +1 -1
  113. package/dist/admin/chunks/{relations-BxOJTAJZ.js → relations-DOG6K89Q.mjs} +2 -2
  114. package/dist/admin/chunks/relations-DOG6K89Q.mjs.map +1 -0
  115. package/dist/admin/chunks/{ru-CB4BUyQp.js → ru-CB4BUyQp.mjs} +1 -1
  116. package/dist/admin/chunks/{ru-CB4BUyQp.js.map → ru-CB4BUyQp.mjs.map} +1 -1
  117. package/dist/admin/chunks/{sa-n_aPA-pU.js → sa-n_aPA-pU.mjs} +1 -1
  118. package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
  119. package/dist/admin/chunks/{sk-tn_BDjE2.js → sk-tn_BDjE2.mjs} +1 -1
  120. package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
  121. package/dist/admin/chunks/{sv-cq4ZrQRd.js → sv-cq4ZrQRd.mjs} +1 -1
  122. package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
  123. package/dist/admin/chunks/{th-mUH7hEtc.js → th-mUH7hEtc.mjs} +1 -1
  124. package/dist/admin/chunks/th-mUH7hEtc.mjs.map +1 -0
  125. package/dist/admin/chunks/{tr-Yt38daxh.js → tr-Yt38daxh.mjs} +1 -1
  126. package/dist/admin/chunks/tr-Yt38daxh.mjs.map +1 -0
  127. package/dist/admin/chunks/{uk-Cpgmm7gE.js → uk-Cpgmm7gE.mjs} +1 -1
  128. package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +1 -0
  129. package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.js → useDragAndDrop-HYwNDExe.mjs} +1 -1
  130. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +1 -0
  131. package/dist/admin/chunks/{usePrev-Bjw2dhmq.js → usePrev-Bjw2dhmq.mjs} +1 -1
  132. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +1 -0
  133. package/dist/admin/chunks/{vi-CvBGlTjr.js → vi-CvBGlTjr.mjs} +1 -1
  134. package/dist/admin/chunks/vi-CvBGlTjr.mjs.map +1 -0
  135. package/dist/admin/chunks/{zh-BmF-sHaT.js → zh-BmF-sHaT.mjs} +1 -1
  136. package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
  137. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js → zh-Hans-CI0HKio3.mjs} +1 -1
  138. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js.map → zh-Hans-CI0HKio3.mjs.map} +1 -1
  139. package/dist/admin/index.js +2 -1
  140. package/dist/admin/index.js.map +1 -1
  141. package/dist/admin/index.mjs +2 -1
  142. package/dist/admin/index.mjs.map +1 -1
  143. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  144. package/dist/admin/src/index.d.ts +1 -0
  145. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  146. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  147. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +49 -1
  148. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  149. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  150. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +2 -1
  151. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -1
  152. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
  153. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  154. package/dist/server/index.js +1 -1
  155. package/dist/server/index.js.map +1 -1
  156. package/dist/server/index.mjs +1 -1
  157. package/dist/server/index.mjs.map +1 -1
  158. package/package.json +7 -7
  159. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
  160. package/dist/admin/chunks/ComponentConfigurationPage-BcLDueh-.js.map +0 -1
  161. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
  162. package/dist/admin/chunks/EditConfigurationPage-D4Oio8m1.js.map +0 -1
  163. package/dist/admin/chunks/EditViewPage-CzwW9usH.js.map +0 -1
  164. package/dist/admin/chunks/EditViewPage-DUYzyJRA.js.map +0 -1
  165. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
  166. package/dist/admin/chunks/Form-BNpDL5sM.js.map +0 -1
  167. package/dist/admin/chunks/History-BIB0-AfT.js.map +0 -1
  168. package/dist/admin/chunks/Input-B6avNTdM.js.map +0 -1
  169. package/dist/admin/chunks/Input-D7x4QMoZ.js.map +0 -1
  170. package/dist/admin/chunks/ListConfigurationPage-CqNUcBK5.js.map +0 -1
  171. package/dist/admin/chunks/ListViewPage-C2jqACsH.js.map +0 -1
  172. package/dist/admin/chunks/NoContentTypePage-DP8WmGnH.js.map +0 -1
  173. package/dist/admin/chunks/NoPermissionsPage-DdE7dHGN.js.map +0 -1
  174. package/dist/admin/chunks/Preview-B-Qxu3nw.js.map +0 -1
  175. package/dist/admin/chunks/Preview-DF_PNpvE.js.map +0 -1
  176. package/dist/admin/chunks/Relations-BKR-Kn-x.js.map +0 -1
  177. package/dist/admin/chunks/Relations-Bc1mVCAn.js.map +0 -1
  178. package/dist/admin/chunks/ar-DckYq_WK.js.map +0 -1
  179. package/dist/admin/chunks/ca-DviY7mRj.js.map +0 -1
  180. package/dist/admin/chunks/cs-C7OSYFQ7.js.map +0 -1
  181. package/dist/admin/chunks/de-5QRlDHyR.js.map +0 -1
  182. package/dist/admin/chunks/es-DkoWSExG.js.map +0 -1
  183. package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
  184. package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
  185. package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
  186. package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
  187. package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
  188. package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
  189. package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
  190. package/dist/admin/chunks/index-BERMAQwA.js.map +0 -1
  191. package/dist/admin/chunks/index-Jhj6SW8H.js.map +0 -1
  192. package/dist/admin/chunks/it-BAHrwmYS.js.map +0 -1
  193. package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
  194. package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
  195. package/dist/admin/chunks/layout-BU6D6F6_.js.map +0 -1
  196. package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
  197. package/dist/admin/chunks/ms-Bh09NFff.js.map +0 -1
  198. package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
  199. package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
  200. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
  201. package/dist/admin/chunks/pt-BR-CcotyBGJ.js.map +0 -1
  202. package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
  203. package/dist/admin/chunks/relations-BxOJTAJZ.js.map +0 -1
  204. package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
  205. package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
  206. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
  207. package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
  208. package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
  209. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
  210. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
  211. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
  212. package/dist/admin/chunks/vi-CvBGlTjr.js.map +0 -1
  213. package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
  214. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -49
@@ -1 +1 @@
1
- {"version":3,"file":"relations-DXceN3I-.js","sources":["../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts"],"sourcesContent":["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 { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name"],"mappings":"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"}
1
+ {"version":3,"file":"relations-BuF5cvYF.js","sources":["../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts"],"sourcesContent":["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 { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name"],"mappings":";;;;;;AAEO,SAASA,WAAAA,CAAoBC,KAAa,EAAEC,KAAa,EAAA;AAC9D,IAAA,MAAM,CAACC,cAAAA,EAAgBC,iBAAkB,CAAA,GAAGC,cAASJ,CAAAA,KAAAA,CAAAA;IAErDK,eAAU,CAAA,IAAA;AACR,QAAA,MAAMC,UAAUC,UAAW,CAAA,IAAA;YACzBJ,iBAAkBH,CAAAA,KAAAA,CAAAA;SACjBC,EAAAA,KAAAA,CAAAA;QAEH,OAAO,IAAA;YACLO,YAAaF,CAAAA,OAAAA,CAAAA;AACf,SAAA;KACC,EAAA;AAACN,QAAAA,KAAAA;AAAOC,QAAAA;AAAM,KAAA,CAAA;IAEjB,OAAOC,cAAAA;AACT;;ACkBA,MAAMO,YAAAA,GAAeC,uBAAkBC,CAAAA,eAAe,CAAC;IACrDC,SAAW,EAAA,CAACC,SAAW;YACrBC,YAAcD,EAAAA,KAAAA,CAAME,KAAK,CAKvB;gBACAA,KAAO,EAAA,CAAC,EAAEC,KAAK,EAAEC,EAAE,EAAEC,WAAW,EAAEC,MAAM,EAAE,GAAA;oBACxC,OAAO;wBACLC,GAAK,EAAA,CAAC,2BAA2B,EAAEJ,KAAM,CAAA,CAAC,EAAEC,EAAG,CAAA,CAAC,EAAEC,WAAAA,CAAY,CAAC;wBAC/DG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;AACF,qBAAA;AACF,iBAAA;AACAI,gBAAAA,kBAAAA,EAAoB,CAACC,IAAAA,GAAAA;AACnB,oBAAA,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGF,IAAAA;oBACpC,OAAO;AACLC,wBAAAA,YAAAA;AACAT,wBAAAA,KAAAA,EAAOU,UAAUV,KAAK;AACtBC,wBAAAA,EAAAA,EAAIS,UAAUT,EAAE;AAChBC,wBAAAA,WAAAA,EAAaQ,UAAUR,WAAW;wBAClCS,MAAQD,EAAAA,SAAAA,CAAUP,MAAM,EAAEQ,MAAAA;wBAC1BC,MAAQF,EAAAA,SAAAA,CAAUP,MAAM,EAAES;AAC5B,qBAAA;AACF,iBAAA;AACAC,gBAAAA,KAAAA,EAAO,CAACC,YAAcC,EAAAA,QAAAA,GAAAA;AACpB,oBAAA,IAAID,YAAaE,CAAAA,UAAU,IAAID,QAAAA,CAASC,UAAU,EAAE;wBAClD,IAAIF,YAAAA,CAAaE,UAAU,CAACC,IAAI,GAAGF,QAASC,CAAAA,UAAU,CAACC,IAAI,EAAE;AAC3D;;;;;gBAMAH,YAAAA,CAAaI,OAAO,GAAG;AAClBC,gCAAAA,GAAAA,eAAAA,CAAgBJ,QAASG,CAAAA,OAAO,EAAEJ,YAAAA,CAAaI,OAAO,CAAA;AACtDJ,gCAAAA,GAAAA,YAAAA,CAAaI;AACjB,6BAAA;4BACDJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C,yBAAA,MAAO,IAAID,QAASC,CAAAA,UAAU,CAACC,IAAI,KAAK,CAAG,EAAA;AACzC;;AAEC,gBACDH,YAAaI,CAAAA,OAAO,GAAGC,eAAAA,CAAgBJ,SAASG,OAAO,CAAA;4BACvDJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C;AACF;AACF,iBAAA;AACAI,gBAAAA,YAAAA,CAAAA,CAAa,EAAEC,UAAU,EAAEC,WAAW,EAAE,EAAA;AACtC,oBAAA,IAAI,CAACD,UAAAA,EAAYlB,MAAU,IAAA,CAACmB,aAAanB,MAAQ,EAAA;wBAC/C,OAAO,KAAA;AACT;oBAEA,OACEkB,UAAAA,EAAYlB,MAAQc,EAAAA,IAAAA,KAASK,WAAanB,EAAAA,MAAAA,EAAQc,QAClDI,UAAYlB,EAAAA,MAAAA,EAAQoB,QAAaD,KAAAA,WAAAA,EAAanB,MAAQoB,EAAAA,QAAAA;AAE1D,iBAAA;AACAC,gBAAAA,iBAAAA,EAAmB,CAACC,QAAAA,GAAAA;AAClB,oBAAA,IAAI,SAAaA,IAAAA,QAAAA,IAAYA,QAASP,CAAAA,OAAO,EAAE;wBAC7C,OAAO;AACL,4BAAA,GAAGO,QAAQ;AACXP,4BAAAA,OAAAA,EAASC,eAAgBM,CAAAA,QAAAA,CAASP,OAAO,CAACQ,UAAU,EAAA;AACtD,yBAAA;qBACK,MAAA;wBACL,OAAOD,QAAAA;AACT;AACF,iBAAA;gBACAE,YAAc,EAAA;AAAC,oBAAA;AAAY;AAC7B,aAAA,CAAA;YACAC,eAAiB/B,EAAAA,KAAAA,CAAME,KAAK,CAK1B;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,WAAW,EAAEC,MAAM,EAAE,GAAA;oBACpC,OAAO;AACLC,wBAAAA,GAAAA,EAAK,CAAC,2BAA2B,EAAEJ,MAAM,CAAC,EAAEE,YAAY,CAAC;wBACzDG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;AACF,qBAAA;AACF,iBAAA;AACAI,gBAAAA,kBAAAA,EAAoB,CAACC,IAAAA,GAAAA;AACnB,oBAAA,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGF,IAAAA;oBACpC,OAAO;AACLC,wBAAAA,YAAAA;AACAT,wBAAAA,KAAAA,EAAOU,UAAUV,KAAK;AACtBE,wBAAAA,WAAAA,EAAaQ,UAAUR,WAAW;wBAClC2B,EAAInB,EAAAA,SAAAA,CAAUP,MAAM,EAAE0B,EAAAA;wBACtBC,SAAWpB,EAAAA,SAAAA,CAAUP,MAAM,EAAE2B,SAAAA;wBAC7BC,YAAcrB,EAAAA,SAAAA,CAAUP,MAAM,EAAE4B;AAClC,qBAAA;AACF,iBAAA;AACAlB,gBAAAA,KAAAA,EAAO,CAACC,YAAcC,EAAAA,QAAAA,GAAAA;AACpB,oBAAA,IAAID,YAAaE,CAAAA,UAAU,IAAID,QAAAA,CAASC,UAAU,EAAE;wBAClD,IAAIF,YAAAA,CAAaE,UAAU,CAACC,IAAI,GAAGF,QAASC,CAAAA,UAAU,CAACC,IAAI,EAAE;AAC3D;;;gBAIA,MAAMe,WAAclB,GAAAA,YAAAA,CAAaI,OAAO,CAACe,GAAG,CAAC,CAACC,IAASA,GAAAA,IAAAA,CAAKC,UAAU,CAAA;AACtE,4BAAA,MAAMC,cAAiBrB,GAAAA,QAAAA,CAASG,OAAO,CAACmB,MAAM,CAC5C,CAACH,IAAAA,GAAS,CAACF,WAAAA,CAAYM,QAAQ,CAACJ,KAAKC,UAAU,CAAA,CAAA;4BAEjDrB,YAAaI,CAAAA,OAAO,CAACqB,IAAI,CAAIH,GAAAA,cAAAA,CAAAA;4BAC7BtB,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C,yBAAA,MAAO,IAAID,QAASC,CAAAA,UAAU,CAACC,IAAI,KAAK,CAAG,EAAA;AACzC;;AAEC,gBACDH,YAAaI,CAAAA,OAAO,GAAGH,QAAAA,CAASG,OAAO;4BACvCJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C;AACF;AACF,iBAAA;AACAI,gBAAAA,YAAAA,CAAAA,CAAa,EAAEC,UAAU,EAAEC,WAAW,EAAE,EAAA;AACtC,oBAAA,IAAI,CAACD,UAAAA,EAAYlB,MAAU,IAAA,CAACmB,aAAanB,MAAQ,EAAA;wBAC/C,OAAO,KAAA;AACT;oBAEA,OACEkB,UAAAA,EAAYlB,MAAQc,EAAAA,IAAAA,KAASK,WAAanB,EAAAA,MAAAA,EAAQc,QAClDI,UAAYlB,EAAAA,MAAAA,EAAQoB,QAAaD,KAAAA,WAAAA,EAAanB,MAAQoB,EAAAA,QAAAA;AAE1D,iBAAA;AACAC,gBAAAA,iBAAAA,EAAmB,CAACC,QAAAA,GAAAA;oBAClB,IAAIA,QAAAA,CAASP,OAAO,EAAE;wBACpB,OAAO;AACL,4BAAA,GAAGO,QAAQ;AACXP,4BAAAA,OAAAA,EAASO,SAASP;AACpB,yBAAA;qBACK,MAAA;wBACL,OAAOO,QAAAA;AACT;AACF;AACF,aAAA;SACF;AACF,CAAA,CAAA;AAEA;;;;AAIC,IACD,MAAMN,eAAAA,GAAkB,CAACqB,SAAAA,EAAwBC,oBAAsC,EAAE,GAAA;AACvF,IAAA,MAAM,CAACC,SAAAA,CAAU,GAAGD,iBAAAA,CAAkBE,KAAK,CAAC,CAAA,CAAA;AAC5C,IAAA,MAAMC,OAAOC,uCAAqB,CAAA,IAAA,EAAMH,WAAWI,YAAgB,IAAA,IAAA,EAAMN,UAAUO,MAAM,CAAA;AAEzF,IAAA,OAAOP,UAAUP,GAAG,CAAC,CAACe,KAAAA,EAAOC,SAAW;AACtC,YAAA,GAAGD,KAAK;YACRF,YAAcF,EAAAA,IAAI,CAACK,KAAM;SAC3B,CAAA,CAAA;AACF,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,2BAA2B,EAAE,GAAG1D;;AC/L9D;;;;;;;IAQA,MAAM2D,gBAAmB,GAAA,CAACC,QAA0BC,EAAAA,SAAAA,GAAAA;AAClD,IAAA,MAAMC,KAAQD,GAAAA,SAAAA,IAAaD,QAAQ,CAACC,SAAUE,CAAAA,IAAI,CAAC,GAAGH,QAAQ,CAACC,SAAUE,CAAAA,IAAI,CAAC,GAAG,IAAA;IAEjF,IAAI,OAAOD,UAAU,QAAU,EAAA;QAC7B,OAAOA,KAAAA;AACT;AAEA,IAAA,OAAOF,SAASlB,UAAU;AAC5B;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { generateNKeysBetween } from 'fractional-indexing';
3
- import { e as contentManagerApi } from './index-Jhj6SW8H.js';
3
+ import { e as contentManagerApi } from './index-CKhhB2D_.mjs';
4
4
 
5
5
  function useDebounce(value, delay) {
6
6
  const [debouncedValue, setDebouncedValue] = useState(value);
@@ -170,4 +170,4 @@ const { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;
170
170
  };
171
171
 
172
172
  export { useDebounce as a, useLazySearchRelationsQuery as b, getRelationLabel as g, useGetRelationsQuery as u };
173
- //# sourceMappingURL=relations-BxOJTAJZ.js.map
173
+ //# sourceMappingURL=relations-DOG6K89Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations-DOG6K89Q.mjs","sources":["../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts"],"sourcesContent":["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 { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name"],"mappings":";;;;AAEO,SAASA,WAAAA,CAAoBC,KAAa,EAAEC,KAAa,EAAA;AAC9D,IAAA,MAAM,CAACC,cAAAA,EAAgBC,iBAAkB,CAAA,GAAGC,QAASJ,CAAAA,KAAAA,CAAAA;IAErDK,SAAU,CAAA,IAAA;AACR,QAAA,MAAMC,UAAUC,UAAW,CAAA,IAAA;YACzBJ,iBAAkBH,CAAAA,KAAAA,CAAAA;SACjBC,EAAAA,KAAAA,CAAAA;QAEH,OAAO,IAAA;YACLO,YAAaF,CAAAA,OAAAA,CAAAA;AACf,SAAA;KACC,EAAA;AAACN,QAAAA,KAAAA;AAAOC,QAAAA;AAAM,KAAA,CAAA;IAEjB,OAAOC,cAAAA;AACT;;ACkBA,MAAMO,YAAAA,GAAeC,iBAAkBC,CAAAA,eAAe,CAAC;IACrDC,SAAW,EAAA,CAACC,SAAW;YACrBC,YAAcD,EAAAA,KAAAA,CAAME,KAAK,CAKvB;gBACAA,KAAO,EAAA,CAAC,EAAEC,KAAK,EAAEC,EAAE,EAAEC,WAAW,EAAEC,MAAM,EAAE,GAAA;oBACxC,OAAO;wBACLC,GAAK,EAAA,CAAC,2BAA2B,EAAEJ,KAAM,CAAA,CAAC,EAAEC,EAAG,CAAA,CAAC,EAAEC,WAAAA,CAAY,CAAC;wBAC/DG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;AACF,qBAAA;AACF,iBAAA;AACAI,gBAAAA,kBAAAA,EAAoB,CAACC,IAAAA,GAAAA;AACnB,oBAAA,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGF,IAAAA;oBACpC,OAAO;AACLC,wBAAAA,YAAAA;AACAT,wBAAAA,KAAAA,EAAOU,UAAUV,KAAK;AACtBC,wBAAAA,EAAAA,EAAIS,UAAUT,EAAE;AAChBC,wBAAAA,WAAAA,EAAaQ,UAAUR,WAAW;wBAClCS,MAAQD,EAAAA,SAAAA,CAAUP,MAAM,EAAEQ,MAAAA;wBAC1BC,MAAQF,EAAAA,SAAAA,CAAUP,MAAM,EAAES;AAC5B,qBAAA;AACF,iBAAA;AACAC,gBAAAA,KAAAA,EAAO,CAACC,YAAcC,EAAAA,QAAAA,GAAAA;AACpB,oBAAA,IAAID,YAAaE,CAAAA,UAAU,IAAID,QAAAA,CAASC,UAAU,EAAE;wBAClD,IAAIF,YAAAA,CAAaE,UAAU,CAACC,IAAI,GAAGF,QAASC,CAAAA,UAAU,CAACC,IAAI,EAAE;AAC3D;;;;;gBAMAH,YAAAA,CAAaI,OAAO,GAAG;AAClBC,gCAAAA,GAAAA,eAAAA,CAAgBJ,QAASG,CAAAA,OAAO,EAAEJ,YAAAA,CAAaI,OAAO,CAAA;AACtDJ,gCAAAA,GAAAA,YAAAA,CAAaI;AACjB,6BAAA;4BACDJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C,yBAAA,MAAO,IAAID,QAASC,CAAAA,UAAU,CAACC,IAAI,KAAK,CAAG,EAAA;AACzC;;AAEC,gBACDH,YAAaI,CAAAA,OAAO,GAAGC,eAAAA,CAAgBJ,SAASG,OAAO,CAAA;4BACvDJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C;AACF;AACF,iBAAA;AACAI,gBAAAA,YAAAA,CAAAA,CAAa,EAAEC,UAAU,EAAEC,WAAW,EAAE,EAAA;AACtC,oBAAA,IAAI,CAACD,UAAAA,EAAYlB,MAAU,IAAA,CAACmB,aAAanB,MAAQ,EAAA;wBAC/C,OAAO,KAAA;AACT;oBAEA,OACEkB,UAAAA,EAAYlB,MAAQc,EAAAA,IAAAA,KAASK,WAAanB,EAAAA,MAAAA,EAAQc,QAClDI,UAAYlB,EAAAA,MAAAA,EAAQoB,QAAaD,KAAAA,WAAAA,EAAanB,MAAQoB,EAAAA,QAAAA;AAE1D,iBAAA;AACAC,gBAAAA,iBAAAA,EAAmB,CAACC,QAAAA,GAAAA;AAClB,oBAAA,IAAI,SAAaA,IAAAA,QAAAA,IAAYA,QAASP,CAAAA,OAAO,EAAE;wBAC7C,OAAO;AACL,4BAAA,GAAGO,QAAQ;AACXP,4BAAAA,OAAAA,EAASC,eAAgBM,CAAAA,QAAAA,CAASP,OAAO,CAACQ,UAAU,EAAA;AACtD,yBAAA;qBACK,MAAA;wBACL,OAAOD,QAAAA;AACT;AACF,iBAAA;gBACAE,YAAc,EAAA;AAAC,oBAAA;AAAY;AAC7B,aAAA,CAAA;YACAC,eAAiB/B,EAAAA,KAAAA,CAAME,KAAK,CAK1B;AACAA,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,KAAK,EAAEE,WAAW,EAAEC,MAAM,EAAE,GAAA;oBACpC,OAAO;AACLC,wBAAAA,GAAAA,EAAK,CAAC,2BAA2B,EAAEJ,MAAM,CAAC,EAAEE,YAAY,CAAC;wBACzDG,MAAQ,EAAA,KAAA;wBACRC,MAAQ,EAAA;AACNH,4BAAAA;AACF;AACF,qBAAA;AACF,iBAAA;AACAI,gBAAAA,kBAAAA,EAAoB,CAACC,IAAAA,GAAAA;AACnB,oBAAA,MAAM,EAAEC,YAAY,EAAEC,SAAS,EAAE,GAAGF,IAAAA;oBACpC,OAAO;AACLC,wBAAAA,YAAAA;AACAT,wBAAAA,KAAAA,EAAOU,UAAUV,KAAK;AACtBE,wBAAAA,WAAAA,EAAaQ,UAAUR,WAAW;wBAClC2B,EAAInB,EAAAA,SAAAA,CAAUP,MAAM,EAAE0B,EAAAA;wBACtBC,SAAWpB,EAAAA,SAAAA,CAAUP,MAAM,EAAE2B,SAAAA;wBAC7BC,YAAcrB,EAAAA,SAAAA,CAAUP,MAAM,EAAE4B;AAClC,qBAAA;AACF,iBAAA;AACAlB,gBAAAA,KAAAA,EAAO,CAACC,YAAcC,EAAAA,QAAAA,GAAAA;AACpB,oBAAA,IAAID,YAAaE,CAAAA,UAAU,IAAID,QAAAA,CAASC,UAAU,EAAE;wBAClD,IAAIF,YAAAA,CAAaE,UAAU,CAACC,IAAI,GAAGF,QAASC,CAAAA,UAAU,CAACC,IAAI,EAAE;AAC3D;;;gBAIA,MAAMe,WAAclB,GAAAA,YAAAA,CAAaI,OAAO,CAACe,GAAG,CAAC,CAACC,IAASA,GAAAA,IAAAA,CAAKC,UAAU,CAAA;AACtE,4BAAA,MAAMC,cAAiBrB,GAAAA,QAAAA,CAASG,OAAO,CAACmB,MAAM,CAC5C,CAACH,IAAAA,GAAS,CAACF,WAAAA,CAAYM,QAAQ,CAACJ,KAAKC,UAAU,CAAA,CAAA;4BAEjDrB,YAAaI,CAAAA,OAAO,CAACqB,IAAI,CAAIH,GAAAA,cAAAA,CAAAA;4BAC7BtB,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C,yBAAA,MAAO,IAAID,QAASC,CAAAA,UAAU,CAACC,IAAI,KAAK,CAAG,EAAA;AACzC;;AAEC,gBACDH,YAAaI,CAAAA,OAAO,GAAGH,QAAAA,CAASG,OAAO;4BACvCJ,YAAaE,CAAAA,UAAU,GAAGD,QAAAA,CAASC,UAAU;AAC/C;AACF;AACF,iBAAA;AACAI,gBAAAA,YAAAA,CAAAA,CAAa,EAAEC,UAAU,EAAEC,WAAW,EAAE,EAAA;AACtC,oBAAA,IAAI,CAACD,UAAAA,EAAYlB,MAAU,IAAA,CAACmB,aAAanB,MAAQ,EAAA;wBAC/C,OAAO,KAAA;AACT;oBAEA,OACEkB,UAAAA,EAAYlB,MAAQc,EAAAA,IAAAA,KAASK,WAAanB,EAAAA,MAAAA,EAAQc,QAClDI,UAAYlB,EAAAA,MAAAA,EAAQoB,QAAaD,KAAAA,WAAAA,EAAanB,MAAQoB,EAAAA,QAAAA;AAE1D,iBAAA;AACAC,gBAAAA,iBAAAA,EAAmB,CAACC,QAAAA,GAAAA;oBAClB,IAAIA,QAAAA,CAASP,OAAO,EAAE;wBACpB,OAAO;AACL,4BAAA,GAAGO,QAAQ;AACXP,4BAAAA,OAAAA,EAASO,SAASP;AACpB,yBAAA;qBACK,MAAA;wBACL,OAAOO,QAAAA;AACT;AACF;AACF,aAAA;SACF;AACF,CAAA,CAAA;AAEA;;;;AAIC,IACD,MAAMN,eAAAA,GAAkB,CAACqB,SAAAA,EAAwBC,oBAAsC,EAAE,GAAA;AACvF,IAAA,MAAM,CAACC,SAAAA,CAAU,GAAGD,iBAAAA,CAAkBE,KAAK,CAAC,CAAA,CAAA;AAC5C,IAAA,MAAMC,OAAOC,oBAAqB,CAAA,IAAA,EAAMH,WAAWI,YAAgB,IAAA,IAAA,EAAMN,UAAUO,MAAM,CAAA;AAEzF,IAAA,OAAOP,UAAUP,GAAG,CAAC,CAACe,KAAAA,EAAOC,SAAW;AACtC,YAAA,GAAGD,KAAK;YACRF,YAAcF,EAAAA,IAAI,CAACK,KAAM;SAC3B,CAAA,CAAA;AACF,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,2BAA2B,EAAE,GAAG1D;;AC/L9D;;;;;;;IAQA,MAAM2D,gBAAmB,GAAA,CAACC,QAA0BC,EAAAA,SAAAA,GAAAA;AAClD,IAAA,MAAMC,KAAQD,GAAAA,SAAAA,IAAaD,QAAQ,CAACC,SAAUE,CAAAA,IAAI,CAAC,GAAGH,QAAQ,CAACC,SAAUE,CAAAA,IAAI,CAAC,GAAG,IAAA;IAEjF,IAAI,OAAOD,UAAU,QAAU,EAAA;QAC7B,OAAOA,KAAAA;AACT;AAEA,IAAA,OAAOF,SAASlB,UAAU;AAC5B;;;;"}
@@ -227,4 +227,4 @@ var ru = {
227
227
  };
228
228
 
229
229
  export { ru as default };
230
- //# sourceMappingURL=ru-CB4BUyQp.js.map
230
+ //# sourceMappingURL=ru-CB4BUyQp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ru-CB4BUyQp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ru-CB4BUyQp.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -193,4 +193,4 @@ var sa = {
193
193
  };
194
194
 
195
195
  export { sa as default, groups, models, pageNotFound };
196
- //# sourceMappingURL=sa-n_aPA-pU.js.map
196
+ //# sourceMappingURL=sa-n_aPA-pU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sa-n_aPA-pU.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -195,4 +195,4 @@ var sk = {
195
195
  };
196
196
 
197
197
  export { sk as default, groups, models, pageNotFound };
198
- //# sourceMappingURL=sk-tn_BDjE2.js.map
198
+ //# sourceMappingURL=sk-tn_BDjE2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sk-tn_BDjE2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -195,4 +195,4 @@ var sv = {
195
195
  };
196
196
 
197
197
  export { sv as default, groups, models, pageNotFound };
198
- //# sourceMappingURL=sv-cq4ZrQRd.js.map
198
+ //# sourceMappingURL=sv-cq4ZrQRd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sv-cq4ZrQRd.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -141,4 +141,4 @@ var th = {
141
141
  };
142
142
 
143
143
  export { th as default, groups, models, pageNotFound };
144
- //# sourceMappingURL=th-mUH7hEtc.js.map
144
+ //# sourceMappingURL=th-mUH7hEtc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"th-mUH7hEtc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -192,4 +192,4 @@ var tr = {
192
192
  };
193
193
 
194
194
  export { tr as default, groups, models, pageNotFound };
195
- //# sourceMappingURL=tr-Yt38daxh.js.map
195
+ //# sourceMappingURL=tr-Yt38daxh.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr-Yt38daxh.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -137,4 +137,4 @@ var uk = {
137
137
  };
138
138
 
139
139
  export { uk as default, groups, models, pageNotFound };
140
- //# sourceMappingURL=uk-Cpgmm7gE.js.map
140
+ //# sourceMappingURL=uk-Cpgmm7gE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk-Cpgmm7gE.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -244,4 +244,4 @@ const DROP_SENSITIVITY = {
244
244
  };
245
245
 
246
246
  export { DROP_SENSITIVITY as D, ItemTypes as I, DIRECTIONS as a, useDragAndDrop as u };
247
- //# sourceMappingURL=useDragAndDrop-HYwNDExe.js.map
247
+ //# sourceMappingURL=useDragAndDrop-HYwNDExe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDragAndDrop-HYwNDExe.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":["ItemTypes","COMPONENT","EDIT_FIELD","FIELD","DYNAMIC_ZONE","RELATION","BLOCKS","useKeyboardDragAndDrop","active","index","onCancel","onDropItem","onGrabItem","onMoveItem","isSelected","setIsSelected","React","useState","handleMove","movement","handleDragClick","handleCancel","handleKeyDown","e","key","preventDefault","DIRECTIONS","UPWARD","DOWNWARD","DROP_SENSITIVITY","REGULAR","IMMEDIATE","useDragAndDrop","type","item","onStart","onEnd","dropSensitivity","objectRef","useRef","handlerId","isOver","dropRef","useDrop","accept","collect","monitor","getHandlerId","shallow","drop","draggedIndex","newIndex","hover","current","dragIndex","hoverBoundingRect","getBoundingClientRect","hoverMiddleY","bottom","top","clientOffset","getClientOffset","hoverClientY","y","Array","isArray","minLength","Math","min","length","areEqual","isLessThan","isGreaterThan","i","getDragDirection","isDragging","didDrop","getInitialClientOffset","deltaY","direction","dragRef","dragPreviewRef","useDrag","width","end","canDrag","id","getItem","undefined","initialOffset","currentOffset","isOverDropTarget"],"mappings":"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"}
@@ -15,4 +15,4 @@ const usePrev = (value)=>{
15
15
  };
16
16
 
17
17
  export { prefixFileUrlWithBackendUrl as p, usePrev as u };
18
- //# sourceMappingURL=usePrev-Bjw2dhmq.js.map
18
+ //# sourceMappingURL=usePrev-Bjw2dhmq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrev-Bjw2dhmq.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":["prefixFileUrlWithBackendUrl","fileURL","startsWith","window","strapi","backendURL","usePrev","value","ref","useRef","useEffect","current"],"mappings":";;AAAA,MAAMA,8BAA8B,CAACC,OAAAA,GAAAA;AACnC,IAAA,OAAO,CAAC,CAACA,OAAAA,IAAWA,OAAQC,CAAAA,UAAU,CAAC,GAAO,CAAA,GAAA,CAAC,EAAEC,MAAAA,CAAOC,MAAM,CAACC,UAAU,CAAC,EAAEJ,OAAAA,CAAQ,CAAC,GAAGA,OAAAA;AAC1F;;ACAO,MAAMK,UAAU,CAAIC,KAAAA,GAAAA;AACzB,IAAA,MAAMC,GAAMC,GAAAA,MAAAA,EAAAA;IAEZC,SAAU,CAAA,IAAA;AACRF,QAAAA,GAAAA,CAAIG,OAAO,GAAGJ,KAAAA;KACb,EAAA;AAACA,QAAAA;AAAM,KAAA,CAAA;AAEV,IAAA,OAAOC,IAAIG,OAAO;AACpB;;;;"}
@@ -105,4 +105,4 @@ var vi = {
105
105
  };
106
106
 
107
107
  export { vi as default, groups, pageNotFound };
108
- //# sourceMappingURL=vi-CvBGlTjr.js.map
108
+ //# sourceMappingURL=vi-CvBGlTjr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vi-CvBGlTjr.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -202,4 +202,4 @@ var zh = {
202
202
  };
203
203
 
204
204
  export { zh as default, groups, models, pageNotFound };
205
- //# sourceMappingURL=zh-BmF-sHaT.js.map
205
+ //# sourceMappingURL=zh-BmF-sHaT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-BmF-sHaT.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -931,4 +931,4 @@ var zhHans = {
931
931
  };
932
932
 
933
933
  export { Analytics, Documentation, Email, Password, Provider, ResetPasswordToken, Role, Username, Users, anErrorOccurred, clearLabel, dark, zhHans as default, light, or, selectButtonTitle, skipToContent, submit };
934
- //# sourceMappingURL=zh-Hans-CI0HKio3.js.map
934
+ //# sourceMappingURL=zh-Hans-CI0HKio3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"zh-Hans-CI0HKio3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"zh-Hans-CI0HKio3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('@strapi/icons');
6
- var index = require('./chunks/index-BERMAQwA.js');
6
+ var index = require('./chunks/index-BRXoE5Bv.js');
7
+ require('prismjs');
7
8
  require('react/jsx-runtime');
8
9
  require('@strapi/admin/strapi-admin');
9
10
  require('react');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import '@strapi/icons';
2
- export { l as DocumentRBAC, D as DocumentStatus, d as buildValidParams, O as default, Q as unstable_useContentManagerContext, M as unstable_useDocument, U as unstable_useDocumentActions, h as unstable_useDocumentLayout, f as useDocumentRBAC } from './chunks/index-Jhj6SW8H.js';
2
+ export { l as DocumentRBAC, D as DocumentStatus, d as buildValidParams, Q as default, U as unstable_useContentManagerContext, M as unstable_useDocument, V as unstable_useDocumentActions, h as unstable_useDocumentLayout, f as useDocumentRBAC } from './chunks/index-CKhhB2D_.mjs';
3
+ import 'prismjs';
3
4
  import 'react/jsx-runtime';
4
5
  import '@strapi/admin/strapi-admin';
5
6
  import 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -22,6 +22,7 @@ type UseDocumentActions = () => {
22
22
  * This will return a list of the fields as an error if it's unable to clone.
23
23
  * You most likely want to use the `clone` action instead.
24
24
  */
25
+ isLoading: boolean;
25
26
  autoClone: (args: {
26
27
  model: string;
27
28
  sourceId: string;
@@ -1,3 +1,4 @@
1
+ import 'prismjs';
1
2
  declare const _default: {
2
3
  register(app: any): void;
3
4
  bootstrap(app: any): void;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { NotificationConfig } from '@strapi/admin/strapi-admin';
3
3
  import { ButtonProps } from '@strapi/design-system';
4
4
  import type { DocumentActionComponent } from '../../../content-manager';
5
- type DocumentActionPosition = 'panel' | 'header' | 'table-row';
5
+ type DocumentActionPosition = 'panel' | 'header' | 'table-row' | 'preview';
6
6
  interface DocumentActionDescription {
7
7
  label: string;
8
8
  onClick?: (event: React.SyntheticEvent) => Promise<boolean | void> | boolean | void;
@@ -21,6 +21,7 @@ interface DocumentActionDescription {
21
21
  * @default 'secondary'
22
22
  */
23
23
  variant?: ButtonProps['variant'];
24
+ loading?: ButtonProps['loading'];
24
25
  }
25
26
  interface DialogOptions {
26
27
  type: 'dialog';
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { Menu } from '@strapi/design-system';
3
+ export interface ObservedComponent {
4
+ toolbar: React.ReactNode;
5
+ menu: React.ReactNode;
6
+ key: string;
7
+ }
8
+ export declare const EditorToolbarObserver: ({ observedComponents, menuTriggerVariant, }: {
9
+ observedComponents: ObservedComponent[];
10
+ menuTriggerVariant?: Menu.TriggerProps['variant'];
11
+ }) => import("react/jsx-runtime").JSX.Element[];
@@ -1,7 +1,55 @@
1
1
  import { BaseRange, NodeEntry } from 'slate';
2
2
  import { type BlocksStore } from '../BlocksEditor';
3
3
  import 'prismjs/themes/prism-solarizedlight.css';
4
- import './utils/prismLanguages';
4
+ import 'prismjs/components/prism-asmatmel';
5
+ import 'prismjs/components/prism-bash';
6
+ import 'prismjs/components/prism-basic';
7
+ import 'prismjs/components/prism-c';
8
+ import 'prismjs/components/prism-clojure';
9
+ import 'prismjs/components/prism-cobol';
10
+ import 'prismjs/components/prism-cpp';
11
+ import 'prismjs/components/prism-csharp';
12
+ import 'prismjs/components/prism-dart';
13
+ import 'prismjs/components/prism-docker';
14
+ import 'prismjs/components/prism-elixir';
15
+ import 'prismjs/components/prism-erlang';
16
+ import 'prismjs/components/prism-fortran';
17
+ import 'prismjs/components/prism-fsharp';
18
+ import 'prismjs/components/prism-go';
19
+ import 'prismjs/components/prism-graphql';
20
+ import 'prismjs/components/prism-groovy';
21
+ import 'prismjs/components/prism-haskell';
22
+ import 'prismjs/components/prism-haxe';
23
+ import 'prismjs/components/prism-ini';
24
+ import 'prismjs/components/prism-java';
25
+ import 'prismjs/components/prism-javascript';
26
+ import 'prismjs/components/prism-jsx';
27
+ import 'prismjs/components/prism-json';
28
+ import 'prismjs/components/prism-julia';
29
+ import 'prismjs/components/prism-kotlin';
30
+ import 'prismjs/components/prism-latex';
31
+ import 'prismjs/components/prism-lua';
32
+ import 'prismjs/components/prism-markdown';
33
+ import 'prismjs/components/prism-matlab';
34
+ import 'prismjs/components/prism-makefile';
35
+ import 'prismjs/components/prism-objectivec';
36
+ import 'prismjs/components/prism-perl';
37
+ import 'prismjs/components/prism-php';
38
+ import 'prismjs/components/prism-powershell';
39
+ import 'prismjs/components/prism-python';
40
+ import 'prismjs/components/prism-r';
41
+ import 'prismjs/components/prism-ruby';
42
+ import 'prismjs/components/prism-rust';
43
+ import 'prismjs/components/prism-sas';
44
+ import 'prismjs/components/prism-scala';
45
+ import 'prismjs/components/prism-scheme';
46
+ import 'prismjs/components/prism-sql';
47
+ import 'prismjs/components/prism-stata';
48
+ import 'prismjs/components/prism-swift';
49
+ import 'prismjs/components/prism-typescript';
50
+ import 'prismjs/components/prism-tsx';
51
+ import 'prismjs/components/prism-vbnet';
52
+ import 'prismjs/components/prism-yaml';
5
53
  type BaseRangeCustom = BaseRange & {
6
54
  className: string;
7
55
  };
@@ -34,5 +34,6 @@ declare const LinkEllipsis: import("styled-components").IStyledComponent<"web",
34
34
  ref?: ((instance: unknown) => void) | React.RefObject<unknown> | null | undefined;
35
35
  }, never>> & Omit<(<C extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "a">(props: React.PropsWithoutRef<import("@strapi/design-system").LinkProps<C>> & React.RefAttributes<unknown>) => React.ReactNode), keyof React.Component<any, {}, any>>;
36
36
  declare const MemoizedRelationsField: React.MemoExoticComponent<React.ForwardRefExoticComponent<RelationsFieldProps & React.RefAttributes<HTMLDivElement>>>;
37
- export { MemoizedRelationsField as RelationsInput, FlexWrapper, DisconnectButton, LinkEllipsis };
37
+ declare const MemoizedUnstableRelationsField: React.MemoExoticComponent<React.ForwardRefExoticComponent<RelationsFieldProps & React.RefAttributes<HTMLDivElement>>>;
38
+ export { MemoizedRelationsField as RelationsInput, MemoizedUnstableRelationsField as UnstableRelationsInput, FlexWrapper, DisconnectButton, LinkEllipsis, };
38
39
  export type { RelationsFieldProps };
@@ -5,13 +5,12 @@ interface WysiwygNavProps {
5
5
  editorRef: React.MutableRefObject<EditorFromTextArea>;
6
6
  isExpandMode?: boolean;
7
7
  isPreviewMode?: boolean;
8
- onActionClick: (action: string, editorRef: React.MutableRefObject<EditorFromTextArea>, callback?: () => void) => void;
9
8
  onToggleMediaLib: () => void;
10
9
  onTogglePreviewMode?: () => void;
11
10
  }
12
11
  /**
13
12
  * TODO: refactor this mess.
14
13
  */
15
- declare const WysiwygNav: ({ disabled, editorRef, isExpandMode, isPreviewMode, onActionClick, onToggleMediaLib, onTogglePreviewMode, }: WysiwygNavProps) => import("react/jsx-runtime").JSX.Element;
14
+ declare const WysiwygNav: ({ disabled, editorRef, isPreviewMode, onToggleMediaLib, onTogglePreviewMode, }: WysiwygNavProps) => import("react/jsx-runtime").JSX.Element;
16
15
  export { WysiwygNav };
17
16
  export type { WysiwygNavProps };
@@ -27,6 +27,7 @@ export declare const ResponsiveGridItem: import("styled-components").IStyledComp
27
27
  ref?: any;
28
28
  }, never>> & Omit<Grid.ItemComponent<"div">, keyof import("react").Component<any, {}, any>>;
29
29
  interface FormLayoutProps extends Pick<EditLayout, 'layout'> {
30
+ hasBackground?: boolean;
30
31
  }
31
- declare const FormLayout: ({ layout }: FormLayoutProps) => import("react/jsx-runtime").JSX.Element;
32
+ declare const FormLayout: ({ layout, hasBackground }: FormLayoutProps) => import("react/jsx-runtime").JSX.Element;
32
33
  export { FormLayout, FormLayoutProps };
@@ -1,2 +1,3 @@
1
+ declare const UnstablePreviewContent: () => import("react/jsx-runtime").JSX.Element;
1
2
  declare const PreviewContent: () => import("react/jsx-runtime").JSX.Element;
2
- export { PreviewContent };
3
+ export { PreviewContent, UnstablePreviewContent };
@@ -1,2 +1,3 @@
1
+ declare const UnstablePreviewHeader: () => import("react/jsx-runtime").JSX.Element;
1
2
  declare const PreviewHeader: () => import("react/jsx-runtime").JSX.Element;
2
- export { PreviewHeader };
3
+ export { PreviewHeader, UnstablePreviewHeader };
@@ -1,10 +1,12 @@
1
1
  import { type UseDocument } from '../../hooks/useDocument';
2
+ import { type EditLayout } from '../../hooks/useDocumentLayout';
2
3
  interface PreviewContextValue {
3
4
  url: string;
4
5
  title: string;
5
6
  document: NonNullable<ReturnType<UseDocument>['document']>;
6
7
  meta: NonNullable<ReturnType<UseDocument>['meta']>;
7
8
  schema: NonNullable<ReturnType<UseDocument>['schema']>;
9
+ layout: EditLayout;
8
10
  }
9
11
  declare const usePreviewContext: <Selected>(consumerName: string, selector: (value: PreviewContextValue) => Selected) => Selected;
10
12
  declare const ProtectedPreviewPage: () => import("react/jsx-runtime").JSX.Element;
@@ -2694,7 +2694,7 @@ var collectionTypes = {
2694
2694
  const isUpdate = !isCreate;
2695
2695
  if (isUpdate) {
2696
2696
  // check if the document exists
2697
- const documentExists = documentManager.exists(model, id);
2697
+ const documentExists = await documentManager.exists(model, id);
2698
2698
  if (!documentExists) {
2699
2699
  throw new strapiUtils.errors.NotFoundError('Document not found');
2700
2700
  }