@strapi/content-manager 0.0.0-next.b558642be856459a3e6c076f5d76fffbfc5fc5a1 → 0.0.0-next.b8a93ec6cfca2f18075819bb617db6bca123b8e2

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 (483) hide show
  1. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs +80 -0
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.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-BN2kOtDm.mjs +277 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-BN2kOtDm.mjs.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-C5H-5L1u.js +299 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-C5H-5L1u.js.map +1 -0
  9. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs +153 -0
  10. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.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-BExtZuB7.js +181 -0
  14. package/dist/admin/chunks/EditConfigurationPage-BExtZuB7.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-tMgOELQG.mjs +159 -0
  16. package/dist/admin/chunks/EditConfigurationPage-tMgOELQG.mjs.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs +314 -0
  18. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js +337 -0
  20. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +1 -0
  21. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs +56 -0
  22. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.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-DGUP3zQO.js +978 -0
  26. package/dist/admin/chunks/Form-DGUP3zQO.js.map +1 -0
  27. package/dist/admin/chunks/Form-DTO0ZIaB.mjs +955 -0
  28. package/dist/admin/chunks/Form-DTO0ZIaB.mjs.map +1 -0
  29. package/dist/admin/chunks/History-C333pgXF.mjs +1357 -0
  30. package/dist/admin/chunks/History-C333pgXF.mjs.map +1 -0
  31. package/dist/admin/chunks/History-CQznK1pG.js +1380 -0
  32. package/dist/admin/chunks/History-CQznK1pG.js.map +1 -0
  33. package/dist/admin/chunks/Input-BexkC_pp.mjs +7190 -0
  34. package/dist/admin/chunks/Input-BexkC_pp.mjs.map +1 -0
  35. package/dist/admin/chunks/Input-DLJZHw9Y.js +7221 -0
  36. package/dist/admin/chunks/Input-DLJZHw9Y.js.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-71I_stAM.js +819 -0
  38. package/dist/admin/chunks/ListConfigurationPage-71I_stAM.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-BX2WR7MI.mjs +796 -0
  40. package/dist/admin/chunks/ListConfigurationPage-BX2WR7MI.mjs.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-BDeT3Dkk.mjs +1133 -0
  42. package/dist/admin/chunks/ListViewPage-BDeT3Dkk.mjs.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-DV3heO4F.js +1155 -0
  44. package/dist/admin/chunks/ListViewPage-DV3heO4F.js.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-9JHYpYVX.mjs +58 -0
  46. package/dist/admin/chunks/NoContentTypePage-9JHYpYVX.mjs.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-COih9y2J.js +60 -0
  48. package/dist/admin/chunks/NoContentTypePage-COih9y2J.js.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-DGAwRIlN.js +39 -0
  50. package/dist/admin/chunks/NoPermissionsPage-DGAwRIlN.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-DTe9I47q.mjs +37 -0
  52. package/dist/admin/chunks/NoPermissionsPage-DTe9I47q.mjs.map +1 -0
  53. package/dist/admin/chunks/Preview-BEq0FXda.mjs +551 -0
  54. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +1 -0
  55. package/dist/admin/chunks/Preview-CXtc9yEV.js +573 -0
  56. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +1 -0
  57. package/dist/admin/chunks/Relations-o7_hVGyK.js +1318 -0
  58. package/dist/admin/chunks/Relations-o7_hVGyK.js.map +1 -0
  59. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs +1291 -0
  60. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs.map +1 -0
  61. package/dist/admin/chunks/ar-DckYq_WK.mjs +222 -0
  62. package/dist/{_chunks/ar-CCEVvqGG.mjs.map → admin/chunks/ar-DckYq_WK.mjs.map} +1 -1
  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.mjs +197 -0
  68. package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
  69. package/dist/admin/chunks/cs-BJFxwIWj.js +126 -0
  70. package/dist/{_chunks/cs-CkJy6B2v.js.map → admin/chunks/cs-BJFxwIWj.js.map} +1 -1
  71. package/dist/admin/chunks/cs-C7OSYFQ7.mjs +122 -0
  72. package/dist/{_chunks/cs-CM2aBUar.mjs.map → admin/chunks/cs-C7OSYFQ7.mjs.map} +1 -1
  73. package/dist/admin/chunks/de-5QRlDHyR.mjs +195 -0
  74. package/dist/{_chunks/eu-CdALomew.mjs.map → admin/chunks/de-5QRlDHyR.mjs.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/{_chunks/en-Bm0D0IWz.js.map → admin/chunks/en-C1CjdAtC.js.map} +1 -1
  79. package/dist/admin/chunks/en-LfhocNG2.mjs +308 -0
  80. package/dist/{_chunks/en-DKV44jRb.mjs.map → admin/chunks/en-LfhocNG2.mjs.map} +1 -1
  81. package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
  82. package/dist/{_chunks/es-EUonQTon.js.map → admin/chunks/es-C8vLuvZL.js.map} +1 -1
  83. package/dist/admin/chunks/es-DkoWSExG.mjs +192 -0
  84. package/dist/{_chunks/ja-CtsUxOvk.mjs.map → admin/chunks/es-DkoWSExG.mjs.map} +1 -1
  85. package/dist/admin/chunks/eu-BG1xX7HK.mjs +198 -0
  86. package/dist/admin/chunks/eu-BG1xX7HK.mjs.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.mjs +215 -0
  90. package/dist/admin/chunks/fr-CFdRaRVj.mjs.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.mjs +196 -0
  94. package/dist/admin/chunks/gu-D5MMMXRs.mjs.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.mjs +196 -0
  100. package/dist/admin/chunks/hi-lp17SCjr.mjs.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_.mjs +7 -0
  104. package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
  105. package/dist/admin/chunks/hu-CLka1U2C.mjs +198 -0
  106. package/dist/admin/chunks/hu-CLka1U2C.mjs.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.mjs +156 -0
  112. package/dist/{_chunks/id-BtwA9WJT.mjs.map → admin/chunks/id-USfY9m1g.mjs.map} +1 -1
  113. package/dist/admin/chunks/index-BHimg6jW.js +5417 -0
  114. package/dist/admin/chunks/index-BHimg6jW.js.map +1 -0
  115. package/dist/admin/chunks/index-Cs6qwFQu.mjs +5351 -0
  116. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +1 -0
  117. package/dist/admin/chunks/it-BAHrwmYS.mjs +158 -0
  118. package/dist/{_chunks/it-BrVPqaf1.mjs.map → admin/chunks/it-BAHrwmYS.mjs.map} +1 -1
  119. package/dist/admin/chunks/it-CQFpa_Dc.js +163 -0
  120. package/dist/{_chunks/ko-woFZPmLk.js.map → admin/chunks/it-CQFpa_Dc.js.map} +1 -1
  121. package/dist/admin/chunks/ja-BWKmBJFT.mjs +192 -0
  122. package/dist/{_chunks/ko-HVQRlfUI.mjs.map → admin/chunks/ja-BWKmBJFT.mjs.map} +1 -1
  123. package/dist/admin/chunks/ja-jdQM-B79.js +197 -0
  124. package/dist/{_chunks/de-CCEmbAah.js.map → admin/chunks/ja-jdQM-B79.js.map} +1 -1
  125. package/dist/admin/chunks/ko-CgADGBNt.mjs +191 -0
  126. package/dist/{_chunks/es-CeXiYflN.mjs.map → admin/chunks/ko-CgADGBNt.mjs.map} +1 -1
  127. package/dist/admin/chunks/ko-k46sEyzt.js +196 -0
  128. package/dist/{_chunks/ja-CcFe8diO.js.map → admin/chunks/ko-k46sEyzt.js.map} +1 -1
  129. package/dist/admin/chunks/layout-DStNia_P.mjs +599 -0
  130. package/dist/admin/chunks/layout-DStNia_P.mjs.map +1 -0
  131. package/dist/admin/chunks/layout-Dtahn4Ue.js +619 -0
  132. package/dist/admin/chunks/layout-Dtahn4Ue.js.map +1 -0
  133. package/dist/admin/chunks/ml-CnhCfOn_.mjs +196 -0
  134. package/dist/admin/chunks/ml-CnhCfOn_.mjs.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.mjs +140 -0
  138. package/dist/{_chunks/ms-m_WjyWx7.mjs.map → admin/chunks/ms-Bh09NFff.mjs.map} +1 -1
  139. package/dist/admin/chunks/ms-CvSC0OdG.js +145 -0
  140. package/dist/{_chunks/ms-BuFotyP_.js.map → admin/chunks/ms-CvSC0OdG.js.map} +1 -1
  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.mjs +198 -0
  144. package/dist/admin/chunks/nl-C8HYflTc.mjs.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.mjs +73 -0
  148. package/dist/admin/chunks/objects-wl73iEma.mjs.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.mjs +195 -0
  152. package/dist/{_chunks/ca-5U32ON2v.mjs.map → admin/chunks/pl-MFCZJZuZ.mjs.map} +1 -1
  153. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +202 -0
  154. package/dist/{_chunks/pt-BR-BiOz37D9.js.map → admin/chunks/pt-BR-CPtAXD-4.js.map} +1 -1
  155. package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs +197 -0
  156. package/dist/{_chunks/pt-BR-C71iDxnh.mjs.map → admin/chunks/pt-BR-CcotyBGJ.mjs.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.mjs +93 -0
  160. package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
  161. package/dist/admin/chunks/relations-Cq8NRUto.mjs +173 -0
  162. package/dist/admin/chunks/relations-Cq8NRUto.mjs.map +1 -0
  163. package/dist/admin/chunks/relations-XOYEEqMz.js +178 -0
  164. package/dist/admin/chunks/relations-XOYEEqMz.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.mjs +230 -0
  168. package/dist/{_chunks/ru-BE6A4Exp.mjs.map → admin/chunks/ru-CB4BUyQp.mjs.map} +1 -1
  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.mjs +196 -0
  172. package/dist/admin/chunks/sa-n_aPA-pU.mjs.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.mjs +198 -0
  176. package/dist/admin/chunks/sk-tn_BDjE2.mjs.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.mjs +198 -0
  180. package/dist/admin/chunks/sv-cq4ZrQRd.mjs.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.mjs +144 -0
  184. package/dist/{_chunks/th-BqbI8lIT.mjs.map → admin/chunks/th-mUH7hEtc.mjs.map} +1 -1
  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.mjs +195 -0
  188. package/dist/{_chunks/de-C72KDNOl.mjs.map → admin/chunks/tr-Yt38daxh.mjs.map} +1 -1
  189. package/dist/admin/chunks/uk-B24MoTVg.js +145 -0
  190. package/dist/{_chunks/uk-C8EiqJY7.js.map → admin/chunks/uk-B24MoTVg.js.map} +1 -1
  191. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +140 -0
  192. package/dist/{_chunks/uk-CR-zDhAY.mjs.map → admin/chunks/uk-Cpgmm7gE.mjs.map} +1 -1
  193. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs +247 -0
  194. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.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.mjs +18 -0
  198. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.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/{_chunks/vi-CJlYDheJ.js.map → admin/chunks/vi-BGr1X_HZ.js.map} +1 -1
  203. package/dist/admin/chunks/vi-CvBGlTjr.mjs +108 -0
  204. package/dist/{_chunks/vi-DUXIk_fw.mjs.map → admin/chunks/vi-CvBGlTjr.mjs.map} +1 -1
  205. package/dist/admin/chunks/zh-BmF-sHaT.mjs +205 -0
  206. package/dist/admin/chunks/zh-BmF-sHaT.mjs.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.mjs +934 -0
  210. package/dist/{_chunks/zh-Hans-BPQcRIyH.mjs.map → admin/chunks/zh-Hans-CI0HKio3.mjs.map} +1 -1
  211. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +953 -0
  212. package/dist/{_chunks/zh-Hans-9kOncHGw.js.map → admin/chunks/zh-Hans-JVK9x7xr.js.map} +1 -1
  213. package/dist/admin/index.js +25 -4
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +17 -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/index.d.ts +1 -0
  222. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  223. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
  224. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
  225. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  226. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +55 -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 -4232
  250. package/dist/server/index.js.map +1 -1
  251. package/dist/server/index.mjs +5448 -4216
  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/lifecycles.d.ts.map +1 -1
  260. package/dist/server/src/history/services/utils.d.ts +6 -10
  261. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  262. package/dist/server/src/index.d.ts +3 -2
  263. package/dist/server/src/index.d.ts.map +1 -1
  264. package/dist/server/src/preview/controllers/preview.d.ts +6 -2
  265. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -1
  266. package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
  267. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
  268. package/dist/server/src/preview/index.d.ts.map +1 -1
  269. package/dist/server/src/preview/services/index.d.ts +13 -1
  270. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  271. package/dist/server/src/preview/services/preview-config.d.ts +32 -0
  272. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
  273. package/dist/server/src/preview/services/preview.d.ts +7 -1
  274. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  275. package/dist/server/src/preview/utils.d.ts +13 -1
  276. package/dist/server/src/preview/utils.d.ts.map +1 -1
  277. package/dist/server/src/register.d.ts.map +1 -1
  278. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  279. package/dist/server/src/services/document-metadata.d.ts +4 -2
  280. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  281. package/dist/server/src/services/index.d.ts +3 -2
  282. package/dist/server/src/services/index.d.ts.map +1 -1
  283. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  284. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  285. package/dist/server/src/services/utils/count.d.ts +1 -1
  286. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  287. package/dist/server/src/services/utils/populate.d.ts +3 -3
  288. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  289. package/dist/shared/contracts/collection-types.d.ts +0 -1
  290. package/dist/shared/contracts/components.d.ts +0 -1
  291. package/dist/shared/contracts/content-types.d.ts +0 -1
  292. package/dist/shared/contracts/history-versions.d.ts +0 -1
  293. package/dist/shared/contracts/index.d.ts +1 -1
  294. package/dist/shared/contracts/index.d.ts.map +1 -1
  295. package/dist/shared/contracts/init.d.ts +0 -1
  296. package/dist/shared/contracts/preview.d.ts +26 -0
  297. package/dist/shared/contracts/preview.d.ts.map +1 -0
  298. package/dist/shared/contracts/relations.d.ts +1 -2
  299. package/dist/shared/contracts/relations.d.ts.map +1 -1
  300. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  301. package/dist/shared/contracts/single-types.d.ts +0 -1
  302. package/dist/shared/contracts/uid.d.ts +0 -1
  303. package/dist/shared/index.d.ts +0 -1
  304. package/dist/shared/index.js +37 -22
  305. package/dist/shared/index.js.map +1 -1
  306. package/dist/shared/index.mjs +36 -23
  307. package/dist/shared/index.mjs.map +1 -1
  308. package/package.json +20 -16
  309. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
  310. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
  311. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
  312. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
  313. package/dist/_chunks/ComponentConfigurationPage-CIjXcRAB.mjs +0 -236
  314. package/dist/_chunks/ComponentConfigurationPage-CIjXcRAB.mjs.map +0 -1
  315. package/dist/_chunks/ComponentConfigurationPage-gsCd80MU.js +0 -255
  316. package/dist/_chunks/ComponentConfigurationPage-gsCd80MU.js.map +0 -1
  317. package/dist/_chunks/ComponentIcon-BXdiCGQp.js +0 -176
  318. package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +0 -1
  319. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
  320. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
  321. package/dist/_chunks/EditConfigurationPage-BglmD_BF.mjs +0 -132
  322. package/dist/_chunks/EditConfigurationPage-BglmD_BF.mjs.map +0 -1
  323. package/dist/_chunks/EditConfigurationPage-DHDQKBzw.js +0 -151
  324. package/dist/_chunks/EditConfigurationPage-DHDQKBzw.js.map +0 -1
  325. package/dist/_chunks/EditViewPage-C4iTxUPU.js +0 -243
  326. package/dist/_chunks/EditViewPage-C4iTxUPU.js.map +0 -1
  327. package/dist/_chunks/EditViewPage-CiwVPMaK.mjs +0 -224
  328. package/dist/_chunks/EditViewPage-CiwVPMaK.mjs.map +0 -1
  329. package/dist/_chunks/Field-DIjL1b5d.mjs +0 -5563
  330. package/dist/_chunks/Field-DIjL1b5d.mjs.map +0 -1
  331. package/dist/_chunks/Field-DhXEK8y1.js +0 -5595
  332. package/dist/_chunks/Field-DhXEK8y1.js.map +0 -1
  333. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  334. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  335. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  336. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  337. package/dist/_chunks/Form-CmNesrvR.mjs +0 -758
  338. package/dist/_chunks/Form-CmNesrvR.mjs.map +0 -1
  339. package/dist/_chunks/Form-CwmJ4sWe.js +0 -779
  340. package/dist/_chunks/Form-CwmJ4sWe.js.map +0 -1
  341. package/dist/_chunks/History-BLCCNgCt.js +0 -1066
  342. package/dist/_chunks/History-BLCCNgCt.js.map +0 -1
  343. package/dist/_chunks/History-D-99Wh30.mjs +0 -1045
  344. package/dist/_chunks/History-D-99Wh30.mjs.map +0 -1
  345. package/dist/_chunks/ListConfigurationPage-DxWpeZrO.js +0 -652
  346. package/dist/_chunks/ListConfigurationPage-DxWpeZrO.js.map +0 -1
  347. package/dist/_chunks/ListConfigurationPage-JPWZz7Kg.mjs +0 -632
  348. package/dist/_chunks/ListConfigurationPage-JPWZz7Kg.mjs.map +0 -1
  349. package/dist/_chunks/ListViewPage-CIQekSFz.js +0 -863
  350. package/dist/_chunks/ListViewPage-CIQekSFz.js.map +0 -1
  351. package/dist/_chunks/ListViewPage-DSK3f0ST.mjs +0 -839
  352. package/dist/_chunks/ListViewPage-DSK3f0ST.mjs.map +0 -1
  353. package/dist/_chunks/NoContentTypePage-C5cxKvC2.js +0 -51
  354. package/dist/_chunks/NoContentTypePage-C5cxKvC2.js.map +0 -1
  355. package/dist/_chunks/NoContentTypePage-D99LU1YP.mjs +0 -51
  356. package/dist/_chunks/NoContentTypePage-D99LU1YP.mjs.map +0 -1
  357. package/dist/_chunks/NoPermissionsPage-DBrBw-0y.mjs +0 -23
  358. package/dist/_chunks/NoPermissionsPage-DBrBw-0y.mjs.map +0 -1
  359. package/dist/_chunks/NoPermissionsPage-Oy4tmUrW.js +0 -23
  360. package/dist/_chunks/NoPermissionsPage-Oy4tmUrW.js.map +0 -1
  361. package/dist/_chunks/Relations-BBmhcWFV.mjs +0 -727
  362. package/dist/_chunks/Relations-BBmhcWFV.mjs.map +0 -1
  363. package/dist/_chunks/Relations-eG-9p_qS.js +0 -747
  364. package/dist/_chunks/Relations-eG-9p_qS.js.map +0 -1
  365. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  366. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  367. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  368. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  369. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  370. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  371. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  372. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  373. package/dist/_chunks/de-CCEmbAah.js +0 -199
  374. package/dist/_chunks/en-Bm0D0IWz.js +0 -293
  375. package/dist/_chunks/en-DKV44jRb.mjs +0 -293
  376. package/dist/_chunks/es-CeXiYflN.mjs +0 -196
  377. package/dist/_chunks/es-EUonQTon.js +0 -196
  378. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  379. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  380. package/dist/_chunks/fr-B7kGGg3E.js +0 -206
  381. package/dist/_chunks/fr-B7kGGg3E.js.map +0 -1
  382. package/dist/_chunks/fr-CD9VFbPM.mjs +0 -206
  383. package/dist/_chunks/fr-CD9VFbPM.mjs.map +0 -1
  384. package/dist/_chunks/gu-BRmF601H.js +0 -200
  385. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  386. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  387. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  388. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  389. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  390. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  391. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  392. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  393. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  394. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  395. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  396. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  397. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  398. package/dist/_chunks/id-B5Ser98A.js +0 -160
  399. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  400. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  401. package/dist/_chunks/index-BIWDoFLK.js +0 -4133
  402. package/dist/_chunks/index-BIWDoFLK.js.map +0 -1
  403. package/dist/_chunks/index-BrUzbQ30.mjs +0 -4113
  404. package/dist/_chunks/index-BrUzbQ30.mjs.map +0 -1
  405. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  406. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  407. package/dist/_chunks/ja-CcFe8diO.js +0 -196
  408. package/dist/_chunks/ja-CtsUxOvk.mjs +0 -196
  409. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  410. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  411. package/dist/_chunks/layout-_5-cXs34.mjs +0 -471
  412. package/dist/_chunks/layout-_5-cXs34.mjs.map +0 -1
  413. package/dist/_chunks/layout-lMc9i1-Z.js +0 -489
  414. package/dist/_chunks/layout-lMc9i1-Z.js.map +0 -1
  415. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  416. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  417. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  418. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  419. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  420. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  421. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  422. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  423. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  424. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  425. package/dist/_chunks/objects-BcXOv6_9.js +0 -47
  426. package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
  427. package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
  428. package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
  429. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  430. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  431. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  432. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  433. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  434. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  435. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  436. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  437. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  438. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  439. package/dist/_chunks/relations-BRHithi8.js +0 -130
  440. package/dist/_chunks/relations-BRHithi8.js.map +0 -1
  441. package/dist/_chunks/relations-B_VLk-DD.mjs +0 -131
  442. package/dist/_chunks/relations-B_VLk-DD.mjs.map +0 -1
  443. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  444. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  445. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  446. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  447. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  448. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  449. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  450. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  451. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  452. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  453. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  454. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  455. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  456. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  457. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  458. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  459. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  460. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  461. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  462. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  463. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  464. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  465. package/dist/_chunks/useDebounce-CtcjDB3L.js +0 -28
  466. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
  467. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +0 -29
  468. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
  469. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
  470. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
  471. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
  472. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
  473. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  474. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  475. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  476. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  477. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  478. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  479. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  480. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  481. package/dist/admin/src/preview/constants.d.ts +0 -1
  482. package/dist/server/src/preview/constants.d.ts +0 -2
  483. 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-BHimg6jW.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-DGUP3zQO.js.map