@strapi/content-manager 0.0.0-next.39c0188c3aa01bec7b64b948211571d5159e811d → 0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76
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.
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js +69 -0
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +70 -0
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-DMxUlNOo.js +254 -0
- package/dist/_chunks/ComponentConfigurationPage-DMxUlNOo.js.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-baEkO-OV.mjs +236 -0
- package/dist/_chunks/ComponentConfigurationPage-baEkO-OV.mjs.map +1 -0
- package/dist/_chunks/ComponentIcon-CRbtQEUV.js +175 -0
- package/dist/_chunks/ComponentIcon-CRbtQEUV.js.map +1 -0
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +157 -0
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -0
- package/dist/_chunks/EditConfigurationPage-CXxV7mKn.js +150 -0
- package/dist/_chunks/EditConfigurationPage-CXxV7mKn.js.map +1 -0
- package/dist/_chunks/EditConfigurationPage-YR8-4VCS.mjs +132 -0
- package/dist/_chunks/EditConfigurationPage-YR8-4VCS.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-BfR6jAR6.js +209 -0
- package/dist/_chunks/EditViewPage-BfR6jAR6.js.map +1 -0
- package/dist/_chunks/EditViewPage-DFF7c27p.mjs +191 -0
- package/dist/_chunks/EditViewPage-DFF7c27p.mjs.map +1 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +50 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -0
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +49 -0
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -0
- package/dist/_chunks/Form-CjcMRP5A.js +778 -0
- package/dist/_chunks/Form-CjcMRP5A.js.map +1 -0
- package/dist/_chunks/Form-MSOSfGGN.mjs +758 -0
- package/dist/_chunks/Form-MSOSfGGN.mjs.map +1 -0
- package/dist/_chunks/History-BgZ7gVuF.js +1019 -0
- package/dist/_chunks/History-BgZ7gVuF.js.map +1 -0
- package/dist/_chunks/History-WOQNVho-.mjs +999 -0
- package/dist/_chunks/History-WOQNVho-.mjs.map +1 -0
- package/dist/_chunks/Input-BkKwZ6Qt.mjs +5585 -0
- package/dist/_chunks/Input-BkKwZ6Qt.mjs.map +1 -0
- package/dist/_chunks/Input-BwOibhc3.js +5617 -0
- package/dist/_chunks/Input-BwOibhc3.js.map +1 -0
- package/dist/_chunks/ListConfigurationPage-BeXfr6uW.mjs +633 -0
- package/dist/_chunks/ListConfigurationPage-BeXfr6uW.mjs.map +1 -0
- package/dist/_chunks/ListConfigurationPage-DnJ3nbwL.js +652 -0
- package/dist/_chunks/ListConfigurationPage-DnJ3nbwL.js.map +1 -0
- package/dist/_chunks/ListViewPage-CJFDudKl.js +877 -0
- package/dist/_chunks/ListViewPage-CJFDudKl.js.map +1 -0
- package/dist/_chunks/ListViewPage-VK2v44Q1.mjs +854 -0
- package/dist/_chunks/ListViewPage-VK2v44Q1.mjs.map +1 -0
- package/dist/_chunks/NoContentTypePage-T8ttty6K.mjs +51 -0
- package/dist/_chunks/NoContentTypePage-T8ttty6K.mjs.map +1 -0
- package/dist/_chunks/NoContentTypePage-en2PwWgI.js +51 -0
- package/dist/_chunks/NoContentTypePage-en2PwWgI.js.map +1 -0
- package/dist/_chunks/NoPermissionsPage-CcjILry3.js +23 -0
- package/dist/_chunks/NoPermissionsPage-CcjILry3.js.map +1 -0
- package/dist/_chunks/NoPermissionsPage-CokBHhhy.mjs +23 -0
- package/dist/_chunks/NoPermissionsPage-CokBHhhy.mjs.map +1 -0
- package/dist/_chunks/Preview-BF81YhRj.mjs +287 -0
- package/dist/_chunks/Preview-BF81YhRj.mjs.map +1 -0
- package/dist/_chunks/Preview-DgzAuzWQ.js +305 -0
- package/dist/_chunks/Preview-DgzAuzWQ.js.map +1 -0
- package/dist/_chunks/Relations-1O-JcM4t.js +747 -0
- package/dist/_chunks/Relations-1O-JcM4t.js.map +1 -0
- package/dist/_chunks/Relations-BncdhGCd.mjs +728 -0
- package/dist/_chunks/Relations-BncdhGCd.mjs.map +1 -0
- package/dist/_chunks/ar-BUUWXIYu.js +226 -0
- package/dist/{admin/chunks/ar-DckYq_WK.js.map → _chunks/ar-BUUWXIYu.js.map} +1 -1
- package/dist/_chunks/ar-CCEVvqGG.mjs +226 -0
- package/dist/_chunks/ar-CCEVvqGG.mjs.map +1 -0
- package/dist/_chunks/ca-5U32ON2v.mjs +201 -0
- package/dist/_chunks/ca-5U32ON2v.mjs.map +1 -0
- package/dist/_chunks/ca-Cmk45QO6.js +201 -0
- package/dist/{admin/chunks/de-CbImAUA5.js.map → _chunks/ca-Cmk45QO6.js.map} +1 -1
- package/dist/_chunks/cs-CM2aBUar.mjs +125 -0
- package/dist/_chunks/cs-CM2aBUar.mjs.map +1 -0
- package/dist/_chunks/cs-CkJy6B2v.js +125 -0
- package/dist/{admin/chunks/cs-C7OSYFQ7.js.map → _chunks/cs-CkJy6B2v.js.map} +1 -1
- package/dist/_chunks/de-C72KDNOl.mjs +199 -0
- package/dist/_chunks/de-C72KDNOl.mjs.map +1 -0
- package/dist/_chunks/de-CCEmbAah.js +199 -0
- package/dist/{admin/chunks/es-C8vLuvZL.js.map → _chunks/de-CCEmbAah.js.map} +1 -1
- package/dist/_chunks/en-BZaUty0m.mjs +311 -0
- package/dist/{admin/chunks/en-C1CjdAtC.js.map → _chunks/en-BZaUty0m.mjs.map} +1 -1
- package/dist/_chunks/en-CzCnBk4S.js +311 -0
- package/dist/{admin/chunks/en-LfhocNG2.js.map → _chunks/en-CzCnBk4S.js.map} +1 -1
- package/dist/_chunks/es-9K52xZIr.js +196 -0
- package/dist/{admin/chunks/de-5QRlDHyR.js.map → _chunks/es-9K52xZIr.js.map} +1 -1
- package/dist/_chunks/es-D34tqjMw.mjs +196 -0
- package/dist/_chunks/es-D34tqjMw.mjs.map +1 -0
- package/dist/_chunks/eu-CdALomew.mjs +202 -0
- package/dist/_chunks/eu-CdALomew.mjs.map +1 -0
- package/dist/_chunks/eu-VDH-3ovk.js +202 -0
- package/dist/_chunks/eu-VDH-3ovk.js.map +1 -0
- package/dist/_chunks/fr--pg5jUbt.mjs +216 -0
- package/dist/_chunks/fr--pg5jUbt.mjs.map +1 -0
- package/dist/_chunks/fr-B2Kyv8Z9.js +216 -0
- package/dist/_chunks/fr-B2Kyv8Z9.js.map +1 -0
- package/dist/_chunks/gu-BRmF601H.js +200 -0
- package/dist/_chunks/gu-BRmF601H.js.map +1 -0
- package/dist/_chunks/gu-CNpaMDpH.mjs +200 -0
- package/dist/_chunks/gu-CNpaMDpH.mjs.map +1 -0
- package/dist/_chunks/hi-CCJBptSq.js +200 -0
- package/dist/_chunks/hi-CCJBptSq.js.map +1 -0
- package/dist/_chunks/hi-Dwvd04m3.mjs +200 -0
- package/dist/_chunks/hi-Dwvd04m3.mjs.map +1 -0
- package/dist/{admin/chunks/hooks-D-sOYd1s.js → _chunks/hooks-BAaaKPS_.js} +3 -6
- package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -0
- package/dist/_chunks/hooks-E5u1mcgM.mjs +8 -0
- package/dist/_chunks/hooks-E5u1mcgM.mjs.map +1 -0
- package/dist/_chunks/hu-CeYvaaO0.mjs +202 -0
- package/dist/_chunks/hu-CeYvaaO0.mjs.map +1 -0
- package/dist/_chunks/hu-sNV_yLYy.js +202 -0
- package/dist/_chunks/hu-sNV_yLYy.js.map +1 -0
- package/dist/_chunks/id-B5Ser98A.js +160 -0
- package/dist/{admin/chunks/it-BAHrwmYS.js.map → _chunks/id-B5Ser98A.js.map} +1 -1
- package/dist/_chunks/id-BtwA9WJT.mjs +160 -0
- package/dist/_chunks/id-BtwA9WJT.mjs.map +1 -0
- package/dist/_chunks/index-DiluOUp6.mjs +4423 -0
- package/dist/_chunks/index-DiluOUp6.mjs.map +1 -0
- package/dist/_chunks/index-EXJvmn4t.js +4442 -0
- package/dist/_chunks/index-EXJvmn4t.js.map +1 -0
- package/dist/_chunks/it-BrVPqaf1.mjs +162 -0
- package/dist/_chunks/it-BrVPqaf1.mjs.map +1 -0
- package/dist/_chunks/it-DkBIs7vD.js +162 -0
- package/dist/{admin/chunks/id-D7V5S1rB.js.map → _chunks/it-DkBIs7vD.js.map} +1 -1
- package/dist/_chunks/ja-7sfIbjxE.js +196 -0
- package/dist/{admin/chunks/it-CQFpa_Dc.js.map → _chunks/ja-7sfIbjxE.js.map} +1 -1
- package/dist/_chunks/ja-BHqhDq4V.mjs +196 -0
- package/dist/_chunks/ja-BHqhDq4V.mjs.map +1 -0
- package/dist/_chunks/ko-HVQRlfUI.mjs +195 -0
- package/dist/_chunks/ko-HVQRlfUI.mjs.map +1 -0
- package/dist/_chunks/ko-woFZPmLk.js +195 -0
- package/dist/{admin/chunks/es-DkoWSExG.js.map → _chunks/ko-woFZPmLk.js.map} +1 -1
- package/dist/_chunks/layout-4TbKVax8.js +488 -0
- package/dist/_chunks/layout-4TbKVax8.js.map +1 -0
- package/dist/_chunks/layout-mSwsYzxv.mjs +471 -0
- package/dist/_chunks/layout-mSwsYzxv.mjs.map +1 -0
- package/dist/_chunks/ml-BihZwQit.mjs +200 -0
- package/dist/_chunks/ml-BihZwQit.mjs.map +1 -0
- package/dist/_chunks/ml-C2W8N8k1.js +200 -0
- package/dist/_chunks/ml-C2W8N8k1.js.map +1 -0
- package/dist/_chunks/ms-BuFotyP_.js +144 -0
- package/dist/{admin/chunks/cs-BJFxwIWj.js.map → _chunks/ms-BuFotyP_.js.map} +1 -1
- package/dist/_chunks/ms-m_WjyWx7.mjs +144 -0
- package/dist/_chunks/ms-m_WjyWx7.mjs.map +1 -0
- package/dist/_chunks/nl-D4R9gHx5.mjs +202 -0
- package/dist/_chunks/nl-D4R9gHx5.mjs.map +1 -0
- package/dist/_chunks/nl-bbEOHChV.js +202 -0
- package/dist/_chunks/nl-bbEOHChV.js.map +1 -0
- package/dist/_chunks/objects-BcXOv6_9.js +47 -0
- package/dist/_chunks/objects-BcXOv6_9.js.map +1 -0
- package/dist/_chunks/objects-D6yBsdmx.mjs +45 -0
- package/dist/_chunks/objects-D6yBsdmx.mjs.map +1 -0
- package/dist/_chunks/pl-sbx9mSt_.mjs +199 -0
- package/dist/_chunks/pl-sbx9mSt_.mjs.map +1 -0
- package/dist/_chunks/pl-uzwG-hk7.js +199 -0
- package/dist/{admin/chunks/ca-DviY7mRj.js.map → _chunks/pl-uzwG-hk7.js.map} +1 -1
- package/dist/_chunks/pt-BR-BiOz37D9.js +201 -0
- package/dist/{admin/chunks/pt-BR-CcotyBGJ.js.map → _chunks/pt-BR-BiOz37D9.js.map} +1 -1
- package/dist/_chunks/pt-BR-C71iDxnh.mjs +201 -0
- package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +1 -0
- package/dist/_chunks/pt-BsaFvS8-.mjs +95 -0
- package/dist/_chunks/pt-BsaFvS8-.mjs.map +1 -0
- package/dist/_chunks/pt-CeXQuq50.js +95 -0
- package/dist/_chunks/pt-CeXQuq50.js.map +1 -0
- package/dist/_chunks/relations--YOvQBqv.mjs +134 -0
- package/dist/_chunks/relations--YOvQBqv.mjs.map +1 -0
- package/dist/_chunks/relations-Ai6Izh7h.js +133 -0
- package/dist/_chunks/relations-Ai6Izh7h.js.map +1 -0
- package/dist/_chunks/ru-BE6A4Exp.mjs +231 -0
- package/dist/{admin/chunks/ar-DeQBSsfl.js.map → _chunks/ru-BE6A4Exp.mjs.map} +1 -1
- package/dist/_chunks/ru-BT3ybNny.js +231 -0
- package/dist/{admin/chunks/ru-CB4BUyQp.js.map → _chunks/ru-BT3ybNny.js.map} +1 -1
- package/dist/_chunks/sa-CcvkYInH.js +200 -0
- package/dist/_chunks/sa-CcvkYInH.js.map +1 -0
- package/dist/_chunks/sa-Dag0k-Z8.mjs +200 -0
- package/dist/_chunks/sa-Dag0k-Z8.mjs.map +1 -0
- package/dist/_chunks/sk-BFg-R8qJ.mjs +202 -0
- package/dist/_chunks/sk-BFg-R8qJ.mjs.map +1 -0
- package/dist/_chunks/sk-CvY09Xjv.js +202 -0
- package/dist/_chunks/sk-CvY09Xjv.js.map +1 -0
- package/dist/_chunks/sv-CUnfWGsh.mjs +202 -0
- package/dist/_chunks/sv-CUnfWGsh.mjs.map +1 -0
- package/dist/_chunks/sv-MYDuzgvT.js +202 -0
- package/dist/_chunks/sv-MYDuzgvT.js.map +1 -0
- package/dist/_chunks/th-BqbI8lIT.mjs +148 -0
- package/dist/_chunks/th-BqbI8lIT.mjs.map +1 -0
- package/dist/_chunks/th-D9_GfAjc.js +148 -0
- package/dist/{admin/chunks/ms-CvSC0OdG.js.map → _chunks/th-D9_GfAjc.js.map} +1 -1
- package/dist/_chunks/tr-CgeK3wJM.mjs +199 -0
- package/dist/_chunks/tr-CgeK3wJM.mjs.map +1 -0
- package/dist/_chunks/tr-D9UH-O_R.js +199 -0
- package/dist/_chunks/tr-D9UH-O_R.js.map +1 -0
- package/dist/_chunks/uk-C8EiqJY7.js +144 -0
- package/dist/{admin/chunks/ms-Bh09NFff.js.map → _chunks/uk-C8EiqJY7.js.map} +1 -1
- package/dist/_chunks/uk-CR-zDhAY.mjs +144 -0
- package/dist/_chunks/uk-CR-zDhAY.mjs.map +1 -0
- package/dist/_chunks/useDragAndDrop-BMtgCYzL.js +245 -0
- package/dist/_chunks/useDragAndDrop-BMtgCYzL.js.map +1 -0
- package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs +228 -0
- package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs.map +1 -0
- package/dist/_chunks/usePrev-CZGy2Vjf.mjs +29 -0
- package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +1 -0
- package/dist/_chunks/usePrev-D5J_2fEu.js +28 -0
- package/dist/_chunks/usePrev-D5J_2fEu.js.map +1 -0
- package/dist/_chunks/vi-CJlYDheJ.js +111 -0
- package/dist/{admin/chunks/vi-CvBGlTjr.js.map → _chunks/vi-CJlYDheJ.js.map} +1 -1
- package/dist/_chunks/vi-DUXIk_fw.mjs +111 -0
- package/dist/_chunks/vi-DUXIk_fw.mjs.map +1 -0
- package/dist/_chunks/zh-BWZspA60.mjs +209 -0
- package/dist/_chunks/zh-BWZspA60.mjs.map +1 -0
- package/dist/_chunks/zh-CQQfszqR.js +209 -0
- package/dist/{admin/chunks/ca-ClDTvatJ.js.map → _chunks/zh-CQQfszqR.js.map} +1 -1
- package/dist/_chunks/zh-Hans-9kOncHGw.js +952 -0
- package/dist/{admin/chunks/zh-Hans-CI0HKio3.js.map → _chunks/zh-Hans-9kOncHGw.js.map} +1 -1
- package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +952 -0
- package/dist/{admin/chunks/zh-Hans-JVK9x7xr.js.map → _chunks/zh-Hans-BPQcRIyH.mjs.map} +1 -1
- package/dist/admin/index.js +4 -23
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +13 -16
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +2 -2
- package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
- package/dist/admin/src/preview/index.d.ts +3 -2
- package/dist/server/index.js +4396 -5468
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +4368 -5442
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/services/utils/count.d.ts +1 -1
- package/dist/server/src/services/utils/count.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +1 -0
- package/dist/shared/contracts/components.d.ts +1 -0
- package/dist/shared/contracts/content-types.d.ts +1 -0
- package/dist/shared/contracts/history-versions.d.ts +1 -0
- package/dist/shared/contracts/index.d.ts +1 -0
- package/dist/shared/contracts/init.d.ts +1 -0
- package/dist/shared/contracts/preview.d.ts +1 -0
- package/dist/shared/contracts/relations.d.ts +2 -1
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/dist/shared/contracts/review-workflows.d.ts +1 -0
- package/dist/shared/contracts/single-types.d.ts +1 -0
- package/dist/shared/contracts/uid.d.ts +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +24 -35
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +25 -34
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +10 -13
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.js +0 -80
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
- package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +0 -82
- package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +0 -1
- package/dist/admin/chunks/ComponentConfigurationPage-Co2eC_-C.js +0 -276
- package/dist/admin/chunks/ComponentConfigurationPage-Co2eC_-C.js.map +0 -1
- package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.js +0 -298
- package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.js.map +0 -1
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js +0 -153
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
- package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +0 -176
- package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +0 -1
- package/dist/admin/chunks/EditConfigurationPage-Dm5woBp9.js +0 -180
- package/dist/admin/chunks/EditConfigurationPage-Dm5woBp9.js.map +0 -1
- package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js +0 -158
- package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-DsBKmSPb.js +0 -337
- package/dist/admin/chunks/EditViewPage-DsBKmSPb.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-kAIaYTg0.js +0 -314
- package/dist/admin/chunks/EditViewPage-kAIaYTg0.js.map +0 -1
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js +0 -56
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
- package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +0 -58
- package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +0 -1
- package/dist/admin/chunks/Form-BO69oITe.js +0 -955
- package/dist/admin/chunks/Form-BO69oITe.js.map +0 -1
- package/dist/admin/chunks/Form-BPIhJKyf.js +0 -978
- package/dist/admin/chunks/Form-BPIhJKyf.js.map +0 -1
- package/dist/admin/chunks/History-BzvpM-Gw.js +0 -1357
- package/dist/admin/chunks/History-BzvpM-Gw.js.map +0 -1
- package/dist/admin/chunks/History-DBQ96jv2.js +0 -1380
- package/dist/admin/chunks/History-DBQ96jv2.js.map +0 -1
- package/dist/admin/chunks/Input-BlDcbhUC.js +0 -6755
- package/dist/admin/chunks/Input-BlDcbhUC.js.map +0 -1
- package/dist/admin/chunks/Input-Dh1MtWno.js +0 -6786
- package/dist/admin/chunks/Input-Dh1MtWno.js.map +0 -1
- package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js +0 -818
- package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js.map +0 -1
- package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js +0 -795
- package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js.map +0 -1
- package/dist/admin/chunks/ListViewPage-BF2q7N6W.js +0 -1132
- package/dist/admin/chunks/ListViewPage-BF2q7N6W.js.map +0 -1
- package/dist/admin/chunks/ListViewPage-CS1ED-vI.js +0 -1154
- package/dist/admin/chunks/ListViewPage-CS1ED-vI.js.map +0 -1
- package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js +0 -59
- package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js.map +0 -1
- package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js +0 -57
- package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js.map +0 -1
- package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js +0 -36
- package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js.map +0 -1
- package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js +0 -38
- package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js.map +0 -1
- package/dist/admin/chunks/Preview-C9kXTY6C.js +0 -531
- package/dist/admin/chunks/Preview-C9kXTY6C.js.map +0 -1
- package/dist/admin/chunks/Preview-DBvmhR7Q.js +0 -553
- package/dist/admin/chunks/Preview-DBvmhR7Q.js.map +0 -1
- package/dist/admin/chunks/Relations-Cn0atFpd.js +0 -827
- package/dist/admin/chunks/Relations-Cn0atFpd.js.map +0 -1
- package/dist/admin/chunks/Relations-XHxDKEvT.js +0 -853
- package/dist/admin/chunks/Relations-XHxDKEvT.js.map +0 -1
- package/dist/admin/chunks/ar-DckYq_WK.js +0 -222
- package/dist/admin/chunks/ar-DeQBSsfl.js +0 -227
- package/dist/admin/chunks/ca-ClDTvatJ.js +0 -202
- package/dist/admin/chunks/ca-DviY7mRj.js +0 -197
- package/dist/admin/chunks/cs-BJFxwIWj.js +0 -126
- package/dist/admin/chunks/cs-C7OSYFQ7.js +0 -122
- package/dist/admin/chunks/de-5QRlDHyR.js +0 -195
- package/dist/admin/chunks/de-CbImAUA5.js +0 -200
- package/dist/admin/chunks/en-C1CjdAtC.js +0 -313
- package/dist/admin/chunks/en-LfhocNG2.js +0 -308
- package/dist/admin/chunks/es-C8vLuvZL.js +0 -197
- package/dist/admin/chunks/es-DkoWSExG.js +0 -192
- package/dist/admin/chunks/eu-BG1xX7HK.js +0 -198
- package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
- package/dist/admin/chunks/eu-BJW3AvXu.js +0 -203
- package/dist/admin/chunks/eu-BJW3AvXu.js.map +0 -1
- package/dist/admin/chunks/fr-CFdRaRVj.js +0 -215
- package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
- package/dist/admin/chunks/fr-gQSilC7w.js +0 -220
- package/dist/admin/chunks/fr-gQSilC7w.js.map +0 -1
- package/dist/admin/chunks/gu-D5MMMXRs.js +0 -196
- package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
- package/dist/admin/chunks/gu-DPU4wyx7.js +0 -201
- package/dist/admin/chunks/gu-DPU4wyx7.js.map +0 -1
- package/dist/admin/chunks/hi-Dp4omeBb.js +0 -201
- package/dist/admin/chunks/hi-Dp4omeBb.js.map +0 -1
- package/dist/admin/chunks/hi-lp17SCjr.js +0 -196
- package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
- package/dist/admin/chunks/hooks-D-sOYd1s.js.map +0 -1
- package/dist/admin/chunks/hooks-DMvik5y_.js +0 -7
- package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
- package/dist/admin/chunks/hu-CLka1U2C.js +0 -198
- package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
- package/dist/admin/chunks/hu-CtFJuhTd.js +0 -203
- package/dist/admin/chunks/hu-CtFJuhTd.js.map +0 -1
- package/dist/admin/chunks/id-D7V5S1rB.js +0 -161
- package/dist/admin/chunks/id-USfY9m1g.js +0 -156
- package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
- package/dist/admin/chunks/index-BczuAULz.js +0 -5416
- package/dist/admin/chunks/index-BczuAULz.js.map +0 -1
- package/dist/admin/chunks/index-BkyR-Bnu.js +0 -5350
- package/dist/admin/chunks/index-BkyR-Bnu.js.map +0 -1
- package/dist/admin/chunks/it-BAHrwmYS.js +0 -158
- package/dist/admin/chunks/it-CQFpa_Dc.js +0 -163
- package/dist/admin/chunks/ja-BWKmBJFT.js +0 -192
- package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
- package/dist/admin/chunks/ja-jdQM-B79.js +0 -197
- package/dist/admin/chunks/ja-jdQM-B79.js.map +0 -1
- package/dist/admin/chunks/ko-CgADGBNt.js +0 -191
- package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
- package/dist/admin/chunks/ko-k46sEyzt.js +0 -196
- package/dist/admin/chunks/ko-k46sEyzt.js.map +0 -1
- package/dist/admin/chunks/layout-DcDoRT8g.js +0 -618
- package/dist/admin/chunks/layout-DcDoRT8g.js.map +0 -1
- package/dist/admin/chunks/layout-fghBgRgX.js +0 -598
- package/dist/admin/chunks/layout-fghBgRgX.js.map +0 -1
- package/dist/admin/chunks/ml-CnhCfOn_.js +0 -196
- package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
- package/dist/admin/chunks/ml-DqxPwODx.js +0 -201
- package/dist/admin/chunks/ml-DqxPwODx.js.map +0 -1
- package/dist/admin/chunks/ms-Bh09NFff.js +0 -140
- package/dist/admin/chunks/ms-CvSC0OdG.js +0 -145
- package/dist/admin/chunks/nl-BEubhS8C.js +0 -203
- package/dist/admin/chunks/nl-BEubhS8C.js.map +0 -1
- package/dist/admin/chunks/nl-C8HYflTc.js +0 -198
- package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
- package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
- package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
- package/dist/admin/chunks/objects-wl73iEma.js +0 -73
- package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
- package/dist/admin/chunks/pl-DWhGDzmM.js +0 -200
- package/dist/admin/chunks/pl-DWhGDzmM.js.map +0 -1
- package/dist/admin/chunks/pl-MFCZJZuZ.js +0 -195
- package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
- package/dist/admin/chunks/pt-BR-CPtAXD-4.js +0 -202
- package/dist/admin/chunks/pt-BR-CPtAXD-4.js.map +0 -1
- package/dist/admin/chunks/pt-BR-CcotyBGJ.js +0 -197
- package/dist/admin/chunks/pt-BoPxN80n.js +0 -96
- package/dist/admin/chunks/pt-BoPxN80n.js.map +0 -1
- package/dist/admin/chunks/pt-HbmgeiYO.js +0 -93
- package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
- package/dist/admin/chunks/relations-CgaydhiM.js +0 -178
- package/dist/admin/chunks/relations-CgaydhiM.js.map +0 -1
- package/dist/admin/chunks/relations-DPVgU_rq.js +0 -173
- package/dist/admin/chunks/relations-DPVgU_rq.js.map +0 -1
- package/dist/admin/chunks/ru-C0op0ALG.js +0 -232
- package/dist/admin/chunks/ru-C0op0ALG.js.map +0 -1
- package/dist/admin/chunks/ru-CB4BUyQp.js +0 -230
- package/dist/admin/chunks/sa-B_FuPyMw.js +0 -201
- package/dist/admin/chunks/sa-B_FuPyMw.js.map +0 -1
- package/dist/admin/chunks/sa-n_aPA-pU.js +0 -196
- package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
- package/dist/admin/chunks/sk-D_iXML2C.js +0 -203
- package/dist/admin/chunks/sk-D_iXML2C.js.map +0 -1
- package/dist/admin/chunks/sk-tn_BDjE2.js +0 -198
- package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
- package/dist/admin/chunks/sv-BstBC1Yp.js +0 -203
- package/dist/admin/chunks/sv-BstBC1Yp.js.map +0 -1
- package/dist/admin/chunks/sv-cq4ZrQRd.js +0 -198
- package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
- package/dist/admin/chunks/th-lXoOCqPC.js +0 -149
- package/dist/admin/chunks/th-lXoOCqPC.js.map +0 -1
- package/dist/admin/chunks/th-mUH7hEtc.js +0 -144
- package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
- package/dist/admin/chunks/tr-CkS6sLIE.js +0 -200
- package/dist/admin/chunks/tr-CkS6sLIE.js.map +0 -1
- package/dist/admin/chunks/tr-Yt38daxh.js +0 -195
- package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
- package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
- package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
- package/dist/admin/chunks/uk-Cpgmm7gE.js +0 -140
- package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js +0 -247
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +0 -271
- package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.js +0 -18
- package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
- package/dist/admin/chunks/usePrev-DIYl-IAL.js +0 -21
- package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
- package/dist/admin/chunks/vi-BGr1X_HZ.js +0 -112
- package/dist/admin/chunks/vi-BGr1X_HZ.js.map +0 -1
- package/dist/admin/chunks/vi-CvBGlTjr.js +0 -108
- package/dist/admin/chunks/zh-BmF-sHaT.js +0 -205
- package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
- package/dist/admin/chunks/zh-DwFu_Kfj.js +0 -210
- package/dist/admin/chunks/zh-DwFu_Kfj.js.map +0 -1
- package/dist/admin/chunks/zh-Hans-CI0HKio3.js +0 -934
- package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +0 -953
@@ -0,0 +1,728 @@
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
2
|
+
import * as React from "react";
|
3
|
+
import { createContext, useQueryParams, useForm, useField, useNotification, useFocusInputField } from "@strapi/admin/strapi-admin";
|
4
|
+
import { Flex, TextButton, Field, Combobox, ComboboxOption, Typography, VisuallyHidden, Box, useComposedRefs, IconButton, Tooltip, Link } from "@strapi/design-system";
|
5
|
+
import { ArrowClockwise, Drag, Cross } from "@strapi/icons";
|
6
|
+
import { generateNKeysBetween } from "fractional-indexing";
|
7
|
+
import pipe from "lodash/fp/pipe";
|
8
|
+
import { getEmptyImage } from "react-dnd-html5-backend";
|
9
|
+
import { useIntl } from "react-intl";
|
10
|
+
import { NavLink } from "react-router-dom";
|
11
|
+
import { FixedSizeList } from "react-window";
|
12
|
+
import { styled } from "styled-components";
|
13
|
+
import { c as useDoc, d as buildValidParams, C as COLLECTION_TYPES, g as getTranslation, D as DocumentStatus } from "./index-DiluOUp6.mjs";
|
14
|
+
import { u as useDragAndDrop, I as ItemTypes, D as DROP_SENSITIVITY } from "./useDragAndDrop-DJ6jqvZN.mjs";
|
15
|
+
import { u as useGetRelationsQuery, g as getRelationLabel, a as useLazySearchRelationsQuery } from "./relations--YOvQBqv.mjs";
|
16
|
+
const [ComponentProvider, useComponent] = createContext("ComponentContext", {
|
17
|
+
id: void 0,
|
18
|
+
level: -1,
|
19
|
+
uid: void 0,
|
20
|
+
type: void 0
|
21
|
+
});
|
22
|
+
function useHandleDisconnect(fieldName, consumerName) {
|
23
|
+
const field = useField(fieldName);
|
24
|
+
const removeFieldRow = useForm(consumerName, (state) => state.removeFieldRow);
|
25
|
+
const addFieldRow = useForm(consumerName, (state) => state.addFieldRow);
|
26
|
+
const handleDisconnect = (relation) => {
|
27
|
+
if (field.value && field.value.connect) {
|
28
|
+
const indexOfRelationInConnectArray = field.value.connect.findIndex(
|
29
|
+
(rel) => rel.id === relation.id
|
30
|
+
);
|
31
|
+
if (indexOfRelationInConnectArray >= 0) {
|
32
|
+
removeFieldRow(`${fieldName}.connect`, indexOfRelationInConnectArray);
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
addFieldRow(`${fieldName}.disconnect`, {
|
37
|
+
id: relation.id,
|
38
|
+
apiData: {
|
39
|
+
id: relation.id,
|
40
|
+
documentId: relation.documentId,
|
41
|
+
locale: relation.locale
|
42
|
+
}
|
43
|
+
});
|
44
|
+
};
|
45
|
+
return handleDisconnect;
|
46
|
+
}
|
47
|
+
const RELATIONS_TO_DISPLAY = 5;
|
48
|
+
const ONE_WAY_RELATIONS = ["oneWay", "oneToOne", "manyToOne", "oneToManyMorph", "oneToOneMorph"];
|
49
|
+
const RelationsField = React.forwardRef(
|
50
|
+
({ disabled, label, ...props }, ref) => {
|
51
|
+
const [currentPage, setCurrentPage] = React.useState(1);
|
52
|
+
const { document, model: documentModel } = useDoc();
|
53
|
+
const documentId = document?.documentId;
|
54
|
+
const { formatMessage } = useIntl();
|
55
|
+
const [{ query }] = useQueryParams();
|
56
|
+
const params = buildValidParams(query);
|
57
|
+
const isMorph = props.attribute.relation.toLowerCase().includes("morph");
|
58
|
+
const isDisabled = isMorph || disabled;
|
59
|
+
const { componentId, componentUID } = useComponent("RelationsField", ({ uid, id: id2 }) => ({
|
60
|
+
componentId: id2,
|
61
|
+
componentUID: uid
|
62
|
+
}));
|
63
|
+
const isSubmitting = useForm("RelationsList", (state) => state.isSubmitting);
|
64
|
+
React.useEffect(() => {
|
65
|
+
setCurrentPage(1);
|
66
|
+
}, [isSubmitting]);
|
67
|
+
const id = componentId ? componentId.toString() : documentId;
|
68
|
+
const model = componentUID ?? documentModel;
|
69
|
+
const [targetField] = props.name.split(".").slice(-1);
|
70
|
+
const { data, isLoading, isFetching } = useGetRelationsQuery(
|
71
|
+
{
|
72
|
+
model,
|
73
|
+
targetField,
|
74
|
+
// below we don't run the query if there is no id.
|
75
|
+
id,
|
76
|
+
params: {
|
77
|
+
...params,
|
78
|
+
pageSize: RELATIONS_TO_DISPLAY,
|
79
|
+
page: currentPage
|
80
|
+
}
|
81
|
+
},
|
82
|
+
{
|
83
|
+
refetchOnMountOrArgChange: true,
|
84
|
+
skip: !id,
|
85
|
+
selectFromResult: (result) => {
|
86
|
+
return {
|
87
|
+
...result,
|
88
|
+
data: {
|
89
|
+
...result.data,
|
90
|
+
results: result.data?.results ? result.data.results : []
|
91
|
+
}
|
92
|
+
};
|
93
|
+
}
|
94
|
+
}
|
95
|
+
);
|
96
|
+
const handleLoadMore = () => {
|
97
|
+
setCurrentPage((prev) => prev + 1);
|
98
|
+
};
|
99
|
+
const field = useField(props.name);
|
100
|
+
const isFetchingMoreRelations = isLoading || isFetching;
|
101
|
+
const realServerRelationsCount = "pagination" in data && data.pagination ? data.pagination.total : 0;
|
102
|
+
const relationsConnected = (field.value?.connect ?? []).filter(
|
103
|
+
(rel) => data.results.findIndex((relation) => relation.id === rel.id) === -1
|
104
|
+
).length ?? 0;
|
105
|
+
const relationsDisconnected = field.value?.disconnect?.length ?? 0;
|
106
|
+
const relationsCount = realServerRelationsCount + relationsConnected - relationsDisconnected;
|
107
|
+
const relations = React.useMemo(() => {
|
108
|
+
const ctx = {
|
109
|
+
field: field.value,
|
110
|
+
// @ts-expect-error – targetModel does exist on the attribute. But it's not typed.
|
111
|
+
href: `../${COLLECTION_TYPES}/${props.attribute.targetModel}`,
|
112
|
+
mainField: props.mainField
|
113
|
+
};
|
114
|
+
const transformations = pipe(
|
115
|
+
removeConnected(ctx),
|
116
|
+
removeDisconnected(ctx),
|
117
|
+
addLabelAndHref(ctx)
|
118
|
+
);
|
119
|
+
const transformedRels = transformations([...data.results]);
|
120
|
+
return [...transformedRels, ...field.value?.connect ?? []].sort((a, b) => {
|
121
|
+
if (a.__temp_key__ < b.__temp_key__) return -1;
|
122
|
+
if (a.__temp_key__ > b.__temp_key__) return 1;
|
123
|
+
return 0;
|
124
|
+
});
|
125
|
+
}, [
|
126
|
+
data.results,
|
127
|
+
field.value,
|
128
|
+
// @ts-expect-error – targetModel does exist on the attribute. But it's not typed.
|
129
|
+
props.attribute.targetModel,
|
130
|
+
props.mainField
|
131
|
+
]);
|
132
|
+
const handleDisconnect = useHandleDisconnect(props.name, "RelationsField");
|
133
|
+
const handleConnect = (relation) => {
|
134
|
+
const [lastItemInList] = relations.slice(-1);
|
135
|
+
const item = {
|
136
|
+
id: relation.id,
|
137
|
+
apiData: {
|
138
|
+
id: relation.id,
|
139
|
+
documentId: relation.documentId,
|
140
|
+
locale: relation.locale
|
141
|
+
},
|
142
|
+
status: relation.status,
|
143
|
+
/**
|
144
|
+
* If there's a last item, that's the first key we use to generate out next one.
|
145
|
+
*/
|
146
|
+
__temp_key__: generateNKeysBetween(lastItemInList?.__temp_key__ ?? null, null, 1)[0],
|
147
|
+
// Fallback to `id` if there is no `mainField` value, which will overwrite the above `id` property with the exact same data.
|
148
|
+
[props.mainField?.name ?? "documentId"]: relation[props.mainField?.name ?? "documentId"],
|
149
|
+
label: getRelationLabel(relation, props.mainField),
|
150
|
+
// @ts-expect-error – targetModel does exist on the attribute, but it's not typed.
|
151
|
+
href: `../${COLLECTION_TYPES}/${props.attribute.targetModel}/${relation.documentId}?${relation.locale ? `plugins[i18n][locale]=${relation.locale}` : ""}`
|
152
|
+
};
|
153
|
+
if (ONE_WAY_RELATIONS.includes(props.attribute.relation)) {
|
154
|
+
field.value?.connect?.forEach(handleDisconnect);
|
155
|
+
relations.forEach(handleDisconnect);
|
156
|
+
field.onChange(`${props.name}.connect`, [item]);
|
157
|
+
} else {
|
158
|
+
field.onChange(`${props.name}.connect`, [...field.value?.connect ?? [], item]);
|
159
|
+
}
|
160
|
+
};
|
161
|
+
return /* @__PURE__ */ jsxs(
|
162
|
+
Flex,
|
163
|
+
{
|
164
|
+
ref,
|
165
|
+
direction: "column",
|
166
|
+
gap: 3,
|
167
|
+
justifyContent: "space-between",
|
168
|
+
alignItems: "stretch",
|
169
|
+
wrap: "wrap",
|
170
|
+
children: [
|
171
|
+
/* @__PURE__ */ jsxs(StyledFlex, { direction: "column", alignItems: "start", gap: 2, width: "100%", children: [
|
172
|
+
/* @__PURE__ */ jsx(
|
173
|
+
RelationsInput,
|
174
|
+
{
|
175
|
+
disabled: isDisabled,
|
176
|
+
id: componentUID ? componentId ? `${componentId}` : "" : documentId,
|
177
|
+
label: `${label} ${relationsCount > 0 ? `(${relationsCount})` : ""}`,
|
178
|
+
model,
|
179
|
+
onChange: handleConnect,
|
180
|
+
...props
|
181
|
+
}
|
182
|
+
),
|
183
|
+
"pagination" in data && data.pagination && data.pagination.pageCount > data.pagination.page ? /* @__PURE__ */ jsx(
|
184
|
+
TextButton,
|
185
|
+
{
|
186
|
+
disabled: isFetchingMoreRelations,
|
187
|
+
onClick: handleLoadMore,
|
188
|
+
loading: isFetchingMoreRelations,
|
189
|
+
startIcon: /* @__PURE__ */ jsx(ArrowClockwise, {}),
|
190
|
+
shrink: 0,
|
191
|
+
children: formatMessage({
|
192
|
+
id: getTranslation("relation.loadMore"),
|
193
|
+
defaultMessage: "Load More"
|
194
|
+
})
|
195
|
+
}
|
196
|
+
) : null
|
197
|
+
] }),
|
198
|
+
/* @__PURE__ */ jsx(
|
199
|
+
RelationsList,
|
200
|
+
{
|
201
|
+
data: relations,
|
202
|
+
serverData: data.results,
|
203
|
+
disabled: isDisabled,
|
204
|
+
name: props.name,
|
205
|
+
isLoading: isFetchingMoreRelations,
|
206
|
+
relationType: props.attribute.relation
|
207
|
+
}
|
208
|
+
)
|
209
|
+
]
|
210
|
+
}
|
211
|
+
);
|
212
|
+
}
|
213
|
+
);
|
214
|
+
const StyledFlex = styled(Flex)`
|
215
|
+
& > div {
|
216
|
+
width: 100%;
|
217
|
+
}
|
218
|
+
`;
|
219
|
+
const removeConnected = ({ field }) => (relations) => {
|
220
|
+
return relations.filter((relation) => {
|
221
|
+
const connectedRelations = field?.connect ?? [];
|
222
|
+
return connectedRelations.findIndex((rel) => rel.id === relation.id) === -1;
|
223
|
+
});
|
224
|
+
};
|
225
|
+
const removeDisconnected = ({ field }) => (relations) => relations.filter((relation) => {
|
226
|
+
const disconnectedRelations = field?.disconnect ?? [];
|
227
|
+
return disconnectedRelations.findIndex((rel) => rel.id === relation.id) === -1;
|
228
|
+
});
|
229
|
+
const addLabelAndHref = ({ mainField, href }) => (relations) => relations.map((relation) => {
|
230
|
+
return {
|
231
|
+
...relation,
|
232
|
+
// Fallback to `id` if there is no `mainField` value, which will overwrite the above `documentId` property with the exact same data.
|
233
|
+
[mainField?.name ?? "documentId"]: relation[mainField?.name ?? "documentId"],
|
234
|
+
label: getRelationLabel(relation, mainField),
|
235
|
+
href: `${href}/${relation.documentId}?${relation.locale ? `plugins[i18n][locale]=${relation.locale}` : ""}`
|
236
|
+
};
|
237
|
+
});
|
238
|
+
const RelationsInput = ({
|
239
|
+
hint,
|
240
|
+
id,
|
241
|
+
model,
|
242
|
+
label,
|
243
|
+
labelAction,
|
244
|
+
name,
|
245
|
+
mainField,
|
246
|
+
placeholder,
|
247
|
+
required,
|
248
|
+
unique: _unique,
|
249
|
+
"aria-label": _ariaLabel,
|
250
|
+
onChange,
|
251
|
+
...props
|
252
|
+
}) => {
|
253
|
+
const [textValue, setTextValue] = React.useState("");
|
254
|
+
const [searchParams, setSearchParams] = React.useState({
|
255
|
+
_q: "",
|
256
|
+
page: 1
|
257
|
+
});
|
258
|
+
const { toggleNotification } = useNotification();
|
259
|
+
const [{ query }] = useQueryParams();
|
260
|
+
const { formatMessage } = useIntl();
|
261
|
+
const fieldRef = useFocusInputField(name);
|
262
|
+
const field = useField(name);
|
263
|
+
const [searchForTrigger, { data, isLoading }] = useLazySearchRelationsQuery();
|
264
|
+
React.useEffect(() => {
|
265
|
+
const [targetField] = name.split(".").slice(-1);
|
266
|
+
searchForTrigger({
|
267
|
+
model,
|
268
|
+
targetField,
|
269
|
+
params: {
|
270
|
+
...buildValidParams(query),
|
271
|
+
id: id ?? "",
|
272
|
+
pageSize: 10,
|
273
|
+
idsToInclude: field.value?.disconnect?.map((rel) => rel.id.toString()) ?? [],
|
274
|
+
idsToOmit: field.value?.connect?.map((rel) => rel.id.toString()) ?? [],
|
275
|
+
...searchParams
|
276
|
+
}
|
277
|
+
});
|
278
|
+
}, [
|
279
|
+
field.value?.connect,
|
280
|
+
field.value?.disconnect,
|
281
|
+
id,
|
282
|
+
model,
|
283
|
+
name,
|
284
|
+
query,
|
285
|
+
searchForTrigger,
|
286
|
+
searchParams
|
287
|
+
]);
|
288
|
+
const handleSearch = async (search) => {
|
289
|
+
setSearchParams((s) => ({ ...s, _q: search, page: 1 }));
|
290
|
+
};
|
291
|
+
const hasNextPage = data?.pagination ? data.pagination.page < data.pagination.pageCount : false;
|
292
|
+
const options = data?.results ?? [];
|
293
|
+
const handleChange = (relationId) => {
|
294
|
+
if (!relationId) {
|
295
|
+
return;
|
296
|
+
}
|
297
|
+
const relation = options.find((opt) => opt.id.toString() === relationId);
|
298
|
+
if (!relation) {
|
299
|
+
console.error(
|
300
|
+
"You've tried to add a relation with an id that does not exist in the options you can see, this is likely a bug with Strapi. Please open an issue."
|
301
|
+
);
|
302
|
+
toggleNotification({
|
303
|
+
message: formatMessage({
|
304
|
+
id: getTranslation("relation.error-adding-relation"),
|
305
|
+
defaultMessage: "An error occurred while trying to add the relation."
|
306
|
+
}),
|
307
|
+
type: "danger"
|
308
|
+
});
|
309
|
+
return;
|
310
|
+
}
|
311
|
+
onChange(relation);
|
312
|
+
};
|
313
|
+
const handleLoadMore = () => {
|
314
|
+
if (!data || !data.pagination) {
|
315
|
+
return;
|
316
|
+
} else if (data.pagination.page < data.pagination.pageCount) {
|
317
|
+
setSearchParams((s) => ({ ...s, page: s.page + 1 }));
|
318
|
+
}
|
319
|
+
};
|
320
|
+
React.useLayoutEffect(() => {
|
321
|
+
setTextValue("");
|
322
|
+
}, [field.value]);
|
323
|
+
return /* @__PURE__ */ jsxs(Field.Root, { error: field.error, hint, name, required, children: [
|
324
|
+
/* @__PURE__ */ jsx(Field.Label, { action: labelAction, children: label }),
|
325
|
+
/* @__PURE__ */ jsx(
|
326
|
+
Combobox,
|
327
|
+
{
|
328
|
+
ref: fieldRef,
|
329
|
+
name,
|
330
|
+
autocomplete: "list",
|
331
|
+
placeholder: placeholder || formatMessage({
|
332
|
+
id: getTranslation("relation.add"),
|
333
|
+
defaultMessage: "Add relation"
|
334
|
+
}),
|
335
|
+
hasMoreItems: hasNextPage,
|
336
|
+
loading: isLoading,
|
337
|
+
onOpenChange: () => {
|
338
|
+
handleSearch(textValue ?? "");
|
339
|
+
},
|
340
|
+
noOptionsMessage: () => formatMessage({
|
341
|
+
id: getTranslation("relation.notAvailable"),
|
342
|
+
defaultMessage: "No relations available"
|
343
|
+
}),
|
344
|
+
loadingMessage: formatMessage({
|
345
|
+
id: getTranslation("relation.isLoading"),
|
346
|
+
defaultMessage: "Relations are loading"
|
347
|
+
}),
|
348
|
+
onLoadMore: handleLoadMore,
|
349
|
+
textValue,
|
350
|
+
onChange: handleChange,
|
351
|
+
onTextValueChange: (text) => {
|
352
|
+
setTextValue(text);
|
353
|
+
},
|
354
|
+
onInputChange: (event) => {
|
355
|
+
handleSearch(event.currentTarget.value);
|
356
|
+
},
|
357
|
+
...props,
|
358
|
+
children: options.map((opt) => {
|
359
|
+
const textValue2 = getRelationLabel(opt, mainField);
|
360
|
+
return /* @__PURE__ */ jsx(ComboboxOption, { value: opt.id.toString(), textValue: textValue2, children: /* @__PURE__ */ jsxs(Flex, { gap: 2, justifyContent: "space-between", children: [
|
361
|
+
/* @__PURE__ */ jsx(Typography, { ellipsis: true, children: textValue2 }),
|
362
|
+
opt.status ? /* @__PURE__ */ jsx(DocumentStatus, { status: opt.status }) : null
|
363
|
+
] }) }, opt.id);
|
364
|
+
})
|
365
|
+
}
|
366
|
+
),
|
367
|
+
/* @__PURE__ */ jsx(Field.Error, {}),
|
368
|
+
/* @__PURE__ */ jsx(Field.Hint, {})
|
369
|
+
] });
|
370
|
+
};
|
371
|
+
const RELATION_ITEM_HEIGHT = 50;
|
372
|
+
const RELATION_GUTTER = 4;
|
373
|
+
const RelationsList = ({
|
374
|
+
data,
|
375
|
+
serverData,
|
376
|
+
disabled,
|
377
|
+
name,
|
378
|
+
isLoading,
|
379
|
+
relationType
|
380
|
+
}) => {
|
381
|
+
const ariaDescriptionId = React.useId();
|
382
|
+
const { formatMessage } = useIntl();
|
383
|
+
const listRef = React.useRef(null);
|
384
|
+
const outerListRef = React.useRef(null);
|
385
|
+
const [overflow, setOverflow] = React.useState();
|
386
|
+
const [liveText, setLiveText] = React.useState("");
|
387
|
+
const field = useField(name);
|
388
|
+
React.useEffect(() => {
|
389
|
+
if (data.length <= RELATIONS_TO_DISPLAY) {
|
390
|
+
return setOverflow(void 0);
|
391
|
+
}
|
392
|
+
const handleNativeScroll = (e) => {
|
393
|
+
const el = e.target;
|
394
|
+
const parentScrollContainerHeight = el.parentNode.scrollHeight;
|
395
|
+
const maxScrollBottom = el.scrollHeight - el.scrollTop;
|
396
|
+
if (el.scrollTop === 0) {
|
397
|
+
return setOverflow("bottom");
|
398
|
+
}
|
399
|
+
if (maxScrollBottom === parentScrollContainerHeight) {
|
400
|
+
return setOverflow("top");
|
401
|
+
}
|
402
|
+
return setOverflow("top-bottom");
|
403
|
+
};
|
404
|
+
const outerListRefCurrent = outerListRef?.current;
|
405
|
+
if (!isLoading && data.length > 0 && outerListRefCurrent) {
|
406
|
+
outerListRef.current.addEventListener("scroll", handleNativeScroll);
|
407
|
+
}
|
408
|
+
return () => {
|
409
|
+
if (outerListRefCurrent) {
|
410
|
+
outerListRefCurrent.removeEventListener("scroll", handleNativeScroll);
|
411
|
+
}
|
412
|
+
};
|
413
|
+
}, [isLoading, data.length]);
|
414
|
+
const getItemPos = (index) => `${index + 1} of ${data.length}`;
|
415
|
+
const handleMoveItem = (newIndex, oldIndex) => {
|
416
|
+
const item = data[oldIndex];
|
417
|
+
setLiveText(
|
418
|
+
formatMessage(
|
419
|
+
{
|
420
|
+
id: getTranslation("dnd.reorder"),
|
421
|
+
defaultMessage: "{item}, moved. New position in list: {position}."
|
422
|
+
},
|
423
|
+
{
|
424
|
+
item: item.label ?? item.documentId,
|
425
|
+
position: getItemPos(newIndex)
|
426
|
+
}
|
427
|
+
)
|
428
|
+
);
|
429
|
+
const newData = [...data];
|
430
|
+
const currentRow = data[oldIndex];
|
431
|
+
const startKey = oldIndex > newIndex ? newData[newIndex - 1]?.__temp_key__ : newData[newIndex]?.__temp_key__;
|
432
|
+
const endKey = oldIndex > newIndex ? newData[newIndex]?.__temp_key__ : newData[newIndex + 1]?.__temp_key__;
|
433
|
+
const [newKey] = generateNKeysBetween(startKey, endKey, 1);
|
434
|
+
newData.splice(oldIndex, 1);
|
435
|
+
newData.splice(newIndex, 0, { ...currentRow, __temp_key__: newKey });
|
436
|
+
const connectedRelations = newData.reduce((acc, relation, currentIndex, array) => {
|
437
|
+
const relationOnServer = serverData.find((oldRelation) => oldRelation.id === relation.id);
|
438
|
+
const relationInFront = array[currentIndex + 1];
|
439
|
+
if (!relationOnServer || relationOnServer.__temp_key__ !== relation.__temp_key__) {
|
440
|
+
const position = relationInFront ? {
|
441
|
+
before: relationInFront.documentId,
|
442
|
+
locale: relationInFront.locale,
|
443
|
+
status: "publishedAt" in relationInFront && relationInFront.publishedAt ? "published" : "draft"
|
444
|
+
} : { end: true };
|
445
|
+
const relationWithPosition = {
|
446
|
+
...relation,
|
447
|
+
...{
|
448
|
+
apiData: {
|
449
|
+
id: relation.id,
|
450
|
+
documentId: relation.documentId,
|
451
|
+
locale: relation.locale,
|
452
|
+
position
|
453
|
+
}
|
454
|
+
}
|
455
|
+
};
|
456
|
+
return [...acc, relationWithPosition];
|
457
|
+
}
|
458
|
+
return acc;
|
459
|
+
}, []).toReversed();
|
460
|
+
field.onChange(`${name}.connect`, connectedRelations);
|
461
|
+
};
|
462
|
+
const handleGrabItem = (index) => {
|
463
|
+
const item = data[index];
|
464
|
+
setLiveText(
|
465
|
+
formatMessage(
|
466
|
+
{
|
467
|
+
id: getTranslation("dnd.grab-item"),
|
468
|
+
defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`
|
469
|
+
},
|
470
|
+
{
|
471
|
+
item: item.label ?? item.documentId,
|
472
|
+
position: getItemPos(index)
|
473
|
+
}
|
474
|
+
)
|
475
|
+
);
|
476
|
+
};
|
477
|
+
const handleDropItem = (index) => {
|
478
|
+
const { href: _href, label, ...item } = data[index];
|
479
|
+
setLiveText(
|
480
|
+
formatMessage(
|
481
|
+
{
|
482
|
+
id: getTranslation("dnd.drop-item"),
|
483
|
+
defaultMessage: `{item}, dropped. Final position in list: {position}.`
|
484
|
+
},
|
485
|
+
{
|
486
|
+
item: label ?? item.documentId,
|
487
|
+
position: getItemPos(index)
|
488
|
+
}
|
489
|
+
)
|
490
|
+
);
|
491
|
+
};
|
492
|
+
const handleCancel = (index) => {
|
493
|
+
const item = data[index];
|
494
|
+
setLiveText(
|
495
|
+
formatMessage(
|
496
|
+
{
|
497
|
+
id: getTranslation("dnd.cancel-item"),
|
498
|
+
defaultMessage: "{item}, dropped. Re-order cancelled."
|
499
|
+
},
|
500
|
+
{
|
501
|
+
item: item.label ?? item.documentId
|
502
|
+
}
|
503
|
+
)
|
504
|
+
);
|
505
|
+
};
|
506
|
+
const handleDisconnect = useHandleDisconnect(name, "RelationsList");
|
507
|
+
const canReorder = !ONE_WAY_RELATIONS.includes(relationType);
|
508
|
+
const dynamicListHeight = data.length > RELATIONS_TO_DISPLAY ? Math.min(data.length, RELATIONS_TO_DISPLAY) * (RELATION_ITEM_HEIGHT + RELATION_GUTTER) + RELATION_ITEM_HEIGHT / 2 : Math.min(data.length, RELATIONS_TO_DISPLAY) * (RELATION_ITEM_HEIGHT + RELATION_GUTTER);
|
509
|
+
return /* @__PURE__ */ jsxs(ShadowBox, { $overflowDirection: overflow, children: [
|
510
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { id: ariaDescriptionId, children: formatMessage({
|
511
|
+
id: getTranslation("dnd.instructions"),
|
512
|
+
defaultMessage: `Press spacebar to grab and re-order`
|
513
|
+
}) }),
|
514
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { "aria-live": "assertive", children: liveText }),
|
515
|
+
/* @__PURE__ */ jsx(
|
516
|
+
FixedSizeList,
|
517
|
+
{
|
518
|
+
height: dynamicListHeight,
|
519
|
+
ref: listRef,
|
520
|
+
outerRef: outerListRef,
|
521
|
+
itemCount: data.length,
|
522
|
+
itemSize: RELATION_ITEM_HEIGHT + RELATION_GUTTER,
|
523
|
+
itemData: {
|
524
|
+
ariaDescribedBy: ariaDescriptionId,
|
525
|
+
canDrag: canReorder,
|
526
|
+
disabled,
|
527
|
+
handleCancel,
|
528
|
+
handleDropItem,
|
529
|
+
handleGrabItem,
|
530
|
+
handleMoveItem,
|
531
|
+
name,
|
532
|
+
handleDisconnect,
|
533
|
+
relations: data
|
534
|
+
},
|
535
|
+
itemKey: (index) => data[index].id,
|
536
|
+
innerElementType: "ol",
|
537
|
+
children: ListItem
|
538
|
+
}
|
539
|
+
)
|
540
|
+
] });
|
541
|
+
};
|
542
|
+
const ShadowBox = styled(Box)`
|
543
|
+
position: relative;
|
544
|
+
overflow: hidden;
|
545
|
+
flex: 1;
|
546
|
+
|
547
|
+
&:before,
|
548
|
+
&:after {
|
549
|
+
position: absolute;
|
550
|
+
width: 100%;
|
551
|
+
height: 4px;
|
552
|
+
z-index: 1;
|
553
|
+
}
|
554
|
+
|
555
|
+
&:before {
|
556
|
+
/* TODO: as for DS Table component we would need this to be handled by the DS theme */
|
557
|
+
content: '';
|
558
|
+
background: linear-gradient(rgba(3, 3, 5, 0.2) 0%, rgba(0, 0, 0, 0) 100%);
|
559
|
+
top: 0;
|
560
|
+
opacity: ${({ $overflowDirection }) => $overflowDirection === "top-bottom" || $overflowDirection === "top" ? 1 : 0};
|
561
|
+
transition: opacity 0.2s ease-in-out;
|
562
|
+
}
|
563
|
+
|
564
|
+
&:after {
|
565
|
+
/* TODO: as for DS Table component we would need this to be handled by the DS theme */
|
566
|
+
content: '';
|
567
|
+
background: linear-gradient(0deg, rgba(3, 3, 5, 0.2) 0%, rgba(0, 0, 0, 0) 100%);
|
568
|
+
bottom: 0;
|
569
|
+
opacity: ${({ $overflowDirection }) => $overflowDirection === "top-bottom" || $overflowDirection === "bottom" ? 1 : 0};
|
570
|
+
transition: opacity 0.2s ease-in-out;
|
571
|
+
}
|
572
|
+
`;
|
573
|
+
const ListItem = ({ data, index, style }) => {
|
574
|
+
const {
|
575
|
+
ariaDescribedBy,
|
576
|
+
canDrag = false,
|
577
|
+
disabled = false,
|
578
|
+
handleCancel,
|
579
|
+
handleDisconnect,
|
580
|
+
handleDropItem,
|
581
|
+
handleGrabItem,
|
582
|
+
handleMoveItem,
|
583
|
+
name,
|
584
|
+
relations
|
585
|
+
} = data;
|
586
|
+
const { formatMessage } = useIntl();
|
587
|
+
const { href, id, label, status } = relations[index];
|
588
|
+
const [{ handlerId, isDragging, handleKeyDown }, relationRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(
|
589
|
+
canDrag && !disabled,
|
590
|
+
{
|
591
|
+
type: `${ItemTypes.RELATION}_${name}`,
|
592
|
+
index,
|
593
|
+
item: {
|
594
|
+
displayedValue: label,
|
595
|
+
status,
|
596
|
+
id,
|
597
|
+
index
|
598
|
+
},
|
599
|
+
onMoveItem: handleMoveItem,
|
600
|
+
onDropItem: handleDropItem,
|
601
|
+
onGrabItem: handleGrabItem,
|
602
|
+
onCancel: handleCancel,
|
603
|
+
dropSensitivity: DROP_SENSITIVITY.REGULAR
|
604
|
+
}
|
605
|
+
);
|
606
|
+
const composedRefs = useComposedRefs(relationRef, dragRef);
|
607
|
+
React.useEffect(() => {
|
608
|
+
dragPreviewRef(getEmptyImage());
|
609
|
+
}, [dragPreviewRef]);
|
610
|
+
return /* @__PURE__ */ jsx(
|
611
|
+
Box,
|
612
|
+
{
|
613
|
+
style,
|
614
|
+
tag: "li",
|
615
|
+
ref: dropRef,
|
616
|
+
"aria-describedby": ariaDescribedBy,
|
617
|
+
cursor: canDrag ? "all-scroll" : "default",
|
618
|
+
children: isDragging ? /* @__PURE__ */ jsx(RelationItemPlaceholder, {}) : /* @__PURE__ */ jsxs(
|
619
|
+
Flex,
|
620
|
+
{
|
621
|
+
paddingTop: 2,
|
622
|
+
paddingBottom: 2,
|
623
|
+
paddingLeft: canDrag ? 2 : 4,
|
624
|
+
paddingRight: 4,
|
625
|
+
hasRadius: true,
|
626
|
+
borderColor: "neutral200",
|
627
|
+
background: disabled ? "neutral150" : "neutral0",
|
628
|
+
justifyContent: "space-between",
|
629
|
+
ref: composedRefs,
|
630
|
+
"data-handler-id": handlerId,
|
631
|
+
children: [
|
632
|
+
/* @__PURE__ */ jsxs(FlexWrapper, { gap: 1, children: [
|
633
|
+
canDrag ? /* @__PURE__ */ jsx(
|
634
|
+
IconButton,
|
635
|
+
{
|
636
|
+
tag: "div",
|
637
|
+
role: "button",
|
638
|
+
tabIndex: 0,
|
639
|
+
withTooltip: false,
|
640
|
+
label: formatMessage({
|
641
|
+
id: getTranslation("components.RelationInput.icon-button-aria-label"),
|
642
|
+
defaultMessage: "Drag"
|
643
|
+
}),
|
644
|
+
variant: "ghost",
|
645
|
+
onKeyDown: handleKeyDown,
|
646
|
+
disabled,
|
647
|
+
children: /* @__PURE__ */ jsx(Drag, {})
|
648
|
+
}
|
649
|
+
) : null,
|
650
|
+
/* @__PURE__ */ jsxs(Flex, { width: "100%", minWidth: 0, justifyContent: "space-between", children: [
|
651
|
+
/* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, { description: label, children: href ? /* @__PURE__ */ jsx(LinkEllipsis, { tag: NavLink, to: href, isExternal: false, children: label }) : /* @__PURE__ */ jsx(Typography, { textColor: disabled ? "neutral600" : "primary600", ellipsis: true, children: label }) }) }),
|
652
|
+
status ? /* @__PURE__ */ jsx(DocumentStatus, { status }) : null
|
653
|
+
] })
|
654
|
+
] }),
|
655
|
+
/* @__PURE__ */ jsx(Box, { paddingLeft: 4, children: /* @__PURE__ */ jsx(
|
656
|
+
IconButton,
|
657
|
+
{
|
658
|
+
onClick: () => handleDisconnect(relations[index]),
|
659
|
+
disabled,
|
660
|
+
label: formatMessage({
|
661
|
+
id: getTranslation("relation.disconnect"),
|
662
|
+
defaultMessage: "Remove"
|
663
|
+
}),
|
664
|
+
variant: "ghost",
|
665
|
+
size: "S",
|
666
|
+
children: /* @__PURE__ */ jsx(Cross, {})
|
667
|
+
}
|
668
|
+
) })
|
669
|
+
]
|
670
|
+
}
|
671
|
+
)
|
672
|
+
}
|
673
|
+
);
|
674
|
+
};
|
675
|
+
const FlexWrapper = styled(Flex)`
|
676
|
+
width: 100%;
|
677
|
+
/* Used to prevent endAction to be pushed out of container */
|
678
|
+
min-width: 0;
|
679
|
+
|
680
|
+
& > div[role='button'] {
|
681
|
+
cursor: all-scroll;
|
682
|
+
}
|
683
|
+
`;
|
684
|
+
const DisconnectButton = styled.button`
|
685
|
+
svg path {
|
686
|
+
fill: ${({ theme, disabled }) => disabled ? theme.colors.neutral600 : theme.colors.neutral500};
|
687
|
+
}
|
688
|
+
|
689
|
+
&:hover svg path,
|
690
|
+
&:focus svg path {
|
691
|
+
fill: ${({ theme, disabled }) => !disabled && theme.colors.neutral600};
|
692
|
+
}
|
693
|
+
`;
|
694
|
+
const LinkEllipsis = styled(Link)`
|
695
|
+
display: block;
|
696
|
+
|
697
|
+
& > span {
|
698
|
+
white-space: nowrap;
|
699
|
+
overflow: hidden;
|
700
|
+
text-overflow: ellipsis;
|
701
|
+
display: block;
|
702
|
+
}
|
703
|
+
`;
|
704
|
+
const RelationItemPlaceholder = () => /* @__PURE__ */ jsx(
|
705
|
+
Box,
|
706
|
+
{
|
707
|
+
paddingTop: 2,
|
708
|
+
paddingBottom: 2,
|
709
|
+
paddingLeft: 4,
|
710
|
+
paddingRight: 4,
|
711
|
+
hasRadius: true,
|
712
|
+
borderStyle: "dashed",
|
713
|
+
borderColor: "primary600",
|
714
|
+
borderWidth: "1px",
|
715
|
+
background: "primary100",
|
716
|
+
height: `calc(100% - ${RELATION_GUTTER}px)`
|
717
|
+
}
|
718
|
+
);
|
719
|
+
const MemoizedRelationsField = React.memo(RelationsField);
|
720
|
+
export {
|
721
|
+
ComponentProvider as C,
|
722
|
+
DisconnectButton as D,
|
723
|
+
FlexWrapper as F,
|
724
|
+
LinkEllipsis as L,
|
725
|
+
MemoizedRelationsField as M,
|
726
|
+
useComponent as u
|
727
|
+
};
|
728
|
+
//# sourceMappingURL=Relations-BncdhGCd.mjs.map
|