@prenta/admin 1.1.0 → 1.3.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/__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/page-audit-input.test.js +81 -0
- package/dist/__tests__/lib/page-audit-input.test.js.map +1 -1
- 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/version-history.test.js +18 -0
- package/dist/__tests__/lib/version-history.test.js.map +1 -1
- package/dist/__tests__/lib/view-site-chrome.test.js +11 -1
- package/dist/__tests__/lib/view-site-chrome.test.js.map +1 -1
- package/dist/__tests__/no-server-barrel-imports.test.js +3 -4
- package/dist/__tests__/no-server-barrel-imports.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/editor-top-bar.render.test.js +13 -0
- package/dist/__tests__/views/editor-top-bar.render.test.js.map +1 -1
- package/dist/__tests__/views/page-section-editor.test.js +23 -9
- package/dist/__tests__/views/page-section-editor.test.js.map +1 -1
- package/dist/__tests__/views/post-section-editor.test.js +38 -0
- package/dist/__tests__/views/post-section-editor.test.js.map +1 -1
- package/dist/__tests__/views/post-tab.render.test.d.ts +2 -0
- package/dist/__tests__/views/post-tab.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/post-tab.render.test.js +86 -0
- package/dist/__tests__/views/post-tab.render.test.js.map +1 -0
- package/dist/components/seo/SeoEditorPane.d.ts +9 -1
- package/dist/components/seo/SeoEditorPane.d.ts.map +1 -1
- package/dist/components/seo/SeoEditorPane.js +5 -2
- package/dist/components/seo/SeoEditorPane.js.map +1 -1
- package/dist/hooks/usePageAudit.d.ts +4 -1
- package/dist/hooks/usePageAudit.d.ts.map +1 -1
- package/dist/hooks/usePageAudit.js +3 -3
- package/dist/hooks/usePageAudit.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/page-audit-input.d.ts +26 -1
- package/dist/lib/page-audit-input.d.ts.map +1 -1
- package/dist/lib/page-audit-input.js +48 -2
- package/dist/lib/page-audit-input.js.map +1 -1
- 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/version-history.d.ts +5 -0
- package/dist/lib/version-history.d.ts.map +1 -1
- package/dist/lib/version-history.js +18 -0
- package/dist/lib/version-history.js.map +1 -1
- package/dist/lib/view-site-chrome.d.ts +3 -0
- package/dist/lib/view-site-chrome.d.ts.map +1 -1
- package/dist/lib/view-site-chrome.js +11 -2
- package/dist/lib/view-site-chrome.js.map +1 -1
- package/dist/views/page-editor/EditorCanvas.d.ts +1 -1
- package/dist/views/page-editor/EditorCanvas.d.ts.map +1 -1
- package/dist/views/page-editor/EditorTopBar.d.ts +3 -1
- package/dist/views/page-editor/EditorTopBar.d.ts.map +1 -1
- package/dist/views/page-editor/EditorTopBar.js +3 -2
- package/dist/views/page-editor/EditorTopBar.js.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.d.ts.map +1 -1
- package/dist/views/page-editor/PageSectionEditor.js +8 -47
- package/dist/views/page-editor/PageSectionEditor.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 +15 -2
- package/dist/views/post-editor/PostEditorCanvas.d.ts.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.js +2 -2
- package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
- package/dist/views/post-editor/PostFieldsForm.d.ts +39 -0
- package/dist/views/post-editor/PostFieldsForm.d.ts.map +1 -0
- package/dist/views/post-editor/PostFieldsForm.js +85 -0
- package/dist/views/post-editor/PostFieldsForm.js.map +1 -0
- package/dist/views/post-editor/PostFieldsModal.d.ts +2 -14
- package/dist/views/post-editor/PostFieldsModal.d.ts.map +1 -1
- package/dist/views/post-editor/PostFieldsModal.js +20 -81
- package/dist/views/post-editor/PostFieldsModal.js.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.js +128 -74
- package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
- package/dist/views/post-editor/PostTab.d.ts +17 -0
- package/dist/views/post-editor/PostTab.d.ts.map +1 -0
- package/dist/views/post-editor/PostTab.js +23 -0
- package/dist/views/post-editor/PostTab.js.map +1 -0
- 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 +4 -4
- package/src/__tests__/lib/canvas-edit-chrome.test.ts +0 -27
- package/src/__tests__/lib/page-audit-input.test.ts +99 -0
- package/src/__tests__/lib/preview-bridge.test.ts +21 -110
- package/src/__tests__/lib/version-history.test.ts +20 -0
- package/src/__tests__/lib/view-site-chrome.test.ts +16 -1
- package/src/__tests__/no-server-barrel-imports.test.ts +3 -4
- package/src/__tests__/views/canvas-review-mode.render.test.tsx +14 -1
- package/src/__tests__/views/editor-top-bar.render.test.tsx +25 -0
- package/src/__tests__/views/page-section-editor.test.tsx +23 -13
- package/src/__tests__/views/post-section-editor.test.tsx +59 -0
- package/src/__tests__/views/post-tab.render.test.tsx +116 -0
- package/src/components/seo/SeoEditorPane.tsx +16 -1
- package/src/hooks/usePageAudit.ts +9 -2
- package/src/lib/canvas-edit-chrome.ts +0 -64
- package/src/lib/page-audit-input.ts +67 -1
- package/src/lib/preview-bridge.ts +11 -157
- package/src/lib/version-history.ts +23 -0
- package/src/lib/view-site-chrome.ts +15 -3
- package/src/views/page-editor/EditorCanvas.tsx +1 -1
- package/src/views/page-editor/EditorTopBar.tsx +6 -2
- package/src/views/page-editor/PageSectionEditor.tsx +6 -63
- package/src/views/page-editor/sections/SectionRenderer.tsx +5 -2
- package/src/views/post-editor/PostEditorCanvas.tsx +28 -6
- package/src/views/post-editor/PostFieldsForm.tsx +322 -0
- package/src/views/post-editor/PostFieldsModal.tsx +30 -281
- package/src/views/post-editor/PostSectionEditor.tsx +209 -116
- package/src/views/post-editor/PostTab.tsx +46 -0
- package/src/views/settings/SeoSettingsTab.tsx +21 -0
- package/src/views/settings/SiteInformationCard.tsx +7 -0
|
@@ -30,6 +30,19 @@ export interface AuditMetaSource {
|
|
|
30
30
|
/** True when an OG image is set — dimensions are not stored, see below. */
|
|
31
31
|
hasOgImage: boolean;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Post identity the public template renders outside the section list.
|
|
35
|
+
*
|
|
36
|
+
* The audit engine only reads `sections`. Posts put the H1, opening prose, and
|
|
37
|
+
* featured image on the document itself, so both audit callers (saved record
|
|
38
|
+
* and live SEO pane) fold these into synthetic sections here — one mapping,
|
|
39
|
+
* so the header chip and the rings cannot disagree.
|
|
40
|
+
*/
|
|
41
|
+
export interface PostAuditExtras {
|
|
42
|
+
title?: string;
|
|
43
|
+
bodyHtml?: string;
|
|
44
|
+
featuredImage?: string;
|
|
45
|
+
}
|
|
33
46
|
export interface BuildAuditInputArgs {
|
|
34
47
|
sections: PageSection[];
|
|
35
48
|
meta: AuditMetaSource;
|
|
@@ -38,8 +51,20 @@ export interface BuildAuditInputArgs {
|
|
|
38
51
|
record: Pick<SeoContentRecord, 'title' | 'siteName' | 'titleTemplate' | 'url'> | null;
|
|
39
52
|
/** Fallback title when there is no saved record yet. */
|
|
40
53
|
fallbackTitle?: string;
|
|
54
|
+
/** Post-only slots prepended so the same engine sees title / body / image. */
|
|
55
|
+
post?: PostAuditExtras;
|
|
41
56
|
}
|
|
42
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Prepend the post's own title, body, and featured image as sections the
|
|
59
|
+
* audit already knows how to read (H1, opening prose, image slot).
|
|
60
|
+
*
|
|
61
|
+
* A `text` section carries title + body so we do not invent a phantom hero
|
|
62
|
+
* image slot. The featured image is a separate `feature` section, and only
|
|
63
|
+
* when one is set — otherwise `imageSlots` would count an empty media field
|
|
64
|
+
* and fail alt-text for an image that is not on the page.
|
|
65
|
+
*/
|
|
66
|
+
export declare function withPostAuditSlots(sections: PageSection[], post?: PostAuditExtras): PageSection[];
|
|
67
|
+
export declare function buildPageAuditInput({ sections, meta, slug, record, fallbackTitle, post, }: BuildAuditInputArgs): PageAuditInput;
|
|
43
68
|
/** Meta source from a saved SEO record. */
|
|
44
69
|
export declare function metaFromRecord(record: SeoContentRecord): AuditMetaSource;
|
|
45
70
|
export interface BuilderAuditSource {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-audit-input.d.ts","sourceRoot":"","sources":["../../src/lib/page-audit-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;IACrF,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,aAAa,
|
|
1
|
+
{"version":3,"file":"page-audit-input.d.ts","sourceRoot":"","sources":["../../src/lib/page-audit-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;IACrF,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,CA4BjG;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,aAAa,EACb,IAAI,GACL,EAAE,mBAAmB,GAAG,cAAc,CAsCtC;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,eAAe,CAWxE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACJ,YAAY,GACb,EAAE,kBAAkB,GAAG,cAAc,CAiBrC"}
|
|
@@ -1,6 +1,52 @@
|
|
|
1
1
|
import { resolveRenderedMetaTitle } from '@prenta/core/client';
|
|
2
2
|
import { layoutTreeToSections } from '@prenta/core/page-sections';
|
|
3
|
-
|
|
3
|
+
const POST_TITLE_SECTION_ID = '__post-title';
|
|
4
|
+
const POST_IMAGE_SECTION_ID = '__post-featured-image';
|
|
5
|
+
function stripHtml(html) {
|
|
6
|
+
return html
|
|
7
|
+
.replace(/<[^>]*>/g, ' ')
|
|
8
|
+
.replace(/\s+/g, ' ')
|
|
9
|
+
.trim();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Prepend the post's own title, body, and featured image as sections the
|
|
13
|
+
* audit already knows how to read (H1, opening prose, image slot).
|
|
14
|
+
*
|
|
15
|
+
* A `text` section carries title + body so we do not invent a phantom hero
|
|
16
|
+
* image slot. The featured image is a separate `feature` section, and only
|
|
17
|
+
* when one is set — otherwise `imageSlots` would count an empty media field
|
|
18
|
+
* and fail alt-text for an image that is not on the page.
|
|
19
|
+
*/
|
|
20
|
+
export function withPostAuditSlots(sections, post) {
|
|
21
|
+
if (!post)
|
|
22
|
+
return sections;
|
|
23
|
+
const extras = [];
|
|
24
|
+
const title = post.title?.trim() ?? '';
|
|
25
|
+
const body = post.bodyHtml ? stripHtml(post.bodyHtml) : '';
|
|
26
|
+
if (title || body) {
|
|
27
|
+
extras.push({
|
|
28
|
+
id: POST_TITLE_SECTION_ID,
|
|
29
|
+
sectionType: 'text',
|
|
30
|
+
name: 'Post',
|
|
31
|
+
visible: true,
|
|
32
|
+
content: { heading: title, body },
|
|
33
|
+
settings: {},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const image = post.featuredImage?.trim() ?? '';
|
|
37
|
+
if (image) {
|
|
38
|
+
extras.push({
|
|
39
|
+
id: POST_IMAGE_SECTION_ID,
|
|
40
|
+
sectionType: 'feature',
|
|
41
|
+
name: 'Featured image',
|
|
42
|
+
visible: true,
|
|
43
|
+
content: { imageUrl: image, imageAlt: '' },
|
|
44
|
+
settings: {},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return extras.length ? [...extras, ...sections] : sections;
|
|
48
|
+
}
|
|
49
|
+
export function buildPageAuditInput({ sections, meta, slug, record, fallbackTitle, post, }) {
|
|
4
50
|
// Measure the title a searcher actually sees — the page meta title with the
|
|
5
51
|
// site's template applied — not the raw field. Checking the raw field would
|
|
6
52
|
// give length advice that contradicts the rendered result.
|
|
@@ -15,7 +61,7 @@ export function buildPageAuditInput({ sections, meta, slug, record, fallbackTitl
|
|
|
15
61
|
})
|
|
16
62
|
: meta.metaTitle.trim() || fallbackTitle || '';
|
|
17
63
|
return {
|
|
18
|
-
sections,
|
|
64
|
+
sections: withPostAuditSlots(sections, post),
|
|
19
65
|
seo: {
|
|
20
66
|
title: renderedTitle,
|
|
21
67
|
description: meta.metaDescription,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-audit-input.js","sourceRoot":"","sources":["../../src/lib/page-audit-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAoB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"page-audit-input.js","sourceRoot":"","sources":["../../src/lib/page-audit-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -21,6 +21,11 @@ export interface PageVersion {
|
|
|
21
21
|
author: VersionAuthor;
|
|
22
22
|
/** Full page content as of this version — what the canvas renders. */
|
|
23
23
|
sections: PageSection[];
|
|
24
|
+
/** Post identity fields, when the snapshot is a post. */
|
|
25
|
+
title?: string;
|
|
26
|
+
excerpt?: string;
|
|
27
|
+
featuredImage?: string;
|
|
28
|
+
body?: string;
|
|
24
29
|
}
|
|
25
30
|
/** Versions sharing a calendar day, newest day first. */
|
|
26
31
|
export interface VersionDayGroup {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-history.d.ts","sourceRoot":"","sources":["../../src/lib/version-history.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7E;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,aAAa,CAAA;IACrB,sEAAsE;IACtE,QAAQ,EAAE,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"version-history.d.ts","sourceRoot":"","sources":["../../src/lib/version-history.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7E;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEtF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,aAAa,CAAA;IACrB,sEAAsE;IACtE,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;CAC9C;AAgBD,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAE3D;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAC/E;AA0BD,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAgB7D;AAED,qDAAqD;AACrD,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAOxB;AAED,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAMf;AAQD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAepE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,GAAG,GAAE,IAAiB,GACrB,eAAe,EAAE,CASnB;AAED,8CAA8C;AAC9C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK7C"}
|
|
@@ -35,6 +35,20 @@ function toAuthor(row) {
|
|
|
35
35
|
name: by?.name?.trim() || by?.email?.trim() || 'Unknown',
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
function optionalString(value) {
|
|
39
|
+
return typeof value === 'string' ? value : undefined;
|
|
40
|
+
}
|
|
41
|
+
function optionalFeaturedImage(value) {
|
|
42
|
+
if (typeof value === 'string')
|
|
43
|
+
return value;
|
|
44
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
45
|
+
const obj = value;
|
|
46
|
+
const url = obj.url ?? obj.publicUrl ?? obj.src;
|
|
47
|
+
if (typeof url === 'string')
|
|
48
|
+
return url;
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
38
52
|
export function toPageVersion(row) {
|
|
39
53
|
const data = row.data ?? {};
|
|
40
54
|
return {
|
|
@@ -46,6 +60,10 @@ export function toPageVersion(row) {
|
|
|
46
60
|
// snapshot more strictly than the current page would make an unmanaged
|
|
47
61
|
// section look like it was deleted in every version that contains one.
|
|
48
62
|
sections: coerceSections(data.sections, { onUnknown: 'preserve' }),
|
|
63
|
+
title: optionalString(data.title),
|
|
64
|
+
excerpt: optionalString(data.excerpt),
|
|
65
|
+
featuredImage: optionalFeaturedImage(data.featuredImage),
|
|
66
|
+
body: optionalString(data.body),
|
|
49
67
|
};
|
|
50
68
|
}
|
|
51
69
|
/** Newest first, matching the API's own ordering. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-history.js","sourceRoot":"","sources":["../../src/lib/version-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,cAAc,EAAoB,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"version-history.js","sourceRoot":"","sources":["../../src/lib/version-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { PageStatus } from './page-editor-service.js';
|
|
2
2
|
export type ViewSiteIntent = 'preview-draft' | 'view-live';
|
|
3
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.";
|
|
4
5
|
export declare function resolveViewSiteChrome(input: {
|
|
5
6
|
status: PageStatus;
|
|
6
7
|
dirty: boolean;
|
|
7
8
|
hasPublicSiteUrl: boolean;
|
|
8
9
|
hasIdentity: boolean;
|
|
10
|
+
/** True when the configured site URL is the CMS host (Astro-split misconfig). */
|
|
11
|
+
matchesAdminOrigin?: boolean;
|
|
9
12
|
}): {
|
|
10
13
|
viewEnabled: boolean;
|
|
11
14
|
viewDisabledReason?: string;
|
|
@@ -1 +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,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;
|
|
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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
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.';
|
|
2
3
|
export function resolveViewSiteChrome(input) {
|
|
3
4
|
const unpublished = input.status !== 'PUBLISHED' || input.dirty;
|
|
4
5
|
const primaryIntent = input.status === 'PUBLISHED' && !input.dirty ? 'view-live' : 'preview-draft';
|
|
5
6
|
const shareVisible = input.hasIdentity && unpublished;
|
|
6
|
-
const
|
|
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
|
+
}
|
|
7
16
|
return {
|
|
8
17
|
viewEnabled,
|
|
9
|
-
viewDisabledReason
|
|
18
|
+
viewDisabledReason,
|
|
10
19
|
primaryIntent,
|
|
11
20
|
showViewLive: input.hasIdentity && input.status === 'PUBLISHED' && input.dirty,
|
|
12
21
|
shareVisible,
|
|
@@ -1 +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,UAAU,qBAAqB,CAAC,
|
|
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"}
|
|
@@ -5,7 +5,7 @@ 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. */
|
|
@@ -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"}
|
|
@@ -35,6 +35,8 @@ interface EditorTopBarProps {
|
|
|
35
35
|
onShare?: () => void;
|
|
36
36
|
/** When false, View site and Share are disabled with the SEO settings reason. */
|
|
37
37
|
hasPublicSiteUrl?: boolean;
|
|
38
|
+
/** When true, View site and Share stay disabled — the URL is the CMS host. */
|
|
39
|
+
matchesAdminOrigin?: boolean;
|
|
38
40
|
/**
|
|
39
41
|
* Toggle the version history panel. When omitted the History button is
|
|
40
42
|
* hidden — e.g. for unsaved documents that have no versions yet.
|
|
@@ -74,6 +76,6 @@ interface EditorTopBarProps {
|
|
|
74
76
|
*/
|
|
75
77
|
structuralTypes?: string[];
|
|
76
78
|
}
|
|
77
|
-
export declare function EditorTopBar({ title, status, dirty, saveState, publishing, canEdit, canPublish, publishReady, publishDisabledReason, viewport, zoom, canvasScale, onZoom, backLabel, onViewport, onBack, onViewOnSite, onShare, hasPublicSiteUrl, onHistory, historyOpen, onOpenSettings, onOpenSeo, seoOpen, seoScore, seoScoreBand, onSaveDraft, onPublish, onSchedule, scheduleReady, scheduledAt, scheduledUnpublishAt, }: EditorTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
export declare function EditorTopBar({ title, status, dirty, saveState, publishing, canEdit, canPublish, publishReady, publishDisabledReason, viewport, zoom, canvasScale, onZoom, backLabel, onViewport, onBack, onViewOnSite, onShare, hasPublicSiteUrl, matchesAdminOrigin, onHistory, historyOpen, onOpenSettings, onOpenSeo, seoOpen, seoScore, seoScoreBand, onSaveDraft, onPublish, onSchedule, scheduleReady, scheduledAt, scheduledUnpublishAt, }: EditorTopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
78
80
|
export {};
|
|
79
81
|
//# sourceMappingURL=EditorTopBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorTopBar.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/EditorTopBar.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AAE7D,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6EAA6E;IAC7E,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,EAAE,UAAU,CAAA;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IACnC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IAC/C,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wDAAwD;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACvC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,qFAAqF;IACrF,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AASD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,MAAM,EACN,SAAmB,EACnB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,WAAmB,EACnB,cAAc,EACd,SAAS,EACT,OAAe,EACf,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAoB,EACpB,WAAkB,EAClB,oBAA2B,GAC5B,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"EditorTopBar.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/EditorTopBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,13 +13,14 @@ const STATUS_TEXT = {
|
|
|
13
13
|
SCHEDULED: { label: 'Scheduled', className: 'text-warning dark:text-amber-400' },
|
|
14
14
|
ARCHIVED: { label: 'Archived', className: 'text-muted-foreground' },
|
|
15
15
|
};
|
|
16
|
-
export function EditorTopBar({ title, status, dirty, saveState, publishing, canEdit, canPublish, publishReady = true, publishDisabledReason, viewport, zoom, canvasScale, onZoom, backLabel = 'Pages', onViewport, onBack, onViewOnSite, onShare, hasPublicSiteUrl, onHistory, historyOpen = false, onOpenSettings, onOpenSeo, seoOpen = false, seoScore, seoScoreBand, onSaveDraft, onPublish, onSchedule, scheduleReady = true, scheduledAt = null, scheduledUnpublishAt = null, }) {
|
|
16
|
+
export function EditorTopBar({ title, status, dirty, saveState, publishing, canEdit, canPublish, publishReady = true, publishDisabledReason, viewport, zoom, canvasScale, onZoom, backLabel = 'Pages', onViewport, onBack, onViewOnSite, onShare, hasPublicSiteUrl, matchesAdminOrigin, onHistory, historyOpen = false, onOpenSettings, onOpenSeo, seoOpen = false, seoScore, seoScoreBand, onSaveDraft, onPublish, onSchedule, scheduleReady = true, scheduledAt = null, scheduledUnpublishAt = null, }) {
|
|
17
17
|
const statusInfo = STATUS_TEXT[status];
|
|
18
18
|
const chrome = onViewOnSite
|
|
19
19
|
? resolveViewSiteChrome({
|
|
20
20
|
status,
|
|
21
21
|
dirty,
|
|
22
22
|
hasPublicSiteUrl: Boolean(hasPublicSiteUrl),
|
|
23
|
+
matchesAdminOrigin: Boolean(matchesAdminOrigin),
|
|
23
24
|
hasIdentity: true,
|
|
24
25
|
})
|
|
25
26
|
: null;
|
|
@@ -52,7 +53,7 @@ export function EditorTopBar({ title, status, dirty, saveState, publishing, canE
|
|
|
52
53
|
: 'Schedule a future publish date';
|
|
53
54
|
return (_jsxs("header", { className: "prenta-editor-header bg-card border-border flex h-14 shrink-0 items-center justify-between gap-4 border-b px-4", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsxs("nav", { "aria-label": "Breadcrumb", className: "flex min-w-0 items-center gap-1.5 text-sm", children: [_jsx("button", { type: "button", onClick: onBack, className: "text-muted-foreground hover:text-foreground shrink-0", children: backLabel }), _jsx("span", { className: "text-muted-foreground", "aria-hidden": true, children: "/" }), _jsx("span", { className: "text-foreground truncate font-medium", children: title || 'Untitled page' })] }), _jsx("span", { className: `ml-2 shrink-0 text-xs font-medium ${statusInfo.className}`, "aria-label": `Status: ${statusInfo.label}`, children: statusInfo.label }), scheduledAt && (_jsxs("span", { className: "text-muted-foreground ml-1 hidden shrink-0 text-xs sm:inline", title: scheduledUnpublishAt
|
|
54
55
|
? `Publishes ${formatScheduleLabel(scheduledAt)} · Unpublishes ${formatScheduleLabel(scheduledUnpublishAt)}`
|
|
55
|
-
: `Publishes ${formatScheduleLabel(scheduledAt)}`, children: ["\u00B7 ", formatScheduleLabel(scheduledAt)] })), _jsx(SaveStatus, { state: saveState, dirty: dirty })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("div", { className: "hidden items-center gap-1.5 md:flex", children: [_jsx(BreakpointPicker, { value: viewport, onChange: onViewport }), zoom !== undefined && onZoom && (_jsx(ZoomChip, { zoom: zoom, scale: canvasScale ?? 1, onChange: onZoom }))] }), _jsx("button", { type: "button", onClick: onOpenSettings, "aria-label":
|
|
56
|
+
: `Publishes ${formatScheduleLabel(scheduledAt)}`, children: ["\u00B7 ", formatScheduleLabel(scheduledAt)] })), _jsx(SaveStatus, { state: saveState, dirty: dirty })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("div", { className: "hidden items-center gap-1.5 md:flex", children: [_jsx(BreakpointPicker, { value: viewport, onChange: onViewport }), zoom !== undefined && onZoom && (_jsx(ZoomChip, { zoom: zoom, scale: canvasScale ?? 1, onChange: onZoom }))] }), _jsx("button", { type: "button", onClick: onOpenSettings, "aria-label": backLabel === 'Posts' ? 'Post settings' : 'Page settings', title: backLabel === 'Posts' ? 'Post settings' : 'Page settings', className: "prenta-touch-target text-muted-foreground hover:text-foreground hover:bg-accent rounded-lg p-2", children: _jsx(Settings2, { className: "h-4 w-4", "aria-hidden": true }) }), onOpenSeo && (_jsxs("button", { type: "button", onClick: onOpenSeo, "aria-pressed": seoOpen, "aria-label": seoScore === undefined ? 'SEO' : `SEO, score ${seoScore} out of 100`, title: seoScore === undefined
|
|
56
57
|
? 'SEO — meta tags, social preview, schema, and analysis.'
|
|
57
58
|
: `SEO — score ${seoScore}/100. Meta tags, social preview, schema, and analysis.`, className: `inline-flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-sm font-medium transition-colors ${seoOpen
|
|
58
59
|
? 'bg-primary text-primary-foreground'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorTopBar.js","sourceRoot":"","sources":["../../../src/views/page-editor/EditorTopBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAGpE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"EditorTopBar.js","sourceRoot":"","sources":["../../../src/views/page-editor/EditorTopBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,YAAY,EACZ,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAGpE,OAAO,EAAE,qBAAqB,EAAuB,MAAM,+BAA+B,CAAA;AA+E1F,MAAM,WAAW,GAA6D;IAC5E,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,kCAAkC,EAAE;IACxE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,wCAAwC,EAAE;IACtF,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,kCAAkC,EAAE;IAChF,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE;CACpE,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,UAAU,EACV,YAAY,GAAG,IAAI,EACnB,qBAAqB,EACrB,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,MAAM,EACN,SAAS,GAAG,OAAO,EACnB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,WAAW,GAAG,KAAK,EACnB,cAAc,EACd,SAAS,EACT,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,IAAI,EAClB,oBAAoB,GAAG,IAAI,GACT;IAClB,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,qBAAqB,CAAC;YACpB,MAAM;YACN,KAAK;YACL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;YAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;YAC/C,WAAW,EAAE,IAAI;SAClB,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;IAER,MAAM,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,SAAS,KAAK,QAAQ,CAAA;IAC3F,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,SAAS,KAAK,QAAQ;YACtB,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,qBAAqB;gBACpD,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,CAAC,UAAU;oBACX,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,SAAS,CAAA;IAEnB,MAAM,eAAe,GACnB,CAAC,UAAU;QACX,CAAC,UAAU;QACX,CAAC,YAAY;QACb,CAAC,aAAa;QACd,UAAU;QACV,SAAS,KAAK,QAAQ,CAAA;IACxB,MAAM,aAAa,GACjB,SAAS,KAAK,QAAQ;QACpB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,CAAC,aAAa;YACd,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,qBAAqB;gBACpD,CAAC,CAAC,qBAAqB;gBACvB,CAAC,CAAC,CAAC,UAAU;oBACX,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,WAAW;wBACX,CAAC,CAAC,oCAAoC,mBAAmB,CAAC,WAAW,CAAC,EAAE;wBACxE,CAAC,CAAC,gCAAgC,CAAA;IAE9C,OAAO,CACL,kBAAQ,SAAS,EAAC,gHAAgH,aAEhI,eAAK,SAAS,EAAC,iCAAiC,aAC9C,6BAAgB,YAAY,EAAC,SAAS,EAAC,2CAA2C,aAChF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,sDAAsD,YAE/D,SAAS,GACH,EACT,eAAM,SAAS,EAAC,uBAAuB,uCAEhC,EACP,eAAM,SAAS,EAAC,sCAAsC,YAAE,KAAK,IAAI,eAAe,GAAQ,IACpF,EACN,eACE,SAAS,EAAE,qCAAqC,UAAU,CAAC,SAAS,EAAE,gBAC1D,WAAW,UAAU,CAAC,KAAK,EAAE,YAExC,UAAU,CAAC,KAAK,GACZ,EACN,WAAW,IAAI,CACd,gBACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EACH,oBAAoB;4BAClB,CAAC,CAAC,aAAa,mBAAmB,CAAC,WAAW,CAAC,kBAAkB,mBAAmB,CAAC,oBAAoB,CAAC,EAAE;4BAC5G,CAAC,CAAC,aAAa,mBAAmB,CAAC,WAAW,CAAC,EAAE,wBAGlD,mBAAmB,CAAC,WAAW,CAAC,IAC9B,CACR,EACD,KAAC,UAAU,IAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1C,EAGN,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,gBAAgB,IAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAI,EAC1D,IAAI,KAAK,SAAS,IAAI,MAAM,IAAI,CAC/B,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAI,CACpE,IACG,EAEN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,cAAc,gBACX,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EACrE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAChE,SAAS,EAAC,gGAAgG,YAE1G,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,wBAAe,GACtC,EAER,SAAS,IAAI,CACZ,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,kBACJ,OAAO,gBACT,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,QAAQ,aAAa,EAChF,KAAK,EACH,QAAQ,KAAK,SAAS;4BACpB,CAAC,CAAC,wDAAwD;4BAC1D,CAAC,CAAC,eAAe,QAAQ,wDAAwD,EAErF,SAAS,EAAE,iGACT,OAAO;4BACL,CAAC,CAAC,oCAAoC;4BACtC,CAAC,CAAC,6DACN,EAAE,aAED,QAAQ,KAAK,SAAS,IAAI,CACzB,KAAC,mBAAmB,IAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAI,CAChF,EACD,eAAM,SAAS,EAAC,kBAAkB,oBAAW,IACtC,CACV,EAEA,SAAS,IAAI,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,kBACJ,WAAW,gBACd,iBAAiB,EAC5B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,EAChE,SAAS,EAAE,wDACT,WAAW;4BACT,CAAC,CAAC,oCAAoC;4BACtC,CAAC,CAAC,6DACN,EAAE,YAEF,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,wBAAe,GACpC,CACV,EAEA,MAAM,IAAI,CACT,8BACE,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EACnD,QAAQ,EAAE,CAAC,MAAM,CAAC,WAAW,EAC7B,KAAK,EACH,MAAM,CAAC,kBAAkB;oCACzB,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW;wCACnC,CAAC,CAAC,uCAAuC;wCACzC,CAAC,CAAC,2CAA2C,CAAC,EAElD,SAAS,EAAC,oMAAoM,aAE9M,KAAC,YAAY,IAAC,SAAS,EAAC,aAAa,wBAAe,EACnD,MAAM,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,IAC1D,EACR,MAAM,CAAC,YAAY,IAAI,CACtB,MAAC,YAAY,CAAC,IAAI,eAChB,KAAC,YAAY,CAAC,OAAO,IAAC,OAAO,kBAC3B,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,MAAM,CAAC,WAAW,gBAClB,mBAAmB,EAC9B,SAAS,EAAC,gMAAgM,YAE1M,KAAC,WAAW,IAAC,SAAS,EAAC,aAAa,wBAAe,GAC5C,GACY,EACvB,KAAC,YAAY,CAAC,MAAM,IAAC,SAAS,EAAE,oBAAoB,EAAE,YACpD,KAAC,YAAY,CAAC,OAAO,IACnB,KAAK,EAAC,KAAK,EACX,UAAU,EAAE,CAAC,EACb,SAAS,EAAC,yGAAyG,YAEnH,KAAC,YAAY,CAAC,IAAI,IAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAC3C,SAAS,EAAC,8FAA8F,0BAGtF,GACC,GACH,IACJ,CACrB,EACA,MAAM,CAAC,YAAY,IAAI,OAAO,IAAI,CACjC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,MAAM,CAAC,WAAW,EAC7B,KAAK,EACH,MAAM,CAAC,kBAAkB;oCACzB,gEAAgE,EAElE,SAAS,EAAC,oMAAoM,aAE9M,KAAC,MAAM,IAAC,SAAS,EAAC,aAAa,wBAAe,aAEvC,CACV,IACA,CACJ,EAED,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,OAAO,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,KAAK,OAAO,CAAC,EACjF,SAAS,EAAC,mKAAmK,YAE5K,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAC3C,EAER,UAAU,IAAI,CACb,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,aAAa,gBACR,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,EACnE,SAAS,EAAC,oMAAoM,aAE9M,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,wBAAe,EAChD,eAAM,SAAS,EAAC,kBAAkB,YAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,GAAQ,IAC5E,CACV,EAED,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,YAAY,mBACJ,cAAc,EAC7B,SAAS,EAAC,wMAAwM,aAEjN,UAAU,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,0BAA0B,wBAAe,eAEpE,IACL,IACC,CACV,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAwC;IACxE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,CACL,gBACE,SAAS,EAAC,mEAAmE,eACnE,QAAQ,aAElB,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,wBAAe,oBAEnD,CACR,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CACL,gBACE,SAAS,EAAC,8DAA8D,eAC9D,QAAQ,aAElB,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,wBAAe,sBAE5C,CACR,CAAA;IACH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,eAAM,SAAS,EAAC,oCAAoC,eAAW,QAAQ,gCAEhE,CACR,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CACL,gBACE,SAAS,EAAC,mEAAmE,eACnE,QAAQ,aAElB,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,wBAAe,aAEpC,CACR,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IACvB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,GAAG,CAAA;IACzC,OAAO,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE;QACjC,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;KAClB,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageSectionEditor.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/PageSectionEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageSectionEditor.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/PageSectionEditor.tsx"],"names":[],"mappings":"AA+DA,UAAU,sBAAsB;IAC9B,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AA6CD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,eAAe,EACf,MAAM,EACN,OAAO,EACP,UAAU,GACX,EAAE,sBAAsB,2CA+7BxB"}
|