@strapi/content-manager 0.0.0-experimental.a4df7ad5ff6a4366442059f7c067a0424ba1e2f9 → 0.0.0-experimental.a576251420eec95c5c06011dcf28202913fc8264

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 (222) hide show
  1. package/dist/admin/chunks/{CardDragPreview-DwuraT0K.js → CardDragPreview-DwuraT0K.mjs} +1 -1
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BcLDueh-.js → ComponentConfigurationPage-BGBNQxFJ.js} +4 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js.map → ComponentConfigurationPage-BGBNQxFJ.js.map} +1 -1
  5. package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js → ComponentConfigurationPage-DKtL-tec.mjs} +9 -8
  6. package/dist/admin/chunks/ComponentConfigurationPage-DKtL-tec.mjs.map +1 -0
  7. package/dist/admin/chunks/{ComponentIcon-BZcTc4rj.js → ComponentIcon-BZcTc4rj.mjs} +1 -1
  8. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
  9. package/dist/admin/chunks/{EditConfigurationPage-D4Oio8m1.js → EditConfigurationPage-KDwSFRyn.mjs} +9 -8
  10. package/dist/admin/chunks/EditConfigurationPage-KDwSFRyn.mjs.map +1 -0
  11. package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js → EditConfigurationPage-yliOxLUv.js} +4 -3
  12. package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js.map → EditConfigurationPage-yliOxLUv.js.map} +1 -1
  13. package/dist/admin/chunks/{EditViewPage-DUYzyJRA.js → EditViewPage-BAI2r49P.mjs} +11 -14
  14. package/dist/admin/chunks/EditViewPage-BAI2r49P.mjs.map +1 -0
  15. package/dist/admin/chunks/{EditViewPage-CzwW9usH.js → EditViewPage-DpvonssD.js} +7 -10
  16. package/dist/admin/chunks/EditViewPage-DpvonssD.js.map +1 -0
  17. package/dist/admin/chunks/{FieldTypeIcon-BY6MrVF4.js → FieldTypeIcon-BY6MrVF4.mjs} +1 -1
  18. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
  19. package/dist/admin/chunks/{Form-BNpDL5sM.js → Form-BrzQyDxU.mjs} +5 -5
  20. package/dist/admin/chunks/Form-BrzQyDxU.mjs.map +1 -0
  21. package/dist/admin/chunks/{Form-BhIYfGuy.js → Form-XD_sf25E.js} +2 -2
  22. package/dist/admin/chunks/{Form-BhIYfGuy.js.map → Form-XD_sf25E.js.map} +1 -1
  23. package/dist/admin/chunks/{History-B8UudJwA.js → History-C-_o7tz8.js} +6 -6
  24. package/dist/admin/chunks/{History-B8UudJwA.js.map → History-C-_o7tz8.js.map} +1 -1
  25. package/dist/admin/chunks/{History-BIB0-AfT.js → History-DClLuGIg.mjs} +11 -11
  26. package/dist/admin/chunks/History-DClLuGIg.mjs.map +1 -0
  27. package/dist/admin/chunks/{Input-B6avNTdM.js → Input-BMLRZBE3.mjs} +755 -320
  28. package/dist/admin/chunks/Input-BMLRZBE3.mjs.map +1 -0
  29. package/dist/admin/chunks/{Input-D7x4QMoZ.js → Input-Bv-rqfYH.js} +748 -313
  30. package/dist/admin/chunks/Input-Bv-rqfYH.js.map +1 -0
  31. package/dist/admin/chunks/{ListConfigurationPage-CqNUcBK5.js → ListConfigurationPage-D66hgG4-.js} +3 -2
  32. package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js.map → ListConfigurationPage-D66hgG4-.js.map} +1 -1
  33. package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js → ListConfigurationPage-Do3UDres.mjs} +8 -7
  34. package/dist/admin/chunks/ListConfigurationPage-Do3UDres.mjs.map +1 -0
  35. package/dist/admin/chunks/{ListViewPage-C2jqACsH.js → ListViewPage-DNvysJaJ.js} +4 -3
  36. package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js.map → ListViewPage-DNvysJaJ.js.map} +1 -1
  37. package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js → ListViewPage-Q0auz5lE.mjs} +6 -5
  38. package/dist/admin/chunks/ListViewPage-Q0auz5lE.mjs.map +1 -0
  39. package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js → NoContentTypePage-B_oOeOQb.mjs} +3 -2
  40. package/dist/admin/chunks/NoContentTypePage-B_oOeOQb.mjs.map +1 -0
  41. package/dist/admin/chunks/{NoContentTypePage-DP8WmGnH.js → NoContentTypePage-C5qFFfgn.js} +3 -2
  42. package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js.map → NoContentTypePage-C5qFFfgn.js.map} +1 -1
  43. package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js → NoPermissionsPage-BAW7WY-M.mjs} +3 -2
  44. package/dist/admin/chunks/NoPermissionsPage-BAW7WY-M.mjs.map +1 -0
  45. package/dist/admin/chunks/{NoPermissionsPage-DdE7dHGN.js → NoPermissionsPage-C9sDJXRu.js} +3 -2
  46. package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js.map → NoPermissionsPage-C9sDJXRu.js.map} +1 -1
  47. package/dist/admin/chunks/Preview-05BZGpV2.mjs +675 -0
  48. package/dist/admin/chunks/Preview-05BZGpV2.mjs.map +1 -0
  49. package/dist/admin/chunks/{Preview-B-Qxu3nw.js → Preview-B6ThL2SA.js} +291 -51
  50. package/dist/admin/chunks/Preview-B6ThL2SA.js.map +1 -0
  51. package/dist/admin/chunks/{Relations-Bc1mVCAn.js → Relations-CJ0GWuqq.js} +469 -4
  52. package/dist/admin/chunks/Relations-CJ0GWuqq.js.map +1 -0
  53. package/dist/admin/chunks/{Relations-BKR-Kn-x.js → Relations-CiOfFNxW.mjs} +471 -7
  54. package/dist/admin/chunks/Relations-CiOfFNxW.mjs.map +1 -0
  55. package/dist/admin/chunks/{ar-DckYq_WK.js → ar-DckYq_WK.mjs} +1 -1
  56. package/dist/admin/chunks/ar-DckYq_WK.mjs.map +1 -0
  57. package/dist/admin/chunks/{ca-DviY7mRj.js → ca-DviY7mRj.mjs} +1 -1
  58. package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
  59. package/dist/admin/chunks/{cs-C7OSYFQ7.js → cs-C7OSYFQ7.mjs} +1 -1
  60. package/dist/admin/chunks/cs-C7OSYFQ7.mjs.map +1 -0
  61. package/dist/admin/chunks/{de-5QRlDHyR.js → de-5QRlDHyR.mjs} +1 -1
  62. package/dist/admin/chunks/de-5QRlDHyR.mjs.map +1 -0
  63. package/dist/admin/chunks/{en-LfhocNG2.js → en-CImiNxXE.mjs} +3 -1
  64. package/dist/admin/chunks/en-CImiNxXE.mjs.map +1 -0
  65. package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
  66. package/dist/admin/chunks/{en-LfhocNG2.js.map → en-CLf4SuMQ.js.map} +1 -1
  67. package/dist/admin/chunks/{es-DkoWSExG.js → es-DkoWSExG.mjs} +1 -1
  68. package/dist/admin/chunks/es-DkoWSExG.mjs.map +1 -0
  69. package/dist/admin/chunks/{eu-BG1xX7HK.js → eu-BG1xX7HK.mjs} +1 -1
  70. package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
  71. package/dist/admin/chunks/{fr-CFdRaRVj.js → fr-CFdRaRVj.mjs} +1 -1
  72. package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
  73. package/dist/admin/chunks/{gu-D5MMMXRs.js → gu-D5MMMXRs.mjs} +1 -1
  74. package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
  75. package/dist/admin/chunks/{hi-lp17SCjr.js → hi-lp17SCjr.mjs} +1 -1
  76. package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
  77. package/dist/admin/chunks/{hooks-DMvik5y_.js → hooks-DMvik5y_.mjs} +1 -1
  78. package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
  79. package/dist/admin/chunks/{hu-CLka1U2C.js → hu-CLka1U2C.mjs} +1 -1
  80. package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
  81. package/dist/admin/chunks/{id-USfY9m1g.js → id-USfY9m1g.mjs} +1 -1
  82. package/dist/admin/chunks/id-USfY9m1g.mjs.map +1 -0
  83. package/dist/admin/chunks/{index-Jhj6SW8H.js → index-CcJLBLNf.mjs} +122 -73
  84. package/dist/admin/chunks/index-CcJLBLNf.mjs.map +1 -0
  85. package/dist/admin/chunks/{index-BERMAQwA.js → index-SQ88CePz.js} +93 -43
  86. package/dist/admin/chunks/index-SQ88CePz.js.map +1 -0
  87. package/dist/admin/chunks/{it-BAHrwmYS.js → it-BAHrwmYS.mjs} +1 -1
  88. package/dist/admin/chunks/it-BAHrwmYS.mjs.map +1 -0
  89. package/dist/admin/chunks/{ja-BWKmBJFT.js → ja-BWKmBJFT.mjs} +1 -1
  90. package/dist/admin/chunks/ja-BWKmBJFT.mjs.map +1 -0
  91. package/dist/admin/chunks/{ko-CgADGBNt.js → ko-CgADGBNt.mjs} +1 -1
  92. package/dist/admin/chunks/ko-CgADGBNt.mjs.map +1 -0
  93. package/dist/admin/chunks/{layout-DYlapjb1.js → layout-4nCaNnTs.mjs} +8 -7
  94. package/dist/admin/chunks/layout-4nCaNnTs.mjs.map +1 -0
  95. package/dist/admin/chunks/{layout-BU6D6F6_.js → layout-xxDnIsHG.js} +5 -4
  96. package/dist/admin/chunks/{layout-DYlapjb1.js.map → layout-xxDnIsHG.js.map} +1 -1
  97. package/dist/admin/chunks/{ml-CnhCfOn_.js → ml-CnhCfOn_.mjs} +1 -1
  98. package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
  99. package/dist/admin/chunks/{ms-Bh09NFff.js → ms-Bh09NFff.mjs} +1 -1
  100. package/dist/admin/chunks/ms-Bh09NFff.mjs.map +1 -0
  101. package/dist/admin/chunks/{nl-C8HYflTc.js → nl-C8HYflTc.mjs} +1 -1
  102. package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
  103. package/dist/admin/chunks/{objects-wl73iEma.js → objects-wl73iEma.mjs} +1 -1
  104. package/dist/admin/chunks/objects-wl73iEma.mjs.map +1 -0
  105. package/dist/admin/chunks/{pl-MFCZJZuZ.js → pl-MFCZJZuZ.mjs} +1 -1
  106. package/dist/admin/chunks/pl-MFCZJZuZ.mjs.map +1 -0
  107. package/dist/admin/chunks/{pt-BR-CcotyBGJ.js → pt-BR-CcotyBGJ.mjs} +1 -1
  108. package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs.map +1 -0
  109. package/dist/admin/chunks/{pt-HbmgeiYO.js → pt-HbmgeiYO.mjs} +1 -1
  110. package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
  111. package/dist/admin/chunks/{relations-BxOJTAJZ.js → relations-D1R7vM_e.mjs} +2 -2
  112. package/dist/admin/chunks/relations-D1R7vM_e.mjs.map +1 -0
  113. package/dist/admin/chunks/{relations-DXceN3I-.js → relations-VlsO9KQZ.js} +2 -2
  114. package/dist/admin/chunks/{relations-DXceN3I-.js.map → relations-VlsO9KQZ.js.map} +1 -1
  115. package/dist/admin/chunks/{ru-CB4BUyQp.js → ru-CB4BUyQp.mjs} +1 -1
  116. package/dist/admin/chunks/{ru-CB4BUyQp.js.map → ru-CB4BUyQp.mjs.map} +1 -1
  117. package/dist/admin/chunks/{sa-n_aPA-pU.js → sa-n_aPA-pU.mjs} +1 -1
  118. package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
  119. package/dist/admin/chunks/{sk-tn_BDjE2.js → sk-tn_BDjE2.mjs} +1 -1
  120. package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
  121. package/dist/admin/chunks/{sv-cq4ZrQRd.js → sv-cq4ZrQRd.mjs} +1 -1
  122. package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
  123. package/dist/admin/chunks/{th-mUH7hEtc.js → th-mUH7hEtc.mjs} +1 -1
  124. package/dist/admin/chunks/th-mUH7hEtc.mjs.map +1 -0
  125. package/dist/admin/chunks/{tr-Yt38daxh.js → tr-Yt38daxh.mjs} +1 -1
  126. package/dist/admin/chunks/tr-Yt38daxh.mjs.map +1 -0
  127. package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
  128. package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
  129. package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
  130. package/dist/admin/chunks/{en-C1CjdAtC.js.map → uk-DB6OgySY.js.map} +1 -1
  131. package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.js → useDragAndDrop-HYwNDExe.mjs} +1 -1
  132. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +1 -0
  133. package/dist/admin/chunks/{usePrev-Bjw2dhmq.js → usePrev-Bjw2dhmq.mjs} +1 -1
  134. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +1 -0
  135. package/dist/admin/chunks/{vi-CvBGlTjr.js → vi-CvBGlTjr.mjs} +1 -1
  136. package/dist/admin/chunks/vi-CvBGlTjr.mjs.map +1 -0
  137. package/dist/admin/chunks/{zh-BmF-sHaT.js → zh-BmF-sHaT.mjs} +1 -1
  138. package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
  139. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js → zh-Hans-CI0HKio3.mjs} +1 -1
  140. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js.map → zh-Hans-CI0HKio3.mjs.map} +1 -1
  141. package/dist/admin/index.js +2 -1
  142. package/dist/admin/index.js.map +1 -1
  143. package/dist/admin/index.mjs +2 -1
  144. package/dist/admin/index.mjs.map +1 -1
  145. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  146. package/dist/admin/src/content-manager.d.ts +4 -0
  147. package/dist/admin/src/hooks/useDocument.d.ts +2 -0
  148. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  149. package/dist/admin/src/index.d.ts +1 -0
  150. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  151. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  152. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +49 -1
  153. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  154. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  155. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +2 -1
  156. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
  157. package/dist/admin/src/preview/pages/Preview.d.ts +4 -0
  158. package/dist/server/index.js +1 -1
  159. package/dist/server/index.js.map +1 -1
  160. package/dist/server/index.mjs +1 -1
  161. package/dist/server/index.mjs.map +1 -1
  162. package/package.json +8 -8
  163. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
  164. package/dist/admin/chunks/ComponentConfigurationPage-BcLDueh-.js.map +0 -1
  165. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
  166. package/dist/admin/chunks/EditConfigurationPage-D4Oio8m1.js.map +0 -1
  167. package/dist/admin/chunks/EditViewPage-CzwW9usH.js.map +0 -1
  168. package/dist/admin/chunks/EditViewPage-DUYzyJRA.js.map +0 -1
  169. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
  170. package/dist/admin/chunks/Form-BNpDL5sM.js.map +0 -1
  171. package/dist/admin/chunks/History-BIB0-AfT.js.map +0 -1
  172. package/dist/admin/chunks/Input-B6avNTdM.js.map +0 -1
  173. package/dist/admin/chunks/Input-D7x4QMoZ.js.map +0 -1
  174. package/dist/admin/chunks/ListConfigurationPage-CqNUcBK5.js.map +0 -1
  175. package/dist/admin/chunks/ListViewPage-C2jqACsH.js.map +0 -1
  176. package/dist/admin/chunks/NoContentTypePage-DP8WmGnH.js.map +0 -1
  177. package/dist/admin/chunks/NoPermissionsPage-DdE7dHGN.js.map +0 -1
  178. package/dist/admin/chunks/Preview-B-Qxu3nw.js.map +0 -1
  179. package/dist/admin/chunks/Preview-DF_PNpvE.js +0 -435
  180. package/dist/admin/chunks/Preview-DF_PNpvE.js.map +0 -1
  181. package/dist/admin/chunks/Relations-BKR-Kn-x.js.map +0 -1
  182. package/dist/admin/chunks/Relations-Bc1mVCAn.js.map +0 -1
  183. package/dist/admin/chunks/ar-DckYq_WK.js.map +0 -1
  184. package/dist/admin/chunks/ca-DviY7mRj.js.map +0 -1
  185. package/dist/admin/chunks/cs-C7OSYFQ7.js.map +0 -1
  186. package/dist/admin/chunks/de-5QRlDHyR.js.map +0 -1
  187. package/dist/admin/chunks/es-DkoWSExG.js.map +0 -1
  188. package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
  189. package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
  190. package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
  191. package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
  192. package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
  193. package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
  194. package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
  195. package/dist/admin/chunks/index-BERMAQwA.js.map +0 -1
  196. package/dist/admin/chunks/index-Jhj6SW8H.js.map +0 -1
  197. package/dist/admin/chunks/it-BAHrwmYS.js.map +0 -1
  198. package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
  199. package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
  200. package/dist/admin/chunks/layout-BU6D6F6_.js.map +0 -1
  201. package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
  202. package/dist/admin/chunks/ms-Bh09NFff.js.map +0 -1
  203. package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
  204. package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
  205. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
  206. package/dist/admin/chunks/pt-BR-CcotyBGJ.js.map +0 -1
  207. package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
  208. package/dist/admin/chunks/relations-BxOJTAJZ.js.map +0 -1
  209. package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
  210. package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
  211. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
  212. package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
  213. package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
  214. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  215. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  216. package/dist/admin/chunks/uk-Cpgmm7gE.js +0 -140
  217. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
  218. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
  219. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
  220. package/dist/admin/chunks/vi-CvBGlTjr.js.map +0 -1
  221. package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
  222. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -49
@@ -0,0 +1,675 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useStrapiApp, useQueryParams, useNotification, useClipboard, DescriptionComponentRenderer, useHistory, createContext, useRBAC, Page, Form } from '@strapi/admin/strapi-admin';
4
+ import { Box, Typography, Tabs, Flex, IconButton, Grid, Portal, FocusTrap } from '@strapi/design-system';
5
+ import { Link, Cross, ArrowLineLeft } from '@strapi/icons';
6
+ import { useIntl } from 'react-intl';
7
+ import { Link as Link$1, useParams, useLocation } from 'react-router-dom';
8
+ import { styled } from 'styled-components';
9
+ import { I as InjectionZone, N as DocumentActionButton, D as DocumentStatus, l as DocumentRBAC, d as buildValidParams, C as COLLECTION_TYPES, O as useGetPreviewUrlQuery, M as useDocument, h as useDocumentLayout, i as createYupSchema } from './index-CcJLBLNf.mjs';
10
+ import { F as FormLayout } from './Input-BMLRZBE3.mjs';
11
+ import { stringify } from 'qs';
12
+ import { getDocumentStatus } from './EditViewPage-BAI2r49P.mjs';
13
+ import 'lodash/fp/mapValues';
14
+ import 'yup';
15
+ import 'fractional-indexing';
16
+ import 'lodash/fp/pipe';
17
+ import 'date-fns';
18
+ import '@reduxjs/toolkit';
19
+ import 'prismjs';
20
+ import 'slate';
21
+ import 'slate-history';
22
+ import 'slate-react';
23
+ import 'prismjs/themes/prism-solarizedlight.css';
24
+ import 'prismjs/components/prism-asmatmel';
25
+ import 'prismjs/components/prism-bash';
26
+ import 'prismjs/components/prism-basic';
27
+ import 'prismjs/components/prism-c';
28
+ import 'prismjs/components/prism-clojure';
29
+ import 'prismjs/components/prism-cobol';
30
+ import 'prismjs/components/prism-cpp';
31
+ import 'prismjs/components/prism-csharp';
32
+ import 'prismjs/components/prism-dart';
33
+ import 'prismjs/components/prism-docker';
34
+ import 'prismjs/components/prism-elixir';
35
+ import 'prismjs/components/prism-erlang';
36
+ import 'prismjs/components/prism-fortran';
37
+ import 'prismjs/components/prism-fsharp';
38
+ import 'prismjs/components/prism-go';
39
+ import 'prismjs/components/prism-graphql';
40
+ import 'prismjs/components/prism-groovy';
41
+ import 'prismjs/components/prism-haskell';
42
+ import 'prismjs/components/prism-haxe';
43
+ import 'prismjs/components/prism-ini';
44
+ import 'prismjs/components/prism-java';
45
+ import 'prismjs/components/prism-javascript';
46
+ import 'prismjs/components/prism-jsx';
47
+ import 'prismjs/components/prism-json';
48
+ import 'prismjs/components/prism-julia';
49
+ import 'prismjs/components/prism-kotlin';
50
+ import 'prismjs/components/prism-latex';
51
+ import 'prismjs/components/prism-lua';
52
+ import 'prismjs/components/prism-markdown';
53
+ import 'prismjs/components/prism-matlab';
54
+ import 'prismjs/components/prism-makefile';
55
+ import 'prismjs/components/prism-objectivec';
56
+ import 'prismjs/components/prism-perl';
57
+ import 'prismjs/components/prism-php';
58
+ import 'prismjs/components/prism-powershell';
59
+ import 'prismjs/components/prism-python';
60
+ import 'prismjs/components/prism-r';
61
+ import 'prismjs/components/prism-ruby';
62
+ import 'prismjs/components/prism-rust';
63
+ import 'prismjs/components/prism-sas';
64
+ import 'prismjs/components/prism-scala';
65
+ import 'prismjs/components/prism-scheme';
66
+ import 'prismjs/components/prism-sql';
67
+ import 'prismjs/components/prism-stata';
68
+ import 'prismjs/components/prism-swift';
69
+ import 'prismjs/components/prism-typescript';
70
+ import 'prismjs/components/prism-tsx';
71
+ import 'prismjs/components/prism-vbnet';
72
+ import 'prismjs/components/prism-yaml';
73
+ import './usePrev-Bjw2dhmq.mjs';
74
+ import './useDragAndDrop-HYwNDExe.mjs';
75
+ import 'react-dnd';
76
+ import '@radix-ui/react-toolbar';
77
+ import 'react-dnd-html5-backend';
78
+ import './objects-wl73iEma.mjs';
79
+ import 'lodash/clone';
80
+ import 'lodash/toPath';
81
+ import './Relations-CiOfFNxW.mjs';
82
+ import 'react-window';
83
+ import './relations-D1R7vM_e.mjs';
84
+ import './ComponentIcon-BZcTc4rj.mjs';
85
+ import '@strapi/icons/symbols';
86
+ import 'codemirror5';
87
+ import 'sanitize-html';
88
+ import 'highlight.js';
89
+ import 'markdown-it';
90
+ import 'markdown-it-abbr';
91
+ import 'markdown-it-container';
92
+ import 'markdown-it-deflist';
93
+ import 'markdown-it-emoji';
94
+ import 'markdown-it-footnote';
95
+ import 'markdown-it-ins';
96
+ import 'markdown-it-mark';
97
+ import 'markdown-it-sub';
98
+ import 'markdown-it-sup';
99
+ import 'highlight.js/styles/solarized-dark.css';
100
+ import 'codemirror5/addon/display/placeholder';
101
+
102
+ const PreviewContent = ()=>{
103
+ const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
104
+ const { formatMessage } = useIntl();
105
+ return /*#__PURE__*/ jsx(Box, {
106
+ src: previewUrl,
107
+ title: formatMessage({
108
+ id: 'content-manager.preview.panel.title',
109
+ defaultMessage: 'Preview'
110
+ }),
111
+ width: "100%",
112
+ height: "100%",
113
+ borderWidth: 0,
114
+ tag: "iframe"
115
+ }, previewUrl);
116
+ };
117
+
118
+ /* -------------------------------------------------------------------------------------------------
119
+ * ClosePreviewButton
120
+ * -----------------------------------------------------------------------------------------------*/ const ClosePreviewButton = ()=>{
121
+ const [{ query }] = useQueryParams();
122
+ const { formatMessage } = useIntl();
123
+ const canGoBack = useHistory('BackButton', (state)=>state.canGoBack);
124
+ const goBack = useHistory('BackButton', (state)=>state.goBack);
125
+ const history = useHistory('BackButton', (state)=>state.history);
126
+ const locationIndex = useHistory('BackButton', (state)=>state.currentLocationIndex);
127
+ /**
128
+ * Get the link destination from the history.
129
+ * Rely on a fallback (the parent edit view page) if there's no page to go back .
130
+ */ const historyTo = canGoBack ? history.at(locationIndex - 2) : undefined;
131
+ const fallback = {
132
+ pathname: '..',
133
+ search: stringify(query, {
134
+ encode: false
135
+ })
136
+ };
137
+ const toWithFallback = historyTo ?? fallback;
138
+ const handleClick = (e)=>{
139
+ if (canGoBack) {
140
+ // Prevent normal link behavior, go back in the history stack instead
141
+ e.preventDefault();
142
+ goBack();
143
+ return;
144
+ }
145
+ // Otherwise rely on native link behavior to go back to the edit view. We don't use navigate()
146
+ // here in order to get the relative="path" functionality from the Link component.
147
+ };
148
+ return /*#__PURE__*/ jsx(IconButton, {
149
+ variant: "ghost",
150
+ tag: Link$1,
151
+ relative: "path",
152
+ to: toWithFallback,
153
+ onClick: handleClick,
154
+ label: formatMessage({
155
+ id: 'content-manager.preview.header.close',
156
+ defaultMessage: 'Close preview'
157
+ }),
158
+ children: /*#__PURE__*/ jsx(Cross, {})
159
+ });
160
+ };
161
+ /* -------------------------------------------------------------------------------------------------
162
+ * Status
163
+ * -----------------------------------------------------------------------------------------------*/ const Status = ()=>{
164
+ // Get status
165
+ const document = usePreviewContext('PreviewHeader', (state)=>state.document);
166
+ const schema = usePreviewContext('PreviewHeader', (state)=>state.schema);
167
+ const meta = usePreviewContext('PreviewHeader', (state)=>state.meta);
168
+ const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;
169
+ if (!hasDraftAndPublished) {
170
+ return null;
171
+ }
172
+ const status = getDocumentStatus(document, meta);
173
+ return /*#__PURE__*/ jsx(DocumentStatus, {
174
+ status: status,
175
+ size: "XS"
176
+ });
177
+ };
178
+ const PreviewTabs = ()=>{
179
+ const { formatMessage } = useIntl();
180
+ // URL query params
181
+ const [{ query }, setQuery] = useQueryParams();
182
+ // Get status
183
+ const document = usePreviewContext('PreviewHeader', (state)=>state.document);
184
+ const schema = usePreviewContext('PreviewHeader', (state)=>state.schema);
185
+ const meta = usePreviewContext('PreviewHeader', (state)=>state.meta);
186
+ const hasDraftAndPublish = schema?.options?.draftAndPublish ?? false;
187
+ const documentStatus = getDocumentStatus(document, meta);
188
+ const handleTabChange = (status)=>{
189
+ if (status === 'published' || status === 'draft') {
190
+ setQuery({
191
+ status
192
+ }, 'push', true);
193
+ }
194
+ };
195
+ if (!hasDraftAndPublish) {
196
+ return null;
197
+ }
198
+ return /*#__PURE__*/ jsx(Tabs.Root, {
199
+ variant: "simple",
200
+ value: query.status || 'draft',
201
+ onValueChange: handleTabChange,
202
+ children: /*#__PURE__*/ jsxs(Tabs.List, {
203
+ "aria-label": formatMessage({
204
+ id: 'preview.tabs.label',
205
+ defaultMessage: 'Document status'
206
+ }),
207
+ children: [
208
+ /*#__PURE__*/ jsx(StatusTab, {
209
+ value: "draft",
210
+ children: formatMessage({
211
+ id: 'content-manager.containers.List.draft',
212
+ defaultMessage: 'draft'
213
+ })
214
+ }),
215
+ /*#__PURE__*/ jsx(StatusTab, {
216
+ value: "published",
217
+ disabled: documentStatus === 'draft',
218
+ children: formatMessage({
219
+ id: 'content-manager.containers.List.published',
220
+ defaultMessage: 'published'
221
+ })
222
+ })
223
+ ]
224
+ })
225
+ });
226
+ };
227
+ /* -------------------------------------------------------------------------------------------------
228
+ * PreviewHeader
229
+ * -----------------------------------------------------------------------------------------------*/ const UnstablePreviewHeader = ()=>{
230
+ const title = usePreviewContext('PreviewHeader', (state)=>state.title);
231
+ const document = usePreviewContext('PreviewHeader', (state)=>state.document);
232
+ const schema = usePreviewContext('PreviewHeader', (state)=>state.schema);
233
+ const meta = usePreviewContext('PreviewHeader', (state)=>state.meta);
234
+ const plugins = useStrapiApp('PreviewHeader', (state)=>state.plugins);
235
+ const iframeRef = usePreviewContext('PreviewHeader', (state)=>state.iframeRef);
236
+ const [{ query }] = useQueryParams();
237
+ const { formatMessage } = useIntl();
238
+ const { toggleNotification } = useNotification();
239
+ const { copy } = useClipboard();
240
+ const handleCopyLink = ()=>{
241
+ copy(window.location.href);
242
+ toggleNotification({
243
+ message: formatMessage({
244
+ id: 'content-manager.preview.copy.success',
245
+ defaultMessage: 'Copied preview link'
246
+ }),
247
+ type: 'success'
248
+ });
249
+ };
250
+ const hasDraftAndPublish = schema.options?.draftAndPublish ?? false;
251
+ const documentActionProps = {
252
+ activeTab: query.status ?? null,
253
+ collectionType: schema.kind === 'collectionType' ? 'collection-types' : 'single-types',
254
+ model: schema.uid,
255
+ documentId: document.documentId,
256
+ document,
257
+ meta,
258
+ onPreview: ()=>{
259
+ iframeRef?.current?.contentWindow?.postMessage({
260
+ type: 'strapiUpdate'
261
+ }, // The iframe origin is safe to use since it must be provided through the allowedOrigins config
262
+ new URL(iframeRef.current.src).origin);
263
+ }
264
+ };
265
+ return /*#__PURE__*/ jsxs(Flex, {
266
+ height: "48px",
267
+ gap: 4,
268
+ background: "neutral0",
269
+ borderColor: "neutral150",
270
+ tag: "header",
271
+ children: [
272
+ /*#__PURE__*/ jsxs(TitleContainer, {
273
+ height: "100%",
274
+ paddingLeft: 2,
275
+ paddingRight: 4,
276
+ children: [
277
+ /*#__PURE__*/ jsx(ClosePreviewButton, {}),
278
+ /*#__PURE__*/ jsx(PreviewTitle, {
279
+ tag: "h1",
280
+ title: title,
281
+ maxWidth: "200px",
282
+ fontSize: 2,
283
+ paddingLeft: 2,
284
+ paddingRight: 3,
285
+ fontWeight: 600,
286
+ children: title
287
+ }),
288
+ /*#__PURE__*/ jsx(Status, {})
289
+ ]
290
+ }),
291
+ /*#__PURE__*/ jsxs(Flex, {
292
+ flex: 1,
293
+ paddingRight: 2,
294
+ gap: 2,
295
+ justifyContent: hasDraftAndPublish ? 'space-between' : 'flex-end',
296
+ children: [
297
+ /*#__PURE__*/ jsx(Flex, {
298
+ flex: "1 1 70%",
299
+ children: /*#__PURE__*/ jsx(PreviewTabs, {})
300
+ }),
301
+ /*#__PURE__*/ jsxs(Flex, {
302
+ gap: 2,
303
+ children: [
304
+ /*#__PURE__*/ jsx(IconButton, {
305
+ type: "button",
306
+ label: formatMessage({
307
+ id: 'preview.copy.label',
308
+ defaultMessage: 'Copy preview link'
309
+ }),
310
+ onClick: handleCopyLink,
311
+ children: /*#__PURE__*/ jsx(Link, {})
312
+ }),
313
+ /*#__PURE__*/ jsx(InjectionZone, {
314
+ area: "preview.actions"
315
+ }),
316
+ /*#__PURE__*/ jsx(DescriptionComponentRenderer, {
317
+ props: documentActionProps,
318
+ descriptions: plugins['content-manager'].apis.getDocumentActions('preview'),
319
+ children: (actions)=>{
320
+ const filteredActions = actions.filter((action)=>[
321
+ action.position
322
+ ].flat().includes('preview'));
323
+ const [primaryAction, secondaryAction] = filteredActions;
324
+ if (!primaryAction && !secondaryAction) return null;
325
+ // Both actions are available when draft and publish enabled
326
+ if (primaryAction && secondaryAction) {
327
+ return /*#__PURE__*/ jsxs(Fragment, {
328
+ children: [
329
+ /*#__PURE__*/ jsx(DocumentActionButton, {
330
+ ...secondaryAction,
331
+ variant: secondaryAction.variant || 'secondary'
332
+ }),
333
+ /*#__PURE__*/ jsx(DocumentActionButton, {
334
+ ...primaryAction,
335
+ variant: primaryAction.variant || 'default'
336
+ })
337
+ ]
338
+ });
339
+ }
340
+ // Otherwise we just have the save action
341
+ return /*#__PURE__*/ jsx(DocumentActionButton, {
342
+ ...primaryAction,
343
+ variant: primaryAction.variant || 'secondary'
344
+ });
345
+ }
346
+ })
347
+ ]
348
+ })
349
+ ]
350
+ })
351
+ ]
352
+ });
353
+ };
354
+ const PreviewHeader = ()=>{
355
+ // Get the document title
356
+ const title = usePreviewContext('PreviewHeader', (state)=>state.title);
357
+ const { formatMessage } = useIntl();
358
+ const { toggleNotification } = useNotification();
359
+ const { copy } = useClipboard();
360
+ const handleCopyLink = ()=>{
361
+ copy(window.location.href);
362
+ toggleNotification({
363
+ message: formatMessage({
364
+ id: 'content-manager.preview.copy.success',
365
+ defaultMessage: 'Copied preview link'
366
+ }),
367
+ type: 'success'
368
+ });
369
+ };
370
+ return /*#__PURE__*/ jsxs(Grid.Root, {
371
+ gap: 3,
372
+ gridCols: 3,
373
+ paddingLeft: 2,
374
+ paddingRight: 2,
375
+ background: "neutral0",
376
+ borderColor: "neutral150",
377
+ tag: "header",
378
+ children: [
379
+ /*#__PURE__*/ jsxs(Grid.Item, {
380
+ xs: 1,
381
+ paddingTop: 2,
382
+ paddingBottom: 2,
383
+ gap: 3,
384
+ children: [
385
+ /*#__PURE__*/ jsx(ClosePreviewButton, {}),
386
+ /*#__PURE__*/ jsx(PreviewTitle, {
387
+ tag: "h1",
388
+ fontWeight: 600,
389
+ fontSize: 2,
390
+ maxWidth: "200px",
391
+ title: title,
392
+ children: title
393
+ }),
394
+ /*#__PURE__*/ jsx(Status, {})
395
+ ]
396
+ }),
397
+ /*#__PURE__*/ jsx(Grid.Item, {
398
+ xs: 1,
399
+ marginBottom: "-1px",
400
+ alignItems: "end",
401
+ margin: "auto",
402
+ children: /*#__PURE__*/ jsx(PreviewTabs, {})
403
+ }),
404
+ /*#__PURE__*/ jsx(Grid.Item, {
405
+ xs: 1,
406
+ justifyContent: "end",
407
+ paddingTop: 2,
408
+ paddingBottom: 2,
409
+ children: /*#__PURE__*/ jsx(IconButton, {
410
+ type: "button",
411
+ label: formatMessage({
412
+ id: 'preview.copy.label',
413
+ defaultMessage: 'Copy preview link'
414
+ }),
415
+ onClick: handleCopyLink,
416
+ children: /*#__PURE__*/ jsx(Link, {})
417
+ })
418
+ })
419
+ ]
420
+ });
421
+ };
422
+ const PreviewTitle = styled(Typography)`
423
+ overflow: hidden;
424
+ text-overflow: ellipsis;
425
+ white-space: nowrap;
426
+ `;
427
+ const StatusTab = styled(Tabs.Trigger)`
428
+ text-transform: uppercase;
429
+ `;
430
+ const TitleContainer = styled(Flex)`
431
+ border-right: 1px solid ${({ theme })=>theme.colors.neutral150};
432
+ `;
433
+
434
+ const [PreviewProvider, usePreviewContext] = createContext('PreviewPage');
435
+ /* -------------------------------------------------------------------------------------------------
436
+ * PreviewPage
437
+ * -----------------------------------------------------------------------------------------------*/ const AnimatedArrow = styled(ArrowLineLeft)`
438
+ will-change: transform;
439
+ rotate: ${(props)=>props.isSideEditorOpen ? '0deg' : '180deg'};
440
+ transition: rotate 0.2s ease-in-out;
441
+ `;
442
+ const PreviewPage = ()=>{
443
+ const location = useLocation();
444
+ const { formatMessage } = useIntl();
445
+ const iframeRef = React.useRef(null);
446
+ const [isSideEditorOpen, setIsSideEditorOpen] = React.useState(true);
447
+ // Read all the necessary data from the URL to find the right preview URL
448
+ const { slug: model, id: documentId, collectionType } = useParams();
449
+ const [{ query }] = useQueryParams();
450
+ const params = React.useMemo(()=>buildValidParams(query), [
451
+ query
452
+ ]);
453
+ if (!collectionType) {
454
+ throw new Error('Could not find collectionType in url params');
455
+ }
456
+ if (!model) {
457
+ throw new Error('Could not find model in url params');
458
+ }
459
+ // Only collection types must have a documentId
460
+ if (collectionType === COLLECTION_TYPES && !documentId) {
461
+ throw new Error('Could not find documentId in url params');
462
+ }
463
+ const previewUrlResponse = useGetPreviewUrlQuery({
464
+ params: {
465
+ contentType: model
466
+ },
467
+ query: {
468
+ documentId,
469
+ locale: params.locale,
470
+ status: params.status
471
+ }
472
+ });
473
+ const documentResponse = useDocument({
474
+ model,
475
+ collectionType,
476
+ documentId,
477
+ params
478
+ });
479
+ const documentLayoutResponse = useDocumentLayout(model);
480
+ const isLoading = previewUrlResponse.isLoading || documentLayoutResponse.isLoading || documentResponse.isLoading;
481
+ if (isLoading && !documentResponse.document?.documentId) {
482
+ return /*#__PURE__*/ jsx(Page.Loading, {});
483
+ }
484
+ const initialValues = documentResponse.getInitialFormValues();
485
+ if (previewUrlResponse.error || documentLayoutResponse.error || !documentResponse.document || !documentResponse.meta || !documentResponse.schema || !initialValues) {
486
+ return /*#__PURE__*/ jsx(Page.Error, {});
487
+ }
488
+ if (!previewUrlResponse.data?.data?.url) {
489
+ return /*#__PURE__*/ jsx(Page.NoData, {});
490
+ }
491
+ const documentTitle = documentResponse.getTitle(documentLayoutResponse.edit.settings.mainField);
492
+ const validateSync = (values, options)=>{
493
+ const yupSchema = createYupSchema(documentResponse.schema?.attributes, documentResponse.components, {
494
+ status: documentResponse.document?.status,
495
+ ...options
496
+ });
497
+ return yupSchema.validateSync(values, {
498
+ abortEarly: false
499
+ });
500
+ };
501
+ const previewUrl = previewUrlResponse.data.data.url;
502
+ return /*#__PURE__*/ jsxs(Fragment, {
503
+ children: [
504
+ /*#__PURE__*/ jsx(Page.Title, {
505
+ children: formatMessage({
506
+ id: 'content-manager.preview.page-title',
507
+ defaultMessage: '{contentType} preview'
508
+ }, {
509
+ contentType: documentTitle
510
+ })
511
+ }),
512
+ /*#__PURE__*/ jsx(PreviewProvider, {
513
+ url: previewUrl,
514
+ document: documentResponse.document,
515
+ title: documentTitle,
516
+ meta: documentResponse.meta,
517
+ schema: documentResponse.schema,
518
+ layout: documentLayoutResponse.edit,
519
+ iframeRef: iframeRef,
520
+ children: /*#__PURE__*/ jsx(Form, {
521
+ method: "PUT",
522
+ disabled: query.status === 'published' && documentResponse && documentResponse.document.status !== 'draft',
523
+ initialValues: documentResponse.getInitialFormValues(),
524
+ initialErrors: location?.state?.forceValidation ? validateSync(initialValues, {}) : {},
525
+ height: "100%",
526
+ validate: (values, options)=>{
527
+ const yupSchema = createYupSchema(documentResponse.schema?.attributes, documentResponse.components, {
528
+ status: documentResponse.document?.status,
529
+ ...options
530
+ });
531
+ return yupSchema.validate(values, {
532
+ abortEarly: false
533
+ });
534
+ },
535
+ children: /*#__PURE__*/ jsx(Flex, {
536
+ direction: "column",
537
+ height: "100%",
538
+ alignItems: "stretch",
539
+ children: window.strapi.future.isEnabled('unstablePreviewSideEditor') ? /*#__PURE__*/ jsxs(Fragment, {
540
+ children: [
541
+ /*#__PURE__*/ jsx(UnstablePreviewHeader, {}),
542
+ /*#__PURE__*/ jsxs(Flex, {
543
+ flex: 1,
544
+ overflow: "auto",
545
+ alignItems: "stretch",
546
+ children: [
547
+ /*#__PURE__*/ jsx(Box, {
548
+ overflow: "auto",
549
+ width: isSideEditorOpen ? '50%' : 0,
550
+ borderWidth: "0 1px 0 0",
551
+ borderColor: "neutral150",
552
+ paddingTop: 6,
553
+ paddingBottom: 6,
554
+ // Remove horizontal padding when the editor is closed or it won't fully disappear
555
+ paddingLeft: isSideEditorOpen ? 6 : 0,
556
+ paddingRight: isSideEditorOpen ? 6 : 0,
557
+ transition: "all 0.2s ease-in-out",
558
+ children: /*#__PURE__*/ jsx(FormLayout, {
559
+ layout: documentLayoutResponse.edit.layout,
560
+ hasBackground: true
561
+ })
562
+ }),
563
+ /*#__PURE__*/ jsxs(Box, {
564
+ position: "relative",
565
+ flex: 1,
566
+ height: "100%",
567
+ overflow: "hidden",
568
+ children: [
569
+ /*#__PURE__*/ jsx(Box, {
570
+ "data-testid": "preview-iframe",
571
+ ref: iframeRef,
572
+ src: previewUrl,
573
+ title: formatMessage({
574
+ id: 'content-manager.preview.panel.title',
575
+ defaultMessage: 'Preview'
576
+ }),
577
+ width: "100%",
578
+ height: "100%",
579
+ borderWidth: 0,
580
+ tag: "iframe"
581
+ }, previewUrl),
582
+ /*#__PURE__*/ jsx(IconButton, {
583
+ variant: "tertiary",
584
+ label: formatMessage(isSideEditorOpen ? {
585
+ id: 'content-manager.preview.content.close-editor',
586
+ defaultMessage: 'Close editor'
587
+ } : {
588
+ id: 'content-manager.preview.content.open-editor',
589
+ defaultMessage: 'Open editor'
590
+ }),
591
+ onClick: ()=>setIsSideEditorOpen((prev)=>!prev),
592
+ position: "absolute",
593
+ top: 2,
594
+ left: 2,
595
+ children: /*#__PURE__*/ jsx(AnimatedArrow, {
596
+ isSideEditorOpen: isSideEditorOpen
597
+ })
598
+ })
599
+ ]
600
+ })
601
+ ]
602
+ })
603
+ ]
604
+ }) : /*#__PURE__*/ jsxs(Fragment, {
605
+ children: [
606
+ /*#__PURE__*/ jsx(PreviewHeader, {}),
607
+ /*#__PURE__*/ jsx(PreviewContent, {})
608
+ ]
609
+ })
610
+ })
611
+ })
612
+ })
613
+ ]
614
+ });
615
+ };
616
+ /* -------------------------------------------------------------------------------------------------
617
+ * ProtectedPreviewPage
618
+ * -----------------------------------------------------------------------------------------------*/ const ProtectedPreviewPageImpl = ()=>{
619
+ const { slug: model } = useParams();
620
+ const { permissions = [], isLoading, error } = useRBAC([
621
+ {
622
+ action: 'plugin::content-manager.explorer.read',
623
+ subject: model
624
+ },
625
+ {
626
+ action: 'plugin::content-manager.explorer.update',
627
+ subject: model
628
+ },
629
+ {
630
+ action: 'plugin::content-manager.explorer.publish',
631
+ subject: model
632
+ }
633
+ ]);
634
+ if (isLoading) {
635
+ return /*#__PURE__*/ jsx(Page.Loading, {});
636
+ }
637
+ if (error || !model) {
638
+ return /*#__PURE__*/ jsx(Box, {
639
+ height: "100vh",
640
+ width: "100vw",
641
+ position: "fixed",
642
+ top: 0,
643
+ left: 0,
644
+ zIndex: 2,
645
+ background: "neutral0",
646
+ children: /*#__PURE__*/ jsx(Page.Error, {})
647
+ });
648
+ }
649
+ return /*#__PURE__*/ jsx(Box, {
650
+ height: "100vh",
651
+ width: "100vw",
652
+ position: "fixed",
653
+ top: 0,
654
+ left: 0,
655
+ zIndex: 2,
656
+ background: "neutral0",
657
+ children: /*#__PURE__*/ jsx(Page.Protect, {
658
+ permissions: permissions.filter((permission)=>permission.action.includes('explorer.read')),
659
+ children: /*#__PURE__*/ jsx(DocumentRBAC, {
660
+ permissions: permissions,
661
+ children: /*#__PURE__*/ jsx(PreviewPage, {})
662
+ })
663
+ })
664
+ });
665
+ };
666
+ const ProtectedPreviewPage = ()=>{
667
+ return /*#__PURE__*/ jsx(Portal, {
668
+ children: /*#__PURE__*/ jsx(FocusTrap, {
669
+ children: /*#__PURE__*/ jsx(ProtectedPreviewPageImpl, {})
670
+ })
671
+ });
672
+ };
673
+
674
+ export { ProtectedPreviewPage, usePreviewContext };
675
+ //# sourceMappingURL=Preview-05BZGpV2.mjs.map