@prenta/admin 0.92.0 → 0.93.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 +552 -0
- package/design-system/tokens.css +173 -71
- package/design-system/tokens.json +244 -63
- package/design-system/tokens.scss +203 -98
- package/design-system/tokens.tailwind.cjs +93 -38
- package/dist/AdminRoot.d.ts +27 -6
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/AdminRoot.js.map +1 -1
- package/dist/__tests__/components/breakpoint-controls.render.test.d.ts +2 -0
- package/dist/__tests__/components/breakpoint-controls.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/breakpoint-controls.render.test.js +51 -0
- package/dist/__tests__/components/breakpoint-controls.render.test.js.map +1 -0
- package/dist/__tests__/components/canvas-edit-tip.render.test.d.ts +2 -0
- package/dist/__tests__/components/canvas-edit-tip.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/canvas-edit-tip.render.test.js +37 -0
- package/dist/__tests__/components/canvas-edit-tip.render.test.js.map +1 -0
- package/dist/__tests__/components/editor-rail.render.test.d.ts +2 -0
- package/dist/__tests__/components/editor-rail.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/editor-rail.render.test.js +138 -0
- package/dist/__tests__/components/editor-rail.render.test.js.map +1 -0
- package/dist/__tests__/components/media-block.render.test.d.ts +2 -0
- package/dist/__tests__/components/media-block.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/media-block.render.test.js +108 -0
- package/dist/__tests__/components/media-block.render.test.js.map +1 -0
- package/dist/__tests__/components/page-audit-panel.render.test.d.ts +2 -0
- package/dist/__tests__/components/page-audit-panel.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/page-audit-panel.render.test.js +59 -0
- package/dist/__tests__/components/page-audit-panel.render.test.js.map +1 -0
- package/dist/__tests__/components/reflow-meter.render.test.d.ts +2 -0
- package/dist/__tests__/components/reflow-meter.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/reflow-meter.render.test.js +94 -0
- package/dist/__tests__/components/reflow-meter.render.test.js.map +1 -0
- package/dist/__tests__/components/seo-char-count.test.js +24 -6
- package/dist/__tests__/components/seo-char-count.test.js.map +1 -1
- package/dist/__tests__/components/serp-preview.render.test.d.ts +2 -0
- package/dist/__tests__/components/serp-preview.render.test.d.ts.map +1 -0
- package/dist/__tests__/components/serp-preview.render.test.js +25 -0
- package/dist/__tests__/components/serp-preview.render.test.js.map +1 -0
- package/dist/__tests__/lib/breakpoints.test.d.ts +2 -0
- package/dist/__tests__/lib/breakpoints.test.d.ts.map +1 -0
- package/dist/__tests__/lib/breakpoints.test.js +67 -0
- package/dist/__tests__/lib/breakpoints.test.js.map +1 -0
- package/dist/__tests__/lib/canvas-edit-chrome.test.d.ts +2 -0
- package/dist/__tests__/lib/canvas-edit-chrome.test.d.ts.map +1 -0
- package/dist/__tests__/lib/canvas-edit-chrome.test.js +44 -0
- package/dist/__tests__/lib/canvas-edit-chrome.test.js.map +1 -0
- package/dist/__tests__/lib/media-format.test.d.ts +2 -0
- package/dist/__tests__/lib/media-format.test.d.ts.map +1 -0
- package/dist/__tests__/lib/media-format.test.js +70 -0
- package/dist/__tests__/lib/media-format.test.js.map +1 -0
- package/dist/__tests__/lib/page-audit-input.test.d.ts +2 -0
- package/dist/__tests__/lib/page-audit-input.test.d.ts.map +1 -0
- package/dist/__tests__/lib/page-audit-input.test.js +122 -0
- package/dist/__tests__/lib/page-audit-input.test.js.map +1 -0
- package/dist/__tests__/lib/page-editor-service.test.js +2 -0
- package/dist/__tests__/lib/page-editor-service.test.js.map +1 -1
- package/dist/__tests__/lib/page-redirect.test.d.ts +2 -0
- package/dist/__tests__/lib/page-redirect.test.d.ts.map +1 -0
- package/dist/__tests__/lib/page-redirect.test.js +26 -0
- package/dist/__tests__/lib/page-redirect.test.js.map +1 -0
- package/dist/__tests__/lib/rail-width.test.d.ts +2 -0
- package/dist/__tests__/lib/rail-width.test.d.ts.map +1 -0
- package/dist/__tests__/lib/rail-width.test.js +69 -0
- package/dist/__tests__/lib/rail-width.test.js.map +1 -0
- package/dist/__tests__/lib/reflow-baseline.test.d.ts +2 -0
- package/dist/__tests__/lib/reflow-baseline.test.d.ts.map +1 -0
- package/dist/__tests__/lib/reflow-baseline.test.js +56 -0
- package/dist/__tests__/lib/reflow-baseline.test.js.map +1 -0
- package/dist/__tests__/lib/reflow-probe.test.d.ts +2 -0
- package/dist/__tests__/lib/reflow-probe.test.d.ts.map +1 -0
- package/dist/__tests__/lib/reflow-probe.test.js +73 -0
- package/dist/__tests__/lib/reflow-probe.test.js.map +1 -0
- package/dist/__tests__/styles/canvas-container-queries.test.d.ts +2 -0
- package/dist/__tests__/styles/canvas-container-queries.test.d.ts.map +1 -0
- package/dist/__tests__/styles/canvas-container-queries.test.js +87 -0
- package/dist/__tests__/styles/canvas-container-queries.test.js.map +1 -0
- package/dist/__tests__/styles/packaging.test.d.ts +2 -0
- package/dist/__tests__/styles/packaging.test.d.ts.map +1 -0
- package/dist/__tests__/styles/packaging.test.js +31 -0
- package/dist/__tests__/styles/packaging.test.js.map +1 -0
- package/dist/__tests__/styles/tokens-drift.test.d.ts +2 -0
- package/dist/__tests__/styles/tokens-drift.test.d.ts.map +1 -0
- package/dist/__tests__/styles/tokens-drift.test.js +92 -0
- package/dist/__tests__/styles/tokens-drift.test.js.map +1 -0
- package/dist/__tests__/views/admin-renderer-compat.test.d.ts +2 -0
- package/dist/__tests__/views/admin-renderer-compat.test.d.ts.map +1 -0
- package/dist/__tests__/views/admin-renderer-compat.test.js +43 -0
- package/dist/__tests__/views/admin-renderer-compat.test.js.map +1 -0
- package/dist/__tests__/views/admin-section-renderers.test.js +52 -4
- package/dist/__tests__/views/admin-section-renderers.test.js.map +1 -1
- package/dist/__tests__/views/editor-top-bar.render.test.js +1 -1
- package/dist/__tests__/views/editor-top-bar.render.test.js.map +1 -1
- package/dist/__tests__/views/page-tab.render.test.d.ts +2 -0
- package/dist/__tests__/views/page-tab.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/page-tab.render.test.js +151 -0
- package/dist/__tests__/views/page-tab.render.test.js.map +1 -0
- package/dist/__tests__/views/section-class-parity.test.d.ts +2 -0
- package/dist/__tests__/views/section-class-parity.test.d.ts.map +1 -0
- package/dist/__tests__/views/section-class-parity.test.js +81 -0
- package/dist/__tests__/views/section-class-parity.test.js.map +1 -0
- package/dist/__tests__/views/sections-panel-design-owned.render.test.d.ts +2 -0
- package/dist/__tests__/views/sections-panel-design-owned.render.test.d.ts.map +1 -0
- package/dist/__tests__/views/sections-panel-design-owned.render.test.js +86 -0
- package/dist/__tests__/views/sections-panel-design-owned.render.test.js.map +1 -0
- package/dist/components/BreakpointPicker.d.ts +18 -0
- package/dist/components/BreakpointPicker.d.ts.map +1 -0
- package/dist/components/BreakpointPicker.js +31 -0
- package/dist/components/BreakpointPicker.js.map +1 -0
- package/dist/components/CanvasEditTip.d.ts +6 -0
- package/dist/components/CanvasEditTip.d.ts.map +1 -0
- package/dist/components/CanvasEditTip.js +22 -0
- package/dist/components/CanvasEditTip.js.map +1 -0
- package/dist/components/EditorRail.d.ts +36 -0
- package/dist/components/EditorRail.d.ts.map +1 -0
- package/dist/components/EditorRail.js +104 -0
- package/dist/components/EditorRail.js.map +1 -0
- package/dist/components/EditorRailTabs.d.ts +32 -0
- package/dist/components/EditorRailTabs.d.ts.map +1 -0
- package/dist/components/EditorRailTabs.js +45 -0
- package/dist/components/EditorRailTabs.js.map +1 -0
- package/dist/components/MediaBlock.d.ts +49 -0
- package/dist/components/MediaBlock.d.ts.map +1 -0
- package/dist/components/MediaBlock.js +50 -0
- package/dist/components/MediaBlock.js.map +1 -0
- package/dist/components/ReflowMeter.d.ts +28 -0
- package/dist/components/ReflowMeter.d.ts.map +1 -0
- package/dist/components/ReflowMeter.js +42 -0
- package/dist/components/ReflowMeter.js.map +1 -0
- package/dist/components/ZoomChip.d.ts +17 -0
- package/dist/components/ZoomChip.d.ts.map +1 -0
- package/dist/components/ZoomChip.js +17 -0
- package/dist/components/ZoomChip.js.map +1 -0
- package/dist/components/breakpoint-icons.d.ts +3 -0
- package/dist/components/breakpoint-icons.d.ts.map +1 -0
- package/dist/components/breakpoint-icons.js +16 -0
- package/dist/components/breakpoint-icons.js.map +1 -0
- package/dist/components/page-tab/AuthorPicker.d.ts +31 -0
- package/dist/components/page-tab/AuthorPicker.d.ts.map +1 -0
- package/dist/components/page-tab/AuthorPicker.js +95 -0
- package/dist/components/page-tab/AuthorPicker.js.map +1 -0
- package/dist/components/page-tab/DirectiveSwitch.d.ts +38 -0
- package/dist/components/page-tab/DirectiveSwitch.d.ts.map +1 -0
- package/dist/components/page-tab/DirectiveSwitch.js +29 -0
- package/dist/components/page-tab/DirectiveSwitch.js.map +1 -0
- package/dist/components/seo/EditorSeoScoreBadge.d.ts +8 -1
- package/dist/components/seo/EditorSeoScoreBadge.d.ts.map +1 -1
- package/dist/components/seo/EditorSeoScoreBadge.js +2 -2
- package/dist/components/seo/EditorSeoScoreBadge.js.map +1 -1
- package/dist/components/seo/PageAuditPanel.d.ts +14 -0
- package/dist/components/seo/PageAuditPanel.d.ts.map +1 -0
- package/dist/components/seo/PageAuditPanel.js +59 -0
- package/dist/components/seo/PageAuditPanel.js.map +1 -0
- package/dist/components/seo/SeoCharCount.d.ts +19 -7
- package/dist/components/seo/SeoCharCount.d.ts.map +1 -1
- package/dist/components/seo/SeoCharCount.js +30 -16
- package/dist/components/seo/SeoCharCount.js.map +1 -1
- package/dist/components/seo/SeoEditorPane.d.ts +15 -1
- package/dist/components/seo/SeoEditorPane.d.ts.map +1 -1
- package/dist/components/seo/SeoEditorPane.js +118 -21
- package/dist/components/seo/SeoEditorPane.js.map +1 -1
- package/dist/components/seo/SerpPreview.d.ts +20 -0
- package/dist/components/seo/SerpPreview.d.ts.map +1 -0
- package/dist/components/seo/SerpPreview.js +6 -0
- package/dist/components/seo/SerpPreview.js.map +1 -0
- package/dist/hooks/usePageAudit.d.ts +41 -0
- package/dist/hooks/usePageAudit.d.ts.map +1 -0
- package/dist/hooks/usePageAudit.js +68 -0
- package/dist/hooks/usePageAudit.js.map +1 -0
- package/dist/hooks/useReflowGuard.d.ts +47 -0
- package/dist/hooks/useReflowGuard.d.ts.map +1 -0
- package/dist/hooks/useReflowGuard.js +52 -0
- package/dist/hooks/useReflowGuard.js.map +1 -0
- package/dist/lib/breakpoints.d.ts +51 -0
- package/dist/lib/breakpoints.d.ts.map +1 -0
- package/dist/lib/breakpoints.js +84 -0
- package/dist/lib/breakpoints.js.map +1 -0
- package/dist/lib/canvas-edit-chrome.d.ts +22 -0
- package/dist/lib/canvas-edit-chrome.d.ts.map +1 -0
- package/dist/lib/canvas-edit-chrome.js +81 -0
- package/dist/lib/canvas-edit-chrome.js.map +1 -0
- package/dist/lib/media-format.d.ts +55 -0
- package/dist/lib/media-format.d.ts.map +1 -0
- package/dist/lib/media-format.js +93 -0
- package/dist/lib/media-format.js.map +1 -0
- package/dist/lib/page-audit-input.d.ts +45 -0
- package/dist/lib/page-audit-input.d.ts.map +1 -0
- package/dist/lib/page-audit-input.js +53 -0
- package/dist/lib/page-audit-input.js.map +1 -0
- package/dist/lib/page-editor-service.d.ts +12 -0
- package/dist/lib/page-editor-service.d.ts.map +1 -1
- package/dist/lib/page-editor-service.js +6 -0
- package/dist/lib/page-editor-service.js.map +1 -1
- package/dist/lib/page-redirect.d.ts +39 -0
- package/dist/lib/page-redirect.d.ts.map +1 -0
- package/dist/lib/page-redirect.js +38 -0
- package/dist/lib/page-redirect.js.map +1 -0
- package/dist/lib/rail-width.d.ts +23 -0
- package/dist/lib/rail-width.d.ts.map +1 -0
- package/dist/lib/rail-width.js +59 -0
- package/dist/lib/rail-width.js.map +1 -0
- package/dist/lib/reflow-baseline.d.ts +45 -0
- package/dist/lib/reflow-baseline.d.ts.map +1 -0
- package/dist/lib/reflow-baseline.js +38 -0
- package/dist/lib/reflow-baseline.js.map +1 -0
- package/dist/lib/reflow-probe.d.ts +159 -0
- package/dist/lib/reflow-probe.d.ts.map +1 -0
- package/dist/lib/reflow-probe.js +228 -0
- package/dist/lib/reflow-probe.js.map +1 -0
- package/dist/lib/seo-service.d.ts +10 -0
- package/dist/lib/seo-service.d.ts.map +1 -1
- package/dist/lib/seo-service.js.map +1 -1
- package/dist/prenta-admin.css +1 -1
- package/dist/views/page-editor/CanvasMetaLine.d.ts +19 -0
- package/dist/views/page-editor/CanvasMetaLine.d.ts.map +1 -0
- package/dist/views/page-editor/CanvasMetaLine.js +23 -0
- package/dist/views/page-editor/CanvasMetaLine.js.map +1 -0
- package/dist/views/page-editor/EditorCanvas.d.ts +34 -8
- package/dist/views/page-editor/EditorCanvas.d.ts.map +1 -1
- package/dist/views/page-editor/EditorCanvas.js +68 -34
- package/dist/views/page-editor/EditorCanvas.js.map +1 -1
- package/dist/views/page-editor/EditorTopBar.d.ts +14 -1
- package/dist/views/page-editor/EditorTopBar.d.ts.map +1 -1
- package/dist/views/page-editor/EditorTopBar.js +8 -17
- 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 +275 -53
- package/dist/views/page-editor/PageSectionEditor.js.map +1 -1
- package/dist/views/page-editor/PageTab.d.ts +36 -0
- package/dist/views/page-editor/PageTab.d.ts.map +1 -0
- package/dist/views/page-editor/PageTab.js +65 -0
- package/dist/views/page-editor/PageTab.js.map +1 -0
- package/dist/views/page-editor/SectionInspector.d.ts.map +1 -1
- package/dist/views/page-editor/SectionInspector.js +63 -19
- package/dist/views/page-editor/SectionInspector.js.map +1 -1
- package/dist/views/page-editor/SectionsPanel.d.ts +30 -5
- package/dist/views/page-editor/SectionsPanel.d.ts.map +1 -1
- package/dist/views/page-editor/SectionsPanel.js +38 -7
- package/dist/views/page-editor/SectionsPanel.js.map +1 -1
- package/dist/views/page-editor/SitePreviewFrame.d.ts.map +1 -1
- package/dist/views/page-editor/SitePreviewFrame.js +3 -0
- package/dist/views/page-editor/SitePreviewFrame.js.map +1 -1
- package/dist/views/page-editor/reflow-context.d.ts +28 -0
- package/dist/views/page-editor/reflow-context.d.ts.map +1 -0
- package/dist/views/page-editor/reflow-context.js +14 -0
- package/dist/views/page-editor/reflow-context.js.map +1 -0
- package/dist/views/page-editor/sections/ByTheNumbersSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/ByTheNumbersSection.js +1 -1
- package/dist/views/page-editor/sections/ByTheNumbersSection.js.map +1 -1
- package/dist/views/page-editor/sections/CtaBannerSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/CtaBannerSection.js +1 -1
- package/dist/views/page-editor/sections/CtaBannerSection.js.map +1 -1
- package/dist/views/page-editor/sections/FeatureHighlightSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/FeatureHighlightSection.js +2 -2
- package/dist/views/page-editor/sections/FeatureHighlightSection.js.map +1 -1
- package/dist/views/page-editor/sections/GallerySection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/GallerySection.js +7 -3
- package/dist/views/page-editor/sections/GallerySection.js.map +1 -1
- package/dist/views/page-editor/sections/HeroBannerSection.js +1 -1
- package/dist/views/page-editor/sections/HeroBannerSection.js.map +1 -1
- package/dist/views/page-editor/sections/MissionSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/MissionSection.js +1 -1
- package/dist/views/page-editor/sections/MissionSection.js.map +1 -1
- package/dist/views/page-editor/sections/PullQuoteSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/PullQuoteSection.js +1 -1
- package/dist/views/page-editor/sections/PullQuoteSection.js.map +1 -1
- package/dist/views/page-editor/sections/RelatedPostsSection.d.ts.map +1 -1
- package/dist/views/page-editor/sections/RelatedPostsSection.js +1 -1
- package/dist/views/page-editor/sections/RelatedPostsSection.js.map +1 -1
- package/dist/views/page-editor/sections/SectionRenderer.d.ts.map +1 -1
- package/dist/views/page-editor/sections/SectionRenderer.js +49 -24
- package/dist/views/page-editor/sections/SectionRenderer.js.map +1 -1
- package/dist/views/page-editor/sections/admin-renderers.d.ts +47 -15
- package/dist/views/page-editor/sections/admin-renderers.d.ts.map +1 -1
- package/dist/views/page-editor/sections/admin-renderers.js +27 -15
- package/dist/views/page-editor/sections/admin-renderers.js.map +1 -1
- package/dist/views/page-editor/sections/parts.d.ts +0 -1
- package/dist/views/page-editor/sections/parts.d.ts.map +1 -1
- package/dist/views/page-editor/sections/parts.js +41 -16
- package/dist/views/page-editor/sections/parts.js.map +1 -1
- package/dist/views/page-editor/viewports.d.ts +7 -14
- package/dist/views/page-editor/viewports.d.ts.map +1 -1
- package/dist/views/page-editor/viewports.js +7 -12
- package/dist/views/page-editor/viewports.js.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.d.ts +2 -1
- package/dist/views/post-editor/PostEditorCanvas.d.ts.map +1 -1
- package/dist/views/post-editor/PostEditorCanvas.js +5 -2
- package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostSectionEditor.js +2 -20
- package/dist/views/post-editor/PostSectionEditor.js.map +1 -1
- package/dist/views/post-editor/PostTemplateEditor.d.ts.map +1 -1
- package/dist/views/post-editor/PostTemplateEditor.js +4 -1
- package/dist/views/post-editor/PostTemplateEditor.js.map +1 -1
- package/package.json +5 -3
- package/src/AdminRoot.tsx +27 -6
- package/src/__tests__/components/breakpoint-controls.render.test.tsx +57 -0
- package/src/__tests__/components/canvas-edit-tip.render.test.tsx +41 -0
- package/src/__tests__/components/editor-rail.render.test.tsx +192 -0
- package/src/__tests__/components/media-block.render.test.tsx +126 -0
- package/src/__tests__/components/page-audit-panel.render.test.tsx +64 -0
- package/src/__tests__/components/reflow-meter.render.test.tsx +144 -0
- package/src/__tests__/components/seo-char-count.test.tsx +26 -6
- package/src/__tests__/components/serp-preview.render.test.tsx +32 -0
- package/src/__tests__/lib/breakpoints.test.ts +84 -0
- package/src/__tests__/lib/canvas-edit-chrome.test.ts +56 -0
- package/src/__tests__/lib/media-format.test.ts +89 -0
- package/src/__tests__/lib/page-audit-input.test.ts +144 -0
- package/src/__tests__/lib/page-editor-service.test.ts +2 -0
- package/src/__tests__/lib/page-redirect.test.ts +29 -0
- package/src/__tests__/lib/rail-width.test.ts +86 -0
- package/src/__tests__/lib/reflow-baseline.test.ts +64 -0
- package/src/__tests__/lib/reflow-probe.test.ts +95 -0
- package/src/__tests__/styles/canvas-container-queries.test.ts +103 -0
- package/src/__tests__/styles/packaging.test.ts +38 -0
- package/src/__tests__/styles/tokens-drift.test.ts +110 -0
- package/src/__tests__/views/admin-renderer-compat.test.ts +48 -0
- package/src/__tests__/views/admin-section-renderers.test.tsx +70 -4
- package/src/__tests__/views/editor-top-bar.render.test.tsx +1 -1
- package/src/__tests__/views/page-tab.render.test.tsx +226 -0
- package/src/__tests__/views/section-class-parity.test.ts +98 -0
- package/src/__tests__/views/sections-panel-design-owned.render.test.tsx +104 -0
- package/src/components/BreakpointPicker.tsx +114 -0
- package/src/components/CanvasEditTip.tsx +46 -0
- package/src/components/EditorRail.tsx +219 -0
- package/src/components/EditorRailTabs.tsx +117 -0
- package/src/components/MediaBlock.tsx +223 -0
- package/src/components/ReflowMeter.tsx +125 -0
- package/src/components/ZoomChip.tsx +39 -0
- package/src/components/breakpoint-icons.ts +17 -0
- package/src/components/page-tab/AuthorPicker.tsx +240 -0
- package/src/components/page-tab/DirectiveSwitch.tsx +86 -0
- package/src/components/seo/EditorSeoScoreBadge.tsx +9 -1
- package/src/components/seo/PageAuditPanel.tsx +192 -0
- package/src/components/seo/SeoCharCount.tsx +55 -24
- package/src/components/seo/SeoEditorPane.tsx +213 -31
- package/src/components/seo/SerpPreview.tsx +41 -0
- package/src/hooks/usePageAudit.ts +98 -0
- package/src/hooks/useReflowGuard.ts +96 -0
- package/src/lib/breakpoints.ts +107 -0
- package/src/lib/canvas-edit-chrome.ts +82 -0
- package/src/lib/media-format.ts +99 -0
- package/src/lib/page-audit-input.ts +104 -0
- package/src/lib/page-editor-service.ts +18 -0
- package/src/lib/page-redirect.ts +60 -0
- package/src/lib/rail-width.ts +58 -0
- package/src/lib/reflow-baseline.ts +70 -0
- package/src/lib/reflow-probe.ts +299 -0
- package/src/lib/seo-service.ts +10 -0
- package/src/styles/prenta-tokens.css +120 -42
- package/src/styles/theme.css +130 -0
- package/src/views/page-editor/CanvasMetaLine.tsx +50 -0
- package/src/views/page-editor/EditorCanvas.tsx +109 -50
- package/src/views/page-editor/EditorTopBar.tsx +35 -43
- package/src/views/page-editor/PageSectionEditor.tsx +419 -148
- package/src/views/page-editor/PageTab.tsx +433 -0
- package/src/views/page-editor/SectionInspector.tsx +82 -41
- package/src/views/page-editor/SectionsPanel.tsx +281 -140
- package/src/views/page-editor/SitePreviewFrame.tsx +3 -0
- package/src/views/page-editor/reflow-context.ts +43 -0
- package/src/views/page-editor/sections/ByTheNumbersSection.tsx +3 -2
- package/src/views/page-editor/sections/CtaBannerSection.tsx +3 -1
- package/src/views/page-editor/sections/FeatureHighlightSection.tsx +3 -2
- package/src/views/page-editor/sections/GallerySection.tsx +7 -3
- package/src/views/page-editor/sections/HeroBannerSection.tsx +2 -2
- package/src/views/page-editor/sections/MissionSection.tsx +4 -2
- package/src/views/page-editor/sections/PullQuoteSection.tsx +3 -1
- package/src/views/page-editor/sections/RelatedPostsSection.tsx +2 -1
- package/src/views/page-editor/sections/SectionRenderer.tsx +69 -29
- package/src/views/page-editor/sections/admin-renderers.tsx +54 -15
- package/src/views/page-editor/sections/parts.tsx +46 -18
- package/src/views/page-editor/viewports.ts +13 -26
- package/src/views/post-editor/PostEditorCanvas.tsx +18 -11
- package/src/views/post-editor/PostSectionEditor.tsx +1 -56
- package/src/views/post-editor/PostTemplateEditor.tsx +3 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
4
4
|
import { Loader2 } from 'lucide-react';
|
|
5
|
+
import { injectPreviewEditChrome } from '../../lib/canvas-edit-chrome.js';
|
|
5
6
|
import { canvasOriginFromSrc, isPreviewBridgeMessage, isPreviewEditMessage, isPreviewRequestMediaMessage, PREVIEW_BRIDGE_VERSION, PREVIEW_SECTIONS_DEBOUNCE_MS, toPreviewSectionPayload, } from '../../lib/preview-bridge.js';
|
|
6
7
|
import { getViewport } from './viewports.js';
|
|
7
8
|
/**
|
|
@@ -88,6 +89,8 @@ export function SitePreviewFrame({ src, viewport, reloadKey, title = 'Site previ
|
|
|
88
89
|
editing: true,
|
|
89
90
|
};
|
|
90
91
|
win.postMessage(msg, canvasOrigin);
|
|
92
|
+
// Same-origin only — cross-origin previews skip silently.
|
|
93
|
+
injectPreviewEditChrome(iframeRef.current);
|
|
91
94
|
}, [canvasOrigin, loaded, canvasReady, reloadKey]);
|
|
92
95
|
// Admin → canvas: highlight the selected section.
|
|
93
96
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SitePreviewFrame.js","sourceRoot":"","sources":["../../../src/views/page-editor/SitePreviewFrame.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SitePreviewFrame.js","sourceRoot":"","sources":["../../../src/views/page-editor/SitePreviewFrame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { BreakpointId } from '../../lib/breakpoints.js';
|
|
2
|
+
import type { ReflowBaseline } from '../../lib/reflow-baseline.js';
|
|
3
|
+
/**
|
|
4
|
+
* What the reflow guard needs that a field editor cannot know by itself.
|
|
5
|
+
*
|
|
6
|
+
* A context rather than props because the guard hangs off individual fields
|
|
7
|
+
* several levels down (inspector → field → repeater row → field), and threading
|
|
8
|
+
* five props through every renderer for a feature that only some field types
|
|
9
|
+
* use makes every one of them harder to read.
|
|
10
|
+
*
|
|
11
|
+
* The default is inert — no canvas, no baseline — so a field rendered outside a
|
|
12
|
+
* page editor (a repeater in a modal, a test) simply shows no guard rather than
|
|
13
|
+
* needing a provider to exist.
|
|
14
|
+
*/
|
|
15
|
+
export interface ReflowContextValue {
|
|
16
|
+
/** The live `.prenta-canvas` element the probe clones. */
|
|
17
|
+
canvas: HTMLElement | null;
|
|
18
|
+
/** Section the inspector is editing — scopes field lookup. */
|
|
19
|
+
sectionId: string | null;
|
|
20
|
+
baseline: ReflowBaseline | null;
|
|
21
|
+
/** Breakpoint the canvas is showing. */
|
|
22
|
+
device: BreakpointId;
|
|
23
|
+
/** Take the canvas to a breakpoint so the editor can look at it. */
|
|
24
|
+
onProof: (id: BreakpointId) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare const ReflowContext: import("react").Context<ReflowContextValue>;
|
|
27
|
+
export declare function useReflowContext(): ReflowContextValue;
|
|
28
|
+
//# sourceMappingURL=reflow-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflow-context.d.ts","sourceRoot":"","sources":["../../../src/views/page-editor/reflow-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,wCAAwC;IACxC,MAAM,EAAE,YAAY,CAAA;IACpB,oEAAoE;IACpE,OAAO,EAAE,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,CAAA;CACpC;AAUD,eAAO,MAAM,aAAa,6CAA2C,CAAA;AAErE,wBAAgB,gBAAgB,IAAI,kBAAkB,CAErD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
const INERT = {
|
|
4
|
+
canvas: null,
|
|
5
|
+
sectionId: null,
|
|
6
|
+
baseline: null,
|
|
7
|
+
device: 'wide',
|
|
8
|
+
onProof: () => { },
|
|
9
|
+
};
|
|
10
|
+
export const ReflowContext = createContext(INERT);
|
|
11
|
+
export function useReflowContext() {
|
|
12
|
+
return useContext(ReflowContext);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=reflow-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflow-context.js","sourceRoot":"","sources":["../../../src/views/page-editor/reflow-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AA4BjD,MAAM,KAAK,GAAuB;IAChC,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;CAClB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAqB,KAAK,CAAC,CAAA;AAErE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByTheNumbersSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/ByTheNumbersSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAStE,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"ByTheNumbersSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/ByTheNumbersSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAStE,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,2CAgCxE"}
|
|
@@ -5,6 +5,6 @@ export function ByTheNumbersSection({ section }) {
|
|
|
5
5
|
const heading = str(c, 'heading');
|
|
6
6
|
const body = str(c, 'body');
|
|
7
7
|
const stats = Array.isArray(c.stats) ? c.stats : [];
|
|
8
|
-
return (_jsxs("div", { className: "mx-auto max-w-5xl px-6 text-center", children: [heading && (_jsx("h2", { className: "text-foreground text-2xl font-semibold tracking-tight
|
|
8
|
+
return (_jsxs("div", { className: "mx-auto max-w-5xl px-6 text-center", children: [heading && (_jsx("h2", { className: "text-foreground @pv-md:text-3xl @pv-2xl:text-4xl text-2xl font-semibold tracking-tight", children: heading })), body && _jsx("p", { className: "text-muted-foreground mx-auto mt-4 max-w-2xl text-base", children: body }), stats.length > 0 && (_jsx("dl", { className: "@pv-sm:grid-cols-2 @pv-lg:grid-cols-3 mt-10 grid grid-cols-1 gap-8", children: stats.map((s, i) => (_jsxs("div", { children: [_jsx("dt", { className: "text-brand text-4xl font-semibold tracking-tight", children: String(s.value ?? '') }), _jsx("dd", { className: "text-foreground mt-2 text-sm font-medium", children: String(s.label ?? '') }), s.description ? (_jsx("dd", { className: "text-muted-foreground mt-1 text-xs", children: String(s.description) })) : null] }, i))) }))] }));
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=ByTheNumbersSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ByTheNumbersSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/ByTheNumbersSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAQhC,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAA4B;IACvE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/D,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"ByTheNumbersSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/ByTheNumbersSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAQhC,MAAM,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAA4B;IACvE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/D,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,wFAAwF,YACnG,OAAO,GACL,CACN,EACA,IAAI,IAAI,YAAG,SAAS,EAAC,wDAAwD,YAAE,IAAI,GAAK,EAExF,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,aAAI,SAAS,EAAC,oEAAoE,YAC/E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,0BACE,aAAI,SAAS,EAAC,kDAAkD,YAC7D,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GACnB,EACL,aAAI,SAAS,EAAC,0CAA0C,YAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAM,EACpF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CACf,aAAI,SAAS,EAAC,oCAAoC,YAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAM,CAChF,CAAC,CAAC,CAAC,IAAI,KAPA,CAAC,CAQL,CACP,CAAC,GACC,CACN,IACG,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CtaBannerSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/CtaBannerSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"CtaBannerSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/CtaBannerSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,2CA2BrE"}
|
|
@@ -5,6 +5,6 @@ export function CtaBannerSection({ section }) {
|
|
|
5
5
|
const dark = isDarkBackground(section.settings);
|
|
6
6
|
const heading = str(c, 'heading');
|
|
7
7
|
const body = str(c, 'body');
|
|
8
|
-
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6 text-center", children: [_jsx("h2", { className: "text-2xl font-semibold tracking-tight
|
|
8
|
+
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6 text-center", children: [_jsx("h2", { className: "@pv-md:text-3xl @pv-2xl:text-4xl text-2xl font-semibold tracking-tight", children: heading }), body && (_jsx("p", { className: `mx-auto mt-3 max-w-xl text-base ${dark ? 'text-brand-foreground/80' : 'text-muted-foreground'}`, children: body })), _jsx("div", { className: "mt-6 flex justify-center", children: _jsx(PreviewButton, { label: str(c, 'buttonLabel'), href: str(c, 'buttonUrl'), tone: dark ? 'onDark' : 'primary' }) })] }));
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=CtaBannerSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CtaBannerSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/CtaBannerSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA4B;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"CtaBannerSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/CtaBannerSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA4B;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,wEAAwE,YACnF,OAAO,GACL,EACJ,IAAI,IAAI,CACP,YACE,SAAS,EAAE,mCAAmC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,EAAE,YAE1G,IAAI,GACH,CACL,EACD,cAAK,SAAS,EAAC,0BAA0B,YACvC,KAAC,aAAa,IACZ,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EACzB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GACjC,GACE,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureHighlightSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/FeatureHighlightSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wBAAgB,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"FeatureHighlightSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/FeatureHighlightSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wBAAgB,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,2CA6D5E"}
|
|
@@ -9,10 +9,10 @@ export function FeatureHighlightSection({ section }) {
|
|
|
9
9
|
const imageUrl = str(c, 'imageUrl');
|
|
10
10
|
const imageAlt = str(c, 'imageAlt');
|
|
11
11
|
const imageLeft = str(c, 'imagePosition', 'right') === 'left';
|
|
12
|
-
const text = (_jsxs("div", { className: "flex-1", children: [label && (_jsx("span", { className: "bg-brand mb-3 inline-block rounded px-2 py-0.5 text-xs font-medium text-white", children: label })), _jsx("h2", { className: "text-foreground text-2xl font-semibold tracking-tight
|
|
12
|
+
const text = (_jsxs("div", { className: "flex-1", children: [label && (_jsx("span", { className: "bg-brand mb-3 inline-block rounded px-2 py-0.5 text-xs font-medium text-white", children: label })), _jsx("h2", { className: "text-foreground @pv-md:text-3xl @pv-2xl:text-4xl text-2xl font-semibold tracking-tight", children: heading }), body && _jsx("p", { className: "text-muted-foreground mt-4 text-base leading-relaxed", children: body }), _jsx("div", { className: "mt-6", children: _jsx(PreviewButton, { label: str(c, 'buttonLabel'), href: str(c, 'buttonUrl'), tone: "primary" }) })] }));
|
|
13
13
|
const media = (_jsx("div", { className: "flex-1", children: imageUrl ? (
|
|
14
14
|
// Admin-only preview; next/image isn't in scope here.
|
|
15
15
|
_jsx("img", { src: imageUrl, alt: imageAlt, className: "aspect-[4/3] w-full rounded-xl object-cover" })) : (_jsx("div", { className: "bg-brand/10 flex aspect-[4/3] w-full items-center justify-center rounded-xl", children: _jsx(ImageIcon, { className: "text-brand h-10 w-10", "aria-hidden": true }) })) }));
|
|
16
|
-
return (_jsx("div", { className: "mx-auto max-w-5xl px-6", children: _jsx("div", { className: "flex flex-col items-center gap-10
|
|
16
|
+
return (_jsx("div", { className: "mx-auto max-w-5xl px-6", children: _jsx("div", { className: "@pv-md:flex-row flex flex-col items-center gap-10", children: imageLeft ? (_jsxs(_Fragment, { children: [media, text] })) : (_jsxs(_Fragment, { children: [text, media] })) }) }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=FeatureHighlightSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureHighlightSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/FeatureHighlightSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,UAAU,uBAAuB,CAAC,EAAE,OAAO,EAA4B;IAC3E,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IAE7D,MAAM,IAAI,GAAG,CACX,eAAK,SAAS,EAAC,QAAQ,aACpB,KAAK,IAAI,CACR,eAAM,SAAS,EAAC,+EAA+E,YAC5F,KAAK,GACD,CACR,EACD,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"FeatureHighlightSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/FeatureHighlightSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,UAAU,uBAAuB,CAAC,EAAE,OAAO,EAA4B;IAC3E,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,MAAM,CAAA;IAE7D,MAAM,IAAI,GAAG,CACX,eAAK,SAAS,EAAC,QAAQ,aACpB,KAAK,IAAI,CACR,eAAM,SAAS,EAAC,+EAA+E,YAC5F,KAAK,GACD,CACR,EACD,aAAI,SAAS,EAAC,wFAAwF,YACnG,OAAO,GACL,EACJ,IAAI,IAAI,YAAG,SAAS,EAAC,sDAAsD,YAAE,IAAI,GAAK,EACvF,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,aAAa,IAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,SAAS,GAAG,GACrF,IACF,CACP,CAAA;IAED,MAAM,KAAK,GAAG,CACZ,cAAK,SAAS,EAAC,QAAQ,YACpB,QAAQ,CAAC,CAAC,CAAC;QACV,sDAAsD;QACtD,cACE,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,6CAA6C,GACvD,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,6EAA6E,YAC1F,KAAC,SAAS,IAAC,SAAS,EAAC,sBAAsB,wBAAe,GACtD,CACP,GACG,CACP,CAAA;IAED,OAAO,CACL,cAAK,SAAS,EAAC,wBAAwB,YAErC,cAAK,SAAS,EAAC,mDAAmD,YAC/D,SAAS,CAAC,CAAC,CAAC,CACX,8BACG,KAAK,EACL,IAAI,IACJ,CACJ,CAAC,CAAC,CAAC,CACF,8BACG,IAAI,EACJ,KAAK,IACL,CACJ,GACG,GACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GallerySection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/GallerySection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAStE,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"GallerySection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/GallerySection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAStE,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,2CAiDnE"}
|
|
@@ -7,11 +7,15 @@ export function GallerySection({ section }) {
|
|
|
7
7
|
const columns = Number.parseInt(str(c, 'columns', '3'), 10) || 3;
|
|
8
8
|
const images = Array.isArray(c.images) ? c.images : [];
|
|
9
9
|
const withUrl = images.filter((img) => img && typeof img.url === 'string' && img.url);
|
|
10
|
+
// Ascending min-width container queries only: the column count is chosen
|
|
11
|
+
// from content, so mixing min- and max-width variants here would depend on
|
|
12
|
+
// Tailwind's variant sort order to resolve — the exact ambiguity the handoff
|
|
13
|
+
// warns about for data-driven grids.
|
|
10
14
|
const cols = columns === 2
|
|
11
|
-
? 'sm:grid-cols-2'
|
|
15
|
+
? '@pv-sm:grid-cols-2'
|
|
12
16
|
: columns === 4
|
|
13
|
-
? 'sm:grid-cols-2
|
|
14
|
-
: 'sm:grid-cols-3';
|
|
17
|
+
? '@pv-sm:grid-cols-2 @pv-xl:grid-cols-4'
|
|
18
|
+
: '@pv-sm:grid-cols-2 @pv-lg:grid-cols-3';
|
|
15
19
|
return (_jsxs("div", { className: "mx-auto max-w-5xl px-6", children: [heading && (_jsx("h2", { className: "text-foreground mb-6 text-2xl font-semibold tracking-tight", children: heading })), withUrl.length > 0 ? (_jsx("div", { className: `grid grid-cols-1 gap-3 ${cols}`, children: withUrl.map((img, i) => (_jsxs("figure", { className: "border-border overflow-hidden rounded-lg border", children: [_jsx("img", { src: img.url, alt: img.alt ?? '', className: "aspect-square w-full object-cover" }), img.caption && (_jsx("figcaption", { className: "text-muted-foreground px-2 py-1.5 text-xs", children: img.caption }))] }, i))) })) : (_jsx("div", { className: `grid grid-cols-1 gap-3 ${cols}`, children: Array.from({ length: columns }, (_, i) => (_jsx("div", { className: "bg-muted aspect-square rounded-lg", "aria-hidden": true }, i))) }))] }));
|
|
16
20
|
}
|
|
17
21
|
//# sourceMappingURL=GallerySection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GallerySection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/GallerySection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAQhC,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAA4B;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,MAAM,GAAmB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,MAAyB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAErF,MAAM,IAAI,GACR,OAAO,KAAK,CAAC;QACX,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"GallerySection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/GallerySection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAQhC,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAA4B;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,MAAM,GAAmB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,MAAyB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAErF,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,qCAAqC;IACrC,MAAM,IAAI,GACR,OAAO,KAAK,CAAC;QACX,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,OAAO,KAAK,CAAC;YACb,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,uCAAuC,CAAA;IAE/C,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACpC,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,4DAA4D,YAAE,OAAO,GAAM,CAC1F,EACA,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,cAAK,SAAS,EAAE,0BAA0B,IAAI,EAAE,YAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,kBAAgB,SAAS,EAAC,iDAAiD,aACzE,cACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,EAClB,SAAS,EAAC,mCAAmC,GAC7C,EACD,GAAG,CAAC,OAAO,IAAI,CACd,qBAAY,SAAS,EAAC,2CAA2C,YAC9D,GAAG,CAAC,OAAO,GACD,CACd,KAVU,CAAC,CAWL,CACV,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,0BAA0B,IAAI,EAAE,YAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzC,cAAa,SAAS,EAAC,mCAAmC,yBAAhD,CAAC,CAA8D,CAC1E,CAAC,GACE,CACP,IACG,CACP,CAAA;AACH,CAAC"}
|
|
@@ -6,6 +6,6 @@ export function HeroBannerSection({ section }) {
|
|
|
6
6
|
const eyebrow = str(c, 'eyebrow');
|
|
7
7
|
const heading = str(c, 'heading');
|
|
8
8
|
const body = str(c, 'body');
|
|
9
|
-
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6 text-center", children: [eyebrow && (_jsx("p", { className: `mb-3 text-sm font-medium tracking-wide uppercase ${dark ? 'text-brand-foreground/80' : 'text-brand'}`, children: eyebrow })), _jsx("h1", { className: "text-3xl leading-tight font-semibold tracking-tight
|
|
9
|
+
return (_jsxs("div", { className: "mx-auto max-w-3xl px-6 text-center", children: [eyebrow && (_jsx("p", { className: `mb-3 text-sm font-medium tracking-wide uppercase ${dark ? 'text-brand-foreground/80' : 'text-brand'}`, children: eyebrow })), _jsx("h1", { className: "@pv-md:text-5xl @pv-2xl:text-6xl text-3xl leading-tight font-semibold tracking-tight", children: heading || 'Your headline goes here' }), body && (_jsx("p", { className: `@pv-md:text-lg mx-auto mt-5 max-w-2xl text-base ${dark ? 'text-brand-foreground/80' : 'text-muted-foreground'}`, children: body })), _jsxs("div", { className: "mt-8 flex flex-wrap items-center justify-center gap-3", children: [_jsx(PreviewButton, { label: str(c, 'primaryButtonLabel'), href: str(c, 'primaryButtonUrl'), tone: dark ? 'onDark' : 'primary' }), _jsx(PreviewButton, { label: str(c, 'secondaryButtonLabel'), href: str(c, 'secondaryButtonUrl'), tone: "ghost" })] })] }));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=HeroBannerSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeroBannerSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/HeroBannerSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAA4B;IACrE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,OAAO,IAAI,CACV,YACE,SAAS,EAAE,oDAAoD,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,YAAY,EAAE,YAEhH,OAAO,GACN,CACL,EACD,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"HeroBannerSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/HeroBannerSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEjE,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAA4B;IACrE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAC,oCAAoC,aAChD,OAAO,IAAI,CACV,YACE,SAAS,EAAE,oDAAoD,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,YAAY,EAAE,YAEhH,OAAO,GACN,CACL,EACD,aAAI,SAAS,EAAC,sFAAsF,YACjG,OAAO,IAAI,yBAAyB,GAClC,EACJ,IAAI,IAAI,CACP,YACE,SAAS,EAAE,mDAAmD,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,EAAE,YAE1H,IAAI,GACH,CACL,EACD,eAAK,SAAS,EAAC,uDAAuD,aACpE,KAAC,aAAa,IACZ,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EACnC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAChC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GACjC,EACF,KAAC,aAAa,IACZ,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,EACrC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAClC,IAAI,EAAC,OAAO,GACZ,IACE,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MissionSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/MissionSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"MissionSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/MissionSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,2CAqBnE"}
|
|
@@ -7,6 +7,6 @@ export function MissionSection({ section }) {
|
|
|
7
7
|
const align = alignment === 'left' ? 'text-left' : 'text-center mx-auto';
|
|
8
8
|
const heading = str(c, 'heading');
|
|
9
9
|
const body = str(c, 'body');
|
|
10
|
-
return (_jsxs("div", { className: `max-w-3xl px-6 ${align}`, children: [heading && (_jsx("h2", { className: "text-foreground text-2xl font-semibold tracking-tight
|
|
10
|
+
return (_jsxs("div", { className: `max-w-3xl px-6 ${align}`, children: [heading && (_jsx("h2", { className: "text-foreground @pv-md:text-3xl @pv-2xl:text-4xl text-2xl font-semibold tracking-tight", children: heading })), body && (_jsx("p", { className: "text-muted-foreground @pv-md:text-lg mt-4 text-base leading-relaxed", children: body }))] }));
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=MissionSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MissionSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/MissionSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAA4B;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAA;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAE,kBAAkB,KAAK,EAAE,aACtC,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"MissionSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/MissionSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAA4B;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAA;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,OAAO,CACL,eAAK,SAAS,EAAE,kBAAkB,KAAK,EAAE,aACtC,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,wFAAwF,YACnG,OAAO,GACL,CACN,EACA,IAAI,IAAI,CACP,YAAG,SAAS,EAAC,qEAAqE,YAC/E,IAAI,GACH,CACL,IACG,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PullQuoteSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/PullQuoteSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"PullQuoteSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/PullQuoteSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAGtE,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,kDAwBrE"}
|
|
@@ -8,6 +8,6 @@ export function PullQuoteSection({ section }) {
|
|
|
8
8
|
const role = str(c, 'role');
|
|
9
9
|
if (!quote)
|
|
10
10
|
return null;
|
|
11
|
-
return (_jsxs("figure", { className: "mx-auto max-w-3xl px-6", children: [_jsx("blockquote", { className: "border-brand border-l-4 pl-6", children: _jsxs("p", { className: "text-foreground text-xl leading-relaxed font-medium
|
|
11
|
+
return (_jsxs("figure", { className: "mx-auto max-w-3xl px-6", children: [_jsx("blockquote", { className: "border-brand border-l-4 pl-6", children: _jsxs("p", { className: "text-foreground @pv-md:text-2xl text-xl leading-relaxed font-medium", children: ["\u201C", quote, "\u201D"] }) }), (attribution || role) && (_jsxs("figcaption", { className: "text-muted-foreground mt-3 pl-6 text-sm", children: [attribution && _jsx("span", { className: "text-foreground font-medium", children: attribution }), attribution && role && _jsx("span", { "aria-hidden": true, children: " \u00B7 " }), role] }))] }));
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=PullQuoteSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PullQuoteSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/PullQuoteSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA4B;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,OAAO,CACL,kBAAQ,SAAS,EAAC,wBAAwB,aACxC,qBAAY,SAAS,EAAC,8BAA8B,YAClD,aAAG,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"PullQuoteSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/PullQuoteSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAA4B;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAE3B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,OAAO,CACL,kBAAQ,SAAS,EAAC,wBAAwB,aACxC,qBAAY,SAAS,EAAC,8BAA8B,YAClD,aAAG,SAAS,EAAC,qEAAqE,uBAC9E,KAAK,cACL,GACO,EACZ,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CACxB,sBAAY,SAAS,EAAC,yCAAyC,aAC5D,WAAW,IAAI,eAAM,SAAS,EAAC,6BAA6B,YAAE,WAAW,GAAQ,EACjF,WAAW,IAAI,IAAI,IAAI,2DAA4B,EACnD,IAAI,IACM,CACd,IACM,CACV,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPostsSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/RelatedPostsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAO,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,
|
|
1
|
+
{"version":3,"file":"RelatedPostsSection.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/RelatedPostsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAO,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,2CAyCA"}
|
|
@@ -17,7 +17,7 @@ export function RelatedPostsSection({ section, context, }) {
|
|
|
17
17
|
excerpt: 'A short summary of the related post will appear here.',
|
|
18
18
|
url: undefined,
|
|
19
19
|
}));
|
|
20
|
-
const cols = count >= 4 ? 'sm:grid-cols-2
|
|
20
|
+
const cols = count >= 4 ? '@pv-sm:grid-cols-2 @pv-xl:grid-cols-4' : '@pv-sm:grid-cols-2 @pv-lg:grid-cols-3';
|
|
21
21
|
return (_jsxs("div", { className: "mx-auto max-w-5xl px-6", children: [heading && (_jsx("h2", { className: "text-foreground mb-6 text-2xl font-semibold tracking-tight", children: heading })), _jsx("div", { className: `grid grid-cols-1 gap-4 ${cols}`, children: cards.map((post, i) => (_jsxs("div", { className: "border-border bg-card overflow-hidden rounded-xl border shadow-sm", children: [_jsx("div", { className: "bg-muted aspect-[16/9]", "aria-hidden": true }), _jsxs("div", { className: "p-4", children: [_jsx("p", { className: "text-foreground text-base font-medium", children: post.title }), post.excerpt && (_jsx("p", { className: "text-muted-foreground mt-1 line-clamp-2 text-sm", children: post.excerpt }))] })] }, i))) })] }));
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=RelatedPostsSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedPostsSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/RelatedPostsSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAA0B,MAAM,YAAY,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE5D,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAA;IAC5C,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,EAAE,uDAAuD;YAChE,GAAG,EAAE,SAA+B;SACrC,CAAC,CAAC,CAAA;IAET,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"RelatedPostsSection.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/RelatedPostsSection.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAA0B,MAAM,YAAY,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE5D,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAA;IAC5C,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,EAAE,uDAAuD;YAChE,GAAG,EAAE,SAA+B;SACrC,CAAC,CAAC,CAAA;IAET,MAAM,IAAI,GACR,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,uCAAuC,CAAA;IAEhG,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACpC,OAAO,IAAI,CACV,aAAI,SAAS,EAAC,4DAA4D,YAAE,OAAO,GAAM,CAC1F,EACD,cAAK,SAAS,EAAE,0BAA0B,IAAI,EAAE,YAC7C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,eAEE,SAAS,EAAC,mEAAmE,aAE7E,cAAK,SAAS,EAAC,wBAAwB,wBAAe,EACtD,eAAK,SAAS,EAAC,KAAK,aAClB,YAAG,SAAS,EAAC,uCAAuC,YAAE,IAAI,CAAC,KAAK,GAAK,EACpE,IAAI,CAAC,OAAO,IAAI,CACf,YAAG,SAAS,EAAC,iDAAiD,YAAE,IAAI,CAAC,OAAO,GAAK,CAClF,IACG,KATD,CAAC,CAUF,CACP,CAAC,GACE,IACF,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionRenderer.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/SectionRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAItE,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAmClF,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE9D;
|
|
1
|
+
{"version":3,"file":"SectionRenderer.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/SectionRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAItE,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAmClF,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE9D;AA8GD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAA;IACpB;kEAC8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,4EAA4E;IAC5E,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAgB,EAChB,QAAgB,EAChB,QAAQ,EACR,WAAW,EACX,OAAO,GACR,EAAE,oBAAoB,2CA0CtB"}
|
|
@@ -41,9 +41,46 @@ const CANVAS_RENDERED_TYPES = new Set([
|
|
|
41
41
|
export function hasCanvasRenderer(sectionType) {
|
|
42
42
|
return CANVAS_RENDERED_TYPES.has(sectionType);
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Dispatch a section's body component by type. Shared by editor + preview.
|
|
46
|
+
*
|
|
47
|
+
* RESOLUTION ORDER — consumer-supplied renderer, then built-in, then
|
|
48
|
+
* placeholder. The consumer's renderer wins for EVERY type, including the
|
|
49
|
+
* built-ins, because that is the whole point of the `sectionRenderers` prop:
|
|
50
|
+
* hand the admin the same components the public site registers and the canvas
|
|
51
|
+
* shows what actually ships.
|
|
52
|
+
*
|
|
53
|
+
* Until this order was corrected the map was consulted only for types the
|
|
54
|
+
* switch below did not know, so a consumer passing
|
|
55
|
+
* `DEFAULT_SECTION_RENDERERS` from `@prenta/sections-react` had their hero,
|
|
56
|
+
* text, feature, stats and cta silently ignored — the canvas rendered the
|
|
57
|
+
* admin's own approximations while claiming to preview the page. Those
|
|
58
|
+
* approximations differ in font size, weight and breakpoint, so copy that fit
|
|
59
|
+
* on two lines in the canvas could wrap to three on the site.
|
|
60
|
+
*
|
|
61
|
+
* The built-ins below remain the fallback for consumers who pass nothing.
|
|
62
|
+
*/
|
|
45
63
|
function SectionBody({ section, context }) {
|
|
46
64
|
const customRenderers = useAdminSectionRenderers();
|
|
65
|
+
const Supplied = customRenderers[section.sectionType];
|
|
66
|
+
if (Supplied) {
|
|
67
|
+
// The renderer contract types `settings` as an open record (matching the
|
|
68
|
+
// sections-react wire shape); the admin's concrete `SectionSettings`
|
|
69
|
+
// interface is the same object at runtime but has no index signature, so
|
|
70
|
+
// bridge the nominal gap here.
|
|
71
|
+
const wireSection = {
|
|
72
|
+
...section,
|
|
73
|
+
settings: { ...section.settings },
|
|
74
|
+
};
|
|
75
|
+
// Rendered as a component (not invoked inline) so a throw happens inside
|
|
76
|
+
// the boundary's subtree and is actually caught. A consumer renderer that
|
|
77
|
+
// breaks falls back to the built-in rather than blanking the editor.
|
|
78
|
+
return (_jsx(ErrorBoundary, { fallback: _jsx(BuiltInSectionBody, { section: section, context: context }), children: _jsx(Supplied, { section: wireSection, ctx: context, options: ADMIN_RENDER_OPTIONS }) }, section.id));
|
|
79
|
+
}
|
|
80
|
+
return _jsx(BuiltInSectionBody, { section: section, context: context });
|
|
81
|
+
}
|
|
82
|
+
/** The admin's own approximations, used when the consumer supplies nothing. */
|
|
83
|
+
function BuiltInSectionBody({ section, context, }) {
|
|
47
84
|
switch (section.sectionType) {
|
|
48
85
|
case 'hero':
|
|
49
86
|
return _jsx(HeroBannerSection, { section: section });
|
|
@@ -69,29 +106,11 @@ function SectionBody({ section, context }) {
|
|
|
69
106
|
return _jsx(EmbedSection, { section: section });
|
|
70
107
|
case 'widget-embed':
|
|
71
108
|
return _jsx(WidgetEmbedSection, { section: section });
|
|
72
|
-
default:
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
// to the structural placeholder instead of taking down the editor.
|
|
77
|
-
const Custom = customRenderers[section.sectionType];
|
|
78
|
-
if (Custom) {
|
|
79
|
-
// The renderer contract types `settings` as an open record (matching
|
|
80
|
-
// the sections-react wire shape); the admin's concrete
|
|
81
|
-
// `SectionSettings` interface is the same object at runtime but has
|
|
82
|
-
// no index signature, so bridge the nominal gap here.
|
|
83
|
-
const wireSection = {
|
|
84
|
-
...section,
|
|
85
|
-
settings: { ...section.settings },
|
|
86
|
-
};
|
|
87
|
-
// Rendered as a component (not invoked inline) so a throw happens
|
|
88
|
-
// inside the boundary's subtree and is actually caught.
|
|
89
|
-
return (_jsx(ErrorBoundary, { fallback: _jsx(PlaceholderSection, { section: section }), children: _jsx(Custom, { section: wireSection, ctx: context, options: ADMIN_RENDER_OPTIONS }) }, section.id));
|
|
90
|
-
}
|
|
91
|
-
// No renderer registered: a neutral placeholder keeps the canvas
|
|
92
|
-
// reflecting the section's presence + order instead of a blank gap.
|
|
109
|
+
default:
|
|
110
|
+
// Config-declared custom types and unmanaged sections with no supplied
|
|
111
|
+
// renderer: a neutral placeholder keeps the canvas reflecting the
|
|
112
|
+
// section's presence and order instead of leaving a blank gap.
|
|
93
113
|
return _jsx(PlaceholderSection, { section: section });
|
|
94
|
-
}
|
|
95
114
|
}
|
|
96
115
|
}
|
|
97
116
|
/** Fallback canvas card for section types without a built-in renderer. */
|
|
@@ -111,6 +130,12 @@ function PlaceholderSection({ section }) {
|
|
|
111
130
|
export function SectionRenderer({ section, editable = false, selected = false, onSelect, registerRef, context, }) {
|
|
112
131
|
const settings = section.settings ?? {};
|
|
113
132
|
const hidden = editable && !section.visible;
|
|
114
|
-
return (_jsxs("section", { ref: (el) => registerRef?.(section.id, el), "data-section-id": section.id, id: settings.anchorId || undefined, className: `relative ${backgroundClass(settings)} ${paddingClass(settings)} ${settings.cssClass ?? ''} ${hidden ? 'opacity-40' : ''} ${editable
|
|
133
|
+
return (_jsxs("section", { ref: (el) => registerRef?.(section.id, el), "data-section-id": section.id, "data-editable": editable ? 'true' : undefined, "data-selected": selected ? 'true' : undefined, id: settings.anchorId || undefined, className: `relative ${backgroundClass(settings)} ${paddingClass(settings)} ${settings.cssClass ?? ''} ${hidden ? 'opacity-40' : ''} ${editable
|
|
134
|
+
? 'cursor-pointer outline-2 -outline-offset-2 motion-safe:transition-[outline-color] motion-safe:duration-150'
|
|
135
|
+
: ''} ${selected
|
|
136
|
+
? 'outline outline-violet-500'
|
|
137
|
+
: editable
|
|
138
|
+
? 'outline-transparent hover:outline hover:outline-[color-mix(in_oklab,var(--acc)_40%,transparent)]'
|
|
139
|
+
: 'outline-transparent'}`, onClick: editable ? () => onSelect?.(section.id) : undefined, "aria-label": editable ? `${section.name} section` : undefined, children: [editable && selected && (_jsx("span", { className: "bg-brand pointer-events-none absolute top-0 left-0 z-10 rounded-br-md px-2 py-0.5 text-xs font-medium text-white", children: section.name })), editable && hidden && (_jsx("span", { className: "bg-foreground pointer-events-none absolute top-0 right-0 z-10 rounded-bl-md px-2 py-0.5 text-xs font-medium text-white", children: "Hidden" })), _jsx(SectionBody, { section: section, context: context })] }));
|
|
115
140
|
}
|
|
116
141
|
//# sourceMappingURL=SectionRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionRenderer.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/SectionRenderer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,EAAE,eAAe,EAAE,YAAY,EAA0B,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,cAAc;IACd,OAAO;IACP,YAAY;IACZ,eAAe;IACf,SAAS;IACT,OAAO;IACP,cAAc;CACf,CAAC,CAAA;AAEF,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AAC/C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"SectionRenderer.js","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/SectionRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pluggable canvas renderers for
|
|
2
|
+
* Pluggable canvas renderers for the editor canvas and the eye preview.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* RESOLUTION ORDER — supplied renderer → built-in → placeholder.
|
|
5
|
+
*
|
|
6
|
+
* A renderer passed to `<AdminRoot sectionRenderers>` wins for EVERY section
|
|
7
|
+
* type, including the built-ins. Before v0.93 the map was consulted only for
|
|
8
|
+
* types the canvas did not already know, so a consumer passing the public
|
|
9
|
+
* renderer map had their hero, text, feature, stats and cta silently ignored
|
|
10
|
+
* while the canvas rendered the admin's own approximations — different font
|
|
11
|
+
* size, weight and breakpoints — and presented itself as a preview.
|
|
12
|
+
*
|
|
13
|
+
* With nothing supplied, built-in types fall back to those approximations and
|
|
14
|
+
* custom (config-declared) or unmanaged types render as a structural
|
|
15
|
+
* placeholder.
|
|
9
16
|
*
|
|
10
17
|
* The renderer signature is a structural mirror of `SectionRenderer` from
|
|
11
|
-
* `@prenta/sections-react` (cms-admin depends on cms-core only, so the
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* the public site:
|
|
18
|
+
* `@prenta/sections-react` (cms-admin depends on cms-core only, so the type is
|
|
19
|
+
* duplicated rather than imported). `admin-renderer-compat.test.ts` performs
|
|
20
|
+
* the assignment that keeps the two shapes compatible.
|
|
15
21
|
*
|
|
16
22
|
* ```tsx
|
|
17
|
-
* import {
|
|
18
|
-
*
|
|
23
|
+
* import { DEFAULT_SECTION_RENDERERS } from '@prenta/sections-react'
|
|
24
|
+
* import { OPAL_RENDERERS } from './sections'
|
|
25
|
+
* <AdminRoot sectionRenderers={{ ...DEFAULT_SECTION_RENDERERS, ...OPAL_RENDERERS }} />
|
|
19
26
|
* ```
|
|
20
27
|
*
|
|
21
28
|
* Renderers run inside the admin bundle, so they must be client-safe (no
|
|
22
|
-
* server-only imports). Each
|
|
23
|
-
* renderer falls back to the
|
|
24
|
-
* the editor.
|
|
29
|
+
* server-only imports). Each is wrapped in an error boundary — a throwing
|
|
30
|
+
* renderer falls back to the built-in for that type, or to the placeholder if
|
|
31
|
+
* the type has no built-in, instead of taking down the editor.
|
|
25
32
|
*/
|
|
26
33
|
import { type ReactNode } from 'react';
|
|
27
34
|
/** Structural mirror of `RenderImageProps` from `@prenta/sections-react`. */
|
|
@@ -53,6 +60,15 @@ export interface AdminSectionPostContext {
|
|
|
53
60
|
excerpt?: string;
|
|
54
61
|
}>;
|
|
55
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Structural mirror of `LcpController`. The canvas has no Largest-Contentful-
|
|
65
|
+
* Paint budget to protect, but sections-react renderers call `claim()` during
|
|
66
|
+
* render, so the shape must exist or a real renderer throws on its first image.
|
|
67
|
+
*/
|
|
68
|
+
export interface AdminLcpController {
|
|
69
|
+
claim(): boolean;
|
|
70
|
+
readonly claimed: boolean;
|
|
71
|
+
}
|
|
56
72
|
/** Props passed to an admin section renderer (mirrors `SectionRendererProps`). */
|
|
57
73
|
export interface AdminSectionRendererProps {
|
|
58
74
|
section: {
|
|
@@ -68,6 +84,22 @@ export interface AdminSectionRendererProps {
|
|
|
68
84
|
sanitizeHtml: (html: string) => string;
|
|
69
85
|
baseUrl: string;
|
|
70
86
|
renderImage: (props: AdminRenderImageProps) => ReactNode;
|
|
87
|
+
/** Mirrors `ResolvedRenderOptions.lcp`. */
|
|
88
|
+
lcp: AdminLcpController;
|
|
89
|
+
/**
|
|
90
|
+
* Mirrors `ResolvedRenderOptions.prefetchedForms`. Always empty in the
|
|
91
|
+
* canvas: the admin does not prefetch form schemas, so a form section
|
|
92
|
+
* falls back to its client island exactly as an un-prefetched page does.
|
|
93
|
+
*
|
|
94
|
+
* Typed `any` rather than `unknown` deliberately. Renderers are function
|
|
95
|
+
* types, so `strictFunctionTypes` compares their parameters
|
|
96
|
+
* contravariantly — a `Record<string, unknown>` here would make
|
|
97
|
+
* `SectionRendererMap` from @prenta/sections-react UNASSIGNABLE to this
|
|
98
|
+
* map, defeating the entire point of the mirror. The value is never read
|
|
99
|
+
* in the canvas, so the looser type costs nothing.
|
|
100
|
+
* See `admin-renderer-compat.test.ts`.
|
|
101
|
+
*/
|
|
102
|
+
prefetchedForms: Record<string, any>;
|
|
71
103
|
};
|
|
72
104
|
}
|
|
73
105
|
/** A canvas renderer for one custom section type. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-renderers.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/admin-renderers.tsx"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"admin-renderers.d.ts","sourceRoot":"","sources":["../../../../src/views/page-editor/sections/admin-renderers.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjE,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACxE;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,IAAI,OAAO,CAAA;IAChB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACnC,CAAA;IACD,GAAG,CAAC,EAAE,uBAAuB,CAAA;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;QACtC,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,CAAA;QACxD,2CAA2C;QAC3C,GAAG,EAAE,kBAAkB,CAAA;QACvB;;;;;;;;;;;;WAYG;QAEH,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACrC,CAAA;CACF;AAED,qDAAqD;AACrD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CAAA;AAElF,yCAAyC;AACzC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,CAAC,SAAS,CAkBrE,CAAA;AAID,eAAO,MAAM,6BAA6B,mDAAwC,CAAA;AAElF,oFAAoF;AACpF,wBAAgB,wBAAwB,IAAI,uBAAuB,CAElE"}
|