@strapi/content-manager 0.0.0-experimental.cf8bb33f3f3ac8c6469f469802867e9fc2005e58 → 0.0.0-experimental.cffeb3f30bb8beaa0d2a247ba56da461781c6690

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 (89) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-Co2eC_-C.js → ComponentConfigurationPage-BqW-t7Lr.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-Co2eC_-C.js.map → ComponentConfigurationPage-BqW-t7Lr.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-Dj1bNvEF.js → ComponentConfigurationPage-CM3vQxyp.js} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-Dj1bNvEF.js.map → ComponentConfigurationPage-CM3vQxyp.js.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-Dm5woBp9.js → EditConfigurationPage-CIKO27N8.js} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-Dm5woBp9.js.map → EditConfigurationPage-CIKO27N8.js.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-zd9OLaVh.js → EditConfigurationPage-CYQ6mJWy.js} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-zd9OLaVh.js.map → EditConfigurationPage-CYQ6mJWy.js.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-DsBKmSPb.js → EditViewPage-CRu2G4OS.js} +6 -6
  10. package/dist/admin/chunks/{EditViewPage-DsBKmSPb.js.map → EditViewPage-CRu2G4OS.js.map} +1 -1
  11. package/dist/admin/chunks/{EditViewPage-kAIaYTg0.js → EditViewPage-DaY9aMeu.js} +6 -6
  12. package/dist/admin/chunks/{EditViewPage-kAIaYTg0.js.map → EditViewPage-DaY9aMeu.js.map} +1 -1
  13. package/dist/admin/chunks/{Form-BPIhJKyf.js → Form--7s-Wsw1.js} +2 -2
  14. package/dist/admin/chunks/{Form-BPIhJKyf.js.map → Form--7s-Wsw1.js.map} +1 -1
  15. package/dist/admin/chunks/{Form-BO69oITe.js → Form-CX_f1AUZ.js} +2 -2
  16. package/dist/admin/chunks/{Form-BO69oITe.js.map → Form-CX_f1AUZ.js.map} +1 -1
  17. package/dist/admin/chunks/{History-DBQ96jv2.js → History-SRih7tGq.js} +6 -6
  18. package/dist/admin/chunks/{History-DBQ96jv2.js.map → History-SRih7tGq.js.map} +1 -1
  19. package/dist/admin/chunks/{History-BzvpM-Gw.js → History-VVVFEAnd.js} +6 -6
  20. package/dist/admin/chunks/{History-BzvpM-Gw.js.map → History-VVVFEAnd.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-BlDcbhUC.js → Input-B3wbR0pJ.js} +4 -5
  22. package/dist/admin/chunks/{Input-Dh1MtWno.js.map → Input-B3wbR0pJ.js.map} +1 -1
  23. package/dist/admin/chunks/{Input-Dh1MtWno.js → Input-BIRb1gP2.js} +5 -6
  24. package/dist/admin/chunks/{Input-BlDcbhUC.js.map → Input-BIRb1gP2.js.map} +1 -1
  25. package/dist/admin/chunks/{ListConfigurationPage-DK0ARecn.js → ListConfigurationPage-BMBxgLtZ.js} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-DK0ARecn.js.map → ListConfigurationPage-BMBxgLtZ.js.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-8d3BsQIr.js → ListConfigurationPage-DBWZlkHs.js} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-8d3BsQIr.js.map → ListConfigurationPage-DBWZlkHs.js.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-CS1ED-vI.js → ListViewPage-9jad22KO.js} +5 -5
  30. package/dist/admin/chunks/{ListViewPage-CS1ED-vI.js.map → ListViewPage-9jad22KO.js.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-BF2q7N6W.js → ListViewPage-Dq2zuPYL.js} +4 -4
  32. package/dist/admin/chunks/{ListViewPage-BF2q7N6W.js.map → ListViewPage-Dq2zuPYL.js.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-C5Qxz3I4.js → NoContentTypePage-B5xX6Br5.js} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-C5Qxz3I4.js.map → NoContentTypePage-B5xX6Br5.js.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-DjdXr1-j.js → NoContentTypePage-BtpSxTZs.js} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-DjdXr1-j.js.map → NoContentTypePage-BtpSxTZs.js.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-C5dC0MtL.js → NoPermissionsPage-CRS0hARz.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-C5dC0MtL.js.map → NoPermissionsPage-CRS0hARz.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-BUwtKUEP.js → NoPermissionsPage-HnOCsRtG.js} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-BUwtKUEP.js.map → NoPermissionsPage-HnOCsRtG.js.map} +1 -1
  41. package/dist/admin/chunks/{Preview-C9kXTY6C.js → Preview-BcggSPwn.js} +15 -111
  42. package/dist/admin/chunks/Preview-BcggSPwn.js.map +1 -0
  43. package/dist/admin/chunks/{Preview-DBvmhR7Q.js → Preview-DRtWRrYn.js} +13 -109
  44. package/dist/admin/chunks/Preview-DRtWRrYn.js.map +1 -0
  45. package/dist/admin/chunks/{Relations-Cn0atFpd.js → Relations-B1i77Jba.js} +5 -6
  46. package/dist/admin/chunks/Relations-B1i77Jba.js.map +1 -0
  47. package/dist/admin/chunks/{Relations-XHxDKEvT.js → Relations-BDe2e0a7.js} +5 -6
  48. package/dist/admin/chunks/Relations-BDe2e0a7.js.map +1 -0
  49. package/dist/admin/chunks/{en-C1CjdAtC.js → en-1xHet_GV.js} +1 -2
  50. package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-1xHet_GV.js.map} +1 -1
  51. package/dist/admin/chunks/{en-LfhocNG2.js → en-DB7sPJVj.js} +1 -2
  52. package/dist/admin/chunks/{en-LfhocNG2.js.map → en-DB7sPJVj.js.map} +1 -1
  53. package/dist/admin/chunks/{fr-gQSilC7w.js → fr-CqAyDOmo.js} +1 -4
  54. package/dist/admin/chunks/{fr-gQSilC7w.js.map → fr-CqAyDOmo.js.map} +1 -1
  55. package/dist/admin/chunks/{fr-CFdRaRVj.js → fr-Dm1xiZI5.js} +1 -4
  56. package/dist/admin/chunks/{fr-CFdRaRVj.js.map → fr-Dm1xiZI5.js.map} +1 -1
  57. package/dist/admin/chunks/{index-BczuAULz.js → index-CKZHZ3ir.js} +51 -128
  58. package/dist/admin/chunks/index-CKZHZ3ir.js.map +1 -0
  59. package/dist/admin/chunks/{index-BkyR-Bnu.js → index-DfEfFmQC.js} +53 -130
  60. package/dist/admin/chunks/index-DfEfFmQC.js.map +1 -0
  61. package/dist/admin/chunks/{layout-fghBgRgX.js → layout-BN6DSZ4t.js} +4 -4
  62. package/dist/admin/chunks/{layout-fghBgRgX.js.map → layout-BN6DSZ4t.js.map} +1 -1
  63. package/dist/admin/chunks/{layout-DcDoRT8g.js → layout-CX-A0s3P.js} +4 -4
  64. package/dist/admin/chunks/{layout-DcDoRT8g.js.map → layout-CX-A0s3P.js.map} +1 -1
  65. package/dist/admin/chunks/{relations-CgaydhiM.js → relations-CuPmv-zR.js} +2 -20
  66. package/dist/admin/chunks/relations-CuPmv-zR.js.map +1 -0
  67. package/dist/admin/chunks/{relations-DPVgU_rq.js → relations-xwSNlsdc.js} +3 -20
  68. package/dist/admin/chunks/relations-xwSNlsdc.js.map +1 -0
  69. package/dist/admin/chunks/{usePrev-DIYl-IAL.js → usePrev-CwGzb4ed.js} +18 -1
  70. package/dist/admin/chunks/usePrev-CwGzb4ed.js.map +1 -0
  71. package/dist/admin/chunks/usePrev-tlgK0qPG.js +34 -0
  72. package/dist/admin/chunks/usePrev-tlgK0qPG.js.map +1 -0
  73. package/dist/admin/index.js +1 -1
  74. package/dist/admin/index.mjs +1 -1
  75. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -1
  76. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  77. package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
  78. package/package.json +5 -5
  79. package/dist/admin/chunks/Preview-C9kXTY6C.js.map +0 -1
  80. package/dist/admin/chunks/Preview-DBvmhR7Q.js.map +0 -1
  81. package/dist/admin/chunks/Relations-Cn0atFpd.js.map +0 -1
  82. package/dist/admin/chunks/Relations-XHxDKEvT.js.map +0 -1
  83. package/dist/admin/chunks/index-BczuAULz.js.map +0 -1
  84. package/dist/admin/chunks/index-BkyR-Bnu.js.map +0 -1
  85. package/dist/admin/chunks/relations-CgaydhiM.js.map +0 -1
  86. package/dist/admin/chunks/relations-DPVgU_rq.js.map +0 -1
  87. package/dist/admin/chunks/usePrev-Bjw2dhmq.js +0 -18
  88. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
  89. package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
@@ -1,21 +1,21 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useNotification, useClipboard, useQueryParams, useHistory, createContext, useRBAC, Page } from '@strapi/admin/strapi-admin';
4
- import { Flex, Box, Typography, Tabs, IconButton, Grid, Portal, FocusTrap } from '@strapi/design-system';
4
+ import { Box, Typography, Tabs, Grid, IconButton, Portal, FocusTrap, Flex } from '@strapi/design-system';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { Link as Link$1, useParams } from 'react-router-dom';
7
- import { D as DocumentStatus, l as DocumentRBAC, d as buildValidParams, C as COLLECTION_TYPES, N as useGetPreviewUrlQuery, M as useDocument, h as useDocumentLayout } from './index-BkyR-Bnu.js';
7
+ import { D as DocumentStatus, l as DocumentRBAC, d as buildValidParams, C as COLLECTION_TYPES, N as useGetPreviewUrlQuery, M as useDocument, h as useDocumentLayout } from './index-DfEfFmQC.js';
8
8
  import { Link, Cross } from '@strapi/icons';
9
9
  import { stringify } from 'qs';
10
10
  import { styled } from 'styled-components';
11
- import { getDocumentStatus } from './EditViewPage-kAIaYTg0.js';
11
+ import { getDocumentStatus } from './EditViewPage-DaY9aMeu.js';
12
12
  import 'lodash/fp/mapValues';
13
13
  import 'yup';
14
14
  import 'fractional-indexing';
15
15
  import 'lodash/fp/pipe';
16
16
  import 'date-fns';
17
17
  import '@reduxjs/toolkit';
18
- import './Input-BlDcbhUC.js';
18
+ import './Input-B3wbR0pJ.js';
19
19
  import 'slate';
20
20
  import 'slate-history';
21
21
  import 'slate-react';
@@ -70,7 +70,7 @@ import 'prismjs/components/prism-typescript';
70
70
  import 'prismjs/components/prism-tsx';
71
71
  import 'prismjs/components/prism-vbnet';
72
72
  import 'prismjs/components/prism-yaml';
73
- import './usePrev-Bjw2dhmq.js';
73
+ import './usePrev-tlgK0qPG.js';
74
74
  import './useDragAndDrop-HYwNDExe.js';
75
75
  import 'react-dnd';
76
76
  import '@radix-ui/react-toolbar';
@@ -78,9 +78,9 @@ import 'react-dnd-html5-backend';
78
78
  import './objects-wl73iEma.js';
79
79
  import 'lodash/clone';
80
80
  import 'lodash/toPath';
81
- import './Relations-Cn0atFpd.js';
81
+ import './Relations-B1i77Jba.js';
82
82
  import 'react-window';
83
- import './relations-DPVgU_rq.js';
83
+ import './relations-xwSNlsdc.js';
84
84
  import './ComponentIcon-BZcTc4rj.js';
85
85
  import '@strapi/icons/symbols';
86
86
  import 'codemirror5';
@@ -99,30 +99,6 @@ import 'markdown-it-sup';
99
99
  import 'highlight.js/styles/solarized-dark.css';
100
100
  import 'codemirror5/addon/display/placeholder';
101
101
 
102
- const UnstablePreviewContent = ()=>{
103
- const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
104
- const { formatMessage } = useIntl();
105
- return /*#__PURE__*/ jsxs(Flex, {
106
- height: "100%",
107
- children: [
108
- /*#__PURE__*/ jsx(Box, {
109
- flex: 1,
110
- children: "TODO: Side editor"
111
- }),
112
- /*#__PURE__*/ jsx(Box, {
113
- src: previewUrl,
114
- title: formatMessage({
115
- id: 'content-manager.preview.panel.title',
116
- defaultMessage: 'Preview'
117
- }),
118
- flex: 1,
119
- height: "100%",
120
- borderWidth: 0,
121
- tag: "iframe"
122
- }, previewUrl)
123
- ]
124
- });
125
- };
126
102
  const PreviewContent = ()=>{
127
103
  const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
128
104
  const { formatMessage } = useIntl();
@@ -170,7 +146,6 @@ const PreviewContent = ()=>{
170
146
  // here in order to get the relative="path" functionality from the Link component.
171
147
  };
172
148
  return /*#__PURE__*/ jsx(IconButton, {
173
- variant: "ghost",
174
149
  tag: Link$1,
175
150
  relative: "path",
176
151
  to: toWithFallback,
@@ -252,68 +227,7 @@ const PreviewTabs = ()=>{
252
227
  };
253
228
  /* -------------------------------------------------------------------------------------------------
254
229
  * PreviewHeader
255
- * -----------------------------------------------------------------------------------------------*/ const UnstablePreviewHeader = ()=>{
256
- // Get the document title
257
- const title = usePreviewContext('PreviewHeader', (state)=>state.title);
258
- const { formatMessage } = useIntl();
259
- const { toggleNotification } = useNotification();
260
- const { copy } = useClipboard();
261
- const handleCopyLink = ()=>{
262
- copy(window.location.href);
263
- toggleNotification({
264
- message: formatMessage({
265
- id: 'content-manager.preview.copy.success',
266
- defaultMessage: 'Copied preview link'
267
- }),
268
- type: 'success'
269
- });
270
- };
271
- return /*#__PURE__*/ jsxs(Flex, {
272
- gap: 4,
273
- background: "neutral0",
274
- borderColor: "neutral150",
275
- tag: "header",
276
- children: [
277
- /*#__PURE__*/ jsxs(TitleContainer, {
278
- height: "100%",
279
- paddingLeft: 2,
280
- paddingRight: 4,
281
- children: [
282
- /*#__PURE__*/ jsx(ClosePreviewButton, {}),
283
- /*#__PURE__*/ jsx(PreviewTitle, {
284
- tag: "h1",
285
- title: title,
286
- maxWidth: "200px",
287
- fontSize: 2,
288
- paddingLeft: 2,
289
- paddingRight: 3,
290
- fontWeight: 600,
291
- children: title
292
- }),
293
- /*#__PURE__*/ jsx(Status, {})
294
- ]
295
- }),
296
- /*#__PURE__*/ jsxs(Flex, {
297
- flex: 1,
298
- paddingRight: 2,
299
- justifyContent: "space-between",
300
- children: [
301
- /*#__PURE__*/ jsx(PreviewTabs, {}),
302
- /*#__PURE__*/ jsx(IconButton, {
303
- type: "button",
304
- label: formatMessage({
305
- id: 'preview.copy.label',
306
- defaultMessage: 'Copy preview link'
307
- }),
308
- onClick: handleCopyLink,
309
- children: /*#__PURE__*/ jsx(Link, {})
310
- })
311
- ]
312
- })
313
- ]
314
- });
315
- };
316
- const PreviewHeader = ()=>{
230
+ * -----------------------------------------------------------------------------------------------*/ const PreviewHeader = ()=>{
317
231
  // Get the document title
318
232
  const title = usePreviewContext('PreviewHeader', (state)=>state.title);
319
233
  const { formatMessage } = useIntl();
@@ -389,9 +303,6 @@ const PreviewTitle = styled(Typography)`
389
303
  const StatusTab = styled(Tabs.Trigger)`
390
304
  text-transform: uppercase;
391
305
  `;
392
- const TitleContainer = styled(Flex)`
393
- border-right: 1px solid ${({ theme })=>theme.colors.neutral150};
394
- `;
395
306
 
396
307
  const [PreviewProvider, usePreviewContext] = createContext('PreviewPage');
397
308
  /* -------------------------------------------------------------------------------------------------
@@ -457,21 +368,14 @@ const [PreviewProvider, usePreviewContext] = createContext('PreviewPage');
457
368
  title: documentTitle,
458
369
  meta: documentResponse.meta,
459
370
  schema: documentResponse.schema,
460
- children: /*#__PURE__*/ jsx(Flex, {
371
+ children: /*#__PURE__*/ jsxs(Flex, {
461
372
  direction: "column",
462
373
  height: "100%",
463
374
  alignItems: "stretch",
464
- children: window.strapi.future.isEnabled('unstablePreviewSideEditor') ? /*#__PURE__*/ jsxs(Fragment, {
465
- children: [
466
- /*#__PURE__*/ jsx(UnstablePreviewHeader, {}),
467
- /*#__PURE__*/ jsx(UnstablePreviewContent, {})
468
- ]
469
- }) : /*#__PURE__*/ jsxs(Fragment, {
470
- children: [
471
- /*#__PURE__*/ jsx(PreviewHeader, {}),
472
- /*#__PURE__*/ jsx(PreviewContent, {})
473
- ]
474
- })
375
+ children: [
376
+ /*#__PURE__*/ jsx(PreviewHeader, {}),
377
+ /*#__PURE__*/ jsx(PreviewContent, {})
378
+ ]
475
379
  })
476
380
  })
477
381
  ]
@@ -528,4 +432,4 @@ const ProtectedPreviewPage = ()=>{
528
432
  };
529
433
 
530
434
  export { ProtectedPreviewPage, usePreviewContext };
531
- //# sourceMappingURL=Preview-C9kXTY6C.js.map
435
+ //# sourceMappingURL=Preview-BcggSPwn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Preview-BcggSPwn.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 /**\n * For some reason, changing an iframe's src tag causes the browser to add a new item in the\n * history stack. This is an issue for us as it means clicking the back button will not let us\n * go back to the edit view. To fix it, we need to trick the browser into thinking this is a\n * different iframe when the preview URL changes. So we set a key prop to force React\n * to mount a different node when the src changes.\n */\n key={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 { IconButton, Tabs, Typography, Grid } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\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 const locationIndex = useHistory('BackButton', (state) => state.currentLocationIndex);\n\n /**\n * Get the link destination from the history.\n * Rely on a fallback (the parent edit view page) if there's no page to go back .\n */\n const historyTo = canGoBack ? history.at(locationIndex - 2) : undefined;\n const fallback = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n } satisfies To;\n const toWithFallback = historyTo ?? fallback;\n\n const handleClick = (e: React.MouseEvent) => {\n if (canGoBack) {\n // Prevent normal link behavior, go back in the history stack instead\n e.preventDefault();\n goBack();\n return;\n }\n\n // Otherwise rely on native link behavior to go back to the edit view. We don't use navigate()\n // here in order to get the relative=\"path\" functionality from the Link component.\n };\n\n return (\n <IconButton\n tag={Link}\n relative=\"path\"\n to={toWithFallback}\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 * Status\n * -----------------------------------------------------------------------------------------------*/\n\nconst Status = () => {\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\n if (!hasDraftAndPublished) {\n return null;\n }\n\n const status = getDocumentStatus(document, meta);\n\n return <DocumentStatus status={status} size=\"XS\" />;\n};\n\nconst PreviewTabs = () => {\n const { formatMessage } = useIntl();\n\n // URL query params\n const [{ query }, setQuery] = useQueryParams<{ status: 'draft' | 'published' }>();\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 hasDraftAndPublish = schema?.options?.draftAndPublish ?? false;\n const documentStatus = getDocumentStatus(document, meta);\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n if (!hasDraftAndPublish) {\n return null;\n }\n\n return (\n <>\n <Tabs.Root variant=\"simple\" value={query.status || 'draft'} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'preview.tabs.label',\n defaultMessage: 'Document status',\n })}\n >\n <StatusTab value=\"draft\">\n {formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab value=\"published\" disabled={documentStatus === 'draft'}>\n {formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs.List>\n </Tabs.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewHeader = () => {\n // Get the document title\n const title = usePreviewContext('PreviewHeader', (state) => state.title);\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 <Grid.Root\n gap={3}\n gridCols={3}\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n borderColor=\"neutral150\"\n tag=\"header\"\n >\n {/* Title and status */}\n <Grid.Item xs={1} paddingTop={2} paddingBottom={2} gap={3}>\n <ClosePreviewButton />\n <PreviewTitle tag=\"h1\" fontWeight={600} fontSize={2} maxWidth=\"200px\" title={title}>\n {title}\n </PreviewTitle>\n <Status />\n </Grid.Item>\n {/* Tabs */}\n <Grid.Item xs={1} marginBottom=\"-1px\" alignItems=\"end\" margin=\"auto\">\n <PreviewTabs />\n </Grid.Item>\n {/* Copy link */}\n <Grid.Item xs={1} justifyContent=\"end\" paddingTop={2} paddingBottom={2}>\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 </Grid.Item>\n </Grid.Root>\n );\n};\n\nconst PreviewTitle = styled(Typography)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\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 title: 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\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 const documentTitle = documentResponse.getTitle(documentLayoutResponse.edit.settings.mainField);\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: documentTitle,\n }\n )}\n </Page.Title>\n <PreviewProvider\n url={previewUrlResponse.data.data.url}\n document={documentResponse.document}\n title={documentTitle}\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":["PreviewContent","previewUrl","usePreviewContext","state","url","formatMessage","useIntl","_jsx","Box","src","title","id","defaultMessage","width","height","borderWidth","tag","ClosePreviewButton","query","useQueryParams","canGoBack","useHistory","goBack","history","locationIndex","currentLocationIndex","historyTo","at","undefined","fallback","pathname","search","stringify","encode","toWithFallback","handleClick","e","preventDefault","IconButton","Link","relative","to","onClick","label","Cross","Status","document","schema","meta","hasDraftAndPublished","options","draftAndPublish","status","getDocumentStatus","DocumentStatus","size","PreviewTabs","setQuery","hasDraftAndPublish","documentStatus","handleTabChange","_Fragment","Tabs","Root","variant","value","onValueChange","_jsxs","List","aria-label","StatusTab","disabled","PreviewHeader","toggleNotification","useNotification","copy","useClipboard","handleCopyLink","window","location","href","message","type","Grid","gap","gridCols","paddingLeft","paddingRight","background","borderColor","Item","xs","paddingTop","paddingBottom","PreviewTitle","fontWeight","fontSize","maxWidth","marginBottom","alignItems","margin","justifyContent","LinkIcon","styled","Typography","Trigger","PreviewProvider","createContext","PreviewPage","slug","model","documentId","collectionType","useParams","params","React","useMemo","buildValidParams","Error","COLLECTION_TYPES","previewUrlResponse","useGetPreviewUrlQuery","contentType","locale","documentResponse","useDocument","documentLayoutResponse","useDocumentLayout","isLoading","Page","Loading","error","data","NoData","documentTitle","getTitle","edit","settings","mainField","Title","Flex","direction","ProtectedPreviewPageImpl","permissions","useRBAC","action","subject","position","top","left","zIndex","Protect","DocumentRBAC","ProtectedPreviewPage","Portal","FocusTrap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,cAAiB,GAAA,IAAA;AACrB,IAAA,MAAMC,aAAaC,iBAAkB,CAAA,gBAAA,EAAkB,CAACC,KAAAA,GAAUA,MAAMC,GAAG,CAAA;IAE3E,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,GAACC,CAAAA,GAAAA,EAAAA;QACCC,GAAKR,EAAAA,UAAAA;AASLS,QAAAA,KAAAA,EAAOL,aAAc,CAAA;YACnBM,EAAI,EAAA,qCAAA;YACJC,cAAgB,EAAA;AAClB,SAAA,CAAA;QACAC,KAAM,EAAA,MAAA;QACNC,MAAO,EAAA,MAAA;QACPC,WAAa,EAAA,CAAA;QACbC,GAAI,EAAA;AARCf,KAAAA,EAAAA,UAAAA,CAAAA;AAWX,CAAA;;ACdA;;AAEkG,qGAElG,MAAMgB,kBAAqB,GAAA,IAAA;AACzB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;IAGpB,MAAM,EAAEd,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMc,YAAYC,UAAW,CAAA,YAAA,EAAc,CAAClB,KAAAA,GAAUA,MAAMiB,SAAS,CAAA;AACrE,IAAA,MAAME,SAASD,UAAW,CAAA,YAAA,EAAc,CAAClB,KAAAA,GAAUA,MAAMmB,MAAM,CAAA;AAC/D,IAAA,MAAMC,UAAUF,UAAW,CAAA,YAAA,EAAc,CAAClB,KAAAA,GAAUA,MAAMoB,OAAO,CAAA;AACjE,IAAA,MAAMC,gBAAgBH,UAAW,CAAA,YAAA,EAAc,CAAClB,KAAAA,GAAUA,MAAMsB,oBAAoB,CAAA;AAEpF;;;AAGC,MACD,MAAMC,SAAYN,GAAAA,SAAAA,GAAYG,QAAQI,EAAE,CAACH,gBAAgB,CAAKI,CAAAA,GAAAA,SAAAA;AAC9D,IAAA,MAAMC,QAAW,GAAA;QACfC,QAAU,EAAA,IAAA;AACVC,QAAAA,MAAAA,EAAQC,UAAUd,KAAO,EAAA;YAAEe,MAAQ,EAAA;AAAM,SAAA;AAC3C,KAAA;AACA,IAAA,MAAMC,iBAAiBR,SAAaG,IAAAA,QAAAA;AAEpC,IAAA,MAAMM,cAAc,CAACC,CAAAA,GAAAA;AACnB,QAAA,IAAIhB,SAAW,EAAA;;AAEbgB,YAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChBf,YAAAA,MAAAA,EAAAA;AACA,YAAA;AACF;;;AAIF,KAAA;AAEA,IAAA,qBACEf,GAAC+B,CAAAA,UAAAA,EAAAA;QACCtB,GAAKuB,EAAAA,MAAAA;QACLC,QAAS,EAAA,MAAA;QACTC,EAAIP,EAAAA,cAAAA;QACJQ,OAASP,EAAAA,WAAAA;AACTQ,QAAAA,KAAAA,EAAOtC,aAAc,CAAA;YACnBM,EAAI,EAAA,sCAAA;YACJC,cAAgB,EAAA;AAClB,SAAA,CAAA;AAEA,QAAA,QAAA,gBAAAL,GAACqC,CAAAA,KAAAA,EAAAA,EAAAA;;AAGP,CAAA;AAEA;;AAEkG,qGAElG,MAAMC,MAAS,GAAA,IAAA;;AAEb,IAAA,MAAMC,WAAW5C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM2C,QAAQ,CAAA;AAC7E,IAAA,MAAMC,SAAS7C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM4C,MAAM,CAAA;AACzE,IAAA,MAAMC,OAAO9C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM6C,IAAI,CAAA;IACrE,MAAMC,oBAAAA,GAAuBF,MAAQG,EAAAA,OAAAA,EAASC,eAAmB,IAAA,KAAA;AAEjE,IAAA,IAAI,CAACF,oBAAsB,EAAA;QACzB,OAAO,IAAA;AACT;IAEA,MAAMG,MAAAA,GAASC,kBAAkBP,QAAUE,EAAAA,IAAAA,CAAAA;AAE3C,IAAA,qBAAOzC,GAAC+C,CAAAA,cAAAA,EAAAA;QAAeF,MAAQA,EAAAA,MAAAA;QAAQG,IAAK,EAAA;;AAC9C,CAAA;AAEA,MAAMC,WAAc,GAAA,IAAA;IAClB,MAAM,EAAEnD,aAAa,EAAE,GAAGC,OAAAA,EAAAA;;AAG1B,IAAA,MAAM,CAAC,EAAEY,KAAK,EAAE,EAAEuC,SAAS,GAAGtC,cAAAA,EAAAA;;AAG9B,IAAA,MAAM2B,WAAW5C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM2C,QAAQ,CAAA;AAC7E,IAAA,MAAMC,SAAS7C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM4C,MAAM,CAAA;AACzE,IAAA,MAAMC,OAAO9C,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAM6C,IAAI,CAAA;IACrE,MAAMU,kBAAAA,GAAqBX,MAAQG,EAAAA,OAAAA,EAASC,eAAmB,IAAA,KAAA;IAC/D,MAAMQ,cAAAA,GAAiBN,kBAAkBP,QAAUE,EAAAA,IAAAA,CAAAA;AAEnD,IAAA,MAAMY,kBAAkB,CAACR,MAAAA,GAAAA;QACvB,IAAIA,MAAAA,KAAW,WAAeA,IAAAA,MAAAA,KAAW,OAAS,EAAA;YAChDK,QAAS,CAAA;AAAEL,gBAAAA;AAAO,aAAA,EAAG,MAAQ,EAAA,IAAA,CAAA;AAC/B;AACF,KAAA;AAEA,IAAA,IAAI,CAACM,kBAAoB,EAAA;QACvB,OAAO,IAAA;AACT;IAEA,qBACEnD,GAAA,CAAAsD,QAAA,EAAA;gCACEtD,GAAA,CAACuD,KAAKC,IAAI,EAAA;YAACC,OAAQ,EAAA,QAAA;YAASC,KAAO/C,EAAAA,KAAAA,CAAMkC,MAAM,IAAI,OAAA;YAASc,aAAeN,EAAAA,eAAAA;oCACzEO,IAAA,CAACL,KAAKM,IAAI,EAAA;AACRC,gBAAAA,YAAAA,EAAYhE,aAAc,CAAA;oBACxBM,EAAI,EAAA,oBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;;kCAEAL,GAAC+D,CAAAA,SAAAA,EAAAA;wBAAUL,KAAM,EAAA,OAAA;kCACd5D,aAAc,CAAA;4BACbM,EAAI,EAAA,uCAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;kCAEFL,GAAC+D,CAAAA,SAAAA,EAAAA;wBAAUL,KAAM,EAAA,WAAA;AAAYM,wBAAAA,QAAAA,EAAUZ,cAAmB,KAAA,OAAA;kCACvDtD,aAAc,CAAA;4BACbM,EAAI,EAAA,2CAAA;4BACJC,cAAgB,EAAA;AAClB,yBAAA;;;;;;AAMZ,CAAA;AAEA;;AAEkG,qGAElG,MAAM4D,aAAgB,GAAA,IAAA;;AAEpB,IAAA,MAAM9D,QAAQR,iBAAkB,CAAA,eAAA,EAAiB,CAACC,KAAAA,GAAUA,MAAMO,KAAK,CAAA;IAEvE,MAAM,EAAEL,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEmE,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,IAAI,EAAE,GAAGC,YAAAA,EAAAA;AAEjB,IAAA,MAAMC,cAAiB,GAAA,IAAA;QACrBF,IAAKG,CAAAA,MAAAA,CAAOC,QAAQ,CAACC,IAAI,CAAA;QACzBP,kBAAmB,CAAA;AACjBQ,YAAAA,OAAAA,EAAS5E,aAAc,CAAA;gBACrBM,EAAI,EAAA,sCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAsE,IAAM,EAAA;AACR,SAAA,CAAA;AACF,KAAA;IAEA,qBACEf,IAAA,CAACgB,KAAKpB,IAAI,EAAA;QACRqB,GAAK,EAAA,CAAA;QACLC,QAAU,EAAA,CAAA;QACVC,WAAa,EAAA,CAAA;QACbC,YAAc,EAAA,CAAA;QACdC,UAAW,EAAA,UAAA;QACXC,WAAY,EAAA,YAAA;QACZzE,GAAI,EAAA,QAAA;;AAGJ,0BAAAmD,IAAA,CAACgB,KAAKO,IAAI,EAAA;gBAACC,EAAI,EAAA,CAAA;gBAAGC,UAAY,EAAA,CAAA;gBAAGC,aAAe,EAAA,CAAA;gBAAGT,GAAK,EAAA,CAAA;;kCACtD7E,GAACU,CAAAA,kBAAAA,EAAAA,EAAAA,CAAAA;kCACDV,GAACuF,CAAAA,YAAAA,EAAAA;wBAAa9E,GAAI,EAAA,IAAA;wBAAK+E,UAAY,EAAA,GAAA;wBAAKC,QAAU,EAAA,CAAA;wBAAGC,QAAS,EAAA,OAAA;wBAAQvF,KAAOA,EAAAA,KAAAA;AAC1EA,wBAAAA,QAAAA,EAAAA;;kCAEHH,GAACsC,CAAAA,MAAAA,EAAAA,EAAAA;;;AAGH,0BAAAtC,GAAA,CAAC4E,KAAKO,IAAI,EAAA;gBAACC,EAAI,EAAA,CAAA;gBAAGO,YAAa,EAAA,MAAA;gBAAOC,UAAW,EAAA,KAAA;gBAAMC,MAAO,EAAA,MAAA;AAC5D,gBAAA,QAAA,gBAAA7F,GAACiD,CAAAA,WAAAA,EAAAA,EAAAA;;AAGH,0BAAAjD,GAAA,CAAC4E,KAAKO,IAAI,EAAA;gBAACC,EAAI,EAAA,CAAA;gBAAGU,cAAe,EAAA,KAAA;gBAAMT,UAAY,EAAA,CAAA;gBAAGC,aAAe,EAAA,CAAA;AACnE,gBAAA,QAAA,gBAAAtF,GAAC+B,CAAAA,UAAAA,EAAAA;oBACC4C,IAAK,EAAA,QAAA;AACLvC,oBAAAA,KAAAA,EAAOtC,aAAc,CAAA;wBACnBM,EAAI,EAAA,oBAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA,CAAA;oBACA8B,OAASmC,EAAAA,cAAAA;AAET,oBAAA,QAAA,gBAAAtE,GAAC+F,CAAAA,IAAAA,EAAAA,EAAAA;;;;;AAKX,CAAA;AAEA,MAAMR,YAAAA,GAAeS,MAAOC,CAAAA,UAAAA,CAAW;;;;AAIvC,CAAC;AAED,MAAMlC,SAAYiC,GAAAA,MAAAA,CAAOzC,IAAK2C,CAAAA,OAAO,CAAC;;AAEtC,CAAC;;ACtLD,MAAM,CAACC,eAAAA,EAAiBxG,iBAAkB,CAAA,GAAGyG,aAAmC,CAAA,aAAA;AAEhF;;AAEkG,qGAElG,MAAMC,WAAc,GAAA,IAAA;IAClB,MAAM,EAAEvG,aAAa,EAAE,GAAGC,OAAAA,EAAAA;;IAG1B,MAAM,EACJuG,MAAMC,KAAK,EACXnG,IAAIoG,UAAU,EACdC,cAAc,EACf,GAAGC,SAAAA,EAAAA;AAKJ,IAAA,MAAM,CAAC,EAAE/F,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AAIpB,IAAA,MAAM+F,SAASC,KAAMC,CAAAA,OAAO,CAAC,IAAMC,iBAAiBnG,KAAQ,CAAA,EAAA;AAACA,QAAAA;AAAM,KAAA,CAAA;AAEnE,IAAA,IAAI,CAAC8F,cAAgB,EAAA;AACnB,QAAA,MAAM,IAAIM,KAAM,CAAA,6CAAA,CAAA;AAClB;AAEA,IAAA,IAAI,CAACR,KAAO,EAAA;AACV,QAAA,MAAM,IAAIQ,KAAM,CAAA,oCAAA,CAAA;AAClB;;IAGA,IAAIN,cAAAA,KAAmBO,gBAAoB,IAAA,CAACR,UAAY,EAAA;AACtD,QAAA,MAAM,IAAIO,KAAM,CAAA,yCAAA,CAAA;AAClB;AAEA,IAAA,MAAME,qBAAqBC,qBAAsB,CAAA;QAC/CP,MAAQ,EAAA;YACNQ,WAAaZ,EAAAA;AACf,SAAA;QACA5F,KAAO,EAAA;AACL6F,YAAAA,UAAAA;AACAY,YAAAA,MAAAA,EAAQT,OAAOS,MAAM;AACrBvE,YAAAA,MAAAA,EAAQ8D,OAAO9D;AACjB;AACF,KAAA,CAAA;AAEA,IAAA,MAAMwE,mBAAmBC,WAAY,CAAA;AACnCf,QAAAA,KAAAA;AACAE,QAAAA,cAAAA;AACAD,QAAAA,UAAAA;AACAG,QAAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMY,yBAAyBC,iBAAkBjB,CAAAA,KAAAA,CAAAA;IAEjD,IACEc,gBAAAA,CAAiBI,SAAS,IAC1BR,kBAAAA,CAAmBQ,SAAS,IAC5BF,sBAAAA,CAAuBE,SAAS,EAChC;QACA,qBAAOzH,GAAA,CAAC0H,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;AAEA,IAAA,IACEV,mBAAmBW,KAAK,IACxBL,sBAAuBK,CAAAA,KAAK,IAC5B,CAACP,gBAAAA,CAAiB9E,QAAQ,IAC1B,CAAC8E,gBAAiB5E,CAAAA,IAAI,IACtB,CAAC4E,gBAAAA,CAAiB7E,MAAM,EACxB;QACA,qBAAOxC,GAAA,CAAC0H,KAAKX,KAAK,EAAA,EAAA,CAAA;AACpB;AAEA,IAAA,IAAI,CAACE,kBAAAA,CAAmBY,IAAI,EAAEA,MAAMhI,GAAK,EAAA;QACvC,qBAAOG,GAAA,CAAC0H,KAAKI,MAAM,EAAA,EAAA,CAAA;AACrB;IAEA,MAAMC,aAAAA,GAAgBV,iBAAiBW,QAAQ,CAACT,uBAAuBU,IAAI,CAACC,QAAQ,CAACC,SAAS,CAAA;IAE9F,qBACEvE,IAAA,CAAAN,QAAA,EAAA;;AACE,0BAAAtD,GAAA,CAAC0H,KAAKU,KAAK,EAAA;0BACRtI,aACC,CAAA;oBACEM,EAAI,EAAA,oCAAA;oBACJC,cAAgB,EAAA;iBAElB,EAAA;oBACE8G,WAAaY,EAAAA;AACf,iBAAA;;0BAGJ/H,GAACmG,CAAAA,eAAAA,EAAAA;AACCtG,gBAAAA,GAAAA,EAAKoH,kBAAmBY,CAAAA,IAAI,CAACA,IAAI,CAAChI,GAAG;AACrC0C,gBAAAA,QAAAA,EAAU8E,iBAAiB9E,QAAQ;gBACnCpC,KAAO4H,EAAAA,aAAAA;AACPtF,gBAAAA,IAAAA,EAAM4E,iBAAiB5E,IAAI;AAC3BD,gBAAAA,MAAAA,EAAQ6E,iBAAiB7E,MAAM;AAE/B,gBAAA,QAAA,gBAAAoB,IAACyE,CAAAA,IAAAA,EAAAA;oBAAKC,SAAU,EAAA,QAAA;oBAAS/H,MAAO,EAAA,MAAA;oBAAOqF,UAAW,EAAA,SAAA;;sCAChD5F,GAACiE,CAAAA,aAAAA,EAAAA,EAAAA,CAAAA;sCACDjE,GAACP,CAAAA,cAAAA,EAAAA,EAAAA;;;;;;AAKX,CAAA;AAEA;;AAEkG,qGAElG,MAAM8I,wBAA2B,GAAA,IAAA;AAC/B,IAAA,MAAM,EAAEjC,IAAAA,EAAMC,KAAK,EAAE,GAAGG,SAAAA,EAAAA;IAGxB,MAAM,EACJ8B,cAAc,EAAE,EAChBf,SAAS,EACTG,KAAK,EACN,GAAGa,OAAQ,CAAA;AAAC,QAAA;YAAEC,MAAQ,EAAA,uCAAA;YAAyCC,OAASpC,EAAAA;AAAM;AAAE,KAAA,CAAA;AAEjF,IAAA,IAAIkB,SAAW,EAAA;QACb,qBAAOzH,GAAA,CAAC0H,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;IAEA,IAAIC,KAAAA,IAAS,CAACrB,KAAO,EAAA;AACnB,QAAA,qBACEvG,GAACC,CAAAA,GAAAA,EAAAA;YACCM,MAAO,EAAA,OAAA;YACPD,KAAM,EAAA,OAAA;YACNsI,QAAS,EAAA,OAAA;YACTC,GAAK,EAAA,CAAA;YACLC,IAAM,EAAA,CAAA;YACNC,MAAQ,EAAA,CAAA;YACR9D,UAAW,EAAA,UAAA;oCAEXjF,GAAA,CAAC0H,KAAKX,KAAK,EAAA,EAAA;;AAGjB;AAEA,IAAA,qBACE/G,GAACC,CAAAA,GAAAA,EAAAA;QACCM,MAAO,EAAA,OAAA;QACPD,KAAM,EAAA,OAAA;QACNsI,QAAS,EAAA,OAAA;QACTC,GAAK,EAAA,CAAA;QACLC,IAAM,EAAA,CAAA;QACNC,MAAQ,EAAA,CAAA;QACR9D,UAAW,EAAA,UAAA;gCAEXjF,GAAA,CAAC0H,KAAKsB,OAAO,EAAA;YAACR,WAAaA,EAAAA,WAAAA;AACxB,YAAA,QAAA,EAAA,CAAC,EAAEA,WAAW,EAAE,iBACfxI,GAACiJ,CAAAA,YAAAA,EAAAA;oBAAaT,WAAaA,EAAAA,WAAAA;AACzB,oBAAA,QAAA,gBAAAxI,GAACqG,CAAAA,WAAAA,EAAAA,EAAAA;;;;AAMb,CAAA;AAEA,MAAM6C,oBAAuB,GAAA,IAAA;AAC3B,IAAA,qBACElJ,GAACmJ,CAAAA,MAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAnJ,GAACoJ,CAAAA,SAAAA,EAAAA;AACC,YAAA,QAAA,gBAAApJ,GAACuI,CAAAA,wBAAAA,EAAAA,EAAAA;;;AAIT;;;;"}
@@ -6,18 +6,18 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var designSystem = require('@strapi/design-system');
7
7
  var reactIntl = require('react-intl');
8
8
  var reactRouterDom = require('react-router-dom');
9
- var index = require('./index-BczuAULz.js');
9
+ var index = require('./index-CKZHZ3ir.js');
10
10
  var Icons = require('@strapi/icons');
11
11
  var qs = require('qs');
12
12
  var styledComponents = require('styled-components');
13
- var EditViewPage = require('./EditViewPage-DsBKmSPb.js');
13
+ var EditViewPage = require('./EditViewPage-CRu2G4OS.js');
14
14
  require('lodash/fp/mapValues');
15
15
  require('yup');
16
16
  require('fractional-indexing');
17
17
  require('lodash/fp/pipe');
18
18
  require('date-fns');
19
19
  require('@reduxjs/toolkit');
20
- require('./Input-Dh1MtWno.js');
20
+ require('./Input-BIRb1gP2.js');
21
21
  require('slate');
22
22
  require('slate-history');
23
23
  require('slate-react');
@@ -72,7 +72,7 @@ require('prismjs/components/prism-typescript');
72
72
  require('prismjs/components/prism-tsx');
73
73
  require('prismjs/components/prism-vbnet');
74
74
  require('prismjs/components/prism-yaml');
75
- require('./usePrev-DIYl-IAL.js');
75
+ require('./usePrev-CwGzb4ed.js');
76
76
  require('./useDragAndDrop-gcqEJMnO.js');
77
77
  require('react-dnd');
78
78
  require('@radix-ui/react-toolbar');
@@ -80,9 +80,9 @@ require('react-dnd-html5-backend');
80
80
  require('./objects-C3EebVVe.js');
81
81
  require('lodash/clone');
82
82
  require('lodash/toPath');
83
- require('./Relations-XHxDKEvT.js');
83
+ require('./Relations-BDe2e0a7.js');
84
84
  require('react-window');
85
- require('./relations-CgaydhiM.js');
85
+ require('./relations-CuPmv-zR.js');
86
86
  require('./ComponentIcon-C-EjOUPA.js');
87
87
  require('@strapi/icons/symbols');
88
88
  require('codemirror5');
@@ -120,30 +120,6 @@ function _interopNamespaceDefault(e) {
120
120
 
121
121
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
122
122
 
123
- const UnstablePreviewContent = ()=>{
124
- const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
125
- const { formatMessage } = reactIntl.useIntl();
126
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
127
- height: "100%",
128
- children: [
129
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
130
- flex: 1,
131
- children: "TODO: Side editor"
132
- }),
133
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
134
- src: previewUrl,
135
- title: formatMessage({
136
- id: 'content-manager.preview.panel.title',
137
- defaultMessage: 'Preview'
138
- }),
139
- flex: 1,
140
- height: "100%",
141
- borderWidth: 0,
142
- tag: "iframe"
143
- }, previewUrl)
144
- ]
145
- });
146
- };
147
123
  const PreviewContent = ()=>{
148
124
  const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
149
125
  const { formatMessage } = reactIntl.useIntl();
@@ -191,7 +167,6 @@ const PreviewContent = ()=>{
191
167
  // here in order to get the relative="path" functionality from the Link component.
192
168
  };
193
169
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
194
- variant: "ghost",
195
170
  tag: reactRouterDom.Link,
196
171
  relative: "path",
197
172
  to: toWithFallback,
@@ -273,68 +248,7 @@ const PreviewTabs = ()=>{
273
248
  };
274
249
  /* -------------------------------------------------------------------------------------------------
275
250
  * PreviewHeader
276
- * -----------------------------------------------------------------------------------------------*/ const UnstablePreviewHeader = ()=>{
277
- // Get the document title
278
- const title = usePreviewContext('PreviewHeader', (state)=>state.title);
279
- const { formatMessage } = reactIntl.useIntl();
280
- const { toggleNotification } = strapiAdmin.useNotification();
281
- const { copy } = strapiAdmin.useClipboard();
282
- const handleCopyLink = ()=>{
283
- copy(window.location.href);
284
- toggleNotification({
285
- message: formatMessage({
286
- id: 'content-manager.preview.copy.success',
287
- defaultMessage: 'Copied preview link'
288
- }),
289
- type: 'success'
290
- });
291
- };
292
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
293
- gap: 4,
294
- background: "neutral0",
295
- borderColor: "neutral150",
296
- tag: "header",
297
- children: [
298
- /*#__PURE__*/ jsxRuntime.jsxs(TitleContainer, {
299
- height: "100%",
300
- paddingLeft: 2,
301
- paddingRight: 4,
302
- children: [
303
- /*#__PURE__*/ jsxRuntime.jsx(ClosePreviewButton, {}),
304
- /*#__PURE__*/ jsxRuntime.jsx(PreviewTitle, {
305
- tag: "h1",
306
- title: title,
307
- maxWidth: "200px",
308
- fontSize: 2,
309
- paddingLeft: 2,
310
- paddingRight: 3,
311
- fontWeight: 600,
312
- children: title
313
- }),
314
- /*#__PURE__*/ jsxRuntime.jsx(Status, {})
315
- ]
316
- }),
317
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
318
- flex: 1,
319
- paddingRight: 2,
320
- justifyContent: "space-between",
321
- children: [
322
- /*#__PURE__*/ jsxRuntime.jsx(PreviewTabs, {}),
323
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
324
- type: "button",
325
- label: formatMessage({
326
- id: 'preview.copy.label',
327
- defaultMessage: 'Copy preview link'
328
- }),
329
- onClick: handleCopyLink,
330
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {})
331
- })
332
- ]
333
- })
334
- ]
335
- });
336
- };
337
- const PreviewHeader = ()=>{
251
+ * -----------------------------------------------------------------------------------------------*/ const PreviewHeader = ()=>{
338
252
  // Get the document title
339
253
  const title = usePreviewContext('PreviewHeader', (state)=>state.title);
340
254
  const { formatMessage } = reactIntl.useIntl();
@@ -410,9 +324,6 @@ const PreviewTitle = styledComponents.styled(designSystem.Typography)`
410
324
  const StatusTab = styledComponents.styled(designSystem.Tabs.Trigger)`
411
325
  text-transform: uppercase;
412
326
  `;
413
- const TitleContainer = styledComponents.styled(designSystem.Flex)`
414
- border-right: 1px solid ${({ theme })=>theme.colors.neutral150};
415
- `;
416
327
 
417
328
  const [PreviewProvider, usePreviewContext] = strapiAdmin.createContext('PreviewPage');
418
329
  /* -------------------------------------------------------------------------------------------------
@@ -478,21 +389,14 @@ const [PreviewProvider, usePreviewContext] = strapiAdmin.createContext('PreviewP
478
389
  title: documentTitle,
479
390
  meta: documentResponse.meta,
480
391
  schema: documentResponse.schema,
481
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
392
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
482
393
  direction: "column",
483
394
  height: "100%",
484
395
  alignItems: "stretch",
485
- children: window.strapi.future.isEnabled('unstablePreviewSideEditor') ? /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
486
- children: [
487
- /*#__PURE__*/ jsxRuntime.jsx(UnstablePreviewHeader, {}),
488
- /*#__PURE__*/ jsxRuntime.jsx(UnstablePreviewContent, {})
489
- ]
490
- }) : /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
491
- children: [
492
- /*#__PURE__*/ jsxRuntime.jsx(PreviewHeader, {}),
493
- /*#__PURE__*/ jsxRuntime.jsx(PreviewContent, {})
494
- ]
495
- })
396
+ children: [
397
+ /*#__PURE__*/ jsxRuntime.jsx(PreviewHeader, {}),
398
+ /*#__PURE__*/ jsxRuntime.jsx(PreviewContent, {})
399
+ ]
496
400
  })
497
401
  })
498
402
  ]
@@ -550,4 +454,4 @@ const ProtectedPreviewPage = ()=>{
550
454
 
551
455
  exports.ProtectedPreviewPage = ProtectedPreviewPage;
552
456
  exports.usePreviewContext = usePreviewContext;
553
- //# sourceMappingURL=Preview-DBvmhR7Q.js.map
457
+ //# sourceMappingURL=Preview-DRtWRrYn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Preview-DRtWRrYn.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 /**\n * For some reason, changing an iframe's src tag causes the browser to add a new item in the\n * history stack. This is an issue for us as it means clicking the back button will not let us\n * go back to the edit view. To fix it, we need to trick the browser into thinking this is a\n * different iframe when the preview URL changes. So we set a key prop to force React\n * to mount a different node when the src changes.\n */\n key={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 { IconButton, Tabs, Typography, Grid } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\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 const locationIndex = useHistory('BackButton', (state) => state.currentLocationIndex);\n\n /**\n * Get the link destination from the history.\n * Rely on a fallback (the parent edit view page) if there's no page to go back .\n */\n const historyTo = canGoBack ? history.at(locationIndex - 2) : undefined;\n const fallback = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n } satisfies To;\n const toWithFallback = historyTo ?? fallback;\n\n const handleClick = (e: React.MouseEvent) => {\n if (canGoBack) {\n // Prevent normal link behavior, go back in the history stack instead\n e.preventDefault();\n goBack();\n return;\n }\n\n // Otherwise rely on native link behavior to go back to the edit view. We don't use navigate()\n // here in order to get the relative=\"path\" functionality from the Link component.\n };\n\n return (\n <IconButton\n tag={Link}\n relative=\"path\"\n to={toWithFallback}\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 * Status\n * -----------------------------------------------------------------------------------------------*/\n\nconst Status = () => {\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\n if (!hasDraftAndPublished) {\n return null;\n }\n\n const status = getDocumentStatus(document, meta);\n\n return <DocumentStatus status={status} size=\"XS\" />;\n};\n\nconst PreviewTabs = () => {\n const { formatMessage } = useIntl();\n\n // URL query params\n const [{ query }, setQuery] = useQueryParams<{ status: 'draft' | 'published' }>();\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 hasDraftAndPublish = schema?.options?.draftAndPublish ?? false;\n const documentStatus = getDocumentStatus(document, meta);\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n if (!hasDraftAndPublish) {\n return null;\n }\n\n return (\n <>\n <Tabs.Root variant=\"simple\" value={query.status || 'draft'} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'preview.tabs.label',\n defaultMessage: 'Document status',\n })}\n >\n <StatusTab value=\"draft\">\n {formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab value=\"published\" disabled={documentStatus === 'draft'}>\n {formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs.List>\n </Tabs.Root>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewHeader = () => {\n // Get the document title\n const title = usePreviewContext('PreviewHeader', (state) => state.title);\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 <Grid.Root\n gap={3}\n gridCols={3}\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n borderColor=\"neutral150\"\n tag=\"header\"\n >\n {/* Title and status */}\n <Grid.Item xs={1} paddingTop={2} paddingBottom={2} gap={3}>\n <ClosePreviewButton />\n <PreviewTitle tag=\"h1\" fontWeight={600} fontSize={2} maxWidth=\"200px\" title={title}>\n {title}\n </PreviewTitle>\n <Status />\n </Grid.Item>\n {/* Tabs */}\n <Grid.Item xs={1} marginBottom=\"-1px\" alignItems=\"end\" margin=\"auto\">\n <PreviewTabs />\n </Grid.Item>\n {/* Copy link */}\n <Grid.Item xs={1} justifyContent=\"end\" paddingTop={2} paddingBottom={2}>\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 </Grid.Item>\n </Grid.Root>\n );\n};\n\nconst PreviewTitle = styled(Typography)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\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 title: 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\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 const documentTitle = documentResponse.getTitle(documentLayoutResponse.edit.settings.mainField);\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: documentTitle,\n }\n )}\n </Page.Title>\n <PreviewProvider\n url={previewUrlResponse.data.data.url}\n document={documentResponse.document}\n title={documentTitle}\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":["PreviewContent","previewUrl","usePreviewContext","state","url","formatMessage","useIntl","_jsx","Box","src","title","id","defaultMessage","width","height","borderWidth","tag","ClosePreviewButton","query","useQueryParams","canGoBack","useHistory","goBack","history","locationIndex","currentLocationIndex","historyTo","at","undefined","fallback","pathname","search","stringify","encode","toWithFallback","handleClick","e","preventDefault","IconButton","Link","relative","to","onClick","label","Cross","Status","document","schema","meta","hasDraftAndPublished","options","draftAndPublish","status","getDocumentStatus","DocumentStatus","size","PreviewTabs","setQuery","hasDraftAndPublish","documentStatus","handleTabChange","_Fragment","Tabs","Root","variant","value","onValueChange","_jsxs","List","aria-label","StatusTab","disabled","PreviewHeader","toggleNotification","useNotification","copy","useClipboard","handleCopyLink","window","location","href","message","type","Grid","gap","gridCols","paddingLeft","paddingRight","background","borderColor","Item","xs","paddingTop","paddingBottom","PreviewTitle","fontWeight","fontSize","maxWidth","marginBottom","alignItems","margin","justifyContent","LinkIcon","styled","Typography","Trigger","PreviewProvider","createContext","PreviewPage","slug","model","documentId","collectionType","useParams","params","React","useMemo","buildValidParams","Error","COLLECTION_TYPES","previewUrlResponse","useGetPreviewUrlQuery","contentType","locale","documentResponse","useDocument","documentLayoutResponse","useDocumentLayout","isLoading","Page","Loading","error","data","NoData","documentTitle","getTitle","edit","settings","mainField","Title","Flex","direction","ProtectedPreviewPageImpl","permissions","useRBAC","action","subject","position","top","left","zIndex","Protect","DocumentRBAC","ProtectedPreviewPage","Portal","FocusTrap"],"mappings":"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"}
@@ -10,9 +10,9 @@ import { useIntl } from 'react-intl';
10
10
  import { NavLink } from 'react-router-dom';
11
11
  import { FixedSizeList } from 'react-window';
12
12
  import { styled } from 'styled-components';
13
- import { c as useDoc, d as buildValidParams, C as COLLECTION_TYPES, g as getTranslation, D as DocumentStatus } from './index-BkyR-Bnu.js';
13
+ import { c as useDoc, d as buildValidParams, C as COLLECTION_TYPES, g as getTranslation, D as DocumentStatus } from './index-DfEfFmQC.js';
14
14
  import { u as useDragAndDrop, I as ItemTypes, D as DROP_SENSITIVITY } from './useDragAndDrop-HYwNDExe.js';
15
- import { u as useGetRelationsQuery, g as getRelationLabel, a as useDebounce, b as useLazySearchRelationsQuery } from './relations-DPVgU_rq.js';
15
+ import { u as useGetRelationsQuery, g as getRelationLabel, a as useLazySearchRelationsQuery } from './relations-xwSNlsdc.js';
16
16
 
17
17
  /**
18
18
  * We use this component to wrap any individual component field in the Edit View,
@@ -311,7 +311,6 @@ const ONE_WAY_RELATIONS = [
311
311
  const { formatMessage } = useIntl();
312
312
  const fieldRef = useFocusInputField(name);
313
313
  const field = useField(name);
314
- const searchParamsDebounced = useDebounce(searchParams, 300);
315
314
  const [searchForTrigger, { data, isLoading }] = useLazySearchRelationsQuery();
316
315
  /**
317
316
  * Because we're using a lazy query, we need to trigger the search
@@ -334,7 +333,7 @@ const ONE_WAY_RELATIONS = [
334
333
  pageSize: 10,
335
334
  idsToInclude: field.value?.disconnect?.map((rel)=>rel.id.toString()) ?? [],
336
335
  idsToOmit: field.value?.connect?.map((rel)=>rel.id.toString()) ?? [],
337
- ...searchParamsDebounced
336
+ ...searchParams
338
337
  }
339
338
  });
340
339
  }, [
@@ -345,7 +344,7 @@ const ONE_WAY_RELATIONS = [
345
344
  name,
346
345
  query,
347
346
  searchForTrigger,
348
- searchParamsDebounced
347
+ searchParams
349
348
  ]);
350
349
  const handleSearch = async (search)=>{
351
350
  setSearchParams((s)=>({
@@ -824,4 +823,4 @@ const RelationItemPlaceholder = ()=>/*#__PURE__*/ jsx(Box, {
824
823
  const MemoizedRelationsField = /*#__PURE__*/ React.memo(RelationsField);
825
824
 
826
825
  export { ComponentProvider as C, DisconnectButton as D, FlexWrapper as F, LinkEllipsis as L, MemoizedRelationsField as M, useComponent as u };
827
- //# sourceMappingURL=Relations-Cn0atFpd.js.map
826
+ //# sourceMappingURL=Relations-B1i77Jba.js.map