@strapi/content-manager 0.0.0-next.c3eb27c3a05a30387b6b44e15d3661201d54787d → 0.0.0-next.c57731c6e91ae024fa544ad986d80a3c4a489dbf

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 (477) 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-BqvYunl3.js +299 -0
  6. package/dist/admin/chunks/ComponentConfigurationPage-BqvYunl3.js.map +1 -0
  7. package/dist/admin/chunks/ComponentConfigurationPage-C9JWxciR.mjs +277 -0
  8. package/dist/admin/chunks/ComponentConfigurationPage-C9JWxciR.mjs.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-DE_FVPa6.js +181 -0
  14. package/dist/admin/chunks/EditConfigurationPage-DE_FVPa6.js.map +1 -0
  15. package/dist/admin/chunks/EditConfigurationPage-DqBbH_tt.mjs +159 -0
  16. package/dist/admin/chunks/EditConfigurationPage-DqBbH_tt.mjs.map +1 -0
  17. package/dist/admin/chunks/EditViewPage-BPrkSLuI.js +334 -0
  18. package/dist/admin/chunks/EditViewPage-BPrkSLuI.js.map +1 -0
  19. package/dist/admin/chunks/EditViewPage-CxmB65b6.mjs +311 -0
  20. package/dist/admin/chunks/EditViewPage-CxmB65b6.mjs.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-CnU6eQgF.js +978 -0
  26. package/dist/admin/chunks/Form-CnU6eQgF.js.map +1 -0
  27. package/dist/admin/chunks/Form-DBte52Jp.mjs +955 -0
  28. package/dist/admin/chunks/Form-DBte52Jp.mjs.map +1 -0
  29. package/dist/admin/chunks/History-BZnq2Bi2.mjs +1357 -0
  30. package/dist/admin/chunks/History-BZnq2Bi2.mjs.map +1 -0
  31. package/dist/admin/chunks/History-CRk6-vwW.js +1380 -0
  32. package/dist/admin/chunks/History-CRk6-vwW.js.map +1 -0
  33. package/dist/admin/chunks/Input-CoyG0mFB.js +7221 -0
  34. package/dist/admin/chunks/Input-CoyG0mFB.js.map +1 -0
  35. package/dist/admin/chunks/Input-CquZCZx3.mjs +7190 -0
  36. package/dist/admin/chunks/Input-CquZCZx3.mjs.map +1 -0
  37. package/dist/admin/chunks/ListConfigurationPage-CyWNH3Mv.js +819 -0
  38. package/dist/admin/chunks/ListConfigurationPage-CyWNH3Mv.js.map +1 -0
  39. package/dist/admin/chunks/ListConfigurationPage-T4REP8DG.mjs +796 -0
  40. package/dist/admin/chunks/ListConfigurationPage-T4REP8DG.mjs.map +1 -0
  41. package/dist/admin/chunks/ListViewPage-Br5s3p1I.js +1155 -0
  42. package/dist/admin/chunks/ListViewPage-Br5s3p1I.js.map +1 -0
  43. package/dist/admin/chunks/ListViewPage-eJAJfQ91.mjs +1133 -0
  44. package/dist/admin/chunks/ListViewPage-eJAJfQ91.mjs.map +1 -0
  45. package/dist/admin/chunks/NoContentTypePage-BZlQtroN.js +60 -0
  46. package/dist/admin/chunks/NoContentTypePage-BZlQtroN.js.map +1 -0
  47. package/dist/admin/chunks/NoContentTypePage-Ccor5E27.mjs +58 -0
  48. package/dist/admin/chunks/NoContentTypePage-Ccor5E27.mjs.map +1 -0
  49. package/dist/admin/chunks/NoPermissionsPage-BeqSJ6Je.js +39 -0
  50. package/dist/admin/chunks/NoPermissionsPage-BeqSJ6Je.js.map +1 -0
  51. package/dist/admin/chunks/NoPermissionsPage-BpCoaqBJ.mjs +37 -0
  52. package/dist/admin/chunks/NoPermissionsPage-BpCoaqBJ.mjs.map +1 -0
  53. package/dist/admin/chunks/Preview-DYyTSe9I.js +697 -0
  54. package/dist/admin/chunks/Preview-DYyTSe9I.js.map +1 -0
  55. package/dist/admin/chunks/Preview-VVd4rU0x.mjs +675 -0
  56. package/dist/admin/chunks/Preview-VVd4rU0x.mjs.map +1 -0
  57. package/dist/admin/chunks/Relations-CiBR_0b1.mjs +1291 -0
  58. package/dist/admin/chunks/Relations-CiBR_0b1.mjs.map +1 -0
  59. package/dist/admin/chunks/Relations-PF93YcFV.js +1318 -0
  60. package/dist/admin/chunks/Relations-PF93YcFV.js.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-CImiNxXE.mjs +310 -0
  78. package/dist/{_chunks/en-D_BMf0hT.mjs.map → admin/chunks/en-CImiNxXE.mjs.map} +1 -1
  79. package/dist/admin/chunks/en-CLf4SuMQ.js +315 -0
  80. package/dist/{_chunks/en-CHOp_xJv.js.map → admin/chunks/en-CLf4SuMQ.js.map} +1 -1
  81. package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
  82. package/dist/{_chunks/es-9K52xZIr.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-BHqhDq4V.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-Cv0O6gf0.js +5466 -0
  114. package/dist/admin/chunks/index-Cv0O6gf0.js.map +1 -0
  115. package/dist/admin/chunks/index-Dz9dwt8b.mjs +5399 -0
  116. package/dist/admin/chunks/index-Dz9dwt8b.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-D34tqjMw.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-7sfIbjxE.js.map → admin/chunks/ko-k46sEyzt.js.map} +1 -1
  129. package/dist/admin/chunks/layout-CzYR-gGR.js +619 -0
  130. package/dist/admin/chunks/layout-CzYR-gGR.js.map +1 -0
  131. package/dist/admin/chunks/layout-Jq9GIk_m.mjs +599 -0
  132. package/dist/admin/chunks/layout-Jq9GIk_m.mjs.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-CMn4X6LA.js +178 -0
  162. package/dist/admin/chunks/relations-CMn4X6LA.js.map +1 -0
  163. package/dist/admin/chunks/relations-Y5L4AlFb.mjs +173 -0
  164. package/dist/admin/chunks/relations-Y5L4AlFb.mjs.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/uk-CR-zDhAY.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-BtM6WnaE.mjs +313 -0
  190. package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
  191. package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
  192. package/dist/admin/chunks/uk-DB6OgySY.js.map +1 -0
  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/components/InjectionZone.d.ts +7 -1
  218. package/dist/admin/src/content-manager.d.ts +7 -2
  219. package/dist/admin/src/exports.d.ts +1 -0
  220. package/dist/admin/src/history/services/historyVersion.d.ts +2 -2
  221. package/dist/admin/src/hooks/useDocument.d.ts +23 -4
  222. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  223. package/dist/admin/src/index.d.ts +1 -0
  224. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +3 -2
  225. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
  226. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  227. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +55 -0
  228. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
  229. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
  230. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
  231. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  232. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  233. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +29 -1
  234. package/dist/admin/src/pages/EditView/utils/data.d.ts +1 -0
  235. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
  236. package/dist/admin/src/preview/index.d.ts +2 -3
  237. package/dist/admin/src/preview/pages/Preview.d.ts +5 -1
  238. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  239. package/dist/admin/src/services/api.d.ts +1 -1
  240. package/dist/admin/src/services/components.d.ts +2 -2
  241. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  242. package/dist/admin/src/services/documents.d.ts +16 -19
  243. package/dist/admin/src/services/init.d.ts +1 -1
  244. package/dist/admin/src/services/relations.d.ts +2 -2
  245. package/dist/admin/src/services/uid.d.ts +3 -3
  246. package/dist/server/index.js +5461 -4346
  247. package/dist/server/index.js.map +1 -1
  248. package/dist/server/index.mjs +5433 -4315
  249. package/dist/server/index.mjs.map +1 -1
  250. package/dist/server/src/controllers/utils/metadata.d.ts +2 -1
  251. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  252. package/dist/server/src/history/controllers/history-version.d.ts +1 -1
  253. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  254. package/dist/server/src/history/services/history.d.ts +3 -3
  255. package/dist/server/src/history/services/history.d.ts.map +1 -1
  256. package/dist/server/src/history/services/utils.d.ts +6 -10
  257. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  258. package/dist/server/src/index.d.ts +3 -2
  259. package/dist/server/src/index.d.ts.map +1 -1
  260. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  261. package/dist/server/src/preview/index.d.ts.map +1 -1
  262. package/dist/server/src/preview/services/index.d.ts +1 -0
  263. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  264. package/dist/server/src/preview/services/preview-config.d.ts +2 -0
  265. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  266. package/dist/server/src/preview/utils.d.ts +1 -0
  267. package/dist/server/src/preview/utils.d.ts.map +1 -1
  268. package/dist/server/src/register.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 +20 -16
  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-Cr0ttPAZ.js +0 -255
  302. package/dist/_chunks/ComponentConfigurationPage-Cr0ttPAZ.js.map +0 -1
  303. package/dist/_chunks/ComponentConfigurationPage-UGIFDkPO.mjs +0 -236
  304. package/dist/_chunks/ComponentConfigurationPage-UGIFDkPO.mjs.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-7hF4_8yK.mjs +0 -132
  310. package/dist/_chunks/EditConfigurationPage-7hF4_8yK.mjs.map +0 -1
  311. package/dist/_chunks/EditConfigurationPage-Ds3BOL2z.js +0 -151
  312. package/dist/_chunks/EditConfigurationPage-Ds3BOL2z.js.map +0 -1
  313. package/dist/_chunks/EditViewPage-CA98g5_g.mjs +0 -254
  314. package/dist/_chunks/EditViewPage-CA98g5_g.mjs.map +0 -1
  315. package/dist/_chunks/EditViewPage-DoQm9llG.js +0 -273
  316. package/dist/_chunks/EditViewPage-DoQm9llG.js.map +0 -1
  317. package/dist/_chunks/Field-B2C1tq9_.mjs +0 -5583
  318. package/dist/_chunks/Field-B2C1tq9_.mjs.map +0 -1
  319. package/dist/_chunks/Field-CQtLQzHl.js +0 -5615
  320. package/dist/_chunks/Field-CQtLQzHl.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-CxQ2pPjq.mjs +0 -758
  326. package/dist/_chunks/Form-CxQ2pPjq.mjs.map +0 -1
  327. package/dist/_chunks/Form-YQaS3_NH.js +0 -779
  328. package/dist/_chunks/Form-YQaS3_NH.js.map +0 -1
  329. package/dist/_chunks/History-DTYKr2Cg.mjs +0 -1022
  330. package/dist/_chunks/History-DTYKr2Cg.mjs.map +0 -1
  331. package/dist/_chunks/History-DbdpigyF.js +0 -1043
  332. package/dist/_chunks/History-DbdpigyF.js.map +0 -1
  333. package/dist/_chunks/ListConfigurationPage-DQG-j52q.mjs +0 -632
  334. package/dist/_chunks/ListConfigurationPage-DQG-j52q.mjs.map +0 -1
  335. package/dist/_chunks/ListConfigurationPage-DRGhXnUA.js +0 -652
  336. package/dist/_chunks/ListConfigurationPage-DRGhXnUA.js.map +0 -1
  337. package/dist/_chunks/ListViewPage-CVIEfYWN.js +0 -874
  338. package/dist/_chunks/ListViewPage-CVIEfYWN.js.map +0 -1
  339. package/dist/_chunks/ListViewPage-DAekmnvp.mjs +0 -850
  340. package/dist/_chunks/ListViewPage-DAekmnvp.mjs.map +0 -1
  341. package/dist/_chunks/NoContentTypePage-5kwUPeFg.mjs +0 -51
  342. package/dist/_chunks/NoContentTypePage-5kwUPeFg.mjs.map +0 -1
  343. package/dist/_chunks/NoContentTypePage-CTcfA2-Q.js +0 -51
  344. package/dist/_chunks/NoContentTypePage-CTcfA2-Q.js.map +0 -1
  345. package/dist/_chunks/NoPermissionsPage-d-JtEVAw.mjs +0 -23
  346. package/dist/_chunks/NoPermissionsPage-d-JtEVAw.mjs.map +0 -1
  347. package/dist/_chunks/NoPermissionsPage-pVeCVj9a.js +0 -23
  348. package/dist/_chunks/NoPermissionsPage-pVeCVj9a.js.map +0 -1
  349. package/dist/_chunks/Preview-COsm52rZ.js +0 -307
  350. package/dist/_chunks/Preview-COsm52rZ.js.map +0 -1
  351. package/dist/_chunks/Preview-gkmvcwhu.mjs +0 -288
  352. package/dist/_chunks/Preview-gkmvcwhu.mjs.map +0 -1
  353. package/dist/_chunks/Relations-7ItTFWp7.mjs +0 -730
  354. package/dist/_chunks/Relations-7ItTFWp7.mjs.map +0 -1
  355. package/dist/_chunks/Relations-Beo_uDz1.js +0 -750
  356. package/dist/_chunks/Relations-Beo_uDz1.js.map +0 -1
  357. package/dist/_chunks/ar-BUUWXIYu.js +0 -226
  358. package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
  359. package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
  360. package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
  361. package/dist/_chunks/ca-Cmk45QO6.js +0 -201
  362. package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
  363. package/dist/_chunks/cs-CkJy6B2v.js +0 -125
  364. package/dist/_chunks/de-C72KDNOl.mjs +0 -199
  365. package/dist/_chunks/de-CCEmbAah.js +0 -199
  366. package/dist/_chunks/en-CHOp_xJv.js +0 -302
  367. package/dist/_chunks/en-D_BMf0hT.mjs +0 -302
  368. package/dist/_chunks/es-9K52xZIr.js +0 -196
  369. package/dist/_chunks/es-D34tqjMw.mjs +0 -196
  370. package/dist/_chunks/eu-CdALomew.mjs +0 -202
  371. package/dist/_chunks/eu-VDH-3ovk.js +0 -202
  372. package/dist/_chunks/fr--pg5jUbt.mjs +0 -216
  373. package/dist/_chunks/fr--pg5jUbt.mjs.map +0 -1
  374. package/dist/_chunks/fr-B2Kyv8Z9.js +0 -216
  375. package/dist/_chunks/fr-B2Kyv8Z9.js.map +0 -1
  376. package/dist/_chunks/gu-BRmF601H.js +0 -200
  377. package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
  378. package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
  379. package/dist/_chunks/hi-CCJBptSq.js +0 -200
  380. package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
  381. package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
  382. package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
  383. package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
  384. package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
  385. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
  386. package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
  387. package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
  388. package/dist/_chunks/hu-sNV_yLYy.js +0 -202
  389. package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
  390. package/dist/_chunks/id-B5Ser98A.js +0 -160
  391. package/dist/_chunks/id-B5Ser98A.js.map +0 -1
  392. package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
  393. package/dist/_chunks/index-CJX65DLa.js +0 -4189
  394. package/dist/_chunks/index-CJX65DLa.js.map +0 -1
  395. package/dist/_chunks/index-D3IiO0X8.mjs +0 -4169
  396. package/dist/_chunks/index-D3IiO0X8.mjs.map +0 -1
  397. package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
  398. package/dist/_chunks/it-DkBIs7vD.js +0 -162
  399. package/dist/_chunks/ja-7sfIbjxE.js +0 -196
  400. package/dist/_chunks/ja-BHqhDq4V.mjs +0 -196
  401. package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
  402. package/dist/_chunks/ko-woFZPmLk.js +0 -195
  403. package/dist/_chunks/layout-9fI2_QJt.js +0 -489
  404. package/dist/_chunks/layout-9fI2_QJt.js.map +0 -1
  405. package/dist/_chunks/layout-OhrmoJVB.mjs +0 -471
  406. package/dist/_chunks/layout-OhrmoJVB.mjs.map +0 -1
  407. package/dist/_chunks/ml-BihZwQit.mjs +0 -200
  408. package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
  409. package/dist/_chunks/ml-C2W8N8k1.js +0 -200
  410. package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
  411. package/dist/_chunks/ms-BuFotyP_.js +0 -144
  412. package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
  413. package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
  414. package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
  415. package/dist/_chunks/nl-bbEOHChV.js +0 -202
  416. package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
  417. package/dist/_chunks/objects-BcXOv6_9.js +0 -47
  418. package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
  419. package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
  420. package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
  421. package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
  422. package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
  423. package/dist/_chunks/pl-uzwG-hk7.js +0 -199
  424. package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
  425. package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
  426. package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
  427. package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
  428. package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
  429. package/dist/_chunks/pt-CeXQuq50.js +0 -95
  430. package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
  431. package/dist/_chunks/relations-DIT8sP52.js +0 -133
  432. package/dist/_chunks/relations-DIT8sP52.js.map +0 -1
  433. package/dist/_chunks/relations-sRERvWmr.mjs +0 -134
  434. package/dist/_chunks/relations-sRERvWmr.mjs.map +0 -1
  435. package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
  436. package/dist/_chunks/ru-BT3ybNny.js +0 -231
  437. package/dist/_chunks/sa-CcvkYInH.js +0 -200
  438. package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
  439. package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
  440. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
  441. package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
  442. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
  443. package/dist/_chunks/sk-CvY09Xjv.js +0 -202
  444. package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
  445. package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
  446. package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
  447. package/dist/_chunks/sv-MYDuzgvT.js +0 -202
  448. package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
  449. package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
  450. package/dist/_chunks/th-BqbI8lIT.mjs.map +0 -1
  451. package/dist/_chunks/th-D9_GfAjc.js +0 -148
  452. package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
  453. package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
  454. package/dist/_chunks/tr-D9UH-O_R.js +0 -199
  455. package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
  456. package/dist/_chunks/uk-C8EiqJY7.js +0 -144
  457. package/dist/_chunks/uk-C8EiqJY7.js.map +0 -1
  458. package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
  459. package/dist/_chunks/useDebounce-CtcjDB3L.js +0 -28
  460. package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
  461. package/dist/_chunks/useDebounce-DmuSJIF3.mjs +0 -29
  462. package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
  463. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
  464. package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
  465. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
  466. package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
  467. package/dist/_chunks/vi-CJlYDheJ.js +0 -111
  468. package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
  469. package/dist/_chunks/zh-BWZspA60.mjs +0 -209
  470. package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
  471. package/dist/_chunks/zh-CQQfszqR.js +0 -209
  472. package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
  473. package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
  474. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
  475. package/dist/admin/src/preview/constants.d.ts +0 -1
  476. package/dist/server/src/preview/constants.d.ts +0 -2
  477. package/dist/server/src/preview/constants.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Preview-COsm52rZ.js","sources":["../../admin/src/preview/components/PreviewContent.tsx","../../admin/src/preview/components/PreviewHeader.tsx","../../admin/src/preview/pages/Preview.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { usePreviewContext } from '../pages/Preview';\n\nconst PreviewContent = () => {\n const previewUrl = usePreviewContext('PreviewContent', (state) => state.url);\n\n const { formatMessage } = useIntl();\n\n return (\n <Box\n src={previewUrl}\n title={formatMessage({\n id: 'content-manager.preview.panel.title',\n defaultMessage: 'Preview',\n })}\n width=\"100%\"\n height=\"100%\"\n borderWidth={0}\n tag=\"iframe\"\n />\n );\n};\n\nexport { PreviewContent };\n","import * as React from 'react';\n\nimport {\n useClipboard,\n useHistory,\n useNotification,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, type BoxProps, Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\nimport { Link, type To, useNavigate } from 'react-router-dom';\n\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n\n const canGoBack = useHistory('BackButton', (state) => state.canGoBack);\n const goBack = useHistory('BackButton', (state) => state.goBack);\n const history = useHistory('BackButton', (state) => state.history);\n\n const fallbackUrl: To = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n };\n\n const handleClick = (e: React.MouseEvent) => {\n /**\n * Prevent normal link behavior. We only make it an achor for accessibility reasons.\n * The point of this logic is to act as the browser's back button when possible, and to fallback\n * to a link behavior to the edit view when no history is available.\n * */\n e.preventDefault();\n\n if (canGoBack) {\n goBack();\n } else {\n navigate(fallbackUrl);\n }\n };\n\n return (\n <IconButton\n tag={Link}\n to={history.at(-1) ?? fallbackUrl}\n onClick={handleClick}\n label={formatMessage({\n id: 'content-manager.preview.header.close',\n defaultMessage: 'Close preview',\n })}\n >\n <Cross />\n </IconButton>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DocumentStatus\n * -----------------------------------------------------------------------------------------------*/\n\ninterface StatusData {\n background: BoxProps['background'];\n border: BoxProps['borderColor'];\n text: BoxProps['color'];\n message: MessageDescriptor;\n}\n\nconst getStatusData = (status: ReturnType<typeof getDocumentStatus>): StatusData => {\n switch (status) {\n case 'draft':\n return {\n background: 'secondary100',\n border: 'secondary200',\n text: 'secondary700',\n message: {\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n },\n };\n case 'modified':\n return {\n background: 'alternative100',\n border: 'alternative200',\n text: 'alternative700',\n message: {\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n },\n };\n case 'published':\n default:\n return {\n background: 'success100',\n border: 'success200',\n text: 'success700',\n message: {\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n },\n };\n }\n};\n\nconst DocumentStatus = () => {\n const { formatMessage } = useIntl();\n\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n const status = getDocumentStatus(document, meta);\n\n const statusData = getStatusData(status);\n\n if (!hasDraftAndPublished) {\n return null;\n }\n\n /**\n * TODO: Add an XS size to the Status component from the design system so that we can add\n * a variant to the VersionsList component.\n * Then we could reuse it both here and in history's VersionCard component.\n */\n\n return (\n <Box\n background={statusData.background}\n borderStyle=\"solid\"\n borderWidth=\"1px\"\n borderColor={statusData.border}\n hasRadius\n paddingLeft=\"6px\"\n paddingRight=\"6px\"\n paddingTop=\"2px\"\n paddingBottom=\"2px\"\n >\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={statusData.text}>\n {formatMessage(statusData.message)}\n </Typography>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewHeader = () => {\n // Get main field\n const mainField = usePreviewContext('PreviewHeader', (state) => state.mainField);\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const title = document[mainField];\n\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const handleCopyLink = () => {\n copy(window.location.href);\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.preview.copy.success',\n defaultMessage: 'Copied preview link',\n }),\n type: 'success',\n });\n };\n\n return (\n <Flex\n justifyContent=\"space-between\"\n background=\"neutral0\"\n padding={2}\n borderColor=\"neutral150\"\n tag=\"header\"\n >\n <Flex gap={3}>\n <ClosePreviewButton />\n <Typography tag=\"h1\" fontWeight={600} fontSize={2}>\n {title}\n </Typography>\n <DocumentStatus />\n </Flex>\n <IconButton\n type=\"button\"\n label={formatMessage({\n id: 'preview.copy.label',\n defaultMessage: 'Copy preview link',\n })}\n onClick={handleCopyLink}\n >\n <LinkIcon />\n </IconButton>\n </Flex>\n );\n};\n\nexport { PreviewHeader };\n","import * as React from 'react';\n\nimport { Page, useQueryParams, useRBAC, createContext } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, FocusTrap, Portal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { GetPreviewUrl } from '../../../../shared/contracts/preview';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDocument } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { buildValidParams } from '../../utils/api';\nimport { PreviewContent } from '../components/PreviewContent';\nimport { PreviewHeader } from '../components/PreviewHeader';\nimport { useGetPreviewUrlQuery } from '../services/preview';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreviewContextValue {\n url: string;\n mainField: string;\n document: NonNullable<ReturnType<UseDocument>['document']>;\n meta: NonNullable<ReturnType<UseDocument>['meta']>;\n schema: NonNullable<ReturnType<UseDocument>['schema']>;\n}\n\nconst [PreviewProvider, usePreviewContext] = createContext<PreviewContextValue>('PreviewPage');\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewPage = () => {\n const { formatMessage } = useIntl();\n\n // Read all the necessary data from the URL to find the right preview URL\n const {\n slug: model,\n id: documentId,\n collectionType,\n } = useParams<{\n slug: UID.ContentType;\n id: string;\n collectionType: string;\n }>();\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n if (!collectionType) {\n throw new Error('Could not find collectionType in url params');\n }\n\n if (!model) {\n throw new Error('Could not find model in url params');\n }\n\n // Only collection types must have a documentId\n if (collectionType === COLLECTION_TYPES && !documentId) {\n throw new Error('Could not find documentId in url params');\n }\n\n const previewUrlResponse = useGetPreviewUrlQuery({\n params: {\n contentType: model,\n },\n query: {\n documentId,\n locale: params.locale,\n status: params.status as GetPreviewUrl.Request['query']['status'],\n },\n });\n\n const documentResponse = useDocument({\n model,\n collectionType,\n documentId,\n params,\n });\n\n const documentLayoutResponse = useDocumentLayout(model);\n\n if (\n documentResponse.isLoading ||\n previewUrlResponse.isLoading ||\n documentLayoutResponse.isLoading\n ) {\n return <Page.Loading />;\n }\n\n if (\n previewUrlResponse.error ||\n documentLayoutResponse.error ||\n !documentResponse.document ||\n !documentResponse.meta ||\n !documentResponse.schema\n ) {\n return <Page.Error />;\n }\n\n if (!previewUrlResponse.data?.data?.url) {\n return <Page.NoData />;\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n {\n id: 'content-manager.preview.page-title',\n defaultMessage: '{contentType} preview',\n },\n {\n contentType: documentLayoutResponse.edit.settings.displayName,\n }\n )}\n </Page.Title>\n <PreviewProvider\n url={previewUrlResponse.data.data.url}\n mainField={documentLayoutResponse.edit.settings.mainField}\n document={documentResponse.document}\n meta={documentResponse.meta}\n schema={documentResponse.schema}\n >\n <Flex direction=\"column\" height=\"100%\" alignItems={'stretch'}>\n <PreviewHeader />\n <PreviewContent />\n </Flex>\n </PreviewProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedPreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedPreviewPageImpl = () => {\n const { slug: model } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC([{ action: 'plugin::content-manager.explorer.read', subject: model }]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !model) {\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <PreviewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n </Box>\n );\n};\n\nconst ProtectedPreviewPage = () => {\n return (\n <Portal>\n <FocusTrap>\n <ProtectedPreviewPageImpl />\n </FocusTrap>\n </Portal>\n );\n};\n\nexport { ProtectedPreviewPage, usePreviewContext };\n"],"names":["useIntl","jsx","Box","useQueryParams","useNavigate","useHistory","stringify","IconButton","Link","Cross","getDocumentStatus","Typography","useNotification","useClipboard","jsxs","Flex","LinkIcon","createContext","useParams","React","buildValidParams","COLLECTION_TYPES","useGetPreviewUrlQuery","useDocument","useDocumentLayout","Page","Fragment","useRBAC","permissions","DocumentRBAC","Portal","FocusTrap"],"mappings":"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"}
@@ -1,288 +0,0 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { useNotification, useClipboard, useQueryParams, useHistory, createContext, useRBAC, Page } from "@strapi/admin/strapi-admin";
4
- import { Box, Flex, Typography, IconButton, Portal, FocusTrap } from "@strapi/design-system";
5
- import { useIntl } from "react-intl";
6
- import { useNavigate, Link as Link$1, useParams } from "react-router-dom";
7
- import { l as DocumentRBAC, d as buildValidParams, C as COLLECTION_TYPES, K as useGetPreviewUrlQuery, J as useDocument, h as useDocumentLayout } from "./index-D3IiO0X8.mjs";
8
- import { Link, Cross } from "@strapi/icons";
9
- import { stringify } from "qs";
10
- import { getDocumentStatus } from "./EditViewPage-CA98g5_g.mjs";
11
- const PreviewContent = () => {
12
- const previewUrl = usePreviewContext("PreviewContent", (state) => state.url);
13
- const { formatMessage } = useIntl();
14
- return /* @__PURE__ */ jsx(
15
- Box,
16
- {
17
- src: previewUrl,
18
- title: formatMessage({
19
- id: "content-manager.preview.panel.title",
20
- defaultMessage: "Preview"
21
- }),
22
- width: "100%",
23
- height: "100%",
24
- borderWidth: 0,
25
- tag: "iframe"
26
- }
27
- );
28
- };
29
- const ClosePreviewButton = () => {
30
- const [{ query }] = useQueryParams();
31
- const navigate = useNavigate();
32
- const { formatMessage } = useIntl();
33
- const canGoBack = useHistory("BackButton", (state) => state.canGoBack);
34
- const goBack = useHistory("BackButton", (state) => state.goBack);
35
- const history = useHistory("BackButton", (state) => state.history);
36
- const fallbackUrl = {
37
- pathname: "..",
38
- search: stringify(query, { encode: false })
39
- };
40
- const handleClick = (e) => {
41
- e.preventDefault();
42
- if (canGoBack) {
43
- goBack();
44
- } else {
45
- navigate(fallbackUrl);
46
- }
47
- };
48
- return /* @__PURE__ */ jsx(
49
- IconButton,
50
- {
51
- tag: Link$1,
52
- to: history.at(-1) ?? fallbackUrl,
53
- onClick: handleClick,
54
- label: formatMessage({
55
- id: "content-manager.preview.header.close",
56
- defaultMessage: "Close preview"
57
- }),
58
- children: /* @__PURE__ */ jsx(Cross, {})
59
- }
60
- );
61
- };
62
- const getStatusData = (status) => {
63
- switch (status) {
64
- case "draft":
65
- return {
66
- background: "secondary100",
67
- border: "secondary200",
68
- text: "secondary700",
69
- message: {
70
- id: "content-manager.containers.List.draft",
71
- defaultMessage: "Draft"
72
- }
73
- };
74
- case "modified":
75
- return {
76
- background: "alternative100",
77
- border: "alternative200",
78
- text: "alternative700",
79
- message: {
80
- id: "content-manager.containers.List.modified",
81
- defaultMessage: "Modified"
82
- }
83
- };
84
- case "published":
85
- default:
86
- return {
87
- background: "success100",
88
- border: "success200",
89
- text: "success700",
90
- message: {
91
- id: "content-manager.containers.List.published",
92
- defaultMessage: "Published"
93
- }
94
- };
95
- }
96
- };
97
- const DocumentStatus = () => {
98
- const { formatMessage } = useIntl();
99
- const document = usePreviewContext("PreviewHeader", (state) => state.document);
100
- const schema = usePreviewContext("PreviewHeader", (state) => state.schema);
101
- const meta = usePreviewContext("PreviewHeader", (state) => state.meta);
102
- const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;
103
- const status = getDocumentStatus(document, meta);
104
- const statusData = getStatusData(status);
105
- if (!hasDraftAndPublished) {
106
- return null;
107
- }
108
- return /* @__PURE__ */ jsx(
109
- Box,
110
- {
111
- background: statusData.background,
112
- borderStyle: "solid",
113
- borderWidth: "1px",
114
- borderColor: statusData.border,
115
- hasRadius: true,
116
- paddingLeft: "6px",
117
- paddingRight: "6px",
118
- paddingTop: "2px",
119
- paddingBottom: "2px",
120
- children: /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", textColor: statusData.text, children: formatMessage(statusData.message) })
121
- }
122
- );
123
- };
124
- const PreviewHeader = () => {
125
- const mainField = usePreviewContext("PreviewHeader", (state) => state.mainField);
126
- const document = usePreviewContext("PreviewHeader", (state) => state.document);
127
- const title = document[mainField];
128
- const { formatMessage } = useIntl();
129
- const { toggleNotification } = useNotification();
130
- const { copy } = useClipboard();
131
- const handleCopyLink = () => {
132
- copy(window.location.href);
133
- toggleNotification({
134
- message: formatMessage({
135
- id: "content-manager.preview.copy.success",
136
- defaultMessage: "Copied preview link"
137
- }),
138
- type: "success"
139
- });
140
- };
141
- return /* @__PURE__ */ jsxs(
142
- Flex,
143
- {
144
- justifyContent: "space-between",
145
- background: "neutral0",
146
- padding: 2,
147
- borderColor: "neutral150",
148
- tag: "header",
149
- children: [
150
- /* @__PURE__ */ jsxs(Flex, { gap: 3, children: [
151
- /* @__PURE__ */ jsx(ClosePreviewButton, {}),
152
- /* @__PURE__ */ jsx(Typography, { tag: "h1", fontWeight: 600, fontSize: 2, children: title }),
153
- /* @__PURE__ */ jsx(DocumentStatus, {})
154
- ] }),
155
- /* @__PURE__ */ jsx(
156
- IconButton,
157
- {
158
- type: "button",
159
- label: formatMessage({
160
- id: "preview.copy.label",
161
- defaultMessage: "Copy preview link"
162
- }),
163
- onClick: handleCopyLink,
164
- children: /* @__PURE__ */ jsx(Link, {})
165
- }
166
- )
167
- ]
168
- }
169
- );
170
- };
171
- const [PreviewProvider, usePreviewContext] = createContext("PreviewPage");
172
- const PreviewPage = () => {
173
- const { formatMessage } = useIntl();
174
- const {
175
- slug: model,
176
- id: documentId,
177
- collectionType
178
- } = useParams();
179
- const [{ query }] = useQueryParams();
180
- const params = React.useMemo(() => buildValidParams(query), [query]);
181
- if (!collectionType) {
182
- throw new Error("Could not find collectionType in url params");
183
- }
184
- if (!model) {
185
- throw new Error("Could not find model in url params");
186
- }
187
- if (collectionType === COLLECTION_TYPES && !documentId) {
188
- throw new Error("Could not find documentId in url params");
189
- }
190
- const previewUrlResponse = useGetPreviewUrlQuery({
191
- params: {
192
- contentType: model
193
- },
194
- query: {
195
- documentId,
196
- locale: params.locale,
197
- status: params.status
198
- }
199
- });
200
- const documentResponse = useDocument({
201
- model,
202
- collectionType,
203
- documentId,
204
- params
205
- });
206
- const documentLayoutResponse = useDocumentLayout(model);
207
- if (documentResponse.isLoading || previewUrlResponse.isLoading || documentLayoutResponse.isLoading) {
208
- return /* @__PURE__ */ jsx(Page.Loading, {});
209
- }
210
- if (previewUrlResponse.error || documentLayoutResponse.error || !documentResponse.document || !documentResponse.meta || !documentResponse.schema) {
211
- return /* @__PURE__ */ jsx(Page.Error, {});
212
- }
213
- if (!previewUrlResponse.data?.data?.url) {
214
- return /* @__PURE__ */ jsx(Page.NoData, {});
215
- }
216
- return /* @__PURE__ */ jsxs(Fragment, { children: [
217
- /* @__PURE__ */ jsx(Page.Title, { children: formatMessage(
218
- {
219
- id: "content-manager.preview.page-title",
220
- defaultMessage: "{contentType} preview"
221
- },
222
- {
223
- contentType: documentLayoutResponse.edit.settings.displayName
224
- }
225
- ) }),
226
- /* @__PURE__ */ jsx(
227
- PreviewProvider,
228
- {
229
- url: previewUrlResponse.data.data.url,
230
- mainField: documentLayoutResponse.edit.settings.mainField,
231
- document: documentResponse.document,
232
- meta: documentResponse.meta,
233
- schema: documentResponse.schema,
234
- children: /* @__PURE__ */ jsxs(Flex, { direction: "column", height: "100%", alignItems: "stretch", children: [
235
- /* @__PURE__ */ jsx(PreviewHeader, {}),
236
- /* @__PURE__ */ jsx(PreviewContent, {})
237
- ] })
238
- }
239
- )
240
- ] });
241
- };
242
- const ProtectedPreviewPageImpl = () => {
243
- const { slug: model } = useParams();
244
- const {
245
- permissions = [],
246
- isLoading,
247
- error
248
- } = useRBAC([{ action: "plugin::content-manager.explorer.read", subject: model }]);
249
- if (isLoading) {
250
- return /* @__PURE__ */ jsx(Page.Loading, {});
251
- }
252
- if (error || !model) {
253
- return /* @__PURE__ */ jsx(
254
- Box,
255
- {
256
- height: "100vh",
257
- width: "100vw",
258
- position: "fixed",
259
- top: 0,
260
- left: 0,
261
- zIndex: 2,
262
- background: "neutral0",
263
- children: /* @__PURE__ */ jsx(Page.Error, {})
264
- }
265
- );
266
- }
267
- return /* @__PURE__ */ jsx(
268
- Box,
269
- {
270
- height: "100vh",
271
- width: "100vw",
272
- position: "fixed",
273
- top: 0,
274
- left: 0,
275
- zIndex: 2,
276
- background: "neutral0",
277
- children: /* @__PURE__ */ jsx(Page.Protect, { permissions, children: ({ permissions: permissions2 }) => /* @__PURE__ */ jsx(DocumentRBAC, { permissions: permissions2, children: /* @__PURE__ */ jsx(PreviewPage, {}) }) })
278
- }
279
- );
280
- };
281
- const ProtectedPreviewPage = () => {
282
- return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(FocusTrap, { children: /* @__PURE__ */ jsx(ProtectedPreviewPageImpl, {}) }) });
283
- };
284
- export {
285
- ProtectedPreviewPage,
286
- usePreviewContext
287
- };
288
- //# sourceMappingURL=Preview-gkmvcwhu.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Preview-gkmvcwhu.mjs","sources":["../../admin/src/preview/components/PreviewContent.tsx","../../admin/src/preview/components/PreviewHeader.tsx","../../admin/src/preview/pages/Preview.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { usePreviewContext } from '../pages/Preview';\n\nconst PreviewContent = () => {\n const previewUrl = usePreviewContext('PreviewContent', (state) => state.url);\n\n const { formatMessage } = useIntl();\n\n return (\n <Box\n src={previewUrl}\n title={formatMessage({\n id: 'content-manager.preview.panel.title',\n defaultMessage: 'Preview',\n })}\n width=\"100%\"\n height=\"100%\"\n borderWidth={0}\n tag=\"iframe\"\n />\n );\n};\n\nexport { PreviewContent };\n","import * as React from 'react';\n\nimport {\n useClipboard,\n useHistory,\n useNotification,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Box, type BoxProps, Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\nimport { Link, type To, useNavigate } from 'react-router-dom';\n\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams();\n const navigate = useNavigate();\n const { formatMessage } = useIntl();\n\n const canGoBack = useHistory('BackButton', (state) => state.canGoBack);\n const goBack = useHistory('BackButton', (state) => state.goBack);\n const history = useHistory('BackButton', (state) => state.history);\n\n const fallbackUrl: To = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n };\n\n const handleClick = (e: React.MouseEvent) => {\n /**\n * Prevent normal link behavior. We only make it an achor for accessibility reasons.\n * The point of this logic is to act as the browser's back button when possible, and to fallback\n * to a link behavior to the edit view when no history is available.\n * */\n e.preventDefault();\n\n if (canGoBack) {\n goBack();\n } else {\n navigate(fallbackUrl);\n }\n };\n\n return (\n <IconButton\n tag={Link}\n to={history.at(-1) ?? fallbackUrl}\n onClick={handleClick}\n label={formatMessage({\n id: 'content-manager.preview.header.close',\n defaultMessage: 'Close preview',\n })}\n >\n <Cross />\n </IconButton>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DocumentStatus\n * -----------------------------------------------------------------------------------------------*/\n\ninterface StatusData {\n background: BoxProps['background'];\n border: BoxProps['borderColor'];\n text: BoxProps['color'];\n message: MessageDescriptor;\n}\n\nconst getStatusData = (status: ReturnType<typeof getDocumentStatus>): StatusData => {\n switch (status) {\n case 'draft':\n return {\n background: 'secondary100',\n border: 'secondary200',\n text: 'secondary700',\n message: {\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n },\n };\n case 'modified':\n return {\n background: 'alternative100',\n border: 'alternative200',\n text: 'alternative700',\n message: {\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n },\n };\n case 'published':\n default:\n return {\n background: 'success100',\n border: 'success200',\n text: 'success700',\n message: {\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n },\n };\n }\n};\n\nconst DocumentStatus = () => {\n const { formatMessage } = useIntl();\n\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n const status = getDocumentStatus(document, meta);\n\n const statusData = getStatusData(status);\n\n if (!hasDraftAndPublished) {\n return null;\n }\n\n /**\n * TODO: Add an XS size to the Status component from the design system so that we can add\n * a variant to the VersionsList component.\n * Then we could reuse it both here and in history's VersionCard component.\n */\n\n return (\n <Box\n background={statusData.background}\n borderStyle=\"solid\"\n borderWidth=\"1px\"\n borderColor={statusData.border}\n hasRadius\n paddingLeft=\"6px\"\n paddingRight=\"6px\"\n paddingTop=\"2px\"\n paddingBottom=\"2px\"\n >\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={statusData.text}>\n {formatMessage(statusData.message)}\n </Typography>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewHeader = () => {\n // Get main field\n const mainField = usePreviewContext('PreviewHeader', (state) => state.mainField);\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const title = document[mainField];\n\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const handleCopyLink = () => {\n copy(window.location.href);\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.preview.copy.success',\n defaultMessage: 'Copied preview link',\n }),\n type: 'success',\n });\n };\n\n return (\n <Flex\n justifyContent=\"space-between\"\n background=\"neutral0\"\n padding={2}\n borderColor=\"neutral150\"\n tag=\"header\"\n >\n <Flex gap={3}>\n <ClosePreviewButton />\n <Typography tag=\"h1\" fontWeight={600} fontSize={2}>\n {title}\n </Typography>\n <DocumentStatus />\n </Flex>\n <IconButton\n type=\"button\"\n label={formatMessage({\n id: 'preview.copy.label',\n defaultMessage: 'Copy preview link',\n })}\n onClick={handleCopyLink}\n >\n <LinkIcon />\n </IconButton>\n </Flex>\n );\n};\n\nexport { PreviewHeader };\n","import * as React from 'react';\n\nimport { Page, useQueryParams, useRBAC, createContext } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, FocusTrap, Portal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { GetPreviewUrl } from '../../../../shared/contracts/preview';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDocument } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { buildValidParams } from '../../utils/api';\nimport { PreviewContent } from '../components/PreviewContent';\nimport { PreviewHeader } from '../components/PreviewHeader';\nimport { useGetPreviewUrlQuery } from '../services/preview';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreviewContextValue {\n url: string;\n mainField: string;\n document: NonNullable<ReturnType<UseDocument>['document']>;\n meta: NonNullable<ReturnType<UseDocument>['meta']>;\n schema: NonNullable<ReturnType<UseDocument>['schema']>;\n}\n\nconst [PreviewProvider, usePreviewContext] = createContext<PreviewContextValue>('PreviewPage');\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewPage = () => {\n const { formatMessage } = useIntl();\n\n // Read all the necessary data from the URL to find the right preview URL\n const {\n slug: model,\n id: documentId,\n collectionType,\n } = useParams<{\n slug: UID.ContentType;\n id: string;\n collectionType: string;\n }>();\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n if (!collectionType) {\n throw new Error('Could not find collectionType in url params');\n }\n\n if (!model) {\n throw new Error('Could not find model in url params');\n }\n\n // Only collection types must have a documentId\n if (collectionType === COLLECTION_TYPES && !documentId) {\n throw new Error('Could not find documentId in url params');\n }\n\n const previewUrlResponse = useGetPreviewUrlQuery({\n params: {\n contentType: model,\n },\n query: {\n documentId,\n locale: params.locale,\n status: params.status as GetPreviewUrl.Request['query']['status'],\n },\n });\n\n const documentResponse = useDocument({\n model,\n collectionType,\n documentId,\n params,\n });\n\n const documentLayoutResponse = useDocumentLayout(model);\n\n if (\n documentResponse.isLoading ||\n previewUrlResponse.isLoading ||\n documentLayoutResponse.isLoading\n ) {\n return <Page.Loading />;\n }\n\n if (\n previewUrlResponse.error ||\n documentLayoutResponse.error ||\n !documentResponse.document ||\n !documentResponse.meta ||\n !documentResponse.schema\n ) {\n return <Page.Error />;\n }\n\n if (!previewUrlResponse.data?.data?.url) {\n return <Page.NoData />;\n }\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n {\n id: 'content-manager.preview.page-title',\n defaultMessage: '{contentType} preview',\n },\n {\n contentType: documentLayoutResponse.edit.settings.displayName,\n }\n )}\n </Page.Title>\n <PreviewProvider\n url={previewUrlResponse.data.data.url}\n mainField={documentLayoutResponse.edit.settings.mainField}\n document={documentResponse.document}\n meta={documentResponse.meta}\n schema={documentResponse.schema}\n >\n <Flex direction=\"column\" height=\"100%\" alignItems={'stretch'}>\n <PreviewHeader />\n <PreviewContent />\n </Flex>\n </PreviewProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedPreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedPreviewPageImpl = () => {\n const { slug: model } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC([{ action: 'plugin::content-manager.explorer.read', subject: model }]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !model) {\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <PreviewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n </Box>\n );\n};\n\nconst ProtectedPreviewPage = () => {\n return (\n <Portal>\n <FocusTrap>\n <ProtectedPreviewPageImpl />\n </FocusTrap>\n </Portal>\n );\n};\n\nexport { ProtectedPreviewPage, usePreviewContext };\n"],"names":["Link","LinkIcon","permissions"],"mappings":"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"}