efficient-web-builder 41.0.0 → 42.0.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 +111 -0
- package/README.md +0 -21
- package/dist/editor/components/SectionEditor.d.ts +0 -3
- package/dist/editor/components/SectionEditor.js +1 -1
- package/dist/editor/components/StorefrontEditor.js +1 -1
- package/dist/editor/components/storefront-editor.css +97 -117
- package/dist/editor/components/usePinnedChromeSeed.js +1 -1
- package/dist/editor/components/useSectionToBoxPass.d.ts +2 -0
- package/dist/editor/components/useSectionToBoxPass.js +1 -1
- package/dist/editor/lib/document/blocks/general/Divider/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Flex/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/index.d.ts +2 -2
- package/dist/editor/lib/document/controls.d.ts +1 -0
- package/dist/editor/lib/document/controls.js +1 -1
- package/dist/editor/lib/document/footer-blocks.js +1 -1
- package/dist/editor/lib/document/overrides.js +1 -1
- package/dist/editor/lib/document/part-anchors.d.ts +0 -1
- package/dist/editor/lib/document/part-anchors.js +1 -1
- package/dist/editor/lib/sections/section-dry-run.d.ts +36 -3
- package/dist/editor/lib/sections/section-dry-run.js +2 -2
- package/dist/format/lib/content/authored-props.js +1 -1
- package/dist/format/lib/content/box-layout.d.ts +4 -0
- package/dist/format/lib/content/box-layout.js +1 -1
- package/dist/format/lib/content/footer.d.ts +5 -0
- package/dist/format/lib/content/footer.js +1 -1
- package/dist/format/lib/content/section-padding.js +1 -1
- package/dist/format/lib/content/section-sticky.js +1 -1
- package/dist/format/lib/content/section-width.d.ts +4 -0
- package/dist/format/lib/content/section-width.js +1 -1
- package/dist/format/lib/document/blocks/general/Divider/meta.js +1 -1
- package/dist/format/lib/document/box-footer.js +1 -1
- package/dist/format/lib/document/overlay-portal.d.ts +0 -1
- package/dist/format/lib/document/overlay-portal.js +1 -1
- package/dist/format/lib/document/section-catalog.d.ts +1 -2
- package/dist/format/lib/document/section-catalog.js +10 -2
- package/dist/format/lib/editor-words-catalogue.d.ts +3 -0
- package/dist/format/lib/editor-words-catalogue.js +2 -2
- package/dist/format/lib/finite-number.d.ts +1 -0
- package/dist/format/lib/finite-number.js +1 -0
- package/dist/format/lib/marked-children.d.ts +1 -0
- package/dist/format/lib/marked-children.js +1 -0
- package/dist/format/lib/sections/divider-style.d.ts +10 -2
- package/dist/format/lib/sections/divider-style.js +1 -1
- package/dist/format/lib/site-theme-row.d.ts +1 -0
- package/dist/format/lib/source-rules/document-surfaces.js +4 -4
- package/dist/format/lib/source-rules/editor-drag-off.js +3 -3
- package/dist/format/lib/source-rules/panel-colour-tokens.js +6 -6
- package/dist/format/lib/source-rules/panel-no-divider-lines.js +4 -4
- package/dist/format/lib/source-rules/panel-one-arrow.js +1 -1
- package/dist/format/lib/source-rules/panel-rows-use-the-shared-row.js +8 -8
- package/dist/format/lib/source-rules/support/document-folder.d.ts +2 -2
- package/dist/format/lib/source-rules/support/document-folder.js +1 -1
- package/dist/render/components/BoxTabPaneContext.d.ts +2 -0
- package/dist/render/components/BoxTabPaneContext.js +1 -0
- package/dist/render/components/BoxTabs.js +1 -1
- package/dist/render/components/Divider.d.ts +5 -4
- package/dist/render/components/Divider.js +1 -1
- package/dist/render/components/Flex.js +1 -1
- package/dist/render/components/HeroSection.js +2 -2
- package/dist/render/components/PreviewHeaderContext.d.ts +3 -1
- package/dist/render/components/PreviewHeaderContext.js +1 -1
- package/dist/render/lib/document/blocks/general/Divider/render.js +1 -1
- package/dist/render/lib/document/blocks/general/section-to-box-row-parts.d.ts +25 -0
- package/dist/render/lib/document/blocks/general/section-to-box-row-parts.js +1 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows.js +1 -1
- package/dist/render/lib/document/hero-media-parts.d.ts +2 -2
- package/dist/render/lib/document/page-render.js +1 -1
- package/dist/render/lib/document/passes/section-padding.d.ts +1 -0
- package/dist/render/lib/document/passes/section-padding.js +1 -1
- package/dist/render/lib/sections/section-to-box.d.ts +75 -15
- package/dist/render/lib/sections/section-to-box.js +1 -1
- package/dist/render/lib/text-styles/site-text-styles.d.ts +2 -0
- package/dist/render/lib/text-styles/site-text-styles.js +2 -2
- package/package.json +3 -3
- package/dist/editor/lib/puck/ColourControl.d.ts +0 -1
- package/dist/editor/lib/puck/ColourControl.js +0 -1
- package/dist/editor/lib/puck/MarkupToolbar.d.ts +0 -2
- package/dist/editor/lib/puck/MarkupToolbar.js +0 -1
- package/dist/editor/lib/puck/add-palette.d.ts +0 -1
- package/dist/editor/lib/puck/add-palette.js +0 -1
- package/dist/editor/lib/puck/add-target.d.ts +0 -1
- package/dist/editor/lib/puck/add-target.js +0 -1
- package/dist/editor/lib/puck/apply-card-corners.d.ts +0 -1
- package/dist/editor/lib/puck/apply-card-corners.js +0 -1
- package/dist/editor/lib/puck/block-offer.d.ts +0 -1
- package/dist/editor/lib/puck/block-offer.js +0 -1
- package/dist/editor/lib/puck/block-source-fields.d.ts +0 -1
- package/dist/editor/lib/puck/block-source-fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Banner/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Banner/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Breadcrumb/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Breadcrumb/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/ButtonBlock/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/ButtonBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Cards/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Cards/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/CategoryBar/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/CategoryBar/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Chart/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Chart/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/ContactLocations/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/ContactLocations/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Countdown/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Countdown/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Divider/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Divider/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/DocBody/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/DocBody/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/DocMasthead/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/DocMasthead/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/DocMetaCards/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/DocMetaCards/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/DocTabs/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/DocTabs/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Eyebrow/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Eyebrow/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/FAQ/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/FAQ/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/FeaturedCover/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/FeaturedCover/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Flex/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Flex/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Footprint/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Footprint/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Grid/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Grid/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Heading/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Heading/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Hero/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Hero/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroGroup/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroGroup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroSingle/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroSingle/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroSlide/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/HeroSlide/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/ImageBlock/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/ImageBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Integrations/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Integrations/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/IntroBleed/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/IntroBleed/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/KeyFeatures/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/KeyFeatures/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/LogoBlock/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/LogoBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Logos/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Logos/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/LongRead/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/LongRead/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Manifesto/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Manifesto/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Masthead/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Masthead/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Mockup/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Mockup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/OrderSummary/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/OrderSummary/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/ParagraphsA/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/ParagraphsA/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/PaymentBadges/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/PaymentBadges/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/PostCard/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/PostCard/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/ProcessSteps/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/ProcessSteps/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Prose/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Prose/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/SectionHeader/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/SectionHeader/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Series/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Series/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/SpecStrip/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/SpecStrip/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Split/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Split/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Stats/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Stats/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/StatsParagraph/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/StatsParagraph/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Testimonials/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Testimonials/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Text/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Text/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Ticker/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Ticker/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/Timeline/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/Timeline/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/TimelineTrack/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/TimelineTrack/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/TitleWithButtons/fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/TitleWithButtons/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/general/index.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/general/index.js +0 -1
- package/dist/editor/lib/puck/blocks/shared-fields.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/shared-fields.js +0 -1
- package/dist/editor/lib/puck/build-config.d.ts +0 -1
- package/dist/editor/lib/puck/build-config.js +0 -1
- package/dist/editor/lib/puck/canvas-typing.d.ts +0 -1
- package/dist/editor/lib/puck/canvas-typing.js +0 -1
- package/dist/editor/lib/puck/card-row-fields.d.ts +0 -1
- package/dist/editor/lib/puck/card-row-fields.js +0 -1
- package/dist/editor/lib/puck/controls.d.ts +0 -1
- package/dist/editor/lib/puck/controls.js +0 -1
- package/dist/editor/lib/puck/enclosing-section.d.ts +0 -1
- package/dist/editor/lib/puck/enclosing-section.js +0 -1
- package/dist/editor/lib/puck/every-page.d.ts +0 -1
- package/dist/editor/lib/puck/every-page.js +0 -1
- package/dist/editor/lib/puck/field-groups.d.ts +0 -1
- package/dist/editor/lib/puck/field-groups.js +0 -1
- package/dist/editor/lib/puck/footer-blocks.d.ts +0 -1
- package/dist/editor/lib/puck/footer-blocks.js +0 -1
- package/dist/editor/lib/puck/general-registry.d.ts +0 -2
- package/dist/editor/lib/puck/general-registry.js +0 -1
- package/dist/editor/lib/puck/geocode-resolve.d.ts +0 -1
- package/dist/editor/lib/puck/geocode-resolve.js +0 -1
- package/dist/editor/lib/puck/heading-outline.d.ts +0 -1
- package/dist/editor/lib/puck/heading-outline.js +0 -1
- package/dist/editor/lib/puck/hidable-rows-drawn.d.ts +0 -1
- package/dist/editor/lib/puck/hidable-rows-drawn.js +0 -1
- package/dist/editor/lib/puck/locations-focus.d.ts +0 -1
- package/dist/editor/lib/puck/locations-focus.js +0 -1
- package/dist/editor/lib/puck/locked-blocks.d.ts +0 -1
- package/dist/editor/lib/puck/locked-blocks.js +0 -1
- package/dist/editor/lib/puck/logo-color-fields.d.ts +0 -1
- package/dist/editor/lib/puck/logo-color-fields.js +0 -1
- package/dist/editor/lib/puck/overrides.d.ts +0 -1
- package/dist/editor/lib/puck/overrides.js +0 -1
- package/dist/editor/lib/puck/page-root-fields.d.ts +0 -1
- package/dist/editor/lib/puck/page-root-fields.js +0 -1
- package/dist/editor/lib/puck/page-root.d.ts +0 -1
- package/dist/editor/lib/puck/page-root.js +0 -1
- package/dist/editor/lib/puck/panel-drop-empty-headings.d.ts +0 -1
- package/dist/editor/lib/puck/panel-drop-empty-headings.js +0 -1
- package/dist/editor/lib/puck/panel-heading-scope.d.ts +0 -1
- package/dist/editor/lib/puck/panel-heading-scope.js +0 -1
- package/dist/editor/lib/puck/part-anchors.d.ts +0 -1
- package/dist/editor/lib/puck/part-anchors.js +0 -1
- package/dist/editor/lib/puck/part-row-field.d.ts +0 -1
- package/dist/editor/lib/puck/part-row-field.js +0 -1
- package/dist/editor/lib/puck/part-typing.d.ts +0 -1
- package/dist/editor/lib/puck/part-typing.js +0 -1
- package/dist/editor/lib/puck/passes/inspector.d.ts +0 -1
- package/dist/editor/lib/puck/passes/inspector.js +0 -1
- package/dist/editor/lib/puck/pinned-in-place-seed.d.ts +0 -1
- package/dist/editor/lib/puck/pinned-in-place-seed.js +0 -1
- package/dist/editor/lib/puck/registry.d.ts +0 -1
- package/dist/editor/lib/puck/registry.js +0 -1
- package/dist/editor/lib/puck/section-text-suppress.d.ts +0 -1
- package/dist/editor/lib/puck/section-text-suppress.js +0 -1
- package/dist/editor/lib/puck/section-width-fields.d.ts +0 -1
- package/dist/editor/lib/puck/section-width-fields.js +0 -1
- package/dist/editor/lib/puck/show-when-resolve.d.ts +0 -1
- package/dist/editor/lib/puck/show-when-resolve.js +0 -1
- package/dist/editor/lib/puck/template-field.d.ts +0 -1
- package/dist/editor/lib/puck/template-field.js +0 -1
- package/dist/editor/lib/puck/text-part-shape.d.ts +0 -1
- package/dist/editor/lib/puck/text-part-shape.js +0 -1
- package/dist/editor/lib/puck/theme-swatches.d.ts +0 -1
- package/dist/editor/lib/puck/theme-swatches.js +0 -1
- package/dist/format/lib/puck/blocks/block-types.d.ts +0 -1
- package/dist/format/lib/puck/blocks/block-types.js +0 -1
- package/dist/format/lib/puck/blocks/general/Banner/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Banner/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Breadcrumb/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Breadcrumb/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/ButtonBlock/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/ButtonBlock/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Cards/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Cards/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/CategoryBar/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/CategoryBar/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Chart/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Chart/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/ContactLocations/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/ContactLocations/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Countdown/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Countdown/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/CustomHTML/fields.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/CustomHTML/fields.js +0 -1
- package/dist/format/lib/puck/blocks/general/CustomHTML/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/CustomHTML/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Divider/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Divider/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/DocBody/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/DocBody/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/DocMasthead/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/DocMasthead/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/DocMetaCards/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/DocMetaCards/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/DocTabs/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/DocTabs/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Eyebrow/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Eyebrow/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/FAQ/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/FAQ/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/FeaturedCover/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/FeaturedCover/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Flex/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Flex/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Footprint/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Footprint/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Grid/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Grid/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Heading/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Heading/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Hero/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Hero/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/HeroGroup/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/HeroGroup/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/HeroSingle/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/HeroSingle/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/HeroSlide/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/HeroSlide/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/ImageBlock/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/ImageBlock/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Integrations/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Integrations/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/IntroBleed/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/IntroBleed/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/KeyFeatures/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/KeyFeatures/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/LogoBlock/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/LogoBlock/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Logos/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Logos/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/LongRead/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/LongRead/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Manifesto/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Manifesto/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Masthead/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Masthead/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Mockup/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Mockup/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/OrderSummary/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/OrderSummary/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/ParagraphsA/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/ParagraphsA/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/PaymentBadges/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/PaymentBadges/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/PostCard/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/PostCard/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/ProcessSteps/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/ProcessSteps/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Prose/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Prose/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/SectionHeader/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/SectionHeader/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Series/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Series/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Spacer/fields.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Spacer/fields.js +0 -1
- package/dist/format/lib/puck/blocks/general/Spacer/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Spacer/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/SpecStrip/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/SpecStrip/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Split/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Split/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Stats/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Stats/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/StatsParagraph/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/StatsParagraph/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Testimonials/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Testimonials/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Text/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Text/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Ticker/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Ticker/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/Timeline/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/Timeline/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/TimelineTrack/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/TimelineTrack/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/TitleWithButtons/meta.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/TitleWithButtons/meta.js +0 -1
- package/dist/format/lib/puck/blocks/general/metas.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/metas.js +0 -1
- package/dist/format/lib/puck/blocks/general/section-bg-built-in.d.ts +0 -1
- package/dist/format/lib/puck/blocks/general/section-bg-built-in.js +0 -1
- package/dist/format/lib/puck/blocks/general/text-part-shapes.json +0 -2162
- package/dist/format/lib/puck/blocks/placeholders.d.ts +0 -1
- package/dist/format/lib/puck/blocks/placeholders.js +0 -1
- package/dist/format/lib/puck/box-footer.d.ts +0 -1
- package/dist/format/lib/puck/box-footer.js +0 -1
- package/dist/format/lib/puck/cap-hero-groups.d.ts +0 -1
- package/dist/format/lib/puck/cap-hero-groups.js +0 -1
- package/dist/format/lib/puck/card-template-layers.d.ts +0 -1
- package/dist/format/lib/puck/card-template-layers.js +0 -1
- package/dist/format/lib/puck/container-blocks.d.ts +0 -1
- package/dist/format/lib/puck/container-blocks.js +0 -1
- package/dist/format/lib/puck/editor-page-context.d.ts +0 -1
- package/dist/format/lib/puck/editor-page-context.js +0 -1
- package/dist/format/lib/puck/field-noun.d.ts +0 -1
- package/dist/format/lib/puck/field-noun.js +0 -1
- package/dist/format/lib/puck/footer-block-row-name.d.ts +0 -1
- package/dist/format/lib/puck/footer-block-row-name.js +0 -1
- package/dist/format/lib/puck/general-order.d.ts +0 -1
- package/dist/format/lib/puck/general-order.js +0 -1
- package/dist/format/lib/puck/home-page.d.ts +0 -1
- package/dist/format/lib/puck/home-page.js +0 -1
- package/dist/format/lib/puck/left-view.d.ts +0 -1
- package/dist/format/lib/puck/left-view.js +0 -1
- package/dist/format/lib/puck/locations-tree.d.ts +0 -1
- package/dist/format/lib/puck/locations-tree.js +0 -1
- package/dist/format/lib/puck/media-drop.d.ts +0 -1
- package/dist/format/lib/puck/media-drop.js +0 -1
- package/dist/format/lib/puck/media-manifest.json +0 -147
- package/dist/format/lib/puck/mockup-variant-fields.d.ts +0 -1
- package/dist/format/lib/puck/mockup-variant-fields.js +0 -1
- package/dist/format/lib/puck/nestable-content-sections.d.ts +0 -1
- package/dist/format/lib/puck/nestable-content-sections.js +0 -1
- package/dist/format/lib/puck/neutralization-contracts.d.ts +0 -1
- package/dist/format/lib/puck/neutralization-contracts.js +0 -1
- package/dist/format/lib/puck/new-site-header-seed.d.ts +0 -1
- package/dist/format/lib/puck/new-site-header-seed.js +0 -1
- package/dist/format/lib/puck/one-h1.d.ts +0 -1
- package/dist/format/lib/puck/one-h1.js +0 -1
- package/dist/format/lib/puck/overlay-portal.d.ts +0 -1
- package/dist/format/lib/puck/overlay-portal.js +0 -1
- package/dist/format/lib/puck/own-box.d.ts +0 -1
- package/dist/format/lib/puck/own-box.js +0 -1
- package/dist/format/lib/puck/panel-bands.d.ts +0 -1
- package/dist/format/lib/puck/panel-bands.js +0 -1
- package/dist/format/lib/puck/part-inks.d.ts +0 -1
- package/dist/format/lib/puck/part-inks.js +0 -1
- package/dist/format/lib/puck/part-key.d.ts +0 -1
- package/dist/format/lib/puck/part-key.js +0 -1
- package/dist/format/lib/puck/passes/catalogue-labels.d.ts +0 -1
- package/dist/format/lib/puck/passes/catalogue-labels.js +0 -1
- package/dist/format/lib/puck/passes/document-position.d.ts +0 -1
- package/dist/format/lib/puck/passes/document-position.js +0 -1
- package/dist/format/lib/puck/passes/empty-headings.d.ts +0 -1
- package/dist/format/lib/puck/passes/empty-headings.js +0 -1
- package/dist/format/lib/puck/passes/hidden-nodes.d.ts +0 -1
- package/dist/format/lib/puck/passes/hidden-nodes.js +0 -1
- package/dist/format/lib/puck/passes/media-values.d.ts +0 -1
- package/dist/format/lib/puck/passes/media-values.js +0 -1
- package/dist/format/lib/puck/passes/registry-context.d.ts +0 -1
- package/dist/format/lib/puck/passes/registry-context.js +0 -1
- package/dist/format/lib/puck/passes/settings-groups.d.ts +0 -1
- package/dist/format/lib/puck/passes/settings-groups.js +0 -1
- package/dist/format/lib/puck/passes/show-when-rows.d.ts +0 -1
- package/dist/format/lib/puck/passes/show-when-rows.js +0 -1
- package/dist/format/lib/puck/passes/slot-rules.d.ts +0 -1
- package/dist/format/lib/puck/passes/slot-rules.js +0 -1
- package/dist/format/lib/puck/passes/types.d.ts +0 -1
- package/dist/format/lib/puck/passes/types.js +0 -1
- package/dist/format/lib/puck/phone-override.d.ts +0 -1
- package/dist/format/lib/puck/phone-override.js +0 -1
- package/dist/format/lib/puck/pinned-seed-gate.d.ts +0 -1
- package/dist/format/lib/puck/pinned-seed-gate.js +0 -1
- package/dist/format/lib/puck/renamed-props.d.ts +0 -1
- package/dist/format/lib/puck/renamed-props.js +0 -1
- package/dist/format/lib/puck/section-catalog.d.ts +0 -1
- package/dist/format/lib/puck/section-catalog.js +0 -1
- package/dist/format/lib/puck/section-descriptions.d.ts +0 -1
- package/dist/format/lib/puck/section-descriptions.js +0 -1
- package/dist/format/lib/puck/section-groups.d.ts +0 -1
- package/dist/format/lib/puck/section-groups.js +0 -1
- package/dist/format/lib/puck/show-when-attach.d.ts +0 -1
- package/dist/format/lib/puck/show-when-attach.js +0 -1
- package/dist/format/lib/puck/site-gap-fields.d.ts +0 -1
- package/dist/format/lib/puck/site-gap-fields.js +0 -1
- package/dist/format/lib/puck/snapshot-contracts.d.ts +0 -1
- package/dist/format/lib/puck/snapshot-contracts.js +0 -1
- package/dist/format/lib/puck/source-bound-parts.d.ts +0 -1
- package/dist/format/lib/puck/source-bound-parts.js +0 -1
- package/dist/format/lib/puck/source-row-name.d.ts +0 -1
- package/dist/format/lib/puck/source-row-name.js +0 -1
- package/dist/format/lib/puck/templateFields.d.ts +0 -1
- package/dist/format/lib/puck/templateFields.js +0 -1
- package/dist/format/lib/puck/text-seeds.d.ts +0 -1
- package/dist/format/lib/puck/text-seeds.js +0 -1
- package/dist/format/lib/source-rules/editor-puck-drag-off.d.ts +0 -2
- package/dist/format/lib/source-rules/editor-puck-drag-off.js +0 -1
- package/dist/format/lib/source-rules/puck-document-surfaces.d.ts +0 -2
- package/dist/format/lib/source-rules/puck-document-surfaces.js +0 -1
- package/dist/render/lib/puck/blocks/general/Banner/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Banner/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Breadcrumb/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Breadcrumb/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/ButtonBlock/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/ButtonBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Cards/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Cards/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/CategoryBar/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/CategoryBar/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Chart/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Chart/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/ContactLocations/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/ContactLocations/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Countdown/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Countdown/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/CustomHTML/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/CustomHTML/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Divider/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Divider/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/DocBody/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/DocBody/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/DocMasthead/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/DocMasthead/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/DocMetaCards/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/DocMetaCards/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/DocTabs/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/DocTabs/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Eyebrow/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Eyebrow/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/FAQ/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/FAQ/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/FeaturedCover/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/FeaturedCover/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Flex/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Flex/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Footprint/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Footprint/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Grid/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Grid/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Heading/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Heading/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Hero/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Hero/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/HeroGroup/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/HeroGroup/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/HeroSingle/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/HeroSingle/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/HeroSlide/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/HeroSlide/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/ImageBlock/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/ImageBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Integrations/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Integrations/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/IntroBleed/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/IntroBleed/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/KeyFeatures/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/KeyFeatures/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/LogoBlock/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/LogoBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Logos/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Logos/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/LongRead/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/LongRead/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Manifesto/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Manifesto/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Masthead/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Masthead/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Mockup/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Mockup/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/OrderSummary/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/OrderSummary/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/ParagraphsA/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/ParagraphsA/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/PaymentBadges/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/PaymentBadges/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/PostCard/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/PostCard/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/ProcessSteps/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/ProcessSteps/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Prose/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Prose/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/SectionHeader/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/SectionHeader/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Series/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Series/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Spacer/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Spacer/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/SpecStrip/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/SpecStrip/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Split/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Split/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Stats/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Stats/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/StatsParagraph/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/StatsParagraph/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Testimonials/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Testimonials/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Text/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Text/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Ticker/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Ticker/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/Timeline/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/Timeline/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/TimelineTrack/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/TimelineTrack/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/TitleWithButtons/render.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/TitleWithButtons/render.js +0 -1
- package/dist/render/lib/puck/blocks/general/render-config.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/render-config.js +0 -1
- package/dist/render/lib/puck/blocks/general/renders.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/renders.js +0 -1
- package/dist/render/lib/puck/blocks/general/section-to-box-rows.d.ts +0 -1
- package/dist/render/lib/puck/blocks/general/section-to-box-rows.js +0 -1
- package/dist/render/lib/puck/blocks/scaffold.d.ts +0 -1
- package/dist/render/lib/puck/blocks/scaffold.js +0 -1
- package/dist/render/lib/puck/booking-preview.d.ts +0 -1
- package/dist/render/lib/puck/booking-preview.js +0 -1
- package/dist/render/lib/puck/editing-bridges.d.ts +0 -1
- package/dist/render/lib/puck/editing-bridges.js +0 -1
- package/dist/render/lib/puck/header-clearance.d.ts +0 -1
- package/dist/render/lib/puck/header-clearance.js +0 -1
- package/dist/render/lib/puck/header-ink.d.ts +0 -1
- package/dist/render/lib/puck/header-ink.js +0 -1
- package/dist/render/lib/puck/hero-media-parts.d.ts +0 -1
- package/dist/render/lib/puck/hero-media-parts.js +0 -1
- package/dist/render/lib/puck/migrate-legacy.d.ts +0 -1
- package/dist/render/lib/puck/migrate-legacy.js +0 -1
- package/dist/render/lib/puck/page-frame.d.ts +0 -1
- package/dist/render/lib/puck/page-frame.js +0 -1
- package/dist/render/lib/puck/page-render.d.ts +0 -2
- package/dist/render/lib/puck/page-render.js +0 -1
- package/dist/render/lib/puck/part-rows.d.ts +0 -1
- package/dist/render/lib/puck/part-rows.js +0 -1
- package/dist/render/lib/puck/part-styles.d.ts +0 -1
- package/dist/render/lib/puck/part-styles.js +0 -1
- package/dist/render/lib/puck/part-text.d.ts +0 -1
- package/dist/render/lib/puck/part-text.js +0 -1
- package/dist/render/lib/puck/passes/borders.d.ts +0 -1
- package/dist/render/lib/puck/passes/borders.js +0 -1
- package/dist/render/lib/puck/passes/cell-width.d.ts +0 -1
- package/dist/render/lib/puck/passes/cell-width.js +0 -1
- package/dist/render/lib/puck/passes/clickable-parts.d.ts +0 -1
- package/dist/render/lib/puck/passes/clickable-parts.js +0 -1
- package/dist/render/lib/puck/passes/corners.d.ts +0 -1
- package/dist/render/lib/puck/passes/corners.js +0 -1
- package/dist/render/lib/puck/passes/index.d.ts +0 -1
- package/dist/render/lib/puck/passes/index.js +0 -1
- package/dist/render/lib/puck/passes/section-anchor.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-anchor.js +0 -1
- package/dist/render/lib/puck/passes/section-animation.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-animation.js +0 -1
- package/dist/render/lib/puck/passes/section-height.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-height.js +0 -1
- package/dist/render/lib/puck/passes/section-padding.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-padding.js +0 -1
- package/dist/render/lib/puck/passes/section-sticky.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-sticky.js +0 -1
- package/dist/render/lib/puck/passes/section-theme.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-theme.js +0 -1
- package/dist/render/lib/puck/passes/section-width.d.ts +0 -1
- package/dist/render/lib/puck/passes/section-width.js +0 -1
- package/dist/render/lib/puck/render-registry.d.ts +0 -1
- package/dist/render/lib/puck/render-registry.js +0 -1
- package/dist/render/lib/puck/sanitize.d.ts +0 -1
- package/dist/render/lib/puck/sanitize.js +0 -1
- package/dist/render/lib/puck/selection-parent.d.ts +0 -1
- package/dist/render/lib/puck/selection-parent.js +0 -1
- package/dist/render/lib/puck/show-when.d.ts +0 -1
- package/dist/render/lib/puck/show-when.js +0 -1
- package/dist/render/lib/puck/slot-specs.d.ts +0 -1
- package/dist/render/lib/puck/slot-specs.js +0 -1
- package/dist/render/lib/puck/text-parts.d.ts +0 -1
- package/dist/render/lib/puck/text-parts.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{BOX_CARD_PAD as o,BOX_DARKEN as e,BOX_DARKEN_STYLES as l,isBackgroundBox as c}from"../../../../../../format/lib/content/box-background.js";import{containerDirectionPoints as b}from"../../../../../../format/lib/content/container-direction.js";import{deviceField as r}from"efficient-easel/screen/lib/document/device-fields";import{OpacityIcon as k,StylesIcon as f}from"efficient-easel/icons";import{boxAlignField as u,boxBlockSpacingField as x,boxJustifyField as F,boxPhoneRowField as y,boxShareField as S,boxWrapField as _,gapField as B,group as i,placementField as h,plainText as D,select as I,sidesPaddingFields as p,slider as R,swapPadding as s,upload as d,withPanelOnly as w}from"../../../controls.js";import{withRowRules as A}from"../../../../../../render/lib/document/show-when.js";import{FlexSlots as P}from"../../../../../../format/lib/document/blocks/general/Flex/meta.js";const O={field:"bgImage",set:!0},G={fields:A({_gContent:i("Content"),content:P.content,_gLayout:i("Layout"),direction:{type:"radio",options:b("Flex")},label:w(D("Tab name")),gap:B("Flex"),justify:F(),align:u(),wrap:_(),share:S(),phoneRow:y(),blockSpacing:x(),_gBackground:i("Background image"),bgImage:r("desktop",d("Image","image/*")),bgImagePhone:r("mobile",d("Image","image/*")),darken:R("Darken",n(k,{}),e.min,e.max,e.step,e.fallback,e.unit),darkenStyle:I("Darken style",n(f,{}),l,l[0].value),placement:h("Content position",{stacking:!1})},[[["darken","darkenStyle","placement"],O]]),resolveFields:(a,{fields:t})=>{const m=a.props;if(c(m.bgImage)){const g=p({fallback:{top:o.desktop,bottom:o.desktop,left:o.side,right:o.side}});return s(t,g)}return a.props.padV2!==!0?s(t,p({fallback:{top:24,bottom:24}})):t}};export{G as FlexFields};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const assembleGeneralBlocks: () => Record<"Grid" | "Flex" | "HeroGroup" | "Ticker" | "Prose" | "Logos" | "Divider" | "LogoBlock" | "Text" | "Hero" | "HeroSingle" | "IntroBleed" | "SpecStrip" | "
|
|
2
|
-
export declare const generalBlocks: Record<"Grid" | "Flex" | "HeroGroup" | "Ticker" | "Prose" | "Logos" | "Divider" | "LogoBlock" | "Text" | "Hero" | "HeroSingle" | "IntroBleed" | "SpecStrip" | "
|
|
1
|
+
export declare const assembleGeneralBlocks: () => Record<"Grid" | "Flex" | "HeroGroup" | "Ticker" | "Prose" | "Logos" | "Divider" | "LogoBlock" | "Text" | "Hero" | "HeroSingle" | "IntroBleed" | "SpecStrip" | "Timeline" | "Footprint" | "ParagraphsA" | "Cards" | "KeyFeatures" | "Chart" | "Mockup" | "Testimonials" | "TitleWithButtons" | "Countdown" | "DocMasthead" | "DocBody" | "DocMetaCards" | "FAQ" | "Split" | "Breadcrumb" | "Banner" | "Stats" | "OrderSummary" | "PaymentBadges" | "Manifesto" | "SectionHeader" | "TimelineTrack" | "ProcessSteps" | "StatsParagraph" | "Masthead" | "FeaturedCover" | "LongRead" | "Series" | "ContactLocations" | "CategoryBar" | "DocTabs" | "CustomHTML" | "Spacer" | "Heading" | "Eyebrow" | "ImageBlock" | "ButtonBlock" | "PostCard" | "HeroSlide" | "Integrations", import("efficient-easel/blocks").ComponentConfig<any, any, Omit<import("efficient-easel/blocks").ComponentData<any, string, Record<string, import("efficient-easel/blocks").DefaultComponentProps>>, "type">>>;
|
|
2
|
+
export declare const generalBlocks: Record<"Grid" | "Flex" | "HeroGroup" | "Ticker" | "Prose" | "Logos" | "Divider" | "LogoBlock" | "Text" | "Hero" | "HeroSingle" | "IntroBleed" | "SpecStrip" | "Timeline" | "Footprint" | "ParagraphsA" | "Cards" | "KeyFeatures" | "Chart" | "Mockup" | "Testimonials" | "TitleWithButtons" | "Countdown" | "DocMasthead" | "DocBody" | "DocMetaCards" | "FAQ" | "Split" | "Breadcrumb" | "Banner" | "Stats" | "OrderSummary" | "PaymentBadges" | "Manifesto" | "SectionHeader" | "TimelineTrack" | "ProcessSteps" | "StatsParagraph" | "Masthead" | "FeaturedCover" | "LongRead" | "Series" | "ContactLocations" | "CategoryBar" | "DocTabs" | "CustomHTML" | "Spacer" | "Heading" | "Eyebrow" | "ImageBlock" | "ButtonBlock" | "PostCard" | "HeroSlide" | "Integrations", import("efficient-easel/blocks").ComponentConfig<any, any, Omit<import("efficient-easel/blocks").ComponentData<any, string, Record<string, import("efficient-easel/blocks").DefaultComponentProps>>, "type">>>;
|
|
@@ -269,6 +269,7 @@ export type SidesPaddingOptions = {
|
|
|
269
269
|
step?: number;
|
|
270
270
|
};
|
|
271
271
|
export declare function sidesPaddingFields(opts?: SidesPaddingOptions): Record<string, CustomField<undefined> | CustomField<number>>;
|
|
272
|
+
export declare function swapPadding(fields: Record<string, unknown>, padding: Record<string, unknown>): Record<string, unknown>;
|
|
272
273
|
type PositionKeys = {
|
|
273
274
|
x: string;
|
|
274
275
|
y: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as O,Fragment as I}from"react/jsx-runtime";import{cloneElement as ge,useId as yt,useRef as re,useState as U}from"react";import{useEasel as j,useSelectedFields as ie}from"efficient-easel/easel";import{say as l,editorEaselWords as x}from"../../../format/lib/editor-words.js";import{readHidable as be,hidableText as xe}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as q,LINK_FIELD_MARKER as ye,MEDIA_FIELD_MARKER as Se,SCAFFOLD_FIELD_MARKER as Ce,TEXT_FIELD_MARKER as E,foldMetaOf as le,textFieldIdentifier as St}from"efficient-easel/draw";import Ct from"../../components/ApplyCornersToSiblings.js";import _t from"../../components/TemplateFieldRow.js";import{CARD_IMAGE_RADIUS_STEP as It,CORNER_RADIUS_MAX as _e,CORNER_RADIUS_MIN as B}from"../../../format/lib/content/card-image-shape.js";import{IMAGE_CORNER_STEP as Et,IMAGE_CORNERS_LABEL as Tt}from"../../../format/lib/content/image-corners.js";import{GRID_MAX_COLUMNS as Ot}from"../../../format/lib/content/grid-span.js";import{GALLERY_ACROSS_BUCKETS as Rt,GALLERY_LAYOUTS as X,GALLERY_LAYOUT_KEYS as Ie}from"../../../format/lib/content/gallery-layout.js";import{anchorSiblingsOf as wt,HERO_GROUP_PLACEMENTS as Pt,HERO_GROUP_PLACEMENT_DEFAULT as kt,normalisePlacement as Lt,placementPoints as Ee}from"../../../format/lib/hero-group-placement.js";import Nt from"../../components/KeepHint.js";import vt from"../../components/AnchorField.js";import{AdjustIcon as At,AlignLeftIcon as Ft,EyeIcon as Dt,AlignSeparateIcon as Bt,AnimationIcon as Te,BackgroundIcon as Ht,BorderAllIcon as Gt,BlockSectionIcon as Mt,CartIcon as Kt,ColumnWidthsIcon as Oe,ColumnsIcon as Re,CornerIcon as Wt,DirectionDownIcon as Ut,DirectionLeftIcon as jt,DirectionRightIcon as Xt,DirectionUpIcon as $t,DollarIcon as zt,FinishIcon as Vt,GapIcon as we,GridIcon as Yt,GroundIcon as qt,HashIcon as Pe,HeightIcon as Jt,ImageIcon as Zt,ListIcon as Qt,LocationIcon as ae,NudgeIcon as en,PaddingAllIcon as tn,PaddingBottomIcon as ke,PaddingLeftIcon as Le,PaddingRightIcon as Ne,PaddingTopIcon as ve,PageIcon as Ae,PlacementIcon as nn,ProductSizeIcon as on,StickyIcon as rn,RotateIcon as ln,SquareIcon as an,TypeIcon as sn,WidthIcon as cn,WrapIcon as dn}from"efficient-easel/icons";import{FieldGlyph as Fe}from"../../components/FieldGlyph.js";import{resolvePageBackground as un}from"../../../format/lib/content/page-background.js";import{CORNER_SIDES as De,CORNER_SIDE_POINTS as pn,hasOwnSectionCorners as fn,normalizeCornerSides as Be}from"../../../format/lib/content/section-corners.js";import{SECTION_MOTION_NONE as hn,SECTION_MOTION_OPTIONS as mn}from"../../../format/lib/content/section-animation.js";import{enclosingSectionProps as He}from"./enclosing-section.js";import{SettingsDefaultReset as y,SettingsField as m,SettingsGroup as gn,SettingsGroupSub as bn,SettingsBorder as xn,SettingsSegmented as yn,SettingsSides as Sn,SettingsSidesEach as Ge,sidesStartEach as Cn,SettingsSwitch as Me,borderSides as _n,borderStartEach as In}from"efficient-easel/panel";import{FieldSelect as En,ListField as Tn}from"efficient-easel/fields";import{DisplayChips as On}from"efficient-shell/ui";import{desktopDisplayChanged as Rn,partShownOnDesktop as wn,partShownOnPhone as Pn,phoneDisplayChanged as kn,withDesktopPart as Ln,withPhonePart as Nn}from"../../../format/lib/content/part-display.js";import{AlignmentGrid as vn,Checkbox as An,CornersInput as Fn,DateTimePicker as Dn,FOCAL_DEFAULT as Bn,PictureTiles as Ke,PositionInput as Hn,Slider as Gn,Tooltip as We}from"efficient-shell/ui";import{ColourRow as Ue,InheritedColourRow as Mn}from"./ColourControl.js";import je from"./MarkupToolbar.js";import{deviceField as g}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as Kn,NoControlMark as J,noControlField as $}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{OWN_BOX_FIELD as Wn}from"../../../format/lib/document/own-box.js";import{PHONE_CLEAR as Un,resolvePhoneValue as se}from"../../../format/lib/document/phone-override.js";import{phoneKey as H}from"efficient-easel/draw";import{SuppressibleText as jn}from"./section-text-suppress.js";import{CARD_INDEX_OPTIONS as Xn,CARD_OUTLINE_OPTIONS as $n,DEFAULT_CARD_INDEX_FORMAT as zn,DEFAULT_CARD_OUTLINE as Vn}from"../../../format/lib/sections/product-card-style.js";import{COVER_INDEX_OPTIONS as Yn,DEFAULT_COVER_INDEX as qn}from"../../../format/lib/sections/card-cover-index.js";import{SCALAR_TEXT_CONTROLS as Jn}from"efficient-easel/draw";import Zn from"../../components/MediaUploadField.js";import Qn from"../../components/MultiSelectField.js";import eo from"../../components/SectionThemePicker.js";import to from"../../components/SearchSelectField.js";import no from"../../components/StorefrontLinkField.js";import{UiIcon as Xe}from"efficient-easel/draw/client";import{SECTION_PADDING as T}from"../../../format/lib/content/section-padding.js";import{hasPhoneHeight as oo,resolveSectionMinHeight as ro}from"../../../format/lib/content/section-min-height.js";import{SECTION_STICK_DISTANCE as Z,SECTION_STICK_LABEL as ce,hasPhoneStick as io,resolveSectionStick as lo}from"../../../format/lib/content/section-sticky.js";import{SECTION_MIN_HEIGHT as ao,SECTION_MIN_HEIGHT_GROUP_LABEL as z,SECTION_SCREEN_PCT as so}from"../../../format/lib/content/section-min-height.js";import{CONTAINER_DIRECTION_LABEL as co,containerDirectionPoints as uo,resolveContainerDirection as $e}from"../../../format/lib/content/container-direction.js";import{BOX_ALIGN_POINTS as po,BOX_BLOCK_SPACING_LABEL as fo,BOX_BLOCK_SPACING_POINTS as ze,BOX_JUSTIFY_POINTS as Ve,BOX_PHONE_ROW_LABEL as ho,BOX_PHONE_ROW_MAX as mo,BOX_PHONE_ROW_MIN as Ye,BOX_SHARE_LABEL as qe,BOX_SHARE_POINTS as de,BOX_WRAP_LABEL as go,BOX_WRAP_POINTS as Je}from"../../../format/lib/content/box-layout.js";import{usePreviewHeader as G}from"../../../render/components/PreviewHeaderContext.js";import{BORDER_MAX as bo}from"../../../format/lib/content/borders.js";import{DEFAULT_SURFACES as xo,normalizeTheme as yo,siteButtonPaint as So}from"../../../format/lib/theme.js";import{CONTAINER_GAP as ue,CONTAINER_GAP_BUILT_IN as Co,GAP_FIELD_CONTAINER as _o,hasOwnContainerGap as Io,resolveContainerGap as Eo}from"../../../format/lib/content/container-gap.js";import{CARD_IMAGE_BG_INHERIT as To,CARD_IMAGE_BG_OFF as Oo,CARD_IMAGE_BG_SWATCH_NAMES as Ro,CARD_IMAGE_BG_SWATCHES as wo,isCardImageBackgroundInheriting as Po,cardImageBackgroundChoice as ko,THEME_CARD_IMAGE_BG as Lo}from"../../../format/lib/content/card-image-background.js";import{SECTION_BG_INHERIT as No,SECTION_BG_SWATCHES as vo,SECTION_BG_SWATCH_NAMES as Ao,THEME_SECTION_BG as Fo,isSectionBackgroundInheriting as Do}from"../../../format/lib/content/section-background.js";import{SECTION_THEME_GROUP_LABEL as Bo}from"../../../format/lib/content/section-surface.js";import{TYPE_SIZE_FIXED as Ho,TYPE_SIZE_INHERIT as Go,isTypeSizeInheriting as Mo}from"../../../format/lib/content/section-type-size.js";import{SECTION_WIDTH_CHOICES as Ko,WIDTH_CHOICE_LABEL as Wo,WIDTH_INHERIT as Uo,resolveWidth as jo,sectionRunsFullWidth as Ze}from"../../../format/lib/content/section-width.js";import{useFoldHeadingLevel as Xo}from"./panel-heading-scope.js";import{withStyleKind as $o}from"efficient-easel/style-clipboard";import{useEaselSession as zo}from"efficient-easel/screen/lib/session-context";import{backendOf as Vo}from"../website-session.js";import{describedAs as R}from"../../../format/lib/host-document-bridge.js";function M(e){for(const[t,n]of Object.entries(e))n&&typeof n=="object"&&!le(n)&&$o(n,`section:${t}`);return e}function al({children:e}){return r("div",{className:"sf-field-label",children:typeof e=="string"?l(e):e})}function Qe(){return null}function Yo(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return r(Qe,{},e)}function qo(e){return e.type===Qe}function k(e){return qo(e)?void 0:e}function N(e,t){return l("{value} from {from}",{value:e,from:t})}function Jo(){const{appState:e}=j(i=>i),t=e.data.root?.props??{},{mode:n,pageWidth:o}=jo(t,"full");return n==="page"?N(`${o}px`,l("the page")):n==="contained"?N(l("Contained"),l("the page")):N(l("Full"),l("the page"))}function Zo(){const{blockGap:e}=G();return e===null?l("this container's own spacing"):N(`${e}px`,l("Styles"))}function Qo({inherited:e,onReset:t,label:n}){return r(y,{words:x()?.panel,label:l(n),changed:!e,detail:Zo(),onReset:t})}function er({inherited:e,onReset:t,label:n}){return r(y,{words:x()?.panel,label:l(n),changed:!e,detail:Jo(),onReset:t})}function v({value:e,onChange:t,label:n,placeholder:o,hint:i,multiline:a,hideable:c=!0,markup:s=!0}){const{text:d,hidden:u}=be(e),f=re(null),p=re(null),h=P=>t(c?{text:P,hidden:u}:P),b=()=>t({text:d,hidden:!u}),C=c&&u,w=yt(),_=i?ir(i)?r("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(i)}):r(Nt,{children:l(i)}):void 0,Y=u?l("Show {label} on the slide",{label:l(n)}):l("Hide {label} on the slide",{label:l(n)});return r(m,{label:l(n),icon:r(sn,{}),htmlFor:w,className:C?"is-hidden":void 0,hint:_,action:c?r(We,{content:Y,children:r("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":Y,onClick:b,children:u?r(Xe,{name:"eye-off",size:14}):r(Xe,{name:"eye",size:14})})}):void 0,children:O("div",{className:"sf-copybox",children:[s&&r(je,{target:a?p:f,value:d,onChange:h}),a?r("textarea",{id:w,ref:p,value:d,placeholder:o===void 0?void 0:l(o),onChange:P=>h(P.target.value)}):r("input",{id:w,ref:f,type:"text",value:d,placeholder:o===void 0?void 0:l(o),onChange:P=>h(P.target.value)})]})})}function sl(e,t){return{...e,[Ce]:t}}function cl(e){const t=e[E];if(!t)throw new Error("withOffPage: the field holds no authored text");return{...e,[E]:{...t,offPage:!0}}}function dl(e){return!e||typeof e!="object"?!1:e[E]?.offPage===!0}const et="sfPanelOnly";function ul(e){if(!e[E])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[et]:!0}}function pl(e){return!!e&&typeof e=="object"&&e[et]===!0}function fl(e){const t=e[E];if(!t)throw new Error("withIdentifier: the field holds no authored text");return{...e,[E]:{...t,identifier:!0}}}import{TEXT_CONTROL_KINDS as va,SCALAR_TEXT_CONTROLS as Aa}from"efficient-easel/draw";function hl(e,t){if(!e[E])throw new Error("inOwnBox: the field holds no authored text");const{[Kn]:o,...i}=e;return{...i,[Wn]:!0,render:t}}const tr=new Set(Jn),Q={type:"radio",options:[{value:!0},{value:!1}]},tt={text:{type:"object",objectFields:{text:{type:"text"},hidden:Q}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:Q}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},A=(e,t)=>{const n=R({...t,[E]:e},{...tt[e.control],label:e.label});if(!tr.has(e.control))return n;const o=t.render;return{...$(n,"authored-copy"),render:i=>r(jn,{name:i.name,children:o(i)})}},ml="Everything else on this block comes from the linked post. Unlink it to edit by hand.",nr={field:"source.slug",set:!0},gl={not:nr},or="Select a word, then press the highlighter.",rr=new Set([or]),ir=e=>rr.has(e);function bl(e,t,n){return A({control:"text",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n})})}function xl(e,t,n){return A({control:"textarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0})})}function yl(e,t,n){return A({control:"plainText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1,markup:!1})})}function Sl(e,t,n){return A({control:"copyText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1})})}function Cl(e){return{type:"custom",[ye]:{label:e},...R({},{type:"text",label:e}),render:({value:t,onChange:n})=>r(no,{value:xe(t),onChange:n,label:e})}}function _l(e,t,n){return A({control:"plainTextarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0,hideable:!1})})}const Il={Design:At,Animation:Te};function El(e,t){return e.includes("Design")?t!=="Design":null}function nt(e,t){return{type:"custom",[q]:{label:e,level:t},marker:!0,fold:e,render:()=>r(I,{})}}function S(e){return nt(e,2)}function Tl(e){return{type:"custom",render:()=>r(lr,{text:e})}}function lr({text:e}){return r("p",{className:"sf-note",children:l(e)})}function Ol(e){return nt(e,1)}function Rl(e){return le(e)!==null&&e?.tabs!==void 0}const ot=new Map;function wl(e,t){const n=`${e}\0${t?t.join(""):""}`,o=ot.get(n)??{type:"custom",tabs:t,[q]:{label:e,level:1},bucket:e,marker:!0,render:()=>r(I,{})};return ot.set(n,o),o}const rt=new Map;function Pl(e){const t=rt.get(e)??{type:"custom",[q]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>r(I,{})};return rt.set(e,t),t}function ar(e){const t=e;return t?.marker===!0&&typeof t.fold=="string"?t.fold:null}function kl(e,t){return ar(e)===t?e:{...e,marker:!0,fold:t,render:()=>r(I,{})}}function Ll(e){const t=e;if(t.marker===!0&&t.fold===void 0)return e;const{fold:n,...o}=e;return{...o,marker:!0,render:()=>r(I,{})}}function Nl({title:e,children:t}){const[n,o]=U(()=>!pe.has(e));return r(gn,{title:e,open:n,onToggle:i=>{o(i),i?pe.delete(e):pe.add(e)},children:t})}const pe=new Set;function vl({label:e}){return r(bn,{title:l(e),level:Xo(2)})}function it({swatches:e,current:t,onPick:n,names:o}){const i=e.find(s=>s.toLowerCase()===t.toLowerCase()),a=i?o?.[i]:void 0,c=a?l(a):t;return O("div",{className:"sf-swatches",children:[e.map(s=>{const d=o?.[s]?l(o[s]):s;return r(We,{content:d,children:r("button",{type:"button","aria-pressed":t.toLowerCase()===s.toLowerCase(),className:`sf-swatch ${t.toLowerCase()===s.toLowerCase()?"is-active":""}`,style:{background:s},onClick:()=>n(s),"aria-label":d})},s)}),r("span",{className:"sf-swatch-hex",children:c})]})}function Al(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=Do(n,t);return r(m,{label:l(e),icon:r(Ht,{}),changed:!i,action:r(y,{words:x()?.panel,label:l(e),changed:!i,detail:l("the theme's section background"),onReset:()=>o(No)}),children:it({swatches:vo,current:i?Fo:n??t??"",onPick:o,names:Ao})})}}}function sr(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=n,a=Po(i,t);return r(m,{label:l(e),icon:r(qt,{}),changed:!a,action:r(y,{words:x()?.panel,label:l(e),changed:!a,detail:l("the theme's image stage"),onReset:()=>o(To)}),children:it({swatches:wo,current:a?Lo:ko(i,t),onPick:o,names:Ro})})}}}function Fl(e=n=>n,t){return M({_gSectionTheme:S(Bo),sectionAccent:{type:"custom",render:({value:n,onChange:o})=>r(eo,{value:e(n),onChange:o,followLabel:t})}})}function K({min:e,max:t,step:n,value:o,onChange:i,suffix:a="",readout:c=!0,notch:s,ariaLabel:d,disabled:u=!1}){const f=s!==void 0&&Number.isFinite(s)&&s>=e&&s<=t;return r("div",{className:f?"sf-slider has-notch":"sf-slider",style:f?{"--sf-notch":(s-e)/(t-e)}:void 0,children:r(Gn,{min:e,max:t,step:n,value:o,suffix:a||void 0,showInput:c,label:d===void 0?void 0:l(d),disabled:u,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:p=>{p!==null&&p!==o&&i(p)}})})}function W(e,t,n,o,i,a,c="",s){return{type:"custom",...R({},{type:"number",label:e}),render:d=>r(m,{label:l(e),icon:k(t),action:s?s("storedValue"in d?d.storedValue:d.value,d.onChange):void 0,children:K({min:n,max:o,step:i,value:typeof d.value=="number"?d.value:a,suffix:c,ariaLabel:e,onChange:d.onChange})})}}function lt(e,t){const{min:n,max:o,step:i=1,unsetLabel:a,hint:c,restTrack:s,unsetMark:d,icon:u}=t;return{type:"custom",render:({value:f,onChange:p})=>{const h=typeof f=="number"?f:null,b=h===null;return r(m,{label:l(e),icon:u?k(u):void 0,value:b?d||a===void 0?void 0:l(a):`${h}px`,changed:!b,action:d?ge(d,{changed:!b,onReset:()=>p(null)}):r(y,{words:x()?.panel,label:l(e),changed:!b,onReset:()=>p(null)}),hint:typeof c=="string"?l(c):c,children:s?s({min:n,max:o,step:i,px:h,label:e,onChange:p}):K({min:n,max:o,step:i,value:h??n,readout:!1,ariaLabel:e,onChange:p})})}}}function Dl(e){const t=W("Gap",r(we,{}),ue.min,ue.max,ue.step,Co[e],"px",(n,o)=>r(Qo,{inherited:!Io(e,n),onReset:()=>o(void 0),label:"Gap"}));return{type:"custom",[_o]:e,render:n=>t.render({...n,value:Eo(e,n.value,n.field?.siteGap),storedValue:n.value,onChange:o=>n.onChange(o)})}}const ee="Corners";function fe(e){return{type:"custom",render:({value:t,onChange:n})=>{const o=typeof t=="number"&&Number.isFinite(t)?t:null,i=o!==null;return r(m,{label:l(ee),icon:r(Wt,{}),changed:i,action:ge(e.mark,{changed:i,onReset:()=>n(null)}),hint:e.hint,children:r(cr,{tier:e,px:o,onRadius:n})})}}}function at(e){let t=null;try{t=ie()}catch{t=null}return[t?.values?.[e],n=>t?.onChange(e,n)]}function cr({tier:e,px:t,onRadius:n}){const o=e.useFollowed(),i=e.useClosedReason?e.useClosedReason():null,[a,c]=at(e.sidesKey),s=Be(a)??[...De];return r(Fn,{label:l(ee),value:s,corners:pn,onChange:d=>{const u=Be(d)??[];c(u.length===De.length?null:u)},radius:t,onRadiusChange:n,radiusMin:B,radiusMax:_e,radiusStep:e.step??1,radiusPlaceholder:String(o),disabled:i!==null,disabledReason:i??void 0})}function st(){return $({type:"custom",render:()=>r(J,{})},"always")}function dr({label:e,changed:t=!1,onReset:n=()=>{}}){const{cornerRadiusPx:o}=G(),i=typeof o=="number"?`${o}px`:l("not set");return r(y,{words:x()?.panel,label:l(e),changed:t,detail:o==null?l("the built-in corners"):N(i,l("Styles")),onReset:n})}function ur(){const{cornerRadiusPx:e}=G();return typeof e=="number"?e:B}function pr(){return fe({sidesKey:"sectionCornerSides",useFollowed:ur,useClosedReason:()=>dt()?l(ct):null,mark:r(dr,{label:ee}),hint:r(fr,{})})}const ct="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function dt(){return Ze(F())}function fr(){return r(I,{children:dt()?ct:"Follows Styles ▸ Basics ▸ Corners until you set a number here."})}function Bl(){return M({_gShape:S("Shape"),sectionCorners:pr(),sectionCornerSides:st(),sectionBorder:ut("desktop"),sectionBorderPhone:ut("mobile")})}const hr=()=>({width:l("Border width"),sides:{top:l("Border top"),right:l("Border right"),bottom:l("Border bottom"),left:l("Border left")},style:l("Border style"),styles:{solid:l("Solid"),dashed:l("Dashed"),dotted:l("Dotted")},color:l("Border color"),unit:"px"});function mr(e){const t=Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""));return Object.keys(t).length?t:void 0}function gr(){let e;try{const t=yo(G().theme);e=t.themes[t.selected]?.line}catch{e=void 0}return e||xo.line}function br({value:e,onChange:t,tier:n}){const[o]=at("sectionBorder"),i=gr(),a=e&&typeof e=="object"?e:{},c=n==="mobile"?o&&typeof o=="object"?o:{}:{},[s,d]=U(()=>In(a,c)),u=hr();return r(m,{label:l("Border"),icon:r(Gt,{}),action:r(Ge,{each:s,label:l("Each side"),onChange:d}),children:r(xn,{label:l("Border"),value:a,each:s,onChange:f=>t(mr(f)),placeholder:{sides:_n(c),style:c.style??"solid",color:c.color||i},presets:[i],words:u,max:bo})})}function ut(e){return g(e,{type:"custom",render:({value:t,onChange:n})=>r(br,{value:t,onChange:n,tier:e})})}function Hl(){return{_gMotion:S("Motion"),sectionAnimation:me("Entrance",r(Te,{}),[...mn],hn)}}function he(){let e=null;try{const{appState:t,selectedItem:n}=j(i=>i),o=n?.props?.id?String(n.props.id):void 0;e=o?He(t?.data,o):null}catch{e=null}return e!==null&&Ze(e)}function pt(e){const{cornerRadiusPx:t}=G(),n=he(),o=typeof t=="number"?t:e;let i=null;try{const{appState:c,selectedItem:s}=j(u=>u),d=s?.props?.id?String(s.props.id):void 0;i=d?He(c?.data,d):null}catch{i=null}if(n||!i)return o;const a=i.sectionCorners;return fn(a)?a:o}function xr({label:e,changed:t=!1,onReset:n=()=>{}}){const o=he(),i=pt(B),a=o?"Site":"Section";return r(y,{words:x()?.panel,label:l(e),changed:t,detail:N(`${i}px`,o?l("Styles"):l("the section")),onReset:n})}function yr(){return r(I,{children:he()?l("The section is full width, so this card follows Styles ▸ Basics ▸ Corners."):l("Follows the section's Corners until you set a number here.")})}function Sr(){return fe({sidesKey:"cardCornerSides",useFollowed:()=>pt(B),mark:r(xr,{label:ee}),hint:r(yr,{})})}function Cr(){return{type:"custom",render:()=>r(Ct,{})}}function Gl(e){return{...e,render:t=>r(_t,{render:e.render,props:t})}}function Ml(){return{_gShape:S("Shape"),cardCorners:Sr(),cardCornerSides:st(),cardCornersApplyAll:Cr()}}function Kl(){return L("Justify",r(Bt,{}),Ve,Ve[0].value)}function Wl(){return L("Item alignment",r(Ft,{}),po,"stretch")}function Ul(){return L(go,r(dn,{}),Je,Je[0].value)}function jl(){return{type:"custom",render:({value:e,onChange:t})=>{const n=de.find(o=>o.value===e)??de[0];return r(m,{label:l(qe),icon:r(Oe,{}),value:l(n.label),children:r(Ke,{className:"sf-gallery-layouts",label:l(qe),value:n.value,onChange:t,options:de.map(o=>({value:o.value,label:l(o.label),picture:r("span",{className:"sf-gallery-pic",children:_r(o.weights).map((i,a)=>r("i",{style:{gridColumn:`span ${i}`}},a))})}))})})}}}function _r(e){if(!e)return[3,4];const t=e.reduce((n,o)=>n+o,0);return e.map(n=>Math.round(n/t*12))}function Xl(){return L(fo,r(we,{}),ze,ze[0].value)}function $l(){return g("mobile",W(ho,r(Re,{}),Ye,mo,1,Ye))}function zl(e){const t=me(co,Yo("`Direction` names how a container's children run — a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),uo(e),$e(e,void 0));return{type:"custom",render:n=>t.render({...n,value:$e(e,n.value),onChange:o=>n.onChange(o)})}}function Vl(e,t,n,o,i,a){return{type:"custom",render:({value:c,onChange:s})=>r(m,{label:l(e),icon:r(Fe,{noun:a}),action:r(y,{words:x()?.panel,label:l(e),changed:!Mo(c),detail:l("the Text style in Styles"),onReset:()=>s(Go),defaultAction:{onPress:()=>s(Ho),title:l("Keep this section's own built-in size"),icon:r(Mt,{})}}),children:K({min:t,max:n,step:o,value:typeof c=="number"?c:i,suffix:"px",ariaLabel:e,onChange:s})})}}function Yl(){return{_gCellWidth:S("Cell width"),gridSpan:L("Positions",r(Oe,{}),[{label:"Auto",value:""},...Array.from({length:Ot},(e,t)=>({label:t===0?"1 position":`${t+1} positions`,value:String(t+1)}))],"")}}function F(){let e=null;try{e=j(t=>t).selectedItem}catch{e=null}return e?.props??{}}function Ir({min:e,max:t,step:n,px:o,label:i,onChange:a,desktopKey:c,fallback:s}){const d=F()[c],u=se(void 0,d,s);return r(I,{children:K({min:e,max:t,step:n,value:se(o,d,s),readout:!1,ariaLabel:i,notch:u,onChange:a})})}function Er({label:e,desktopKey:t,fallback:n,changed:o=!1,onReset:i=()=>{}}){const a=F()[t],c=se(void 0,a,n);return r(y,{words:x()?.panel,label:l(e),changed:o,detail:l("{value} on desktop",{value:`${c}px`}),onReset:i})}function Tr(e){return lt(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:r(Er,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:t=>r(Ir,{...t,desktopKey:e.desktopKey,fallback:e.fallback})})}function ql(e){return{type:"custom",render:({value:t,onChange:n})=>r(Rr,{...e,value:t,onChange:n})}}function Or({label:e,icon:t,options:n,value:o,resolved:i,restWord:a,onChange:c}){const s=n.some(d=>d.value===o);return r(m,{label:l(e),icon:k(t),action:r(y,{words:x()?.panel,label:l(e),changed:s,detail:l("{value} on desktop",{value:l(a)}),onReset:()=>c(void 0)}),children:ne({options:n,value:s?o:i,onChange:d=>c(d),ariaLabel:e})})}function Rr({label:e,icon:t,options:n,desktopKey:o,resolve:i,value:a,onChange:c}){const s=F()[o],d=i(void 0,s),u=n.find(f=>f.value===d)?.label??"";return r(Or,{label:e,icon:t,options:n,value:a,resolved:d,restWord:u,onChange:c})}const wr={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},Pr={Top:ve,Bottom:ke,Left:Le,Right:Ne},kr=e=>{const t=Pr[e];return r(t,{})};function Jl(e={}){const t=e.keys?.top??"sectionPaddingTop",n=e.keys?.bottom??"sectionPaddingBottom",o=e.group!==!1,i=_=>wr[_],a=_=>W(i("Top"),r(ve,{}),T.min,T.max,T.step,_,"px"),c=(_,Y,P,oe=T)=>g("mobile",Tr({label:i(_),icon:kr(_),desktopKey:Y,min:oe.min,max:oe.max,step:oe.step,fallback:P})),s=e.top??T.min,d=e.bottom??T.min,u="sectionPaddingLeft",f="sectionPaddingRight",p=e.sideBounds??T,h=e.side??p.min,b=e.sidePhone??h,C=e.phone===!0,w=_=>C?g("desktop",_):_;return M({...o?{_gSpacing:S("Padding")}:{},[t]:w(a(s)),...C?{[H(t)]:c("Top",t,s)}:{},...e.only==="top"?{}:{[n]:w(W(i("Bottom"),r(ke,{}),T.min,T.max,T.step,d,"px")),...C?{[H(n)]:c("Bottom",n,d)}:{}},...e.sides?{[u]:w(W(i("Left"),r(Le,{}),p.min,p.max,p.step,h,"px")),...C?{[H(u)]:c("Left",u,b,p)}:{},[f]:w(W(i("Right"),r(Ne,{}),p.min,p.max,p.step,h,"px")),...C?{[H(f)]:c("Right",f,b,p)}:{}}:{}})}const V=["top","right","bottom","left"],Lr={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},ft=e=>typeof e=="number"?e:null;function Nr(e,t,n){const o={};for(const i of V)n[i]!==t[i]&&(o[e[i]]=n[i]??void 0);return o}function vr({tier:e,o:t}){let n=null;try{n=ie()}catch{n=null}const o=n?.values??{},i=e==="mobile"?t.phoneKeys:t.keys,a=Object.fromEntries(V.map(u=>[u,ft(o[i[u]])])),c=Object.fromEntries(V.map(u=>[u,String(e==="mobile"?ft(o[t.keys[u]])??t.fallback[u]:t.fallback[u])])),[s,d]=U(()=>Cn(a,c));return r(m,{label:l("Padding"),icon:r(tn,{}),action:r(Ge,{each:s,label:l("Each side"),onChange:d}),children:r(Sn,{label:l("Padding"),each:s,value:a,placeholder:c,min:t.min,max:t.max,step:t.step,onChange:u=>{const f=Nr(i,a,u);Object.keys(f).length&&n?.onChangeMany(f)},words:{sides:{top:l("Padding top"),right:l("Padding right"),bottom:l("Padding bottom"),left:l("Padding left")},vertical:l("Top and bottom"),horizontal:l("Left and right"),unit:"px"}})})}function Zl(e={}){const t={...Lr,...e.keys},n={keys:t,phoneKeys:Object.fromEntries(V.map(s=>[s,H(t[s])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},o=e.phone!==!1,i=s=>{const d={type:"custom",render:()=>r(vr,{tier:s,o:n})};return o?g(s,d):d},a=()=>$({type:"custom",render:()=>r(J,{})},"always"),c=V.filter(s=>s!=="top");return M({...e.group===!1?{}:{_gSpacing:S("Padding")},[n.keys.top]:i("desktop"),...o?{[n.phoneKeys.top]:i("mobile")}:{},...Object.fromEntries(c.map(s=>[n.keys[s],{...a(),reachedBy:n.keys.top}])),...o?Object.fromEntries(c.map(s=>[n.phoneKeys[s],g("mobile",a())])):{}})}const ht=e=>typeof e=="number"?e:null;function Ar(e,t,n){const o={};for(const i of["x","y"])n[i]!==t[i]&&(o[e[i]]=n[i]??void 0);return o}function Fr({o:e}){let t=null;try{t=ie()}catch{t=null}const n=t?.values??{},o={x:ht(n[e.keys.x]),y:ht(n[e.keys.y])},i=l(e.label??"Position"),a=!!(o.x||o.y),c=u=>{const f=Ar(e.keys,o,u);Object.keys(f).length&&t?.onChangeMany(f)},s=r(Hn,{label:i,value:o,onChange:c,words:{x:l("Left and right"),y:l("Up and down"),unit:"px"},placeholder:{x:"0",y:"0"},min:e.min,max:e.max,step:e.step??1}),d=r(y,{words:x()?.panel,label:i,changed:a,detail:"0 px, 0 px",onReset:()=>c({x:null,y:null})});return e.label===null?O("div",{className:"sf-position-line",children:[s,d]}):r(m,{label:i,icon:r(en,{}),changed:a,action:d,children:s})}function Ql(e){return{[e.keys.x]:{type:"custom",render:()=>r(Fr,{o:e})},[e.keys.y]:{...$({type:"custom",render:()=>r(J,{})},"always"),reachedBy:e.keys.x}}}const Dr={contained:"Contained",page:"Page",full:"Full"},te="Width";function ea(e,t=Ko,n=!0){const o=t.map(i=>({label:Wo[i]??Dr[i],value:i}));return M({...n?{_gWidth:S(te)}:{},widthMode:{type:"custom",render:({onChange:i,field:a})=>r(m,{label:l(te),icon:r(cn,{}),action:n?r(er,{inherited:a?.inherited??!1,onReset:()=>i(Uo),label:te}):void 0,children:ne({options:o,value:a?.currentValue||e,onChange:i,ariaLabel:te})})}})}function ta(){const e=o=>({type:"custom",render:({value:i,onChange:a})=>r(m,{label:z,icon:k(r(Jt,{})),action:o?o(a):void 0,children:ne({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(i)?i:"auto",onChange:a,ariaLabel:z})})}),t=()=>({type:"custom",render:({value:o,onChange:i,field:a})=>{const c=a?.unit==="%"?"%":"px",s=c==="%"?so:ao;return r("div",{className:"sf-field",children:K({min:s.min,max:s.max,step:s.step,value:typeof o=="number"?o:s.fallback,suffix:c,ariaLabel:z,onChange:i})})}}),n=()=>me("Unit",r(Pe,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return M({_gHeight:S(z),sectionHeightMode:g("desktop",e()),sectionHeightValue:g("desktop",t()),sectionHeightUnit:g("desktop",n()),sectionHeightModePhone:g("mobile",e(o=>r(Br,{onClear:()=>o(void 0)}))),sectionHeightValuePhone:g("mobile",t()),sectionHeightUnitPhone:g("mobile",n())})}function Br({onClear:e}){const t=F(),n=oo(t),o=ro(t),i=l("{value} on desktop",{value:o.mode==="auto"?l("Auto"):`${o.value}${o.unit}`});return r(y,{words:x()?.panel,label:l(z),changed:n,detail:i,onReset:e})}function na(){const e=n=>({type:"custom",render:({value:o,onChange:i,id:a,name:c})=>r(Hr,{value:o,onChange:i,labelId:`${a??c??"stickTop"}-label`,phone:n})}),t=()=>({type:"custom",render:({value:n,onChange:o})=>r("div",{className:"sf-field",children:K({min:Z.min,max:Z.max,step:Z.step,value:typeof n=="number"?n:Z.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:o})})});return{_gStick:S(ce),stickTop:g("desktop",e(!1)),stickTopDistance:g("desktop",t()),stickTopPhone:g("mobile",e(!0)),stickTopDistancePhone:g("mobile",t())}}function Hr({value:e,onChange:t,labelId:n,phone:o}){const i=F(),a=lo(i),c=o?a.phone:e===!0;return r(m,{label:l(ce),labelId:n,icon:k(r(rn,{})),action:O(I,{children:[o?r(y,{words:x()?.panel,label:l(ce),changed:io(i),detail:l("{value} on desktop",{value:a.desktop?`${a.desktopDistance}px`:l("Off")}),onReset:()=>t(void 0)}):null,r(Me,{checked:c,onChange:t,ariaLabelledBy:n})]})})}const mt="e.g. about";function oa(){return{_gAnchor:S("Anchor"),anchor:A({control:"plainText",label:"Name",placeholder:mt},{type:"custom",render:({value:e,onChange:t})=>r(vt,{value:e,onChange:t,nameBox:(n,o)=>r(v,{value:n,onChange:o,label:"Name",placeholder:mt,hideable:!1,markup:!1})})})}}function ra(e,t,n){return{type:"custom",render:({value:o,onChange:i,id:a,name:c})=>{const s=`${a??c??e}-datetime`,d=Date.parse(typeof o=="string"?o:"");return r(m,{label:l(e),icon:t,htmlFor:s,hint:n===void 0?void 0:l(n),children:r(Dn,{id:s,value:Number.isFinite(d)?new Date(d):null,onChange:u=>i(u?u.toISOString():"")})})}}}function D(e,t,n){return{type:"custom",...R({},{...Q,label:e}),render:({value:o,onChange:i,id:a,name:c})=>{const s=typeof o=="boolean"?o:t,d=`${a??c??e}-label`;return r(m,{label:l(e),labelId:d,icon:n,action:r(Me,{checked:s,onChange:i,ariaLabelledBy:d})})}}}function ia(){return{type:"custom",render:({value:e,onChange:t,id:n,name:o})=>{const i=`${String(n??o??"pageBackground")}-colour`;return r(Ue,{label:l("Background"),icon:r(Ae,{}),id:i,value:un(e),onChange:t})}}}function la(e,t){return{type:"custom",...R({},{...Q,label:e}),render:({value:n,onChange:o,id:i})=>{const a=typeof n=="boolean"?n:t,c=`${i??e}-checkbox`;return r(m,{label:l(e),htmlFor:c,className:"sf-checkbox",action:r(An,{id:c,checked:a,onChange:o})})}}}const aa={follows:"fill"},sa={follows:"ink"};function ca(e,t,n){if(typeof t!="string"){const o=t.follows;return{type:"custom",render:({value:i,onChange:a})=>r(Gr,{label:e,part:o,icon:n,value:i,onChange:a})}}return{type:"custom",render:({value:o,onChange:i})=>r(Ue,{label:l(e),icon:n,value:o||t,onChange:i})}}function Gr({label:e,part:t,icon:n,value:o,onChange:i}){const a=So(G().theme),c=t==="fill"?a.fill:a.ink;return r(Mn,{label:l(e),icon:n,value:o||"",inherited:c,resetTo:N(c.toUpperCase(),l("Styles")),onChange:i,onReset:()=>i("")})}const Mr=[{value:"0% 0%",label:"Top left"},{value:"50% 0%",label:"Top"},{value:"100% 0%",label:"Top right"},{value:"0% 50%",label:"Left"},{value:"50% 50%",label:"Center"},{value:"100% 50%",label:"Right"},{value:"0% 100%",label:"Bottom left"},{value:"50% 100%",label:"Bottom"},{value:"100% 100%",label:"Bottom right"}];function gt({label:e,value:t,onChange:n,points:o=Mr}){const i=o.map(a=>({...a,label:l(a.label),...a.title?{title:l(a.title)}:null}));return r(vn,{label:l(e),value:t,points:i,onChange:n})}function da(){return $({type:"custom",render:()=>r(J,{})},"always")}const Kr=Ee([]);function ua(e,{stacking:t,fallback:n=kt}){return{type:"custom",render:({value:o,onChange:i})=>{const a=Pt.includes(o)?o:n;return t?r(Wr,{label:e,value:a,onChange:i}):bt({label:e,value:a,onChange:i,points:Kr})}}}function Wr({label:e,value:t,onChange:n}){const{appState:o,selectedItem:i}=j(s=>s),a=i?.props?.id?String(i.props.id):void 0,c=a?wt(o?.data,a):[];return bt({label:e,value:t,onChange:n,points:Ee(c,a)})}function bt({label:e,value:t,onChange:n,points:o}){const i=o.find(a=>a.disabled);return r(m,{label:l(e),icon:r(nn,{}),hint:i?.title?l(i.title):void 0,children:gt({label:e,value:Lt(t),onChange:n,points:o})})}const pa={top:r($t,{}),right:r(Xt,{}),bottom:r(Ut,{}),left:r(jt,{})};function fa(e,t,n,o,i,a){const c=f=>t.find(p=>p.value===f),s=f=>({value:f,label:"",disabled:!0,title:o}),d=f=>{const p=t.find(b=>b.cell===f);if(!p)return s(`missing-${f}`);const h=a?.[f];return h?{value:p.value,label:p.label,icon:h}:{value:p.value,label:p.label}},u=[s("corner-top-left"),d("top"),s("corner-top-right"),d("left"),s("centre"),d("right"),s("corner-bottom-left"),d("bottom"),s("corner-bottom-right")];return{type:"custom",render:({value:f,onChange:p})=>{const h=t.some(b=>b.value===f)?f:n;return r(m,{label:l(e),icon:i,value:c(h)?.label?l(c(h).label):"",children:gt({label:e,value:h,onChange:p,points:u})})}}}const Ur="\0note";function L(e,t,n,o,i){return{type:"custom",options:n,fallback:o,...i?{note:i}:{},...R({},{type:"select",label:e}),render:({value:a,onChange:c,field:s})=>{const d=s.options??n,u=s.fallback??o,f=d.some(p=>p.value===a)?a:u;return r(m,{label:l(e),icon:k(t),children:r(En,{value:f,ariaLabel:l(e),onChange:c,options:[...i?[{label:l(i),value:Ur,disabled:!0}]:[],...d.map(p=>({label:l(p.label),value:p.value}))]})})}}}function ha(e,t,n){return{type:"custom",options:t,render:({value:o,onChange:i,field:a})=>r(Qn,{label:e,options:(a.options??t).map(c=>({...c,label:l(c.label)})),value:Array.isArray(o)?o:[],onChange:i,...n?{emptyLabel:l(n)}:{}})}}function ma(e,t,n,o){return{type:"custom",options:t,fallback:n,...R({},{type:"select",label:e}),render:({value:i,onChange:a,field:c})=>r(to,{label:e,options:(c.options??t).map(s=>({...s,label:l(s.label)})),fallback:c.fallback??n,value:i,onChange:a,placeholder:o===void 0?void 0:l(o)})}}function ga(e,t={}){return{type:"custom",render:({value:n,onChange:o})=>{const i={value:n,onChange:o,...t};return r(e,{...i})}}}function ne({options:e,value:t,onChange:n,ariaLabel:o,disabled:i=!1}){return r(yn,{options:e.map(a=>a.picture?{id:a.value,label:a.picture,title:l(a.title??a.label)}:{id:a.value,label:l(a.label),title:a.title===void 0?void 0:l(a.title)}),value:t,onChange:n,ariaLabel:l(o),disabled:i})}const ba=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function me(e,t,n,o){const i=n.map(a=>typeof a=="string"?{label:a,value:a}:a);return{type:"custom",...R({},{type:"radio",label:e,options:i.map(a=>({value:a.value,label:a.label}))}),render:({value:a,onChange:c,field:s})=>r(m,{label:l(e),icon:k(t),children:ne({options:i,value:i.some(d=>d.value===a)?a:a||s?.currentValue||o,onChange:c,ariaLabel:e})})}}function xa(e,t,n,o={}){return{type:"custom",[Se]:!0,render:({value:i,onChange:a})=>r(Zn,{value:i||"",onChange:a,label:e,accept:t,placeholder:n,focusKey:o.focus,focusWhen:o.focusWhen})}}const ya={HeroSingle:["imageFocal"],ContactLocations:["locations[].photo"],ProcessSteps:["steps[].image"]};function Sa({value:e,onChange:t,label:n}){const o=e||{},i=!!o.pending,a=i?"var(--fg-dim, #888)":o.ok?"#1d9e75":"#d85a30",c=!!Vo(zo()).geocode,s=(d,u)=>t({...o,[d]:u===""?void 0:Number(u)});return O(m,{label:l(n),icon:r(ae,{}),children:[c&&O(I,{children:[r("button",{type:"button",disabled:i,onClick:()=>t({...o,pending:!0,ok:!1,status:"Finding…"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:i?"default":"pointer",opacity:i?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:i?l("Finding…"):l("Find coordinates")}),o.status&&r("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:a},children:l(o.status)}),r("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")})]}),r("button",{type:"button",onClick:()=>t({...o,manual:!o.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:o.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),o.manual&&O("div",{style:{marginTop:8,display:"grid",gap:8},children:[r(m,{label:l("Latitude"),icon:r(ae,{}),children:r("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof o.lat=="number"?o.lat:"",onChange:d=>s("lat",d.target.value)})}),r(m,{label:l("Longitude"),icon:r(ae,{}),children:r("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof o.lng=="number"?o.lng:"",onChange:d=>s("lng",d.target.value)})})]})]})}function jr(e,t){return t===null||t<0||t>=e.length?"":e[t]?.text??""}function Xr(e,t,n){const o=e.map(i=>({text:i?.text??""}));return t===null||t<0||t>=e.length?o:o.map((i,a)=>a===t?{text:n}:i)}function Ca(e,t){return e===null?null:t>e?e:null}function $r(e,t,n){if(n===null||n>=t.length)return null;for(let o=0;o<n;o+=1)if(e[o]!==t[o])return null;return e[n]!==t[n]&&t.includes(e[n])||e[n]!==t[n]&&t.length!==e.length?null:n}const _a={label:"Ticker items",icon:r(Qt,{})};function Ia(e,t,n,o){return{type:"custom",[E]:{control:"textList",label:e,placeholder:n,itemKey:"text",rendering:o},...R({},{...tt.textList,label:e}),render:({value:i,onChange:a})=>r(zr,{label:e,icon:k(t),items:Array.isArray(i)?i:[],placeholder:n,onChange:a,markup:o==="markup"})}}function zr({label:e,icon:t,items:n,placeholder:o,onChange:i,markup:a=!1}){const c=re(null),[s,d]=U(null),u=p=>p.map(h=>({text:h?.text??""})),f=p=>{const h=$r(n,p,s);h===null&&(c.current=null),d(h),i(u(p))};return r(Tn,{label:l(e),icon:t,noun:l("item"),items:n,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:a?r(je,{target:c,value:jr(n,s),onChange:p=>i(Xr(n,s??-1,p)),disabled:s===null,label:s===null?l("Formatting — click a row first"):l("Formatting — row {n}",{n:s+1})}):void 0,renderRow:(p,h,b)=>r("input",{type:"text",className:a&&s===h?"sf-list-marking":void 0,value:p?.text??"",placeholder:l(o),"aria-label":l("{label} {n}",{label:l(e),n:h+1}),onChange:C=>b({text:C.target.value}),onFocus:C=>{c.current=C.currentTarget,d(h)}})})}function Ea(e,t){const n=`${e.label} — row ${t+1}`;return A({control:"plainText",label:n,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:l("{label} — row {n}",{label:l(e.label),n:t+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function Ta(e){return{_gCards:S("Cards"),coverIndex:L("Cover image",r(Zt,{}),Yn,String(qn),e?.coverHint??"A card's opening picture — a card pinned to a finish keeps its own."),imageBackground:sr("Image background",Oo),cardImage:Yr(),spinOnHover:D("Rotate on hover",e?.spinDefault??!0,r(ln,{}))}}function Oa(){return{outline:L("Card outline",r(an,{}),$n,Vn),indexBadge:L("Card number",r(Pe,{}),Xn,zn),showBadge:D("Product badge",!0,r(Fe,{noun:"tag"}))}}function Ra(e){const t=e&&"bottomDefault"in e?e.bottomDefault:!0,n=e&&"defaults"in e?e.defaults:{showCardSizes:t,showCardBuy:t,showCardPage:t};return{_gShowOnCard:S("Show on a card"),showCardPrice:D("Price",!0,r(zt,{})),showCardFinishes:D("Finish swatches",!0,r(Vt,{})),showCardSizes:D("Sizes",n.showCardSizes,r(on,{})),showCardBuy:D("Buy button",n.showCardBuy,r(Kt,{})),showCardPage:D("Page button",n.showCardPage,r(Ae,{}))}}function wa(e,t="display"){const n=H(t);return{[t]:g("desktop",{type:"custom",render:({value:o,onChange:i})=>r(xt,{parts:e,changed:Rn(o),shown:a=>wn(o,a),onPress:(a,c)=>i(Ln(o,a,c)),onReset:()=>i(void 0)})}),[n]:g("mobile",{type:"custom",render:({value:o,onChange:i})=>r(Vr,{parts:e,desktopKey:t,value:o,onChange:i})})}}function xt({parts:e,changed:t,shown:n,onPress:o,onReset:i,detail:a}){const c=l("Display");return r(m,{label:c,icon:r(Dt,{}),changed:t,action:r(y,{words:x()?.panel,label:c,changed:t,detail:a,onReset:i}),children:r(On,{label:c,items:e.map(s=>({id:s.id,label:l(s.label),shown:n(s.id)})),onChange:o})})}function Vr({parts:e,desktopKey:t,value:n,onChange:o}){const i=F()[t];return r(xt,{parts:e,changed:kn(n),shown:a=>Pn(i,n,a),onPress:(a,c)=>o(Nn(n,a,c)),onReset:()=>o(Un),detail:l("the same as Desktop")})}function Yr(){return lt("Card image",{min:B,max:_e,step:It,hint:"Rounds the picture. The card's own corner is in Styles."})}function Pa(){return fe({sidesKey:"cornerSides",step:Et,useFollowed:()=>B,mark:r(qr,{label:Tt}),hint:l("Rounds the picture. Left alone it stays square.")})}function qr({label:e,changed:t=!1,onReset:n=()=>{}}){return r(y,{words:x()?.panel,label:l(e),changed:t,onReset:n})}function ka(){return{type:"custom",render:({value:e,onChange:t})=>r(Jr,{value:typeof e=="string"?e:"",onChange:t})}}function Jr({value:e,onChange:t}){const[n,o]=U(null),i=Ie.filter(c=>n===null||X[c].across===n),a=e&&e in X?X[e]:null;return O(I,{children:[r(m,{label:l("Photos in a row"),icon:r(Re,{}),children:O("div",{className:"sf-gallery-filter",children:[r("button",{type:"button","aria-pressed":n===null,onClick:()=>o(null),children:l("All")}),Rt.map(c=>r("button",{type:"button","aria-pressed":n===c,onClick:()=>o(c),children:c},c))]})}),r(m,{label:l("Layout"),icon:r(Yt,{}),value:a?l(a.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:i.length,total:Ie.length}),children:r(Ke,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:t,onClear:()=>t(""),options:i.map(c=>({value:c,label:l(X[c].label),picture:r("span",{className:"sf-gallery-pic",children:X[c].desktop.map(([s,d],u)=>r("i",{style:{gridColumn:`span ${s}`,gridRow:`span ${d}`}},u))})}))})})]})}export{nr as BOUND_TO_POST,ml as BOUND_TO_POST_NOTE,Il as BUCKET_ICONS,ya as CUSTOM_FIELD_MEDIA,Sa as CoordsField,pa as EDGE_ARROWS,Bn as FOCAL_DEFAULT,Mr as FOCAL_POINTS,q as FOLD_FIELD_MARKER,aa as FOLLOWS_SITE_BUTTON,sa as FOLLOWS_SITE_BUTTON_INK,gt as FocalPicker,vl as GroupLabel,or as HIGHLIGHT_HINT,v as HidableTextField,ye as LINK_FIELD_MARKER,al as Label,Se as MEDIA_FIELD_MARKER,ba as MEDIA_TYPE_OPTIONS,gl as NOT_BOUND_TO_POST,Nl as PanelBand,lr as PanelNoteLine,Rr as PhoneChoiceRow,Or as PhoneChoiceStrip,bt as PlacementGridView,Ce as SCAFFOLD_FIELD_MARKER,Aa as SCALAR_TEXT_CONTROLS,ct as SECTION_BLEEDS_HINT,Lr as SIDE_PAD_KEYS,ne as Segmented,Qo as SiteGapDefaultReset,K as Slider,it as Swatches,va as TEXT_CONTROL_KINDS,E as TEXT_FIELD_MARKER,_a as TICKER_ITEMS_ROW,zr as TextListField,er as WidthDefaultReset,$r as aimAfterListChange,oa as anchorFields,N as backTo,Al as backgroundField,Wl as boxAlignField,Xl as boxBlockSpacingField,Kl as boxJustifyField,$l as boxPhoneRowField,jl as boxShareField,Ul as boxWrapField,wl as bucketHeader,Sr as cardCornersField,sr as cardImageBackgroundField,Yr as cardImageField,Ta as cardMediaFields,Ml as cardShapeFields,Ra as cardShowFields,Oa as cardStyleFields,Yl as cellWidthFields,la as checkbox,ca as colorInput,Sl as copyText,st as cornerSidesField,fe as cornersRowField,ra as dateTime,Pl as designGroupHeader,zl as directionField,wa as displayFields,fa as edgePad,El as entriesHiddenForTab,Ca as focusAfterRemove,da as focusKeptField,kl as foldMarker,le as foldMetaOf,ar as foldTitleOf,ka as galleryLayoutField,Dl as gapField,S as group,ta as heightFields,xe as hidableText,ir as hintIsWhileTyping,k as iconOf,Pa as imageCornersField,hl as inOwnBox,Rl as isBucketHeader,qo as isNoGlyph,Cl as linkField,ha as multiSelect,Yo as noGlyph,ia as pageBackgroundField,Tl as panelNote,ql as phoneChoiceField,Tr as phoneOverrideField,ua as placementField,yl as plainText,_l as plainTextarea,Ql as positionFields,Ar as positionPatch,lt as pxField,Ll as quietMarker,be as readHidable,jr as rowText,ma as searchSelect,Ol as section,Hl as sectionAnimationFields,ut as sectionBorderField,pr as sectionCornersField,Bl as sectionShapeFields,Fl as sectionThemeFields,me as segmented,L as select,Xr as setRowText,M as sharedStyleKinds,Zl as sidesPaddingFields,Nr as sidesPaddingPatch,Vl as sizeField,W as slider,ga as sourceField,Jl as spacingFields,na as stickFields,Gl as templateField,bl as text,St as textFieldIdentifier,dl as textFieldOffPage,pl as textFieldPanelOnly,Ia as textList,Ea as textListRowField,xl as textarea,D as toggle,xa as upload,Jo as usePageWidthDetail,F as useSelectedProps,at as useSelectedSibling,Zo as useSiteGapDetail,ea as widthField,fl as withIdentifier,cl as withOffPage,ul as withPanelOnly,sl as withScaffold};
|
|
1
|
+
"use client";import{jsx as r,jsxs as O,Fragment as I}from"react/jsx-runtime";import{cloneElement as ge,useId as yt,useRef as ie,useState as U}from"react";import{useEasel as j,useSelectedFields as le}from"efficient-easel/easel";import{say as l,editorEaselWords as x}from"../../../format/lib/editor-words.js";import{readHidable as be,hidableText as xe}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as q,LINK_FIELD_MARKER as ye,MEDIA_FIELD_MARKER as Se,SCAFFOLD_FIELD_MARKER as Ce,TEXT_FIELD_MARKER as E,foldMetaOf as J,textFieldIdentifier as St}from"efficient-easel/draw";import Ct from"../../components/ApplyCornersToSiblings.js";import _t from"../../components/TemplateFieldRow.js";import{CARD_IMAGE_RADIUS_STEP as It,CORNER_RADIUS_MAX as _e,CORNER_RADIUS_MIN as B}from"../../../format/lib/content/card-image-shape.js";import{IMAGE_CORNER_STEP as Et,IMAGE_CORNERS_LABEL as Tt}from"../../../format/lib/content/image-corners.js";import{GRID_MAX_COLUMNS as Ot}from"../../../format/lib/content/grid-span.js";import{GALLERY_ACROSS_BUCKETS as Rt,GALLERY_LAYOUTS as X,GALLERY_LAYOUT_KEYS as Ie}from"../../../format/lib/content/gallery-layout.js";import{anchorSiblingsOf as wt,HERO_GROUP_PLACEMENTS as Pt,HERO_GROUP_PLACEMENT_DEFAULT as kt,normalisePlacement as Lt,placementPoints as Ee}from"../../../format/lib/hero-group-placement.js";import Nt from"../../components/KeepHint.js";import vt from"../../components/AnchorField.js";import{AdjustIcon as At,AlignLeftIcon as Ft,EyeIcon as Dt,AlignSeparateIcon as Bt,AnimationIcon as Te,BackgroundIcon as Ht,BorderAllIcon as Gt,BlockSectionIcon as Mt,CartIcon as Kt,ColumnWidthsIcon as Oe,ColumnsIcon as Re,CornerIcon as Wt,DirectionDownIcon as Ut,DirectionLeftIcon as jt,DirectionRightIcon as Xt,DirectionUpIcon as $t,DollarIcon as zt,FinishIcon as Vt,GapIcon as we,GridIcon as Yt,GroundIcon as qt,HashIcon as Pe,HeightIcon as Jt,ImageIcon as Zt,ListIcon as Qt,LocationIcon as ae,NudgeIcon as en,PaddingAllIcon as tn,PaddingBottomIcon as ke,PaddingLeftIcon as Le,PaddingRightIcon as Ne,PaddingTopIcon as ve,PageIcon as Ae,PlacementIcon as nn,ProductSizeIcon as on,StickyIcon as rn,RotateIcon as ln,SquareIcon as an,TypeIcon as sn,WidthIcon as cn,WrapIcon as dn}from"efficient-easel/icons";import{FieldGlyph as Fe}from"../../components/FieldGlyph.js";import{resolvePageBackground as un}from"../../../format/lib/content/page-background.js";import{CORNER_SIDES as De,CORNER_SIDE_POINTS as pn,hasOwnSectionCorners as fn,normalizeCornerSides as Be}from"../../../format/lib/content/section-corners.js";import{SECTION_MOTION_NONE as hn,SECTION_MOTION_OPTIONS as mn}from"../../../format/lib/content/section-animation.js";import{enclosingSectionProps as He}from"./enclosing-section.js";import{SettingsDefaultReset as y,SettingsField as m,SettingsGroup as gn,SettingsGroupSub as bn,SettingsBorder as xn,SettingsSegmented as yn,SettingsSides as Sn,SettingsSidesEach as Ge,sidesStartEach as Cn,SettingsSwitch as Me,borderSides as _n,borderStartEach as In}from"efficient-easel/panel";import{FieldSelect as En,ListField as Tn}from"efficient-easel/fields";import{DisplayChips as On}from"efficient-shell/ui";import{desktopDisplayChanged as Rn,partShownOnDesktop as wn,partShownOnPhone as Pn,phoneDisplayChanged as kn,withDesktopPart as Ln,withPhonePart as Nn}from"../../../format/lib/content/part-display.js";import{AlignmentGrid as vn,Checkbox as An,CornersInput as Fn,DateTimePicker as Dn,FOCAL_DEFAULT as Bn,PictureTiles as Ke,PositionInput as Hn,Slider as Gn,Tooltip as We}from"efficient-shell/ui";import{ColourRow as Ue,InheritedColourRow as Mn}from"./ColourControl.js";import je from"./MarkupToolbar.js";import{deviceField as g}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as Kn,NoControlMark as Z,noControlField as $}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{OWN_BOX_FIELD as Wn}from"../../../format/lib/document/own-box.js";import{PHONE_CLEAR as Un,resolvePhoneValue as se}from"../../../format/lib/document/phone-override.js";import{phoneKey as H}from"efficient-easel/draw";import{SuppressibleText as jn}from"./section-text-suppress.js";import{CARD_INDEX_OPTIONS as Xn,CARD_OUTLINE_OPTIONS as $n,DEFAULT_CARD_INDEX_FORMAT as zn,DEFAULT_CARD_OUTLINE as Vn}from"../../../format/lib/sections/product-card-style.js";import{COVER_INDEX_OPTIONS as Yn,DEFAULT_COVER_INDEX as qn}from"../../../format/lib/sections/card-cover-index.js";import{SCALAR_TEXT_CONTROLS as Jn}from"efficient-easel/draw";import Zn from"../../components/MediaUploadField.js";import Qn from"../../components/MultiSelectField.js";import eo from"../../components/SectionThemePicker.js";import to from"../../components/SearchSelectField.js";import no from"../../components/StorefrontLinkField.js";import{UiIcon as Xe}from"efficient-easel/draw/client";import{SECTION_PADDING as T}from"../../../format/lib/content/section-padding.js";import{hasPhoneHeight as oo,resolveSectionMinHeight as ro}from"../../../format/lib/content/section-min-height.js";import{SECTION_STICK_DISTANCE as Q,SECTION_STICK_LABEL as ce,hasPhoneStick as io,resolveSectionStick as lo}from"../../../format/lib/content/section-sticky.js";import{SECTION_MIN_HEIGHT as ao,SECTION_MIN_HEIGHT_GROUP_LABEL as z,SECTION_SCREEN_PCT as so}from"../../../format/lib/content/section-min-height.js";import{CONTAINER_DIRECTION_LABEL as co,containerDirectionPoints as uo,resolveContainerDirection as $e}from"../../../format/lib/content/container-direction.js";import{BOX_ALIGN_POINTS as po,BOX_BLOCK_SPACING_LABEL as fo,BOX_BLOCK_SPACING_POINTS as ze,BOX_JUSTIFY_POINTS as Ve,BOX_PHONE_ROW_LABEL as ho,BOX_PHONE_ROW_MAX as mo,BOX_PHONE_ROW_MIN as Ye,BOX_SHARE_LABEL as qe,BOX_SHARE_POINTS as de,BOX_WRAP_LABEL as go,BOX_WRAP_POINTS as Je}from"../../../format/lib/content/box-layout.js";import{usePreviewHeader as G}from"../../../render/components/PreviewHeaderContext.js";import{BORDER_MAX as bo}from"../../../format/lib/content/borders.js";import{DEFAULT_SURFACES as xo,normalizeTheme as yo,siteButtonPaint as So}from"../../../format/lib/theme.js";import{CONTAINER_GAP as ue,CONTAINER_GAP_BUILT_IN as Co,GAP_FIELD_CONTAINER as _o,hasOwnContainerGap as Io,resolveContainerGap as Eo}from"../../../format/lib/content/container-gap.js";import{CARD_IMAGE_BG_INHERIT as To,CARD_IMAGE_BG_OFF as Oo,CARD_IMAGE_BG_SWATCH_NAMES as Ro,CARD_IMAGE_BG_SWATCHES as wo,isCardImageBackgroundInheriting as Po,cardImageBackgroundChoice as ko,THEME_CARD_IMAGE_BG as Lo}from"../../../format/lib/content/card-image-background.js";import{SECTION_BG_INHERIT as No,SECTION_BG_SWATCHES as vo,SECTION_BG_SWATCH_NAMES as Ao,THEME_SECTION_BG as Fo,isSectionBackgroundInheriting as Do}from"../../../format/lib/content/section-background.js";import{SECTION_THEME_GROUP_LABEL as Bo}from"../../../format/lib/content/section-surface.js";import{TYPE_SIZE_FIXED as Ho,TYPE_SIZE_INHERIT as Go,isTypeSizeInheriting as Mo}from"../../../format/lib/content/section-type-size.js";import{SECTION_WIDTH_CHOICES as Ko,WIDTH_CHOICE_LABEL as Wo,WIDTH_INHERIT as Uo,resolveWidth as jo,sectionRunsFullWidth as Ze}from"../../../format/lib/content/section-width.js";import{useFoldHeadingLevel as Xo}from"./panel-heading-scope.js";import{withStyleKind as $o}from"efficient-easel/style-clipboard";import{useEaselSession as zo}from"efficient-easel/screen/lib/session-context";import{backendOf as Vo}from"../website-session.js";import{describedAs as R}from"../../../format/lib/host-document-bridge.js";function M(e){for(const[t,n]of Object.entries(e))n&&typeof n=="object"&&!J(n)&&$o(n,`section:${t}`);return e}function al({children:e}){return r("div",{className:"sf-field-label",children:typeof e=="string"?l(e):e})}function Qe(){return null}function Yo(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return r(Qe,{},e)}function qo(e){return e.type===Qe}function k(e){return qo(e)?void 0:e}function N(e,t){return l("{value} from {from}",{value:e,from:t})}function Jo(){const{appState:e}=j(i=>i),t=e.data.root?.props??{},{mode:n,pageWidth:o}=jo(t,"full");return n==="page"?N(`${o}px`,l("the page")):n==="contained"?N(l("Contained"),l("the page")):N(l("Full"),l("the page"))}function Zo(){const{blockGap:e}=G();return e===null?l("this container's own spacing"):N(`${e}px`,l("Styles"))}function Qo({inherited:e,onReset:t,label:n}){return r(y,{words:x()?.panel,label:l(n),changed:!e,detail:Zo(),onReset:t})}function er({inherited:e,onReset:t,label:n}){return r(y,{words:x()?.panel,label:l(n),changed:!e,detail:Jo(),onReset:t})}function v({value:e,onChange:t,label:n,placeholder:o,hint:i,multiline:a,hideable:s=!0,markup:c=!0}){const{text:d,hidden:u}=be(e),f=ie(null),p=ie(null),h=P=>t(s?{text:P,hidden:u}:P),b=()=>t({text:d,hidden:!u}),C=s&&u,w=yt(),_=i?ir(i)?r("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(i)}):r(Nt,{children:l(i)}):void 0,Y=u?l("Show {label} on the slide",{label:l(n)}):l("Hide {label} on the slide",{label:l(n)});return r(m,{label:l(n),icon:r(sn,{}),htmlFor:w,className:C?"is-hidden":void 0,hint:_,action:s?r(We,{content:Y,children:r("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":Y,onClick:b,children:u?r(Xe,{name:"eye-off",size:14}):r(Xe,{name:"eye",size:14})})}):void 0,children:O("div",{className:"sf-copybox",children:[c&&r(je,{target:a?p:f,value:d,onChange:h}),a?r("textarea",{id:w,ref:p,value:d,placeholder:o===void 0?void 0:l(o),onChange:P=>h(P.target.value)}):r("input",{id:w,ref:f,type:"text",value:d,placeholder:o===void 0?void 0:l(o),onChange:P=>h(P.target.value)})]})})}function sl(e,t){return{...e,[Ce]:t}}function cl(e){const t=e[E];if(!t)throw new Error("withOffPage: the field holds no authored text");return{...e,[E]:{...t,offPage:!0}}}function dl(e){return!e||typeof e!="object"?!1:e[E]?.offPage===!0}const et="sfPanelOnly";function ul(e){if(!e[E])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[et]:!0}}function pl(e){return!!e&&typeof e=="object"&&e[et]===!0}function fl(e){const t=e[E];if(!t)throw new Error("withIdentifier: the field holds no authored text");return{...e,[E]:{...t,identifier:!0}}}import{TEXT_CONTROL_KINDS as Aa,SCALAR_TEXT_CONTROLS as Fa}from"efficient-easel/draw";function hl(e,t){if(!e[E])throw new Error("inOwnBox: the field holds no authored text");const{[Kn]:o,...i}=e;return{...i,[Wn]:!0,render:t}}const tr=new Set(Jn),ee={type:"radio",options:[{value:!0},{value:!1}]},tt={text:{type:"object",objectFields:{text:{type:"text"},hidden:ee}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:ee}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},A=(e,t)=>{const n=R({...t,[E]:e},{...tt[e.control],label:e.label});if(!tr.has(e.control))return n;const o=t.render;return{...$(n,"authored-copy"),render:i=>r(jn,{name:i.name,children:o(i)})}},ml="Everything else on this block comes from the linked post. Unlink it to edit by hand.",nr={field:"source.slug",set:!0},gl={not:nr},or="Select a word, then press the highlighter.",rr=new Set([or]),ir=e=>rr.has(e);function bl(e,t,n){return A({control:"text",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n})})}function xl(e,t,n){return A({control:"textarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0})})}function yl(e,t,n){return A({control:"plainText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1,markup:!1})})}function Sl(e,t,n){return A({control:"copyText",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,hideable:!1})})}function Cl(e){return{type:"custom",[ye]:{label:e},...R({},{type:"text",label:e}),render:({value:t,onChange:n})=>r(no,{value:xe(t),onChange:n,label:e})}}function _l(e,t,n){return A({control:"plainTextarea",label:e,placeholder:t,hint:n},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:e,placeholder:t,hint:n,multiline:!0,hideable:!1})})}const Il={Design:At,Animation:Te};function El(e,t){return e.includes("Design")?t!=="Design":null}function nt(e,t){return{type:"custom",[q]:{label:e,level:t},marker:!0,fold:e,render:()=>r(I,{})}}function S(e){return nt(e,2)}function Tl(e){return{type:"custom",render:()=>r(lr,{text:e})}}function lr({text:e}){return r("p",{className:"sf-note",children:l(e)})}function Ol(e){return nt(e,1)}function Rl(e){return J(e)!==null&&e?.tabs!==void 0}const ot=new Map;function wl(e,t){const n=`${e}\0${t?t.join(""):""}`,o=ot.get(n)??{type:"custom",tabs:t,[q]:{label:e,level:1},bucket:e,marker:!0,render:()=>r(I,{})};return ot.set(n,o),o}const rt=new Map;function Pl(e){const t=rt.get(e)??{type:"custom",[q]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>r(I,{})};return rt.set(e,t),t}function ar(e){const t=e;return t?.marker===!0&&typeof t.fold=="string"?t.fold:null}function kl(e,t){return ar(e)===t?e:{...e,marker:!0,fold:t,render:()=>r(I,{})}}function Ll(e){const t=e;if(t.marker===!0&&t.fold===void 0)return e;const{fold:n,...o}=e;return{...o,marker:!0,render:()=>r(I,{})}}function Nl({title:e,children:t}){const[n,o]=U(()=>!pe.has(e));return r(gn,{title:e,open:n,onToggle:i=>{o(i),i?pe.delete(e):pe.add(e)},children:t})}const pe=new Set;function vl({label:e}){return r(bn,{title:l(e),level:Xo(2)})}function it({swatches:e,current:t,onPick:n,names:o}){const i=e.find(c=>c.toLowerCase()===t.toLowerCase()),a=i?o?.[i]:void 0,s=a?l(a):t;return O("div",{className:"sf-swatches",children:[e.map(c=>{const d=o?.[c]?l(o[c]):c;return r(We,{content:d,children:r("button",{type:"button","aria-pressed":t.toLowerCase()===c.toLowerCase(),className:`sf-swatch ${t.toLowerCase()===c.toLowerCase()?"is-active":""}`,style:{background:c},onClick:()=>n(c),"aria-label":d})},c)}),r("span",{className:"sf-swatch-hex",children:s})]})}function Al(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=Do(n,t);return r(m,{label:l(e),icon:r(Ht,{}),changed:!i,action:r(y,{words:x()?.panel,label:l(e),changed:!i,detail:l("the theme's section background"),onReset:()=>o(No)}),children:it({swatches:vo,current:i?Fo:n??t??"",onPick:o,names:Ao})})}}}function sr(e,t){return{type:"custom",render:({value:n,onChange:o})=>{const i=n,a=Po(i,t);return r(m,{label:l(e),icon:r(qt,{}),changed:!a,action:r(y,{words:x()?.panel,label:l(e),changed:!a,detail:l("the theme's image stage"),onReset:()=>o(To)}),children:it({swatches:wo,current:a?Lo:ko(i,t),onPick:o,names:Ro})})}}}function Fl(e=n=>n,t){return M({_gSectionTheme:S(Bo),sectionAccent:{type:"custom",render:({value:n,onChange:o})=>r(eo,{value:e(n),onChange:o,followLabel:t})}})}function K({min:e,max:t,step:n,value:o,onChange:i,suffix:a="",readout:s=!0,notch:c,ariaLabel:d,disabled:u=!1}){const f=c!==void 0&&Number.isFinite(c)&&c>=e&&c<=t;return r("div",{className:f?"sf-slider has-notch":"sf-slider",style:f?{"--sf-notch":(c-e)/(t-e)}:void 0,children:r(Gn,{min:e,max:t,step:n,value:o,suffix:a||void 0,showInput:s,label:d===void 0?void 0:l(d),disabled:u,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:p=>{p!==null&&p!==o&&i(p)}})})}function W(e,t,n,o,i,a,s="",c){return{type:"custom",...R({},{type:"number",label:e}),render:d=>r(m,{label:l(e),icon:k(t),action:c?c("storedValue"in d?d.storedValue:d.value,d.onChange):void 0,children:K({min:n,max:o,step:i,value:typeof d.value=="number"?d.value:a,suffix:s,ariaLabel:e,onChange:d.onChange})})}}function lt(e,t){const{min:n,max:o,step:i=1,unsetLabel:a,hint:s,restTrack:c,unsetMark:d,icon:u}=t;return{type:"custom",render:({value:f,onChange:p})=>{const h=typeof f=="number"?f:null,b=h===null;return r(m,{label:l(e),icon:u?k(u):void 0,value:b?d||a===void 0?void 0:l(a):`${h}px`,changed:!b,action:d?ge(d,{changed:!b,onReset:()=>p(null)}):r(y,{words:x()?.panel,label:l(e),changed:!b,onReset:()=>p(null)}),hint:typeof s=="string"?l(s):s,children:c?c({min:n,max:o,step:i,px:h,label:e,onChange:p}):K({min:n,max:o,step:i,value:h??n,readout:!1,ariaLabel:e,onChange:p})})}}}function Dl(e){const t=W("Gap",r(we,{}),ue.min,ue.max,ue.step,Co[e],"px",(n,o)=>r(Qo,{inherited:!Io(e,n),onReset:()=>o(void 0),label:"Gap"}));return{type:"custom",[_o]:e,render:n=>t.render({...n,value:Eo(e,n.value,n.field?.siteGap),storedValue:n.value,onChange:o=>n.onChange(o)})}}const te="Corners";function fe(e){return{type:"custom",render:({value:t,onChange:n})=>{const o=typeof t=="number"&&Number.isFinite(t)?t:null,i=o!==null;return r(m,{label:l(te),icon:r(Wt,{}),changed:i,action:ge(e.mark,{changed:i,onReset:()=>n(null)}),hint:e.hint,children:r(cr,{tier:e,px:o,onRadius:n})})}}}function at(e){let t=null;try{t=le()}catch{t=null}return[t?.values?.[e],n=>t?.onChange(e,n)]}function cr({tier:e,px:t,onRadius:n}){const o=e.useFollowed(),i=e.useClosedReason?e.useClosedReason():null,[a,s]=at(e.sidesKey),c=Be(a)??[...De];return r(Fn,{label:l(te),value:c,corners:pn,onChange:d=>{const u=Be(d)??[];s(u.length===De.length?null:u)},radius:t,onRadiusChange:n,radiusMin:B,radiusMax:_e,radiusStep:e.step??1,radiusPlaceholder:String(o),disabled:i!==null,disabledReason:i??void 0})}function st(){return $({type:"custom",render:()=>r(Z,{})},"always")}function dr({label:e,changed:t=!1,onReset:n=()=>{}}){const{cornerRadiusPx:o}=G(),i=typeof o=="number"?`${o}px`:l("not set");return r(y,{words:x()?.panel,label:l(e),changed:t,detail:o==null?l("the built-in corners"):N(i,l("Styles")),onReset:n})}function ur(){const{cornerRadiusPx:e}=G();return typeof e=="number"?e:B}function pr(){return fe({sidesKey:"sectionCornerSides",useFollowed:ur,useClosedReason:()=>dt()?l(ct):null,mark:r(dr,{label:te}),hint:r(fr,{})})}const ct="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function dt(){return Ze(F())}function fr(){return r(I,{children:dt()?ct:"Follows Styles ▸ Basics ▸ Corners until you set a number here."})}function Bl(){return M({_gShape:S("Shape"),sectionCorners:pr(),sectionCornerSides:st(),sectionBorder:ut("desktop"),sectionBorderPhone:ut("mobile")})}const hr=()=>({width:l("Border width"),sides:{top:l("Border top"),right:l("Border right"),bottom:l("Border bottom"),left:l("Border left")},style:l("Border style"),styles:{solid:l("Solid"),dashed:l("Dashed"),dotted:l("Dotted")},color:l("Border color"),unit:"px"});function mr(e){const t=Object.fromEntries(Object.entries(e).filter(([,n])=>n!=null&&n!==""));return Object.keys(t).length?t:void 0}function gr(){let e;try{const t=yo(G().theme);e=t.themes[t.selected]?.line}catch{e=void 0}return e||xo.line}function br({value:e,onChange:t,tier:n}){const[o]=at("sectionBorder"),i=gr(),a=e&&typeof e=="object"?e:{},s=n==="mobile"?o&&typeof o=="object"?o:{}:{},[c,d]=U(()=>In(a,s)),u=hr();return r(m,{label:l("Border"),icon:r(Gt,{}),action:r(Ge,{each:c,label:l("Each side"),onChange:d}),children:r(xn,{label:l("Border"),value:a,each:c,onChange:f=>t(mr(f)),placeholder:{sides:_n(s),style:s.style??"solid",color:s.color||i},presets:[i],words:u,max:bo})})}function ut(e){return g(e,{type:"custom",render:({value:t,onChange:n})=>r(br,{value:t,onChange:n,tier:e})})}function Hl(){return{_gMotion:S("Motion"),sectionAnimation:me("Entrance",r(Te,{}),[...mn],hn)}}function he(){let e=null;try{const{appState:t,selectedItem:n}=j(i=>i),o=n?.props?.id?String(n.props.id):void 0;e=o?He(t?.data,o):null}catch{e=null}return e!==null&&Ze(e)}function pt(e){const{cornerRadiusPx:t}=G(),n=he(),o=typeof t=="number"?t:e;let i=null;try{const{appState:s,selectedItem:c}=j(u=>u),d=c?.props?.id?String(c.props.id):void 0;i=d?He(s?.data,d):null}catch{i=null}if(n||!i)return o;const a=i.sectionCorners;return fn(a)?a:o}function xr({label:e,changed:t=!1,onReset:n=()=>{}}){const o=he(),i=pt(B),a=o?"Site":"Section";return r(y,{words:x()?.panel,label:l(e),changed:t,detail:N(`${i}px`,o?l("Styles"):l("the section")),onReset:n})}function yr(){return r(I,{children:he()?l("The section is full width, so this card follows Styles ▸ Basics ▸ Corners."):l("Follows the section's Corners until you set a number here.")})}function Sr(){return fe({sidesKey:"cardCornerSides",useFollowed:()=>pt(B),mark:r(xr,{label:te}),hint:r(yr,{})})}function Cr(){return{type:"custom",render:()=>r(Ct,{})}}function Gl(e){return{...e,render:t=>r(_t,{render:e.render,props:t})}}function Ml(){return{_gShape:S("Shape"),cardCorners:Sr(),cardCornerSides:st(),cardCornersApplyAll:Cr()}}function Kl(){return L("Justify",r(Bt,{}),Ve,Ve[0].value)}function Wl(){return L("Item alignment",r(Ft,{}),po,"stretch")}function Ul(){return L(go,r(dn,{}),Je,Je[0].value)}function jl(){return{type:"custom",render:({value:e,onChange:t})=>{const n=de.find(o=>o.value===e)??de[0];return r(m,{label:l(qe),icon:r(Oe,{}),value:l(n.label),children:r(Ke,{className:"sf-gallery-layouts",label:l(qe),value:n.value,onChange:t,options:de.map(o=>({value:o.value,label:l(o.label),picture:r("span",{className:"sf-gallery-pic",children:_r(o.weights).map((i,a)=>r("i",{style:{gridColumn:`span ${i}`}},a))})}))})})}}}function _r(e){if(!e)return[3,4];const t=e.reduce((n,o)=>n+o,0);return e.map(n=>Math.round(n/t*12))}function Xl(){return L(fo,r(we,{}),ze,ze[0].value)}function $l(){return g("mobile",W(ho,r(Re,{}),Ye,mo,1,Ye))}function zl(e){const t=me(co,Yo("`Direction` names how a container's children run — a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),uo(e),$e(e,void 0));return{type:"custom",render:n=>t.render({...n,value:$e(e,n.value),onChange:o=>n.onChange(o)})}}function Vl(e,t,n,o,i,a){return{type:"custom",render:({value:s,onChange:c})=>r(m,{label:l(e),icon:r(Fe,{noun:a}),action:r(y,{words:x()?.panel,label:l(e),changed:!Mo(s),detail:l("the Text style in Styles"),onReset:()=>c(Go),defaultAction:{onPress:()=>c(Ho),title:l("Keep this section's own built-in size"),icon:r(Mt,{})}}),children:K({min:t,max:n,step:o,value:typeof s=="number"?s:i,suffix:"px",ariaLabel:e,onChange:c})})}}function Yl(){return{_gCellWidth:S("Cell width"),gridSpan:L("Positions",r(Oe,{}),[{label:"Auto",value:""},...Array.from({length:Ot},(e,t)=>({label:t===0?"1 position":`${t+1} positions`,value:String(t+1)}))],"")}}function F(){let e=null;try{e=j(t=>t).selectedItem}catch{e=null}return e?.props??{}}function Ir({min:e,max:t,step:n,px:o,label:i,onChange:a,desktopKey:s,fallback:c}){const d=F()[s],u=se(void 0,d,c);return r(I,{children:K({min:e,max:t,step:n,value:se(o,d,c),readout:!1,ariaLabel:i,notch:u,onChange:a})})}function Er({label:e,desktopKey:t,fallback:n,changed:o=!1,onReset:i=()=>{}}){const a=F()[t],s=se(void 0,a,n);return r(y,{words:x()?.panel,label:l(e),changed:o,detail:l("{value} on desktop",{value:`${s}px`}),onReset:i})}function Tr(e){return lt(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:r(Er,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:t=>r(Ir,{...t,desktopKey:e.desktopKey,fallback:e.fallback})})}function ql(e){return{type:"custom",render:({value:t,onChange:n})=>r(Rr,{...e,value:t,onChange:n})}}function Or({label:e,icon:t,options:n,value:o,resolved:i,restWord:a,onChange:s}){const c=n.some(d=>d.value===o);return r(m,{label:l(e),icon:k(t),action:r(y,{words:x()?.panel,label:l(e),changed:c,detail:l("{value} on desktop",{value:l(a)}),onReset:()=>s(void 0)}),children:oe({options:n,value:c?o:i,onChange:d=>s(d),ariaLabel:e})})}function Rr({label:e,icon:t,options:n,desktopKey:o,resolve:i,value:a,onChange:s}){const c=F()[o],d=i(void 0,c),u=n.find(f=>f.value===d)?.label??"";return r(Or,{label:e,icon:t,options:n,value:a,resolved:d,restWord:u,onChange:s})}const wr={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},Pr={Top:ve,Bottom:ke,Left:Le,Right:Ne},kr=e=>{const t=Pr[e];return r(t,{})};function Jl(e={}){const t=e.keys?.top??"sectionPaddingTop",n=e.keys?.bottom??"sectionPaddingBottom",o=e.group!==!1,i=_=>wr[_],a=_=>W(i("Top"),r(ve,{}),T.min,T.max,T.step,_,"px"),s=(_,Y,P,re=T)=>g("mobile",Tr({label:i(_),icon:kr(_),desktopKey:Y,min:re.min,max:re.max,step:re.step,fallback:P})),c=e.top??T.min,d=e.bottom??T.min,u="sectionPaddingLeft",f="sectionPaddingRight",p=e.sideBounds??T,h=e.side??p.min,b=e.sidePhone??h,C=e.phone===!0,w=_=>C?g("desktop",_):_;return M({...o?{_gSpacing:S("Padding")}:{},[t]:w(a(c)),...C?{[H(t)]:s("Top",t,c)}:{},...e.only==="top"?{}:{[n]:w(W(i("Bottom"),r(ke,{}),T.min,T.max,T.step,d,"px")),...C?{[H(n)]:s("Bottom",n,d)}:{}},...e.sides?{[u]:w(W(i("Left"),r(Le,{}),p.min,p.max,p.step,h,"px")),...C?{[H(u)]:s("Left",u,b,p)}:{},[f]:w(W(i("Right"),r(Ne,{}),p.min,p.max,p.step,h,"px")),...C?{[H(f)]:s("Right",f,b,p)}:{}}:{}})}const V=["top","right","bottom","left"],Lr={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},ft=e=>typeof e=="number"?e:null;function Nr(e,t,n){const o={};for(const i of V)n[i]!==t[i]&&(o[e[i]]=n[i]??void 0);return o}function vr({tier:e,o:t}){let n=null;try{n=le()}catch{n=null}const o=n?.values??{},i=e==="mobile"?t.phoneKeys:t.keys,a=Object.fromEntries(V.map(u=>[u,ft(o[i[u]])])),s=Object.fromEntries(V.map(u=>[u,String(e==="mobile"?ft(o[t.keys[u]])??t.fallback[u]:t.fallback[u])])),[c,d]=U(()=>Cn(a,s));return r(m,{label:l("Padding"),icon:r(tn,{}),action:r(Ge,{each:c,label:l("Each side"),onChange:d}),children:r(Sn,{label:l("Padding"),each:c,value:a,placeholder:s,min:t.min,max:t.max,step:t.step,onChange:u=>{const f=Nr(i,a,u);Object.keys(f).length&&n?.onChangeMany(f)},words:{sides:{top:l("Padding top"),right:l("Padding right"),bottom:l("Padding bottom"),left:l("Padding left")},vertical:l("Top and bottom"),horizontal:l("Left and right"),unit:"px"}})})}function Zl(e={}){const t={...Lr,...e.keys},n={keys:t,phoneKeys:Object.fromEntries(V.map(c=>[c,H(t[c])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},o=e.phone!==!1,i=c=>{const d={type:"custom",render:()=>r(vr,{tier:c,o:n})};return o?g(c,d):d},a=()=>$({type:"custom",render:()=>r(Z,{})},"always"),s=V.filter(c=>c!=="top");return M({...e.group===!1?{}:{_gSpacing:S("Padding")},[n.keys.top]:i("desktop"),...o?{[n.phoneKeys.top]:i("mobile")}:{},...Object.fromEntries(s.map(c=>[n.keys[c],{...a(),reachedBy:n.keys.top}])),...o?Object.fromEntries(s.map(c=>[n.phoneKeys[c],g("mobile",a())])):{}})}function Ql(e,t){const n=Object.fromEntries(Object.entries(t).map(([a,s])=>[a,a in e&&J(s)?e[a]:s])),o={};let i=!1;for(const[a,s]of Object.entries(e)){if(a in t){i||Object.assign(o,n),i=!0;continue}o[a]=s}return i||Object.assign(o,n),o}const ht=e=>typeof e=="number"?e:null;function Ar(e,t,n){const o={};for(const i of["x","y"])n[i]!==t[i]&&(o[e[i]]=n[i]??void 0);return o}function Fr({o:e}){let t=null;try{t=le()}catch{t=null}const n=t?.values??{},o={x:ht(n[e.keys.x]),y:ht(n[e.keys.y])},i=l(e.label??"Position"),a=!!(o.x||o.y),s=u=>{const f=Ar(e.keys,o,u);Object.keys(f).length&&t?.onChangeMany(f)},c=r(Hn,{label:i,value:o,onChange:s,words:{x:l("Left and right"),y:l("Up and down"),unit:"px"},placeholder:{x:"0",y:"0"},min:e.min,max:e.max,step:e.step??1}),d=r(y,{words:x()?.panel,label:i,changed:a,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return e.label===null?O("div",{className:"sf-position-line",children:[c,d]}):r(m,{label:i,icon:r(en,{}),changed:a,action:d,children:c})}function ea(e){return{[e.keys.x]:{type:"custom",render:()=>r(Fr,{o:e})},[e.keys.y]:{...$({type:"custom",render:()=>r(Z,{})},"always"),reachedBy:e.keys.x}}}const Dr={contained:"Contained",page:"Page",full:"Full"},ne="Width";function ta(e,t=Ko,n=!0){const o=t.map(i=>({label:Wo[i]??Dr[i],value:i}));return M({...n?{_gWidth:S(ne)}:{},widthMode:{type:"custom",render:({onChange:i,field:a})=>r(m,{label:l(ne),icon:r(cn,{}),action:n?r(er,{inherited:a?.inherited??!1,onReset:()=>i(Uo),label:ne}):void 0,children:oe({options:o,value:a?.currentValue||e,onChange:i,ariaLabel:ne})})}})}function na(){const e=o=>({type:"custom",render:({value:i,onChange:a})=>r(m,{label:z,icon:k(r(Jt,{})),action:o?o(a):void 0,children:oe({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(i)?i:"auto",onChange:a,ariaLabel:z})})}),t=()=>({type:"custom",render:({value:o,onChange:i,field:a})=>{const s=a?.unit==="%"?"%":"px",c=s==="%"?so:ao;return r("div",{className:"sf-field",children:K({min:c.min,max:c.max,step:c.step,value:typeof o=="number"?o:c.fallback,suffix:s,ariaLabel:z,onChange:i})})}}),n=()=>me("Unit",r(Pe,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return M({_gHeight:S(z),sectionHeightMode:g("desktop",e()),sectionHeightValue:g("desktop",t()),sectionHeightUnit:g("desktop",n()),sectionHeightModePhone:g("mobile",e(o=>r(Br,{onClear:()=>o(void 0)}))),sectionHeightValuePhone:g("mobile",t()),sectionHeightUnitPhone:g("mobile",n())})}function Br({onClear:e}){const t=F(),n=oo(t),o=ro(t),i=l("{value} on desktop",{value:o.mode==="auto"?l("Auto"):`${o.value}${o.unit}`});return r(y,{words:x()?.panel,label:l(z),changed:n,detail:i,onReset:e})}function oa(){const e=n=>({type:"custom",render:({value:o,onChange:i,id:a,name:s})=>r(Hr,{value:o,onChange:i,labelId:`${a??s??"stickTop"}-label`,phone:n})}),t=()=>({type:"custom",render:({value:n,onChange:o})=>r("div",{className:"sf-field",children:K({min:Q.min,max:Q.max,step:Q.step,value:typeof n=="number"?n:Q.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:o})})});return{_gStick:S(ce),stickTop:g("desktop",e(!1)),stickTopDistance:g("desktop",t()),stickTopPhone:g("mobile",e(!0)),stickTopDistancePhone:g("mobile",t())}}function Hr({value:e,onChange:t,labelId:n,phone:o}){const i=F(),a=lo(i),s=o?a.phone:e===!0;return r(m,{label:l(ce),labelId:n,icon:k(r(rn,{})),action:O(I,{children:[o?r(y,{words:x()?.panel,label:l(ce),changed:io(i),detail:l("{value} on desktop",{value:a.desktop?`${a.desktopDistance}px`:l("Off")}),onReset:()=>t(void 0)}):null,r(Me,{checked:s,onChange:t,ariaLabelledBy:n})]})})}const mt="e.g. about";function ra(){return{_gAnchor:S("Anchor"),anchor:A({control:"plainText",label:"Name",placeholder:mt},{type:"custom",render:({value:e,onChange:t})=>r(vt,{value:e,onChange:t,nameBox:(n,o)=>r(v,{value:n,onChange:o,label:"Name",placeholder:mt,hideable:!1,markup:!1})})})}}function ia(e,t,n){return{type:"custom",render:({value:o,onChange:i,id:a,name:s})=>{const c=`${a??s??e}-datetime`,d=Date.parse(typeof o=="string"?o:"");return r(m,{label:l(e),icon:t,htmlFor:c,hint:n===void 0?void 0:l(n),children:r(Dn,{id:c,value:Number.isFinite(d)?new Date(d):null,onChange:u=>i(u?u.toISOString():"")})})}}}function D(e,t,n){return{type:"custom",...R({},{...ee,label:e}),render:({value:o,onChange:i,id:a,name:s})=>{const c=typeof o=="boolean"?o:t,d=`${a??s??e}-label`;return r(m,{label:l(e),labelId:d,icon:n,action:r(Me,{checked:c,onChange:i,ariaLabelledBy:d})})}}}function la(){return{type:"custom",render:({value:e,onChange:t,id:n,name:o})=>{const i=`${String(n??o??"pageBackground")}-colour`;return r(Ue,{label:l("Background"),icon:r(Ae,{}),id:i,value:un(e),onChange:t})}}}function aa(e,t){return{type:"custom",...R({},{...ee,label:e}),render:({value:n,onChange:o,id:i})=>{const a=typeof n=="boolean"?n:t,s=`${i??e}-checkbox`;return r(m,{label:l(e),htmlFor:s,className:"sf-checkbox",action:r(An,{id:s,checked:a,onChange:o})})}}}const sa={follows:"fill"},ca={follows:"ink"};function da(e,t,n){if(typeof t!="string"){const o=t.follows;return{type:"custom",render:({value:i,onChange:a})=>r(Gr,{label:e,part:o,icon:n,value:i,onChange:a})}}return{type:"custom",render:({value:o,onChange:i})=>r(Ue,{label:l(e),icon:n,value:o||t,onChange:i})}}function Gr({label:e,part:t,icon:n,value:o,onChange:i}){const a=So(G().theme),s=t==="fill"?a.fill:a.ink;return r(Mn,{label:l(e),icon:n,value:o||"",inherited:s,resetTo:N(s.toUpperCase(),l("Styles")),onChange:i,onReset:()=>i("")})}const Mr=[{value:"0% 0%",label:"Top left"},{value:"50% 0%",label:"Top"},{value:"100% 0%",label:"Top right"},{value:"0% 50%",label:"Left"},{value:"50% 50%",label:"Center"},{value:"100% 50%",label:"Right"},{value:"0% 100%",label:"Bottom left"},{value:"50% 100%",label:"Bottom"},{value:"100% 100%",label:"Bottom right"}];function gt({label:e,value:t,onChange:n,points:o=Mr}){const i=o.map(a=>({...a,label:l(a.label),...a.title?{title:l(a.title)}:null}));return r(vn,{label:l(e),value:t,points:i,onChange:n})}function ua(){return $({type:"custom",render:()=>r(Z,{})},"always")}const Kr=Ee([]);function pa(e,{stacking:t,fallback:n=kt}){return{type:"custom",render:({value:o,onChange:i})=>{const a=Pt.includes(o)?o:n;return t?r(Wr,{label:e,value:a,onChange:i}):bt({label:e,value:a,onChange:i,points:Kr})}}}function Wr({label:e,value:t,onChange:n}){const{appState:o,selectedItem:i}=j(c=>c),a=i?.props?.id?String(i.props.id):void 0,s=a?wt(o?.data,a):[];return bt({label:e,value:t,onChange:n,points:Ee(s,a)})}function bt({label:e,value:t,onChange:n,points:o}){const i=o.find(a=>a.disabled);return r(m,{label:l(e),icon:r(nn,{}),hint:i?.title?l(i.title):void 0,children:gt({label:e,value:Lt(t),onChange:n,points:o})})}const fa={top:r($t,{}),right:r(Xt,{}),bottom:r(Ut,{}),left:r(jt,{})};function ha(e,t,n,o,i,a){const s=f=>t.find(p=>p.value===f),c=f=>({value:f,label:"",disabled:!0,title:o}),d=f=>{const p=t.find(b=>b.cell===f);if(!p)return c(`missing-${f}`);const h=a?.[f];return h?{value:p.value,label:p.label,icon:h}:{value:p.value,label:p.label}},u=[c("corner-top-left"),d("top"),c("corner-top-right"),d("left"),c("centre"),d("right"),c("corner-bottom-left"),d("bottom"),c("corner-bottom-right")];return{type:"custom",render:({value:f,onChange:p})=>{const h=t.some(b=>b.value===f)?f:n;return r(m,{label:l(e),icon:i,value:s(h)?.label?l(s(h).label):"",children:gt({label:e,value:h,onChange:p,points:u})})}}}const Ur="\0note";function L(e,t,n,o,i){return{type:"custom",options:n,fallback:o,...i?{note:i}:{},...R({},{type:"select",label:e}),render:({value:a,onChange:s,field:c})=>{const d=c.options??n,u=c.fallback??o,f=d.some(p=>p.value===a)?a:u;return r(m,{label:l(e),icon:k(t),children:r(En,{value:f,ariaLabel:l(e),onChange:s,options:[...i?[{label:l(i),value:Ur,disabled:!0}]:[],...d.map(p=>({label:l(p.label),value:p.value}))]})})}}}function ma(e,t,n){return{type:"custom",options:t,render:({value:o,onChange:i,field:a})=>r(Qn,{label:e,options:(a.options??t).map(s=>({...s,label:l(s.label)})),value:Array.isArray(o)?o:[],onChange:i,...n?{emptyLabel:l(n)}:{}})}}function ga(e,t,n,o){return{type:"custom",options:t,fallback:n,...R({},{type:"select",label:e}),render:({value:i,onChange:a,field:s})=>r(to,{label:e,options:(s.options??t).map(c=>({...c,label:l(c.label)})),fallback:s.fallback??n,value:i,onChange:a,placeholder:o===void 0?void 0:l(o)})}}function ba(e,t={}){return{type:"custom",render:({value:n,onChange:o})=>{const i={value:n,onChange:o,...t};return r(e,{...i})}}}function oe({options:e,value:t,onChange:n,ariaLabel:o,disabled:i=!1}){return r(yn,{options:e.map(a=>a.picture?{id:a.value,label:a.picture,title:l(a.title??a.label)}:{id:a.value,label:l(a.label),title:a.title===void 0?void 0:l(a.title)}),value:t,onChange:n,ariaLabel:l(o),disabled:i})}const xa=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function me(e,t,n,o){const i=n.map(a=>typeof a=="string"?{label:a,value:a}:a);return{type:"custom",...R({},{type:"radio",label:e,options:i.map(a=>({value:a.value,label:a.label}))}),render:({value:a,onChange:s,field:c})=>r(m,{label:l(e),icon:k(t),children:oe({options:i,value:i.some(d=>d.value===a)?a:a||c?.currentValue||o,onChange:s,ariaLabel:e})})}}function ya(e,t,n,o={}){return{type:"custom",[Se]:!0,render:({value:i,onChange:a})=>r(Zn,{value:i||"",onChange:a,label:e,accept:t,placeholder:n,focusKey:o.focus,focusWhen:o.focusWhen})}}const Sa={HeroSingle:["imageFocal"],ContactLocations:["locations[].photo"],ProcessSteps:["steps[].image"]};function Ca({value:e,onChange:t,label:n}){const o=e||{},i=!!o.pending,a=i?"var(--fg-dim, #888)":o.ok?"#1d9e75":"#d85a30",s=!!Vo(zo()).geocode,c=(d,u)=>t({...o,[d]:u===""?void 0:Number(u)});return O(m,{label:l(n),icon:r(ae,{}),children:[s&&O(I,{children:[r("button",{type:"button",disabled:i,onClick:()=>t({...o,pending:!0,ok:!1,status:"Finding…"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:i?"default":"pointer",opacity:i?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:i?l("Finding…"):l("Find coordinates")}),o.status&&r("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:a},children:l(o.status)}),r("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")})]}),r("button",{type:"button",onClick:()=>t({...o,manual:!o.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:o.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),o.manual&&O("div",{style:{marginTop:8,display:"grid",gap:8},children:[r(m,{label:l("Latitude"),icon:r(ae,{}),children:r("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof o.lat=="number"?o.lat:"",onChange:d=>c("lat",d.target.value)})}),r(m,{label:l("Longitude"),icon:r(ae,{}),children:r("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof o.lng=="number"?o.lng:"",onChange:d=>c("lng",d.target.value)})})]})]})}function jr(e,t){return t===null||t<0||t>=e.length?"":e[t]?.text??""}function Xr(e,t,n){const o=e.map(i=>({text:i?.text??""}));return t===null||t<0||t>=e.length?o:o.map((i,a)=>a===t?{text:n}:i)}function _a(e,t){return e===null?null:t>e?e:null}function $r(e,t,n){if(n===null||n>=t.length)return null;for(let o=0;o<n;o+=1)if(e[o]!==t[o])return null;return e[n]!==t[n]&&t.includes(e[n])||e[n]!==t[n]&&t.length!==e.length?null:n}const Ia={label:"Ticker items",icon:r(Qt,{})};function Ea(e,t,n,o){return{type:"custom",[E]:{control:"textList",label:e,placeholder:n,itemKey:"text",rendering:o},...R({},{...tt.textList,label:e}),render:({value:i,onChange:a})=>r(zr,{label:e,icon:k(t),items:Array.isArray(i)?i:[],placeholder:n,onChange:a,markup:o==="markup"})}}function zr({label:e,icon:t,items:n,placeholder:o,onChange:i,markup:a=!1}){const s=ie(null),[c,d]=U(null),u=p=>p.map(h=>({text:h?.text??""})),f=p=>{const h=$r(n,p,c);h===null&&(s.current=null),d(h),i(u(p))};return r(Tn,{label:l(e),icon:t,noun:l("item"),items:n,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:a?r(je,{target:s,value:jr(n,c),onChange:p=>i(Xr(n,c??-1,p)),disabled:c===null,label:c===null?l("Formatting — click a row first"):l("Formatting — row {n}",{n:c+1})}):void 0,renderRow:(p,h,b)=>r("input",{type:"text",className:a&&c===h?"sf-list-marking":void 0,value:p?.text??"",placeholder:l(o),"aria-label":l("{label} {n}",{label:l(e),n:h+1}),onChange:C=>b({text:C.target.value}),onFocus:C=>{s.current=C.currentTarget,d(h)}})})}function Ta(e,t){const n=`${e.label} — row ${t+1}`;return A({control:"plainText",label:n,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:o,onChange:i})=>r(v,{value:o,onChange:i,label:l("{label} — row {n}",{label:l(e.label),n:t+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function Oa(e){return{_gCards:S("Cards"),coverIndex:L("Cover image",r(Zt,{}),Yn,String(qn),e?.coverHint??"A card's opening picture — a card pinned to a finish keeps its own."),imageBackground:sr("Image background",Oo),cardImage:Yr(),spinOnHover:D("Rotate on hover",e?.spinDefault??!0,r(ln,{}))}}function Ra(){return{outline:L("Card outline",r(an,{}),$n,Vn),indexBadge:L("Card number",r(Pe,{}),Xn,zn),showBadge:D("Product badge",!0,r(Fe,{noun:"tag"}))}}function wa(e){const t=e&&"bottomDefault"in e?e.bottomDefault:!0,n=e&&"defaults"in e?e.defaults:{showCardSizes:t,showCardBuy:t,showCardPage:t};return{_gShowOnCard:S("Show on a card"),showCardPrice:D("Price",!0,r(zt,{})),showCardFinishes:D("Finish swatches",!0,r(Vt,{})),showCardSizes:D("Sizes",n.showCardSizes,r(on,{})),showCardBuy:D("Buy button",n.showCardBuy,r(Kt,{})),showCardPage:D("Page button",n.showCardPage,r(Ae,{}))}}function Pa(e,t="display"){const n=H(t);return{[t]:g("desktop",{type:"custom",render:({value:o,onChange:i})=>r(xt,{parts:e,changed:Rn(o),shown:a=>wn(o,a),onPress:(a,s)=>i(Ln(o,a,s)),onReset:()=>i(void 0)})}),[n]:g("mobile",{type:"custom",render:({value:o,onChange:i})=>r(Vr,{parts:e,desktopKey:t,value:o,onChange:i})})}}function xt({parts:e,changed:t,shown:n,onPress:o,onReset:i,detail:a}){const s=l("Display");return r(m,{label:s,icon:r(Dt,{}),changed:t,action:r(y,{words:x()?.panel,label:s,changed:t,detail:a,onReset:i}),children:r(On,{label:s,items:e.map(c=>({id:c.id,label:l(c.label),shown:n(c.id)})),onChange:o})})}function Vr({parts:e,desktopKey:t,value:n,onChange:o}){const i=F()[t];return r(xt,{parts:e,changed:kn(n),shown:a=>Pn(i,n,a),onPress:(a,s)=>o(Nn(n,a,s)),onReset:()=>o(Un),detail:l("the same as Desktop")})}function Yr(){return lt("Card image",{min:B,max:_e,step:It,hint:"Rounds the picture. The card's own corner is in Styles."})}function ka(){return fe({sidesKey:"cornerSides",step:Et,useFollowed:()=>B,mark:r(qr,{label:Tt}),hint:l("Rounds the picture. Left alone it stays square.")})}function qr({label:e,changed:t=!1,onReset:n=()=>{}}){return r(y,{words:x()?.panel,label:l(e),changed:t,onReset:n})}function La(){return{type:"custom",render:({value:e,onChange:t})=>r(Jr,{value:typeof e=="string"?e:"",onChange:t})}}function Jr({value:e,onChange:t}){const[n,o]=U(null),i=Ie.filter(s=>n===null||X[s].across===n),a=e&&e in X?X[e]:null;return O(I,{children:[r(m,{label:l("Photos in a row"),icon:r(Re,{}),children:O("div",{className:"sf-gallery-filter",children:[r("button",{type:"button","aria-pressed":n===null,onClick:()=>o(null),children:l("All")}),Rt.map(s=>r("button",{type:"button","aria-pressed":n===s,onClick:()=>o(s),children:s},s))]})}),r(m,{label:l("Layout"),icon:r(Yt,{}),value:a?l(a.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:i.length,total:Ie.length}),children:r(Ke,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:t,onClear:()=>t(""),options:i.map(s=>({value:s,label:l(X[s].label),picture:r("span",{className:"sf-gallery-pic",children:X[s].desktop.map(([c,d],u)=>r("i",{style:{gridColumn:`span ${c}`,gridRow:`span ${d}`}},u))})}))})})]})}export{nr as BOUND_TO_POST,ml as BOUND_TO_POST_NOTE,Il as BUCKET_ICONS,Sa as CUSTOM_FIELD_MEDIA,Ca as CoordsField,fa as EDGE_ARROWS,Bn as FOCAL_DEFAULT,Mr as FOCAL_POINTS,q as FOLD_FIELD_MARKER,sa as FOLLOWS_SITE_BUTTON,ca as FOLLOWS_SITE_BUTTON_INK,gt as FocalPicker,vl as GroupLabel,or as HIGHLIGHT_HINT,v as HidableTextField,ye as LINK_FIELD_MARKER,al as Label,Se as MEDIA_FIELD_MARKER,xa as MEDIA_TYPE_OPTIONS,gl as NOT_BOUND_TO_POST,Nl as PanelBand,lr as PanelNoteLine,Rr as PhoneChoiceRow,Or as PhoneChoiceStrip,bt as PlacementGridView,Ce as SCAFFOLD_FIELD_MARKER,Fa as SCALAR_TEXT_CONTROLS,ct as SECTION_BLEEDS_HINT,Lr as SIDE_PAD_KEYS,oe as Segmented,Qo as SiteGapDefaultReset,K as Slider,it as Swatches,Aa as TEXT_CONTROL_KINDS,E as TEXT_FIELD_MARKER,Ia as TICKER_ITEMS_ROW,zr as TextListField,er as WidthDefaultReset,$r as aimAfterListChange,ra as anchorFields,N as backTo,Al as backgroundField,Wl as boxAlignField,Xl as boxBlockSpacingField,Kl as boxJustifyField,$l as boxPhoneRowField,jl as boxShareField,Ul as boxWrapField,wl as bucketHeader,Sr as cardCornersField,sr as cardImageBackgroundField,Yr as cardImageField,Oa as cardMediaFields,Ml as cardShapeFields,wa as cardShowFields,Ra as cardStyleFields,Yl as cellWidthFields,aa as checkbox,da as colorInput,Sl as copyText,st as cornerSidesField,fe as cornersRowField,ia as dateTime,Pl as designGroupHeader,zl as directionField,Pa as displayFields,ha as edgePad,El as entriesHiddenForTab,_a as focusAfterRemove,ua as focusKeptField,kl as foldMarker,J as foldMetaOf,ar as foldTitleOf,La as galleryLayoutField,Dl as gapField,S as group,na as heightFields,xe as hidableText,ir as hintIsWhileTyping,k as iconOf,ka as imageCornersField,hl as inOwnBox,Rl as isBucketHeader,qo as isNoGlyph,Cl as linkField,ma as multiSelect,Yo as noGlyph,la as pageBackgroundField,Tl as panelNote,ql as phoneChoiceField,Tr as phoneOverrideField,pa as placementField,yl as plainText,_l as plainTextarea,ea as positionFields,Ar as positionPatch,lt as pxField,Ll as quietMarker,be as readHidable,jr as rowText,ga as searchSelect,Ol as section,Hl as sectionAnimationFields,ut as sectionBorderField,pr as sectionCornersField,Bl as sectionShapeFields,Fl as sectionThemeFields,me as segmented,L as select,Xr as setRowText,M as sharedStyleKinds,Zl as sidesPaddingFields,Nr as sidesPaddingPatch,Vl as sizeField,W as slider,ba as sourceField,Jl as spacingFields,oa as stickFields,Ql as swapPadding,Gl as templateField,bl as text,St as textFieldIdentifier,dl as textFieldOffPage,pl as textFieldPanelOnly,Ea as textList,Ta as textListRowField,xl as textarea,D as toggle,ya as upload,Jo as usePageWidthDetail,F as useSelectedProps,at as useSelectedSibling,Zo as useSiteGapDetail,ta as widthField,fl as withIdentifier,cl as withOffPage,ul as withPanelOnly,sl as withScaffold};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{HEADER_TYPE as e,FOOTER_TYPE as r,newNodeId as n}from"efficient-easel/draw";function
|
|
1
|
+
import{HEADER_TYPE as e,FOOTER_TYPE as r,newNodeId as n}from"efficient-easel/draw";import{EMAIL_SIGNUP_PH as i}from"../../../format/lib/content/footer.js";function O(){return{type:e,props:{id:n(e)}}}const l=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterGroup",label:"Footer Box"}],u=l.filter(o=>o.type!=="FooterLogo"&&o.type!=="FooterGroup"),F="FooterGroup",E="blocks";function _(o){return o===r?l:o===F?u:null}function b(){const o=(t,p)=>({type:t,props:{id:`${t}-${crypto.randomUUID()}`,...p}});return[o("FooterLogo",{widthPct:100,align:"left",tagline:""}),o("FooterEmailSignup",{...i})]}export{E as FOOTER_BLOCKS_SLOT,l as FOOTER_BLOCK_CHOICES,F as FOOTER_GROUP_TYPE,r as FOOTER_TYPE,u as GROUP_BLOCK_CHOICES,e as HEADER_TYPE,_ as blockChoicesFor,b as buildDefaultFooterBlocks,O as buildDefaultHeaderNode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Fragment as
|
|
1
|
+
"use client";import{Fragment as g,jsx as p,jsxs as I}from"react/jsx-runtime";import{useMemo as h,useRef as v}from"react";import{EaselCanvas as S,useEaselApi as P}from"efficient-easel/easel";import T from"../../components/PreviewThemeFrame.js";import{OpenDocumentChromeLoadNotice as w}from"../../components/PinnedChromeLoadNotice.js";import{SiteRestoreNotice as F}from"../../components/SiteRestoreNotice.js";import{usePreviewParts as y}from"efficient-easel/draw/client";import{partElement as x,partTypingTarget as A,setCanvasTypingPart as C}from"./canvas-typing.js";import{partThemeColors as D,readInks as M}from"../../../format/lib/document/part-inks.js";import{partOpenOn as O,PART_ATTR as f}from"../../../render/lib/document/text-parts.js";import{useSectionOps as j}from"efficient-easel/screen/lib/document/use-section-ops";import{useBlockMetadata as B}from"../editor-block-metadata.js";import{usePreviewHeader as E}from"../../../render/components/PreviewHeaderContext.js";import{siteCardThemeMetadata as R,siteWidthsMetadata as W}from"../../../format/lib/content/section-width.js";import{useEditorCanvasStyles as _}from"../editor-canvas-styles.js";function b({children:n,componentId:o}){const{selectedPartId:s}=y();return O(s,o)?p(g,{}):p(g,{children:n})}function ee(n){const{mirrorHostStyles:o}=_(),s=B(),{sectionBackgroundWidth:m,sectionContentWidth:a,themeFromDocument:c,cardThemeIndex:l}=E(),e=h(()=>({...n.metadata??s??{},...W(c?null:m,c?null:a),...R(l)}),[n.metadata,s,m,a,c,l]),t=v(null),r=k(t),{onDocument:i}=n,d=u=>{t.current=u,i?.(u)};return I(g,{children:[p(F,{}),p(w,{}),p(S,{...n,onDocument:d,typing:r,metadata:e,height:"fill",mirrorStyles:o,frameWrapper:T,overlay:b})]})}function k(n){const o=P(),s=j(),m=y(),a=v({ops:s,parts:m});return a.current={ops:s,parts:m},h(()=>{const c={getItemById:e=>o.getState().getItemById(e),getSelectorForId:e=>o.getState().getSelectorForId(e),get components(){return o.getState().config.components},replace:(e,t,r)=>a.current.ops.replaceComponent(e,t,r)},l=(e,t)=>{const r=A(e,c);if(!r)return null;let i=t;const d=()=>(i=x(i,i?.ownerDocument??n.current,e),i),u=d();return u?{element:d,value:r.value,rules:r.rules,multiline:r.multiline,write:r.write,toolbar:{offered:r.offered,colors:r.offered.length>0?D(M(u)):void 0}}:null};return{at:e=>{const t=e.closest(`[${f}]`),r=t?.getAttribute(f);return t&&r?l(r,t):null},atSelection:()=>{const e=a.current.parts.selectedPartId;return e?l(e,null):null},onChange:e=>{if(!e.typing){C(null);return}const t=e.element.closest(`[${f}]`)?.getAttribute(f)??null;C(t),t&&a.current.parts.selectedPartId!==t&&a.current.parts.select(t)}}},[o,n])}export{ee as SiteCanvas};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type PartNeedle } from "../../../render/lib/document/text-parts.js";
|
|
2
2
|
export declare const BLOCK_ATTR = "data-easel-block";
|
|
3
|
-
export declare const PUCK_COMPONENT_ATTR = "data-puck-component";
|
|
4
3
|
export type PartEl = {
|
|
5
4
|
textContent: string | null;
|
|
6
5
|
closest(selectors: string): PartEl | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{encodePartKey as
|
|
1
|
+
import{encodePartKey as _}from"../../../format/lib/document/part-key.js";import{PART_ATTR as R,PART_KIND_ATTR as N,PART_ROW_ATTR as M,REGION_PART_ATTR as W,decodePartId as q,encodePartId as $,encodePartRow as L,normalizePartText as D}from"../../../render/lib/document/text-parts.js";const O="data-easel-block";function z(l,s){return l.closest(`[${O}]`)?.getAttribute(O)===s}function v(l,s,i){const r=l.querySelectorAll("*"),p=[],d=new Set;for(let t=0;t<r.length;t+=1){const e=r[t];if(!z(e,s))continue;const o=e.getAttribute(N);o&&(p.push({element:e,partId:$(s,o)}),d.add(e))}const a=[],h=new Set;for(let t=0;t<r.length;t+=1){const e=r[t];if(!z(e,s)||d.has(e))continue;const o=D(e.textContent??"");if(!o)continue;const n=e.closest(`[${M}]`)?.getAttribute(M)||null;n&&h.add(n.replace(/\[\d+\]$/u,"")),a.push({element:e,text:o,row:n})}const k=t=>a.filter(e=>e.row===L(t.key,t.row.index)),S=a.filter(t=>t.row===null),g=t=>t.row&&h.has(t.key)?k(t):h.size?S:a,u=new Map,x=[],y=t=>t.row?`${t.key}.${t.row.rowKey}`:null,P=new Map;for(const t of i){const e=y(t);if(!e||h.has(t.key))continue;const o=P.get(e);o?o.push(t):P.set(e,[t])}const K=new Set;for(const[t,e]of P){if(e.length<2)continue;const o=e.flatMap(f=>f.texts);if(new Set(o).size===o.length)continue;const n=g(e[0]).filter(f=>o.includes(f.text));if(n.length!==e.length)continue;const m=[...e].sort((f,A)=>(f.row?.index??0)-(A.row?.index??0));for(let f=0;f<m.length;f+=1){const A=m[f],c=n[f].element,w={key:A.key,partKey:_(A.key,A.row),exact:!0},T=u.get(c);T?T.push(w):(u.set(c,[w]),x.push(c))}K.add(t)}const b=new Map;for(const t of i){if(K.has(y(t)??""))continue;const e=_(t.key,t.row);for(const o of t.texts)for(const n of g(t)){if(n.text!==o)continue;const m=b.get(n.element);m?m.add(e):b.set(n.element,new Set([e]))}}const C=(t,e)=>[...b].some(([o,n])=>o!==t&&!n.has(e)&&o.contains(t));for(const t of i){if(K.has(y(t)??""))continue;const e=_(t.key,t.row);for(const o of t.texts){const n=[];let m=null;for(const c of g(t))c.text===o?C(c.element,e)||n.push(c.element):!n.length&&c.text.includes(o)&&(!m||c.text.length<=m.length)&&(m={element:c.element,length:c.text.length});const f=n.length?n:m?[m.element]:[],A=f.filter(c=>!f.some(w=>w!==c&&c.contains(w)));for(const c of A){const w={key:t.key,partKey:e,exact:n.length>0},T=u.get(c);T?T.push(w):(u.set(c,[w]),x.push(c))}}}const I=[...p];for(const t of x){const e=u.get(t)??[],o=e.some(n=>n.exact)?e.filter(n=>n.exact):e;if(new Set(o.map(n=>n.partKey)).size===1){I.push({element:t,partId:$(s,o[0].partKey)});continue}new Set(o.map(n=>n.key)).size===1&&I.push({element:t,partId:$(s,o[0].key)})}return I}function B(l,s,i){const r=l.querySelectorAll(`[${R}]`);for(let d=0;d<r.length;d+=1){const a=r[d];z(a,s)&&a.removeAttribute(R)}const p=[];for(const{element:d,partId:a}of i)d.setAttribute(R,a),p.push(d);return p}function j(l,s,i,r,p,d=()=>null){let a=null,h=null,k=null;const S=()=>{const g=i(),u=g?.getAttribute(O)??null;if(!g||!u)return!1;a=u;let x=v(l,u,s);return p(g,u,B(l,u,x)),k=d(()=>{const y=v(l,u,s);E(x,y)||(x=y,p(g,u,B(l,u,y)))}),!0};return S()||(h=r(()=>{(a||S())&&(h?.(),h=null)})),()=>{h?.(),h=null,k?.(),k=null,a&&B(l,a,[])}}function E(l,s){return l.length===s.length&&l.every((i,r)=>i.element===s[r].element&&i.partId===s[r].partId)}function H(l,s){const i=l?.closest?.(`[${R}],[${W}]`),r=i?.getAttribute(R)??i?.getAttribute(W),p=r?q(r):null;return i&&r&&p?.nodeId===s&&p.propKey?{id:r,element:i}:null}export{O as BLOCK_ATTR,B as applyPartStamps,j as engagePartAnchors,H as partOfBlockAt,v as resolvePartStamps};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type StoredTextStyle } from "../../../render/lib/text-styles/site-text-styles.js";
|
|
2
|
+
import { type Carried, type Dropped, type Restyled, type SectionNode, type SiteFacts, type SiteWrite } from "../../../render/lib/sections/section-to-box.js";
|
|
2
3
|
export type DryRunPage = {
|
|
3
4
|
label: string;
|
|
4
5
|
layout: unknown;
|
|
@@ -13,10 +14,16 @@ export type DryRunNode = {
|
|
|
13
14
|
before?: string;
|
|
14
15
|
after?: string;
|
|
15
16
|
sameMarkup?: boolean;
|
|
17
|
+
restyled: Restyled[];
|
|
18
|
+
cardTheme?: number;
|
|
19
|
+
cardAccent?: number | null;
|
|
16
20
|
};
|
|
17
|
-
export
|
|
21
|
+
export declare const BODY_STYLE_PX_AT_DEFAULTS: Readonly<Record<string, number>>;
|
|
22
|
+
export type SiteWriteOut = (Extract<SiteWrite, {
|
|
18
23
|
kind: "heading-case-upper";
|
|
19
|
-
}>
|
|
24
|
+
}> & {
|
|
25
|
+
listIfNull?: StoredTextStyle[];
|
|
26
|
+
}) | (Omit<Extract<SiteWrite, {
|
|
20
27
|
kind: "add-theme-preset";
|
|
21
28
|
}>, "reason"> & {
|
|
22
29
|
index: number;
|
|
@@ -41,6 +48,13 @@ export type DryRunSiteWrites = {
|
|
|
41
48
|
nodes: number;
|
|
42
49
|
}[];
|
|
43
50
|
};
|
|
51
|
+
export type DryRunSkipped = {
|
|
52
|
+
page: string;
|
|
53
|
+
index: number;
|
|
54
|
+
type: string;
|
|
55
|
+
id: string;
|
|
56
|
+
why: string;
|
|
57
|
+
};
|
|
44
58
|
export type DryRunTypeTotals = {
|
|
45
59
|
nodes: number;
|
|
46
60
|
pages: number;
|
|
@@ -51,6 +65,7 @@ export type DryRunReport = {
|
|
|
51
65
|
noRow: string[];
|
|
52
66
|
pages: number;
|
|
53
67
|
nodes: DryRunNode[];
|
|
68
|
+
skipped: DryRunSkipped[];
|
|
54
69
|
byType: Record<string, DryRunTypeTotals>;
|
|
55
70
|
sites: DryRunSiteWrites[];
|
|
56
71
|
siteFacts: SiteFacts[];
|
|
@@ -60,14 +75,32 @@ export declare function siteOfLabel(label: string): {
|
|
|
60
75
|
site: string;
|
|
61
76
|
} | undefined;
|
|
62
77
|
export declare function siteFactsFromRead(row: Record<string, unknown>): SiteFacts;
|
|
78
|
+
export declare function headingCaseList(styles: readonly string[], saved: readonly StoredTextStyle[] | null): {
|
|
79
|
+
list: StoredTextStyle[];
|
|
80
|
+
changed: boolean;
|
|
81
|
+
};
|
|
63
82
|
export declare function dryRunSections(pages: readonly DryRunPage[], opts?: {
|
|
64
83
|
types?: readonly string[];
|
|
65
84
|
draw?: (node: SectionNode) => string;
|
|
66
85
|
sites?: readonly SiteFacts[];
|
|
86
|
+
cardThemes?: Readonly<Record<string, number>>;
|
|
67
87
|
}): DryRunReport;
|
|
68
88
|
export declare function siteWritesFile(report: DryRunReport): {
|
|
69
89
|
schema: string;
|
|
70
90
|
site: string;
|
|
71
91
|
writes: SiteWriteOut[];
|
|
72
92
|
}[];
|
|
93
|
+
export type BodyStyleRow = {
|
|
94
|
+
type: string;
|
|
95
|
+
key: string;
|
|
96
|
+
textStyle: string;
|
|
97
|
+
oldPx: number;
|
|
98
|
+
oldPhonePx: number;
|
|
99
|
+
newPx: number;
|
|
100
|
+
newPhonePx: number;
|
|
101
|
+
diff: number;
|
|
102
|
+
diffPhone: number;
|
|
103
|
+
nodes: number;
|
|
104
|
+
};
|
|
105
|
+
export declare function bodyStyleRows(report: DryRunReport): BodyStyleRow[];
|
|
73
106
|
export declare function dryRunMarkdown(report: DryRunReport): string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{convertSection as
|
|
1
|
+
import{defaultTextStyles as C}from"efficient-easel/text-styles/model";import{finiteNumber as M}from"../../../format/lib/finite-number.js";import{listToWrite as B,setStyleValues as L}from"../../../render/lib/text-styles/site-text-styles.js";import{SECTION_BOX_SLOT as R,convertSection as j,sectionToBoxRow as T,sectionToBoxTypes as z}from"../../../render/lib/sections/section-to-box.js";const D={"body-1":17,"body-2":17,"body-3":17,"body-4":17,"body-5":13,"body-6":17,"body-7":17};function _(e){const[t,d]=e.split("/");return t&&d?{schema:t,site:d}:void 0}function q(e){const t=r=>typeof r=="string"?r:null,d=e.theme_row===void 0?null:e.theme_row==="site";return{schema:String(e.schema),site:String(e.site),headingCase:t(e.heading_case),textStyles:typeof e.text_styles_is_null=="boolean"?!e.text_styles_is_null:null,textStylesList:Array.isArray(e.text_styles)?e.text_styles:null,themePresets:typeof e.theme_presets=="number"?e.theme_presets:null,ownThemeRow:d,deleted:e.site_deleted===!0}}const E=new Set([null,"authored"]);function v(e,t){const d=B(t),r=d.filter(n=>e.includes(n.id)&&n.values.letterCase===void 0).map(n=>n.id);return{list:r.reduce((n,s)=>L(n,s,{letterCase:"upper"}),d),changed:r.length>0}}function F(e,t){if(t?.deleted)return{notNeeded:"the site is soft-deleted: no write"};if(t&&t.ownThemeRow===!1)return{notNeeded:"no own theme row: write refused (the command changes a site's own row, it never creates one)"};if(e.kind==="heading-case-upper"){if(!t||t.textStyles===null)return{undecided:"the site's heading case and text_styles were not read"};if(!E.has(t.headingCase))return{notNeeded:`the site chose a heading case (${t.headingCase})`};if(t.textStyles&&!t.textStylesList)return{undecided:"the site has a saved text_styles list, and the list was not read"};const{list:d,changed:r}=v(e.styles,t.textStyles?t.textStylesList??null:null);return r?{send:{kind:e.kind,styles:[...e.styles],...t.textStyles?{}:{listIfNull:d}}}:{notNeeded:"the saved text_styles list's Heading 1–3 already say their own case"}}return!t||typeof t.themePresets!="number"?{undecided:"the site's theme preset count was not read"}:{send:{kind:e.kind,copyOf:e.copyOf,set:{...e.set},index:t.themePresets}}}function G(e,t={}){const d=[...t.types??z()],r=d.filter(c=>!T(c)),u=new Set(d.filter(c=>T(c))),n=[],s=[],i={},o={},p=new Map((t.sites??[]).map(c=>[`${c.schema}/${c.site}`,c])),h=new Map,$=(c,x,a)=>{const S=`${c.schema}/${c.site}`;let m=h.get(S);m||h.set(S,m={...c,facts:!!x,writes:[],undecided:[],notNeeded:[]});const l=F(a,x);if("send"in l){const f=m.writes.find(k=>JSON.stringify(k.write)===JSON.stringify(l.send));f?f.nodes+=1:m.writes.push({write:l.send,reason:a.kind==="add-theme-preset"?a.reason:"a heading that followed the site's heading case",nodes:1});return}const[w,g]="undecided"in l?[m.undecided,l.undecided]:[m.notNeeded,l.notNeeded],y=w.find(f=>f.kind===a.kind&&f.why===g);y?y.nodes+=1:w.push({kind:a.kind,why:g,nodes:1})};for(const c of e){const x=c.layout?.content;Array.isArray(x)&&x.forEach((a,S)=>{if(!a||typeof a.type!="string"||!u.has(a.type))return;const m=T(a.type),l=_(c.label),w=l?p.get(`${l.schema}/${l.site}`):void 0,g=l?t.cardThemes?.[`${l.schema}/${l.site}`]:void 0,y=j(a,m,{...w?{site:w}:{},...typeof g=="number"?{cardTheme:g}:{}});if(y.skipped!==void 0){s.push({page:c.label,index:S,type:a.type,id:String(a.props?.id??""),why:y.skipped});return}if(l)for(const b of y.siteWrites)$(l,w,b);const f={page:c.label,index:S,type:a.type,id:String(a.props?.id??""),carried:y.carried,dropped:y.dropped,restyled:y.restyled,...typeof g=="number"?{cardTheme:g}:{}};if(a.type==="Banner"&&!(typeof a.props?.imageSrc=="string"&&a.props.imageSrc)){const P=y.node.props[R]?.find(A=>A.props?.name==="Card")?.props.sectionAccent;f.cardAccent=M(P)??null}const k=t.draw;k&&(f.before=k(a),f.after=y.nodes.map(k).join(""),f.sameMarkup=f.before===f.after),n.push(f);const N=i[a.type]??={nodes:0,pages:0,dropped:{}};N.nodes+=1,(o[a.type]??=new Set).add(c.label),N.pages=o[a.type].size;for(const b of y.dropped)N.dropped[b.key]=(N.dropped[b.key]??0)+1})}return{types:d,noRow:r,pages:e.length,nodes:n,skipped:s,byType:i,sites:[...h.values()],siteFacts:[...t.sites??[]]}}function V(e){return e.sites.filter(t=>t.writes.length).map(t=>({schema:t.schema,site:t.site,writes:t.writes.map(d=>d.write)}))}function W(e){const t=new Map;for(const d of e.nodes)for(const r of d.restyled){const u=r.textStyle??"none",n=D[u],s=r.size??n,i=r.sizePhone??r.size??n;if(s===void 0||i===void 0)continue;const o=r.was.size,p=r.was.sizePhone??r.was.size,h=[d.type,r.key,u,o,p,s,i].join("|"),$=t.get(h);$?$.nodes+=1:t.set(h,{type:d.type,key:r.key,textStyle:u,oldPx:o,oldPhonePx:p,newPx:s,newPhonePx:i,diff:s-o,diffPhone:i-p,nodes:1})}return[...t.values()]}const O=e=>e>0?`+${e}`:String(e),I=e=>C().find(t=>t.id===e)?.name??e,Y=e=>e.kind==="heading-case-upper"?`Capitalization = Uppercase on ${e.styles.join(", ")}${e.listIfNull?` (text_styles is NULL: listIfNull = the easel default list, ${e.listIfNull.length} styles)`:" (on the saved text_styles list)"}`:`add theme preset #${e.index} (shown as theme ${e.index+1}): a copy of preset #${e.copyOf} with ${Object.entries(e.set).map(([t,d])=>`${t} = ${d}`).join(", ")}`;function K(e){const t=["# Section conversion — dry run (READ ONLY: nothing was written)","",`Pages read: ${e.pages}. Nodes converted on paper: ${e.nodes.length}.`,"","| Type | Nodes | Pages | Dropped keys |","|---|---|---|---|"];for(const[n,s]of Object.entries(e.byType)){const i=Object.keys(s.dropped).length;t.push(`| ${n} | ${s.nodes} | ${s.pages} | ${i} |`)}if(e.noRow.length&&t.push("",`Asked for, but no row: ${e.noRow.join(", ")}.`),e.skipped.length){t.push("",`Nodes skipped (left as they are): ${e.skipped.length}.`);const n=new Map;for(const s of e.skipped){const i=n.get(s.type)??n.set(s.type,new Map).get(s.type);i.set(s.why,(i.get(s.why)??0)+1)}for(const[s,i]of n){t.push("",`## ${s} — skipped (not converted)`,"");for(const[o,p]of i)t.push(`- ×${p}: ${o}`)}}for(const[n,s]of Object.entries(e.byType)){const i=Object.entries(s.dropped);if(!i.length)continue;t.push("",`## ${n} — dropped`,"");const o=new Map;for(const p of e.nodes)if(p.type===n)for(const h of p.dropped)o.set(h.key,h.why);for(const[p,h]of i)t.push(`- \`${p}\` ×${h}: ${o.get(p)}`)}if(e.siteFacts.length){t.push("","## Site facts (the read-only read handed in)","","| Site | Own theme row | Deleted | Heading case | text_styles saved | Theme presets |","|---|---|---|---|---|---|");const n=s=>s==null?"—":String(s);for(const s of e.siteFacts)t.push(`| ${s.schema}/${s.site} | ${n(s.ownThemeRow)} | ${s.deleted?"YES":"no"} | ${n(s.headingCase)} | ${n(s.textStyles)} | ${n(s.themePresets)} |`)}if(e.sites.length){t.push("","## Site writes (DECLARED ONLY: nothing was written)","","One line per write per site. A theme preset write is its own line. Only the `send` lines are in `site-writes.json`.","","| Site | Facts read | Write | Status | Nodes | Why |","|---|---|---|---|---|---|");for(const n of e.sites){const s=`${n.schema}/${n.site}`,i=n.facts?"yes":"NO";for(const o of n.writes)t.push(`| ${s} | ${i} | ${Y(o.write)} | send | ${o.nodes} | ${o.reason} |`);for(const o of n.undecided)t.push(`| ${s} | ${i} | ${o.kind} | UNDECIDED | ${o.nodes} | ${o.why} |`);for(const o of n.notNeeded)t.push(`| ${s} | ${i} | ${o.kind} | not needed | ${o.nodes} | ${o.why} |`)}}const d=W(e);if(d.length){const n=["| Type | Text | Old px (phone) | Style | New px (phone) | Difference (phone) | Nodes |","|---|---|---|---|---|---|---|"],s=o=>`| ${o.type} | \`${o.key}\` | ${o.oldPx} (${o.oldPhonePx}) | ${I(o.textStyle)} | ${o.newPx} (${o.newPhonePx}) | ${O(o.diff)} (${O(o.diffPhone)}) | ${o.nodes} |`;t.push("","## Body copy: each text follows a Body style (sizes at the site defaults)","","New px = what a Text block draws for the style with no size saved (Body 5 13px, other Body styles 17px, the same on a phone); a part with its own stored size draws that size.","",...n,...d.map(s));const i=d.filter(o=>Math.abs(o.diff)>2||Math.abs(o.diffPhone)>2);t.push("","## Body copy: differences over 2px",""),i.length?t.push(...n,...i.map(s)):t.push("None.")}const r=e.nodes.filter(n=>n.cardAccent!==void 0);if(r.length){const n=new Map;for(const s of r){const i=_(s.page),o=i?`${i.schema}/${i.site}`:s.page,p=typeof s.cardTheme=="number"?String(s.cardTheme):"absent",h=s.cardAccent===null?"none (the card follows its parent)":String(s.cardAccent),$=`${o}|${p}|${h}`,c=n.get($);c?c.nodes+=1:n.set($,{key:p,accent:h,nodes:1})}t.push("","## Banner cards with no picture: the Card theme (page metadata `siteCardTheme`)","","The card Box's `sectionAccent` is the site's Card theme index from the page metadata; no key, no `sectionAccent`. No card Box stores a shadow.","","| Site | `siteCardTheme` | Card `sectionAccent` | Nodes |","|---|---|---|---|");for(const[s,i]of n)t.push(`| ${s.split("|")[0]} | ${i.key} | ${i.accent} | ${i.nodes} |`)}const u=e.nodes.filter(n=>n.sameMarkup!==void 0);if(u.length){const n=u.filter(s=>s.sameMarkup).length;t.push("",`Markup equal before and after: ${n} of ${u.length} (a hint; the pixels decide).`)}return t.join(`
|
|
2
2
|
`)+`
|
|
3
|
-
`}export{
|
|
3
|
+
`}export{D as BODY_STYLE_PX_AT_DEFAULTS,W as bodyStyleRows,K as dryRunMarkdown,G as dryRunSections,v as headingCaseList,q as siteFactsFromRead,_ as siteOfLabel,V as siteWritesFile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
import{finiteNumber as n}from"../finite-number.js";function i(t,r){if(typeof t=="string")return t||r;if(t&&typeof t=="object"&&"text"in t){const e=t.text;return typeof e=="string"&&e?e:r}return r}function f(t,r){return n(t)??r}function p(t,r){return typeof t=="boolean"?t:r}function m(t,r){if(!Array.isArray(t))return r;const e=t.map(o=>typeof o=="string"?o:i(o?.text,"")).map(o=>o.trim()).filter(Boolean);return e.length?e:r}export{p as authoredBoolean,f as authoredNumber,i as authoredString,m as authoredStringList};
|
|
@@ -24,6 +24,10 @@ export declare const BOX_ALIGN_POINTS: readonly [{
|
|
|
24
24
|
readonly label: "Stretch";
|
|
25
25
|
readonly value: "stretch";
|
|
26
26
|
}];
|
|
27
|
+
export declare const NESTED_BOX_PADDING: {
|
|
28
|
+
readonly sectionPaddingTop: 0;
|
|
29
|
+
readonly sectionPaddingBottom: 0;
|
|
30
|
+
};
|
|
27
31
|
export declare const BOX_WRAP_LABEL = "Wrap";
|
|
28
32
|
export declare const BOX_WRAP_POINTS: readonly [{
|
|
29
33
|
readonly label: "Wrap";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const p=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],x=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],g="Wrap",
|
|
1
|
+
const p=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],x=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],g={sectionPaddingTop:0,sectionPaddingBottom:0},_="Wrap",b=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],l={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},n={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function u(e,t){const r=typeof e=="string"&&e in l?l[e]:"",o=typeof t=="string"&&t in n?n[t]:"";return[r,o].filter(Boolean).join(" ")}function S(e){return e===!0||e==="wrap"?"flex-wrap":""}const O="Block widths",f=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Big left",value:"bigLeft",weights:[2,1]},{label:"Big right",value:"bigRight",weights:[1,2]},{label:"Bigger left",value:"biggerLeft",weights:[3,1]},{label:"Bigger right",value:"biggerRight",weights:[1,3]}],a="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",s={equal:a,bigLeft:`${a} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${a} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${a} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${a} [&>*:last-child]:min-[800px]:grow-[3]`};function B(e){return typeof e=="string"?s[e]??"":""}const w="Columns",L=1,h=3,i={2:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]",3:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]"};function A(e){const t=Number(e);return i[t]??"max-[800px]:flex-col"}const m="Block spacing",v=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],c="sf-box-gap-only";function E(e){return e==="gap"?c:""}export{x as BOX_ALIGN_POINTS,m as BOX_BLOCK_SPACING_LABEL,v as BOX_BLOCK_SPACING_POINTS,c as BOX_GAP_ONLY_CLASS,p as BOX_JUSTIFY_POINTS,w as BOX_PHONE_ROW_LABEL,h as BOX_PHONE_ROW_MAX,L as BOX_PHONE_ROW_MIN,O as BOX_SHARE_LABEL,f as BOX_SHARE_POINTS,_ as BOX_WRAP_LABEL,b as BOX_WRAP_POINTS,g as NESTED_BOX_PADDING,E as boxBlockSpacingClass,u as boxLayoutClasses,A as boxPhoneRowClasses,B as boxShareClasses,S as boxWrapClass};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ViewTier } from "efficient-easel/draw";
|
|
2
|
+
export declare const EMAIL_SIGNUP_PH: {
|
|
3
|
+
readonly heading: "Join our email list";
|
|
4
|
+
readonly placeholder: "Email address";
|
|
5
|
+
readonly buttonLabel: "Subscribe";
|
|
6
|
+
};
|
|
2
7
|
export declare const SITE_FOOTER_SLUG = "site-footer";
|
|
3
8
|
export declare const FOOTER_SOURCE_SLUG = "site-footer";
|
|
4
9
|
export declare const SITE_FOOTER_KIND = "site-footer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},l="site-footer",u=l,E=l,f={desktop:!0,tablet:!0,mobile:!0},d={desktop:!1,tablet:!1,mobile:!1},s=1,c=6,m=Array.from({length:c-s+1},(t,o)=>s+o),n={desktop:6,tablet:3,mobile:2},i={2:{desktop:2,tablet:2,mobile:1},3:{desktop:3,tablet:3,mobile:1},4:{desktop:4,tablet:2,mobile:2},5:{desktop:5,tablet:3,mobile:2},6:{desktop:6,tablet:3,mobile:2}},r=t=>Math.min(Math.max(Math.round(t),s),c);function x(t){if(typeof t=="number")return i[r(t)]??{desktop:r(t),tablet:r(t),mobile:r(t)};if(t&&typeof t=="object"){const o=t;return{desktop:r(o.desktop??n.desktop),tablet:r(o.tablet??n.tablet),mobile:r(o.mobile??n.mobile)}}return{...n}}function b(t){const o=t?.content;return Array.isArray(o)?o.find(e=>!!e&&typeof e=="object"&&e.type==="Footer")??null:null}function F(t){const o=t?.content;return Array.isArray(o)?o.find(e=>!!e&&typeof e=="object"&&e.type===a)??b(t):null}const a="SiteFooter",O="SiteHeader";function L(t){const o=t?.content;return Array.isArray(o)?o.find(e=>!!e&&typeof e=="object"&&e.type===O)??null:null}function T(t){const o=t?.root?.props;return o&&typeof o=="object"&&!Array.isArray(o)?o:null}export{_ as EMAIL_SIGNUP_PH,n as FOOTER_COLUMNS_DEFAULT,c as FOOTER_COLUMNS_MAX,s as FOOTER_COLUMNS_MIN,m as FOOTER_COLUMN_STEPS,u as FOOTER_SOURCE_SLUG,f as LOGO_FILL_DEFAULT,d as LOGO_ROW_FILL_DEFAULT,a as SITE_FOOTER_GROUP_TYPE,E as SITE_FOOTER_KIND,l as SITE_FOOTER_SLUG,O as SITE_HEADER_GROUP_TYPE,F as extractDrawnFooter,b as extractFooterBlock,T as extractFooterRootProps,L as extractHeaderGroup,x as normalizeFooterColumns};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const y={min:10,max:200,step:10};function
|
|
1
|
+
import{finiteNumber as r}from"../finite-number.js";const y={min:10,max:200,step:10};function u(t,e){const o=r(t),n=r(e);if(!(o===void 0&&n===void 0))return{paddingTop:o,paddingBottom:n}}const m="sf-pad-top-phone",_="sf-pad-bottom-phone",x="--sf-pad-t-phone",A="--sf-pad-b-phone",b="sf-pad-left-phone",O="sf-pad-right-phone",l="--sf-pad-l-phone",T="--sf-pad-r-phone";function a(t,e,o,n,i,P,p,c){const g=u(t,e)??{},s={},d=["sf-section-pad"];typeof o=="number"&&(d.push(m),s[x]=`${o}px`),typeof n=="number"&&(d.push(_),s[A]=`${n}px`);const f={};return typeof i=="number"&&(f.paddingLeft=i),typeof P=="number"&&(f.paddingRight=P),typeof p=="number"&&(d.push(b),s[l]=`${p}px`),typeof c=="number"&&(d.push(O),s[T]=`${c}px`),d.length===1&&u(t,e)===void 0&&!Object.keys(f).length?null:{className:d.join(" "),style:{...g,...f,...s}}}function h(t,e,o){const n=r(t)??o,i=r(e);return n===void 0?i:i===void 0?n:n+i}function E(t,e={}){return{top:h(t.padTop,t.sectionPaddingTop,e.top),bottom:h(t.padBottom,t.sectionPaddingBottom,e.bottom)}}function S(t){return{top:t.sectionPaddingTop,bottom:t.sectionPaddingBottom,topPhone:t.sectionPaddingTopPhone,bottomPhone:t.sectionPaddingBottomPhone,left:t.sectionPaddingLeft,right:t.sectionPaddingRight,leftPhone:t.sectionPaddingLeftPhone,rightPhone:t.sectionPaddingRightPhone}}function D(t){return a(t.top,t.bottom,t.topPhone,t.bottomPhone,t.left,t.right,t.leftPhone,t.rightPhone)}function H(t,e){const o=n=>typeof n=="number"?n+e:void 0;return a(o(t.top),o(t.bottom),o(t.topPhone),o(t.bottomPhone),t.left,t.right,t.leftPhone,t.rightPhone)}export{_ as PAD_BOTTOM_PHONE_CLASS,A as PAD_BOTTOM_PHONE_VAR,b as PAD_LEFT_PHONE_CLASS,l as PAD_LEFT_PHONE_VAR,O as PAD_RIGHT_PHONE_CLASS,T as PAD_RIGHT_PHONE_VAR,m as PAD_TOP_PHONE_CLASS,x as PAD_TOP_PHONE_VAR,y as SECTION_PADDING,S as padValuesOf,E as resolveSectionPadding,H as rootPadAttrs,a as sectionPadAttrs,u as sectionPadStyle,D as wrapperPadAttrs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{finiteNumber as a}from"../finite-number.js";const _="Stick to top",s={min:0,max:200,step:4,fallback:0},k="sf-section-stick",r="sf-section-stick-phone-on",f="sf-section-stick-phone-off",c={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},u=new Set(["CategoryBar","DocTabs","IntroBleed"]);function i(o){const t=a(o)??s.fallback;return Math.min(s.max,Math.max(s.min,Math.round(t)))}function h(o){return typeof o.stickTopPhone=="boolean"}function T(o){const t=o.stickTop===!0,n=i(o.stickTopDistance),e=h(o),p=e?o.stickTopPhone===!0:t,S=e?i(o.stickTopDistancePhone):n;return{desktop:t,desktopDistance:n,phone:p,phoneDistance:S,ownPhone:e}}function I(o){const t=T(o);if(!t.desktop&&!t.phone)return null;const n=[k],e={};return t.desktop&&(e[c.desktop]=`${t.desktopDistance}px`),(t.ownPhone||t.phone!==t.desktop)&&(n.push(t.phone?r:f),t.phone&&(e[c.phone]=`${t.phoneDistance}px`)),t.desktop||n.push("sf-section-stick-desktop-off"),{className:n.join(" "),style:e}}export{k as SECTION_STICK_CLASS,s as SECTION_STICK_DISTANCE,u as SECTION_STICK_EXCLUDED,_ as SECTION_STICK_LABEL,f as SECTION_STICK_PHONE_OFF_CLASS,r as SECTION_STICK_PHONE_ON_CLASS,c as SECTION_STICK_VARS,h as hasPhoneStick,T as resolveSectionStick,I as sectionStickAttrs};
|