@prenta/admin 1.0.0 → 1.2.0
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.
- package/CHANGELOG.md +12 -0
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js +5 -56
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/components/breakpoint-controls.render.test.js +4 -4
- package/dist/__tests__/components/breakpoint-controls.render.test.js.map +1 -1
- package/dist/__tests__/lib/canvas-edit-chrome.test.js +1 -22
- package/dist/__tests__/lib/canvas-edit-chrome.test.js.map +1 -1
- package/dist/__tests__/lib/open-public-site-tab.test.d.ts +2 -0
- package/dist/__tests__/lib/open-public-site-tab.test.d.ts.map +1 -0
- package/dist/__tests__/lib/open-public-site-tab.test.js +64 -0
- package/dist/__tests__/lib/open-public-site-tab.test.js.map +1 -0
- package/dist/__tests__/lib/preview-bridge.test.js +19 -79
- package/dist/__tests__/lib/preview-bridge.test.js.map +1 -1
- package/dist/__tests__/lib/view-site-chrome.test.d.ts +2 -0
- package/dist/__tests__/lib/view-site-chrome.test.d.ts.map +1 -0
- package/dist/__tests__/lib/view-site-chrome.test.js +69 -0
- package/dist/__tests__/lib/view-site-chrome.test.js.map +1 -0
- package/dist/__tests__/router/admin-routes.test.js +4 -0
- package/dist/__tests__/router/admin-routes.test.js.map +1 -1
- package/dist/__tests__/views/canvas-review-mode.render.test.js +11 -1
- package/dist/__tests__/views/canvas-review-mode.render.test.js.map +1 -1
- package/dist/__tests__/views/canvas-surface-shared.test.js +0 -16
- package/dist/__tests__/views/canvas-surface-shared.test.js.map +1 -1
- package/dist/__tests__/views/editor-top-bar.render.test.js +52 -22
- package/dist/__tests__/views/editor-top-bar.render.test.js.map +1 -1
- package/dist/__tests__/views/page-section-editor.test.js +53 -18
- package/dist/__tests__/views/page-section-editor.test.js.map +1 -1
- package/dist/__tests__/views/post-section-editor.test.js +23 -0
- package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
- package/dist/components/BreakpointPicker.d.ts +3 -2
- package/dist/components/BreakpointPicker.d.ts.map +1 -1
- package/dist/components/BreakpointPicker.js +5 -3
- package/dist/components/BreakpointPicker.js.map +1 -1
- package/dist/components/CanvasEditTip.js +1 -1
- package/dist/components/CanvasEditTip.js.map +1 -1
- package/dist/lib/canvas-edit-chrome.d.ts +0 -17
- package/dist/lib/canvas-edit-chrome.d.ts.map +1 -1
- package/dist/lib/canvas-edit-chrome.js +0 -62
- package/dist/lib/canvas-edit-chrome.js.map +1 -1
- package/dist/lib/editor-preview.d.ts +4 -1
- package/dist/lib/editor-preview.d.ts.map +1 -1
- package/dist/lib/editor-preview.js +4 -1
- package/dist/lib/editor-preview.js.map +1 -1
- package/dist/lib/open-public-site-tab.d.ts +14 -0
- package/dist/lib/open-public-site-tab.d.ts.map +1 -0
- package/dist/lib/open-public-site-tab.js +46 -0
- package/dist/lib/open-public-site-tab.js.map +1 -0
- package/dist/lib/preview-bridge.d.ts +7 -74
- package/dist/lib/preview-bridge.d.ts.map +1 -1
- package/dist/lib/preview-bridge.js +12 -73
- package/dist/lib/preview-bridge.js.map +1 -1
- package/dist/lib/view-site-chrome.d.ts +19 -0
- package/dist/lib/view-site-chrome.d.ts.map +1 -0
- package/dist/lib/view-site-chrome.js +24 -0
- package/dist/lib/view-site-chrome.js.map +1 -0
- package/dist/router/admin-routes.d.ts.map +1 -1
- package/dist/router/admin-routes.js +0 -2
- package/dist/router/admin-routes.js.map +1 -1
- package/dist/views/page-editor/EditorCanvas.d.ts +2 -3
- package/dist/views/page-editor/EditorCanvas.d.ts.map +1 -1
- package/dist/views/page-editor/EditorCanvas.js +2 -2
- package/dist/views/page-editor/EditorCanvas.js.map +1 -1
- package/dist/views/page-editor/EditorTopBar.d.ts +15 -17
- package/dist/views/page-editor/EditorTopBar.d.ts.map +1 -1
- package/dist/views/page-editor/EditorTopBar.js +20 -21
- package/dist/views/page-editor/EditorTopBar.js.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.d.ts +1 -7
- package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.js +36 -141
- package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
- package/dist/views/page-editor/StructureNotice.d.ts +2 -5
- package/dist/views/page-editor/StructureNotice.d.ts.map +1 -1
- package/dist/views/page-editor/StructureNotice.js +6 -10
- package/dist/views/page-editor/StructureNotice.js.map +1 -1
- package/dist/views/page-editor/sections/SectionRenderer.d.ts +1 -1
- package/dist/views/page-editor/sections/SectionRenderer.d.ts.map +1 -1
- package/dist/views/page-editor/sections/SectionRenderer.js +2 -1
- package/dist/views/page-editor/sections/SectionRenderer.js.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.d.ts +2 -4
- package/dist/views/post-editor/PostEditorCanvas.d.ts.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.js +3 -3
- package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.d.ts +1 -15
- package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.js +36 -128
- package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
- package/dist/views/settings/SeoSettingsTab.d.ts.map +1 -1
- package/dist/views/settings/SeoSettingsTab.js +2 -1
- package/dist/views/settings/SeoSettingsTab.js.map +1 -1
- package/dist/views/settings/SiteInformationCard.d.ts.map +1 -1
- package/dist/views/settings/SiteInformationCard.js +3 -1
- package/dist/views/settings/SiteInformationCard.js.map +1 -1
- package/package.json +6 -6
- package/src/AdminRoot.tsx +0 -70
- package/src/__tests__/components/breakpoint-controls.render.test.tsx +6 -4
- package/src/__tests__/lib/canvas-edit-chrome.test.ts +0 -27
- package/src/__tests__/lib/open-public-site-tab.test.ts +74 -0
- package/src/__tests__/lib/preview-bridge.test.ts +21 -110
- package/src/__tests__/lib/view-site-chrome.test.ts +80 -0
- package/src/__tests__/router/admin-routes.test.ts +5 -0
- package/src/__tests__/views/canvas-review-mode.render.test.tsx +14 -1
- package/src/__tests__/views/canvas-surface-shared.test.ts +0 -19
- package/src/__tests__/views/editor-top-bar.render.test.tsx +104 -22
- package/src/__tests__/views/page-section-editor.test.tsx +65 -22
- package/src/__tests__/views/post-section-editor.test.tsx +35 -0
- package/src/components/BreakpointPicker.tsx +6 -3
- package/src/components/CanvasEditTip.tsx +2 -2
- package/src/lib/canvas-edit-chrome.ts +0 -64
- package/src/lib/editor-preview.ts +4 -1
- package/src/lib/open-public-site-tab.ts +57 -0
- package/src/lib/preview-bridge.ts +11 -157
- package/src/lib/view-site-chrome.ts +46 -0
- package/src/router/admin-routes.ts +0 -2
- package/src/styles/theme.css +4 -4
- package/src/views/page-editor/EditorCanvas.tsx +2 -7
- package/src/views/page-editor/EditorTopBar.tsx +85 -82
- package/src/views/page-editor/PageSectionEditor.tsx +83 -220
- package/src/views/page-editor/StructureNotice.tsx +7 -42
- package/src/views/page-editor/sections/SectionRenderer.tsx +5 -2
- package/src/views/post-editor/PostEditorCanvas.tsx +3 -9
- package/src/views/post-editor/PostSectionEditor.tsx +71 -195
- package/src/views/settings/SeoSettingsTab.tsx +21 -0
- package/src/views/settings/SiteInformationCard.tsx +7 -0
- package/dist/__tests__/views/use-site-preview.render.test.d.ts +0 -2
- package/dist/__tests__/views/use-site-preview.render.test.d.ts.map +0 -1
- package/dist/__tests__/views/use-site-preview.render.test.js +0 -120
- package/dist/__tests__/views/use-site-preview.render.test.js.map +0 -1
- package/dist/views/page-editor/PagePreview.d.ts +0 -13
- package/dist/views/page-editor/PagePreview.d.ts.map +0 -1
- package/dist/views/page-editor/PagePreview.js +0 -46
- package/dist/views/page-editor/PagePreview.js.map +0 -1
- package/dist/views/page-editor/SitePreviewFrame.d.ts +0 -43
- package/dist/views/page-editor/SitePreviewFrame.d.ts.map +0 -1
- package/dist/views/page-editor/SitePreviewFrame.js +0 -165
- package/dist/views/page-editor/SitePreviewFrame.js.map +0 -1
- package/dist/views/page-editor/useSitePreview.d.ts +0 -47
- package/dist/views/page-editor/useSitePreview.d.ts.map +0 -1
- package/dist/views/page-editor/useSitePreview.js +0 -96
- package/dist/views/page-editor/useSitePreview.js.map +0 -1
- package/dist/views/post-editor/PostPreview.d.ts +0 -14
- package/dist/views/post-editor/PostPreview.d.ts.map +0 -1
- package/dist/views/post-editor/PostPreview.js +0 -63
- package/dist/views/post-editor/PostPreview.js.map +0 -1
- package/src/__tests__/views/use-site-preview.render.test.tsx +0 -164
- package/src/views/page-editor/PagePreview.tsx +0 -105
- package/src/views/page-editor/SitePreviewFrame.tsx +0 -250
- package/src/views/page-editor/useSitePreview.ts +0 -158
- package/src/views/post-editor/PostPreview.tsx +0 -125
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasEditTip.js","sourceRoot":"","sources":["../../src/components/CanvasEditTip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAE7F;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACzC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,OAAO,CACL,eACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,sIAAsI,aAEhJ,KAAC,iBAAiB,IAAC,SAAS,EAAC,6CAA6C,wBAAe,EACzF,aAAG,SAAS,EAAC,8BAA8B,aACzC,eAAM,SAAS,EAAC,6BAA6B,4BAAmB,EAC/D,KAAK,0GAEI,eAAM,SAAS,EAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"CanvasEditTip.js","sourceRoot":"","sources":["../../src/components/CanvasEditTip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAE7F;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACzC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,OAAO,CACL,eACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,sIAAsI,aAEhJ,KAAC,iBAAiB,IAAC,SAAS,EAAC,6CAA6C,wBAAe,EACzF,aAAG,SAAS,EAAC,8BAA8B,aACzC,eAAM,SAAS,EAAC,6BAA6B,4BAAmB,EAC/D,KAAK,0GAEI,eAAM,SAAS,EAAC,6BAA6B,0BAAiB,6BAEtE,EACJ,iBACE,IAAI,EAAC,QAAQ,gBACF,qBAAqB,EAChC,OAAO,EAAE,GAAG,EAAE;oBACZ,oBAAoB,EAAE,CAAA;oBACtB,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC,EACD,SAAS,EAAC,+LAA+L,YAEzM,KAAC,CAAC,IAAC,SAAS,EAAC,aAAa,wBAAe,GAClC,IACL,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared edit affordances for the page/post canvas and Site preview iframe.
|
|
3
|
-
*
|
|
4
|
-
* Structure canvas: section hover is styled in `theme.css` under `.prenta-canvas`.
|
|
5
|
-
* Site preview: the same field chrome is injected into the iframe document when
|
|
6
|
-
* same-origin (CMS-host preview) so consumers get hover borders without shipping CSS.
|
|
7
|
-
*/
|
|
8
1
|
/** localStorage key for the dismissible canvas tip. */
|
|
9
2
|
export declare const CANVAS_EDIT_TIP_STORAGE_KEY = "prenta.canvasEditTip.dismissed";
|
|
10
|
-
/**
|
|
11
|
-
* CSS injected into the Site preview iframe while editing is enabled.
|
|
12
|
-
* Uses system colors so it works without admin theme tokens in the iframe.
|
|
13
|
-
*/
|
|
14
|
-
export declare const PREVIEW_EDITABLE_FIELD_CHROME_CSS: string;
|
|
15
|
-
/**
|
|
16
|
-
* Inject (or refresh) editable-field hover chrome into a same-origin preview
|
|
17
|
-
* iframe. No-ops on cross-origin frames (browser blocks contentDocument).
|
|
18
|
-
*/
|
|
19
|
-
export declare function injectPreviewEditChrome(iframe: HTMLIFrameElement | null): boolean;
|
|
20
3
|
export declare function isCanvasEditTipDismissed(): boolean;
|
|
21
4
|
export declare function dismissCanvasEditTip(): void;
|
|
22
5
|
//# sourceMappingURL=canvas-edit-chrome.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-edit-chrome.d.ts","sourceRoot":"","sources":["../../src/lib/canvas-edit-chrome.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canvas-edit-chrome.d.ts","sourceRoot":"","sources":["../../src/lib/canvas-edit-chrome.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,eAAO,MAAM,2BAA2B,mCAAmC,CAAA;AAE3E,wBAAgB,wBAAwB,IAAI,OAAO,CAMlD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C"}
|
|
@@ -1,67 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared edit affordances for the page/post canvas and Site preview iframe.
|
|
3
|
-
*
|
|
4
|
-
* Structure canvas: section hover is styled in `theme.css` under `.prenta-canvas`.
|
|
5
|
-
* Site preview: the same field chrome is injected into the iframe document when
|
|
6
|
-
* same-origin (CMS-host preview) so consumers get hover borders without shipping CSS.
|
|
7
|
-
*/
|
|
8
1
|
/** localStorage key for the dismissible canvas tip. */
|
|
9
2
|
export const CANVAS_EDIT_TIP_STORAGE_KEY = 'prenta.canvasEditTip.dismissed';
|
|
10
|
-
/**
|
|
11
|
-
* CSS injected into the Site preview iframe while editing is enabled.
|
|
12
|
-
* Uses system colors so it works without admin theme tokens in the iframe.
|
|
13
|
-
*/
|
|
14
|
-
export const PREVIEW_EDITABLE_FIELD_CHROME_CSS = `
|
|
15
|
-
/* Prenta Site preview — editable field hover chrome (injected by @prenta/admin) */
|
|
16
|
-
[data-cms-field] {
|
|
17
|
-
outline: 1px solid transparent;
|
|
18
|
-
outline-offset: 2px;
|
|
19
|
-
border-radius: 2px;
|
|
20
|
-
transition: outline-color 120ms ease;
|
|
21
|
-
cursor: text;
|
|
22
|
-
}
|
|
23
|
-
[data-cms-field]:hover,
|
|
24
|
-
[data-cms-field]:focus,
|
|
25
|
-
[data-cms-field]:focus-within {
|
|
26
|
-
outline-color: color-mix(in oklab, CanvasText 24%, transparent);
|
|
27
|
-
}
|
|
28
|
-
[data-cms-field][data-cms-field-kind="media"] {
|
|
29
|
-
cursor: pointer;
|
|
30
|
-
}
|
|
31
|
-
[data-cms-field][data-cms-field-kind="media"]:hover,
|
|
32
|
-
[data-cms-field][data-cms-field-kind="media"]:focus {
|
|
33
|
-
outline-color: color-mix(in oklab, CanvasText 32%, transparent);
|
|
34
|
-
}
|
|
35
|
-
@media (prefers-reduced-motion: reduce) {
|
|
36
|
-
[data-cms-field] {
|
|
37
|
-
transition: none;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
`.trim();
|
|
41
|
-
const STYLE_ATTR = 'data-prenta-edit-chrome';
|
|
42
|
-
/**
|
|
43
|
-
* Inject (or refresh) editable-field hover chrome into a same-origin preview
|
|
44
|
-
* iframe. No-ops on cross-origin frames (browser blocks contentDocument).
|
|
45
|
-
*/
|
|
46
|
-
export function injectPreviewEditChrome(iframe) {
|
|
47
|
-
try {
|
|
48
|
-
const doc = iframe?.contentDocument;
|
|
49
|
-
if (!doc?.head)
|
|
50
|
-
return false;
|
|
51
|
-
let style = doc.head.querySelector(`style[${STYLE_ATTR}]`);
|
|
52
|
-
if (!style) {
|
|
53
|
-
style = doc.createElement('style');
|
|
54
|
-
style.setAttribute(STYLE_ATTR, '1');
|
|
55
|
-
doc.head.appendChild(style);
|
|
56
|
-
}
|
|
57
|
-
style.textContent = PREVIEW_EDITABLE_FIELD_CHROME_CSS;
|
|
58
|
-
doc.documentElement.setAttribute('data-prenta-preview-editing', 'true');
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
3
|
export function isCanvasEditTipDismissed() {
|
|
66
4
|
try {
|
|
67
5
|
return localStorage.getItem(CANVAS_EDIT_TIP_STORAGE_KEY) === '1';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-edit-chrome.js","sourceRoot":"","sources":["../../src/lib/canvas-edit-chrome.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canvas-edit-chrome.js","sourceRoot":"","sources":["../../src/lib/canvas-edit-chrome.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,gCAAgC,CAAA;AAE3E,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAA;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { AdminEditorConfig } from '@prenta/core';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Ignored by the editors; returns the old boolean for compatibility only.
|
|
4
|
+
* The page and post editors no longer mount an inline site-preview iframe.
|
|
5
|
+
*/
|
|
3
6
|
export declare function resolveDefaultSitePreview(editor: AdminEditorConfig | undefined, kind: 'pages' | 'posts'): boolean;
|
|
4
7
|
//# sourceMappingURL=editor-preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-preview.d.ts","sourceRoot":"","sources":["../../src/lib/editor-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD
|
|
1
|
+
{"version":3,"file":"editor-preview.d.ts","sourceRoot":"","sources":["../../src/lib/editor-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,IAAI,EAAE,OAAO,GAAG,OAAO,GACtB,OAAO,CAKT"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Ignored by the editors; returns the old boolean for compatibility only.
|
|
3
|
+
* The page and post editors no longer mount an inline site-preview iframe.
|
|
4
|
+
*/
|
|
2
5
|
export function resolveDefaultSitePreview(editor, kind) {
|
|
3
6
|
const setting = editor?.defaultSitePreview;
|
|
4
7
|
if (setting === true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-preview.js","sourceRoot":"","sources":["../../src/lib/editor-preview.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"editor-preview.js","sourceRoot":"","sources":["../../src/lib/editor-preview.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAqC,EACrC,IAAuB;IAEvB,MAAM,OAAO,GAAG,MAAM,EAAE,kBAAkB,CAAA;IAC1C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACtD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAA;AAC3E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ViewSiteIntent } from './view-site-chrome.js';
|
|
2
|
+
export declare function openPublicSiteTab(opts: {
|
|
3
|
+
intent: ViewSiteIntent;
|
|
4
|
+
siteUrl: string;
|
|
5
|
+
collection: string;
|
|
6
|
+
documentId: string;
|
|
7
|
+
slug: string;
|
|
8
|
+
path?: string | null;
|
|
9
|
+
urlPrefix?: string;
|
|
10
|
+
data?: Record<string, unknown> | null;
|
|
11
|
+
dirty: boolean;
|
|
12
|
+
saveDraft: () => Promise<boolean>;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=open-public-site-tab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-public-site-tab.d.ts","sourceRoot":"","sources":["../../src/lib/open-public-site-tab.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { toast } from 'sonner';
|
|
2
|
+
import { buildPublicPreviewUrl, buildPublicUrl, createPreviewToken } from './preview-link.js';
|
|
3
|
+
import { NO_PUBLIC_SITE_URL_REASON } from './view-site-chrome.js';
|
|
4
|
+
export async function openPublicSiteTab(opts) {
|
|
5
|
+
const siteUrl = opts.siteUrl.trim();
|
|
6
|
+
if (!siteUrl)
|
|
7
|
+
throw new Error(NO_PUBLIC_SITE_URL_REASON);
|
|
8
|
+
const parts = {
|
|
9
|
+
siteUrl,
|
|
10
|
+
urlPrefix: opts.urlPrefix ?? '',
|
|
11
|
+
slug: opts.slug,
|
|
12
|
+
path: opts.path,
|
|
13
|
+
data: opts.data,
|
|
14
|
+
};
|
|
15
|
+
if (opts.intent === 'view-live') {
|
|
16
|
+
window.open(buildPublicUrl(parts), '_blank', 'noopener');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const tab = window.open('about:blank', '_blank');
|
|
20
|
+
if (!tab) {
|
|
21
|
+
toast.error('Enable pop-ups for this site to open the preview in a new tab.');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
if (opts.dirty) {
|
|
26
|
+
const ok = await opts.saveDraft();
|
|
27
|
+
if (!ok) {
|
|
28
|
+
tab.close();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const { token } = await createPreviewToken(opts.collection, opts.documentId);
|
|
33
|
+
try {
|
|
34
|
+
tab.opener = null;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
/* same-origin guard */
|
|
38
|
+
}
|
|
39
|
+
tab.location.replace(buildPublicPreviewUrl({ ...parts, token }));
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
tab.close();
|
|
43
|
+
throw err;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=open-public-site-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-public-site-tab.js","sourceRoot":"","sources":["../../src/lib/open-public-site-tab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAuB,MAAM,uBAAuB,CAAA;AAEtF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAWvC;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAExD,MAAM,KAAK,GAAG;QACZ,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAA;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QACxD,OAAM;IACR,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,KAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAC7E,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACjC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,GAAG,CAAC,KAAK,EAAE,CAAA;gBACX,OAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAC5E,IAAI,CAAC;YACH,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,EAAE,CAAA;QACX,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -1,73 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Next editing canvas (iframe). Namespaced with colons so it does not collide
|
|
4
|
-
* with the legacy `prenta-preview-update` DocumentEdit bus.
|
|
2
|
+
* Field-path helpers shared by the editor canvas and the inspector.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
4
|
+
* The old `prenta-preview:*` postMessage protocol is gone — View site opens a
|
|
5
|
+
* normal tab and does not talk back. `data-cms-field` on first-party section
|
|
6
|
+
* renderers still feeds the reflow guard and canvas field-focus.
|
|
7
7
|
*/
|
|
8
|
-
export declare const PREVIEW_BRIDGE_VERSION: 1;
|
|
9
|
-
/** Debounce for live section pushes while typing in the inspector. */
|
|
10
|
-
export declare const PREVIEW_SECTIONS_DEBOUNCE_MS = 120;
|
|
11
|
-
export type PreviewBridgeMessageType = 'prenta-preview:ready' | 'prenta-preview:select' | 'prenta-preview:highlight' | 'prenta-preview:sections' | 'prenta-preview:mode' | 'prenta-preview:edit' | 'prenta-preview:request-media';
|
|
12
|
-
export interface PreviewBridgeEnvelope {
|
|
13
|
-
type: PreviewBridgeMessageType;
|
|
14
|
-
v: typeof PREVIEW_BRIDGE_VERSION;
|
|
15
|
-
}
|
|
16
|
-
export interface PreviewReadyMessage extends PreviewBridgeEnvelope {
|
|
17
|
-
type: 'prenta-preview:ready';
|
|
18
|
-
}
|
|
19
|
-
export interface PreviewSelectMessage extends PreviewBridgeEnvelope {
|
|
20
|
-
type: 'prenta-preview:select';
|
|
21
|
-
sectionId: string;
|
|
22
|
-
fieldPath?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface PreviewHighlightMessage extends PreviewBridgeEnvelope {
|
|
25
|
-
type: 'prenta-preview:highlight';
|
|
26
|
-
sectionId: string | null;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Opaque JSON object on the wire. Uses `object` (not `Record<string, unknown>`)
|
|
30
|
-
* so concrete editor interfaces like `SectionSettings` remain assignable.
|
|
31
|
-
*/
|
|
32
|
-
export type PreviewObjectPayload = object;
|
|
33
|
-
/** Wire shape for live canvas updates — matches `PublicSection` / editor sections. */
|
|
34
|
-
export interface PreviewSectionPayload {
|
|
35
|
-
id: string;
|
|
36
|
-
sectionType: string;
|
|
37
|
-
name?: string;
|
|
38
|
-
visible?: boolean;
|
|
39
|
-
content?: PreviewObjectPayload;
|
|
40
|
-
settings?: PreviewObjectPayload;
|
|
41
|
-
unmanaged?: boolean;
|
|
42
|
-
}
|
|
43
|
-
export interface PreviewSectionsMessage extends PreviewBridgeEnvelope {
|
|
44
|
-
type: 'prenta-preview:sections';
|
|
45
|
-
sections: PreviewSectionPayload[];
|
|
46
|
-
}
|
|
47
|
-
/** Admin → canvas: enable/disable inline editing affordances. */
|
|
48
|
-
export interface PreviewModeMessage extends PreviewBridgeEnvelope {
|
|
49
|
-
type: 'prenta-preview:mode';
|
|
50
|
-
editing: boolean;
|
|
51
|
-
}
|
|
52
|
-
/** Canvas → admin: text field edit from contenteditable. */
|
|
53
|
-
export interface PreviewEditMessage extends PreviewBridgeEnvelope {
|
|
54
|
-
type: 'prenta-preview:edit';
|
|
55
|
-
sectionId: string;
|
|
56
|
-
fieldPath: string;
|
|
57
|
-
value: string;
|
|
58
|
-
}
|
|
59
|
-
/** Canvas → admin: open media picker for an image field. */
|
|
60
|
-
export interface PreviewRequestMediaMessage extends PreviewBridgeEnvelope {
|
|
61
|
-
type: 'prenta-preview:request-media';
|
|
62
|
-
sectionId: string;
|
|
63
|
-
fieldPath: string;
|
|
64
|
-
}
|
|
65
|
-
export type PreviewBridgeMessage = PreviewReadyMessage | PreviewSelectMessage | PreviewHighlightMessage | PreviewSectionsMessage | PreviewModeMessage | PreviewEditMessage | PreviewRequestMediaMessage;
|
|
66
|
-
export declare function isPreviewBridgeMessage(data: unknown): data is PreviewBridgeMessage;
|
|
67
|
-
export declare function isPreviewEditMessage(data: unknown): data is PreviewEditMessage;
|
|
68
|
-
export declare function isPreviewRequestMediaMessage(data: unknown): data is PreviewRequestMediaMessage;
|
|
69
|
-
export declare function isPreviewModeMessage(data: unknown): data is PreviewModeMessage;
|
|
70
|
-
export declare function canvasOriginFromSrc(src: string | null | undefined): string | null;
|
|
71
8
|
/**
|
|
72
9
|
* Map a dotted content field path (`lead`, `stats.0.num`) to the inspector
|
|
73
10
|
* input id (`insp-field-lead`, `insp-field-stats-0-num`). Same string shape
|
|
@@ -85,12 +22,8 @@ export declare function companionDimensionPaths(fieldPath: string): {
|
|
|
85
22
|
heightPath: string;
|
|
86
23
|
};
|
|
87
24
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
25
|
+
* Read `data-cms-field` from a canvas click target (or its ancestor).
|
|
26
|
+
* Used so a field click opens the accordion on the matching inspector input.
|
|
90
27
|
*/
|
|
91
|
-
export declare function
|
|
92
|
-
/** Strip editor chrome to the public wire shape before posting to the canvas. */
|
|
93
|
-
export declare function toPreviewSectionPayload(section: PreviewSectionPayload & {
|
|
94
|
-
internalLabel?: string;
|
|
95
|
-
}): PreviewSectionPayload;
|
|
28
|
+
export declare function fieldPathFromEventTarget(target: EventTarget | null): string | undefined;
|
|
96
29
|
//# sourceMappingURL=preview-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/preview-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"preview-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/preview-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB,CAqBA;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAKvF"}
|
|
@@ -1,55 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Next editing canvas (iframe). Namespaced with colons so it does not collide
|
|
4
|
-
* with the legacy `prenta-preview-update` DocumentEdit bus.
|
|
2
|
+
* Field-path helpers shared by the editor canvas and the inspector.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
4
|
+
* The old `prenta-preview:*` postMessage protocol is gone — View site opens a
|
|
5
|
+
* normal tab and does not talk back. `data-cms-field` on first-party section
|
|
6
|
+
* renderers still feeds the reflow guard and canvas field-focus.
|
|
7
7
|
*/
|
|
8
|
-
export const PREVIEW_BRIDGE_VERSION = 1;
|
|
9
|
-
/** Debounce for live section pushes while typing in the inspector. */
|
|
10
|
-
export const PREVIEW_SECTIONS_DEBOUNCE_MS = 120;
|
|
11
|
-
export function isPreviewBridgeMessage(data) {
|
|
12
|
-
if (!data || typeof data !== 'object')
|
|
13
|
-
return false;
|
|
14
|
-
const msg = data;
|
|
15
|
-
if (msg.v !== PREVIEW_BRIDGE_VERSION)
|
|
16
|
-
return false;
|
|
17
|
-
if (typeof msg.type !== 'string' || !msg.type.startsWith('prenta-preview:'))
|
|
18
|
-
return false;
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
export function isPreviewEditMessage(data) {
|
|
22
|
-
if (!isPreviewBridgeMessage(data) || data.type !== 'prenta-preview:edit')
|
|
23
|
-
return false;
|
|
24
|
-
return (typeof data.sectionId === 'string' &&
|
|
25
|
-
data.sectionId.length > 0 &&
|
|
26
|
-
typeof data.fieldPath === 'string' &&
|
|
27
|
-
data.fieldPath.length > 0 &&
|
|
28
|
-
typeof data.value === 'string');
|
|
29
|
-
}
|
|
30
|
-
export function isPreviewRequestMediaMessage(data) {
|
|
31
|
-
if (!isPreviewBridgeMessage(data) || data.type !== 'prenta-preview:request-media')
|
|
32
|
-
return false;
|
|
33
|
-
return (typeof data.sectionId === 'string' &&
|
|
34
|
-
data.sectionId.length > 0 &&
|
|
35
|
-
typeof data.fieldPath === 'string' &&
|
|
36
|
-
data.fieldPath.length > 0);
|
|
37
|
-
}
|
|
38
|
-
export function isPreviewModeMessage(data) {
|
|
39
|
-
if (!isPreviewBridgeMessage(data) || data.type !== 'prenta-preview:mode')
|
|
40
|
-
return false;
|
|
41
|
-
return typeof data.editing === 'boolean';
|
|
42
|
-
}
|
|
43
|
-
export function canvasOriginFromSrc(src) {
|
|
44
|
-
if (!src)
|
|
45
|
-
return null;
|
|
46
|
-
try {
|
|
47
|
-
return new URL(src, typeof window !== 'undefined' ? window.location.origin : undefined).origin;
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
8
|
/**
|
|
54
9
|
* Map a dotted content field path (`lead`, `stats.0.num`) to the inspector
|
|
55
10
|
* input id (`insp-field-lead`, `insp-field-stats-0-num`). Same string shape
|
|
@@ -92,30 +47,14 @@ export function companionDimensionPaths(fieldPath) {
|
|
|
92
47
|
};
|
|
93
48
|
}
|
|
94
49
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
50
|
+
* Read `data-cms-field` from a canvas click target (or its ancestor).
|
|
51
|
+
* Used so a field click opens the accordion on the matching inspector input.
|
|
97
52
|
*/
|
|
98
|
-
export function
|
|
99
|
-
if (
|
|
100
|
-
return
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (leaf === 'imageUrl' || leaf.endsWith('ImageUrl') || leaf === 'featuredImage')
|
|
105
|
-
return true;
|
|
106
|
-
// Gallery rows use `images.N.url` (not link CTAs).
|
|
107
|
-
return leaf === 'url' && fieldPath.includes('images.');
|
|
108
|
-
}
|
|
109
|
-
/** Strip editor chrome to the public wire shape before posting to the canvas. */
|
|
110
|
-
export function toPreviewSectionPayload(section) {
|
|
111
|
-
return {
|
|
112
|
-
id: section.id,
|
|
113
|
-
sectionType: section.sectionType,
|
|
114
|
-
name: section.name,
|
|
115
|
-
visible: section.visible,
|
|
116
|
-
content: section.content ?? {},
|
|
117
|
-
settings: section.settings ?? {},
|
|
118
|
-
unmanaged: section.unmanaged,
|
|
119
|
-
};
|
|
53
|
+
export function fieldPathFromEventTarget(target) {
|
|
54
|
+
if (!(target instanceof Element))
|
|
55
|
+
return undefined;
|
|
56
|
+
const field = target.closest('[data-cms-field]');
|
|
57
|
+
const path = field?.getAttribute('data-cms-field')?.trim();
|
|
58
|
+
return path || undefined;
|
|
120
59
|
}
|
|
121
60
|
//# sourceMappingURL=preview-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-bridge.js","sourceRoot":"","sources":["../../src/lib/preview-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"preview-bridge.js","sourceRoot":"","sources":["../../src/lib/preview-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,OAAO,cAAc,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;AACtD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IAIvD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACjC,IAAI,QAAgB,CAAA;IACpB,IAAI,SAAiB,CAAA;IACrB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,QAAQ,GAAG,OAAO,CAAA;QAClB,SAAS,GAAG,QAAQ,CAAA;IACtB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzC,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAA;QACzB,SAAS,GAAG,GAAG,IAAI,QAAQ,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAA;QACzB,SAAS,GAAG,GAAG,IAAI,QAAQ,CAAA;IAC7B,CAAC;IACD,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1C,UAAU,EAAE,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAA;IAC1D,OAAO,IAAI,IAAI,SAAS,CAAA;AAC1B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PageStatus } from './page-editor-service.js';
|
|
2
|
+
export type ViewSiteIntent = 'preview-draft' | 'view-live';
|
|
3
|
+
export declare const NO_PUBLIC_SITE_URL_REASON = "Set the public site URL in Settings \u2192 SEO to open the live design.";
|
|
4
|
+
export declare const ADMIN_ORIGIN_SITE_URL_REASON = "This origin is the admin, not the public site. Set the public site URL in Settings \u2192 SEO.";
|
|
5
|
+
export declare function resolveViewSiteChrome(input: {
|
|
6
|
+
status: PageStatus;
|
|
7
|
+
dirty: boolean;
|
|
8
|
+
hasPublicSiteUrl: boolean;
|
|
9
|
+
hasIdentity: boolean;
|
|
10
|
+
/** True when the configured site URL is the CMS host (Astro-split misconfig). */
|
|
11
|
+
matchesAdminOrigin?: boolean;
|
|
12
|
+
}): {
|
|
13
|
+
viewEnabled: boolean;
|
|
14
|
+
viewDisabledReason?: string;
|
|
15
|
+
primaryIntent: ViewSiteIntent;
|
|
16
|
+
showViewLive: boolean;
|
|
17
|
+
shareVisible: boolean;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=view-site-chrome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-site-chrome.d.ts","sourceRoot":"","sources":["../../src/lib/view-site-chrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,WAAW,CAAA;AAE1D,eAAO,MAAM,yBAAyB,4EACgC,CAAA;AAEtE,eAAO,MAAM,4BAA4B,mGACoD,CAAA;AAE7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,GAAG;IACF,WAAW,EAAE,OAAO,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,cAAc,CAAA;IAC7B,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;CACtB,CAsBA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const NO_PUBLIC_SITE_URL_REASON = 'Set the public site URL in Settings → SEO to open the live design.';
|
|
2
|
+
export const ADMIN_ORIGIN_SITE_URL_REASON = 'This origin is the admin, not the public site. Set the public site URL in Settings → SEO.';
|
|
3
|
+
export function resolveViewSiteChrome(input) {
|
|
4
|
+
const unpublished = input.status !== 'PUBLISHED' || input.dirty;
|
|
5
|
+
const primaryIntent = input.status === 'PUBLISHED' && !input.dirty ? 'view-live' : 'preview-draft';
|
|
6
|
+
const shareVisible = input.hasIdentity && unpublished;
|
|
7
|
+
const usablePublicUrl = input.hasPublicSiteUrl && !input.matchesAdminOrigin;
|
|
8
|
+
const viewEnabled = input.hasIdentity && usablePublicUrl;
|
|
9
|
+
let viewDisabledReason;
|
|
10
|
+
if (input.hasIdentity && !input.hasPublicSiteUrl) {
|
|
11
|
+
viewDisabledReason = NO_PUBLIC_SITE_URL_REASON;
|
|
12
|
+
}
|
|
13
|
+
else if (input.hasIdentity && input.matchesAdminOrigin) {
|
|
14
|
+
viewDisabledReason = ADMIN_ORIGIN_SITE_URL_REASON;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
viewEnabled,
|
|
18
|
+
viewDisabledReason,
|
|
19
|
+
primaryIntent,
|
|
20
|
+
showViewLive: input.hasIdentity && input.status === 'PUBLISHED' && input.dirty,
|
|
21
|
+
shareVisible,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=view-site-chrome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-site-chrome.js","sourceRoot":"","sources":["../../src/lib/view-site-chrome.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,yBAAyB,GACpC,oEAAoE,CAAA;AAEtE,MAAM,CAAC,MAAM,4BAA4B,GACvC,2FAA2F,CAAA;AAE7F,MAAM,UAAU,qBAAqB,CAAC,KAOrC;IAOC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,CAAA;IAC/D,MAAM,aAAa,GACjB,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAA;IAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,WAAW,CAAA;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAA;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,eAAe,CAAA;IAExD,IAAI,kBAAsC,CAAA;IAC1C,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACjD,kBAAkB,GAAG,yBAAyB,CAAA;IAChD,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACzD,kBAAkB,GAAG,4BAA4B,CAAA;IACnD,CAAC;IAED,OAAO;QACL,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK;QAC9E,YAAY;KACb,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-routes.d.ts","sourceRoot":"","sources":["../../src/router/admin-routes.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"admin-routes.d.ts","sourceRoot":"","sources":["../../src/router/admin-routes.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAyCxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAexD,CAAA;AAEF,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC,CAAA;CACzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAW1E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,EAAE,CAShF;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAE5E"}
|
|
@@ -39,14 +39,12 @@ export const ADMIN_STATIC_ROUTE_PATTERNS = [
|
|
|
39
39
|
'/pages',
|
|
40
40
|
'/pages/:id',
|
|
41
41
|
'/pages/:id/edit',
|
|
42
|
-
'/pages/:id/preview',
|
|
43
42
|
'/pages/new',
|
|
44
43
|
'/pages/tags',
|
|
45
44
|
'/pages/tags/:id/edit',
|
|
46
45
|
'/pages/tags/new',
|
|
47
46
|
'/posts',
|
|
48
47
|
'/posts/:type/:id/edit',
|
|
49
|
-
'/posts/:type/:id/preview',
|
|
50
48
|
'/posts/:type/new',
|
|
51
49
|
'/posts/new',
|
|
52
50
|
'/posts/types',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-routes.js","sourceRoot":"","sources":["../../src/router/admin-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,GAAG;IACH,WAAW;IACX,oBAAoB;IACpB,wBAAwB;IACxB,wBAAwB;IACxB,kBAAkB;IAClB,QAAQ;IACR,iBAAiB;IACjB,wBAAwB;IACxB,gBAAgB;IAChB,mBAAmB;IACnB,YAAY;IACZ,QAAQ;IACR,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,
|
|
1
|
+
{"version":3,"file":"admin-routes.js","sourceRoot":"","sources":["../../src/router/admin-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,11 @@ interface EditorCanvasProps {
|
|
|
5
5
|
selectedId: string | null;
|
|
6
6
|
breakpoint: BreakpointId;
|
|
7
7
|
zoom?: Zoom;
|
|
8
|
-
onSelect: (id: string) => void;
|
|
8
|
+
onSelect: (id: string, fieldPath?: string) => void;
|
|
9
9
|
onScaleChange?: (scale: number) => void;
|
|
10
10
|
onCanvasElement?: (el: HTMLElement | null) => void;
|
|
11
11
|
/** Section types rendered as placeholders — shows the "Structure view" notice. */
|
|
12
12
|
structuralTypes?: string[];
|
|
13
|
-
sitePreviewAvailable?: boolean;
|
|
14
13
|
/**
|
|
15
14
|
* Read-only render of a past version. Suppresses selection and the editing
|
|
16
15
|
* affordances, and turns on the changed-section outlines.
|
|
@@ -32,6 +31,6 @@ interface EditorCanvasProps {
|
|
|
32
31
|
* with the post editor. What is left here is what is genuinely page-specific:
|
|
33
32
|
* which chrome sits above the canvas, and what goes inside it.
|
|
34
33
|
*/
|
|
35
|
-
export declare function EditorCanvas({ sections, selectedId, breakpoint, zoom, onSelect, onScaleChange, onCanvasElement, structuralTypes,
|
|
34
|
+
export declare function EditorCanvas({ sections, selectedId, breakpoint, zoom, onSelect, onScaleChange, onCanvasElement, structuralTypes, reviewing, changedSectionIds, reviewBar, }: EditorCanvasProps): import("react/jsx-runtime").JSX.Element;
|
|
36
35
|
export {};
|
|
37
36
|
//# sourceMappingURL=EditorCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorCanvas.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/EditorCanvas.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAInE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,YAAY,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorCanvas.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/EditorCanvas.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAInE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,YAAY,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,UAAU,EACV,IAAY,EACZ,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAoB,EACpB,SAAiB,EACjB,iBAAiB,EACjB,SAAS,GACV,EAAE,iBAAiB,2CAkDnB"}
|
|
@@ -12,7 +12,7 @@ import { StructureNotice } from './StructureNotice.js';
|
|
|
12
12
|
* with the post editor. What is left here is what is genuinely page-specific:
|
|
13
13
|
* which chrome sits above the canvas, and what goes inside it.
|
|
14
14
|
*/
|
|
15
|
-
export function EditorCanvas({ sections, selectedId, breakpoint, zoom = 'fit', onSelect, onScaleChange, onCanvasElement, structuralTypes = [],
|
|
15
|
+
export function EditorCanvas({ sections, selectedId, breakpoint, zoom = 'fit', onSelect, onScaleChange, onCanvasElement, structuralTypes = [], reviewing = false, changedSectionIds, reviewBar, }) {
|
|
16
16
|
const registerRef = useSectionRefs(selectedId);
|
|
17
17
|
// A design-owned page always ships the template's sections, so an empty
|
|
18
18
|
// canvas means the template resolved to nothing — a configuration problem,
|
|
@@ -24,7 +24,7 @@ export function EditorCanvas({ sections, selectedId, breakpoint, zoom = 'fit', o
|
|
|
24
24
|
// The review bar REPLACES the editing chrome rather than joining it:
|
|
25
25
|
// a tip about clicking sections to edit them is actively wrong while
|
|
26
26
|
// the canvas is showing a version you cannot edit.
|
|
27
|
-
reviewing ? (reviewBar) : (_jsxs(_Fragment, { children: [_jsx(CanvasEditTip, {}), _jsx(StructureNotice, { structuralTypes: structuralTypes
|
|
27
|
+
reviewing ? (reviewBar) : (_jsxs(_Fragment, { children: [_jsx(CanvasEditTip, {}), _jsx(StructureNotice, { structuralTypes: structuralTypes })] })), children: sections.map((section) => (_jsx(SectionRenderer, { section: section, editable: true, reviewing: reviewing, changed: changedSectionIds?.has(section.id) ?? false, selected: section.id === selectedId, onSelect: onSelect, registerRef: registerRef }, section.id))) }) }));
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Design-owned pages always ship the template's sections, so an empty canvas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorCanvas.js","sourceRoot":"","sources":["../../../src/views/page-editor/EditorCanvas.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorCanvas.js","sourceRoot":"","sources":["../../../src/views/page-editor/EditorCanvas.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AA2BtD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,UAAU,EACV,IAAI,GAAG,KAAK,EACZ,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAe,GAAG,EAAE,EACpB,SAAS,GAAG,KAAK,EACjB,iBAAiB,EACjB,SAAS,GACS;IAClB,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAE9C,wEAAwE;IACxE,2EAA2E;IAC3E,mCAAmC;IACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CACL,KAAC,YAAY,cACX,KAAC,WAAW,KAAG,GACF,CAChB,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,YAAY,cACX,KAAC,aAAa,IACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,MAAM;YACJ,qEAAqE;YACrE,qEAAqE;YACrE,mDAAmD;YACnD,SAAS,CAAC,CAAC,CAAC,CACV,SAAS,CACV,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,aAAa,KAAG,EACjB,KAAC,eAAe,IAAC,eAAe,EAAE,eAAe,GAAI,IACpD,CACJ,YAGF,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,KAAC,eAAe,IAEd,OAAO,EAAE,OAAO,EAChB,QAAQ,QACR,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,EACpD,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,UAAU,EACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAPnB,OAAO,CAAC,EAAE,CAQf,CACH,CAAC,GACY,GACH,CAChB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW;IAClB,OAAO,CACL,eAAK,SAAS,EAAC,+EAA+E,aAC5F,cAAK,SAAS,EAAC,2FAA2F,YACxG,KAAC,cAAc,IAAC,SAAS,EAAC,+BAA+B,wBAAe,GACpE,EACN,aAAI,SAAS,EAAC,qCAAqC,kDAAuC,EAC1F,YAAG,SAAS,EAAC,oCAAoC,qLAG7C,IACA,CACP,CAAA;AACH,CAAC"}
|