efficient-web-builder 0.9.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -338
- package/README.md +107 -261
- package/dist/components/AddBlockRow.d.ts +7 -0
- package/dist/components/AddBlockRow.js +1 -0
- package/dist/components/AddChildRow.d.ts +6 -0
- package/dist/components/AddChildRow.js +1 -0
- package/dist/components/AddSidePanel.d.ts +39 -0
- package/dist/components/AddSidePanel.js +1 -0
- package/dist/components/AnimatedStat.d.ts +6 -0
- package/dist/components/AnimatedStat.js +1 -0
- package/dist/components/ApplyCornersToSiblings.d.ts +9 -0
- package/dist/components/ApplyCornersToSiblings.js +1 -0
- package/dist/components/Banner.d.ts +12 -0
- package/dist/components/Banner.js +1 -0
- package/dist/components/BlockFrame.d.ts +15 -0
- package/dist/components/BlockFrame.js +1 -0
- package/dist/components/BlockGapField.d.ts +5 -0
- package/dist/components/BlockGapField.js +1 -0
- package/dist/components/BlogPostSource.d.ts +14 -0
- package/dist/components/BlogPostSource.js +1 -0
- package/dist/components/BoxSurfaceContext.d.ts +7 -0
- package/dist/components/BoxSurfaceContext.js +1 -0
- package/dist/components/BoxTabs.d.ts +6 -0
- package/dist/components/BoxTabs.js +1 -0
- package/dist/components/Breadcrumb.d.ts +10 -0
- package/dist/components/Breadcrumb.js +1 -0
- package/dist/components/Btn.d.ts +22 -0
- package/dist/components/Btn.js +1 -0
- package/dist/components/ButtonBlock.d.ts +13 -0
- package/dist/components/ButtonBlock.js +1 -0
- package/dist/components/CardShadowField.d.ts +6 -0
- package/dist/components/CardShadowField.js +1 -0
- package/dist/components/Cards.d.ts +15 -0
- package/dist/components/Cards.js +1 -0
- package/dist/components/CategoryBar.d.ts +16 -0
- package/dist/components/CategoryBar.js +1 -0
- package/dist/components/ChartSection.d.ts +16 -0
- package/dist/components/ChartSection.js +1 -0
- package/dist/components/ChatSettingsPanel.d.ts +1 -0
- package/dist/components/ChatSettingsPanel.js +1 -0
- package/dist/components/ClearColoursDialog.d.ts +5 -0
- package/dist/components/ClearColoursDialog.js +1 -0
- package/dist/components/ContactLocations.d.ts +17 -0
- package/dist/components/ContactLocations.js +73 -0
- package/dist/components/CornersField.d.ts +7 -0
- package/dist/components/CornersField.js +1 -0
- package/dist/components/CountUpText.d.ts +3 -0
- package/dist/components/CountUpText.js +1 -0
- package/dist/components/Divider.d.ts +9 -0
- package/dist/components/Divider.js +1 -0
- package/dist/components/DocBody.d.ts +13 -0
- package/dist/components/DocBody.js +7 -0
- package/dist/components/DocMasthead.d.ts +13 -0
- package/dist/components/DocMasthead.js +1 -0
- package/dist/components/DocMetaCards.d.ts +10 -0
- package/dist/components/DocMetaCards.js +1 -0
- package/dist/components/DocTabs.d.ts +12 -0
- package/dist/components/DocTabs.js +1 -0
- package/dist/components/DuplicateToPageMenu.d.ts +12 -0
- package/dist/components/DuplicateToPageMenu.js +1 -0
- package/dist/components/EditorialSectionHead.d.ts +11 -0
- package/dist/components/EditorialSectionHead.js +1 -0
- package/dist/components/Eyebrow.d.ts +9 -0
- package/dist/components/Eyebrow.js +1 -0
- package/dist/components/FAQ.d.ts +20 -0
- package/dist/components/FAQ.js +1 -0
- package/dist/components/FeaturedCover.d.ts +13 -0
- package/dist/components/FeaturedCover.js +1 -0
- package/dist/components/FieldGlyph.d.ts +12 -0
- package/dist/components/FieldGlyph.js +1 -0
- package/dist/components/Flex.d.ts +32 -0
- package/dist/components/Flex.js +1 -0
- package/dist/components/Footprint.d.ts +16 -0
- package/dist/components/Footprint.js +27 -0
- package/dist/components/Grid.d.ts +11 -0
- package/dist/components/Grid.js +1 -0
- package/dist/components/Heading.d.ts +11 -0
- package/dist/components/Heading.js +1 -0
- package/dist/components/HeadingAudit.d.ts +1 -0
- package/dist/components/HeadingAudit.js +1 -0
- package/dist/components/HeroArrows.d.ts +8 -0
- package/dist/components/HeroArrows.js +1 -0
- package/dist/components/HeroGroup.d.ts +20 -0
- package/dist/components/HeroGroup.js +1 -0
- package/dist/components/HeroHeldFrame.d.ts +8 -0
- package/dist/components/HeroHeldFrame.js +1 -0
- package/dist/components/HeroImageField.d.ts +6 -0
- package/dist/components/HeroImageField.js +1 -0
- package/dist/components/HeroPoster.d.ts +10 -0
- package/dist/components/HeroPoster.js +1 -0
- package/dist/components/HeroSection.d.ts +39 -0
- package/dist/components/HeroSection.js +11 -0
- package/dist/components/HeroSingle.d.ts +17 -0
- package/dist/components/HeroSingle.js +1 -0
- package/dist/components/HeroSlide.d.ts +30 -0
- package/dist/components/HeroSlide.js +1 -0
- package/dist/components/HoverEffectField.d.ts +6 -0
- package/dist/components/HoverEffectField.js +1 -0
- package/dist/components/ImageBlock.d.ts +18 -0
- package/dist/components/ImageBlock.js +1 -0
- package/dist/components/ImageFocusRow.d.ts +7 -0
- package/dist/components/ImageFocusRow.js +1 -0
- package/dist/components/IntegrationsSection.d.ts +14 -0
- package/dist/components/IntegrationsSection.js +1 -0
- package/dist/components/IntroBleed.d.ts +32 -0
- package/dist/components/IntroBleed.js +1 -0
- package/dist/components/KeyFeatures.d.ts +14 -0
- package/dist/components/KeyFeatures.js +1 -0
- package/dist/components/LocationGroupHeader.d.ts +5 -0
- package/dist/components/LocationGroupHeader.js +1 -0
- package/dist/components/LocationsGroupedField.d.ts +5 -0
- package/dist/components/LocationsGroupedField.js +1 -0
- package/dist/components/LocationsTreeContext.d.ts +2 -0
- package/dist/components/LocationsTreeContext.js +1 -0
- package/dist/components/Logo.d.ts +27 -0
- package/dist/components/Logo.js +1 -0
- package/dist/components/LogoBlock.d.ts +8 -0
- package/dist/components/LogoBlock.js +1 -0
- package/dist/components/Logos.d.ts +15 -0
- package/dist/components/Logos.js +1 -0
- package/dist/components/LongRead.d.ts +20 -0
- package/dist/components/LongRead.js +1 -0
- package/dist/components/Manifesto.d.ts +14 -0
- package/dist/components/Manifesto.js +1 -0
- package/dist/components/Masthead.d.ts +16 -0
- package/dist/components/Masthead.js +1 -0
- package/dist/components/MediaSidePanel.d.ts +6 -0
- package/dist/components/MediaSidePanel.js +1 -0
- package/dist/components/MediaUploadField.d.ts +9 -0
- package/dist/components/MediaUploadField.js +1 -0
- package/dist/components/MockupSection.d.ts +59 -0
- package/dist/components/MockupSection.js +1 -0
- package/dist/components/MultiSelectField.d.ts +16 -0
- package/dist/components/MultiSelectField.js +1 -0
- package/dist/components/NodeContextMenu.d.ts +96 -0
- package/dist/components/NodeContextMenu.js +1 -0
- package/dist/components/OrderSummary.d.ts +17 -0
- package/dist/components/OrderSummary.js +1 -0
- package/dist/components/PageEditGuardNotices.d.ts +1 -0
- package/dist/components/PageEditGuardNotices.js +1 -0
- package/dist/components/PagesPanel.d.ts +8 -0
- package/dist/components/PagesPanel.js +1 -0
- package/dist/components/PanelToggleIcon.d.ts +3 -0
- package/dist/components/PanelToggleIcon.js +1 -0
- package/dist/components/ParagraphsA.d.ts +15 -0
- package/dist/components/ParagraphsA.js +1 -0
- package/dist/components/PartGlyphs.d.ts +7 -0
- package/dist/components/PartGlyphs.js +1 -0
- package/dist/components/PartInkControl.d.ts +7 -0
- package/dist/components/PartInkControl.js +1 -0
- package/dist/components/PartResetDot.d.ts +5 -0
- package/dist/components/PartResetDot.js +1 -0
- package/dist/components/PartSettingsPanel.d.ts +63 -0
- package/dist/components/PartSettingsPanel.js +1 -0
- package/dist/components/PartStyledText.d.ts +5 -0
- package/dist/components/PartStyledText.js +1 -0
- package/dist/components/PartTextBox.d.ts +20 -0
- package/dist/components/PartTextBox.js +1 -0
- package/dist/components/PaymentBadges.d.ts +14 -0
- package/dist/components/PaymentBadges.js +1 -0
- package/dist/components/PhoneMenuTools.d.ts +12 -0
- package/dist/components/PhoneMenuTools.js +1 -0
- package/dist/components/PhotographyField.d.ts +6 -0
- package/dist/components/PhotographyField.js +1 -0
- package/dist/components/Placeholder.d.ts +18 -0
- package/dist/components/Placeholder.js +1 -0
- package/dist/components/PostCard.d.ts +37 -0
- package/dist/components/PostCard.js +1 -0
- package/dist/components/PreviewChatContext.d.ts +23 -0
- package/dist/components/PreviewChatContext.js +1 -0
- package/dist/components/PreviewDeviceContext.d.ts +4 -0
- package/dist/components/PreviewDeviceContext.js +1 -0
- package/dist/components/PreviewFocusContext.d.ts +15 -0
- package/dist/components/PreviewFocusContext.js +1 -0
- package/dist/components/PreviewFooterContext.d.ts +17 -0
- package/dist/components/PreviewFooterContext.js +1 -0
- package/dist/components/PreviewHeaderContext.d.ts +97 -0
- package/dist/components/PreviewHeaderContext.js +1 -0
- package/dist/components/PreviewLocationPartContext.d.ts +10 -0
- package/dist/components/PreviewLocationPartContext.js +1 -0
- package/dist/components/PreviewPartAnchors.d.ts +16 -0
- package/dist/components/PreviewPartAnchors.js +1 -0
- package/dist/components/PreviewPartStyleContext.d.ts +21 -0
- package/dist/components/PreviewPartStyleContext.js +1 -0
- package/dist/components/PreviewPartsContext.d.ts +3 -0
- package/dist/components/PreviewPartsContext.js +1 -0
- package/dist/components/PreviewSocialContext.d.ts +30 -0
- package/dist/components/PreviewSocialContext.js +1 -0
- package/dist/components/PreviewSurfaceContext.d.ts +10 -0
- package/dist/components/PreviewSurfaceContext.js +1 -0
- package/dist/components/PreviewThemeFrame.d.ts +6 -0
- package/dist/components/PreviewThemeFrame.js +11 -0
- package/dist/components/PreviewTickerContext.d.ts +4 -0
- package/dist/components/PreviewTickerContext.js +1 -0
- package/dist/components/ProcessSteps.d.ts +32 -0
- package/dist/components/ProcessSteps.js +1 -0
- package/dist/components/Prose.d.ts +9 -0
- package/dist/components/Prose.js +1 -0
- package/dist/components/PublishedFooterContext.d.ts +11 -0
- package/dist/components/PublishedFooterContext.js +1 -0
- package/dist/components/PublishedPartStylesContext.d.ts +15 -0
- package/dist/components/PublishedPartStylesContext.js +1 -0
- package/dist/components/RMark.d.ts +6 -0
- package/dist/components/RMark.js +1 -0
- package/dist/components/Reel.d.ts +15 -0
- package/dist/components/Reel.js +1 -0
- package/dist/components/RuleLine.d.ts +1 -0
- package/dist/components/RuleLine.js +1 -0
- package/dist/components/SearchSelectField.d.ts +20 -0
- package/dist/components/SearchSelectField.js +1 -0
- package/dist/components/SectionAnimation.d.ts +7 -0
- package/dist/components/SectionAnimation.js +1 -0
- package/dist/components/SectionEditor.d.ts +66 -0
- package/dist/components/SectionEditor.js +1 -0
- package/dist/components/SectionEditorShell.d.ts +1 -0
- package/dist/components/SectionEditorShell.js +1 -0
- package/dist/components/SectionEyebrow.d.ts +10 -0
- package/dist/components/SectionEyebrow.js +1 -0
- package/dist/components/SectionHeader.d.ts +29 -0
- package/dist/components/SectionHeader.js +1 -0
- package/dist/components/SectionIcon.d.ts +5 -0
- package/dist/components/SectionIcon.js +1 -0
- package/dist/components/SectionTextEntries.d.ts +5 -0
- package/dist/components/SectionTextEntries.js +1 -0
- package/dist/components/SectionTextPartBridge.d.ts +6 -0
- package/dist/components/SectionTextPartBridge.js +1 -0
- package/dist/components/SectionThemePicker.d.ts +23 -0
- package/dist/components/SectionThemePicker.js +1 -0
- package/dist/components/SectionThumbnail.d.ts +3 -0
- package/dist/components/SectionThumbnail.js +1 -0
- package/dist/components/Series.d.ts +19 -0
- package/dist/components/Series.js +1 -0
- package/dist/components/ShadowColourField.d.ts +5 -0
- package/dist/components/ShadowColourField.js +1 -0
- package/dist/components/SidePanelHead.d.ts +23 -0
- package/dist/components/SidePanelHead.js +1 -0
- package/dist/components/SideSpaceField.d.ts +8 -0
- package/dist/components/SideSpaceField.js +1 -0
- package/dist/components/SiteEditorProvider.d.ts +10 -0
- package/dist/components/SiteEditorProvider.js +1 -0
- package/dist/components/SiteFields.d.ts +6 -0
- package/dist/components/SiteFields.js +1 -0
- package/dist/components/SiteGutterFrame.d.ts +9 -0
- package/dist/components/SiteGutterFrame.js +1 -0
- package/dist/components/SiteLogoContext.d.ts +25 -0
- package/dist/components/SiteLogoContext.js +1 -0
- package/dist/components/SitePhotographyContext.d.ts +8 -0
- package/dist/components/SitePhotographyContext.js +1 -0
- package/dist/components/SiteStyleUnset.d.ts +1 -0
- package/dist/components/SiteStyleUnset.js +1 -0
- package/dist/components/SiteWidthField.d.ts +8 -0
- package/dist/components/SiteWidthField.js +1 -0
- package/dist/components/SlotChildActionsContext.d.ts +13 -0
- package/dist/components/SlotChildActionsContext.js +1 -0
- package/dist/components/SlotChildRows.d.ts +16 -0
- package/dist/components/SlotChildRows.js +1 -0
- package/dist/components/SocialLinksPanel.d.ts +3 -0
- package/dist/components/SocialLinksPanel.js +1 -0
- package/dist/components/SourceStatus.d.ts +14 -0
- package/dist/components/SourceStatus.js +1 -0
- package/dist/components/Spacer.d.ts +6 -0
- package/dist/components/Spacer.js +1 -0
- package/dist/components/SpecStrip.d.ts +10 -0
- package/dist/components/SpecStrip.js +1 -0
- package/dist/components/Split.d.ts +33 -0
- package/dist/components/Split.js +1 -0
- package/dist/components/StandaloneSectionEditor.d.ts +18 -0
- package/dist/components/StandaloneSectionEditor.js +1 -0
- package/dist/components/Stats.d.ts +14 -0
- package/dist/components/Stats.js +1 -0
- package/dist/components/StatsParagraph.d.ts +21 -0
- package/dist/components/StatsParagraph.js +1 -0
- package/dist/components/StorefrontDocumentContext.d.ts +67 -0
- package/dist/components/StorefrontDocumentContext.js +1 -0
- package/dist/components/StorefrontEditor.d.ts +18 -0
- package/dist/components/StorefrontEditor.js +1 -0
- package/dist/components/StorefrontEditorChrome.d.ts +1 -0
- package/dist/components/StorefrontEditorChrome.js +1 -0
- package/dist/components/StorefrontLinkField.d.ts +10 -0
- package/dist/components/StorefrontLinkField.js +1 -0
- package/dist/components/StylesPanel.d.ts +11 -0
- package/dist/components/StylesPanel.js +1 -0
- package/dist/components/SwitchToBoxFooter.d.ts +1 -0
- package/dist/components/SwitchToBoxFooter.js +1 -0
- package/dist/components/TemplateGlyph.d.ts +6 -0
- package/dist/components/TemplateGlyph.js +1 -0
- package/dist/components/Testimonials.d.ts +16 -0
- package/dist/components/Testimonials.js +1 -0
- package/dist/components/Text.d.ts +11 -0
- package/dist/components/Text.js +1 -0
- package/dist/components/TextStyleRow.d.ts +13 -0
- package/dist/components/TextStyleRow.js +1 -0
- package/dist/components/TextStylesField.d.ts +17 -0
- package/dist/components/TextStylesField.js +1 -0
- package/dist/components/ThemeCard.d.ts +40 -0
- package/dist/components/ThemeCard.js +1 -0
- package/dist/components/ThemeColourField.d.ts +5 -0
- package/dist/components/ThemeColourField.js +1 -0
- package/dist/components/ThemeField.d.ts +8 -0
- package/dist/components/ThemeField.js +1 -0
- package/dist/components/Ticker.d.ts +18 -0
- package/dist/components/Ticker.js +1 -0
- package/dist/components/TickerSection.d.ts +18 -0
- package/dist/components/TickerSection.js +1 -0
- package/dist/components/TickerSettingsPanel.d.ts +3 -0
- package/dist/components/TickerSettingsPanel.js +1 -0
- package/dist/components/Timeline.d.ts +24 -0
- package/dist/components/Timeline.js +1 -0
- package/dist/components/TimelineTrack.d.ts +22 -0
- package/dist/components/TimelineTrack.js +1 -0
- package/dist/components/TitleWithButtons.d.ts +14 -0
- package/dist/components/TitleWithButtons.js +1 -0
- package/dist/components/UiIcon.d.ts +10 -0
- package/dist/components/UiIcon.js +1 -0
- package/dist/components/WebsiteSettingsPanel.d.ts +46 -0
- package/dist/components/WebsiteSettingsPanel.js +1 -0
- package/dist/components/WidthFollowField.d.ts +10 -0
- package/dist/components/WidthFollowField.js +1 -0
- package/dist/components/cartGlyph.d.ts +1 -0
- package/dist/components/cartGlyph.js +1 -0
- package/dist/components/floating-editor/tokens.d.ts +27 -0
- package/dist/components/floating-editor/tokens.js +1 -0
- package/dist/components/goldPhrases.d.ts +7 -0
- package/dist/components/goldPhrases.js +2 -0
- package/dist/components/integrationIcons.d.ts +2 -0
- package/dist/components/integrationIcons.js +1 -0
- package/dist/components/panel-widths.d.ts +12 -0
- package/dist/components/panel-widths.js +1 -0
- package/dist/components/preview-devices.d.ts +3 -0
- package/dist/components/preview-devices.js +1 -0
- package/dist/components/socialIcons.d.ts +8 -0
- package/dist/components/socialIcons.js +1 -0
- package/dist/components/storefront-editor.css +5731 -0
- package/dist/components/useCountUp.d.ts +10 -0
- package/dist/components/useCountUp.js +1 -0
- package/dist/components/usePartBridge.d.ts +9 -0
- package/dist/components/usePartBridge.js +1 -0
- package/dist/components/usePreviewHref.d.ts +5 -0
- package/dist/components/usePreviewHref.js +1 -0
- package/dist/components/useReducedMotion.d.ts +4 -0
- package/dist/components/useReducedMotion.js +1 -0
- package/dist/components/useSnapshotSource.d.ts +17 -0
- package/dist/components/useSnapshotSource.js +1 -0
- package/dist/components/useSocialSettings.d.ts +14 -0
- package/dist/components/useSocialSettings.js +1 -0
- package/dist/components/useStorefrontBlogPosts.d.ts +2 -0
- package/dist/components/useStorefrontBlogPosts.js +1 -0
- package/dist/lib/content/authored-props.d.ts +4 -0
- package/dist/lib/content/authored-props.js +1 -0
- package/dist/lib/content/box-background.d.ts +31 -0
- package/dist/lib/content/box-background.js +1 -0
- package/dist/lib/content/box-layout.d.ts +78 -0
- package/dist/lib/content/box-layout.js +1 -0
- package/dist/lib/content/button-arrow.d.ts +2 -0
- package/dist/lib/content/button-arrow.js +1 -0
- package/dist/lib/content/card-corners.d.ts +12 -0
- package/dist/lib/content/card-corners.js +1 -0
- package/dist/lib/content/card-image-background.d.ts +11 -0
- package/dist/lib/content/card-image-background.js +1 -0
- package/dist/lib/content/card-image-shape.d.ts +5 -0
- package/dist/lib/content/card-image-shape.js +1 -0
- package/dist/lib/content/cart-drawer.d.ts +20 -0
- package/dist/lib/content/cart-drawer.js +1 -0
- package/dist/lib/content/contact.d.ts +79 -0
- package/dist/lib/content/contact.js +3 -0
- package/dist/lib/content/container-direction.d.ts +14 -0
- package/dist/lib/content/container-direction.js +1 -0
- package/dist/lib/content/container-gap.d.ts +31 -0
- package/dist/lib/content/container-gap.js +1 -0
- package/dist/lib/content/footer.d.ts +30 -0
- package/dist/lib/content/footer.js +1 -0
- package/dist/lib/content/footprint.d.ts +22 -0
- package/dist/lib/content/footprint.js +1 -0
- package/dist/lib/content/gallery-card-layout.d.ts +7 -0
- package/dist/lib/content/gallery-card-layout.js +1 -0
- package/dist/lib/content/gallery-layout.d.ts +154 -0
- package/dist/lib/content/gallery-layout.js +1 -0
- package/dist/lib/content/grid-span.d.ts +15 -0
- package/dist/lib/content/grid-span.js +1 -0
- package/dist/lib/content/image-corners.d.ts +7 -0
- package/dist/lib/content/image-corners.js +1 -0
- package/dist/lib/content/image-fit.d.ts +11 -0
- package/dist/lib/content/image-fit.js +1 -0
- package/dist/lib/content/image-treatment.d.ts +20 -0
- package/dist/lib/content/image-treatment.js +1 -0
- package/dist/lib/content/image-width.d.ts +9 -0
- package/dist/lib/content/image-width.js +1 -0
- package/dist/lib/content/page-background.d.ts +4 -0
- package/dist/lib/content/page-background.js +1 -0
- package/dist/lib/content/page-width.d.ts +63 -0
- package/dist/lib/content/page-width.js +1 -0
- package/dist/lib/content/product-page.d.ts +11 -0
- package/dist/lib/content/product-page.js +1 -0
- package/dist/lib/content/section-animation.d.ts +13 -0
- package/dist/lib/content/section-animation.js +1 -0
- package/dist/lib/content/section-background.d.ts +7 -0
- package/dist/lib/content/section-background.js +1 -0
- package/dist/lib/content/section-corners.d.ts +16 -0
- package/dist/lib/content/section-corners.js +1 -0
- package/dist/lib/content/section-height.d.ts +9 -0
- package/dist/lib/content/section-height.js +1 -0
- package/dist/lib/content/section-min-height.d.ts +60 -0
- package/dist/lib/content/section-min-height.js +1 -0
- package/dist/lib/content/section-padding.d.ts +33 -0
- package/dist/lib/content/section-padding.js +1 -0
- package/dist/lib/content/section-surface.d.ts +13 -0
- package/dist/lib/content/section-surface.js +1 -0
- package/dist/lib/content/section-type-size.d.ts +7 -0
- package/dist/lib/content/section-type-size.js +1 -0
- package/dist/lib/content/section-width.d.ts +19 -0
- package/dist/lib/content/section-width.js +1 -0
- package/dist/lib/content/site-gutter.d.ts +2 -0
- package/dist/lib/content/site-gutter.js +1 -0
- package/dist/lib/content/site-name.d.ts +2 -0
- package/dist/lib/content/site-name.js +1 -0
- package/dist/lib/content/social-links.d.ts +12 -0
- package/dist/lib/content/social-links.js +1 -0
- package/dist/lib/content/subscribe.d.ts +76 -0
- package/dist/lib/content/subscribe.js +2 -0
- package/dist/lib/content/view-tiers.d.ts +6 -0
- package/dist/lib/content/view-tiers.js +1 -0
- package/dist/lib/editor/preview-href.d.ts +6 -0
- package/dist/lib/editor/preview-href.js +1 -0
- package/dist/lib/editor-admin-bridge.d.ts +29 -0
- package/dist/lib/editor-admin-bridge.js +1 -0
- package/dist/lib/editor-auth.d.ts +3 -0
- package/dist/lib/editor-auth.js +1 -0
- package/dist/lib/editor-block-metadata.d.ts +6 -0
- package/dist/lib/editor-block-metadata.js +1 -0
- package/dist/lib/editor-blocks.d.ts +20 -0
- package/dist/lib/editor-blocks.js +1 -0
- package/dist/lib/editor-canvas-styles.d.ts +12 -0
- package/dist/lib/editor-canvas-styles.js +1 -0
- package/dist/lib/editor-chrome.d.ts +52 -0
- package/dist/lib/editor-chrome.js +1 -0
- package/dist/lib/editor-document-adapter.d.ts +55 -0
- package/dist/lib/editor-document-adapter.js +1 -0
- package/dist/lib/editor-document-hooks.d.ts +15 -0
- package/dist/lib/editor-document-hooks.js +0 -0
- package/dist/lib/editor-events.d.ts +8 -0
- package/dist/lib/editor-events.js +1 -0
- package/dist/lib/editor-failure.d.ts +4 -0
- package/dist/lib/editor-failure.js +1 -0
- package/dist/lib/editor-form-window.d.ts +21 -0
- package/dist/lib/editor-form-window.js +1 -0
- package/dist/lib/editor-host-inbound.d.ts +1 -0
- package/dist/lib/editor-host-inbound.js +1 -0
- package/dist/lib/editor-host.d.ts +135 -0
- package/dist/lib/editor-host.js +1 -0
- package/dist/lib/editor-key-scope.d.ts +3 -0
- package/dist/lib/editor-key-scope.js +1 -0
- package/dist/lib/editor-load-error.d.ts +4 -0
- package/dist/lib/editor-load-error.js +1 -0
- package/dist/lib/editor-media-panel.d.ts +23 -0
- package/dist/lib/editor-media-panel.js +1 -0
- package/dist/lib/editor-media-picker.d.ts +12 -0
- package/dist/lib/editor-media-picker.js +1 -0
- package/dist/lib/editor-page-lock.d.ts +1 -0
- package/dist/lib/editor-page-lock.js +1 -0
- package/dist/lib/editor-page-rows.d.ts +16 -0
- package/dist/lib/editor-page-rows.js +1 -0
- package/dist/lib/editor-section-templates.d.ts +2 -0
- package/dist/lib/editor-section-templates.js +1 -0
- package/dist/lib/editor-session-context.d.ts +7 -0
- package/dist/lib/editor-session-context.js +1 -0
- package/dist/lib/editor-session-loader.d.ts +4 -0
- package/dist/lib/editor-session-loader.js +1 -0
- package/dist/lib/editor-session.d.ts +45 -0
- package/dist/lib/editor-session.js +1 -0
- package/dist/lib/editor-site-slug.d.ts +2 -0
- package/dist/lib/editor-site-slug.js +1 -0
- package/dist/lib/editor-site.d.ts +3 -0
- package/dist/lib/editor-site.js +1 -0
- package/dist/lib/editor-theme.d.ts +1 -0
- package/dist/lib/editor-theme.js +1 -0
- package/dist/lib/fit-words.d.ts +3 -0
- package/dist/lib/fit-words.js +220 -0
- package/dist/lib/fonts.d.ts +32 -0
- package/dist/lib/fonts.js +1 -0
- package/dist/lib/geocode.d.ts +6 -0
- package/dist/lib/geocode.js +1 -0
- package/dist/lib/hero-arrows.d.ts +23 -0
- package/dist/lib/hero-arrows.js +1 -0
- package/dist/lib/hero-group-placement.d.ts +46 -0
- package/dist/lib/hero-group-placement.js +1 -0
- package/dist/lib/hero-overlay-anchor.d.ts +6 -0
- package/dist/lib/hero-overlay-anchor.js +1 -0
- package/dist/lib/hero-phone-stack.d.ts +27 -0
- package/dist/lib/hero-phone-stack.js +1 -0
- package/dist/lib/hero-swipe.d.ts +16 -0
- package/dist/lib/hero-swipe.js +1 -0
- package/dist/lib/hero-texture.d.ts +4 -0
- package/dist/lib/hero-texture.js +1 -0
- package/dist/lib/hero-video-control.d.ts +13 -0
- package/dist/lib/hero-video-control.js +1 -0
- package/dist/lib/image-focus.d.ts +16 -0
- package/dist/lib/image-focus.js +1 -0
- package/dist/lib/links/page-link-rules.d.ts +22 -0
- package/dist/lib/links/page-link-rules.js +1 -0
- package/dist/lib/locations-grid.d.ts +10 -0
- package/dist/lib/locations-grid.js +1 -0
- package/dist/lib/logo/analyze-logo-client.d.ts +3 -0
- package/dist/lib/logo/analyze-logo-client.js +1 -0
- package/dist/lib/logo/reverse-svg.d.ts +9 -0
- package/dist/lib/logo/reverse-svg.js +1 -0
- package/dist/lib/map-styles.d.ts +30 -0
- package/dist/lib/map-styles.js +1 -0
- package/dist/lib/maps-config.d.ts +16 -0
- package/dist/lib/maps-config.js +1 -0
- package/dist/lib/maps-loader.d.ts +3 -0
- package/dist/lib/maps-loader.js +1 -0
- package/dist/lib/markup.d.ts +38 -0
- package/dist/lib/markup.js +2 -0
- package/dist/lib/media.d.ts +10 -0
- package/dist/lib/media.js +1 -0
- package/dist/lib/parse-option.d.ts +3 -0
- package/dist/lib/parse-option.js +1 -0
- package/dist/lib/popup/text-kinds.d.ts +11 -0
- package/dist/lib/popup/text-kinds.js +1 -0
- package/dist/lib/preview-header-settings.d.ts +39 -0
- package/dist/lib/preview-header-settings.js +0 -0
- package/dist/lib/puck/ColourControl.d.ts +8 -0
- package/dist/lib/puck/ColourControl.js +1 -0
- package/dist/lib/puck/MarkupToolbar.d.ts +13 -0
- package/dist/lib/puck/MarkupToolbar.js +1 -0
- package/dist/lib/puck/add-palette.d.ts +20 -0
- package/dist/lib/puck/add-palette.js +1 -0
- package/dist/lib/puck/add-target.d.ts +10 -0
- package/dist/lib/puck/add-target.js +1 -0
- package/dist/lib/puck/apply-card-corners.d.ts +21 -0
- package/dist/lib/puck/apply-card-corners.js +1 -0
- package/dist/lib/puck/block-offer.d.ts +10 -0
- package/dist/lib/puck/block-offer.js +1 -0
- package/dist/lib/puck/block-types-in.d.ts +1 -0
- package/dist/lib/puck/block-types-in.js +1 -0
- package/dist/lib/puck/blocks/block-types.d.ts +12 -0
- package/dist/lib/puck/blocks/block-types.js +1 -0
- package/dist/lib/puck/blocks/general/Banner/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Banner/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Banner/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Banner/render.js +1 -0
- package/dist/lib/puck/blocks/general/Breadcrumb/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Breadcrumb/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Breadcrumb/render.d.ts +5 -0
- package/dist/lib/puck/blocks/general/Breadcrumb/render.js +1 -0
- package/dist/lib/puck/blocks/general/ButtonBlock/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ButtonBlock/fields.js +1 -0
- package/dist/lib/puck/blocks/general/ButtonBlock/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ButtonBlock/render.js +1 -0
- package/dist/lib/puck/blocks/general/Cards/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Cards/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Cards/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/Cards/render.js +1 -0
- package/dist/lib/puck/blocks/general/CategoryBar/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/CategoryBar/fields.js +1 -0
- package/dist/lib/puck/blocks/general/CategoryBar/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/CategoryBar/render.js +1 -0
- package/dist/lib/puck/blocks/general/Chart/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Chart/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Chart/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/Chart/render.js +2 -0
- package/dist/lib/puck/blocks/general/ContactLocations/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ContactLocations/fields.js +1 -0
- package/dist/lib/puck/blocks/general/ContactLocations/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ContactLocations/render.js +1 -0
- package/dist/lib/puck/blocks/general/CustomHTML/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/CustomHTML/fields.js +1 -0
- package/dist/lib/puck/blocks/general/CustomHTML/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/CustomHTML/render.js +3 -0
- package/dist/lib/puck/blocks/general/Divider/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Divider/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Divider/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Divider/render.js +1 -0
- package/dist/lib/puck/blocks/general/DocBody/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/DocBody/fields.js +1 -0
- package/dist/lib/puck/blocks/general/DocBody/render.d.ts +5 -0
- package/dist/lib/puck/blocks/general/DocBody/render.js +1 -0
- package/dist/lib/puck/blocks/general/DocMasthead/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/DocMasthead/fields.js +1 -0
- package/dist/lib/puck/blocks/general/DocMasthead/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/DocMasthead/render.js +1 -0
- package/dist/lib/puck/blocks/general/DocMetaCards/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/DocMetaCards/fields.js +1 -0
- package/dist/lib/puck/blocks/general/DocMetaCards/render.d.ts +4 -0
- package/dist/lib/puck/blocks/general/DocMetaCards/render.js +1 -0
- package/dist/lib/puck/blocks/general/DocTabs/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/DocTabs/fields.js +1 -0
- package/dist/lib/puck/blocks/general/DocTabs/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/DocTabs/render.js +1 -0
- package/dist/lib/puck/blocks/general/Eyebrow/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Eyebrow/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Eyebrow/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Eyebrow/render.js +1 -0
- package/dist/lib/puck/blocks/general/FAQ/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/FAQ/fields.js +1 -0
- package/dist/lib/puck/blocks/general/FAQ/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/FAQ/render.js +1 -0
- package/dist/lib/puck/blocks/general/FeaturedCover/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/FeaturedCover/fields.js +1 -0
- package/dist/lib/puck/blocks/general/FeaturedCover/render.d.ts +13 -0
- package/dist/lib/puck/blocks/general/FeaturedCover/render.js +1 -0
- package/dist/lib/puck/blocks/general/Flex/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Flex/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Flex/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/Flex/render.js +1 -0
- package/dist/lib/puck/blocks/general/Footprint/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Footprint/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Footprint/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/Footprint/render.js +2 -0
- package/dist/lib/puck/blocks/general/Grid/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Grid/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Grid/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/Grid/render.js +1 -0
- package/dist/lib/puck/blocks/general/Heading/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Heading/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Heading/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Heading/render.js +1 -0
- package/dist/lib/puck/blocks/general/Hero/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Hero/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Hero/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/Hero/render.js +1 -0
- package/dist/lib/puck/blocks/general/HeroGroup/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/HeroGroup/fields.js +1 -0
- package/dist/lib/puck/blocks/general/HeroGroup/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/HeroGroup/render.js +1 -0
- package/dist/lib/puck/blocks/general/HeroSingle/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/HeroSingle/fields.js +1 -0
- package/dist/lib/puck/blocks/general/HeroSingle/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/HeroSingle/render.js +1 -0
- package/dist/lib/puck/blocks/general/HeroSlide/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/HeroSlide/fields.js +1 -0
- package/dist/lib/puck/blocks/general/HeroSlide/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/HeroSlide/render.js +1 -0
- package/dist/lib/puck/blocks/general/ImageBlock/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ImageBlock/fields.js +1 -0
- package/dist/lib/puck/blocks/general/ImageBlock/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ImageBlock/render.js +1 -0
- package/dist/lib/puck/blocks/general/Integrations/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Integrations/fields.js +2 -0
- package/dist/lib/puck/blocks/general/Integrations/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Integrations/render.js +2 -0
- package/dist/lib/puck/blocks/general/IntroBleed/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/IntroBleed/fields.js +1 -0
- package/dist/lib/puck/blocks/general/IntroBleed/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/IntroBleed/render.js +2 -0
- package/dist/lib/puck/blocks/general/KeyFeatures/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/KeyFeatures/fields.js +1 -0
- package/dist/lib/puck/blocks/general/KeyFeatures/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/KeyFeatures/render.js +1 -0
- package/dist/lib/puck/blocks/general/LogoBlock/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/LogoBlock/fields.js +1 -0
- package/dist/lib/puck/blocks/general/LogoBlock/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/LogoBlock/render.js +1 -0
- package/dist/lib/puck/blocks/general/Logos/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Logos/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Logos/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Logos/render.js +1 -0
- package/dist/lib/puck/blocks/general/LongRead/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/LongRead/fields.js +1 -0
- package/dist/lib/puck/blocks/general/LongRead/render.d.ts +19 -0
- package/dist/lib/puck/blocks/general/LongRead/render.js +1 -0
- package/dist/lib/puck/blocks/general/Manifesto/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Manifesto/fields.js +2 -0
- package/dist/lib/puck/blocks/general/Manifesto/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Manifesto/render.js +1 -0
- package/dist/lib/puck/blocks/general/Masthead/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Masthead/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Masthead/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/Masthead/render.js +1 -0
- package/dist/lib/puck/blocks/general/Mockup/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Mockup/fields.js +2 -0
- package/dist/lib/puck/blocks/general/Mockup/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Mockup/render.js +2 -0
- package/dist/lib/puck/blocks/general/OrderSummary/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/OrderSummary/fields.js +1 -0
- package/dist/lib/puck/blocks/general/OrderSummary/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/OrderSummary/render.js +1 -0
- package/dist/lib/puck/blocks/general/ParagraphsA/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ParagraphsA/fields.js +1 -0
- package/dist/lib/puck/blocks/general/ParagraphsA/render.d.ts +9 -0
- package/dist/lib/puck/blocks/general/ParagraphsA/render.js +1 -0
- package/dist/lib/puck/blocks/general/PaymentBadges/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/PaymentBadges/fields.js +1 -0
- package/dist/lib/puck/blocks/general/PaymentBadges/render.d.ts +5 -0
- package/dist/lib/puck/blocks/general/PaymentBadges/render.js +1 -0
- package/dist/lib/puck/blocks/general/PostCard/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/PostCard/fields.js +1 -0
- package/dist/lib/puck/blocks/general/PostCard/render.d.ts +9 -0
- package/dist/lib/puck/blocks/general/PostCard/render.js +1 -0
- package/dist/lib/puck/blocks/general/ProcessSteps/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/ProcessSteps/fields.js +1 -0
- package/dist/lib/puck/blocks/general/ProcessSteps/render.d.ts +13 -0
- package/dist/lib/puck/blocks/general/ProcessSteps/render.js +1 -0
- package/dist/lib/puck/blocks/general/Prose/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Prose/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Prose/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/Prose/render.js +1 -0
- package/dist/lib/puck/blocks/general/SectionHeader/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/SectionHeader/fields.js +1 -0
- package/dist/lib/puck/blocks/general/SectionHeader/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/SectionHeader/render.js +1 -0
- package/dist/lib/puck/blocks/general/Series/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Series/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Series/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/Series/render.js +1 -0
- package/dist/lib/puck/blocks/general/Spacer/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Spacer/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Spacer/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Spacer/render.js +1 -0
- package/dist/lib/puck/blocks/general/SpecStrip/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/SpecStrip/fields.js +1 -0
- package/dist/lib/puck/blocks/general/SpecStrip/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/SpecStrip/render.js +1 -0
- package/dist/lib/puck/blocks/general/Split/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Split/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Split/render.d.ts +10 -0
- package/dist/lib/puck/blocks/general/Split/render.js +2 -0
- package/dist/lib/puck/blocks/general/Stats/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Stats/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Stats/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Stats/render.js +1 -0
- package/dist/lib/puck/blocks/general/StatsParagraph/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/StatsParagraph/fields.js +1 -0
- package/dist/lib/puck/blocks/general/StatsParagraph/render.d.ts +7 -0
- package/dist/lib/puck/blocks/general/StatsParagraph/render.js +1 -0
- package/dist/lib/puck/blocks/general/Testimonials/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Testimonials/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Testimonials/render.d.ts +6 -0
- package/dist/lib/puck/blocks/general/Testimonials/render.js +1 -0
- package/dist/lib/puck/blocks/general/Text/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Text/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Text/render.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Text/render.js +1 -0
- package/dist/lib/puck/blocks/general/Ticker/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Ticker/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Ticker/render.d.ts +5 -0
- package/dist/lib/puck/blocks/general/Ticker/render.js +1 -0
- package/dist/lib/puck/blocks/general/Timeline/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/Timeline/fields.js +1 -0
- package/dist/lib/puck/blocks/general/Timeline/render.d.ts +10 -0
- package/dist/lib/puck/blocks/general/Timeline/render.js +2 -0
- package/dist/lib/puck/blocks/general/TimelineTrack/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/TimelineTrack/fields.js +1 -0
- package/dist/lib/puck/blocks/general/TimelineTrack/render.d.ts +8 -0
- package/dist/lib/puck/blocks/general/TimelineTrack/render.js +1 -0
- package/dist/lib/puck/blocks/general/TitleWithButtons/fields.d.ts +2 -0
- package/dist/lib/puck/blocks/general/TitleWithButtons/fields.js +1 -0
- package/dist/lib/puck/blocks/general/TitleWithButtons/render.d.ts +5 -0
- package/dist/lib/puck/blocks/general/TitleWithButtons/render.js +2 -0
- package/dist/lib/puck/blocks/general/index.d.ts +2 -0
- package/dist/lib/puck/blocks/general/index.js +1 -0
- package/dist/lib/puck/blocks/general/renders.d.ts +57 -0
- package/dist/lib/puck/blocks/general/renders.js +1 -0
- package/dist/lib/puck/blocks/general/section-bg-built-in.d.ts +6 -0
- package/dist/lib/puck/blocks/general/section-bg-built-in.js +1 -0
- package/dist/lib/puck/blocks/placeholders.d.ts +25 -0
- package/dist/lib/puck/blocks/placeholders.js +1 -0
- package/dist/lib/puck/blocks/scaffold.d.ts +22 -0
- package/dist/lib/puck/blocks/scaffold.js +1 -0
- package/dist/lib/puck/blocks/shared-fields.d.ts +14 -0
- package/dist/lib/puck/blocks/shared-fields.js +1 -0
- package/dist/lib/puck/booking-preview.d.ts +3 -0
- package/dist/lib/puck/booking-preview.js +1 -0
- package/dist/lib/puck/box-footer.d.ts +9 -0
- package/dist/lib/puck/box-footer.js +1 -0
- package/dist/lib/puck/build-config.d.ts +3 -0
- package/dist/lib/puck/build-config.js +1 -0
- package/dist/lib/puck/cap-hero-groups.d.ts +1 -0
- package/dist/lib/puck/cap-hero-groups.js +1 -0
- package/dist/lib/puck/container-blocks.d.ts +10 -0
- package/dist/lib/puck/container-blocks.js +1 -0
- package/dist/lib/puck/content-tree.d.ts +43 -0
- package/dist/lib/puck/content-tree.js +1 -0
- package/dist/lib/puck/controls.d.ts +346 -0
- package/dist/lib/puck/controls.js +1 -0
- package/dist/lib/puck/device-fields.d.ts +24 -0
- package/dist/lib/puck/device-fields.js +1 -0
- package/dist/lib/puck/editor-page-context.d.ts +6 -0
- package/dist/lib/puck/editor-page-context.js +1 -0
- package/dist/lib/puck/enclosing-section.d.ts +1 -0
- package/dist/lib/puck/enclosing-section.js +1 -0
- package/dist/lib/puck/field-groups.d.ts +23 -0
- package/dist/lib/puck/field-groups.js +1 -0
- package/dist/lib/puck/field-markers.d.ts +16 -0
- package/dist/lib/puck/field-markers.js +1 -0
- package/dist/lib/puck/field-noun.d.ts +3 -0
- package/dist/lib/puck/field-noun.js +1 -0
- package/dist/lib/puck/footer-blocks.d.ts +19 -0
- package/dist/lib/puck/footer-blocks.js +1 -0
- package/dist/lib/puck/footer-return.d.ts +3 -0
- package/dist/lib/puck/footer-return.js +1 -0
- package/dist/lib/puck/general-registry.d.ts +4 -0
- package/dist/lib/puck/general-registry.js +1 -0
- package/dist/lib/puck/geocode-resolve.d.ts +14 -0
- package/dist/lib/puck/geocode-resolve.js +1 -0
- package/dist/lib/puck/header-clearance.d.ts +49 -0
- package/dist/lib/puck/header-clearance.js +1 -0
- package/dist/lib/puck/header-ink.d.ts +16 -0
- package/dist/lib/puck/header-ink.js +1 -0
- package/dist/lib/puck/heading-outline.d.ts +7 -0
- package/dist/lib/puck/heading-outline.js +1 -0
- package/dist/lib/puck/hidable.d.ts +9 -0
- package/dist/lib/puck/hidable.js +1 -0
- package/dist/lib/puck/home-page.d.ts +1 -0
- package/dist/lib/puck/home-page.js +1 -0
- package/dist/lib/puck/left-view.d.ts +5 -0
- package/dist/lib/puck/left-view.js +1 -0
- package/dist/lib/puck/locations-focus.d.ts +22 -0
- package/dist/lib/puck/locations-focus.js +1 -0
- package/dist/lib/puck/locations-tree.d.ts +23 -0
- package/dist/lib/puck/locations-tree.js +2 -0
- package/dist/lib/puck/locked-blocks.d.ts +2 -0
- package/dist/lib/puck/locked-blocks.js +1 -0
- package/dist/lib/puck/media-manifest.json +138 -0
- package/dist/lib/puck/migrate-legacy.d.ts +2 -0
- package/dist/lib/puck/migrate-legacy.js +1 -0
- package/dist/lib/puck/mockup-variant-fields.d.ts +10 -0
- package/dist/lib/puck/mockup-variant-fields.js +1 -0
- package/dist/lib/puck/neutralization-contracts.d.ts +43 -0
- package/dist/lib/puck/neutralization-contracts.js +1 -0
- package/dist/lib/puck/one-h1.d.ts +3 -0
- package/dist/lib/puck/one-h1.js +1 -0
- package/dist/lib/puck/overlay-portal.d.ts +2 -0
- package/dist/lib/puck/overlay-portal.js +1 -0
- package/dist/lib/puck/overrides.d.ts +2 -0
- package/dist/lib/puck/overrides.js +1 -0
- package/dist/lib/puck/page-render.d.ts +5 -0
- package/dist/lib/puck/page-render.js +1 -0
- package/dist/lib/puck/page-root-fields.d.ts +29 -0
- package/dist/lib/puck/page-root-fields.js +1 -0
- package/dist/lib/puck/page-root.d.ts +55 -0
- package/dist/lib/puck/page-root.js +1 -0
- package/dist/lib/puck/panel-drop-empty-headings.d.ts +3 -0
- package/dist/lib/puck/panel-drop-empty-headings.js +1 -0
- package/dist/lib/puck/panel-fields.d.ts +12 -0
- package/dist/lib/puck/panel-fields.js +1 -0
- package/dist/lib/puck/panel-heading-scope.d.ts +8 -0
- package/dist/lib/puck/panel-heading-scope.js +1 -0
- package/dist/lib/puck/panel-no-control-mark.d.ts +7 -0
- package/dist/lib/puck/panel-no-control-mark.js +1 -0
- package/dist/lib/puck/part-anchors.d.ts +23 -0
- package/dist/lib/puck/part-anchors.js +1 -0
- package/dist/lib/puck/part-inks.d.ts +9 -0
- package/dist/lib/puck/part-inks.js +1 -0
- package/dist/lib/puck/part-key.d.ts +9 -0
- package/dist/lib/puck/part-key.js +1 -0
- package/dist/lib/puck/part-row-field.d.ts +2 -0
- package/dist/lib/puck/part-row-field.js +1 -0
- package/dist/lib/puck/part-rows.d.ts +15 -0
- package/dist/lib/puck/part-rows.js +1 -0
- package/dist/lib/puck/part-styles.d.ts +133 -0
- package/dist/lib/puck/part-styles.js +2 -0
- package/dist/lib/puck/part-text.d.ts +12 -0
- package/dist/lib/puck/part-text.js +1 -0
- package/dist/lib/puck/part-typing.d.ts +11 -0
- package/dist/lib/puck/part-typing.js +1 -0
- package/dist/lib/puck/passes/catalogue-labels.d.ts +2 -0
- package/dist/lib/puck/passes/catalogue-labels.js +1 -0
- package/dist/lib/puck/passes/cell-width.d.ts +2 -0
- package/dist/lib/puck/passes/cell-width.js +1 -0
- package/dist/lib/puck/passes/clickable-parts.d.ts +2 -0
- package/dist/lib/puck/passes/clickable-parts.js +1 -0
- package/dist/lib/puck/passes/corners.d.ts +3 -0
- package/dist/lib/puck/passes/corners.js +1 -0
- package/dist/lib/puck/passes/document-position.d.ts +16 -0
- package/dist/lib/puck/passes/document-position.js +1 -0
- package/dist/lib/puck/passes/empty-headings.d.ts +2 -0
- package/dist/lib/puck/passes/empty-headings.js +1 -0
- package/dist/lib/puck/passes/hidden-nodes.d.ts +2 -0
- package/dist/lib/puck/passes/hidden-nodes.js +1 -0
- package/dist/lib/puck/passes/index.d.ts +5 -0
- package/dist/lib/puck/passes/index.js +1 -0
- package/dist/lib/puck/passes/inspector.d.ts +2 -0
- package/dist/lib/puck/passes/inspector.js +1 -0
- package/dist/lib/puck/passes/registry-context.d.ts +2 -0
- package/dist/lib/puck/passes/registry-context.js +1 -0
- package/dist/lib/puck/passes/section-anchor.d.ts +2 -0
- package/dist/lib/puck/passes/section-anchor.js +1 -0
- package/dist/lib/puck/passes/section-animation.d.ts +2 -0
- package/dist/lib/puck/passes/section-animation.js +1 -0
- package/dist/lib/puck/passes/section-height.d.ts +2 -0
- package/dist/lib/puck/passes/section-height.js +1 -0
- package/dist/lib/puck/passes/section-padding.d.ts +8 -0
- package/dist/lib/puck/passes/section-padding.js +1 -0
- package/dist/lib/puck/passes/section-theme.d.ts +3 -0
- package/dist/lib/puck/passes/section-theme.js +1 -0
- package/dist/lib/puck/passes/section-width.d.ts +10 -0
- package/dist/lib/puck/passes/section-width.js +1 -0
- package/dist/lib/puck/passes/settings-groups.d.ts +3 -0
- package/dist/lib/puck/passes/settings-groups.js +1 -0
- package/dist/lib/puck/passes/slot-rules.d.ts +4 -0
- package/dist/lib/puck/passes/slot-rules.js +1 -0
- package/dist/lib/puck/passes/types.d.ts +51 -0
- package/dist/lib/puck/passes/types.js +0 -0
- package/dist/lib/puck/phone-override.d.ts +4 -0
- package/dist/lib/puck/phone-override.js +1 -0
- package/dist/lib/puck/pinned-seed-gate.d.ts +17 -0
- package/dist/lib/puck/pinned-seed-gate.js +1 -0
- package/dist/lib/puck/preview-click.d.ts +2 -0
- package/dist/lib/puck/preview-click.js +1 -0
- package/dist/lib/puck/preview-dom.d.ts +6 -0
- package/dist/lib/puck/preview-dom.js +1 -0
- package/dist/lib/puck/preview-selection-context.d.ts +19 -0
- package/dist/lib/puck/preview-selection-context.js +1 -0
- package/dist/lib/puck/registry.d.ts +3 -0
- package/dist/lib/puck/registry.js +1 -0
- package/dist/lib/puck/renamed-props.d.ts +2 -0
- package/dist/lib/puck/renamed-props.js +1 -0
- package/dist/lib/puck/sanitize.d.ts +1 -0
- package/dist/lib/puck/sanitize.js +1 -0
- package/dist/lib/puck/section-catalog.d.ts +36 -0
- package/dist/lib/puck/section-catalog.js +1 -0
- package/dist/lib/puck/section-descriptions.d.ts +1 -0
- package/dist/lib/puck/section-descriptions.js +1 -0
- package/dist/lib/puck/section-doc.d.ts +5 -0
- package/dist/lib/puck/section-doc.js +1 -0
- package/dist/lib/puck/section-groups.d.ts +21 -0
- package/dist/lib/puck/section-groups.js +1 -0
- package/dist/lib/puck/section-text-suppress.d.ts +9 -0
- package/dist/lib/puck/section-text-suppress.js +1 -0
- package/dist/lib/puck/site-gap-fields.d.ts +2 -0
- package/dist/lib/puck/site-gap-fields.js +1 -0
- package/dist/lib/puck/slider-typing.d.ts +9 -0
- package/dist/lib/puck/slider-typing.js +1 -0
- package/dist/lib/puck/slot-child-name.d.ts +8 -0
- package/dist/lib/puck/slot-child-name.js +1 -0
- package/dist/lib/puck/slot-heal.d.ts +2 -0
- package/dist/lib/puck/slot-heal.js +1 -0
- package/dist/lib/puck/slot-specs.d.ts +20 -0
- package/dist/lib/puck/slot-specs.js +1 -0
- package/dist/lib/puck/snapshot-contracts.d.ts +4 -0
- package/dist/lib/puck/snapshot-contracts.js +1 -0
- package/dist/lib/puck/source-bound-parts.d.ts +12 -0
- package/dist/lib/puck/source-bound-parts.js +1 -0
- package/dist/lib/puck/style-clipboard.d.ts +19 -0
- package/dist/lib/puck/style-clipboard.js +1 -0
- package/dist/lib/puck/templateFields.d.ts +2 -0
- package/dist/lib/puck/templateFields.js +1 -0
- package/dist/lib/puck/text-control-kinds.d.ts +13 -0
- package/dist/lib/puck/text-control-kinds.js +1 -0
- package/dist/lib/puck/text-parts.d.ts +33 -0
- package/dist/lib/puck/text-parts.js +1 -0
- package/dist/lib/puck/theme-swatches.d.ts +3 -0
- package/dist/lib/puck/theme-swatches.js +1 -0
- package/dist/lib/puck/tree-reveal.d.ts +11 -0
- package/dist/lib/puck/tree-reveal.js +1 -0
- package/dist/lib/puck/use-section-ops.d.ts +25 -0
- package/dist/lib/puck/use-section-ops.js +1 -0
- package/dist/lib/reel.d.ts +33 -0
- package/dist/lib/reel.js +1 -0
- package/dist/lib/safe-storage.d.ts +10 -0
- package/dist/lib/safe-storage.js +1 -0
- package/dist/lib/save-as-template-action.d.ts +29 -0
- package/dist/lib/save-as-template-action.js +1 -0
- package/dist/lib/section-template-types.d.ts +21 -0
- package/dist/lib/section-template-types.js +0 -0
- package/dist/lib/sections/card-cover-index.d.ts +7 -0
- package/dist/lib/sections/card-cover-index.js +1 -0
- package/dist/lib/sections/collection-card-text-regions.d.ts +4 -0
- package/dist/lib/sections/collection-card-text-regions.js +1 -0
- package/dist/lib/sections/divider-style.d.ts +12 -0
- package/dist/lib/sections/divider-style.js +1 -0
- package/dist/lib/sections/faq-text-regions.d.ts +4 -0
- package/dist/lib/sections/faq-text-regions.js +1 -0
- package/dist/lib/sections/hero-overlay.d.ts +10 -0
- package/dist/lib/sections/hero-overlay.js +1 -0
- package/dist/lib/sections/intro-bleed-layout.d.ts +15 -0
- package/dist/lib/sections/intro-bleed-layout.js +1 -0
- package/dist/lib/sections/product-card-style.d.ts +18 -0
- package/dist/lib/sections/product-card-style.js +1 -0
- package/dist/lib/sections/section-eyebrow-look.d.ts +11 -0
- package/dist/lib/sections/section-eyebrow-look.js +1 -0
- package/dist/lib/sections/section-head-placement.d.ts +31 -0
- package/dist/lib/sections/section-head-placement.js +1 -0
- package/dist/lib/sections/section-head-style.d.ts +16 -0
- package/dist/lib/sections/section-head-style.js +1 -0
- package/dist/lib/sections/section-number-style.d.ts +10 -0
- package/dist/lib/sections/section-number-style.js +1 -0
- package/dist/lib/sections/section-presets.d.ts +9 -0
- package/dist/lib/sections/section-presets.js +1 -0
- package/dist/lib/sections/section-text-kinds.d.ts +8 -0
- package/dist/lib/sections/section-text-kinds.js +1 -0
- package/dist/lib/sections/section-text-regions.d.ts +3 -0
- package/dist/lib/sections/section-text-regions.js +1 -0
- package/dist/lib/sections/spec-table-regions.d.ts +11 -0
- package/dist/lib/sections/spec-table-regions.js +1 -0
- package/dist/lib/sections/text-regions.d.ts +21 -0
- package/dist/lib/sections/text-regions.js +1 -0
- package/dist/lib/sections/ticker-join.d.ts +9 -0
- package/dist/lib/sections/ticker-join.js +1 -0
- package/dist/lib/sections/ticker-scroll.d.ts +11 -0
- package/dist/lib/sections/ticker-scroll.js +1 -0
- package/dist/lib/sections/ticker-style.d.ts +17 -0
- package/dist/lib/sections/ticker-style.js +1 -0
- package/dist/lib/site-runtime.d.ts +28 -0
- package/dist/lib/site-runtime.js +1 -0
- package/dist/lib/site-theme-row.d.ts +52 -0
- package/dist/lib/site-theme-row.js +0 -0
- package/dist/lib/slugify.d.ts +1 -0
- package/dist/lib/slugify.js +1 -0
- package/dist/lib/theme-dom.d.ts +14 -0
- package/dist/lib/theme-dom.js +1 -0
- package/dist/lib/theme-row-persist.d.ts +34 -0
- package/dist/lib/theme-row-persist.js +1 -0
- package/dist/lib/theme-save-message.d.ts +6 -0
- package/dist/lib/theme-save-message.js +1 -0
- package/dist/lib/theme.d.ts +177 -0
- package/dist/lib/theme.js +18 -0
- package/dist/lib/use-host-products.d.ts +2 -0
- package/dist/lib/use-host-products.js +1 -0
- package/dist/lib/web-backend.d.ts +193 -0
- package/dist/lib/web-backend.js +1 -0
- package/dist/lib/web-runtime.d.ts +7 -0
- package/dist/lib/web-runtime.js +1 -0
- package/dist/lib/word-styles.d.ts +54 -0
- package/dist/lib/word-styles.js +1 -0
- package/package.json +40 -36
- package/dist/chunks/EditorPreviewCheckout-YVSO4HE3.js +0 -4
- package/dist/chunks/PreviewFooter-34YJU76X.js +0 -1
- package/dist/chunks/SectionEditorShell-CVWJ6DSU.js +0 -1
- package/dist/chunks/SiteEditorProvider-ECGZVKLG.js +0 -1
- package/dist/chunks/StorefrontEditorChrome-YKEMJT3Z.js +0 -1
- package/dist/chunks/chunk-2XX3N727.js +0 -153
- package/dist/chunks/chunk-2XX3N727.js.LEGAL.txt +0 -4
- package/dist/chunks/chunk-6CP4D6VJ.js +0 -1
- package/dist/chunks/chunk-7QXLVNFD.js +0 -1
- package/dist/chunks/chunk-EKKAVQJX.js +0 -1
- package/dist/chunks/chunk-FU5UZ4UY.js +0 -1
- package/dist/chunks/chunk-HVOO2GNE.js +0 -1
- package/dist/chunks/chunk-J5WPJJCW.js +0 -2
- package/dist/chunks/chunk-MEIUD5LJ.js +0 -1
- package/dist/chunks/chunk-N3IM4XBG.js +0 -1
- package/dist/chunks/chunk-RRHBLOH4.js +0 -1
- package/dist/chunks/chunk-TUB4O4RZ.js +0 -15
- package/dist/chunks/chunk-TUB4O4RZ.js.LEGAL.txt +0 -27
- package/dist/chunks/chunk-UM3P3PXW.js +0 -230
- package/dist/chunks/chunk-XQGZKQII.js +0 -1
- package/dist/chunks/chunk-Y6SLVHK3.js +0 -1
- package/dist/chunks/fitment-data-6NXSKODX.js +0 -1
- package/dist/chunks/gallery-builds-data-SWA6XKFF.js +0 -1
- package/dist/chunks/headers-3CAQXQEY.js +0 -1
- package/dist/chunks/render-client-VMLB4BTY.js +0 -1
- package/dist/contract.d.ts +0 -48
- package/dist/contract.js +0 -1
- package/dist/editor.css +0 -1
- package/dist/index.d.ts +0 -721
- package/dist/index.js +0 -11050
- package/dist/links.d.ts +0 -86
- package/dist/links.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r,Fragment as E,jsxs as p}from"react/jsx-runtime";import{SECTION_HEAD_TYPE as rt,SPLITTABLE_SECTIONS as He,canSplitHead as Ts}from"../lib/sections/section-head-placement.js";import{eyebrowLookFor as vn}from"../lib/sections/section-eyebrow-look.js";import{presetFor as Is}from"../lib/sections/section-presets.js";import{blockIsOffered as Zo}from"../lib/puck/block-offer.js";import{Fragment as Ve,useCallback as z,useEffect as S,useLayoutEffect as Es,useMemo as wn,useRef as I,useState as L}from"react";import{PagesIcon as Ls,LayersIcon as Jo,StylesIcon as As,MediaIcon as Qo}from"efficient-easel/rail";import{LayersTree as Os,Subtree as ue,TreeGroupLabel as Bt,TreeRow as R,TreeRowAction as Dt,TreeSeam as bn}from"efficient-easel/tree";import{DeviceSwitch as Ns,EaselIconButton as er,EaselTopBar as Rs,InspectorIconButton as Bs,PanelResizeHandle as tr,SaveState as nr,SaveStateToggle as Ds,TopBarCluster as or,TopBarDivider as _s,TopBarRail as $s}from"efficient-easel/chrome";import{ExternalIcon as Ms,ImageIcon as zs,RedoIcon as Fs,TextLinesIcon as Hs,TrashIcon as xn,UndoIcon as Vs}from"efficient-easel/icons";import Ws,{PanelShowStrip as rr}from"./SidePanelHead.js";import{saveIndicator as Gs}from"efficient-easel/autosave";import{useStorefrontDocument as Us}from"./StorefrontDocumentContext.js";import Ks from"./PageEditGuardNotices.js";import{PREVIEW_DEVICES as Ys}from"./preview-devices.js";import{PreviewDeviceContext as js}from"./PreviewDeviceContext.js";import{LocationsTreeContext as qs}from"./LocationsTreeContext.js";import Xs from"./AddSidePanel.js";import{boxFooterFromFooter as Zs}from"../lib/puck/box-footer.js";import{isSectionGroupType as _t,sectionGroupZone as sr,siteFooterDocChrome as Js,SITE_FOOTER_TYPE as $t,SITE_HEADER_TYPE as Qs}from"../lib/puck/section-groups.js";import se from"./SectionIcon.js";import ir from"./UiIcon.js";import ei from"./PagesPanel.js";import{usePreviewSurface as ti}from"./PreviewSurfaceContext.js";import ni from"./StylesPanel.js";import{SITE_STYLES_TABS as oi,SITE_STYLES_TEXT_TAB as ri}from"./WebsiteSettingsPanel.js";import{requestMediaPick as si}from"../lib/editor-media-picker.js";import{useHostProducts as ii}from"../lib/use-host-products.js";import{cancelPanelPick as Mt,useMediaPanel as li,usePanelPick as ci}from"../lib/editor-media-panel.js";import lr from"./MediaSidePanel.js";import{useEditorHost as ai}from"../lib/editor-host.js";import di from"./HeadingAudit.js";import{DEFAULT_PANEL_W as Ne,MAX_PANEL_W as cr,MIN_PANEL_W as ar,PANEL_WIDTHS_KEY as dr,clampPanelWidth as pr,panelWidthVars as pi}from"./panel-widths.js";import ui,{CHAT_MODE as fi,SOCIAL_MODE as hi,HEADER_MODE as Pn,PUCK_MODE as Y,WEBSITE_MODE as gi}from"./SectionEditor.js";import{SlotChildActionsProvider as mi}from"./SlotChildActionsContext.js";import{usePreviewHeader as yi}from"./PreviewHeaderContext.js";import{usePreviewChat as Si}from"./PreviewChatContext.js";import{usePreviewSocial as ki}from"./PreviewSocialContext.js";import{TICKER_PART_LABEL as vi,usePreviewTicker as wi}from"./PreviewTickerContext.js";import{usePreviewFooter as bi}from"./PreviewFooterContext.js";import{decodeLocationPartId as xi,encodeLocationPartId as Pi,usePreviewLocationPart as Ci}from"./PreviewLocationPartContext.js";import{usePartBridge as Ti}from"./usePartBridge.js";import{ROOT_ZONE as u,newNodeId as st,TREE_MAX_DEPTH as Ii,childSlotsOf as ur,missingPinnedTypes as Ei,nestsInTree as Li,pinnedDuplicateIds as fr,slotFieldsOf as Ai}from"../lib/puck/content-tree.js";import{BOX_TYPE as zt}from"../lib/puck/container-blocks.js";import{isLockedBlock as Cn}from"../lib/puck/locked-blocks.js";import{sectionIdOfBoxZone as Oi,setBookingPreview as Ni}from"../lib/puck/booking-preview.js";import{canSeedPinnedChrome as Ri}from"../lib/puck/pinned-seed-gate.js";import{SLOT_SECTION_SPECS as Bi}from"../lib/puck/slot-specs.js";import{HERO_GROUP_TYPE as Ft,heroGroupNestDepth as Ht}from"../lib/hero-group-placement.js";import{canAddTo as ee}from"../lib/puck/add-target.js";import{EDITOR_NODE_CLIPBOARD as Di,useNodeContextMenu as _i}from"./NodeContextMenu.js";import{FOOTER_TYPE as A,HEADER_TYPE as xe,buildDefaultFooterBlocks as hr,buildDefaultHeaderNode as gr}from"../lib/puck/footer-blocks.js";import{SITE_FOOTER_SLUG as mr}from"../lib/content/footer.js";import{scrollPreviewToSection as it,pinPreviewToSection as Tn,pinPreviewToBottom as $i,gotoPreviewSlide as yr,scrollPreviewToTop as In}from"../lib/puck/preview-dom.js";import{readFooterReturn as Mi,clearFooterReturn as zi}from"../lib/puck/footer-return.js";import{dedupeSlotChildren as Fi}from"../lib/puck/slot-heal.js";import{rootRowName as Hi,slotChildRenameProp as Vi,slotChildRowName as Wi}from"../lib/puck/slot-child-name.js";import{cloneNodeWithFreshIds as En}from"../lib/puck/section-doc.js";import{labelAtLevel as Gi}from"../lib/puck/section-catalog.js";import Ui from"./AddChildRow.js";import{useSectionOps as Ki}from"../lib/puck/use-section-ops.js";import{markedTreeNodeId as Yi,revealSelectedTreeRow as ji,sameSelector as qi}from"../lib/puck/tree-reveal.js";import{useLocationsFocus as Xi,setLocationsFocus as ie}from"../lib/puck/locations-focus.js";import{bucketsOf as Sr,moveGroup as kr,moveCity as vr,addCity as Zi,addGroup as Ji,deleteGroup as Qi,deleteCity as el,absCityIndex as wr,groupLabelOf as tl,cardKey as br}from"../lib/puck/locations-tree.js";import{usePreviewHref as nl}from"./usePreviewHref.js";import{useEditorKeyTarget as ol,useEditorUndoKeys as rl}from"../lib/editor-key-scope.js";import{leftViewForSelection as sl,readLeftView as il,resolveLeftView as ll,writeLeftView as cl}from"../lib/puck/left-view.js";import al from"./TemplateGlyph.js";import{resolveSaveAsTemplateAction as dl,SAVE_AS_TEMPLATE_EVENT as pl}from"../lib/save-as-template-action.js";import{heldStyle as ul,styleShortcut as fl}from"efficient-easel/style-clipboard";import{BLOCK_SELECTOR as hl,useCanvasEvent as gl,useCanvasFrame as ml}from"efficient-easel/canvas";import{createNode as yl,DataError as Sl,newId as kl,parseZoneKey as Pe,ROOT_ID as vl,ROOT_SLOT as wl,zoneKey as le}from"efficient-easel/data";import{CanvasDragLayer as bl,createDragSession as xl,gapToMoveIndex as Pl,useTreeDrag as Ln}from"efficient-easel/drag";import{toItemSelector as Cl,useNodeOps as Tl}from"efficient-easel/node-ops";import{useEasel as Il,useEaselApi as El}from"efficient-easel/easel";import{copyNodeStyle as xr,nodeStyleRows as Ll,planNodePaste as Al,siteStyleScope as Ol}from"../lib/puck/style-clipboard.js";import{SiteCanvas as Nl}from"../lib/puck/overrides.js";function Rl({saveState:k,notSaving:ce,onToggle:j,onRetry:lt}){if(ce)return r(nr,{tone:k.pending?"off-unsaved":"off",label:"Not saving \u2014 see the notice above",role:"status"});const{tone:te,label:q}=Gs(k);return p(E,{children:[r(Ds,{pressed:k.paused,onToggle:j,title:k.paused?"Auto-save is off \u2014 click to turn it back on (saves your held edits)":"Auto-save is on \u2014 click to pause it",children:r(nr,{tone:te,label:q})}),k.failed&&!k.paused&&r("button",{type:"button",className:"es-btn-ghost",onClick:lt,children:"Retry now"})]})}function Bl(){return p("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:[r("path",{d:"M12 3a9 9 0 0 0 0 18 2.3 2.3 0 0 0 2.3-2.3c0-.55-.22-1.05-.57-1.42-.34-.37-.56-.87-.56-1.43A2.35 2.35 0 0 1 15.6 13.5H18a3 3 0 0 0 3-3c0-4.14-4-7.5-9-7.5z"}),r("circle",{cx:"7.7",cy:"11.3",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"12",cy:"8",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"16",cy:"11",r:"1.05",fill:"currentColor",stroke:"none"})]})}function Dl({size:k=13}){return p("svg",{width:k,height:k,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("circle",{cx:"12",cy:"12",r:"9"}),r("path",{d:"M3 12h18M12 3c2.6 2.6 2.6 15.4 0 18M12 3c-2.6 2.6-2.6 15.4 0 18"})]})}function _l({size:k=13}){return p("svg",{width:k,height:k,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("path",{d:"M12 21s6-5 6-10a6 6 0 10-12 0c0 5 6 10 6 10z"}),r("circle",{cx:"12",cy:"11",r:"2"})]})}function $l({size:k=13}){return p("svg",{width:k,height:k,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("path",{d:"M9 4 3 6.5v13L9 17l6 3 6-2.5v-13L15 7z"}),r("path",{d:"M9 4v13M15 7v13"})]})}function Ml({expand:k}){return r("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:k?p(E,{children:[r("path",{d:"M8 9l4-4 4 4"}),r("path",{d:"M8 15l4 4 4-4"})]}):p(E,{children:[r("path",{d:"M8 4l4 4 4-4"}),r("path",{d:"M8 20l4-4 4 4"}),r("path",{d:"M5 12h14"})]})})}const Vt=k=>({parentId:`locations-${k}`,slot:"groups"}),An=(k,ce)=>({parentId:`locations-${k}`,slot:`cities:${ce}`});function zl(k,ce){if(k.length!==ce.length)return!1;for(let j=0;j<k.length;j++)if(k[j].top!==ce[j].top||k[j].index!==ce[j].index)return!1;return!0}function Fl(){const k=ai(),{adapter:ce,capabilities:j,templateId:lt,currentSlug:te,siteId:q,tokenRef:Pr,onPublish:Cr,saveStatus:On,saveState:Tr,saveConflict:Ir,retrySave:Er,hasUnsavedEdits:Lr,bridgeCapabilities:Ar,notifyParent:Nn,token:Rn,toggleAutoSave:Or,navigate:Bn,docId:Wt,data:Dn,footerOriginSlug:_n,readOnly:D}=Us(),{canPublish:Nr,hasSiteSettings:Gt,hasSiteTheme:ct,mediaEditing:$n,hasEditGuard:Rr,hasPinnedChrome:We,explainsSiteSettings:Br,hasPreviewLink:Dr}=j,at=dl({hasTrustedConsole:!!Rn,canCreatePlatformTemplate:Ar.canCreatePlatformTemplate,capabilities:j,siteId:q,hasUnsavedEdits:Lr}),_r=z(()=>{!q||!te||Nn(pl,{siteId:q,slug:te})},[Nn,q,te]),{appState:F,dispatch:b,history:fe,selectedItem:x,getSelectorForId:dt,config:H}=Il(e=>e),V=te===mr,Ut=Ki({readOnly:D}),Kt=I(null),h=wn(()=>({...Ut,select:e=>{Kt.current=e,Ut.select(e)}}),[Ut]),Mn=F.ui,P=Mn.leftSideBarVisible,Ce=Mn.rightSideBarVisible,[Te,$r]=L("desktop"),Ge=li(),zn=$n&&Ge!==null,X=ci(),[Re,pt]=L(il),[Mr,Fn]=L(oi[0].id),Ie=ll(Re,ct,zn);S(()=>{cl(Re)},[Re]);const[Hn,zr]=L(0),{surface:Fr,setSurface:Vn}=ti(),Yt=I(null),Ue=I(null),ae=ml(Ue,{readySelector:hl}),W=ol(Ue);rl(Ue);const[_,Ke]=L(!1),he=I(!1),ge=I(!1),[w,de]=L(null),ut=w&&w.zone===u?w.index:null,Wn=e=>de(e===null?null:{zone:u,index:e}),[Gn,Un]=L([]),[Z,T]=L(Y),jt=Z.kind==="puck",qt=Z.kind==="ticker"?Z.heroId:null,Be=Yi(Z,x?.props.id),me=I(null),Xt=I(null),[Kn,Yn]=L(null);S(()=>{Kn&&(ji(),Yn(null))},[Kn]);const jn=I(dt);jn.current=dt;const ft=z((e,{scroll:t})=>{pt(s=>sl(e,s)),t&&Yn(e);const n=[];let o=e;for(let s=0;s<4;s++){const i=jn.current(o)?.zone;if(!i||!i.includes(":"))break;const c=i.split(":")[0];n.push(c),o=c}n.length!==0&&mt(s=>{if(n.every(c=>!s.has(c)))return s;const i=new Set(s);return n.forEach(c=>i.delete(c)),i})},[]);S(()=>{T(x?.type===xe?Pn:Y),Ni(x?.type==="BookingBox"&&x.props.region==="confirm"?Oi(dt(String(x.props.id))?.zone):null);const e=x?.type==="ContactLocations"?String(x.props.id):null;e&&e!==Xt.current&&ie({level:"groups"}),Xt.current=e;const t=x?.props.id;V&&typeof t=="string"&&(me.current?.(),me.current=Tn(t));const n=Kt.current;if(Kt.current=null,!t)return;const o=dt(t);ft(String(t),{scroll:!qi(n,o??null,u)})},[x?.props.id,V,ft]);const{setSelected:qn,setSelectHandler:Xn}=yi(),{chat:Hr,setChat:Vr,setSelected:Zn,setSelectHandler:Jn}=Si(),{setSelectedHeroId:Qn,setSelectHandler:eo}=wi(),{editFooter:to}=bi(),{selectedLocationPartId:Wr,setSelectedLocationPartId:no,setSelectHandler:oo}=Ci(),ro=Z.kind==="header";S(()=>{qn(ro)},[ro,qn]),S(()=>{Xn(()=>{T(Pn),b({type:"setUi",ui:{rightSideBarVisible:!0}})})},[Xn,b]);const Zt=z(()=>{T(e=>e.kind==="chat"?e:fi),b({type:"setUi",ui:{rightSideBarVisible:!0}})},[b]),so=Z.kind==="chat";S(()=>{Zn(so)},[so,Zn]),S(()=>{Jn(Zt)},[Jn,Zt]);const{setOpenHandler:io}=ki(),lo=z(()=>{T(e=>e.kind==="social"?e:hi),b({type:"setUi",ui:{rightSideBarVisible:!0}})},[b]);S(()=>{io(lo)},[io,lo]);const ht=z(e=>{e&&(T(t=>t.kind==="ticker"&&t.heroId===e?t:{kind:"ticker",heroId:e}),b({type:"setUi",ui:{rightSideBarVisible:!0}}),it(e))},[b]);S(()=>{Qn(qt)},[qt,Qn]),S(()=>{eo(ht)},[eo,ht]);const Gr=z(e=>{b({type:"setUi",ui:{rightSideBarVisible:!0}}),it(e),ft(e,{scroll:!0})},[b,ft]),{selectNode:Ur,openPartId:Hl}=Ti({mode:Z,setMode:T,onOpenPart:Gr}),[co,ao]=L(null),po="sf-editor-collapsed-sections",[gt,mt]=L(()=>{if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(po);return new Set(e?JSON.parse(e):[])}catch{return new Set}});S(()=>{try{window.localStorage.setItem(po,JSON.stringify([...gt]))}catch{}},[gt]);const[De,Kr]=L(()=>{if(typeof window>"u")return{...Ne};try{const e=window.localStorage.getItem(dr);if(!e)return{...Ne};const t=JSON.parse(e);return{left:pr(Number(t.left)||Ne.left),right:pr(Number(t.right)||Ne.right)}}catch{return{...Ne}}});S(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(dr,JSON.stringify(De))}catch{}},300);return()=>clearTimeout(e)},[De]);const yt=z((e,t)=>Kr(n=>{const o=typeof t=="function"?t(n[e]):t;return n[e]===o?n:{...n,[e]:o}}),[]),Yr=z(e=>yt("left",e),[yt]),jr=z(e=>yt("right",e),[yt]),Ee=e=>gt.has(e),ye=e=>mt(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),uo=I(!1),Jt=I(null);S(()=>{if(uo.current&&!_){const e=Jt.current;((e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null)??Ue.current?.querySelector('button[aria-label="Add"]'))?.focus(),Jt.current=null}uo.current=_},[_]),S(()=>{if(!_||!W)return;const e=t=>{t.key==="Escape"&&Tt()};return W.addEventListener("keydown",e),()=>W.removeEventListener("keydown",e)},[_,W]),S(()=>{P||!_||(Ke(!1),de(null),he.current=!1)},[P]),S(()=>{if(!X){ge.current&&b({type:"setUi",ui:{leftSideBarVisible:!1}}),ge.current=!1;return}_&&(Ke(!1),de(null),ge.current=he.current,he.current=!1),P||(ge.current=!0,b({type:"setUi",ui:{leftSideBarVisible:!0}}))},[X]),S(()=>{P||!X||(ge.current=!1,Mt())},[P]),S(()=>{if(!X||!W)return;const e=t=>{t.key==="Escape"&&Mt()};return W.addEventListener("keydown",e),()=>W.removeEventListener("keydown",e)},[X,W]);const[St,fo]=L(null),[qr,Xr]=L(0),Ye=I(null),Le=(e,t="success")=>{fo({msg:e,tone:t}),Xr(n=>n+1),Ye.current&&clearTimeout(Ye.current),Ye.current=setTimeout(()=>fo(null),t==="error"?3200:1900)};S(()=>()=>{Ye.current&&clearTimeout(Ye.current)},[]);const je=I(null),[_e,ho]=L(0),[Qt,go]=L(0),G=Xi();S(()=>{const e=je.current;if(!e)return;const t=()=>{ho(e.clientWidth),go(e.clientHeight)};t();const n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),Es(()=>{je.current&&(ho(je.current.clientWidth),go(je.current.clientHeight))},[De,P,Ce]);const mo={desktop:2e3,tablet:800,mobile:390},en=Te==="desktop"?_e>0?_e:mo.desktop:mo[Te],qe=_e>0?Math.min(_e/en,2):1,yo=en*qe,Zr=_e>0&&yo>_e+1,Jr={width:yo,height:Qt||"100%",flex:"none",position:"relative"},Qr={width:en,height:Qt?Qt/qe:"100%",maxHeight:"none",transform:qe!==1?`scale(${qe})`:void 0,transformOrigin:"top left"},es=nl({pageSlug:te,siteId:q,token:Rn}),ts=ce.previewHref?.(te)??es,Se=()=>b({type:"setUi",ui:{leftSideBarVisible:!P}}),So=()=>b({type:"setUi",ui:{rightSideBarVisible:!Ce}}),kt=e=>{if(!(_&&(Ke(!1),de(null),he.current=!1,P&&Re===e))&&!(X&&(ge.current=!1,Mt(),P&&Re===e))){if(P&&Re===e){Se();return}pt(e),P||b({type:"setUi",ui:{leftSideBarVisible:!0}})}},ns=()=>{si(k,{accept:"image/*",title:"Media library"})},ko=()=>{T(Y),h.select(null),In()},vo=()=>{T(Pn),Ce||b({type:"setUi",ui:{rightSideBarVisible:!0}})},wo=()=>{if(ct){pt("styles"),P||b({type:"setUi",ui:{leftSideBarVisible:!0}}),In();return}T(gi),Ce||b({type:"setUi",ui:{rightSideBarVisible:!0}}),In()},g=F.data.content??[],ke=()=>{const e=g.findIndex(n=>n.type===xe),t=g.findIndex(n=>n.type===A);return{floor:e>=0?e+1:0,cap:t>=0?t:g.length}},bo=H,tn=Tl({data:F.data,config:bo,readOnly:!!D,clipboard:Di,afterRemove:"none",stepBounds:(e,t)=>{if(e.parentId!==vl||e.slot!==wl)return{min:0,max:t-1};const{floor:n,cap:o}=ke();return{min:n,max:o-1}},commit:(e,{select:t})=>{if(t!==void 0){T(Y);const n=t?.kind==="node"?Cl(e,bo,t):null;h.select(n&&n.zone===u?{index:n.index}:n)}h.commitDocument(e)}}),os=(e,t)=>{const n=C(e)[t]?.props?.id;n!=null&&tn.remove(String(n))},J=e=>H.components[e]?.label??e,Ae=z(e=>H.components[e]?.defaultProps??{},[H]),$=e=>Gi(e,"section",J(e)),Xe=e=>Hi({type:e.type,props:e.props??{}},$(e.type)),{nodeAddresses:vt,zoneItems:xo}=wn(()=>{const e=new Map,t=new Map,n=(o,s,i)=>{t.set(s,o),o.forEach((c,a)=>{const l=String(c.props?.id??"");if(l&&e.set(l,{zone:s,index:a}),i>=Ii)return;const f=new Map;for(const{child:m,zone:d}of ur(H,c))f.set(d,[...f.get(d)??[],m]);for(const[m,d]of f)n(d,m,i+1)})};return n(g,u,0),{nodeAddresses:e,zoneItems:t}},[g,H]),C=z(e=>xo.get(e)??[],[xo]),Po=ii(),rs=wn(()=>{const e=new Map;for(const t of Po??[])e.set(t.slug,t.name);return e},[Po]),wt=e=>Wi(e,J,t=>rs.get(t)),Co=(e,t)=>t===u?null:Vi(H.components[e.type]?.fields),ss=(e,t,n)=>{const o=C(e)[t];if(!o)return;const s=Co(o,e);s&&h.replaceComponent(e,t,{...o,props:{...o.props,[s]:n.trim()}})},is=(e,t,n,o)=>{if(!(co?.zone===e&&co.index===t))return;const i=(c,a)=>{ao(null),a&&ss(e,t,c)};return r("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":"Rename",onClick:c=>c.stopPropagation(),onBlur:c=>i(c.currentTarget.value,!0),onKeyDown:c=>{c.key==="Enter"?(c.preventDefault(),i(c.currentTarget.value,!0)):c.key==="Escape"&&(c.preventDefault(),i("",!1))}},n)},ls=()=>mt(new Set(C(u).map(e=>String(e.props.id)))),bt=Ol(q),xt=H,nn=(e,t)=>t===u?$(e):J(e),To=(e,t,n)=>{const o=Al(xt,bt,n,nn(n.type,e));o&&(o.changed&&h.replaceComponent(e,t,{...n,props:{...o.props,id:n.props.id}}),Le(o.message))},Io=_i({nodesIn:C,nodeAt:(e,t)=>C(e)[t]??null,labelOf:(e,t)=>t===u?$(e):J(e),renamePropOf:Co,beginRename:(e,t)=>ao({zone:e,index:t}),history:{hasPast:fe.hasPast,hasFuture:fe.hasFuture,back:()=>fe.back(),forward:()=>fe.forward()},openAddSection:()=>{h.select(null),Je(null)},openPageSettings:()=>{h.select(null),T(Y)},collapseAll:ls,onPasteRefused:()=>Le("Your browser won\u2019t let us read the clipboard \u2014 press \u2318V","error"),document:F.data,nodeOps:tn,isPinned:(e,t)=>t===u&&(e.type===xe||e.type===A),sectionBand:ke,openAddInside:(e,t)=>{e===u?ve(t):h.select({zone:e,index:t}),Je(null)},locate:e=>vt.get(e)??null,rowNameOf:(e,t)=>t===u?Xe(e):wt(e),selectAt:(e,t,n,o)=>{e===u?ve(t):Qe(e,t,n,o??"")},style:{held:()=>ul(bt),canCopy:e=>Ll(xt,e).some(t=>t.counted!==!1),copy:(e,t)=>xr(xt,bt,e,nn(e.type,t)),paste:(e,t,n)=>To(e,t,n)}},ae),Eo=I({copy:(e,t)=>{},paste:(e,t,n)=>{},at:()=>null,readOnly:!1});S(()=>{Eo.current={copy:(e,t)=>xr(xt,bt,e,nn(e.type,t)),paste:To,at:()=>{const e=F.ui.itemSelector;if(!e)return null;const t=e.zone??u,n=C(t)[e.index];return n?{zone:t,index:e.index,node:n}:null},readOnly:!!D}});const on=z(e=>{const t=fl(e);if(!t)return;const n=Eo.current,o=n.at();o&&(e.preventDefault(),t==="copy"?n.copy(o.node,o.zone):n.readOnly||n.paste(o.zone,o.index,o.node))},[]);S(()=>{if(!W)return;const e=t=>on(t);return W.addEventListener("keydown",e),()=>W.removeEventListener("keydown",e)},[on,W]),gl(ae,"keydown",on);const cs=g.map(e=>e.props.id).join("|");S(()=>{const e=ae?.document??null,t=ae?.window??null;let n=0;const o=[],s=()=>{if(!e){Un(d=>d.length?[]:d);return}const a=g.findIndex(d=>d.type===A),l=a>=0?a:g.length,f=d=>{const y=g[d]?.props?.id;if(y==null)return null;const v=e.querySelector(`[data-puck-component="${CSS.escape(String(y))}"]`);return v?v.getBoundingClientRect():null},m=[];for(let d=1;d<=l;d++){const y=f(d),v=f(d-1);!y&&!v||m.push({top:Math.round(y?y.top:v.bottom),index:d})}Un(d=>zl(d,m)?d:m)},i=()=>{cancelAnimationFrame(n),n=requestAnimationFrame(s)};if(!e||!t){s();return}t.addEventListener("scroll",i,{passive:!0});const c=new ResizeObserver(i);return c.observe(e.documentElement),s(),o.push(setTimeout(s,150),setTimeout(s,450)),()=>{cancelAnimationFrame(n),o.forEach(clearTimeout),t.removeEventListener("scroll",i),c.disconnect()}},[ae,cs,Te,qe,P,Ce,x?.props.id]);const as=()=>{const e=ae?.document;if(!e)return null;const t=4,n=g.findIndex(i=>i.type===A),o=n>=0?n:g.length;let s=null;for(let i=0;i<o;i++){const c=g[i]?.props?.id;if(c==null)continue;const a=e.querySelector(`[data-puck-component="${CSS.escape(String(c))}"]`);if(!a)continue;const l=a.getBoundingClientRect().top;l<=t&&(s===null||l>s.offset)&&(s={id:String(c),offset:l})}if(!s){const i=x?.props?.id??g[0]?.props?.id;i!=null&&(s={id:String(i),offset:0})}return s},ds=()=>{Yt.current=as(),zr(e=>e+1)},rn=ae?.document??null,Ze=ae?.window??null;S(()=>{const e=Yt.current;if(!e||!rn||!Ze)return;const t=[],n=()=>{const o=rn.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!o)return!1;const s=o.getBoundingClientRect().top-e.offset;return Math.abs(s)>1&&Ze.scrollTo({left:Ze.scrollX,top:Ze.scrollY+s,behavior:"instant"}),!0};return Yt.current=null,n()&&t.push(setTimeout(n,150),setTimeout(n,450)),()=>t.forEach(clearTimeout)},[rn,Ze]);const sn=e=>{if(!V){it(e);return}me.current?.(),me.current=Tn(e)};S(()=>{if(!V||!_n)return;const e=g.find(t=>t.type===A)?.props?.id;if(e)return me.current?.(),me.current=Tn(String(e)),()=>{me.current?.(),me.current=null}},[V,_n,Hn]),S(()=>{if(!(V||!Mi()))return $i(()=>zi())},[]);const ve=e=>{T(Y),h.select({index:e}),g[e]?.type==="ContactLocations"&&ie({level:"groups"});const t=g[e]?.props?.id;t&&sn(t)},Lo=e=>{const{floor:t,cap:n}=ke(),o=i=>Math.min(Math.max(t,i),n);if(typeof e=="number")return o(e);const s=x&&Z.kind!=="header"?g.findIndex(i=>i.props.id===x.props.id):-1;return o(s>=0?s+1:n)},Ao=(e,t)=>{const{floor:n,cap:o}=ke(),s=Math.min(Math.max(t,n),o),i=e<s?s-1:s;return i===e?{moved:!1,dest:e}:(h.reorderComponent(u,e,i),h.select({index:i}),{moved:!0,dest:i})},ps=(e,t)=>{const n=$(g[e]?.type??""),o=Ao(e,t<0?e-1:e+2);if(!o.moved){Le(`\u201C${n}\u201D is already ${t<0?"first":"last"}`);return}const{floor:s,cap:i}=ke();Le(`Moved \u201C${n}\u201D to position ${o.dest-s+1} of ${i-s}`)},Pt=(e,t,n)=>{T(Y),h.select({index:e}),it(t),Le(`Added \u201C${n}\u201D section`)},ln=(e,t)=>{const n=Lo(t),o=Is(e);if(o){const c=o(Ae,st),a=h.insertNode(u,n,c);return Pt(n,a,$(e)),n}if(Ts(e)&&Zo(zt)&&Zo(rt)){const c={type:zt,props:{...Ae(zt),id:st(zt),direction:"column",name:`${$(e)} section`,content:[{type:rt,props:{...Ae(rt),id:st(rt),...He[e]?.headStyle?{headStyle:He[e].headStyle}:{},...He[e]?.headRowGap?{rowGap:He[e].headRowGap}:{},...He[e]?.headDescriptionSize?{descriptionSize:He[e].headDescriptionSize}:{},...vn(e)!==vn(rt)?{eyebrowLook:vn(e)}:{}}},{type:e,props:{...Ae(e),id:st(e),headPlacement:"own-box"}}]}},a=h.insertNode(u,n,c);return Pt(n,a,$(e)),n}const i=Bi[e]?.fixed===!0?h.insertNode(u,n,{type:e,props:{...Ae(e),id:st(e),layout:"boxes"}}):h.insertSection(e,n);return Pt(n,i,$(e)),n},cn=(e,t,n)=>{const o=Lo(n),s=h.insertNode(u,o,t);return Pt(o,s,e),o},Je=e=>Ct(u,e),Ct=(e,t)=>{Jt.current=document.activeElement??null,X&&(he.current=ge.current,ge.current=!1,Mt()),de(t===null?null:{zone:e,index:t}),Ke(!0),P||(he.current=!0,b({type:"setUi",ui:{leftSideBarVisible:!0}}))},Tt=()=>{Ke(!1),de(null),he.current&&b({type:"setUi",ui:{leftSideBarVisible:!1}}),he.current=!1},us=e=>{if(ut===null){ln(e);return}const t=ln(e,ut);Wn(t+1)},fs=(e,t)=>{if(ut===null){cn(e,t);return}const n=cn(e,t,ut);Wn(n+1)},Oo=(e,t,n)=>{if(e.kind==="section")h.insertComponent(t,e.type,n);else if(e.kind==="template")h.insertNode(t,n,En(e.template.node));else return;T(Y),h.select({index:n,zone:t})},hs=e=>{const t=ne(e.zone);if(t)return`Adding to ${J(t.type)}`;if(e.zone===u){const o=g[e.index];return o&&o.type!==A?`Adding before ${$(o.type)}`:"Adding at the end of the page"}const n=ze(e.zone);return n?`Adding to ${n.parentName}`:"Adding here"},gs=e=>{if(w&&e.kind!=="block"&&ne(w.zone)){Oo(e,w.zone,w.index),de({zone:w.zone,index:w.index+1});return}if(e.kind==="section")return us(e.type);if(e.kind==="template")return fs(e.template.name,En(e.template.node));if(w&&w.zone!==u){const t=ze(w.zone);if(!t)return;t.target.spec?$e(t.parentId,t.target.slot,e.type,w.index,t.parent.type):un(w.zone,e.type,w.index),de({zone:w.zone,index:w.index+1});return}Xo?.onPick(e.type)},O=e=>t=>{t.target.closest(".es-tree-select")||e()},No=()=>to?to():Bn({kind:"page",slug:mr,siteId:q??void 0}),It=(e,t,n)=>r(Dt,{kind:"delete",label:`Delete ${n}`,onClick:()=>os(e,t),children:r(xn,{size:15})}),Et=(e,t,n,o)=>{const s=!!n.props._hidden;return r(Dt,{kind:"eye",label:s?`Show ${o}`:`Hide ${o}`,onClick:()=>ms(e,t,n),children:s?r(ir,{name:"eye-off",size:14}):r(ir,{name:"eye",size:14})})},Ro=e=>{const t=$(g[e]?.type??""),n=t?`Add section before ${t}`:"Add section here";return Ot(u,e,()=>Je(e),n)},ms=(e,t,n)=>{h.replaceComponent(e,t,{...n,props:{...n.props,_hidden:!n.props._hidden}})},an=e=>Ai(H,e),we=e=>ur(H,e),dn=(e,t,n)=>{const o=Li(H,e.type,t)&&(n||we(e).length>0);return{collapsible:o,folded:o&&Ee(String(e.props.id))}},pn=(e,t,n)=>we(e).flatMap(({child:o})=>dn(o,t,n(o.type)).collapsible?[String(o.props.id),...pn(o,t+1,n)]:[]),Lt=e=>we(e).length>0||!!ee(e.type),At=e=>!!ee(e),Qe=(e,t,n,o)=>{if(T(Y),ee(o)?.spec?.slider){const s=e.split(":")[0];yr(s,t),h.select({index:t,zone:e}),it(s)}else h.select({index:t,zone:e}),sn(n)},$e=(e,t,n,o,s)=>{const i=`${e}:${t}`;h.insertComponent(i,n,o),ee(s)?.spec?.slider?requestAnimationFrame(()=>{yr(e,o),h.select({index:o,zone:i})}):h.select({index:o,zone:i})},un=(e,t,n)=>{h.insertComponent(e,t,n),T(Y),h.select({index:n,zone:e})},Bo=I(new Set);S(()=>{g.forEach(e=>{const t=ee(e.type)?.spec;if(!t)return;const n=e.props.id;if(Bo.current.has(n)||(Bo.current.add(n),(Array.isArray(e.props[t.slot])?e.props[t.slot]:[]).length>0)||t.skipSeed?.(e.props))return;const s=`${n}:${t.slot}`,i=t.legacy?.(e.props)??[];(i.length?i:t.seeds(Ae)).forEach((a,l)=>h.seedChild(s,l,t.childType,a))})},[g,h,Ae]);const Do=I(new Set);S(()=>{g.forEach((e,t)=>{const n=e.props.id;if(Do.current.has(n))return;const o=Fi(e,an(e.type));Do.current.add(n),o&&h.replaceComponent(u,t,{...e,props:o})})},[g,h]);const _o=El().getState,$o=I(null);S(()=>{if(!Ri({docId:Wt,saveStatus:On,seededDocId:$o.current})||($o.current=Wt,!We))return;const e=_o().appState.data,t=e.content,n=Dn?.content??[],o=(a,l)=>a.some(f=>f?.type===l);if(!Gt){const a=new Set(fr(t)),l=a.size?t.filter(m=>!a.has(m.props.id)):t;a.size&&h.setDocument({...e,content:l});const f=Ei(l,n);if(f.includes(A)){const m=l.length,d=h.insertSection(A,m);h.replaceComponent(u,m,{type:A,props:{id:d,blocks:hr()}})}f.includes(xe)&&h.insertNode(u,0,gr());return}if(V){const a=Js(t);if(a!==t&&h.setDocument({...e,content:[...a]}),!a.find(f=>f.type===A)&&!o(n,A)&&!o(a,$t)&&!o(n,$t)){const f=(d,y)=>yl(H,d,y),m={type:A,props:{blocks:hr()}};h.insertNode(u,a.length,Zs(m,f,kl($t)))}return}const s=t.filter(a=>a.type!==A),i=new Set(fr(s)),c=i.size?s.filter(a=>!i.has(a.props.id)):s;c.length!==t.length&&h.setDocument({...e,content:c}),!o(c,xe)&&!o(n,xe)&&h.insertNode(u,0,gr())},[Wt,On,Dn,_o,h,Gt,We,V]);const Me=g.findIndex(e=>e.type===A),U=Me>=0?g[Me]:null,Mo=g.find(e=>e.type===Qs)??null,zo=g.find(e=>e.type===$t)??null,Fo=Me>=0?Me:g.length,pe=[];g.forEach(e=>{e.type!==A&&(Lt(e)&&pe.push(String(e.props.id)),pe.push(...pn(e,1,At)))}),U&&(pe.push(String(U.props.id)),pe.push(...pn(U,1,At)));const fn=pe.length>0&&pe.every(e=>gt.has(e)),ys=()=>mt(e=>{const t=new Set(pe);return fn?new Set([...e].filter(n=>!t.has(n))):new Set([...e,...pe])}),Ho=e=>{const t=e.props;if(e.type==="FooterMenu"){const n=t.menu;return t.heading||n?.name||"Menu"}if(e.type==="FooterText"){const n=typeof t.text=="string"?t.text.trim():"";return n?n.length>28?`${n.slice(0,28)}\u2026`:n:"Text"}return e.type==="FooterEmailSignup"?t.heading||"Email signup":J(e.type)},Vo=(e,t,n,o)=>{const s=C(e)[n];if(!s)return;const i={...Pe(e),index:n},c={...Pe(t),index:Math.min(Math.max(o,0),C(t).length)},a=Pl(i,c);if(!(e===t&&a===n))try{tn.move(String(s.props.id),{...c,index:a})}catch(l){if(!(l instanceof Sl))throw l}},Ss=(e,t,n)=>{if(e===t)return!0;const o=C(e)[n];if(!o)return!1;const s=t.split(":")[0],i=vt.get(s),c=i?C(i.zone)[i.index]:void 0;if(!c||ks(o).has(t))return!1;const a=ee(c.type,c.type===Ft?Ht(F?.data,s):0);return!(!a||!(a.choices?a.choices.some(f=>f.type===o.type):a.spec?.childType===o.type)||a.spec?.addBlocked?.(C(t),o))},ks=e=>{const t=new Set,n=o=>{for(const{child:s,zone:i}of we(o))t.add(i),n(s)};for(const o of an(e.type))t.add(`${e.props.id}:${o}`);return n(e),t},Wo=e=>{let t=e.slice(0,e.indexOf(":"));for(let n=0;n<64;n++){const o=vt.get(t);if(!o)return null;if(o.zone===u)return t;t=o.zone.slice(0,o.zone.indexOf(":"))}return null},ne=e=>{const t=e.slice(0,e.indexOf(":")),n=g.find(o=>_t(o.type)&&String(o.props.id)===t);return n&&sr(t)===e?n:null},hn=(e,t)=>{if(e.add)return vs(e.add,t);const n=le(t);if(_t(e.type))return!1;const o=ne(n),s=ne(e.zone);if(o||s)return!o||!s?!1:t.index>=0&&t.index<=C(n).length;if(e.zone===u||n===u){if(e.zone!==n)return!1;const{floor:c,cap:a}=ke();return t.index>=c&&t.index<=a}if(t.index<0||t.index>C(n).length)return!1;if(e.zone===n)return!0;const i=U?String(U.props.id):null;return i&&(Wo(e.zone)===i||Wo(n)===i)?!1:Ss(e.zone,n,e.index)},ze=e=>{const t=e.slice(0,e.indexOf(":")),n=vt.get(t),o=n?C(n.zone)[n.index]:void 0;if(!n||!o)return null;const s=ee(o.type,o.type===Ft?Ht(F?.data,t):0);if(!s||`${t}:${s.slot}`!==e||s.source==="footer")return null;const i=s.choices??(s.spec?[{type:s.spec.childType,label:J(s.spec.childType)}]:[]);return{parent:o,parentId:t,target:s,choices:i,parentName:n.zone===u?$(o.type):J(o.type)}},vs=(e,t)=>{const n=le(t);if(e.kind!=="block"){if(ne(n))return t.index>=0&&t.index<=C(n).length;if(n!==u)return!1;const{floor:s,cap:i}=ke();return t.index>=s&&t.index<=i}if(n===u)return!1;const o=ze(n);return!o||!o.choices.some(s=>s.type===e.type)?!1:!o.target.spec?.addBlocked?.(C(n))},ws=(e,t)=>{if(e.kind!=="block"&&ne(le(t))){Oo(e,le(t),t.index);return}if(e.kind==="section"){ln(e.type,t.index);return}if(e.kind==="template"){cn(e.template.name,En(e.template.node),t.index);return}const n=le(t),o=ze(n);o&&(o.target.spec?$e(o.parentId,o.target.slot,e.type,t.index,o.parent.type):un(n,e.type,t.index))},Go=(e,t)=>{if(e.add){ws(e.add,t);return}e.zone===u?Ao(e.index,t.index):Vo(e.zone,le(t),e.index,t.index)},[gn]=L(()=>xl()),Fe=Ln({keyOf:e=>e.id,readOnly:!!D,session:gn,canDrop:hn,onDrop:Go,onStep:(e,t)=>{e.zone===u?ps(e.index,t):Vo(e.zone,e.zone,e.index,t<0?e.index-1:e.index+2)}}),bs=z(e=>{const{floor:t,cap:n}=ke(),o=[];for(const i of e.nodes){const c=le(i.place),a=C(c)[i.place.index];if(!a||String(a.props.id)!==i.id||a.type===xe||a.type===A||Cn(a.type)||_t(a.type))continue;const l=!!ne(c),f=c===u||l;c===u&&n-t<2||o.push({key:i.id,item:{id:i.id,zone:c,index:i.place.index,type:a.type},box:i.box,label:f?$(a.type):wt(a),from:i.place})}const s=e.zones.filter(i=>i.children.length>0||!!ze(le(i.list))?.choices.length||!!ne(le(i.list)));return{sources:o,zones:s}},[F.data]),xs=e=>{T(Y),h.select(e.zone===u?{index:e.index}:{index:e.index,zone:e.zone})},Ot=(e,t,n,o)=>r(bn,{...D?{}:Fe.seam({place:{...Pe(e),index:t}}),onAdd:D?void 0:n,label:o},`seam:${e}:${t}`),be=(e,t)=>{const n=g[e];n&&h.replaceComponent(u,e,{type:n.type,props:{...n.props,locations:t}})},et=e=>{const t=g[e]?.props?.locations;return Array.isArray(t)?t:[]},Uo=Ln({keyOf:e=>`group:${e.si}:${e.index}`,readOnly:!!D,canDrop:(e,t)=>t.parentId===Vt(e.si).parentId&&t.slot==="groups",onDrop:(e,t)=>{be(e.si,kr(et(e.si),e.index,t.index)),G.level==="city"&&ie({level:"groups"})},onStep:(e,t)=>{be(e.si,kr(et(e.si),e.index,t<0?e.index-1:e.index+2)),G.level==="city"&&ie({level:"groups"})}}),mn=Ln({keyOf:e=>`city:${e.si}:${e.group}:${e.index}`,readOnly:!!D,canDrop:(e,t)=>t.parentId===Vt(e.si).parentId&&t.slot.startsWith("cities:"),onDrop:(e,t)=>{const n=t.slot.slice(7);be(e.si,vr(et(e.si),e.group,e.index,n,t.index)),ie({level:"group",key:n})},onStep:(e,t)=>{be(e.si,vr(et(e.si),e.group,e.index,e.group,t<0?e.index-1:e.index+2)),G.level==="city"&&ie({level:"group",key:e.group})}}),Ko=I(g);Ko.current=g;const Yo=I(()=>{});S(()=>{oo(e=>{const t=xi(e);if(!t)return;const n=Ko.current.findIndex(o=>o.props?.id===t.nodeId);n<0||Yo.current(n,{level:t.part,index:t.index})})},[oo]);const K=(e,t)=>{T(Y),Xt.current=g[e]?.props?.id??null,h.select({index:e}),ie(t),Ce||b({type:"setUi",ui:{rightSideBarVisible:!0}});const n=g[e]?.props?.id;typeof n=="string"&&(t.level==="image"||t.level==="map")?no(Pi(n,t.index,t.level)):no(null),typeof n=="string"&&sn(n)};Yo.current=K;const Ps=(e,t)=>{const n=et(t),o=Sr(n),s=String(e.props.id),i=jt&&x?.props.id===s,c=l=>r(bn,{...D?{}:Uo.seam({place:{...Vt(t),index:l}})},`seam:${s}:groups:${l}`),a=(l,f)=>r(bn,{...D?{}:mn.seam({place:{...An(t,l),index:f}})},`seam:${s}:cities:${l}:${f}`);return p(E,{children:[r(R,{icon:r(Hs,{size:13}),name:"Texts",onSelect:()=>K(t,{level:"texts"}),selected:i&&G.level==="texts",rowProps:{onClick:O(()=>K(t,{level:"texts"}))}}),o.map((l,f)=>{const m=`${s}::grp::${l.key}`,d=Ee(m),y=i&&G.level==="group"&&G.key===l.key,v=tl(l.key,l.name),oe={...An(t,l.key),index:l.cards.length},Q=mn.row({item:{si:t,group:l.key,index:-1},place:oe,into:oe,canDrag:!1},{onClick:O(()=>K(t,{level:"group",key:l.key}))}),N=Uo.row({item:{si:t,index:f},place:{...Vt(t),index:f}},Q.rowProps);return p(Ve,{children:[f===0&&c(0),r(R,{icon:r(Dl,{size:13}),name:v,onSelect:()=>K(t,{level:"group",key:l.key}),selected:y,draggable:N.draggable,dragging:N.dragging,drop:N.drop??Q.drop,fold:{open:!d,label:"group",onToggle:()=>ye(m)},actions:r(Dt,{kind:"delete",label:`Delete ${v} group (${l.cards.length} ${l.cards.length===1?"city":"cities"})`,onClick:()=>{be(t,Qi(n,l.key)),ie({level:"groups"})},children:r(xn,{size:15})}),rowProps:N.rowProps,children:r("span",{className:"es-group-count",children:l.cards.length})}),!d&&p(ue,{children:[l.cards.map((re,M)=>{const B=wr(n,l.key,M),nt=i&&G.level==="city"&&G.index===B,Oe=String(re?.name??"")||"City",ot=`${s}::city::${br(re)}`,Nt=Ee(ot),{rowProps:Rt,...kn}=mn.row({item:{si:t,group:l.key,index:M},place:{...An(t,l.key),index:M}},{onClick:O(()=>K(t,{level:"city",index:B}))});return p(Ve,{children:[M===0&&a(l.key,0),r(R,{icon:r(_l,{size:13}),name:Oe,onSelect:()=>K(t,{level:"city",index:B}),selected:nt,...kn,fold:{open:!Nt,label:Oe,onToggle:()=>ye(ot)},actions:r(Dt,{kind:"delete",label:`Delete ${Oe}`,onClick:()=>{be(t,el(n,l.key,M)),ie({level:"group",key:l.key})},children:r(xn,{size:15})}),rowProps:Rt}),!Nt&&p(ue,{children:[r(R,{icon:r(zs,{size:13}),name:"Image",onSelect:()=>K(t,{level:"image",index:B}),selected:i&&G.level==="image"&&G.index===B,rowProps:{onClick:O(()=>K(t,{level:"image",index:B}))}}),r(R,{icon:r($l,{size:13}),name:"Map",onSelect:()=>K(t,{level:"map",index:B}),selected:i&&G.level==="map"&&G.index===B,rowProps:{onClick:O(()=>K(t,{level:"map",index:B}))}})]}),a(l.key,M+1)]},br(re))}),p("button",{type:"button",className:"sf-add-card",onClick:()=>{const re=Zi(n,l.key);be(t,re);const M=Sr(re).find(B=>B.key===l.key);ie(M&&M.cards.length?{level:"city",index:wr(re,l.key,M.cards.length-1)}:{level:"group",key:l.key})},children:[r("span",{className:"sf-plus sf-plus--sm",children:"+"}),"Add city"]})]}),c(f+1)]},m)}),p("button",{type:"button",className:"sf-add-card",onClick:()=>{const{cards:l,key:f}=Ji(n);be(t,l),K(t,{level:"group",key:f})},children:[r("span",{className:"sf-plus sf-plus--sm",children:"+"}),"Add group"]})]})},jo=e=>{const t=String(e.props.id),n=g.findIndex(l=>String(l.props.id)===t),o=sr(t),s=C(o),i=Ee(t),c=J(e.type),a=l=>Ot(o,l,()=>Ct(o,l),"Add section here");return p(E,{children:[r(R,{icon:r(se,{type:e.type,size:13}),name:c,onSelect:()=>ve(n),selected:Be===t,rowProps:{"data-node-id":t,onClick:O(()=>ve(n))},fold:{open:!i,label:"section",onToggle:()=>ye(t)}}),!i&&p(ue,{children:[s.map((l,f)=>{const m=String(l.props.id),d=Xe(l),y=Lt(l),v=y&&Ee(m),oe=()=>Qe(o,f,m,e.type),{rowProps:Q,...N}=Fe.row({item:{id:m,zone:o,index:f,type:l.type},place:{...Pe(o),index:f}},{"data-node-id":m,onClick:O(oe)});return p(Ve,{children:[a(f),r(R,{icon:r(se,{type:l.type,size:13}),name:d,onSelect:oe,selected:Be===m,hidden:!!l.props._hidden,...N,fold:y?{open:!v,label:"section",onToggle:()=>ye(m)}:void 0,actions:p(E,{children:[It(o,f,d),Et(o,f,l,d)]}),rowProps:Q}),y&&!v&&r(ue,{children:yn(l,2)})]},m)}),a(s.length)]})]})},qo=(e,t)=>{const n=we(e),o=(c,a)=>Ot(c,a),s=ee(e.type),i=s?`${e.props.id}:${s.slot}`:null;return p(E,{children:[n.map(({child:c,zone:a,index:l})=>{const f=Be===String(c.props.id),{collapsible:m,folded:d}=dn(c,t,At(c.type)),y=String(c.props.id),v=Ho(c),oe=()=>Qe(a,l,y,e.type),{rowProps:Q,...N}=Fe.row({item:{id:y,zone:a,index:l,type:c.type},place:{...Pe(a),index:l}},{"data-node-id":y,onClick:O(oe)});return p(Ve,{children:[l===0&&o(a,0),r(R,{icon:r(se,{type:c.type,size:13}),name:v,onSelect:oe,selected:f,hidden:!!c.props._hidden,...N,fold:m?{open:!d,label:"group",onToggle:()=>ye(y)}:void 0,actions:p(E,{children:[It(a,l,v),Et(a,l,c,v)]}),rowProps:Q}),m&&!d&&r(ue,{children:qo(c,t+1)}),o(a,l+1)]},String(c.props.id??`${a}-${l}`))}),i&&!n.some(c=>c.zone===i)?o(i,0):null]})},yn=(e,t)=>{const n=we(e),o=ee(e.type,e.type===Ft?Ht(F?.data,String(e.props.id)):0),s=o?.spec??null,i=s&&Array.isArray(e.props[s.slot])?e.props[s.slot]:[],c=o&&o.choices?{slot:o.slot,choices:o.choices}:null,a=String(e.props.id),l=s&&!s.fixed?`${a}:${s.slot}`:null,f=c?`${a}:${c.slot}`:null,m=(d,y)=>{const v=d===l&&s&&!s.addBlocked?.(i)?()=>$e(e.props.id,s.slot,s.childType,y,e.type):d===f?()=>Ct(d,y):void 0;return Ot(d,y,v,d===l&&s?s.addLabel:"Add block here")};return p(E,{children:[n.map(({child:d,zone:y,index:v})=>{const oe=Be===String(d.props.id),Q=wt(d),N=String(d.props.id),{collapsible:re,folded:M}=dn(d,t,At(d.type)),B=an(d.type),nt=B.length===1?`${N}:${B[0]}`:null,Oe=nt?{...Pe(nt),index:C(nt).length}:void 0,ot=Fe.dragging,Nt=Oe&&ot&&hn(ot,Oe)?Oe:void 0,Rt=()=>Qe(y,v,N,e.type),{rowProps:kn,...Cs}=Fe.row({item:{id:N,zone:y,index:v,type:d.type},place:{...Pe(y),index:v},into:Nt,canDrag:!Cn(d.type)},{"data-node-id":N,onClick:O(Rt)});return p(Ve,{children:[v===0&&m(y,0),r(R,{icon:r(se,{type:d.type,size:13}),name:Q,onSelect:Rt,nameSlot:is(y,v,N,Q),selected:oe,hidden:!!d.props._hidden,...Cs,fold:re?{open:!M,label:"group",onToggle:()=>ye(N)}:void 0,actions:Cn(d.type)?void 0:p(E,{children:[It(y,v,Q),Et(y,v,d,Q)]}),rowProps:kn}),re&&!M&&r(ue,{children:yn(d,t+1)}),m(y,v+1)]},String(d.props.id??`${y}-${v}`))}),s&&!s.fixed&&r(Ui,{small:!0,label:s.addLabel,blocked:s.addBlocked?.(i)??null,onAdd:()=>$e(e.props.id,s.slot,s.childType,i.length,e.type)}),f&&!n.some(d=>d.zone===f)?m(f,0):null]})},Xo=(()=>{if(!x||!jt)return null;const e=String(x.type),t=String(x.props.id),n=ee(e,e===Ft?Ht(F?.data,t):0);if(!n||n.source==="footer")return null;const o=g.some(c=>String(c.props?.id)===t),s=Array.isArray(x.props[n.slot])?x.props[n.slot]:[];if(n.spec?.addBlocked?.(s))return null;const i=n.choices??(n.spec?[{type:n.spec.childType,label:J(n.spec.childType)}]:[]);return i.length===0?null:{parentName:o?$(e):J(e),choices:i,onPick:c=>{n.spec?$e(t,n.slot,c,s.length,e):un(`${t}:${n.slot}`,c,s.length)}}})(),Sn=_||X!==null,tt=[{id:"add",label:"Add",icon:r("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:_,onSelect:()=>_?Tt():Je(null)},{id:"pages",label:"Pages",icon:r(Ls,{}),active:P&&!Sn&&Ie==="pages",onSelect:()=>kt("pages")},{id:"sections",label:"Layers",icon:r(Jo,{}),active:P&&!Sn&&Ie==="sections",onSelect:()=>kt("sections")}];return!ct&&Br&&tt.push({id:"appearance",label:"Appearance",icon:r(Bl,{}),active:Z.kind==="website",onSelect:wo}),ct&&tt.push({id:"styles",label:"Site styles",icon:r(As,{}),active:P&&!Sn&&Ie==="styles",onSelect:()=>kt("styles")}),zn?tt.push({id:"media",label:"Media library",icon:r(Qo,{}),active:P&&!_&&(X!==null||Ie==="media"),onSelect:()=>kt("media")}):$n&&tt.push({id:"media",label:"Media library",icon:r(Qo,{}),onSelect:ns}),r(qs.Provider,{value:!0,children:r(js.Provider,{value:Te,children:p("div",{ref:Ue,className:"sf-editor es-editor",style:pi(De),onContextMenu:Io.onEditorContextMenu,children:[p(Rs,{children:[r($s,{items:tt,ariaLabel:"Left panel views"}),p(or,{children:[r(er,{label:"Undo",disabled:!fe.hasPast,onClick:()=>fe.back(),children:r(Vs,{})}),r(er,{label:"Redo",disabled:!fe.hasFuture,onClick:()=>fe.forward(),children:r(Fs,{})}),r(_s,{}),r(Ns,{devices:Ys,value:Te,onChange:$r})]}),p(or,{kind:"right",style:{minWidth:300},children:[r(Rl,{saveState:Tr,notSaving:!!D||Ir!=null,onToggle:Or,onRetry:Er}),at.visible&&p("button",{type:"button",className:"es-btn-ghost",disabled:!at.enabled,title:at.enabled?"Save this website as a platform template":at.disabledReason,onClick:_r,children:["Save as Template",r(al,{})]}),r("button",{type:"button",className:"es-btn-ghost",title:"Refresh the preview (reloads the canvas, keeps your place)",onClick:ds,children:"Refresh"}),Dr&&te&&p("a",{className:"es-btn-ghost",href:ts,target:"_blank",rel:"noopener noreferrer",title:"Preview the live site (opens in a new tab)","aria-label":"Preview the live site in a new tab",children:["Preview",r(Ms,{size:15})]}),r("button",{type:"button",className:"es-btn-primary",onClick:()=>{Cr(F.data)},children:Nr?"Publish":"Save"})]})]}),r(Ks,{}),p("div",{className:"sf-body",children:[P?p(E,{children:[r("div",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:_?r(Xs,{blocks:w&&w.zone!==u&&!ne(w.zone)?ze(w.zone):Xo,blocksOnly:!!(w&&w.zone!==u&&!ne(w.zone)),at:w?{label:hs(w),onClear:()=>de(null)}:void 0,onAdd:gs,itemFor:e=>({id:`new:${e.kind}:${e.kind==="template"?e.template.id:e.type}`,zone:"",index:-1,type:e.kind==="template"?e.template.node.type:e.type,add:e}),session:gn,siteWide:Gt?{chatEnabled:Hr.enabled,onToggleChat:e=>Vr({enabled:e}),onOpenChat:()=>{Tt(),Zt()}}:void 0,onClose:Tt,onHide:Se,readOnly:!!D}):X&&Ge?r(lr,{panel:Ge,pick:X,onHide:Se}):Ie==="pages"?r(ei,{activeSurface:Fr,onPreviewSurface:Vn,onNavigate:e=>{Vn(null),Bn(lt?{kind:"template",id:lt,pageSlug:e}:{kind:"page",slug:e,siteId:q??void 0})},onClose:Se}):Ie==="styles"?r(ni,{tokenRef:Pr,siteId:q??void 0,onClose:Se,onNotify:Le,tab:Mr,onTabChange:Fn}):Ie==="media"&&Ge?r(lr,{panel:Ge,pick:null,onHide:Se}):p(E,{children:[r(Ws,{icon:r(Jo,{}),title:"Layers",context:`/${te}`,actions:pe.length>0?r(Bs,{label:fn?"Expand all sections":"Collapse all sections",onClick:ys,children:r(Ml,{expand:fn})}):void 0,onHide:Se}),p(Os,{className:"sf-tree sf-scroll",children:[r(R,{icon:r(se,{type:"page",size:13}),name:"Page settings",onSelect:ko,selected:!x&&jt,rowProps:{onClick:O(ko)}}),Mo&&p(E,{children:[r(Bt,{children:"Header"}),jo(Mo)]}),!V&&We&&p(E,{children:[r(Bt,{children:"Header"}),r(R,{icon:r(se,{type:"header",size:13}),name:"Header",onSelect:vo,selected:Z.kind==="header",rowProps:{onClick:O(vo)}})]}),!V&&p(Bt,{children:["Template \xB7 ",Rr?"Home page":"Template"]}),g.map((e,t)=>{if(e.type===xe||e.type===A||_t(e.type))return null;const n=Be===String(e.props.id),o=!!e.props._hidden,s=we(e),i=String(e.props.id),c=e.type==="ContactLocations",a=Lt(e)||c,l=a&&Ee(i),{rowProps:f,...m}=Fe.row({item:{id:i,zone:u,index:t,type:e.type},place:{...Pe(u),index:t}},{"data-node-id":i,onClick:O(()=>ve(t))});return p(Ve,{children:[t>0&&Ro(t),r(R,{icon:r(se,{type:e.type,size:13}),name:Xe(e),onSelect:()=>ve(t),selected:n,hidden:o,...m,fold:a?{open:!l,label:"section",onToggle:()=>ye(i)}:void 0,actions:p(E,{children:[It(u,t,Xe(e)),Et(u,t,e,Xe(e))]}),rowProps:f}),Lt(e)&&!l&&p(ue,{children:[yn(e,1),e.type==="Hero"&&r(R,{icon:r(se,{type:"ticker",size:13}),name:vi,onSelect:()=>ht(i),selected:qt===i,rowProps:{onClick:O(()=>ht(i))}})]}),c&&!l&&r(ue,{children:Ps(e,t)})]},String(e.props.id??t))}),!V&&Fo>0&&Ro(Fo),We&&r(Bt,{children:"Footer"}),U&&(()=>{const e=String(U.props.id),t=we(U).length>0||!!ee(U.type),n=t&&Ee(e);return p(E,{children:[r(R,{icon:r(se,{type:"footer",size:13}),name:"Footer",onSelect:()=>ve(Me),selected:Be===String(U.props.id),fold:t?{open:!n,label:"section",onToggle:()=>ye(e)}:void 0,rowProps:{onClick:O(()=>ve(Me))}}),t&&!n&&r(ue,{children:qo(U,1)})]})})(),!V&&!U&&We&&r(R,{icon:r(se,{type:"footer",size:13}),name:"Footer",onSelect:No,rowProps:{onClick:O(No),title:"Edit the site footer"}}),zo&&jo(zo),r("div",{className:"sf-tree-tool",children:r(di,{})})]})]})}),r(tr,{side:"left",width:De.left,min:ar,max:cr,defaultWidth:Ne.left,label:"Resize Sections panel",onResize:Yr})]}):r(rr,{side:"left",onShow:Se}),r("div",{ref:je,className:"sf-center sf-scroll",style:{overflowX:Zr?"auto":"hidden",overflowY:"hidden"},children:r("div",{className:"sf-frame-scaler",style:Jr,children:r("div",{className:`sf-frame ${Te==="desktop"?"":`sf-frame--${Te}`}`,style:Qr,children:p("div",{className:"sf-preview-host",children:[r(Nl,{},Hn),r(bl,{canvas:ae,session:gn,model:bs,canDrop:hn,onDrop:Go,onPick:xs,onZoneAdd:e=>Ct(le(e),0),readOnly:!!D,revision:F.data}),Gn.length>0&&r("div",{className:"sf-preview-gaps","aria-hidden":"true",children:Gn.map(e=>p("button",{type:"button",tabIndex:-1,className:"sf-preview-gap",style:{top:e.top},title:"Add section here",onClick:()=>Je(e.index),children:[r("span",{className:"sf-preview-gap-line"}),p("span",{className:"sf-preview-gap-pill",children:[r("span",{className:"sf-preview-gap-plus",children:"+"}),r("span",{className:"sf-preview-gap-label",children:"Add section"})]})]},e.index))})]})})})}),Ce?p(E,{children:[r(mi,{value:{selectChild:Qe,addChild:$e,childRowName:wt,blockRowName:Ho},children:r(ui,{mode:Z,onOpenWebsiteSettings:wo,onOpenSiteStyles:()=>{Fn(ri),pt("styles")},onSelectNode:Ur,onNotify:Le,onHidePanel:So})}),r(tr,{side:"right",width:De.right,min:ar,max:cr,defaultWidth:Ne.right,label:"Resize settings panel",onResize:jr})]}):r(rr,{side:"right",onShow:So})]}),St&&p("div",{className:`sf-toast ${St.tone==="error"?"sf-toast--error":""}`,role:"status",children:[r("span",{className:"sf-toast-check","aria-hidden":"true",children:St.tone==="error"?"!":"\u2713"}),St.msg]},qr),Io.menu]})})})}export{Fl as default};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BlogPostRow, LinkTargetPage } from "../lib/web-backend.js";
|
|
2
|
+
export declare const loadPages: (key?: string) => Promise<LinkTargetPage[]>;
|
|
3
|
+
export declare const loadPosts: (key?: string) => Promise<BlogPostRow[]>;
|
|
4
|
+
interface Props {
|
|
5
|
+
value?: string;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
label?: string;
|
|
8
|
+
}
|
|
9
|
+
export default function StorefrontLinkField({ value, onChange, label }: Props): import("react").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as m}from"react/jsx-runtime";import{SettingsField as Q}from"efficient-easel/panel";import{LinkIcon as U}from"efficient-easel/icons";import{useEffect as O,useRef as V,useState as g}from"react";import{getEditorToken as W}from"../lib/editor-auth.js";import{backendOf as R,currentEditorSession as X}from"../lib/editor-session.js";import{useStorefrontDocument as Y}from"./StorefrontDocumentContext.js";import{anchorPath as T,inferKind as Z,linkKindsFor as ee,pageAnchors as te,pagePath as j,postPath as ne}from"../lib/links/page-link-rules.js";import{useEditorSession as oe}from"../lib/editor-session-context.js";import{isSystemPageSlug as se}from"../lib/content/subscribe.js";function E(a){const n=new Map;return(r="")=>{const t=W(),l=n.get(r);if(!l||l.token===null&&t!==null){const p=t||!X().usesBridgedToken?a(t??"",r).catch(()=>[]):Promise.resolve([]);return n.set(r,{promise:p,token:t}),p}return l.promise}}const ae=E(async(a,n)=>{const r=n?{siteId:n}:void 0,{pages:t}=R();return t.linkTargets?t.linkTargets(r):(await t.list(r)).map(l=>({id:l.id,slug:l.slug,label:l.label,layout:null}))}),le=E(async(a,n)=>await R().blog?.posts(n?{siteId:n}:void 0)??[]);function k(a,n){return a&&!n.some(r=>r.value===a)?[{value:a,label:`${a} (unavailable)`},...n]:n}function re({value:a,onChange:n,label:r="Link"}){const t=typeof a=="string"?a:"",{siteId:l,capabilities:p}=Y(),{offersCommerce:d,hasBlog:f}=p,S=ee({offersCommerce:d,offersService:f}),[h,F]=g([]),[_,$]=g([]),[C,K]=g([]),P=oe().chrome,x=P?.products?.list,B=P?.linkRow,[M,N]=g(null),u=V(!0);O(()=>(u.current=!0,()=>{u.current=!1}),[]),O(()=>{let e=!0;return ae(l??void 0).then(o=>e&&u.current&&F(o)),f&&le(l??void 0).then(o=>e&&u.current&&$(o)),d&&x?.().then(o=>e&&u.current&&K(o)),()=>{e=!1}},[l,d,f,x]);const A=h.map(e=>j(e.slug)),y=M??Z(t,A),i=S.some(e=>e.value===y)?y:"custom",L=d&&i==="page"?B:void 0,D=e=>{N(e),e!=="custom"&&n("")},w=h.filter(e=>!se(e.slug)),G=k(t,w.map(e=>({value:j(e.slug),label:e.label}))),H=k(t,_.map(e=>({value:ne(e.slug),label:e.title||e.slug}))),q=k(t,C.map(e=>({value:e.href,label:e.name}))),v=(e,o)=>m("select",{value:t,onChange:c=>n(c.target.value),children:[s("option",{value:"",children:o}),e.map((c,J)=>s("option",{value:c.value,children:c.label},`${c.value}:${J}`))]}),b=w.map(e=>({page:e,anchors:te(e.layout)})).filter(e=>e.anchors.length>0),z=b.flatMap(e=>e.anchors.map(o=>T(e.page.slug,o.slug))),I=m("select",{value:t,onChange:e=>n(e.target.value),children:[s("option",{value:"",children:b.length?"Select a section\u2026":"No section anchors yet"}),t&&!z.includes(t)&&s("option",{value:t,children:`${t} (unavailable)`}),b.map(e=>s("optgroup",{label:e.page.label,children:e.anchors.map(o=>{const c=T(e.page.slug,o.slug);return s("option",{value:c,children:o.name},c)})},e.page.id))]});return m("div",{children:[s(Q,{label:r,icon:s(U,{}),children:m("div",{className:"sf-linkstack",children:[s("select",{"aria-label":"Link type",value:i,onChange:e=>D(e.target.value),children:S.map(e=>s("option",{value:e.value,children:e.label},e.value))}),i==="page"&&v(G,"Select a page\u2026"),i==="anchor"&&I,i==="blog"&&v(H,"Select a blog post\u2026"),i==="product"&&v(q,"Select a product\u2026"),i==="custom"&&s("input",{type:"text",value:t,placeholder:"Link (e.g. /wheels or https://\u2026)",onChange:e=>n(e.target.value)})]})}),L&&s(L,{value:t,onChange:n,pages:h})]})}export{re as default,ae as loadPages,le as loadPosts};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
interface Props {
|
|
3
|
+
tokenRef: RefObject<string | null>;
|
|
4
|
+
onNotify?: (msg: string, tone?: "success" | "error") => void;
|
|
5
|
+
siteId?: string;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
tab?: string;
|
|
8
|
+
onTabChange?: (id: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export default function StylesPanel({ tokenRef, siteId, onClose, onNotify, tab, onTabChange, }: Props): import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import m,{useWebsiteName as c}from"./WebsiteSettingsPanel.js";import d from"./SidePanelHead.js";import{StylesIcon as f}from"efficient-easel/rail";function S({tokenRef:s,siteId:i,onClose:n,onNotify:o,tab:l,onTabChange:a}){const t=c();return r("div",{className:"sf-styles",children:[e(d,{icon:e(f,{}),title:"Site styles",context:e("span",{title:`${t} \u2014 renamed in the Console: Storefront \u25B8 Sites \u25B8 Settings.`,children:t}),onHide:n}),e("div",{className:"sf-insp-body sf-scroll",children:e(m,{tokenRef:s,siteId:i,onNotify:o,tab:l,onTabChange:a})})]})}export{S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function SwitchToBoxFooter(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useState as d}from"react";import{createNode as b,newId as w}from"efficient-easel/data";import{useEasel as x}from"efficient-easel/easel";import{useStorefrontDocument as g}from"./StorefrontDocumentContext.js";import{boxFooterFromFooter as k}from"../lib/puck/box-footer.js";import{FOOTER_TYPE as y}from"../lib/puck/footer-blocks.js";import{SITE_FOOTER_TYPE as i,withSectionGroup as N}from"../lib/puck/section-groups.js";function S(){const{appState:c,dispatch:a,config:l}=x(t=>t),{readOnly:m}=g(),[f,s]=d(!1),n=c.data.content;if(m||n.some(t=>t.type===i))return null;const u=n.find(t=>t.type===y)??null,p=(t,o)=>b(l,t,o),h=()=>{const t=k(u,p,w(i));a({type:"setData",data:o=>({...o,content:[...N(o.content,t)]}),recordHistory:!0}),s(!1)};return r("div",{className:"sf-box-footer-switch",children:[e("p",{className:"sf-box-footer-switch-text",children:"Build this footer out of Boxes and blocks, like a page: the same menus, signup, social links and logo, with the copyright as a Legal Line. Your current footer is kept."}),f?r("div",{className:"sf-box-footer-switch-row",children:[e("button",{type:"button",className:"es-btn-primary",onClick:h,children:"Switch now"}),e("button",{type:"button",className:"es-btn-ghost",onClick:()=>s(!1),children:"Cancel"})]}):e("button",{type:"button",className:"es-btn-ghost",onClick:()=>s(!0),children:"Switch to Box footer"})]})}export{S as default};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const TEMPLATE_GLYPH_PATH = "M6 3h12a1 1 0 0 1 1 1v17l-7-4-7 4V4a1 1 0 0 1 1-1z";
|
|
2
|
+
export default function TemplateGlyph({ size, className, strokeWidth, }: {
|
|
3
|
+
size?: number;
|
|
4
|
+
className?: string;
|
|
5
|
+
strokeWidth?: number;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";const n="M6 3h12a1 1 0 0 1 1 1v17l-7-4-7 4V4a1 1 0 0 1 1-1z";function a({size:e=15,className:r,strokeWidth:t=1.7}){return o("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round",className:r,"aria-hidden":"true",focusable:"false",children:o("path",{d:n})})}export{n as TEMPLATE_GLYPH_PATH,a as default};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SectionEyebrowLook } from "../lib/sections/section-eyebrow-look.js";
|
|
2
|
+
export interface Testimonial {
|
|
3
|
+
quote?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
role?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TestimonialsProps {
|
|
8
|
+
eyebrow?: string;
|
|
9
|
+
look?: SectionEyebrowLook;
|
|
10
|
+
title?: string;
|
|
11
|
+
items?: Testimonial[];
|
|
12
|
+
columns?: number;
|
|
13
|
+
omitHead?: boolean;
|
|
14
|
+
editing?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export default function Testimonials({ look, eyebrow, title, items, columns, omitHead, editing, }?: TestimonialsProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,Fragment as f,jsxs as a}from"react/jsx-runtime";import u from"./SectionEyebrow.js";import{renderGold as v,renderHeadline as b,splitParagraphs as N}from"./goldPhrases.js";const z="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",M="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function _({look:x,eyebrow:r,title:i,items:p,columns:d,omitHead:n=!1,editing:m=!1}={}){const o=Math.min(3,Math.max(1,d??3)),s=(p??[]).filter(t=>m||(t.quote??"").trim()),c=!!(r??"").trim()||!!(i??"").trim();return!m&&!c&&s.length===0?null:e("section",{className:"relative z-[2] border-t border-line bg-surface",children:a("div",{className:n?M:z,children:[n?null:a(f,{children:[(r??"").trim()&&e(u,{text:r??"",look:x,className:"mb-4 block"}),(i??"").trim()&&e("h2",{className:"mb-11 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:b(i??"",!1)})]}),s.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(--tm-cols),minmax(0,1fr))]",style:{"--tm-cols":String(o)},children:s.map((t,g)=>a("figure",{className:"flex flex-col gap-5 bg-bg p-9 max-[800px]:p-7",children:[e("span",{"aria-hidden":!0,className:"font-heading2 text-[length:var(--size-headingMedium,46px)] leading-none text-accent",children:"\u201C"}),e("blockquote",{className:"flex-1 text-[length:var(--size-body,16px)] leading-[1.6] text-fg-dim",children:N((t.quote??"").trim()||"A short customer quote goes here.").map((h,l)=>e("p",{className:l?"mt-3":"",children:v(h)},l))}),a("figcaption",{className:"border-t border-line pt-[18px]",children:[e("div",{className:"font-display text-[length:var(--size-body,15px)] font-medium uppercase tracking-[0.04em] text-fg",children:(t.name??"").trim()||"Customer name"}),(t.role??"").trim()&&e("div",{className:"mt-1 text-[length:var(--size-body,12px)] text-fg-dim",children:t.role})]})]},g))})]})})}export{_ as default};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type Align = "left" | "center" | "right";
|
|
2
|
+
type Tone = "default" | "dim";
|
|
3
|
+
interface TextProps {
|
|
4
|
+
text: string;
|
|
5
|
+
align: Align;
|
|
6
|
+
tone: Tone;
|
|
7
|
+
contained: boolean;
|
|
8
|
+
hero?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default function Text({ text, align, tone, contained, hero }: TextProps): import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import p from"./BlockFrame.js";import{renderGold as a,splitParagraphs as m}from"./goldPhrases.js";const c={left:"text-left",center:"text-center mx-auto",right:"text-right ml-auto"},d="max-w-[380px] text-[length:var(--size-body,15px)] leading-[1.5] opacity-80 max-[800px]:text-[length:var(--size-body,14px)]",f={default:"text-fg",dim:"text-fg-dim"};function g({text:e,align:r,tone:i,contained:l,hero:n=!1}){if(n)return t("p",{className:d,children:a(e)});const s=`max-w-[680px] whitespace-pre-line text-[length:var(--size-body,17px)] leading-[1.7] ${c[r]} ${f[i]}`;return t(p,{contained:l,className:"py-4",children:m(e).map((o,x)=>t("p",{className:s,children:a(o)},x))})}export{g as default};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
export interface TextStyleRowProps {
|
|
3
|
+
styleKey: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
value?: ReactNode;
|
|
7
|
+
sampleStyle: CSSProperties;
|
|
8
|
+
open: boolean;
|
|
9
|
+
onToggle: () => void;
|
|
10
|
+
saved?: boolean;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export default function TextStyleRow({ styleKey, label, icon, value, sampleStyle, open, onToggle, saved, children, }: TextStyleRowProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as l}from"react/jsx-runtime";import{ChevronIcon as f}from"efficient-easel/icons";function h({styleKey:i,label:a,icon:t,value:s,sampleStyle:r,open:n,onToggle:d,saved:o=!1,children:c}){return l("div",{"data-sf-style-row":i,className:`sf-style-row${n?" is-open":""}`,children:[l("button",{type:"button",className:"sf-style-head","aria-expanded":n,onClick:d,children:[e("span",{className:"sf-style-caret","aria-hidden":"true",children:e(f,{size:13})}),t?e("span",{className:"es-field-icon",children:t}):null,e("span",{className:"sf-style-name",children:a}),s!=null?e("span",{className:"sf-style-sample",style:r,title:typeof s=="string"?s:void 0,children:s}):null,e("span",{className:`sf-style-slot${o?" is-saved":""}`,children:e(m,{})})]}),n&&e("div",{className:"sf-style-body",children:c})]})}function m(){return e("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e("polyline",{points:"20 6 9 17 4 12"})})}export{h as default};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type FontRole, type FontsValue } from "../lib/fonts.js";
|
|
2
|
+
import { type SizeStep, type HeadingCompression, type ResolvedHeadingTypography, type SizesValue } from "../lib/theme.js";
|
|
3
|
+
export interface TextStylesFieldProps {
|
|
4
|
+
fonts: FontsValue;
|
|
5
|
+
sizes: SizesValue;
|
|
6
|
+
compression: HeadingCompression;
|
|
7
|
+
headingTypography: ResolvedHeadingTypography;
|
|
8
|
+
openRole: string | null;
|
|
9
|
+
onOpenRole: (key: string | null) => void;
|
|
10
|
+
onFontChange: (role: FontRole, key: string) => void;
|
|
11
|
+
onSizeChange?: (step: SizeStep, v: number | null) => void;
|
|
12
|
+
onCompressionChange: (v: HeadingCompression) => void;
|
|
13
|
+
onHeadingTypographyChange: (v: ResolvedHeadingTypography) => void;
|
|
14
|
+
livePx?: (role: FontRole) => number | null;
|
|
15
|
+
savedRole?: string | null;
|
|
16
|
+
}
|
|
17
|
+
export default function TextStylesField({ fonts, compression, headingTypography, openRole, onOpenRole, onFontChange, sizes, onSizeChange, onCompressionChange, onHeadingTypographyChange, livePx, savedRole, }: TextStylesFieldProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as I,Fragment as T}from"react/jsx-runtime";import{SettingsField as v}from"efficient-easel/panel";import{AccentIcon as G,CaseIcon as M,StylesIcon as D,TextLinesIcon as C,TextSizeIcon as m,TextSmallIcon as X,TypeIcon as B,WeightIcon as $}from"efficient-easel/icons";import{PartResetDot as x}from"./PartSettingsPanel.js";import W from"./TextStyleRow.js";import{DEFAULT_FONTS as L,FONT_CATEGORY_LABELS as k,fontItalicIsUsable as R,fontOption as E,fontsByCategory as z,isHeadingRole as p}from"../lib/fonts.js";import{compressionMetrics as K,DEFAULT_HEADING_COMPRESSION as H,HEADING_MAX_PX_MAX as j,HEADING_MAX_PX_MIN as Z,HEADING_WEIGHT_MAX as U,HEADING_WEIGHT_MIN as V,TEXT_SIZE_MAX as Y,TEXT_SIZE_MIN as q,SIZE_STEPS as O,TEXT_SIZE_STEP as J}from"../lib/theme.js";const Q=[{role:"heading",title:"Heading 1",group:"heading",step:"headingLarge",base:17,icon:t(m,{})},{role:"heading2",title:"Heading 2",group:"heading",step:"headingMedium",base:15,icon:t(m,{})},{role:"heading3",title:"Heading 3",group:"heading",step:"headingSmall",base:13,icon:t(m,{})},{role:"accent",title:"Accent",step:"accent",base:15,icon:t(G,{})},{role:"body",title:"Body",group:"body",step:"body",base:14,icon:t(C,{})},{role:"label",title:"Labels",group:"label",step:"label",base:11,icon:t(X,{})}];function Ie(l){return l==="heading"?O.filter(s=>s.startsWith("heading")):O.filter(s=>s===l)}const w=9,f=500,ee=100,te=80,le=4,ne=600,ae=700,ie=400,se="0.18em";function oe({id:l,value:s,onChange:n}){return t("select",{id:l,className:"sf-select w-full min-w-0",value:s,onChange:i=>n(i.target.value),style:{fontFamily:`var(${E(s)?.cssVar??"--font-body"})`},children:z().map(([i,c])=>t("optgroup",{label:k[i],children:c.map(a=>t("option",{value:a.key,children:a.label},a.key))},i))})}function ce({label:l,icon:s,readout:n,min:i,max:c,step:a,value:u,onChange:o,action:h,hint:d}){return t(v,{label:l,icon:s,value:n,action:h,hint:d,children:t("input",{type:"range",min:i,max:c,step:a,value:u,onChange:g=>o(Number(g.target.value)),className:"h-1 w-full cursor-pointer","aria-label":l})})}function y({label:l,icon:s,value:n,fallback:i,min:c,max:a,step:u,suffix:o="",hint:h,onChange:d}){const g=n===null;return t(ce,{label:l,icon:s,readout:g?"Auto":`${n}${o}`,min:c,max:a,step:u,value:g?i:n,onChange:d,action:g?null:t(x,{label:l,what:"change",onClear:()=>d(null)}),hint:h})}function P({label:l,icon:s,options:n,value:i,onChange:c,hint:a,action:u}){return t(v,{label:l,icon:s,value:n.find(o=>o.value===i)?.label,hint:a,action:u,children:t("div",{className:"sf-rungs",children:n.map(o=>t("button",{type:"button","aria-pressed":o.value===i,onClick:()=>c(o.value),className:`sf-rung${o.value===i?" is-active":""}`,children:o.label},o.value))})})}const re=[{value:"authored",label:"As designed"},{value:"sentence",label:"As typed"}],ue=[{value:"normal",label:"Normal"},{value:"tight",label:"Tight"},{value:"compressed",label:"Compressed"}];function he({fontKey:l,weight:s,fallbackWeight:n,onWeight:i}){const a=(s??n)>=ne,u=R(l),o=E(l)?.label??"This face";return t(v,{label:"Style",icon:t(D,{}),value:a?"Bold":"Normal",hint:"Bold is the weight above \u2014 one value, two ways to set it.",children:I("div",{className:"sf-rungs",children:[t("button",{type:"button","aria-pressed":a,"aria-label":"Bold",title:"Bold",onClick:()=>i(a?ie:ae),className:`sf-rung sf-rung--glyph${a?" is-active":""}`,style:{fontWeight:700},children:"B"}),t("button",{type:"button","aria-pressed":!1,"aria-label":"Italic",disabled:!0,title:u?"Italic is not saved yet \u2014 the theme row has no column for it (card 66162.b).":`${o} is loaded without an italic, so it cannot be set in italic. Slanting it would deform the letters rather than style them.`,className:"sf-rung sf-rung--glyph",style:{fontStyle:"italic"},children:"I"})]})})}function de({fonts:l,compression:s,headingTypography:n,openRole:i,onOpenRole:c,onFontChange:a,sizes:u,onSizeChange:o,onCompressionChange:h,onHeadingTypographyChange:d,livePx:g,savedRole:F=null}){const b=e=>d({...n,...e}),S=e=>e==="accent"?"weightStrong":e==="heading2"?"weight2":e==="heading3"?"weight3":"weight",_=e=>e==="heading2"?"case2":e==="heading3"?"case3":"case",A=K(s);return t("div",{className:"sf-style-list",children:Q.map(e=>{const N=i===e.role;return t(W,{styleKey:e.role,label:e.title,icon:e.icon,value:E(l[e.role])?.label??l[e.role],sampleStyle:ge(e,l,n,A),open:N,onToggle:()=>c(N?null:e.role),saved:F===e.role,children:N&&I(T,{children:[t(v,{label:"Font",icon:t(B,{}),htmlFor:`sf-font-${e.role}`,action:l[e.role]===L[e.role]?null:t(x,{label:"Font",what:"change",onClear:()=>a(e.role,L[e.role])}),children:t(oe,{id:`sf-font-${e.role}`,value:l[e.role],onChange:r=>a(e.role,r)})}),e.step&&o&&t(y,{label:"Size",icon:t(m,{}),value:u[e.step],fallback:e.base*2,min:q,max:Y,step:J,suffix:"px",hint:u[e.step]===null?"Auto = this style states no size, and text following it keeps the size its section drew.":"The size a text takes when you set it to follow this style. Sections keep their own sizes.",onChange:r=>o(e.step,r)}),(p(e.role)||e.role==="accent")&&I(T,{children:[t(y,{label:"Weight",icon:t($,{}),value:n[S(e.role)],fallback:p(e.role)?f:n.weight??f,min:V,max:U,step:ee,hint:e.role==="accent"?"Auto = the accent phrase takes the heading's own weight.":void 0,onChange:r=>b({[S(e.role)]:r})}),t(he,{fontKey:l[e.role],weight:n[S(e.role)],fallbackWeight:p(e.role)?f:n.weight??f,onWeight:r=>b({[S(e.role)]:r})})]}),p(e.role)&&I(T,{children:[t(P,{label:"Line & text gap",icon:t(C,{}),options:ue,value:s,onChange:h,hint:A.lineHeight===void 0?"The built-in spacing.":`Line gap ${A.lineHeight} \xB7 text gap ${A.letterSpacing}em.`,action:s===H?null:t(x,{label:"Line & text gap",what:"change",onClear:()=>h(H)})}),t(P,{label:"Capitals",icon:t(M,{}),options:re,value:n[_(e.role)],onChange:r=>b({[_(e.role)]:r}),hint:"The only setting that changes a heading's capitals.",action:n[_(e.role)]==="authored"?null:t(x,{label:"Capitals",what:"change",onClear:()=>b({[_(e.role)]:"authored"})})}),t(y,{label:"Largest size",icon:t(m,{}),value:n.maxPx,fallback:te,min:Z,max:j,step:le,suffix:"px",hint:"Caps the biggest heading on the site. Auto = each section's own.",onChange:r=>b({maxPx:r})})]})]})},e.role)})})}function ge(l,s,n,i){const c=Math.max(w,l.base),a={fontFamily:`var(${E(s[l.role])?.cssVar??"--font-body"})`,fontSize:`${c.toFixed(1)}px`,lineHeight:1.15};return p(l.role)?(a.fontWeight=n.weight??f,a.textTransform=n.case==="sentence"?"none":"uppercase",i.letterSpacing!==void 0&&(a.letterSpacing=`${i.letterSpacing}em`)):l.role==="accent"?(a.fontWeight=n.weightStrong??n.weight??f,i.letterSpacing!==void 0&&(a.letterSpacing=`${i.letterSpacing}em`)):l.role==="label"&&(a.textTransform="uppercase",a.letterSpacing=se),a}export{de as default};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type ThemeColorKey, type ThemeColors } from "../lib/theme.js";
|
|
2
|
+
export declare const themeName: (index: number) => string;
|
|
3
|
+
export declare function ThemePreview({ colors }: {
|
|
4
|
+
colors: ThemeColors;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
export declare function ThemeColourRow({ label, colorKey, value, onChange, idPrefix, }: {
|
|
7
|
+
label: string;
|
|
8
|
+
colorKey: ThemeColorKey;
|
|
9
|
+
value: string;
|
|
10
|
+
onChange: (key: ThemeColorKey, color: string) => void;
|
|
11
|
+
idPrefix?: string;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
|
+
export declare function ThemeColourRows({ colors, onChange, idPrefix, }: {
|
|
14
|
+
colors: ThemeColors;
|
|
15
|
+
onChange: (next: ThemeColors) => void;
|
|
16
|
+
idPrefix?: string;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
export declare function ThemeCard({ index, colors, selected, role, open, editable, onPick, onEdit, onChangeColors, }: {
|
|
19
|
+
index: number;
|
|
20
|
+
colors: ThemeColors;
|
|
21
|
+
selected: boolean;
|
|
22
|
+
role?: "radio" | "option";
|
|
23
|
+
open?: boolean;
|
|
24
|
+
editable?: boolean;
|
|
25
|
+
onPick: () => void;
|
|
26
|
+
onEdit?: () => void;
|
|
27
|
+
onChangeColors?: (next: ThemeColors) => void;
|
|
28
|
+
}): import("react").JSX.Element;
|
|
29
|
+
export declare function ThemeCardTrigger({ colors, name, nameId, open, menuId, labelId, buttonRef, onClick, onKeyDown, onEdit, }: {
|
|
30
|
+
colors?: ThemeColors;
|
|
31
|
+
name: string;
|
|
32
|
+
nameId: string;
|
|
33
|
+
open: boolean;
|
|
34
|
+
menuId: string;
|
|
35
|
+
labelId: string;
|
|
36
|
+
buttonRef?: React.Ref<HTMLButtonElement>;
|
|
37
|
+
onClick: () => void;
|
|
38
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;
|
|
39
|
+
onEdit?: () => void;
|
|
40
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as l,Fragment as S}from"react/jsx-runtime";import{SettingsField as b,SettingsGroupSub as F}from"efficient-easel/panel";import _ from"./ThemeColourField.js";import{ColourControl as f}from"../lib/puck/ColourControl.js";import{ButtonIcon as L,GroundIcon as O,LayoutIcon as A,SquareIcon as D,TextSmallIcon as j,TypeIcon as C}from"efficient-easel/icons";import{DEFAULT_THEMES as x,GRADE_LABEL as B,contrastRatio as $,gradeContrast as I,normalizeThemeColors as p,resolvedButtonInk as T,themeButtonColour as v,themeButtonInk as P}from"../lib/theme.js";const w=t=>`Theme ${t+1}`;function E({colors:t}){const n=p(t),a=v(t)??n.accent;return l("span",{className:"sf-theme-page",style:{background:n.background,color:n.text},"aria-hidden":!0,children:[e("span",{className:"sf-theme-eyebrow",style:{color:n.muted},children:"label"}),l("span",{className:"sf-theme-headline",children:["Heading ",e("span",{style:{color:n.accent},children:"accent"})]}),e("span",{className:"sf-theme-body",children:"body text"}),l("span",{className:"sf-theme-row",children:[e("span",{className:"sf-theme-btn",style:{background:a,color:T(t,n.accent)},children:"button"}),e("span",{className:"sf-theme-mini",style:{background:n.surface,borderColor:n.line},children:"card"})]})]})}const k={"Text color":e(C,{}),"Label color":e(j,{}),Background:e(O,{}),"Panels & cards":e(A,{}),Borders:e(D,{}),"Button color":e(L,{}),"Button text color":e(C,{})};function G({label:t,colorKey:n,value:a,onChange:s,idPrefix:o="sf-theme-ink"}){const c=`${o}-${n}`;return e(b,{label:t,icon:k[t],htmlFor:c,action:e(f,{id:c,label:t,value:a,onChange:r=>s(n,r)})})}function H({value:t,accent:n,onChange:a,idPrefix:s="sf-theme-ink"}){const o=`${s}-button`,c=/^#[0-9a-fA-F]{6}$/.test(t??""),r=c?t:n;return e(b,{label:"Button color",icon:k["Button color"],htmlFor:o,action:e(f,{id:o,label:"Button color",value:r,caption:c?r:"Main",onChange:a})})}function M({colors:t,accent:n,onChange:a,idPrefix:s="sf-theme-ink"}){const o=`${s}-button-ink`,c=P(t),r=T(t,n),i=v(t)??n,u=I($(r,i)??0);return e(b,{label:"Button text color",icon:k["Button text color"],hint:c&&u!=="good"?`${B[u]} on the button`:void 0,htmlFor:o,action:e(f,{id:o,label:"Button text color",value:r,caption:c?r:"Auto",onChange:a})})}const J=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{group:"Surfaces"},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function U({colors:t,onChange:n,idPrefix:a}){const s=p(t);return e(S,{children:J.map(o=>"colour"in o?e(_,{value:t,onChange:n},"colour"):"group"in o?e(F,{title:o.group},o.group):"button"in o?e(H,{value:t.button,accent:s.accent,onChange:c=>n({...t,button:c}),idPrefix:a},"button"):"buttonInk"in o?e(M,{colors:t,accent:s.accent,onChange:c=>n({...t,buttonInk:c}),idPrefix:a},"buttonInk"):e(G,{label:o.label,colorKey:o.key,value:s[o.key],onChange:(c,r)=>n({...t,[c]:r}),idPrefix:a},o.key))})}function X({index:t,colors:n,selected:a,role:s="radio",open:o,editable:c=!0,onPick:r,onEdit:i,onChangeColors:u}){const d=p(n),m=w(t),h=t<x.length&&!n.brandInk?x[t]:null,g=I($(d.text,d.background)??0),y=h?JSON.stringify(n)!==JSON.stringify(h):!1,N=o!==void 0;return l("div",{className:`sf-theme-card${a?" is-selected":""}`,children:[e("button",{type:"button",role:s,"aria-checked":s==="radio"?a:void 0,"aria-selected":s==="option"?a:void 0,"aria-label":m,className:"sf-theme-pick",onClick:r,children:e(E,{colors:n})}),l("div",{className:"sf-theme-foot",children:[e("span",{className:"sf-theme-name",children:m}),g!=="good"&&e("span",{className:"sf-theme-warn",children:B[g]}),c&&i&&e("button",{type:"button",className:`sf-theme-edit${o?" is-open":""}`,"aria-expanded":N?o:void 0,"aria-controls":N?`sf-theme-colours-${t}`:void 0,"aria-label":`${o?"Done":"Edit"} ${m}`,onClick:i,children:o?"Done":"Edit"})]}),o&&l("div",{id:`sf-theme-colours-${t}`,className:"sf-theme-colours",children:[e(U,{colors:n,onChange:R=>u?.(R)}),h&&e("button",{type:"button",className:"sf-theme-reset",disabled:!y,onClick:()=>u?.({...h}),children:y?`Reset ${m} to the preset`:"Not changed"})]})]})}function Y({colors:t,name:n,nameId:a,open:s,menuId:o,labelId:c,buttonRef:r,onClick:i,onKeyDown:u,onEdit:d}){return l("div",{className:"sf-secttheme-btn",children:[e("button",{ref:r,type:"button",className:"sf-theme-pick","aria-expanded":s,"aria-controls":o,"aria-labelledby":`${c} ${a}`,onClick:i,onKeyDown:u,children:t?e(E,{colors:t}):e("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),l("div",{className:"sf-theme-foot",children:[e("span",{id:a,className:"sf-theme-name",children:n}),d&&e("button",{type:"button",className:"sf-theme-edit","aria-label":`Edit ${n}`,onClick:d,children:"Edit"}),e("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:e("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}export{X as ThemeCard,Y as ThemeCardTrigger,G as ThemeColourRow,U as ThemeColourRows,E as ThemePreview,w as themeName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as o,jsxs as d}from"react/jsx-runtime";import{SettingsField as f}from"efficient-easel/panel";import{AccentIcon as h}from"efficient-easel/icons";import{GRADE_LABEL as u,contrastRatio as i,darkerAccents as m,gradeContrast as g,normalizeThemeColors as p}from"../lib/theme.js";import{ColourControl as b}from"../lib/puck/ColourControl.js";function c(e){return p(e).background}function y(e){const r=i(e.accent,c(e));return r===null?null:{ratio:r,grade:g(r)}}function k(e){const r=c(e),t=i(e.accent,r);return t===null?[]:m(e.accent).filter(s=>{const a=i(s,r);return a!==null&&a>t&&g(a)==="good"})}const A={good:"Easy to read","large-only":u["large-only"],hard:u.hard};function C({value:e,onChange:r}){const t=y(e),s=t?.grade,a=t&&t.grade!=="good"?k(e):[];return o(f,{label:"Main color",icon:o(h,{}),hint:t?A[t.grade]:void 0,action:o(b,{value:e.accent,onChange:n=>r({...e,accent:n}),label:"Main color"}),children:a.length>0?o("div",{className:"w-full min-w-0",children:d("div",{className:"sf-readability",children:[o("p",{className:"sf-readability-advice",children:E(s,!0)}),o("div",{className:"sf-readability-suggestions",children:a.map(n=>{const l=i(n,c(e));return d("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>r({...e,accent:n}),title:`Use ${n.toUpperCase()}`,children:[o("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),l?`${l.toFixed(1)}:1`:n.toUpperCase()]},n)})})]})}):null})}function E(e,r){return e?e==="good"?"This color reads clearly on your pages.":r?"This color is hard to read on this theme's page. The buttons below are the same hue, darkened.":"This color is hard to read on your page background. Pick one further from it \u2014 lighter if your pages are dark, deeper if they are light.":"Pick a color to see how it reads."}export{C as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ThemeValue } from "../lib/theme.js";
|
|
2
|
+
export declare const RESET_COLOUR_LABEL = "Reset color";
|
|
3
|
+
export declare const CLEARED_THEME: ThemeValue;
|
|
4
|
+
export declare function commitClearedTheme(onChange: (v: ThemeValue) => void): void;
|
|
5
|
+
export default function ThemeField({ value, onChange, }: {
|
|
6
|
+
value?: ThemeValue;
|
|
7
|
+
onChange: (v: ThemeValue) => void;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as o,jsxs as i,Fragment as k}from"react/jsx-runtime";import{useState as d}from"react";import{SettingsField as R}from"efficient-easel/panel";import{iconOf as L,noGlyph as S}from"../lib/puck/controls.js";import{ThemeCard as j}from"./ThemeCard.js";import{PartResetDot as v}from"./PartResetDot.js";import{ClearColoursDialog as A}from"./ClearColoursDialog.js";import{BRAND_INKS as P,brandTheme as B,normalizeTheme as D,normalizeThemeColors as F,selectedThemeColors as G}from"../lib/theme.js";const I=S("the row's whole content is an action; the gutter names a subject and this row has none \u2014 the button's label is the name GG, 2026-09-23");function N(){return o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",children:o("path",{d:"M12 5v14M5 12h14"})})}const f="Reset color",O={selected:0,themes:[]};function M(l){l(O)}function y({value:l,onChange:s}){const c=l?.themes??[],u=c.length===0,t=D(l),[p,m]=d(!1),[g,a]=d(null),b=(e,n)=>{s({...t,themes:t.themes.map((r,_)=>_===e?n:r)})},T=G(t).accent,x=new Set(t.themes.map(e=>e.brandInk).filter(Boolean)),C=P.filter(e=>!x.has(e)).map(e=>B(T,e)),h=[...t.themes,...C],E=e=>{if(e<t.themes.length)return s({...t,selected:e});const n=[...t.themes,h[e]];s({...t,themes:n,selected:n.length-1})},w=()=>{const e=[...t.themes,{...F(t.themes[t.selected])}];s({...t,themes:e,selected:e.length-1}),a(e.length-1)};return i(k,{children:[u?null:o(R,{label:f,icon:L(I),labelId:"sf-theme-reset",action:o(v,{label:f,what:"change",onClear:()=>m(!0)})}),p&&o(A,{count:c.length,onCancel:()=>m(!1),onConfirm:()=>{m(!1),M(s)}}),o("div",{className:"sf-theme-list",role:"radiogroup","aria-label":"Theme",children:h.map((e,n)=>o(j,{index:n,colors:e,selected:n===t.selected,open:g===n&&n<t.themes.length,editable:n<t.themes.length,onPick:()=>E(n),onEdit:()=>a(r=>r===n?null:n),onChangeColors:r=>b(n,r)},n))}),i("button",{type:"button",onClick:w,className:"sf-theme-add",children:[o(N,{}),"Add new theme"]})]})}export{O as CLEARED_THEME,f as RESET_COLOUR_LABEL,M as commitClearedTheme,y as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type TickerSeparator, type TickerSize } from "../lib/sections/ticker-style.js";
|
|
2
|
+
import { type TickerScroll } from "../lib/sections/ticker-scroll.js";
|
|
3
|
+
export type TickerItem = string | {
|
|
4
|
+
text: string;
|
|
5
|
+
gold?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type TickerBackdrop = "themed-band" | "themed-section" | "dark-media";
|
|
8
|
+
interface Props {
|
|
9
|
+
items: TickerItem[];
|
|
10
|
+
separator?: TickerSeparator;
|
|
11
|
+
size?: TickerSize;
|
|
12
|
+
durationSec?: number;
|
|
13
|
+
scroll?: TickerScroll;
|
|
14
|
+
backdrop?: TickerBackdrop;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export default function Ticker({ items, separator, size, durationSec, scroll, backdrop, className, }: Props): import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as l}from"react/jsx-runtime";import{DEFAULT_TICKER_SEPARATOR as k,DEFAULT_TICKER_SIZE as w,SEPARATOR_GLYPH as L,parseTickerSeparator as N,parseTickerSize as b,separatorScaleClass as y,tickerTypeClass as j}from"../lib/sections/ticker-style.js";import{DEFAULT_TICKER_SCROLL as u,isVerticalScroll as v,parseTickerScroll as I,tickerAnimation as $}from"../lib/sections/ticker-scroll.js";import{renderGold as K}from"./goldPhrases.js";const D={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function F({items:o,separator:i=k,size:x=w,durationSec:m=50,scroll:d=u,backdrop:f="themed-band",className:g}){const t=b(x),n=I(d),r=N(i),h=`text-accent ${y(t,r)}`.trim(),c=L[r],T=c===""?a("span",{}):a("span",{className:h,children:c}),s=v(n),S=s?"inline-flex flex-col items-center gap-[60px] pb-[60px] max-[800px]:gap-8 max-[800px]:pb-8":"inline-flex items-center gap-[60px] pr-[60px] max-[800px]:gap-8 max-[800px]:pr-8",C=s?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",p=_=>a("span",{className:S,children:o.map((e,A)=>{const E=typeof e=="string"?e:e.text,R=typeof e=="object"&&e.gold;return l("span",{className:C,children:[a("span",{className:R?"text-accent":void 0,children:K(E)}),T]},A)})},_);return a("div",{className:`overflow-hidden ${g??""}`,children:l("div",{className:`flex ${s?"flex-col ":""}whitespace-nowrap ${j(t)} ${D[f]}`,style:{animation:$(n,m)},children:[p("a"),p("b")]})})}export{F as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TickerSeparator, TickerSize } from "../lib/sections/ticker-style.js";
|
|
2
|
+
import type { TickerScroll } from "../lib/sections/ticker-scroll.js";
|
|
3
|
+
export type TickerSectionItem = {
|
|
4
|
+
text?: string;
|
|
5
|
+
};
|
|
6
|
+
interface Props {
|
|
7
|
+
items?: TickerSectionItem[];
|
|
8
|
+
durationSec?: number;
|
|
9
|
+
tone?: "scrim" | "plain";
|
|
10
|
+
borders?: boolean;
|
|
11
|
+
size?: TickerSize;
|
|
12
|
+
separator?: TickerSeparator;
|
|
13
|
+
scroll?: TickerScroll;
|
|
14
|
+
join?: string;
|
|
15
|
+
editing?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export default function TickerSection({ items, durationSec, tone, borders, size, separator, scroll, join, editing, }: Props): import("react").JSX.Element | null;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import b from"./Ticker.js";import{TICKER_JOIN_BOX_CLASS as x,tickerJoinSide as S,tickerJoinStripClass as h}from"../lib/sections/ticker-join.js";const k="item";function v({items:s,durationSec:l=50,tone:c="scrim",borders:a=!0,size:d,separator:m,scroll:p,join:f,editing:u}){const r=(s??[]).map(n=>n?.text?.trim()?n.text:u?k:"").filter(Boolean);if(r.length===0)return null;const i=c!=="plain",e=S(f),o=t("div",{className:[e?`absolute inset-x-0 ${h(e)}`:"relative z-[2]","py-3.5 max-[800px]:py-3",i?"bg-bg":"",a?"border-y border-line":""].filter(Boolean).join(" "),children:t(b,{items:r,durationSec:l,size:d,separator:m,scroll:p,backdrop:i?"themed-band":"themed-section"})});return e?t("div",{className:x,children:o}):o}export{v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as a}from"react/jsx-runtime";import{useId as u,useMemo as T}from"react";import{useEasel as k}from"efficient-easel/easel";import{SettingsSwitch as I}from"efficient-easel/panel";import{DEFAULT_TICKER_ITEMS as x}from"./HeroSection.js";import{GroupLabel as b,TextListField as w,TICKER_ITEMS_ROW as l}from"../lib/puck/controls.js";const S="root:default-zone";function E({heroId:c}){const{appState:d,dispatch:p}=k(e=>e),r=d.data.content??[],o=r.findIndex(e=>e.props.id===c),t=o>=0?r[o]:null,m=t?t.props.showTicker??!0:!0,f=T(()=>{const e=t?.props.tickerItems;return Array.isArray(e)?e:x.map(h=>({text:h}))},[t]),i=u();if(!t)return s("div",{className:"sf-field",style:{color:"var(--sf-muted)",fontSize:12},children:"This ticker\u2019s hero is no longer on the page."});const n=e=>p({type:"replace",destinationZone:S,destinationIndex:o,data:{...t,props:{...t.props,...e}}});return a("div",{children:[s(b,{label:"Ticker"}),a("div",{className:"sf-field sf-field--row",children:[s("span",{id:i,className:"sf-field-label sf-field-label--inline",children:"Show ticker"}),s(I,{checked:m,onChange:e=>n({showTicker:e}),ariaLabelledBy:i})]}),s(w,{label:l.label,icon:l.icon,items:f,placeholder:"item",onChange:e=>n({tickerItems:e}),markup:!0})]})}export{E as default};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type TimelineLayout = "split" | "spine" | "alternating";
|
|
2
|
+
export interface TimelineEntry {
|
|
3
|
+
date?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
body?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TimelineProps {
|
|
8
|
+
layout?: TimelineLayout;
|
|
9
|
+
eyebrow?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
intro?: string;
|
|
12
|
+
imageSrc?: string;
|
|
13
|
+
imageCaption?: string;
|
|
14
|
+
imageMeta?: string;
|
|
15
|
+
cta?: {
|
|
16
|
+
text?: string;
|
|
17
|
+
href: string;
|
|
18
|
+
};
|
|
19
|
+
entries?: TimelineEntry[];
|
|
20
|
+
padTop?: number;
|
|
21
|
+
padBottom?: number;
|
|
22
|
+
editing?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export default function Timeline({ layout, eyebrow, title, intro, imageSrc, imageCaption, imageMeta, cta, entries, padTop, padBottom, editing, }?: TimelineProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,Fragment as v,jsxs as n}from"react/jsx-runtime";import{SiteLink as T}from"../lib/site-runtime.js";import{stripMarkup as C}from"../lib/markup.js";import F from"./Placeholder.js";import H from"./SectionEyebrow.js";import{renderGold as s,renderHeadline as N,splitParagraphs as L}from"./goldPhrases.js";function w({eyebrow:t,title:a,intro:i,center:r=!1}){return n(v,{children:[t&&e(H,{text:t,size:12}),a&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,76px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.94] tracking-[-0.03em] text-fg",children:N(a)}),i&&e("p",{className:["font-display text-[length:var(--size-body,14px)] leading-[1.6] text-fg-dim",r?"max-w-[520px]":"max-w-[360px]"].join(" "),children:s(i,!0)})]})}function z({cta:t,className:a=""}){return t?.text?n(T,{href:t.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4","font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg","transition-colors hover:border-accent hover:text-accent",a].join(" "),children:[s(t.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"\u2192"})]}):null}function y({src:t,caption:a,meta:i,aspectClass:r,editing:p,sizes:m="100vw",className:c=""}){return!t&&!p?null:n("figure",{className:["relative overflow-hidden border border-line bg-surface",r,c].join(" "),children:[e(F,{label:a||"Image",src:t,alt:C(a??""),sizes:m}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:"linear-gradient(180deg, transparent 55%, rgba(10,10,10,0.75) 100%)"}}),(a||i)&&n("figcaption",{className:"absolute inset-x-0 bottom-0 z-[1] flex items-center justify-between gap-3 px-4 py-3 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-overlay-fg/85",children:[e("span",{children:a?s(a):""}),i&&e("span",{className:"text-accent",children:s(i)})]})]})}function d({entry:t}){const a=L(t.body??"");return n(v,{children:[t.title&&e("h3",{className:"mb-3.5 font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium uppercase tracking-[-0.02em] text-fg max-[800px]:text-[length:var(--size-headingSmall,20px)]",children:N(t.title)}),a.length>0&&e("div",{className:"space-y-3.5 font-display text-[length:var(--size-body,17px)] leading-[1.6] max-[800px]:text-[length:var(--size-body,16px)]",children:a.map((i,r)=>e("p",{className:r===0?"text-fg":"text-fg-dim",children:s(i,!0)},r))})]})}const k={boxShadow:"0 0 0 4px var(--bg)"};function E({layout:t="split",eyebrow:a,title:i,intro:r,imageSrc:p,imageCaption:m,imageMeta:c,cta:g,entries:j,padTop:f,padBottom:h,editing:u}={}){const _=typeof f=="number"?f:120,S=typeof h=="number"?h:120,o=(j??[]).filter(l=>(l.date??"").trim()||(l.title??"").trim()||(l.body??"").trim());return e("section",{className:"relative z-[2] bg-bg",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:_,paddingBottom:S},children:t==="split"?n("div",{className:"grid grid-cols-[1fr_1.4fr] gap-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-12",children:[n("aside",{className:"sticky top-[120px] flex flex-col gap-6 self-start max-[1100px]:static",children:[e(w,{eyebrow:a,title:i,intro:r}),e(y,{src:p,caption:m,meta:c,aspectClass:"mt-1 aspect-[4/5]",sizes:"(max-width: 1100px) 100vw, 420px",editing:u}),e(z,{cta:g,className:"mt-2 self-start"})]}),e("ol",{className:"flex flex-col gap-12",children:o.map((l,x)=>n("li",{className:"grid grid-cols-[80px_1fr] items-start gap-6 max-[700px]:grid-cols-1 max-[700px]:gap-2",children:[e("span",{className:"pt-1.5 font-mono text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:"max-w-[640px]",children:e(d,{entry:l})})]},x))})]}):n("div",{children:[n("header",{className:"mx-auto flex max-w-[760px] flex-col items-center gap-6 text-center",children:[e(w,{eyebrow:a,title:i,intro:r,center:!0}),e(z,{cta:g})]}),e(y,{src:p,caption:m,meta:c,aspectClass:"mx-auto mt-12 aspect-[16/9] w-full max-w-[900px]",sizes:"(max-width: 900px) 100vw, 900px",editing:u}),t==="spine"?e("ol",{className:"relative mx-auto mt-16 max-w-[760px]",children:o.map((l,x)=>n("li",{className:"relative border-l border-line pb-12 pl-10 last:pb-0 max-[700px]:pl-8",children:[e("span",{className:"absolute left-[-5px] top-1.5 h-2.5 w-2.5 rounded-full bg-accent",style:k}),e("div",{className:"mb-2 font-mono text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:"max-w-[640px]",children:e(d,{entry:l})})]},x))}):n("ol",{className:"relative mx-auto mt-16 max-w-[1000px]",children:[e("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px bg-line left-[7px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2"}),o.map((l,x)=>{const b=x%2===0;return n("li",{className:"relative mb-14 pl-8 last:mb-0 min-[801px]:grid min-[801px]:grid-cols-2 min-[801px]:gap-16 min-[801px]:pl-0",children:[e("span",{className:"absolute top-1.5 h-2.5 w-2.5 rounded-full bg-accent left-[2px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2",style:k}),n("div",{className:b?"min-[801px]:col-start-1 min-[801px]:pr-8 min-[801px]:text-right":"min-[801px]:col-start-2 min-[801px]:pl-8",children:[e("div",{className:"mb-2 font-mono text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:["max-w-[520px] max-[800px]:max-w-none",b?"min-[801px]:ml-auto":""].join(" "),children:e(d,{entry:l})})]})]},x)})]})]})})})}export{E as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface TimelineTrackEntry {
|
|
2
|
+
date?: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
blurb?: string;
|
|
5
|
+
future?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface TimelineTrackProps {
|
|
8
|
+
eyebrow?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
intro?: string;
|
|
11
|
+
entries?: TimelineTrackEntry[];
|
|
12
|
+
cta?: {
|
|
13
|
+
text?: string;
|
|
14
|
+
href: string;
|
|
15
|
+
};
|
|
16
|
+
padTop?: number;
|
|
17
|
+
padBottom?: number;
|
|
18
|
+
background?: string;
|
|
19
|
+
editing?: boolean;
|
|
20
|
+
omitHead?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export default function TimelineTrack({ eyebrow, title, intro, entries, cta, padTop, padBottom, background, editing, omitHead, }?: TimelineTrackProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as w}from"../lib/site-runtime.js";import z from"./EditorialSectionHead.js";import c from"./PartStyledText.js";import{withRMark as l}from"./RMark.js";import{renderGold as f,renderHeadline as S}from"./goldPhrases.js";function B({eyebrow:g,title:o,intro:p,entries:u,cta:n,padTop:x,padBottom:s,background:b,editing:h,omitHead:d=!1}={}){const v=typeof x=="number"?x:120,N=typeof s=="number"?s:120,m=b??"var(--section-bg)",y=m!=="transparent",r=(u??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(r.length===0&&!h)return null;const j=r.filter(e=>!e.future).length,k=r.length?j/r.length*100:0;return t("section",{className:"relative z-[2]",children:a("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:v,paddingBottom:N,...y?{backgroundColor:m}:{}},children:[d?null:t(z,{num:g,title:o?S(o):void 0,desc:p?f(p,!0):void 0,spaceBelow:"",className:"text-fg"}),a("div",{className:d?"relative mt-0 grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-0 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0":"relative mt-[60px] grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-9 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0",style:{"--cols":r.length},children:[t("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-px bg-line max-[1100px]:hidden",children:t("div",{className:"absolute -top-px left-0 h-[3px] bg-gradient-to-r from-accent to-transparent",style:{width:`${k}%`}})}),r.map((e,i)=>a("div",{className:["relative flex min-h-[280px] flex-col gap-3.5 px-3.5","border-l",e.future?"border-line":"max-[1100px]:border-accent border-line",i===0?"min-[1101px]:border-l-0":"","max-[1100px]:min-h-0 max-[1100px]:border-t-0 max-[1100px]:py-6 max-[1100px]:pl-7 max-[1100px]:ml-1.5"].join(" "),children:[t("span",{className:["pointer-events-none absolute h-2.5 w-2.5 rounded-full border-2 border-bg",e.future?"border-line bg-surface-2":"bg-accent",i===0?"-top-[66px] left-[-1px]":"-top-[66px] left-[-5px]","max-[1100px]:left-[-5px] max-[1100px]:top-7"].join(" ")}),t("span",{className:["font-mono text-[length:var(--size-label,13px)] tracking-[0.22em]",e.future?"text-fg-dim":"text-accent"].join(" "),children:e.date?t(c,{value:e.date,children:l(e.date)}):""}),e.title&&t("h3",{className:"whitespace-pre-line font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg",children:t(c,{value:e.title,children:l(e.title)})}),e.blurb&&t("p",{className:"mt-auto font-display text-[length:var(--size-body,13px)] leading-[1.55] text-fg-dim",children:f(e.blurb,!0)})]},i))]}),n?.text&&t("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:a(w,{href:n.href,className:"group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[l(n.text),t("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"\u2192"})]})})]})})}export{B as default};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TitleButton {
|
|
2
|
+
label?: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
variant?: "primary" | "outline";
|
|
5
|
+
}
|
|
6
|
+
export interface TitleWithButtonsProps {
|
|
7
|
+
title?: string;
|
|
8
|
+
buttons?: TitleButton[];
|
|
9
|
+
padTop?: number;
|
|
10
|
+
padBottom?: number;
|
|
11
|
+
buttonsAlign?: "left" | "center" | "right";
|
|
12
|
+
editing?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export default function TitleWithButtons({ title, buttons, padTop, padBottom, buttonsAlign, editing, }?: TitleWithButtonsProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,jsxs as l}from"react/jsx-runtime";import{SiteLink as b}from"../lib/site-runtime.js";import{renderHeadline as v}from"./goldPhrases.js";function w({title:s,buttons:m,padTop:x,padBottom:o,buttonsAlign:a,editing:p=!1}={}){const d=typeof x=="number"?x:140,c=typeof o=="number"?o:140,r=(m??[]).filter(e=>p||(e.label??"").trim()),i=!!(s??"").trim(),n=!i&&(a==="center"||a==="left")?a:null;return!p&&!i&&r.length===0?null:t("section",{className:"relative z-[2] bg-bg",children:l("div",{className:n==="center"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":n==="left"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-start gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[1fr_auto] items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:{paddingTop:d,paddingBottom:c},children:[n===null&&!i&&r.length>0&&t("div",{"aria-hidden":!0,className:"max-[1100px]:hidden"}),i&&t("h2",{className:"max-w-[1000px] font-display text-[length:min(var(--size-headingLarge,clamp(48px,7vw,108px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.94] tracking-[-0.035em] text-fg",children:v(s??"")}),r.length>0&&t("div",{className:"flex min-w-[280px] flex-col gap-3.5 max-[1100px]:min-w-0",children:r.map((e,f)=>{const g=(e.label??"").trim()||"Button label",h=e.href||"#",u=e.variant==="primary";return l(b,{href:h,className:["flex items-center justify-between gap-6 px-7 py-5","font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] transition-colors",u?"border border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg":"border border-line text-fg hover:border-accent hover:text-accent"].join(" "),children:[g," ",t("span",{"aria-hidden":!0,children:"\u2192"})]},f)})})]})})}export{w as default};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CSSProperties } from "react";
|
|
2
|
+
export type UiIconName = "eye" | "eye-off" | "search" | "external-link" | "pencil" | "trash" | "chevron-right";
|
|
3
|
+
export default function UiIcon({ name, size, strokeWidth, rounded, className, style, }: {
|
|
4
|
+
name: UiIconName;
|
|
5
|
+
size: number;
|
|
6
|
+
strokeWidth?: number;
|
|
7
|
+
rounded?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: CSSProperties;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,Fragment as a,jsxs as r}from"react/jsx-runtime";const l={eye:r(a,{children:[e("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7S2 12 2 12z"}),e("circle",{cx:"12",cy:"12",r:"2.6"})]}),"eye-off":e("path",{d:"M3 3l18 18M10.6 10.6a2 2 0 002.8 2.8M9.4 5.2A9.7 9.7 0 0112 5c7 0 10 7 10 7a16 16 0 01-3.6 4.4M6.1 6.1A16 16 0 002 12s3 7 10 7a9.6 9.6 0 004.1-.9"}),search:r(a,{children:[e("circle",{cx:"11",cy:"11",r:"7"}),e("path",{d:"M21 21l-3.8-3.8"})]}),"external-link":r(a,{children:[e("path",{d:"M14 4h6v6"}),e("path",{d:"M20 4l-9 9"}),e("path",{d:"M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"})]}),pencil:r(a,{children:[e("path",{d:"M12 20h9"}),e("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})]}),trash:r(a,{children:[e("path",{d:"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),e("path",{d:"M10 11v6M14 11v6"})]}),"chevron-right":e("path",{d:"M9 6l6 6-6 6"})};function s({name:n,size:t,strokeWidth:d=1.8,rounded:h=!1,className:i,style:c}){return e("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:d,strokeLinecap:h?"round":void 0,strokeLinejoin:h?"round":void 0,className:i,style:c,"aria-hidden":"true",children:l[n]})}export{s as default};
|