@strapi/content-manager 0.0.0-next.bec3f8cddf61be32ee5516609a1d4d6032933972 → 0.0.0-next.c22d1aa5024dc77092c3df7e990ad89dcd79e7b0

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 (488) 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-Co2eC_-C.js +276 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-Co2eC_-C.js.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.js +298 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-Dj1bNvEF.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-Dm5woBp9.js +180 -0
  14. package/dist/admin/chunks/EditConfigurationPage-Dm5woBp9.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js +158 -0
  16. package/dist/admin/chunks/EditConfigurationPage-zd9OLaVh.js.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-DsBKmSPb.js +337 -0
  18. package/dist/admin/chunks/EditViewPage-DsBKmSPb.js.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-kAIaYTg0.js +314 -0
  20. package/dist/admin/chunks/EditViewPage-kAIaYTg0.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-BO69oITe.js +955 -0
  26. package/dist/admin/chunks/Form-BO69oITe.js.map +1 -0
  27. package/dist/admin/chunks/Form-BPIhJKyf.js +978 -0
  28. package/dist/admin/chunks/Form-BPIhJKyf.js.map +1 -0
  29. package/dist/admin/chunks/History-BzvpM-Gw.js +1357 -0
  30. package/dist/admin/chunks/History-BzvpM-Gw.js.map +1 -0
  31. package/dist/admin/chunks/History-DBQ96jv2.js +1380 -0
  32. package/dist/admin/chunks/History-DBQ96jv2.js.map +1 -0
  33. package/dist/admin/chunks/Input-BlDcbhUC.js +6755 -0
  34. package/dist/admin/chunks/Input-BlDcbhUC.js.map +1 -0
  35. package/dist/admin/chunks/Input-Dh1MtWno.js +6786 -0
  36. package/dist/admin/chunks/Input-Dh1MtWno.js.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js +818 -0
  38. package/dist/admin/chunks/ListConfigurationPage-8d3BsQIr.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js +795 -0
  40. package/dist/admin/chunks/ListConfigurationPage-DK0ARecn.js.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-BF2q7N6W.js +1132 -0
  42. package/dist/admin/chunks/ListViewPage-BF2q7N6W.js.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-CS1ED-vI.js +1154 -0
  44. package/dist/admin/chunks/ListViewPage-CS1ED-vI.js.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js +59 -0
  46. package/dist/admin/chunks/NoContentTypePage-C5Qxz3I4.js.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js +57 -0
  48. package/dist/admin/chunks/NoContentTypePage-DjdXr1-j.js.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js +36 -0
  50. package/dist/admin/chunks/NoPermissionsPage-BUwtKUEP.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js +38 -0
  52. package/dist/admin/chunks/NoPermissionsPage-C5dC0MtL.js.map +1 -0
  53. package/dist/admin/chunks/Preview-C9kXTY6C.js +531 -0
  54. package/dist/admin/chunks/Preview-C9kXTY6C.js.map +1 -0
  55. package/dist/admin/chunks/Preview-DBvmhR7Q.js +553 -0
  56. package/dist/admin/chunks/Preview-DBvmhR7Q.js.map +1 -0
  57. package/dist/admin/chunks/Relations-Cn0atFpd.js +827 -0
  58. package/dist/admin/chunks/Relations-Cn0atFpd.js.map +1 -0
  59. package/dist/admin/chunks/Relations-XHxDKEvT.js +853 -0
  60. package/dist/admin/chunks/Relations-XHxDKEvT.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-7sfIbjxE.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-C-J4DGEe.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-BczuAULz.js +5416 -0
  114. package/dist/admin/chunks/index-BczuAULz.js.map +1 -0
  115. package/dist/admin/chunks/index-BkyR-Bnu.js +5350 -0
  116. package/dist/admin/chunks/index-BkyR-Bnu.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-9K52xZIr.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-DcDoRT8g.js +618 -0
  130. package/dist/admin/chunks/layout-DcDoRT8g.js.map +1 -0
  131. package/dist/admin/chunks/layout-fghBgRgX.js +598 -0
  132. package/dist/admin/chunks/layout-fghBgRgX.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-CgaydhiM.js +178 -0
  162. package/dist/admin/chunks/relations-CgaydhiM.js.map +1 -0
  163. package/dist/admin/chunks/relations-DPVgU_rq.js +173 -0
  164. package/dist/admin/chunks/relations-DPVgU_rq.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/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
  225. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
  226. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
  227. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  228. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
  229. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +27 -0
  230. package/dist/admin/src/pages/EditView/utils/data.d.ts +1 -0
  231. package/dist/admin/src/preview/components/PreviewContent.d.ts +3 -0
  232. package/dist/admin/src/preview/components/PreviewHeader.d.ts +3 -0
  233. package/dist/admin/src/preview/index.d.ts +2 -3
  234. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  235. package/dist/admin/src/preview/routes.d.ts +3 -0
  236. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  237. package/dist/admin/src/router.d.ts +1 -1
  238. package/dist/admin/src/services/api.d.ts +1 -1
  239. package/dist/admin/src/services/components.d.ts +2 -2
  240. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  241. package/dist/admin/src/services/documents.d.ts +16 -19
  242. package/dist/admin/src/services/init.d.ts +1 -1
  243. package/dist/admin/src/services/relations.d.ts +2 -2
  244. package/dist/admin/src/services/uid.d.ts +3 -3
  245. package/dist/server/index.js +5461 -4346
  246. package/dist/server/index.js.map +1 -1
  247. package/dist/server/index.mjs +5433 -4315
  248. package/dist/server/index.mjs.map +1 -1
  249. package/dist/server/src/controllers/utils/metadata.d.ts +2 -1
  250. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  251. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  252. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  253. package/dist/server/src/history/services/history.d.ts +3 -3
  254. package/dist/server/src/history/services/history.d.ts.map +1 -1
  255. package/dist/server/src/history/services/utils.d.ts +6 -10
  256. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  257. package/dist/server/src/index.d.ts +3 -2
  258. package/dist/server/src/index.d.ts.map +1 -1
  259. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  260. package/dist/server/src/preview/index.d.ts.map +1 -1
  261. package/dist/server/src/preview/services/index.d.ts +1 -0
  262. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  263. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  264. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  265. package/dist/server/src/preview/utils.d.ts +1 -0
  266. package/dist/server/src/preview/utils.d.ts.map +1 -1
  267. package/dist/server/src/register.d.ts.map +1 -1
  268. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  269. package/dist/server/src/services/document-metadata.d.ts +4 -2
  270. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  271. package/dist/server/src/services/index.d.ts +3 -2
  272. package/dist/server/src/services/index.d.ts.map +1 -1
  273. package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
  274. package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
  275. package/dist/server/src/services/utils/count.d.ts +1 -1
  276. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  277. package/dist/server/src/services/utils/populate.d.ts +3 -3
  278. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  279. package/dist/shared/contracts/collection-types.d.ts +0 -1
  280. package/dist/shared/contracts/components.d.ts +0 -1
  281. package/dist/shared/contracts/content-types.d.ts +0 -1
  282. package/dist/shared/contracts/history-versions.d.ts +0 -1
  283. package/dist/shared/contracts/index.d.ts +0 -1
  284. package/dist/shared/contracts/init.d.ts +0 -1
  285. package/dist/shared/contracts/preview.d.ts +0 -1
  286. package/dist/shared/contracts/relations.d.ts +1 -2
  287. package/dist/shared/contracts/relations.d.ts.map +1 -1
  288. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  289. package/dist/shared/contracts/single-types.d.ts +0 -1
  290. package/dist/shared/contracts/uid.d.ts +0 -1
  291. package/dist/shared/index.d.ts +0 -1
  292. package/dist/shared/index.js +35 -24
  293. package/dist/shared/index.js.map +1 -1
  294. package/dist/shared/index.mjs +34 -25
  295. package/dist/shared/index.mjs.map +1 -1
  296. package/package.json +19 -15
  297. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
  298. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
  299. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
  300. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
  301. package/dist/_chunks/ComponentConfigurationPage-BUOQFZ08.mjs +0 -236
  302. package/dist/_chunks/ComponentConfigurationPage-BUOQFZ08.mjs.map +0 -1
  303. package/dist/_chunks/ComponentConfigurationPage-WtZ2yaRP.js +0 -255
  304. package/dist/_chunks/ComponentConfigurationPage-WtZ2yaRP.js.map +0 -1
  305. package/dist/_chunks/ComponentIcon-BXdiCGQp.js +0 -176
  306. package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +0 -1
  307. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
  308. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
  309. package/dist/_chunks/EditConfigurationPage-BVrCP5lF.js +0 -151
  310. package/dist/_chunks/EditConfigurationPage-BVrCP5lF.js.map +0 -1
  311. package/dist/_chunks/EditConfigurationPage-D7HkxcAN.mjs +0 -132
  312. package/dist/_chunks/EditConfigurationPage-D7HkxcAN.mjs.map +0 -1
  313. package/dist/_chunks/EditViewPage-BKQ83NAk.js +0 -243
  314. package/dist/_chunks/EditViewPage-BKQ83NAk.js.map +0 -1
  315. package/dist/_chunks/EditViewPage-zKmMBER4.mjs +0 -224
  316. package/dist/_chunks/EditViewPage-zKmMBER4.mjs.map +0 -1
  317. package/dist/_chunks/Field-BbrX_tUG.mjs +0 -5563
  318. package/dist/_chunks/Field-BbrX_tUG.mjs.map +0 -1
  319. package/dist/_chunks/Field-BhN0lyyZ.js +0 -5595
  320. package/dist/_chunks/Field-BhN0lyyZ.js.map +0 -1
  321. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
  322. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
  323. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
  324. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
  325. package/dist/_chunks/Form-B-E8l73g.mjs +0 -758
  326. package/dist/_chunks/Form-B-E8l73g.mjs.map +0 -1
  327. package/dist/_chunks/Form-CkbrtNZd.js +0 -779
  328. package/dist/_chunks/Form-CkbrtNZd.js.map +0 -1
  329. package/dist/_chunks/History-B2Dg9q7H.js +0 -1050
  330. package/dist/_chunks/History-B2Dg9q7H.js.map +0 -1
  331. package/dist/_chunks/History-C72HQ0-i.mjs +0 -1029
  332. package/dist/_chunks/History-C72HQ0-i.mjs.map +0 -1
  333. package/dist/_chunks/ListConfigurationPage-BQCc3BnJ.js +0 -652
  334. package/dist/_chunks/ListConfigurationPage-BQCc3BnJ.js.map +0 -1
  335. package/dist/_chunks/ListConfigurationPage-BalSo5dp.mjs +0 -632
  336. package/dist/_chunks/ListConfigurationPage-BalSo5dp.mjs.map +0 -1
  337. package/dist/_chunks/ListViewPage-Cu5dZKZe.js +0 -863
  338. package/dist/_chunks/ListViewPage-Cu5dZKZe.js.map +0 -1
  339. package/dist/_chunks/ListViewPage-Dfue5wQ2.mjs +0 -839
  340. package/dist/_chunks/ListViewPage-Dfue5wQ2.mjs.map +0 -1
  341. package/dist/_chunks/NoContentTypePage-BLC8M9U0.mjs +0 -51
  342. package/dist/_chunks/NoContentTypePage-BLC8M9U0.mjs.map +0 -1
  343. package/dist/_chunks/NoContentTypePage-MGzn4JPu.js +0 -51
  344. package/dist/_chunks/NoContentTypePage-MGzn4JPu.js.map +0 -1
  345. package/dist/_chunks/NoPermissionsPage-BpAoEQy_.mjs +0 -23
  346. package/dist/_chunks/NoPermissionsPage-BpAoEQy_.mjs.map +0 -1
  347. package/dist/_chunks/NoPermissionsPage-DJPwEpOD.js +0 -23
  348. package/dist/_chunks/NoPermissionsPage-DJPwEpOD.js.map +0 -1
  349. package/dist/_chunks/Relations-BULOkyWN.mjs +0 -730
  350. package/dist/_chunks/Relations-BULOkyWN.mjs.map +0 -1
  351. package/dist/_chunks/Relations-DTiqnyGx.js +0 -750
  352. package/dist/_chunks/Relations-DTiqnyGx.js.map +0 -1
  353. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  354. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  355. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  356. package/dist/_chunks/ar-CCEVvqGG.mjs.map +0 -1
  357. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  358. package/dist/_chunks/ca-5U32ON2v.mjs.map +0 -1
  359. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  360. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  361. package/dist/_chunks/cs-CM2aBUar.mjs.map +0 -1
  362. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  363. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  364. package/dist/_chunks/de-C72KDNOl.mjs.map +0 -1
  365. package/dist/_chunks/de-CCEmbAah.js +0 -199
  366. package/dist/_chunks/en-C-J4DGEe.js +0 -295
  367. package/dist/_chunks/en-DPfZ6tPQ.mjs +0 -295
  368. package/dist/_chunks/en-DPfZ6tPQ.mjs.map +0 -1
  369. package/dist/_chunks/es-9K52xZIr.js +0 -196
  370. package/dist/_chunks/es-D34tqjMw.mjs +0 -196
  371. package/dist/_chunks/es-D34tqjMw.mjs.map +0 -1
  372. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  373. package/dist/_chunks/eu-CdALomew.mjs.map +0 -1
  374. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  375. package/dist/_chunks/fr--pg5jUbt.mjs +0 -216
  376. package/dist/_chunks/fr--pg5jUbt.mjs.map +0 -1
  377. package/dist/_chunks/fr-B2Kyv8Z9.js +0 -216
  378. package/dist/_chunks/fr-B2Kyv8Z9.js.map +0 -1
  379. package/dist/_chunks/gu-BRmF601H.js +0 -200
  380. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  381. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  382. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  383. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  384. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  385. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  386. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  387. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  388. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  389. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  390. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  391. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  392. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  393. package/dist/_chunks/id-B5Ser98A.js +0 -160
  394. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  395. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  396. package/dist/_chunks/id-BtwA9WJT.mjs.map +0 -1
  397. package/dist/_chunks/index-76eawJUd.js +0 -4175
  398. package/dist/_chunks/index-76eawJUd.js.map +0 -1
  399. package/dist/_chunks/index-DW7xp_LG.mjs +0 -4155
  400. package/dist/_chunks/index-DW7xp_LG.mjs.map +0 -1
  401. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  402. package/dist/_chunks/it-BrVPqaf1.mjs.map +0 -1
  403. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  404. package/dist/_chunks/ja-7sfIbjxE.js +0 -196
  405. package/dist/_chunks/ja-BHqhDq4V.mjs +0 -196
  406. package/dist/_chunks/ja-BHqhDq4V.mjs.map +0 -1
  407. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  408. package/dist/_chunks/ko-HVQRlfUI.mjs.map +0 -1
  409. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  410. package/dist/_chunks/layout-CVz8WiDC.js +0 -489
  411. package/dist/_chunks/layout-CVz8WiDC.js.map +0 -1
  412. package/dist/_chunks/layout-DNfLIjbP.mjs +0 -471
  413. package/dist/_chunks/layout-DNfLIjbP.mjs.map +0 -1
  414. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  415. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  416. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  417. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  418. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  419. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  420. package/dist/_chunks/ms-m_WjyWx7.mjs.map +0 -1
  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-BR-C71iDxnh.mjs.map +0 -1
  436. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  437. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  438. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  439. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  440. package/dist/_chunks/relations-B6K4WRjW.js +0 -130
  441. package/dist/_chunks/relations-B6K4WRjW.js.map +0 -1
  442. package/dist/_chunks/relations-ByHSIjSe.mjs +0 -131
  443. package/dist/_chunks/relations-ByHSIjSe.mjs.map +0 -1
  444. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  445. package/dist/_chunks/ru-BE6A4Exp.mjs.map +0 -1
  446. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  447. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  448. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  449. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  450. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  451. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  452. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  453. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  454. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  455. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  456. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  457. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  458. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  459. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  460. package/dist/_chunks/th-BqbI8lIT.mjs.map +0 -1
  461. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  462. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  463. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  464. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  465. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  466. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  467. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  468. package/dist/_chunks/uk-CR-zDhAY.mjs.map +0 -1
  469. package/dist/_chunks/useDebounce-CtcjDB3L.js +0 -28
  470. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
  471. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +0 -29
  472. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
  473. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
  474. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
  475. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
  476. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
  477. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  478. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  479. package/dist/_chunks/vi-DUXIk_fw.mjs.map +0 -1
  480. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  481. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  482. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  483. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  484. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  485. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  486. package/dist/admin/src/preview/constants.d.ts +0 -1
  487. package/dist/server/src/preview/constants.d.ts +0 -2
  488. package/dist/server/src/preview/constants.d.ts.map +0 -1
@@ -1,1029 +0,0 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { useForm, useStrapiApp, InputRenderer, useField, Form, Layouts, useNotification, useQueryParams, useRBAC, ConfirmDialog, createContext, Page } from "@strapi/admin/strapi-admin";
4
- import { Alert, Link, Flex, Field, Box, Tooltip, Typography, Divider, Grid, Dialog, Button, Portal, FocusTrap, Main } from "@strapi/design-system";
5
- import { stringify } from "qs";
6
- import { useIntl } from "react-intl";
7
- import { NavLink, useNavigate, useParams, Link as Link$1, Navigate } from "react-router-dom";
8
- import { c as useDoc, f as useDocumentRBAC, o as useDocLayout, C as COLLECTION_TYPES, D as DocumentStatus, e as contentManagerApi, k as PERMISSIONS, t as getDisplayName, R as RelativeTime, l as DocumentRBAC, J as useDocument, h as useDocumentLayout, p as useGetContentTypeConfigurationQuery, d as buildValidParams } from "./index-DW7xp_LG.mjs";
9
- import pipe from "lodash/fp/pipe";
10
- import { u as useTypedSelector } from "./hooks-E5u1mcgM.mjs";
11
- import { a as useDynamicZone, u as useLazyComponents, b as useFieldHint, N as NotAllowedInput, d as MemoizedUIDInput, e as MemoizedWysiwyg, D as DynamicZone, f as MemoizedComponentInput, g as MemoizedBlocksInput, r as removeFieldsThatDontExistOnSchema, p as prepareTempKeys } from "./Field-BbrX_tUG.mjs";
12
- import { ArrowLeft, WarningCircle } from "@strapi/icons";
13
- import { styled } from "styled-components";
14
- import { g as getRelationLabel } from "./relations-ByHSIjSe.mjs";
15
- const StyledAlert = styled(Alert).attrs({ closeLabel: "Close", onClose: () => {
16
- }, shadow: "none" })`
17
- button {
18
- display: none;
19
- }
20
- `;
21
- const LinkEllipsis = styled(Link)`
22
- display: block;
23
-
24
- & > span {
25
- white-space: nowrap;
26
- overflow: hidden;
27
- text-overflow: ellipsis;
28
- display: block;
29
- }
30
- `;
31
- const CustomRelationInput = (props) => {
32
- const { formatMessage } = useIntl();
33
- const field = useField(props.name);
34
- let formattedFieldValue;
35
- if (field) {
36
- formattedFieldValue = Array.isArray(field.value) ? { results: field.value, meta: { missingCount: 0 } } : field.value;
37
- }
38
- if (!formattedFieldValue || formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0) {
39
- return /* @__PURE__ */ jsxs(Fragment, { children: [
40
- /* @__PURE__ */ jsx(Field.Label, { action: props.labelAction, children: props.label }),
41
- /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(StyledAlert, { variant: "default", children: formatMessage({
42
- id: "content-manager.history.content.no-relations",
43
- defaultMessage: "No relations."
44
- }) }) })
45
- ] });
46
- }
47
- const { results, meta } = formattedFieldValue;
48
- return /* @__PURE__ */ jsxs(Box, { children: [
49
- /* @__PURE__ */ jsx(Field.Label, { children: props.label }),
50
- results.length > 0 && /* @__PURE__ */ jsx(Flex, { direction: "column", gap: 2, marginTop: 1, alignItems: "stretch", children: results.map((relationData) => {
51
- const { targetModel } = props.attribute;
52
- const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;
53
- const label = getRelationLabel(relationData, props.mainField);
54
- const isAdminUserRelation = targetModel === "admin::user";
55
- return /* @__PURE__ */ jsxs(
56
- Flex,
57
- {
58
- paddingTop: 2,
59
- paddingBottom: 2,
60
- paddingLeft: 4,
61
- paddingRight: 4,
62
- hasRadius: true,
63
- borderColor: "neutral200",
64
- background: "neutral150",
65
- justifyContent: "space-between",
66
- children: [
67
- /* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, { label, children: isAdminUserRelation ? /* @__PURE__ */ jsx(Typography, { children: label }) : /* @__PURE__ */ jsx(LinkEllipsis, { tag: NavLink, to: href, children: label }) }) }),
68
- /* @__PURE__ */ jsx(DocumentStatus, { status: relationData.status })
69
- ]
70
- },
71
- relationData.documentId ?? relationData.id
72
- );
73
- }) }),
74
- meta.missingCount > 0 && /* @ts-expect-error – we dont need closeLabel */
75
- /* @__PURE__ */ jsx(
76
- StyledAlert,
77
- {
78
- marginTop: 1,
79
- variant: "warning",
80
- title: formatMessage(
81
- {
82
- id: "content-manager.history.content.missing-relations.title",
83
- defaultMessage: "{number, plural, =1 {Missing relation} other {{number} missing relations}}"
84
- },
85
- { number: meta.missingCount }
86
- ),
87
- children: formatMessage(
88
- {
89
- id: "content-manager.history.content.missing-relations.message",
90
- defaultMessage: "{number, plural, =1 {It has} other {They have}} been deleted and can't be restored."
91
- },
92
- { number: meta.missingCount }
93
- )
94
- }
95
- )
96
- ] });
97
- };
98
- const CustomMediaInput = (props) => {
99
- const { value } = useField(props.name);
100
- const results = value ? value.results : [];
101
- const meta = value ? value.meta : { missingCount: 0 };
102
- const { formatMessage } = useIntl();
103
- const fields = useStrapiApp("CustomMediaInput", (state) => state.fields);
104
- const MediaLibrary = fields.media;
105
- return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, alignItems: "stretch", children: [
106
- /* @__PURE__ */ jsx(Form, { method: "PUT", disabled: true, initialValues: { [props.name]: results }, children: /* @__PURE__ */ jsx(MediaLibrary, { ...props, disabled: true, multiple: results.length > 1 }) }),
107
- meta.missingCount > 0 && /* @__PURE__ */ jsx(
108
- StyledAlert,
109
- {
110
- variant: "warning",
111
- closeLabel: "Close",
112
- onClose: () => {
113
- },
114
- title: formatMessage(
115
- {
116
- id: "content-manager.history.content.missing-assets.title",
117
- defaultMessage: "{number, plural, =1 {Missing asset} other {{number} missing assets}}"
118
- },
119
- { number: meta.missingCount }
120
- ),
121
- children: formatMessage(
122
- {
123
- id: "content-manager.history.content.missing-assets.message",
124
- defaultMessage: "{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored."
125
- },
126
- { number: meta.missingCount }
127
- )
128
- }
129
- )
130
- ] });
131
- };
132
- const getLabelAction = (labelAction) => {
133
- if (!React.isValidElement(labelAction)) {
134
- return labelAction;
135
- }
136
- const labelActionTitleId = labelAction.props.title.id;
137
- if (labelActionTitleId === "i18n.Field.localized") {
138
- return React.cloneElement(labelAction, {
139
- ...labelAction.props,
140
- title: {
141
- id: "history.content.localized",
142
- defaultMessage: "This value is specific to this locale. If you restore this version, the content will not be replaced for other locales."
143
- }
144
- });
145
- }
146
- if (labelActionTitleId === "i18n.Field.not-localized") {
147
- return React.cloneElement(labelAction, {
148
- ...labelAction.props,
149
- title: {
150
- id: "history.content.not-localized",
151
- defaultMessage: "This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales."
152
- }
153
- });
154
- }
155
- return labelAction;
156
- };
157
- const VersionInputRenderer = ({
158
- visible,
159
- hint: providedHint,
160
- shouldIgnoreRBAC = false,
161
- labelAction,
162
- ...props
163
- }) => {
164
- const customLabelAction = getLabelAction(labelAction);
165
- const { formatMessage } = useIntl();
166
- const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
167
- const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
168
- const fieldSizes = useTypedSelector((state) => state["content-manager"].app.fieldSizes);
169
- const { id, components } = useDoc();
170
- const isFormDisabled = useForm("InputRenderer", (state) => state.disabled);
171
- const isInDynamicZone = useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
172
- const canCreateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
173
- const canReadFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
174
- const canUpdateFields = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
175
- const canUserAction = useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
176
- const editableFields = id ? canUpdateFields : canCreateFields;
177
- const readableFields = id ? canReadFields : canCreateFields;
178
- const canUserReadField = canUserAction(props.name, readableFields, props.type);
179
- const canUserEditField = canUserAction(props.name, editableFields, props.type);
180
- const fields = useStrapiApp("InputRenderer", (app) => app.fields);
181
- const { lazyComponentStore } = useLazyComponents(
182
- attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : void 0
183
- );
184
- const hint = useFieldHint(providedHint, props.attribute);
185
- const {
186
- edit: { components: componentsLayout }
187
- } = useDocLayout();
188
- if (!visible) {
189
- return null;
190
- }
191
- if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {
192
- return /* @__PURE__ */ jsx(NotAllowedInput, { hint, ...props });
193
- }
194
- const fieldIsDisabled = !canUserEditField && !isInDynamicZone || props.disabled || isFormDisabled;
195
- const addedAttributes = version.meta.unknownAttributes.added;
196
- if (Object.keys(addedAttributes).includes(props.name)) {
197
- return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", gap: 1, children: [
198
- /* @__PURE__ */ jsx(Field.Label, { children: props.label }),
199
- /* @__PURE__ */ jsx(
200
- StyledAlert,
201
- {
202
- width: "100%",
203
- closeLabel: "Close",
204
- onClose: () => {
205
- },
206
- variant: "warning",
207
- title: formatMessage({
208
- id: "content-manager.history.content.new-field.title",
209
- defaultMessage: "New field"
210
- }),
211
- children: formatMessage({
212
- id: "content-manager.history.content.new-field.message",
213
- defaultMessage: "This field didn't exist when this version was saved. If you restore this version, it will be empty."
214
- })
215
- }
216
- )
217
- ] });
218
- }
219
- if (attributeHasCustomFieldProperty(props.attribute)) {
220
- const CustomInput = lazyComponentStore[props.attribute.customField];
221
- if (CustomInput) {
222
- return /* @__PURE__ */ jsx(
223
- CustomInput,
224
- {
225
- ...props,
226
- hint,
227
- labelAction: customLabelAction,
228
- disabled: fieldIsDisabled
229
- }
230
- );
231
- }
232
- return /* @__PURE__ */ jsx(
233
- InputRenderer,
234
- {
235
- ...props,
236
- hint,
237
- labelAction: customLabelAction,
238
- type: props.attribute.customField,
239
- disabled: fieldIsDisabled
240
- }
241
- );
242
- }
243
- if (props.type === "media") {
244
- return /* @__PURE__ */ jsx(CustomMediaInput, { ...props, labelAction: customLabelAction, disabled: fieldIsDisabled });
245
- }
246
- const addedInputTypes = Object.keys(fields);
247
- if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {
248
- const CustomInput = fields[props.type];
249
- return /* @__PURE__ */ jsx(
250
- CustomInput,
251
- {
252
- ...props,
253
- hint,
254
- labelAction: customLabelAction,
255
- disabled: fieldIsDisabled
256
- }
257
- );
258
- }
259
- switch (props.type) {
260
- case "blocks":
261
- return /* @__PURE__ */ jsx(MemoizedBlocksInput, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
262
- case "component":
263
- const { layout } = componentsLayout[props.attribute.component];
264
- const [remainingFieldsLayout] = getRemaingFieldsLayout({
265
- layout: [layout],
266
- metadatas: configuration.components[props.attribute.component].metadatas,
267
- fieldSizes,
268
- schemaAttributes: components[props.attribute.component].attributes
269
- });
270
- return /* @__PURE__ */ jsx(
271
- MemoizedComponentInput,
272
- {
273
- ...props,
274
- layout: [...layout, ...remainingFieldsLayout || []],
275
- hint,
276
- labelAction: customLabelAction,
277
- disabled: fieldIsDisabled,
278
- children: (inputProps) => /* @__PURE__ */ jsx(VersionInputRenderer, { ...inputProps, shouldIgnoreRBAC: true })
279
- }
280
- );
281
- case "dynamiczone":
282
- return /* @__PURE__ */ jsx(
283
- DynamicZone,
284
- {
285
- ...props,
286
- hint,
287
- labelAction: customLabelAction,
288
- disabled: fieldIsDisabled
289
- }
290
- );
291
- case "relation":
292
- return /* @__PURE__ */ jsx(
293
- CustomRelationInput,
294
- {
295
- ...props,
296
- hint,
297
- labelAction: customLabelAction,
298
- disabled: fieldIsDisabled
299
- }
300
- );
301
- case "richtext":
302
- return /* @__PURE__ */ jsx(
303
- MemoizedWysiwyg,
304
- {
305
- ...props,
306
- hint,
307
- type: props.type,
308
- labelAction: customLabelAction,
309
- disabled: fieldIsDisabled
310
- }
311
- );
312
- case "uid":
313
- return /* @__PURE__ */ jsx(
314
- MemoizedUIDInput,
315
- {
316
- ...props,
317
- hint,
318
- type: props.type,
319
- labelAction: customLabelAction,
320
- disabled: fieldIsDisabled
321
- }
322
- );
323
- case "enumeration":
324
- return /* @__PURE__ */ jsx(
325
- InputRenderer,
326
- {
327
- ...props,
328
- hint,
329
- labelAction: customLabelAction,
330
- options: props.attribute.enum.map((value) => ({ value })),
331
- type: props.customField ? "custom-field" : props.type,
332
- disabled: fieldIsDisabled
333
- }
334
- );
335
- default:
336
- const { unique: _unique, mainField: _mainField, ...restProps } = props;
337
- return /* @__PURE__ */ jsx(
338
- InputRenderer,
339
- {
340
- ...restProps,
341
- hint,
342
- labelAction: customLabelAction,
343
- type: props.customField ? "custom-field" : props.type,
344
- disabled: fieldIsDisabled
345
- }
346
- );
347
- }
348
- };
349
- const attributeHasCustomFieldProperty = (attribute) => "customField" in attribute && typeof attribute.customField === "string";
350
- const createLayoutFromFields = (fields) => {
351
- return fields.reduce((rows, field) => {
352
- if (field.type === "dynamiczone") {
353
- rows.push([field]);
354
- return rows;
355
- }
356
- if (!rows[rows.length - 1]) {
357
- rows.push([]);
358
- }
359
- rows[rows.length - 1].push(field);
360
- return rows;
361
- }, []).map((row) => [row]);
362
- };
363
- function getRemaingFieldsLayout({
364
- layout,
365
- metadatas,
366
- schemaAttributes,
367
- fieldSizes
368
- }) {
369
- const fieldsInLayout = layout.flatMap(
370
- (panel) => panel.flatMap((row) => row.flatMap((field) => field.name))
371
- );
372
- const remainingFields = Object.entries(metadatas).reduce(
373
- (currentRemainingFields, [name, field]) => {
374
- if (!fieldsInLayout.includes(name) && field.edit.visible === true) {
375
- const attribute = schemaAttributes[name];
376
- currentRemainingFields.push({
377
- attribute,
378
- type: attribute.type,
379
- visible: true,
380
- disabled: true,
381
- label: field.edit.label || name,
382
- name,
383
- size: fieldSizes[attribute.type].default ?? 12
384
- });
385
- }
386
- return currentRemainingFields;
387
- },
388
- []
389
- );
390
- return createLayoutFromFields(remainingFields);
391
- }
392
- const FormPanel = ({ panel }) => {
393
- if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
394
- const [row] = panel;
395
- const [field] = row;
396
- return /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: /* @__PURE__ */ jsx(Grid.Item, { col: 12, s: 12, xs: 12, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field }) }) }, field.name);
397
- }
398
- return /* @__PURE__ */ jsx(
399
- Box,
400
- {
401
- hasRadius: true,
402
- background: "neutral0",
403
- shadow: "tableShadow",
404
- paddingLeft: 6,
405
- paddingRight: 6,
406
- paddingTop: 6,
407
- paddingBottom: 6,
408
- borderColor: "neutral150",
409
- children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
410
- return /* @__PURE__ */ jsx(
411
- Grid.Item,
412
- {
413
- col: size,
414
- s: 12,
415
- xs: 12,
416
- direction: "column",
417
- alignItems: "stretch",
418
- children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field })
419
- },
420
- field.name
421
- );
422
- }) }, gridRowIndex)) })
423
- }
424
- );
425
- };
426
- const VersionContent = () => {
427
- const { formatMessage } = useIntl();
428
- const { fieldSizes } = useTypedSelector((state) => state["content-manager"].app);
429
- const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
430
- const layout = useHistoryContext("VersionContent", (state) => state.layout);
431
- const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
432
- const schema = useHistoryContext("VersionContent", (state) => state.schema);
433
- const removedAttributes = version.meta.unknownAttributes.removed;
434
- const removedAttributesAsFields = Object.entries(removedAttributes).map(
435
- ([attributeName, attribute]) => {
436
- const field = {
437
- attribute,
438
- shouldIgnoreRBAC: true,
439
- type: attribute.type,
440
- visible: true,
441
- disabled: true,
442
- label: attributeName,
443
- name: attributeName,
444
- size: fieldSizes[attribute.type].default ?? 12
445
- };
446
- return field;
447
- }
448
- );
449
- const unknownFieldsLayout = createLayoutFromFields(removedAttributesAsFields);
450
- const remainingFieldsLayout = getRemaingFieldsLayout({
451
- metadatas: configuration.contentType.metadatas,
452
- layout,
453
- schemaAttributes: schema.attributes,
454
- fieldSizes
455
- });
456
- const { components } = useDoc();
457
- const transformedData = React.useMemo(() => {
458
- const transform = (schemaAttributes, components2 = {}) => (document) => {
459
- const schema2 = { attributes: schemaAttributes };
460
- const transformations = pipe(
461
- removeFieldsThatDontExistOnSchema(schema2),
462
- prepareTempKeys(schema2, components2)
463
- );
464
- return transformations(document);
465
- };
466
- return transform(version.schema, components)(version.data);
467
- }, [components, version.data, version.schema]);
468
- return /* @__PURE__ */ jsxs(Layouts.Content, { children: [
469
- /* @__PURE__ */ jsx(Box, { paddingBottom: 8, children: /* @__PURE__ */ jsx(Form, { disabled: true, method: "PUT", initialValues: transformedData, children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", children: [...layout, ...remainingFieldsLayout].map((panel, index) => {
470
- return /* @__PURE__ */ jsx(FormPanel, { panel }, index);
471
- }) }) }) }),
472
- removedAttributesAsFields.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
473
- /* @__PURE__ */ jsx(Divider, {}),
474
- /* @__PURE__ */ jsxs(Box, { paddingTop: 8, children: [
475
- /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingBottom: 6, gap: 1, children: [
476
- /* @__PURE__ */ jsx(Typography, { variant: "delta", children: formatMessage({
477
- id: "content-manager.history.content.unknown-fields.title",
478
- defaultMessage: "Unknown fields"
479
- }) }),
480
- /* @__PURE__ */ jsx(Typography, { variant: "pi", children: formatMessage(
481
- {
482
- id: "content-manager.history.content.unknown-fields.message",
483
- defaultMessage: "These fields have been deleted or renamed in the Content-Type Builder. <b>These fields will not be restored.</b>"
484
- },
485
- {
486
- b: (chunks) => /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", children: chunks })
487
- }
488
- ) })
489
- ] }),
490
- /* @__PURE__ */ jsx(Form, { disabled: true, method: "PUT", initialValues: version.data, children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", children: unknownFieldsLayout.map((panel, index) => {
491
- return /* @__PURE__ */ jsx(FormPanel, { panel }, index);
492
- }) }) })
493
- ] })
494
- ] })
495
- ] });
496
- };
497
- const historyVersionsApi = contentManagerApi.injectEndpoints({
498
- endpoints: (builder) => ({
499
- getHistoryVersions: builder.query({
500
- query(params) {
501
- return {
502
- url: `/content-manager/history-versions`,
503
- method: "GET",
504
- config: {
505
- params
506
- }
507
- };
508
- },
509
- providesTags: ["HistoryVersion"]
510
- }),
511
- restoreVersion: builder.mutation({
512
- query({ params, body }) {
513
- return {
514
- url: `/content-manager/history-versions/${params.versionId}/restore`,
515
- method: "PUT",
516
- data: body
517
- };
518
- },
519
- invalidatesTags: (_res, _error, { documentId, collectionType, params }) => {
520
- return [
521
- "HistoryVersion",
522
- {
523
- type: "Document",
524
- id: collectionType === COLLECTION_TYPES ? `${params.contentType}_${documentId}` : params.contentType
525
- }
526
- ];
527
- }
528
- })
529
- })
530
- });
531
- const { useGetHistoryVersionsQuery, useRestoreVersionMutation } = historyVersionsApi;
532
- const VersionHeader = ({ headerId }) => {
533
- const [isConfirmDialogOpen, setIsConfirmDialogOpen] = React.useState(false);
534
- const navigate = useNavigate();
535
- const { formatMessage, formatDate } = useIntl();
536
- const { toggleNotification } = useNotification();
537
- const [{ query }] = useQueryParams();
538
- const { collectionType, slug } = useParams();
539
- const [restoreVersion, { isLoading }] = useRestoreVersionMutation();
540
- const { allowedActions } = useRBAC(PERMISSIONS.map((action) => ({ action, subject: slug })));
541
- const version = useHistoryContext("VersionHeader", (state) => state.selectedVersion);
542
- const mainField = useHistoryContext("VersionHeader", (state) => state.mainField);
543
- const schema = useHistoryContext("VersionHeader", (state) => state.schema);
544
- const isCurrentVersion = useHistoryContext(
545
- "VersionHeader",
546
- (state) => state.page === 1 && state.versions.data[0].id === state.selectedVersion.id
547
- );
548
- const mainFieldValue = version.data[mainField];
549
- const getNextNavigation = () => {
550
- const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
551
- if (collectionType === COLLECTION_TYPES) {
552
- return {
553
- pathname: "..",
554
- search: pluginsQueryParams
555
- };
556
- }
557
- return {
558
- pathname: "..",
559
- search: pluginsQueryParams
560
- };
561
- };
562
- const handleRestore = async () => {
563
- try {
564
- const response = await restoreVersion({
565
- documentId: version.relatedDocumentId,
566
- collectionType,
567
- params: {
568
- versionId: version.id,
569
- contentType: version.contentType
570
- },
571
- body: { contentType: version.contentType }
572
- });
573
- if ("data" in response) {
574
- navigate(getNextNavigation(), { relative: "path" });
575
- toggleNotification({
576
- type: "success",
577
- title: formatMessage({
578
- id: "content-manager.restore.success.title",
579
- defaultMessage: "Version restored."
580
- }),
581
- message: formatMessage({
582
- id: "content-manager.restore.success.message",
583
- defaultMessage: "The content of the restored version is not published yet."
584
- })
585
- });
586
- }
587
- if ("error" in response) {
588
- toggleNotification({
589
- type: "danger",
590
- message: formatMessage({
591
- id: "content-manager.history.restore.error.message",
592
- defaultMessage: "Could not restore version."
593
- })
594
- });
595
- }
596
- } catch (error) {
597
- toggleNotification({
598
- type: "danger",
599
- message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
600
- });
601
- }
602
- };
603
- return /* @__PURE__ */ jsxs(Dialog.Root, { open: isConfirmDialogOpen, onOpenChange: setIsConfirmDialogOpen, children: [
604
- /* @__PURE__ */ jsx(
605
- Layouts.BaseHeader,
606
- {
607
- id: headerId,
608
- title: formatDate(new Date(version.createdAt), {
609
- year: "numeric",
610
- month: "numeric",
611
- day: "numeric",
612
- hour: "numeric",
613
- minute: "numeric"
614
- }),
615
- subtitle: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
616
- {
617
- id: "content-manager.history.version.subtitle",
618
- defaultMessage: "{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}"
619
- },
620
- {
621
- hasLocale: Boolean(version.locale),
622
- subtitle: `${mainFieldValue || ""} (${schema.info.singularName})`.trim(),
623
- locale: version.locale?.name
624
- }
625
- ) }),
626
- navigationAction: /* @__PURE__ */ jsx(
627
- Link,
628
- {
629
- startIcon: /* @__PURE__ */ jsx(ArrowLeft, {}),
630
- tag: NavLink,
631
- to: getNextNavigation(),
632
- relative: "path",
633
- isExternal: false,
634
- children: formatMessage({
635
- id: "global.back",
636
- defaultMessage: "Back"
637
- })
638
- }
639
- ),
640
- sticky: false,
641
- primaryAction: /* @__PURE__ */ jsx(Dialog.Trigger, { children: /* @__PURE__ */ jsx(
642
- Button,
643
- {
644
- disabled: !allowedActions.canUpdate || isCurrentVersion,
645
- onClick: () => {
646
- setIsConfirmDialogOpen(true);
647
- },
648
- children: formatMessage({
649
- id: "content-manager.history.restore.confirm.button",
650
- defaultMessage: "Restore"
651
- })
652
- }
653
- ) })
654
- }
655
- ),
656
- /* @__PURE__ */ jsx(
657
- ConfirmDialog,
658
- {
659
- onConfirm: handleRestore,
660
- endAction: /* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: handleRestore, loading: isLoading, children: formatMessage({
661
- id: "content-manager.history.restore.confirm.button",
662
- defaultMessage: "Restore"
663
- }) }),
664
- children: /* @__PURE__ */ jsxs(
665
- Flex,
666
- {
667
- direction: "column",
668
- alignItems: "center",
669
- justifyContent: "center",
670
- gap: 2,
671
- textAlign: "center",
672
- children: [
673
- /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(WarningCircle, { width: "24px", height: "24px", fill: "danger600" }) }),
674
- /* @__PURE__ */ jsx(Typography, { children: formatMessage({
675
- id: "content-manager.history.restore.confirm.title",
676
- defaultMessage: "Are you sure you want to restore this version?"
677
- }) }),
678
- /* @__PURE__ */ jsx(Typography, { children: formatMessage(
679
- {
680
- id: "content-manager.history.restore.confirm.message",
681
- defaultMessage: "{isDraft, select, true {The restored content will override your draft.} other {The restored content won't be published, it will override the draft and be saved as pending changes. You'll be able to publish the changes at anytime.}}"
682
- },
683
- {
684
- isDraft: version.status === "draft"
685
- }
686
- ) })
687
- ]
688
- }
689
- )
690
- }
691
- )
692
- ] });
693
- };
694
- const BlueText = (children) => /* @__PURE__ */ jsx(Typography, { textColor: "primary600", variant: "pi", children });
695
- const VersionCard = ({ version, isCurrent }) => {
696
- const { formatDate, formatMessage } = useIntl();
697
- const [{ query }] = useQueryParams();
698
- const statusData = (() => {
699
- switch (version.status) {
700
- case "draft":
701
- return {
702
- background: "secondary100",
703
- border: "secondary200",
704
- text: "secondary700",
705
- message: {
706
- id: "content-manager.containers.List.draft",
707
- defaultMessage: "Draft"
708
- }
709
- };
710
- case "modified":
711
- return {
712
- background: "alternative100",
713
- border: "alternative200",
714
- text: "alternative700",
715
- message: {
716
- // TODO: check the translation key once D&P v5 is done
717
- id: "content-manager.containers.List.modified",
718
- defaultMessage: "Modified"
719
- }
720
- };
721
- case "published":
722
- default:
723
- return {
724
- background: "success100",
725
- border: "success200",
726
- text: "success700",
727
- message: {
728
- id: "content-manager.containers.List.published",
729
- defaultMessage: "Published"
730
- }
731
- };
732
- }
733
- })();
734
- const isActive = query.id === version.id.toString();
735
- const author = version.createdBy && getDisplayName(version.createdBy);
736
- return /* @__PURE__ */ jsxs(
737
- Flex,
738
- {
739
- direction: "column",
740
- alignItems: "flex-start",
741
- gap: 3,
742
- hasRadius: true,
743
- borderWidth: "1px",
744
- borderStyle: "solid",
745
- borderColor: isActive ? "primary600" : "neutral200",
746
- color: "neutral800",
747
- padding: 5,
748
- tag: Link$1,
749
- to: `?${stringify({ ...query, id: version.id })}`,
750
- style: { textDecoration: "none" },
751
- children: [
752
- /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 1, alignItems: "flex-start", children: [
753
- /* @__PURE__ */ jsx(Typography, { tag: "h3", fontWeight: "semiBold", children: formatDate(version.createdAt, {
754
- day: "numeric",
755
- month: "numeric",
756
- year: "numeric",
757
- hour: "2-digit",
758
- minute: "2-digit"
759
- }) }),
760
- /* @__PURE__ */ jsx(Typography, { tag: "p", variant: "pi", textColor: "neutral600", children: formatMessage(
761
- {
762
- id: "content-manager.history.sidebar.versionDescription",
763
- defaultMessage: "{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}"
764
- },
765
- {
766
- distanceToNow: /* @__PURE__ */ jsx(RelativeTime, { timestamp: new Date(version.createdAt) }),
767
- author,
768
- isAnonymous: !Boolean(version.createdBy),
769
- isCurrent,
770
- b: BlueText
771
- }
772
- ) })
773
- ] }),
774
- version.status && /* @__PURE__ */ jsx(
775
- Box,
776
- {
777
- background: statusData.background,
778
- borderStyle: "solid",
779
- borderWidth: "1px",
780
- borderColor: statusData.border,
781
- hasRadius: true,
782
- paddingLeft: "6px",
783
- paddingRight: "6px",
784
- paddingTop: "2px",
785
- paddingBottom: "2px",
786
- children: /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", textColor: statusData.text, children: formatMessage(statusData.message) })
787
- }
788
- )
789
- ]
790
- }
791
- );
792
- };
793
- const PaginationButton = ({ page, children }) => {
794
- const [{ query }] = useQueryParams();
795
- const { id: _id, ...queryRest } = query;
796
- return /* @__PURE__ */ jsx(Link$1, { to: { search: stringify({ ...queryRest, page }) }, style: { textDecoration: "none" }, children: /* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "primary600", children }) });
797
- };
798
- const VersionsList = () => {
799
- const { formatMessage } = useIntl();
800
- const { versions, page } = useHistoryContext("VersionsList", (state) => ({
801
- versions: state.versions,
802
- page: state.page
803
- }));
804
- return /* @__PURE__ */ jsxs(
805
- Flex,
806
- {
807
- shrink: 0,
808
- direction: "column",
809
- alignItems: "stretch",
810
- width: "320px",
811
- height: "100vh",
812
- background: "neutral0",
813
- borderColor: "neutral200",
814
- borderWidth: "0 0 0 1px",
815
- borderStyle: "solid",
816
- tag: "aside",
817
- children: [
818
- /* @__PURE__ */ jsxs(
819
- Flex,
820
- {
821
- direction: "row",
822
- justifyContent: "space-between",
823
- padding: 4,
824
- borderColor: "neutral200",
825
- borderWidth: "0 0 1px",
826
- borderStyle: "solid",
827
- tag: "header",
828
- children: [
829
- /* @__PURE__ */ jsx(Typography, { tag: "h2", variant: "omega", fontWeight: "semiBold", children: formatMessage({
830
- id: "content-manager.history.sidebar.title",
831
- defaultMessage: "Versions"
832
- }) }),
833
- /* @__PURE__ */ jsx(Box, { background: "neutral150", hasRadius: true, padding: 1, children: /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", children: versions.meta.pagination.total }) })
834
- ]
835
- }
836
- ),
837
- /* @__PURE__ */ jsxs(Box, { flex: 1, overflow: "auto", children: [
838
- versions.meta.pagination.page > 1 && /* @__PURE__ */ jsx(Box, { paddingTop: 4, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page - 1, children: formatMessage({
839
- id: "content-manager.history.sidebar.show-newer",
840
- defaultMessage: "Show newer versions"
841
- }) }) }),
842
- /* @__PURE__ */ jsx(Flex, { direction: "column", gap: 3, padding: 4, tag: "ul", alignItems: "stretch", children: versions.data.map((version, index) => /* @__PURE__ */ jsx(
843
- "li",
844
- {
845
- "aria-label": formatMessage({
846
- id: "content-manager.history.sidebar.title.version-card.aria-label",
847
- defaultMessage: "Version card"
848
- }),
849
- children: /* @__PURE__ */ jsx(VersionCard, { version, isCurrent: page === 1 && index === 0 })
850
- },
851
- version.id
852
- )) }),
853
- versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsx(Box, { paddingBottom: 4, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page + 1, children: formatMessage({
854
- id: "content-manager.history.sidebar.show-older",
855
- defaultMessage: "Show older versions"
856
- }) }) })
857
- ] })
858
- ]
859
- }
860
- );
861
- };
862
- const [HistoryProvider, useHistoryContext] = createContext("HistoryPage");
863
- const HistoryPage = () => {
864
- const headerId = React.useId();
865
- const { formatMessage } = useIntl();
866
- const {
867
- slug,
868
- id: documentId,
869
- collectionType
870
- } = useParams();
871
- const { isLoading: isLoadingDocument, schema } = useDocument({
872
- collectionType,
873
- model: slug
874
- });
875
- const {
876
- isLoading: isLoadingLayout,
877
- edit: {
878
- layout,
879
- settings: { displayName, mainField }
880
- }
881
- } = useDocumentLayout(slug);
882
- const { data: configuration, isLoading: isLoadingConfiguration } = useGetContentTypeConfigurationQuery(slug);
883
- const [{ query }] = useQueryParams();
884
- const { id: selectedVersionId, ...queryWithoutId } = query;
885
- const validQueryParamsWithoutId = buildValidParams(queryWithoutId);
886
- const page = validQueryParamsWithoutId.page ? Number(validQueryParamsWithoutId.page) : 1;
887
- const versionsResponse = useGetHistoryVersionsQuery(
888
- {
889
- contentType: slug,
890
- ...documentId ? { documentId } : {},
891
- // Omit id since it's not needed by the endpoint and caused extra refetches
892
- ...validQueryParamsWithoutId
893
- },
894
- { refetchOnMountOrArgChange: true }
895
- );
896
- const initialRequestId = React.useRef(versionsResponse.requestId);
897
- const isStaleRequest = versionsResponse.requestId === initialRequestId.current;
898
- if (!slug || collectionType === COLLECTION_TYPES && !documentId) {
899
- return /* @__PURE__ */ jsx(Navigate, { to: "/content-manager" });
900
- }
901
- if (isLoadingDocument || isLoadingLayout || versionsResponse.isFetching || isStaleRequest || isLoadingConfiguration) {
902
- return /* @__PURE__ */ jsx(Page.Loading, {});
903
- }
904
- if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {
905
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
906
- Page.NoData,
907
- {
908
- action: /* @__PURE__ */ jsx(
909
- Link,
910
- {
911
- tag: NavLink,
912
- to: `/content-manager/${collectionType}/${slug}${documentId ? `/${documentId}` : ""}`,
913
- children: formatMessage({
914
- id: "global.back",
915
- defaultMessage: "Back"
916
- })
917
- }
918
- )
919
- }
920
- ) });
921
- }
922
- if (versionsResponse.data?.data?.length && !selectedVersionId) {
923
- return /* @__PURE__ */ jsx(
924
- Navigate,
925
- {
926
- to: { search: stringify({ ...query, id: versionsResponse.data.data[0].id }) },
927
- replace: true
928
- }
929
- );
930
- }
931
- const selectedVersion = versionsResponse.data?.data?.find(
932
- (version) => version.id.toString() === selectedVersionId
933
- );
934
- if (versionsResponse.isError || !layout || !schema || !selectedVersion || !configuration || // This should not happen as it's covered by versionsResponse.isError, but we need it for TS
935
- versionsResponse.data.error) {
936
- return /* @__PURE__ */ jsx(Page.Error, {});
937
- }
938
- return /* @__PURE__ */ jsxs(Fragment, { children: [
939
- /* @__PURE__ */ jsx(Page.Title, { children: formatMessage(
940
- {
941
- id: "content-manager.history.page-title",
942
- defaultMessage: "{contentType} history"
943
- },
944
- {
945
- contentType: displayName
946
- }
947
- ) }),
948
- /* @__PURE__ */ jsx(
949
- HistoryProvider,
950
- {
951
- contentType: slug,
952
- id: documentId,
953
- schema,
954
- layout,
955
- configuration,
956
- selectedVersion,
957
- versions: versionsResponse.data,
958
- page,
959
- mainField,
960
- children: /* @__PURE__ */ jsxs(Flex, { direction: "row", alignItems: "flex-start", children: [
961
- /* @__PURE__ */ jsxs(
962
- Main,
963
- {
964
- grow: 1,
965
- height: "100vh",
966
- background: "neutral100",
967
- paddingBottom: 6,
968
- overflow: "auto",
969
- labelledBy: headerId,
970
- children: [
971
- /* @__PURE__ */ jsx(VersionHeader, { headerId }),
972
- /* @__PURE__ */ jsx(VersionContent, {})
973
- ]
974
- }
975
- ),
976
- /* @__PURE__ */ jsx(VersionsList, {})
977
- ] })
978
- }
979
- )
980
- ] });
981
- };
982
- const ProtectedHistoryPageImpl = () => {
983
- const { slug } = useParams();
984
- const {
985
- permissions = [],
986
- isLoading,
987
- error
988
- } = useRBAC(PERMISSIONS.map((action) => ({ action, subject: slug })));
989
- if (isLoading) {
990
- return /* @__PURE__ */ jsx(Page.Loading, {});
991
- }
992
- if (error || !slug) {
993
- return /* @__PURE__ */ jsx(
994
- Box,
995
- {
996
- height: "100vh",
997
- width: "100vw",
998
- position: "fixed",
999
- top: 0,
1000
- left: 0,
1001
- zIndex: 2,
1002
- background: "neutral0",
1003
- children: /* @__PURE__ */ jsx(Page.Error, {})
1004
- }
1005
- );
1006
- }
1007
- return /* @__PURE__ */ jsx(
1008
- Box,
1009
- {
1010
- height: "100vh",
1011
- width: "100vw",
1012
- position: "fixed",
1013
- top: 0,
1014
- left: 0,
1015
- zIndex: 2,
1016
- background: "neutral0",
1017
- children: /* @__PURE__ */ jsx(Page.Protect, { permissions, children: ({ permissions: permissions2 }) => /* @__PURE__ */ jsx(DocumentRBAC, { permissions: permissions2, children: /* @__PURE__ */ jsx(HistoryPage, {}) }) })
1018
- }
1019
- );
1020
- };
1021
- const ProtectedHistoryPage = () => {
1022
- return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(FocusTrap, { children: /* @__PURE__ */ jsx(ProtectedHistoryPageImpl, {}) }) });
1023
- };
1024
- export {
1025
- HistoryProvider,
1026
- ProtectedHistoryPage,
1027
- useHistoryContext
1028
- };
1029
- //# sourceMappingURL=History-C72HQ0-i.mjs.map