efficient-web-builder 44.0.1 → 45.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 +0 -4
- package/README.md +8 -0
- package/dist/editor/components/BlogPostSource.js +1 -1
- package/dist/editor/components/CanvasPartsBridge.js +1 -1
- package/dist/editor/components/CardShadowField.js +1 -1
- package/dist/editor/components/ChatSettingsPanel.js +1 -1
- package/dist/editor/components/FieldGlyph.js +1 -1
- package/dist/editor/components/LocationsGroupedField.js +1 -1
- package/dist/editor/components/PartInkControl.js +1 -1
- package/dist/editor/components/PartSettingsPanel.d.ts +0 -2
- package/dist/editor/components/PartSettingsPanel.js +1 -1
- package/dist/editor/components/PartTextBox.d.ts +6 -3
- package/dist/editor/components/PartTextBox.js +1 -1
- package/dist/editor/components/PreviewChatContext.d.ts +1 -2
- package/dist/editor/components/PreviewChatContext.js +1 -1
- package/dist/editor/components/PreviewPartAnchors.js +1 -1
- package/dist/editor/components/SectionIcon.js +1 -1
- package/dist/editor/components/SectionThemePicker.js +1 -1
- package/dist/editor/components/SectionWidthRows.d.ts +6 -13
- package/dist/editor/components/SectionWidthRows.js +1 -1
- package/dist/editor/components/SourceStatus.d.ts +2 -1
- package/dist/editor/components/SourceStatus.js +1 -1
- package/dist/editor/components/ThemeCard.js +1 -1
- package/dist/editor/components/ThemeColourField.js +1 -1
- package/dist/editor/components/ThemeField.js +1 -1
- package/dist/editor/components/TickerSettingsPanel.js +1 -1
- package/dist/editor/components/WebsiteScreenParts.js +1 -1
- package/dist/editor/components/WebsiteSettingsPanel.js +1 -1
- package/dist/editor/components/storefront-editor.css +90 -359
- package/dist/editor/components/useHostDocumentBridge.js +1 -1
- package/dist/editor/components/useLocationsTree.js +1 -1
- package/dist/editor/lib/animation/AnimationDurationRow.d.ts +3 -0
- package/dist/editor/lib/animation/AnimationDurationRow.js +1 -0
- package/dist/editor/lib/animation/entrance-fields.d.ts +4 -0
- package/dist/editor/lib/animation/entrance-fields.js +1 -0
- package/dist/editor/lib/animation/fields.d.ts +2 -0
- package/dist/editor/lib/animation/fields.js +1 -0
- package/dist/editor/lib/animation/loop-fields.d.ts +2 -0
- package/dist/editor/lib/animation/loop-fields.js +1 -0
- package/dist/editor/lib/document/ColourControl.js +1 -1
- package/dist/editor/lib/document/add-palette.js +1 -1
- package/dist/editor/lib/document/block-offer.js +1 -1
- package/dist/editor/lib/document/block-source-fields.d.ts +1 -1
- package/dist/editor/lib/document/block-source-fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Banner/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Breadcrumb/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/ButtonBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Cards/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/CategoryBar/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Chart/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Divider/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/DocBody/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/DocMasthead/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/DocTabs/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Eyebrow/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/FAQ/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/FeaturedCover/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Flex/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Footprint/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Grid/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Heading/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Hero/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/HeroGroup/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/HeroSingle/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/HeroSlide/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/ImageBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Integrations/fields.js +2 -2
- package/dist/editor/lib/document/blocks/general/IntroBleed/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/KeyFeatures/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/LocationMap/fields.d.ts +10 -0
- package/dist/editor/lib/document/blocks/general/LocationMap/fields.js +1 -0
- package/dist/editor/lib/document/blocks/general/LogoBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Logos/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/LongRead/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Manifesto/fields.js +2 -2
- package/dist/editor/lib/document/blocks/general/Masthead/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Mockup/fields.js +2 -2
- package/dist/editor/lib/document/blocks/general/OrderSummary/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/ParagraphsA/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/PaymentBadges/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/PostCard/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/ProcessSteps/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Prose/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/SectionHeader/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Series/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/SpecStrip/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Split/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Stats/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/StatsParagraph/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Testimonials/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Text/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Ticker/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/Timeline/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/TimelineTrack/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/TitleWithButtons/fields.js +1 -1
- package/dist/editor/lib/document/blocks/general/index.d.ts +2 -2
- package/dist/editor/lib/document/blocks/general/index.js +1 -1
- package/dist/editor/lib/document/blocks/shared-fields.d.ts +3 -4
- package/dist/editor/lib/document/blocks/shared-fields.js +1 -1
- package/dist/editor/lib/document/box-fields.d.ts +32 -0
- package/dist/editor/lib/document/box-fields.js +1 -0
- package/dist/editor/lib/document/box-gutter-field.d.ts +1 -0
- package/dist/editor/lib/document/box-gutter-field.js +1 -0
- package/dist/editor/lib/document/card-row-fields.d.ts +1 -1
- package/dist/editor/lib/document/card-row-fields.js +1 -1
- package/dist/editor/lib/document/consent-words-field.d.ts +2 -3
- package/dist/editor/lib/document/consent-words-field.js +1 -1
- package/dist/editor/lib/document/controls.d.ts +34 -94
- package/dist/editor/lib/document/controls.js +1 -1
- package/dist/editor/lib/document/enclosing-section.d.ts +5 -1
- package/dist/editor/lib/document/enclosing-section.js +1 -1
- package/dist/editor/lib/document/field-groups.js +1 -1
- package/dist/editor/lib/document/general-registry.js +1 -1
- package/dist/editor/lib/document/overrides.js +1 -1
- package/dist/editor/lib/document/page-root-fields.d.ts +1 -1
- package/dist/editor/lib/document/page-root-fields.js +1 -1
- package/dist/editor/lib/document/page-root.d.ts +2 -7
- package/dist/editor/lib/document/page-root.js +2 -2
- 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/document/part-panel-rows.d.ts +75 -0
- package/dist/editor/lib/document/part-panel-rows.js +1 -0
- package/dist/editor/lib/document/passes/inspector.js +1 -1
- package/dist/editor/lib/document/separator-field.d.ts +10 -0
- package/dist/editor/lib/document/separator-field.js +1 -0
- package/dist/editor/lib/document/shell-glyph.d.ts +2 -0
- package/dist/editor/lib/document/shell-glyph.js +1 -0
- package/dist/{format → editor}/lib/host-document-bridge.d.ts +1 -3
- package/dist/editor/lib/host-document-bridge.js +1 -0
- package/dist/editor/lib/pinned-chrome-doc.js +1 -1
- package/dist/editor/lib/sections/new-section-node.js +1 -1
- package/dist/editor/lib/sections/section-dry-run.d.ts +13 -2
- package/dist/editor/lib/sections/section-dry-run.js +2 -2
- package/dist/editor/lib/sections/text-layouts.d.ts +6 -0
- package/dist/editor/lib/sections/text-layouts.js +1 -0
- package/dist/editor/lib/source-rules/part-slider-fills-row.d.ts +1 -0
- package/dist/editor/lib/source-rules/part-slider-fills-row.js +5 -5
- package/dist/format/lib/animation/index.d.ts +1 -0
- package/dist/format/lib/animation/index.js +1 -0
- package/dist/format/lib/animation/loop.d.ts +29 -0
- package/dist/format/lib/animation/loop.js +1 -0
- package/dist/format/lib/content/block-size.d.ts +59 -0
- package/dist/format/lib/content/block-size.js +1 -0
- package/dist/format/lib/content/box-background.js +1 -1
- package/dist/format/lib/content/box-layout.d.ts +16 -37
- package/dist/format/lib/content/box-layout.js +1 -1
- package/dist/format/lib/content/box-link.d.ts +13 -0
- package/dist/format/lib/content/box-link.js +13 -0
- package/dist/format/lib/content/box-separator.d.ts +10 -0
- package/dist/format/lib/content/box-separator.js +1 -0
- package/dist/format/lib/content/box-shape.d.ts +10 -0
- package/dist/format/lib/content/box-shape.js +1 -0
- package/dist/format/lib/content/button-icon.d.ts +1 -0
- package/dist/format/lib/content/button-icon.js +1 -1
- package/dist/format/lib/content/card-corners.d.ts +0 -3
- package/dist/format/lib/content/card-corners.js +1 -1
- package/dist/format/lib/content/card-template.d.ts +2 -0
- package/dist/format/lib/content/card-template.js +1 -1
- package/dist/format/lib/content/cart-drawer.d.ts +7 -0
- package/dist/format/lib/content/cart-drawer.js +1 -1
- package/dist/format/lib/content/chat-launcher.js +1 -1
- package/dist/format/lib/content/container-gap.d.ts +9 -1
- package/dist/format/lib/content/container-gap.js +1 -1
- package/dist/format/lib/content/gallery-card-layout.js +1 -1
- package/dist/format/lib/content/gallery-layout.d.ts +1 -0
- package/dist/format/lib/content/gallery-layout.js +1 -1
- package/dist/format/lib/content/page-background.js +1 -1
- package/dist/format/lib/content/post-date.d.ts +1 -0
- package/dist/format/lib/content/post-date.js +1 -0
- package/dist/format/lib/content/scrim.d.ts +1 -0
- package/dist/format/lib/content/scrim.js +1 -0
- package/dist/format/lib/content/section-min-height.d.ts +4 -0
- package/dist/format/lib/content/section-min-height.js +1 -1
- package/dist/format/lib/content/section-width.d.ts +2 -18
- package/dist/format/lib/content/section-width.js +1 -1
- package/dist/format/lib/content/site-gutter.d.ts +11 -1
- package/dist/format/lib/content/site-gutter.js +1 -1
- package/dist/format/lib/content/tint.d.ts +1 -0
- package/dist/format/lib/content/tint.js +1 -0
- package/dist/format/lib/document/blocks/block-types.d.ts +0 -1
- package/dist/format/lib/document/blocks/general/HeroSingle/meta.js +1 -1
- package/dist/format/lib/document/blocks/general/HeroSlide/meta.js +1 -1
- package/dist/format/lib/document/blocks/general/IntroBleed/meta.js +1 -1
- package/dist/format/lib/document/blocks/general/LocationMap/meta.d.ts +2 -0
- package/dist/format/lib/document/blocks/general/LocationMap/meta.js +1 -0
- package/dist/format/lib/document/blocks/general/SpecStrip/meta.d.ts +5 -0
- package/dist/format/lib/document/blocks/general/SpecStrip/meta.js +1 -1
- package/dist/format/lib/document/blocks/general/Ticker/meta.js +1 -1
- package/dist/format/lib/document/blocks/general/metas.d.ts +1 -0
- package/dist/format/lib/document/blocks/general/metas.js +1 -1
- package/dist/format/lib/document/blocks/general/text-part-shapes.json +30 -0
- package/dist/format/lib/document/box-footer.d.ts +1 -0
- package/dist/format/lib/document/box-footer.js +1 -1
- package/dist/format/lib/document/cap-hero-groups.js +1 -1
- package/dist/format/lib/document/container-blocks.js +1 -1
- package/dist/format/lib/document/editor-site-widths.d.ts +2 -0
- package/dist/format/lib/document/editor-site-widths.js +1 -0
- package/dist/format/lib/document/general-order.d.ts +1 -1
- package/dist/format/lib/document/general-order.js +1 -1
- package/dist/format/lib/document/part-inks.js +1 -1
- package/dist/format/lib/document/passes/document-position.js +1 -1
- package/dist/format/lib/document/passes/settings-groups.js +1 -1
- package/dist/format/lib/document/passes/types.d.ts +10 -5
- package/dist/format/lib/document/renamed-props.js +1 -1
- package/dist/format/lib/document/section-catalog.js +2 -2
- package/dist/format/lib/editor-words-catalogue.d.ts +32 -31
- package/dist/format/lib/editor-words-catalogue.js +6 -6
- package/dist/format/lib/fit-words.js +77 -18
- package/dist/format/lib/fonts.d.ts +1 -0
- package/dist/format/lib/fonts.js +1 -1
- package/dist/format/lib/hero-group-placement.js +1 -1
- package/dist/format/lib/hero-texture.d.ts +1 -1
- package/dist/format/lib/hero-texture.js +1 -1
- package/dist/format/lib/locations-grid.d.ts +1 -0
- package/dist/format/lib/locations-grid.js +1 -1
- package/dist/format/lib/map-styles.d.ts +0 -1
- package/dist/format/lib/map-styles.js +1 -1
- package/dist/format/lib/popup/look.js +1 -1
- package/dist/format/lib/popup/text-kinds.d.ts +0 -1
- package/dist/format/lib/popup/text-kinds.js +1 -1
- package/dist/format/lib/sections/hero-overlay.d.ts +1 -1
- package/dist/format/lib/sections/hero-overlay.js +1 -1
- package/dist/format/lib/sections/section-head-placement.d.ts +0 -4
- package/dist/format/lib/sections/section-head-placement.js +1 -1
- package/dist/format/lib/sections/section-presets.js +1 -1
- package/dist/format/lib/sections/strip-shape.d.ts +16 -0
- package/dist/format/lib/sections/strip-shape.js +1 -0
- package/dist/format/lib/sections/timeline-year-shape.d.ts +4 -0
- package/dist/format/lib/sections/timeline-year-shape.js +1 -0
- package/dist/format/lib/source-rules/box-fields-from-easel.d.ts +4 -0
- package/dist/format/lib/source-rules/box-fields-from-easel.js +8 -0
- package/dist/format/lib/source-rules/editor-chrome-note.js +1 -1
- package/dist/format/lib/source-rules/editor-words.js +2 -2
- package/dist/format/lib/source-rules/no-glyph-rows.d.ts +0 -4
- package/dist/format/lib/source-rules/no-glyph-rows.js +4 -4
- package/dist/format/lib/source-rules/one-loop-module.d.ts +7 -0
- package/dist/format/lib/source-rules/one-loop-module.js +6 -0
- package/dist/format/lib/source-rules/one-node-list.d.ts +2 -0
- package/dist/format/lib/source-rules/one-node-list.js +1 -0
- package/dist/format/lib/source-rules/one-page-theme-reader.d.ts +6 -0
- package/dist/format/lib/source-rules/one-page-theme-reader.js +6 -0
- package/dist/format/lib/source-rules/part-style-naming.js +1 -1
- package/dist/format/lib/source-rules/shell-width-token-not-colour.d.ts +5 -0
- package/dist/format/lib/source-rules/shell-width-token-not-colour.js +2 -0
- package/dist/format/lib/source-rules/site-square-by-default.js +3 -3
- package/dist/format/lib/source-rules/support/panel-select-cascade.js +2 -2
- package/dist/format/lib/theme.d.ts +3 -0
- package/dist/format/lib/theme.js +4 -4
- package/dist/render/components/Banner.js +1 -1
- package/dist/render/components/ButtonBlock.d.ts +1 -0
- package/dist/render/components/ButtonBlock.js +1 -1
- package/dist/render/components/CardRowContext.d.ts +4 -4
- package/dist/render/components/CardRowContext.js +1 -1
- package/dist/render/components/Cards.d.ts +1 -0
- package/dist/render/components/Cards.js +1 -1
- package/dist/render/components/ContactLocations.js +2 -14
- package/dist/render/components/FeaturedCover.js +1 -1
- package/dist/render/components/Flex.d.ts +19 -1
- package/dist/render/components/Flex.js +1 -1
- package/dist/render/components/Grid.js +1 -1
- package/dist/render/components/Heading.d.ts +1 -0
- package/dist/render/components/Heading.js +1 -1
- package/dist/render/components/HeroSection.js +1 -1
- package/dist/render/components/HeroSingle.js +1 -1
- package/dist/render/components/HeroSlide.js +1 -1
- package/dist/render/components/HeroVideoPlay.js +1 -1
- package/dist/render/components/ImageBlock.d.ts +1 -2
- package/dist/render/components/ImageBlock.js +1 -1
- package/dist/render/components/InBoxContext.d.ts +2 -0
- package/dist/render/components/InBoxContext.js +1 -0
- package/dist/render/components/KeyFeatures.js +1 -1
- package/dist/render/components/LocationMap.d.ts +23 -0
- package/dist/render/components/LocationMap.js +1 -0
- package/dist/render/components/Logo.js +1 -1
- package/dist/render/components/LongRead.js +1 -1
- package/dist/render/components/Manifesto.d.ts +2 -1
- package/dist/render/components/Manifesto.js +1 -1
- package/dist/render/components/PreviewHeaderContext.d.ts +1 -4
- package/dist/render/components/PreviewHeaderContext.js +1 -1
- package/dist/render/components/PreviewLocationPartContext.d.ts +1 -1
- package/dist/render/components/PreviewLocationPartContext.js +1 -1
- package/dist/render/components/ProcessSteps.js +1 -1
- package/dist/render/components/SectionAnimation.d.ts +16 -3
- package/dist/render/components/SectionAnimation.js +1 -1
- package/dist/render/components/SiteGutterFrame.d.ts +7 -1
- package/dist/render/components/SiteGutterFrame.js +1 -1
- package/dist/render/components/SiteMap.js +1 -1
- package/dist/render/components/SpecStrip.d.ts +2 -4
- package/dist/render/components/SpecStrip.js +1 -1
- package/dist/render/components/Split.d.ts +2 -1
- package/dist/render/components/Split.js +1 -1
- package/dist/render/components/Text.d.ts +2 -0
- package/dist/render/components/Text.js +1 -1
- package/dist/render/components/Ticker.d.ts +5 -4
- package/dist/render/components/Ticker.js +1 -1
- package/dist/render/components/TickerSection.d.ts +5 -4
- package/dist/render/components/TickerSection.js +1 -1
- package/dist/render/components/Timeline.js +1 -1
- package/dist/render/components/TimelineRail.d.ts +55 -0
- package/dist/render/components/TimelineRail.js +1 -0
- package/dist/render/components/TimelineTrack.js +1 -1
- package/dist/render/components/goldPhrases.js +1 -1
- package/dist/render/lib/animation/LoopTrack.d.ts +14 -0
- package/dist/render/lib/animation/LoopTrack.js +1 -0
- package/dist/render/lib/animation/entrance.d.ts +18 -0
- package/dist/render/lib/animation/entrance.js +1 -0
- package/dist/render/lib/document/blocks/general/ButtonBlock/render.js +1 -1
- package/dist/render/lib/document/blocks/general/Flex/render.js +1 -1
- package/dist/render/lib/document/blocks/general/ImageBlock/render.js +1 -1
- package/dist/render/lib/document/blocks/general/LocationMap/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/general/LocationMap/render.js +1 -0
- package/dist/render/lib/document/blocks/general/Manifesto/render.js +1 -1
- package/dist/render/lib/document/blocks/general/SectionHeader/render.js +1 -1
- package/dist/render/lib/document/blocks/general/Split/render.js +1 -1
- package/dist/render/lib/document/blocks/general/Text/render.js +1 -1
- package/dist/render/lib/document/blocks/general/Ticker/render.js +1 -1
- package/dist/render/lib/document/blocks/general/renders.d.ts +1 -0
- package/dist/render/lib/document/blocks/general/renders.js +1 -1
- package/dist/render/lib/document/blocks/general/section-head-looks.d.ts +9 -0
- package/dist/render/lib/document/blocks/general/section-head-looks.js +2 -0
- package/dist/render/lib/document/blocks/general/section-to-box-row-parts.d.ts +9 -1
- package/dist/render/lib/document/blocks/general/section-to-box-row-parts.js +1 -1
- package/dist/render/lib/document/blocks/general/section-to-box-rows-cards.d.ts +2 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-cards.js +1 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-head.d.ts +4 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-head.js +1 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-locations.d.ts +2 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-locations.js +1 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-logos.js +1 -1
- package/dist/render/lib/document/blocks/general/section-to-box-rows-stats.js +1 -1
- package/dist/render/lib/document/blocks/general/section-to-box-rows-strip.d.ts +2 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-strip.js +1 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-timeline.d.ts +2 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows-timeline.js +3 -0
- package/dist/render/lib/document/blocks/general/section-to-box-rows.js +1 -1
- package/dist/render/lib/document/page-frame.d.ts +3 -21
- package/dist/render/lib/document/page-frame.js +1 -1
- package/dist/render/lib/document/part-styles.d.ts +14 -13
- package/dist/render/lib/document/part-styles.js +2 -2
- package/dist/render/lib/document/passes/block-size.d.ts +3 -0
- package/dist/render/lib/document/passes/block-size.js +1 -0
- package/dist/render/lib/document/passes/cell-width.d.ts +1 -0
- package/dist/render/lib/document/passes/cell-width.js +1 -1
- package/dist/render/lib/document/passes/clickable-parts.js +1 -1
- package/dist/render/lib/document/passes/corners.js +1 -1
- package/dist/render/lib/document/passes/index.js +1 -1
- package/dist/render/lib/document/passes/section-anchor.d.ts +1 -0
- package/dist/render/lib/document/passes/section-anchor.js +1 -1
- package/dist/render/lib/document/passes/section-animation.d.ts +1 -0
- package/dist/render/lib/document/passes/section-animation.js +1 -1
- package/dist/render/lib/document/passes/section-padding.js +1 -1
- package/dist/render/lib/document/passes/section-width.d.ts +1 -4
- package/dist/render/lib/document/passes/section-width.js +1 -1
- package/dist/render/lib/sections/section-to-box.d.ts +28 -7
- package/dist/render/lib/sections/section-to-box.js +1 -1
- package/dist/render/lib/text-styles/site-text-styles.js +2 -2
- package/package.json +5 -5
- package/dist/editor/components/PartResetDot.d.ts +0 -5
- package/dist/editor/components/PartResetDot.js +0 -1
- package/dist/editor/lib/document/section-width-fields.d.ts +0 -2
- package/dist/editor/lib/document/section-width-fields.js +0 -1
- package/dist/format/lib/content/image-width.d.ts +0 -9
- package/dist/format/lib/content/image-width.js +0 -1
- package/dist/format/lib/content/section-animation.d.ts +0 -13
- package/dist/format/lib/content/section-animation.js +0 -1
- package/dist/format/lib/host-document-bridge.js +0 -1
- package/dist/format/lib/sections/ticker-scroll.d.ts +0 -11
- package/dist/format/lib/sections/ticker-scroll.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t,jsxs as u}from"react/jsx-runtime";import{Fragment as d}from"react";import{linePrefix as N,storefrontLines as
|
|
1
|
+
import{jsx as t,jsxs as u}from"react/jsx-runtime";import{Fragment as d}from"react";import{parseHexColor as L}from"efficient-shell/format";import{linePrefix as N,storefrontLines as _}from"../../format/lib/markup.js";import{COLOUR_TOKEN as h,WORD_STYLE_ATTR as S,WORD_STYLE_BY_KIND as g}from"../../format/lib/word-styles.js";import a from"./PartStyledText.js";import{withRMark as f}from"./RMark.js";function E(e,n=!1){const s=m(n),r=_(e);if(r.length===1){const[c]=r,l=N(c),b=l?O(l,c.children):c.children;return t(a,{value:e,children:o(b,s)})}const i=[];return r.forEach((c,l)=>{if(c.bullet){i.push(t("span",{"data-sf-bullet":"",className:T,children:o(c.children,s)},l));return}if(c.number!=null){i.push(u("span",{"data-sf-number":c.number,className:C,children:[u("span",{className:R,children:[c.number,"."]}),o(c.children,s)]},l));return}l>0&&!k(r[l-1])&&i.push(t("br",{},`br${l}`)),i.push(t(d,{children:o(c.children,s)},l))}),t(a,{value:e,children:i})}const T="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['·']",C="relative block pl-[2em]",R="absolute left-0 w-[1.6em] text-right tabular-nums";function k(e){return e.bullet||e.number!=null}const w="text-accent underline underline-offset-[0.18em]";function O(e,n){const[s,...r]=n;return s?.kind==="text"?[{kind:"text",text:`${e}${s.text}`},...r]:[{kind:"text",text:e},...n]}function A(e){if(e)return L(e)===e.toLowerCase()?e:Object.hasOwn(h,e)?h[e]:void 0}function o(e,n){const s=[];let r=!1;return e.forEach((i,c)=>{if(i.kind==="text"){s.push(t("span",{children:f(i.text)},c)),r=!0;return}r||s.push(t("span",{},`e${c}`)),s.push(x(i,c,n)),r=!1}),r||s.push(t("span",{},"end")),s}function p(e,n){return e.length===1&&e[0].kind==="text"?f(e[0].text):e.map((s,r)=>s.kind==="text"?t(d,{children:f(s.text)},r):x(s,r,n))}function $(e,n=!1){return o(e,m(n))}function m(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function D(e){return t(a,{value:e,children:t("span",{children:e})})}function x(e,n,s){if(e.kind==="link")return t("a",{href:e.href,className:w,children:p(e.children,s)},n);const r=p(e.children,s),i=g[e.kind];if(i)return t("span",{[S]:i,children:r},n);switch(e.kind){case"underline":return t("u",{children:r},n);case"sup":return t("sup",{children:r},n);case"sub":return t("sub",{children:r},n);case"color":{const c=A(e.color);return c?t("span",{style:{color:c},children:r},n):t("span",{children:r},n)}case"accent":case"highlight":return t("em",{className:s,children:r},n);case"bold":return t("strong",{className:"font-semibold",children:r},n);case"italic":return t("em",{className:"italic",children:r},n);case"strike":return t("s",{className:"line-through",children:r},n);default:return t("span",{children:r},n)}}function P(e,n=!0){const s=e.split(`
|
|
2
2
|
`);return t(a,{value:e,children:s.map((r,i)=>u("span",{children:[E(r,n),i<s.length-1?t("br",{}):null]},i))})}function Y(e){return e.split(/\n\s*\n/).map(n=>n.trim()).filter(Boolean)}export{D as renderChrome,E as renderGold,P as renderHeadline,$ as renderMarkupNodes,Y as splitParagraphs};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type LoopDirection } from "../../../format/lib/animation/loop.js";
|
|
3
|
+
export declare const LOOP_COPY_CLASS: {
|
|
4
|
+
readonly across: "pr-[var(--sf-gap-len,0px)] max-[800px]:pr-[calc(var(--sf-gap-len,0px)/2)]";
|
|
5
|
+
readonly down: "pb-[var(--sf-gap-len,0px)] max-[800px]:pb-[calc(var(--sf-gap-len,0px)/2)]";
|
|
6
|
+
};
|
|
7
|
+
export declare function loopCopyClass(direction: LoopDirection): string;
|
|
8
|
+
export declare function LoopTrack({ direction, seconds, delay, editing, copy, }: {
|
|
9
|
+
direction: LoopDirection;
|
|
10
|
+
seconds: number;
|
|
11
|
+
delay: number;
|
|
12
|
+
editing: boolean;
|
|
13
|
+
copy: (loopClass: string) => ReactNode;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as c,jsx as s,jsxs as i}from"react/jsx-runtime";import{isVerticalLoop as e,loopAnimation as m}from"../../../format/lib/animation/loop.js";const n={across:"pr-[var(--sf-gap-len,0px)] max-[800px]:pr-[calc(var(--sf-gap-len,0px)/2)]",down:"pb-[var(--sf-gap-len,0px)] max-[800px]:pb-[calc(var(--sf-gap-len,0px)/2)]"};function o(a){return e(a)?n.down:n.across}function v({direction:a,seconds:l,delay:p,editing:t,copy:r}){if(t)return s(c,{children:r("")});const x=e(a);return s("div",{className:"overflow-hidden",children:i("div",{className:x?"flex flex-col":"flex w-max",style:{animation:m(a,l,p)},children:[r(o(a)),s("div",{className:"contents","aria-hidden":!0,inert:!0,children:r(o(a))})]})})}export{n as LOOP_COPY_CLASS,v as LoopTrack,o as loopCopyClass};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type EntranceValue } from "efficient-shell/format";
|
|
2
|
+
export declare const ENTRANCE_KEYS: {
|
|
3
|
+
readonly kind: "entrance";
|
|
4
|
+
readonly from: "entranceFrom";
|
|
5
|
+
readonly duration: "entranceDuration";
|
|
6
|
+
readonly delay: "entranceDelay";
|
|
7
|
+
};
|
|
8
|
+
export declare const LEGACY_ENTRANCE_KEY = "sectionAnimation";
|
|
9
|
+
export type EntranceView = "desktop" | "phone";
|
|
10
|
+
type Props = Readonly<Record<string, unknown>>;
|
|
11
|
+
export declare function entranceOf(props: Props, view: EntranceView): EntranceValue;
|
|
12
|
+
export declare function entranceDrawn(props: Props): {
|
|
13
|
+
desktop: EntranceValue;
|
|
14
|
+
phone: EntranceValue;
|
|
15
|
+
} | null;
|
|
16
|
+
export declare const ENTRANCE_EXCLUDED_WHY: Readonly<Record<string, string>>;
|
|
17
|
+
export declare const ENTRANCE_EXCLUDED: ReadonlySet<string>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{phoneKey as c}from"efficient-easel/draw";import{readEntrance as d}from"efficient-shell/format";import{SECTION_THEME_EXCLUDED as l}from"../../../format/lib/content/section-surface.js";const i={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},u="sectionAnimation",a=e=>e!=null&&e!=="";function f(e,n){const t=e[i[n]];return n==="kind"&&!a(t)?e[u]:t}function o(e,n,t){if(t==="phone"){const r=e[c(i[n])];if(a(r))return r}return f(e,n)}function s(e,n){return d(o(e,"kind",n),o(e,"from",n),o(e,"duration",n),o(e,"delay",n))}function b(e){const n=s(e,"desktop"),t=s(e,"phone");return n.kind==="none"&&t.kind==="none"?null:{desktop:n,phone:t}}const m={...Object.fromEntries([...l].map(e=>[e,"a root position: sticky bar; an outer box becomes its sticky containing block and the pin collapses (the same fact every wrapper pass excludes it for, lib/content/section-surface)"])),HeroSlide:"a slide is a direct child of the Hero's transform track ([&>*]:basis-full); a wrapper would take its width, and the Hero already moves one slide in at a time",HeroGroup:"a slide box is placed by grid-item properties on its own root (--sf-hg-row, justify-self); a wrapper becomes the grid item and the box loses its anchor (lib/document/blocks/general/HeroGroup/meta)"},h=new Set(Object.keys(m));export{h as ENTRANCE_EXCLUDED,m as ENTRANCE_EXCLUDED_WHY,i as ENTRANCE_KEYS,u as LEGACY_ENTRANCE_KEY,b as entranceDrawn,s as entranceOf};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{CardRowDrawn as F}from"../../../../../components/CardRowContext.js";import R from"../../../../../components/ButtonBlock.js";import{CARD_ROW_LINK_PROP as p,namedRowField as i}from"../../../../../../format/lib/content/card-template.js";import{CTA_PH as O}from"../../../../../../format/lib/document/blocks/placeholders.js";import{phPrev as _}from"../../scaffold.js";import{phoneKey as j}from"efficient-easel/draw";import{ButtonBlockMeta as k}from"../../../../../../format/lib/document/blocks/general/ButtonBlock/meta.js";const E={...k,render:o=>{const{label:e,href:l,variant:a,align:c,contained:m,arrow:d,icon:f,iconPosition:u,widthFit:b,buttonColor:h,buttonTextColor:s,editor:w}=o,B=Object.fromEntries(Object.entries(o).filter(([t])=>t==="buttonFillOpacity"||t==="buttonBorder"||t.startsWith("buttonPadding"))),r=(t,x)=>n(R,{label:_(t,O.text,w)??"",href:x,variant:a,align:c,contained:m,arrow:d,icon:f,iconPosition:u,widthFit:b,widthFitPhone:o[j("widthFit")],buttonColor:h,buttonTextColor:s,...B}),P=i(o),C=i(o,p);return!P&&!C?r(e,l):n(F,{type:"ButtonBlock",props:o,children:t=>r(t.label,t.href)})}};export{E as ButtonBlockRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{phoneKey as a}from"efficient-easel/draw";import n from"../../../../../components/Flex.js";import{loopDelayOf as i,loopSecondsOf as l,parseLoop as t,parseLoopDirection as h}from"../../../../../../format/lib/animation/index.js";import{padValuesOf as c}from"../../../../content/section-padding.js";import{sectionFillsHeight as g}from"../../../../../../format/lib/content/section-min-height.js";import{FlexMeta as d}from"../../../../../../format/lib/document/blocks/general/Flex/meta.js";const y={...d,render:e=>o(n,{direction:e.direction,label:e.label,tabShape:e.tabShape,gap:e.gap,gapPhone:e[a("gap")],justify:e.justify,align:e.align,wrap:e.wrap,share:e.share,sharePhone:e[a("share")],phoneRow:e.phoneRow,separator:e.separator,blockSpacing:e.blockSpacing,bgImage:e.bgImage,bgImagePhone:e.bgImagePhone,darken:e.darken,darkenStyle:e.darkenStyle,placement:e.placement,padV2:e.padV2===!0,border:e.sectionBorder,borderPhone:e.sectionBorderPhone,pad:c(e),contained:e.contained,fillHeight:g(e),shadow:e.shadow,loop:t(e.loop),scrollDirection:h(e.scrollDirection),loopSeconds:l({loopDuration:e.loopDuration}),loopDelay:i({loopDelay:e.loopDelay}),editing:!!e.editor?.isEditing,fillColor:e.fillColor,line:e.line,upcoming:e.upcoming,link:e.link,boxShape:e.boxShape,boxShapePhone:e[a("boxShape")],jumpHighlight:e.jumpHighlight,anchor:e.anchor,content:e.content})};export{y as FlexRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as a}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{CardRowDrawn as u}from"../../../../../components/CardRowContext.js";import w from"../../../../../components/ImageBlock.js";import{cardTemplateField as y,namedRowField as k,rowFieldText as x}from"../../../../../../format/lib/content/card-template.js";import{ImageBlockMeta as B}from"../../../../../../format/lib/document/blocks/general/ImageBlock/meta.js";const j={...B,render:e=>{const t=k(e);return t?a(u,{type:"ImageBlock",props:e,children:(o,r)=>{const n=r?y(r.ownerType,t)?.alt:void 0;return c(e,o.src,(n&&x(r?.row,n))??e.alt)}}):c(e,e.src,e.alt)}};function c({aspect:e,contained:t,grayscale:o,href:r,fit:n,focal:d,focalPhone:i,corners:l,cornerSides:m,editor:f},s,g){return a(w,{src:s,alt:g,aspect:e,contained:t,grayscale:o,href:r,fit:n,focal:d,focalPhone:typeof i=="string"?i:void 0,corners:l,cornerSides:m,editing:f?.isEditing===!0})}export{j as ImageBlockRender};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as i,jsx as r}from"react/jsx-runtime";import{readHidable as s}from"efficient-easel/draw";import l from"../../../../../components/LocationMap.js";import{hasMapCoords as c}from"../../../../../../format/lib/map-styles.js";import{LocationMapMeta as d}from"../../../../../../format/lib/document/blocks/general/LocationMap/meta.js";const u="relative overflow-hidden h-full min-h-[560px] max-[1100px]:h-auto max-[1100px]:min-h-0 max-[1100px]:aspect-square",x=new Set(["auto","dark","light"]),a=t=>s(t).text.trim(),b={...d,render:t=>{const e=Number(t.lat),n=Number(t.lng),o=t.editor?.isEditing===!0;if(!o&&!c(e,n))return r(i,{});const m=t.mapTheme;return r(l,{name:a(t.name),state:a(t.state),country:a(t.country),lat:e,lng:n,mapsUrl:a(t.mapsUrl),mapTheme:x.has(m)?m:"auto",editing:o,boxClass:u})}};export{b as LocationMapRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as b}from"react/jsx-runtime";import f from"../../../../../components/Manifesto.js";import{sectionFillsHeight as g}from"../../../../../../format/lib/content/section-min-height.js";import{PH as e}from"../../../../../../format/lib/document/blocks/placeholders.js";import{phRows as h,phHideDefault as a}from"../../scaffold.js";import{ManifestoMeta as c}from"../../../../../../format/lib/document/blocks/general/Manifesto/meta.js";const y=[{value:"00",label:e.label},{value:"00",label:e.label},{value:"00",label:e.label}],H={...c,render:t=>{const{eyebrow:r,heading:i,body:l,stats:s,imageSrc:d,grayscale:n,widthMode:m,editor:o}=t;return b(f,{eyebrow:a(r,e.eyebrow,o),heading:a(i,e.heading,o),body:a(l,e.body,o),stats:h(s,y,o),imageSrc:d||void 0,grayscale:n,widthMode:m,fillHeight:g(t)})}};export{H as ManifestoRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as n}from"react/jsx-runtime";import{resolveWidth as
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{resolveWidth as v}from"../../../../../../format/lib/content/section-width.js";import{FRAME as N}from"../../../../../components/BlockFrame.js";import b from"../../../../../components/EditorialSectionHead.js";import{renderGold as E,renderHeadline as G}from"../../../../../components/goldPhrases.js";import l from"../../../../../components/SectionHeader.js";import{hidableText as d}from"efficient-easel/draw";import{parseNaturalDescriptionSize as R,parseNaturalRowGap as j,parseSectionHeadStyle as z}from"../../../../../../format/lib/sections/section-head-style.js";import{parseSectionEyebrowLook as c}from"../../../../../../format/lib/sections/section-eyebrow-look.js";import{phHide as t}from"../../scaffold.js";import{SectionHeaderMeta as L}from"../../../../../../format/lib/document/blocks/general/SectionHeader/meta.js";const I={...L,render:({headStyle:u,num:o,numStyle:f,eyebrowLook:p,title:i,description:s,logoSrc:m,logoAlt:x,linkText:H,linkHref:h,rowGap:k,descriptionSize:w,widthMode:g,editor:e})=>{const S=t(H,"View all",e),y=v({widthMode:g},"full"),r=z(u);return n("section",{className:"px-[var(--sf-site-gutter,40px)] pt-10 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-6",children:n("div",{className:y.mode==="page"?N:void 0,children:r==="editorial"?n(b,{num:t(o,"01 / Section",e),title:(()=>{const a=t(i,"Section *title*",e);return a?G(a,!0):void 0})(),desc:(()=>{const a=t(s,"Short supporting line",e);return a?E(a):void 0})(),spaceBelow:""}):r==="simple"?n(l,{look:"simple",num:t(o,"01 / Section",e),title:t(i,"Section *title*",e),eyebrowLook:c(p,"SectionHeader")}):r==="statement"?n(l,{look:"statement",num:t(o,"01 / Section",e),title:t(i,"Section *title*",e),eyebrowLook:c(p,"SectionHeader")}):r==="natural"?n(l,{look:"natural",num:t(o,"01 / Section",e),title:t(i,"Section *title*",e),description:t(s,"Short supporting line",e),eyebrowLook:c(p,"SectionHeader"),rowGap:j(k),descriptionSize:R(w)}):r==="essay"?n(l,{look:"essay",num:t(o,"01 / Section",e),title:t(i,"Section *title*",e),eyebrowLook:c(p,"SectionHeader")}):n(l,{num:t(o,"01 / Section",e),title:t(i,"Section *title*",e),description:t(s,"Short supporting line",e),logo:m?{src:m,alt:d(x)}:void 0,link:S?{text:S,href:d(h)||"#"}:void 0,numStyle:f,accent:!0})})})}};export{I as SectionHeaderRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as d}from"react/jsx-runtime";import l from"../../../../../components/Split.js";import{
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import l from"../../../../../components/Split.js";import{sectionFillsHeight as m}from"../../../../../../format/lib/content/section-min-height.js";import{hidableText as f}from"efficient-easel/draw";import{phHide as t,ctaHide as c}from"../../scaffold.js";import{SplitMeta as g,SPLIT_PH as i,IMGBTN_PH as x}from"../../../../../../format/lib/document/blocks/general/Split/meta.js";function o(e,r,a){const n=t(e,x.text,a);if(n!==void 0)return{text:n,href:r||"#"}}const T={...g,render:e=>d(l,{eyebrow:t(e.eyebrow,i.eyebrow,e.editor),title:t(e.title,i.title,e.editor),body:t(e.body,i.body,e.editor),imageLabel:f(e.title)||i.title,imageSrc:e.imageSrc||void 0,reverse:e.reverse,uppercase:e.uppercase,textAlign:e.textAlign,cta:c(e.ctaText,e.ctaHref,e.editor),imageButton:o(e.imageBtnText,e.imageBtnHref,e.editor),textBgSrc:e.textBgSrc||void 0,textBgTint:(typeof e.overlay=="number"?e.overlay:60)/100,grayscale:e.grayscale,fillHeight:m(e)})};export{T as SplitRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Fragment as
|
|
1
|
+
import{Fragment as s,jsx as r}from"react/jsx-runtime";import{CardRowDrawn as g}from"../../../../../components/CardRowContext.js";import{namedRowField as h}from"../../../../../../format/lib/content/card-template.js";import{padValuesOf as y}from"../../../../content/section-padding.js";import T from"../../../../../components/Text.js";import{hidableText as n,readHidable as u}from"efficient-easel/draw";import{PH as d}from"../../../../../../format/lib/document/blocks/placeholders.js";import{phPrev as w}from"../../scaffold.js";import{readPartStyle as S}from"../../../part-styles.js";import{TextMeta as b}from"../../../../../../format/lib/document/blocks/general/Text/meta.js";const V={...b,render:t=>{const{text:o,align:m,tone:f,tag:l,contained:x,editor:c}=t;if(u(o).hidden)return r(s,{});const a=S(t,"text").textStyle,p=a?.startsWith("heading-")?d.heading:d.body,i=e=>r(T,{text:w(e,p,c)??"",align:m,tone:f,tag:l,textStyle:a,contained:x,pad:y(t)});return h(t)?r(g,{type:"Text",props:t,children:e=>i(n(e.text))}):i(n(o))}};export{V as TextRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import f from"../../../../../components/TickerSection.js";import{loopDelayOf as l,loopSecondsOf as T,parseLoopDirection as S}from"../../../../../../format/lib/animation/index.js";import{phRows as j}from"../../scaffold.js";import{TickerMeta as k,TICKER_SCAFFOLD_ITEMS as x}from"../../../../../../format/lib/document/blocks/general/Ticker/meta.js";const g={...k,render:({items:r,tone:e,borders:i,size:s,separator:t,scrollDirection:p,speed:m,loopDuration:n,loopDelay:c,join:a,editor:o})=>d(f,{items:j(r,x,o),tone:e,borders:i,size:s,separator:t,scroll:S(p),seconds:T({loopDuration:n,speed:m}),delay:l({loopDelay:c}),join:a,editing:o?.isEditing})};export{g as TickerRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BannerRender as r}from"./Banner/render.js";import{BreadcrumbRender as e}from"./Breadcrumb/render.js";import{ButtonBlockRender as o}from"./ButtonBlock/render.js";import{CardsRender as t}from"./Cards/render.js";import{CategoryBarRender as m}from"./CategoryBar/render.js";import{ChartRender as i}from"./Chart/render.js";import{ContactLocationsRender as n}from"./ContactLocations/render.js";import{CustomHTMLRender as d}from"./CustomHTML/render.js";import{DividerRender as a}from"./Divider/render.js";import{DocBodyRender as p}from"./DocBody/render.js";import{DocMastheadRender as R}from"./DocMasthead/render.js";import{DocMetaCardsRender as f}from"./DocMetaCards/render.js";import{DocTabsRender as s}from"./DocTabs/render.js";import{EyebrowRender as c}from"./Eyebrow/render.js";import{FAQRender as S}from"./FAQ/render.js";import{FeaturedCoverRender as l}from"./FeaturedCover/render.js";import{FlexRender as g}from"./Flex/render.js";import{FootprintRender as B}from"./Footprint/render.js";import{GridRender as u}from"./Grid/render.js";import{HeadingRender as C}from"./Heading/render.js";import{HeroRender as T}from"./Hero/render.js";import{HeroGroupRender as H}from"./HeroGroup/render.js";import{HeroSingleRender as
|
|
1
|
+
import{BannerRender as r}from"./Banner/render.js";import{BreadcrumbRender as e}from"./Breadcrumb/render.js";import{ButtonBlockRender as o}from"./ButtonBlock/render.js";import{CardsRender as t}from"./Cards/render.js";import{CategoryBarRender as m}from"./CategoryBar/render.js";import{ChartRender as i}from"./Chart/render.js";import{ContactLocationsRender as n}from"./ContactLocations/render.js";import{CustomHTMLRender as d}from"./CustomHTML/render.js";import{DividerRender as a}from"./Divider/render.js";import{DocBodyRender as p}from"./DocBody/render.js";import{DocMastheadRender as R}from"./DocMasthead/render.js";import{DocMetaCardsRender as f}from"./DocMetaCards/render.js";import{DocTabsRender as s}from"./DocTabs/render.js";import{EyebrowRender as c}from"./Eyebrow/render.js";import{FAQRender as S}from"./FAQ/render.js";import{FeaturedCoverRender as l}from"./FeaturedCover/render.js";import{FlexRender as g}from"./Flex/render.js";import{FootprintRender as B}from"./Footprint/render.js";import{GridRender as u}from"./Grid/render.js";import{HeadingRender as C}from"./Heading/render.js";import{HeroRender as T}from"./Hero/render.js";import{HeroGroupRender as H}from"./HeroGroup/render.js";import{HeroSingleRender as M}from"./HeroSingle/render.js";import{HeroSlideRender as L}from"./HeroSlide/render.js";import{ImageBlockRender as h}from"./ImageBlock/render.js";import{IntegrationsRender as k}from"./Integrations/render.js";import{IntroBleedRender as y}from"./IntroBleed/render.js";import{CountdownRender as P}from"./Countdown/render.js";import{KeyFeaturesRender as D}from"./KeyFeatures/render.js";import{LocationMapRender as F}from"./LocationMap/render.js";import{LogoBlockRender as b}from"./LogoBlock/render.js";import{LogosRender as E}from"./Logos/render.js";import{LongReadRender as I}from"./LongRead/render.js";import{ManifestoRender as x}from"./Manifesto/render.js";import{MastheadRender as A}from"./Masthead/render.js";import{MockupRender as G}from"./Mockup/render.js";import{OrderSummaryRender as v}from"./OrderSummary/render.js";import{ParagraphsARender as w}from"./ParagraphsA/render.js";import{PaymentBadgesRender as K}from"./PaymentBadges/render.js";import{PostCardRender as N}from"./PostCard/render.js";import{ProcessStepsRender as O}from"./ProcessSteps/render.js";import{ProseRender as Q}from"./Prose/render.js";import{SectionHeaderRender as W}from"./SectionHeader/render.js";import{SeriesRender as _}from"./Series/render.js";import{SpacerRender as j}from"./Spacer/render.js";import{SpecStripRender as q}from"./SpecStrip/render.js";import{SplitRender as z}from"./Split/render.js";import{StatsRender as J}from"./Stats/render.js";import{StatsParagraphRender as U}from"./StatsParagraph/render.js";import{TestimonialsRender as V}from"./Testimonials/render.js";import{TextRender as X}from"./Text/render.js";import{TickerRender as Y}from"./Ticker/render.js";import{TimelineRender as Z}from"./Timeline/render.js";import{TimelineTrackRender as $}from"./TimelineTrack/render.js";import{TitleWithButtonsRender as rr}from"./TitleWithButtons/render.js";const oe={Banner:r,Breadcrumb:e,ButtonBlock:o,Cards:t,CategoryBar:m,Chart:i,ContactLocations:n,CustomHTML:d,Divider:a,DocBody:p,DocMasthead:R,DocMetaCards:f,DocTabs:s,Eyebrow:c,FAQ:S,FeaturedCover:l,Flex:g,Footprint:B,Grid:u,Heading:C,Hero:T,HeroGroup:H,HeroSingle:M,HeroSlide:L,ImageBlock:h,Integrations:k,IntroBleed:y,Countdown:P,KeyFeatures:D,LocationMap:F,LogoBlock:b,Logos:E,LongRead:I,Manifesto:x,Masthead:A,Mockup:G,OrderSummary:v,ParagraphsA:w,PaymentBadges:K,PostCard:N,ProcessSteps:O,Prose:Q,SectionHeader:W,Series:_,Spacer:j,SpecStrip:q,Split:z,Stats:J,StatsParagraph:U,Testimonials:V,Text:X,Ticker:Y,Timeline:Z,TimelineTrack:$,TitleWithButtons:rr};export{oe as GENERAL_RENDERS};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PartRow } from "../../../sections/section-to-box.js";
|
|
2
|
+
type Props = Record<string, unknown>;
|
|
3
|
+
export type HeadLook = "standard" | "editorial" | "simple" | "essay" | "shelf";
|
|
4
|
+
export declare function headLookOf(type: string): HeadLook;
|
|
5
|
+
export declare const HEAD_BELOW: Readonly<Record<HeadLook, number>>;
|
|
6
|
+
export declare function editorialHeadTree(num: string, title: string, description: string): PartRow;
|
|
7
|
+
export declare const token: (step: string, px: number, pxPhone?: number, stepPhone?: string) => Props;
|
|
8
|
+
export declare function headTree(type: string): PartRow;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{SPLITTABLE_SECTIONS as f}from"../../../../../format/lib/sections/section-head-placement.js";import{BUTTON as x,DIM as B,INNER_BOX as o,SH_LINK as E,TEXT as S,smallText as N}from"./section-to-box-row-parts.js";import{labelTextSeed as P}from"../../../../../format/lib/document/text-seeds.js";function L(e){if(e==="ProductGrid")return"shelf";const t=f[e]?.headStyle;return t==="editorial"||t==="simple"||t==="essay"?t:"standard"}const W={standard:64,editorial:60,simple:36,essay:28,shelf:20},_={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function I(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};const t=f[e];if(!t)throw new Error(`section-head-looks: "${e}" has no head row in SPLITTABLE_SECTIONS`);return{num:t.num,title:t.title,description:t.description,link:t.headRows.includes("linkText")&&t.headRows.includes("linkHref")}}function j(e,t,n){const i=`editorial:${e}|${t}|${n}`,r=d.get(i);if(r)return r;const s=w({num:e,title:t,description:n,link:!1});return d.set(i,s),s}const g={top:0,right:0,bottom:1,left:0},a=(e,t,n,i)=>({sizeToken:{step:e,px:t,...i?{stepPhone:i}:{},...n?{pxPhone:n}:{}}}),T=(e,t,n,i)=>({sizeToken:{step:e,px:i,fluid:{minPx:t,vw:n}}}),l=(e,t,n={})=>N(e,{...a("label",t),...n}),c=(e,t)=>({kind:"text",key:e,role:"heading",props:S,style:{textStyle:"heading-2",...t}}),u=(e,t,n,i)=>({kind:"text",key:e,props:{...B,align:"right",maxWidth:n},style:{textStyle:"body-5",fontRole:"heading",...a("body",t),...i}}),k={...x,align:"right",...E,icon:"arrow-right",iconPosition:"after"},h=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:k,style:{textStyle:"body-5",color:"labels",...a("label",e),letterSpacing:.2,case:"upper"}}),b=(e,t,n)=>{const i=n.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...S,...i,...n.props,text:t,_partStyles:{text:{...n.role==="eyebrow"?M(P()):{},...n.style}}}}},M=e=>e._partStyles.text??{};function O(e,t){const n=_[e],i=n==="accent",r=l(t.num,14,{color:i?"accent":"labels"}),s=n==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,m=c(t.title,i?{...T("headingMedium",36,5,64),case:"upper",lineHeight:.95,letterSpacing:-.025}:{...a("headingMedium",56,36),case:"none",lineHeight:1,letterSpacing:-.03}),p=e==="Collections";return{kind:"group",name:"Header",props:{...o,direction:"row",align:"end",justify:"between",gap:40,share:"content",sectionBorder:g,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{...o,direction:"row",align:"end",gap:40,share:"content"},parts:[{kind:"group",name:"Number",props:{...o,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},s,...p?[b(t.num,"==01== / Collections",s)]:[]]},m,...p?[b(t.title,`Three ranges,
|
|
2
|
+
one standard.`,m)]:[]]},{kind:"group",name:"Words",props:{...o,align:"end",gap:12},parts:[...t.description?[u(t.description,14,340,{lineHeight:1.5})]:[],...t.link?[h(14)]:[],...p?[{kind:"block",type:"ButtonBlock",props:{...k,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:h(14).style}}}]:[]]}]}}function w(e){return{kind:"group",name:"Header",props:{...o,direction:"row",align:"end",justify:"between",gap:40,share:"content",sectionBorder:g,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{...o,direction:"row",align:"end",gap:40,share:"content"},parts:[{kind:"group",name:"Number",props:{...o,sectionPaddingBottom:8},parts:[l(e.num,13)]},c(e.title,{...T("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{...o,align:"end",sectionPaddingBottom:4},parts:e.description?[u(e.description,14,360,{lineHeight:1.5})]:[]}]}}function H(e,t){return{kind:"group",name:"Header",props:{...o,gap:16},parts:[l(e.num,13),c(e.title,t)]}}const y=[["para",{textStyle:"body-5",...a("label",13),case:"upper",weight:400,lineHeight:1,letterSpacing:.22}],["sm",{...a("headingMedium",40,28),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["md",{...a("headingMedium",48,32),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["lg",{...a("headingMedium",56,36),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["xl",{...a("headingMedium",64,40),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}]],A=e=>y.some(([t])=>t===e.titleSize)?e.titleSize:"lg";function R(e){return{kind:"group",name:"Header",props:{...o,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:g,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{...o,direction:"row",align:"end",gap:24,share:"content"},parts:[l(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...y.map(([t,n])=>({...c(e.title,n),when:i=>A(i)===t}))]},{kind:"group",name:"Words",props:{...o,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[u(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[h(13)]:[]]}]}}const d=new Map;function D(e){const t=d.get(e);if(t)return t;const n=I(e),i=L(e),r=i==="editorial"?w(n):i==="simple"?H(n,{...a("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}):i==="essay"?H(n,{...a("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):i==="shelf"?R(n):O(e,n);return d.set(e,r),r}export{W as HEAD_BELOW,j as editorialHeadTree,L as headLookOf,D as headTree,a as token};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { SECTION_PAD_INNER_DEFAULTS } from "../../passes/section-padding.js";
|
|
2
|
-
import { type BoxEntry, type PartRow, type SiteWrite } from "../../../sections/section-to-box.js";
|
|
2
|
+
import { type BoxEntry, type ConvertContext, type PartRow, type SiteWrite } from "../../../sections/section-to-box.js";
|
|
3
3
|
type Props = Record<string, unknown>;
|
|
4
4
|
export declare const TEXT: Props;
|
|
5
5
|
export declare const DIM: Props;
|
|
6
6
|
export declare const BUTTON: Props;
|
|
7
|
+
export declare const SH_LINK: Props;
|
|
7
8
|
export declare const BOX: Props;
|
|
8
9
|
export declare const INNER_BOX: Props;
|
|
9
10
|
export declare const SECTION_BOX: Props;
|
|
@@ -25,4 +26,11 @@ export declare const headingCaseOf: (key: string) => (node: {
|
|
|
25
26
|
props: Props;
|
|
26
27
|
}) => readonly SiteWrite[];
|
|
27
28
|
export declare const smallText: (key: string, style?: Props) => PartRow;
|
|
29
|
+
export declare const bandPage: (stored: unknown, ctx: ConvertContext) => number;
|
|
30
|
+
export declare const bandIndex: (p: Props, ctx: ConvertContext) => number;
|
|
31
|
+
export declare const bandAccent: (stored: unknown, p: Props, ctx: ConvertContext) => unknown;
|
|
32
|
+
export declare const bandProps: (p: Props, ctx: ConvertContext) => Props;
|
|
33
|
+
export declare const bandWrites: (node: {
|
|
34
|
+
props: Props;
|
|
35
|
+
}, ctx: ConvertContext) => SiteWrite[];
|
|
28
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{NESTED_BOX_PADDING as
|
|
1
|
+
import{phoneKey as P}from"efficient-easel/draw";import{ENTRANCE_KEYS as h}from"../../../animation/entrance.js";import{NESTED_BOX_PADDING as m}from"../../../../../format/lib/content/box-layout.js";import{resolveSectionPadding as u}from"../../../content/section-padding.js";import{ButtonBlockMeta as f}from"../../../../../format/lib/document/blocks/general/ButtonBlock/meta.js";import{TextMeta as x}from"../../../../../format/lib/document/blocks/general/Text/meta.js";import{SECTION_PAD_INNER_DEFAULTS as b}from"../../passes/section-padding.js";import{finiteNumber as d}from"../../../../../format/lib/finite-number.js";import{hasWords as l}from"../../../sections/section-to-box.js";import{bandPresetIndex as T}from"../../../../../format/lib/theme.js";const{text:v,tag:C,...B}=x.defaultProps,c=B,H={...c,tone:"dim"},{label:R,href:L,..._}=f.defaultProps,K=_,U={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},a={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},X={...a,direction:"column",...m},F={...a,sectionAccent:0},j=["gridSpan","sectionHeightMode","sectionHeightValue","sectionHeightUnit","sectionHeightModePhone","sectionHeightValuePhone","sectionHeightUnitPhone","sectionCorners","sectionCornerSides","sectionBorder","sectionBorderPhone","sectionAccent","stickTop","stickTopDistance","stickTopPhone","stickTopDistancePhone","anchor","sectionAnimation","_hidden",...Object.values(h).flatMap(t=>[t,P(t)]),"widthFit","widthFitPhone","width","widthPhone","minWidth","minWidthPhone","maxWidth","maxWidthPhone"],i="a section width key, ignored since efficient-web-builder 45 (every section, and a section's root Box, follows Site styles only; Lewis 2026-10-29), so dropping it changes nothing",G={sectionSurface:"read by nothing in src/ (searched 2026-10-24): a retired theme key that draws nothing today, so dropping it changes nothing",widthMode:i,fullWidth:i,pageWidth:i,backgroundWidth:i,contentWidth:i,contentMax:i},V=Object.fromEntries(["sectionPaddingLeft","sectionPaddingRight","sectionPaddingLeftPhone","sectionPaddingRightPhone"].map(t=>[t,"needs Box side padding outside its gutter: the old section added it outside its frame, a Box's side padding replaces the gutter. 0 live nodes store it (JJ's read-only export, 2026-10-24)"]));function E(t,o){const e=d(t.sectionPaddingTop)??0,n=d(t.sectionPaddingBottom)??0;return{sectionPaddingTop:e+o.top,sectionPaddingBottom:n+o.bottom,sectionPaddingTopPhone:(d(t.sectionPaddingTopPhone)??e)+o.topPhone,sectionPaddingBottomPhone:(d(t.sectionPaddingBottomPhone)??n)+o.bottomPhone}}const J=t=>["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(e,n)=>E(n,typeof t=="function"?t(n):t)[o]]);function s(t,o){const e=u(t,b[o]);return{sectionPaddingTop:e.top,sectionPaddingBottom:e.bottom}}const Y=t=>[["padTop","sectionPaddingTop",(o,e)=>s(e,t).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,e)=>s(e,t).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,e)=>s(e,t).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,e)=>s(e,t).sectionPaddingBottom]],S={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},q=t=>o=>l(o.props[t])?[S]:[],z=(t,o)=>({kind:"text",key:t,role:"eyebrow",props:c,...o?{style:o}:{}}),p=t=>t.background!=="transparent",g=(t,o)=>typeof t=="number"&&Number.isInteger(t)&&t>=0?t:o.site?.selectedPreset??0,r=(t,o)=>{const e=o.site?.themePresets;return e&&p(t)?T(e,g(t.sectionAccent,o)):-1},Q=(t,o,e)=>{const n=r(o,e);return n>=0?n:t},Z=(t,o)=>{const e=r(t,o);return e>=0?{sectionAccent:e}:{}},$=(t,o)=>p(t.props)&&r(t.props,o)<0?[{kind:"band-preset",page:g(t.props.sectionAccent,o)}]:[];export{a as BOX,K as BUTTON,H as DIM,G as DROP_COMMON,V as DROP_SIDE_PADDING,S as HEADING_CASE_UPPER,X as INNER_BOX,j as SAME_KEYS,F as SECTION_BOX,U as SH_LINK,c as TEXT,Q as bandAccent,r as bandIndex,g as bandPage,Z as bandProps,$ as bandWrites,q as headingCaseOf,s as innerPad,Y as innerPadKeys,z as smallText,E as wrapperPad,J as wrapperPadKeys};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cardColumns as D}from"../../../../components/Cards.js";import{CardsMeta as L}from"../../../../../format/lib/document/blocks/general/Cards/meta.js";import{KeyFeaturesMeta as v}from"../../../../../format/lib/document/blocks/general/KeyFeatures/meta.js";import{finiteNumber as g}from"../../../../../format/lib/finite-number.js";import{parseSectionHeadPlacement as F}from"../../../../../format/lib/sections/section-head-placement.js";import{BUTTON as K,DIM as h,DROP_COMMON as a,DROP_SIDE_PADDING as i,INNER_BOX as s,SAME_KEYS as d,SECTION_BOX as p,SH_LINK as I,TEXT as r,headingCaseOf as m,smallText as n,wrapperPad as l,wrapperPadKeys as c}from"./section-to-box-row-parts.js";import{headTree as b}from"./section-head-looks.js";const t=(e,o,B,T)=>({sectionBorder:{top:e,right:o,bottom:B,left:T}}),u=(e,o=e)=>({sectionPaddingTop:e,sectionPaddingRight:e,sectionPaddingBottom:e,sectionPaddingLeft:e,sectionPaddingTopPhone:o,sectionPaddingRightPhone:o,sectionPaddingBottomPhone:o,sectionPaddingLeftPhone:o}),k=e=>o=>D(g(o.columns)??g(e.columns)),y=e=>({kind:"group",name:"Grid",props:{...s,gap:0,...t(1,0,0,1)},parts:[e]}),w={...s,direction:"row",gap:0,share:"equal"},P="its head sits in a Box of its own above it (own-box): the row draws the head inline",x=e=>F(e.headPlacement)==="own-box",f="inline is the head the row draws; an own-box node is skipped (`skip`)",A=e=>({kind:"group",name:"Heading",props:e,parts:[n("eyebrow"),{kind:"text",key:"title",role:"heading",props:r,style:{textStyle:"heading-3"},was:{size:44}}]}),S={top:72,bottom:72,topPhone:72,bottomPhone:72},z={...s,gap:12,...u(32,28),...t(0,1,1,0)},M={name:"Cards",boxProps:e=>({...p,direction:"column",gap:36,...l(e,S)}),box:[...d,...c(S)],skip:e=>x(e)?P:typeof e.dataSource=="string"&&e.dataSource?"its cards come from a source: a data list, which waits for the card template on Cards":e.cardStyle==="label-only"?"Label only is Key Features' look: no live node holds it, so it has no row of its own yet":void 0,parts:[b("Cards"),y({kind:"list",key:"items",name:"Card",perRow:k(L.defaultProps),rowName:"Row",rowProps:w,props:z,parts:[{kind:"text",key:"title",props:r,style:{textStyle:"heading-3"},was:{size:20}},{kind:"text",key:"body",props:h,style:{textStyle:"body-1"},was:{size:15}}]})],site:m("title"),drop:{...a,...i,columns:"the rows of N: one Row Box per `columns` cards, which the Box draws as N equal blocks",cardStyle:"the standard card is what the row draws; a Label only node is skipped (0 live nodes)",dataSource:"an empty source is typed cards, what the row draws; a sourced node is skipped (0 live nodes)",dataSourceOptions:"read only with a source; a sourced node is skipped (0 live nodes)",headPlacement:f,eyebrowLook:"needs the eyebrow's Filled look on a Text block: Plain is the eyebrow start look the row draws; 2 of 62 live nodes store it (JJ's export, 2026-10-24)"}},O={top:76,bottom:76,topPhone:76,bottomPhone:76},W={...s,direction:"row",align:"center",gap:16,sectionPaddingTop:32,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...t(0,1,1,0)},R={textStyle:"body-1",color:"text"},N=(e,o)=>typeof o?.href=="string"&&o.href.trim()!=="",J={name:"Key Features",boxProps:e=>({...p,direction:"column",gap:44,...t(1,0,1,0),...l(e,O)}),box:[...d,...c(O)],parts:[A({...s,direction:"row",align:"end",gap:20,wrap:!0,share:"content"}),y({kind:"list",key:"items",name:"Feature",perRow:k(v.defaultProps),rowName:"Row",rowProps:w,props:W,parts:[{kind:"button",key:"label",href:"href",when:N,variant:"ghost",props:{...K,...I,icon:"none"},style:R},{kind:"text",key:"label",when:(e,o)=>!N(e,o),props:r,style:R,was:{size:17}}]})],site:m("title"),drop:{...a,...i,columns:"the rows of N: one Row Box per `columns` cells, which the Box draws as N equal blocks",eyebrowLook:"needs the eyebrow's Filled look on a Text block: Filled is Key Features' own default (lib/sections/section-eyebrow-look), so 20 of 21 published nodes draw it with nothing stored; the row draws the Plain start look (JJ's export, 2026-10-24)"}},_={top:120,bottom:120,topPhone:80,bottomPhone:80},H={...s,gap:16,sectionPaddingTop:36,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...t(0,1,1,0)},C={...s,direction:"row",justify:"between",gap:12,share:"content"},X={name:"Recurring Columns",boxProps:e=>({...p,direction:"column",gap:60,...t(0,0,1,0),...l(e,_)}),box:[...d,...c(_)],skip:e=>x(e)?P:void 0,parts:[b("Series"),y({kind:"list",key:"cards",name:"Column",perRow:()=>4,rowName:"Row",rowProps:w,props:H,parts:[{kind:"group",name:"Top",props:C,parts:[n("num"),n("since")]},{kind:"text",key:"title",props:{...r,tag:"h3"},style:{textStyle:"heading-3"},was:{size:28}},{kind:"text",key:"desc",props:h,style:{textStyle:"body-5"},was:{size:14}},{kind:"group",name:"Footer",props:{...C,justify:"start",align:"center",gap:8,sectionPaddingTop:16,...t(1,0,0,0)},parts:[n("entries",{color:"text"}),n("entriesLabel",{color:"labels"})]}]})],site:m("headTitle"),drop:{...a,...i,headPlacement:f,viewLabel:"the ONE label every card's footer repeated: a block per card would be N copies of one words. Empty on every live node (3 of 3 store it hidden or empty, JJ's export, 2026-10-24)",background:"needs a Box background ink (the section stores a theme token, `var(--section-bg)` on 3 of 3 live nodes): the Box's theme draws its background"}},E={top:60,bottom:60,topPhone:40,bottomPhone:40},q={...s,gap:8,...u(24),...t(1,1,1,1)},j={name:"Document Detail Cards",boxProps:e=>({...p,direction:"column",gap:40,...t(0,0,1,0),...l(e,E)}),box:[...d,...c(E)],parts:[{kind:"list",key:"cards",name:"Card",perRow:()=>3,rowName:"Row",rowProps:{...w,gap:40},props:q,parts:[n("label"),{kind:"text",key:"value",props:r,style:{textStyle:"heading-3"},was:{size:20}},{kind:"text",key:"desc",props:h,style:{textStyle:"body-5",italic:!0},was:{size:14}}]}],drop:{...a,...i}},ee={Cards:M,KeyFeatures:J,Series:X,DocMetaCards:j};export{ee as CARDS_SECTION_TO_BOX};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SectionToBoxRow } from "../../../sections/section-to-box.js";
|
|
2
|
+
export declare const HEAD_ONLY_TYPES: readonly string[];
|
|
3
|
+
export declare function headOnlyRow(type: string): SectionToBoxRow;
|
|
4
|
+
export declare const HEAD_ONLY_SECTION_TO_BOX: Readonly<Record<string, SectionToBoxRow>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SPLITTABLE_SECTIONS as p}from"../../../../../format/lib/sections/section-head-placement.js";import{SECTION_LABELS as l}from"../../../../../format/lib/document/section-catalog.js";import{SAME_KEYS as m,SECTION_BOX as P,innerPad as h}from"./section-to-box-row-parts.js";import{HEAD_BELOW as T,headLookOf as E,headTree as O}from"./section-head-looks.js";import{finiteNumber as u}from"../../../../../format/lib/finite-number.js";const S=["Collections","Events","FAQ","FitmentFinder","FitmentTable","Footprint","GalleryB","LongRead","ProcessSteps","ProductGrid","RelatedProducts","SpecTable"],t=(o,e)=>()=>({top:o,topPhone:e}),a=o=>e=>{const n=h(e,o).sectionPaddingTop;return{top:n,topPhone:n}},f={Collections:t(120,70),Events:t(120,70),FAQ:t(120,70),GalleryB:t(120,70),FitmentTable:t(120,80),SpecTable:t(120,80),LongRead:t(120,80),FitmentFinder:o=>o.layout==="bar"?{top:32,topPhone:20}:{top:80,topPhone:60},RelatedProducts:t(0,0),Footprint:a("Footprint"),ProcessSteps:a("ProcessSteps"),ProductGrid:o=>({top:u(o.padTop)??120,topPhone:0})};function b(o){const e=p[o],n=f[o];if(!e||!n)throw new Error(`section-to-box-rows-head: "${o}" has no head row or no head room`);const s=e.padKey,c=O(o),d=e.headRows.filter(r=>![e.num,e.title,e.description,"linkText","linkHref"].includes(r));return{name:l[o]??o,boxProps:r=>{const i=n(r);return{...P,direction:"column",gap:T[E(o)],sectionPaddingTop:i.top,sectionPaddingTopPhone:i.topPhone}},box:[...m,...s?[[s,"sectionPaddingTop",(r,i)=>n(i).top]]:[]],parts:[c,{kind:"core",keep:"rest",...s?{props:{[s]:0}}:{}}],...d.length?{drop:Object.fromEntries(d.map(r=>[r,"a head setting: the Header Box's Text parts draw it (lib/document/blocks/general/section-head-looks)"]))}:{}}}const A=Object.fromEntries(S.map(o=>[o,b(o)]));export{A as HEAD_ONLY_SECTION_TO_BOX,S as HEAD_ONLY_TYPES,b as headOnlyRow};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SECTION_BOX_SLOT as W,SECTION_BOX_TYPE as G}from"../../../sections/section-to-box.js";import{BUTTON as b,DIM as i,DROP_COMMON as j,DROP_SIDE_PADDING as X,INNER_BOX as n,SAME_KEYS as v,SECTION_BOX as S,SH_LINK as f,TEXT as p,bandAccent as $,bandIndex as K,bandPage as z,bandProps as P,bandWrites as U,smallText as d,wrapperPad as l}from"./section-to-box-row-parts.js";import{editorialHeadTree as Y,token as c}from"./section-head-looks.js";import{declaredBlockSource as w}from"../../../../../format/lib/content/block-sources.js";import{parseLocationTileShape as q,splitLegacyRegion as x}from"../../../../../format/lib/content/contact.js";import{groupColumns as g}from"../../../../../format/lib/locations-grid.js";import{phoneHref as F}from"../../../../../format/lib/links/phone-href.js";import{hasMapCoords as V}from"../../../../../format/lib/map-styles.js";const r=e=>typeof e=="string"?e:e==null?"":String(e),m=e=>Array.isArray(e.locations)?e.locations.map(t=>t??{}):[],s=e=>r(e.group),B=e=>`loc-${e}`,T=e=>r(e.state).trim()||x(r(e.region)).state,O=e=>r(e.country).trim()||x(r(e.region)).country,_=e=>[T(e),O(e)].filter(Boolean).join(" · "),J=e=>m(e).some(t=>r(t.photo).trim()!==""),Q=e=>m(e).some(t=>V(Number(t.lat),Number(t.lng))),Z=(e,t)=>m(e).filter(o=>s(o)===s(t)).length,ee=(e,t)=>Z(e,t)===1?"wide":q(e.imageShape),h={top:100,bottom:100,topPhone:60,bottomPhone:60},N=48,a=(e,t={})=>({textStyle:"body-5",...c("label",e),case:"upper",...t}),y={top:1,right:1,bottom:1,left:1},u=(e,t)=>({sectionPaddingTop:e,sectionPaddingBottom:e,sectionPaddingLeft:t,sectionPaddingRight:t,sectionPaddingTopPhone:e,sectionPaddingBottomPhone:e,sectionPaddingLeftPhone:t,sectionPaddingRightPhone:t}),k={...n,direction:"row",share:"equal",gap:0},C=(e,t={})=>o=>o>g(o)?{...n,gap:0}:{...k,...t,...e&&o>1?{phoneRow:e}:{}},te=250,E={wrap:!0},oe={kind:"group",name:"Gallery",props:{...n,gap:20},when:J,parts:[{kind:"group",name:"Gallery head",props:{...n,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[d("galleryKicker",a(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...i,align:"right"},style:a(11,{letterSpacing:.22})}]},{kind:"group",name:"Groups",props:{...n,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{...n,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:y,...u(12,12)},item:(e,t,o)=>({props:{...r(e.photo).trim()?{bgImage:r(e.photo)}:{},link:`#${B(t)}`,boxShape:ee(o,e)}}),parts:[{kind:"text",key:"name",props:p,style:a(11,{letterSpacing:.22,color:"text"})}],groups:{of:s,name:"Group",props:{...n,gap:10},head:e=>({label:s(e[0]??{})}),parts:[d("label",a(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:C(2),perRow:g,rowName:"Row",rowProps:{...k,phoneRow:2}}}]}]},ne={kind:"group",name:"Words",props:{...n,gap:12,...u(28,28),sectionBorder:{bottom:1},sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{...n,direction:"row",justify:"between",align:"start",gap:14,share:"content",wrap:!0},parts:[{kind:"group",name:"Name",props:{...n,gap:6},parts:[{kind:"text",key:"name",role:"heading",props:p,style:{textStyle:"heading-3",...c("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...p,_partStyles:{text:a(12,{color:"accent",letterSpacing:.24})}},box:["region","state","country"].map(e=>[e,"text",(t,o)=>_(o)]),when:(e,t)=>_(t??{})!==""}]},{kind:"group",name:"Time zone",props:{...n,sectionBorder:y,...u(6,10)},parts:[{kind:"text",key:"timezone",props:i,style:a(12,{letterSpacing:.22})}]}]},{kind:"text",key:"address",props:i,style:{textStyle:"body-5",fontRole:"heading",...c("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...b,...f,variant:"ghost",arrow:!1,_partStyles:{label:a(13,{letterSpacing:.18,color:"text"})}},box:[["phone","label"],["phone","href",e=>F(r(e))??"#"]],when:(e,t)=>r(t?.phone).trim()!==""},{kind:"text",key:"hours",props:i,style:a(12,{letterSpacing:.18,lineHeight:1.7})}]},re={kind:"block",type:"LocationMap",props:e=>({mapTheme:typeof e.mapTheme=="string"?e.mapTheme:"auto"}),box:["name","lat","lng","mapsUrl","geocode",...["region","state"].map(e=>[e,"state",(t,o)=>T(o)]),...["region","country"].map(e=>[e,"country",(t,o)=>O(o)])]},ae={kind:"list",key:"locations",name:"City",props:(e,t)=>({...n,gap:0,sectionBorder:y,jumpHighlight:!0,minWidth:te,sectionAccent:K(e,t)>=0?z(e.sectionAccent,t):-1}),item:(e,t)=>({props:{anchor:B(t)}}),parts:[ne,re],groups:{of:s,name:"Group",props:{...n,gap:20},head:e=>{const t=e[0]??{};return{key:s(t),groupName:r(t.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{...n,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,t)=>r(t?.key).trim()!=="",parts:[d("key",a(13,{color:"accent",letterSpacing:.3})),{kind:"text",key:"groupName",role:"heading",props:p,style:{textStyle:"heading-3",...c("headingSmall",24),case:"upper",weight:500,letterSpacing:-.01}},{kind:"text",key:"count",props:i,style:a(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:C(void 0,E),perRow:g,rowName:"Row",rowProps:{...k,...E}}},M=a(10,{letterSpacing:.25}),ie={kind:"block",type:G,props:{...n,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:Q,slot:W,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...i,text:"Location coordinates ©",_partStyles:{text:M}}},{kind:"block",type:"ButtonBlock",props:{...b,...f,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...M,color:"labels"}}}}]},R=(e,t)=>Object.fromEntries(t.filter(o=>e[o]!==void 0).map(o=>[o,e[o]])),A=["sectionPaddingTop","sectionPaddingTopPhone"],L=["sectionPaddingBottom","sectionPaddingBottomPhone"],I=e=>e.map(t=>[t,t,(o,D)=>l(D,h)[t]]),H=["sectionAccent","sectionAccent",$],se=["gridSpan","_hidden"],pe={name:"City pictures",skip:e=>w(e)?`fed by the data source "${w(e)}": its cities are read as the page is served, not stored on the node`:void 0,boxProps:(e,t)=>({...S,direction:"column",gap:40,anchor:"studios",...R(l(e,h),A),sectionPaddingBottom:N,sectionPaddingBottomPhone:N,...P(e,t)}),box:[...v.filter(e=>e!=="sectionAccent"&&e!=="anchor"),H,["anchor","anchor",e=>r(e).trim()?e:"studios"],...I(A)],parts:[Y("sectionNumber","heading","tagline"),oe],also:[{name:"City maps",boxProps:(e,t)=>({...S,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...R(l(e,h),L),...P(e,t)}),box:[...se,H,...I(L)],parts:[ae,ie]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:U,drop:{...j,...X,apiKey:"a stored Google Maps key from before the map needed none: the website's one map (components/SiteMap) takes no key, and a key is a credential, never page content",mapId:"a Google Maps style id from the same retired map: nothing in src/ reads it",gallery:"the retired separate tile list: the wall is derived from the cities (`components/ContactLocations`), nothing in src/ reads it",dataSource:"always empty here: a node fed by a source is skipped (see skip)"}},ke={ContactLocations:pe};export{ke as LOCATIONS_SECTION_TO_BOX};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasWords as t}from"../../../sections/section-to-box.js";import{DROP_COMMON as d,DROP_SIDE_PADDING as i,INNER_BOX as l,SAME_KEYS as c,SECTION_BOX as p,TEXT as n,smallText as g,wrapperPad as s,wrapperPadKeys as m}from"./section-to-box-row-parts.js";import{finiteNumber as P}from"../../../../../format/lib/finite-number.js";const h={contained:!1},b=(o,e)=>({logos:[{kind:"list",key:o,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[e,"alt"]],when:(S,r)=>t(r?.src)||t(r?.[e])}]}]}),a=o=>{const e=P(o.bandPadding)??40;return{top:e,bottom:e,topPhone:e,bottomPhone:e}},k={...g("heading",{color:"labels",letterSpacing:.2}),props:{...n,align:"center"}},
|
|
1
|
+
import{hasWords as t}from"../../../sections/section-to-box.js";import{DROP_COMMON as d,DROP_SIDE_PADDING as i,INNER_BOX as l,SAME_KEYS as c,SECTION_BOX as p,TEXT as n,smallText as g,wrapperPad as s,wrapperPadKeys as m}from"./section-to-box-row-parts.js";import{finiteNumber as P}from"../../../../../format/lib/finite-number.js";const h={contained:!1},b=(o,e)=>({logos:[{kind:"list",key:o,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[e,"alt"]],when:(S,r)=>t(r?.src)||t(r?.[e])}]}]}),a=o=>{const e=P(o.bandPadding)??40;return{top:e,bottom:e,topPhone:e,bottomPhone:e}},k={...g("heading",{color:"labels",letterSpacing:.2}),props:{...n,align:"center"}},O={name:"Logos",boxProps:o=>({...p,direction:"column",gap:32,...s(o,a(o))}),box:[...c,...m(a),["bandPadding","sectionPaddingTop",(o,e)=>s(e,a(e)).sectionPaddingTop]],parts:[k,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:h,slots:b("items","alt")}],drop:{...d,...i,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)",headPlacement:"a Logos band has no split head (not in SPLITTABLE_SECTIONS): no stored node can hold one, and the converted block stores own-box"}},u={top:24,bottom:24,topPhone:24,bottomPhone:24},f={name:"Payment Methods",boxProps:o=>({...p,direction:"column",...s(o,u)}),box:[...c,...m(u)],skip:o=>t(o.dataSource)?"its payment methods come from a data source (a venue's Setup): a sourced list needs the card template (plan §3.2), not built yet":void 0,parts:[{kind:"group",name:"Methods",props:{...l,align:"center",gap:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...g("heading",{color:"labels"}),props:{...n,align:"center"}},{kind:"core",keep:[],as:"Logos",props:{...h,look:"cards",grayscale:!1},slots:b("badges","label")},{kind:"group",name:"Reassurance",props:{...l,direction:"row",wrap:!0,justify:"center",gap:24},parts:[{kind:"list",key:"assurances",name:"Line",flat:!0,parts:[{kind:"text",key:"text",props:{...n,align:"center"},style:{size:13,color:"labels"}}]}]}]}],drop:{...d,...i,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)",dataSource:"empty: no source, so the authored badges above are the list (a node that names a source is skipped, see `skip`)"}},L={Logos:O,PaymentBadges:f};export{L as LOGOS_SECTION_TO_BOX};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasWords as l}from"../../../sections/section-to-box.js";import{
|
|
1
|
+
import{phoneKey as d}from"efficient-easel/draw";import{hasWords as l}from"../../../sections/section-to-box.js";import{DROP_COMMON as c,DROP_SIDE_PADDING as h,INNER_BOX as o,SAME_KEYS as g,SECTION_BOX as u,TEXT as a,innerPad as S,innerPadKeys as x,smallText as f}from"./section-to-box-row-parts.js";import{headTree as w}from"./section-head-looks.js";const n=t=>typeof t=="string"?t.trim():"";function i(t){const e=`${n(t.prefix)}${n(t.value)}`,s=n(t.suffix);return t.emphasizeAll===!0?e?`==_${e}_==`:"":`${e}${s?`==_${s}_==`:""}`}const r={kind:"block",type:"Text",props:{...a,_partStyles:{text:{textStyle:"heading-1",case:"none",lineHeight:.9,letterSpacing:-.04}}},box:[["value","text",(t,e)=>i(e)]],when:(t,e)=>e!==void 0&&typeof e.value=="string"&&i(e)!==""},p=t=>l(t?.supSuffix),b={name:"Stats with Text",boxProps:t=>({...u,direction:"column",gap:60,sectionBorder:{bottom:1},...S(t,"StatsParagraph")}),box:[...g,...x("StatsParagraph")],parts:[w("StatsParagraph"),{kind:"group",name:"Stats",props:{...o,gap:0},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{...o,direction:"row",gap:0,share:"equal"},props:{...o,justify:"between",gap:12,sectionPaddingTop:48,sectionPaddingBottom:48,sectionPaddingLeft:32,sectionPaddingRight:32,sectionBorder:{top:1,right:1,bottom:1,left:1}},parts:[{...r,when:(t,e)=>!p(e)&&r.when(t,e)},{kind:"group",name:"Figure",props:{...o,direction:"row",align:"start",gap:32,share:"content",phoneRow:2,[d("share")]:"content"},when:(t,e)=>p(e),parts:[r,{kind:"text",key:"supSuffix",props:a,style:{textStyle:"body-5",color:"accent",letterSpacing:.18,lineHeight:1,padding:18}}]},{kind:"group",name:"Words",props:{...o,gap:4},parts:[{kind:"text",key:"label",props:a,style:{textStyle:"body-1",letterSpacing:-.01},was:{size:16}},f("sub",{color:"labels",letterSpacing:.24})]}]}]}],drop:{...c,...h,background:"needs a Box fill: the old band painted this colour (the theme's section band, `var(--section-bg)`, or none) behind the head and round the cards, and a Box paints only its theme's page colour",headPlacement:"needs a row per head placement: an own-box Stats with Text draws no head (its words sit in a Section Header above it), the row always draws the head"}},T={StatsParagraph:b};export{T as STATS_SECTION_TO_BOX,i as figureWords};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{finiteNumber as x}from"../../../../../format/lib/finite-number.js";import{parseTickerSeparator as T}from"../../../../../format/lib/sections/ticker-style.js";import{DIM as o,DROP_COMMON as i,DROP_SIDE_PADDING as n,SAME_KEYS as r,SECTION_BOX as s,TEXT as b,wrapperPad as a,wrapperPadKeys as p}from"./section-to-box-row-parts.js";import{SPEC_PAD as d,SPEC_STRIP as u,SPEC_TEXT as l,STRIP_BOX as c,TICKER_DISPLAY as _,TICKER_PAD as m,TICKER_SMALL as f,TICKER_STRIP as k}from"../../../../../format/lib/sections/strip-shape.js";const h=e=>e.size==="display",P=(e,t)=>({kind:"list",key:"items",name:"Item",flat:!0,when:t,parts:[{kind:"text",key:"text",props:o,style:e}]}),y={name:"Scrolling Bar",boxProps:e=>({...s,...c,...k,...a(e,m)}),box:[["separator","separator",e=>T(e)],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...r,["tone","sectionAccent",(e,t)=>t.sectionAccent!==void 0?x(t.sectionAccent):e==="plain"?-1:void 0],...p(m)],parts:[P(f,e=>!h(e)),P(_,h)],drop:{...i,...n,scrollDirection:"carried to Loop › Direction (the Box's Animation tab) by this row once the Box Loop build PR (Panels And Popups director) is merged; the row stays OFF until then",speed:"carried to Loop › Duration (the Box's Animation tab) by this row once the Box Loop build PR (Panels And Popups director) is merged; the row stays OFF until then",join:"the band sitting inside its neighbour: absent on all 18 live Tickers (JJ 2026-10-27), and not the separator",size:"each item's Text style: Small → Body 5, Display → Heading 3"}},S=e=>e?.tone==="muted",I={name:"Spec Strip",boxProps:e=>({...s,...c,...u,...e.fill==="none"?{sectionBorder:{top:1}}:{},...a(e,d)}),box:[...r,...p(d)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:b,style:l,when:(e,t)=>!S(t)},{kind:"text",key:"text",props:o,style:l,when:(e,t)=>S(t)}]}],drop:{...i,...n,fill:"None → no fill and a line on top. Dark band → the Box follows its theme: the old fixed `plate-band` colour has no home (no site write adds a theme preset since 8622589f); the merchant picks a dark theme on the Box"}},O={Ticker:y,SpecStrip:I};export{O as STRIP_SECTION_TO_BOX};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{BUTTON as g,DIM as s,bandAccent as S,bandIndex as _,bandPage as E,bandWrites as I,DROP_COMMON as h,DROP_SIDE_PADDING as m,INNER_BOX as i,SAME_KEYS as b,SECTION_BOX as y,TEXT as l,headingCaseOf as u,innerPad as x,innerPadKeys as k}from"./section-to-box-row-parts.js";import{splitParagraphs as B}from"../../../../components/goldPhrases.js";import{TIMELINE_YEAR_BOX as O,TIMELINE_YEAR_HEAD as w}from"../../../../../format/lib/sections/timeline-year-shape.js";const A="jetbrains-mono",P="space-grotesk",r=(e,t,o={})=>({textStyle:"body-5",font:A,size:e,sizePhone:e,letterSpacing:t,lineHeight:1.5,weight:400,...o}),p=(e,t,o,d)=>({font:P,size:e,sizePhone:t,case:"upper",weight:500,letterSpacing:o,lineHeight:d}),a=(e,t,o,d={})=>({textStyle:"body-1",font:P,size:e,sizePhone:t,weight:400,case:"none",lineHeight:o,...d}),n=(e,t,o={})=>({kind:"text",key:e,props:l,style:t,...o}),T=(e,t)=>t?.future===!0,f=(e,t)=>{const o=t.site?.themePresets?.[E(e.sectionAccent,t)]?.line;return o?{buttonBorder:{width:1,color:o}}:{}},c=e=>B(typeof e?.body=="string"?e.body:""),H={name:"Milestone Timeline",boxProps:(e,t)=>{const o=_(e,t);return{...y,direction:"column",gap:60,sectionBorder:{bottom:1},...x(e,"TimelineTrack"),...o>=0?{sectionAccent:o}:{}}},box:[...b.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",S],...k("TimelineTrack")],parts:[{kind:"group",name:"Heading",props:{...i,direction:"row",align:"end",justify:"between",gap:40,share:"content",sectionPaddingBottom:32,sectionBorder:{bottom:1}},parts:[{kind:"group",name:"Title",props:{...i,direction:"row",align:"end",gap:40,share:"content"},parts:[n("eyebrow",r(13,.3,{case:"upper",color:"accent",padding:8}),{role:"eyebrow"}),n("title",{textStyle:"heading-2",...p(79,40,-.03,1)},{role:"heading"})]},n("intro",a(14,14,1.5),{props:{...s,align:"right",maxWidth:360}})]},{kind:"group",name:"Years",props:{...i,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{...i,...O},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:w.name,props:{...i,...w},parts:[n("date",r(13,.22,{color:"accent"}),{when:(e,t)=>!T(e,t)}),n("date",r(13,.22,{color:"labels"}),{when:T}),n("title",{textStyle:"heading-3",...p(20,20,-.02,1.1)},{role:"heading"})]},n("blurb",a(13,13,1.55),{props:s})]}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:(e,t)=>({...g,align:"right",...f(e,t)}),style:r(13,.3,{case:"upper"})}],site:(e,t)=>[...u("title")(e),...I(e,t)],drop:{...h,...m,background:"the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write (`lib/theme` `bandPresetIndex`)",headPlacement:"needs a row per head placement: an own-box Milestone Timeline draws no head (its words sit in a Section Header above it), the row always draws the head"}},M={name:"Story Timeline",skip:e=>{const t=typeof e.layout=="string"?e.layout:"split";return t==="split"?void 0:`display "${t}": not converted (0 live pages; Spine and Alternating are not offered, a Track story is not stored anywhere)`},boxProps:e=>({...y,direction:"row",share:"twoThree",gap:80,align:"start",...x(e,"Timeline")}),box:[...b,...k("Timeline")],parts:[{kind:"group",name:"Heading",props:{...i,gap:24},parts:[n("eyebrow",r(12,.3,{case:"upper",color:"accent"}),{role:"eyebrow"}),n("title",{textStyle:"heading-2",...p(72,40,-.03,.94)},{role:"heading"}),n("intro",a(14,14,1.6),{props:{...s,maxWidth:360}}),{kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{...i,sectionBorder:{top:1,right:1,bottom:1,left:1},darken:75,darkenStyle:"bottom",placement:"bottom-center",sectionHeightMode:"fixed",sectionHeightValue:667,sectionHeightUnit:"px",sectionHeightModePhone:"fixed",sectionHeightValuePhone:419,sectionHeightUnitPhone:"px",sectionPaddingTop:12,sectionPaddingBottom:12,sectionPaddingLeft:16,sectionPaddingRight:16,sectionPaddingTopPhone:12,sectionPaddingBottomPhone:12,sectionPaddingLeftPhone:16,sectionPaddingRightPhone:16},when:e=>typeof e.imageSrc=="string"&&e.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{...i,direction:"row",justify:"between",align:"center",gap:12,share:"content",phoneRow:2},parts:[n("imageCaption",r(11,.24,{case:"upper",color:"text"})),n("imageMeta",r(11,.24,{case:"upper",color:"accent"}),{props:{...l,align:"right"}})]}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:(e,t)=>({...g,...f(e,t)}),style:r(13,.3,{case:"upper"})}]},{kind:"group",name:"Chapters",props:{...i,gap:48,line:!1},parts:[{kind:"list",key:"entries",name:"Chapter",props:{...i,direction:"row",gap:24,share:"biggerRight",align:"start"},parts:[n("date",r(13,.24,{color:"accent"})),{kind:"group",name:"Words",props:{...i,gap:14},parts:[n("title",{textStyle:"heading-3",...p(24,20,-.02,1.5)},{role:"heading"}),{kind:"block",type:"Text",props:{...l,_partStyles:{text:a(17,16,1.6)}},box:[["body","text",(e,t)=>c(t)[0]??""]],when:(e,t)=>c(t).length>0},{kind:"block",type:"Text",props:{...s,_partStyles:{text:a(17,16,1.6,{paragraphSpacing:14})}},box:[["body","text",(e,t)=>c(t).slice(1).join(`
|
|
2
|
+
|
|
3
|
+
`)]],when:(e,t)=>c(t).length>1}]}]}]}],site:u("title"),drop:{...h,...m,layout:"Split is the only display converted (see skip); the Box's own arrangement replaces it"}},v={TimelineTrack:H,Timeline:M};export{v as TIMELINE_SECTION_TO_BOX};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasWords as
|
|
1
|
+
import{hasWords as x,registerSectionToBox as o}from"../../../sections/section-to-box.js";import{BUTTON as m,DIM as d,DROP_COMMON as n,DROP_SIDE_PADDING as p,INNER_BOX as t,SAME_KEYS as r,SECTION_BOX as i,TEXT as s,headingCaseOf as O,innerPad as c,innerPadKeys as y,smallText as a,wrapperPad as l,wrapperPadKeys as h}from"./section-to-box-row-parts.js";import{CARDS_SECTION_TO_BOX as T}from"./section-to-box-rows-cards.js";import{finiteNumber as f}from"../../../../../format/lib/finite-number.js";import{STATS_SECTION_TO_BOX as _}from"./section-to-box-rows-stats.js";import{LOGOS_SECTION_TO_BOX as B}from"./section-to-box-rows-logos.js";import{STRIP_SECTION_TO_BOX as N}from"./section-to-box-rows-strip.js";import{TIMELINE_SECTION_TO_BOX as E}from"./section-to-box-rows-timeline.js";import{LOCATIONS_SECTION_TO_BOX as H}from"./section-to-box-rows-locations.js";import{HEAD_ONLY_SECTION_TO_BOX as I}from"./section-to-box-rows-head.js";import{headTree as b}from"./section-head-looks.js";const u={top:72,bottom:72,topPhone:72,bottomPhone:72},v={name:"Editorial Text",boxProps:e=>({...i,direction:"column",gap:28,sectionBorder:{top:1},...l(e,u)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...r,...h(u)],parts:[b("Prose"),{kind:"text",key:"body",props:{...d,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.7,paragraphSpacing:18},was:{size:16}}],drop:{...n,...p,headPlacement:"needs a row per head placement: an own-box Prose draws no head (its words sit in a Section Header above it), the row always draws the head. 0 of 123 live nodes store it (JJ's export, 2026-10-24)"}},C={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},S=(e,k)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",variant:{key:"variant",map:{primary:"primary",outline:"ghost"},fallback:"ghost"},style:{letterSpacing:.3},props:{...m,...C,...k}}]}),g=e=>x(e.title),A={name:"Call-to-Action Heading",boxProps:e=>({...i,direction:"row",align:"center",justify:g(e)?"between":"end",gap:60,share:"content",sectionBorder:{bottom:1},...c(e,"TitleWithButtons")}),box:[...r,...y("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:t,parts:[{kind:"text",key:"title",role:"heading",props:{...s,maxWidth:1e3},style:{textStyle:"heading-1",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:{...t,gap:14},parts:[S(g,{widthFit:"fill",iconPosition:"end"}),S(e=>!g(e),{})]}],site:O("title"),drop:{...n,buttonsAlign:"moves the buttons only when there is no heading (4 of 128 live nodes), where the Box puts them at the end. 0 of 128 live nodes store it (JJ's export, 2026-10-24)"}},P={top:40,bottom:64,topPhone:24,bottomPhone:36},W={name:"Section Header",boxProps:e=>({...i,direction:"column",gap:0,...l(e,P)}),box:[...r,...h(P)],parts:[b("SectionHeader")],drop:{...n,...p,headStyle:"needs a row per head look: the row draws the standard look; the editorial, simple, statement, natural and essay looks are other layouts. 0 of 69 live nodes store it (JJ's export, 2026-10-24)",eyebrowLook:"read only by the simple, statement, natural and essay looks, which this row does not draw. 0 of 69 live nodes store it",rowGap:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",descriptionSize:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",numStyle:"Solid (the default; 4 of 69 live nodes store it) IS the eyebrow Text the row draws; Outlined (0 live) needs an outlined-number text look"}},R={name:"Lead Text",boxProps:e=>({...i,direction:"column",gap:40,sectionBorder:{bottom:1},...c(e,"ParagraphsA")}),box:[...r,...y("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...t,direction:"row",justify:"between",gap:60,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:40},parts:[a("eyebrow",{color:"labels",letterSpacing:.24}),{kind:"group",name:"Stats",props:{...t,align:"end"},parts:[{kind:"list",key:"stats",name:"Stat",props:{...t,direction:"row",share:"content",justify:"end",gap:8},parts:[a("value",{color:"text",letterSpacing:.18,lineHeight:1.8}),a("label",{color:"labels",letterSpacing:.18,lineHeight:1.8})]}]}]},{kind:"group",name:"Words",props:{...t,direction:"row",align:"end",gap:60,share:"bigLeft"},parts:[{kind:"text",key:"lead",props:{...s,maxWidth:780},style:{textStyle:"body-1",lineHeight:1.45,letterSpacing:-.005,paragraphSpacing:0},was:{size:22,sizePhone:20}},{kind:"group",name:"Founders",props:{...t,gap:8},parts:[{kind:"group",name:"Note",props:{...t,gap:6},parts:[{kind:"text",key:"foundersHeading",props:s,style:{textStyle:"body-1",weight:500,letterSpacing:-.01,lineHeight:1.7},was:{size:18,sizePhone:16}},{kind:"text",key:"foundersBody",props:d,style:{textStyle:"body-5",lineHeight:1.7},was:{size:14,sizePhone:12}}]},a("attribution",{letterSpacing:.24,lineHeight:1.7})]}]}],drop:{...n}},w={top:24,bottom:24,topPhone:24,bottomPhone:24},L={name:"Banner",boxProps:e=>({...i,direction:"column",gap:0,...l(e,w)}),box:[...r,"contained",...h(w)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{...t,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},sectionPaddingTop:64,sectionPaddingBottom:64,sectionPaddingTopPhone:40,sectionPaddingBottomPhone:40,sectionPaddingLeft:40,sectionPaddingRight:40,sectionPaddingLeftPhone:24,sectionPaddingRightPhone:24},box:[["imageSrc","bgImage"],["overlay","darken",e=>Math.min(Math.max(f(e)??60,0),100)]],parts:[{kind:"group",name:"Words",props:{...t,gap:20},parts:[a("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...s,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...d,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:m}]}],drop:{...n,...p}},X={Prose:v,TitleWithButtons:A,SectionHeader:W,ParagraphsA:R,Banner:L};function Q(){o(X),o(_),o(B),o(T),o(N),o(E),o(H),o(I)}export{X as GENERAL_SECTION_TO_BOX,Q as registerGeneralSectionRows};
|
|
@@ -1,34 +1,16 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
-
export declare function pageWidthTokens(
|
|
3
|
-
widthMode?: unknown;
|
|
4
|
-
fullWidth?: unknown;
|
|
5
|
-
pageWidth?: unknown;
|
|
6
|
-
}): {
|
|
7
|
-
frameClass?: string;
|
|
2
|
+
export declare function pageWidthTokens(): {
|
|
8
3
|
style: CSSProperties;
|
|
9
4
|
};
|
|
10
|
-
export declare function PageWidthWrapper({
|
|
11
|
-
w: {
|
|
12
|
-
widthMode?: unknown;
|
|
13
|
-
fullWidth?: unknown;
|
|
14
|
-
pageWidth?: unknown;
|
|
15
|
-
};
|
|
5
|
+
export declare function PageWidthWrapper({ children }: {
|
|
16
6
|
children?: ReactNode;
|
|
17
7
|
}): import("react").JSX.Element;
|
|
18
|
-
export declare function PublishedPageFrame({ pageBackground, inheritBackground,
|
|
8
|
+
export declare function PublishedPageFrame({ pageBackground, inheritBackground, children, }: {
|
|
19
9
|
pageBackground?: unknown;
|
|
20
10
|
inheritBackground?: boolean;
|
|
21
|
-
w: {
|
|
22
|
-
widthMode?: unknown;
|
|
23
|
-
fullWidth?: unknown;
|
|
24
|
-
pageWidth?: unknown;
|
|
25
|
-
};
|
|
26
11
|
children?: ReactNode;
|
|
27
12
|
}): import("react").JSX.Element;
|
|
28
13
|
export declare function drawPublishedRoot(rootProps: {
|
|
29
14
|
children?: ReactNode;
|
|
30
|
-
widthMode?: unknown;
|
|
31
|
-
fullWidth?: unknown;
|
|
32
|
-
pageWidth?: unknown;
|
|
33
15
|
pageBackground?: unknown;
|
|
34
16
|
}): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{pageBackgroundVars as o}from"../../../format/lib/content/page-background.js";import{SITE_WIDTH_CAP as i}from"../../../format/lib/content/page-width.js";function a(){return{style:{"--sf-page-width":i}}}function d({children:r}){return e("div",{style:a().style,children:r})}function c({pageBackground:r,inheritBackground:t=!1,children:n}){return e("div",{style:{...t?{}:o(r),background:"var(--bg)",minHeight:"100%",overflowX:"clip"},children:e(d,{children:n})})}function u(r){const{children:t,pageBackground:n}=r;return e(c,{pageBackground:n,children:t})}export{d as PageWidthWrapper,c as PublishedPageFrame,u as drawPublishedRoot,a as pageWidthTokens};
|