@strapi/content-manager 0.0.0-experimental.4abe3ba72a976dd31453f1c69d10d4d72ab079af → 0.0.0-experimental.4d4e78457ae42752910f16fdfc60632c3499e914

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 (492) hide show
  1. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js +80 -0
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +1 -0
  3. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +82 -0
  4. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +1 -0
  5. package/dist/admin/chunks/ComponentConfigurationPage-BoR5pHt2.js +276 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-BoR5pHt2.js.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-DGnCU5J4.js +298 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-DGnCU5J4.js.map +1 -0
  9. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js +153 -0
  10. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +1 -0
  11. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +176 -0
  12. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +1 -0
  13. package/dist/admin/chunks/EditConfigurationPage-CRiAKGpo.js +158 -0
  14. package/dist/admin/chunks/EditConfigurationPage-CRiAKGpo.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-D42pHrof.js +180 -0
  16. package/dist/admin/chunks/EditConfigurationPage-D42pHrof.js.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-B3xtcxUM.js +337 -0
  18. package/dist/admin/chunks/EditViewPage-B3xtcxUM.js.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-Bq9FpzPK.js +314 -0
  20. package/dist/admin/chunks/EditViewPage-Bq9FpzPK.js.map +1 -0
  21. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js +56 -0
  22. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +1 -0
  23. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +58 -0
  24. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +1 -0
  25. package/dist/admin/chunks/Form-B_ybUX5l.js +955 -0
  26. package/dist/admin/chunks/Form-B_ybUX5l.js.map +1 -0
  27. package/dist/admin/chunks/Form-kFoXMltw.js +978 -0
  28. package/dist/admin/chunks/Form-kFoXMltw.js.map +1 -0
  29. package/dist/admin/chunks/History-Bp8hhfM1.js +1357 -0
  30. package/dist/admin/chunks/History-Bp8hhfM1.js.map +1 -0
  31. package/dist/admin/chunks/History-C39t-5m5.js +1380 -0
  32. package/dist/admin/chunks/History-C39t-5m5.js.map +1 -0
  33. package/dist/admin/chunks/Input-B6ywd0Zq.js +7220 -0
  34. package/dist/admin/chunks/Input-B6ywd0Zq.js.map +1 -0
  35. package/dist/admin/chunks/Input-DmcOPjRP.js +7189 -0
  36. package/dist/admin/chunks/Input-DmcOPjRP.js.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-62pnyvR1.js +818 -0
  38. package/dist/admin/chunks/ListConfigurationPage-62pnyvR1.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-DOZHJP_c.js +795 -0
  40. package/dist/admin/chunks/ListConfigurationPage-DOZHJP_c.js.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-BDxCCcny.js +1132 -0
  42. package/dist/admin/chunks/ListViewPage-BDxCCcny.js.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-DFT8XOtI.js +1154 -0
  44. package/dist/admin/chunks/ListViewPage-DFT8XOtI.js.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-Ce-byZcW.js +59 -0
  46. package/dist/admin/chunks/NoContentTypePage-Ce-byZcW.js.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-vZ3l7PFm.js +57 -0
  48. package/dist/admin/chunks/NoContentTypePage-vZ3l7PFm.js.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-CPWvaYnc.js +38 -0
  50. package/dist/admin/chunks/NoPermissionsPage-CPWvaYnc.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-Cue_lb5D.js +36 -0
  52. package/dist/admin/chunks/NoPermissionsPage-Cue_lb5D.js.map +1 -0
  53. package/dist/admin/chunks/Preview-B1RKWKgF.js +573 -0
  54. package/dist/admin/chunks/Preview-B1RKWKgF.js.map +1 -0
  55. package/dist/admin/chunks/Preview-BN1ms_OE.js +551 -0
  56. package/dist/admin/chunks/Preview-BN1ms_OE.js.map +1 -0
  57. package/dist/admin/chunks/Relations-nUJXd-Fg.js +1291 -0
  58. package/dist/admin/chunks/Relations-nUJXd-Fg.js.map +1 -0
  59. package/dist/admin/chunks/Relations-o2u9nT1F.js +1318 -0
  60. package/dist/admin/chunks/Relations-o2u9nT1F.js.map +1 -0
  61. package/dist/admin/chunks/ar-DckYq_WK.js +222 -0
  62. package/dist/admin/chunks/ar-DckYq_WK.js.map +1 -0
  63. package/dist/admin/chunks/ar-DeQBSsfl.js +227 -0
  64. package/dist/{_chunks/ru-BT3ybNny.js.map → admin/chunks/ar-DeQBSsfl.js.map} +1 -1
  65. package/dist/admin/chunks/ca-ClDTvatJ.js +202 -0
  66. package/dist/admin/chunks/ca-ClDTvatJ.js.map +1 -0
  67. package/dist/admin/chunks/ca-DviY7mRj.js +197 -0
  68. package/dist/{_chunks/de-CCEmbAah.js.map → admin/chunks/ca-DviY7mRj.js.map} +1 -1
  69. package/dist/admin/chunks/cs-BJFxwIWj.js +126 -0
  70. package/dist/{_chunks/ms-BuFotyP_.js.map → admin/chunks/cs-BJFxwIWj.js.map} +1 -1
  71. package/dist/admin/chunks/cs-C7OSYFQ7.js +122 -0
  72. package/dist/{_chunks/cs-CkJy6B2v.js.map → admin/chunks/cs-C7OSYFQ7.js.map} +1 -1
  73. package/dist/admin/chunks/de-5QRlDHyR.js +195 -0
  74. package/dist/{_chunks/ja-CcFe8diO.js.map → admin/chunks/de-5QRlDHyR.js.map} +1 -1
  75. package/dist/admin/chunks/de-CbImAUA5.js +200 -0
  76. package/dist/{_chunks/gu-BRmF601H.js.map → admin/chunks/de-CbImAUA5.js.map} +1 -1
  77. package/dist/admin/chunks/en-C1CjdAtC.js +313 -0
  78. package/dist/admin/chunks/en-C1CjdAtC.js.map +1 -0
  79. package/dist/admin/chunks/en-LfhocNG2.js +308 -0
  80. package/dist/{_chunks/en-Bm0D0IWz.js.map → admin/chunks/en-LfhocNG2.js.map} +1 -1
  81. package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
  82. package/dist/admin/chunks/es-C8vLuvZL.js.map +1 -0
  83. package/dist/admin/chunks/es-DkoWSExG.js +192 -0
  84. package/dist/{_chunks/ko-woFZPmLk.js.map → admin/chunks/es-DkoWSExG.js.map} +1 -1
  85. package/dist/admin/chunks/eu-BG1xX7HK.js +198 -0
  86. package/dist/admin/chunks/eu-BG1xX7HK.js.map +1 -0
  87. package/dist/admin/chunks/eu-BJW3AvXu.js +203 -0
  88. package/dist/admin/chunks/eu-BJW3AvXu.js.map +1 -0
  89. package/dist/admin/chunks/fr-CFdRaRVj.js +215 -0
  90. package/dist/admin/chunks/fr-CFdRaRVj.js.map +1 -0
  91. package/dist/admin/chunks/fr-gQSilC7w.js +220 -0
  92. package/dist/admin/chunks/fr-gQSilC7w.js.map +1 -0
  93. package/dist/admin/chunks/gu-D5MMMXRs.js +196 -0
  94. package/dist/admin/chunks/gu-D5MMMXRs.js.map +1 -0
  95. package/dist/admin/chunks/gu-DPU4wyx7.js +201 -0
  96. package/dist/{_chunks/eu-VDH-3ovk.js.map → admin/chunks/gu-DPU4wyx7.js.map} +1 -1
  97. package/dist/admin/chunks/hi-Dp4omeBb.js +201 -0
  98. package/dist/admin/chunks/hi-Dp4omeBb.js.map +1 -0
  99. package/dist/admin/chunks/hi-lp17SCjr.js +196 -0
  100. package/dist/admin/chunks/hi-lp17SCjr.js.map +1 -0
  101. package/dist/{_chunks/hooks-BAaaKPS_.js → admin/chunks/hooks-D-sOYd1s.js} +6 -3
  102. package/dist/admin/chunks/hooks-D-sOYd1s.js.map +1 -0
  103. package/dist/admin/chunks/hooks-DMvik5y_.js +7 -0
  104. package/dist/admin/chunks/hooks-DMvik5y_.js.map +1 -0
  105. package/dist/admin/chunks/hu-CLka1U2C.js +198 -0
  106. package/dist/admin/chunks/hu-CLka1U2C.js.map +1 -0
  107. package/dist/admin/chunks/hu-CtFJuhTd.js +203 -0
  108. package/dist/admin/chunks/hu-CtFJuhTd.js.map +1 -0
  109. package/dist/admin/chunks/id-D7V5S1rB.js +161 -0
  110. package/dist/{_chunks/it-DkBIs7vD.js.map → admin/chunks/id-D7V5S1rB.js.map} +1 -1
  111. package/dist/admin/chunks/id-USfY9m1g.js +156 -0
  112. package/dist/admin/chunks/id-USfY9m1g.js.map +1 -0
  113. package/dist/admin/chunks/index-B2dAo3GM.js +5416 -0
  114. package/dist/admin/chunks/index-B2dAo3GM.js.map +1 -0
  115. package/dist/admin/chunks/index-BT3uNiDP.js +5350 -0
  116. package/dist/admin/chunks/index-BT3uNiDP.js.map +1 -0
  117. package/dist/admin/chunks/it-BAHrwmYS.js +158 -0
  118. package/dist/admin/chunks/it-BAHrwmYS.js.map +1 -0
  119. package/dist/admin/chunks/it-CQFpa_Dc.js +163 -0
  120. package/dist/{_chunks/es-EUonQTon.js.map → admin/chunks/it-CQFpa_Dc.js.map} +1 -1
  121. package/dist/admin/chunks/ja-BWKmBJFT.js +192 -0
  122. package/dist/admin/chunks/ja-BWKmBJFT.js.map +1 -0
  123. package/dist/admin/chunks/ja-jdQM-B79.js +197 -0
  124. package/dist/admin/chunks/ja-jdQM-B79.js.map +1 -0
  125. package/dist/admin/chunks/ko-CgADGBNt.js +191 -0
  126. package/dist/admin/chunks/ko-CgADGBNt.js.map +1 -0
  127. package/dist/admin/chunks/ko-k46sEyzt.js +196 -0
  128. package/dist/admin/chunks/ko-k46sEyzt.js.map +1 -0
  129. package/dist/admin/chunks/layout-Ca4lC3M0.js +598 -0
  130. package/dist/admin/chunks/layout-Ca4lC3M0.js.map +1 -0
  131. package/dist/admin/chunks/layout-elZdlUwp.js +618 -0
  132. package/dist/admin/chunks/layout-elZdlUwp.js.map +1 -0
  133. package/dist/admin/chunks/ml-CnhCfOn_.js +196 -0
  134. package/dist/admin/chunks/ml-CnhCfOn_.js.map +1 -0
  135. package/dist/admin/chunks/ml-DqxPwODx.js +201 -0
  136. package/dist/admin/chunks/ml-DqxPwODx.js.map +1 -0
  137. package/dist/admin/chunks/ms-Bh09NFff.js +140 -0
  138. package/dist/{_chunks/uk-C8EiqJY7.js.map → admin/chunks/ms-Bh09NFff.js.map} +1 -1
  139. package/dist/admin/chunks/ms-CvSC0OdG.js +145 -0
  140. package/dist/admin/chunks/ms-CvSC0OdG.js.map +1 -0
  141. package/dist/admin/chunks/nl-BEubhS8C.js +203 -0
  142. package/dist/admin/chunks/nl-BEubhS8C.js.map +1 -0
  143. package/dist/admin/chunks/nl-C8HYflTc.js +198 -0
  144. package/dist/admin/chunks/nl-C8HYflTc.js.map +1 -0
  145. package/dist/admin/chunks/objects-C3EebVVe.js +76 -0
  146. package/dist/admin/chunks/objects-C3EebVVe.js.map +1 -0
  147. package/dist/admin/chunks/objects-wl73iEma.js +73 -0
  148. package/dist/admin/chunks/objects-wl73iEma.js.map +1 -0
  149. package/dist/admin/chunks/pl-DWhGDzmM.js +200 -0
  150. package/dist/{_chunks/ca-Cmk45QO6.js.map → admin/chunks/pl-DWhGDzmM.js.map} +1 -1
  151. package/dist/admin/chunks/pl-MFCZJZuZ.js +195 -0
  152. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +1 -0
  153. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +202 -0
  154. package/dist/admin/chunks/pt-BR-CPtAXD-4.js.map +1 -0
  155. package/dist/admin/chunks/pt-BR-CcotyBGJ.js +197 -0
  156. package/dist/{_chunks/pt-BR-BiOz37D9.js.map → admin/chunks/pt-BR-CcotyBGJ.js.map} +1 -1
  157. package/dist/admin/chunks/pt-BoPxN80n.js +96 -0
  158. package/dist/admin/chunks/pt-BoPxN80n.js.map +1 -0
  159. package/dist/admin/chunks/pt-HbmgeiYO.js +93 -0
  160. package/dist/admin/chunks/pt-HbmgeiYO.js.map +1 -0
  161. package/dist/admin/chunks/relations-CMOXoZvl.js +173 -0
  162. package/dist/admin/chunks/relations-CMOXoZvl.js.map +1 -0
  163. package/dist/admin/chunks/relations-vbkL5B2A.js +178 -0
  164. package/dist/admin/chunks/relations-vbkL5B2A.js.map +1 -0
  165. package/dist/admin/chunks/ru-C0op0ALG.js +232 -0
  166. package/dist/admin/chunks/ru-C0op0ALG.js.map +1 -0
  167. package/dist/admin/chunks/ru-CB4BUyQp.js +230 -0
  168. package/dist/admin/chunks/ru-CB4BUyQp.js.map +1 -0
  169. package/dist/admin/chunks/sa-B_FuPyMw.js +201 -0
  170. package/dist/admin/chunks/sa-B_FuPyMw.js.map +1 -0
  171. package/dist/admin/chunks/sa-n_aPA-pU.js +196 -0
  172. package/dist/admin/chunks/sa-n_aPA-pU.js.map +1 -0
  173. package/dist/admin/chunks/sk-D_iXML2C.js +203 -0
  174. package/dist/admin/chunks/sk-D_iXML2C.js.map +1 -0
  175. package/dist/admin/chunks/sk-tn_BDjE2.js +198 -0
  176. package/dist/admin/chunks/sk-tn_BDjE2.js.map +1 -0
  177. package/dist/admin/chunks/sv-BstBC1Yp.js +203 -0
  178. package/dist/admin/chunks/sv-BstBC1Yp.js.map +1 -0
  179. package/dist/admin/chunks/sv-cq4ZrQRd.js +198 -0
  180. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +1 -0
  181. package/dist/admin/chunks/th-lXoOCqPC.js +149 -0
  182. package/dist/{_chunks/th-D9_GfAjc.js.map → admin/chunks/th-lXoOCqPC.js.map} +1 -1
  183. package/dist/admin/chunks/th-mUH7hEtc.js +144 -0
  184. package/dist/admin/chunks/th-mUH7hEtc.js.map +1 -0
  185. package/dist/admin/chunks/tr-CkS6sLIE.js +200 -0
  186. package/dist/admin/chunks/tr-CkS6sLIE.js.map +1 -0
  187. package/dist/admin/chunks/tr-Yt38daxh.js +195 -0
  188. package/dist/admin/chunks/tr-Yt38daxh.js.map +1 -0
  189. package/dist/admin/chunks/uk-B24MoTVg.js +145 -0
  190. package/dist/admin/chunks/uk-B24MoTVg.js.map +1 -0
  191. package/dist/admin/chunks/uk-Cpgmm7gE.js +140 -0
  192. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +1 -0
  193. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js +247 -0
  194. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +1 -0
  195. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +271 -0
  196. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +1 -0
  197. package/dist/admin/chunks/usePrev-Bjw2dhmq.js +18 -0
  198. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +1 -0
  199. package/dist/admin/chunks/usePrev-DIYl-IAL.js +21 -0
  200. package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +1 -0
  201. package/dist/admin/chunks/vi-BGr1X_HZ.js +112 -0
  202. package/dist/admin/chunks/vi-BGr1X_HZ.js.map +1 -0
  203. package/dist/admin/chunks/vi-CvBGlTjr.js +108 -0
  204. package/dist/{_chunks/vi-CJlYDheJ.js.map → admin/chunks/vi-CvBGlTjr.js.map} +1 -1
  205. package/dist/admin/chunks/zh-BmF-sHaT.js +205 -0
  206. package/dist/admin/chunks/zh-BmF-sHaT.js.map +1 -0
  207. package/dist/admin/chunks/zh-DwFu_Kfj.js +210 -0
  208. package/dist/admin/chunks/zh-DwFu_Kfj.js.map +1 -0
  209. package/dist/admin/chunks/zh-Hans-CI0HKio3.js +934 -0
  210. package/dist/{_chunks/zh-Hans-9kOncHGw.js.map → admin/chunks/zh-Hans-CI0HKio3.js.map} +1 -1
  211. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +953 -0
  212. package/dist/{_chunks/zh-Hans-BPQcRIyH.mjs.map → admin/chunks/zh-Hans-JVK9x7xr.js.map} +1 -1
  213. package/dist/admin/index.js +24 -4
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +16 -12
  216. package/dist/admin/index.mjs.map +1 -1
  217. package/dist/admin/src/content-manager.d.ts +3 -2
  218. package/dist/admin/src/exports.d.ts +1 -0
  219. package/dist/admin/src/history/services/historyVersion.d.ts +2 -2
  220. package/dist/admin/src/hooks/useDocument.d.ts +21 -4
  221. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  222. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
  223. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
  224. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  225. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
  226. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
  227. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
  228. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  229. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
  230. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  231. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  232. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +29 -1
  233. package/dist/admin/src/pages/EditView/utils/data.d.ts +1 -0
  234. package/dist/admin/src/preview/components/PreviewContent.d.ts +3 -0
  235. package/dist/admin/src/preview/components/PreviewHeader.d.ts +3 -0
  236. package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
  237. package/dist/admin/src/preview/index.d.ts +2 -3
  238. package/dist/admin/src/preview/pages/Preview.d.ts +13 -0
  239. package/dist/admin/src/preview/routes.d.ts +3 -0
  240. package/dist/admin/src/preview/services/preview.d.ts +3 -0
  241. package/dist/admin/src/router.d.ts +1 -1
  242. package/dist/admin/src/services/api.d.ts +1 -1
  243. package/dist/admin/src/services/components.d.ts +2 -2
  244. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  245. package/dist/admin/src/services/documents.d.ts +16 -19
  246. package/dist/admin/src/services/init.d.ts +1 -1
  247. package/dist/admin/src/services/relations.d.ts +2 -2
  248. package/dist/admin/src/services/uid.d.ts +3 -3
  249. package/dist/server/index.js +5461 -4346
  250. package/dist/server/index.js.map +1 -1
  251. package/dist/server/index.mjs +5433 -4315
  252. package/dist/server/index.mjs.map +1 -1
  253. package/dist/server/src/controllers/utils/metadata.d.ts +2 -1
  254. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  255. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  256. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  257. package/dist/server/src/history/services/history.d.ts +3 -3
  258. package/dist/server/src/history/services/history.d.ts.map +1 -1
  259. package/dist/server/src/history/services/utils.d.ts +6 -10
  260. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  261. package/dist/server/src/index.d.ts +3 -2
  262. package/dist/server/src/index.d.ts.map +1 -1
  263. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  264. package/dist/server/src/preview/index.d.ts.map +1 -1
  265. package/dist/server/src/preview/services/index.d.ts +1 -0
  266. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  267. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  268. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  269. package/dist/server/src/preview/utils.d.ts +1 -0
  270. package/dist/server/src/preview/utils.d.ts.map +1 -1
  271. package/dist/server/src/register.d.ts.map +1 -1
  272. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  273. package/dist/server/src/services/document-metadata.d.ts +4 -2
  274. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  275. package/dist/server/src/services/index.d.ts +3 -2
  276. package/dist/server/src/services/index.d.ts.map +1 -1
  277. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  278. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  279. package/dist/server/src/services/utils/count.d.ts +1 -1
  280. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  281. package/dist/server/src/services/utils/populate.d.ts +3 -3
  282. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  283. package/dist/shared/contracts/collection-types.d.ts +0 -1
  284. package/dist/shared/contracts/components.d.ts +0 -1
  285. package/dist/shared/contracts/content-types.d.ts +0 -1
  286. package/dist/shared/contracts/history-versions.d.ts +0 -1
  287. package/dist/shared/contracts/index.d.ts +0 -1
  288. package/dist/shared/contracts/init.d.ts +0 -1
  289. package/dist/shared/contracts/preview.d.ts +0 -1
  290. package/dist/shared/contracts/relations.d.ts +1 -2
  291. package/dist/shared/contracts/relations.d.ts.map +1 -1
  292. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  293. package/dist/shared/contracts/single-types.d.ts +0 -1
  294. package/dist/shared/contracts/uid.d.ts +0 -1
  295. package/dist/shared/index.d.ts +0 -1
  296. package/dist/shared/index.js +35 -24
  297. package/dist/shared/index.js.map +1 -1
  298. package/dist/shared/index.mjs +34 -25
  299. package/dist/shared/index.mjs.map +1 -1
  300. package/package.json +19 -15
  301. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
  302. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
  303. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
  304. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
  305. package/dist/_chunks/ComponentConfigurationPage-D2_cVxXK.js +0 -255
  306. package/dist/_chunks/ComponentConfigurationPage-D2_cVxXK.js.map +0 -1
  307. package/dist/_chunks/ComponentConfigurationPage-suSMW3KC.mjs +0 -236
  308. package/dist/_chunks/ComponentConfigurationPage-suSMW3KC.mjs.map +0 -1
  309. package/dist/_chunks/ComponentIcon-BXdiCGQp.js +0 -176
  310. package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +0 -1
  311. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
  312. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
  313. package/dist/_chunks/EditConfigurationPage-CBscKbxt.mjs +0 -132
  314. package/dist/_chunks/EditConfigurationPage-CBscKbxt.mjs.map +0 -1
  315. package/dist/_chunks/EditConfigurationPage-Z_VzHVH4.js +0 -151
  316. package/dist/_chunks/EditConfigurationPage-Z_VzHVH4.js.map +0 -1
  317. package/dist/_chunks/EditViewPage-D5Zhyw_q.mjs +0 -224
  318. package/dist/_chunks/EditViewPage-D5Zhyw_q.mjs.map +0 -1
  319. package/dist/_chunks/EditViewPage-DzDDKiF5.js +0 -243
  320. package/dist/_chunks/EditViewPage-DzDDKiF5.js.map +0 -1
  321. package/dist/_chunks/Field-CZHNLm_m.js +0 -5595
  322. package/dist/_chunks/Field-CZHNLm_m.js.map +0 -1
  323. package/dist/_chunks/Field-FNlyAbcI.mjs +0 -5563
  324. package/dist/_chunks/Field-FNlyAbcI.mjs.map +0 -1
  325. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  326. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  327. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  328. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  329. package/dist/_chunks/Form-DqPHDLuK.js +0 -779
  330. package/dist/_chunks/Form-DqPHDLuK.js.map +0 -1
  331. package/dist/_chunks/Form-Sq_OVNv-.mjs +0 -758
  332. package/dist/_chunks/Form-Sq_OVNv-.mjs.map +0 -1
  333. package/dist/_chunks/History-B-ZiOAEg.js +0 -1050
  334. package/dist/_chunks/History-B-ZiOAEg.js.map +0 -1
  335. package/dist/_chunks/History-DlL3k_OW.mjs +0 -1029
  336. package/dist/_chunks/History-DlL3k_OW.mjs.map +0 -1
  337. package/dist/_chunks/ListConfigurationPage-Cc0hLAoS.js +0 -652
  338. package/dist/_chunks/ListConfigurationPage-Cc0hLAoS.js.map +0 -1
  339. package/dist/_chunks/ListConfigurationPage-xj3cSF5M.mjs +0 -632
  340. package/dist/_chunks/ListConfigurationPage-xj3cSF5M.mjs.map +0 -1
  341. package/dist/_chunks/ListViewPage-C9STpcYd.mjs +0 -839
  342. package/dist/_chunks/ListViewPage-C9STpcYd.mjs.map +0 -1
  343. package/dist/_chunks/ListViewPage-D48T84aT.js +0 -863
  344. package/dist/_chunks/ListViewPage-D48T84aT.js.map +0 -1
  345. package/dist/_chunks/NoContentTypePage-BnUmUnXQ.js +0 -51
  346. package/dist/_chunks/NoContentTypePage-BnUmUnXQ.js.map +0 -1
  347. package/dist/_chunks/NoContentTypePage-DpV_ouD6.mjs +0 -51
  348. package/dist/_chunks/NoContentTypePage-DpV_ouD6.mjs.map +0 -1
  349. package/dist/_chunks/NoPermissionsPage-BeDixsE9.mjs +0 -23
  350. package/dist/_chunks/NoPermissionsPage-BeDixsE9.mjs.map +0 -1
  351. package/dist/_chunks/NoPermissionsPage-z-CpOFfh.js +0 -23
  352. package/dist/_chunks/NoPermissionsPage-z-CpOFfh.js.map +0 -1
  353. package/dist/_chunks/Relations-CTiimSAg.mjs +0 -730
  354. package/dist/_chunks/Relations-CTiimSAg.mjs.map +0 -1
  355. package/dist/_chunks/Relations-Cs5vJLAp.js +0 -750
  356. package/dist/_chunks/Relations-Cs5vJLAp.js.map +0 -1
  357. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  358. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  359. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  360. package/dist/_chunks/ar-CCEVvqGG.mjs.map +0 -1
  361. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  362. package/dist/_chunks/ca-5U32ON2v.mjs.map +0 -1
  363. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  364. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  365. package/dist/_chunks/cs-CM2aBUar.mjs.map +0 -1
  366. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  367. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  368. package/dist/_chunks/de-C72KDNOl.mjs.map +0 -1
  369. package/dist/_chunks/de-CCEmbAah.js +0 -199
  370. package/dist/_chunks/en-Bm0D0IWz.js +0 -293
  371. package/dist/_chunks/en-DKV44jRb.mjs +0 -293
  372. package/dist/_chunks/en-DKV44jRb.mjs.map +0 -1
  373. package/dist/_chunks/es-CeXiYflN.mjs +0 -196
  374. package/dist/_chunks/es-CeXiYflN.mjs.map +0 -1
  375. package/dist/_chunks/es-EUonQTon.js +0 -196
  376. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  377. package/dist/_chunks/eu-CdALomew.mjs.map +0 -1
  378. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  379. package/dist/_chunks/fr-C6t7ywEg.js +0 -216
  380. package/dist/_chunks/fr-C6t7ywEg.js.map +0 -1
  381. package/dist/_chunks/fr-DxrTDLl6.mjs +0 -216
  382. package/dist/_chunks/fr-DxrTDLl6.mjs.map +0 -1
  383. package/dist/_chunks/gu-BRmF601H.js +0 -200
  384. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  385. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  386. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  387. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  388. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  389. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  390. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  391. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  392. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  393. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  394. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  395. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  396. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  397. package/dist/_chunks/id-B5Ser98A.js +0 -160
  398. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  399. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  400. package/dist/_chunks/id-BtwA9WJT.mjs.map +0 -1
  401. package/dist/_chunks/index-DUZzV11o.mjs +0 -4113
  402. package/dist/_chunks/index-DUZzV11o.mjs.map +0 -1
  403. package/dist/_chunks/index-dFQ_8EM3.js +0 -4133
  404. package/dist/_chunks/index-dFQ_8EM3.js.map +0 -1
  405. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  406. package/dist/_chunks/it-BrVPqaf1.mjs.map +0 -1
  407. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  408. package/dist/_chunks/ja-CcFe8diO.js +0 -196
  409. package/dist/_chunks/ja-CtsUxOvk.mjs +0 -196
  410. package/dist/_chunks/ja-CtsUxOvk.mjs.map +0 -1
  411. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  412. package/dist/_chunks/ko-HVQRlfUI.mjs.map +0 -1
  413. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  414. package/dist/_chunks/layout-Bu-ET7w6.js +0 -489
  415. package/dist/_chunks/layout-Bu-ET7w6.js.map +0 -1
  416. package/dist/_chunks/layout-C-eg7m9Y.mjs +0 -471
  417. package/dist/_chunks/layout-C-eg7m9Y.mjs.map +0 -1
  418. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  419. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  420. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  421. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  422. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  423. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  424. package/dist/_chunks/ms-m_WjyWx7.mjs.map +0 -1
  425. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  426. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  427. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  428. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  429. package/dist/_chunks/objects-BcXOv6_9.js +0 -47
  430. package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
  431. package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
  432. package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
  433. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  434. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  435. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  436. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  437. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  438. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  439. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +0 -1
  440. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  441. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  442. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  443. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  444. package/dist/_chunks/relations-Cj61Oyt2.mjs +0 -131
  445. package/dist/_chunks/relations-Cj61Oyt2.mjs.map +0 -1
  446. package/dist/_chunks/relations-isLeDaA0.js +0 -130
  447. package/dist/_chunks/relations-isLeDaA0.js.map +0 -1
  448. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  449. package/dist/_chunks/ru-BE6A4Exp.mjs.map +0 -1
  450. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  451. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  452. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  453. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  454. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  455. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  456. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  457. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  458. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  459. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  460. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  461. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  462. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  463. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  464. package/dist/_chunks/th-BqbI8lIT.mjs.map +0 -1
  465. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  466. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  467. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  468. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  469. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  470. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  471. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  472. package/dist/_chunks/uk-CR-zDhAY.mjs.map +0 -1
  473. package/dist/_chunks/useDebounce-CtcjDB3L.js +0 -28
  474. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
  475. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +0 -29
  476. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
  477. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
  478. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
  479. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
  480. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
  481. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  482. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  483. package/dist/_chunks/vi-DUXIk_fw.mjs.map +0 -1
  484. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  485. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  486. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  487. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  488. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  489. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  490. package/dist/admin/src/preview/constants.d.ts +0 -1
  491. package/dist/server/src/preview/constants.d.ts +0 -2
  492. package/dist/server/src/preview/constants.d.ts.map +0 -1
@@ -0,0 +1,978 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var fractionalIndexing = require('fractional-indexing');
8
+ var pipe = require('lodash/fp/pipe');
9
+ var reactIntl = require('react-intl');
10
+ var index = require('./index-B2dAo3GM.js');
11
+ var Icons = require('@strapi/icons');
12
+ var reactDndHtml5Backend = require('react-dnd-html5-backend');
13
+ var reactRouterDom = require('react-router-dom');
14
+ var styledComponents = require('styled-components');
15
+ var useDragAndDrop = require('./useDragAndDrop-gcqEJMnO.js');
16
+ var ComponentIcon = require('./ComponentIcon-C-EjOUPA.js');
17
+ var yup = require('yup');
18
+ var FieldTypeIcon = require('./FieldTypeIcon-Bxh-7Jin.js');
19
+
20
+ function _interopNamespaceDefault(e) {
21
+ var n = Object.create(null);
22
+ if (e) {
23
+ Object.keys(e).forEach(function (k) {
24
+ if (k !== 'default') {
25
+ var d = Object.getOwnPropertyDescriptor(e, k);
26
+ Object.defineProperty(n, k, d.get ? d : {
27
+ enumerable: true,
28
+ get: function () { return e[k]; }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n.default = e;
34
+ return Object.freeze(n);
35
+ }
36
+
37
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
38
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
39
+
40
+ /* -------------------------------------------------------------------------------------------------
41
+ * Constants
42
+ * -----------------------------------------------------------------------------------------------*/ const FIELD_SCHEMA = yup__namespace.object().shape({
43
+ label: yup__namespace.string().required().nullable(),
44
+ description: yup__namespace.string(),
45
+ editable: yup__namespace.boolean(),
46
+ size: yup__namespace.number().required()
47
+ });
48
+ const EditFieldForm = ({ attribute, name, onClose })=>{
49
+ const { formatMessage } = reactIntl.useIntl();
50
+ const { toggleNotification } = strapiAdmin.useNotification();
51
+ const { value, onChange } = strapiAdmin.useField(name);
52
+ const { data: mainFieldOptions } = index.useGetInitialDataQuery(undefined, {
53
+ selectFromResult: (res)=>{
54
+ if (attribute?.type !== 'relation' || !res.data) {
55
+ return {
56
+ data: []
57
+ };
58
+ }
59
+ if ('targetModel' in attribute && typeof attribute.targetModel === 'string') {
60
+ const targetSchema = res.data.contentTypes.find((schema)=>schema.uid === attribute.targetModel);
61
+ if (targetSchema) {
62
+ return {
63
+ data: Object.entries(targetSchema.attributes).reduce((acc, [key, attribute])=>{
64
+ /**
65
+ * Create the list of attributes from the schema as to which can
66
+ * be our `mainField` and dictate the display name of the schema
67
+ * we're editing.
68
+ */ if (!index.ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {
69
+ acc.push({
70
+ label: key,
71
+ value: key
72
+ });
73
+ }
74
+ return acc;
75
+ }, [])
76
+ };
77
+ }
78
+ }
79
+ return {
80
+ data: []
81
+ };
82
+ },
83
+ skip: attribute?.type !== 'relation'
84
+ });
85
+ if (!value || value.name === TEMP_FIELD_NAME || !attribute) {
86
+ // This is very unlikely to happen, but it ensures the form is not opened without a value.
87
+ console.error("You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.");
88
+ toggleNotification({
89
+ message: formatMessage({
90
+ id: 'content-manager.containers.edit-settings.modal-form.error',
91
+ defaultMessage: 'An error occurred while trying to open the form.'
92
+ }),
93
+ type: 'danger'
94
+ });
95
+ return null;
96
+ }
97
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Content, {
98
+ children: /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Form, {
99
+ method: "PUT",
100
+ initialValues: value,
101
+ validationSchema: FIELD_SCHEMA,
102
+ onSubmit: (data)=>{
103
+ onChange(name, data);
104
+ onClose();
105
+ },
106
+ children: [
107
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Header, {
108
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
109
+ gap: 3,
110
+ children: [
111
+ /*#__PURE__*/ jsxRuntime.jsx(FieldTypeIcon.FieldTypeIcon, {
112
+ type: attribute.type
113
+ }),
114
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Title, {
115
+ children: formatMessage({
116
+ id: 'content-manager.containers.edit-settings.modal-form.label',
117
+ defaultMessage: 'Edit {fieldName}'
118
+ }, {
119
+ fieldName: index.capitalise(value.name)
120
+ })
121
+ })
122
+ ]
123
+ })
124
+ }),
125
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Body, {
126
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
127
+ gap: 4,
128
+ children: [
129
+ {
130
+ name: 'label',
131
+ label: formatMessage({
132
+ id: index.getTranslation('containers.edit-settings.modal-form.label'),
133
+ defaultMessage: 'Label'
134
+ }),
135
+ size: 6,
136
+ type: 'string'
137
+ },
138
+ {
139
+ name: 'description',
140
+ label: formatMessage({
141
+ id: index.getTranslation('containers.edit-settings.modal-form.description'),
142
+ defaultMessage: 'Description'
143
+ }),
144
+ size: 6,
145
+ type: 'string'
146
+ },
147
+ {
148
+ name: 'placeholder',
149
+ label: formatMessage({
150
+ id: index.getTranslation('containers.edit-settings.modal-form.placeholder'),
151
+ defaultMessage: 'Placeholder'
152
+ }),
153
+ size: 6,
154
+ type: 'string'
155
+ },
156
+ {
157
+ name: 'editable',
158
+ label: formatMessage({
159
+ id: index.getTranslation('containers.edit-settings.modal-form.editable'),
160
+ defaultMessage: 'Editable'
161
+ }),
162
+ size: 6,
163
+ type: 'boolean'
164
+ },
165
+ {
166
+ name: 'mainField',
167
+ label: formatMessage({
168
+ id: index.getTranslation('containers.edit-settings.modal-form.mainField'),
169
+ defaultMessage: 'Entry title'
170
+ }),
171
+ hint: formatMessage({
172
+ id: index.getTranslation('containers.SettingPage.edit-settings.modal-form.mainField.hint'),
173
+ defaultMessage: 'Set the displayed field'
174
+ }),
175
+ size: 6,
176
+ options: mainFieldOptions,
177
+ type: 'enumeration'
178
+ },
179
+ {
180
+ name: 'size',
181
+ label: formatMessage({
182
+ id: index.getTranslation('containers.ListSettingsView.modal-form.size'),
183
+ defaultMessage: 'Size'
184
+ }),
185
+ size: 6,
186
+ options: [
187
+ {
188
+ value: '4',
189
+ label: '33%'
190
+ },
191
+ {
192
+ value: '6',
193
+ label: '50%'
194
+ },
195
+ {
196
+ value: '8',
197
+ label: '66%'
198
+ },
199
+ {
200
+ value: '12',
201
+ label: '100%'
202
+ }
203
+ ],
204
+ type: 'enumeration'
205
+ }
206
+ ].filter(filterFieldsBasedOnAttributeType(attribute.type)).map(({ size, ...field })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
207
+ col: size,
208
+ direction: "column",
209
+ alignItems: "stretch",
210
+ children: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.InputRenderer, {
211
+ ...field
212
+ })
213
+ }, field.name))
214
+ })
215
+ }),
216
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Footer, {
217
+ children: [
218
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Close, {
219
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
220
+ variant: "tertiary",
221
+ children: formatMessage({
222
+ id: 'app.components.Button.cancel',
223
+ defaultMessage: 'Cancel'
224
+ })
225
+ })
226
+ }),
227
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
228
+ type: "submit",
229
+ children: formatMessage({
230
+ id: 'global.finish',
231
+ defaultMessage: 'Finish'
232
+ })
233
+ })
234
+ ]
235
+ })
236
+ ]
237
+ })
238
+ });
239
+ };
240
+ /**
241
+ * @internal
242
+ * @description not all edit fields have the same editable properties, it depends on the type
243
+ * e.g. a dynamic zone can only change it's label.
244
+ */ const filterFieldsBasedOnAttributeType = (type)=>(field)=>{
245
+ switch(type){
246
+ case 'blocks':
247
+ case 'richtext':
248
+ return field.name !== 'size' && field.name !== 'mainField';
249
+ case 'boolean':
250
+ case 'media':
251
+ return field.name !== 'placeholder' && field.name !== 'mainField';
252
+ case 'component':
253
+ case 'dynamiczone':
254
+ return field.name === 'label' || field.name === 'editable';
255
+ case 'json':
256
+ return field.name !== 'placeholder' && field.name !== 'mainField' && field.name !== 'size';
257
+ case 'relation':
258
+ return true;
259
+ default:
260
+ return field.name !== 'mainField';
261
+ }
262
+ };
263
+
264
+ const Fields = ({ attributes, fieldSizes, components, metadatas = {} })=>{
265
+ const { formatMessage } = reactIntl.useIntl();
266
+ const layout = strapiAdmin.useForm('Fields', (state)=>state.values.layout ?? []);
267
+ const onChange = strapiAdmin.useForm('Fields', (state)=>state.onChange);
268
+ const addFieldRow = strapiAdmin.useForm('Fields', (state)=>state.addFieldRow);
269
+ const removeFieldRow = strapiAdmin.useForm('Fields', (state)=>state.removeFieldRow);
270
+ const existingFields = layout.map((row)=>row.children.map((field)=>field.name)).flat();
271
+ /**
272
+ * Get the fields that are not already in the layout
273
+ * But also check that they are visible before we give users
274
+ * the option to display them. e.g. `id` is not visible.
275
+ */ const remainingFields = Object.entries(metadatas).reduce((acc, current)=>{
276
+ const [name, { visible, ...field }] = current;
277
+ if (!existingFields.includes(name) && visible === true) {
278
+ const type = attributes[name]?.type;
279
+ const size = type ? fieldSizes[type] : 12;
280
+ acc.push({
281
+ ...field,
282
+ label: field.label ?? name,
283
+ name,
284
+ size
285
+ });
286
+ }
287
+ return acc;
288
+ }, []);
289
+ const handleMoveField = ([newRowIndex, newFieldIndex], [currentRowIndex, currentFieldIndex])=>{
290
+ /**
291
+ * Because this view has the constraint that the sum of field sizes cannot be greater
292
+ * than 12, we don't use the form's method to move field rows, instead, we calculate
293
+ * the new layout and set the entire form.
294
+ */ const newLayout = structuredClone(layout);
295
+ /**
296
+ * Remove field from the current layout space using splice so we have the item
297
+ */ const [field] = newLayout[currentRowIndex].children.splice(currentFieldIndex, 1);
298
+ if (!field || field.name === TEMP_FIELD_NAME) {
299
+ return;
300
+ }
301
+ const newRow = newLayout[newRowIndex].children;
302
+ const [newFieldKey] = generateNKeysBetween(newRow, 1, currentFieldIndex, newFieldIndex);
303
+ /**
304
+ * Next we inject the field into it's new row at it's specified index, we then remove the spaces
305
+ * if they exist and recalculate into potentially two arrays ONLY if the sizing is now over 12,
306
+ * the row and the rest of the row that couldn't fit.
307
+ *
308
+ * for example, if i have a row of `[{size: 4}, {size: 6}]` and i add `{size: 8}` a index 0,
309
+ * the new array will look like `[{size: 8}, {size: 4}, {size: 6}]` which breaks the limit of 12,
310
+ * so instead we make two arrays for the new rows `[[{size: 8}, {size: 4}], [{size: 6}]]` which we
311
+ * then inject at the original row point with spacers included.
312
+ */ newRow.splice(newFieldIndex, 0, {
313
+ ...field,
314
+ __temp_key__: newFieldKey
315
+ });
316
+ if (newLayout[newRowIndex].children.reduce((acc, curr)=>acc + curr.size, 0) > 12) {
317
+ const recalculatedRows = chunkArray(newLayout[newRowIndex].children.filter((field)=>field.name !== TEMP_FIELD_NAME));
318
+ const rowKeys = generateNKeysBetween(newLayout, recalculatedRows.length, currentRowIndex, newRowIndex);
319
+ newLayout.splice(newRowIndex, 1, ...recalculatedRows.map((row, index)=>({
320
+ __temp_key__: rowKeys[index],
321
+ children: row
322
+ })));
323
+ }
324
+ /**
325
+ * Now we remove our spacers from the rows so we can understand what dead rows exist:
326
+ * - if there's only spacers left
327
+ * - there's nothing in the row, e.g. a size 12 field left it.
328
+ * These rows are then filtered out.
329
+ * After that, we recalculate the spacers for the rows that need them.
330
+ */ const newLayoutWithSpacers = newLayout.map((row)=>({
331
+ ...row,
332
+ children: row.children.filter((field)=>field.name !== TEMP_FIELD_NAME)
333
+ })).filter((row)=>row.children.length > 0).map((row)=>{
334
+ const totalSpaceTaken = row.children.reduce((acc, curr)=>acc + curr.size, 0);
335
+ if (totalSpaceTaken < 12) {
336
+ const [spacerKey] = fractionalIndexing.generateNKeysBetween(row.children.at(-1)?.__temp_key__, undefined, 1);
337
+ return {
338
+ ...row,
339
+ children: [
340
+ ...row.children,
341
+ {
342
+ name: TEMP_FIELD_NAME,
343
+ size: 12 - totalSpaceTaken,
344
+ __temp_key__: spacerKey
345
+ }
346
+ ]
347
+ };
348
+ }
349
+ return row;
350
+ });
351
+ onChange('layout', newLayoutWithSpacers);
352
+ };
353
+ const handleRemoveField = (rowIndex, fieldIndex)=>()=>{
354
+ if (layout[rowIndex].children.length === 1) {
355
+ removeFieldRow(`layout`, rowIndex);
356
+ } else {
357
+ onChange(`layout.${rowIndex}.children`, [
358
+ ...layout[rowIndex].children.slice(0, fieldIndex),
359
+ ...layout[rowIndex].children.slice(fieldIndex + 1)
360
+ ]);
361
+ }
362
+ };
363
+ const handleAddField = (field)=>()=>{
364
+ addFieldRow('layout', {
365
+ children: [
366
+ field
367
+ ]
368
+ });
369
+ };
370
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
371
+ paddingTop: 6,
372
+ direction: "column",
373
+ alignItems: "stretch",
374
+ gap: 4,
375
+ children: [
376
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
377
+ alignItems: "flex-start",
378
+ direction: "column",
379
+ justifyContent: "space-between",
380
+ children: [
381
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
382
+ fontWeight: "bold",
383
+ children: formatMessage({
384
+ id: index.getTranslation('containers.list.displayedFields'),
385
+ defaultMessage: 'Displayed fields'
386
+ })
387
+ }),
388
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
389
+ variant: "pi",
390
+ textColor: "neutral600",
391
+ children: formatMessage({
392
+ id: 'containers.SettingPage.editSettings.description',
393
+ defaultMessage: 'Drag & drop the fields to build the layout'
394
+ })
395
+ })
396
+ ]
397
+ }),
398
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
399
+ padding: 4,
400
+ hasRadius: true,
401
+ borderStyle: "dashed",
402
+ borderWidth: "1px",
403
+ borderColor: "neutral300",
404
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
405
+ direction: "column",
406
+ alignItems: "stretch",
407
+ gap: 2,
408
+ children: [
409
+ layout.map((row, rowIndex)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
410
+ gap: 2,
411
+ children: row.children.map(({ size, ...field }, fieldIndex)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
412
+ col: size,
413
+ direction: "column",
414
+ alignItems: "stretch",
415
+ children: /*#__PURE__*/ jsxRuntime.jsx(Field, {
416
+ attribute: attributes[field.name],
417
+ components: components,
418
+ index: [
419
+ rowIndex,
420
+ fieldIndex
421
+ ],
422
+ name: `layout.${rowIndex}.children.${fieldIndex}`,
423
+ onMoveField: handleMoveField,
424
+ onRemoveField: handleRemoveField(rowIndex, fieldIndex)
425
+ })
426
+ }, field.name))
427
+ }, row.__temp_key__)),
428
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Menu.Root, {
429
+ children: [
430
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Trigger, {
431
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Plus, {}),
432
+ endIcon: null,
433
+ disabled: remainingFields.length === 0,
434
+ fullWidth: true,
435
+ variant: "secondary",
436
+ children: formatMessage({
437
+ id: index.getTranslation('containers.SettingPage.add.field'),
438
+ defaultMessage: 'Insert another field'
439
+ })
440
+ }),
441
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Content, {
442
+ children: remainingFields.map((field)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
443
+ onSelect: handleAddField(field),
444
+ children: field.label
445
+ }, field.name))
446
+ })
447
+ ]
448
+ })
449
+ ]
450
+ })
451
+ })
452
+ ]
453
+ });
454
+ };
455
+ /**
456
+ * @internal
457
+ * @description Small abstraction to solve within an array of fields where you can
458
+ * add a field to the beginning or start, move back and forth what it's index range
459
+ * should be when calculating it's new temp key
460
+ */ const generateNKeysBetween = (field, count, currInd, newInd)=>{
461
+ const startKey = currInd > newInd ? field[newInd - 1]?.__temp_key__ : field[newInd]?.__temp_key__;
462
+ const endKey = currInd > newInd ? field[newInd]?.__temp_key__ : field[newInd + 1]?.__temp_key__;
463
+ return fractionalIndexing.generateNKeysBetween(startKey, endKey, count);
464
+ };
465
+ /**
466
+ * @internal
467
+ * @description chunks a row of layouts by the max size we allow, 12. It does not add the
468
+ * spacers again, that should be added separately.
469
+ */ const chunkArray = (array)=>{
470
+ const result = [];
471
+ let temp = [];
472
+ array.reduce((acc, field)=>{
473
+ if (acc + field.size > 12) {
474
+ result.push(temp);
475
+ temp = [
476
+ field
477
+ ];
478
+ return field.size;
479
+ } else {
480
+ temp.push(field);
481
+ return acc + field.size;
482
+ }
483
+ }, 0);
484
+ if (temp.length > 0) {
485
+ result.push(temp);
486
+ }
487
+ return result;
488
+ };
489
+ const TEMP_FIELD_NAME = '_TEMP_';
490
+ /**
491
+ * Displays a field in the layout with drag options, also
492
+ * opens a modal to edit the details of said field.
493
+ */ const Field = ({ attribute, components, name, index: index$1, onMoveField, onRemoveField })=>{
494
+ const [isModalOpen, setIsModalOpen] = React__namespace.useState(false);
495
+ const { formatMessage } = reactIntl.useIntl();
496
+ const { value } = strapiAdmin.useField(name);
497
+ const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop.useDragAndDrop(true, {
498
+ dropSensitivity: 'immediate',
499
+ type: useDragAndDrop.ItemTypes.EDIT_FIELD,
500
+ item: {
501
+ index: index$1,
502
+ label: value?.label,
503
+ name
504
+ },
505
+ index: index$1,
506
+ onMoveItem: onMoveField
507
+ });
508
+ React__namespace.useEffect(()=>{
509
+ dragPreviewRef(reactDndHtml5Backend.getEmptyImage(), {
510
+ captureDraggingState: false
511
+ });
512
+ }, [
513
+ dragPreviewRef
514
+ ]);
515
+ const composedRefs = designSystem.useComposedRefs(dragRef, objectRef);
516
+ const handleRemoveField = (e)=>{
517
+ e.preventDefault();
518
+ e.stopPropagation();
519
+ onRemoveField(e);
520
+ };
521
+ const onEditFieldMeta = (e)=>{
522
+ e.preventDefault();
523
+ e.stopPropagation();
524
+ setIsModalOpen(true);
525
+ };
526
+ const tempRefs = designSystem.useComposedRefs(dropRef, objectRef);
527
+ if (!value) {
528
+ return null;
529
+ }
530
+ if (value.name === TEMP_FIELD_NAME) {
531
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
532
+ tag: "span",
533
+ height: "100%",
534
+ style: {
535
+ opacity: 0
536
+ },
537
+ ref: tempRefs
538
+ });
539
+ }
540
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Root, {
541
+ open: isModalOpen,
542
+ onOpenChange: setIsModalOpen,
543
+ children: [
544
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
545
+ borderColor: "neutral150",
546
+ background: "neutral100",
547
+ hasRadius: true,
548
+ style: {
549
+ opacity: isDragging ? 0.5 : 1
550
+ },
551
+ ref: dropRef,
552
+ gap: 3,
553
+ cursor: "pointer",
554
+ onClick: ()=>{
555
+ setIsModalOpen(true);
556
+ },
557
+ children: [
558
+ /*#__PURE__*/ jsxRuntime.jsx(DragButton, {
559
+ tag: "span",
560
+ withTooltip: false,
561
+ label: formatMessage({
562
+ id: index.getTranslation('components.DraggableCard.move.field'),
563
+ defaultMessage: 'Move {item}'
564
+ }, {
565
+ item: value.label
566
+ }),
567
+ onClick: (e)=>e.stopPropagation(),
568
+ ref: composedRefs,
569
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Drag, {})
570
+ }),
571
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
572
+ direction: "column",
573
+ alignItems: "flex-start",
574
+ grow: 1,
575
+ overflow: "hidden",
576
+ children: [
577
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
578
+ gap: 3,
579
+ justifyContent: "space-between",
580
+ width: "100%",
581
+ children: [
582
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
583
+ ellipsis: true,
584
+ fontWeight: "bold",
585
+ children: value.label
586
+ }),
587
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
588
+ children: [
589
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
590
+ type: "button",
591
+ variant: "ghost",
592
+ background: "transparent",
593
+ onClick: onEditFieldMeta,
594
+ withTooltip: false,
595
+ label: formatMessage({
596
+ id: index.getTranslation('components.DraggableCard.edit.field'),
597
+ defaultMessage: 'Edit {item}'
598
+ }, {
599
+ item: value.label
600
+ }),
601
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Pencil, {})
602
+ }),
603
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
604
+ type: "button",
605
+ variant: "ghost",
606
+ onClick: handleRemoveField,
607
+ background: "transparent",
608
+ withTooltip: false,
609
+ label: formatMessage({
610
+ id: index.getTranslation('components.DraggableCard.delete.field'),
611
+ defaultMessage: 'Delete {item}'
612
+ }, {
613
+ item: value.label
614
+ }),
615
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Cross, {})
616
+ })
617
+ ]
618
+ })
619
+ ]
620
+ }),
621
+ attribute?.type === 'component' ? /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
622
+ paddingTop: 3,
623
+ paddingRight: 3,
624
+ paddingBottom: 3,
625
+ paddingLeft: 0,
626
+ alignItems: "flex-start",
627
+ direction: "column",
628
+ gap: 2,
629
+ width: "100%",
630
+ children: [
631
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
632
+ gap: 4,
633
+ width: "100%",
634
+ children: components[attribute.component].layout.map((row)=>row.map(({ size, ...field })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
635
+ col: size,
636
+ direction: "column",
637
+ alignItems: "stretch",
638
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
639
+ alignItems: "center",
640
+ background: "neutral0",
641
+ paddingTop: 2,
642
+ paddingBottom: 2,
643
+ paddingLeft: 3,
644
+ paddingRight: 3,
645
+ hasRadius: true,
646
+ borderColor: "neutral200",
647
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
648
+ textColor: "neutral800",
649
+ children: field.name
650
+ })
651
+ })
652
+ }, field.name)))
653
+ }),
654
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
655
+ // used to stop the edit form from appearing when we click here.
656
+ onClick: (e)=>e.stopPropagation(),
657
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Cog, {}),
658
+ tag: reactRouterDom.NavLink,
659
+ to: `../components/${attribute.component}/configurations/edit`,
660
+ children: formatMessage({
661
+ id: index.getTranslation('components.FieldItem.linkToComponentLayout'),
662
+ defaultMessage: "Set the component's layout"
663
+ })
664
+ })
665
+ ]
666
+ }) : null,
667
+ attribute?.type === 'dynamiczone' ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
668
+ paddingTop: 3,
669
+ paddingRight: 3,
670
+ paddingBottom: 3,
671
+ paddingLeft: 0,
672
+ alignItems: "flex-start",
673
+ gap: 2,
674
+ width: "100%",
675
+ children: attribute?.components.map((uid)=>/*#__PURE__*/ jsxRuntime.jsxs(ComponentLink, {
676
+ // used to stop the edit form from appearing when we click here.
677
+ onClick: (e)=>e.stopPropagation(),
678
+ to: `../components/${uid}/configurations/edit`,
679
+ children: [
680
+ /*#__PURE__*/ jsxRuntime.jsx(ComponentIcon.ComponentIcon, {
681
+ icon: components[uid].settings.icon
682
+ }),
683
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
684
+ fontSize: 1,
685
+ textColor: "neutral600",
686
+ fontWeight: "bold",
687
+ children: components[uid].settings.displayName
688
+ })
689
+ ]
690
+ }, uid))
691
+ }) : null
692
+ ]
693
+ })
694
+ ]
695
+ }),
696
+ value.name !== TEMP_FIELD_NAME && /*#__PURE__*/ jsxRuntime.jsx(EditFieldForm, {
697
+ attribute: attribute,
698
+ name: name,
699
+ onClose: ()=>setIsModalOpen(false)
700
+ })
701
+ ]
702
+ });
703
+ };
704
+ const DragButton = styledComponents.styled(designSystem.IconButton)`
705
+ height: unset;
706
+ align-self: stretch;
707
+ display: flex;
708
+ align-items: center;
709
+ padding: 0;
710
+ border: none;
711
+ background-color: transparent;
712
+ border-radius: 0px;
713
+ border-right: 1px solid ${({ theme })=>theme.colors.neutral150};
714
+ cursor: all-scroll;
715
+
716
+ svg {
717
+ width: 1.2rem;
718
+ height: 1.2rem;
719
+ }
720
+ `;
721
+ const ComponentLink = styledComponents.styled(reactRouterDom.NavLink)`
722
+ display: flex;
723
+ flex-direction: column;
724
+ align-items: center;
725
+ gap: ${({ theme })=>theme.spaces[1]};
726
+ padding: ${(props)=>props.theme.spaces[2]};
727
+ border: 1px solid ${({ theme })=>theme.colors.neutral200};
728
+ background: ${({ theme })=>theme.colors.neutral0};
729
+ width: 14rem;
730
+ border-radius: ${({ theme })=>theme.borderRadius};
731
+ text-decoration: none;
732
+
733
+ &:focus,
734
+ &:hover {
735
+ ${({ theme })=>`
736
+ background-color: ${theme.colors.primary100};
737
+ border-color: ${theme.colors.primary200};
738
+
739
+ ${designSystem.Typography} {
740
+ color: ${theme.colors.primary600};
741
+ }
742
+ `}
743
+
744
+ /* > ComponentIcon */
745
+ > div:first-child {
746
+ background: ${({ theme })=>theme.colors.primary200};
747
+ color: ${({ theme })=>theme.colors.primary600};
748
+
749
+ svg {
750
+ path {
751
+ fill: ${({ theme })=>theme.colors.primary600};
752
+ }
753
+ }
754
+ }
755
+ }
756
+ `;
757
+
758
+ const ConfigurationForm = ({ attributes, fieldSizes, layout: editLayout, onSubmit })=>{
759
+ const { components, settings, layout, metadatas } = editLayout;
760
+ const { formatMessage } = reactIntl.useIntl();
761
+ const initialValues = React__namespace.useMemo(()=>{
762
+ const transformations = pipe(flattenPanels, replaceMainFieldWithNameOnly, extractMetadata, addTmpSpaceToLayout, addTmpKeysToLayout);
763
+ return {
764
+ layout: transformations(layout),
765
+ settings
766
+ };
767
+ }, [
768
+ layout,
769
+ settings
770
+ ]);
771
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Root, {
772
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Main, {
773
+ children: /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Form, {
774
+ initialValues: initialValues,
775
+ onSubmit: onSubmit,
776
+ method: "PUT",
777
+ children: [
778
+ /*#__PURE__*/ jsxRuntime.jsx(Header, {
779
+ name: settings.displayName ?? ''
780
+ }),
781
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
782
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
783
+ alignItems: "stretch",
784
+ background: "neutral0",
785
+ direction: "column",
786
+ gap: 6,
787
+ hasRadius: true,
788
+ shadow: "tableShadow",
789
+ paddingTop: 6,
790
+ paddingBottom: 6,
791
+ paddingLeft: 7,
792
+ paddingRight: 7,
793
+ children: [
794
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
795
+ variant: "delta",
796
+ tag: "h2",
797
+ children: formatMessage({
798
+ id: index.getTranslation('containers.SettingPage.settings'),
799
+ defaultMessage: 'Settings'
800
+ })
801
+ }),
802
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
803
+ children: [
804
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
805
+ col: 6,
806
+ s: 12,
807
+ direction: "column",
808
+ alignItems: "stretch",
809
+ children: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.InputRenderer, {
810
+ type: "enumeration",
811
+ label: formatMessage({
812
+ id: index.getTranslation('containers.SettingPage.editSettings.entry.title'),
813
+ defaultMessage: 'Entry title'
814
+ }),
815
+ hint: formatMessage({
816
+ id: index.getTranslation('containers.SettingPage.editSettings.entry.title.description'),
817
+ defaultMessage: 'Set the display field of your entry'
818
+ }),
819
+ name: "settings.mainField",
820
+ options: Object.entries(attributes).reduce((acc, [key, attribute])=>{
821
+ if (!attribute) {
822
+ return acc;
823
+ }
824
+ /**
825
+ * Create the list of attributes from the schema as to which can
826
+ * be our `mainField` and dictate the display name of the schema
827
+ * we're editing.
828
+ */ if (!index.ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {
829
+ acc.push({
830
+ label: key,
831
+ value: key
832
+ });
833
+ }
834
+ return acc;
835
+ }, [])
836
+ })
837
+ }),
838
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
839
+ paddingTop: 6,
840
+ paddingBottom: 6,
841
+ col: 12,
842
+ s: 12,
843
+ direction: "column",
844
+ alignItems: "stretch",
845
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Divider, {})
846
+ }),
847
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
848
+ col: 12,
849
+ s: 12,
850
+ direction: "column",
851
+ alignItems: "stretch",
852
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
853
+ variant: "delta",
854
+ tag: "h3",
855
+ children: formatMessage({
856
+ id: index.getTranslation('containers.SettingPage.view'),
857
+ defaultMessage: 'View'
858
+ })
859
+ })
860
+ }),
861
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
862
+ col: 12,
863
+ s: 12,
864
+ direction: "column",
865
+ alignItems: "stretch",
866
+ children: /*#__PURE__*/ jsxRuntime.jsx(Fields, {
867
+ attributes: attributes,
868
+ components: components,
869
+ fieldSizes: fieldSizes,
870
+ metadatas: metadatas
871
+ })
872
+ })
873
+ ]
874
+ })
875
+ ]
876
+ })
877
+ })
878
+ ]
879
+ })
880
+ })
881
+ });
882
+ };
883
+ /**
884
+ * @internal
885
+ * @description Panels don't exist in the layout, so we flatten by one.
886
+ */ const flattenPanels = (layout)=>layout.flat(1);
887
+ /**
888
+ * @internal
889
+ * @description We don't need the mainField object in the layout, we only need the name.
890
+ */ const replaceMainFieldWithNameOnly = (layout)=>layout.map((row)=>row.map((field)=>({
891
+ ...field,
892
+ mainField: field.mainField?.name
893
+ })));
894
+ /**
895
+ * @internal
896
+ * @description We extract the metadata values from the field layout, because these are editable by the user.
897
+ */ const extractMetadata = (layout)=>{
898
+ return layout.map((row)=>row.map(({ label, disabled, hint, placeholder, size, name, mainField })=>({
899
+ label,
900
+ editable: !disabled,
901
+ description: hint,
902
+ mainField,
903
+ placeholder,
904
+ size,
905
+ name,
906
+ __temp_key__: ''
907
+ })));
908
+ };
909
+ /**
910
+ * @internal
911
+ * @description Each row of the layout has a max size of 12 (based on bootstrap grid system)
912
+ * So in order to offer a better drop zone we add the _TEMP_ div to complete the remaining substract (12 - existing)
913
+ */ const addTmpSpaceToLayout = (layout)=>[
914
+ ...layout.map((row)=>{
915
+ const totalSpaceTaken = row.reduce((acc, field)=>acc + field.size, 0);
916
+ if (totalSpaceTaken < 12) {
917
+ return [
918
+ ...row,
919
+ {
920
+ name: TEMP_FIELD_NAME,
921
+ size: 12 - totalSpaceTaken,
922
+ __temp_key__: ''
923
+ }
924
+ ];
925
+ }
926
+ return row;
927
+ })
928
+ ];
929
+ /**
930
+ * @internal
931
+ * @description At this point of the transformations we have Field[][], but each row for the form should have a __temp_key__
932
+ * applied. This means we need to change it so `Field` is nested under the children property.
933
+ */ const addTmpKeysToLayout = (layout)=>{
934
+ const keys = fractionalIndexing.generateNKeysBetween(undefined, undefined, layout.length);
935
+ return layout.map((row, rowIndex)=>{
936
+ const fieldKeys = fractionalIndexing.generateNKeysBetween(undefined, undefined, row.length);
937
+ return {
938
+ __temp_key__: keys[rowIndex],
939
+ children: row.map((field, fieldIndex)=>{
940
+ return {
941
+ ...field,
942
+ __temp_key__: fieldKeys[fieldIndex]
943
+ };
944
+ })
945
+ };
946
+ });
947
+ };
948
+ const Header = ({ name })=>{
949
+ const { formatMessage } = reactIntl.useIntl();
950
+ const modified = strapiAdmin.useForm('Header', (state)=>state.modified);
951
+ const isSubmitting = strapiAdmin.useForm('Header', (state)=>state.isSubmitting);
952
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Header, {
953
+ title: formatMessage({
954
+ id: index.getTranslation('components.SettingsViewWrapper.pluginHeader.title'),
955
+ defaultMessage: `Configure the view - {name}`
956
+ }, {
957
+ name: index.capitalise(name)
958
+ }),
959
+ subtitle: formatMessage({
960
+ id: index.getTranslation('components.SettingsViewWrapper.pluginHeader.description.edit-settings'),
961
+ defaultMessage: 'Customize how the edit view will look like.'
962
+ }),
963
+ navigationAction: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.BackButton, {}),
964
+ primaryAction: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
965
+ disabled: !modified,
966
+ loading: isSubmitting,
967
+ type: "submit",
968
+ children: formatMessage({
969
+ id: 'global.save',
970
+ defaultMessage: 'Save'
971
+ })
972
+ })
973
+ });
974
+ };
975
+
976
+ exports.ConfigurationForm = ConfigurationForm;
977
+ exports.TEMP_FIELD_NAME = TEMP_FIELD_NAME;
978
+ //# sourceMappingURL=Form-kFoXMltw.js.map