efficient-web-builder 44.0.0 → 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/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/media-manifest.json +3 -2
- 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
|
@@ -69,6 +69,9 @@ export declare function siteButtonPaint(v?: ThemeValue | null): {
|
|
|
69
69
|
ink: string;
|
|
70
70
|
};
|
|
71
71
|
export declare function themePresetAccentVars(v?: ThemeValue | null): Record<string, string>;
|
|
72
|
+
export declare function sectionBandTone(preset: ThemeColors): string;
|
|
73
|
+
export declare function bandPresetFor(preset: ThemeColors): ThemeColors;
|
|
74
|
+
export declare function bandPresetIndex(presets: readonly ThemeColors[], page: number): number;
|
|
72
75
|
export declare const THEME_SURFACE_KEYS: readonly ["--theme-bg", "--theme-surface", "--theme-surface-2", "--theme-line", "--theme-muted"];
|
|
73
76
|
export declare function themeSurfaceStyle(v?: ThemeValue | null): Record<string, string>;
|
|
74
77
|
export declare const TYPE_GROUPS: readonly ["heading", "body", "label"];
|
package/dist/format/lib/theme.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import{contrastRatio as
|
|
1
|
+
import{contrastRatio as z,hexToRgb as l,parseHexColor as h,readableInk as B,relativeLuminance as X}from"efficient-shell/format";const W="storefront-theme",ye="sf:theme-mode",He="sf:theme-switch",Ne="hide",Oe="light",Le=!1,w=7,I=18;function K(e){return e>=w&&e<I}function ke(e){const{mode:t,override:n,switchShown:r,hour:o}=e;return r&&(n==="light"||n==="dark")?n:t==="auto"?K(o)?"light":"dark":t==="light"?"light":"dark"}function Pe(e){const{mode:t,switchShown:n}=e;return`
|
|
2
2
|
try {
|
|
3
3
|
var mode = ${JSON.stringify(t)};
|
|
4
4
|
var shown = ${n?"true":"false"};
|
|
5
|
-
var override = localStorage.getItem(${JSON.stringify(
|
|
5
|
+
var override = localStorage.getItem(${JSON.stringify(W)});
|
|
6
6
|
var theme;
|
|
7
7
|
if (shown && (override === 'light' || override === 'dark')) {
|
|
8
8
|
theme = override;
|
|
9
9
|
} else if (mode === 'auto') {
|
|
10
10
|
var h = new Date().getHours();
|
|
11
|
-
theme = (h >= ${
|
|
11
|
+
theme = (h >= ${w} && h < ${I}) ? 'light' : 'dark';
|
|
12
12
|
} else {
|
|
13
13
|
theme = mode === 'light' ? 'light' : 'dark';
|
|
14
14
|
}
|
|
15
15
|
if (theme === 'light') document.documentElement.setAttribute('data-theme', 'light');
|
|
16
16
|
else document.documentElement.removeAttribute('data-theme');
|
|
17
17
|
} catch (e) {}
|
|
18
|
-
`}const c={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},G=[{text:"#2e2e2e",accent:"#2e2e2e",background:"#ffffff",surface:"#f7f7f7",line:"#e0e0e0",muted:"#5c5c5c"},{text:"#f7f7f7",accent:"#f7f7f7",background:"#0a0a0a",surface:"#1b1b1b",line:"#363636",muted:"#a3a3a3"},{text:"#ffffff",accent:"#ffffff",background:"#2e2e2e",surface:"#3d3d3d",line:"#545454",muted:"#b0b0b0"},{text:"#0a0a0a",accent:"#0a0a0a",background:"#f7f7f7",surface:"#ffffff",line:"#d9d9d9",muted:"#5c5c5c"}],U={selected:0,themes:G};function A(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...U}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function h(e,t,n){const r=l(e),o=l(t);if(r===null||o===null)return e;const i=(_,O)=>Math.max(0,Math.min(255,Math.round(_+(O-_)*n))).toString(16).padStart(2,"0");return`#${i(r.r,o.r)}${i(r.g,o.g)}${i(r.b,o.b)}`}const Y={light:"#ffffff",dark:"#0a0a0a"},Re=["light","dark"];function De(e,t){const n=Y[t],r=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:h(e,r,.1),line:h(e,r,.22),muted:h(n,e,.35),brandInk:t}}function a(e){const t=A(e);return t.themes[t.selected]}function f(e){return{text:e.text,accent:e.accent,background:e.background||c.background,surface:e.surface||c.surface,line:e.line||c.line,muted:e.muted||c.muted}}function ye(e){return{fill:f(e).background,accent:e.accent}}const z=.4,B=4.5,X=3,Me={good:"Good","large-only":"Large text only",hard:"Hard to read"};function He(e){return e>=B?"good":e>=X?"large-only":"hard"}const W=["#000000","#ffffff"];function s(e){return k(e,W)}const K=[.25,.4,.55];function Ne(e){const t=l(e);return t===null?[]:K.map(n=>"#"+[t.r,t.g,t.b].map(r=>Math.round(r*(1-n)).toString(16).padStart(2,"0")).join(""))}function Oe(e){const t=a(e),n={"--theme-fg":t.text},r=$(t.text);return(r===null||r>=z)&&(n["--overlay-fg"]=t.text),n}const V=82;function d(e){return`color-mix(in srgb, ${e} ${V}%, #000)`}function Le(e){const t=a(e);return{"--theme-accent":t.accent,"--theme-accent-2":d(t.accent),"--theme-accent-ink":s(t.accent)}}function g(e){const t=e?.button;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function ke(e){const t=a(e),n=g(t),r=T(t);if(n===null&&r===null)return{};const o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=d(n)),o["--theme-btn-ink"]=r??s(n),o}function T(e){const t=e?.buttonInk;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Z(e,t){return T(e)??s(g(e)??t)}function $e(e){const t=a(e);return{fill:g(t)??t.accent.toLowerCase(),ink:Z(t,t.accent)}}function Fe(e){const t={};return A(e).themes.forEach((n,r)=>{const o=f(n);t[`--theme-preset-${r}-accent`]=o.accent,t[`--theme-preset-${r}-accent-2`]=d(o.accent),t[`--theme-preset-${r}-accent-ink`]=s(o.accent),t[`--theme-preset-${r}-bg`]=o.background,t[`--theme-preset-${r}-fg`]=o.text,t[`--theme-preset-${r}-surface`]=o.surface,t[`--theme-preset-${r}-surface-2`]=`color-mix(in srgb, ${o.surface} 60%, ${o.line})`,t[`--theme-preset-${r}-line`]=o.line,t[`--theme-preset-${r}-muted`]=o.muted}),t}const Pe=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function Ge(e){const t=f(a(e)),n=`color-mix(in srgb, ${t.surface} 60%, ${t.line})`,r={"--theme-bg":t.background,"--theme-surface":t.surface,"--theme-line":t.line,"--theme-muted":t.muted};return(t.surface!==c.surface||t.line!==c.line)&&(r["--theme-surface-2"]=n),r}const j=["heading","body","label"],Ue={heading:"Headings",body:"Body",label:"Labels"};function Ye(e){if(!e)return null;for(const t of j)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}const b=["headingLarge","headingMedium","headingSmall","accent","body","label"],ze={headingLarge:"heading",headingMedium:"heading",headingSmall:"heading",accent:"heading",body:"body",label:"label"},Be={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},q=8,J=200;function Q(e){if(typeof e!="number"||!Number.isFinite(e))return null;const t=Math.round(e);return t>=q&&t<=J?t:null}function v(e){const t={};for(const n of b)t[n]=Q(e?.[n]);return t}function Xe(e){const t=v(e),n={};for(const r of b){const o=t[r];o!==null&&(n[`--size-${r}`]=`${o}px`)}return n}const ee=["square","small","large"],te="small";function ne(e){return ee.includes(e??"")?e:te}function We(e){return I(oe[ne(e)])}const w=0,re=40,oe={square:0,small:null,large:16},ie={"--sf-card-radius":1,"--sf-button-radius":.5,"--site-radius":.5,"--site-radius-xs":.25,"--site-radius-sm":.5,"--site-radius-md":.75,"--site-radius-lg":1,"--site-radius-xl":1.25,"--site-radius-2xl":1.5,"--site-radius-3xl":2,"--site-radius-4xl":2.5};function C(e){if(e==null||typeof e=="string"&&e.trim()==="")return null;const t=typeof e=="string"?Number(e):e;return Number.isFinite(t)?Math.min(re,Math.max(w,Math.round(t))):null}function I(e){const t=C(e);return t===null?{}:Object.fromEntries(Object.entries(ie).map(([n,r])=>{const o=t*r/16;return[n,o===0?"0":`${o}rem`]}))}function Ke(e){return I(C(e)??w)}const ce=["none","soft","lifted"],ae="soft",R="none",se=["tight","normal","roomy"],ue="normal",le="normal",he=["none","lift","highlight"],fe="lift",de="highlight",D="#141416";function y(e){return ce.includes(e??"")?e:ae}function ge(e){return se.includes(e??"")?e:ue}function M(e){return he.includes(e??"")?e:fe}function me(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():D}function Ve(e){const t=y(e);return t===R?void 0:t}function Ze(e){const t=ge(e);return t===le?void 0:t}function je(e){const t=M(e);return t===de?void 0:t}function qe(e,t,n){const r=me(t);return r===D?{}:y(e)!==R||M(n)==="lift"?{"--sf-shadow-color":r}:{}}const pe=["normal","tight","compressed"],H="normal";function N(e){return pe.includes(e??"")?e:H}function Je(e){const t=N(e);return t===H?void 0:t}function Qe(e){switch(N(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}const ve=["authored","sentence"],et={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},m=100,p=900,xe=24,_e=200;function u(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function x(e){const t=u(e?.weight,m,p),n=e?.case==="sentence"?"sentence":"authored",r=i=>i==null?t:u(i,m,p),o=i=>i==="sentence"?"sentence":i==="authored"?"authored":n;return{case:n,weight:t,weightStrong:u(e?.weightStrong,m,p),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:u(e?.maxPx,xe,_e),weight2:r(e?.weight2),weight3:r(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function tt(e){const t=x(e),n={};return t.case==="sentence"&&(n["--sf-heading-case"]="none"),t.weight!==null&&(n["--sf-heading-weight"]=String(t.weight)),t.weightStrong!==null&&(n["--sf-heading-weight-strong"]=String(t.weightStrong)),t.maxPx!==null&&(n["--sf-heading-max"]=`${t.maxPx}px`),t.weight2!==null&&t.weight2!==t.weight&&(n["--sf-heading-2-weight"]=String(t.weight2)),t.weight3!==null&&t.weight3!==t.weight&&(n["--sf-heading-3-weight"]=String(t.weight3)),t.case2!==t.case&&(n["--sf-heading-2-case"]=t.case2==="sentence"?"none":"uppercase"),t.case3!==t.case&&(n["--sf-heading-3-case"]=t.case3==="sentence"?"none":"uppercase"),n}function nt(e){return x({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,italicStrong:e?.accent_italic,maxPx:e?.heading_max_px,weight2:e?.heading_2_weight??void 0,weight3:e?.heading_3_weight??void 0,case2:e?.heading_2_case??void 0,case3:e?.heading_3_case??void 0})}function rt(e){const t=x(e);return{heading_case:t.case,heading_weight:t.weight,heading_weight_strong:t.weightStrong,heading_max_px:t.maxPx,heading_2_weight:t.weight2,heading_3_weight:t.weight3,heading_2_case:t.case2,heading_3_case:t.case3}}export{K as ACCENT_DARKEN_STEPS,Re as BRAND_INKS,se as CARD_GAPS,ce as CARD_SHADOWS,re as CORNER_RADIUS_MAX,w as CORNER_RADIUS_MIN,ee as CORNER_STYLES,oe as CORNER_STYLE_TO_PX,ue as DEFAULT_CARD_GAP,ae as DEFAULT_CARD_SHADOW,te as DEFAULT_CORNER_STYLE,H as DEFAULT_HEADING_COMPRESSION,et as DEFAULT_HEADING_TYPOGRAPHY,fe as DEFAULT_HOVER_EFFECT,D as DEFAULT_SHADOW_COLOR,Be as DEFAULT_SIZES,c as DEFAULT_SURFACES,we as DEFAULT_SWITCH_SHOWN,G as DEFAULT_THEMES,be as DEFAULT_THEME_MODE,U as DEFAULT_THEME_VALUE,Me as GRADE_LABEL,ve as HEADING_CASES,pe as HEADING_COMPRESSIONS,_e as HEADING_MAX_PX_MAX,xe as HEADING_MAX_PX_MIN,p as HEADING_WEIGHT_MAX,m as HEADING_WEIGHT_MIN,he as HOVER_EFFECTS,le as IDENTITY_CARD_GAP,R as IDENTITY_CARD_SHADOW,de as IDENTITY_HOVER_EFFECT,B as READABILITY_AA,X as READABILITY_AA_LARGE,ze as SCALE_OF_STEP,b as SIZE_STEPS,J as TEXT_SIZE_MAX,q as TEXT_SIZE_MIN,S as THEME_DAY_END_HOUR,E as THEME_DAY_START_HOUR,Se as THEME_MODE_KEY,F as THEME_STORAGE_KEY,Pe as THEME_SURFACE_KEYS,Te as THEME_SWITCH_HIDE,Ae as THEME_SWITCH_KEY,j as TYPE_GROUPS,Ue as TYPE_GROUP_LABELS,s as accentInk,De as brandTheme,Ie as buildThemeBootScript,Ze as cardGapAttr,Ve as cardShadowAttr,Qe as compressionMetrics,L as contrastRatio,I as cornerRadiusTokens,We as cornerStyleTokens,Ne as darkerAccents,He as gradeContrast,Je as headingCompressionAttr,nt as headingTypographyFromRow,tt as headingTypographyStyle,rt as headingTypographyToRow,je as hoverEffectAttr,P as isDayHour,ge as normalizeCardGap,y as normalizeCardShadow,C as normalizeCornerRadius,ne as normalizeCornerStyle,N as normalizeHeadingCompression,x as normalizeHeadingTypography,M as normalizeHoverEffect,me as normalizeShadowColor,Q as normalizeSize,v as normalizeSizes,A as normalizeTheme,f as normalizeThemeColors,Ce as resolveTheme,Z as resolvedButtonInk,a as selectedThemeColors,qe as shadowColorTokens,$e as siteButtonPaint,Ke as siteCornerRadiusTokens,Le as themeAccentStyle,g as themeButtonColour,T as themeButtonInk,ke as themeButtonStyle,Oe as themeColorStyle,Fe as themePresetAccentVars,Ge as themeSurfaceStyle,ye as themeSwatchColors,Ye as typeScaleGroupOfClassName,Xe as typeSizesStyle};
|
|
18
|
+
`}const a={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},V=[{text:"#2e2e2e",accent:"#2e2e2e",background:"#ffffff",surface:"#f7f7f7",line:"#e0e0e0",muted:"#5c5c5c"},{text:"#f7f7f7",accent:"#f7f7f7",background:"#0a0a0a",surface:"#1b1b1b",line:"#363636",muted:"#a3a3a3"},{text:"#ffffff",accent:"#ffffff",background:"#2e2e2e",surface:"#3d3d3d",line:"#545454",muted:"#b0b0b0"},{text:"#0a0a0a",accent:"#0a0a0a",background:"#f7f7f7",surface:"#ffffff",line:"#d9d9d9",muted:"#5c5c5c"}],j={selected:0,themes:V};function M(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...j}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function x(e,t,n){const r=l(e),o=l(t);if(r===null||o===null)return e;const c=(i,s)=>Math.max(0,Math.min(255,Math.round(i+(s-i)*n))).toString(16).padStart(2,"0");return`#${c(r.r,o.r)}${c(r.g,o.g)}${c(r.b,o.b)}`}const Z={light:"#ffffff",dark:"#0a0a0a"},$e=["light","dark"];function Fe(e,t){const n=Z[t],r=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:x(e,r,.1),line:x(e,r,.22),muted:x(n,e,.35),brandInk:t}}function u(e){const t=M(e);return t.themes[t.selected]}function f(e){return{text:e.text,accent:e.accent,background:e.background||a.background,surface:e.surface||a.surface,line:e.line||a.line,muted:e.muted||a.muted}}function Ge(e){return{fill:f(e).background,accent:e.accent}}const q=.4,J=4.5,Q=3,Ue={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Ye(e){return e>=J?"good":e>=Q?"large-only":"hard"}const v=["#000000","#ffffff"];function d(e){return B(e,v)}const ee=[.25,.4,.55];function ze(e){const t=l(e);return t===null?[]:ee.map(n=>"#"+[t.r,t.g,t.b].map(r=>Math.round(r*(1-n)).toString(16).padStart(2,"0")).join(""))}function Be(e){const t=u(e),n={"--theme-fg":t.text},r=X(t.text);return(r===null||r>=q)&&(n["--overlay-fg"]=t.text),n}const te=82;function p(e){return`color-mix(in srgb, ${e} ${te}%, #000)`}function Xe(e){const t=u(e);return{"--theme-accent":t.accent,"--theme-accent-2":p(t.accent),"--theme-accent-ink":d(t.accent)}}function _(e){const t=e?.button;return t&&h(t)===t.toLowerCase()?t.toLowerCase():null}function We(e){const t=u(e),n=_(t),r=R(t);if(n===null&&r===null)return{};const o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=p(n)),o["--theme-btn-ink"]=r??d(n),o}function R(e){const t=e?.buttonInk;return t&&h(t)===t.toLowerCase()?t.toLowerCase():null}function ne(e,t){return R(e)??d(_(e)??t)}function Ke(e){const t=u(e);return{fill:_(t)??t.accent.toLowerCase(),ink:ne(t,t.accent)}}function Ve(e){const t={};return M(e).themes.forEach((n,r)=>{const o=f(n);t[`--theme-preset-${r}-accent`]=o.accent,t[`--theme-preset-${r}-accent-2`]=p(o.accent),t[`--theme-preset-${r}-accent-ink`]=d(o.accent),t[`--theme-preset-${r}-bg`]=o.background,t[`--theme-preset-${r}-fg`]=o.text,t[`--theme-preset-${r}-surface`]=o.surface,t[`--theme-preset-${r}-surface-2`]=`color-mix(in srgb, ${o.surface} 60%, ${o.line})`,t[`--theme-preset-${r}-line`]=o.line,t[`--theme-preset-${r}-muted`]=o.muted}),t}const E=e=>{const t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4},S=e=>255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055);function D([e,t,n]){const[r,o,c]=[E(e),E(t),E(n)],i=Math.cbrt(.4122214708*r+.5363325363*o+.0514459929*c),s=Math.cbrt(.2119034982*r+.6806995451*o+.1073969566*c),m=Math.cbrt(.0883024619*r+.2817188376*o+.6299787005*c);return[.2104542553*i+.793617785*s-.0040720468*m,1.9779984951*i-2.428592205*s+.4505937099*m,.0259040371*i+.7827717662*s-.808675766*m]}function re([e,t,n]){const r=(e+.3963377774*t+.2158037573*n)**3,o=(e-.1055613458*t-.0638541728*n)**3,c=(e-.0894841775*t-1.291485548*n)**3;return[S(4.0767416621*r-3.3077115913*o+.2309699292*c),S(-1.2684380046*r+2.6097574011*o-.3413193965*c),S(-.0041960863*r-.7034186147*o+1.707614701*c)]}const A=e=>{const t=l(e);return t===null?[0,0,0]:[t.r,t.g,t.b]},y=(e,t,n)=>[e[0]*n+t[0]*(1-n),e[1]*n+t[1]*(1-n),e[2]*n+t[2]*(1-n)],oe=e=>`#${e.map(t=>Math.max(0,Math.min(255,Math.round(t))).toString(16).padStart(2,"0")).join("")}`;function H(e){const t=f(e),n=y(A(t.surface),A(t.line),.6);return oe(re(y(D(n),D(A(t.text)),.92)))}function je(e){return{...e,background:H(e)}}function Ze(e,t){const n=e[t];if(!n)return-1;const r=H(n);return e.findIndex((o,c)=>c!==t&&h(o.background??"")===r)}const qe=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function Je(e){const t=f(u(e)),n=`color-mix(in srgb, ${t.surface} 60%, ${t.line})`,r={"--theme-bg":t.background,"--theme-surface":t.surface,"--theme-line":t.line,"--theme-muted":t.muted};return(t.surface!==a.surface||t.line!==a.line)&&(r["--theme-surface-2"]=n),r}const ce=["heading","body","label"],Qe={heading:"Headings",body:"Body",label:"Labels"};function ve(e){if(!e)return null;for(const t of ce)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}const N=["headingLarge","headingMedium","headingSmall","accent","body","label"],et={headingLarge:"heading",headingMedium:"heading",headingSmall:"heading",accent:"heading",body:"body",label:"label"},tt={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},ie=8,ae=200;function se(e){if(typeof e!="number"||!Number.isFinite(e))return null;const t=Math.round(e);return t>=ie&&t<=ae?t:null}function ue(e){const t={};for(const n of N)t[n]=se(e?.[n]);return t}function nt(e){const t=ue(e),n={};for(const r of N){const o=t[r];o!==null&&(n[`--size-${r}`]=`${o}px`)}return n}const le=["square","small","large"],he="small";function fe(e){return le.includes(e??"")?e:he}function rt(e){return k(ge[fe(e)])}const O=0,de=40,ge={square:0,small:null,large:16},me={"--sf-card-radius":1,"--sf-button-radius":.5,"--site-radius":.5,"--site-radius-xs":.25,"--site-radius-sm":.5,"--site-radius-md":.75,"--site-radius-lg":1,"--site-radius-xl":1.25,"--site-radius-2xl":1.5,"--site-radius-3xl":2,"--site-radius-4xl":2.5};function L(e){if(e==null||typeof e=="string"&&e.trim()==="")return null;const t=typeof e=="string"?Number(e):e;return Number.isFinite(t)?Math.min(de,Math.max(O,Math.round(t))):null}function k(e){const t=L(e);return t===null?{}:Object.fromEntries(Object.entries(me).map(([n,r])=>{const o=t*r/16;return[n,o===0?"0":`${o}rem`]}))}function ot(e){return k(L(e)??O)}const xe=["none","soft","lifted"],pe="soft",P="none",_e=["tight","normal","roomy"],Ee="normal",Se="normal",Ae=["none","lift","highlight"],Te="lift",be="highlight",$="#141416";function F(e){return xe.includes(e??"")?e:pe}function Ce(e){return _e.includes(e??"")?e:Ee}function G(e){return Ae.includes(e??"")?e:Te}function we(e){return e&&h(e)===e.toLowerCase()?e.toLowerCase():$}function ct(e){const t=F(e);return t===P?void 0:t}function it(e){const t=Ce(e);return t===Se?void 0:t}function at(e){const t=G(e);return t===be?void 0:t}function st(e,t,n){const r=we(t);return r===$?{}:F(e)!==P||G(n)==="lift"?{"--sf-shadow-color":r}:{}}const Ie=["normal","tight","compressed"],U="normal";function Y(e){return Ie.includes(e??"")?e:U}function ut(e){const t=Y(e);return t===U?void 0:t}function lt(e){switch(Y(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}const ht=["authored","sentence"],ft={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},T=100,b=900,Me=24,Re=200;function g(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function C(e){const t=g(e?.weight,T,b),n=e?.case==="sentence"?"sentence":"authored",r=c=>c==null?t:g(c,T,b),o=c=>c==="sentence"?"sentence":c==="authored"?"authored":n;return{case:n,weight:t,weightStrong:g(e?.weightStrong,T,b),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:g(e?.maxPx,Me,Re),weight2:r(e?.weight2),weight3:r(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function dt(e){const t=C(e),n={};return t.case==="sentence"&&(n["--sf-heading-case"]="none"),t.weight!==null&&(n["--sf-heading-weight"]=String(t.weight)),t.weightStrong!==null&&(n["--sf-heading-weight-strong"]=String(t.weightStrong)),t.maxPx!==null&&(n["--sf-heading-max"]=`${t.maxPx}px`),t.weight2!==null&&t.weight2!==t.weight&&(n["--sf-heading-2-weight"]=String(t.weight2)),t.weight3!==null&&t.weight3!==t.weight&&(n["--sf-heading-3-weight"]=String(t.weight3)),t.case2!==t.case&&(n["--sf-heading-2-case"]=t.case2==="sentence"?"none":"uppercase"),t.case3!==t.case&&(n["--sf-heading-3-case"]=t.case3==="sentence"?"none":"uppercase"),n}function gt(e){return C({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,italicStrong:e?.accent_italic,maxPx:e?.heading_max_px,weight2:e?.heading_2_weight??void 0,weight3:e?.heading_3_weight??void 0,case2:e?.heading_2_case??void 0,case3:e?.heading_3_case??void 0})}function mt(e){const t=C(e);return{heading_case:t.case,heading_weight:t.weight,heading_weight_strong:t.weightStrong,heading_max_px:t.maxPx,heading_2_weight:t.weight2,heading_3_weight:t.weight3,heading_2_case:t.case2,heading_3_case:t.case3}}export{ee as ACCENT_DARKEN_STEPS,$e as BRAND_INKS,_e as CARD_GAPS,xe as CARD_SHADOWS,de as CORNER_RADIUS_MAX,O as CORNER_RADIUS_MIN,le as CORNER_STYLES,ge as CORNER_STYLE_TO_PX,Ee as DEFAULT_CARD_GAP,pe as DEFAULT_CARD_SHADOW,he as DEFAULT_CORNER_STYLE,U as DEFAULT_HEADING_COMPRESSION,ft as DEFAULT_HEADING_TYPOGRAPHY,Te as DEFAULT_HOVER_EFFECT,$ as DEFAULT_SHADOW_COLOR,tt as DEFAULT_SIZES,a as DEFAULT_SURFACES,Le as DEFAULT_SWITCH_SHOWN,V as DEFAULT_THEMES,Oe as DEFAULT_THEME_MODE,j as DEFAULT_THEME_VALUE,Ue as GRADE_LABEL,ht as HEADING_CASES,Ie as HEADING_COMPRESSIONS,Re as HEADING_MAX_PX_MAX,Me as HEADING_MAX_PX_MIN,b as HEADING_WEIGHT_MAX,T as HEADING_WEIGHT_MIN,Ae as HOVER_EFFECTS,Se as IDENTITY_CARD_GAP,P as IDENTITY_CARD_SHADOW,be as IDENTITY_HOVER_EFFECT,J as READABILITY_AA,Q as READABILITY_AA_LARGE,et as SCALE_OF_STEP,N as SIZE_STEPS,ae as TEXT_SIZE_MAX,ie as TEXT_SIZE_MIN,I as THEME_DAY_END_HOUR,w as THEME_DAY_START_HOUR,ye as THEME_MODE_KEY,W as THEME_STORAGE_KEY,qe as THEME_SURFACE_KEYS,Ne as THEME_SWITCH_HIDE,He as THEME_SWITCH_KEY,ce as TYPE_GROUPS,Qe as TYPE_GROUP_LABELS,d as accentInk,je as bandPresetFor,Ze as bandPresetIndex,Fe as brandTheme,Pe as buildThemeBootScript,it as cardGapAttr,ct as cardShadowAttr,lt as compressionMetrics,z as contrastRatio,k as cornerRadiusTokens,rt as cornerStyleTokens,ze as darkerAccents,Ye as gradeContrast,ut as headingCompressionAttr,gt as headingTypographyFromRow,dt as headingTypographyStyle,mt as headingTypographyToRow,at as hoverEffectAttr,K as isDayHour,Ce as normalizeCardGap,F as normalizeCardShadow,L as normalizeCornerRadius,fe as normalizeCornerStyle,Y as normalizeHeadingCompression,C as normalizeHeadingTypography,G as normalizeHoverEffect,we as normalizeShadowColor,se as normalizeSize,ue as normalizeSizes,M as normalizeTheme,f as normalizeThemeColors,ke as resolveTheme,ne as resolvedButtonInk,H as sectionBandTone,u as selectedThemeColors,st as shadowColorTokens,Ke as siteButtonPaint,ot as siteCornerRadiusTokens,Xe as themeAccentStyle,_ as themeButtonColour,R as themeButtonInk,We as themeButtonStyle,Be as themeColorStyle,Ve as themePresetAccentVars,Je as themeSurfaceStyle,Ge as themeSwatchColors,ve as typeScaleGroupOfClassName,nt as typeSizesStyle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as s}from"react/jsx-runtime";import f from"./BlockFrame.js";import g from"./Btn.js";import{media as u}from"../lib/media.js";import{CONTENT_SIZES as v,sizedImage as N}from"../../format/lib/sized-image.js";import b from"./SectionEyebrow.js";import{renderGold as
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import f from"./BlockFrame.js";import g from"./Btn.js";import{media as u}from"../lib/media.js";import{CONTENT_SIZES as v,sizedImage as N}from"../../format/lib/sized-image.js";import b from"./SectionEyebrow.js";import{renderGold as d,renderHeadline as y,splitParagraphs as M}from"./goldPhrases.js";import{ON_MEDIA_INK_STYLE as z}from"../../format/lib/content/ink.js";import{scrim as E}from"../../format/lib/content/scrim.js";const n={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]"};function _({eyebrow:r,title:a,body:m,ctaText:t,ctaHref:o,imageSrc:i,contained:l,overlay:c=60}){const p=Math.min(Math.max(c,0),100)/100;return e(f,{contained:l,className:"py-6",children:s("div",{className:"sf-card relative overflow-hidden border border-line bg-surface px-10 py-16 max-[800px]:px-6 max-[800px]:py-10",children:[i&&s("div",{className:"absolute inset-0","aria-hidden":!0,children:[e(I,{src:u(i)}),e("div",{className:"absolute inset-0",style:{background:E(p)}})]}),s("div",{className:"relative z-[1] flex max-w-[680px] flex-col gap-5",style:i?z:void 0,children:[r&&e(b,{text:r}),a&&e("h2",{className:`font-heading2 ${n.headingMedium} font-medium leading-[1.05] tracking-[-0.03em] ${n.headingMediumUpTo800}`,children:y(a,!1)}),m&&M(m).map((h,x)=>e("p",{className:`${n.body} leading-[1.6] opacity-85`,children:d(h)},x)),t&&e("div",{className:"mt-2 self-start",children:e(g,{href:o||"#",variant:"primary",children:d(t)})})]})]})})}function I({src:r}){const a=N(r);return e("img",{src:a.src,...a.srcSet?{srcSet:a.srcSet,sizes:v}:{},alt:"",className:"h-full w-full object-cover"})}export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{buttonArrowShown as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{buttonArrowShown as P}from"../../format/lib/content/button-arrow.js";import{buttonIconAtEnd as k,buttonIconSide as L,buttonWidthClass as N,storedButtonIcon as S}from"../../format/lib/content/button-icon.js";import{buttonPadAttrs as T,buttonPaint as _}from"../lib/content/button-look.js";import{ArrowLongRightIcon as v,ArrowRightIcon as O,ArrowUpRightIcon as j,BagIcon as F,CarIcon as G,CartIcon as R,ChevronRightIcon as U,DownloadIcon as E,EmailIcon as K,ExternalIcon as Y,LocationIcon as $,PlayIcon as z,SearchIcon as D,TagIcon as H}from"efficient-shell/icons/efficient";import J from"./BlockFrame.js";import W from"./Btn.js";import{renderGold as q}from"./goldPhrases.js";import{BLOCK_ALIGN_JUSTIFY as M}from"../../format/lib/content/block-align.js";const Q="sf-button-block",V={"arrow-right":O,"arrow-long-right":v,"arrow-up-right":j,"chevron-right":U,external:Y,cart:R,bag:F,tag:H,email:K,location:$,play:z,download:E,search:D,car:G};function X(n){const{label:u,href:f,variant:c,align:g,contained:p,arrow:w,icon:I,iconPosition:e,widthFit:i,widthFitPhone:b,buttonColor:o,buttonTextColor:s}=n,t=S(I),l=t&&t!=="none"?V[t]:void 0,C=t===void 0?P(w)?{}:{arrow:null}:l?{arrow:r(l,{size:16}),...L(e)==="before"?{glyphBefore:!0}:{}}:{arrow:null},d=T(n),h=[N(i,b),d?.className??""].filter(Boolean).join(" "),B=h?{className:h}:{},y=k(e,i)?{spread:!0}:{},a=_(n),x=a?a.background==="transparent"?"ghost":"primary":c,m={...a??(o?c==="ghost"?{borderColor:o}:{background:o,borderColor:o}:{}),...s?{color:s}:{},...d?.style??{}},A=Object.keys(m).length?{style:m}:{};return r(J,{contained:p,className:`${Q} py-4`,children:r("div",{className:`flex ${M[g]}`,children:r(W,{href:f||"#",variant:x,...B,...y,...C,...A,children:q(u)})})})}export{Q as BUTTON_BLOCK_CLASS,X as default};
|
|
@@ -8,10 +8,10 @@ export type CardRow = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare const CardRowContext: import("react").Context<CardRow | null>;
|
|
10
10
|
export declare function useCardRow(): CardRow | null;
|
|
11
|
-
export declare function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
children: (
|
|
11
|
+
export declare function CardRowDrawn({ type, props, children, }: {
|
|
12
|
+
type: string;
|
|
13
|
+
props: Record<string, unknown>;
|
|
14
|
+
children: (drawn: Record<string, unknown>, at: CardRow | null) => ReactNode;
|
|
15
15
|
}): import("react").JSX.Element;
|
|
16
16
|
type CardTemplateRowsProps = {
|
|
17
17
|
ownerId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Fragment as i,jsx as
|
|
1
|
+
"use client";import{Fragment as i,jsx as r}from"react/jsx-runtime";import{createContext as T,useContext as s}from"react";import{REPEAT_ATTRIBUTE as p,REPEAT_INDEX_ATTRIBUTE as C}from"efficient-easel/draw";import{CARD_TEMPLATE_SLOT as E,rowFilledProps as R}from"../../format/lib/content/card-template.js";const a=T(null);function A(){return s(a)}function h({type:n,props:e,children:o}){const t=s(a);return r(i,{children:o(R(n,e,t?.row),t)})}function P({ownerId:n,ownerType:e,Template:o,rows:t,fallback:u,children:d}){if(!o||(o.blockCount??0)<=0)return r(i,{children:u});const l=t.map((m,c)=>r(a.Provider,{value:{row:m,index:c,ownerType:e},children:r("div",{[p]:`${n}:${E}`,[C]:c,children:r(o,{})})},c));return r(i,{children:d(l)})}export{a as CardRowContext,h as CardRowDrawn,P as CardTemplateRows,A as useCardRow};
|
|
@@ -12,4 +12,5 @@ export interface CardsProps {
|
|
|
12
12
|
omitHead?: boolean;
|
|
13
13
|
editing?: boolean;
|
|
14
14
|
}
|
|
15
|
+
export declare function cardColumns(columns: number | undefined): number;
|
|
15
16
|
export default function Cards({ look, eyebrow, title, items, columns, omitHead, editing, }?: CardsProps): import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as b,jsxs as
|
|
1
|
+
import{jsx as e,Fragment as b,jsxs as d}from"react/jsx-runtime";import N from"./SectionEyebrow.js";import{renderGold as p,renderHeadline as M}from"./goldPhrases.js";import{say as c}from"../../format/lib/editor-words.js";const r={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,15px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]"},y="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",_="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function E(i){return Math.min(4,Math.max(2,i??3))}function S({look:i,eyebrow:n,title:s,items:g,columns:h,omitHead:l=!1,editing:t=!1}={}){const f=E(h),m=(g??[]).filter(a=>t||(a.title??"").trim()||(a.body??"").trim()),u=!!(n??"").trim()||!!(s??"").trim();return!t&&!u&&m.length===0?null:e("section",{className:"relative z-[2] bg-surface",children:d("div",{className:l?_:y,children:[l?null:d(b,{children:[(n??"").trim()&&e(N,{text:n??"",look:i,className:"mb-4 block"}),(s??"").trim()&&e("h2",{className:`mb-9 font-heading2 ${r.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-7 ${r.headingMediumUpTo800}`,children:M(s??"",!1)})]}),m.length>0&&e("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--cd-cols),minmax(0,1fr))]",style:{"--cd-cols":String(f)},children:m.map((a,v)=>{const x=(a.title??"").trim()||(t?c("Card title"):""),o=(a.body??"").trim()||(t?c("A short line about this card."):"");return d("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[x&&e("div",{className:`mb-3 font-heading3 ${r.headingSmall} font-medium uppercase tracking-[0.02em] text-fg`,children:p(x)}),o&&e("p",{className:`${r.body} leading-[1.6] text-fg-dim`,children:p(o)})]},v)})})]})})}export{E as cardColumns,S as default};
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as
|
|
2
|
-
|
|
3
|
-
outline: 2px solid transparent;
|
|
4
|
-
outline-offset: -2px;
|
|
5
|
-
transition: outline-color 600ms ease-out;
|
|
6
|
-
}
|
|
7
|
-
.contact-loc > div:first-child { transition: background-color 600ms ease-out; }
|
|
8
|
-
.contact-loc > div:first-child * { transition: color 600ms ease-out; }
|
|
9
|
-
.contact-loc[data-active="true"] { outline-color: var(--accent); }
|
|
10
|
-
.contact-loc[data-active="true"] > div:first-child { background-color: var(--accent); }
|
|
11
|
-
.contact-loc[data-active="true"] > div:first-child,
|
|
12
|
-
.contact-loc[data-active="true"] > div:first-child * { color: var(--bg) !important; }
|
|
13
|
-
`;function E({value:r}){if(typeof r=="string"){const n=r.split(`
|
|
14
|
-
`);return t(j,{children:n.map((o,a)=>i("span",{children:[o,a<n.length-1?t("br",{}):null]},a))})}return t(j,{children:r})}function ae(){return t("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"repeating-linear-gradient(45deg, rgba(201,164,97,.05) 0 1px, transparent 1px 14px), linear-gradient(135deg, var(--site-surface-2), var(--site-surface))"},children:i("svg",{width:"34",height:"34",viewBox:"0 0 24 24",fill:"none",stroke:"var(--fg-dim)",strokeWidth:1.4,"aria-hidden":"true",style:{opacity:.4},children:[t("rect",{x:"3",y:"4",width:"18",height:"16",rx:"1.5"}),t("circle",{cx:"8.5",cy:"9.5",r:"1.6"}),t("path",{d:"M21 16l-5-5-4 4-2-2-7 7"})]})})}function oe({sectionNumber:r=y.sectionNumber,heading:n=y.heading,tagline:o=y.tagline,galleryKicker:a=y.galleryKicker,galleryHint:l=y.galleryHint,locations:c=Q,mapTheme:v="auto",imageShape:g,editing:s,nodeId:m}){const[h,f]=T(!1);A(()=>{const e=()=>f(document.documentElement.getAttribute("data-theme")==="light");e();const p=new MutationObserver(e);return p.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>p.disconnect()},[]);const[d,u]=T(null),b=e=>`loc-${e}`,N=e=>{u(e),typeof document<"u"&&document.getElementById(e)?.scrollIntoView({behavior:M(),block:"start"}),!s&&typeof window<"u"&&window.history?.replaceState&&window.history.replaceState(null,"",`#${e}`)};A(()=>{if(typeof window>"u")return;const e=window.location.hash.replace(/^#/,"");!e||!document.getElementById(e)||(u(e),requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({behavior:M(),block:"start"})}))},[]);const U=Z(X(g)),L=(e,p)=>s&&m?`${e}:${p}`:void 0,D=c.length>0&&(s||c.some(e=>String(e?.photo??"").trim())),R=c.some(e=>C(Number(e?.lat),Number(e?.lng))),I=ee(c,e=>String(e.group??""),e=>String(e.groupName??""));return t("section",{id:"studios",className:"scroll-mt-24 border-b border-line py-[100px] max-[1100px]:py-[60px]",style:h?void 0:{background:"var(--section-bg)"},children:i("div",{className:G,children:[t("style",{dangerouslySetInnerHTML:{__html:ie}}),(r||n||o)&&t(J,{num:r,title:n?K(n,!0):void 0,desc:o?O(o):void 0,spaceBelow:"mb-10"}),D&&i("div",{className:"mb-12",children:[(a||l)&&i("div",{className:"mb-5 flex items-baseline justify-between gap-6 border-b border-line pb-4",children:[a&&t(W,{text:a,size:12}),l&&t("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.22em] text-fg-dim",children:O(l)})]}),t("div",{className:"flex flex-col gap-6",children:I.map((e,p)=>{const k=e.items.length===1;return i("div",{children:[e.key&&t("div",{className:"mb-2.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.3em] text-accent",children:e.key}),t("div",{className:["grid gap-[2px] border border-line bg-line",$(e.items.length),e.items.length>1?"max-[700px]:grid-cols-2":""].join(" "),children:e.items.map(({item:x,index:w})=>{const S=String(x?.name??""),z=String(x?.photo??""),_=b(w);return i("a",{href:`#${_}`,"aria-label":`Jump to ${S||"location"} map`,onClick:F=>{F.preventDefault(),N(_)},"data-loc-pick":L(w,"image"),className:["group relative block",U,"overflow-hidden bg-bg outline-none focus-visible:ring-2 focus-visible:ring-accent",k?"max-h-[440px]":""].join(" "),children:[z?t(q,{src:z,alt:V(S||"Location"),fill:!0,sizes:k?"100vw":"(max-width: 700px) 50vw, 33vw",className:"object-cover grayscale transition-[filter] duration-500 group-hover:grayscale-0"}):t(ae,{}),t("div",{className:"pointer-events-none absolute inset-0",style:{background:"linear-gradient(180deg, transparent 50%, rgba(10,10,10,0.85) 100%)"}}),t("figcaption",{className:"absolute inset-x-0 bottom-0 z-[1] flex items-center justify-start gap-2 px-3 py-3 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.22em] text-overlay-fg/85",children:t("span",{children:S})})]},w)})})]},e.key?`g:${e.key}`:`ungrouped:${p}`)})})]}),I.map((e,p)=>i("div",{className:p===0?"":"mt-10",children:[e.key&&t(te,{groupKey:e.key,name:e.name,count:e.items.length}),t("div",{className:["grid gap-[2px] border border-line bg-line",$(e.items.length),e.items.length>1?"max-[1100px]:grid-cols-1":""].join(" "),children:e.items.map(({item:k,index:x})=>t(se,{id:b(x),card:k,active:d===b(x),mapTheme:v,mapPick:L(x,"map"),editing:s},x))})]},e.key?`g:${e.key}`:`ungrouped:${p}`)),R&&i("p",{className:"mt-8 text-right font-mono text-[10px] uppercase tracking-[0.25em] text-fg-dim/50",children:["Location coordinates ©"," ",t("a",{href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer",className:"hover:text-accent",children:"OpenStreetMap contributors"})]})]})})}function se({id:r,card:n,active:o,mapTheme:a,mapPick:l,editing:c}){const v=re(n.phone),g=Y(n.region),s=String(n.state??"").trim()||g.state,m=String(n.country??"").trim()||g.country,h=[s,m].filter(Boolean).join(" · "),d=C(Number(n.lat),Number(n.lng))||!!c,u=B(String(n.mapsUrl??""),String(n.name??""),s,m);return i("article",{id:r,"data-active":o?"true":void 0,className:d?"contact-loc grid min-h-[840px] scroll-mt-[120px] grid-rows-[auto_1fr] bg-bg max-[1100px]:min-h-0":"contact-loc grid scroll-mt-[120px] bg-bg",children:[i("div",{className:d?"flex min-h-[280px] flex-col gap-3 border-b border-line px-7 py-7":"flex flex-col gap-3 px-7 py-7",children:[i("div",{className:"flex items-start justify-between gap-3.5",children:[i("div",{children:[n.name&&t("div",{className:"font-heading3 text-[length:var(--size-headingSmall,30px)] font-medium uppercase leading-none tracking-[-0.02em]",children:n.name}),h&&t("div",{className:"mt-1.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:h})]}),n.timezone&&t("span",{className:"whitespace-nowrap border border-line px-2.5 py-1.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:n.timezone})]}),n.address!=null&&n.address!==""&&t("div",{className:"mt-1.5 font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:t(E,{value:n.address})}),n.phone&&t("div",{children:t("a",{href:v,className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg hover:text-accent",children:n.phone})}),n.hours!=null&&n.hours!==""&&t("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-fg-dim",children:t(E,{value:n.hours})}),!d&&u&&t("div",{children:t(H,{href:u})})]}),d&&t(le,{name:String(n.name??""),state:s,country:m,lat:Number(n.lat),lng:Number(n.lng),mapsUrl:String(n.mapsUrl??""),mapTheme:a,pick:l,editing:c})]})}function B(r,n,o,a){return r||(n?`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent([n,o,a].filter(Boolean).join(" "))}`:"")}function H({href:r}){return t("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent transition-colors hover:text-fg",children:"Get directions ↗"})}function le({name:r,state:n,country:o,lat:a,lng:l,mapsUrl:c,mapTheme:v="auto",pick:g,editing:s}){const m=C(a,l),h=n,f=r||"Location",d=P(()=>m?[{key:"place",label:f,lat:a,lng:l,glyph:"",tone:""}]:[],[m,f,a,l]),u=B(c,r,n,o),b=i("div",{className:"absolute left-5 top-5 z-10 flex max-w-[64%] flex-col gap-1.5 border border-line bg-bg p-3.5 shadow-[0_8px_24px_rgba(0,0,0,.4)]",children:[i("span",{className:"font-display text-[length:var(--size-body,14px)] font-medium tracking-[-0.01em]",children:[f,h?`, ${h}`:""]}),u&&t(H,{href:u})]}),N="relative overflow-hidden max-[1100px]:aspect-square";return m?t("div",{"data-loc-pick":g,className:N,children:t(ne,{pins:d,mapTheme:v,ariaLabel:f,className:"absolute inset-0",children:b})}):i("div",{"data-loc-pick":g,className:`${N} bg-bg`,style:{backgroundImage:"repeating-linear-gradient(45deg, rgba(201,164,97,.04) 0 1px, transparent 1px 14px), repeating-linear-gradient(-45deg, rgba(201,164,97,.04) 0 1px, transparent 1px 14px), linear-gradient(135deg, var(--site-surface-2), var(--site-surface))"},children:[b,s&&t("div",{className:"absolute inset-0 flex items-center justify-center px-6 text-center font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-fg-dim/40",children:"Add latitude & longitude"})]})}export{oe as default};
|
|
1
|
+
"use client";import{jsx as t,jsxs as r,Fragment as j}from"react/jsx-runtime";import{EDITORIAL_COLUMN as H}from"../../format/lib/content/page-width.js";import{SiteImage as D}from"../lib/site-runtime.js";import{useEffect as U,useState as R}from"react";import{stripMarkup as F}from"../../format/lib/markup.js";import P from"./EditorialSectionHead.js";import G from"./SectionEyebrow.js";import{scrollBehavior as T}from"./useReducedMotion.js";import{renderGold as z,renderHeadline as V}from"./goldPhrases.js";import{CONTACT_LOCATIONS_CARDS_PLACEHOLDER as q,CONTACT_LOCATIONS_DEFAULTS as h,parseLocationTileShape as J,splitLegacyRegion as W}from"../../format/lib/content/contact.js";import{galleryCardRatioClass as K}from"../../format/lib/content/gallery-card-layout.js";import{jumpHighlightCss as Q}from"../../format/lib/content/box-link.js";import{hasMapCoords as A}from"../../format/lib/map-styles.js";import{useRootIsDark as X}from"efficient-shell/theme";import{bucketByGroup as Y,groupColsClass as _}from"../../format/lib/locations-grid.js";import{LocationGroupHeader as Z}from"./LocationGroupHeader.js";import ee,{DirectionsLink as te,directionsHref as ne}from"./LocationMap.js";import{phoneHref as re}from"../../format/lib/links/phone-href.js";import{scrim as ie}from"../../format/lib/content/scrim.js";const oe=Q({box:".contact-loc",lit:['.contact-loc[data-active="true"]'],first:i=>[`${i} > div:first-child`]});function M({value:i}){if(typeof i=="string"){const n=i.split(`
|
|
2
|
+
`);return t(j,{children:n.map((l,o)=>r("span",{children:[l,o<n.length-1?t("br",{}):null]},o))})}return t(j,{children:i})}function ae(){return t("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"repeating-linear-gradient(45deg, rgba(201,164,97,.05) 0 1px, transparent 1px 14px), linear-gradient(135deg, var(--site-surface-2), var(--site-surface))"},children:r("svg",{width:"34",height:"34",viewBox:"0 0 24 24",fill:"none",stroke:"var(--fg-dim)",strokeWidth:1.4,"aria-hidden":"true",style:{opacity:.4},children:[t("rect",{x:"3",y:"4",width:"18",height:"16",rx:"1.5"}),t("circle",{cx:"8.5",cy:"9.5",r:"1.6"}),t("path",{d:"M21 16l-5-5-4 4-2-2-7 7"})]})})}function se({sectionNumber:i=h.sectionNumber,heading:n=h.heading,tagline:l=h.tagline,galleryKicker:o=h.galleryKicker,galleryHint:d=h.galleryHint,locations:m=q,mapTheme:f="auto",imageShape:y,editing:c,nodeId:u}){const g=!X({whenUnset:!0}),[x,N]=R(null),a=e=>`loc-${e}`,b=e=>{N(e),typeof document<"u"&&document.getElementById(e)?.scrollIntoView({behavior:T(),block:"start"}),!c&&typeof window<"u"&&window.history?.replaceState&&window.history.replaceState(null,"",`#${e}`)};U(()=>{if(typeof window>"u")return;const e=window.location.hash.replace(/^#/,"");!e||!document.getElementById(e)||(N(e),requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({behavior:T(),block:"start"})}))},[]);const O=K(J(y)),k=(e,p)=>c&&u?`${e}:${p}`:void 0,$=m.length>0&&(c||m.some(e=>String(e?.photo??"").trim())),E=m.some(e=>A(Number(e?.lat),Number(e?.lng))),C=Y(m,e=>String(e.group??""),e=>String(e.groupName??""));return t("section",{id:"studios",className:"scroll-mt-24 border-b border-line py-[100px] max-[1100px]:py-[60px]",style:g?void 0:{background:"var(--section-bg)"},children:r("div",{className:H,children:[t("style",{dangerouslySetInnerHTML:{__html:oe}}),(i||n||l)&&t(P,{num:i,title:n?V(n,!0):void 0,desc:l?z(l):void 0,spaceBelow:"mb-10"}),$&&r("div",{className:"mb-12",children:[(o||d)&&r("div",{className:"mb-5 flex items-baseline justify-between gap-6 border-b border-line pb-4",children:[o&&t(G,{text:o,size:12}),d&&t("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.22em] text-fg-dim",children:z(d)})]}),t("div",{className:"flex flex-col gap-6",children:C.map((e,p)=>{const v=e.items.length===1;return r("div",{children:[e.key&&t("div",{className:"mb-2.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.3em] text-accent",children:e.key}),t("div",{className:["grid gap-[2px] border border-line bg-line",_(e.items.length),e.items.length>1?"max-[700px]:grid-cols-2":""].join(" "),children:e.items.map(({item:s,index:w})=>{const S=String(s?.name??""),L=String(s?.photo??""),I=a(w);return r("a",{href:`#${I}`,"aria-label":`Jump to ${S||"location"} map`,onClick:B=>{B.preventDefault(),b(I)},"data-loc-pick":k(w,"image"),className:["group relative block",O,"overflow-hidden bg-bg outline-none focus-visible:ring-2 focus-visible:ring-accent",v?"max-h-[440px]":""].join(" "),children:[L?t(D,{src:L,alt:F(S||"Location"),fill:!0,sizes:v?"100vw":"(max-width: 700px) 50vw, 33vw",className:"object-cover grayscale transition-[filter] duration-500 group-hover:grayscale-0"}):t(ae,{}),t("div",{className:"pointer-events-none absolute inset-0",style:{background:`linear-gradient(180deg, transparent 50%, ${ie(.85)} 100%)`}}),t("figcaption",{className:"absolute inset-x-0 bottom-0 z-[1] flex items-center justify-start gap-2 px-3 py-3 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.22em] text-overlay-fg/85",children:t("span",{children:S})})]},w)})})]},e.key?`g:${e.key}`:`ungrouped:${p}`)})})]}),C.map((e,p)=>r("div",{className:p===0?"":"mt-10",children:[e.key&&t(Z,{groupKey:e.key,name:e.name,count:e.items.length}),t("div",{className:["grid gap-[2px] border border-line bg-line",_(e.items.length),e.items.length>1?"max-[1100px]:grid-cols-1":""].join(" "),children:e.items.map(({item:v,index:s})=>t(le,{id:a(s),card:v,active:x===a(s),mapTheme:f,mapPick:k(s,"map"),cityPick:k(s,"city"),editing:c},s))})]},e.key?`g:${e.key}`:`ungrouped:${p}`)),E&&r("p",{className:"mt-8 text-right font-mono text-[10px] uppercase tracking-[0.25em] text-fg-dim/50",children:["Location coordinates ©"," ",t("a",{href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer",className:"hover:text-accent",children:"OpenStreetMap contributors"})]})]})})}function le({id:i,card:n,active:l,mapTheme:o,mapPick:d,cityPick:m,editing:f}){const y=re(n.phone),c=W(n.region),u=String(n.state??"").trim()||c.state,g=String(n.country??"").trim()||c.country,x=[u,g].filter(Boolean).join(" · "),a=A(Number(n.lat),Number(n.lng))||!!f,b=ne(String(n.mapsUrl??""),String(n.name??""),u,g);return r("article",{id:i,"data-active":l?"true":void 0,"data-loc-pick":m,className:a?"contact-loc grid min-h-[840px] scroll-mt-[120px] grid-rows-[auto_1fr] bg-bg max-[1100px]:min-h-0":"contact-loc grid scroll-mt-[120px] bg-bg",children:[r("div",{className:a?"flex min-h-[280px] flex-col gap-3 border-b border-line px-7 py-7":"flex flex-col gap-3 px-7 py-7",children:[r("div",{className:"flex items-start justify-between gap-3.5",children:[r("div",{children:[n.name&&t("div",{className:"font-heading3 text-[length:var(--size-headingSmall,30px)] font-medium uppercase leading-none tracking-[-0.02em]",children:n.name}),x&&t("div",{className:"mt-1.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:x})]}),n.timezone&&t("span",{className:"whitespace-nowrap border border-line px-2.5 py-1.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:n.timezone})]}),n.address!=null&&n.address!==""&&t("div",{className:"mt-1.5 font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:t(M,{value:n.address})}),n.phone&&t("div",{children:t("a",{href:y,className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg hover:text-accent",children:n.phone})}),n.hours!=null&&n.hours!==""&&t("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-fg-dim",children:t(M,{value:n.hours})}),!a&&b&&t("div",{children:t(te,{href:b})})]}),a&&t(ee,{name:String(n.name??""),state:u,country:g,lat:Number(n.lat),lng:Number(n.lng),mapsUrl:String(n.mapsUrl??""),mapTheme:o,pick:d,editing:f})]})}export{se as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import{EDITORIAL_COLUMN as u}from"../../format/lib/content/page-width.js";import{Fragment as v}from"react";import{SiteLink as N}from"../lib/site-runtime.js";import{stripMarkup as y}from"../../format/lib/markup.js";import k from"./Placeholder.js";import{renderGold as r,renderHeadline as z,splitParagraphs as w}from"./goldPhrases.js";import{scrim as g}from"../../format/lib/content/scrim.js";const l={body:"text-[length:var(--size-body,20px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function $({image:h,badge:i,imageDate:o,category:p,readLabel:c,date:m,title:t,dek:d,ctaText:x,ctaHref:b}){const f=[p?e("span",{className:"text-accent",children:r(p)}):null,c?e("span",{children:r(c)}):null,m?e("span",{children:r(m)}):null].filter(Boolean);return e("section",{className:"border-b border-line py-20 max-[1100px]:py-[60px]",children:e("div",{className:u,children:a("article",{className:"sf-card relative grid grid-cols-[1.3fr_1fr] border border-line bg-[var(--card-bg)] max-[1100px]:grid-cols-1",children:[a("div",{className:"relative aspect-[5/4] overflow-hidden border-r border-line bg-surface-2 max-[1100px]:border-r-0 max-[1100px]:border-b",children:[e(k,{label:"featured-cover",src:h||void 0,alt:y(t||"Cover"),sizes:"(max-width: 1100px) 100vw, 56vw"}),e("div",{className:"pointer-events-none absolute inset-0 z-[1]",style:{background:`linear-gradient(180deg, ${g(.45)} 0%, transparent 30%, transparent 70%, ${g(.55)} 100%)`}}),i&&e("span",{className:`absolute left-6 top-6 z-[2] bg-accent px-3 py-2 font-mono ${l.labelSmall} uppercase tracking-[0.3em] text-bg`,children:r(i)}),o&&e("span",{className:`absolute right-6 bottom-6 z-[2] font-mono ${l.labelSmall} uppercase tracking-[0.24em] text-overlay-fg`,children:r(o)})]}),a("div",{className:"flex flex-col justify-between gap-6 px-12 py-14 max-[1100px]:px-7 max-[1100px]:py-9",children:[f.length>0&&e("div",{className:`flex items-center gap-4 font-mono ${l.labelSmall} uppercase tracking-[0.28em] text-fg-dim`,children:f.map((s,n)=>a(v,{children:[n>0&&e("span",{className:"opacity-40",children:"·"}),s]},n))}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(34px,3.5vw,58px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:z(t,!0)}),d&&w(d).map((s,n)=>e("p",{className:`max-w-[520px] font-serif ${l.body} italic leading-[1.5] text-fg-dim`,children:r(s,!0)},n)),x&&e("div",{children:a(N,{href:b||"#",className:`group inline-flex items-center gap-3.5 py-3.5 font-mono ${l.labelLarge} uppercase tracking-[0.3em] text-accent`,children:[r(x)," ",e("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"→"})]})})]})]})})})}export{$ as default};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
import { type Loop, type LoopDirection } from "../../format/lib/animation/index.js";
|
|
2
4
|
import { type PadValues } from "../lib/content/section-padding.js";
|
|
3
5
|
type Direction = "row" | "column" | "tabs";
|
|
4
6
|
type Justify = "start" | "center" | "between" | "end";
|
|
@@ -11,11 +13,14 @@ interface FlexProps {
|
|
|
11
13
|
label?: string;
|
|
12
14
|
tabShape?: unknown;
|
|
13
15
|
gap?: number | string;
|
|
16
|
+
gapPhone?: unknown;
|
|
14
17
|
justify: Justify;
|
|
15
18
|
align: AlignItems;
|
|
16
19
|
wrap: boolean;
|
|
17
20
|
share?: string;
|
|
21
|
+
sharePhone?: string;
|
|
18
22
|
phoneRow?: number | string;
|
|
23
|
+
separator?: string;
|
|
19
24
|
blockSpacing?: string;
|
|
20
25
|
contained?: boolean;
|
|
21
26
|
bgImage?: string;
|
|
@@ -26,7 +31,20 @@ interface FlexProps {
|
|
|
26
31
|
pad?: PadValues;
|
|
27
32
|
fillHeight?: boolean;
|
|
28
33
|
shadow?: unknown;
|
|
34
|
+
loop?: Loop;
|
|
35
|
+
scrollDirection?: LoopDirection;
|
|
36
|
+
loopSeconds?: number;
|
|
37
|
+
loopDelay?: number;
|
|
38
|
+
editing?: boolean;
|
|
39
|
+
fillColor?: unknown;
|
|
40
|
+
line?: unknown;
|
|
41
|
+
upcoming?: unknown;
|
|
42
|
+
link?: unknown;
|
|
43
|
+
boxShape?: unknown;
|
|
44
|
+
boxShapePhone?: unknown;
|
|
45
|
+
jumpHighlight?: unknown;
|
|
46
|
+
anchor?: unknown;
|
|
29
47
|
content: SlotComponent;
|
|
30
48
|
}
|
|
31
|
-
export default function Flex({ direction, label, tabShape, gap, justify, align, wrap, share, phoneRow, blockSpacing, bgImage, bgImagePhone, darken, darkenStyle, placement, padV2, border, borderPhone, pad, contained, fillHeight, shadow, content: Content, }: FlexProps): import("react").JSX.Element;
|
|
49
|
+
export default function Flex({ direction, label, tabShape, gap, gapPhone, justify, align, wrap, share, sharePhone, phoneRow, separator, blockSpacing, bgImage, bgImagePhone, darken, darkenStyle, placement, padV2, border, borderPhone, pad, contained, fillHeight, shadow, loop, scrollDirection, loopSeconds, loopDelay, editing, fillColor, line, upcoming, link, boxShape, boxShapePhone, jumpHighlight, anchor, content: Content, }: FlexProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
32
50
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Fragment as B,jsx as e,jsxs as oo}from"react/jsx-runtime";import{useId as Go}from"react";import{parseHexColor as Jo}from"efficient-shell/format";import Ko from"./BoxTabs.js";import{BoxTabPaneContext as Yo,useIsTabPane as qo}from"./BoxTabPaneContext.js";import{InBoxContext as Qo}from"./InBoxContext.js";import Vo from"./SiteGutterFrame.js";import{BoxSurfaceProvider as Zo}from"./BoxSurfaceContext.js";import{BoxCellWidthContext as oe}from"./BoxCellWidthContext.js";import{useInSiteHeader as ee}from"./PhoneMenuTools.js";import{FRAME_BASE as eo,FRAME_GUTTER as to}from"./BlockFrame.js";import{containerGapProps as te}from"../../format/lib/content/container-gap.js";import{boxLayoutClasses as se,boxBlockSpacingClass as re,boxFitContentClass as ne,boxPhoneRowClasses as g,boxPhoneRowFits as le,boxShareClasses as so,boxWrapClass as ae}from"../../format/lib/content/box-layout.js";import{boxSeparatorClasses as ie,boxSeparatorSeamClass as me,boxSeparatorStyle as ce,isStripBox as fe}from"../../format/lib/content/box-separator.js";import{DEFAULT_LOOP_DELAY as ue,DEFAULT_LOOP_DIRECTION as de,DEFAULT_LOOP_SECONDS as pe}from"../../format/lib/animation/index.js";import{LoopTrack as be}from"../lib/animation/LoopTrack.js";import{BOX_CARD_PAD as n,BOX_OWNS_SIDES_CLASS as xe,boxDarkenStyle as Se,boxPlacementClasses as he,CARD_SHADOW_CLASS as $e,isBackgroundBox as ro}from"../../format/lib/content/box-background.js";import{boxShadowAttrs as _e}from"../../format/lib/content/box-shadow.js";import{boxShapeClass as Ce,boxShapeClasses as Pe}from"../../format/lib/content/box-shape.js";import{BOX_JUMP_ATTR as Le,BOX_LINK_ATTR as no,BOX_LINK_CLASS as lo,BOX_LINKED_CLASS as ye,boxJumpBlocksClass as Ae,boxJumpCss as Be,boxJumpSlug as ge,boxLinkOf as Oe}from"../../format/lib/content/box-link.js";import{SiteLink as Te}from"../lib/site-runtime.js";import{sectionBorderStyle as Ne}from"../../format/lib/content/borders.js";import{finiteNumber as l}from"../../format/lib/finite-number.js";import{sectionPadAttrs as Ee}from"../lib/content/section-padding.js";import{SECTION_FILL_CLASS as ao}from"../../format/lib/content/section-min-height.js";import{ON_MEDIA_INK_STYLE as ve}from"../../format/lib/content/ink.js";import{sizedBackground as O}from"../../format/lib/sized-image.js";import{BoxRail as Re,BoxRailStop as we,RAIL_STOPS_CLASS as De,useTimelineRail as Fe}from"./TimelineRail.js";const io={"--sf-site-gutter":"0px"},ke="bg-cover bg-center bg-[image:var(--sf-box-bg)] max-[720px]:bg-[image:var(--sf-box-bg-p)]";function Ie({children:t}){return e(B,{children:t(Go())})}function je({direction:t,label:mo,tabShape:co,gap:fo,gapPhone:uo,justify:po,align:S,wrap:bo,share:h,sharePhone:T,phoneRow:$,separator:d,blockSpacing:xo,bgImage:_,bgImagePhone:N,darken:So,darkenStyle:ho,placement:$o,padV2:_o=!1,border:Co,borderPhone:Po,pad:s={},contained:Lo=!0,fillHeight:p=!1,shadow:yo,loop:Ao,scrollDirection:Bo=de,loopSeconds:go=pe,loopDelay:Oo=ue,editing:E=!1,fillColor:v,line:To,upcoming:No,link:Eo,boxShape:R,boxShapePhone:vo,jumpHighlight:Ro,anchor:wo,content:w}){const c=E?"":Oe(Eo),f=p?"":Pe(R,vo),Do=!p&&Ce(R)!=="",i=ge(Ro,wo),D=typeof v=="string"?Jo(v.trim()):null,F=D?{backgroundColor:D}:void 0,k=Fe(),I=To===!0&&t!=="tabs",a=ro(_),j=ee(),U=qo(),W=fe(t,d),b=Ao==="scroll"&&t!=="tabs",X=[so(h),t==="row"?ne(h):"",re(xo),ie(t,d)].filter(Boolean).join(" "),Fo=X?` ${X}`:"",H=["flex",t==="row"?W||b?"flex-row":`flex-row ${g($,T)}`:"flex-col",ae(b?!1:bo),a?he($o??"center",t):se(b?void 0:po,S)].join(" ")+Fo,m=p||a||f?` ${ao}`:"",C=Do?` ${f}`:f?`${m} ${f}`:m,P=c?` ${ye}`:"",L=a||j||_o?"":" py-6",ko=`${eo}${L} ${to}${C}${P}`,Io=j?`${C}${P}`.trim():`w-full${L}${C}${P}`,u=te("Flex",fo,t==="row"?"inline":"block",uo),jo=W?{...u.style,...ce(t,d)}:u.style,M=(o="")=>e(w,{className:`${H}${u.className}${m}${o?` ${o}`:""}${I?` ${De}`:""}${i?` ${Ae(i)}`:""}`,style:jo,minEmptyHeight:120}),z=me(t,d),G=b?e(be,{direction:Bo,seconds:go,delay:Oo,editing:E,copy:o=>M(o&&z?`${o} ${z}`:o)}):M(),J=t==="tabs"?e(Ko,{className:`${H}${u.className}${m}`,style:u.style,shape:co,children:G}):G,Uo=U?e(Yo.Provider,{value:!1,children:J}):J,K=e(Qo.Provider,{value:!0,children:Uo}),y=I?e(Re,{row:t==="row",stops:w.blockCount??0,children:K}):K,Wo=mo?.trim()||(U?"":void 0),Xo={values:s,frame:L?24:0},Ho=o=>k?e(we,{on:k,future:No===!0,children:o}):o,Mo=o=>c.startsWith("/")?e(Te,{href:c,className:lo,"aria-labelledby":o,[no]:""}):e("a",{href:c,className:lo,"aria-labelledby":o,[no]:""}),Y=i?e("style",{dangerouslySetInnerHTML:{__html:Be(i)}}):null,zo=o=>({...a?null:_e(yo),...i?{[Le]:i}:null,...o?{id:o}:null}),q=(o,r)=>Ho(e(Vo,{contained:Lo,framedClass:ko,fillClass:Io,columnClass:`${eo} ${to}${m}`,tabLabel:Wo,pad:a?void 0:Xo,border:Ne(Co,Po),outerAttrs:zo(r),box:!0,outerStyle:a?void 0:F,children:Y||r?oo(B,{children:[Y,r?Mo(r):null,o]}):o})),Q=o=>c?e(Ie,{children:r=>q(o,r)}):q(o);if(!a){const o=S===void 0||S==="stretch",r=so(h)!==""&&!le($,T)&&(o||g($)!==g(void 0));return Q((t==="row"?r:t==="column"&&o)?e(oe.Provider,{value:!0,children:y}):y)}const x=Se(So,ho),V=ro(N),A=Ee({...s,top:l(s.top)??n.desktop,bottom:l(s.bottom)??n.desktop,topPhone:l(s.topPhone)??n.phone,bottomPhone:l(s.bottomPhone)??n.phone,left:l(s.left)??n.side,right:l(s.right)??n.side,leftPhone:l(s.leftPhone)??n.sidePhone,rightPhone:l(s.rightPhone)??n.sidePhone}),Z=e("div",{className:`relative z-[1] ${xe} ${A?.className??""}${p||f?` ${ao}`:""}`.trimEnd(),style:x?{...A?.style,...io,...ve}:{...A?.style,...io},children:y});return Q(e(B,{children:oo("div",{className:`relative isolate overflow-hidden ${$e}${m}${V?` ${ke}`:""}`,style:{...F,...V?{"--sf-box-bg":O(_??""),"--sf-box-bg-p":O(N??"")}:{backgroundImage:O(_??""),backgroundSize:"cover",backgroundPosition:"center"}},children:[x&&e("div",{className:"absolute inset-0 z-0",style:x,"aria-hidden":!0}),x?e(Zo,{children:Z}):Z]})}))}export{je as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{FRAME_BASE as l,FRAME_GUTTER as e}from"./BlockFrame.js";import $ from"./SiteGutterFrame.js";import{containerGapProps as u}from"../../format/lib/content/container-gap.js";import{resolveGridColumns as g,resolveGridMobileColumns as G}from"../../format/lib/content/grid-span.js";import{SECTION_FILL_CLASS as S}from"../../format/lib/content/section-min-height.js";function E({columns:s,mobileColumns:i,gap:n,contained:m=!0,fillHeight:a=!1,content:f}){const o=a?` ${S}`:"",c=`${l} py-6 ${e}${o}`,p=`w-full py-6${o}`,d=g(s),C=G(i,s),r=u("Grid",n,"both");return t($,{contained:m,framedClass:c,fillClass:p,columnClass:`${l} ${e}${o}`,box:!0,children:t(f,{className:`sf-grid-zone grid${r.className}${o}`,style:{...r.style,"--sf-grid-cols":String(d),"--sf-grid-cols-phone":String(C)},minEmptyHeight:120})})}export{E as default};
|
|
@@ -11,6 +11,7 @@ interface HeadingProps {
|
|
|
11
11
|
contained: boolean;
|
|
12
12
|
hero?: boolean;
|
|
13
13
|
}
|
|
14
|
+
export declare function headingDefaultPx(level: HeadingLevel, width?: number): number;
|
|
14
15
|
export declare function headingLook(level: Level, align: Align, face?: string): {
|
|
15
16
|
className: string;
|
|
16
17
|
style: CSSProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{resolveTypeSize as o}from"../../format/lib/content/section-type-size.js";import m from"./BlockFrame.js";import{renderHeadline as g}from"./goldPhrases.js";const h={1:{size:"clamp(48px,7vw,96px)",role:"heading",step:"headingLarge",leading:"leading-[0.95]"},2:{size:"64px",sizeMobile:"36px",role:"heading",step:"headingMedium",rank:2,leading:"leading-none"},3:{size:"40px",sizeMobile:"28px",role:"heading",step:"headingSmall",rank:3,leading:"leading-[1.05]"},4:{size:"28px",role:"heading",step:"headingSmall",rank:3,leading:"leading-[1.1]"},5:{size:"22px",role:"body",step:"body",leading:"leading-[1.2]"},6:{size:"18px",role:"body",step:"body",leading:"leading-[1.3]"}};function y(i,n=1440){const a=h[i].size,e=/^clamp\((\d+(?:\.\d+)?)px,(\d+(?:\.\d+)?)vw,(\d+(?:\.\d+)?)px\)$/.exec(a);return e?Math.min(Number(e[3]),Math.max(Number(e[1]),Number(e[2])*n/100)):Number.parseFloat(a)}const x="font-display font-medium leading-[0.92] tracking-[-0.04em] text-[length:min(var(--size-headingLarge,clamp(64px,9vw,144px)),var(--sf-heading-max,9999px))] max-[800px]:text-[length:min(var(--size-headingMedium,clamp(48px,12vw,76px)),var(--sf-heading-max,9999px))] max-[800px]:leading-[0.95]",f={left:"text-left",center:"text-center",right:"text-right"};function c(i,n,a="font-display"){const e=h[i],d=o(void 0,e.size,e.role,e.step),t=e.sizeMobile?o(void 0,e.sizeMobile,e.role,e.step):void 0,l={"--heading-size":d,...t?{"--heading-size-m":t}:{}},s=e.rank===2?"[font-weight:var(--sf-heading-2-weight,var(--sf-heading-weight,500))]":e.rank===3?"[font-weight:var(--sf-heading-3-weight,var(--sf-heading-weight,500))]":"[font-weight:var(--sf-heading-weight,500)]",p=["text-[length:var(--heading-size)]",e.leading,t?"max-[800px]:text-[length:var(--heading-size-m)]":""].filter(Boolean).join(" ");return{className:`${a} ${s} tracking-[-0.03em] text-fg ${p} ${f[n]}`,style:l}}function u({level:i,text:n,align:a,contained:e,hero:d=!1,pad:t}){if(d)return r("h1",{className:x,children:g(n,!1)});const l=`h${i}`,s=c(i,a);return r(m,{contained:e,className:"py-6",pad:t?{values:t,frame:24}:void 0,children:r(l,{className:s.className,style:s.style,children:g(n,!1)})})}export{u as default,y as headingDefaultPx,c as headingLook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as c,jsxs as A}from"react/jsx-runtime";import{useCallback as f,useEffect as
|
|
1
|
+
"use client";import{jsx as c,jsxs as A}from"react/jsx-runtime";import{useCallback as f,useEffect as x,useId as ke,useRef as i,useState as g}from"react";import{markOverlayPortal as K}from"../../format/lib/document/overlay-portal.js";import ge from"./Ticker.js";import{HeroSlideStyleContext as _e}from"./HeroSlide.js";import Se from"./HeroArrows.js";import Re from"./Reel.js";import{TICKER_PART_ATTR as Te}from"./PreviewTickerContext.js";import{useReducedMotion as Oe}from"./useReducedMotion.js";import{hasSectionHeight as He,resolveSectionHeight as U}from"../../format/lib/content/section-height.js";import{HEADER_HEIGHT_CSS as Le}from"../lib/document/header-clearance.js";import{nextReel as Ae,normaliseHeroReelShape as Ne,reelShown as Ce}from"../../format/lib/reel.js";import{arrowsShown as Me,arrowStep as Pe}from"../../format/lib/hero-arrows.js";import{swipeEnabled as De,swipeStep as Ie}from"../../format/lib/hero-swipe.js";import{videoControlShown as Ve,videoHeld as $e}from"../../format/lib/hero-video-control.js";import{HERO_SLIDER_GOTO_EVENT as N}from"efficient-easel/draw";import{say as J}from"../../format/lib/editor-words.js";import{markedChildren as Q}from"../../format/lib/marked-children.js";import{DEFAULT_TICKER_ITEMS as ze}from"../../format/lib/hero-ticker.js";import{scrim as Xe}from"../../format/lib/content/scrim.js";const Ge="Play video",je="Hold video",Be="flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-overlay-chrome/25 bg-overlay-scrim/80 px-[11px] font-mono text-[11px] leading-none tracking-[0.05em] text-overlay-fg",Ye=()=>J("item"),W=new Map;function qe(_,b){const h=_?.ownerDocument?.defaultView;if(h)return h.addEventListener(N,b),()=>h.removeEventListener(N,b)}function Fe({slides:_,alignment:b,textureOpacity:h,showTexture:Z,textureColor:ee,phoneUpDown:te,phoneSideways:re,autoplay:C,autoplayInterval:S,showTicker:oe,tickerItems:ne,heightDesktop:M,heightMobile:P,showPicker:se,pickerShape:ce,pickerPlacement:ae,showArrows:ie,arrowsShape:le,arrowsPlacement:ue,editing:n}){const D=He(M,P),de=D?"h-[var(--sf-hero-h-m)] min-[720px]:h-[var(--sf-hero-h-d)]":"h-screen min-h-[680px]",me=D?{"--sf-hero-h-d":U(M),"--sf-hero-h-m":U(P)}:void 0,I=(ne??ze.map(e=>({text:e}))).map(e=>e?.text?.trim()?e.text:n?Ye():"").filter(Boolean),fe=oe!==!1,l=i(null),V=i(null),$=i(null),z=i(null),X=ke(),R=i(X),[w,he]=g([]),[pe,G]=g(0),p=i(0),[j,B]=g(!1),[y,ve]=g(!1),T=Oe(),E=f(()=>l.current?.querySelector(".hero-track")??null,[]),a=f((e,t=!1)=>{G(e),p.current=e,W.set(R.current,e);const r=l.current?.querySelector(".hero-track");if(r)if(t){const o=r.style.transition;r.style.transition="none",r.style.transform=`translateX(-${Math.max(0,e)*100}%)`,r.offsetHeight,r.style.transition=o}else r.style.transform=`translateX(-${Math.max(0,e)*100}%)`},[]);x(()=>{const e=l.current,t=e?.getAttribute("data-easel-block")||e?.closest("[data-easel-block]")?.getAttribute("data-easel-block")||X;R.current=t;const r=W.get(t);typeof r=="number"&&(G(r),p.current=r)},[]),x(()=>{const e=E();if(!e)return;const t=()=>{he(o=>Ae(o,Q(e,"data-slide-name")))};t();const r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-slide-name","data-slide-process","data-slide-media"]}),()=>{r.disconnect()}},[E]),x(()=>{if(!n)return;const e=t=>{const r=t.detail;if(!r||typeof r.index!="number")return;const o=l.current,m=o?.getAttribute("data-easel-block")||o?.closest("[data-easel-block]")?.getAttribute("data-easel-block")||R.current;r.id&&r.id!==m||a(r.index,!0)};return qe(l.current,e)},[n,a]);const s=w.length,u=Math.min(Math.max(pe,0),Math.max(0,s-1)),O=Ce({shown:se,count:s}),Y=Me({shown:ie,count:s}),q=Ve({editing:n,shown:u,slides:w}),xe=$e({editing:n,playing:y,controlShown:q}),k=De({count:s,editing:n}),d=i(null),v=i(null),be=f(e=>{if(d.current=null,v.current=null,!k||e.touches.length!==1)return;const t=e.touches[0];d.current={x:t.clientX,y:t.clientY},v.current={x:t.clientX,y:t.clientY}},[k]),we=f(e=>{if(!d.current)return;if(e.touches.length!==1){d.current=null;return}const t=e.touches[0];v.current={x:t.clientX,y:t.clientY}},[]),ye=f(()=>{const e=d.current,t=v.current;if(d.current=null,v.current=null,!k||!e||!t)return;const r=Ie(t.x-e.x,t.y-e.y,p.current,s);r!==p.current&&a(r)},[k,s,a]);x(()=>{if(n||!C||j||T||s<=1)return;const t=Math.max(1,typeof S=="number"?S:6)*1e3,r=window.setTimeout(()=>a((u+1)%s),t);return()=>window.clearTimeout(r)},[n,C,S,j,T,s,u,a]),x(()=>{const e=[V.current,$.current,z.current].filter(Boolean),t=e.map(o=>K(o)),r=o=>{const m=o.target,H=m.closest("[data-hero-nav]"),F=H??m.closest("[data-idx]");if(!F)return;o.stopPropagation(),o.preventDefault();const L=H?Pe(H.dataset.heroNav,p.current,s):Number(F.dataset.idx);Number.isNaN(L)||(a(L,n),Q(E(),"data-slide-name")[L]?.click())};return e.forEach(o=>o.addEventListener("click",r,{capture:!0})),()=>{t.forEach(o=>o?.()),e.forEach(o=>o.removeEventListener("click",r,{capture:!0}))}},[s,a,E,n]);const Ee=f(e=>{if(!e)return;const t=K(e),r=o=>{o.stopPropagation(),o.preventDefault(),ve(m=>!m)};return e.addEventListener("click",r,{capture:!0}),()=>{t?.(),e.removeEventListener("click",r,{capture:!0})}},[]);return c(_e.Provider,{value:{alignment:b,textureOpacity:h,textureOn:Z,textureColor:ee,quietVideo:xe,phoneUpDown:te,phoneSideways:re},children:A("div",{ref:l,className:`relative mx-[var(--sf-hero-bleed-m,calc(50%_-_50vw))] w-[var(--sf-hero-bleed-w,100vw)] ${de} max-w-[var(--sf-hero-cap,none)] overflow-hidden`,style:me,onMouseEnter:()=>B(!0),onMouseLeave:()=>B(!1),onTouchStart:be,onTouchMove:we,onTouchEnd:ye,children:[c(_,{className:"hero-track flex h-full [&>*]:h-full [&>*]:min-w-full [&>*]:shrink-0 [&>*]:basis-full",style:{transform:`translateX(-${u*100}%)`,transition:T?"none":"transform 600ms cubic-bezier(.22,.61,.36,1)"},minEmptyHeight:400}),q&&c("div",{ref:Ee,"data-hero-video-control":y?"playing":"held",className:"sf-hero-video-control absolute left-6 z-[7]",style:{top:`calc(${Le} + 16px)`},children:A("button",{type:"button",className:Be,children:[c("span",{"aria-hidden":"true",children:y?"❚❚":"▶"}),J(y?je:Ge)]})}),(O||Y)&&A("div",{className:"pointer-events-none absolute inset-y-0 left-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] right-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] z-[6] mx-auto max-w-[var(--sf-hero-chrome-cap,calc(var(--sf-site-width,1600px)_-_var(--sf-site-gutter,40px)*2))]",children:[O&&c(Re,{ref:V,slides:w,active:u,shape:Ne(ce),placement:ae}),Y&&c(Se,{ref:z,shape:le,placement:ue})]}),O&&c("div",{ref:$,className:"sf-hero-phone-dots absolute bottom-[80px] left-1/2 z-[6] hidden -translate-x-1/2 items-center gap-2",children:w.map((e,t)=>c("button",{type:"button","data-idx":t,"aria-label":`Go to slide ${t+1}`,className:`h-2 rounded-full transition-all motion-reduce:transition-none ${t===u?"w-5 bg-accent":"w-2 bg-white/45 hover:bg-white/70"}`},t))}),fe&&I.length>0&&c("div",{className:"sf-hero-ticker absolute inset-x-0 bottom-0 z-[5] border-t border-overlay-chrome/10 py-3.5",...n?{[Te]:""}:{},style:{background:Xe(.55)},children:c(ge,{items:I,backdrop:"dark-media"})})]})})}export{N as HERO_SLIDER_GOTO_EVENT,je as HERO_VIDEO_HOLD_LABEL,Ge as HERO_VIDEO_PLAY_LABEL,Fe as default,qe as subscribeSliderGoto};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useRef as
|
|
1
|
+
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useRef as Q,useState as W}from"react";import x from"./HeroPoster.js";import{HeroVideoBackdrop as X,HeroVideoPlayer as Z}from"./HeroVideoPlay.js";import{resolveMedia as i}from"../lib/media.js";import{hasSectionHeight as ee,resolveSectionHeight as R}from"../../format/lib/content/section-height.js";import{DEFAULT_OVERLAY_POSITION as oe,overlayGradient as re}from"../../format/lib/sections/hero-overlay.js";import{ON_MEDIA_INK_STYLE as se}from"../../format/lib/content/ink.js";import{HERO_PART_ATTR as ie}from"../lib/document/hero-media-parts.js";import{hidableText as te}from"efficient-easel/draw";import{normaliseVideoPlayback as ne,normaliseVideoSource as ae,parseYouTubeId as ce}from"../../format/lib/hero-video.js";import{heroPictureCount as le,normaliseMediaLayout as de,resolvePhoneLayout as me}from"../../format/lib/hero-media-layout.js";import{DEFAULT_TINT as g}from"../../format/lib/content/tint.js";function pe({overlay:t=100,overlayColor:o=g,overlayPosition:d=oe,mediaType:a="image",mediaSrc:m,poster:b,objectPosition:y,objectPositionPhone:w,tintColor:P=g,tintOpacity:p=0,heightDesktop:N,heightMobile:T,boxes:_,videoSource:L,youtubeUrl:O,videoPlayback:D,mediaLayout:S,mediaLayoutPhone:k,mediaImage2:$,objectPosition2:Y,objectPosition2Phone:F,tintColor2:G=g,tintOpacity2:C=0,editing:r=!1}){const H=ee(N,T),K=H?"h-[var(--sf-hero-h-m)] min-[720px]:h-[var(--sf-hero-h-d)]":"h-screen min-h-[680px]",U=H?{"--sf-hero-h-d":R(N),"--sf-hero-h-m":R(T)}:void 0,s=a==="video",I=s?i(m):void 0,V=s?i(b):i(m)??i(b),c=s&&ae(L)==="youtube",u=s&&ne(D)==="click",j=c?ce(te(O)):null,E=s&&!c&&!u,[z,B]=W(!1),h=!z,q=Q(null),J=a==="video"?"media":"image",l=de(S),f=me(k,l),M=!s&&le({mediaLayout:S,mediaLayoutPhone:k})>1;return n("section",{ref:q,className:`relative mx-[var(--sf-hero-bleed-m,calc(50%_-_50vw))] w-[var(--sf-hero-bleed-w,100vw)] ${K} max-w-[var(--sf-hero-cap,none)] overflow-hidden`,style:U,children:[M?n("div",{className:`absolute inset-0 z-[1] grid ${ue[f]} ${he[l]}`,"data-hero-layout":l,"data-hero-layout-phone":f,children:[n(v,{part:"image",editing:r,className:"relative overflow-hidden",children:[e(x,{posterSrc:i(m),showVideo:!1,objectPosition:y,objectPositionPhone:w}),e(A,{color:P,opacity:p})]}),n(v,{part:"image2",editing:r,className:`relative overflow-hidden${f==="one"?" max-[719px]:hidden":""}${l==="one"?" min-[720px]:hidden":""}`,children:[e(x,{posterSrc:i($),showVideo:!1,objectPosition:Y,objectPositionPhone:F}),e(A,{color:G,opacity:C})]})]}):n(v,{part:J,editing:r,className:"absolute inset-0 z-[1]",children:[e(x,{videoSrc:E?I:void 0,posterSrc:V,showVideo:E,objectPosition:y,objectPositionPhone:w}),c&&e(X,{youTubeId:j,ownPoster:!!V,background:!u,editing:r})]}),u&&e(Z,{youTubeId:j,fileSrc:c?void 0:I,playing:z,onPlay:()=>B(!0),editing:r}),h&&!M&&p>0&&e("div",{className:"pointer-events-none absolute inset-0 z-[2]",style:{background:P,opacity:Math.min(Math.max(p,0),100)/100}}),h&&e("div",{className:"pointer-events-none absolute inset-0 z-[2]",style:{background:re(o,d),opacity:Math.min(Math.max(t,0),100)/100}}),h&&_&&e("div",{className:["sf-hero-group-layer absolute inset-0 z-[3] mx-auto","max-w-[var(--sf-site-width,1600px)]","px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",r?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:se,children:e(_,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}const ue={one:"max-[719px]:grid-cols-1 max-[719px]:grid-rows-1",side:"max-[719px]:grid-cols-2 max-[719px]:grid-rows-1",stacked:"max-[719px]:grid-cols-1 max-[719px]:grid-rows-2"},he={one:"min-[720px]:grid-cols-1 min-[720px]:grid-rows-1",side:"min-[720px]:grid-cols-2 min-[720px]:grid-rows-1",stacked:"min-[720px]:grid-cols-1 min-[720px]:grid-rows-2"};function A({color:t,opacity:o}){return o>0?e("div",{className:"pointer-events-none absolute inset-0 z-[2]",style:{background:t,opacity:Math.min(Math.max(o,0),100)/100}}):null}function v({part:t,editing:o,className:d,children:a}){return e("div",{className:d,...o?{[ie]:t}:{},children:a})}export{pe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as N}from"react/jsx-runtime";import{createContext as
|
|
1
|
+
"use client";import{jsx as e,jsxs as N}from"react/jsx-runtime";import{createContext as T,useContext as k}from"react";import D from"./HeroPoster.js";import{resolveMedia as t}from"../lib/media.js";import{heroPhoneStackStyle as H}from"../../format/lib/hero-phone-stack.js";import{heroTextureGradient as P,heroTextureShown as z}from"../../format/lib/hero-texture.js";import{ON_MEDIA_INK_STYLE as C}from"../../format/lib/content/ink.js";import{DEFAULT_TINT as I}from"../../format/lib/content/tint.js";const M=T({});function V({name:i,process:r,mediaType:u="video",mediaSrc:s,videoSpeed:a,poster:l,objectPosition:f,objectPositionPhone:h,tintColor:x=I,tintOpacity:n=0,groups:d,editing:y=!1,themeClassName:m,themeStyle:v}){const{alignment:A="left",textureOpacity:p,textureOn:S,textureColor:g,quietVideo:b,phoneUpDown:w,phoneSideways:_}=k(M),o=u==="video",c=o?t(s):void 0,E=o?t(l):t(s)??t(l),j=typeof a=="number"?a/100:1;return N("section",{className:m?`relative h-full w-full overflow-hidden ${m}`:"relative h-full w-full overflow-hidden",style:v,"data-slide-name":i??"","data-slide-process":r??"","data-slide-media":c?"video":"still",children:[e(D,{videoSrc:c,posterSrc:E,showVideo:o,playbackRate:j,objectPosition:f,objectPositionPhone:o?void 0:h,quiet:b}),n>0&&e("div",{className:"absolute inset-0 z-[2]",style:{background:x,opacity:Math.min(Math.max(n,0),100)/100}}),z(S)&&e("div",{className:"absolute inset-0 z-[2]",style:{background:P(g),...p!==void 0?{opacity:p/100}:null}}),e("div",{className:["sf-hero-group-layer absolute inset-0 z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",y?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...C,...H(w,_)},children:d&&e(d,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}const K=Array.from({length:3},(i,r)=>({name:`Slide ${r+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));export{K as HERO_SLIDE_SEEDS,M as HeroSlideStyleContext,V as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as t,Fragment as u,jsxs as m}from"react/jsx-runtime";import{useEffect as f,useState as p}from"react";import{PlaySolidIcon as d}from"efficient-shell/icons/efficient-looks";import{PLAY_VIDEO_LABEL as s,youTubeCoverFallbackUrl as b,youTubeCoverUrl as h,youTubeEmbedUrl as i}from"../../format/lib/hero-video.js";function
|
|
1
|
+
"use client";import{jsx as t,Fragment as u,jsxs as m}from"react/jsx-runtime";import{useEffect as f,useState as p}from"react";import{PlaySolidIcon as d}from"efficient-shell/icons/efficient-looks";import{PLAY_VIDEO_LABEL as s,youTubeCoverFallbackUrl as b,youTubeCoverUrl as h,youTubeEmbedUrl as i}from"../../format/lib/hero-video.js";function y({youTubeId:e,ownPoster:l,background:a,editing:n}){const[r,o]=p("large");return f(()=>o("large"),[e]),e?m(u,{children:[!l&&r!=="none"&&t("img",{src:r==="large"?h(e):b(e),alt:"",className:"absolute inset-0 z-[2] h-full w-full object-cover",onLoad:c=>{r==="large"&&c.currentTarget.naturalWidth<=120&&o("small")},onError:()=>o(r==="large"?"small":"none")},`${e}-${r}`),a&&!n&&t("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:t("iframe",{src:i(e,"background"),title:"",tabIndex:-1,allow:"autoplay; encrypted-media; picture-in-picture",className:"absolute left-1/2 top-1/2 h-[max(100%,56.25cqw)] w-[max(100%,177.78cqh)] -translate-x-1/2 -translate-y-1/2 border-0"})})]}):null}function z({youTubeId:e,fileSrc:l,playing:a,onPlay:n,editing:r}){return!e&&!l?null:a&&!r?e?t("iframe",{src:i(e,"click"),title:s,allow:"autoplay; encrypted-media; picture-in-picture; fullscreen",allowFullScreen:!0,className:"absolute inset-0 z-[6] h-full w-full border-0 bg-overlay-scrim"}):t("video",{src:l,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):t("button",{type:"button","aria-label":s,onClick:r?void 0:n,className:`absolute left-1/2 top-1/2 z-[4] grid h-16 w-16 -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full bg-btn text-btn-ink shadow-lg transition-transform motion-reduce:transition-none ${r?"pointer-events-none":"cursor-pointer hover:scale-105"}`,children:t(d,{size:28})})}export{y as HeroVideoBackdrop,z as HeroVideoPlayer};
|
|
@@ -6,7 +6,6 @@ interface ImageBlockProps {
|
|
|
6
6
|
alt: string;
|
|
7
7
|
aspect: Aspect;
|
|
8
8
|
caption?: string;
|
|
9
|
-
width?: number;
|
|
10
9
|
contained: boolean;
|
|
11
10
|
grayscale?: boolean;
|
|
12
11
|
href?: string;
|
|
@@ -16,5 +15,5 @@ interface ImageBlockProps {
|
|
|
16
15
|
corners?: number;
|
|
17
16
|
cornerSides?: string[] | null;
|
|
18
17
|
}
|
|
19
|
-
export default function ImageBlock({ src, alt, aspect, contained, grayscale, href,
|
|
18
|
+
export default function ImageBlock({ src, alt, aspect, contained, grayscale, href, fit, focal, focalPhone, corners, cornerSides, editing, }: ImageBlockProps): import("react").JSX.Element | null;
|
|
20
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{SiteLink as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{SiteLink as x}from"../lib/site-runtime.js";import I from"./BlockFrame.js";import{useSitePhotography as $}from"./SitePhotographyContext.js";import{media as j}from"../lib/media.js";import{CONTENT_SIZES as w,sizedImage as C}from"../../format/lib/sized-image.js";import{imageCornerStyle as F}from"../../format/lib/content/image-corners.js";import{imageFitClass as z,imageIsCropped as T,parseImageFit as E}from"../../format/lib/content/image-fit.js";import{resolveImageTreatment as P}from"../../format/lib/content/image-treatment.js";import{phoneFocus as B}from"../../format/lib/content/phone-focus.js";import{say as L}from"../../format/lib/editor-words.js";const O={auto:"","21/9":"aspect-[21/9]","16/9":"aspect-[16/9]","4/3":"aspect-[4/3]","1/1":"aspect-square"};function _({src:t,alt:d,aspect:o,contained:u,grayscale:h,href:g,fit:y,focal:m,focalPhone:N,corners:S,cornerSides:b,editing:k=!1}){const a=P(h,$()),c=E(y,"cover"),n=F(S,b),f=T(o,c),l=B(f?N:void 0),p={...a.style??{},...m&&f?{objectPosition:m}:{},...l.style},r=t?C(j(t)):null,i=t&&r?e("img",{src:r.src,...r.srcSet?{srcSet:r.srcSet,sizes:w}:{},alt:d,className:`h-full w-full ${o==="auto"?"":z(c)}${a.className?` ${a.className}`:""}${l.className?` ${l.className}`:""}`,...Object.keys(p).length?{style:p}:{}}):e("div",{className:"flex aspect-[16/9] items-center justify-center border border-dashed border-line font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:L("Image — set a path")}),s=(g??"").trim(),v=s&&t?s.startsWith("/")?e(x,{href:s,className:"block h-full w-full",children:i}):e("a",{href:s,className:"block h-full w-full",children:i}):i;return!t&&!k?null:e(I,{contained:u,className:"py-6",children:e("figure",{children:e("div",{className:`relative w-full overflow-hidden bg-surface ${O[o]}`,...n?{style:n}:{},children:v})})})}export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as t,useContext as e}from"react";const o=t(!1),x=()=>e(o);export{o as InBoxContext,x as useInBox};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o,Fragment as u}from"react/jsx-runtime";import{SiteLink as b}from"../lib/site-runtime.js";import v from"./SectionEyebrow.js";import{renderGold as
|
|
1
|
+
import{jsx as e,jsxs as o,Fragment as u}from"react/jsx-runtime";import{SiteLink as b}from"../lib/site-runtime.js";import{cardColumns as v}from"./Cards.js";import k from"./SectionEyebrow.js";import{renderGold as y,renderHeadline as N}from"./goldPhrases.js";import{say as M}from"../../format/lib/editor-words.js";const c={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,17px)]"};function j({look:x,eyebrow:t,title:s,items:f,columns:g,editing:i=!1}={}){const h=v(g),n=(f??[]).filter(r=>i||(r.label??"").trim()),d=!!(t??"").trim()||!!(s??"").trim();return!i&&!d&&n.length===0?null:e("section",{className:"relative z-[2] border-y border-line bg-surface",children:o("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[76px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[d&&o("div",{className:"mb-11 flex flex-wrap items-baseline gap-5 max-[800px]:mb-8",children:[(t??"").trim()&&e(k,{text:t??"",look:x}),(s??"").trim()&&e("h2",{className:`font-heading2 ${c.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg ${c.headingMediumUpTo800}`,children:N(s??"",!1)})]}),n.length>0&&e("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--kf-cols),minmax(0,1fr))]",style:{"--kf-cols":String(h)},children:n.map((r,m)=>{const l=o(u,{children:[e("span",{"aria-hidden":!0,className:"h-[9px] w-[9px] flex-shrink-0 rotate-45 bg-accent"}),e("span",{className:`font-display ${c.body} font-medium uppercase tracking-[0.06em] text-fg transition-colors group-hover/kf:text-accent`,children:y((r.label??"").trim()||M("Feature"))})]}),a=(r.href??"").trim();if(a&&!i){const p="group/kf flex items-center gap-4 bg-bg px-7 py-[30px] transition-colors hover:bg-surface";return a.startsWith("/")?e(b,{href:a,className:p,children:l},m):e("a",{href:a,className:p,children:l},m)}return e("div",{className:"flex items-center gap-4 bg-bg px-7 py-[30px]",children:l},m)})})]})})}export{j as default};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
|
+
import { type MapThemeMode } from "../../format/lib/map-styles.js";
|
|
3
|
+
import SiteMap from "./SiteMap.js";
|
|
4
|
+
type MapPin = ComponentProps<typeof SiteMap>["pins"][number];
|
|
5
|
+
export declare const LOCATION_MAP_BOX = "relative overflow-hidden max-[1100px]:aspect-square";
|
|
6
|
+
export declare function locationMapPins(label: string, lat: number, lng: number): MapPin[];
|
|
7
|
+
export declare function directionsHref(mapsUrl: string, name: string, state: string, country: string): string;
|
|
8
|
+
export declare function DirectionsLink({ href }: {
|
|
9
|
+
href: string;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
export default function LocationMap({ name, state, country, lat, lng, mapsUrl, mapTheme, pick, editing, boxClass, }: {
|
|
12
|
+
name: string;
|
|
13
|
+
state: string;
|
|
14
|
+
country: string;
|
|
15
|
+
lat: number;
|
|
16
|
+
lng: number;
|
|
17
|
+
mapsUrl: string;
|
|
18
|
+
mapTheme?: MapThemeMode;
|
|
19
|
+
pick?: string;
|
|
20
|
+
editing?: boolean;
|
|
21
|
+
boxClass?: string;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
export {};
|