efficient-storefront-blocks 0.56.0 → 0.58.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 +48 -0
- package/dist/chunks/{EditorPreviewCheckout-7Y7WL5BM.js → EditorPreviewCheckout-4NGRJA3T.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-5MWJMLLI.js → SiteEditorProvider-V5FE5UD6.js} +1 -1
- package/dist/chunks/{chunk-BPVXTVPM.js → chunk-4AKN63X5.js} +1 -1
- package/dist/chunks/chunk-K4AZ5SUU.js +1 -0
- package/dist/chunks/chunk-PHH7L5FJ.js +255 -0
- package/dist/chunks/{chunk-FSSCNRRE.js → chunk-SJQTKWV3.js} +1 -1
- package/dist/chunks/{fitment-data-UVMEA7WW.js → fitment-data-OIWU6HGJ.js} +1 -1
- package/dist/editor/components/BlogSource.d.ts +11 -0
- package/dist/editor/components/BlogSource.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +7 -0
- package/dist/editor/components/CategorySource.js +1 -0
- package/dist/editor/components/CollectionPicker.d.ts +7 -0
- package/dist/editor/components/CollectionPicker.js +1 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +3 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.js +1 -0
- package/dist/editor/components/CountryShowAsTiles.d.ts +5 -0
- package/dist/editor/components/CountryShowAsTiles.js +1 -0
- package/dist/editor/components/EditProductLink.d.ts +1 -0
- package/dist/editor/components/EditProductLink.js +1 -0
- package/dist/editor/components/EditorCurrencyProvider.d.ts +7 -0
- package/dist/editor/components/EditorCurrencyProvider.js +1 -0
- package/dist/editor/components/EditorPreviewChat.d.ts +1 -0
- package/dist/editor/components/EditorPreviewChat.js +11 -0
- package/dist/editor/components/EditorPreviewCheckout.d.ts +1 -0
- package/dist/editor/components/EditorPreviewCheckout.js +1 -0
- package/dist/editor/components/EditorPreviewSurface.d.ts +5 -0
- package/dist/editor/components/EditorPreviewSurface.js +1 -0
- package/dist/editor/components/FinishPicker.d.ts +6 -0
- package/dist/editor/components/FinishPicker.js +1 -0
- package/dist/editor/components/FooterColumnsField.d.ts +6 -0
- package/dist/editor/components/FooterColumnsField.js +1 -0
- package/dist/editor/components/FooterLogoFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoFillField.js +1 -0
- package/dist/editor/components/FooterLogoRowFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoRowFillField.js +1 -0
- package/dist/editor/components/FormPicker.d.ts +33 -0
- package/dist/editor/components/FormPicker.js +1 -0
- package/dist/editor/components/GalleryProductBinding.d.ts +7 -0
- package/dist/editor/components/GalleryProductBinding.js +1 -0
- package/dist/editor/components/GalleryShowcaseSource.d.ts +7 -0
- package/dist/editor/components/GalleryShowcaseSource.js +1 -0
- package/dist/editor/components/HeaderSection.d.ts +3 -0
- package/dist/editor/components/HeaderSection.js +1 -0
- package/dist/editor/components/HeaderSettingsPanel.d.ts +132 -0
- package/dist/editor/components/HeaderSettingsPanel.js +1 -0
- package/dist/editor/components/MenuLinkRangeField.d.ts +5 -0
- package/dist/editor/components/MenuLinkRangeField.js +1 -0
- package/dist/editor/components/MenuPicker.d.ts +7 -0
- package/dist/editor/components/MenuPicker.js +1 -0
- package/dist/editor/components/PerViewStepperField.d.ts +13 -0
- package/dist/editor/components/PerViewStepperField.js +1 -0
- package/dist/editor/components/PreviewHeader.d.ts +2 -0
- package/dist/editor/components/PreviewHeader.js +11 -0
- package/dist/editor/components/PreviewHeaderPrimer.d.ts +4 -0
- package/dist/editor/components/PreviewHeaderPrimer.js +1 -0
- package/dist/editor/components/PreviewMenusPrimer.d.ts +3 -0
- package/dist/editor/components/PreviewMenusPrimer.js +1 -0
- package/dist/editor/components/PreviewProductPicker.d.ts +20 -0
- package/dist/editor/components/PreviewProductPicker.js +1 -0
- package/dist/editor/components/ProductHeroSource.d.ts +19 -0
- package/dist/editor/components/ProductHeroSource.js +1 -0
- package/dist/editor/components/ProductPicker.d.ts +6 -0
- package/dist/editor/components/ProductPicker.js +1 -0
- package/dist/editor/components/SocialLinksDoor.d.ts +1 -0
- package/dist/editor/components/SocialLinksDoor.js +1 -0
- package/dist/editor/components/SpecTableSource.d.ts +7 -0
- package/dist/editor/components/SpecTableSource.js +1 -0
- package/dist/editor/components/StorefrontEditorFurniture.d.ts +6 -0
- package/dist/editor/components/StorefrontEditorFurniture.js +1 -0
- package/dist/editor/components/StorefrontHeaderPanel.d.ts +2 -0
- package/dist/editor/components/StorefrontHeaderPanel.js +1 -0
- package/dist/editor/components/StorefrontLinkRows.d.ts +5 -0
- package/dist/editor/components/StorefrontLinkRows.js +1 -0
- package/dist/editor/components/StorefrontShopRows.d.ts +2 -0
- package/dist/editor/components/StorefrontShopRows.js +1 -0
- package/dist/editor/components/SwitchToBoxHeader.d.ts +1 -0
- package/dist/editor/components/SwitchToBoxHeader.js +1 -0
- package/dist/editor/components/WheelsPerRowField.d.ts +6 -0
- package/dist/editor/components/WheelsPerRowField.js +1 -0
- package/dist/editor/components/useCategoryFilter.d.ts +11 -0
- package/dist/editor/components/useCategoryFilter.js +1 -0
- package/dist/editor/components/useGridSourceLock.d.ts +1 -0
- package/dist/editor/components/useGridSourceLock.js +1 -0
- package/dist/editor/components/useStorefrontCategories.d.ts +2 -0
- package/dist/editor/components/useStorefrontCategories.js +1 -0
- package/dist/editor/components/useStorefrontForms.d.ts +2 -0
- package/dist/editor/components/useStorefrontForms.js +1 -0
- package/dist/editor/components/useWheelMediaGroups.d.ts +2 -0
- package/dist/editor/components/useWheelMediaGroups.js +1 -0
- package/dist/editor/lib/api/section-templates.d.ts +43 -0
- package/dist/editor/lib/api/section-templates.js +1 -0
- package/dist/editor/lib/editor-currency-source.d.ts +11 -0
- package/dist/editor/lib/editor-currency-source.js +1 -0
- package/dist/editor/lib/efficient-backend.d.ts +21 -0
- package/dist/editor/lib/efficient-backend.js +1 -0
- package/dist/editor/lib/header-settings-source.d.ts +7 -0
- package/dist/editor/lib/header-settings-source.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.d.ts +15 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.d.ts +8 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.d.ts +5 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/controls.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/index.js +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.js +1 -0
- package/dist/editor/lib/puck/box-header-for-site.d.ts +9 -0
- package/dist/editor/lib/puck/box-header-for-site.js +1 -0
- package/dist/editor/lib/puck/box-header.d.ts +52 -0
- package/dist/editor/lib/puck/box-header.js +1 -0
- package/dist/editor/lib/puck/config.d.ts +73 -0
- package/dist/editor/lib/puck/config.js +1 -0
- package/dist/editor/lib/say-with.d.ts +2 -0
- package/dist/editor/lib/say-with.js +1 -0
- package/dist/editor/lib/storefront-document.d.ts +2 -0
- package/dist/editor/lib/storefront-document.js +1 -0
- package/dist/editor/lib/storefront-editor-words.d.ts +693 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -0
- package/dist/editor/lib/storefront-editor.d.ts +9 -0
- package/dist/editor/lib/storefront-editor.js +1 -0
- package/dist/editor/lib/storefront-shop-surfaces.d.ts +8 -0
- package/dist/editor/lib/storefront-shop-surfaces.js +1 -0
- package/dist/editor/lib/use-prime-and-refresh.d.ts +16 -0
- package/dist/editor/lib/use-prime-and-refresh.js +1 -0
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +69 -52
- package/dist/render/app/fonts/archivo/OFL.txt +93 -0
- package/dist/render/app/fonts/archivo/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/assistant/OFL.txt +95 -0
- package/dist/render/app/fonts/assistant/hebrew.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/OFL.txt +93 -0
- package/dist/render/app/fonts/big-shoulders/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/OFL.txt +93 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/OFL.txt +93 -0
- package/dist/render/app/fonts/dm-sans/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin.woff2 +0 -0
- package/dist/render/app/fonts/fallbacks.css +133 -0
- package/dist/render/app/fonts/fraunces/OFL.txt +93 -0
- package/dist/render/app/fonts/fraunces/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/inter/OFL.txt +93 -0
- package/dist/render/app/fonts/inter/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/OFL.txt +93 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/manrope/OFL.txt +93 -0
- package/dist/render/app/fonts/manrope/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/manrope/greek.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin.woff2 +0 -0
- package/dist/render/app/fonts/manrope/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/michroma/OFL.txt +93 -0
- package/dist/render/app/fonts/michroma/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/michroma/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/OFL.txt +93 -0
- package/dist/render/app/fonts/oswald/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/outfit/OFL.txt +93 -0
- package/dist/render/app/fonts/outfit/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/outfit/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/OFL.txt +93 -0
- package/dist/render/app/fonts/playfair-display/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/poppins/OFL.txt +93 -0
- package/dist/render/app/fonts/poppins/devanagari-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/sora/OFL.txt +93 -0
- package/dist/render/app/fonts/sora/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/sora/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/OFL.txt +93 -0
- package/dist/render/app/fonts/space-grotesk/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/vietnamese.woff2 +0 -0
- package/dist/render/app/globals.css +3264 -0
- package/dist/render/built-with.json +3 -0
- package/dist/render/components/AppointmentBooking.d.ts +14 -0
- package/dist/render/components/AppointmentBooking.js +1 -0
- package/dist/render/components/AssistantChatMount.d.ts +8 -0
- package/dist/render/components/AssistantChatMount.js +1 -0
- package/dist/render/components/AssistantChatPanel.d.ts +7 -0
- package/dist/render/components/AssistantChatPanel.js +1 -0
- package/dist/render/components/BoxHeaderBar.d.ts +10 -0
- package/dist/render/components/BoxHeaderBar.js +1 -0
- package/dist/render/components/BrandPlate.d.ts +4 -0
- package/dist/render/components/BrandPlate.js +1 -0
- package/dist/render/components/BundleCard.d.ts +6 -0
- package/dist/render/components/BundleCard.js +1 -0
- package/dist/render/components/CartContext.d.ts +91 -0
- package/dist/render/components/CartContext.js +1 -0
- package/dist/render/components/CartDrawer.d.ts +12 -0
- package/dist/render/components/CartDrawer.js +4 -0
- package/dist/render/components/CartLineThumbnail.d.ts +8 -0
- package/dist/render/components/CartLineThumbnail.js +1 -0
- package/dist/render/components/CatalogFilterBarSection.d.ts +12 -0
- package/dist/render/components/CatalogFilterBarSection.js +1 -0
- package/dist/render/components/ChatContext.d.ts +23 -0
- package/dist/render/components/ChatContext.js +1 -0
- package/dist/render/components/ChatLauncher.d.ts +18 -0
- package/dist/render/components/ChatLauncher.js +1 -0
- package/dist/render/components/ChatWidget.d.ts +12 -0
- package/dist/render/components/ChatWidget.js +1 -0
- package/dist/render/components/CheckoutCTA.d.ts +12 -0
- package/dist/render/components/CheckoutCTA.js +1 -0
- package/dist/render/components/CollectionCard.d.ts +27 -0
- package/dist/render/components/CollectionCard.js +1 -0
- package/dist/render/components/Collections.d.ts +17 -0
- package/dist/render/components/Collections.js +1 -0
- package/dist/render/components/CompatibleTyres.d.ts +23 -0
- package/dist/render/components/CompatibleTyres.js +1 -0
- package/dist/render/components/ConsentBanner.d.ts +20 -0
- package/dist/render/components/ConsentBanner.js +1 -0
- package/dist/render/components/ConsentContext.d.ts +22 -0
- package/dist/render/components/ConsentContext.js +1 -0
- package/dist/render/components/ConsentPanel.d.ts +15 -0
- package/dist/render/components/ConsentPanel.js +1 -0
- package/dist/render/components/ConsentProvider.d.ts +7 -0
- package/dist/render/components/ConsentProvider.js +1 -0
- package/dist/render/components/ContactRouting.d.ts +33 -0
- package/dist/render/components/ContactRouting.js +1 -0
- package/dist/render/components/CountrySelect.d.ts +7 -0
- package/dist/render/components/CountrySelect.js +1 -0
- package/dist/render/components/CouponField.d.ts +3 -0
- package/dist/render/components/CouponField.js +1 -0
- package/dist/render/components/CurrencyContext.d.ts +27 -0
- package/dist/render/components/CurrencyContext.js +1 -0
- package/dist/render/components/DeliveryOptions.d.ts +18 -0
- package/dist/render/components/DeliveryOptions.js +1 -0
- package/dist/render/components/DeliveryOptionsSource.d.ts +8 -0
- package/dist/render/components/DeliveryOptionsSource.js +1 -0
- package/dist/render/components/DetailRows.d.ts +22 -0
- package/dist/render/components/DetailRows.js +1 -0
- package/dist/render/components/DimensionArrowMarkers.d.ts +3 -0
- package/dist/render/components/DimensionArrowMarkers.js +1 -0
- package/dist/render/components/EditorCurrencyNoticeContext.d.ts +7 -0
- package/dist/render/components/EditorCurrencyNoticeContext.js +1 -0
- package/dist/render/components/EmailCaptureForm.d.ts +15 -0
- package/dist/render/components/EmailCaptureForm.js +1 -0
- package/dist/render/components/EnglishVariant.d.ts +7 -0
- package/dist/render/components/EnglishVariant.js +1 -0
- package/dist/render/components/EuTyreLabelCard.d.ts +4 -0
- package/dist/render/components/EuTyreLabelCard.js +1 -0
- package/dist/render/components/EuTyreLabels.d.ts +7 -0
- package/dist/render/components/EuTyreLabels.js +1 -0
- package/dist/render/components/Events.d.ts +62 -0
- package/dist/render/components/Events.js +1 -0
- package/dist/render/components/FinishSwatches.d.ts +14 -0
- package/dist/render/components/FinishSwatches.js +1 -0
- package/dist/render/components/FitmentTable.d.ts +17 -0
- package/dist/render/components/FitmentTable.js +1 -0
- package/dist/render/components/FooterDivider.d.ts +6 -0
- package/dist/render/components/FooterDivider.js +1 -0
- package/dist/render/components/FooterEmailSignup.d.ts +6 -0
- package/dist/render/components/FooterEmailSignup.js +1 -0
- package/dist/render/components/FooterGroup.d.ts +8 -0
- package/dist/render/components/FooterGroup.js +1 -0
- package/dist/render/components/FooterLogo.d.ts +13 -0
- package/dist/render/components/FooterLogo.js +1 -0
- package/dist/render/components/FooterMenu.d.ts +25 -0
- package/dist/render/components/FooterMenu.js +1 -0
- package/dist/render/components/FooterSection.d.ts +11 -0
- package/dist/render/components/FooterSection.js +1 -0
- package/dist/render/components/FooterSocial.d.ts +16 -0
- package/dist/render/components/FooterSocial.js +1 -0
- package/dist/render/components/FooterText.d.ts +7 -0
- package/dist/render/components/FooterText.js +1 -0
- package/dist/render/components/FormBlock.d.ts +19 -0
- package/dist/render/components/FormBlock.js +1 -0
- package/dist/render/components/GalleryCard.d.ts +28 -0
- package/dist/render/components/GalleryCard.js +1 -0
- package/dist/render/components/GalleryGrid.d.ts +20 -0
- package/dist/render/components/GalleryGrid.js +1 -0
- package/dist/render/components/GalleryItem.d.ts +35 -0
- package/dist/render/components/GalleryItem.js +1 -0
- package/dist/render/components/GalleryShowcase.d.ts +51 -0
- package/dist/render/components/GalleryShowcase.js +1 -0
- package/dist/render/components/Header.d.ts +13 -0
- package/dist/render/components/Header.js +1 -0
- package/dist/render/components/HeaderNavItem.d.ts +17 -0
- package/dist/render/components/HeaderNavItem.js +1 -0
- package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
- package/dist/render/components/HeaderToolBlocks.js +1 -0
- package/dist/render/components/HeaderTools.d.ts +21 -0
- package/dist/render/components/HeaderTools.js +1 -0
- package/dist/render/components/LegalLine.d.ts +4 -0
- package/dist/render/components/LegalLine.js +1 -0
- package/dist/render/components/Lightbox.d.ts +19 -0
- package/dist/render/components/Lightbox.js +1 -0
- package/dist/render/components/LinkedProductHero.d.ts +34 -0
- package/dist/render/components/LinkedProductHero.js +1 -0
- package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
- package/dist/render/components/LiveSiteMapsProvider.js +1 -0
- package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
- package/dist/render/components/MenuPlaceholderLabel.js +1 -0
- package/dist/render/components/NoCurrencyNote.d.ts +4 -0
- package/dist/render/components/NoCurrencyNote.js +1 -0
- package/dist/render/components/PreOrderPanel.d.ts +5 -0
- package/dist/render/components/PreOrderPanel.js +1 -0
- package/dist/render/components/PreviewMenusContext.d.ts +13 -0
- package/dist/render/components/PreviewMenusContext.js +1 -0
- package/dist/render/components/ProductCard.d.ts +6 -0
- package/dist/render/components/ProductCard.js +1 -0
- package/dist/render/components/ProductCardChrome.d.ts +37 -0
- package/dist/render/components/ProductCardChrome.js +1 -0
- package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
- package/dist/render/components/ProductCardEyebrow.js +1 -0
- package/dist/render/components/ProductGridSection.d.ts +65 -0
- package/dist/render/components/ProductGridSection.js +1 -0
- package/dist/render/components/ProductHeroPanel.d.ts +22 -0
- package/dist/render/components/ProductHeroPanel.js +1 -0
- package/dist/render/components/ProductLightbox.d.ts +5 -0
- package/dist/render/components/ProductLightbox.js +1 -0
- package/dist/render/components/ProductRef.d.ts +16 -0
- package/dist/render/components/ProductRef.js +1 -0
- package/dist/render/components/PublishedFooter.d.ts +16 -0
- package/dist/render/components/PublishedFooter.js +1 -0
- package/dist/render/components/PublishedHeader.d.ts +4 -0
- package/dist/render/components/PublishedHeader.js +1 -0
- package/dist/render/components/QuantityStepper.d.ts +7 -0
- package/dist/render/components/QuantityStepper.js +1 -0
- package/dist/render/components/QuoteLink.d.ts +4 -0
- package/dist/render/components/QuoteLink.js +1 -0
- package/dist/render/components/ReviewForm.d.ts +8 -0
- package/dist/render/components/ReviewForm.js +1 -0
- package/dist/render/components/Reviews.d.ts +12 -0
- package/dist/render/components/Reviews.js +1 -0
- package/dist/render/components/SearchContext.d.ts +13 -0
- package/dist/render/components/SearchContext.js +1 -0
- package/dist/render/components/SectionBand.d.ts +9 -0
- package/dist/render/components/SectionBand.js +1 -0
- package/dist/render/components/SectionFootnote.d.ts +5 -0
- package/dist/render/components/SectionFootnote.js +1 -0
- package/dist/render/components/SectionGroupBody.d.ts +9 -0
- package/dist/render/components/SectionGroupBody.js +1 -0
- package/dist/render/components/SectionNotice.d.ts +7 -0
- package/dist/render/components/SectionNotice.js +1 -0
- package/dist/render/components/SiteRecordContext.d.ts +17 -0
- package/dist/render/components/SiteRecordContext.js +1 -0
- package/dist/render/components/SiteSwitch.d.ts +10 -0
- package/dist/render/components/SiteSwitch.js +1 -0
- package/dist/render/components/SpecTable.d.ts +18 -0
- package/dist/render/components/SpecTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -0
- package/dist/render/components/StorefrontProviders.d.ts +15 -0
- package/dist/render/components/StorefrontProviders.js +1 -0
- package/dist/render/components/SubmitBuild.d.ts +23 -0
- package/dist/render/components/SubmitBuild.js +1 -0
- package/dist/render/components/Subscribe.d.ts +27 -0
- package/dist/render/components/Subscribe.js +1 -0
- package/dist/render/components/SubscribePopup.d.ts +19 -0
- package/dist/render/components/SubscribePopup.js +7 -0
- package/dist/render/components/SubscribePopupContext.d.ts +33 -0
- package/dist/render/components/SubscribePopupContext.js +1 -0
- package/dist/render/components/ThemeToggle.d.ts +1 -0
- package/dist/render/components/ThemeToggle.js +1 -0
- package/dist/render/components/ThemedSelect.d.ts +59 -0
- package/dist/render/components/ThemedSelect.js +1 -0
- package/dist/render/components/TyreCard.d.ts +19 -0
- package/dist/render/components/TyreCard.js +1 -0
- package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
- package/dist/render/components/TyreFitVerdicts.js +1 -0
- package/dist/render/components/TyreImage.d.ts +10 -0
- package/dist/render/components/TyreImage.js +1 -0
- package/dist/render/components/TyrePlpCard.d.ts +19 -0
- package/dist/render/components/TyrePlpCard.js +1 -0
- package/dist/render/components/TyreRenderSvg.d.ts +7 -0
- package/dist/render/components/TyreRenderSvg.js +1 -0
- package/dist/render/components/TyreSummaryCard.d.ts +11 -0
- package/dist/render/components/TyreSummaryCard.js +1 -0
- package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
- package/dist/render/components/TyreVehicleFitment.js +1 -0
- package/dist/render/components/ViewMoreLink.d.ts +4 -0
- package/dist/render/components/ViewMoreLink.js +1 -0
- package/dist/render/components/WebFormField.d.ts +17 -0
- package/dist/render/components/WebFormField.js +1 -0
- package/dist/render/components/WheelCardFrame.d.ts +67 -0
- package/dist/render/components/WheelCardFrame.js +1 -0
- package/dist/render/components/WheelImage.d.ts +20 -0
- package/dist/render/components/WheelImage.js +1 -0
- package/dist/render/components/WheelPlaceholder.d.ts +7 -0
- package/dist/render/components/WheelPlaceholder.js +1 -0
- package/dist/render/components/WheelSvg.d.ts +7 -0
- package/dist/render/components/WheelSvg.js +1 -0
- package/dist/render/components/WishlistContext.d.ts +13 -0
- package/dist/render/components/WishlistContext.js +1 -0
- package/dist/render/components/booking/BookingBox.d.ts +16 -0
- package/dist/render/components/booking/BookingBox.js +1 -0
- package/dist/render/components/booking/BookingFormState.d.ts +46 -0
- package/dist/render/components/booking/BookingFormState.js +1 -0
- package/dist/render/components/booking/BookingRegions.d.ts +16 -0
- package/dist/render/components/booking/BookingRegions.js +1 -0
- package/dist/render/components/buy-row.d.ts +1 -0
- package/dist/render/components/buy-row.js +1 -0
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
- package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
- package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
- package/dist/render/components/catalog/FilterPill.d.ts +25 -0
- package/dist/render/components/catalog/FilterPill.js +1 -0
- package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
- package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
- package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
- package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
- package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
- package/dist/render/components/fitment/FitmentFinder.js +1 -0
- package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
- package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
- package/dist/render/components/fitment/FitmentRowFit.js +1 -0
- package/dist/render/components/fitment/PickerField.d.ts +16 -0
- package/dist/render/components/fitment/PickerField.js +1 -0
- package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
- package/dist/render/components/fitment/StockFitmentCard.js +1 -0
- package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
- package/dist/render/components/fitment/useFitmentCascade.js +1 -0
- package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
- package/dist/render/components/fitment/useVehicleFit.js +1 -0
- package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
- package/dist/render/components/fitment/vehicle-control.js +0 -0
- package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
- package/dist/render/components/fitment/vehicle-level-state.js +1 -0
- package/dist/render/components/formSubmission.d.ts +32 -0
- package/dist/render/components/formSubmission.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
- package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
- package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
- package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
- package/dist/render/components/product-hero/hero-content.d.ts +7 -0
- package/dist/render/components/product-hero/hero-content.js +1 -0
- package/dist/render/components/product-hero/hero-view.d.ts +37 -0
- package/dist/render/components/product-hero/hero-view.js +1 -0
- package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
- package/dist/render/components/product-hero/stage-photo.js +3 -0
- package/dist/render/components/submit/SubmitBox.d.ts +19 -0
- package/dist/render/components/submit/SubmitBox.js +1 -0
- package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
- package/dist/render/components/submit/SubmitRegions.js +1 -0
- package/dist/render/components/useEuTyreLabels.d.ts +3 -0
- package/dist/render/components/useEuTyreLabels.js +1 -0
- package/dist/render/components/useFinishSelection.d.ts +17 -0
- package/dist/render/components/useFinishSelection.js +1 -0
- package/dist/render/components/useHeaderBar.d.ts +9 -0
- package/dist/render/components/useHeaderBar.js +1 -0
- package/dist/render/components/useLightbox.d.ts +10 -0
- package/dist/render/components/useLightbox.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +8 -0
- package/dist/render/components/useModalDismiss.js +1 -0
- package/dist/render/components/useNewsletterSignup.d.ts +12 -0
- package/dist/render/components/useNewsletterSignup.js +1 -0
- package/dist/render/components/usePreOrderIntent.d.ts +14 -0
- package/dist/render/components/usePreOrderIntent.js +1 -0
- package/dist/render/components/useProductCatalog.d.ts +54 -0
- package/dist/render/components/useProductCatalog.js +1 -0
- package/dist/render/components/useProductSelection.d.ts +39 -0
- package/dist/render/components/useProductSelection.js +1 -0
- package/dist/render/components/useStockAlertSignup.d.ts +14 -0
- package/dist/render/components/useStockAlertSignup.js +1 -0
- package/dist/render/components/useStorefrontReviews.d.ts +2 -0
- package/dist/render/components/useStorefrontReviews.js +1 -0
- package/dist/render/components/useTyreCatalog.d.ts +2 -0
- package/dist/render/components/useTyreCatalog.js +1 -0
- package/dist/render/components/useTyreDetail.d.ts +6 -0
- package/dist/render/components/useTyreDetail.js +1 -0
- package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
- package/dist/render/components/useTyreFitAnswer.js +1 -0
- package/dist/render/components/useWheelDetail.d.ts +6 -0
- package/dist/render/components/useWheelDetail.js +1 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
- package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
- package/dist/render/components/wheels-plp/PlpCard.js +1 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
- package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
- package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
- package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
- package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
- package/dist/render/lib/api/chat.d.ts +31 -0
- package/dist/render/lib/api/chat.js +1 -0
- package/dist/render/lib/api/fitment-data.d.ts +18 -0
- package/dist/render/lib/api/fitment-data.js +1 -0
- package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
- package/dist/render/lib/api/gallery-builds-data.js +1 -0
- package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
- package/dist/render/lib/api/generated-upload-limits.js +1 -0
- package/dist/render/lib/api/index.d.ts +806 -0
- package/dist/render/lib/api/index.js +1 -0
- package/dist/render/lib/api/origins.d.ts +2 -0
- package/dist/render/lib/api/origins.js +1 -0
- package/dist/render/lib/api/types.d.ts +3928 -0
- package/dist/render/lib/api/types.js +0 -0
- package/dist/render/lib/api/upload-limits.d.ts +10 -0
- package/dist/render/lib/api/upload-limits.js +1 -0
- package/dist/render/lib/assistant-chat.d.ts +35 -0
- package/dist/render/lib/assistant-chat.js +1 -0
- package/dist/render/lib/auth.d.ts +6 -0
- package/dist/render/lib/auth.js +1 -0
- package/dist/render/lib/booking/text-kinds.d.ts +11 -0
- package/dist/render/lib/booking/text-kinds.js +1 -0
- package/dist/render/lib/booking-dates.d.ts +23 -0
- package/dist/render/lib/booking-dates.js +1 -0
- package/dist/render/lib/cache-evict.d.ts +4 -0
- package/dist/render/lib/cache-evict.js +1 -0
- package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
- package/dist/render/lib/cart/coupon-preview.js +1 -0
- package/dist/render/lib/cart/shipping-status.d.ts +12 -0
- package/dist/render/lib/cart/shipping-status.js +1 -0
- package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
- package/dist/render/lib/cart/snapshot-lines.js +1 -0
- package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
- package/dist/render/lib/catalog/from-tyre.js +1 -0
- package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -0
- package/dist/render/lib/catalog/listing-links.d.ts +11 -0
- package/dist/render/lib/catalog/listing-links.js +1 -0
- package/dist/render/lib/catalog/plp-item.d.ts +39 -0
- package/dist/render/lib/catalog/plp-item.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
- package/dist/render/lib/catalog/product-options.d.ts +27 -0
- package/dist/render/lib/catalog/product-options.js +1 -0
- package/dist/render/lib/catalog/purchase.d.ts +46 -0
- package/dist/render/lib/catalog/purchase.js +1 -0
- package/dist/render/lib/catalog/related-cards.d.ts +12 -0
- package/dist/render/lib/catalog/related-cards.js +1 -0
- package/dist/render/lib/catalog/relationships.d.ts +28 -0
- package/dist/render/lib/catalog/relationships.js +1 -0
- package/dist/render/lib/catalog/store-product.d.ts +56 -0
- package/dist/render/lib/catalog/store-product.js +1 -0
- package/dist/render/lib/chat-socket.d.ts +8 -0
- package/dist/render/lib/chat-socket.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
- package/dist/render/lib/checkout/wallet-return.js +1 -0
- package/dist/render/lib/chrome-cache.d.ts +6 -0
- package/dist/render/lib/chrome-cache.js +1 -0
- package/dist/render/lib/chrome-load.d.ts +28 -0
- package/dist/render/lib/chrome-load.js +1 -0
- package/dist/render/lib/click-ids.d.ts +8 -0
- package/dist/render/lib/click-ids.js +1 -0
- package/dist/render/lib/commerce.d.ts +42 -0
- package/dist/render/lib/commerce.js +1 -0
- package/dist/render/lib/consent/choice.d.ts +35 -0
- package/dist/render/lib/consent/choice.js +1 -0
- package/dist/render/lib/consent/rules.d.ts +60 -0
- package/dist/render/lib/consent/rules.js +1 -0
- package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
- package/dist/render/lib/content/catalog-filter-labels.js +1 -0
- package/dist/render/lib/content/country-show-as.d.ts +9 -0
- package/dist/render/lib/content/country-show-as.js +1 -0
- package/dist/render/lib/content/english-variant.d.ts +4 -0
- package/dist/render/lib/content/english-variant.js +1 -0
- package/dist/render/lib/content/field-usage.d.ts +35 -0
- package/dist/render/lib/content/field-usage.js +1 -0
- package/dist/render/lib/content/header-bar.d.ts +8 -0
- package/dist/render/lib/content/header-bar.js +1 -0
- package/dist/render/lib/content/header-theme.d.ts +7 -0
- package/dist/render/lib/content/header-theme.js +1 -0
- package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
- package/dist/render/lib/content/menu-placeholder.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +9 -0
- package/dist/render/lib/content/menu-row.js +1 -0
- package/dist/render/lib/content/product-hero.d.ts +13 -0
- package/dist/render/lib/content/product-hero.js +1 -0
- package/dist/render/lib/content/site.d.ts +62 -0
- package/dist/render/lib/content/site.js +1 -0
- package/dist/render/lib/content/source-values.d.ts +43 -0
- package/dist/render/lib/content/source-values.js +0 -0
- package/dist/render/lib/content/stock-words.d.ts +10 -0
- package/dist/render/lib/content/stock-words.js +1 -0
- package/dist/render/lib/countries.d.ts +5 -0
- package/dist/render/lib/countries.js +1 -0
- package/dist/render/lib/editor-route.d.ts +3 -0
- package/dist/render/lib/editor-route.js +1 -0
- package/dist/render/lib/email-shape.d.ts +1 -0
- package/dist/render/lib/email-shape.js +1 -0
- package/dist/render/lib/font-table.json +2588 -0
- package/dist/render/lib/forwarded-for.d.ts +6 -0
- package/dist/render/lib/forwarded-for.js +1 -0
- package/dist/render/lib/google-tag.d.ts +37 -0
- package/dist/render/lib/google-tag.js +1 -0
- package/dist/render/lib/header-settings-fetch.d.ts +5 -0
- package/dist/render/lib/header-settings-fetch.js +1 -0
- package/dist/render/lib/links/link-rules.d.ts +80 -0
- package/dist/render/lib/links/link-rules.js +1 -0
- package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
- package/dist/render/lib/logo/surface-is-light.js +1 -0
- package/dist/render/lib/menu-link.d.ts +1 -0
- package/dist/render/lib/menu-link.js +1 -0
- package/dist/render/lib/menu-source.d.ts +23 -0
- package/dist/render/lib/menu-source.js +1 -0
- package/dist/render/lib/meta-pixel.d.ts +19 -0
- package/dist/render/lib/meta-pixel.js +1 -0
- package/dist/render/lib/newsletter-signup.d.ts +16 -0
- package/dist/render/lib/newsletter-signup.js +1 -0
- package/dist/render/lib/next-fonts.d.ts +3 -0
- package/dist/render/lib/next-fonts.js +1 -0
- package/dist/render/lib/popup/popup-rules.d.ts +25 -0
- package/dist/render/lib/popup/popup-rules.js +1 -0
- package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
- package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
- package/dist/render/lib/puck/blocks/service/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
- package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
- package/dist/render/lib/puck/current-product.d.ts +19 -0
- package/dist/render/lib/puck/current-product.js +1 -0
- package/dist/render/lib/puck/current-record.d.ts +44 -0
- package/dist/render/lib/puck/current-record.js +1 -0
- package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
- package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
- package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
- package/dist/render/lib/puck/footer-page-blocks.js +1 -0
- package/dist/render/lib/puck/preview-pick.d.ts +7 -0
- package/dist/render/lib/puck/preview-pick.js +1 -0
- package/dist/render/lib/puck/preview-product.d.ts +6 -0
- package/dist/render/lib/puck/preview-product.js +1 -0
- package/dist/render/lib/puck/render-client.d.ts +5 -0
- package/dist/render/lib/puck/render-client.js +1 -0
- package/dist/render/lib/puck/render-config.d.ts +4 -0
- package/dist/render/lib/puck/render-config.js +1 -0
- package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
- package/dist/render/lib/puck/slot-seeds.js +1 -0
- package/dist/render/lib/puck/storefront-root.d.ts +18 -0
- package/dist/render/lib/puck/storefront-root.js +1 -0
- package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
- package/dist/render/lib/puck/subscribe-content-type.js +1 -0
- package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
- package/dist/render/lib/puck/template-product-kind.js +1 -0
- package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
- package/dist/render/lib/sections/card-image-sizes.js +1 -0
- package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
- package/dist/render/lib/sections/card-show-defaults.js +1 -0
- package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
- package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
- package/dist/render/lib/sections/fill-row.d.ts +16 -0
- package/dist/render/lib/sections/fill-row.js +1 -0
- package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
- package/dist/render/lib/sections/hero-arrangement.js +1 -0
- package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
- package/dist/render/lib/sections/hero-gallery.js +1 -0
- package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
- package/dist/render/lib/sections/hero-price-placement.js +1 -0
- package/dist/render/lib/select-keys.d.ts +18 -0
- package/dist/render/lib/select-keys.js +1 -0
- package/dist/render/lib/site-headers.d.ts +3 -0
- package/dist/render/lib/site-headers.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +16 -0
- package/dist/render/lib/storefront-page-groups.js +1 -0
- package/dist/render/lib/storefront-page-order.d.ts +3 -0
- package/dist/render/lib/storefront-page-order.js +1 -0
- package/dist/render/lib/submit/text-kinds.d.ts +11 -0
- package/dist/render/lib/submit/text-kinds.js +1 -0
- package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
- package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
- package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
- package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -0
- package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
- package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
- package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
- package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-page-path.js +1 -0
- package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-purchase.js +1 -0
- package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
- package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
- package/dist/render/lib/tyres/tyre-size.js +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
- package/dist/render/lib/uuid.d.ts +1 -0
- package/dist/render/lib/uuid.js +1 -0
- package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
- package/dist/render/lib/wheels/applied-vehicle.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
- package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
- package/dist/render/lib/wheels/catalog-filters.js +1 -0
- package/dist/render/lib/wheels/collections.d.ts +22 -0
- package/dist/render/lib/wheels/collections.js +1 -0
- package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
- package/dist/render/lib/wheels/cover-rendering.js +1 -0
- package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
- package/dist/render/lib/wheels/detail-shots.js +1 -0
- package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
- package/dist/render/lib/wheels/finish-colour-match.js +1 -0
- package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
- package/dist/render/lib/wheels/finish-defaults.js +1 -0
- package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
- package/dist/render/lib/wheels/finish-photos.js +1 -0
- package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
- package/dist/render/lib/wheels/fitment-columns.js +1 -0
- package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
- package/dist/render/lib/wheels/fitment-options.js +1 -0
- package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
- package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
- package/dist/render/lib/wheels/fitments.d.ts +13 -0
- package/dist/render/lib/wheels/fitments.js +1 -0
- package/dist/render/lib/wheels/grid-source.d.ts +12 -0
- package/dist/render/lib/wheels/grid-source.js +1 -0
- package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
- package/dist/render/lib/wheels/listable-wheels.js +1 -0
- package/dist/render/lib/wheels/lug-count.d.ts +10 -0
- package/dist/render/lib/wheels/lug-count.js +1 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
- package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
- package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
- package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
- package/dist/render/lib/wheels/plp-filters.js +1 -0
- package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
- package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
- package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
- package/dist/render/lib/wheels/plp-grid.js +1 -0
- package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -0
- package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
- package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
- package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
- package/dist/render/lib/wheels/pre-order-intent.js +1 -0
- package/dist/render/lib/wheels/pre-order.d.ts +7 -0
- package/dist/render/lib/wheels/pre-order.js +1 -0
- package/dist/render/lib/wheels/price-display.d.ts +47 -0
- package/dist/render/lib/wheels/price-display.js +1 -0
- package/dist/render/lib/wheels/render-fit.d.ts +3 -0
- package/dist/render/lib/wheels/render-fit.js +1 -0
- package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
- package/dist/render/lib/wheels/renderable-finishes.js +1 -0
- package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
- package/dist/render/lib/wheels/selected-studs.js +1 -0
- package/dist/render/lib/wheels/set-mode.d.ts +34 -0
- package/dist/render/lib/wheels/set-mode.js +1 -0
- package/dist/render/lib/wheels/size-range.d.ts +10 -0
- package/dist/render/lib/wheels/size-range.js +1 -0
- package/dist/render/lib/wheels/spec-format.d.ts +7 -0
- package/dist/render/lib/wheels/spec-format.js +1 -0
- package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
- package/dist/render/lib/wheels/spec-sheet.js +1 -0
- package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
- package/dist/render/lib/wheels/tyre-render.js +1 -0
- package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
- package/dist/render/lib/wheels/variant-spec.js +1 -0
- package/dist/render/lib/wheels/variants.d.ts +8 -0
- package/dist/render/lib/wheels/variants.js +1 -0
- package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
- package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
- package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
- package/dist/render/lib/wheels/vehicle-memory.js +1 -0
- package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-name.js +1 -0
- package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
- package/dist/render/lib/wheels/wheel-specs.js +1 -0
- package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
- package/dist/render/lib/wheels/wheels.d.ts +38 -0
- package/dist/render/lib/wheels/wheels.js +1 -0
- package/dist/render/mocks/fitment-snapshot.json +3911 -0
- package/dist/render/mocks/gallery-builds.json +213 -0
- package/dist/words.d.ts +68 -7
- package/dist/words.js +5 -5
- package/package.json +37 -5
- package/dist/chunks/chunk-BDITPYS5.js +0 -1
- package/dist/chunks/chunk-EHKAKDFN.js +0 -255
- /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
- /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import{$ as qs,A as Vo,Aa as Hu,B as Gt,C as Ut,Ca as on,Da as Wu,E as ku,Ea as zu,H as Nr,J as Tu,Ja as Gu,K as Us,L as Fu,N as Eu,O as Pu,Q as Lu,R as $s,T as Ru,U as lo,V as pt,W as Ou,X as yo,Y as en,_ as Au,a as Iu,c as hu,ca as Bu,d as co,da as js,e as Wt,f as Ao,fa as Ks,g as Ja,h as yu,ja as _u,l as Dr,n as zs,pa as mt,ra as Du,s as Su,t as Cu,ta as Nu,u as Gs,v as Je,va as Mu,w as vu,x as wu,y as zt,z as bo,za as V}from"./chunk-K4AZ5SUU.js";import{d as gu,e as _r,f as bu,i as Uu,m as Vs}from"./chunk-76HTJBKU.js";var tn=null,qu="en",ju=null;function q5(e,o,t){tn=e??null,qu=o||"en",ju=t??null}function Q(){return ju}function Ys(){return qu}function Ku(){return tn}function $u(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(o,r)?String(o[r]):t):e}function l(e,o){let t=tn?tn[e]:void 0;if(typeof t=="function"){try{let r=t(o??{});if(typeof r=="string"&&r)return r}catch{}return $u(e,o)}return $u(typeof t=="string"&&t?t:e,o)}function so(e,o,t,r){return l(t===1?e:o,{...r,n:t})}function Be(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return typeof t=="string"&&t?t:o}return o}function Vu(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function Yu(e,o){return typeof e=="boolean"?e:o}function rn(e,o){if(!Array.isArray(e))return o;let t=e.map(r=>typeof r=="string"?r:Be(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var Xu="cart-drawer",Y5="cart-drawer";var Jv={kickerBadge:"",kickerText:"Your order",titleLead:"Your",titleAccent:"cart.",subtitleEmpty:"Empty for now.",subtitleOne:"One set in your cart.",subtitleMany:"{count} sets in your cart.",leadTimeValue:"",shipsToFallback:"",promises:[],emptyKicker:"No wheels yet",emptyBody:"Your cart is empty. Pick a wheel to get started."};function X5(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function Z5(e){let o=e??{},t=Jv;return{kickerBadge:Be(o.kickerBadge,t.kickerBadge),kickerText:Be(o.kickerText,t.kickerText),titleLead:Be(o.titleLead,t.titleLead),titleAccent:Be(o.titleAccent,t.titleAccent),subtitleEmpty:Be(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:Be(o.subtitleOne,t.subtitleOne),subtitleMany:Be(o.subtitleMany,t.subtitleMany),leadTimeValue:Be(o.leadTimeValue,t.leadTimeValue),shipsToFallback:Be(o.shipsToFallback,t.shipsToFallback),promises:rn(o.promises,t.promises),emptyKicker:Be(o.emptyKicker,t.emptyKicker),emptyBody:Be(o.emptyBody,t.emptyBody)}}var Qu="consent-banner",e3="consent-banner";var ew=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],o3="Layout",Zu={layout:"bar"},ow=e=>ew.some(o=>o.value===e);function t3(e){let o=Be((e??{}).layout,Zu.layout);return{layout:ow(o)?o:Zu.layout}}var tw=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],n3={meta:"Meta line",eyebrow:"Eyebrow",heading:"Heading",body:"Body",statName:"Stat name",statValue:"Stat value",formEyebrow:"Form eyebrow",formHeading:"Form heading",formIntro:"Form intro",fieldLabel:"Field label",option:"Option",finePrint:"Fine print",dismiss:"Dismiss link",doneHeading:"Success heading",doneBody:"Success message"},rw={meta:"styleMeta",eyebrow:"styleEyebrow",heading:"styleHeading",body:"styleBody",statName:"styleStatName",statValue:"styleStatValue",formEyebrow:"styleFormEyebrow",formHeading:"styleFormHeading",formIntro:"styleFormIntro",fieldLabel:"styleFieldLabel",option:"styleOption",finePrint:"styleFinePrint",dismiss:"styleDismiss",doneHeading:"styleDoneHeading",doneBody:"styleDoneBody"},l3={meta:{font:"--pp-meta-font",size:"--pp-meta-size"},eyebrow:{font:"--pp-eyebrow-font",size:"--pp-eyebrow-size"},heading:{font:"--pp-heading-font",size:"--pp-heading-size"},body:{font:"--pp-body-font",size:"--pp-body-size"},statName:{font:"--pp-statname-font",size:"--pp-statname-size"},statValue:{font:"--pp-statvalue-font",size:"--pp-statvalue-size"},formEyebrow:{font:"--pp-formeyebrow-font",size:"--pp-formeyebrow-size"},formHeading:{font:"--pp-formheading-font",size:"--pp-formheading-size"},formIntro:{font:"--pp-formintro-font",size:"--pp-formintro-size"},fieldLabel:{font:"--pp-fieldlabel-font",size:"--pp-fieldlabel-size"},option:{font:"--pp-option-font",size:"--pp-option-size"},finePrint:{font:"--pp-fineprint-font",size:"--pp-fineprint-size"},dismiss:{font:"--pp-dismiss-font",size:"--pp-dismiss-size"},doneHeading:{font:"--pp-doneheading-font",size:"--pp-doneheading-size"},doneBody:{font:"--pp-donebody-font",size:"--pp-donebody-size"}};function aw(e){return typeof e=="string"&&Ao.includes(e)?e:null}function Ju(e){let o={};for(let t of tw){let r=aw(e[rw[t]]);r&&(o[t]=r)}return o}var $t="site-footer";var i3=$t,f3={desktop:!0,tablet:!0,mobile:!0},c3={desktop:!1,tablet:!1,mobile:!1},Xs=1,ep=6,d3=Array.from({length:ep-Xs+1},(e,o)=>Xs+o),an={desktop:6,tablet:3,mobile:2},nw={2:{desktop:2,tablet:2,mobile:1},3:{desktop:3,tablet:3,mobile:1},4:{desktop:4,tablet:2,mobile:2},5:{desktop:5,tablet:3,mobile:2},6:{desktop:6,tablet:3,mobile:2}},xt=e=>Math.min(Math.max(Math.round(e),Xs),ep);function u3(e){if(typeof e=="number")return nw[xt(e)]??{desktop:xt(e),tablet:xt(e),mobile:xt(e)};if(e&&typeof e=="object"){let o=e;return{desktop:xt(o.desktop??an.desktop),tablet:xt(o.tablet??an.tablet),mobile:xt(o.mobile??an.mobile)}}return{...an}}var lw="subscribe-popup",b3="subscribe-popup";var sw=[lw,$t,Xu,Qu];function rp(e){return sw.includes(e)}var iw=["delay","scroll","exit"],fw=["all","chosen"],cw=["visit","days","never"],dw=["right","left"],uw={min:0,max:60},pw={min:10,max:90},mw={min:1,max:90},Qs={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
2
|
+
*Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy \u2014 the {email} and {issue} tokens are substituted here.",keepBrowsingText:"Button label",autoOpen:!1,autoOpenDelaySec:15,formSlug:"",trigger:"delay",scrollPercent:50,showOn:"all",showOnPages:[],hideAfter:"days",hideDays:7,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},be=Be,xw=Vu,op=Yu,ap=rn;function nn(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Zs(e,o,t){let r=xw(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function Iw(e){return typeof e.hideAfter=="string"?nn(cw,e.hideAfter,Qs.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":Qs.hideAfter}function hw(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function tp(e,o){if(e==null)return o;let t=r=>r.trim()?r:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let r=e.text;return typeof r=="string"?t(r):""}return o}function gw(e,o){return Array.isArray(e)?ap(e,[]):o}function bw(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:be(r.label,""),value:be(r.value,"")}}).filter(t=>t.label||t.value):o}function y3(e){let o=e??{},t=Qs;return{metaLabel:be(o.metaLabel,t.metaLabel),issueLabel:tp(o.issueLabel,t.issueLabel),issueNumber:tp(o.issueNumber,t.issueNumber),kicker:be(o.kicker,t.kicker),heading:be(o.heading,t.heading),deck:be(o.deck,t.deck),stats:bw(o.stats,t.stats),formLabel:be(o.formLabel,t.formLabel),formHeading:be(o.formHeading,t.formHeading),formIntro:be(o.formIntro,t.formIntro),firstNameLabel:be(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:be(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:be(o.emailLabel,t.emailLabel),emailPlaceholder:be(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:be(o.interestsLabel,t.interestsLabel),interests:ap(o.interests,t.interests),frequencyLabel:be(o.frequencyLabel,t.frequencyLabel),frequencies:gw(o.frequencies,t.frequencies),submitText:be(o.submitText,t.submitText),finePrint:be(o.finePrint,t.finePrint),dismissText:be(o.dismissText,t.dismissText),emailInvalidText:be(o.emailInvalidText,t.emailInvalidText),submitErrorText:be(o.submitErrorText,t.submitErrorText),successHeading:be(o.successHeading,t.successHeading),successBody:be(o.successBody,t.successBody),keepBrowsingText:be(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:op(o.autoOpen,t.autoOpen),autoOpenDelaySec:Zs(o.autoOpenDelaySec,uw,t.autoOpenDelaySec),trigger:nn(iw,o.trigger,t.trigger),scrollPercent:Zs(o.scrollPercent,pw,t.scrollPercent),showOn:nn(fw,o.showOn,t.showOn),showOnPages:hw(o.showOnPages),hideAfter:Iw(o),hideDays:Zs(o.hideDays,mw,t.hideDays),formSide:nn(dw,o.formSide,t.formSide),valuePanelOnPhone:op(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Ju(o)}}import{jsx as Js,Fragment as yw,jsxs as Sw}from"react/jsx-runtime";import{createContext as Cw,useContext as vw}from"react";var ww={mirrorHostStyles:!0,css:null,fontHrefs:[]},np=Cw(ww);function w3({value:e,children:o}){return Js(np.Provider,{value:e,children:o})}function ei(){return vw(np)}function lp(){let{css:e,fontHrefs:o}=ei();return Sw(yw,{children:[o.map(t=>Js("link",{rel:"stylesheet",href:t},t)),e?Js("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as kw}from"react/jsx-runtime";import{createContext as Tw,useContext as Fw}from"react";var sp=Tw(void 0);function E3({metadata:e,children:o}){return kw(sp.Provider,{value:e,children:o})}var ip=()=>Fw(sp);import{jsx as ke,Fragment as Gv,jsxs as Ya}from"react/jsx-runtime";import{useCallback as Xa,useEffect as Oo,useRef as g5,useState as b5}from"react";import{Button as y5,Tooltip as S5}from"efficient-shell/ui";import{SettingsSwitch as C5}from"efficient-easel/panel";import{PagesIcon as v5,StylesIcon as w5}from"efficient-easel/rail";import{PaletteIcon as k5}from"efficient-shell/icons/efficient";import{TemplateIcon as T5}from"efficient-easel/icons";import{Subtree as F5,TreeRow as Uv}from"efficient-easel/tree";import{useEasel as E5}from"efficient-easel/easel";import{useEaselStrings as $v}from"efficient-easel/strings";import{createContext as Ew,useContext as Pw}from"react";var oi=Ew(!1),R3=()=>Pw(oi);import{jsx as fe,Fragment as Qh,jsxs as Rl}from"react/jsx-runtime";import{Fragment as eO,useEffect as oO,useId as tO,useMemo as Jh,useState as Rt}from"react";import{useScreenDocument as rO}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as Ol}from"efficient-easel/draw/client";import aO from"efficient-easel/screen/components/SidePanelHead";import{jsx as te,jsxs as lt,Fragment as Pt}from"react/jsx-runtime";import{useEasel as Nh}from"efficient-easel/easel";import{useState as lc}from"react";import{jsx as tr,jsxs as wI,Fragment as j1}from"react/jsx-runtime";import{useState as kI}from"react";import{SettingsDefaultReset as K1,SettingsField as V1}from"efficient-easel/panel";import{useEaselStrings as Y1}from"efficient-easel/strings";import{AddIcon as X1}from"efficient-easel/icons";import{jsx as h,jsxs as et,Fragment as Wo}from"react/jsx-runtime";import{cloneElement as Wx,useId as DF,useRef as pf,useState as Un}from"react";import{useEasel as Qr,useSelectedFields as mf}from"efficient-easel/easel";import{readHidable as tt,hidableText as NF}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as xf,LINK_FIELD_MARKER as MF,MEDIA_FIELD_MARKER as HF,SCAFFOLD_FIELD_MARKER as WF,TEXT_FIELD_MARKER as Ho,foldMetaOf as zo,textFieldIdentifier as aU}from"efficient-easel/draw";import{jsx as xp}from"react/jsx-runtime";import{useCallback as Bw,useEffect as _w,useRef as Dw,useState as Nw}from"react";import{useEasel as Mw}from"efficient-easel/easel";import{SettingsAction as Hw}from"efficient-easel/panel";function ti(e){return typeof e=="number"&&Number.isFinite(e)}function B3(e,o){if(!ti(e))return;let t=en(yo(e));if(Object.keys(t).length===0)return;let r=t[ln];if(typeof r!="string")return t;let a=Mr(o)?Hr(r,Bo(o)??[]):r;return{...t,[Lw]:a}}var Lw="--sf-section-radius",ln="--sf-card-radius",It=["tl","tr","br","bl"];function Bo(e){if(!Array.isArray(e))return null;let o=e.filter(t=>It.includes(t));return It.filter(t=>o.includes(t))}function Mr(e){let o=Bo(e);return o!==null&&o.length<It.length}function Hr(e,o){return It.map(t=>o.includes(t)?e:"0").join(" ")}var fp=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var Rw="--sf-card-box-radius",Ow="--sf-site-card-radius",M3="sf-section-bleeds";function ri(e){return typeof e=="number"&&Number.isFinite(e)}function H3(e,o){if(!ri(e))return;let t=en(yo(e))[ln];if(typeof t!="string")return;let r=Mr(o)?Hr(t,Bo(o)??[]):t;return{[Rw]:r}}function W3(e){let o=e[ln];return typeof o=="string"?{[Ow]:o}:{}}function cp(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let r=t.props?.cardCorners,a=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:r,cardCornerSides:a}})}import{locateNode as Aw}from"efficient-easel/draw";function Wr(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function sn(e,o,t){let r=Wr(t?.zone),a=r?Aw(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function dp(e,o,t){let r=sn(e,o,t),a=r?.slot??"",n=r&&Array.isArray(r.item.props[a])?r.item.props[a]:[],s=t?.index??-1,i=s>=0?n[s]:void 0,f=i?.props?.id?String(i.props.id):"",u=Math.max(n.length-1,0);return!r||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:u}:ri(i?.props?.cardCorners)?{can:!0,others:u,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:cp(n,f)}}}:{can:!1,reason:"unset",others:u}}function up(e){return e.can?so("Gives the other card this card's Corners.","Gives the other {n} cards this card's Corners.",e.others):e.reason==="alone"?l("This is the only card in the section."):e.reason==="unset"?l("Set this card's corners first."):l("This card is not in a section that can share corners.")}function pp(e){return so("Applied to {n} card","Applied to {n} cards",e)}function mp(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as Ww}from"efficient-easel/screen/lib/puck/use-section-ops";var zw=2200,Gw="apply-corners-to-siblings",Uw="Apply to all cards";function $w({plan:e,doneCount:o,onPress:t}){return xp(Hw,{id:Gw,label:l(Uw),note:up(e),disabled:!e.can,done:o!==null,doneLabel:pp(o??0),onPress:t})}function Ip(){let{appState:e,config:o}=Mw(f=>f),t=Ww(),[r,a]=Nw(null),n=Dw(null);_w(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=dp(o,e.data.content??[],e.ui.itemSelector),i=Bw(()=>{mp(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),zw))},[s,t]);return xp($w,{plan:s,doneCount:r,onPress:i})}var hp=1;function qw(e){return yo(e)}function r4(e){let o=qw(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var gp=1,bp="Corners";function jw(e){return yo(e)}function s4(e,o){let t=jw(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Mr(o)?Hr(r,Bo(o)??[]):r}}var _o={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]}},ai=Object.keys(_o),Sp=[2,3,4,6];function Cp(e){return typeof e!="string"||e===""?null:_o[e]??null}function yp(e,o){return o?6/e.acrossPhone:12/e.across}var Kw="sf-wall--";function Vw(e){return`${Kw}${e}`}function f4(e){let o=_o[e],t=`.${Vw(e)}`,r=[],a=(n,s)=>{let i=[],f=n.length;n.forEach(([u,p],m)=>{i.push(`${t} > :nth-child(${f}n+${m+1}){grid-column:span ${u};grid-row:span ${p}}`)});for(let u=1;u<f;u+=1)i.push(`${t}:has(> :nth-child(${f}n+${u}):last-child) > :nth-last-child(-n+${u}){grid-column:span ${s};grid-row:span 1}`);return i};return r.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),r.push(...a(o.desktop,yp(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,yp(o,!0))),r.push("}"),r.join("")}var fn=12,vp=1,Yw=3;var Xw=3;function ni(e,o,t){let r=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(r)?Math.min(t,Math.max(o,Math.trunc(r))):null}function Zw(e){return ni(e,1,fn)??Xw}function u4(e,o){return ni(e,vp,Yw)??(Zw(o)===4?2:vp)}function p4(e){return e==null||e===""?null:ni(e,1,fn)}var m4="data-sf-span";function x4(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Cp(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var So=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],cn="bottom-left";var dn={"top-left":"Top left","top-center":"Top center","top-right":"Top right",left:"Left",center:"Center",right:"Right","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"};function Qw(e){let o=So.indexOf(ht(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function Jw(e){return 1+Qw(e).band*6}function h4(e){return Jw(e)+1}function ht(e){return So.includes(e)?e:cn}function g4(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function b4(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function li(e,o){let t=ht(o);return e.filter(r=>ht(r?.props?.placement)===t).length}function wp(e){return`${dn[ht(e)]} already holds 4 boxes. Move one somewhere else first.`}function si(e,o){let t=e.filter(r=>r?.props?.id!==o);return So.map(r=>{let a=li(t,r)>=4,n=dn[r];return a?{value:r,label:n,disabled:!0,title:wp(r)}:{value:r,label:n}})}function un(e,o){let t=o===void 0?cn:ht(o?.props?.placement);return li(e,t)>=4?wp(t):null}var pn="HeroGroup";function ek(e){return So.map(o=>{let t=li(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function ii(e){let o=ek(e);return o.length===0?null:o.map(({anchor:t,total:r,hidden:a})=>{let n=dn[t],s=a===1?"1 is not shown":`${a} are not shown`;return`${n} holds ${r} boxes. The published page draws the first 4, so ${s}. ${a===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function kp(e,o){let t=o;if(t?.type!==pn)return null;let r=t.props?.id===void 0?"":String(t.props.id);return r?un(fi(e,r),t):null}function fi(e,o){let t=Fp(e,o);return t&&t.ownerType===tk?t.siblings:[]}function Tp(e,o){let t=Fp(e,o);return t?t.ancestorTypes.filter(r=>r===pn).length:ok}var ok=1,tk="HeroSlide";function Fp(e,o){let t=a=>Array.isArray(a)&&a.length>0&&a.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),r=(a,n,s)=>{if(n>12||!a||typeof a!="object")return null;if(t(a)){if(a.some(i=>i?.props?.id===o))return{siblings:a,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of a){let f=i.type,u=r(i,n+1,[...s,String(f)]);if(u)return u}return null}for(let i of Object.values(a)){let f=r(i,n+1,s);if(f)return f}return null};return r(e,0,[])}import{jsx as rk}from"react/jsx-runtime";var ak="sf-hint-keep";function Ep({children:e}){return rk("span",{className:ak,children:e})}import{AdjustIcon as zF,AlignLeftIcon as GF,EyeIcon as UF,AlignSeparateIcon as $F,AnimationIcon as zx,BackgroundIcon as qF,BorderAllIcon as jF,BlockSectionIcon as KF,CartIcon as VF,ColumnWidthsIcon as Gx,ColumnsIcon as YF,CornerIcon as XF,DirectionDownIcon as ZF,DirectionLeftIcon as QF,DirectionRightIcon as JF,DirectionUpIcon as eE,DollarIcon as oE,FinishIcon as tE,GapIcon as Ux,GridIcon as rE,GroundIcon as aE,HashIcon as $x,HeightIcon as nE,ImageIcon as lE,ListIcon as sE,LocationIcon as uf,NudgeIcon as iE,PaddingAllIcon as fE,PaddingBottomIcon as qx,PaddingLeftIcon as jx,PaddingRightIcon as Kx,PaddingTopIcon as Vx,PageIcon as Yx,PhoneIcon as cE,PlacementIcon as dE,ProductSizeIcon as uE,StickyIcon as pE,RotateIcon as mE,SquareIcon as xE,TypeIcon as IE,WidthIcon as hE,WrapIcon as gE}from"efficient-easel/icons";import{jsx as ne,Fragment as Co,jsxs as vo}from"react/jsx-runtime";import{TitleIcon as nk,ButtonIcon as lk,DollarIcon as sk,HashIcon as ik,LinkIcon as fk,NoteIcon as ck,TagIcon as dk,TextLinesIcon as uk}from"efficient-easel/icons";var Pp={body:uk,button:lk,link:fk,label:dk,number:ik,price:sk,note:ck,title:nk},Lp={eyebrow:vo(Co,{children:[ne("path",{d:"M5 6.5h5"}),ne("path",{d:"M5 12.5h14"}),ne("path",{d:"M5 18h11"})]}),heading:vo(Co,{children:[ne("path",{d:"M6.5 5v14"}),ne("path",{d:"M17.5 5v14"}),ne("path",{d:"M6.5 12h11"})]}),intro:vo(Co,{children:[ne("path",{d:"M4 5.5v13"}),ne("path",{d:"M8 7.5h12"}),ne("path",{d:"M8 12h12"}),ne("path",{d:"M8 16.5h8"})]}),value:vo(Co,{children:[ne("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),ne("path",{d:"M6.5 12h7"})]}),name:vo(Co,{children:[ne("path",{d:"M6 3.5v17"}),ne("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:vo(Co,{children:[ne("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),ne("path",{d:"M4 10.5h16"}),ne("path",{d:"M9 3.2v4.4"}),ne("path",{d:"M15 3.2v4.4"})]}),caption:vo(Co,{children:[ne("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),ne("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),ne("path",{d:"M6.5 19.5h11"})]}),quote:vo(Co,{children:[ne("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),ne("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:vo(Co,{children:[ne("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),ne("path",{d:"M8 9.5h8"}),ne("path",{d:"M12 9.5v5"})]}),meta:vo(Co,{children:[ne("path",{d:"M4 7h16"}),ne("path",{d:"M4 14h3.5"}),ne("path",{d:"M10.5 14h3"}),ne("path",{d:"M17 14h3"})]})};function ci({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=Pp[e];return n?ne("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:ne(n,{size:o})}):ne("svg",{className:r,style:a,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Lp[e]})}var k4=Object.keys(Pp);var T4=Object.keys(Lp);var pk="#ffffff",mk=/^#[0-9a-fA-F]{6}$/;function di(e){return xk(e)?e:pk}function xk(e){return typeof e=="string"&&mk.test(e)}function E4(e){return{"--bg":di(e)}}var ui=[{role:"bg",token:"--bg",ink:!1},{role:"fg",token:"--fg",ink:!0},{role:"surface",token:"--site-surface",ink:!1},{role:"surface-2",token:"--site-surface-2",ink:!1},{role:"line",token:"--site-line",ink:!0},{role:"muted",token:"--fg-dim",ink:!0}],Ik=ui.filter(e=>e.ink);function hk(e){let o={color:e.fg};for(let{role:t,token:r}of Ik)o[r]=e[t];return o}var gk={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Rp=Object.freeze(hk(gk));var mn=-1,bk="sf-section-accent",Op="Color",Ap=new Set(["CategoryBar","DocTabs"]),O4=new Set(["Flex"]),yk=0;function pi(e){return e===mn?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:yk}function A4(e){return e??mn}function Sk(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:r}of ui)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function B4(e){let o=pi(e.sectionAccent);return o===null?null:{className:bk,style:Sk(o)}}var Ck=["fade","rise","scale"],mi="none",Bp=[{label:"None",value:mi},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function N4(e){return Ck.includes(e)?e:null}var _p="data-sf-anim",zr="data-sf-anim-state";function M4(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(_p))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(zr,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),vk(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(zr)}}function vk(e){if(!e.getAttribute(_p))return;e.removeAttribute(zr),e.offsetWidth,e.setAttribute(zr,"play");let o=t=>{t.target===e&&(e.removeAttribute(zr),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var H4=Ap;function Ii(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let r of t){if(!r||typeof r!="object")continue;let a=r.props;if(a?.id===o)return null;if(xi(r,o,0))return a??{}}return null}function xi(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>xi(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>xi(a,o,t+1))}import{SettingsDefaultReset as Ge,SettingsField as ie,SettingsGroupHead as bE,SettingsGroupSub as yE,SettingsBorder as SE,SettingsSegmented as CE,SettingsSides as vE,SettingsSidesEach as Xx,sidesStartEach as wE,SettingsSwitch as Zx,borderSides as kE,borderStartEach as TE}from"efficient-easel/panel";import{FieldSelect as FE,ListField as EE}from"efficient-easel/fields";import{DisplayChips as PE}from"efficient-shell/ui";function qt(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,r]of Object.entries(e))typeof r=="boolean"&&(o[t]=r);return o}function xn(e,o){return qt(e)[o]!==!1}function hi(e,o,t){let r=qt(o)[t];return typeof r=="boolean"?r:xn(e,t)}function Dp(e){return Object.values(qt(e)).some(o=>o===!1)}function Np(e){return Object.keys(qt(e)).length>0}function Mp(e,o,t){let r={...qt(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function Hp(e,o,t){return{...qt(e),[o]:t}}function G4(e,o,t){let r=xn(e,t),a=hi(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as LE,Checkbox as vU,CornersInput as RE,DateTimePicker as OE,FOCAL_DEFAULT as wU,PictureTiles as Qx,PositionInput as AE,Slider as BE,Tooltip as Jx}from"efficient-shell/ui";import{jsx as gt,jsxs as kk}from"react/jsx-runtime";import{ColorPicker as Tk,HexInput as Fk}from"efficient-shell/ui";import{SettingsDefaultReset as Ek,SettingsField as Pk}from"efficient-easel/panel";import{typedHex as gi}from"efficient-easel/pick";import{typedHex as wk}from"efficient-easel/pick";function Wp(e){let o=new Set,t=[];return Je(e).themes.forEach((r,a)=>{let n=[[l("Theme {n} main color",{n:a+1}),r.accent],[l("Theme {n} text color",{n:a+1}),r.text],[l("Theme {n} background",{n:a+1}),r.background]];for(let[s,i]of n){let f=i?wk(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function io({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s,ariaLabel:i}){return gt(Rk,{value:e,onChange:o,label:l(i??t),id:r,caption:a,inherited:n,after:s})}function Lk(){let{theme:e}=V();return Wp(e).map(o=>({value:o.value,label:o.name}))}function Rk({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s}){let i=Lk(),f=e?null:gi(n??""),u=a!==void 0&&(!e||gi(a)!==gi(e))?a:null,p=m=>{m!==e&&o(m)};return kk("div",{className:"sf-colour",children:[gt(Tk,{id:r,value:e,onChange:p,label:t,presets:i,fallback:f??void 0,size:"sm",align:"end"}),u!==null?gt("span",{className:"sf-colour-caption",children:u}):gt("span",{className:"sf-colour-hexwrap",children:gt(Fk,{value:e||f||"",onChange:p,label:l("{label} hex code",{label:t}),placeholder:e||f?void 0:l("Not set"),className:f?"sf-colour-hex is-inherited":"sf-colour-hex",size:"sm"})}),s]})}function In({label:e,icon:o,value:t,inherited:r,resetTo:a,onChange:n,onReset:s,hint:i}){let f=!!t;return gt(Pk,{label:e,icon:o,changed:f,action:io({value:t,inherited:f?void 0:r,onChange:n,label:e,after:gt(Ek,{words:Q()?.panel,label:e,changed:f,detail:a,onReset:s})}),hint:i})}import{jsx as Gr}from"react/jsx-runtime";import{useEffect as Jk,useState as eT}from"react";import{markSelection as oT,useCaretEdit as tT}from"efficient-easel/copy";import{RevertIcon as rT}from"efficient-easel/icons";import{IconButton as aT,TextToolbar as nT,Tooltip as lT}from"efficient-shell/ui";import{applyMark as s6,markupTools as i6,MARKUP_TOOLS as f6,COPY_FIELD_TOOLS as c6,STOREFRONT_MARKUP as d6,tokenizeInline as u6,stripInline as p6,isSafeLinkHref as m6}from"efficient-shell/markup";import{applyMark as Uk,markedAt as $k,markupTools as qk,MARKUP_TOOLS as jk,parseMarkup as Kk,RETIRED_MARKS as Vk,STOREFRONT_MARKUP as Yk,tokenizeInline as I6}from"efficient-shell/markup";var bt=["highlight","strong","quiet"],yt={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},wo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},$p=Object.fromEntries(bt.map(e=>[wo[e].kind,e])),qp="data-sf-ws",hn=["accent","text","labels"],jp={accent:"Accent",text:"Text",labels:"Labels"},Do={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Ok=80,Ak=120,Bk=100,_k=900,Dk=.5,Nk=3,Mk=-.1,Hk=.5,Wk=3,bi={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},zk={highlight:{...bi},strong:{...bi},quiet:{...bi}};function zp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Gp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**Wk;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function Up(e){return typeof e=="boolean"?e:null}function Gk(e){let o=typeof e?.font=="string"&&co.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&hn.includes(e.colour)?e.colour:null;return{font:o,size:zp(e?.size,Ok,Ak),weight:zp(e?.weight,Bk,_k),bold:Up(e?.bold),italic:Up(e?.italic),lineGap:Gp(e?.lineGap,Dk,Nk),textGap:Gp(e?.textGap,Mk,Hk),colour:t}}function Kp(e){let o={};for(let t of bt)o[t]=e&&t in e&&e[t]?Gk(e[t]):{...zk[t]};return o}function r6(e){let o=Kp(e),t={};for(let r of bt){let a=o[r],n=`--sf-ws-${r}`;if(a.font){let s=co.find(i=>i.key===a.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}a.size!==null&&(t[`${n}-size`]=`${a.size/100}em`),a.weight!==null&&(t[`${n}-weight`]=String(a.weight)),a.bold!==null&&(t[`${n}-weight-bold`]=a.bold?"700":"400"),a.italic!==null&&(t[`${n}-style`]=a.italic?"italic":"normal"),a.lineGap!==null&&(t[`${n}-line`]=String(a.lineGap)),a.textGap!==null&&(t[`${n}-track`]=`${a.textGap}em`),a.colour!==null&&(t[`${n}-color`]=Do[a.colour])}return t}function a6(e){let o=e?.word_styles??void 0,t={};for(let r of bt)o&&r in o&&(t[r]=o[r]??null);return Kp(t)}var Xk=new Set(["strong"]),Vp=bt.map(e=>({open:wo[e].delimiter,close:wo[e].delimiter,kind:wo[e].kind,...Xk.has(e)?{wordStart:!0}:{}})),g6=[{style:wo.highlight.kind,label:yt.highlight,title:`${yt.highlight} word style`},{style:wo.strong.kind,label:yt.strong,title:`${yt.strong} word style`},{style:wo.quiet.kind,label:yt.quiet,title:`${yt.quiet} word style`}],Zk=new Set(Vp.map(e=>e.open)),jt=[...Yk.filter(e=>!Zk.has(e.open)),...Vp];function yi(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Si(e){return Kk(typeof e=="string"?e:"",jt)}var Qk=jk.map(e=>e.style).filter(e=>!Vk.includes(e)).filter(e=>jt.some(o=>o.kind===e));function Yp(){return qk(Qk)}var Xp=Object.fromEntries(bt.map(e=>[wo[e].kind,wo[e].delimiter]));function Zp(e,o,t,r){let a=Xp[r];if(!a)return Uk(e,o,t,r);let n=e.slice(o,t),s=e.slice(Math.max(0,o-a.length),o),i=e.slice(t,t+a.length);if(s===a&&i===a)return{text:e.slice(0,o-a.length)+n+e.slice(t+a.length),selectionStart:o-a.length,selectionEnd:o-a.length+n.length};let f=n||"styled text";return{text:e.slice(0,o)+a+f+a+e.slice(t),selectionStart:o+a.length,selectionEnd:o+a.length+f.length}}function Qp(e,o,t,r){let a=Xp[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:$k(e,o,t,r)}function St(e){return Si(e).map(o=>yi(o)+Jp(o.children)).join(`
|
|
3
|
+
`)}function Jp(e){return e.map(o=>o.kind==="text"?o.text:Jp(o.children)).join("")}var em="Clear formatting";function sT(e,o,t){return oT(e,o,t,Zp)}function iT(e){let[o,t]=eT(null);return Jk(()=>{let r=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!r)return;let a=()=>{let n=e.current;if(!n||r.activeElement!==n)return;let s=n.selectionStart??n.value.length,i=n.selectionEnd??s;t(f=>f&&f.start===s&&f.end===i?f:{start:s,end:i})};return r.addEventListener("selectionchange",a),()=>r.removeEventListener("selectionchange",a)},[e]),[o,t]}function fT({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=tT({target:e,onChange:t}),[s,i]=iT(e),f=x=>n(I=>{let b=sT(o,x,I);return i({start:b.selectionStart,end:b.selectionEnd}),b}),u=Yp(),p={};if(s)for(let x of u)p[x.style]=Qp(o,s.start,s.end,x.style);let m=St(o);return Gr(nT,{offered:new Set(u.map(x=>x.style)),onMark:x=>f(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:Gr("span",{className:"sf-markup-clear",children:Gr(lT,{content:l(em),children:Gr(aT,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(em),children:Gr(rT,{size:14})})})})})}var Ci=fT;import{deviceField as _e}from"efficient-easel/screen/lib/puck/device-fields";import{NO_CONTROL_FIELD as _E,NoControlMark as $n,noControlField as Jr}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var vi="__ownBox";function om(e){return!!e&&typeof e=="object"&&e[vi]===!0}function No(e){return`${e}Phone`}function gn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var bn=void 0;import{jsx as ki,Fragment as uT}from"react/jsx-runtime";import{createContext as pT,useContext as mT}from"react";var yn={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},Sn={Events:["posts"],SubscribeBlogs:["posts"]};var cT=["anchor"],dT=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Ur(e){return cT.includes(e)||dT.test(e)}var wi={Gallery:{source:{verb:"snapshot",keep:[]}},ProductHero:{source:{verb:"snapshot",keep:[]}},SpecTable:{source:{verb:"snapshot",keep:[]},wheel:{verb:"reference"},finish:{verb:"reference"},size:{verb:"reference"}},CollectionCard:{collection:{verb:"snapshot",keep:[]}},FooterMenu:{menu:{verb:"snapshot",keep:[]}},MenuBlock:{menu:{verb:"snapshot",keep:[]}},ProductGrid:{design_codes:{verb:"reference"}},ProductRef:{code:{verb:"reference"},finish:{verb:"reference"}},FitmentTable:{wheel:{verb:"reference"}},GalleryItem:{fromProduct:{verb:"reference"}},Footprint:{"offices[].group":{verb:"groupKey"},"offices[].lat":{verb:"pii"},"offices[].lng":{verb:"pii"},"offices[].geocode":{verb:"pii"}}};wi.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var O6=Object.fromEntries(Object.entries(yn).map(([e,o])=>[e,Object.keys(o)])),A6=Object.fromEntries(Object.entries(Sn).map(([e,o])=>[e,[...o]]));import{NoControlMark as xT}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var tm=pT(!1);function rm({children:e}){return ki(tm.Provider,{value:!0,children:e})}function IT(){return mT(tm)}function am({name:e,children:o}){return!IT()||!e||Ur(e)?ki(uT,{children:o}):ki(xT,{})}function eo(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var Ti="off",Fi="none",Ei=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],Pi=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function G6(e){return eo(Ei,Ti,e)}function U6(e){return eo(Pi,Fi,e)}var nm="sf-card-index",$r="sf-card-index",$6="pointer-events-none absolute left-[18px] top-[18px] z-10 border border-line bg-bg/70 px-2 py-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.16em] text-fg-dim",hT={plain:`counter(${$r})`,padded:`counter(${$r}, decimal-leading-zero)`,numero:`"N\xB0" counter(${$r}, decimal-leading-zero)`};function q6(e,o){return o==="off"?"":`.${e}{counter-reset:${$r}}.${e} .${nm}{counter-increment:${$r}}.${e} .${nm}::before{content:${hT[o]}}`}function j6(e){return e==="hairline"?"border border-line hover:border-accent":""}var lm=[{value:"1",label:"1st rendering"},{value:"2",label:"2nd rendering"},{value:"3",label:"3rd rendering"},{value:"4",label:"4th rendering"},{value:"5",label:"5th rendering"}];import{SCALAR_TEXT_CONTROLS as DE}from"efficient-easel/draw";import{jsx as ko}from"react/jsx-runtime";import{SettingsDefaultReset as bT,SettingsField as sm}from"efficient-easel/panel";import{useSelectedFields as yT}from"efficient-easel/easel";import{FOCAL_DEFAULT as ST}from"efficient-shell/format";import{ImageIcon as im,PlayIcon as fm}from"efficient-easel/icons";import{MediaUploadField as CT}from"efficient-shell/ui";import{useContext as vT}from"react";import{ScreenDocumentContext as wT}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as kT}from"efficient-easel/draw/client";import{requestMediaPick as TT}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as FT}from"efficient-easel/screen/lib/host";import{backendOf as gT}from"efficient-easel/screen/lib/session";var We=gT,Cn=e=>e.blocks;import{useEaselSession as ET}from"efficient-easel/screen/lib/session-context";function PT(e,o){let t=null;try{t=yT()}catch{t=null}let r=kT()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):ST,n=No(e),s=typeof t.values?.[n]=="string"&&t.values[n]?String(t.values[n]):void 0,i=t.onChange;return{phone:r,desktop:a,own:s,focus:r?s??a:a,set:f=>i(r?n:e,f),clear:()=>i(n,bn)}}function cm({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=FT(),f=ET(),u=l(t),p=r.startsWith("video"),m=PT(p?void 0:n,s),x=vT(wT),I=S=>TT(i,{accept:r,title:u,...S?{file:S}:{}}).then(w=>w?.url??null);if(x&&!x.capabilities.mediaEditing)return ko(sm,{label:u,icon:p?ko(fm,{}):ko(im,{}),children:ko("div",{className:"sf-image-slot-inert",children:p?l("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):l("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let b=m?.phone&&e?ko(bT,{words:Q()?.panel,label:l("Image focus"),changed:!!m.own,detail:l("{value} on desktop",{value:m.desktop}),onReset:m.clear}):void 0;return ko(sm,{label:u,icon:p?ko(fm,{}):ko(im,{}),action:b,children:ko("div",{style:{flex:"1 1 auto",minWidth:0},children:ko(CT,{value:e,onChange:o,onPick:I,accept:p?"video/*":"image/*",kind:p?"video":"image",placeholder:a===void 0?void 0:l(a),maxSizeBytes:We(f).media.maxUploadBytes,...m?{focus:m.focus,onFocusChange:m.set}:{}})})})}import{jsx as dm}from"react/jsx-runtime";import{useId as LT}from"react";import{FieldSelect as RT}from"efficient-easel/fields";import{SettingsField as OT}from"efficient-easel/panel";function AT(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function um({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=LT(),f=`${i}-label`,u=`${i}-button`,p=Array.isArray(t)?t:[];return dm(OT,{label:l(e),labelId:f,icon:n,hint:s,children:dm(RT,{id:u,multiple:!0,value:p,options:AT(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${f} ${u}`,inline:!0})})}import{jsx as Pe,jsxs as vt,Fragment as a0}from"react/jsx-runtime";import{useCallback as n0,useContext as l0,useEffect as s0,useId as Fm,useRef as km,useState as Tm}from"react";import{ThemeIcon as i0}from"efficient-easel/icons";import{SettingsField as f0}from"efficient-easel/panel";import{ScreenDocumentContext as c0}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Y,jsxs as Xo,Fragment as zT}from"react/jsx-runtime";import{SettingsField as Oi,SettingsGroupSub as GT}from"efficient-easel/panel";import{Button as Ri}from"efficient-shell/ui";import{jsx as Yo,jsxs as pm}from"react/jsx-runtime";import{SettingsField as BT}from"efficient-easel/panel";import{AccentIcon as _T}from"efficient-easel/icons";import{Tooltip as DT}from"efficient-shell/ui";function Li(e){return bo(e).background}function NT(e){let o=Vo(e.accent,Li(e));return o===null?null:{ratio:o,grade:Ut(o)}}function MT(e){let o=Li(e),t=Vo(e.accent,o);return t===null?[]:ku(e.accent).filter(r=>{let a=Vo(r,o);return a!==null&&a>t&&Ut(a)==="good"})}var HT={good:"Easy to read","large-only":Gt["large-only"],hard:Gt.hard};function mm({value:e,onChange:o}){let t=NT(e),r=t?.grade,a=t&&t.grade!=="good"?MT(e):[];return Yo(BT,{label:l("Main color"),icon:Yo(_T,{}),hint:t?l(HT[t.grade]):void 0,action:Yo(io,{value:e.accent,onChange:n=>o({...e,accent:n}),label:l("Main color")}),children:a.length>0?Yo("div",{className:"w-full min-w-0",children:pm("div",{className:"sf-readability",children:[Yo("p",{className:"sf-readability-advice",children:WT(r,!0)}),Yo("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=Vo(n,Li(e));return Yo(DT,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:pm("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[Yo("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function WT(e,o){return e?e==="good"?l("This color reads clearly on your pages."):o?l("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):l("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."):l("Pick a color to see how it reads.")}import{ButtonIcon as UT,GroundIcon as $T,LayoutIcon as qT,SquareIcon as jT,TextSmallIcon as KT,TypeIcon as xm}from"efficient-easel/icons";var qr=e=>l("Theme {n}",{n:e+1});function Im({colors:e}){let o=bo(e),t=Nr(e)??o.accent;return Xo("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[Y("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),Xo("span",{className:"sf-theme-headline",children:[l("Heading")," ",Y("span",{style:{color:o.accent},children:l("accent")})]}),Y("span",{className:"sf-theme-body",children:l("body text")}),Xo("span",{className:"sf-theme-row",children:[Y("span",{className:"sf-theme-btn",style:{background:t,color:Us(e,o.accent)},children:l("button")}),Y("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var Ai={"Text color":Y(xm,{}),"Label color":Y(KT,{}),Background:Y($T,{}),"Panels & cards":Y(qT,{}),Borders:Y(jT,{}),"Button color":Y(UT,{}),"Button text color":Y(xm,{})};function VT({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return Y(Oi,{label:l(e),icon:Ai[e],htmlFor:n,action:Y(io,{id:n,label:l(e),value:t,onChange:s=>r(o,s)})})}function YT({value:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button`,n=/^#[0-9a-fA-F]{6}$/.test(e??""),s=n?e:o;return Y(Oi,{label:l("Button color"),icon:Ai["Button color"],htmlFor:a,action:Y(io,{id:a,label:l("Button color"),value:s,caption:n?s:l("Main"),onChange:t})})}function XT({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=Tu(e),s=Us(e,o),i=Nr(e)??o,f=Ut(Vo(s,i)??0);return Y(Oi,{label:l("Button text color"),icon:Ai["Button text color"],hint:n&&f!=="good"?l("{grade} on the button",{grade:l(Gt[f])}):void 0,htmlFor:a,action:Y(io,{id:a,label:l("Button text color"),value:s,caption:n?s:l("Auto"),onChange:t})})}var ZT=[{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 Bi({colors:e,onChange:o,idPrefix:t}){let r=bo(e);return Y(zT,{children:ZT.map(a=>"colour"in a?Y(mm,{value:e,onChange:o},"colour"):"group"in a?Y(GT,{title:l(a.group)},a.group):"button"in a?Y(YT,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?Y(XT,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):Y(VT,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function vn({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:f}){let u=bo(o),p=qr(e),m=e<Gs.length&&!o.brandInk?Gs[e]:null,x=Ut(Vo(u.text,u.background)??0),I=m?JSON.stringify(o)!==JSON.stringify(m):!1,b=a!==void 0;return Xo("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[Y("button",{type:"button",role:r,"aria-checked":r==="radio"?t:void 0,"aria-selected":r==="option"?t:void 0,"aria-label":p,className:"sf-theme-pick",onClick:s,children:Y(Im,{colors:o})}),Xo("div",{className:"sf-theme-foot",children:[Y("span",{className:"sf-theme-name",children:p}),x!=="good"&&Y("span",{className:"sf-theme-warn",children:l(Gt[x])}),n&&i&&Y(Ri,{variant:a?"primary":"secondary",size:"sm",className:"sf-theme-edit","aria-expanded":b?a:void 0,"aria-controls":b?`sf-theme-colours-${e}`:void 0,"aria-label":a?l("Done {name}",{name:p}):l("Edit {name}",{name:p}),onClick:i,children:a?l("Done"):l("Edit")})]}),a&&Xo("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[Y(Bi,{colors:o,onChange:S=>f?.(S)}),m&&Y(Ri,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!I,onClick:()=>f?.({...m}),children:I?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function hm({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:f,onEdit:u}){return Xo("div",{className:"sf-secttheme-btn",children:[Y("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":r,"aria-controls":a,"aria-labelledby":`${n} ${t}`,onClick:i,onKeyDown:f,children:e?Y(Im,{colors:e}):Y("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Xo("div",{className:"sf-theme-foot",children:[Y("span",{id:t,className:"sf-theme-name",children:o}),u&&Y(Ri,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:u,children:l("Edit")}),Y("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:Y("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as Wi,useEffect as Cm,useRef as Fn}from"react";import{currentEaselSession as e0}from"efficient-easel/screen/lib/session";import{useEaselSession as o0}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as QT}from"react";var bm,_i=null,Ct=null,wn=0,Di=new Set;function Ni(e){bm=e;for(let o of Di)o()}function Mi(e){_i=e,wn+=1,Ct&&clearTimeout(Ct),Ct=null,Ni(void 0)}function ym(e){wn+=1,Ni(e)}function kn(e=250){_i&&(Ct&&clearTimeout(Ct),Ct=setTimeout(()=>{Ct=null;let o=_i;if(!o)return;let t=++wn;o().then(r=>{t===wn&&Ni(r)}).catch(()=>{})},e))}function gm(){return bm}function JT(e){return Di.add(e),()=>{Di.delete(e)}}function Tn(){return QT(JT,gm,gm)}var Hi=new Set;function Sm(e){return Hi.add(e),()=>{Hi.delete(e)}}async function MW(){let e=(await Promise.allSettled([...Hi].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as t0}from"efficient-easel/screen/lib/backend-error";function vm(e=e0()){return(o,t,r)=>{let a=We(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new t0("invalid","This backend stores no site theme."))}}function wm(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function r0(e,o=vm()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=wm({themeFromDocument:t,token:r});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,r,a??void 0),{status:"saved"}}catch(i){return{status:"failed",error:i}}}function Kt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=Fn(null),n=Fn({}),s=o0(),i=Fn(r);i.current=r;let f=Fn(null),u=Wi(x=>{if(x.status==="skipped"){let I=`skipped:${x.reason}`;if(f.current===I)return;f.current=I}else f.current=null;i.current?.(x)},[]),p=Wi(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let I=await r0({themeFromDocument:e,token:o?.current,siteId:t,patch:x},vm(s));return u(I),I.status==="saved"&&kn(),I.status==="failed"&&(n.current={...x,...n.current}),I},[e,o,t,u,s]),m=Wi((x,I=!1)=>{let b=wm({themeFromDocument:e,token:o?.current});if(b){u(b);return}n.current={...n.current,...x},a.current&&clearTimeout(a.current),I?p():a.current=setTimeout(()=>{p()},500)},[e,o,p,u]);return Cm(()=>()=>{p()},[p]),Cm(()=>Sm(async()=>{if(!a.current&&Object.keys(n.current).length===0)return;let x=await p();if(x.status==="failed")throw x.error}),[p]),{persist:m,flush:p}}var d0="Follow the page",nz="Follow the slideshow",u0=e=>l("Editing {name} changes it everywhere.",{name:e});function p0({colors:e}){if(!e)return Pe("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=bo(e);return vt("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[Pe("i",{style:{background:o.background}}),Pe("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function m0({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return vt("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&vt(a0,{children:[vt("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(mn),children:[Pe(p0,{}),Pe("span",{className:"sf-secttheme-name",children:l(n)})]}),Pe("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&Pe("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:qr(o)})}),e.map((s,i)=>i===o?null:Pe(vn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function x0({index:e,colors:o,onChange:t,onDone:r}){let a=qr(e),n=Fm();return vt("div",{className:"sf-secttheme-sheet",children:[vt("div",{className:"sf-secttheme-sheet-head",children:[Pe("span",{children:a}),Pe("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:l("Done")})]}),Pe("div",{className:"sf-secttheme-rows",children:Pe(Bi,{colors:o,onChange:t,idPrefix:n})}),Pe("p",{className:"sf-secttheme-warn",children:u0(a)})]})}function Em({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=V(),s=Je(a),i=l0(c0),f=i?.tokenRef,u=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=Kt({themeFromDocument:p,tokenRef:f,siteId:u}),I=Je(s),b=I.themes,S=pi(e),w=S!==null?b[S]:void 0,E=w??(b.length?zt(I):void 0),[v,g]=Tm(!1),[y,L]=Tm(null),F=km(null),R=km(null),T=Fm(),D=n0(()=>{g(!1),L(null)},[]);s0(()=>{if(!v&&y===null)return;let O=H=>{F.current&&!F.current.contains(H.target)&&(x(),D())};return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[v,y,D,x]);let G=O=>{o(O),D()},B=O=>{if(y===null)return;let H=b.map((ae,se)=>se===y?O:ae),_={...I,themes:H};n(_),m({selected_preset:_.selected,theme_presets:_.themes})};return vt("div",{className:"sf-secttheme",ref:F,children:[Pe(f0,{label:l("Theme"),icon:Pe(i0,{}),labelId:`${T}-label`,hint:r,children:Pe(hm,{colors:E,onEdit:S!==null?()=>{L(S),g(!1)}:void 0,name:w?qr(S):l(t??d0),nameId:`${T}-value`,labelId:`${T}-label`,open:v,menuId:T,buttonRef:R,onClick:()=>{L(null),g(O=>!O)},onKeyDown:O=>{O.key==="Escape"&&(v||y!==null)&&(O.preventDefault(),D())}})}),v&&y===null&&Pe("div",{onKeyDown:O=>{O.key==="Escape"&&(O.preventDefault(),D(),R.current?.focus())},children:Pe(m0,{themes:b,value:S,onPick:G,onEdit:O=>{L(O),g(!1)},menuId:T,followLabel:t})}),y!==null&&b[y]&&Pe(x0,{index:y,colors:b[y],onChange:B,onDone:()=>{x(),D(),R.current?.focus()}})]})}import{jsx as Pm}from"react/jsx-runtime";import{useId as I0}from"react";import{FieldSelect as h0}from"efficient-easel/fields";import{SettingsField as g0}from"efficient-easel/panel";function b0(e){return e.map(({value:o,label:t,group:r,thumb:a,meta:n})=>({value:o,label:t,...r!==void 0?{group:r}:{},...a!==void 0?{thumb:a}:{},...n!==void 0?{meta:n}:{}}))}function uz({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let f=I0(),u=`${f}-label`,p=`${f}-button`,m=r??"",x=o.some(w=>w.value===m)?m:t,I=l(e),b=n===void 0?void 0:l(n),S=Pm(h0,{id:p,value:x,options:b0(o),onChange:a,placeholder:b,searchPlaceholder:b,...s?{ariaLabel:I}:{ariaLabelledBy:`${u} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?S:Pm(g0,{label:I,labelId:u,icon:i,children:S})}import{jsx as kt,jsxs as w0}from"react/jsx-runtime";import{SettingsField as Mm}from"efficient-easel/panel";import{LinkIcon as k0}from"efficient-easel/icons";import{LinkPicker as T0,TextLinkField as F0}from"efficient-shell/ui";import{useEffect as Nm,useMemo as Ln,useRef as E0,useState as Pn}from"react";import{currentEaselSession as y0}from"efficient-easel/screen/lib/session";function Lm(){return y0().auth.token}import{currentEaselSession as P0}from"efficient-easel/screen/lib/session";import{useScreenDocument as L0}from"efficient-easel/screen/components/ScreenDocumentContext";var En="homepage";function wt(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var Rm=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"custom",label:"Custom URL"}];function Om(e){return e.offersCommerce&&e.offersService?Rm:Rm.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}function jr(e){return e===En?"/":`/${e}`}function Am(e){return`/journal/${e}`}function yz(e){return`/wheels/${e}`}function Bm(e,o){return`${jr(e)}#${o}`}function S0(e){return wt(e)}function C0(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function _m(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=C0(a?.props?.anchor);if(!n)continue;let s=S0(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Sz(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),r=t.indexOf("?");return r===-1?t:t.slice(0,r)}var v0=()=>({choosePage:l("Choose a page"),chooseSection:l("Choose a section"),noSections:l("No section anchors yet"),sectionHint:l("Jumps to a section on that page."),choosePost:l("Choose a post"),chooseProduct:l("Choose a product")});function Dm(e,o,t){if(!e)return"page";if(e.startsWith("/journal/"))return"blog";if(e.startsWith("/wheels/"))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||o.includes(r))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function zi(e,o){let t=v0(),r=e.pages.map(p=>({value:jr(p.slug),label:p.title})),a=o?.pageOptions?o.pageOptions(r):r,n=a.map(p=>p.value),s=e.pages.map(p=>({label:p.title,options:_m(...p.docs).map(m=>({value:Bm(p.slug,m.slug),label:m.name}))})).filter(p=>p.options.length>0),i=p=>{switch(p){case"page":return{type:"select",options:a,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(m=>({value:Am(m.slug),label:m.title||m.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(m=>({value:m.href,label:m.name||m.href})),placeholder:t.chooseProduct};case"custom":return{type:"text"}}},f=Om(e.offers).map(p=>({value:p.value,label:l(p.label),target:i(p.value),...p.value==="anchor"?{hint:t.sectionHint}:{},...p.value==="blog"||p.value==="product"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:f,rules:{kindOf:p=>Dm(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let u=p=>{let m=o.withFilter(p,null);return o.listingPaths.includes(m)?m:p};return{kinds:f,rules:{kindOf:p=>Dm(p,n,{listingPaths:o.listingPaths,targetOf:u}),targetOf:u,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:p=>o.listingPaths.includes(p)?o.filtersFor(p):null}}import{useEaselSession as R0}from"efficient-easel/screen/lib/session-context";function Hm(e){let o=new Map;return(t="")=>{let r=Lm(),a=o.get(t);if(!a||a.token===null&&r!==null){let n=r||!P0().usesBridgedToken?e(r??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:r}),n}return a.promise}}var O0=Hm(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:r}=We();return r.linkTargets?r.linkTargets(t):(await r.list(t)).map(a=>({id:a.id,slug:a.slug,label:a.label,layout:null}))}),A0=Hm(async(e,o)=>await We().blog?.posts(o?{siteId:o}:void 0)??[]);function B0({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=Ln(()=>zi(r,a),[r,a]),s=l(t);return kt(Mm,{label:s,icon:kt(k0,{}),children:kt(T0,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function Wm(){let{siteId:e,capabilities:o}=L0(),{offersCommerce:t,hasBlog:r}=o,[a,n]=Pn([]),[s,i]=Pn([]),[f,u]=Pn([]),[p,m]=Pn(null),x=R0().chrome,I=x?.products?.list,b=x?.linkFilters,S=b?void 0:x?.linkRow,w=E0(!0);Nm(()=>(w.current=!0,()=>{w.current=!1}),[]),Nm(()=>{let g=!0;return O0(e??void 0).then(y=>g&&w.current&&n(y)),r&&A0(e??void 0).then(y=>g&&w.current&&i(y)),t&&I?.().then(y=>g&&w.current&&u(y)),t&&b?b.load(e).catch(()=>null).then(y=>g&&w.current&&m(()=>y)):m(null),()=>{g=!1}},[e,t,r,I,b]);let E=Ln(()=>({pages:a.filter(g=>!rp(g.slug)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),posts:r?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?f.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,f,t,r]),v=Ln(()=>p?p(E.pages):null,[p,E]);return{data:E,filters:v,pages:a,offersCommerce:t,HostLinkRow:S}}function Wz({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=Wm(),f=Ln(()=>zi(s,i),[s,i]),u=l(e);return kt(Mm,{label:u,icon:o,children:kt(F0,{label:u,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:f.kinds,rules:f.rules,filtersFor:f.filtersFor})})}function zm({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:f}=Wm(),u=a.pages.map(m=>jr(m.slug)),p=i&&f&&(r==="/"||u.includes(r))?f:void 0;return w0("div",{children:[kt(B0,{value:r,onChange:o,label:t,data:a,filters:n}),p&&kt(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as Bx}from"efficient-easel/draw/client";var uo={min:10,max:200,step:10};function Gm(e,o){let t=typeof e=="number"?e:void 0,r=typeof o=="number"?o:void 0;if(!(t===void 0&&r===void 0))return{paddingTop:t,paddingBottom:r}}var _0="sf-pad-top-phone",D0="sf-pad-bottom-phone",N0="--sf-pad-t-phone",M0="--sf-pad-b-phone",H0="sf-pad-left-phone",W0="sf-pad-right-phone",z0="--sf-pad-l-phone",G0="--sf-pad-r-phone";function qm(e,o,t,r,a,n,s,i){let f=Gm(e,o)??{},u={},p=["sf-section-pad"];typeof t=="number"&&(p.push(_0),u[N0]=`${t}px`),typeof r=="number"&&(p.push(D0),u[M0]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(H0),u[z0]=`${s}px`),typeof i=="number"&&(p.push(W0),u[G0]=`${i}px`),p.length===1&&Gm(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...f,...m,...u}}}var Um=e=>typeof e=="number"?e:void 0;function $m(e,o,t){let r=Um(e)??t,a=Um(o);return r===void 0?a:a===void 0?r:r+a}function Gz(e,o={}){return{top:$m(e.padTop,e.sectionPaddingTop,o.top),bottom:$m(e.padBottom,e.sectionPaddingBottom,o.bottom)}}function Uz(e){return{top:e.sectionPaddingTop,bottom:e.sectionPaddingBottom,topPhone:e.sectionPaddingTopPhone,bottomPhone:e.sectionPaddingBottomPhone,left:e.sectionPaddingLeft,right:e.sectionPaddingRight,leftPhone:e.sectionPaddingLeftPhone,rightPhone:e.sectionPaddingRightPhone}}function $z(e){return qm(e.top,e.bottom,e.topPhone,e.bottomPhone,e.left,e.right,e.leftPhone,e.rightPhone)}function qz(e,o){let t=r=>typeof r=="number"?r+o:void 0;return qm(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var U0=["auto","fixed","screen"],$0=["px","%"];var q0="var(--sf-header-h, 88px)",Gi={min:40,max:2e3,step:10,fallback:600},Ui={min:10,max:200,step:5,fallback:100},j0="sf-section-minh",jm={base:"--sf-section-minh",small:"--sf-section-minh-s"},Vm=e=>typeof e=="string"&&U0.includes(e),K0=e=>typeof e=="string"&&$0.includes(e);function Rn(e){let o=Vm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":K0(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?Ui.fallback:Gi.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function Ym(e){let{mode:o,value:t,unit:r}=Rn(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${q0})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function V0(e){let o=Ym(e);if(!o)return;let[t,r]=o;return{display:"grid",[jm.base]:t,...r?{[jm.small]:r}:{}}}var Kz=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Vt="Height",Y0="sf-section-minh-phone",Km={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function $i(e){return Vm(e.sectionHeightModePhone)}function Vz(e){return Rn({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function X0(e){let o=V0(e),t=$i(e)?Ym({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[j0],a={...o??{}};return t&&(r.push(Y0),a[Km.base]=t[0],t[1]&&(a[Km.small]=t[1])),{className:r.join(" "),style:a}}function Yz(e){return X0(e)!==null}var On="Stick to top",Zo={min:0,max:200,step:4,fallback:0},Z0="sf-section-stick",Q0="sf-section-stick-phone-on",J0="sf-section-stick-phone-off",Xm={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},Zz=new Set(["CategoryBar","DocTabs","IntroBleed"]);function Zm(e){let o=typeof e=="number"&&Number.isFinite(e)?e:Zo.fallback;return Math.min(Zo.max,Math.max(Zo.min,Math.round(o)))}function qi(e){return typeof e.stickTopPhone=="boolean"}function ji(e){let o=e.stickTop===!0,t=Zm(e.stickTopDistance),r=qi(e),a=r?e.stickTopPhone===!0:o,n=r?Zm(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function Qz(e){let o=ji(e);if(!o.desktop&&!o.phone)return null;let t=[Z0],r={};return o.desktop&&(r[Xm.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?Q0:J0),o.phone&&(r[Xm.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var eF=["column","row","tabs"],Qm="Direction",oF={column:"Stacked",row:"One row",tabs:"Tabs"},Jm={Flex:eF,HeroGroup:["column","row"]},tF={Flex:"row",HeroGroup:"column"},rF={column:"flex-col",row:"flex-row",tabs:"flex-col"};function An(e,o){return Jm[e].includes(o)?o:tF[e]}function eG(e,o){return rF[An(e,o)]}function ex(e){return Jm[e].map(o=>({label:oF[o],value:o}))}var Ki=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],rx=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],ax="Wrap",Vi=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],ox={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},tx={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function tG(e,o){let t=typeof e=="string"&&e in ox?ox[e]:"",r=typeof o=="string"&&o in tx?tx[o]:"";return[t,r].filter(Boolean).join(" ")}function rG(e){return e===!0||e==="wrap"?"flex-wrap":""}var Yi="Block widths",Bn=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Big left",value:"bigLeft",weights:[2,1]},{label:"Big right",value:"bigRight",weights:[1,2]},{label:"Bigger left",value:"biggerLeft",weights:[3,1]},{label:"Bigger right",value:"biggerRight",weights:[1,3]}],Kr="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",aF={equal:Kr,bigLeft:`${Kr} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${Kr} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${Kr} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${Kr} [&>*:last-child]:min-[800px]:grow-[3]`};function aG(e){return typeof e=="string"?aF[e]??"":""}var nx="Columns on phone",Xi=1,lx=3,nF={2:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]",3:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]"};function nG(e){let o=Number(e);return nF[o]??"max-[800px]:flex-col"}var sx="Block spacing",Zi=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],lF="sf-box-gap-only";function lG(e){return e==="gap"?lF:""}var sF=["solid","dashed","dotted"],iF=["top","right","bottom","left"],iG="sf-section-border",fG="sf-section-border-self",fF=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ix=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function fx(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of iF){let n=ix(e[a])??ix(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&sF.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&fF.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function cG(e,o){let t=fx(e),r=fx(o,{phone:!0});return t||r?{...t,...r}:void 0}var ux="sf.gapContainer",Qo={min:-32,max:64,step:2},px={Grid:{sm:12,md:24,lg:40},Flex:{sm:12,md:24,lg:40},FooterGroup:{sm:8,md:16,lg:32},HeroGroup:null,Events:null,GalleryB:null,ProductGrid:null},Yt={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},cF=new Set(["Events","GalleryB"]);function Vr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Qo.min)return o;if(typeof o=="string"){let r=px[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:Yt[e]}var dF="sf-gap-overlap",uF="--sf-gap-overlap",mx="--sf-block-gap",pF="--sf-block-gap-rem",Tt={min:0,max:Qo.max,step:Qo.step};function mF(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),Tt.min),Tt.max);return o-o%Tt.step}function uG(e){let o=mF(e);return o===null?{}:{[mx]:`${o}px`,[pF]:`${o/16}rem`}}var cx="sf-gap-zone",dx="--sf-gap-len";function Qi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Qo.min?!0:typeof o=="string"&&typeof px[e]?.[o]=="number"}var xF={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function pG(e,o,t){if(!Qi(e,o)){let a=`${Yt[e]}px`,n=cF.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${cx}`,style:{[dx]:`var(${mx}, ${n})`}}}let r=Vr(e,o);return r>=0?{className:` ${cx}`,style:{[dx]:`${r}px`}}:{className:` ${dF} ${xF[t]}`,style:{gap:"0px",[uF]:`${-r/2}px`}}}var xx=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Ix={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},_n="var(--section-bg)",Dn="inherit";function xG(e,o){return e===Dn?_n:e===void 0?o:Nn(e)}var IF=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Nn(e){return e.replace(IF,"var(--site-$1")}function hx(e,o){return e===Dn?!0:e===void 0&&o===_n}var gx=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],bx={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Xt="var(--wheel-stage)",Mn="transparent",Yr="inherit";function gG(e,o){return Nn(Ji(e,o))}function Ji(e,o){return e===Yr?Xt:e==null?o:e===!0?Xt:e===!1?Mn:e}function bG(e){return typeof e=="string"&&e!==Yr?Nn(e):Xt}function yG(e){return e!==Mn&&e!=="none"&&e!==""}function yx(e,o){return e===Yr||e===!0?!0:e==null?o===Xt:!1}var Sx="inherit",Hn="fixed",Cx=e=>typeof e!="number"&&e!==Hn,hF="var(--sf-heading-max, 9999px)";function CG(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===Hn)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${hF})`:a}var we={min:1e3,max:2e3,step:50,default:1600};function gF(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var vx="--sf-site-width",ef=`var(${vx},${we.default}px)`,wG=`max-w-[${ef}]`,kG=`max-w-[${we.default}px]`;function bF(e){return typeof e!="number"||!Number.isFinite(e)?we.default:Math.round(Math.min(Math.max(e,we.min),we.max))}function TG(e){let o=bF(e);return o===we.default?{}:{[vx]:`${o}px`}}var To={min:0,max:80,step:4,default:40},wx="--sf-site-gutter",qe=`var(${wx},${To.default}px)`,yF=`px-[${qe}]`;var Jo={md:`min(24px,${qe})`,sm:`min(20px,${qe})`,frame:`min(24px,${qe})`,tabs:`min(16px,${qe})`},FG=[[`max-[1100px]:px-[${Jo.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${Jo.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${Jo.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Jo.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${Jo.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${Jo.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${Jo.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${Jo.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${qe}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${qe})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${qe})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${qe})]`,"max-[720px]:-mx-5"],[`-mx-[${qe}]`,"-mx-10"],[yF,"px-10"]];var EG="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",PG="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]";function SF(e){return typeof e!="number"||!Number.isFinite(e)?To.default:Math.round(Math.min(Math.max(e,To.min),To.max))}function LG(e){let o=SF(e);return o===To.default?{}:{[wx]:`${o}px`}}var Wn=ef,RG=`max-w-[${Wn}]`,OG=`max-w-[min(var(--sf-page-cap,${we.default}px),${we.default}px)]`,kx="--sf-hero-cap",CF=`var(${kx},none)`,AG=`max-w-[${CF}]`,of="--sf-hero-bleed-m",tf="--sf-hero-bleed-w",BG=`var(${of},calc(50% - 50vw))`,_G=`var(${tf},100vw)`,DG=`mx-[var(${of},calc(50%_-_50vw))]`,NG=`w-[var(${tf},100vw)]`,rf="--sf-hero-chrome-x",af="--sf-hero-chrome-cap";function MG(e){return e===!0?{[kx]:Wn,[of]:"auto",[tf]:"100%",[rf]:"24px",[af]:"none"}:{}}var nf=`calc(${ef} - ${qe}*2)`,HG=`max-w-[${nf.replace(/ /g,"_")}]`;var vF="--sf-chrome-cap",wF=`var(${vF},${nf})`,WG="data-page-width";function zG(e){return e==="full"?"full":null}function GG(e){return e==="full"?null:gF(e==="content"?nf:wF)}function UG(e){if(e==="full")return"full";if(e==="content")return"content"}var kF=["contained","page","full"],Fx=["full","page"],Zt={full:"Full width",page:"Content width"},sf="inherit",TF=e=>typeof e=="string"&&kF.includes(e),Ex=e=>e===sf;function Mo(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:we.default;return Ex(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:TF(e.widthMode)?{mode:e.widthMode,pageWidth:t,inherited:!1}:e.contained===!0?{mode:"page",pageWidth:t,inherited:!1}:typeof e.fullWidth=="boolean"?{mode:e.fullWidth?"full":"page",pageWidth:t,inherited:!1}:e.contained===!1?{mode:"full",pageWidth:t,inherited:!1}:{mode:o,pageWidth:t,inherited:o==="full"}}function ff(e){return Mo(e,"page").mode==="full"}var Xr="site",Px={Hero:"hero",HeroSingle:"hero",IntroBleed:"scrollOver",SpecStrip:"background",Timeline:"background",Footprint:"background",Prose:"background",ParagraphsA:"background",Cards:"background",KeyFeatures:"background",Chart:"background",Mockup:"background",Testimonials:"background",TitleWithButtons:"background",Countdown:"background",DocMasthead:"background",DocBody:"background",DocMetaCards:"background",Gallery:"background",GalleryB:"background",Reviews:"background",ReviewForm:"background",Form:"background",AppointmentBooking:"background",FAQ:"background",Events:"background",Split:"both",Breadcrumb:"both",Collections:"both",CatalogFilterBar:"both",AlloyWheelsListing:"both",Banner:"contained",Stats:"contained",Logos:"contained",Divider:"contained",OrderSummary:"contained",DeliveryOptions:"contained",PaymentBadges:"contained",CheckoutCTA:"contained",Flex:"contained",Grid:"contained",Manifesto:"contentColumn",SectionHeader:"contentFull",ProductHero:"contentFull",ProductGrid:"productGrid",TimelineTrack:"capped",DetailRows:"capped",FitmentTable:"capped",TyreSizes:"capped",TyreFitment:"capped",EuTyreLabel:"capped",BundleOffer:"capped",CompatibleTyres:"capped",RelatedProducts:"capped",ProcessSteps:"capped",StatsParagraph:"capped",Masthead:"capped",FeaturedCover:"capped",LongRead:"capped",Series:"capped",ContactLocations:"capped",FitmentFinder:"capped",SpecTable:"capped",Subscribe:"capped",SubscribeBlogs:"capped",ContactRouting:"capped",SubmitBuild:"capped"};function FF(e){return Object.prototype.hasOwnProperty.call(Px,e)}var lf=e=>e==="full"||e==="content",EF=e=>typeof e=="number"&&Number.isFinite(e)&&e>0,Tx=({widthMode:e,fullWidth:o,pageWidth:t})=>({widthMode:e,fullWidth:o,pageWidth:t});function PF(e,o){let t={background:null,content:null,contentMax:null};switch(e){case"hero":return Ex(o.widthMode)||o.widthMode!=="full"?t:{...t,background:"full"};case"scrollOver":return o.fullWidth===!1?t:{...t,content:"full"};case"background":return Mo(o,"full").mode==="full"?t:{...t,background:"content"};case"both":return Mo(o,"full").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contained":return Mo(o,"page").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contentColumn":return Mo(Tx(o),"page").mode==="full"?{...t,content:"full"}:t;case"contentFull":return Mo(Tx(o),"full").mode==="full"?{...t,content:"full"}:t;case"productGrid":{let r=Mo(o,"full");return r.mode==="full"?{...t,content:"full"}:{background:"content",content:"content",contentMax:r.pageWidth}}case"capped":return{...t,background:"content"}}}function cf(e,o){if(!FF(e))return{background:null,content:null,contentMax:null};let t=Px[e],r=o,a=PF(t,r),n=r.backgroundWidth===Xr?null:lf(r.backgroundWidth)?r.backgroundWidth:a.background;return r.contentWidth===Xr?{background:n,content:null,contentMax:null}:lf(r.contentWidth)?{background:n,content:r.contentWidth,contentMax:r.contentWidth==="content"&&EF(r.contentMax)?r.contentMax:null}:{background:n,content:a.content,contentMax:a.contentMax}}var Lx="siteWidths";function zn(e){return lf(e)?e:null}function Rx(e,o){return{[Lx]:{background:zn(e),content:zn(o)}}}function jG(e){let o=e.puck?.metadata?.[Lx];return{background:zn(o?.background),content:zn(o?.content)}}import{jsx as LF}from"react/jsx-runtime";import{createContext as RF,useContext as OF}from"react";var AF=2,BF=AF+1,Ox=RF(2);function Ax({tier:e,children:o}){return LF(Ox.Provider,{value:e,children:o})}function df(e){let o=OF(Ox);return BF+Math.max(0,e-o)}import{withStyleKind as NE}from"efficient-easel/style-clipboard";import{TEXT_CONTROL_KINDS as s$,SCALAR_TEXT_CONTROLS as i$}from"efficient-easel/draw";function rt(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!zo(t)&&NE(t,`section:${o}`);return e}function eI(){return null}function If(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return h(eI,{},e)}function ME(e){return e.type===eI}function Fo(e){return ME(e)?void 0:e}function Et(e,o){return l("{value} from {from}",{value:e,from:o})}function HE(){let{appState:e}=Qr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=Mo(o,"full");return t==="page"?Et(`${r}px`,l("the page")):t==="contained"?Et(l("Contained"),l("the page")):Et(l("Full"),l("the page"))}function WE(){let{blockGap:e}=V();return e===null?l("this container's own spacing"):Et(`${e}px`,l("Site styles"))}function zE({inherited:e,onReset:o,label:t}){return h(Ge,{words:Q()?.panel,label:l(t),changed:!e,detail:WE(),onReset:o})}function GE({inherited:e,onReset:o,label:t}){return h(Ge,{words:Q()?.panel,label:l(t),changed:!e,detail:HE(),onReset:o})}function Jt({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:f,hidden:u}=tt(e),p=pf(null),m=pf(null),x=v=>o(s?{text:v,hidden:u}:v),I=()=>o({text:f,hidden:!u}),b=s&&u,S=DF(),w=a?VE(a)?h("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):h(Ep,{children:l(a)}):void 0,E=u?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return h(ie,{label:l(t),icon:h(IE,{}),htmlFor:S,className:b?"is-hidden":void 0,hint:w,action:s?h(Jx,{content:E,children:h("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":E,onClick:I,children:u?h(Bx,{name:"eye-off",size:14}):h(Bx,{name:"eye",size:14})})}):void 0,children:et("div",{className:"sf-copybox",children:[i&&h(Ci,{target:n?m:p,value:f,onChange:x}),n?h("textarea",{id:S,ref:m,value:f,placeholder:r===void 0?void 0:l(r),onChange:v=>x(v.target.value)}):h("input",{id:S,ref:p,type:"text",value:f,placeholder:r===void 0?void 0:l(r),onChange:v=>x(v.target.value)})]})})}function t$(e,o){return{...e,[WF]:o}}function r$(e){let o=e[Ho];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Ho]:{...o,offPage:!0}}}function qn(e){return!e||typeof e!="object"?!1:e[Ho]?.offPage===!0}var oI="sfPanelOnly";function a$(e){if(!e[Ho])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[oI]:!0}}function tI(e){return!!e&&typeof e=="object"&&e[oI]===!0}function n$(e){let o=e[Ho];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Ho]:{...o,identifier:!0}}}function f$(e,o){if(!e[Ho])throw new Error("inOwnBox: the field holds no authored text");let{[_E]:t,...r}=e;return{...r,[vi]:!0,render:o}}var UE=new Set(DE),er=(e,o)=>{let t={...o,[Ho]:e};if(!UE.has(e.control))return t;let r=o.render;return{...Jr(t,"authored-copy"),render:a=>h(am,{name:a.name,children:r(a)})}},c$="Everything else on this block comes from the linked post. Unlink it to edit by hand.",$E={field:"source.slug",set:!0},d$={not:$E},qE="Select a word, then press the highlighter.",jE="A short name so a link can jump straight to this section, like yoursite.com/page#about.",KE=new Set([qE]),VE=e=>KE.has(e);function u$(e,o,t){return er({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function p$(e,o,t){return er({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function YE(e,o,t){return er({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function m$(e,o,t){return er({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function x$(e){return{type:"custom",[MF]:{label:e},render:({value:o,onChange:t})=>h(zm,{value:NF(o),onChange:t,label:e})}}function I$(e,o,t){return er({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var rI={Design:zF,Animation:zx};function aI(e,o){return e.includes("Design")?o!=="Design":null}function XE({label:e}){return h(bE,{title:l(e),level:df(1)})}function ZE({level:e,label:o}){return e===1?h(XE,{label:o}):h(or,{label:o})}function nI(e,o){return{type:"custom",[xf]:{label:e,level:o},render:()=>h(ZE,{level:o,label:e})}}function De(e){return nI(e,2)}function h$(e){return{type:"custom",render:()=>h(QE,{text:e})}}function QE({text:e}){return h("p",{className:"sf-note",children:l(e)})}function g$(e){return nI(e,1)}function b$(e){return zo(e)!==null&&e?.tabs!==void 0}var _x=new Map;function jn(e,o){let t=`${e}\0${o?o.join(""):""}`,r=_x.get(t)??{type:"custom",tabs:o,[xf]:{label:e,level:1},bucket:e,marker:!0,render:()=>h(Wo,{})};return _x.set(t,r),r}var Dx=new Map;function hf(e){let o=Dx.get(e)??{type:"custom",[xf]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>h(Wo,{})};return Dx.set(e,o),o}function JE(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function lI(e,o){return JE(e)===o?e:{...e,marker:!0,fold:o,render:()=>h(Wo,{})}}function sI(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...r}=e;return{...r,marker:!0,render:()=>h(Wo,{})}}function or({label:e}){return h(yE,{title:l(e),level:df(2)})}function iI({swatches:e,current:o,onPick:t,names:r}){let a=e.find(i=>i.toLowerCase()===o.toLowerCase()),n=a?r?.[a]:void 0,s=n?l(n):o;return et("div",{className:"sf-swatches",children:[e.map(i=>{let f=r?.[i]?l(r[i]):i;return h(Jx,{content:f,children:h("button",{type:"button","aria-pressed":o.toLowerCase()===i.toLowerCase(),className:`sf-swatch ${o.toLowerCase()===i.toLowerCase()?"is-active":""}`,style:{background:i},onClick:()=>t(i),"aria-label":f})},i)}),h("span",{className:"sf-swatch-hex",children:s})]})}function y$(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=hx(t,o);return h(ie,{label:l(e),icon:h(qF,{}),changed:!a,action:h(Ge,{words:Q()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(Dn)}),children:iI({swatches:xx,current:a?_n:t??o??"",onPick:r,names:Ix})})}}}function e1(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=yx(a,o);return h(ie,{label:l(e),icon:h(aE,{}),changed:!n,action:h(Ge,{words:Q()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r(Yr)}),children:iI({swatches:gx,current:n?Xt:Ji(a,o),onPick:r,names:bx})})}}}function Kn(e=t=>t,o){return rt({_gSectionTheme:De(Op),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>h(Em,{value:e(t),onChange:r,followLabel:o})}})}function je({min:e,max:o,step:t,value:r,onChange:a,suffix:n="",readout:s=!0,notch:i,ariaLabel:f,disabled:u=!1}){let p=i!==void 0&&Number.isFinite(i)&&i>=e&&i<=o;return h("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:h(BE,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:f===void 0?void 0:l(f),disabled:u,size:"sm",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function Qt(e,o,t,r,a,n,s="",i){return{type:"custom",render:f=>h(ie,{label:l(e),icon:Fo(o),action:i?i("storedValue"in f?f.storedValue:f.value,f.onChange):void 0,children:je({min:t,max:r,step:a,value:typeof f.value=="number"?f.value:n,suffix:s,ariaLabel:e,onChange:f.onChange})})}}function fI(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:f,icon:u}=o;return{type:"custom",render:({value:p,onChange:m})=>{let x=typeof p=="number"?p:null,I=x===null;return h(ie,{label:l(e),icon:u?Fo(u):void 0,value:I?f||n===void 0?void 0:l(n):`${x}px`,changed:!I,action:f?Wx(f,{changed:!I,onReset:()=>m(null)}):h(Ge,{words:Q()?.panel,label:l(e),changed:!I,onReset:()=>m(null)}),hint:typeof s=="string"?l(s):s,children:i?i({min:t,max:r,step:a,px:x,label:e,onChange:m}):je({min:t,max:r,step:a,value:x??t,readout:!1,ariaLabel:e,onChange:m})})}}}function S$(e){let o=Qt("Gap",h(Ux,{}),Qo.min,Qo.max,Qo.step,Yt[e],"px",(t,r)=>h(zE,{inherited:!Qi(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[ux]:e,render:t=>o.render({...t,value:Vr(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var Vn="Corners";function gf(e){return{type:"custom",render:({value:o,onChange:t})=>{let r=typeof o=="number"&&Number.isFinite(o)?o:null,a=r!==null;return h(ie,{label:l(Vn),icon:h(XF,{}),changed:a,action:Wx(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:h(o1,{tier:e,px:r,onRadius:t})})}}}function Yn(e){let o=null;try{o=mf()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function o1({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=Yn(e.sidesKey),i=Bo(n)??[...It];return h(RE,{label:l(Vn),value:i,corners:fp,onChange:f=>{let u=Bo(f)??[];s(u.length===It.length?null:u)},radius:o,onRadiusChange:t,radiusMin:lo,radiusMax:pt,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function cI(){return Jr({type:"custom",render:()=>h($n,{})},"always")}function t1({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=V(),a=typeof r=="number"?`${r}px`:l("not set");return h(Ge,{words:Q()?.panel,label:l(e),changed:o,detail:r==null?l("the built-in corners"):Et(a,l("Site styles")),onReset:t})}function r1(){let{cornerRadiusPx:e}=V();return typeof e=="number"?e:lo}function a1(){return gf({sidesKey:"sectionCornerSides",useFollowed:r1,useClosedReason:()=>uI()?l(dI):null,mark:h(t1,{label:Vn}),hint:h(n1,{})})}var dI="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function uI(){return ff(Eo())}function n1(){return h(Wo,{children:uI()?dI:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Xn(){return rt({_gShape:De("Shape"),sectionCorners:a1(),sectionCornerSides:cI(),sectionBorder:Nx("desktop"),sectionBorderPhone:Nx("mobile")})}var l1=()=>({width:l("Border width"),sides:{top:l("Border top"),right:l("Border right"),bottom:l("Border bottom"),left:l("Border left")},style:l("Border style"),styles:{solid:l("Solid"),dashed:l("Dashed"),dotted:l("Dotted")},color:l("Border color"),unit:"px"});function s1(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function i1(){let e;try{let o=Je(V().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||Cu.line}function f1({value:e,onChange:o,tier:t}){let[r]=Yn("sectionBorder"),a=i1(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,f]=Un(()=>TE(n,s)),u=l1();return h(ie,{label:l("Border"),icon:h(jF,{}),action:h(Xx,{each:i,label:l("Each side"),onChange:f}),children:h(SE,{label:l("Border"),value:n,each:i,onChange:p=>o(s1(p)),placeholder:{sides:kE(s),style:s.style??"solid",color:s.color||a},presets:[a],words:u,max:20})})}function Nx(e){return _e(e,{type:"custom",render:({value:o,onChange:t})=>h(f1,{value:o,onChange:t,tier:e})})}function Zn(){return{_gMotion:De("Motion"),sectionAnimation:Sf("Entrance",h(zx,{}),[...Bp],mi)}}function bf(){let e=null;try{let{appState:o,selectedItem:t}=Qr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?Ii(o?.data,r):null}catch{e=null}return e!==null&&ff(e)}function pI(e){let{cornerRadiusPx:o}=V(),t=bf(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=Qr(u=>u),f=i?.props?.id?String(i.props.id):void 0;a=f?Ii(s?.data,f):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return ti(n)?n:r}function c1({label:e,changed:o=!1,onReset:t=()=>{}}){let r=bf(),a=pI(lo),n=r?"Site":"Section";return h(Ge,{words:Q()?.panel,label:l(e),changed:o,detail:Et(`${a}px`,r?l("Site styles"):l("the section")),onReset:t})}function d1(){return h(Wo,{children:bf()?l("The section is full width, so this card follows Site styles \u25B8 Basics \u25B8 Corners."):l("Follows the section's Corners until you set a number here.")})}function u1(){return gf({sidesKey:"cardCornerSides",useFollowed:()=>pI(lo),mark:h(c1,{label:Vn}),hint:h(d1,{})})}function p1(){return{type:"custom",render:()=>h(Ip,{})}}function C$(){return{_gShape:De("Shape"),cardCorners:u1(),cardCornerSides:cI(),cardCornersApplyAll:p1()}}function v$(){return ot("Justify",h($F,{}),Ki,Ki[0].value)}function w$(){return ot("Item alignment",h(GF,{}),rx,"stretch")}function k$(){return ot(ax,h(gE,{}),Vi,Vi[0].value)}function T$(){return{type:"custom",render:({value:e,onChange:o})=>{let t=Bn.find(r=>r.value===e)??Bn[0];return h(ie,{label:l(Yi),icon:h(Gx,{}),value:l(t.label),children:h(Qx,{className:"sf-gallery-layouts",label:l(Yi),value:t.value,onChange:o,options:Bn.map(r=>({value:r.value,label:l(r.label),picture:h("span",{className:"sf-gallery-pic",children:m1(r.weights).map((a,n)=>h("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function m1(e){if(!e)return[3,4];let o=e.reduce((t,r)=>t+r,0);return e.map(t=>Math.round(t/o*12))}function F$(){return ot(sx,h(Ux,{}),Zi,Zi[0].value)}function E$(){return Qt(nx,h(cE,{}),Xi,lx,1,Xi)}function P$(e){let o=Sf(Qm,If("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),ex(e),An(e,void 0));return{type:"custom",render:t=>o.render({...t,value:An(e,t.value),onChange:r=>t.onChange(r)})}}function L$(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>h(ie,{label:l(e),icon:h(ci,{noun:n}),action:h(Ge,{words:Q()?.panel,label:l(e),changed:!Cx(s),detail:l("the Text style in Site styles"),onReset:()=>i(Sx),defaultAction:{onPress:()=>i(Hn),title:l("Keep this section's own built-in size"),icon:h(KF,{})}}),children:je({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function R$(){return{_gCellWidth:De("Cell width"),gridSpan:ot("Positions",h(Gx,{}),[{label:"Auto",value:""},...Array.from({length:fn},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function Eo(){let e=null;try{e=Qr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function x1({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let f=Eo()[s],u=gn(void 0,f,i);return h(Wo,{children:je({min:e,max:o,step:t,value:gn(r,f,i),readout:!1,ariaLabel:a,notch:u,onChange:n})})}function I1({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=Eo()[o],s=gn(void 0,n,t);return h(Ge,{words:Q()?.panel,label:l(e),changed:r,detail:l("{value} on desktop",{value:`${s}px`}),onReset:a})}function h1(e){return fI(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:h(I1,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>h(x1,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function O$(e){return{type:"custom",render:({value:o,onChange:t})=>h(b1,{...e,value:o,onChange:t})}}function g1({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(f=>f.value===r);return h(ie,{label:l(e),icon:Fo(o),action:h(Ge,{words:Q()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:tl({options:t,value:i?r:a,onChange:f=>s(f),ariaLabel:e})})}function b1({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=Eo()[r],f=a(void 0,i),u=t.find(p=>p.value===f)?.label??"";return h(g1,{label:e,icon:o,options:t,value:n,resolved:f,restWord:u,onChange:s})}var y1={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},S1={Top:Vx,Bottom:qx,Left:jx,Right:Kx},C1=e=>{let o=S1[e];return h(o,{})};function A$(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=w=>y1[w],n=w=>Qt(a("Top"),h(Vx,{}),uo.min,uo.max,uo.step,w,"px"),s=(w,E,v,g=uo)=>_e("mobile",h1({label:a(w),icon:C1(w),desktopKey:E,min:g.min,max:g.max,step:g.step,fallback:v})),i=e.top??uo.min,f=e.bottom??uo.min,u="sectionPaddingLeft",p="sectionPaddingRight",m=e.sideBounds??uo,x=e.side??m.min,I=e.sidePhone??x,b=e.phone===!0,S=w=>b?_e("desktop",w):w;return rt({...r?{_gSpacing:De("Padding")}:{},[o]:S(n(i)),...b?{[No(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:S(Qt(a("Bottom"),h(qx,{}),uo.min,uo.max,uo.step,f,"px")),...b?{[No(t)]:s("Bottom",t,f)}:{}},...e.sides?{[u]:S(Qt(a("Left"),h(jx,{}),m.min,m.max,m.step,x,"px")),...b?{[No(u)]:s("Left",u,I,m)}:{},[p]:S(Qt(a("Right"),h(Kx,{}),m.min,m.max,m.step,x,"px")),...b?{[No(p)]:s("Right",p,I,m)}:{}}:{}})}var Zr=["top","right","bottom","left"],v1={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},Mx=e=>typeof e=="number"?e:null;function w1(e,o,t){let r={};for(let a of Zr)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function k1({tier:e,o}){let t=null;try{t=mf()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(Zr.map(u=>[u,Mx(r[a[u]])])),s=Object.fromEntries(Zr.map(u=>[u,String(e==="mobile"?Mx(r[o.keys[u]])??o.fallback[u]:o.fallback[u])])),[i,f]=Un(()=>wE(n,s));return h(ie,{label:l("Padding"),icon:h(fE,{}),action:h(Xx,{each:i,label:l("Each side"),onChange:f}),children:h(vE,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:u=>{let p=w1(a,n,u);Object.keys(p).length&&t?.onChangeMany(p)},words:{sides:{top:l("Padding top"),right:l("Padding right"),bottom:l("Padding bottom"),left:l("Padding left")},vertical:l("Top and bottom"),horizontal:l("Left and right"),unit:"px"}})})}function Qn(e={}){let o={...v1,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(Zr.map(i=>[i,No(o[i])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},r=e.phone!==!1,a=i=>{let f={type:"custom",render:()=>h(k1,{tier:i,o:t})};return r?_e(i,f):f},n=()=>Jr({type:"custom",render:()=>h($n,{})},"always"),s=Zr.filter(i=>i!=="top");return rt({...e.group===!1?{}:{_gSpacing:De("Padding")},[t.keys.top]:a("desktop"),...r?{[t.phoneKeys.top]:a("mobile")}:{},...Object.fromEntries(s.map(i=>[t.keys[i],{...n(),reachedBy:t.keys.top}])),...r?Object.fromEntries(s.map(i=>[t.phoneKeys[i],_e("mobile",n())])):{}})}var Hx=e=>typeof e=="number"?e:null;function T1(e,o,t){let r={};for(let a of["x","y"])t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function F1({o:e}){let o=null;try{o=mf()}catch{o=null}let t=o?.values??{},r={x:Hx(t[e.keys.x]),y:Hx(t[e.keys.y])},a=l(e.label??"Position"),n=!!(r.x||r.y),s=u=>{let p=T1(e.keys,r,u);Object.keys(p).length&&o?.onChangeMany(p)},i=h(AE,{label:a,value:r,onChange:s,words:{x:l("Left and right"),y:l("Up and down"),unit:"px"},placeholder:{x:"0",y:"0"},min:e.min,max:e.max,step:e.step??1}),f=h(Ge,{words:Q()?.panel,label:a,changed:n,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return e.label===null?et("div",{className:"sf-position-line",children:[i,f]}):h(ie,{label:a,icon:h(iE,{}),changed:n,action:f,children:i})}function B$(e){return{[e.keys.x]:{type:"custom",render:()=>h(F1,{o:e})},[e.keys.y]:{...Jr({type:"custom",render:()=>h($n,{})},"always"),reachedBy:e.keys.x}}}var E1={contained:"Contained",page:"Page",full:"Full"},Gn="Width";function Jn(e,o=Fx,t=!0){let r=o.map(a=>({label:Zt[a]??E1[a],value:a}));return rt({...t?{_gWidth:De(Gn)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>h(ie,{label:l(Gn),icon:h(hE,{}),action:t?h(GE,{inherited:n?.inherited??!1,onReset:()=>a(sf),label:Gn}):void 0,children:tl({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:Gn})})}})}function el(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>h(ie,{label:Vt,icon:Fo(h(nE,{})),action:r?r(n):void 0,children:tl({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:Vt})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?Ui:Gi;return h("div",{className:"sf-field",children:je({min:i.min,max:i.max,step:i.step,value:typeof r=="number"?r:i.fallback,suffix:s,ariaLabel:Vt,onChange:a})})}}),t=()=>Sf("Unit",h($x,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return rt({_gHeight:De(Vt),sectionHeightMode:_e("desktop",e()),sectionHeightValue:_e("desktop",o()),sectionHeightUnit:_e("desktop",t()),sectionHeightModePhone:_e("mobile",e(r=>h(P1,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:_e("mobile",o()),sectionHeightUnitPhone:_e("mobile",t())})}function P1({onClear:e}){let o=Eo(),t=$i(o),r=Rn(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return h(Ge,{words:Q()?.panel,label:l(Vt),changed:t,detail:a,onReset:e})}function yf(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>h(L1,{value:r,onChange:a,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:r})=>h("div",{className:"sf-field",children:je({min:Zo.min,max:Zo.max,step:Zo.step,value:typeof t=="number"?t:Zo.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:r})})});return{_gStick:De(On),stickTop:_e("desktop",e(!1)),stickTopDistance:_e("desktop",o()),stickTopPhone:_e("mobile",e(!0)),stickTopDistancePhone:_e("mobile",o())}}function L1({value:e,onChange:o,labelId:t,phone:r}){let a=Eo(),n=ji(a),s=r?n.phone:e===!0;return h(ie,{label:l(On),labelId:t,icon:Fo(h(pE,{})),action:et(Wo,{children:[r?h(Ge,{words:Q()?.panel,label:l(On),changed:qi(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,h(Zx,{checked:s,onChange:o,ariaLabelledBy:t})]})})}function ol(){return{_gAnchor:De("Anchor"),anchor:YE("Anchor name","e.g. about",jE)}}function _$(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=`${n??s??e}-datetime`,f=Date.parse(typeof r=="string"?r:"");return h(ie,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:h(OE,{id:i,value:Number.isFinite(f)?new Date(f):null,onChange:u=>a(u?u.toISOString():"")})})}}}function Ft(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,f=`${n??s??e}-label`;return h(ie,{label:l(e),labelId:f,icon:t,action:h(Zx,{checked:i,onChange:a,ariaLabelledBy:f})})}}}function D$(){return{type:"custom",render:({value:e,onChange:o,id:t,name:r})=>{let a=`${String(t??r??"pageBackground")}-colour`;return h(ie,{label:l("Background"),icon:h(Yx,{}),htmlFor:a,action:h(io,{id:a,label:"Background",value:di(e),onChange:o})})}}}var N$={follows:"fill"},M$={follows:"ink"};function H$(e,o,t){if(typeof o!="string"){let r=o.follows;return{type:"custom",render:({value:a,onChange:n})=>h(R1,{label:e,part:r,icon:t,value:a,onChange:n})}}return{type:"custom",render:({value:r,onChange:a})=>h(ie,{label:l(e),icon:t,action:io({value:r||o,onChange:a,label:e})})}}function R1({label:e,part:o,icon:t,value:r,onChange:a}){let n=Fu(V().theme),s=o==="fill"?n.fill:n.ink;return h(In,{label:l(e),icon:t,value:r||"",inherited:s,resetTo:Et(s.toUpperCase(),l("Site styles")),onChange:a,onReset:()=>a("")})}var O1=[{value:"0% 0%",label:"Top left"},{value:"50% 0%",label:"Top"},{value:"100% 0%",label:"Top right"},{value:"0% 50%",label:"Left"},{value:"50% 50%",label:"Center"},{value:"100% 50%",label:"Right"},{value:"0% 100%",label:"Bottom left"},{value:"50% 100%",label:"Bottom"},{value:"100% 100%",label:"Bottom right"}];function mI({label:e,value:o,onChange:t,points:r=O1}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return h(LE,{label:l(e),value:o,points:a,onChange:t})}function W$(){return Jr({type:"custom",render:()=>h($n,{})},"always")}var A1=si([]);function z$(e,{stacking:o,fallback:t=cn}){return{type:"custom",render:({value:r,onChange:a})=>{let n=So.includes(r)?r:t;return o?h(B1,{label:e,value:n,onChange:a}):xI({label:e,value:n,onChange:a,points:A1})}}}function B1({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=Qr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?fi(r?.data,n):[];return xI({label:e,value:o,onChange:t,points:si(s,n)})}function xI({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return h(ie,{label:l(e),icon:h(dE,{}),hint:a?.title?l(a.title):void 0,children:mI({label:e,value:ht(o),onChange:t,points:r})})}var G$={top:h(eE,{}),right:h(JF,{}),bottom:h(ZF,{}),left:h(QF,{})};function U$(e,o,t,r,a,n){let s=p=>o.find(m=>m.value===p),i=p=>({value:p,label:"",disabled:!0,title:r}),f=p=>{let m=o.find(I=>I.cell===p);if(!m)return i(`missing-${p}`);let x=n?.[p];return x?{value:m.value,label:m.label,icon:x}:{value:m.value,label:m.label}},u=[i("corner-top-left"),f("top"),i("corner-top-right"),f("left"),i("centre"),f("right"),i("corner-bottom-left"),f("bottom"),i("corner-bottom-right")];return{type:"custom",render:({value:p,onChange:m})=>{let x=o.some(I=>I.value===p)?p:t;return h(ie,{label:l(e),icon:a,value:s(x)?.label?l(s(x).label):"",children:mI({label:e,value:x,onChange:m,points:u})})}}}var _1="\0note";function ot(e,o,t,r,a){return{type:"custom",options:t,fallback:r,...a?{note:a}:{},render:({value:n,onChange:s,field:i})=>{let f=i.options??t,u=i.fallback??r,p=f.some(m=>m.value===n)?n:u;return h(ie,{label:l(e),icon:Fo(o),children:h(FE,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:_1,disabled:!0}]:[],...f.map(m=>({label:l(m.label),value:m.value}))]})})}}}function $$(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>h(um,{label:e,options:(n.options??o).map(s=>({...s,label:l(s.label)})),value:Array.isArray(r)?r:[],onChange:a,...t?{emptyLabel:l(t)}:{}})}}function q$(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return h(e,{...a})}}}function tl({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return h(CE,{options:e.map(n=>n.picture?{id:n.value,label:n.picture,title:l(n.title??n.label)}:{id:n.value,label:l(n.label),title:n.title===void 0?void 0:l(n.title)}),value:o,onChange:t,ariaLabel:l(r),disabled:a})}var j$=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Sf(e,o,t,r){let a=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",render:({value:n,onChange:s,field:i})=>h(ie,{label:l(e),icon:Fo(o),children:tl({options:a,value:a.some(f=>f.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function K$(e,o,t,r={}){return{type:"custom",[HF]:!0,render:({value:a,onChange:n})=>h(cm,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function V$({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=(i,f)=>o({...r,[i]:f===""?void 0:Number(f)});return et(ie,{label:l(t),icon:h(uf,{}),children:[h("button",{type:"button",disabled:a,onClick:()=>o({...r,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:a?"default":"pointer",opacity:a?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:a?l("Finding\u2026"):l("Find coordinates")}),r.status&&h("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(r.status)}),h("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")}),h("button",{type:"button",onClick:()=>o({...r,manual:!r.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:r.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),r.manual&&et("div",{style:{marginTop:8,display:"grid",gap:8},children:[h(ie,{label:l("Latitude"),icon:h(uf,{}),children:h("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof r.lat=="number"?r.lat:"",onChange:i=>s("lat",i.target.value)})}),h(ie,{label:l("Longitude"),icon:h(uf,{}),children:h("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof r.lng=="number"?r.lng:"",onChange:i=>s("lng",i.target.value)})})]})]})}function D1(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function N1(e,o,t){let r=e.map(a=>({text:a?.text??""}));return o===null||o<0||o>=e.length?r:r.map((a,n)=>n===o?{text:t}:a)}function M1(e,o,t){if(t===null||t>=o.length)return null;for(let r=0;r<t;r+=1)if(e[r]!==o[r])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var Cf={label:"Ticker items",icon:h(sE,{})};function Y$(e,o,t,r){return{type:"custom",[Ho]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},render:({value:a,onChange:n})=>h(vf,{label:e,icon:Fo(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function vf({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=pf(null),[i,f]=Un(null),u=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=M1(t,m,i);x===null&&(s.current=null),f(x),a(u(m))};return h(EE,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?h(Ci,{target:s,value:D1(t,i),onChange:m=>a(N1(t,i??-1,m)),disabled:i===null,label:i===null?l("Formatting \u2014 click a row first"):l("Formatting \u2014 row {n}",{n:i+1})}):void 0,renderRow:(m,x,I)=>h("input",{type:"text",className:n&&i===x?"sf-list-marking":void 0,value:m?.text??"",placeholder:l(r),"aria-label":l("{label} {n}",{label:l(e),n:x+1}),onChange:b=>I({text:b.target.value}),onFocus:b=>{s.current=b.currentTarget,f(x)}})})}function II(e,o){let t=`${e.label} \u2014 row ${o+1}`;return er({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>h(Jt,{value:r,onChange:a,label:l("{label} \u2014 row {n}",{label:l(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function hI(e){return{_gCards:De("Cards"),coverIndex:ot("Cover image",h(lE,{}),lm,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:e1("Image background",Mn),cardImage:W1(),spinOnHover:Ft("Rotate on hover",e?.spinDefault??!0,h(mE,{}))}}function gI(){return{outline:ot("Card outline",h(xE,{}),Pi,Fi),indexBadge:ot("Card number",h($x,{}),Ei,Ti),showBadge:Ft("Product badge",!0,h(ci,{noun:"tag"}))}}function bI(e){let o=e&&"bottomDefault"in e?e.bottomDefault:!0,t=e&&"defaults"in e?e.defaults:{showCardSizes:o,showCardBuy:o,showCardPage:o};return{_gShowOnCard:De("Show on a card"),showCardPrice:Ft("Price",!0,h(oE,{})),showCardFinishes:Ft("Finish swatches",!0,h(tE,{})),showCardSizes:Ft("Sizes",t.showCardSizes,h(uE,{})),showCardBuy:Ft("Buy button",t.showCardBuy,h(VF,{})),showCardPage:Ft("Page button",t.showCardPage,h(Yx,{}))}}function X$(e,o="display"){let t=No(o);return{[o]:_e("desktop",{type:"custom",render:({value:r,onChange:a})=>h(yI,{parts:e,changed:Dp(r),shown:n=>xn(r,n),onPress:(n,s)=>a(Mp(r,n,s)),onReset:()=>a(void 0)})}),[t]:_e("mobile",{type:"custom",render:({value:r,onChange:a})=>h(H1,{parts:e,desktopKey:o,value:r,onChange:a})})}}function yI({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return h(ie,{label:s,icon:h(UF,{}),changed:o,action:h(Ge,{words:Q()?.panel,label:s,changed:o,detail:n,onReset:a}),children:h(PE,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function H1({parts:e,desktopKey:o,value:t,onChange:r}){let a=Eo()[o];return h(yI,{parts:e,changed:Np(t),shown:n=>hi(a,t,n),onPress:(n,s)=>r(Hp(t,n,s)),onReset:()=>r(bn),detail:l("the same as Desktop")})}function W1(){return fI("Card image",{min:lo,max:pt,step:hp,hint:"Rounds the picture. The card's own corner is in Site styles."})}function Z$(){return gf({sidesKey:"cornerSides",step:gp,useFollowed:()=>lo,mark:h(z1,{label:bp}),hint:l("Rounds the picture. Left alone it stays square.")})}function z1({label:e,changed:o=!1,onReset:t=()=>{}}){return h(Ge,{words:Q()?.panel,label:l(e),changed:o,onReset:t})}function Q$(){return{type:"custom",render:({value:e,onChange:o})=>h(G1,{value:typeof e=="string"?e:"",onChange:o})}}function G1({value:e,onChange:o}){let[t,r]=Un(null),a=ai.filter(s=>t===null||_o[s].across===t),n=e&&e in _o?_o[e]:null;return et(Wo,{children:[h(ie,{label:l("Photos in a row"),icon:h(YF,{}),children:et("div",{className:"sf-gallery-filter",children:[h("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),Sp.map(s=>h("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),h(ie,{label:l("Layout"),icon:h(rE,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:ai.length}),children:h(Qx,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(_o[s].label),picture:h("span",{className:"sf-gallery-pic",children:_o[s].desktop.map(([i,f],u)=>h("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${f}`}},u))})}))})})]})}import{jsx as rl,Fragment as U1,jsxs as SI}from"react/jsx-runtime";import{Button as CI,Dialog as $1}from"efficient-shell/ui";function q1(e){return so("This site has {n} color theme of its own. Clearing takes them away and puts back the four the shop supplies.","This site has {n} color themes of its own. Clearing takes them away and puts back the four the shop supplies.",e)}function vI({count:e,onCancel:o,onConfirm:t}){return SI($1,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:SI(U1,{children:[rl(CI,{variant:"secondary",onClick:o,children:l("Cancel")}),rl(CI,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[rl("p",{children:q1(e)}),rl("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var Z1=If("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"),Q1="Reset color",J1={selected:0,themes:[]};function eP(e){e(J1)}function TI({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=Je(e),[n,s]=kI(!1),i=Y1(),[f,u]=kI(null),p=(E,v)=>{o({...a,themes:a.themes.map((g,y)=>y===E?v:g)})},m=zt(a).accent,x=new Set(a.themes.map(E=>E.brandInk).filter(Boolean)),I=vu.filter(E=>!x.has(E)).map(E=>wu(m,E)),b=[...a.themes,...I],S=E=>{if(E<a.themes.length)return o({...a,selected:E});let v=[...a.themes,b[E]];o({...a,themes:v,selected:v.length-1})},w=()=>{let E=[...a.themes,{...bo(a.themes[a.selected])}];o({...a,themes:E,selected:E.length-1}),u(E.length-1)};return wI(j1,{children:[r?null:tr(V1,{label:l(Q1),icon:Fo(Z1),labelId:"sf-theme-reset",action:tr(K1,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&tr(vI,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),eP(o)}}),tr("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:b.map((E,v)=>tr(vn,{index:v,colors:E,selected:v===a.selected,open:f===v&&v<a.themes.length,editable:v<a.themes.length,onPick:()=>S(v),onEdit:()=>u(g=>g===v?null:v),onChangeColors:g=>p(v,g)},v))}),wI("button",{type:"button",onClick:w,className:"sf-theme-add",children:[tr(X1,{size:12}),l("Add new theme")]})]})}import{jsx as al}from"react/jsx-runtime";import{SettingsDefaultReset as oP,SettingsField as tP}from"efficient-easel/panel";import{SquareIcon as rP}from"efficient-easel/icons";var aP="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",wf="Corners";function FI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return al(tP,{label:l(wf),icon:al(rP,{}),value:r?l("Default"):`${e}px`,changed:!r,action:al(oP,{words:Q()?.panel,label:l(wf),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(aP):void 0,children:al(je,{min:lo,max:pt,step:1,value:e??lo,readout:!1,ariaLabel:l(wf),onChange:o})})}import{jsx as ea}from"react/jsx-runtime";import{SettingsDefaultReset as nP,SettingsField as lP,SettingsSegmented as sP}from"efficient-easel/panel";import{ShadowIcon as iP}from"efficient-easel/icons";var kf={none:"None",soft:"Soft",lifted:"Lifted"},fP="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",cP={none:"none",soft:"0 1px 1px rgba(20, 20, 22, 0.10), 0 2px 4px -1px rgba(20, 20, 22, 0.14)",lifted:"0 1px 2px rgba(20, 20, 22, 0.10), 0 4px 7px -2px rgba(20, 20, 22, 0.30)"},dP={labelsPx:90.25,widestLabelPx:34.6};function EI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??qs;return ea(lP,{label:l("Card shadow"),icon:ea(iP,{}),value:l(kf[a]),changed:!r,action:ea(nP,{words:Q()?.panel,label:l("Card shadow"),changed:!r,detail:l(kf[qs]),onReset:()=>o(null)}),hint:t?l(fP):void 0,children:ea(sP,{options:Au.map(n=>({id:n,label:l(kf[n]),icon:ea("span",{className:"sf-shadow-chip",style:{boxShadow:cP[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:dP,onChange:o})})}import{jsx as PI}from"react/jsx-runtime";import{ShadowIcon as uP}from"efficient-easel/icons";var pP="Most useful on a dark theme, where a black shadow cannot be seen. Also used by the Lift hover, even with the card shadow off.";function LI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return PI(In,{label:l("Shadow color"),icon:PI(uP,{}),value:e??"",inherited:Ks,resetTo:Ks,onChange:o,onReset:()=>o(null),hint:t?l(pP):void 0})}import{jsx as nl}from"react/jsx-runtime";import{SettingsDefaultReset as mP,SettingsField as xP}from"efficient-easel/panel";import{AlignSeparateIcon as IP}from"efficient-easel/icons";var hP="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",Tf="Block gap",gP=Yt.Grid;function RI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return nl(xP,{label:l(Tf),labelId:"sf-block-gap",icon:nl(IP,{}),value:r?l("Default"):`${e}px`,changed:!r,action:nl(mP,{words:Q()?.panel,label:l(Tf),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(hP):void 0,children:nl(je,{min:Tt.min,max:Tt.max,step:Tt.step,value:r?gP:e,readout:!1,ariaLabel:l(Tf),onChange:o})})}import{jsx as ll}from"react/jsx-runtime";import{SettingsDefaultReset as bP,SettingsField as yP,SettingsSegmented as SP}from"efficient-easel/panel";import{HoverIcon as CP}from"efficient-easel/icons";var Ff={none:"None",lift:"Lift",highlight:"Highlight"},vP="What a card does when a shopper points at it \u2014 or taps it, on a phone. Highlight is the effect your cards already use.";function OI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??js;return ll(yP,{label:l("Hover effect"),icon:ll(CP,{}),value:l(Ff[a]),changed:!r,action:ll(bP,{words:Q()?.panel,label:l("Hover effect"),changed:!r,detail:l(Ff[js]),onReset:()=>o(null)}),hint:t?l(vP):void 0,children:ll(SP,{options:Bu.map(n=>({id:n,label:l(Ff[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as sl}from"react/jsx-runtime";import{SettingsDefaultReset as wP,SettingsField as kP,SettingsSegmented as TP}from"efficient-easel/panel";import{DropIcon as FP}from"efficient-easel/icons";var Ef="Photography",AI={shot:"As shot",mono:"Black and white"},Pf=[{grayscale:!1,label:AI.shot},{grayscale:!0,label:AI.mono}],EP="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function BI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return sl(kP,{label:l(Ef),icon:sl(FP,{}),value:l(Pf.find(n=>n.grayscale===a).label),changed:!r,action:sl(wP,{words:Q()?.panel,label:l(Ef),changed:!r,detail:l(Pf.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(EP):void 0,children:sl(TP,{options:Pf.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(Ef),onChange:o})})}import{jsx as Lf}from"react/jsx-runtime";import{useId as PP}from"react";import{SettingsField as LP,SettingsSwitch as RP}from"efficient-easel/panel";import{ShareIcon as OP}from"efficient-easel/icons";var AP="Share button",BP="On every blog post.";function _I({value:e,onChange:o,showHint:t=!0}){let r=PP();return Lf(LP,{label:l(AP),labelId:r,icon:Lf(OP,{}),action:Lf(RP,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(BP):void 0})}import{jsx as il}from"react/jsx-runtime";import{SettingsDefaultReset as _P,SettingsField as DP}from"efficient-easel/panel";import{PaddingXIcon as NP}from"efficient-easel/icons";var Rf="Side space",Of=To.default,MP="The room left at the left and right edge of every page.";function DI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return il(DP,{label:l(Rf),labelId:"sf-side-space",icon:il(NP,{}),value:`${e??Of}px`,changed:!r,action:il(_P,{words:Q()?.panel,label:l(Rf),changed:!r,detail:`${Of}px`,onReset:()=>o(null)}),hint:t?l(MP):void 0,children:il(je,{min:To.min,max:To.max,step:To.step,value:e??Of,readout:!1,ariaLabel:l(Rf),onChange:o})})}import{jsx as Go,jsxs as HP}from"react/jsx-runtime";import{SettingsDefaultReset as NI,SettingsField as MI,SettingsSegmented as HI}from"efficient-easel/panel";import{BackgroundIcon as WP,WidthIcon as zP}from"efficient-easel/icons";var fl="Width",GP="Background",UP="Content",WI=["full","content"],zI=e=>l(Zt[e==="content"?"page":"full"]),$P=400,GI="Content cannot be wider than the background.",UI="The width of every section's background, until the section sets its own.",$I="The width of every section's content, until the section sets its own.",qI="On phones, content always fills the screen.";function cl({value:e,changed:o,detail:t,onChange:r,onReset:a,disabled:n=!1,hint:s,labelId:i}){let f=l(GP);return Go(MI,{label:f,labelId:i,icon:Go(WP,{}),changed:o,hint:s?l(s):void 0,action:Go(NI,{words:Q()?.panel,label:f,changed:o,detail:t,onReset:a}),children:Go(HI,{options:WI.map(u=>({id:u,label:zI(u)})),value:e,onChange:r,ariaLabel:f,disabled:n})})}function dl({mode:e,px:o,max:t=we.max,min:r=$P,changed:a,detail:n,onMode:s,onPx:i,onReset:f,fullClosed:u=!1,disabled:p=!1,hint:m,labelId:x}){let I=l(UP),b=e!=="full"?Go(je,{min:r,max:t,step:we.step,value:Math.min(Math.max(o,r),t),onChange:i,suffix:"px",ariaLabel:I,disabled:p}):null;return Go(MI,{label:I,labelId:x,icon:Go(zP,{}),changed:a,hint:m?l(m):void 0,action:Go(NI,{words:Q()?.panel,label:I,changed:a,detail:n,onReset:f}),children:e===void 0||!s?b:HP("div",{className:"flex w-full min-w-0 flex-col gap-2",children:[Go(HI,{options:WI.map(S=>({id:S,label:zI(S),disabled:S==="full"&&u})),value:e,onChange:s,ariaLabel:I,disabled:p}),b]})})}import{jsx as Ah}from"react/jsx-runtime";import{TextStyleItem as eR,TextStylesGroup as oR}from"efficient-easel/text-styles";import{jsx as VL}from"react/jsx-runtime";import{useState as YL}from"react";import{TextStylesList as XL}from"efficient-easel/text-styles";import{usePreviewDevice as ZL}from"efficient-easel/draw/client";import{textStyleCaseCss as GL}from"efficient-easel/draw";import{textStyleCaseCss as oL,textStyleCaseOfCss as tL}from"efficient-easel/draw";function Af(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function po(e){let o=/^([A-Za-z0-9_$]+)\[(\d+)\]\.([A-Za-z0-9_$]+)$/u.exec(e);return o?{key:o[1],row:{index:Number(o[2]),rowKey:o[3]}}:{key:e,row:null}}import{decodePartId as xl,encodePartId as Il}from"efficient-easel/draw";import{LINK_FIELD_MARKER as oh,SCAFFOLD_FIELD_MARKER as JI,TEXT_FIELD_MARKER as hl}from"efficient-easel/draw";import{readHidable as th}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as ZP}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as XP}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as jI}from"efficient-easel/draw";import{readHidable as KI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as qP}from"efficient-easel/draw";var jP=qP,KP=["text","textarea"],VP=["textarea","plainTextarea"];function YP(e){return!e||typeof e!="object"?null:e[jI]?.control??null}function rr(e){let o=YP(e);return o&&jP.includes(o)?o:null}function ul(e){return VP.includes(e)}function VI(e){return!e||typeof e!="object"?void 0:e[jI]?.placeholder}function pl(e){return KI(e).text}function Bf(e,o,t){return KP.includes(e)?{text:t,hidden:KI(o).hidden}:t}function YI(e,o,t,r){return pl(e[o])===r?null:{...e,[o]:Bf(t,e[o],r)}}function _f(e){if(!(!e||typeof e!="object"))return e[XP]}function Df(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function XI(e,o){if(!Array.isArray(o))return[];let t=_f(e),r=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let f=s?.[n];typeof f=="string"&&f&&r.push({row:{index:i,rowKey:n},text:f})}),r}let a=Df(e);return a?(o.forEach((n,s)=>{for(let[i,f]of Object.entries(a)){if(!rr(f))continue;let u=pl(n?.[i]);u&&r.push({row:{index:s,rowKey:i},text:u})}}),r):[]}function oa(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Nf(e,o,t,r){let a=e[o];return!Array.isArray(a)||t.index<0||t.index>=a.length?null:{...e,[o]:a.map((n,s)=>s===t.index?{...n,[t.rowKey]:r}:n)}}function ZI(e,o,t,r,a){let n=oa(e[o],t);return pl(n)===a?null:Nf(e,o,t,Bf(r,n,a))}function QI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var mo="data-sf-part",Ke="data-sf-part-selected",D8="data-sf-part-kind",QP="data-sf-part-style-owner",JP="data-sf-part-style-kind";function N8(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(QP),r=o.getAttribute(JP);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-puck-component"))return null}return null}var eh=2;function rh(e,o){if(!e)return!1;let t=xl(e);return!!t?.propKey&&t.nodeId===o}function ar(e){return St(e).replace(/\s+/gu,"")}function ml(e,o,t){let r=e[hl];if(r){if(r.control==="textList"){let n=r.itemKey??"text";if(!Array.isArray(o))return;for(let s of o){let i=s?.[n];typeof i=="string"&&t.push(i)}return}let{text:a}=th(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[oh]){if(e.type==="text"||e.type==="textarea"){typeof o=="string"&&o&&t.push(o);return}if(e.arrayFields&&Array.isArray(o)){for(let a of o)for(let[n,s]of Object.entries(e.arrayFields))ml(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))ml(n,o[a],t)}}function ah(e){if(!e||typeof e!="object")return!1;let o=e;return o[oh]?!1:!!o[hl]||o.type==="text"||o.type==="textarea"}function gl(e,o){let t=e[hl];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Mf(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function M8(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){if(!a||typeof a!="object"||Ur(r))continue;let n=a,s=[];ml(n,o?.[r],s),!s.length&&n[JI]!==void 0&&ml(n,n[JI],s);let i=gl(n,r),f=new Set;for(let{row:m,text:x}of XI(n,o?.[r])){let I=ar(x);I.length<eh||(f.add(I),t.push({key:r,label:i,texts:[I],row:m}))}let u=new Set(f),p=[];for(let m of s){let x=ar(m);x.length<eh||u.has(x)||(u.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var eL=ZP;function nh(e,o){if(!o||typeof o!="object"||Ur(e)||om(o))return null;let t=o[hl];return!t||!eL.includes(t.control)?null:t}function H8(e,o){let t=nh(e,o);return t!==null&&t.identifier!==!0}function lh(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=nh(r,a);if(!n)continue;let{text:s,hidden:i}=th(o?.[r]),f=s||n.placeholder||"",u=St(f).replace(/\s+/gu," ").trim();t.push({key:r,label:Mf(gl(a,r)),preview:u,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var zf="_partStyles",Uf="data-sf-part-styled",rL=[400,500,600,700],mh=["left","center","right","justify"],sh=5,ih=1e3,aL=-5,nL=10,$f=0,qf=64,jf=2,Kf=120,at=1280,Vf=10,fh={size:{min:sh,max:ih,step:1},sizePhone:{min:sh,max:ih,step:1},padding:{min:$f,max:qf,step:jf},width:{min:Kf,max:at,step:Vf}},lL=.05,sL=.01,iL=["line","letter"],fL=.5,cL=2.5,dL=-1,uL=1,pL=0,mL=400;function ra(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function xh(e){return ra(e?.[zf])??{}}function yl(e,o){let t=xh(e);return Object.hasOwn(t,o)?ra(t[o])??{}:{}}function Ih(e,o,t){let r={...xh(e)};if(xL(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[zf]:a,...n}=e;return n}return{...e,[zf]:r}}function xL(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function IL(e){return iL.includes(e)}var ta=(e,o,t)=>Math.min(t,Math.max(o,e));function hL(e,o){if(IL(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:ta(t,aL,nL)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?nr(ta(t,fL,cL),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?nr(ta(t,dL,uL),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:ta(t,pL,mL)}if(Object.hasOwn(fh,e)){let{min:t,max:r}=fh[e],a=Math.round(Number(o));return Number.isFinite(a)?ta(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Ao.includes(String(o))?o:null:o}var gL=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function hh(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of gL){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!mh.includes(e.align)&&t("align"),o??e}var bL=[["font","role"],["line","lineHeight"],["letter","letterSpacing"]];function yL(e){let o=[];for(let[t,r]of bL)t===e?o.push(r):r===e&&o.push(t);return o}function na(e,o,t,r){let a={...yl(e,o)},n=r==null?null:hL(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of yL(t))delete a[s]}return Ih(e,o,a)}function gh(e,o){return Ih(e,o,{})}function SL(e){return tL(e)??"none"}function CL(e){return oL(e)??""}var vL={heading:"--font-role-heading",heading2:"--font-role-heading2",heading3:"--font-role-heading3",body:"--font-role-body",accent:"--font-role-accent",label:"--font-role-label"};function wL(e){let o=e.role;return o&&Ao.includes(o)?o:null}var kL={headingLarge:"min(clamp(64px,9vw,144px), var(--sf-heading-max,9999px))",headingMedium:"min(32px, var(--sf-heading-max,9999px))",headingSmall:"min(24px, var(--sf-heading-max,9999px))",accent:"32px",body:"14px",label:"12px"};function TL(e){let o=yu[e],t=kL[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function la(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=nr(FL+e.line*lL,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=nr(e.letter*sL,4)),o}var FL=1,sa="--sf-part-para",Yf="(max-width: 719.98px)";function ch(e){return e=hh(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function EL(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function bl(e,o){e=hh(e);let t=wL(e),r=la(e),a=e.size?`${e.size}px`:t?TL(t):"";return{fontFamily:e.font?OL(e.font):t?`var(${vL[t]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:a,minWidth:a?"0":"",overflowWrap:a?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[sa]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:CL(e.case),textAlign:e.align??"",paddingTop:Hf(e.padding),paddingBottom:Hf(e.padding),maxWidth:Hf(e.width),color:PL(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var PL=e=>e===void 0||e===""?"":Object.hasOwn(Do,e)?Do[e]:bh.test(e)?e:"",bh=/^#[0-9a-fA-F]{6}$/;function yh(e){return bh.test(e)}var Hf=e=>e===void 0?"":`${e}px`,nr=(e,o)=>Number(e.toFixed(o));function j8(e,o){let t=Number.parseFloat(e.fontSize)||16,r=Number.parseFloat(e.lineHeight),a=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop),s=Number.parseFloat(e.maxWidth);return{fontKey:o,sizePx:t,weight:LL(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?nr(r/t,3):1.2,letterEm:Number.isFinite(a)?nr(a/t,4):0,align:RL(e.textAlign),case:SL(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<at?Math.round(s):at}}function LL(e){return Number.isFinite(e)?rL.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function RL(e){for(let o of mh)if(o===e)return o;return e==="end"?"right":"left"}function K8(e,o){let t=dh(e);if(!t)return"";for(let r of co)if(dh(o(r.cssVar))===t)return r.key;return""}var dh=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function OL(e){let o=Wt(e);return o?`var(${o.cssVar})`:""}function V8(e,o,t,r){return!o||xl(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function Y8(e,o,t=()=>aa,r=s=>s,a=_L,n=!1){let s=0;for(let{element:i,partId:f}of e){let u=xl(f)?.propKey;if(!u)continue;let p=r(u),m=Object.hasOwn(o,p)?ra(o[p])??{}:{},x=bl(EL(m,n),aa),I=Wf.some(S=>i.style[S]),b=!1;for(let[S,w]of Object.entries(x))DL(i,S,w),w&&(b=!0);if(I||Wf.some(S=>x[S]))for(let S of AL(i,a))for(let w of Wf)S.style[w]=x[w]??"";b&&(s+=1)}return s}function AL(e,o){let t=ar(e.textContent??""),r=[],a=e;for(let n=0;n<BL&&o(a);n+=1){let s=a.parentElement;if(!s||ar(s.textContent??"")!==t)break;r.push(s),a=s}return r}var BL=8;function _L(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var aa={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:at};function DL(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let r=e.style;typeof r.setProperty=="function"?t?r.setProperty(o,t):r.removeProperty?.(o):r[o]=t;let a=e;o===sa&&(t?a.setAttribute?.(uh,""):a.removeAttribute?.(uh))}var uh="data-sf-part-para",NL=Object.keys(bl({},aa)),Gf=new Set(["color","overflowWrap",sa,"fontStyle"]),Wf=NL.filter(e=>!Gf.has(e));function Sh(e,o,t,r=a=>a){let a=new Map;for(let i of e){let f=Af(i.key,i.row);for(let u of i.texts){let p=a.get(u);p?(p.keys.add(i.key),p.partKeys.add(f)):a.set(u,{keys:new Set([i.key]),partKeys:new Set([f])})}}let n=new Map;for(let i of Object.keys(o)){if(!ML(i))continue;let f=ra(o[i])??{},u=bl(f,aa),p=ch(f);!Object.values(u).some(Boolean)&&!Object.keys(p).length||n.set(i,{stamp:ph(t,i),declarations:u,...Object.keys(p).length?{phone:p}:{}})}let s=new Map;for(let[i,{keys:f,partKeys:u}]of a){let p=u.size===1?[...u][0]:f.size===1?[...f][0]:null;if(!p)continue;let m=r(p);if(!Object.hasOwn(o,m))continue;let x=ra(o[m])??{},I=bl(x,aa),b=ch(x);!Object.values(I).some(Boolean)&&!Object.keys(b).length||s.set(i,{stamp:ph(t,p),declarations:I,...Object.keys(b).length?{phone:b}:{}})}return s.size||n.size?{rules:s,kindRules:n,drawn:new Set(a.keys())}:null}function ML(e){return e.startsWith("@")}function Xf(e,o){return e?.kindRules.get(o)??null}function ph(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function Ch(e){let o=[],t=new Set,r=a=>{let{stamp:n,declarations:s}=a;if(t.has(n))return;t.add(n);let i=Object.entries(s).filter(([,I])=>I!==""),f=I=>I.map(([b,S])=>`${WL(b)}: ${S}`).join("; "),u=`[${Uf}="${n}"]`,p=i.filter(([I])=>!Gf.has(I)),m=i.filter(([I])=>Gf.has(I));p.length&&o.push(`${u}, *:has(> ${u}) { ${f(p)} }`),m.length&&o.push(`${u} { ${f(m)} }`),s[sa]&&o.push(...HL(u));let x=Object.entries(a.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Yf} { ${u}, *:has(> ${u}) { ${f(x)} } }`)};for(let a of e.rules.values())r(a);for(let a of e.kindRules.values())r(a);return o.join(`
|
|
4
|
+
`)}function HL(e){let o=`var(${sa})`,t=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: ${o} }`,`${e} ${t}:not(:first-child) { margin-top: ${o} }`,`${e} ${t}:not(:last-child) { margin-bottom: ${o} }`]}var WL=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function vh(e,o){if(!e)return null;let t=ar(o),r=e.rules.get(t);if(r)return r;if(t.length<zL||e.drawn.has(t))return null;let a=null;for(let[n,s]of e.rules)if(n.includes(t)){if(a&&a.stamp!==s.stamp)return null;a=s}return a}var zL=8;var Zf=e=>e==="sentence"?"none":void 0,Uo=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ia=e=>typeof e=="string"&&e?e:void 0,kh=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function xo(e){let o={};for(let t of kh)e[t]!==void 0&&(o[t]=e[t]);return o}function Jf(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=kh.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function ec(e){let o=e.fonts,t=e.sizes,r=e.typography,a=Du(e.compression),n=(i,f)=>({id:`heading-${i}`,kind:"heading",name:`Heading ${i}`,values:xo(f)}),s=(i,f={})=>({id:`body-${i}`,kind:"body",name:`Body ${i}`,values:xo(f)});return[n(1,{font:ia(o.heading),size:Uo(t.headingLarge),weight:Uo(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Zf(r.case),largestSize:Uo(r.maxPx)}),n(2,{font:ia(o.heading2),size:Uo(t.headingMedium),weight:Uo(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Zf(r.case2)}),n(3,{font:ia(o.heading3),size:Uo(t.headingSmall),weight:Uo(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Zf(r.case3)}),s(1,{font:ia(o.body),size:Uo(t.body)}),s(2),s(3),s(4),s(5,{font:ia(o.label),size:Uo(t.label)})]}function Sl(e){return Array.isArray(e)&&e.every(o=>o&&typeof o=="object"&&typeof o.id=="string"&&(o.kind==="heading"||o.kind==="body")&&typeof o.name=="string")?e.map(o=>Jf({...o,values:xo(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function oq(e){return Sl(e)??[]}function nt(e,o){let t=ec(o),r=Sl(e);return r?r.map(a=>{let n={...Qf(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:xo({...n,...a.values})}}):t}var Qf=(e,o)=>e.find(t=>t.id===o)?.values??{},wh=["heading-1","heading-2","heading-3"];function Th({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=ec(o),s=Sl(e)??n.map(m=>({...m,values:{}})),i=nt(s,o),f=[],u=r.map(m=>{let x=t.find(g=>g.id===m.id),I=s.find(g=>g.id===m.id);if(!x||!I)return UL([m],a)[0];let b={...I.values},S=new Set(I.auto??[]),w=m.values,E=x.values,v=[...new Set([...Object.keys(w),...Object.keys(E)])].filter(g=>JSON.stringify(w[g])!==JSON.stringify(E[g]));v.sort((g,y)=>+(g==="letterSpacing")-+(y==="letterSpacing"));for(let g of v){let y=g==="lineSpacing"?"lineHeight":g,L=w[g];if(L===void 0){delete b[y],Qf(n,m.id)[y]!==void 0&&(f.push([m.id,y]),S.add(y));continue}if(S.delete(y),g==="lineSpacing")b.lineHeight=lr(L/100,3);else if(g==="letterSpacing"){let F=i.find(T=>T.id===m.id),R=a({...m,values:xo({...F?.values??{},...b})});b.letterSpacing=R?lr(L/R,4):0}else b[y]=L}return Jf({id:m.id,kind:m.kind,name:m.name,values:xo(b)},S)}),p=o.compression;if(f.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&wh.includes(m))&&mt(p)!=="normal"){for(let m of wh){let x=u.find(b=>b.id===m);if(!x)continue;let I={...x.values};for(let b of["lineHeight","letterSpacing"])f.some(([S,w])=>S===m&&w===b)||I[b]===void 0&&!(x.auto??[]).includes(b)&&(I[b]=Qf(n,m)[b]);x.values=xo(I)}p="normal"}return{saved:u,old:{...o,compression:p}}}function Fh(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=mt(e.old.compression)),t}var lr=(e,o)=>Number(e.toFixed(o));function Eh(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=lr(r*100,1)),a!==void 0&&(s.letterSpacing=lr(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function UL(e,o){return e.map(t=>{let{lineSpacing:r,letterSpacing:a,...n}=t.values,s={id:t.id,kind:t.kind,name:t.name,values:xo({...n})},i={...s.values};if(r!==void 0&&(i.lineHeight=lr(r/100,3)),a!==void 0){let f=o({...s,values:{...s.values}});i.letterSpacing=f?lr(a/f,4):0}return{...s,values:xo(i)}})}function tq(e){let o={fonts:Dr({heading:e.heading_font??void 0,heading2:e.heading_2_font??void 0,heading3:e.heading_3_font??void 0,body:e.body_font??void 0,accent:e.accent_font??void 0,label:e.label_font??void 0}),sizes:$s({headingLarge:e.heading_size_large_px,headingMedium:e.heading_size_medium_px,headingSmall:e.heading_size_small_px,accent:e.accent_size_px,body:e.body_size_px,label:e.label_size_px}),compression:mt(e.heading_compression),typography:Mu(e)},t=e.text_styles??null,r=Array.isArray(t)?oc(nt(t,o),o):o;return{fonts:Dr(r.fonts),sizes:$s(r.sizes),compression:mt(r.compression),typography:r.typography,textStyles:t}}function oc(e,o){let t=x=>e.find(I=>I.id===x)?.values??{},r=t("heading-1"),a=t("heading-2"),n=t("heading-3"),s=t("body-1"),i=t("body-5"),f=o.fonts,u=o.sizes,p=o.typography,m=x=>x==="none"?"sentence":"authored";return{fonts:{...f,heading:r.font??f.heading,heading2:a.font??r.font??f.heading2,heading3:n.font??r.font??f.heading3,body:s.font??f.body,label:i.font??f.label},sizes:{...u,headingLarge:r.size??null,headingMedium:a.size??null,headingSmall:n.size??null,body:s.size??null,label:i.size??null},compression:o.compression,typography:{...p,case:m(r.letterCase),weight:r.weight??null,maxPx:r.largestSize??null,weight2:a.weight??null,weight3:n.weight??null,case2:m(a.letterCase),case3:m(n.letterCase)}}}function $L(e){switch(e.id){case"heading-1":return"font-display";case"heading-2":return"font-heading2";case"heading-3":return"font-heading3";case"body-1":return"font-body";case"body-5":return"font-mono";default:return`font-${e.id}`}}function qL(e){return e==="accent"?"var(--accent)":e==="text"?"var(--fg)":e==="labels"?"var(--fg-dim)":/^#[0-9a-f]{6}$/i.test(e)?e:null}function jL(e){let o=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:first-child) { margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:last-child) { margin-bottom: var(--sf-part-para) }`]}function rq(e){let o=[];for(let t of e){let r=t.values,a=`.${$L(t)}`,n=[],s=r.font!==void 0?co.find(p=>p.key===r.font)?.cssVar:void 0;if(s&&n.push(`font-family: var(${s})`),r.size!==void 0){let p=r.largestSize!==void 0?Math.min(r.size,r.largestSize):r.size;n.push(`font-size: ${p}px`)}let i=r.color!==void 0?qL(r.color):null;i&&n.push(`color: ${i}`),r.italic===!0&&n.push("font-style: italic"),r.weight!==void 0&&n.push(`font-weight: ${r.weight}`);let f=[];r.lineHeight!==void 0&&f.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&f.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&n.push(...f);let u=GL(r.letterCase);if(u&&n.push(`text-transform: ${u}`),r.paragraphSpacing&&n.push(`--sf-part-para: ${r.paragraphSpacing}px`),n.length&&o.push(`${a} { ${n.join("; ")} }`),t.kind==="heading"&&f.length&&o.push(`${a}, ${a}:is(h1, h2, h3, h4) { ${f.join("; ")} }`),r.paragraphSpacing&&o.push(...jL(a)),r.sizePhone!==void 0){let p=KL[t.id],m=[`${a} { font-size: ${r.sizePhone}px }`];p&&m.push(`.sf-themed-content { --size-${p}: ${r.sizePhone}px !important }`),o.push(`@media ${Yf} { ${m.join(" ")} }`)}}return o.join(`
|
|
5
|
+
`)}var KL={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function aq(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function tc(e){switch(e){case"heading":return"heading-1";case"heading2":return"heading-2";case"heading3":return"heading-3";case"body":return"body-1";case"label":return"body-5";default:return}}function rc(e){let o=la(e);return xo({font:e.font,color:e.color,size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function Ph(e){return Object.keys(rc(e)).length>0}function Lh({saved:e,old:o,styleId:t,values:r}){return{saved:(Sl(e)??ec(o).map(a=>({...a,values:{}}))).map(a=>a.id===t?Jf({...a,values:xo({...a.values,...r})},a.auto):a),old:o}}var Rh=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],QL=["size","lineSpacing","letterSpacing","letterCase"],JL=500,ac=co.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function Oh({saved:e,old:o,colours:t,sizeOf:r,onChange:a,openId:n,onOpenChange:s,readOnly:i=!1,withoutSize:f=!1}){let[u,p]=YL(null),m=ZL()==="mobile",x=nt(e,o),I=Eh(x,r);return VL(XL,{styles:I,onChange:b=>a(Th({saved:e,old:o,cur:I,next:b,sizeOf:r})),fonts:ac,colours:t,settings:f?Rh.filter(b=>b!=="size"):Rh,auto:QL,openId:n===void 0?u:n,onOpenChange:s??p,readOnly:i,device:m?"phone":"desktop",fallback:b=>{let S=x.find(E=>E.id===(b.kind==="heading"?"heading-1":"body-1")),w={};return S?.values.font&&b.id!==S.id&&(w.font=S.values.font),b.kind==="heading"&&(w.weight=JL),w}})}var Bh=["font","size","weight","emphasis"],tR=500;function rR({font:e,size:o,weight:t,italic:r}){let a={font:e};return o!==null&&(a.size=o),t!==null&&(a.weight=t),r!==null&&(a.italic=r),{id:"accent",kind:"heading",name:l("Accent"),values:a}}function aR(e,o){let t=[],r=e.values,a=o.values;return a.font!==r.font&&a.font!==void 0&&t.push({key:"font",value:a.font}),a.size!==r.size&&t.push({key:"size",value:a.size??null}),a.weight!==r.weight&&t.push({key:"weight",value:a.weight??null}),a.italic!==r.italic&&t.push({key:"italic",value:a.italic??null}),t}function _h(e){let{headingWeight:o,open:t,onOpenChange:r,onChange:a,withoutSize:n=!1}=e,s=rR(e);return Ah(oR,{label:l("Accent"),children:Ah(eR,{style:s,fonts:ac,settings:n?Bh.filter(i=>i!=="size"):Bh,auto:["size"],fallback:()=>({weight:o??tR}),open:t,onOpenChange:r,onChange:i=>aR(s,i).forEach(a)})})}import{Tabs as lR,Tooltip as Uq,tabButtonId as sR,tabPanelId as iR}from"efficient-shell/ui";import{ContrastIcon as fR,NoteIcon as cR,SettingsIcon as dR,TypeIcon as uR}from"efficient-easel/icons";function Dh(e){switch(e.status){case"saved":return null;case"failed":return{msg:l("Not saved. Try again."),tone:"error"};case"skipped":switch(e.reason){case"empty":return null;case"no-token":return{msg:l("Not saved. Reload the page."),tone:"error"};case"template":return{msg:l("Templates keep their look. Press Done."),tone:"success"}}}}import{SettingsGroupSub as pR}from"efficient-easel/panel";import{previewFrame as mR}from"efficient-easel/screen/lib/puck/preview-dom";import{useEasel as nR}from"efficient-easel/easel";function Cl({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=nR(R=>R),{fonts:a,setFonts:n,sizes:s,setSizes:i,headingCompression:f,setHeadingCompression:u,headingTypography:p,setHeadingTypography:m,textStyles:x,setTextStyles:I}=V(),b=t.data,S=b.root?.props??{},w=e?Dr(S.fonts):a,E=e?Lu:s,v=e?mt(S.headingCompression):f,g=e?Nu(S.headingTypography):p,y={fonts:w,sizes:E,compression:v,typography:g},L=e?S.textStyles:x,F=R=>r({type:"replaceRoot",root:{...b.root,props:{...S,...R}},recordHistory:!0});return{fonts:w,sizes:E,compression:v,typography:g,old:y,saved:L,write:(R,T)=>{let D=oc(nt(R.saved,R.old),R.old);e?F({textStyles:R.saved,fonts:D.fonts,headingCompression:D.compression,headingTypography:D.typography}):(I(R.saved),n(D.fonts),i(D.sizes),u(D.compression),m(D.typography)),o(Fh(R,y),T)},writeRoot:F}}var sc="sf-site-styles",xR="sf-site-styles-tabpanel",ic=!1,IR="Show hints";function fc({shown:e,onChange:o}){return te("div",{className:"sf-hints",children:lt("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[te(cR,{size:13}),l(IR)]})})}var Mh="text",sr=[{id:"basics",label:"Basics",icon:te(dR,{})},{id:"theme",label:"Theme",icon:te(fR,{})},{id:"text",label:"Text",icon:te(uR,{})}];function hR({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=Nh(u=>u),{theme:a,setTheme:n}=V(),s=t.data,i=s.root?.props??{},f=u=>{if(e){let p={...i,theme:u};r({type:"replaceRoot",root:{...s.root,props:p},recordHistory:!0})}else n(u);o({selected_preset:u.selected,theme_presets:u.themes})};return te(TI,{value:e?i.theme:a,onChange:f})}function gR({themeFromDocument:e,persist:o}){let[t,r]=lc(null),{theme:a,setFonts:n,setSizes:s,setHeadingTypography:i}=V(),f=Cl({themeFromDocument:e,persist:o}),{old:u,saved:p,writeRoot:m}=f,x=f.fonts,I=f.sizes,b=f.typography,S=F=>F.values.size??vR(yR[F.id]??"body")??SR[F.kind],w=F=>f.write(F),E=bR(a),v=F=>{let R={...x,accent:F};e?m({fonts:R}):n(R),o({accent_font:F})},g=F=>{s({...I,accent:F}),o({accent_size_px:F})},y=F=>{let R={...b,weightStrong:F};e?m({headingTypography:R}):i(R),o({heading_weight_strong:F})},L=F=>{let R={...b,italicStrong:F};e?m({headingTypography:R}):i(R),o({accent_italic:F})};return lt(Pt,{children:[te(Oh,{saved:p,old:u,colours:E,sizeOf:S,onChange:w,openId:t===nc?null:t,onOpenChange:r,withoutSize:e}),te(_h,{font:x.accent,size:I.accent,weight:b.weightStrong,italic:b.italicStrong,headingWeight:b.weight,open:t===nc,onOpenChange:F=>r(F?nc:null),onChange:F=>{F.key==="font"?v(F.value):F.key==="size"?g(F.value):F.key==="weight"?y(F.value):L(F.value)},withoutSize:e})]})}var nc="accent";function bR(e){let o=zt(e);return[{key:"accent",name:l("Accent"),value:o.accent},{key:"text",name:l("Text"),value:o.text},{key:"labels",name:l("Labels"),value:o.muted??o.text}]}var yR={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},SR={heading:32,body:14},CR={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function vR(e){if(typeof document>"u")return null;let o=(mR()?.contentDocument??document).querySelector(CR[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function wR({themeFromDocument:e,persist:o,showHint:t}){let{appState:r,dispatch:a}=Nh(x=>x),{cornerRadiusPx:n,setCornerRadiusPx:s}=V(),i=r.data,f=i.root?.props??{},u=f.cornerRadiusPx===void 0?Ou[Ru(f.cornerStyle)]:yo(f.cornerRadiusPx),p=e?u:n,m=x=>a({type:"replaceRoot",root:{...i.root,props:{...f,...x}},recordHistory:!0});return te(FI,{value:p,onChange:x=>{e?m({cornerRadiusPx:x}):s(x),o({corner_radius_px:x})},showHint:t})}function kR(e){return{site_width:e}}function TR({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:r,sectionBackgroundWidth:a,setSectionBackgroundWidth:n,sectionContentWidth:s,setSectionContentWidth:i}=V(),f=typeof t=="number"?t:we.default,u=x=>{r(x),e(kR(x),x===null)},p=x=>{n(x),e({section_background_width:x},!0)},m=x=>{i(x),e({section_content_width:x},!0)};return lt(Pt,{children:[te(pR,{title:l(fl),level:4}),te(cl,{value:a??"full",changed:a!==null,detail:l("Full width"),onChange:p,onReset:()=>p(null),hint:o?UI:void 0}),te(dl,{mode:s??"content",px:f,min:we.min,max:we.max,changed:typeof t=="number"||s!==null,detail:`${l("Content width")} ${we.default}px`,onMode:m,onPx:x=>u(x),onReset:()=>{m(null),u(null)},hint:o?$I:void 0})]})}function FR(e){return{block_gap:e}}function ER(e){return{site_gutter:e}}function PR({persist:e,showHint:o}){let{siteGutter:t,setSiteGutter:r}=V();return te(DI,{value:t,onChange:a=>{r(a),e(ER(a),a===null)},showHint:o})}function LR({persist:e,showHint:o}){let{blockGap:t,setBlockGap:r}=V();return te(RI,{value:t,onChange:a=>{r(a),e(FR(a),a===null)},showHint:o})}function RR({persist:e,showHint:o=!0}){return lt(Pt,{children:[te(TR,{persist:e,showHint:o}),te(PR,{persist:e,showHint:o}),te(LR,{persist:e,showHint:o})]})}function OR(e){return{card_shadow:e}}function AR(e){return e===null?{shadow_color:null}:{shadow_color:_u(e)}}function BR(e){return{hover_effect:e}}function _R({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:r,shadowColor:a,setShadowColor:n,hoverEffect:s,setHoverEffect:i}=V();return lt(Pt,{children:[te(EI,{value:t,onChange:f=>{r(f),e(OR(f),!0)},showHint:o}),te(LI,{value:a,onChange:f=>{n(f),e(AR(f),f===null)},showHint:o}),te(OI,{value:s,onChange:f=>{i(f),e(BR(f),!0)},showHint:o})]})}function DR(e){return{photography_grayscale:e}}function NR({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:r}=V();return te(BI,{value:t,onChange:a=>{r(a),e(DR(a),!0)},showHint:o})}function MR({persist:e,showHint:o=!0}){return te(Pt,{children:te(NR,{persist:e,showHint:o})})}function HR(e){return{share_button_on_posts:e}}function WR({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:r}=V();return te(_I,{value:t,onChange:a=>{r(a),e(HR(a),!0)},showHint:o})}function ir(){let{websiteName:e}=V();return e?.trim()||Hu}function vl({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:r,tab:a,onTabChange:n}){let{persist:s}=Kt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:S=>{let w=Dh(S);w&&r?.(w.msg,w.tone)}}),[i,f]=lc(sr[0].id),u=a!==void 0,p=u?a:i,m=u?n??(()=>{}):f,x=sr.find(S=>S.id===p)??sr[0],[I,b]=lc(ic);return lt(Pt,{children:[te(zR,{activeId:x.id,onSelect:m}),lt("div",{id:iR(sc,x.id),className:xR,role:"tabpanel","aria-labelledby":sR(sc,x.id),children:[p==="basics"&<(Pt,{children:[te(wR,{themeFromDocument:e,persist:s,showHint:I}),!e&&te(_R,{persist:s,showHint:I}),!e&&te(RR,{persist:s,showHint:I}),!e&&te(MR,{persist:s,showHint:I}),!e&&te(WR,{persist:s,showHint:I}),te(fc,{shown:I,onChange:b})]}),p==="theme"&&te(hR,{themeFromDocument:e,persist:s}),p==="text"&&te(gR,{themeFromDocument:e,persist:s})]})]})}function zR({activeId:e,onSelect:o}){return te("div",{className:"es-insp-tabs",children:te(lR,{variant:"underline",block:!0,labelsFit:!0,"aria-label":l("Site styles"),idPrefix:sc,value:e,onChange:o,items:sr.map(t=>{let r=l(t.label);return{id:t.id,icon:t.icon,label:r}})})})}import{InspectorIconButton as nO}from"efficient-easel/chrome";import{Button as eg,Dialog as lO,FormField as sO,Input as og,toast as tg}from"efficient-shell/ui";import{LayersTree as iO,TreeGroupLabel as fO,TreeRow as rg,TreeRowAction as Al}from"efficient-easel/tree";import{AddIcon as cO,DuplicateIcon as dO,PageIcon as uO}from"efficient-easel/icons";import{PagesIcon as pO}from"efficient-easel/rail";import{useEaselHost as mO}from"efficient-easel/screen/lib/host";var cc="Main Pages",GR="Dynamic Pages",dc="dynamic",UR="dynamic";function uc(e){return e.kind===UR}function Hh(e){let o=[],t=[];for(let r of e){if(uc(r)){t.push(r);continue}let a=r.groupKey??(r.group?`folder:${r.group}`:"top"),n=o[o.length-1];n&&n.key===a?n.rows.push(r):o.push({key:a,label:r.group??cc,rows:[r]})}if(t.length){let r=o.findIndex(a=>a.key.startsWith("system:"));o.splice(r===-1?o.length:r,0,{key:dc,label:GR,rows:t})}return o}import{useEaselSession as xO}from"efficient-easel/screen/lib/session-context";import{useCallback as wl,useEffect as $R,useSyncExternalStore as qR}from"react";import{useScreenDocument as Uh}from"efficient-easel/screen/components/ScreenDocumentContext";var Wh=new WeakMap;function fa(e){let o=Wh.get(e);return o||(o={rows:null,loading:null,listeners:new Set},Wh.set(e,o)),o}function pc(e,o){e.rows=o;for(let t of e.listeners)t()}var kl=new Set;function Tl(e,o){o?kl.add(e):kl.delete(e)}function zh(e){let o=fa(e),t=e.listPages().then(r=>pc(o,kl.size?r.filter(a=>!kl.has(a.id)):r),()=>pc(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var Gh=()=>null,jR=()=>()=>{};function ca(){let{adapter:e,ready:o}=Uh(),t=wl(i=>{let{listeners:f}=fa(e);return f.add(i),()=>f.delete(i)},[e]),r=wl(()=>fa(e).rows,[e]),a=qR(o?t:jR,o?r:Gh,Gh);$R(()=>{if(!o)return;let i=fa(e);i.rows===null&&!i.loading&&zh(e)},[e,o]);let n=wl(()=>o?zh(e):Promise.resolve(),[e,o]),s=wl(i=>pc(fa(e),i),[e]);return{rows:a,reload:n,setRows:s,getRows:r}}function KR(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function $h(){let{currentSlug:e}=Uh(),{rows:o}=ca();return KR(o,e)}import{useEaselSession as VR}from"efficient-easel/screen/lib/session-context";import{useScreenDocument as YR}from"efficient-easel/screen/components/ScreenDocumentContext";var XR=new Set(["normal","dynamic"]);function Fl(e){return!e.kind||XR.has(e.kind)}function El(e,o){let t=wt(e)||"page";if(!o.has(t))return t;let r=2;for(;o.has(`${t}-${r}`);)r+=1;return`${t}-${r}`}function qh(e,o){return o.has(e)}function jh(e,o){return{title:`${e.label||e.slug} copy`,slug:El(`${e.slug}-copy`,o)}}function Pl(){let e=VR(),{siteId:o,templateId:t}=YR(),r=We(e).pages;if(!(!r.duplicate||t))return(a,n)=>r.duplicate(a.id,{...n,...o?{siteId:o}:{}})}import{jsx as Lt,jsxs as Kh,Fragment as ZR}from"react/jsx-runtime";import{useId as Vh,useState as fr}from"react";import{Button as Yh,Dialog as QR,FormField as Xh,Input as Zh,Stack as JR}from"efficient-shell/ui";function Ll({source:e,taken:o,duplicate:t,onClose:r,onDuplicated:a}){let n=Vh(),s=Vh(),[i,f]=fr(null),[u,p]=fr(""),[m,x]=fr(""),[I,b]=fr(!1),[S,w]=fr(!1),[E,v]=fr(null);if(e!==i&&(f(e),e)){let F=jh(e,o);p(F.title),x(F.slug),b(!1),v(null)}let g=qh(m,o),y=!!(e&&u.trim()&&m&&!g&&!S),L=async()=>{if(!(!e||!y)){w(!0),v(null);try{let F=await t(e,{title:u.trim(),slug:m});a(F)}catch{v(l("Couldn\u2019t duplicate the page \u2014 please retry."))}finally{w(!1)}}};return Lt(QR,{open:e!==null,onClose:()=>{S||r()},size:"sm",title:l("Duplicate \u201C{name}\u201D",{name:e?.label??""}),description:l("The copy is a draft and stays hidden until you publish it. It opens in the editor."),footer:Kh(ZR,{children:[Lt(Yh,{variant:"secondary",onClick:r,disabled:S,children:l("Cancel")}),Lt(Yh,{onClick:()=>{L()},disabled:!y,loading:S,children:l("Duplicate page")})]}),children:Kh(JR,{gap:4,children:[Lt(Xh,{label:l("Title"),htmlFor:n,error:E??void 0,children:Lt(Zh,{id:n,value:u,invalid:!!E,onChange:F=>{p(F.target.value),I||x(wt(F.target.value))},onKeyDown:F=>{F.key==="Enter"&&L()}})}),Lt(Xh,{label:l("URL handle"),htmlFor:s,hint:g?void 0:l("URL: /{slug}",{slug:m}),error:g?l("Another page uses this URL handle."):void 0,children:Lt(Zh,{id:s,value:m,invalid:g,onChange:F=>{b(!0),x(wt(F.target.value))},onKeyDown:F=>{F.key==="Enter"&&L()}})})]})})}var ag="sf-editor-pages-collapsed-groups";function ng({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:r}){let a=xO().chrome?.pageRows,n=mO(),{adapter:s,capabilities:i,ready:f,currentSlug:u}=rO(),p=ir(),{rows:m,reload:x,setRows:I,getRows:b}=ca(),[S,w]=Rt(""),[E,v]=Rt(!1),[g,y]=Rt(null),[L,F]=Rt(!1),[R,T]=Rt(""),D=tO(),G=Pl(),[B,O]=Rt(null),[H,_]=Rt(()=>{if(typeof window>"u")return new Set;try{let P=window.localStorage.getItem(ag);return new Set(P?JSON.parse(P):[])}catch{return new Set}});oO(()=>{try{window.localStorage.setItem(ag,JSON.stringify([...H]))}catch{}},[H]);let ae=P=>_(ee=>{let j=new Set(ee);return j.has(P)?j.delete(P):j.add(P),j}),se=Jh(()=>Hh(m??[]),[m]),Ie=S.trim().toLowerCase(),ro=P=>!Ie||P.toLowerCase().includes(Ie),Ye=P=>Ie?!0:!H.has(P),Fe=Jh(()=>new Set((m??[]).map(P=>P.slug)),[m]),ao=()=>{if(i.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}T(""),y(null),F(!0)},Me=async()=>{let P=R.trim();if(!(!P||!f||E||!s.createPage)){v(!0),y(null);try{let ee=await s.createPage({slug:El(P,Fe),title:P,layout:{}});await x(),F(!1),T(""),e(ee.slug)}catch{y(l("Couldn\u2019t add the page \u2014 please retry."))}finally{v(!1)}}},Oe=P=>{let ee=m??[],j=s.deletePage;if(!f||E||!j||ee.length<=1)return;let ge=ee.findIndex(oe=>oe.id===P.id),ve=ee.filter(oe=>oe.id!==P.id),ze=P.slug===u;Tl(P.id,!0),I(ve),y(null),ze&&ve[0]&&e(ve[0].slug);let $e=()=>{Tl(P.id,!1);let oe=b()??[];if(oe.some(Qe=>Qe.id===P.id))return;let le=[...oe];le.splice(Math.max(0,Math.min(ge,le.length)),0,P),I(le)};tg.undoable(l("Deleted \u201C{name}\u201D",{name:P.label}),{actionLabel:l("Undo"),commit:async oe=>{await j(P.id,oe),Tl(P.id,!1)},undo:()=>{$e(),ze&&e(P.slug)},onFail:()=>{$e(),tg.error(l("Couldn\u2019t delete the page \u2014 please retry."))}})},ye=P=>n.send("storefront-editor:open-page",{slug:P}),Ce=P=>{if(!ro(P.label))return null;let ee=!t&&P.slug===u,j=i.canDeletePagesInline&&(m??[]).length>1,ge=uc(P),ve=P.kind==="lightbox",ze=[...ge?[{label:l("Dynamic"),tone:"info"}]:[],...ve?[{label:l("Lightbox"),tone:"success"}]:[],...P.draft?[{label:l("draft"),tone:"draft"}]:[]],$e=ze.length>0?ze:void 0,oe=!!G&&Fl(P),le=oe||i.pageCreationInAdminForm||j?Rl(Qh,{children:[oe&&fe(Al,{kind:"plain",label:l("Duplicate \u201C{name}\u201D",{name:P.label}),disabled:E,onClick:()=>O(P),children:fe(dO,{size:13})}),i.pageCreationInAdminForm&&fe(Al,{kind:"plain",label:l("Edit \u201C{name}\u201D in {place}",{name:P.label,place:l("the admin")}),onClick:()=>ye(P.slug),children:fe(Ol,{name:"pencil",size:13,strokeWidth:1.7,rounded:!0})}),j&&fe(Al,{kind:"delete",label:l("Delete \u201C{name}\u201D",{name:P.label}),disabled:E,onClick:()=>Oe(P),children:fe(Ol,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return fe(rg,{icon:fe(uO,{size:14}),name:P.label,selected:ee,onSelect:()=>e(P.slug),badge:$e,actions:le,rowProps:{"data-page-slug":P.slug}},P.id)},Xe=(P,ee,j)=>{let ge=j.filter(Boolean);if(ge.length===0)return null;let ve=Ye(P);return Rl(eO,{children:[fe(fO,{count:ge.length,expanded:ve,onToggle:()=>ae(P),children:ee}),ve&&ge]},P)},He=(a?.rows??[]).filter(P=>ro(P.label)).map(P=>{let ee=t===P.key;return fe(rg,{icon:P.icon,name:P.label,selected:ee,onSelect:()=>r(P.key),badge:{label:l("Preview"),tone:"warning"},actions:fe(Al,{kind:"plain",label:l("Open the {name} in a new tab",{name:P.label}),onClick:()=>window.open(P.href,"_blank","noopener,noreferrer"),children:fe(Ol,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":P.key}},P.key)}),Ze=i.hasSiteSettings&&!!a,Ae=(()=>{if(m===null)return null;let P=[],ee=!1;for(let j of se){Ze&&!ee&&j.key.startsWith("system:")&&(P.push(Xe("shop",a.title,He)),ee=!0);let ge=j.key===dc||j.label===cc?l(j.label):j.label;P.push(Xe(j.key,ge,j.rows.map(Ce)))}return Ze&&!ee&&P.push(Xe("shop",a.title,He)),P})();return Rl("div",{className:"sf-pages",children:[fe(aO,{icon:fe(pO,{}),title:l("Pages"),context:p,actions:fe(nO,{label:l("New page"),onClick:ao,children:fe(cO,{size:15})}),onHide:o}),fe("div",{className:"sf-pages-find",children:fe(og,{type:"search",leftIcon:fe(Ol,{name:"search",size:14,rounded:!0}),placeholder:l("Search all pages\u2026"),value:S,onChange:P=>w(P.target.value),"aria-label":l("Search all pages")})}),g&&!L&&fe("div",{className:"sf-note sf-note--error",role:"alert",children:g}),Ae===null?fe("div",{className:"sf-note",children:l("Loading\u2026")}):Ae.some(Boolean)?fe(iO,{ariaLabel:l("Pages"),className:"sf-scroll",children:Ae}):fe("div",{className:"sf-note",children:S.trim()?l("No pages match your search"):l("No pages yet. Add one with + above.")}),G&&fe(Ll,{source:B,taken:Fe,duplicate:G,onClose:()=>O(null),onDuplicated:P=>{O(null),x(),e(P.slug)}}),fe(lO,{open:L,onClose:()=>F(!1),size:"sm",title:l("Add a page"),description:l("Give the new template page a name. It starts blank \u2014 add sections once it opens."),footer:Rl(Qh,{children:[fe(eg,{variant:"secondary",onClick:()=>F(!1),children:l("Cancel")}),fe(eg,{onClick:()=>{Me()},disabled:E||!R.trim(),loading:E,children:l("Add page")})]}),children:fe(sO,{label:l("Page name"),htmlFor:D,hint:R.trim()?l("URL: /{slug}",{slug:El(R,Fe)}):void 0,error:g??void 0,children:fe(og,{id:D,value:R,invalid:!!g,onChange:P=>T(P.target.value),onKeyDown:P=>{P.key==="Enter"&&Me()},placeholder:l("e.g. About")})})})]})}import{jsx as IO}from"react/jsx-runtime";import{createContext as hO,useCallback as gO,useContext as bO,useState as yO}from"react";import{useSelectHandler as SO}from"efficient-easel/draw/client";var Bl=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],cr=Bl[0];var Ot="right";function _l(e){return Bl.includes(e??"")?e:cr}function lg(e){return e==="left"?"left":Ot}function sg(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():""}var Dl={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Ot,launcherLabel:"",showOnPhones:!0};function z9(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:sg(e.launcherColor),launcherIcon:e.launcherIcon?_l(e.launcherIcon):"",launcherPosition:lg(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var ig=hO({chat:Dl,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function G9({children:e,chat:o=Dl,onChatChange:t}){let[r,a]=yO(!1),n=gO(f=>t?.(f),[t]),{select:s,setSelectHandler:i}=SO();return IO(ig.Provider,{value:{chat:o,setChat:n,selected:r,setSelected:a,select:s,setSelectHandler:i},children:e})}var Nl=()=>bO(ig);import{jsx as mc}from"react/jsx-runtime";import{DesktopIcon as CO,PhoneIcon as vO,TabletIcon as wO}from"efficient-easel/icons";import{VIEW_TIERS as kO,VIEW_TIER_LABEL as TO}from"efficient-easel/draw";var FO={desktop:mc(CO,{}),tablet:mc(wO,{}),mobile:mc(vO,{})},fg=kO.map(e=>({id:e,get label(){return l(TO[e])},icon:FO[e]}));import{PreviewDeviceContext as P5}from"efficient-easel/draw/client";import{jsx as EO}from"react/jsx-runtime";import{createContext as PO,useCallback as cg,useContext as LO,useMemo as RO,useRef as OO}from"react";var AO=Object.fromEntries(on.map(e=>[e,{value:"",error:null}])),dg=PO({links:zu,rows:AO,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function Q9({children:e,value:o}){let t=OO(()=>{}),r=cg(()=>t.current(),[]),a=cg(s=>{t.current=s},[]),n=RO(()=>({...o,openPanel:r,setOpenHandler:a}),[o,r,a]);return EO(dg.Provider,{value:n,children:e})}var da=()=>LO(dg);import{jsx as BO}from"react/jsx-runtime";import{createContext as _O,useContext as DO,useMemo as NO,useState as MO}from"react";var ug=_O(null);function tj({children:e}){let[o,t]=MO(null),r=NO(()=>({surface:o,setSurface:t}),[o]);return BO(ug.Provider,{value:r,children:e})}function pg(){return DO(ug)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as HO}from"efficient-easel/draw/client";var ua="Scrolling Bar",{Provider:nj,useSelection:Ml}=HO("selectedHeroId");import{createPreviewSelectionContext as WO}from"efficient-easel/draw/client";var{Provider:ij,useSelection:Hl}=WO("selectedHeroPart");import{isShown as tA,lazyShowWhenContext as rA}from"efficient-shell/format";var Wl="product",zO="recordType",GO={key:Wl,label:"Product",fields:[]};var UO=new Map,$O=0;function cj(){return[GO,...UO.values()]}function dj(){return $O}function qO(e){let o=e?.[zO];return typeof o!="string"?Wl:o.trim()||Wl}function xc(e){return qO(e)===Wl}var Ic="product",jO="tyre";var KO="productType",VO={[Ic]:"alloy-wheel",[jO]:"tyre"},YO=["alloy-wheel","tyre"];function mg(e,o){return xc(o)?XO(o)??VO[e]??null:null}function XO(e){if(!xc(e))return null;let o=e?.[KO];return typeof o=="string"&&YO.includes(o)?o:null}var zl=null,xg=null;function ZO(e,o){zl=e,xg=o}function Ij(e){ZO(e,null)}function hj(){return zl}function Ig(){return xg==="dynamic"||zl===Ic}function gj(e){return mg(zl??"",e)??"alloy-wheel"}import{addShowWhenFacts as QO}from"efficient-shell/format";import{showWhenOf as hc,shownForOption as JO,truthy as eA,withRowRules as oA,withRowsShownWhen as Gl,withShowWhen as Ul}from"efficient-shell/format";var Cj=QO;function gg(e,o,t){let r=!1,a={};for(let[n,s]of Object.entries(e))tA(hc(s),o??{},t)?a[n]=s:r=!0;return r?a:e}function bg(e,o,t,r){let a=sn(o,t,r);return{device:e,parentType:a?.item.type,parent:a?.item.props}}function hg(e,o){if(!e||typeof e!="object")return!1;let t=e;if(typeof t.context=="string"&&(t.context===o||t.context.startsWith(`${o}.`)))return!0;if("not"in t)return hg(t.not,o);for(let r of[t.all,t.any])if(Array.isArray(r)&&r.some(a=>hg(a,o)))return!0;return!1}function Pj(e,o={}){return rA({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>Ig(),root:()=>e.appState?.data?.root?.props,...o})}var Sg=["one","side","stacked"];var Rj={one:"One",side:"Side by side",stacked:"Stacked"};function Cg(e){return Sg.includes(e)?e:"one"}function yg(e){return e==="one"?1:2}function aA(e,o){if(Sg.includes(e))return e;let t=Cg(o);return t==="side"?"stacked":t}function gc(e){let o=Cg(e.mediaLayout);return Math.max(yg(o),yg(aA(e.mediaLayoutPhone,o)))}var pa=["media","image","image2"],dr={media:"Media",image:"Image",image2:"Image 2"},ma={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function $l(e,o){return e==="image"&&gc(o)>1?"Image 1":dr[e]}var _j="Video file",Dj="Upload a video file";function nA(e,o){return{field:"mediaType",is:e,default:o}}var lA=new Set(["HeroSingle"]),vg="heroPart";function sA(e,o){return{...o,[vg]:e}}function Nj(e,{parts:o={},onlyFor:t,fallback:r,rules:a}){let n={...e};for(let s of["image","video"])for(let i of t[s])n[i]=Ul(n[i],nA(s,r));for(let[s,i]of Object.entries(a??{}))i&&(n[s]=Ul(n[s],i));for(let s of pa)for(let i of o[s]??[])n[i]=sA(s,n[i]);return n}function iA(e){let o=e?.[vg];return pa.includes(o)?o:null}function wg(e,o){let t={};for(let[r,a]of Object.entries(e))iA(a)===o&&(t[r]=a);return t}function kg(e){if(!lA.has(e.type))return[];let o=[{part:"media",label:dr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:$l("image",e.props),depth:1}),gc(e.props)>1&&o.push({part:"image2",label:$l("image2",e.props),depth:1})),o}function xa(e,o){return`${e}::${o}`}function Tg(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return pa.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var Mj="data-sf-hero-part";import{jsx as J,jsxs as st,Fragment as ys}from"react/jsx-runtime";import{useState as hS}from"react";import{useEasel as EM}from"efficient-easel/easel";import{headWords as yS,InspectorHead as PM,InspectorIconButton as Rd}from"efficient-easel/chrome";import{DuplicateIcon as gS,TrashIcon as LM}from"efficient-easel/icons";import{panelFieldsOf as RM}from"efficient-easel/screen/lib/puck/panel-fields";import{jsx as k,Fragment as K,jsxs as X}from"react/jsx-runtime";import{BlockBannerIcon as dA,BlockBoxIcon as uA,BlockButtonIcon as pA,BlockDividerIcon as Eg,BlockFooterIcon as Pg,BlockHeadingIcon as mA,BlockProductIcon as xA,BlockSocialIcon as IA,BlockTextIcon as hA,ChatIcon as gA,GridIcon as bA,ImageIcon as yc,MediaIcon as yA,PageIcon as SA}from"efficient-easel/icons";import{jsx as bc,Fragment as fA,jsxs as cA}from"react/jsx-runtime";var Fg=cA(fA,{children:[bc("circle",{cx:"9",cy:"20",r:"1.3"}),bc("circle",{cx:"18",cy:"20",r:"1.3"}),bc("path",{d:"M2.5 3.5h3l2.3 11.3a1.6 1.6 0 0 0 1.6 1.3h8.1a1.6 1.6 0 0 0 1.6-1.2L21 7H6"})]});var CA={header:X(K,{children:[k("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),k("path",{d:"M3 9.5h18"})]}),website:X(K,{children:[k("circle",{cx:"12",cy:"12",r:"9"}),k("path",{d:"M3 12h18M12 3c2.6 2.7 2.6 15.3 0 18M12 3c-2.6 2.7-2.6 15.3 0 18"})]}),social:X(K,{children:[k("circle",{cx:"6",cy:"12",r:"2.5"}),k("circle",{cx:"18",cy:"6",r:"2.5"}),k("circle",{cx:"18",cy:"18",r:"2.5"}),k("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:X(K,{children:[k("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),k("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:X(K,{children:[k("path",{d:"M4 15.5h6M4 18h4"}),k("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:k("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:X(K,{children:[k("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),k("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:k("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:X(K,{children:[k("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),k("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:X(K,{children:[k("circle",{cx:"11",cy:"11",r:"6"}),k("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:Fg,CountrySwitchBlock:X(K,{children:[k("circle",{cx:"12",cy:"12",r:"8.5"}),k("path",{d:"M3.5 12h17M12 3.5c2.6 2.4 3.6 5.2 3.6 8.5s-1 6.1-3.6 8.5M12 3.5c-2.6 2.4-3.6 5.2-3.6 8.5s1 6.1 3.6 8.5"})]}),AccountBlock:X(K,{children:[k("circle",{cx:"12",cy:"8",r:"4"}),k("path",{d:"M4.5 20c.8-3.8 3.8-6 7.5-6s6.7 2.2 7.5 6"})]}),ThemeSwitchBlock:X(K,{children:[k("circle",{cx:"12",cy:"12",r:"8.5"}),k("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:X(K,{children:[k("path",{d:"M3 9h18"}),k("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:X(K,{children:[k("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),k("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:X(K,{children:[k("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),k("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:X(K,{children:[k("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),k("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),k("path",{d:"M7 17h7"})]}),Collections:X(K,{children:[k("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),k("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),k("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:X(K,{children:[k("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),k("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:X(K,{children:[k("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),k("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),k("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),k("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),k("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:X(K,{children:[k("path",{d:"M3 7h9M15.5 7H21"}),k("circle",{cx:"13.5",cy:"7",r:"1.7"}),k("path",{d:"M3 12h4M10.5 12H21"}),k("circle",{cx:"8.5",cy:"12",r:"1.7"}),k("path",{d:"M3 17h9M15.5 17H21"}),k("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:X(K,{children:[k("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),k("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),k("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),k("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),k("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),k("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:X(K,{children:[k("path",{d:"M3 5h10"}),k("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),k("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),k("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:X(K,{children:[k("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),k("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),k("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:X(K,{children:[k("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),k("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),k("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),k("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:X(K,{children:[k("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),k("circle",{cx:"9",cy:"10",r:"1.6"}),k("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:X(K,{children:[k("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),k("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:X(K,{children:[k("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),k("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),k("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:X(K,{children:[k("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),k("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:X(K,{children:[k("path",{d:"M3.5 20h17"}),k("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:X(K,{children:[k("circle",{cx:"6",cy:"12",r:"2.6"}),k("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),k("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:X(K,{children:[k("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),k("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:X(K,{children:[k("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),k("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:X(K,{children:[k("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),k("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:X(K,{children:[k("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),k("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:X(K,{children:[k("path",{d:"M4 8.5h4.5M11 8.5h9"}),k("path",{d:"M4 14.5h16"})]}),HeroGroup:X(K,{children:[k("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),k("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:X(K,{children:[k("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),k("path",{d:"M6.5 9h11M6.5 12.5h11"}),k("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:k(K,{children:k("path",{d:"M12 3.5l7.5 3.2v5.1c0 4.2-3.2 7.1-7.5 8.7-4.3-1.6-7.5-4.5-7.5-8.7V6.7z"})}),Spacer:X(K,{children:[k("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),k("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:X(K,{children:[k("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),k("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),k("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),k("path",{d:"M4 13.5h11M4 17.5h7"}),k("path",{d:"M17 15l3 2-3 2"})]}),CustomHTML:k("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},vA=k("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),wA={footer:Pg,Footer:Pg,Divider:Eg,FooterDivider:Eg,Banner:dA,Flex:uA,FooterSocial:IA,page:SA,chat:gA,Heading:mA,Text:hA,ImageBlock:yc,ButtonBlock:pA,Grid:bA,ProductRef:xA,heroMedia:yA,heroImage:yc,heroImage2:yc},kA={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function At({type:e,size:o=16,className:t}){let r=kA[e]??e,a=wA[r];return a?k(a,{size:o,className:t}):k("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:CA[r]??vA})}import{PanelHideButton as Od}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as OM}from"efficient-easel/screen/lib/session-context";import{jsx as re,jsxs as Sc,Fragment as TA}from"react/jsx-runtime";import{useEffect as FA,useId as Lg,useState as EA}from"react";import{IconPicker as PA}from"efficient-shell/ui";import{SettingsDefaultReset as LA,SettingsField as ur,SettingsSegmented as RA,SettingsSwitch as Rg}from"efficient-easel/panel";import*as OA from"efficient-easel/icons";import{ButtonIcon as AA,ButtonIconIcon as BA,EyeIcon as _A,PhoneIcon as DA,PlacementIcon as NA,TypeIcon as MA}from"efficient-easel/icons";var HA="Chat with us",WA="We usually reply within a few minutes",zA="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function ql({label:e,value:o,placeholder:t,onCommit:r,multiline:a=!1,hint:n}){let[s,i]=EA(o);FA(()=>i(o),[o]);let f=()=>{s!==o&&r(s)};return re(ur,{label:e,icon:re(MA,{}),changed:o!=="",action:re(pr,{label:e,changed:o!=="",onReset:()=>r("")}),hint:n,children:a?re("textarea",{value:s,placeholder:t,rows:3,onChange:u=>i(u.target.value),onBlur:f,"aria-label":e}):re("input",{type:"text",value:s,placeholder:t,onChange:u=>i(u.target.value),onBlur:f,onKeyDown:u=>{u.key==="Enter"&&u.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function pr({label:e,changed:o,onReset:t}){return re(LA,{words:Q()?.panel,label:e,changed:o,onReset:t})}function GA({label:e,icon:o,checked:t,fallback:r,onChange:a,hint:n}){let s=Lg();return re(ur,{label:e,labelId:s,icon:o,changed:t!==r,action:Sc("span",{className:"inline-flex items-center gap-2",children:[re(Rg,{checked:t,onChange:a,ariaLabelledBy:s}),re(pr,{label:e,changed:t!==r,onReset:()=>a(r)})]}),hint:n})}function UA(e){let o=e.replace(/(^|-)([a-z])/g,(r,a,n)=>n.toUpperCase()),t=OA[`${o}Icon`];return t?re(t,{size:16}):null}var $A=Bl.map(e=>({value:e,icon:UA(e)}));function qA(){let{theme:e}=V(),o=Je(e).themes[0];return Nr(o)??o?.accent??""}function Og(){let{chat:e,setChat:o}=Nl(),t=Lg(),r=qA(),a=e.launcherIcon?_l(e.launcherIcon):cr;return Sc(TA,{children:[re(ur,{label:l("Show the chat bubble"),labelId:t,icon:re(_A,{}),changed:!e.enabled,action:Sc("span",{className:"inline-flex items-center gap-2",children:[re(Rg,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),re(pr,{label:l("Show the chat bubble"),changed:!e.enabled,onReset:()=>o({enabled:!0})})]}),hint:e.enabled?l("The floating chat bubble shows in the corner of every page."):l("The chat bubble is hidden across the whole site.")}),re(or,{label:"Look"}),re(ur,{label:l("Button color"),icon:re(AA,{}),changed:e.launcherColor!=="",action:re(io,{label:l("Button color"),value:e.launcherColor,inherited:r,caption:e.launcherColor?void 0:l("Site button color"),onChange:n=>o({launcherColor:n}),after:re(pr,{label:l("Button color"),changed:e.launcherColor!=="",onReset:()=>o({launcherColor:""})})})}),re(ur,{label:l("Icon"),icon:re(BA,{}),changed:a!==cr,action:re(pr,{label:l("Icon"),changed:a!==cr,onReset:()=>o({launcherIcon:""})}),children:re(PA,{label:l("Icon"),value:a,options:$A,onChange:n=>o({launcherIcon:n===cr?"":n})})}),re(ur,{label:l("Position"),icon:re(NA,{}),changed:e.launcherPosition!==Ot,action:re(pr,{label:l("Position"),changed:e.launcherPosition!==Ot,onReset:()=>o({launcherPosition:Ot})}),children:re(RA,{options:[{label:l("Right"),id:"right"},{label:l("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:l("Position"),onChange:n=>o({launcherPosition:n})})}),re(ql,{label:l("Label"),value:e.launcherLabel,placeholder:l("Icon only"),onCommit:n=>o({launcherLabel:n}),hint:l("Shows when a visitor points at the button")}),re(GA,{label:l("Show on phones"),icon:re(DA,{}),checked:e.showOnPhones,fallback:Dl.showOnPhones,onChange:n=>o({showOnPhones:n})}),re(or,{label:"Wording"}),re(ql,{label:l("Title"),value:e.title,placeholder:HA,onCommit:n=>o({title:n})}),re(ql,{label:l("Subtitle"),value:e.subtitle,placeholder:WA,onCommit:n=>o({subtitle:n})}),re(ql,{label:l("Greeting message"),value:e.greeting,placeholder:zA,onCommit:n=>o({greeting:n}),multiline:!0}),re("p",{className:"es-field-hint sf-hint-keep",children:l("Leave a field blank to use the built-in wording.")})]})}import{jsx as Bt,Fragment as Uc,jsxs as Ng}from"react/jsx-runtime";import{useEffect as SB,useId as _g,useState as Dg}from"react";import{SettingsField as CB}from"efficient-easel/panel";import{jsx as uB}from"react/jsx-runtime";import{forwardRef as jA,createElement as Cc}from"react";var Ag={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};var $=(e,o,t,r)=>{let a=jA(({color:n="currentColor",size:s=24,stroke:i=2,title:f,className:u,children:p,...m},x)=>Cc("svg",{ref:x,...Ag[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,u].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:i,stroke:n},...m},[f&&Cc("title",{key:"svg-title"},f),...r.map(([I,b])=>Cc(I,b)),...Array.isArray(p)?p:[p]]));return a.displayName=`${t}`,a};var KA=[["path",{d:"M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3",key:"svg-0"}]],vc=$("outline","brand-facebook","BrandFacebook",KA);var VA=[["path",{d:"M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10",key:"svg-0"}],["path",{d:"M8.5 12a3.5 3.5 0 1 0 7 0a3.5 3.5 0 0 0 -7 0",key:"svg-1"}],["path",{d:"M17 7v.01",key:"svg-2"}]],wc=$("outline","brand-instagram","BrandInstagram",VA);var YA=[["path",{d:"M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01",key:"svg-0"}]],kc=$("outline","brand-line","BrandLine",YA);var XA=[["path",{d:"M8 11v5",key:"svg-0"}],["path",{d:"M8 8v.01",key:"svg-1"}],["path",{d:"M12 16v-5",key:"svg-2"}],["path",{d:"M16 16v-3a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10",key:"svg-4"}]],Tc=$("outline","brand-linkedin","BrandLinkedin",XA);var ZA=[["path",{d:"M8 20l4 -9",key:"svg-0"}],["path",{d:"M10.7 14c.437 1.263 1.43 2 2.55 2c2.071 0 3.75 -1.554 3.75 -4a5 5 0 1 0 -9.7 1.7",key:"svg-1"}],["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-2"}]],Fc=$("outline","brand-pinterest","BrandPinterest",ZA);var QA=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],Ec=$("outline","brand-telegram","BrandTelegram",QA);var JA=[["path",{d:"M21 7.917v4.034a9.948 9.948 0 0 1 -5 -1.951v4.5a6.5 6.5 0 1 1 -8 -6.326v4.326a2.5 2.5 0 1 0 4 2v-11.5h4.083a6.005 6.005 0 0 0 4.917 4.917",key:"svg-0"}]],Pc=$("outline","brand-tiktok","BrandTiktok",JA);var eB=[["path",{d:"M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5",key:"svg-0"}],["path",{d:"M11.197 15.698c-.69 .196 -1.43 .302 -2.197 .302a8.008 8.008 0 0 1 -2.612 -.432l-2.388 1.432v-2.801c-1.237 -1.082 -2 -2.564 -2 -4.199c0 -3.314 3.134 -6 7 -6c3.782 0 6.863 2.57 7 5.785l0 .233",key:"svg-1"}],["path",{d:"M10 8h.01",key:"svg-2"}],["path",{d:"M7 8h.01",key:"svg-3"}],["path",{d:"M15 14h.01",key:"svg-4"}],["path",{d:"M18 14h.01",key:"svg-5"}]],Lc=$("outline","brand-wechat","BrandWechat",eB);var oB=[["path",{d:"M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9",key:"svg-0"}],["path",{d:"M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1",key:"svg-1"}]],Rc=$("outline","brand-whatsapp","BrandWhatsapp",oB);var tB=[["path",{d:"M4 4l11.733 16h4.267l-11.733 -16l-4.267 0",key:"svg-0"}],["path",{d:"M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772",key:"svg-1"}]],Oc=$("outline","brand-x","BrandX",tB);var rB=[["path",{d:"M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8",key:"svg-0"}],["path",{d:"M10 9l5 3l-5 3l0 -6",key:"svg-1"}]],Ac=$("outline","brand-youtube","BrandYoutube",rB);var aB=[["path",{d:"M18 2a1 1 0 0 1 .993 .883l.007 .117v4a1 1 0 0 1 -.883 .993l-.117 .007h-3v1h3a1 1 0 0 1 .991 1.131l-.02 .112l-1 4a1 1 0 0 1 -.858 .75l-.113 .007h-2v6a1 1 0 0 1 -.883 .993l-.117 .007h-4a1 1 0 0 1 -.993 -.883l-.007 -.117v-6h-2a1 1 0 0 1 -.993 -.883l-.007 -.117v-4a1 1 0 0 1 .883 -.993l.117 -.007h2v-1a6 6 0 0 1 5.775 -5.996l.225 -.004h3z",key:"svg-0"}]],Bc=$("filled","brand-facebook-filled","BrandFacebookFilled",aB);var nB=[["path",{d:"M16 3a5 5 0 0 1 5 5v8a5 5 0 0 1 -5 5h-8a5 5 0 0 1 -5 -5v-8a5 5 0 0 1 5 -5zm-4 5a4 4 0 0 0 -3.995 3.8l-.005 .2a4 4 0 1 0 4 -4m4.5 -1.5a1 1 0 0 0 -.993 .883l-.007 .127a1 1 0 0 0 1.993 .117l.007 -.127a1 1 0 0 0 -1 -1",key:"svg-0"}]],_c=$("filled","brand-instagram-filled","BrandInstagramFilled",nB);var lB=[["path",{d:"M17 2a5 5 0 0 1 5 5v10a5 5 0 0 1 -5 5h-10a5 5 0 0 1 -5 -5v-10a5 5 0 0 1 5 -5zm-9 8a1 1 0 0 0 -1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0 -1 -1m6 0a3 3 0 0 0 -1.168 .236l-.125 .057a1 1 0 0 0 -1.707 .707v5a1 1 0 0 0 2 0v-3a1 1 0 0 1 2 0v3a1 1 0 0 0 2 0v-3a3 3 0 0 0 -3 -3m-6 -3a1 1 0 0 0 -.993 .883l-.007 .127a1 1 0 0 0 1.993 .117l.007 -.127a1 1 0 0 0 -1 -1",key:"svg-0"}]],Dc=$("filled","brand-linkedin-filled","BrandLinkedinFilled",lB);var sB=[["path",{d:"M17 3.34a10 10 0 0 1 -8.512 18.023l2.364 -5.315a3.5 3.5 0 0 0 2.398 .952c2.708 0 4.75 -2.089 4.75 -5a6 6 0 1 0 -11.64 2.041a1 1 0 1 0 1.88 -.682a4 4 0 1 1 7.76 -1.36c0 1.818 -1.156 3.001 -2.75 3.001c-.609 0 -1.153 -.361 -1.478 -1.022l1.142 -2.572a1 1 0 0 0 -1.828 -.812l-4.392 9.882a10 10 0 0 1 -4.694 -8.476l.005 -.324a10 10 0 0 1 14.995 -8.336",key:"svg-0"}]],Nc=$("filled","brand-pinterest-filled","BrandPinterestFilled",sB);var iB=[["path",{d:"M16.083 2h-4.083a1 1 0 0 0 -1 1v11.5a1.5 1.5 0 1 1 -2.519 -1.1l.12 -.1a1 1 0 0 0 .399 -.8v-4.326a1 1 0 0 0 -1.23 -.974a7.5 7.5 0 0 0 1.73 14.8l.243 -.005a7.5 7.5 0 0 0 7.257 -7.495v-2.7l.311 .153c1.122 .53 2.333 .868 3.59 .993a1 1 0 0 0 1.099 -.996v-4.033a1 1 0 0 0 -.834 -.986a5.005 5.005 0 0 1 -4.097 -4.096a1 1 0 0 0 -.986 -.835z",key:"svg-0"}]],Mc=$("filled","brand-tiktok-filled","BrandTiktokFilled",iB);var fB=[["path",{d:"M18.497 4.409a10 10 0 0 1 -10.36 16.828l-.223 -.098l-4.759 .849l-.11 .011a1 1 0 0 1 -.11 0l-.102 -.013l-.108 -.024l-.105 -.037l-.099 -.047l-.093 -.058l-.014 -.011l-.012 -.007l-.086 -.073l-.077 -.08l-.067 -.088l-.056 -.094l-.034 -.07l-.04 -.108l-.028 -.128l-.012 -.102a1 1 0 0 1 0 -.125l.012 -.1l.024 -.11l.045 -.122l1.433 -3.304l-.009 -.014a10 10 0 0 1 1.549 -12.454l.215 -.203a10 10 0 0 1 13.226 -.217m-8.997 3.09a1.5 1.5 0 0 0 -1.5 1.5v1a6 6 0 0 0 6 6h1a1.5 1.5 0 0 0 0 -3h-1l-.144 .007a1.5 1.5 0 0 0 -1.128 .697l-.042 .074l-.022 -.007a4.01 4.01 0 0 1 -2.435 -2.435l-.008 -.023l.075 -.041a1.5 1.5 0 0 0 .704 -1.272v-1a1.5 1.5 0 0 0 -1.5 -1.5",key:"svg-0"}]],Hc=$("filled","brand-whatsapp-filled","BrandWhatsappFilled",fB);var cB=[["path",{d:"M8.267 3a1 1 0 0 1 .73 .317l.076 .092l4.274 5.828l5.946 -5.944a1 1 0 0 1 1.497 1.32l-.083 .094l-6.163 6.162l6.262 8.54a1 1 0 0 1 -.697 1.585l-.109 .006h-4.267a1 1 0 0 1 -.73 -.317l-.076 -.092l-4.276 -5.829l-5.944 5.945a1 1 0 0 1 -1.497 -1.32l.083 -.094l6.161 -6.163l-6.26 -8.539a1 1 0 0 1 .697 -1.585l.109 -.006h4.267z",key:"svg-0"}]],Wc=$("filled","brand-x-filled","BrandXFilled",cB);var dB=[["path",{d:"M18 3a5 5 0 0 1 5 5v8a5 5 0 0 1 -5 5h-12a5 5 0 0 1 -5 -5v-8a5 5 0 0 1 5 -5zm-9 6v6a1 1 0 0 0 1.514 .857l5 -3a1 1 0 0 0 0 -1.714l-5 -3a1 1 0 0 0 -1.514 .857z",key:"svg-0"}]],zc=$("filled","brand-youtube-filled","BrandYoutubeFilled",dB);var IV="outline",jl={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},pB={},Gc={fillRule:"evenodd"},mB=[["path",{...jl,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...Gc,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],xB=[["path",{...jl,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}],["path",{...pB,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}]],IB=[["path",{...jl,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z"].join("")}],["path",{...jl,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972z"].join("")}],["path",{...Gc,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972zM5.25 7.9a0.85 0.85 0 1 0 1.7 0","a0.85 0.85 0 1 0 -1.7 0zM8.25 7.9a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}],["path",{...Gc,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z","M14.15 14a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0zM17.15 14","a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}]],hB=$("filled","brand-telegram-filled","BrandTelegramFilled",mB),gB=$("filled","brand-line-filled","BrandLineFilled",xB),bB=$("filled","brand-wechat-filled","BrandWechatFilled",IB),yB={instagram:{outline:wc,solid:_c},facebook:{outline:vc,solid:Bc},tiktok:{outline:Pc,solid:Mc},youtube:{outline:Ac,solid:zc},x:{outline:Oc,solid:Wc},linkedin:{outline:Tc,solid:Dc},pinterest:{outline:Fc,solid:Nc},whatsapp:{outline:Rc,solid:Hc},telegram:{outline:Ec,solid:hB},line:{outline:kc,solid:gB},wechat:{outline:Lc,solid:bB}};function Bg({platform:e,iconStyle:o,size:t}){let r=yB[e][o];return uB(r,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var vB={instagram:"instagram.com/yourshop",facebook:"facebook.com/yourshop",tiktok:"tiktok.com/@yourshop",youtube:"youtube.com/@yourshop",x:"x.com/yourshop",linkedin:"linkedin.com/company/yourshop",pinterest:"pinterest.com/yourshop",whatsapp:"wa.me/61400000000",telegram:"t.me/yourshop",line:"line.me/ti/p/~yourshop",wechat:"u.wechat.com/your-qr-code-link"};function wB({platform:e}){let{rows:o,saveLink:t}=da(),{value:r,error:a}=o[e],[n,s]=Dg(r),[i,f]=Dg(!1),u=_g(),p=_g();SB(()=>s(r),[r]);let m=async()=>{if(n.trim()===r){n!==r&&s(r);return}f(!0),await t(e,n),f(!1)},x=Wu[e];return Ng(Uc,{children:[Bt(CB,{label:l(x),htmlFor:u,icon:Bt(Bg,{platform:e,iconStyle:"outline",size:18}),children:Bt("input",{id:u,type:"text",inputMode:"url",value:n,placeholder:vB[e],onChange:I=>s(I.target.value),onBlur:()=>{m()},onKeyDown:I=>{I.key==="Enter"&&I.currentTarget.blur(),I.key==="Escape"&&(s(r),I.currentTarget.blur())},"aria-invalid":a?!0:void 0,"aria-describedby":a?p:void 0,"aria-busy":i||void 0,autoComplete:"off",spellCheck:!1})}),a&&Bt("p",{id:p,className:"sf-note sf-note--error",role:"alert",children:a})]})}function Mg({unavailable:e}){let{canSave:o}=da();return!o&&e?Bt(Uc,{children:e}):Ng(Uc,{children:[Bt("p",{className:"es-field-hint sf-hint-keep",children:l("Paste a link to each profile. A platform left empty shows nothing on the site.")}),on.map(t=>Bt(wB,{platform:t},t))]})}import{jsx as gr,jsxs as mD}from"react/jsx-runtime";import{useId as xD,useMemo as ID}from"react";import{useEasel as hD}from"efficient-easel/easel";import{SettingsField as gD,SettingsSwitch as bD}from"efficient-easel/panel";import{EyeIcon as yD}from"efficient-easel/icons";import{jsx as Po,jsxs as os}from"react/jsx-runtime";import{useCallback as Ir,useEffect as hr,useId as sD,useRef as $o,useState as wa}from"react";var Hg="data-puck-overlay-portal";function Kl(e){return e.setAttribute(Hg,"true"),()=>e.removeAttribute(Hg)}import{jsx as ya,jsxs as nb}from"react/jsx-runtime";var $c="small",qc="dot",kB=[{label:"Small",value:"small"},{label:"Display",value:"display"}],TB=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],Wg={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},FB={small:"font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.25em] max-[800px]:text-[length:var(--size-label,12px)]",display:"font-display font-medium text-[length:var(--size-headingMedium,44px)] uppercase leading-none tracking-[0.005em] max-[800px]:text-[length:var(--size-headingMedium,28px)]"},EB={small:{dot:"",cross:"text-[0.77em]",slash:"text-[0.77em]",triangle:"",none:""},display:{dot:"text-[0.3em]",cross:"text-[0.64em]",slash:"text-[0.64em]",triangle:"text-[0.3em]",none:""}};function zg(e){return eo(kB,$c,e)}function Gg(e){return eo(TB,qc,e)}function Ug(e){return FB[e]}function $g(e,o){return EB[e][o]}var jc="left",PB=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],LB={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function qg(e){return eo(PB,jc,e)}function jg(e){return e==="up"||e==="down"}function Kg(e,o){return`${LB[e]} ${o}s linear infinite`}import{jsx as pe,jsxs as Xc}from"react/jsx-runtime";import{Fragment as rb}from"react";import{Fragment as DB,jsx as Vc}from"react/jsx-runtime";import{Fragment as Xg,jsx as ha,jsxs as AB}from"react/jsx-runtime";import{createContext as Kc,useContext as ga,useId as BB,useMemo as _B}from"react";var Ia="@name",Vg="@body",Yg="@value",OV={[Ia]:"Name",[Vg]:"Body",[Yg]:"Value"},RB={TimelineTrack:{"entries.date":Ia,"entries.title":Ia,"entries.blurb":Vg},Footprint:{"offices.city":Ia},Stats:{"items.label":Ia,"items.value":Yg}};function OB(e){let{key:o,row:t}=po(e);return t?`${o}.${t.rowKey}`:null}function Vl(e,o){if(!e)return o;let t=OB(o);return t?RB[e]?.[t]??o:o}var Yl=Kc(null),Zg=Kc(null),Qg=Kc(null);function MV({needles:e,styles:o,type:t,children:r}){let a=BB(),n=JSON.stringify([a,e,o,t]),s=_B(()=>Sh(e,o,a,i=>Vl(t,i)),[n]);return s?AB(Xg,{children:[ha("style",{"data-sf-part-styles":"",dangerouslySetInnerHTML:{__html:Ch(s).replace(/</g,"\\3c ")}}),ha(Yl.Provider,{value:s,children:r})]}):ha(Xg,{children:r})}function Jg(e){let o=ga(Yl),t=ga(Zg),r=vh(o,e);return r&&r.stamp!==t?r:null}function HV(e){return Xf(ga(Yl),e)}function eb({stamp:e,children:o}){return ha(Zg.Provider,{value:e,children:o})}function WV({children:e}){let o=ga(Yl);return ha(Qg.Provider,{value:o,children:e})}function zV(e){return Xf(ga(Qg),e)}function ba({value:e,children:o}){let t=Jg(e);return t?Vc(eb,{stamp:t.stamp,children:Vc("span",{[Uf]:t.stamp,children:o})}):Vc(DB,{children:o})}import{jsx as Yc,Fragment as NB}from"react/jsx-runtime";function ob({className:e=""}){return Yc("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Xl(e){if(!e.includes("\xAE"))return e;let o=e.split("\xAE"),t=[];return o.forEach((r,a)=>{r&&t.push(r),a<o.length-1&&t.push(Yc(ob,{},`r${a}`))}),Yc(NB,{children:t})}var VV=ob;function Zc(e,o=!1){let t=qB(o),r=Si(e);if(r.length===1){let[n]=r,s=yi(n),i=s?UB(s,n.children):n.children;return pe(ba,{value:e,children:Zl(i,t)})}let a=[];return r.forEach((n,s)=>{if(n.bullet){a.push(pe("span",{"data-sf-bullet":"",className:MB,children:Zl(n.children,t)},s));return}if(n.number!=null){a.push(Xc("span",{"data-sf-number":n.number,className:HB,children:[Xc("span",{className:WB,children:[n.number,"."]}),Zl(n.children,t)]},s));return}s>0&&!zB(r[s-1])&&a.push(pe("br",{},`br${s}`)),a.push(pe(rb,{children:Zl(n.children,t)},s))}),pe(ba,{value:e,children:a})}var MB="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",HB="relative block pl-[2em]",WB="absolute left-0 w-[1.6em] text-right tabular-nums";function zB(e){return e.bullet||e.number!=null}var GB="text-accent underline underline-offset-[0.18em]";function UB(e,o){let[t,...r]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...r]:[{kind:"text",text:e},...o]}function $B(e){if(e)return yh(e)?e:Object.hasOwn(Do,e)?Do[e]:void 0}function Zl(e,o){let t=[],r=!1;return e.forEach((a,n)=>{if(a.kind==="text"){t.push(pe("span",{children:Xl(a.text)},n)),r=!0;return}r||t.push(pe("span",{},`e${n}`)),t.push(ab(a,n,o)),r=!1}),r||t.push(pe("span",{},"end")),t}function tb(e,o){return e.length===1&&e[0].kind==="text"?Xl(e[0].text):e.map((t,r)=>t.kind==="text"?pe(rb,{children:Xl(t.text)},r):ab(t,r,o))}function qB(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function rY(e){return pe(ba,{value:e,children:pe("span",{children:e})})}function ab(e,o,t){if(e.kind==="link")return pe("a",{href:e.href,className:GB,children:tb(e.children,t)},o);let r=tb(e.children,t),a=$p[e.kind];if(a)return pe("span",{[qp]:a,children:r},o);switch(e.kind){case"underline":return pe("u",{children:r},o);case"sup":return pe("sup",{children:r},o);case"sub":return pe("sub",{children:r},o);case"color":{let n=$B(e.color);return n?pe("span",{style:{color:n},children:r},o):pe("span",{children:r},o)}case"accent":case"highlight":return pe("em",{className:t,children:r},o);case"bold":return pe("strong",{className:"font-semibold",children:r},o);case"italic":return pe("em",{className:"italic",children:r},o);case"strike":return pe("s",{className:"line-through",children:r},o);default:return pe("span",{children:r},o)}}function aY(e,o=!0){let t=e.split(`
|
|
6
|
+
`);return pe(ba,{value:e,children:t.map((r,a)=>Xc("span",{children:[Zc(r,o),a<t.length-1?pe("br",{}):null]},a))})}function nY(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var jB={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function lb({items:e,separator:o=qc,size:t=$c,durationSec:r=50,scroll:a=jc,backdrop:n="themed-band",className:s}){let i=zg(t),f=qg(a),u=Gg(o),p=`text-accent ${$g(i,u)}`.trim(),m=Wg[u],x=m===""?ya("span",{}):ya("span",{className:p,children:m}),I=jg(f),b=I?"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",S=I?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",w=E=>ya("span",{className:b,children:e.map((v,g)=>{let y=typeof v=="string"?v:v.text,L=typeof v=="object"&&v.gold;return nb("span",{className:S,children:[ya("span",{className:L?"text-accent":void 0,children:Zc(y)}),x]},g)})},E);return ya("div",{className:`overflow-hidden ${s??""}`,children:nb("div",{className:`flex ${I?"flex-col ":""}whitespace-nowrap ${Ug(i)} ${jB[n]}`,style:{animation:Kg(f,r)},children:[w("a"),w("b")]})})}import{jsx as Ca,jsxs as S_}from"react/jsx-runtime";import{createContext as C_,useContext as v_}from"react";import{jsx as mr,jsxs as hb}from"react/jsx-runtime";import{useEffect as Jc,useRef as f_,useState as Sa}from"react";import{jsx as sb}from"react/jsx-runtime";import{createContext as KB,lazy as IY,Suspense as hY,useContext as VB}from"react";var YB={Link:hu,Image:Iu},XB=KB(YB);function ib(){return VB(XB)}function gY(e){let{Link:o}=ib();return sb(o,{...e})}function fb(e){let{Image:o}=ib();return sb(o,{...e})}import{jsx as cb,Fragment as ZB,jsxs as QB}from"react/jsx-runtime";import{useEffect as JB,useRef as db,useState as e_}from"react";var o_="#t=0.001",t_=2;function r_(e,o){if(e.readyState<t_||!e.videoWidth||!e.videoHeight)return!1;let t=o.getContext("2d");return t?(o.width=e.videoWidth,o.height=e.videoHeight,t.drawImage(e,0,0,o.width,o.height),!0):!1}function ub({src:e,objectPosition:o="50% 50%",onError:t}){let r=db(null),a=db(null),[n,s]=e_(!1);return JB(()=>{let i=r.current,f=a.current;if(n||!i||!f)return;let u=()=>{r_(i,f)&&s(!0)};return u(),i.addEventListener("loadeddata",u),i.addEventListener("seeked",u),()=>{i.removeEventListener("loadeddata",u),i.removeEventListener("seeked",u)}},[n]),QB(ZB,{children:[cb("canvas",{ref:a,"aria-hidden":!0,className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:o,visibility:n?"visible":"hidden"}}),!n&&cb("video",{ref:r,src:`${e}${o_}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as mb,imageSrcSet as a_}from"efficient-shell/image-copies";var pb;function Qc(){return pb===void 0?{}:{host:pb}}var wY="(max-width: 800px) 100vw, min(100vw, 1600px)";function xb(e,{fallbackWidth:o=1280,maxWidth:t}={}){let r=a_(e,{...Qc(),...t===void 0?{}:{maxWidth:t}});return r?{src:mb(e,o,Qc()),srcSet:r}:{src:e}}function kY(e){let o=mb(e,1920,Qc());return o===e?`url(${e})`:`url("${o}")`}import{formatFocal as n_,parseFocal as l_}from"efficient-shell/format";var s_="sf-focus-phone",i_="--sf-focus-phone";function Ib(e){if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return{className:"",style:{}};let{x:o,y:t}=l_(e);return{className:s_,style:{[i_]:n_(o,t)}}}var c_=.5;function gb({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:r=c_,objectPosition:a="50% 50%",objectPositionPhone:n,quiet:s=!1}){let i=Ib(n),f=o||"",u=e||"",[p,m]=Sa(!1),[x,I]=Sa(!1),[b,S]=Sa(!1),[w,E]=Sa(!1),[v,g]=Sa(!1),y=f_(null);Jc(()=>{m(!1),I(!1),S(!1),E(!1)},[e,o]),Jc(()=>{if(typeof window>"u")return;let R=()=>{let T=window;T.requestIdleCallback?T.requestIdleCallback(()=>g(!0),{timeout:2e3}):setTimeout(()=>g(!0),800)};if(document.readyState==="complete"){R();return}return window.addEventListener("load",R,{once:!0}),()=>window.removeEventListener("load",R)},[]),Jc(()=>{let R=y.current;if(!R)return;let T=()=>{R.playbackRate=r};return T(),R.addEventListener("loadedmetadata",T),()=>R.removeEventListener("loadedmetadata",T)},[e,r]);let L=gu(f),F=f&&L&&!x?xb(f):{src:f};return hb("div",{className:"absolute inset-0 z-[1]",children:[mr("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),f&&(L?mr("img",{src:F.src,...F.srcSet?{srcSet:F.srcSet,sizes:"100vw"}:{},alt:"",className:`absolute inset-0 z-[2] h-full w-full object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>F.srcSet?I(!0):m(!0)},f):mr(fb,{src:f,alt:"",fill:!0,priority:!0,sizes:"100vw",className:`z-[2] object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>m(!0)},f)),t&&!s&&u&&v&&!b&&hb("video",{ref:y,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:a},onError:()=>S(!0),children:[bu(u)&&mr("source",{src:u.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),mr("source",{src:u,type:"video/mp4"})]},u),t&&s&&u&&v&&!w&&(!f||p)&&mr(ub,{src:u,objectPosition:a,onError:()=>E(!0)},u)]})}var bb=["top","middle","bottom"],yb=["left","center","right"],Sb="bottom",Cb="left",d_={top:"Top",middle:"Middle",bottom:"Bottom"},u_={left:"Left",center:"Center",right:"Right"};var NY="Up and down",MY="Sideways",p_={top:"flex-start",middle:"center",bottom:"flex-end"},m_={left:"flex-start",center:"center",right:"flex-end"},x_="--sf-hero-phone-y",I_="--sf-hero-phone-x";function h_(e){return bb.includes(e)?e:Sb}function g_(e){return yb.includes(e)?e:Cb}function vb(e,o){let t=h_(e),r=g_(o),a={};return t!==Sb&&(a[x_]=p_[t]),r!==Cb&&(a[I_]=m_[r]),a}function HY(){return bb.map(e=>({label:d_[e],value:e}))}function WY(){return yb.map(e=>({label:u_[e],value:e}))}var b_="#0A0A0A",y_=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function wb(e){let o=e.trim().replace(/^#/,""),t=o.length===3?o.split("").map(a=>a+a).join(""):o;if(!/^[0-9a-fA-F]{6}$/.test(t))return null;let r=Number.parseInt(t,16);return`${r>>16&255},${r>>8&255},${r&255}`}function kb(e){return e==null?!0:e!==!1}function Tb(e){let o=(e?wb(e):null)??wb(b_);return`linear-gradient(180deg, ${y_.map(([t,r])=>`rgba(${o},${r}) ${t}%`).join(", ")})`}var ed=C_({});function XY({name:e,process:o,mediaType:t="video",mediaSrc:r,videoSpeed:a,poster:n,objectPosition:s,objectPositionPhone:i,tintColor:f="#000000",tintOpacity:u=0,groups:p,editing:m=!1,themeClassName:x,themeStyle:I}){let{alignment:b="left",textureOpacity:S,textureOn:w,textureColor:E,quietVideo:v,phoneUpDown:g,phoneSideways:y}=v_(ed),L=t==="video",F=L?_r(r):void 0,R=L?_r(n):_r(r)??_r(n),T=typeof a=="number"?a/100:1;return S_("section",{className:x?`relative h-full w-full overflow-hidden ${x}`:"relative h-full w-full overflow-hidden",style:I,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":F?"video":"still",children:[Ca(gb,{videoSrc:F,posterSrc:R,showVideo:L,playbackRate:T,objectPosition:s,objectPositionPhone:L?void 0:i,quiet:v}),u>0&&Ca("div",{className:"absolute inset-0 z-[2]",style:{background:f,opacity:Math.min(Math.max(u,0),100)/100}}),kb(w)&&Ca("div",{className:"absolute inset-0 z-[2]",style:{background:Tb(E),...S!==void 0?{opacity:S/100}:null}}),Ca("div",{className:["sf-hero-group-layer absolute inset-0 z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",m?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...Rp,...vb(g,y)},children:p&&Ca(p,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var Fb=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{jsx as od}from"react/jsx-runtime";import{UiIcon as A_}from"efficient-easel/draw/client";var w_={"top-left":"left-0 top-[120px]","top-center":"left-1/2 top-[120px] -translate-x-1/2","top-right":"right-0 top-[120px]",left:"left-0 top-1/2 -translate-y-1/2",center:"left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",right:"right-0 top-1/2 -translate-y-1/2","bottom-left":"left-0 bottom-[120px]","bottom-center":"left-1/2 bottom-[120px] -translate-x-1/2","bottom-right":"right-0 bottom-[120px]"},k_=`calc(${Wn} - ${qe}*2)`,Eb=`var(${rf},${qe})`,eX=`pointer-events-none absolute inset-y-0 left-[${Eb}] right-[${Eb}] z-[6] mx-auto max-w-[var(${af},${k_.replace(/ /g,"_")})]`;function Ql(e,o){return`pointer-events-auto absolute ${w_[e]} z-[6] sf-hero-overlay-rail flex ${o}`}function Pb(e){return So.includes(e)?e:null}var T_="bottom-right",F_=["outline","solid","square","bare"],E_="outline",rX={outline:"Outline",solid:"Solid",square:"Square",bare:"Bare"},aX=!1,Lb=["prev","next"],Rb={prev:"Previous slide",next:"Next slide"};function P_(e){return F_.includes(e)?e:E_}function L_(e){return Pb(e)??T_}var R_="flex-row items-center gap-2";function Ob(e){return Ql(L_(e),R_)}var O_={outline:"grid h-10 w-10 cursor-pointer place-items-center rounded-full border border-overlay-chrome/60 text-overlay-fg transition-colors hover:border-overlay-chrome hover:bg-overlay-scrim/30",solid:"grid h-10 w-10 cursor-pointer place-items-center rounded-full border border-overlay-chrome bg-overlay-chrome text-overlay-scrim transition-colors hover:bg-overlay-chrome/85",square:"grid h-10 w-10 cursor-pointer place-items-center rounded-md border border-overlay-chrome/60 text-overlay-fg transition-colors hover:border-overlay-chrome hover:bg-overlay-scrim/30",bare:"grid h-10 w-10 cursor-pointer place-items-center text-overlay-fg transition-colors hover:text-overlay-chrome"};function Ab(e){return O_[P_(e)]}function Bb(e){return e.shown===!0&&(e.count??0)>1}function Jl(e,o,t){if(t<=1)return o;let r=Math.min(Math.max(o,0),t-1);return e==="prev"?(r-1+t)%t:(r+1)%t}function _b({shape:e,placement:o,ref:t}){let r=Ab(e);return od("div",{ref:t,className:Ob(o),style:{color:"var(--overlay-fg)"},children:Lb.map(a=>od("button",{type:"button","data-hero-nav":a,"aria-label":Rb[a],className:r,children:od(A_,{name:"chevron-right",size:18,rounded:!0,style:a==="prev"?{rotate:"180deg"}:void 0})},a))})}import{jsx as Te,jsxs as td,Fragment as xr}from"react/jsx-runtime";var B_=So;var __="top-right",D_=["cards","dots","numbers","bar","squares","tabs"],N_=["cards","dots","numbers","bar","squares"],Db="cards",uX={cards:"Cards",dots:"Dots",numbers:"Numbers",bar:"Bar",squares:"Squares",tabs:"Tabs"},pX=!0;function es(e){return D_.includes(e)?e:Db}function Nb(e){return N_.includes(e)?e:Db}function M_(e){return B_.includes(e)?e:__}var Mb={cards:"flex-col gap-2.5",dots:"flex-row items-center gap-2",numbers:"flex-col gap-2",bar:"h-0.5 w-[34%] max-w-[420px] gap-px overflow-hidden rounded-full",squares:"flex-col gap-0",tabs:"flex-row items-stretch w-full overflow-x-auto"};function Hb(e,o){return Ql(M_(o),Mb[es(e)])}function Wb(e){return`flex ${Mb[es(e)]}`}function zb(e){return e.shown!==!1&&(e.count??0)>1}function H_(e){return{name:e.dataset.slideName||"",process:e.dataset.slideProcess||"",video:e.dataset.slideMedia==="video"}}function W_(e,o){return e===o?!0:e.length!==o.length?!1:e.every((t,r)=>t.name===o[r].name&&t.process===o[r].process&&t.video===o[r].video)}function Gb(e,o){let t=Array.from(o,H_);return W_(e,t)?e:t}function Ub({slides:e,active:o,shape:t,placement:r,ref:a,tone:n="media",label:s}){let i=es(t),f=n==="surface"?{"--overlay-fg":"var(--fg)","--overlay-chrome":"var(--fg)","--overlay-scrim":"var(--site-surface-2)"}:void 0;return td("aside",{ref:a,"aria-label":s??"Featured slides",className:n==="surface"?Wb(i):Hb(i,r),style:{color:"var(--overlay-fg)",...f},children:[i==="cards"&&Te(z_,{slides:e,active:o}),i==="dots"&&Te(G_,{count:e.length,active:o}),i==="numbers"&&Te(U_,{count:e.length,active:o}),i==="bar"&&Te(q_,{count:e.length,active:o}),i==="squares"&&Te($_,{count:e.length,active:o}),i==="tabs"&&Te(j_,{slides:e,active:o})]})}function z_({slides:e,active:o}){return td(xr,{children:[Te("span",{className:"mb-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.28em] text-overlay-chrome/55",children:"Reel \xB7 pick a slide"}),e.map((t,r)=>{let a=r===o;return td("button",{type:"button","data-idx":r,"aria-pressed":a,"aria-label":`Go to ${t.name||`slide ${r+1}`}`,className:["group flex w-[170px] cursor-pointer flex-col items-start gap-0.5 border bg-overlay-scrim/55 px-3 py-2.5 text-left transition-all motion-reduce:transition-none max-[1100px]:w-[140px]",a?"border-accent bg-overlay-scrim/70":"border-overlay-chrome/15 hover:border-overlay-chrome/45 hover:bg-overlay-scrim/70"].join(" "),children:[Te("span",{className:["font-display text-[length:var(--size-body,13px)] font-medium uppercase leading-tight tracking-[-0.01em]",a?"text-accent":"text-overlay-fg"].join(" "),children:t.name||`Slide ${r+1}`}),Te("span",{className:"font-mono text-[length:var(--size-label,9px)] uppercase tracking-[0.2em] text-overlay-chrome/55",children:a?"\u25B6 Now playing":t.process||" "})]},r)})]})}function G_({count:e,active:o}){return Te(xr,{children:Array.from({length:e},(t,r)=>Te("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`h-2 cursor-pointer rounded-full transition-all motion-reduce:transition-none ${r===o?"w-5 bg-accent":"w-2 bg-overlay-chrome/45 hover:bg-overlay-chrome/70"}`},r))})}function U_({count:e,active:o}){return Te(xr,{children:Array.from({length:e},(t,r)=>Te("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`cursor-pointer font-mono text-[length:var(--size-label,11px)] leading-none tracking-[0.06em] transition-colors ${r===o?"text-overlay-fg":"text-overlay-chrome/45 hover:text-overlay-chrome/80"}`,children:String(r+1).padStart(2,"0")},r))})}function $_({count:e,active:o}){return Te(xr,{children:Array.from({length:e},(t,r)=>Te("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`grid h-8 w-8 cursor-pointer place-items-center border border-overlay-chrome/25 text-[length:var(--size-label,14px)] font-bold leading-none transition-colors motion-reduce:transition-none ${r===o?"bg-accent text-[color:var(--accent-ink)]":"bg-overlay-scrim/45 text-overlay-chrome/75 hover:text-overlay-chrome"}`,children:r+1},r))})}function q_({count:e,active:o}){return Te(xr,{children:Array.from({length:e},(t,r)=>Te("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`h-full flex-1 cursor-pointer transition-colors ${r<=o?"bg-overlay-fg":"bg-overlay-chrome/25"}`},r))})}function j_({slides:e,active:o}){return Te(xr,{children:e.map((t,r)=>{let a=r===o;return Te("button",{type:"button","data-idx":r,"aria-pressed":a,className:["flex min-w-[140px] flex-1 cursor-pointer items-end px-6 py-7 text-left transition-colors",r>0?"border-l border-overlay-chrome/15":"",a?"bg-overlay-scrim/70":"hover:bg-overlay-scrim/40"].join(" "),children:Te("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium uppercase leading-tight tracking-[-0.02em]",a?"text-overlay-fg":"text-overlay-chrome/55"].join(" "),children:t.name})},r)})})}import{useEffect as K_,useState as V_}from"react";var $b="(prefers-reduced-motion: reduce)";function Y_(){return globalThis.window?.matchMedia?.($b)?.matches??!1}function bX(){return Y_()?"auto":"smooth"}function qb(){let[e,o]=V_(!1);return K_(()=>{let t=globalThis.window?.matchMedia?.($b);if(!t||(o(t.matches),typeof t.addEventListener!="function"))return;let r=a=>o(a.matches);return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[]),e}var va={accent:"#2563eb",accentTint:"#eff6ff",accentText:"#1d4ed8",appBg:"#f9fafb",previewBg:"#f3f4f6",panel:"#ffffff",fieldBg:"#ffffff",inputBorder:"#d1d5db",text:"#111827",text2:"#374151",muted:"#6b7280",line:"#e5e7eb",chipBg:"#f3f4f6",chipFg:"#6b7280",panelRadius:12,rowRadius:8,panelShadow:"0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06)",topbarShadow:"0 1px 3px rgba(0,0,0,.06)",panelGap:10,leftWidth:288,rightWidth:308,topbarHeight:52,labelFont:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif"};var jb={min:40,max:100,step:5,fallback:100,unit:"vh"};function rd(e){return`${typeof e=="number"?e:jb.fallback}${jb.unit}`}function Kb(...e){return e.some(o=>typeof o=="number")}import{HEADER_TYPE as ad,FOOTER_TYPE as X_}from"efficient-easel/draw";var Z_=new Set(["Hero","HeroSingle","IntroBleed"]),Vb={min:56,max:140,default:88},wX={min:0,max:120,step:2,default:32},Yb=`var(--sf-header-h, ${Vb.default}px)`,Q_="--sf-header-set-h",kX="--sf-header-h",TX=`var(${Q_}, ${Vb.default}px)`,FX="sf-header-clearance",EX="sf-sticky-underheader";function J_(e){return e?.find(o=>o?.type&&o.type!==ad)??null}function Xb(e){let o=J_(e)?.type;return!o||!Z_.has(o)}function PX(e){return!Xb(e)}function LX(e){return!!e?.some(o=>o?.type===ad)}function RX(e){return!e||e.length===0?!1:!e.some(o=>o?.type===ad||o?.type===X_)}var eD=["auto","shared","own"],oD="auto",tD="topSpace",OX="data-top-space";function rD(e){return eD.includes(e)?e:oD}function aD(e,o){let t=rD(e?.props?.[tD]);return t==="own"?!0:t==="shared"?!1:Xb(o)}function AX(e,o){return aD(e,o)?"own":null}var nD=40;function lD(e,o){return Math.abs(e)<=nD||Math.abs(e)<=Math.abs(o)?null:e<0?"next":"prev"}function Zb(e,o,t,r){let a=lD(e,o);return a?Jl(a,t,r):t}function Qb(e){return(e.count??0)>1&&e.editing!==!0}function Jb(e){return e.editing!==!0?!1:(e.slides??[])[e.shown??0]?.video===!0}function ey(e){return e.editing!==!0?!1:!(e.playing===!0&&e.controlShown===!0)}import{HERO_SLIDER_GOTO_EVENT as oy}from"efficient-easel/draw";var iD=`
|
|
7
|
+
.hero-ticker-pick { cursor: pointer; }
|
|
8
|
+
.hero-ticker-pick:hover {
|
|
9
|
+
outline: 2px solid color-mix(in srgb, ${va.accent} 45%, transparent);
|
|
10
|
+
outline-offset: -2px;
|
|
11
|
+
}
|
|
12
|
+
.hero-ticker-pick[data-selected] {
|
|
13
|
+
outline: 2px solid ${va.accent};
|
|
14
|
+
outline-offset: -2px;
|
|
15
|
+
}
|
|
16
|
+
`,fD="Play video",cD="Hold video",dD="flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-overlay-chrome/25 bg-overlay-scrim/80 px-[11px] font-mono text-[11px] leading-none tracking-[0.05em] text-overlay-fg",uD=()=>l("item"),nd=["","","","","",""],ty=new Map;function pD(e,o){let t=e?.ownerDocument?.defaultView;if(t)return t.addEventListener(oy,o),()=>t.removeEventListener(oy,o)}function tZ({slides:e,alignment:o,textureOpacity:t,showTexture:r,textureColor:a,phoneUpDown:n,phoneSideways:s,autoplay:i,autoplayInterval:f,showTicker:u,tickerItems:p,heightDesktop:m,heightMobile:x,showPicker:I,pickerShape:b,pickerPlacement:S,showArrows:w,arrowsShape:E,arrowsPlacement:v,editing:g}){let y=Kb(m,x),L=y?"h-[var(--sf-hero-h-m)] min-[720px]:h-[var(--sf-hero-h-d)]":"h-screen min-h-[680px]",F=y?{"--sf-hero-h-d":rd(m),"--sf-hero-h-m":rd(x)}:void 0,R=(p??nd.map(z=>({text:z}))).map(z=>z?.text?.trim()?z.text:g?uD():"").filter(Boolean),T=u!==!1,D=$o(null),G=$o(null),B=$o(null),O=$o(null),H=$o(null),_=sD(),ae=$o(_),[se,Ie]=wa([]),[ro,Ye]=wa(0),Fe=$o(0),[ao,Me]=wa(!1),[Oe,ye]=wa(!1),[Ce,Xe]=wa(null),He=qb(),{selectedHeroId:Ze,select:Ae}=Ml(),P=Ir(()=>D.current?.querySelector(".hero-track")??null,[]),ee=Ir((z,q=!1)=>{Ye(z),Fe.current=z,ty.set(ae.current,z);let Z=D.current?.querySelector(".hero-track");if(Z)if(q){let ce=Z.style.transition;Z.style.transition="none",Z.style.transform=`translateX(-${Math.max(0,z)*100}%)`,Z.offsetHeight,Z.style.transition=ce}else Z.style.transform=`translateX(-${Math.max(0,z)*100}%)`},[]);hr(()=>{let z=D.current,q=z?.getAttribute("data-puck-component")||z?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||_;ae.current=q,Xe(q);let Z=ty.get(q);typeof Z=="number"&&(Ye(Z),Fe.current=Z)},[]),hr(()=>{let z=P();if(!z)return;let q=()=>{Ie(ce=>Gb(ce,z.querySelectorAll("[data-slide-name]")))};q();let Z=new MutationObserver(q);return Z.observe(z,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-slide-name","data-slide-process","data-slide-media"]}),()=>{Z.disconnect()}},[P]),hr(()=>{if(!g)return;let z=q=>{let Z=q.detail;if(!Z||typeof Z.index!="number")return;let ce=D.current,no=ce?.getAttribute("data-puck-component")||ce?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||ae.current;Z.id&&Z.id!==no||ee(Z.index,!0)};return pD(D.current,z)},[g,ee]);let j=se.length,ge=Math.min(Math.max(ro,0),Math.max(0,j-1)),ve=zb({shown:I,count:j}),ze=Bb({shown:w,count:j}),$e=Jb({editing:g,shown:ge,slides:se}),oe=ey({editing:g,playing:Oe,controlShown:$e}),le=Qb({count:j,editing:g}),Qe=$o(null),ct=$o(null),dt=Ir(z=>{if(Qe.current=null,ct.current=null,!le||z.touches.length!==1)return;let q=z.touches[0];Qe.current={x:q.clientX,y:q.clientY},ct.current={x:q.clientX,y:q.clientY}},[le]),Ms=Ir(z=>{if(!Qe.current)return;if(z.touches.length!==1){Qe.current=null;return}let q=z.touches[0];ct.current={x:q.clientX,y:q.clientY}},[]),Za=Ir(()=>{let z=Qe.current,q=ct.current;if(Qe.current=null,ct.current=null,!le||!z||!q)return;let Z=Zb(q.x-z.x,q.y-z.y,Fe.current,j);Z!==Fe.current&&ee(Z)},[le,j,ee]);hr(()=>{if(g||!i||ao||He||j<=1)return;let z=Math.max(1,typeof f=="number"?f:6)*1e3,q=window.setTimeout(()=>ee((ge+1)%j),z);return()=>window.clearTimeout(q)},[g,i,f,ao,He,j,ge,ee]),hr(()=>{let z=[G.current,B.current,O.current].filter(Boolean),q=z.map(ce=>Kl(ce)),Z=ce=>{let no=ce.target,Ko=no.closest("[data-hero-nav]"),Qa=Ko??no.closest("[data-idx]");if(!Qa)return;ce.stopPropagation(),ce.preventDefault();let Ht=Ko?Jl(Ko.dataset.heroNav,Fe.current,j):Number(Qa.dataset.idx);Number.isNaN(Ht)||(ee(Ht,g),P()?.querySelectorAll("[data-slide-name]")[Ht]?.click())};return z.forEach(ce=>ce.addEventListener("click",Z,{capture:!0})),()=>{q.forEach(ce=>ce?.()),z.forEach(ce=>ce.removeEventListener("click",Z,{capture:!0}))}},[j,ee,P,g]),hr(()=>{if(!g)return;let z=H.current;if(!z)return;let q=Kl(z),Z=ce=>{ce.stopPropagation(),ce.preventDefault();let no=D.current,Ko=no?.getAttribute("data-puck-component")||no?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||ae.current;Ae(Ko)};return z.addEventListener("click",Z,{capture:!0}),()=>{q?.(),z.removeEventListener("click",Z,{capture:!0})}},[g,Ae,T,R.length]);let Ar=Ir(z=>{if(!z)return;let q=Kl(z),Z=ce=>{ce.stopPropagation(),ce.preventDefault(),ye(no=>!no)};return z.addEventListener("click",Z,{capture:!0}),()=>{q?.(),z.removeEventListener("click",Z,{capture:!0})}},[]);return Po(ed.Provider,{value:{alignment:o,textureOpacity:t,textureOn:r,textureColor:a,quietVideo:oe,phoneUpDown:n,phoneSideways:s},children:os("div",{ref:D,className:`relative mx-[var(--sf-hero-bleed-m,calc(50%_-_50vw))] w-[var(--sf-hero-bleed-w,100vw)] ${L} max-w-[var(--sf-hero-cap,none)] overflow-hidden`,style:F,onMouseEnter:()=>Me(!0),onMouseLeave:()=>Me(!1),onTouchStart:dt,onTouchMove:Ms,onTouchEnd:Za,children:[Po(e,{className:"hero-track flex h-full [&>*]:h-full [&>*]:min-w-full [&>*]:shrink-0 [&>*]:basis-full",style:{transform:`translateX(-${ge*100}%)`,transition:He?"none":"transform 600ms cubic-bezier(.22,.61,.36,1)"},minEmptyHeight:400}),$e&&Po("div",{ref:Ar,"data-hero-video-control":Oe?"playing":"held",className:"sf-hero-video-control absolute left-6 z-[7]",style:{top:`calc(${Yb} + 16px)`},children:os("button",{type:"button",className:dD,children:[Po("span",{"aria-hidden":"true",children:Oe?"\u275A\u275A":"\u25B6"}),l(Oe?cD:fD)]})}),(ve||ze)&&os("div",{className:"pointer-events-none absolute inset-y-0 left-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] right-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] z-[6] mx-auto max-w-[var(--sf-hero-chrome-cap,calc(var(--sf-site-width,1600px)_-_var(--sf-site-gutter,40px)*2))]",children:[ve&&Po(Ub,{ref:G,slides:se,active:ge,shape:Nb(b),placement:S}),ze&&Po(_b,{ref:O,shape:E,placement:v})]}),ve&&Po("div",{ref:B,className:"sf-hero-phone-dots absolute bottom-[80px] left-1/2 z-[6] hidden -translate-x-1/2 items-center gap-2",children:se.map((z,q)=>Po("button",{type:"button","data-idx":q,"aria-label":`Go to slide ${q+1}`,className:`h-2 rounded-full transition-all motion-reduce:transition-none ${q===ge?"w-5 bg-accent":"w-2 bg-white/45 hover:bg-white/70"}`},q))}),T&&R.length>0&&os("div",{ref:H,className:`sf-hero-ticker absolute inset-x-0 bottom-0 z-[5] border-t border-overlay-chrome/10 py-3.5${g?" hero-ticker-pick":""}`,"data-selected":g&&Ce!=null&&Ze===Ce?"":void 0,style:{background:"rgba(10,10,10,.55)"},children:[g&&Po("style",{children:iD}),Po(lb,{items:R,backdrop:"dark-media"})]})]})})}var SD="root:default-zone";function ry({heroId:e}){let{appState:o,dispatch:t}=hD(p=>p),r=o.data.content??[],a=r.findIndex(p=>p.props.id===e),n=a>=0?r[a]:null,s=n?n.props.showTicker??!0:!0,i=ID(()=>{let p=n?.props.tickerItems;return Array.isArray(p)?p:nd.map(m=>({text:m}))},[n]),f=xD();if(!n)return gr("p",{className:"sf-note",children:l("This ticker\u2019s hero is no longer on the page.")});let u=p=>t({type:"replace",destinationZone:SD,destinationIndex:a,data:{...n,props:{...n.props,...p}}});return mD("div",{children:[gr(or,{label:"Ticker"}),gr(gD,{label:l("Show ticker"),labelId:f,icon:gr(yD,{}),action:gr(bD,{checked:s,onChange:p=>u({showTicker:p}),ariaLabelledBy:f})}),gr(vf,{label:Cf.label,icon:Cf.icon,items:i,placeholder:"item",onChange:p=>u({tickerItems:p}),markup:!0})]})}import{jsx as U,Fragment as Id,jsxs as Lo}from"react/jsx-runtime";import{useContext as ZD,useEffect as pd,useRef as QD,useState as Ty}from"react";import{FieldSelect as JD,InspectorField as eN}from"efficient-easel/fields";import{SettingsField as oN}from"efficient-easel/panel";import{InspectorUpLevel as is}from"efficient-easel/chrome";import{StylesIcon as tN,TypeIcon as rN}from"efficient-easel/icons";import{useEasel as aN}from"efficient-easel/easel";import{TextPartPanel as nN}from"efficient-easel/copy";import{Tooltip as lN}from"efficient-shell/ui";import{jsx as cd,jsxs as PD}from"react/jsx-runtime";import{COPY_CELLS as ka,CopyBox as LD}from"efficient-easel/copy";import{PaddingYIcon as RD,WidthIcon as OD}from"efficient-easel/icons";import{useSyncExternalStore as CD}from"react";import{decodePartId as vD}from"efficient-easel/draw";function br(e,o){let t=_f(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?II(t,o.index):null:Df(e)?.[o.rowKey]??null}function ts(e,o,t){let r=e.node.props,{key:a,row:n}=po(e.propKey),s=n?ZI(r,a,n,e.kind,o):YI(r,a,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}var wD=["bold","italic","underline","strike","link","sup","sub"],kD=["bullet","number"];function id(e,o){return e?[...wD,...o?kD:[]]:[]}function ay(e,o){let t=vD(e);if(!t?.propKey)return null;let{nodeId:r,propKey:a}=t,n=o.getItemById(r),s=o.getSelectorForId(r);if(!n||!s)return null;let{key:i,row:f}=po(a),u=o.components[n.type]?.fields?.[i],p=f?br(u,f):u,m=rr(p);if(!m)return null;let x=n.props??{};if(f&&!(Array.isArray(x[i])&&f.index<x[i].length))return null;let I=f?oa(x[i],f):x[i];return{node:n,selector:s,propKey:a,kind:m,stored:I,offPage:qn(p)}}function ny(e,o){let t=ay(e,o);if(!t||t.offPage)return null;let{text:r,hidden:a}=tt(t.stored);if(a)return null;let n=ul(t.kind);return{partId:e,value:r,rules:jt,multiline:n,offered:id(t.kind!=="plainText",n),write:s=>{let i=ay(e,o);i&&ts({node:i.node,propKey:i.propKey,kind:i.kind,zone:i.selector.zone,index:i.selector.index},s,o.replace)}}}function ly(e,o,t){return e?.isConnected&&e.getAttribute(mo)===t?e:o?.querySelector(`[${mo}="${TD(t)}"]`)??null}function TD(e){return e.replace(/["\\]/g,"\\$&")}function sy(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var ld=null,sd=new Set;function FD(){return ld}function fd(e){if(e!==ld){ld=e;for(let o of sd)o()}}function ED(e){return sd.add(e),()=>{sd.delete(e)}}function iy(){return CD(ED,FD,()=>null)}var AD=["left","center","right","justify"];function dd(e,o,t,r={}){let a=la(e),n=(r.phone?e.sizePhone:void 0)??e.size??o.sizePx;return[r.phone?{...ka.fontSize,value:e.sizePhone,styleValue:Math.round(o.sizePx),onChange:s=>t({sizePhone:s??null})}:{...ka.fontSize,value:e.size,styleValue:Math.round(o.sizePx),onChange:s=>t({size:s??null})},{...ka.lineHeight,value:a.lineHeight,styleValue:o.lineRatio,onChange:s=>t(s===void 0?{lineHeight:null,line:null}:{lineHeight:s})},{...ka.letterSpacing,scale:n,value:a.letterSpacingEm,styleValue:o.letterEm,onChange:s=>t(s===void 0?{letterSpacing:null,letter:null}:{letterSpacing:s})},{...ka.paragraphSpacing,value:e.paragraphSpacing,styleValue:0,onChange:s=>t({paragraphSpacing:s??null})},{key:"padding",name:l("Padding"),icon:cd(RD,{}),unit:"px",step:jf,shiftStep:10,min:$f,max:qf,value:e.padding,styleValue:o.paddingPx,onChange:s=>t({padding:s??null})},{key:"width",name:l("Width"),icon:cd(OD,{}),unit:"px",step:Vf,shiftStep:100,min:Kf,max:at,value:e.width,styleValue:o.widthPx,onChange:s=>t({width:s??null})}]}function fy({text:e,onTextChange:o,multiline:t,markup:r=!0,styled:a=!0,style:n,base:s,setValue:i,colors:f,placeholder:u,ariaLabel:p,head:m,typedOnCanvas:x=!1}){let I=dd(n,s,i),b=id(r,t);return PD("div",{className:"sf-part-textbox",children:[m,cd(LD,{value:e,onChange:o,multiline:t,placeholder:u,ariaLabel:p,rules:jt,tools:b,barShows:x?"focus":"always",colors:r?f:[],align:a?{value:n.align??s.align,allow:AD,onChange:S=>i({align:S})}:void 0,letterCase:a?{value:n.case==="capitalize"?"":n.case??"",onChange:S=>i({case:S||null})}:void 0,cells:a?I:void 0})]})}import{UiIcon as Fy}from"efficient-easel/draw/client";import{jsx as rs,Fragment as BD,jsxs as _D}from"react/jsx-runtime";import{Button as cy,Dialog as DD}from"efficient-shell/ui";function dy({styleName:e,onCancel:o,onConfirm:t}){return rs(DD,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Update {style}?",{style:e}),footer:_D(BD,{children:[rs(cy,{variant:"secondary",onClick:o,children:l("Cancel")}),rs(cy,{variant:"primary",onClick:t,children:l("Update style")})]}),children:rs("p",{children:l("Every text on the site that follows {style} changes to look like this one. This text\u2019s own changes are cleared, and it keeps following {style}.",{style:e})})})}import{ScreenDocumentContext as sN}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as iN}from"efficient-easel/draw/client";import{jsx as ND}from"react/jsx-runtime";import{createContext as MD,useContext as HD,useMemo as WD,useState as zD}from"react";var GD={partStyle:null,setPartStyle:()=>{}},uy=MD(GD);function UZ({children:e}){let[o,t]=zD(null),r=WD(()=>({partStyle:o,setPartStyle:t}),[o]);return ND(uy.Provider,{value:r,children:e})}function py(){return HD(uy)}import{TEXT_FIELD_MARKER as fN}from"efficient-easel/draw";import{useSectionOps as cN}from"efficient-easel/screen/lib/puck/use-section-ops";var UD="#9ca3af";function $D(e){return hn.map(o=>({key:o,name:jp[o],value:e?.[o]||UD}))}function as(e){return $D(e).map(o=>({name:o.key,label:l(o.name),value:o.value}))}function xy(e){let o={},t=e.ownerDocument,r=t?.defaultView;if(!t||!r)return o;let a=r.getComputedStyle(e),n=t.createElement("canvas").getContext("2d");for(let s of hn){let i=Do[s].replace(/^var\((--[\w-]+)\)$/,"$1"),f=a.getPropertyValue(i).trim();if(!f)continue;let u=my(f);!u&&n&&(n.fillStyle="#000000",n.fillStyle=f,u=my(String(n.fillStyle))),u&&(o[s]=u)}return o}function my(e){let o=e.trim().toLowerCase();if(/^#[0-9a-f]{6}$/.test(o))return o;if(/^#[0-9a-f]{3}$/.test(o))return`#${[...o.slice(1)].map(r=>r+r).join("")}`;let t=o.match(/^rgba?\(\s*(\d+)[\s,]+(\d+)[\s,]+(\d+)/);return t?`#${t.slice(1,4).map(r=>Math.min(255,Number(r)).toString(16).padStart(2,"0")).join("")}`:null}import{useEaselHost as dN}from"efficient-easel/screen/lib/host";function qD(e){let o=new Set([...Object.keys(yn[e]??{}),...Sn[e]??[]]);for(let[t,r]of Object.entries(wi[e]??{}))r.verb==="snapshot"&&o.add(t);return[...o].sort()}var jD={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},Iy={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},hy="Open",gy={product:{type:"storefront-editor:open-product",needsSlug:!0},blog:{type:"storefront-editor:open-post",needsSlug:!0},menu:{type:"storefront-editor:open-menus",needsSlug:!1}};function Ta(e){let o=e?.source?.slug;return typeof o=="string"&&o.length>0?o:void 0}function Fa(e){return jD[e]??null}function by(e,o){let t=Fa(e);return t&&qD(e).includes(o)?t:null}function ns(e){let o=e?.menu?.id;return typeof o=="string"&&o.length>0?o:void 0}var ls="data-sf-spec-region";function ZZ(e,o,t){if(!e)return;let r=t[e];if(r)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${r}, ${o.builtIn})`}}function yr(e){let o=/var\(--size-[A-Za-z]+, ?([0-9.]+px)\)/.exec(e);if(!o)throw new Error(`builtInOf: no --size-* fallback in ${e}`);return o[1]}function KD(e){return`@${e}`}function ud(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function yy(e,o){return o&&o in e?o:null}function VD(e,o){let t=o?.closest(`[${ls}]`)?.getAttribute(ls);return yy(e,t??null)}var Ea={tag:"text-[length:var(--size-label,13px)]",name:"text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))]",namePhone:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,14px)]",price:"text-[length:var(--size-label,15px)]",link:"text-[length:var(--size-label,14px)]"},YD={tag:{label:"Tag",follows:"Labels",builtIn:yr(Ea.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:yr(Ea.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:yr(Ea.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:yr(Ea.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:yr(Ea.link),writable:!0}},Sy=YD;var XD={number:{label:"Number",follows:"Labels",builtIn:"14px",writable:!0},question:{label:"Question",follows:"Body",builtIn:"18px",writable:!0},answer:{label:"Answer",follows:"Body",builtIn:"15px",writable:!0}},Cy=XD;var aQ=ls;var vy={rowLabel:{label:"Spec row name",follows:"Labels",builtIn:"14px"},rowValue:{label:"Spec row value",follows:"Labels",builtIn:"14px"},diagramTitle:{label:"Diagram title",follows:"Labels",builtIn:"12px"},diagramCallout:{label:"Diagram measurement",follows:"Labels",builtIn:"12px"},diagramStatLabel:{label:"Diagram stat name",follows:"Labels",builtIn:"11px"},diagramStatValue:{label:"Diagram stat value",follows:"Labels",builtIn:"11px"}};var wy={SpecTable:vy,FAQ:Cy,Collections:Sy};function ky(e){return e&&Object.hasOwn(wy,e)?wy[e]:null}function xd(e){return e?l(e):null}function Ey(e){return e.kind==="role"?Ja[e.role]:e.kind==="custom"?"Custom":null}function uN(e){let o=e.role;return o&&Ao.includes(o)?{kind:"role",role:o}:null}function pN(e,o){if(!e)return{kind:"unread"};let{faceRole:t,base:r}=e;if(o[t]===r.fontKey)return{kind:"role",role:t};let a=Object.keys(o).filter(n=>o[n]===r.fontKey);return a.length===1?{kind:"role",role:a[0]}:{kind:"custom"}}function md(e,o,t,r){return uN(yl(e,o))??pN(t,r)}function mN(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(r=>o(r)===t)?t:null}var ss="";function xN({face:e,base:o,onPick:t}){let r=e.kind==="role"?e.role:ss,a=[{label:l("No style"),value:ss},...Ao.map(n=>({label:l(Ja[n]),value:n}))];return U(JD,{ariaLabel:l("Style"),value:r,options:a,inline:!0,onChange:n=>t(n===ss?null:n),renderOption:n=>n.value===ss?Lo(Id,{children:[U("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),U("span",{className:"sf-part-style-aside","aria-hidden":"true",children:l("Section\u2019s own")})]}):U("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>U("span",{style:{fontFamily:o?.fontKey?`var(${Wt(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:xd(Ey(e))}),valueText:n=>xd(Ey(e))??n?.label??""})}function IN({sectionName:e,onBack:o,textEditor:t,styleRow:r,children:a}){return Lo("div",{className:"sf-part-panel",children:[U(is,{inline:!0,name:l(e),onSelect:o}),t,r,a]})}function fs({source:e,slug:o,menuId:t}){let r=dN(),a=gy[e],n=!a.needsSlug||!!o;return U("div",{className:"sf-note sf-note--source",children:Lo("p",{className:"es-field-hint sf-hint-keep",children:[l(Iy[e]),n?Lo(Id,{children:[" ",U("button",{type:"button",className:"sf-source-open",onClick:()=>{a.type==="storefront-editor:open-menus"?r.send(a.type,{menuId:t??null}):o&&r.send(a.type,{slug:o})},children:l(hy)})]}):null]})})}var Py=4,hN=120;function gN({region:e,sizePx:o,face:t,base:r,onFollowStyle:a,source:n,slug:s,onBack:i}){let f=e.follows;return Lo("div",{className:"sf-note",children:[U("p",{children:U("strong",{children:l(e.label)})}),U("p",{children:o?l("Its size follows Site styles \u25B8 {follows} \u2014 {px}px right now.",{follows:l(f),px:Math.round(o)}):l("Its size follows Site styles \u25B8 {follows}.",{follows:l(f)})}),a?U(Id,{children:U(oN,{label:l("Style"),icon:U(tN,{}),hint:l("Every {part} in this section follows it. The face and the size change; the letter case is the section\u2019s own and stays as it is.",{part:l(e.label).toLowerCase()}),children:U(xN,{face:t,base:r,onPick:a})})}):U("p",{className:"es-field-hint sf-hint-keep",children:l("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n?U(fs,{source:n,slug:s}):null,U(is,{inline:!0,name:l("Page"),onSelect:i})]})}function bN({onBack:e}){return Lo("div",{className:"sf-note",children:[U("p",{children:U("strong",{children:l("This part is no longer here.")})}),U("p",{children:l("The section it belonged to has been changed or removed.")}),U(is,{inline:!0,name:l("Page"),onSelect:e})]})}function yN({onBack:e,partId:o,why:t}){return Lo("div",{className:"sf-note",children:[U("p",{children:U("strong",{children:l("This part's settings did not open.")})}),U("p",{children:l("The words are still on your page and nothing has been lost. The editor could not work out which control belongs to them, which is a fault on our side. Go back and click the section to open its settings instead.")}),U("p",{className:"sf-note-detail",children:Lo("code",{children:[o," \u2014 ",t]})}),U(is,{inline:!0,name:l("Page"),onSelect:e})]})}function Ly({nodeId:e,propKey:o,onBack:t,onEditStyle:r}){let{getItemById:a,getSelectorForId:n,config:s}=aN(M=>M),i=cN(),f=iy(),{partStyle:u}=py(),{fonts:p,textStyles:m}=V(),x=ZD(sN),I=!x?.capabilities?.hasSiteTheme,{persist:b}=Kt({themeFromDocument:I,tokenRef:x?.tokenRef,siteId:x?.siteId??null}),S=Cl({themeFromDocument:I,persist:b}),[w,E]=Ty(!1),v=iN()==="mobile",g=QD(null),y=a(e),L=n(e),F=y?s.components[y.type]:void 0,{key:R,row:T}=po(o),D=F?.fields?.[R],G=T?br(D,T):D,B=Il(e,o),O=y?.props??{},H=rr(G),_=qn(G),ae=ah(G),se=y?Fa(y.type):null,Ie=y?by(y.type,R):null,ro=T?oa(O[R],T):O[R],Ye=!!T&&!(Array.isArray(O[R])&&T.index<O[R].length);pd(()=>{sy(document)||g.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[B]);let[Fe,ao]=Ty(0);pd(()=>ao(0),[B]);let Me=!!y&&!Ye&&(!L||!G);pd(()=>{if(!Me||Fe>=Py)return;let M=setTimeout(()=>ao(Ee=>Ee+1),hN);return()=>clearTimeout(M)},[Me,Fe]);let Oe=Me&&Fe<Py;if(!y||Ye)return U(bN,{onBack:t});let ye=ky(y.type),Ce=ye?ud(ye,o):null;if(ye&&Ce){let M=u?.partId===B?u:null,Ee=ye[Ce],go=Ee.writable===!0&&!!L,Br=Ws=>{L&&i.replaceComponent(L.zone,L.index,{...y,props:na(O,o,"role",Ws)})};return U(gN,{region:Ee,sizePx:M?.base.sizePx??null,face:md(O,o,M,p),base:M?.base??null,onFollowStyle:go?Br:void 0,source:se,slug:Ta(O),onBack:t})}if(!L||!G)return Oe?U("div",{className:"sf-note","aria-busy":"true"}):U(yN,{onBack:t,partId:B,why:L?"no field":"no selector"});let Xe=M=>{i.replaceComponent(L.zone,L.index,{...y,props:M})},He=M=>{if(tt(M).hidden!==tt(ro).hidden||!H){let Ee=T?Nf(O,R,T,M):{...O,[R]:M};Ee&&Xe(Ee);return}ts({node:y,propKey:o,kind:H,zone:L.zone,index:L.index},tt(M).text,i.replaceComponent)},Ze=ro,Ae=u?.partId===B?u:null,P=Ae?.styleOwner,ee=P?a(P.owner):null,j=P&&ee?n(P.owner):null,ge=!!(P&&ee&&j),ve=ge?ee.props??{}:O,ze=ge?M=>i.replaceComponent(j.zone,j.index,{...ee,props:M}):Xe,$e=ge?P.kind:Vl(y?.type,o),oe=yl(ve,$e),le=[{partKey:$e,face:md(ve,$e,Ae,p),sizeGroup:Ae?.sizeGroup??null,base:Ae?.base??CN,style:oe}],Qe=mN(le,M=>M.sizeGroup),ct=as(Ae?.inks),dt=(M,Ee)=>{let go=ve;for(let Br of le)go=na(go,Br.partKey,M,Ee);ze(go)},Ms=M=>dt("role",M),Za=M=>{let Ee=ve;for(let go of le)for(let[Br,Ws]of Object.entries(M))Ee=na(Ee,go.partKey,Br,Ws??null);ze(Ee)},Ar=H==="text"||H==="textarea",{text:z,hidden:q}=tt(ro),Z=G?.[fN]?.label??o,ce=q?l("Show {label} on the slide",{label:l(Z)}):l("Hide {label} on the slide",{label:l(Z)}),no=Lo("div",{className:"sf-field-head",children:[U(rN,{}),U("span",{className:"sf-field-label sf-field-label--inline",children:l(Z)}),Ar&&U(lN,{content:ce,children:U("button",{type:"button",className:"sf-field-eye","aria-pressed":q,"aria-label":ce,onClick:()=>He({text:z,hidden:!q}),children:q?U(Fy,{name:"eye-off",size:14}):U(Fy,{name:"eye",size:14})})})]}),Ko=!_&&ae,Qa=!!H&&(tI(G)||_||q||!ae),Ht=md(ve,$e,Ae,p),Hs=Ht.kind==="role"?Ht.role:null,Vv=Object.entries(oe).filter(([M,Ee])=>M!=="role"&&Ee!==void 0).length,Yv=()=>{let M=ve;for(let Ee of le){let go=Ee.style.role;M=gh(M,Ee.partKey),go&&(M=na(M,Ee.partKey,"role",go))}ze(M)},ut=tc(Hs),Xv=Ph(le[0].style),Zv=ut?nt(S.saved,S.old).find(M=>M.id===ut)?.name??ut:"",Qv=()=>{E(!1),ut&&(S.write(Lh({saved:S.saved,old:S.old,styleId:ut,values:rc(le[0].style)}),!0),Yv())};return Lo(IN,{sectionName:F?.label??y.type,onBack:t,textEditor:U("div",{ref:g,className:"sf-part-text",children:Qa?U(fy,{text:z,onTextChange:M=>He(Ar?{text:M,hidden:q}:M),multiline:ul(H),markup:H!=="plainText",styled:!1,style:le[0].style,base:le[0].base,setValue:Za,colors:ct,placeholder:xd(VI(G))??void 0,ariaLabel:l(Z),head:no,typedOnCanvas:f===B}):H?Ar?no:null:U(eN,{field:G,name:o,value:Ze,onChange:He,id:`sf-part-${e}-${o}`})}),children:[Ie&&U(fs,{source:Ie,slug:Ta(O),menuId:ns(O)}),Ko&&U(nN,{style:{value:Hs??"",options:[{value:"",label:l("No style"),description:l("Section\u2019s own")},...Ao.map(M=>({value:M,label:l(Ja[M]),description:Wt(p[M])?.label}))],onChange:M=>Ms(M||null),changed:Vv>0,onEditStyles:r,onUpdateStyle:ut&&Xv?()=>E(!0):void 0},font:{value:oe.font??"",styleValue:Wt(le[0].base.fontKey)?.label,options:co.map(M=>({label:M.label,value:M.key})),onChange:M=>dt("font",M||null)},italic:{value:oe.italic,styleValue:SN(m,Hs),onChange:M=>dt("italic",M??null)},cells:dd(le[0].style,le[0].base,Za,{phone:v}),align:{value:oe.align??"",styleValue:le[0].base.align,onChange:M=>dt("align",M||null)},letterCase:{value:oe.case??"",styleValue:le[0].base.case,onChange:M=>dt("case",M||null)}}),w&&ut&&U(dy,{styleName:Zv,onCancel:()=>E(!1),onConfirm:Qv}),Ko&&Qe===null&&U("p",{className:"es-field-hint sf-hint-keep",children:l("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")})]})}function SN(e,o){let t=tc(o);return!t||!Array.isArray(e)?!1:e.find(r=>r?.id===t)?.values?.italic===!0}var CN={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:at};import{jsx as Io,jsxs as hd,Fragment as vN}from"react/jsx-runtime";import{useCallback as wN,useRef as kN,useState as Pa}from"react";import{InspectorIconButton as TN}from"efficient-easel/chrome";import{PopupMenu as FN,PopupMenuItem as EN,PopupMenuLabel as cs}from"efficient-shell/ui";import{CopyToPageIcon as PN}from"efficient-easel/icons";import{useEaselSession as LN}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as RN}from"efficient-easel/screen/lib/puck/section-doc";import{FOOTER_TYPE as ON}from"efficient-easel/draw";function Ry({node:e,currentSlug:o,siteId:t,tokenRef:r,runAuthed:a,onNotify:n}){let[s,i]=Pa(!1),[f,u]=Pa(null),p=LN(),[m,x]=Pa(!1),[I,b]=Pa(null),S=kN(null),[w,E]=Pa(null),v=wN(async()=>{if(p.usesBridgedToken&&!r.current){x(!0);return}try{u(await We(p).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[r,t,p]),g=()=>{if(s){i(!1);return}let F=S.current?.getBoundingClientRect();F&&E({top:F.bottom+6,right:Math.max(8,window.innerWidth-F.right)}),u(null),x(!1),v(),i(!0)},y=(f??[]).filter(F=>F.slug!==o),L=async F=>{if(I)return;b(F.slug);let R=RN(e),T=p.documentHooks?.storedNode?.(R)??R,D=We(p).pages,G=await a(async()=>{let B=await D.load({id:F.id});if(!B)throw new Error(`Page "${F.slug}" no longer exists.`);let O=B.layout??{},H=Array.isArray(O.content)?[...O.content]:[],_=H.findIndex(ae=>ae?.type===ON);H.splice(_===-1?H.length:_,0,T),await D.save(F.id,{layout:{root:{},zones:{},...O,content:H}},{version:B.version,clientId:""})});b(null),i(!1),n?.(G?l("Duplicated to \u201C{name}\u201D",{name:F.label}):l("Couldn\u2019t duplicate the section \u2014 please retry"),G?"success":"error")};return hd(vN,{children:[Io("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Io(TN,{buttonRef:S,label:l("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:g,children:Io(PN,{size:15})})}),s&&w&&Io(FN,{portal:!0,style:{top:w.top,right:w.right},onClose:()=>i(!1),children:hd("div",{role:"menu","aria-label":l("Duplicate to page"),children:[Io(cs,{children:l("Duplicate to page")}),m?Io(cs,{children:l("Couldn\u2019t load pages")}):f===null?Io(cs,{children:l("Loading\u2026")}):y.length===0?Io(cs,{children:l("No other pages")}):y.map(F=>hd(EN,{role:"menuitem",disabled:I!==null,onClick:()=>{L(F)},children:[Io("span",{className:"min-w-0 flex-1 truncate",children:F.label}),I===F.slug?Io("span",{className:"shrink-0 text-xs",children:l("Copying\u2026")}):F.draft&&Io("span",{className:"shrink-0 text-xs",children:l("draft")})]},F.id))]})})]})}import{useScreenDocument as AM}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as BM}from"efficient-easel/screen/lib/puck/use-section-ops";import{SELECTION_MODE as _M}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as DM}from"efficient-easel/draw/client";import{jsx as La,jsxs as AN}from"react/jsx-runtime";import{SettingsDrill as BN}from"efficient-easel/panel";import{UiIcon as _N}from"efficient-easel/draw/client";var DN="Not shown on the page";function NN({part:e,onOpen:o}){return La(BN,{name:l(e.label),preview:e.offPage?l(DN):e.preview||l("Empty"),offPage:e.offPage,status:e.hidden?La("span",{className:"sf-entry-eye",role:"img","aria-label":l("Hidden on the page"),children:La(_N,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function gd(e){return e.filter(o=>!o.identifier)}function Oy({parts:e,onOpen:o,heading:t=!0}){let r=gd(e);return r.length?AN("div",{className:"sf-entries",children:[t?La("h3",{className:"sf-entries-head",children:l("Text")}):null,r.map(a=>La(NN,{part:a,onOpen:o},a.key))]}):null}import{HEADER_TYPE as NM,ROOT_ZONE as bS}from"efficient-easel/draw";import{HEADER_TYPE as Ve,FOOTER_TYPE as me,newNodeId as MN}from"efficient-easel/draw";function ds(){return{type:Ve,props:{id:MN(Ve)}}}var Ay=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterGroup",label:"Footer Box"},{type:"FooterDivider",label:"Divider"}],HN=Ay.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),WN="FooterGroup",By="blocks";function _y(e){return e===me?Ay:e===WN?HN:null}function us(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterGroup",{direction:"vertical",align:"start",blocks:[e("FooterText",{text:"Join our email list",size:"md",tone:"default"}),e("FooterEmailSignup",{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"})]})]}var xe="SiteHeader",ue="SiteFooter",bd="sections",uJ=[xe,ue],Sr=e=>e===xe||e===ue,Dy=e=>`${e}:${bd}`;function Ny(e,o,t=[]){return{type:e,props:{id:o,[bd]:t}}}var zN=new Set(["Footer",xe,ue]);function Cr(e){let o=new Set,t=!1,r=e.filter(a=>{let n=a?.type??"";return n==="Header"?(t=!0,!1):zN.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?r:e}function ps(e,o){return e.some(t=>t?.type===o.type)?e:o.type===xe?[o,...e]:[...e,o]}var My={[xe]:{max:3,takes:["Flex","Ticker"]},[ue]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function Hy(e,o,t){if(!Sr(e))return!0;let r=My[e];return t<r.max&&r.takes.includes(o)}function Wy(e,o){let t=o,r=t?.props?.id;if(r==null)return null;let a=e?.content;if(!Array.isArray(a))return null;for(let n of a){if(!Sr(n?.type))continue;let s=n.props?.[bd];if(!Array.isArray(s)||!s.some(f=>f?.props?.id===r))continue;let i=My[n.type];return i.takes.includes(t?.type??"")?s.length>=i.max?{group:n.type,why:"full"}:null:{group:n.type,why:"type"}}return null}function zy(e){switch(e?.type){case xe:return l("Header \xB7 on every page");case ue:return l("Footer \xB7 on every page");case Ve:return l("Header \xB7 on every page \xB7 old style");case me:return l("Footer \xB7 on every page \xB7 old style");default:return null}}var Gy=()=>l("Every page"),Uy=()=>l("Changed on every page");function ms(e,o){let t=kp(e,o);if(t)return t;let r=Wy(e,o);if(!r)return null;let a=r.group===xe;return r.why==="type"?a?l("The header cannot take another one of these"):l("The footer cannot take another one of these"):a?l("The header holds at most 3 sections"):l("The footer holds at most 6 sections")}import{jsx as hs,Fragment as XN,jsxs as ZN}from"react/jsx-runtime";import{useState as QN}from"react";import{createNode as JN,newId as eM}from"efficient-easel/data";import{useEasel as oM}from"efficient-easel/easel";import{Banner as tM,Button as yd}from"efficient-shell/ui";import{useScreenDocument as rM}from"efficient-easel/screen/components/ScreenDocumentContext";var xs="Flex",GN={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},UN=e=>{let{id:o,...t}=e;return t},$y=e=>typeof e=="string"?e:"",Is=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,qy={sm:12,md:13,lg:15},$N="md",jy=1.5,qN={size:13,lineHeight:jy,width:280},jN=14,KN=40,VN=e=>e==="center"||e==="right"?e:"left";function YN(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[r,a]of t){let n=Is(e[r]);n&&(o[a]=n)}return o}function Ky(e,o){let t=e.props??{},r=GN[e.type];if(r)return[o(r,UN(t))];switch(e.type){case"FooterLogo":{let a=VN(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(Gu*((Is(t.widthPct)??100)/100)),href:"/",align:a,...YN(t)}),s=$y(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:a,_partStyles:{text:{...qN}}})]:[n]}case"FooterText":{let a=typeof t.size=="string"&&t.size in qy?t.size:$N;return[o("Text",{text:$y(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:qy[a],lineHeight:jy}}})]}case"FooterDivider":{let a=Is(t.thickness),n=Is(t.lengthPct);return[o("Divider",{...a!==void 0?{thickness:a}:{},...n!==void 0?{lengthPct:n}:{},...t.hideOnMobile===!0?{hideOnMobile:!0}:{}})]}case"FooterGroup":{let a=Array.isArray(t.blocks)?t.blocks:[];return[o(xs,{direction:t.direction==="horizontal"?"row":"column",gap:Vr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"?t.align:"start",content:a.flatMap(n=>Ky(n,o))})]}default:return[]}}function Ra(e,o,t){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],a=u=>o(xs,{direction:"row",wrap:!0,share:"equal",gap:KN,content:u}),n=[],s=[];for(let u of r){let p=Ky(u,o);if(u.type==="FooterDivider"){s.length&&n.push(a(s)),s=[],n.push(...p);continue}p.length<=1?s.push(...p):s.push(o(xs,{direction:"column",gap:jN,align:"stretch",content:p}))}(s.length||!n.length)&&n.push(a(s));let i=o(xs,{direction:"column",content:[o("LegalLineBlock")]}),f=Ny(ue,t,[...n,i]);return{...f,props:{...f.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function Vy(){let{appState:e,dispatch:o,config:t}=oM(p=>p),{readOnly:r}=rM(),[a,n]=QN(!1),s=e.data.content;if(r||s.some(p=>p.type===ue))return null;let i=s.find(p=>p.type===me)??null,f=(p,m)=>JN(t,p,m),u=()=>{let p=Ra(i,f,eM(ue));o({type:"setData",data:m=>({...m,content:[...ps(m.content,p)]}),recordHistory:!0}),n(!1)};return hs(tM,{tone:"info",title:l("This footer uses the old layout"),action:a?ZN(XN,{children:[hs(yd,{variant:"primary",size:"sm",onClick:u,children:l("Switch now")}),hs(yd,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:l("Cancel")})]}):hs(yd,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:l("Switch to Box footer")}),children:l("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.")})}import{jsx as Pd}from"react/jsx-runtime";import{useLayoutEffect as bM,useMemo as pS,useRef as yM,useState as Fd}from"react";import{useEasel as SM,useSelectedFields as CM}from"efficient-easel/easel";import{Inspector as vM,planFields as mS}from"efficient-easel/fields";import{jsx as vr}from"react/jsx-runtime";import{usePreviewDevice as aM}from"efficient-easel/draw/client";import{NoControlMark as Yy,noControlField as Xy}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Sd=e=>l(Zt[e==="content"?"page":"full"]),Zy=e=>`${e} ${l("from Site styles")}`;function Qy(){let{siteWidth:e,sectionBackgroundWidth:o,sectionContentWidth:t}=V();return{px:typeof e=="number"?e:we.default,background:o??"full",content:t??"content"}}function Jy(){try{return aM()==="mobile"}catch{return!1}}function nM({type:e,onChange:o}){let t=Eo(),r=Qy(),a=Jy(),n=cf(e,t).background;return vr(cl,{value:n??r.background,changed:n!==null,detail:Zy(Sd(r.background)),onChange:s=>o(s),onReset:()=>o(Xr),disabled:a})}function lM({type:e,onChange:o}){let t=Eo(),[,r]=Yn("contentMax"),a=Qy(),n=Jy(),s=cf(e,t),i=(s.background??a.background)==="content",f=s.content??a.content;return vr(dl,{mode:i&&f==="full"?"content":f,px:s.contentMax??a.px,max:i?a.px:we.max,changed:s.content!==null,detail:Zy(a.content==="full"?Sd("full"):`${Sd("content")} ${a.px}px`),fullClosed:i,disabled:n,hint:n?qI:i?GI:void 0,onMode:u=>{o(u),u==="full"&&r(null)},onPx:u=>{o("content"),r(u===a.px?null:u)},onReset:()=>{o(Xr),r(null)}})}function sM(e){return rt({_gWidth:De(fl),backgroundWidth:{type:"custom",render:({onChange:o})=>vr(nM,{type:e,onChange:o})},contentWidth:{type:"custom",render:({onChange:o})=>vr(lM,{type:e,onChange:o})},contentMax:{...Xy({type:"custom",render:()=>vr(Yy,{})},"always"),reachedBy:"contentWidth"},widthMode:{...Xy({type:"custom",render:()=>vr(Yy,{})},"always"),reachedBy:"backgroundWidth"}})}var eS=Object.keys(sM(""));import{deviceField as iM,deviceMetaOf as tS}from"efficient-easel/screen/lib/puck/device-fields";import{DESIGN_GROUPS as vd,SETTINGS_BUCKETS as fM}from"efficient-easel/panel";import{BUCKET_KEY as oo,DESIGN_GROUP_KEY as Oa}from"efficient-easel/screen/lib/puck/field-buckets";var Aa=fM;var cM="Editor only \u2014 not shown live",wd={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Texture:"Design","Text style":"Design",Motion:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Controls:"Layout",Diagram:"Layout",[cM]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Nudge:"Position","Stick to top":"Position","Image gallery":"Layout",Grid:"Layout",Layout:"Layout",Padding:"Layout",Price:"Layout",Preview:"Layout",Setup:"Layout","Show / hide elements":"Layout","Show in the buy box":"Layout",Visibility:"Layout",Width:"Size",Height:"Size"},rS={"AlloyWheelsListing._gCards":"Design","ProductGrid._gCards":"Design"},aS={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function Cd(e,o,t){let r=`${e}.${o}`;return aS[r]??rS[r]??wd[t]}function nS(e){return e==="Animation"?[oo.Animation]:[oo.Design,Oa[e]]}function gs(...e){let o=[];for(let t of e)for(let r of Object.values(t)){let a=tS(r),n=zo(a?a.inner:r),s=n?wd[n.label]:void 0;if(s)for(let i of nS(s))o.includes(i)||o.push(i)}return o}var YJ=[...gs(Qn(),Jn("full"),el(),ol(),yf()),...Object.keys(Qn()),...Object.keys(Jn("full")),...Object.keys(el()),...Object.keys(ol()),...Object.keys(yf()),...eS],XJ=[...gs(Kn()),...Object.keys(Kn())],ZJ=[...gs(Xn()),...Object.keys(Xn())],QJ=[...gs(Zn()),...Object.keys(Zn())],dM=Object.keys(hI()),uM=new Set(["cardImage","imageBackground"]),JJ=[...nS(Cd("ProductGrid","_gCards","Cards")??"Design"),...dM.filter(e=>e.startsWith("_g")||uM.has(e))],eee=Object.keys(gI()),oee=Object.keys(bI({bottomDefault:!0})),pM={"ImageBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","ButtonBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","HeroGroup._gContent":"duplicated the Content bucket header above it (2026-09-04)","HeroGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","Footer._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterLogo._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterLogo._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterMenu._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterMenu._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterText._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterText._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterSocial._gStyle":"duplicated the Style bucket header above it (born tabbed, 2026-09-17)","FooterSocial._gLayout":"duplicated the Layout bucket header above it (born tabbed, 2026-09-17)","MenuBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","MenuBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","EmailFormBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","SocialLogosBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gLayout":"duplicated the Layout bucket header above it (born tabbed, H.1)","SearchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CartBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CountrySwitchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed with its Show as, 2026-10-17)","Split._gContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gVehicleContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gWheelContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gOthersContent":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gHeadCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gLeftCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gRightCopy":"duplicated the Content bucket header above it (2026-09-04)","CollectionCard._gContent":"duplicated the Content bucket header above it (A Card Sets Its Own Corners)","HeroSlide._gContent":"duplicated the Content bucket header above it (Hero Slide Tabs And Theme)","KeyFeatures._gContent":"duplicated the Content bucket header above it (66049)","KeyFeatures._gStyle":"duplicated the Style bucket header above it (66049)","ParagraphsA._gContent":"duplicated the Content bucket header above it (66049)","ParagraphsA._gStyle":"duplicated the Style bucket header above it (66049)","Chart._gContent":"duplicated the Content bucket header above it (66049)","Chart._gStyle":"duplicated the Style bucket header above it (66049)","Logos._gContent":"duplicated the Content bucket header above it (66049)","Logos._gStyle":"duplicated the Style bucket header above it (66049)","Mockup._gContent":"duplicated the Content bucket header above it (66049)","Mockup._gStyle":"duplicated the Style bucket header above it (66049)","Stats._gContent":"duplicated the Content bucket header above it (66049)","Stats._gStyle":"duplicated the Style bucket header above it (66049)","StatsParagraph._gContent":"duplicated the Content bucket header above it (66049)","StatsParagraph._gStyle":"duplicated the Style bucket header above it (66049)","Testimonials._gContent":"duplicated the Content bucket header above it (66049)","Testimonials._gStyle":"duplicated the Style bucket header above it (66049)","AppointmentBooking._gContent":"duplicated the Content bucket header above it (66050)","BookingBox._gContent":"duplicated the Content bucket header above it ([SPLIT] Booking Form Into Three Boxes) \u2014 the same fault its own section retired in 66050, one level down","FAQ._gContent":"duplicated the Content bucket header above it (66050, family sweep)","FAQ._gLayout":"duplicated the Layout bucket header above it (66050, family sweep)","Form._gContent":"duplicated the Content bucket header above it (66050)","ReviewForm._gContent":"duplicated the Content bucket header above it (66050)","SubmitBuild._gContent":"duplicated the Content bucket header above it (66050)","SubmitBox._gContent":"duplicated the Content bucket header above it ([SPLIT] SubmitBuild Keeps Its Two Columns) \u2014 the same fault its own section retired in 66050, one level down","CheckoutCTA._gContent":"duplicated the Content bucket header above it (66051)","CheckoutCTA._gLayout":"duplicated the Layout bucket header above it (66051)","DeliveryOptions._gContent":"duplicated the Content bucket header above it (66051)","DeliveryOptions._gLayout":"duplicated the Layout bucket header above it (66051)","OrderSummary._gContent":"duplicated the Content bucket header above it (66051)","OrderSummary._gLayout":"duplicated the Layout bucket header above it (66051)","PaymentBadges._gContent":"duplicated the Content bucket header above it (66051)","PaymentBadges._gLayout":"duplicated the Layout bucket header above it (66051)","Collections._gContent":"duplicated the Content bucket header above it (66052)","Collections._gLayout":"duplicated the Layout bucket header above it (66052)","DocMasthead._gContent":"duplicated the Content bucket header above it (66053)","Events._gContent":"duplicated the Content bucket header above it (66054)","Events._gLayout":"duplicated the Layout bucket header above it (66054)","FeaturedCover._gContent":"duplicated the Content bucket header above it (66054)","Series._gStyle":"duplicated the Style bucket header above it (66054)","Flex._gContent":"duplicated the Content bucket header above it (66055)","Flex._gLayout":"duplicated the Layout bucket header above it (66055)","SectionHeader._gContent":"duplicated the Content bucket header above it (66055)","Breadcrumb._gContent":"duplicated the Content bucket header above it (66056)","CategoryBar._gStyle":"duplicated the Style bucket header above it (66056)","Hero._gContent":"duplicated the Content bucket header above it (66056)","Hero._gStyle":"duplicated the Style bucket header above it (66056)","HeroSingle._gStyle":"duplicated the Style bucket header above it (66056)","IntroBleed._gContent":"duplicated the Content bucket header above it (66056)","IntroBleed._gLayout":"duplicated the Layout bucket header above it (66056)","BundleOffer._gLayout":"duplicated the Layout bucket header above it (66059)","ProcessSteps._gContent":"duplicated the Content bucket header above it (66059)","Banner._gContent":"duplicated the Content bucket header above it (66060.1)","Banner._gLayout":"duplicated the Layout bucket header above it, and governed no controls (66060.1)","Manifesto._gContent":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gHeadCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gLeftCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gRightCopy":"duplicated the Content bucket header above it (66060.1)","Ticker._gContent":"duplicated the Content bucket header above it (66060.1)","Ticker._gStyle":"duplicated the Style bucket header above it (66060.1)","Timeline._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gStyle":"duplicated the Style bucket header above it (66060.1)","Cards._gContent":"duplicated the Content bucket header above it (66218)","Cards._gStyle":"duplicated the Style bucket header above it (66218)","Prose._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gStyle":"duplicated the Style bucket header above it (66218)"},lS={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},sS={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...Qn(),...Jn("full"),...el(),...ol(),...Kn(),...Xn(),...Zn()};for(let o of Object.keys(sS)){let t=zo(e[o]),r=t?wd[t.label]:void 0;if(!t||t.level!==2||!r||!lS[r].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/puck/field-groups.ts) lists "${o}", but no uniform builder makes a level-2 heading by that key whose label repeats its place's word. The heading was renamed, moved or removed and the row is stale \u2014 a list that quietly matches nothing is worse than no list.`)}}var mM=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),xM=new Map([[oo.Design,"Content"],[oo.Animation,"Animation"],...vd.map(e=>[Oa[e],e])]);function iS(e){let o=new Set([...Object.values(oo),Oa.Content]);for(let[t,r]of Object.entries(e))if(!o.has(t)&&zo(r)?.level===1)return 1;return 2}function IM(e){let o=`${e}.`;return Object.keys(pM).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function hM(e,o){let t=tS(e),r=De(o);return t?iM(t.tier,r):r}function gM(e,o){let t=zo(o);return t?e==="Content"||e==="Animation"?lI(o,t.label):sI(o):o}function oS(e){return e==="Design"?vd:["Animation"]}function tee(e,o){let t=[],r=new Set(IM(o)),a=new Set,n=!1,s=null;for(let[x,I]of Object.entries(e)){let b=zo(I);if(mM.has(x))throw new Error(`${o}.${x}: that key was a tab header until efficient-web-builder 11.0.0, when the panel moved to two tabs (Design \xB7 Animation). Its tab is gone, so the key may not come back. Give the heading a key of the section's own (\`_g\u2026\`), or open a Design group with its own key (\`_dDesign: section("Design")\`, \`_dLayout: section("Layout")\`).`);let S=xM.get(x);if(S!==void 0){if(b?.level!==1)throw new Error(`${o}.${x}: that key is reserved for the ${S} heading of the settings panel, but this field is ${b?`a level-${b.level} "${b.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(x===oo.Design||x===oo.Animation)&&(n=!0),t.push(s={place:S,entries:[],adopted:!0});continue}if(!b){s||t.push(s={place:"Content",entries:[]}),s.entries.push([x,I]);continue}if(r.has(x)||x in sS){let E=Cd(o,x,b.label);if(b.level!==2||!E||!lS[E].includes(b.label))throw new Error(`${o}.${x}: ${r.has(x)?"RETIRED":"INJECTED_RETIRED"} (lib/puck/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${b.level} "${b.label}" header in the ${E??"(unclassified)"} place. Only a level-2 header whose label is one of its place's words (PLACE_WORDS) may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);r.has(x)&&a.add(x),t.push(s={place:E,entries:[]});continue}let w=Cd(o,x,b.label);if(!w)throw new Error(`${o}.${x}: the inspector group "${b.label}" is not classified in LABEL_GROUP (lib/puck/field-groups.ts), so there is no way to say which of ${[...vd,"Animation"].join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);t.push(s={place:w,entries:[[x,b.level===2?I:hM(I,b.label)]]})}let i=new Set(Object.entries(e).filter(([,x])=>zo(x)).map(([x])=>x));for(let[x,I]of[["BLOCK_KEY_GROUP",aS],["KEY_GROUP",rS]]){let b=Object.keys(I).filter(S=>S.startsWith(`${o}.`)).filter(S=>!i.has(S.slice(o.length+1)));if(b.length)throw new Error(`${o}: ${x} (lib/puck/field-groups.ts) lists ${JSON.stringify(b)}, but no fold header by that key is in this section's panel. Either the heading was renamed or removed and the row is stale, or the row names the wrong key \u2014 an override that quietly matches nothing is worse than no override.`)}let f=n?[]:[...r].filter(x=>!a.has(x));if(f.length)throw new Error(`${o}: RETIRED (lib/puck/field-groups.ts) lists ${JSON.stringify(f)}, but this section has no such fold header${f.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let u=new Set(t.filter(x=>x.entries.length>0).map(x=>x.place)),p=Aa.filter(x=>oS(x).some(I=>u.has(I))),m={};for(let x of p){m[oo[x]]=jn(x,x===p[0]?p:null);for(let I of oS(x)){if(!u.has(I))continue;let b=t.filter(w=>w.place===I),S=b.findIndex(w=>w.adopted);S>0&&b.unshift(...b.splice(S,1)),x==="Design"&&(m[Oa[I]]=hf(I));for(let w of b)for(let[E,v]of w.entries)m[E]=gM(I,v)}}return m}function ree(e){return oo.Design in e?e:{[oo.Design]:jn("Design",null),[Oa.Content]:hf("Content"),...e}}function aee(e){return Aa.some(o=>oo[o]in e)}function nee(e){let o=Aa.filter(r=>oo[r]in e);if(o.length===0)return e;let t={...e};for(let r of o)t[oo[r]]=jn(r,r===o[0]?o:null);return t}import{usePreviewDevice as wM}from"efficient-easel/draw/client";var kd=" text",fS="Text";function Td(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function cS(e){return e.filter(Td).map(o=>o.key)}function dS(e,o){let t=null;for(let r of o){let a=e[r];!a||a.marker!==!0||typeof a.fold!="string"||(t??={...e},t[r]={...a,fold:!1})}return t??e}function uS(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var Ed=new Map,bs=new Set;function kM(e,o){let t=new Map;for(let a of e.querySelectorAll(".es-insp-row[data-field]"))t.set(a.getAttribute("data-field")??"",a);let r=[];for(let[a,n]of o)r.push({key:a,rows:n.map(s=>{let i=t.get(s),f=!!i&&[...i.children].some(p=>!p.hidden),u=i?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!u}})});return r}var TM=Object.fromEntries(Aa.map(e=>{let o=rI[e];return[e,Pd(o,{},e)]}));function Ba({entries:e,entryCount:o=0,part:t=null}){let{id:r,fields:a,values:n,readOnly:s,onChange:i}=CM(),f=wM(),{appState:u,config:p}=SM(H=>H),m=bg(f,p,u.data.content??[],u.ui.itemSelector),x=wg(a,t),I=gg(x,n,m),[b,S]=Fd(()=>new Set(bs)),[w,E]=Fd(()=>new Set),v=yM(null),g=pS(()=>{let H=new Map;for(let _ of mS(I).rows){if(!_.fold)continue;let ae=H.get(_.fold.key)??[];ae.push(_.name),H.set(_.fold.key,ae)}return H},[I]);bM(()=>{let H=v.current?.parentElement;if(!H)return;let _=new Set(cS(kM(H,g)));E(ae=>uS(ae,_)?ae:_)});let y=pS(()=>dS(I,w),[I,w]),L={key:kd,rows:Array.from({length:o},()=>({shown:!0,labelled:!0}))},F=Td(L)?void 0:{key:kd,title:fS},[R,T]=Fd(()=>Ed.get(r)),D=Ed.get(r),G=mS(I).buckets,B=D&&G.includes(D)?D:R&&G.includes(R)?R:G[0],O=B===void 0||aI(G,B)!==!0;return Pd(vM,{fields:y,values:n,onChange:i,readOnly:s,showWhenContext:{...m,node:n},tab:B,onTab:H=>{Ed.set(r,H),T(H)},tabIcons:TM,idPrefix:r,ariaLabel:l("Section settings"),lead:O?e:null,leadFold:F,closedFolds:b,onFold:(H,_)=>{_?bs.delete(H):bs.add(H),S(new Set(bs))},children:Pd("span",{ref:v,hidden:!0})})}import{jsx as Ld,jsxs as FM}from"react/jsx-runtime";import{InspectorUpLevel as xS}from"efficient-easel/chrome";function IS({nodeId:e,part:o,sectionName:t,onUpToSection:r}){let{select:a}=Hl();return FM("div",{children:[o!=="media"?Ld(xS,{inline:!0,name:l(dr.media),onSelect:()=>a(xa(e,"media"))}):Ld(xS,{inline:!0,name:l(t),onSelect:r}),Ld(Ba,{part:o})]})}import{SettingsSwitch as MM}from"efficient-easel/panel";var SS=_M,Bd={kind:"header"},_d={kind:"website"},CS={kind:"chat"},vS={kind:"social"},_a="Part";function HM(e){return l("Part of {name}",{name:l(e)})}function WM(e,o,t){let r=e.describeNode(o);return{name:t,kindLabel:r?HM(r.label):l(_a)}}function zM(e){switch(e){case"Header":return{title:l("Header settings belong to a website."),own:l("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:l("Appearance settings belong to a website."),own:l("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:l("Live chat settings belong to a website."),own:l("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:l("Social link settings belong to a website."),own:l("Each website created from this template sets its own social link afterwards.")};default:return{title:l("{what} settings belong to a website.",{what:e}),own:l("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function wS({what:e}){let o=zM(e);return st("div",{className:"sf-note",children:[J("p",{children:J("strong",{children:o.title})}),st("p",{children:[l("A template is a blueprint \u2014 it has no website of its own, so there is nothing here to change.")," ",o.own]})]})}function Ad(e){let o=ma[e];return{name:dr[e],kindLabel:_a,icon:o,head:(t,r)=>{if(t.kind!==o)return null;let a=r.describeNode(t.nodeId);if(!a)return null;let n=yS({name:l($l(e,a.props)),tier:"part",of:l(a.label)},{partOf:({name:s})=>l("Part of {name}",{name:s})});return{name:n.name,kindLabel:n.kind}},render:(t,r)=>t.kind===o?J(IS,{nodeId:t.nodeId,part:e,sectionName:r.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>r.onSelectNode(t.nodeId)}):null}}var GM={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?J(t,{placeholderMode:o.capabilities.placeholderFrames,tokenRef:o.tokenRef,siteId:o.siteId,websiteName:o.websiteName,onOpenWebsiteSettings:o.onOpenWebsiteSettings,onAuthExpired:()=>o.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,o)=>J(vl,{themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>J(Og,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>J(Mg,{unavailable:J(wS,{what:"Social link"})})},ticker:{name:ua,kindLabel:_a,icon:"ticker",head:(e,o)=>e.kind==="ticker"?WM(o,e.heroId,l(ua)):null,render:e=>J(ry,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:Ad("media"),heroImage:Ad("image"),heroImage2:Ad("image2"),part:{name:_a,kindLabel:_a,icon:"Text",head:(e,o)=>{if(e.kind!=="part")return null;let t=o.describeNode(e.nodeId);if(!t)return null;let{key:r,row:a}=po(e.propKey),n=a?br(t.fields[r],a):t.fields[r],s=QI(l(Mf(gl(n??{},r))),a),i=yS({name:s,tier:"part",of:l(t.label)},{partOf:({name:f})=>l("Part of {name}",{name:f})});return{name:i.name,kindLabel:i.kind}},render:(e,o)=>e.kind==="part"?J(Ly,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},UM=new Set(["header","website","chat"]);function $M(e,o){if(e==="puck")return null;let t=GM[e];return UM.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>J(wS,{what:t.name})}:t}function kS({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r,hideNodeActions:a=!1,onNotify:n,onHidePanel:s}){let{capabilities:i,tokenRef:f,notifyParent:u,currentSlug:p,siteId:m,runAuthed:x,readOnly:I,navigate:b}=AM(),S=Pl(),{rows:w,reload:E}=ca(),v=w?.find(oe=>oe.slug===p)??null,[g,y]=hS(null),{websiteName:L}=V(),F=BM({readOnly:I}),{select:R}=DM(),{selectedItem:T,getItemById:D,getSelectorForId:G,config:B,appState:O}=EM(oe=>oe),H=RM(B,T?{type:T.type,props:T.props}:null),_=T?lh(H??B.components[T.type]?.fields,T.props):[],ae=oe=>B.components[oe]?.label??oe,se=T?G(T.props.id):void 0,Ie=$M(e.kind,i),ro=OM(),Ye={capabilities:i,tokenRef:f,hostPanels:ro.chrome?.panels,describeNode:oe=>{let le=D(oe);if(!le)return null;let Qe=B.components[le.type];return{type:le.type,label:Qe?.label??le.type,fields:Qe?.fields??{},props:le.props??{}}},siteId:m,websiteName:L??null,notifyParent:u,onNotify:n,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},Fe=Ie?.head?.(e,Ye)??null,ao=Fe?.name??(Ie?l(Ie.name):T?l(ae(T.type)):l("Page settings")),Me=Fe?.kindLabel??(Ie?l(Ie.kindLabel):T?se&&se.zone!==bS?l("Block"):l("Section"):l("Page")),Oe=Ie?Ie.icon:T?T.type:"page",ye=Ie?null:T?B.components[T.type]?.fields??null:B.root?.fields??null,Ce=ye?iS(ye):2,Xe=e.kind==="puck"&&T?Fa(T.type):null,He=!!T&&!!se&&se.zone===bS&&T.type!==me&&T.type!==NM,Ze=ms(O?.data,T),Ae=()=>{Ze||se&&F.duplicateComponent(se.zone,se.index)},P=()=>{se&&(F.removeComponent(se.zone,se.index),F.select(null))},ee=T?B.components[T.type]?.defaultProps?.previewHover:void 0,j=e.kind==="puck"&&!!T&&!!se&&ee!==void 0,ge=j&&T.props.previewHover===!0,ve=()=>{!T||!se||F.replaceComponent(se.zone,se.index,{...T,props:{...T.props,previewHover:!ge}})},[ze,$e]=hS(ic);return st("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${ze||!(!Ie&&T)?"":" sf-hints-folded"}`,children:[J(PM,{icon:J(At,{type:Oe,size:15}),name:ao,kind:Me,actions:!a&&e.kind==="puck"&&T&&T.type!==me?st(ys,{children:[J(Rd,{label:l("Duplicate section"),title:Ze??void 0,disabled:Ze!==null,onClick:Ae,children:J(gS,{size:15})}),He&&i.hasSiteSettings&&J(Ry,{node:T,currentSlug:p,siteId:m??void 0,tokenRef:f,runAuthed:x,onNotify:n}),J(Rd,{label:l("Remove section"),danger:!0,onClick:P,children:J(LM,{size:15})}),s?J(Od,{side:"right",onHide:s,divider:!0}):null]}):!Ie&&!T&&e.kind==="puck"&&S&&v&&Fl(v)?st(ys,{children:[J(Rd,{label:l("Duplicate page"),onClick:()=>y(v),children:J(gS,{size:15})}),s?J(Od,{side:"right",onHide:s,divider:!0}):null]}):s?J(Od,{side:"right",onHide:s}):void 0}),S&&J(Ll,{source:g,taken:new Set((w??[]).map(oe=>oe.slug)),duplicate:S,onClose:()=>y(null),onDuplicated:oe=>{y(null),E(),b({kind:"page",slug:oe.slug,siteId:m??void 0})}}),j&&st("div",{className:"sf-preview-pin",children:[st("div",{className:"sf-preview-pin-text",children:[J("span",{className:"sf-preview-pin-label",children:l("Preview hover state")}),J("span",{className:"sf-preview-pin-hint",children:l("not shown live")})]}),J(MM,{checked:ge,onChange:ve,ariaLabel:l("Preview hover state")})]}),J(Ax,{tier:Ce,children:J("div",{className:"sf-insp-body es-insp-body sf-scroll",children:Ie?Ie.render(e,Ye):T?st(ys,{children:[T.type===me&&i.hasSiteSettings&&J(Vy,{}),J(rm,{children:J(Ba,{entries:J(Oy,{parts:_,heading:!1,onOpen:oe=>R(Il(T.props.id,oe))}),entryCount:gd(_).length})}),Xe&&J(fs,{source:Xe,slug:Ta(T?.props),menuId:ns(T?.props)}),J(fc,{shown:ze,onChange:$e})]}):J(ys,{children:J(Ba,{})})})})]})}import{jsx as c,jsxs as C,Fragment as LS}from"react/jsx-runtime";var Le={dark:"var(--sf-thumb-bar-dark)",soft:"var(--sf-thumb-bar-light)",accent:"var(--sf-thumb-accent)",tint:"var(--sf-thumb-accent-tint)",block:"var(--sf-thumb-block)",line:"var(--sf-thumb-border)",card:"var(--sf-thumb-card)"},Dd="repeating-linear-gradient(135deg,var(--sf-thumb-hatch1) 0,var(--sf-thumb-hatch1) 5px,var(--sf-thumb-hatch2) 5px,var(--sf-thumb-hatch2) 10px)";function A({w:e,h:o,tone:t="dark",r=2,style:a}){return c("div",{style:{width:e,height:o,borderRadius:r,background:Le[t],flex:"none",...a}})}var qM={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",Header:"header",Footer:"footer",SectionHeader:"sectionheader",Grid:"grid",Flex:"blanksection",Spacer:"spacer",Divider:"divider",CustomHTML:"customhtml",Heading:"heading",Text:"text",ImageBlock:"image",ButtonBlock:"button",MenuBlock:"menu",EmailFormBlock:"emailform",SocialLogosBlock:"sociallogos",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},N={position:"absolute",inset:0},d={ink:"var(--sf-thumb-ink)",ink2:"var(--sf-thumb-ink-2)",inkSoft:"var(--sf-thumb-ink-soft)",inkSoft2:"var(--sf-thumb-ink-soft-2)",paper:"var(--sf-thumb-paper)",paper2:"var(--sf-thumb-paper-2)",warm:"var(--sf-thumb-warm)",rust:"var(--sf-thumb-rust)",onInk:"var(--sf-thumb-on-ink)",text:"var(--sf-thumb-scene-text)",muted:"var(--sf-thumb-scene-muted)",rule:"var(--sf-thumb-scene-rule)",mark1:"var(--sf-thumb-mark-1)",mark2:"var(--sf-thumb-mark-2)",card:"var(--sf-thumb-card)",scrim:"var(--sf-thumb-scrim)"},he=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function jo({size:e,style:o}){let t=Math.max(2,Math.round(e*.13)),r=(a,n,s)=>({position:"absolute",inset:a,background:n,borderRadius:t,...s?{mixBlendMode:s}:null});return C("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[c("span",{style:r("8% 26% 30% 6%",d.mark1)}),c("span",{style:r("26% 6% 8% 30%",d.mark2,"multiply")})]})}function Cs({children:e}){return c("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:d.muted},children:e})}function TS({over:e,overTone:o,head:t,headSize:r=11.5,cta:a,ctaBg:n,ctaFg:s,tone:i}){return C(LS,{children:[e&&c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),c("span",{style:{fontSize:r,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:i},children:t}),a&&c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,marginTop:2,background:n,color:s},children:a})]})}function Nd({name:e,price:o}){return C("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...he(d.paper,d.paper2,150)},children:c(jo,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o})]})}function qo({k:e,v:o,ok:t}){return C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${d.rule}`,fontSize:"3.98cqw",color:d.muted},children:[c("span",{children:e}),C("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("b",{style:{color:d.text,fontWeight:700},children:o}),t&&c("span",{style:{color:d.rust,fontWeight:700},children:"\u2713"})]})]})}function de({title:e,children:o}){return C("div",{style:{...N,background:d.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[c(Cs,{children:e}),o]})}function FS({size:e=14}){return c("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${d.mark1},${d.mark2})`}})}function Md({filled:e=5,size:o=6}){return C("span",{style:{fontSize:o,letterSpacing:"0.06em",color:d.rust,lineHeight:1},children:["\u2605".repeat(e),c("span",{style:{color:d.mark1},children:"\u2605".repeat(5-e)})]})}function Da({n:e,label:o,tone:t=d.text}){return C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function Ne({children:e,w:o}){return c("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:d.muted,width:o,display:"block"},children:e})}function Ss({label:e,w:o="100%",filled:t}){return C("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:e}),c("span",{style:{height:9,borderRadius:3,border:`1px solid ${d.rule}`,background:t?d.paper:d.card}})]})}function ES({children:e}){return c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.text,color:d.onInk},children:e})}var jM={wheelslisting:c(de,{title:"All wheels",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Ridge 19","20\xD79 +12","$365"],["Ridge 29","18\xD79 +20","$410"],["Ridge 39","17\xD78 \u221210","$455"]].map(([e,o,t])=>C("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...he(d.paper,d.paper2,150)},children:c(jo,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:d.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:C("div",{style:{...N,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[C("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>C("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:d.text,color:d.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,c("span",{style:{opacity:.6},children:"\u2715"})]},e)),c("span",{style:{fontSize:"3.65cqw",color:d.rust,fontWeight:700},children:"Clear"})]}),C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"128 results"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted,border:`1px solid ${d.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:C("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...he(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:d.onInk},children:"Will it fit your rig?"}),C("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>C("span",{style:{flex:1,fontSize:"3.65cqw",color:d.text,background:d.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",c("span",{style:{color:d.muted},children:"\u25BE"})]},e)),c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:d.warm,color:d.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:c(de,{title:"Tyres that suit",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Ridge Grappler","$489"],["Trail Grappler","$525"],["Terra Grappler","$438"]].map(([e,o])=>C("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:d.ink},children:c("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${d.mark2}`,boxSizing:"border-box"}})}),c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),c("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o})]},e))})}),tyresizes:c(de,{title:"Available sizes",children:c("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>c("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"5px 7px",borderRadius:3,border:`1px solid ${o===0?d.rust:d.rule}`,color:o===0?d.rust:d.text,background:o===0?d.paper:d.card},children:e},e))})}),tyrefitment:C(de,{title:"Will it fit your car?",children:[c("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>C("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:d.muted,background:d.paper,border:`1px solid ${d.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",c("span",{style:{color:d.muted},children:"\u25BE"})]},e))}),c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2,justifyContent:"center",minHeight:0},children:[["265/65R17","Fits",!0],["285/70R17","Not your size",!1]].map(([e,o,t])=>C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${d.rule}`,paddingTop:3},children:[c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?d.warm:d.muted},children:o})]},e))})]}),eutyrelabel:C("div",{style:{...N,background:d.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>C("div",{style:{display:"flex",alignItems:"center",gap:3},children:[c("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?d.rust:d.mark1}}),c("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?d.rust:d.muted},children:e})]},e))}),C("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[c("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.text},children:"72"}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:d.muted},children:"dB"})]})]}),bundleoffer:C("div",{style:{...N,background:d.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(Cs,{children:"Buy it with"}),C("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>c("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:d.card},children:c(jo,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.muted},children:"+"}),C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[c("span",{style:{fontSize:"3.65cqw",color:d.muted,textDecoration:"line-through"},children:"$1,024"}),c("b",{style:{fontSize:"6.02cqw",color:d.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:C("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...he(d.ink,d.ink2)},children:[C("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:d.warm,fontWeight:700},children:"READY TO ORDER"}),c("b",{style:{fontSize:"6.63cqw",color:d.onInk,lineHeight:1},children:"$1,956"}),c("span",{style:{fontSize:"3.65cqw",color:d.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"6px 10px",borderRadius:2,background:d.warm,color:d.ink,flex:"none"},children:"CHECKOUT"})]}),contact:c(de,{title:"Who do you need?",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Fitment help","the workshop"],["Order status","the front desk"],["Trade accounts","sales"]].map(([e,o])=>C("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),c("span",{style:{fontSize:"4.64cqw",color:d.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:c(de,{title:"Find us",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd","Mon\u2013Sat"],["Townsville","12 Enterprise","Mon\u2013Fri"]].map(([e,o,t])=>C("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o}),c("span",{style:{fontSize:"3.32cqw",color:d.rust,fontWeight:700},children:t})]},e))})}),form:c(de,{title:"Send us a message",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[C("div",{style:{display:"flex",gap:5},children:[c(Ss,{label:"Name"}),c(Ss,{label:"Email"})]}),c(Ss,{label:"Message",filled:!0}),c(ES,{children:"SEND"})]})}),appointmentbooking:c(de,{title:"Book a fitting",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",fontWeight:o===2?700:500,padding:"4px 0",borderRadius:3,background:o===2?d.text:d.paper,color:o===2?d.onInk:d.muted},children:e},e))}),c("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",padding:"4px 0",borderRadius:3,border:`1px solid ${o===1?d.rust:d.rule}`,color:o===1?d.rust:d.muted,background:o===3?d.paper:d.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:c(de,{title:"Leave a review",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(Md,{filled:4,size:14}),c(Ss,{label:"Your review",filled:!0}),c(ES,{children:"POST"})]})}),submitbuild:c(de,{title:"Show us your build",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${d.mark1}`,borderRadius:5,background:d.paper},children:[c("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.rust,fontWeight:300},children:"+"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"Drop a photo of your rig"})]})}),masthead:C("div",{style:{...N,background:d.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[c("span",{style:{height:1.5,background:d.text}}),c("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:d.text,lineHeight:1},children:"THE TRACK"}),C("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:d.muted},children:[c("span",{children:"Issue 14"}),c("span",{children:"Spring 2026"})]}),c("span",{style:{height:1,background:d.rule}})]}),featuredcover:C("div",{style:{...N,overflow:"hidden",...he(d.ink,d.inkSoft2)},children:[c(jo,{size:92,style:{right:-18,top:-14}}),c("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${d.scrim},transparent 62%)`}}),C("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.warm},children:"FEATURE"}),c("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:d.onInk},children:"Four days on the Madigan Line"})]})]}),longread:C("div",{style:{...N,background:d.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:d.rust},children:"12 MIN READ"}),c("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:d.text},children:"What breaks first, and why"}),c(Ne,{children:"Every failure starts in the same place \u2014 not the rim, not"}),c(Ne,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:c(de,{title:"Recurring columns",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Shed Notes","Monthly"],["Track Tested","Fortnightly"],["Reader Rigs","Weekly"]].map(([e,o])=>C("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:3,height:12,borderRadius:2,background:d.rust,flex:"none"}}),c("b",{style:{flex:1,fontSize:"4.64cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:o})]},e))})}),events:c(de,{title:"Latest posts",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[d.inkSoft,d.inkSoft2,"Madigan Line, four days"],[d.rust,d.warm,"Why offset beats width"]].map(([e,o,t])=>C("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...he(e,o,150)}}),C("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:t}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:C("div",{style:{...N,background:d.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.muted},children:"POLICY"}),c("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:d.text,lineHeight:1.1},children:"Returns & refunds"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),c("span",{style:{height:2,width:26,background:d.rust,borderRadius:1}})]}),docbody:c("div",{style:{...N,background:d.card,padding:"9px 13px",display:"flex",flexDirection:"column",gap:3,justifyContent:"center"},children:[["1.","You may return an unfitted wheel within 30 days."],["2.","Fitted wheels are covered by the structural warranty."],["3.","Freight on a change of mind is yours."]].map(([e,o])=>C("div",{style:{display:"flex",gap:5},children:[c("b",{style:{fontSize:"3.98cqw",color:d.rust,flex:"none"},children:e}),c(Ne,{children:o})]},e))}),docmetacards:c(de,{title:"At a glance",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["30 days","To return"],["5 years","Structural"],["Free","Fitting"],["48 hrs","Dispatch"]].map(([e,o])=>C("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"5.31cqw",color:d.text,lineHeight:1},children:e}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:o})]},o))})}),doctabs:C("div",{style:{...N,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"5px 8px",color:o===0?d.text:d.muted,background:o===0?d.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?d.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),c("span",{style:{height:1,background:d.rule}}),C("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[c(Ne,{children:"Unfitted wheels come back within 30 days, no questions."}),c(Ne,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:C("div",{style:{...N,background:d.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[c("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:d.text},children:"The right wheel is the boring one."}),C("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(Ne,{children:"Forged, correctly offset, rated for what you actually"}),c(Ne,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:c(de,{title:"Key features",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:["Flow-formed barrel","1250 kg per corner","Hub-centric fit"].map(e=>C("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{fontSize:"4.64cqw",color:d.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),c("span",{style:{fontSize:"4.31cqw",color:d.text},children:e})]},e))})}),statsparagraph:C("div",{style:{...N,background:d.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[C("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[c(Da,{n:"27k",label:"Rigs"}),c(Da,{n:"4.9",label:"Rating"})]}),C("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(Ne,{children:"Twelve years of fitting the same three questions, and the"}),c(Ne,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:C(de,{title:"Load vs weight",children:[c("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>c("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?d.rust:d.mark1}},o))}),c("span",{style:{height:1,background:d.rule,marginTop:-4}})]}),mockup:c("div",{style:{...N,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...he(d.inkSoft,d.ink)},children:C("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:d.card,boxShadow:`0 6px 14px ${d.scrim}`},children:[c("div",{style:{height:9,background:d.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>c("span",{style:{width:2.5,height:2.5,borderRadius:"50%",background:d.mark1}},e))}),C("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{height:4,width:"56%",borderRadius:1,background:d.mark2}}),c("span",{style:{height:14,borderRadius:2,...he(d.paper,d.paper2,150)}}),c("span",{style:{height:3,width:"38%",borderRadius:1,background:d.rust}})]})]})}),manifesto:c("div",{style:{...N,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...he(d.ink,d.ink2)},children:C("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:d.onInk},children:["We build for the ",c("span",{style:{color:d.warm},children:"last"})," ten percent of the track."]})}),timeline:c(de,{title:"Our story",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:6,paddingLeft:4},children:[["1998","One shed, one lathe."],["2009","First forged rim."],["2024","27,000 rigs on."]].map(([e,o],t)=>C("div",{style:{display:"flex",gap:7,alignItems:"flex-start",position:"relative"},children:[t<2&&c("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:d.rule}}),c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:d.rust,zIndex:1}}),C("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[c("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),c(Ne,{children:o})]})]},e))})}),timelinetrack:C("div",{style:{...N,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...he(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"Milestones"}),C("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[c("span",{style:{position:"absolute",left:0,right:0,top:3,height:1,background:d.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>C("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:3,position:"relative"},children:[c("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?d.warm:d.mark1}}),c("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?d.warm:d.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:C("div",{style:{...N,overflow:"hidden",...he(d.paper,d.paper2,150)},children:[c("span",{style:{position:"absolute",left:"8%",top:"18%",width:"62%",height:"64%",borderRadius:"48% 52% 40% 60% / 55% 45% 55% 45%",background:d.mark1,opacity:.75}}),c("span",{style:{position:"absolute",left:"52%",top:"52%",width:"34%",height:"34%",borderRadius:"58% 42% 55% 45% / 45% 58% 42% 55%",background:d.mark2,opacity:.55}}),[["26%","38%"],["44%","58%"],["62%","34%"]].map(([e,o])=>c("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:d.rust}},e)),c("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:d.text},children:"3 fitting bays"})]}),banner:C("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:d.rust},children:[C("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("b",{style:{fontSize:"6.02cqw",color:d.onInk},children:"End of season \xB7 20% off"}),c("span",{style:{fontSize:"3.98cqw",color:d.onInk,opacity:.8},children:"Fitted free, this month only."})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.onInk,color:d.text,flex:"none"},children:"SHOP"})]}),titlewithbuttons:C("div",{style:{...N,background:d.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[c("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:d.text},children:"Not sure what fits?"}),C("div",{style:{display:"flex",gap:5},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.text,color:d.onInk},children:"FIND MY FIT"}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${d.text}`,color:d.text},children:"CALL US"})]})]}),ticker:c("div",{style:{...N,overflow:"hidden",background:d.ink,display:"flex",alignItems:"center"},children:c("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:d.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:C("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...he(d.ink,d.ink2)},children:[c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:d.muted},children:"Back online in"}),c("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>C("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&c("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:d.warm},children:":"}),C("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[c("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:d.onInk,fontVariantNumeric:"tabular-nums"},children:e}),c("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:d.onInk},children:o})]})]},o))})]}),breadcrumb:c("div",{style:{...N,background:d.card,display:"flex",alignItems:"center",padding:"0 13px"},children:C("span",{style:{fontSize:"4.64cqw",color:d.muted},children:["Home ",c("span",{style:{opacity:.5},children:"/"})," Wheels ",c("span",{style:{opacity:.5},children:"/"})," ",c("span",{style:{color:d.text,fontWeight:700},children:"20 inch"})]})}),categorybar:C("div",{style:{...N,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"4px 7px",borderRadius:99,background:o===0?d.text:d.paper,color:o===0?d.onInk:d.muted},children:e},e))}),c("span",{style:{height:1,background:d.rule}})]}),intro:C("div",{style:{...N,overflow:"hidden",background:d.card},children:[c("div",{style:{position:"absolute",inset:0,...he(d.ink,d.inkSoft2)}}),c(jo,{size:64,style:{right:8,top:6}}),C("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:d.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${d.scrim}`},children:[c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.text},children:"Since 1998"}),c(Ne,{children:"One shed, one lathe, one idea."}),c(Ne,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:c(de,{title:"From our customers",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[d.rust,d.warm],[d.inkSoft,d.ink],[d.paper2,d.mark2],[d.ink,d.inkSoft2],[d.warm,d.paper2],[d.mark2,d.inkSoft]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...he(e,o,140+t*22)}},t))})}),gallery:C(de,{title:"Gallery",children:[c("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,color:o===0?d.text:d.muted,borderBottom:`1.5px solid ${o===0?d.rust:"transparent"}`,paddingBottom:2},children:e},e))}),c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[d.rust,d.warm],[d.ink,d.inkSoft],[d.paper2,d.mark2]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...he(e,o,150+t*20)}},t))})]}),ordersummary:C(de,{title:"Order summary",children:[C("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[c("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...he(d.paper,d.paper2,150)},children:c(jo,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),C("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),C("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(qo,{k:"Subtotal",v:"$1,956"}),c(qo,{k:"Fitting",v:"Free"}),C("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[c("b",{style:{color:d.text},children:"Total"}),c("b",{style:{color:d.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:c(de,{title:"Delivery",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Standard","3\u20135 days","Free",!0],["Express","Next day","$19",!1]].map(([e,o,t,r])=>C("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${r?d.rust:d.rule}`,background:r?d.paper:d.card},children:[c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${r?d.rust:d.mark1}`,background:r?d.rust:"transparent"}}),c("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:d.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:d.text},children:t})]},e))})}),paymentbadges:C("div",{style:{...N,background:d.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[c(Cs,{children:"Ways to pay"}),c("div",{style:{display:"flex",gap:5},children:[["VISA",d.ink],["MC",d.rust],["AMEX",d.inkSoft],["PayPal",d.ink2]].map(([e,o])=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:d.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:C("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...he(d.ink,d.ink2)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"By the numbers"}),C("div",{style:{display:"flex",gap:8},children:[c(Da,{n:"27k",label:"Rigs fitted",tone:d.onInk}),c(Da,{n:"12",label:"Years",tone:d.onInk}),c(Da,{n:"4.9",label:"Avg rating",tone:d.warm})]})]}),testimonials:C("div",{style:{...N,overflow:"hidden",background:d.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[c("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:d.rust,opacity:.16},children:"\u201D"}),c(Md,{filled:5,size:7}),c("span",{style:{position:"relative",fontSize:"5.31cqw",lineHeight:1.35,color:d.text,fontWeight:600},children:"\u201CTook them out to the Simpson and back. Not one chip.\u201D"}),C("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c(FS,{}),c("span",{style:{fontSize:"3.98cqw",color:d.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:C(de,{title:"Reviews",children:[c("div",{style:{display:"flex",gap:4,height:22},children:[[d.inkSoft,d.inkSoft2],[d.rust,d.warm],[d.ink,d.inkSoft],[d.mark2,d.mark1]].map(([e,o],t)=>c("div",{style:{flex:1,borderRadius:3,...he(e,o,140+t*15)}},t))}),c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Dave M.",5,"Not one chip after the Simpson."],["Sara K.",4,"Fitted in an hour, no fuss."]].map(([e,o,t])=>C("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[c(FS,{size:12}),C("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[C("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[c("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),c(Md,{filled:o})]}),c(Ne,{children:t})]})]},e))})]}),logos:C("div",{style:{...N,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...he(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"As fitted by"}),c("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>c("span",{style:{textAlign:"center",fontSize:"4.31cqw",fontWeight:800,letterSpacing:"0.08em",color:d.onInk,opacity:.82},children:e},e))})]}),prose:C("div",{style:{...N,background:d.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:d.text},children:"Why offset matters"}),C("div",{style:{display:"flex",gap:6},children:[c("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:d.rust,marginTop:1},children:"T"}),C("div",{style:{display:"flex",flexDirection:"column"},children:[c(Ne,{children:"he number on the back of your wheel decides whether the"}),c(Ne,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:c(de,{title:"What you get",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Fitted free","In store, same day."],["5 yr cover","Structural, no fine print."],["Swap it","30 days, any reason."]].map(([e,o])=>C("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:3,background:d.rust,opacity:.9}}),c("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),c(Ne,{children:o})]},e))})}),faq:c(de,{title:"Questions",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[["Will these fit my Hilux?",!0],["Do you fit them for me?",!1],["What if I pick wrong?",!1]].map(([e,o])=>C("div",{style:{borderBottom:`1px solid ${d.rule}`,padding:"4px 2px"},children:[C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"4.64cqw",color:d.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&c(Ne,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:C("div",{style:{...N,overflow:"hidden",...he(d.ink,d.ink2)},children:[c("div",{style:{...N,background:`linear-gradient(90deg,${d.scrim},transparent 70%)`}}),c("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:c(TS,{over:"NEW \xB7 SUMMER",overTone:d.warm,head:"Built for the worst road you own",cta:"SHOP ALL",ctaBg:d.warm,ctaFg:d.ink,tone:d.onInk})}),c(jo,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:C("div",{style:{...N,display:"flex",background:d.paper,overflow:"hidden"},children:[c("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:c(TS,{over:"ALL-TERRAIN",overTone:d.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:d.text,ctaFg:d.onInk,tone:d.text})}),c("div",{style:{flex:1,position:"relative",...he(d.inkSoft,d.inkSoft2)},children:c(jo,{size:74,style:{right:-14,top:16}})})]}),productgrid:c(de,{title:"Best sellers",children:C("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[c(Nd,{name:"Ridge 19",price:"$365"}),c(Nd,{name:"Ridge 29",price:"$410"}),c(Nd,{name:"Ridge 39",price:"$455"})]})}),collections:c(de,{title:"Shop by category",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",d.inkSoft,d.inkSoft2],["Tyres",d.rust,d.warm],["Lift kits",d.ink,d.inkSoft]].map(([e,o,t])=>c("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:d.onInk,...he(o,t)},children:c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:C("div",{style:{...N,display:"flex",background:d.card,overflow:"hidden"},children:[c("div",{style:{flex:1.1,position:"relative",...he(d.paper,d.paper2,150)},children:c(jo,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),C("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.rust},children:"NITTO"}),c("b",{style:{fontSize:"6.29cqw",color:d.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:d.text},children:"$489"}),c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:d.text,color:d.onInk},children:"ADD TO CART"})]})]}),spectable:c(de,{title:"Specifications",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(qo,{k:"Diameter",v:'20"'}),c(qo,{k:"Width",v:"9.0J"}),c(qo,{k:"Offset",v:"+12"}),c(qo,{k:"Load",v:"1250 kg"})]})}),fitmenttable:c(de,{title:"Will it fit?",children:C("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(qo,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),c(qo,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),c(qo,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:C("div",{style:{...N,background:d.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[c(Cs,{children:"How it works"}),c("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:"50%",background:d.text,color:d.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),c("span",{style:{fontSize:"3.98cqw",color:d.text,fontWeight:600},children:e})]},e))})]}),detailrows:c("div",{style:{...N,background:d.card,display:"flex",flexDirection:"column",overflow:"hidden"},children:[["Forged, not cast","Half the weight, twice the road.",!1],["Fits your load","Rated to 1250 kg a corner.",!0]].map(([e,o,t])=>{let r=c("div",{style:{flex:1,...he(t?d.rust:d.inkSoft,t?d.warm:d.inkSoft2)}},"art"),a=C("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[c("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:d.muted,lineHeight:1.3},children:o})]},"tx");return c("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[a,r]:[r,a]},e)})}),specstrip:c("div",{style:{...N,background:d.ink,color:d.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>C("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[c("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},PS={subscribe:C("div",{style:{...N,padding:13,display:"flex",flexDirection:"column"},children:[C("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[C("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c(A,{w:8,h:8,r:2,tone:"accent"}),c(A,{w:38,h:7,r:3,tone:"dark"}),c(A,{w:16,h:7,r:3,tone:"accent"})]}),c(A,{w:38,h:4,r:2,tone:"soft"})]}),c("div",{style:{height:1,background:Le.line,marginBottom:10}}),C("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${Le.line}`,borderRadius:7,padding:10},children:[C("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[c(A,{w:"46%",h:3,r:2,tone:"accent"}),c(A,{w:"84%",h:8,r:4,tone:"dark"}),c(A,{w:"56%",h:8,r:4,tone:"accent"}),c(A,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),C("div",{style:{display:"flex",gap:5,marginTop:4},children:[c("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${Le.line}`,background:Le.block}}),c(A,{w:34,h:13,r:5,tone:"accent"})]})]}),C("div",{style:{flex:1,background:Le.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[c(A,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${Le.line}`:"none",paddingTop:o?4:0},children:[c(A,{w:34,h:4,r:2,tone:"dark"}),c(A,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:C("div",{style:{...N,display:"flex"},children:[c("div",{style:{width:"44%",background:Dd}}),C("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(A,{w:"44%",h:5,r:3,tone:"accent"}),c(A,{w:"88%",h:8,r:4,tone:"dark"}),c(A,{w:"70%",h:8,r:4,tone:"dark"}),c(A,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),c(A,{w:"80%",h:5,r:2,tone:"soft"}),c(A,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:C(LS,{children:[c(A,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),C("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[C("div",{style:{display:"flex",alignItems:"center",gap:9},children:[c(A,{w:16,h:16,r:4,tone:"accent"}),c(A,{w:"20%",h:9,r:4,tone:"dark"})]}),c(A,{w:"62%",h:10,r:5,tone:"dark"}),c(A,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:c("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:C("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[c(A,{w:"22%",h:12,r:4,tone:"dark"}),C("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[c(A,{w:26,h:6,r:3,tone:"soft"}),c(A,{w:26,h:6,r:3,tone:"soft"}),c(A,{w:26,h:6,r:3,tone:"soft"}),c(A,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:C("div",{style:{...N,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[C("div",{style:{display:"flex",gap:14},children:[C("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[c(A,{w:"60%",h:9,r:4,tone:"dark"}),c(A,{w:"90%",h:5,r:2,tone:"soft"}),c(A,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>C("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[c(A,{w:"50%",h:6,r:3,tone:"dark"}),c(A,{w:"80%",h:5,r:2,tone:"soft"}),c(A,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),c("div",{style:{height:1,background:Le.line}}),C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(A,{w:"30%",h:5,r:2,tone:"soft"}),c(A,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:c("div",{style:{...N,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>c("div",{style:{borderRadius:6,background:Le.block}},o))}),blanksection:c("div",{style:{...N,padding:14,display:"flex"},children:C("div",{style:{flex:1,border:`1px dashed ${Le.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[c(A,{w:14,h:2,r:1,tone:"tint"}),c(A,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:C("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[c(A,{w:"100%",h:6,r:3,tone:"soft"}),c(A,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),c(A,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:c("div",{style:{...N,padding:14,display:"flex",alignItems:"center"},children:c(A,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:C("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:Dd},children:[c(A,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),c(A,{w:16,h:10,r:3,tone:"accent"}),c(A,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:c("div",{style:{...N,padding:14,display:"flex",alignItems:"center"},children:c(A,{w:"64%",h:13,r:4,tone:"dark"})}),text:C("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(A,{w:"100%",h:6,r:3,tone:"soft"}),c(A,{w:"96%",h:6,r:3,tone:"soft"}),c(A,{w:"100%",h:6,r:3,tone:"soft"}),c(A,{w:"58%",h:6,r:3,tone:"soft"})]}),image:c("div",{style:{position:"absolute",inset:14,borderRadius:7,background:Dd}}),button:c("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center"},children:c(A,{w:"34%",h:16,r:8,tone:"accent"})}),menu:C("div",{style:{...N,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(A,{w:"48%",h:7,r:3,tone:"dark"}),c(A,{w:"82%",h:5,r:2,tone:"soft"}),c(A,{w:"66%",h:5,r:2,tone:"soft"}),c(A,{w:"74%",h:5,r:2,tone:"soft"}),c(A,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:C("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c(A,{w:"56%",h:8,r:3,tone:"dark"}),C("div",{style:{display:"flex",gap:6},children:[c("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${Le.line}`}}),c(A,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:c("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>c(A,{w:16,h:16,r:8,tone:"dark"},e))}),search:c("div",{style:{...N,padding:"0 18%",display:"flex",alignItems:"center"},children:C("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${Le.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[c("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${Le.dark}`}}),c(A,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:C("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[c("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${Le.dark}`}}),c("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${Le.dark}`},children:c(A,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:C("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[C("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${Le.line}`},children:[c(A,{w:22,h:6,r:2,tone:"dark"}),c(A,{w:6,h:4,r:1,tone:"soft"})]}),C("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${Le.line}`},children:[c(A,{w:"80%",h:4,r:2,tone:"accent"}),c(A,{w:"64%",h:4,r:2,tone:"soft"}),c(A,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:C("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c("div",{style:{height:1,background:Le.line}}),C("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(A,{w:"38%",h:5,r:2,tone:"soft"}),C("div",{style:{display:"flex",gap:5},children:[c(A,{w:14,h:5,r:2,tone:"soft"}),c(A,{w:14,h:5,r:2,tone:"soft"}),c(A,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:c("div",{style:{position:"absolute",inset:14,borderRadius:8,background:Le.block}})};function RS({type:e}){let o=qM[e]??"",t=jM[o]??PS[o]??PS.fallback;return c("div",{className:"sf-thumb","aria-hidden":"true",style:{position:"absolute",inset:0,background:"var(--sf-thumb-thumb-bg)",pointerEvents:"none",containerType:"inline-size"},children:t})}import{useScreenDocument as xu}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as wr,jsxs as KM}from"react/jsx-runtime";import VM from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as YM}from"efficient-easel/rail";import{Tooltip as XM}from"efficient-shell/ui";function OS({tokenRef:e,siteId:o,onClose:t,onNotify:r,tab:a,onTabChange:n}){let s=ir();return KM("div",{className:"sf-styles",children:[wr(VM,{icon:wr(YM,{}),title:l("Site styles"),context:wr(XM,{content:l("{name} \u2014 renamed in the Console: {place}.",{name:s,place:l("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:wr("span",{className:"sf-name-text",children:s})}),onHide:t}),wr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:wr(vl,{tokenRef:e,siteId:o,onNotify:r,tab:a,onTabChange:n})})]})}import{jsx as Re,jsxs as Dt,Fragment as t2}from"react/jsx-runtime";import{Fragment as KS,useEffect as VS,useRef as $d}from"react";import{useTreeDrag as YS}from"efficient-easel/drag";import{GlobeIcon as r2,ImageIcon as a2,LocationIcon as n2,MapIcon as l2,TextLinesIcon as s2,TrashIcon as XS}from"efficient-easel/icons";import{Subtree as ZS,TreeRow as Ma,TreeRowAction as QS,TreeSeam as JS}from"efficient-easel/tree";import{useEaselStrings as i2}from"efficient-easel/strings";import{createPreviewSelectionContext as ZM}from"efficient-easel/draw/client";var{Provider:koe,useSelection:AS}=ZM("selectedLocationPartId");function BS(e,o,t){return`${e}::${o}::${t}`}function _S(e){if(!e)return null;let o=e.split("::");if(o.length<3)return null;let t=o[o.length-1];if(t!=="image"&&t!=="map")return null;let r=Number(o[o.length-2]);if(!Number.isInteger(r)||r<0)return null;let a=o.slice(0,-2).join("::");return a?{nodeId:a,index:r,part:t}:null}import{useSyncExternalStore as QM}from"react";var JM={level:"groups"},NS=JM,Hd=new Set;function ho(e){NS=e;for(let o of Hd)o()}function e2(e){return Hd.add(e),()=>{Hd.delete(e)}}var DS=()=>NS;function MS(){return QM(e2,DS,DS)}function HS(e,o,t){let r=[];return e.forEach((a,n)=>{let s=o(a),i=r.find(f=>f.key===s);i||(i={key:s,name:t(a),items:[]},r.push(i)),i.items.push({item:a,index:n})}),r}function Poe(e){if(e<=1)return"grid-cols-1";if(e===2)return"grid-cols-2";if(e===3)return"grid-cols-3";if(e===4)return"grid-cols-4";let o=t=>e%t||t;return o(4)>=o(3)?"grid-cols-4":"grid-cols-3"}var Na=e=>String(e?.group??""),Wd=new WeakMap,o2=0;function vs(e){let o=Wd.get(e);return o||(o=`loc${++o2}`,Wd.set(e,o)),o}var WS=(e,o)=>o||e||"Ungrouped",zS={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
17
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function _t(e){return HS(e,Na,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var zd=e=>e.flatMap(o=>o.cards),GS=(e,o,t)=>Math.min(Math.max(e,o),t);function ws(e,o,t){let r=0;for(let a=0;a<e.length;a++)if(Na(e[a])===o){if(r===t)return a;r++}return-1}function Gd(e,o,t){let r=_t(e);if(o<0||o>=r.length)return e;let[a]=r.splice(o,1),n=GS(o<t?t-1:t,0,r.length);return r.splice(n,0,a),zd(r)}function Ud(e,o,t,r,a){let n=_t(e),s=n.find(m=>m.key===o),i=n.find(m=>m.key===r);if(!s||!i||t<0||t>=s.cards.length)return e;let[f]=s.cards.splice(t,1),u=o===r?f:{...f,group:i.key,groupName:i.name};u!==f&&Wd.set(u,vs(f));let p=GS(s===i&&t<a?a-1:a,0,i.cards.length);return i.cards.splice(p,0,u),zd(n)}function US(e,o){let t=_t(e),r=t.find(n=>n.key===o),a={...zS,group:o,groupName:r?.name??""};return r?(r.cards.push(a),zd(t)):[...e,a]}function $S(e){let o=new Set(_t(e).map(a=>a.key)),t=o.size+1,r=`Group ${t}`;for(;o.has(r);)r=`Group ${++t}`;return{cards:[...e,{...zS,group:r,groupName:""}],key:r}}function qS(e,o){return e.filter(t=>Na(t)!==o)}function jS(e,o,t){let r=ws(e,o,t);return r<0?e:e.filter((a,n)=>n!==r)}function Ooe(e,o,t){let r=e.flatMap((s,i)=>Na(s)===o?[i]:[]),a=e.slice();r.forEach((s,i)=>{a[s]=t[i]});let n=t.slice(r.length);return[...a.filter(s=>s!==void 0),...n]}function Aoe(e,o,t){return o.flatMap(r=>{let a=e.filter(n=>Na(n)===r);return a.length?a:t(r)})}var Ts="ContactLocations",ks=e=>({parentId:`locations-${e}`,slot:"groups"}),qd=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function eC(e,o){let{readOnly:t,selected:r}=o,a=i2().tree,n=o.data?.content??[],s=e.kind===SS.kind,i=$d(null);VS(()=>{let g=r?.type===Ts?String(r.props.id):null;g&&g!==i.current&&ho({level:"groups"}),i.current=g},[r?.props.id]);let{selectedLocationPartId:f,setSelectedLocationPartId:u,setSelectHandler:p}=AS(),m=MS(),x=(g,y)=>{let L=n[g];L&&o.replace(g,{type:L.type,props:{...L.props,locations:y}})},I=g=>{let y=n[g]?.props?.locations;return Array.isArray(y)?y:[]},b=YS({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===ks(g.si).parentId&&y.slot==="groups",onDrop:(g,y)=>{x(g.si,Gd(I(g.si),g.index,y.index)),m.level==="city"&&ho({level:"groups"})},onStep:(g,y)=>{x(g.si,Gd(I(g.si),g.index,y<0?g.index-1:g.index+2)),m.level==="city"&&ho({level:"groups"})}}),S=YS({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===ks(g.si).parentId&&y.slot.startsWith("cities:"),onDrop:(g,y)=>{let L=y.slot.slice(7);x(g.si,Ud(I(g.si),g.group,g.index,L,y.index)),ho({level:"group",key:L})},onStep:(g,y)=>{x(g.si,Ud(I(g.si),g.group,g.index,g.group,y<0?g.index-1:g.index+2)),m.level==="city"&&ho({level:"group",key:g.group})}}),w=$d(n);w.current=n;let E=$d(()=>{});VS(()=>{p(g=>{let y=_S(g);if(!y)return;let L=w.current.findIndex(F=>F.props?.id===y.nodeId);L<0||E.current(L,{level:y.part,index:y.index})})},[p]);let v=(g,y)=>{i.current=n[g]?.props?.id??null,o.select(g),ho(y),e.reveal();let L=n[g]?.props?.id;typeof L=="string"&&(y.level==="image"||y.level==="map")?u(BS(L,y.index,y.level)):u(null),typeof L=="string"&&o.scrollTo(L)};return E.current=v,{renderLocationTree:(g,y,{rowClick:L,isCollapsed:F,toggleCollapse:R})=>{let T=I(y),D=_t(T),G=String(g.props.id),B=s&&r?.props.id===G,O=_=>Re(JS,{...t?{}:b.seam({place:{...ks(y),index:_}})},`seam:${G}:groups:${_}`),H=(_,ae)=>Re(JS,{...t?{}:S.seam({place:{...qd(y,_),index:ae}})},`seam:${G}:cities:${_}:${ae}`);return Dt(t2,{children:[Re(Ma,{icon:Re(s2,{size:13}),name:l("Texts"),words:a,onSelect:()=>v(y,{level:"texts"}),selected:B&&m.level==="texts",rowProps:{onClick:L(()=>v(y,{level:"texts"}))}}),D.map((_,ae)=>{let se=`${G}::grp::${_.key}`,Ie=F(se),ro=B&&m.level==="group"&&m.key===_.key,Ye=_.name||_.key?WS(_.key,_.name):l("Ungrouped"),Fe={...qd(y,_.key),index:_.cards.length},ao=S.row({item:{si:y,group:_.key,index:-1},place:Fe,into:Fe,canDrag:!1},{onClick:L(()=>v(y,{level:"group",key:_.key}))}),Me=b.row({item:{si:y,index:ae},place:{...ks(y),index:ae}},ao.rowProps);return Dt(KS,{children:[ae===0&&O(0),Re(Ma,{icon:Re(r2,{size:13}),name:Ye,words:a,onSelect:()=>v(y,{level:"group",key:_.key}),selected:ro,draggable:Me.draggable,dragging:Me.dragging,drop:Me.drop??ao.drop,fold:{open:!Ie,label:l("group"),onToggle:()=>R(se)},actions:Re(QS,{kind:"delete",label:so("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",_.cards.length,{label:Ye}),onClick:()=>{x(y,qS(T,_.key)),ho({level:"groups"})},children:Re(XS,{size:15})}),rowProps:Me.rowProps,children:Re("span",{className:"es-group-count",children:_.cards.length})}),!Ie&&Dt(ZS,{children:[_.cards.map((Oe,ye)=>{let Ce=ws(T,_.key,ye),Xe=B&&m.level==="city"&&m.index===Ce,He=String(Oe?.name??"")||l("City"),Ze=`${G}::city::${vs(Oe)}`,Ae=F(Ze),{rowProps:P,...ee}=S.row({item:{si:y,group:_.key,index:ye},place:{...qd(y,_.key),index:ye}},{onClick:L(()=>v(y,{level:"city",index:Ce}))});return Dt(KS,{children:[ye===0&&H(_.key,0),Re(Ma,{icon:Re(n2,{size:13}),name:He,words:a,onSelect:()=>v(y,{level:"city",index:Ce}),selected:Xe,...ee,fold:{open:!Ae,label:He,onToggle:()=>R(Ze)},actions:Re(QS,{kind:"delete",label:l("Delete {name}",{name:He}),onClick:()=>{x(y,jS(T,_.key,ye)),ho({level:"group",key:_.key})},children:Re(XS,{size:15})}),rowProps:P}),!Ae&&Dt(ZS,{children:[Re(Ma,{icon:Re(a2,{size:13}),name:l("Image"),words:a,onSelect:()=>v(y,{level:"image",index:Ce}),selected:B&&m.level==="image"&&m.index===Ce,rowProps:{onClick:L(()=>v(y,{level:"image",index:Ce}))}}),Re(Ma,{icon:Re(l2,{size:13}),name:l("Map"),words:a,onSelect:()=>v(y,{level:"map",index:Ce}),selected:B&&m.level==="map"&&m.index===Ce,rowProps:{onClick:L(()=>v(y,{level:"map",index:Ce}))}})]}),H(_.key,ye+1)]},vs(Oe))}),Dt("button",{type:"button",className:"sf-add-card",onClick:()=>{let Oe=US(T,_.key);x(y,Oe);let ye=_t(Oe).find(Ce=>Ce.key===_.key);ho(ye&&ye.cards.length?{level:"city",index:ws(Oe,_.key,ye.cards.length-1)}:{level:"group",key:_.key})},children:[Re("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add city")]})]}),O(ae+1)]},se)}),Dt("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:_,key:ae}=$S(T);x(y,_),v(y,{level:"group",key:ae})},children:[Re("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add group")]})]})},sectionPressed:g=>{g?.type===Ts&&ho({level:"groups"})}}}import{useEffect as f2,useRef as c2}from"react";import{createNode as jd,newId as Kd}from"efficient-easel/data";import{useEaselApi as d2}from"efficient-easel/easel";import{useScreenDocument as u2}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as p2}from"efficient-easel/screen/lib/session-context";import{ROOT_ZONE as kr,missingPinnedTypes as m2,pinnedDuplicateIds as Vd}from"efficient-easel/draw";function oC(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function tC(e,o){let t=e.some(i=>i?.type===ue),r=e[e.length-1],a=!t&&r?.type===me?r:null,n=e.filter(i=>i?.type===me&&i!==a).map(i=>String(i.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!a;return{remove:n,seedHeader:!e.some(i=>i?.type===Ve),seedFooter:s,seedSiteHeader:s&&!e.some(i=>i?.type===xe)}}async function rC(e){let o=e.blocks?.seeds?.siteHeader;if(!o)return!1;let t;try{t=await o({make:e.make,id:e.id,siteId:e.siteId,token:e.token})}catch{return!1}if(!t||t.type!==xe||!e.stillOpen())return!1;let r=e.latest();return r.some(a=>a?.type===xe)?!1:(e.write(ps(r,t)),!0)}function aC(e,o){let{adapter:t,capabilities:r,currentSlug:a,docId:n,data:s,saveStatus:i,siteId:f,tokenRef:u}=u2(),p=p2(),{hasSiteSettings:m,hasPinnedChrome:x}=r,I=!!r.editsPinnedInPlace&&a!==$t,b=a===$t,S=d2().getState,w=c2(null);f2(()=>{if(!oC({docId:n,saveStatus:i,seededDocId:w.current})||(w.current=n,!x))return;let E=S().appState.data,v=E.content,g=s?.content??[],y=(T,D)=>T.some(G=>G?.type===D);if(!m){let T=new Set(Vd(v)),D=T.size?v.filter(B=>!T.has(B.props.id)):v;if(T.size&&e.setDocument({...E,content:D}),b)return;let G=m2(D,g);if(G.includes(me)){let B=D.length,O=e.insertSection(me,B);e.replaceComponent(kr,B,{type:me,props:{id:O,blocks:us()}})}G.includes(Ve)&&e.insertNode(kr,0,ds());return}if(b){let T=Cr(v);if(T!==v&&e.setDocument({...E,content:[...T]}),!T.find(D=>D.type===me)&&!y(g,me)&&!y(T,ue)&&!y(g,ue)){let D=(B,O)=>jd(o,B,O),G={type:me,props:{blocks:us()}};e.insertNode(kr,T.length,Ra(G,D,Kd(ue)))}return}if(I){let T=!!t?.pinnedChrome?.state().docId,D=tC(v,{hasChromeDoc:T}),G=new Set([...D.remove,...Vd(v.filter(O=>!D.remove.includes(String(O.props.id))))]),B=G.size?v.filter(O=>!G.has(String(O.props.id))):v;if(B.length!==v.length&&e.setDocument({...E,content:B}),D.seedFooter&&!y(g,me)&&!y(g,ue)){let O=(_,ae)=>jd(o,_,ae),H={type:me,props:{blocks:us()}};e.insertNode(kr,B.length,Ra(H,O,Kd(ue)))}if(D.seedHeader&&!y(g,Ve)){let O=B[0]?.type===xe?1:0;e.insertNode(kr,O,ds())}if(D.seedSiteHeader&&!y(g,xe)&&!y(g,me)&&!y(g,ue)){let O=n;rC({blocks:Cn(p),make:(H,_)=>jd(o,H,_),id:Kd(xe),siteId:f??null,token:u.current,latest:()=>S().appState.data.content,stillOpen:()=>w.current===O,write:H=>{let _=S().appState.data;e.setDocument({..._,content:[...H]})}})}return}let L=v.filter(T=>T.type!==me),F=new Set(Vd(L)),R=F.size?L.filter(T=>!F.has(T.props.id)):L;R.length!==v.length&&e.setDocument({...E,content:R}),!y(R,Ve)&&!y(g,Ve)&&e.insertNode(kr,0,ds())},[n,i,s,S,e,m,x,b,I,t,p,f,u])}import{useEffect as sC,useState as iC}from"react";var Fs=new Map;async function x2(e,o){try{return(await We().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function nC(e,o){let t=Fs.get(o);return t||(t=x2(e,o),Fs.set(o,t),t.catch(()=>{Fs.get(o)===t&&Fs.delete(o)})),t}var I2=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function Yd(e){return!!e&&I2.test(e)}function lC(e){let{pageSlug:o,siteSlug:t,hostname:r}=e,a=o===En?"/":`/${encodeURIComponent(o)}`;if(!Yd(r))return a;let n=t?.trim();return n?`${a}?site=${encodeURIComponent(n)}`:a}function fC(e){let{pageSlug:o,siteId:t,token:r}=e,[a,n]=iC(null),[s,i]=iC(null),f=Uu();sC(()=>i(f?new URL(f).hostname:window.location.hostname),[f]),sC(()=>{if(!Yd(s)||!t||!r){n(null);return}let p=!1;return nC(r,t).then(m=>{p||n(m)}),()=>{p=!0}},[s,t,r]);let u=lC({pageSlug:o,siteSlug:a,hostname:s});return f?`${f}${u}`:u}import{jsx as Ha,jsxs as h2}from"react/jsx-runtime";import{ExternalIcon as cC}from"efficient-easel/icons";import{Button as g2,Tooltip as dC,buttonClasses as b2}from"efficient-shell/ui";function y2({pageId:e,liveHref:o,draftLink:t,win:r=window}){let a=r.open("","_blank");if(a)try{a.opener=null}catch{}let n=s=>{a&&!a.closed?a.location.href=s:r.open(s,"_blank","noopener,noreferrer")};return t(e).then(s=>n(s.url??o),()=>n(o))}function uC({liveHref:e,pageId:o,draftLink:t}){return t&&o?Ha(dC,{content:l("Open your saved draft in a new tab. Visitors don't see it."),children:Ha(g2,{variant:"secondary",onClick:()=>{y2({pageId:o,liveHref:e,draftLink:t})},rightIcon:Ha(cC,{size:15}),"aria-label":l("Preview your saved draft in a new tab"),children:l("Preview")})}):Ha(dC,{content:l("Preview the live site (opens in a new tab)"),children:h2("a",{className:b2({variant:"secondary"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":l("Preview the live site in a new tab"),children:[l("Preview"),Ha(cC,{size:15})]})})}import{createElement as F2,useCallback as E2,useEffect as OC,useRef as AC,useState as P2}from"react";import{ClockIcon as L2}from"efficient-shell/icons/efficient";import{useScreenDocument as R2}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as S2}from"react";import{useScreenDocument as C2}from"efficient-easel/screen/components/ScreenDocumentContext";var v2=()=>()=>{},pC=()=>null;function Es(e){return S2(e?e.subscribe:v2,e?e.state:pC,e?e.state:pC)}function Ps(){let{adapter:e}=C2();return e?.pinnedChrome}import{useSyncExternalStore as IC}from"react";var Wa=!1,Tr=null,Xd=new Set;function Ga(){for(let e of Xd)e()}function hC(e){return Xd.add(e),()=>{Xd.delete(e)}}function gC(){Wa||(Wa=!0,Ga())}function bC(){Wa&&(Wa=!1,Ga())}function mC(){return Wa}function yC(){return IC(hC,mC,mC)}function xC(){return Tr}function Ls(){Tr&&(Tr=null,Ga())}function SC(){return IC(hC,xC,xC)}var za=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function CC(e,o,t,{flushSave:r,reload:a}){if(!await r())throw new za;let n=await e.restore(o,t);return ym(n.liveState),a(),n}async function vC({access:e,version:o,page:t,...r}){let a=await CC(e,o.id,t?{page:t.id}:{},r);Tr={title:w2(o,t??null),undo:a.undo},Ga()}async function wC({access:e,...o}){let t=Tr?.undo;t&&(await CC(e,t,{},o),Tr=null,Ga())}function kC(e){return e.name?e.name:e.kind==="draft_before_restore"?l("Draft before restore"):l("Version {n}",{n:e.number})}function w2(e,o){return e.kind==="draft_before_restore"?l("Your drafts from before the restore are back"):o?l("{page} from version {n} is now your draft",{page:o.name,n:e.number}):l("Version {n} is now your draft",{n:e.number})}function TC(e){let o=e.changes.filter(r=>r.kind==="page").length,t=[...o?[so("{n} page","{n} pages",o)]:[],...e.changes.filter(r=>r.kind!=="page").map(r=>r.name)];if(!t.length)return"";try{return new Intl.ListFormat(Ys(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function FC(e){return e.change==="take_down"?l("{name} (taken down)",{name:e.name}):e.name}function EC(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=Ys(),a=new Intl.DateTimeFormat(r,{hour:"numeric",minute:"2-digit"}).format(t);if(t.toDateString()===o.toDateString())return l("Today, {time}",{time:a});let n=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",...t.getFullYear()===o.getFullYear()?{}:{year:"numeric"}}).format(t);return l("{day}, {time}",{day:n,time:a})}import{useSyncExternalStore as k2}from"react";var Fr=new Map,Zd=new Set;function Qd(e,o){if(!(Fr.has(e)&&Fr.get(e)===o)){Fr.set(e,o);for(let t of Zd)t()}}function Mte(e,o){Qd(e,o)}function Hte(e,o){let t=Fr.get(e);Qd(e,o??(t==="live"?"changed":t))}function Wte(e,o){Qd(e,o??"live")}function zte(e){return Fr.get(e)}function T2(e){return Zd.add(e),()=>{Zd.delete(e)}}function PC(e){let o=()=>e?Fr.get(e):void 0;return k2(T2,o,o)}function LC(e,o){return e==="live"&&o?"changed":e}function Jd({live:e,onPress:o,busy:t=!1,pinnedUnpublished:r=!1,goingLive:a}){let n=e==="live"&&!r,s=e==="changed"?l("Changes not live yet"):e==="never"?l("Never published"):r?l("Header and footer not live yet"):e==="live"?l("Everything is live"):null;return{label:l("Publish"),tooltip:e==="never"?l("Put this page on your site"):l("Put your changes on your site"),status:s,quiet:n?{label:l("Published"),reason:l("Everything is live")}:null,...a&&a.length?{goingLive:a}:{},onPress:o,busy:t}}function RC(e){return e.map(o=>o.change==="take_down"?l("{name} (taken down)",{name:o.name}):o.name)}function BC(e){let{docId:o,capabilities:t,hasUnsavedEdits:r,onPublish:a,adapter:n}=R2(),s=LC(PC(o??null),r),i=Es(Ps()),f=n.siteLiveState;OC(()=>{if(f)return Mi(f),kn(0),()=>Mi(null)},[f]);let u=Tn(),[p,m]=P2(!1),x=AC(e);x.current=e;let I=AC(!0);OC(()=>(I.current=!0,()=>{I.current=!1}),[]);let b=E2(()=>{m(!0),a(x.current).then(()=>{Ls()}).finally(()=>{I.current&&m(!1)})},[a]);if(t.canPublish){if(f){let S=u===void 0?void 0:r||u.state==="changed"?"changed":"live",w=Jd({live:S,onPress:b,busy:p,goingLive:RC(u?.changes??[])});return n.siteVersions?{...w,menuItems:O2()}:w}return Jd({live:s,onPress:b,busy:p,pinnedUnpublished:i?.unpublished??!1})}}function O2(){return[{key:"version-history",label:l("Version history"),icon:F2(L2),onSelect:gC}]}import{jsx as W,jsxs as to,Fragment as qa}from"react/jsx-runtime";import{useCallback as A2,useEffect as B2,useId as NC,useRef as _2,useState as fo}from"react";import{Avatar as D2,Banner as Ua,Button as Nt,ColoredBadge as eu,Dialog as MC,Drawer as N2,DropdownMenu as M2,FormField as HC,iconButtonClasses as H2,Inline as ou,Input as W2,ListRow as z2,Select as G2,SortableList as U2,Stack as $a}from"efficient-shell/ui";import{EditIcon as $2,EyeIcon as _C,MenuIcon as q2,MoreIcon as j2,PageIcon as WC,RevertIcon as DC,StylesIcon as K2}from"efficient-shell/icons/efficient";import{useScreenDocument as zC}from"efficient-easel/screen/components/ScreenDocumentContext";var V2={page:WC,menu:q2};function Y2(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function X2(e,o){let t=window.open("","_blank");if(t)try{t.opener=null}catch{}return e.preview(o).then(({url:r})=>{t&&!t.closed?t.location.href=r:window.open(r,"_blank","noopener,noreferrer")},r=>{throw t?.close(),r})}function Z2({version:e,page:o,waiting:t,busy:r,error:a,onCancel:n,onConfirm:s,onPage:i}){let f=NC();if(!e)return null;let u=e.kind==="draft_before_restore",p=e.number,m=TC(e),x=u?l("Put your drafts back?"):o?l("Restore {page} from version {n}?",{page:o.name,n:p}):l("Restore version {n}?",{n:p}),I=u?l("Your drafts go back to how they were before the restore."):o?l("{page} goes back to version {n} as a draft. Nothing else on your website changes.",{page:o.name,n:p}):m?l("The whole website goes back to version {n} as a draft: {what}.",{n:p,what:m}):l("The whole website goes back to version {n} as a draft.",{n:p}),b=e.deletedPictures??0;return W(MC,{open:!0,onClose:()=>{r||n()},size:"sm",title:x,footer:to(qa,{children:[W(Nt,{variant:"secondary",onClick:n,disabled:r,children:l("Cancel")}),W(Nt,{onClick:s,loading:r,disabled:r,children:l("Restore as draft")})]}),children:to($a,{gap:4,children:[o&&e.pages.length>1?W(HC,{label:l("Page"),htmlFor:f,children:W(G2,{id:f,value:o.id,options:e.pages.map(S=>({value:S.id,label:S.name})),onChange:i,disabled:r})}):null,W("p",{children:I}),W("p",{children:l("Your live website does not change until you press Publish.")}),b>0?W(Ua,{tone:"warning",children:so("{n} picture in this version was deleted from the media library. It stays empty.","{n} pictures in this version were deleted from the media library. They stay empty.",b)}):null,t?W(Ua,{tone:"info",title:l("Your unpublished changes are kept"),children:l("They are saved in Version history as \u201CDraft before restore\u201D, so you can get them back.")}):null,a?W(Ua,{tone:"danger",children:a}):null]})})}function Q2({version:e,onCancel:o,onSave:t}){let r=NC(),[a,n]=fo(null),[s,i]=fo(""),[f,u]=fo(!1),[p,m]=fo(null);if(e!==a&&(n(e),i(e?.name??""),m(null)),!e)return null;let x=s.trim()===e.name,I=async()=>{if(!(f||x)){u(!0),m(null);try{await t(s.trim())}catch{m(l("The name was not saved. Try again."))}finally{u(!1)}}};return W(MC,{open:!0,onClose:()=>{f||o()},size:"sm",title:l("Name this version"),footer:to(qa,{children:[W(Nt,{variant:"secondary",onClick:o,disabled:f,children:l("Cancel")}),W(Nt,{onClick:()=>{I()},loading:f,disabled:f||x,children:l("Save")})]}),children:W(HC,{label:l("Name"),htmlFor:r,hint:l("Named versions are always kept. Leave it empty to take the name away."),error:p??void 0,children:W(W2,{id:r,value:s,invalid:!!p,onChange:b=>i(b.target.value),onKeyDown:b=>{b.key==="Enter"&&I()}})})})}function J2({version:e,expanded:o,onToggle:t,onPreview:r,onRestore:a,onRestorePage:n,onName:s}){let i=e.kind==="draft_before_restore",f=!e.live,u=e.changes.length,p=[...i?[]:[{key:"preview",label:l("Preview"),icon:W(_C,{}),onSelect:r}],...f?[{key:"restore",label:i?l("Put these drafts back"):l("Restore whole website"),icon:W(DC,{}),onSelect:a}]:[],...f&&!i&&e.pages.length?[{key:"restore-page",label:l("Restore one page only"),icon:W(WC,{}),onSelect:n}]:[],...i?[]:[{type:"divider",key:"divider"},{key:"name",label:l("Name this version"),icon:W($2,{}),onSelect:s}]];return W(z2,{title:to("span",{className:"sf-version-title",children:[W("span",{children:kC(e)}),e.live?W(eu,{tone:"success",size:"xs",children:l("Live")}):null,e.name?W(eu,{tone:"neutral",size:"xs",children:l("Version {n}",{n:e.number})}):null,i?W(eu,{tone:"warning",size:"xs",children:l("Not published")}):null]}),expanded:o,onToggle:t,actions:W(M2,{align:"end","aria-label":l("More"),items:p,triggerClassName:H2({variant:"ghost",size:"sm"}),trigger:W(j2,{})}),below:to($a,{gap:3,children:[to(ou,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[W(D2,{name:e.createdBy,size:"xs"}),W("span",{children:e.createdBy}),W("span",{"aria-hidden":"true",children:"\xB7"}),W("span",{children:EC(e.createdAt)}),u?to(qa,{children:[W("span",{"aria-hidden":"true",children:"\xB7"}),W("span",{children:so("{n} change","{n} changes",u)})]}):null]}),o?to($a,{gap:3,children:[u?W($a,{gap:2,children:e.changes.map(m=>{let x=V2[m.kind]??K2;return to(ou,{gap:2,align:"center",children:[W(x,{size:16}),W("span",{children:FC(m)})]},`${m.kind}:${m.id}`)})}):null,to(ou,{gap:2,children:[i?null:W(Nt,{variant:"secondary",size:"sm",leftIcon:W(_C,{}),onClick:r,children:l("Preview")}),f?W(Nt,{variant:"secondary",size:"sm",leftIcon:W(DC,{}),onClick:a,children:l("Restore")}):null]})]}):null]})})}function eH({open:e,onClose:o,access:t,waiting:r}){let{flushSave:a,reloadFromServer:n,docId:s}=zC(),[i,f]=fo(null),[u,p]=fo(!1),[m,x]=fo(null),[I,b]=fo(null),[S,w]=fo(!1),[E,v]=fo(null),[g,y]=fo(null),[L,F]=fo(!1),R=_2(0),T=A2(()=>{let B=++R.current;p(!1),t.list().then(O=>{B===R.current&&f(O)},()=>{B===R.current&&p(!0)})},[t]);B2(()=>{e&&T()},[e,T]);let D=B=>{F(!1),X2(t,B.id).catch(()=>F(!0))},G=async()=>{if(!(!I||S)){w(!0),v(null);try{await vC({access:t,version:I.version,page:I.page,flushSave:a,reload:n}),b(null),o()}catch(B){v(B instanceof za?l("Your last changes did not save, so nothing was restored. Try again."):l("The version was not restored. Nothing changed. Try again."))}finally{w(!1)}}};return to(qa,{children:[W(N2,{open:e,onClose:o,side:"right",size:"md",title:l("Version history"),description:to(qa,{children:[l("Every Publish keeps a copy of the whole website: pages, menus and site styles.")," ",l("Products, prices and forms always show as they are now.")]}),footer:W("span",{className:"sf-version-foot",children:l("The newest 30 are kept. Named versions are always kept.")}),children:to($a,{gap:3,children:[L?W(Ua,{tone:"danger",onDismiss:()=>F(!1),children:l("The preview did not open. Try again.")}):null,u?W(Ua,{tone:"danger",action:W(Nt,{variant:"secondary",size:"sm",onClick:T,children:l("Try again")}),children:l("Version history did not load.")}):i===null?W("p",{className:"sf-version-foot",children:l("Loading versions")}):i.length===0?W("p",{className:"sf-version-foot",children:l("No versions yet. Every Publish from now on keeps one.")}):W(U2,{"aria-label":l("Versions"),spacing:"comfortable",children:i.map(B=>W(J2,{version:B,expanded:m===B.id,onToggle:()=>x(O=>O===B.id?null:B.id),onPreview:()=>D(B),onRestore:()=>{v(null),b({version:B,page:null})},onRestorePage:()=>{v(null),b({version:B,page:Y2(B,s)})},onName:()=>y(B)},B.id))})]})}),W(Z2,{version:I?.version??null,page:I?.page??null,waiting:r,busy:S,error:E,onCancel:()=>b(null),onConfirm:()=>{G()},onPage:B=>b(O=>O&&{...O,page:O.version.pages.find(H=>H.id===B)??O.page})}),W(Q2,{version:g,onCancel:()=>y(null),onSave:async B=>{await t.name(g.id,B),y(null),T()}})]})}function GC(){let{adapter:e,hasUnsavedEdits:o}=zC(),t=e.siteVersions,r=yC(),a=Tn();return t?W(eH,{open:r,onClose:bC,access:t,waiting:o||a?.state==="changed"}):null}import{useEaselSession as L5}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as hre,categoryLabel as gre,paletteWithoutPinned as bre,pinnedSection as yre}from"efficient-easel/screen/lib/puck/palette-sections";var UC=["general","commerce","service"],Er=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero Slideshow",set:"general"},{type:"HeroSingle",label:"Hero",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",set:"commerce"},{type:"SpecStrip",label:"Spec Strip",set:"general"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"RelatedProducts",label:"Related Products",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"DeliveryOptions",label:"Delivery Options",set:"commerce"},{type:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Footprint",label:"Locations Map",set:"general"}]},{key:"content",title:"Text & content",templateable:!0,sections:[{type:"Prose",label:"Editorial Text",set:"general"},{type:"ParagraphsA",label:"Lead Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Cards",label:"Cards",set:"general"},{type:"KeyFeatures",label:"Key Features",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"StatsParagraph",label:"Stats with Text",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Testimonials",label:"Testimonials",set:"general"},{type:"Reviews",label:"Reviews",set:"service"},{type:"Logos",label:"Logos",set:"general"}]},{key:"promo",title:"Promotions & sign-ups",templateable:!0,sections:[{type:"Banner",label:"Banner",set:"general"},{type:"TitleWithButtons",label:"Call-to-Action Heading",set:"general"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"Countdown",label:"Countdown",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"Masthead",label:"Issue Header",set:"general"},{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"Series",label:"Recurring Columns",set:"general"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocMasthead",label:"Document Header",set:"general"},{type:"DocBody",label:"Document Text",set:"general"},{type:"DocMetaCards",label:"Document Detail Cards",set:"general"}]},{key:"contact",title:"Contact, FAQ & forms",templateable:!0,sections:[{type:"FAQ",label:"Q&A",set:"general"},{type:"ContactRouting",label:"Contact Form",set:"service"},{type:"ContactLocations",label:"Contact / Locations",set:"general"},{type:"SubmitBuild",label:"Photo Submission Form",set:"service"},{type:"ReviewForm",label:"Review Form",set:"service"},{type:"Form",label:"Form",set:"service"},{type:"AppointmentBooking",label:"Booking Form",set:"service"}]},{key:"structure",title:"Layout, structure & embeds",templateable:!1,sections:[{type:"SectionHeader",label:"Section Header",set:"general"},{type:"Flex",label:"Box",set:"general"},{type:"Spacer",label:"Spacer",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]}];function sre(){return Object.fromEntries(Er.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var oH={Grid:'Lewis, 2026-09-14: Box and Grid duplicate each other and it feels confusing. 2026-09-15 he chose the order: give Box uneven widths FIRST, then merge Grid into Box. Shown three ways to pick the widths (mockup "Uneven Box Widths"), he chose A \u2014 shape pictures on the Box\'s `Block widths` row, the same "a row is a shape, pick a picture of it" rule he set for the photo wall on 2026-09-07.\n\nWHAT REPLACES IT: a Box set to One row, with `Block widths` at Equal or a shape (Big left, Big right, Bigger left, Bigger right) and its own `Columns on phone`. Measured on PRODUCTION 2026-09-16 ~09:28 AEST (database `efficient-system`, all 10 tenant schemas, 128 storefront pages, both `layout` and `published_layout` \u2014 256 documents): 2 Grid nodes, and they are ONE Grid counted twice \u2014 the 9DIEM homepage on 9diem.com (`xtreme_mudder` schema), once as draft and once as published. It is top-level, holds three `ImageBlock`s at `columns` 3 \u2014 equal thirds \u2014 and NO block sets `Positions`. A Box draws that with `Block widths` at Equal.\n\n\u26A0\uFE0F THE COUNT MOVES; THE RULE MUST NOT DEPEND ON IT. This entry has already carried three different readings. A local-clone snapshot said no Grid used `Positions`. A PRODUCTION reading on 2026-09-15 ~13:15 AEST found 6 nodes on two sites, 4 of them spanned \u2014 hartesmetal.com.au homepage and about, 4 columns, spans 1 + 3. That one was TRUE when it was taken and stopped being true the same day: those two pages were rebuilt on Box (`Block widths: Bigger right`), and on 2026-09-16 they hold zero Grid nodes and are built from `Flex`. \u26D4 So the rule is NOT "there are still N spanned Grids". NEVER delete the Grid component or its `gridSpan` handling, whatever a census says \u2014 Grid still renders, still edits, still drags, and a merchant may rebuild a page either way on any day. Re-run the census on production before anyone PROPOSES deleting either, and read any number written here as the reading of its own day, not as the state of the world.\n\nWHAT A MERCHANT LOSES: a new Grid, and with it a fixed "N per row" that wraps by itself past three across, and the per-block `Positions` number. Box wraps with `Wrap`, but by content width, not by a fixed count.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Grid still renders through it and can still be edited, dragged and added to; no document is rewritten and NO MIGRATION RUNS \u2014 the owner redoes live sections himself.\n\n\u26A0\uFE0F AND IT STAYS DROPPABLE WHERE IT LIVES. The drop rule in lib/puck/config.tsx read the nestable containers off the catalogue\'s `structure` row, so leaving the catalogue would have made every open slot \u2014 a Box included \u2014 refuse a Grid already stored inside one. `scripts/test-retired-grid-stays-editable.tsx` \xA73 pins it.',CompatibleTyres:'Lewis, 2026-09-09: "Do not bother counting. Delete Compatible Tyres and use the new one. The new one needs complete settings \u2014 it must have every setting our cards have." Shown three ways to finish it, he chose C: retire from the menu now, and take styling the card text as its own card.\n\nWHAT REPLACES IT: `RelatedProducts` with its `Show` dropdown set to "Tyres that fit this product". That block is the GENERIC relationship section from card 1128 \u2014 it knows nothing about wheels or tyres, it asks the registry for a relationship by name. The two have rendered through the SAME renderer (`DynamicRelatedProducts`) since that card; this one is the pre-registry one-off that was never removed.\n\n\u26A0\uFE0F THE SWAP WAS NOT SAFE UNTIL #1305, AND SAYING SO IS THE POINT. The first old-versus-new table put in front of the owner was WRONG. `DynamicRelatedProducts` returns EARLY on a tyre answer and draws this component, so the seven card settings, the head split and the Width control all stopped at that call \u2014 nine settings, measured NO EFFECT, on precisely the relationship that replaces this block. #1283 gave the new block the card settings, #1299 the head split and its own Width, #1305 carried all of it onto the tyre branch. Only then was the claim true.\n\nWHAT WAS MEASURED BEFORE RETIRING, four ways, because the premise decides the card:\n \u2022 settable text kinds (SECTION_TEXT_KINDS): both blocks ABSENT \u2014 the map holds only TimelineTrack and Footprint, both AUTHORED lists\n \u2022 read-only text regions: neither `components/CompatibleTyres` nor `components/TyreCard` stamps one\n \u2022 panel rows through resolveFields: this block 31, `RelatedProducts` 42. This block\'s only style-ish key is `_sStyle`, the bucket HEADER, not a control\n \u2022 head text (num/title/description) is authored on both, so `_partStyles` reaches it identically\nSo on the CARD runs the two are zero against zero \u2014 neither can style them \u2014 and everywhere else the new block is ahead. Styling those runs needs a section-level prop family and a paint path for DERIVED text, which no section has yet: a part is anchored by matching an AUTHORED prop\'s string against the DOM, and `lib/puck/source-bound-parts` keeps hydrated copy unreachable on purpose so a merchant cannot type into a copy of a product name and lose it at the next sync. That is its own card, and `lib/sections/text-regions` is the read-only half that already ships.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT, the same contract Subscribe, Split and SubscribeBlogs have. Every page holding a `CompatibleTyres` still renders through it, no published document is rewritten, and NO MIGRATION RUNS \u2014 the owner\'s standing ruling of 2026-09-05: he redoes live sections himself and deletes the old ones when he does. He also said explicitly not to count them first.\n\n\u26A0\uFE0F AND THIS COMPONENT IS LOAD-BEARING FOR ITS OWN REPLACEMENT: `DynamicRelatedProducts` draws it for EVERY tyre answer. Deleting it would blank the block that replaces it, not just the pages still holding this one.',SubscribeBlogs:"card 66396 \u2014 folded into `Subscribe`, which now chooses its rail's content with a `Type` control (the newsletter's own issues, or live blog posts). The two shared 21 of their fields and rendered THE SAME BYTES from equivalent rows, so offering both asked a merchant to choose between two names for one section. The type key stays because it is stored on published pages, and the component stays because those pages still render through it."},ire=["Grid"],fre=Array.from(new Set([...Er.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(oH)])),cre=Object.fromEntries(Er.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),tH={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",AccountBlock:"commerce",ThemeSwitchBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",MenuBlock:"service",EmailFormBlock:"service",SocialLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},Rs={...tH,...Object.fromEntries(Er.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function $C(e){return Object.prototype.hasOwnProperty.call(Rs,e)?Rs[e]:void 0}function tu(e){return Object.keys(Rs).filter(o=>Rs[o]===e).sort()}var dre=tu("general"),ure=tu("commerce"),pre=tu("service"),ru="Flex",it="Box",mre=`${it}es`;function rH(e){return e==="section"?"Blank section":it}function au(e,o,t){return e===ru?rH(o):t}var aH={openers:{label:"Hero & intros",icon:"image"},shop:{label:"Shop & galleries",icon:"bag"},product:{label:"Product page",icon:"box"},checkout:{label:"Checkout & ordering",icon:"bag"},about:{label:"About & brand story",icon:"book"},content:{label:"Text & content",icon:"type"},proof:{label:"Stats & social proof",icon:"star"},promo:{label:"Promotions & sign-ups",icon:"sparkles"},blog:{label:"Blog & journal",icon:"newspaper"},navigation:{label:"Navigation & wayfinding",icon:"bookmark"},legal:{label:"Legal & documents",icon:"file"},contact:{label:"Contact, FAQ & forms",icon:"mail"},structure:{label:"Layout, structure & embeds",icon:"grid"}};function qC(e){return aH[e]?.label}var jC=ru;import{currentEaselSession as nH}from"efficient-easel/screen/lib/session";var lH={general:!0,commerce:!0,service:!0};function nu(e){let o=e?.sets;return o?Object.fromEntries(UC.map(t=>[t,o.includes(t)])):lH}function kre(e=nH()){return nu(e.blocks)}import{currentEaselSession as ev}from"efficient-easel/screen/lib/session";var Pr="content",Se="Flex",sH="Text & media",iH="Layout & structure",fH=[{type:"Eyebrow",label:"Eyebrow"},{type:"Heading",label:"Heading"},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"ButtonBlock",label:"Button"},{type:"Form",label:"Form"},{type:"PostCard",label:"Post Card"},{type:"Stats",label:"Stats"},{type:"MenuBlock",label:"Menu"},{type:"EmailFormBlock",label:"Email Form"},{type:"SocialLogosBlock",label:"Social Logos"},{type:"LegalLineBlock",label:"Legal Line"},{type:"SearchBlock",label:"Search"},{type:"CartBlock",label:"Cart"},{type:"CountrySwitchBlock",label:"Country Switch"},{type:"AccountBlock",label:"Account"},{type:"ThemeSwitchBlock",label:"Theme Switch"}].map(e=>({...e,group:sH})),cH=(Er.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:iH})),KC=[...fH,...cH],lu=[{type:"Eyebrow",label:"Eyebrow"},{type:"Heading",label:"Heading"},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"ButtonBlock",label:"Button"},{type:"HeroGroup",label:it}],Ere=lu.map(e=>e.type),dH=1,uH=lu.filter(e=>e.type!=="HeroGroup");function pH(e){return e<dH?lu:uH}var mH={Flex:{slot:Pr,choices:()=>KC},Grid:{slot:Pr,choices:()=>KC},HeroGroup:{slot:Pr,choices:pH}};function VC(e,o=0){let t=mH[e];return t?{slot:t.slot,choices:t.choices(o)}:null}function Ue(e,o,t,r={}){return{type:e,props:{...o(e),id:t(e),...r}}}function YC(e,o,t){return Ue(Se,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var xH={Manifesto:(e,o)=>({type:Se,props:{...e(Se),id:o(Se),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[Ue(Se,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[Ue("Eyebrow",e,o,{eyebrowLook:"plain"}),Ue("Heading",e,o),Ue("Text",e,o),Ue("Stats",e,o)]}),YC(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:Se,props:{...e(Se),id:o(Se),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[Ue(Se,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[Ue("Eyebrow",e,o,{eyebrowLook:"plain"}),Ue("Heading",e,o),Ue("Text",e,o),Ue("ButtonBlock",e,o)]}),YC(e,o,{direction:"column",name:"Image",content:[Ue("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:Se,props:{...e(Se),id:o(Se),direction:"column",name:"Subscribe",content:[Ue("Heading",e,o),Ue("Text",e,o),Ue("Form",e,o)]}})};function Os(e){return xH[e]??null}import{blockTypesIn as ZC}from"efficient-easel/screen/lib/puck/block-types-in";import{newNodeId as XC}from"efficient-easel/draw";var IH="ImageBlock",hH=3,As=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:XC(e),...t}}),gH=e=>({...e?.(Se)??{},direction:"column",[Pr]:[As(IH,e),As(Se,e,{direction:"column",[Pr]:[As("Heading",e),As("Text",e)]})]}),Ro={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>Fb.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${it.toLowerCase()}`,seeds:()=>[],addBlocked:un,notice:ii},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${it.toLowerCase()}`,seeds:()=>[],addBlocked:un,notice:ii},ProcessSteps:{slot:"boxes",childType:Se,addLabel:`Add ${it.toLowerCase()}`,seeds:e=>Array.from({length:hH},()=>gH(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function Nre(e){for(let[o,t]of Object.entries(e)){if(o in Ro&&Ro[o]!==t)throw new Error(`lib/puck/slot-specs: "${o}" already has a slot spec`);Ro[o]=t}}function Mre(e,o){let t=Ro[e];return t?{slot:t.slot,children:t.seeds(o).map(r=>({type:t.childType,props:{id:XC(t.childType),...r}}))}:null}var QC=()=>({}),JC=new Map;function bH(e){let o=JC.get(e);if(o)return o;let t=new Set,r=Ro[e];if(r)for(let s of r.seeds(QC))for(let i of ZC({type:r.childType,props:s}))t.add(i);let a=Os(e);if(a){let s=0;for(let i of ZC(a(QC,f=>`${f}-${s+=1}`)))t.add(i)}t.delete(e);let n=[...t].sort();return JC.set(e,n),n}function yH(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=nu(e),t=e.allow?new Set(e.allow):null,r=new Set(e.deny??[]),a=new Set(Object.keys(e.host??{})),n=f=>{if(r.has(f))return!1;if(a.has(f))return!0;let u=$C(f);return!u||!o[u]?!1:t?t.has(f):!0},s=new Map,i=f=>{let u=s.get(f);if(u!==void 0)return u;s.set(f,!1);let p=n(f)&&bH(f).every(i);return s.set(f,p),p};return{sets:o,offers:i}}var SH="block-offer";function su(e=ev()){return e.cache(SH,()=>yH(Cn(e)))}function ov(e,o=ev()){let t=su(o);return t?t.offers(e):!0}function tv(e,o=0){let t=vH(e,o),r=t?su():null;return t&&r?CH(t,r):t}function CH(e,o){if(e.spec)return o.offers(e.spec.childType)?e:null;let t=e.choices??[],r=t.filter(a=>o.offers(a.type));return r.length===t.length?e:r.length>0?{...e,choices:r}:null}function vH(e,o){let t=Ro[e];if(t)return{source:"section",slot:t.slot,choices:null,spec:t};let r=VC(e,o);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let a=_y(e);return a?{source:"footer",slot:By,choices:a,spec:null}:null}import{useSyncExternalStore as wH}from"react";var iu=null,fu=new Set;function rv(e){if(iu!==e){iu=e;for(let o of fu)o()}}function kH(e){return fu.add(e),()=>{fu.delete(e)}}function oae(){return wH(kH,()=>iu,()=>null)}function av(e){return Wr(e)?.ownerId??null}function nv(e,o){let t=e.props;if(e.type==="FooterMenu"){let r=t.menu;return t.heading||r?.name||l("Menu")}if(e.type==="FooterText"){let r=typeof t.text=="string"?t.text.trim():"";return r?r.length>28?`${r.slice(0,28)}\u2026`:r:l("Text")}return e.type==="FooterEmailSignup"?t.heading||l("Email signup"):o(e.type)}var lv="sf-editor-left-view";function sv(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(lv);return e==="sections"||e==="styles"||e==="media"?e:"pages"}catch{return"pages"}}function iv(e){if(!(typeof window>"u"))try{window.localStorage.setItem(lv,e)}catch{}}function fv(e,o,t=!1){return e==="styles"&&!o||e==="media"&&!t?"sections":e}function cv(e,o){return e?"sections":o}var dv="Footer",TH=[xe,dv,ue],Lr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Mt=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},ja=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},uv=e=>Wr(e)?.ownerId??"";function pv(e){let o=Cr(Lr(e)),t=o.some(r=>r?.type===ue);return o.filter(r=>r?.type===xe||r?.type===ue||r?.type===dv&&!t)}function cu(e,o){let t=new Set,r=a=>{if(Array.isArray(a)){for(let s of a)r(s);return}if(!a||typeof a!="object")return;let n=a;if(typeof n.type=="string"&&n.props&&typeof n.props=="object"){let s=ja(n);s&&t.add(s)}for(let s of Object.values(a))r(s)};if(r(e),o){let a=!0,n=new Set;for(;a;){a=!1;for(let[s,i]of Object.entries(o))n.has(s)||!t.has(uv(s))||(n.add(s),r(i),a=!0)}}return t}function du(e,o){let t={},r={};for(let[a,n]of Object.entries(e??{}))(o.has(uv(a))?t:r)[a]=n;return{owned:t,rest:r}}function iae(e,o){if(!o)return e;let t=pv(o);if(!t.length)return e;let r=t.filter(i=>i.type===xe),a=t.filter(i=>i.type!==xe),n={...e,content:[...r,...Lr(e),...a]},{owned:s}=du(Mt(o),cu(t,Mt(o)));return Object.keys(s).length&&(n.zones={...Mt(e)??{},...s}),n}function fae(e,o){if(!o)return{page:e,chrome:null};let t=pv(o),r=new Set(t.map(ja).filter(v=>!!v)),a=[],n=[];for(let v of Lr(e)){let g=ja(v);g&&r.has(g)||Sr(v?.type)?n.push(v):a.push(v)}let s=new Map(n.map(v=>[ja(v),v])),i=new Set,f=Cr(Lr(o)).flatMap(v=>{let g=ja(v);if(!g||!r.has(g))return[v];let y=s.get(g);return y?(i.add(y),[y]):[]});for(let v of n)i.has(v)||f.some(g=>g?.type===v.type)||(f=v.type===xe?[v,...f]:[...f,v]);f=Cr(f);let u=f.length===Lr(o).length&&f.every((v,g)=>v===Lr(o)[g]),p=Mt(e),m=cu(f,p),{owned:x,rest:I}=du(p,m),b=du(Mt(o),cu(t,Mt(o))).owned,S={...o,content:u?o.content:[...f]},w=Mt(o);if(w||Object.keys(x).length){let v={};for(let[g,y]of Object.entries(w??{}))g in b?g in x&&(v[g]=x[g]):v[g]=y;for(let[g,y]of Object.entries(x))g in v||(v[g]=y);S.zones=v,w&&FH(S.zones,w)&&(S.zones=w)}let E={...e,content:a};return p&&(Object.keys(I).length||!Object.keys(b).length?E.zones=I:delete E.zones),{page:E,chrome:S}}function FH(e,o){let t=Object.keys(e),r=Object.keys(o);return t.length===r.length&&t.every((a,n)=>a===r[n]&&e[a]===o[a])}function mv(e,o){return t=>e(t)||t!==void 0&&TH.includes(t)&&o()}var Bs=null;function dae(e){Bs=e}function xv(){return!!(Bs&&Bs.state().lockHolder)}function Rr(){return Bs!==null}var EH=new Set(["BookingBox","SubmitBox"]);function PH(e){return typeof e=="string"&&EH.has(e)}var Iv=mv(PH,xv);import{scrollPreviewToSection as R5,scrollPreviewToTop as Hv}from"efficient-easel/screen/lib/puck/preview-dom";import{Fragment as pu,jsx as Ka,jsxs as o5}from"react/jsx-runtime";import{useMemo as Fv,useRef as Ev}from"react";import{EaselCanvas as t5,useEaselApi as r5}from"efficient-easel/easel";import{jsx as Sv,Fragment as MH,jsxs as HH}from"react/jsx-runtime";import{useEffect as Cv,useLayoutEffect as WH}from"react";var _s="data-theme",hv="light";function LH(e){return e.getAttribute(_s)===hv?"light":"dark"}function RH(e,o){return LH(e)===o?!1:(o==="light"?e.setAttribute(_s,hv):e.removeAttribute(_s),!0)}function OH(e){return Vs(e).getItem(zs)}function gae(e,o){Vs(e).setItem(zs,o)}function AH(e,o,t=new Date().getHours()){return Su({mode:o.mode,override:OH(e),switchShown:o.switchShown,hour:t})}function gv(e,o){let t=e.documentElement;if(!t)return()=>{};let r=()=>RH(t,AH(e,o));r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[_s]}),()=>n.disconnect()}var BH="style";function _H(e,o){let t=Pu(o),r=!1;for(let a of Eu){let n=t[a]??"";e.style.getPropertyValue(a)!==n&&(n?e.style.setProperty(a,n):e.style.removeProperty(a),r=!0)}return r}function bv(e,o){let t=e.body;if(!t)return()=>{};let r=()=>_H(t,o);r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[BH]}),()=>n.disconnect()}var DH=String.raw`(function (doc) {
|
|
18
|
+
if (doc.__sfFitWords) return;
|
|
19
|
+
var win = doc.defaultView;
|
|
20
|
+
var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
|
|
21
|
+
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1;
|
|
22
|
+
|
|
23
|
+
function measure(el) {
|
|
24
|
+
var widest = 0, current = 0, last = null, split = false, lastBlock = null;
|
|
25
|
+
function blockOf(n) {
|
|
26
|
+
for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
|
|
27
|
+
var d = win.getComputedStyle(p).display;
|
|
28
|
+
if (d.indexOf("inline") !== 0 && d !== "contents") return p;
|
|
29
|
+
}
|
|
30
|
+
return el;
|
|
31
|
+
}
|
|
32
|
+
function close() { if (current > widest) widest = current; current = 0; last = null; }
|
|
33
|
+
var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
|
|
34
|
+
while ((node = walker.nextNode())) {
|
|
35
|
+
if (node.nodeType === 1) {
|
|
36
|
+
if (node.tagName === "BR" || node.tagName === "WBR") close();
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
var block = blockOf(node);
|
|
40
|
+
if (block !== lastBlock) close();
|
|
41
|
+
lastBlock = block;
|
|
42
|
+
var re = /(\S+)|(\s+)/g, m;
|
|
43
|
+
while ((m = re.exec(node.data))) {
|
|
44
|
+
if (m[2]) { close(); continue; }
|
|
45
|
+
range.setStart(node, m.index);
|
|
46
|
+
range.setEnd(node, m.index + m[0].length);
|
|
47
|
+
var rects = range.getClientRects();
|
|
48
|
+
for (var i = 0; i < rects.length; i++) {
|
|
49
|
+
var r = rects[i];
|
|
50
|
+
if (r.width <= 0) continue;
|
|
51
|
+
current += r.width;
|
|
52
|
+
if (last && r.top > last.top + last.height / 2) split = true;
|
|
53
|
+
last = r;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
close();
|
|
58
|
+
return { widest: widest, split: split };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function lineWidth(el) {
|
|
62
|
+
var cs = win.getComputedStyle(el);
|
|
63
|
+
return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
|
|
64
|
+
- parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
|
|
68
|
+
// runs before React hydrates, and React 19 in development reports ANY
|
|
69
|
+
// attribute that differs from what it rendered ("a tree hydrated but some
|
|
70
|
+
// attributes didn't match"): first our inline font-size on the hero (which
|
|
71
|
+
// React owns via --heading-size), then, when that moved to a data-sf-fit
|
|
72
|
+
// attribute, the attribute itself. So the fitted size lives only in this
|
|
73
|
+
// script's own stylesheet, in <head>, addressed to each heading by its
|
|
74
|
+
// POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
|
|
75
|
+
// structure changes, so the rules are rewritten in the MutationObserver
|
|
76
|
+
// callback, which runs before the next paint. !important so the size also
|
|
77
|
+
// beats a part's own inline size.
|
|
78
|
+
var head = doc.head || doc.documentElement;
|
|
79
|
+
var fitEl = doc.createElement("style");
|
|
80
|
+
fitEl.id = "storefront-fit-words-sizes";
|
|
81
|
+
head.appendChild(fitEl);
|
|
82
|
+
var fitted = new Map(); // heading -> fitted size, e.g. "43.8px"
|
|
83
|
+
|
|
84
|
+
function pathOf(el) {
|
|
85
|
+
var parts = [];
|
|
86
|
+
for (var e = el; e && e.parentElement; e = e.parentElement) {
|
|
87
|
+
var i = 1, s = e;
|
|
88
|
+
while ((s = s.previousElementSibling)) i++;
|
|
89
|
+
parts.unshift("*:nth-child(" + i + ")");
|
|
90
|
+
}
|
|
91
|
+
return ":root>" + parts.join(">");
|
|
92
|
+
}
|
|
93
|
+
function writeRules() {
|
|
94
|
+
var css = "";
|
|
95
|
+
fitted.forEach(function (size, el) {
|
|
96
|
+
if (!el.isConnected) { fitted.delete(el); return; }
|
|
97
|
+
css += pathOf(el) + "{font-size:" + size + " !important}";
|
|
98
|
+
});
|
|
99
|
+
if (fitEl.textContent !== css) fitEl.textContent = css;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function unfit(el) {
|
|
103
|
+
if (fitted.delete(el)) writeRules();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function fits(el) {
|
|
107
|
+
var m = measure(el);
|
|
108
|
+
return !m.split && m.widest <= lineWidth(el) + SLACK;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function fit(el) {
|
|
112
|
+
unfit(el);
|
|
113
|
+
if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
|
|
114
|
+
if (fits(el)) return;
|
|
115
|
+
var set = parseFloat(win.getComputedStyle(el).fontSize);
|
|
116
|
+
if (!set) return;
|
|
117
|
+
var floor = Math.max(set * MIN_SCALE, MIN_PX);
|
|
118
|
+
if (floor >= set) return;
|
|
119
|
+
function size(px) { return Math.floor(px * 10) / 10 + "px"; }
|
|
120
|
+
// The SEARCH tries sizes on the element's own style and then puts that
|
|
121
|
+
// attribute back byte for byte (or removes it, if it had none), so nothing
|
|
122
|
+
// is left for React to see. A trial in a stylesheet instead restyles the
|
|
123
|
+
// whole page per step: a full pass on the Hartes home took 75–160ms at 4x
|
|
124
|
+
// CPU that way.
|
|
125
|
+
var hadStyle = el.hasAttribute("style"), origStyle = el.getAttribute("style");
|
|
126
|
+
function attempt(px) { el.style.setProperty("font-size", size(px), "important"); }
|
|
127
|
+
function done() { if (hadStyle) el.setAttribute("style", origStyle); else el.removeAttribute("style"); }
|
|
128
|
+
attempt(floor);
|
|
129
|
+
if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
|
|
130
|
+
var lo = floor, hi = set;
|
|
131
|
+
for (var i = 0; i < 8; i++) {
|
|
132
|
+
var mid = (lo + hi) / 2;
|
|
133
|
+
attempt(mid);
|
|
134
|
+
if (fits(el)) lo = mid; else hi = mid;
|
|
135
|
+
}
|
|
136
|
+
done();
|
|
137
|
+
fitted.set(el, size(lo));
|
|
138
|
+
writeRules();
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// What each heading measured right after we last fitted it, so the
|
|
142
|
+
// ResizeObserver below can tell a real change (a font swap, a rotate, a
|
|
143
|
+
// container that moved) from the size change our own write just caused.
|
|
144
|
+
var seen = new WeakMap();
|
|
145
|
+
function remember(el) {
|
|
146
|
+
var b = el.getBoundingClientRect();
|
|
147
|
+
seen.set(el, b.width + "x" + b.height);
|
|
148
|
+
}
|
|
149
|
+
function fitAndRemember(el) { fit(el); remember(el); }
|
|
150
|
+
|
|
151
|
+
// ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
|
|
152
|
+
// WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
|
|
153
|
+
// fitted heading, and fonts.ready resolves only after that frame is painted —
|
|
154
|
+
// measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
|
|
155
|
+
// reported here is fitted in the same frame, so the broken state is never
|
|
156
|
+
// drawn. It also covers a container that resizes.
|
|
157
|
+
var ro = new win.ResizeObserver(function (entries) {
|
|
158
|
+
for (var i = 0; i < entries.length; i++) {
|
|
159
|
+
var el = entries[i].target;
|
|
160
|
+
var b = el.getBoundingClientRect();
|
|
161
|
+
if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
|
|
162
|
+
fitAndRemember(el);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
// Its own set, not seen: fitAndRemember has written seen by the
|
|
166
|
+
// time watch runs, so a seen test observed no heading at all, and a
|
|
167
|
+
// heading fitted in the fallback face was never fitted again when the web
|
|
168
|
+
// font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
|
|
169
|
+
var watched = new WeakSet();
|
|
170
|
+
function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
|
|
171
|
+
|
|
172
|
+
function fitAll() {
|
|
173
|
+
var els = doc.querySelectorAll(SELECTOR);
|
|
174
|
+
for (var i = 0; i < els.length; i++) { fitAndRemember(els[i]); watch(els[i]); }
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
var queued = 0, all = false, touched = new Set();
|
|
178
|
+
function run() {
|
|
179
|
+
queued = 0;
|
|
180
|
+
if (all) { all = false; touched.clear(); fitAll(); return; }
|
|
181
|
+
var els = Array.from(touched);
|
|
182
|
+
touched.clear();
|
|
183
|
+
for (var i = 0; i < els.length; i++) if (els[i].isConnected) { fitAndRemember(els[i]); watch(els[i]); }
|
|
184
|
+
}
|
|
185
|
+
function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
|
|
186
|
+
function scheduleAll() { all = true; schedule(); }
|
|
187
|
+
|
|
188
|
+
fitAll();
|
|
189
|
+
// A backstop only: a font that changes widths without changing any
|
|
190
|
+
// heading's box is not seen by the ResizeObserver.
|
|
191
|
+
if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
|
|
192
|
+
|
|
193
|
+
// …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
|
|
194
|
+
// heading sized to its own text (fit-content, a flex item) keeps the SAME box
|
|
195
|
+
// when the phone turns to 844, so nothing reports a change and it would stay
|
|
196
|
+
// shrunk. The probe's rotate check caught exactly that.
|
|
197
|
+
var lastWidth = win.innerWidth;
|
|
198
|
+
function onResize() {
|
|
199
|
+
if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
|
|
200
|
+
lastWidth = win.innerWidth;
|
|
201
|
+
scheduleAll();
|
|
202
|
+
}
|
|
203
|
+
win.addEventListener("resize", onResize);
|
|
204
|
+
|
|
205
|
+
var mo = new win.MutationObserver(function (records) {
|
|
206
|
+
// Positions first: a node added or removed anywhere can shift the
|
|
207
|
+
// nth-child path of a fitted heading, and this callback runs before paint.
|
|
208
|
+
if (fitted.size) {
|
|
209
|
+
for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
|
|
210
|
+
}
|
|
211
|
+
for (var i = 0; i < records.length; i++) {
|
|
212
|
+
var r = records[i];
|
|
213
|
+
var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
|
|
214
|
+
var own = target && target.closest(SELECTOR);
|
|
215
|
+
if (own) touched.add(own);
|
|
216
|
+
for (var j = 0; j < r.addedNodes.length; j++) {
|
|
217
|
+
var n = r.addedNodes[j];
|
|
218
|
+
if (n.nodeType !== 1) continue;
|
|
219
|
+
if (n.matches(SELECTOR)) touched.add(n);
|
|
220
|
+
var inner = n.querySelectorAll(SELECTOR);
|
|
221
|
+
for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (touched.size) schedule();
|
|
225
|
+
});
|
|
226
|
+
mo.observe(doc.body, { childList: true, subtree: true, characterData: true });
|
|
227
|
+
|
|
228
|
+
doc.__sfFitWords = function stop() {
|
|
229
|
+
win.removeEventListener("resize", onResize);
|
|
230
|
+
ro.disconnect();
|
|
231
|
+
mo.disconnect();
|
|
232
|
+
if (queued) win.cancelAnimationFrame(queued);
|
|
233
|
+
fitted.clear();
|
|
234
|
+
fitEl.remove();
|
|
235
|
+
delete doc.__sfFitWords;
|
|
236
|
+
};
|
|
237
|
+
// For the probe and for debugging: which headings are fitted, at what size,
|
|
238
|
+
// and the sheet that holds it (disable it to read a heading's set size).
|
|
239
|
+
doc.__sfFitWords.fitted = fitted;
|
|
240
|
+
doc.__sfFitWords.sheet = fitEl;
|
|
241
|
+
})(document);`,NH="storefront-fit-words";function yv(e){let o=e.createElement("script");return o.id=NH,o.textContent=DH,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var zH=`
|
|
242
|
+
[${mo}][${mo}] { cursor: text; }
|
|
243
|
+
[${Ke}][${Ke}][${Ke}] {
|
|
244
|
+
outline: 1px solid ${va.accent};
|
|
245
|
+
outline-offset: 2px;
|
|
246
|
+
}
|
|
247
|
+
[${Ke}][${Ke}]:has([${Ke}]),
|
|
248
|
+
[data-puck-overlay-portal][data-puck-overlay-portal]:has([${Ke}]) {
|
|
249
|
+
outline: none;
|
|
250
|
+
}
|
|
251
|
+
[${Ke}][${Ke}][${Ke}][data-es-typing],
|
|
252
|
+
[data-es-typing] [${Ke}][${Ke}][${Ke}] {
|
|
253
|
+
outline: none;
|
|
254
|
+
}
|
|
255
|
+
`;function vv({children:e,document:o}){let{theme:t,themeMode:r,themeSwitchShown:a}=V(),n=Je(t);return Cv(()=>{if(o)return gv(o,{mode:r,switchShown:a})},[o,r,a]),Cv(()=>{if(o)return bv(o,n)},[o,n]),WH(()=>{if(o)return yv(o)},[o]),HH(MH,{children:[Sv(lp,{}),Sv("style",{children:zH}),e]})}import{jsx as uu}from"react/jsx-runtime";import{useEffect as GH,useState as UH}from"react";import{Banner as $H}from"efficient-shell/ui";var Ds={load:"The header and footer could not load. They are hidden for now and nothing in them is saved. Reload to try again.",lock:"{name} is editing the header and footer. Nothing you change in them here is saved.",conflict:"The header and footer were changed somewhere else. Nothing you change in them here is saved. Reload to get the latest.",save:"The header and footer did not save. They are sent again with your next change."},qH=Ds.load,jH=Ds.lock,KH=Ds.conflict,VH=Ds.save;function YH(e){return e?e.loadFailed?l(qH):e.lockHolder?l(jH,{name:e.lockHolder.name||l("Somebody else")}):e.conflict?l(KH):e.saveFailed?l(VH):null:null}function XH({report:e}){let o=YH(Es(e)),[t,r]=UH(null);return GH(()=>{o||r(null)},[o]),!o||t===o?null:uu("aside",{className:"sf-canvas-notice",children:uu($H,{tone:"warning",onDismiss:()=>r(o),children:o})})}function wv(){return uu(XH,{report:Ps()})}import{jsx as Ns}from"react/jsx-runtime";import{useState as kv}from"react";import{Banner as ZH,Button as QH}from"efficient-shell/ui";import{UndoIcon as JH}from"efficient-shell/icons/efficient";import{useScreenDocument as e5}from"efficient-easel/screen/components/ScreenDocumentContext";function Tv(){let e=SC(),{adapter:o,flushSave:t,reloadFromServer:r}=e5(),a=o.siteVersions,[n,s]=kv(!1),[i,f]=kv(!1);if(!e)return null;let u=async()=>{if(!(!a||n)){s(!0),f(!1);try{await wC({access:a,flushSave:t,reload:r})}catch{f(!0)}finally{s(!1)}}};return Ns("aside",{className:"sf-canvas-notice",children:Ns(ZH,{tone:i?"danger":"info",title:e.title,onDismiss:Ls,action:a&&e.undo?Ns(QH,{variant:"secondary",size:"sm",leftIcon:Ns(JH,{}),loading:n,disabled:n,onClick:()=>{u()},children:l("Undo")}):void 0,children:i?l("Undo did not work. Nothing changed. Try again."):l("Check it with Preview. Press Publish to put it live.")})})}import{usePreviewParts as Pv}from"efficient-easel/draw/client";import{useSectionOps as a5}from"efficient-easel/screen/lib/puck/use-section-ops";function n5({children:e,componentId:o}){let{selectedPartId:t}=Pv();return rh(t,o)?Ka(pu,{}):Ka(pu,{children:e})}function Lv(e){let{mirrorHostStyles:o}=ei(),t=ip(),{sectionBackgroundWidth:r,sectionContentWidth:a,themeFromDocument:n}=V(),s=Fv(()=>({...e.metadata??t??{},...Rx(n?null:r,n?null:a)}),[e.metadata,t,r,a,n]),i=Ev(null),f=l5(i),{onDocument:u}=e,p=m=>{i.current=m,u?.(m)};return o5(pu,{children:[Ka(Tv,{}),Ka(wv,{}),Ka(t5,{...e,onDocument:p,typing:f,metadata:s,height:"fill",mirrorStyles:o,frameWrapper:vv,overlay:n5})]})}function l5(e){let o=r5(),t=a5(),r=Pv(),a=Ev({ops:t,parts:r});return a.current={ops:t,parts:r},Fv(()=>{let n={getItemById:i=>o.getState().getItemById(i),getSelectorForId:i=>o.getState().getSelectorForId(i),get components(){return o.getState().config.components},replace:(i,f,u)=>a.current.ops.replaceComponent(i,f,u)},s=(i,f)=>{let u=ny(i,n);if(!u)return null;let p=f,m=()=>(p=ly(p,p?.ownerDocument??e.current,i),p),x=m();return x?{element:m,value:u.value,rules:u.rules,multiline:u.multiline,write:u.write,toolbar:{offered:u.offered,colors:u.offered.length>0?as(xy(x)):void 0}}:null};return{at:i=>{let f=i.closest(`[${mo}]`),u=f?.getAttribute(mo);return f&&u?s(u,f):null},atSelection:()=>{let i=a.current.parts.selectedPartId;return i?s(i,null):null},onChange:i=>{if(!i.typing){fd(null);return}let f=i.element.closest(`[${mo}]`)?.getAttribute(mo)??null;fd(f),f&&a.current.parts.selectedPartId!==f&&a.current.parts.select(f)}}},[o,e])}var Rv={Hero:"Full-screen opener with rotating slides.",HeroSingle:"Full-screen image or video with a headline.",IntroBleed:"Full-bleed intro image the next section scrolls over.",Collections:"Product collections in a tidy grid.",AlloyWheelsListing:"A full product-listing page: filter rail, sortable card grid and pagination, from the live catalog. Choose which product types it shows.",CatalogFilterBar:"Filters the collection grids below it \u2014 a sticky row of Pills (the default), or Columns, one per filter you switch on.",ProductGrid:"Hand-picked products in a tidy grid.",FitmentFinder:"A vehicle picker \u2014 make, model, year and trim resolve the OEM stock fitment live.",Gallery:"Two image galleries with tabs and filters.",GalleryB:"Customer photos in a card grid with a click-to-open lightbox.",SpecStrip:"A thin one-line spec strip \u2014 small-caps items spread across the width, as a dark band or a bare hairline row.",ProductHero:"A product hero \u2014 image beside price, bullets and a buy button.",SpecTable:"A spec sheet \u2014 labeled rows of product specifications.",ProcessSteps:"A heading over columns of image, title, blurb and specs.",DetailRows:"Repeating full-width rows \u2014 eyebrow, title and copy beside a numbered close-up image, alternating sides each row.",FitmentTable:"A fitment table \u2014 per-size bolt patterns, offsets and load ratings, filterable by diameter.",CompatibleTyres:"The current product's compatible tyres \u2014 image, size, key specs and price per tyre, with an inquiry link. Display only.",RelatedProducts:"The current product's related items in a tidy row \u2014 the product page's built-in 'Pair with' cross-sell.",OrderSummary:"A display order-summary panel \u2014 items, totals and a note.",DeliveryOptions:"Delivery tiers as cards \u2014 name, window and price, one highlighted.",PaymentBadges:"A payment-methods trust strip with reassurance lines.",CheckoutCTA:"A centered 'ready to order?' headline with the checkout button.",Manifesto:"A bold brand statement beside a full-height image, with a stat strip.",ParagraphsA:"An editorial text panel with a stat strip and founders' note.",StatsParagraph:"An editorial heading and paragraph over a row of theme-color-accented stat cards.",Chart:"A titled chart \u2014 bars, line or donut \u2014 drawn from your own labeled data points.",Mockup:"A headline beside a stylized product-UI mockup card \u2014 spec sheet, fitment, portal, kanban and more.",Prose:"A plain editorial text section \u2014 eyebrow, heading and body copy.",Timeline:"An editorial aside beside a rail-marked timeline of dated entries.",TimelineTrack:"A horizontal year track of milestones \u2014 company history or roadmap.",Footprint:"A world map of your locations with a legend \u2014 designed here, sold worldwide.",TitleWithButtons:"A big headline beside a stack of call-to-action buttons.",Split:"Side-by-side image and text in two columns.",Cards:"A heading over a grid of free-text title-and-blurb cards.",FAQ:"A frequently-asked-questions accordion with a header.",Testimonials:"Customer quotes in a grid \u2014 the quote, a name and a role.",Masthead:"A journal issue header with a lead statement and contents.",Breadcrumb:"A slim trail showing where the reader is (Home / Journal\u2026).",CategoryBar:"A sticky row of category tabs with counts and links.",FeaturedCover:"A featured article \u2014 big cover image beside a headline and dek.",LongRead:"A long-form article spread with a pull-quote and cover image.",Series:"A section heading over a grid of column cards.",Subscribe:"A newsletter signup beside a list of recent issues.",SubscribeBlogs:"A newsletter signup beside your latest blog posts, pulled live.",Events:"Latest journal posts in a three-card row.",DocMasthead:"A document header \u2014 headline, metadata and standfirst.",DocTabs:"A sticky tab bar to switch between documents.",DocBody:"Long-form document body with an 'On this page' contents list.",DocMetaCards:"A three-up meta strip for the foot of a document.",Banner:"Wide promo strip with background image.",Stats:"Highlight key numbers \u2014 years, designs.",Countdown:"Hours, minutes and seconds to a set date and time, then one line.",KeyFeatures:"A theme-color chip and heading over a grid of short feature labels.",Logos:"A row of partner or brand logos.",Ticker:"A scrolling marquee of short phrases, full width.",Reviews:"Approved customer reviews in a star-rated card grid, pulled live.",SubmitBuild:"A 'Show us yours.' headline with a photo-submission form.",ReviewForm:"A write-a-review form \u2014 submissions wait for your approval before they show.",ContactRouting:"Pick who to reach, then a form that routes the message.",ContactLocations:"Your locations as a city gallery plus address and map cards.",SectionHeader:"A numbered section title with optional link.",Grid:"Multi-column container for blocks.",Flex:"An empty section. Add whatever you want inside.",Spacer:"Vertical breathing room between sections.",Divider:"A thin horizontal rule between sections.",CustomHTML:"Drop in your own sanitized HTML.",Heading:"A single heading line.",Text:"A paragraph of body copy.",ImageBlock:"A standalone image, at the width you set.",ButtonBlock:"A call-to-action button."};var s5="Save your page changes first";function Ov(e){return e.hasTrustedConsole?e.canCreatePlatformTemplate?!e.capabilities.canPublish||!e.capabilities.hasSiteSettings?{visible:!1,hiddenReason:"not-a-site-page"}:e.siteId?e.hasUnsavedEdits?{visible:!0,enabled:!1,disabledReason:s5}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var Av="storefront-editor:save-as-template";var i5="plain",Bv=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],f5="line",c5={KeyFeatures:"filled"};function Va(e){return c5[e]??i5}function cne(e,o){return eo(Bv,Va(o),e)}function dne(e){return eo(Bv,f5,e)}var d5="inline",u5=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var ft={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicBundleOffer"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},Or="SectionHeader";function _v(e){return e in ft}function xne(e){return eo(u5,d5,e)}var Dv=new Set(["Flex"]);function Ine(e){return!!e?.type&&Dv.has(e.type)}var p5={not:{context:"parentType",in:[...Dv]}};function hne(e,o,t){return Gl(e,t,p5)}var m5={not:{field:"headPlacement",is:"own-box"}};function gne(e,o,t){return Gl(e,t,m5)}function Nv(e,{nodeDefaults:o,newNodeId:t,sectionLabel:r,blockIsOffered:a}){let n=Os(e);return n?n(o,t):_v(e)&&a(Se)&&a(Or)?{type:Se,props:{...o(Se),id:t(Se),direction:"column",name:`${r(e)} section`,content:[{type:Or,props:{...o(Or),id:t(Or),...ft[e]?.headStyle?{headStyle:ft[e].headStyle}:{},...ft[e]?.headRowGap?{rowGap:ft[e].headRowGap}:{},...ft[e]?.headDescriptionSize?{descriptionSize:ft[e].headDescriptionSize}:{},...Va(e)!==Va(Or)?{eyebrowLook:Va(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box"}}]}}:Ro[e]?.fixed===!0?{type:e,props:{...o(e),id:t(e),layout:"boxes"}}:null}import{useEffect as x5,useState as I5}from"react";import{useEaselSession as h5}from"efficient-easel/screen/lib/session-context";function Mv(){let e=h5().chrome?.products?.list,[o,t]=I5(null);return x5(()=>{if(!e)return;let r=!1;return e().then(a=>{r||t(a)}),()=>{r=!0}},[e]),o}function qv({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:r}=Ml(),a=$v().tree,n=e,s=n.kind==="ticker"?n.heroId:null,i=Xa(f=>{f&&(o({kind:"ticker",heroId:f}),R5(f))},[o]);return Oo(()=>{t(s)},[s,t]),Oo(()=>{r(i)},[r,i]),{partRows:(f,{rowClick:u})=>{let p=String(f.props.id);return f.type==="Hero"&&ke(Uv,{icon:ke(At,{type:"ticker",size:13}),name:l(ua),onSelect:()=>i(p),selected:s===p,rowProps:{onClick:u(()=>i(p))},words:a})}}}function jv({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:r}=Hl(),a=$v().tree,{appState:n}=E5(x=>x),s=n.data.content??[],i=g5(s);i.current=s;let f=e,u=pa.find(x=>ma[x]===f.kind),p=u&&"nodeId"in f?xa(String(f.nodeId),u):null,m=Xa(x=>{let I=Tg(x);if(!I)return;let b=i.current.findIndex(w=>String(w.props.id)===I.nodeId);if(b<0)return;let S={kind:ma[I.part],nodeId:I.nodeId};o({index:b},S)},[o]);return Oo(()=>{t(p)},[p,t]),Oo(()=>{r(m)},[r,m]),{partRows:(x,{rowClick:I})=>{let b=String(x.props.id),S=kg(x);if(S.length===0)return null;let w=g=>{let y=xa(b,g.part);return ke(Uv,{icon:ke(At,{type:g.part==="media"?"heroMedia":"heroImage",size:13}),name:l(g.label),onSelect:()=>m(y),selected:p===y,rowProps:{onClick:I(()=>m(y))},words:a},y)},[E,...v]=S;return Ya(Gv,{children:[w(E),v.length>0&&ke(F5,{children:v.map(w)})]})}}}function Kv(e,o){return{partRows:(t,r)=>Ya(Gv,{children:[e.partRows?.(t,r),o.partRows?.(t,r)]})}}function O5(e){let{adapter:o,capabilities:t,currentSlug:r,siteId:a,docId:n,hasUnsavedEdits:s,bridgeCapabilities:i,notifyParent:f,token:u}=xu(),{hasPreviewLink:p}=t,m=We(L5()).preview?.draftLink,x=BC(e.data),I=Ov({hasTrustedConsole:!!u,canCreatePlatformTemplate:i.canCreatePlatformTemplate,capabilities:t,siteId:a,hasUnsavedEdits:s}),b=Xa(()=>{!a||!r||f(Av,{siteId:a,slug:r})},[f,a,r]),S=fC({pageSlug:r,siteId:a,token:u}),w=o.previewHref?.(r)??S;return{barLead:()=>I.visible&&ke(S5,{side:"bottom",content:I.enabled?l("Save this website as a platform template"):l(I.disabledReason),children:ke("span",{className:"sf-tip-disabled",tabIndex:I.enabled?void 0:0,children:ke(y5,{variant:"secondary",disabled:!I.enabled,onClick:b,rightIcon:ke(T5,{size:15}),children:l("Save as Template")})})}),barTrail:()=>p&&r&&ke(uC,{liveHref:w,pageId:n??null,draftLink:m}),mainAction:x}}function A5(e,o){let{capabilities:t,templateId:r,siteId:a,tokenRef:n,navigate:s}=xu(),{hasSiteTheme:i,explainsSiteSettings:f}=t,u=E=>o.setView(E),[p,m]=b5(sr[0].id),{surface:x,setSurface:I}=pg(),b=()=>{if(i){u("styles"),o.reveal(),Hv();return}e.show(_d),e.reveal(),Hv()},S={id:"pages",label:l("Pages"),icon:ke(v5,{}),panel:({onHide:E})=>ke(ng,{activeSurface:x,onPreviewSurface:I,onNavigate:v=>{I(null),s(r?{kind:"template",id:r,pageSlug:v}:{kind:"page",slug:v,siteId:a??void 0})},onClose:E})},w=[];return!i&&f&&w.push({id:"appearance",label:l("Appearance"),icon:ke(k5,{}),active:e.kind==="website",onSelect:b}),i&&w.push({id:"styles",label:l("Site styles"),icon:ke(w5,{}),panel:({onHide:E,notify:v})=>ke(OS,{tokenRef:n,siteId:a??void 0,onClose:E,onNotify:v,tab:p,onTabChange:m})}),{railLead:[S],railTrail:w,resolveLeftView:(E,v)=>fv(E,i,v),openSettings:b,openStyles:()=>{m(Mh),u("styles")}}}function B5(e,o,t,r){let{kind:a,open:n}=e,{selected:s,zoneOf:i}=o;Oo(()=>{rv(s?.type==="BookingBox"&&s.props.region==="confirm"?av(i(String(s.props.id))):null)},[s?.props.id]);let f=eC(e,o),{capabilities:{hasSiteSettings:u}}=xu(),{setSelected:p,setSelectHandler:m}=V(),{chat:x,setChat:I,setSelected:b,setSelectHandler:S}=Nl(),w=a==="header";Oo(()=>{p(w)},[w,p]),Oo(()=>{m(()=>n(Bd))},[m,n]);let E=Xa(()=>n(CS),[n]),v=a==="chat";Oo(()=>{b(v)},[v,b]),Oo(()=>{S(E)},[S,E]);let{setOpenHandler:g}=da(),y=Xa(()=>n(vS),[n]);Oo(()=>{g(y)},[g,y]);let L=Kv(qv(e),jv(e)),F=O5(o),R=A5(e,r),T=t.device;return{...L,...F,...R,hasOwnRows:D=>D.type===Ts,ownRows:f.renderLocationTree,sectionPressed:f.sectionPressed,wrap:D=>ke(oi.Provider,{value:!0,children:Ya(P5.Provider,{value:T,children:[D,ke(GC,{})]})}),addPanelRow:D=>u?Ya("div",{className:"sf-addside-sitewide",children:[ke("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:ke(At,{type:"chat",size:16})}),Ya("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{D(),E()},children:[l("Live chat"),ke("span",{className:"sf-addside-sitewide-desc",children:l("A chat bubble on every page")})]}),ke(C5,{checked:x.enabled,onChange:G=>I({enabled:G}),ariaLabel:l("Show the chat bubble on the whole site")})]}):void 0}}var Wv=null,mu=new WeakMap;function _5(e){let o=Ku();if(!e||!o)return e;Wv!==o&&(Wv=o,mu=new WeakMap);let t=mu.get(e);return t||(t={...e,choices:e.choices?e.choices.map(r=>({...r,label:l(r.label)})):null,spec:e.spec?{...e.spec,addLabel:l(e.spec.addLabel)}:null},mu.set(e,t)),t}var D5={isLockedBlock:Iv,duplicateBlocked:ms,nestDepth:(e,o,t)=>o===pn?Tp(e,t):0,newSectionNode:Nv,canAddTo:(e,o)=>_5(tv(e,o)),blockIsOffered:ov},N5=new Proxy(Rv,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?l(t):t}}),M5={labelAtLevel:(e,o,t)=>l(au(e,o,t)),descriptions:N5,categoryLabel:e=>{let o=qC(e);return o===void 0?void 0:l(o)},firstSection:jC,blockRowName:nv,plainText:St,Icon:At,Thumbnail:RS,useProducts:Mv},H5={desktop:2e3,tablet:800,mobile:390},zv="desktop",W5={options:fg,initial:zv,fluid:zv,widths:H5},z5={read:sv,write:e=>iv(e),forSelection:(e,o)=>cv(e,o)},G5={first:Ve,last:me,firstGroup:xe,lastGroup:ue,isSectionGroup:Sr,sectionGroupZone:Dy,panelOf:e=>e===Ve?Bd:null,get groupTab(){return Rr()?zy:void 0},get groupBadge(){return Rr()?Gy():void 0},get changeNotice(){return Rr()?Uy():void 0},get band(){return Rr()?U5:void 0},get groupAccepts(){return Rr()?Hy:void 0}},U5={foldable:!0};function $5(e){return{...Kv(qv(e),jv(e)),openSettings:()=>e.show(_d)}}var Ole={useOwnerName:ir,useDocumentLabel:$h,useBridges:B5,useStandaloneBridges:$5,useDocumentPass:aC,blockRules:D5,blockLook:M5,devices:W5,leftView:z5,pinned:G5,Canvas:Lv,Inspector:kS};export{sre as a,ire as b,fre as c,cre as d,it as e,nu as f,kre as g,We as h,Cn as i,KC as j,Ere as k,gY as l,fb as m,wY as n,xb as o,kY as p,Ib as q,gb as r,Sb as s,Cb as t,NY as u,MY as v,HY as w,WY as x,b_ as y,Rp as z,XY as A,cn as B,Qw as C,h4 as D,ht as E,g4 as F,b4 as G,pn as H,Tp as I,Nre as J,Mre as K,yH as L,Cp as M,Vw as N,f4 as O,fn as P,vp as Q,Yw as R,Xw as S,Zw as T,u4 as U,p4 as V,m4 as W,x4 as X,hc as Y,JO as Z,eA as _,oA as $,Gl as aa,Ul as ba,Cj as ca,xe as da,ue as ea,uJ as fa,Ny as ga,ps as ha,eo as ia,ft as ja,xne as ka,Ine as la,hne as ma,gne as na,Af as oa,r6 as pa,a6 as qa,Si as ra,St as sa,Ur as ta,Il as ua,mo as va,Ke as wa,D8 as xa,QP as ya,JP as za,N8 as Aa,ar as Ba,M8 as Ca,H8 as Da,Uf as Ea,xh as Fa,Yf as Ga,bl as Ha,j8 as Ia,K8 as Ja,V8 as Ka,Y8 as La,NL as Ma,Ia as Na,Vg as Oa,Yg as Pa,Vl as Qa,MV as Ra,HV as Sa,WV as Ta,zV as Ua,B3 as Va,M3 as Wa,H3 as Xa,W3 as Ya,we as Za,gF as _a,ef as $a,bF as ab,TG as bb,EG as cb,PG as db,SF as eb,LG as fb,kx as gb,rf as hb,af as ib,MG as jb,WG as kb,zG as lb,GG as mb,UG as nb,Zt as ob,Mo as pb,ff as qb,Px as rb,FF as sb,cf as tb,zn as ub,jG as vb,En as wb,wt as xb,jr as yb,Am as zb,yz as Ab,S0 as Bb,Sz as Cb,mn as Db,Ap as Eb,O4 as Fb,A4 as Gb,Sk as Hb,B4 as Ib,N4 as Jb,_p as Kb,M4 as Lb,vk as Mb,H4 as Nb,U0 as Ob,Rn as Pb,Kz as Qb,$i as Rb,Vz as Sb,X0 as Tb,Yz as Ub,Zz as Vb,Qz as Wb,iG as Xb,fG as Yb,cG as Zb,qm as _b,Gz as $b,Uz as ac,$z as bc,qz as cc,oF as dc,An as ec,eG as fc,ex as gc,q5 as hc,Q as ic,l as jc,so as kc,xy as lc,Kl as mc,UZ as nc,py as oc,ym as pc,kn as qc,Sm as rc,MW as sc,d0 as tc,nz as uc,Em as vc,r4 as wc,s4 as xc,ci as yc,xk as zc,E4 as Ac,G4 as Bc,Ti as Cc,Fi as Dc,G6 as Ec,U6 as Fc,nm as Gc,$6 as Hc,q6 as Ic,j6 as Jc,cm as Kc,um as Lc,uz as Mc,Lm as Nc,Be as Oc,Xu as Pc,Y5 as Qc,Jv as Rc,X5 as Sc,Z5 as Tc,Qu as Uc,e3 as Vc,ew as Wc,o3 as Xc,t3 as Yc,tw as Zc,n3 as _c,rw as $c,l3 as ad,$t as bd,i3 as cd,f3 as dd,c3 as ed,d3 as fd,an as gd,u3 as hd,lw as id,b3 as jd,rp as kd,iw as ld,fw as md,cw as nd,uw as od,pw as pd,mw as qd,Qs as rd,y3 as sd,O0 as td,Wz as ud,tG as vd,rG as wd,aG as xd,nG as yd,lG as zd,ux as Ad,mF as Bd,uG as Cd,cx as Dd,dx as Ed,pG as Fd,_n as Gd,Dn as Hd,xG as Id,Xt as Jd,Mn as Kd,gG as Ld,bG as Md,yG as Nd,Sx as Od,CG as Pd,tt as Qd,zo as Rd,If as Sd,Fo as Td,t$ as Ud,r$ as Vd,a$ as Wd,n$ as Xd,f$ as Yd,c$ as Zd,$E as _d,d$ as $d,u$ as ae,p$ as be,YE as ce,m$ as de,x$ as ee,I$ as fe,De as ge,h$ as he,QE as ie,g$ as je,b$ as ke,or as le,y$ as me,Kn as ne,Qt as oe,S$ as pe,cI as qe,Xn as re,Zn as se,C$ as te,v$ as ue,w$ as ve,k$ as we,T$ as xe,F$ as ye,E$ as ze,P$ as Ae,L$ as Be,R$ as Ce,O$ as De,A$ as Ee,Qn as Fe,B$ as Ge,Jn as He,el as Ie,yf as Je,ol as Ke,_$ as Le,Ft as Me,D$ as Ne,N$ as Oe,M$ as Pe,H$ as Qe,W$ as Re,z$ as Se,G$ as Te,U$ as Ue,ot as Ve,$$ as We,q$ as Xe,tl as Ye,j$ as Ze,Sf as _e,K$ as $e,V$ as af,Cf as bf,Y$ as cf,hI as df,gI as ef,bI as ff,X$ as gf,W1 as hf,Z$ as if,Q$ as jf,sM as kf,eS as lf,oo as mf,Oa as nf,cM as of,nS as pf,YJ as qf,XJ as rf,ZJ as sf,QJ as tf,JJ as uf,eee as vf,oee as wf,tee as xf,ree as yf,aee as zf,nee as Af,Wl as Bf,zO as Cf,cj as Df,dj as Ef,qO as Ff,KO as Gf,mg as Hf,ZO as If,Ij as Jf,hj as Kf,Ig as Lf,gj as Mf,gg as Nf,hg as Of,Pj as Pf,_l as Qf,lg as Rf,sg as Sf,Dl as Tf,z9 as Uf,G9 as Vf,Nl as Wf,AO as Xf,Q9 as Yf,da as Zf,tj as _f,pg as $f,Mte as ag,Hte as bg,Wte as cg,zte as dg,iae as eg,fae as fg,dae as gg,nj as hg,ij as ig,Hl as jg,koe as kg,AS as lg,BS as mg,R3 as ng,oq as og,tq as pg,rq as qg,aq as rg,ic as sg,fc as tg,Sg as ug,Rj as vg,Cg as wg,aA as xg,gc as yg,_j as zg,Dj as Ag,nA as Bg,Nj as Cg,xa as Dg,Tg as Eg,Mj as Fg,Fg as Gg,IV as Hg,Bg as Ig,$c as Jg,qc as Kg,kB as Lg,TB as Mg,jc as Ng,PB as Og,ba as Pg,Xl as Qg,VV as Rg,Zc as Sg,rY as Tg,aY as Ug,nY as Vg,lb as Wg,T_ as Xg,F_ as Yg,E_ as Zg,rX as _g,aX as $g,__ as ah,N_ as bh,Db as ch,uX as dh,pX as eh,Ub as fh,bX as gh,va as hh,jb as ih,rd as jh,Kb as kh,Vb as lh,wX as mh,Yb as nh,Q_ as oh,kX as ph,TX as qh,FX as rh,EX as sh,J_ as th,PX as uh,LX as vh,RX as wh,oD as xh,OX as yh,aD as zh,AX as Ah,nd as Bh,tZ as Ch,ls as Dh,ZZ as Eh,KD as Fh,yy as Gh,VD as Hh,Ea as Ih,YD as Jh,XD as Kh,aQ as Lh,ky as Mh,me as Nh,us as Oh,ho as Ph,MS as Qh,HS as Rh,Poe as Sh,Na as Th,WS as Uh,zS as Vh,Ooe as Wh,Aoe as Xh,nC as Yh,Yd as Zh,lC as _h,tv as $h,oae as ai,_s as bi,LH as ci,RH as di,gae as ei,w3 as fi,E3 as gi,i5 as hi,Bv as ii,f5 as ji,Va as ki,cne as li,dne as mi,Ole as ni};
|