efficient-storefront-blocks 0.66.2 → 0.68.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 +22 -0
- package/dist/chunks/{EditorPreviewCheckout-HAUEGHGC.js → EditorPreviewCheckout-HFP2TRRR.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-KOPR3UDU.js → SiteEditorProvider-A7YYACG3.js} +1 -1
- package/dist/chunks/chunk-CFYEYTU6.js +254 -0
- package/dist/chunks/{chunk-Z7PJKX2P.js → chunk-EPJ5SM3A.js} +1 -1
- package/dist/chunks/{chunk-VEI75RPM.js → chunk-FL3KMJAT.js} +1 -1
- package/dist/chunks/{chunk-S66TL4Z3.js → chunk-YACB7UXA.js} +1 -1
- package/dist/chunks/{chunk-IHYVLVY3.js → chunk-YTQS5GY6.js} +1 -1
- package/dist/chunks/{fitment-data-UQDOQP66.js → fitment-data-RXCNCZLU.js} +1 -1
- package/dist/contract.js +1 -1
- package/dist/editor/components/BlogSource.js +1 -1
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +1 -1
- package/dist/editor/components/HeaderSection.js +1 -1
- package/dist/editor/components/HeaderSettingsPanel.js +1 -1
- package/dist/editor/components/PreviewProductPicker.js +1 -1
- package/dist/editor/components/SocialLinksDoor.js +1 -1
- package/dist/editor/components/SwitchToBoxHeader.js +1 -1
- package/dist/editor/lib/api/section-templates.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/AccountBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/BundleOffer/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CartBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CatalogFilterBar/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CheckoutCTA/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CollectionCard/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Collections/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CompatibleTyres/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/DeliveryOptions/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/DetailRows/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabel/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentFinder/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentTable/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Gallery/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryB/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryItem/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +6 -0
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductGrid/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductHero/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductRef/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/RelatedProducts/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/SearchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/SpecTable/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/TyreFitment/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/TyreSizes/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/controls.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/page-rules.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/AppointmentBooking/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/BookingBox/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/ContactRouting/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Events/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Footer/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterDivider/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterEmailSignup/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterGroup/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterLogo/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterMenu/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterSocial/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterText/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Form/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/LegalLineBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/document/blocks/service/RateTable/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/RatingBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/ReviewForm/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Reviews/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SiteFooter/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SiteHeader/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubmitBox/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubmitBuild/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Subscribe/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubscribeBlogs/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/controls.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/document/blocks/service/index.js +1 -0
- package/dist/editor/lib/{puck → document}/box-header-for-site.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/box-header.d.ts +1 -1
- package/dist/editor/lib/document/box-header.js +1 -0
- package/dist/editor/lib/document/config.d.ts +69 -0
- package/dist/editor/lib/document/config.js +1 -0
- package/dist/editor/lib/efficient-backend.js +1 -1
- package/dist/editor/lib/efficient-block-sources.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +13 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor/lib/storefront-editor.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +127 -425
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +23 -23
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/ChatLauncher.js +1 -1
- package/dist/render/components/CollectionCard.d.ts +1 -1
- package/dist/render/components/Collections.d.ts +1 -1
- package/dist/render/components/Collections.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/GalleryCard.js +1 -1
- package/dist/render/components/Header.js +1 -1
- package/dist/render/components/LegalLine.d.ts +1 -1
- package/dist/render/components/LegalLine.js +1 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/PublishedFooter.js +1 -1
- package/dist/render/components/PublishedHeader.js +1 -1
- package/dist/render/components/RateTable.d.ts +10 -0
- package/dist/render/components/RateTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -1
- package/dist/render/components/fitment/PickerField.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +1 -1
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -1
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -1
- package/dist/render/components/useHeaderBar.js +1 -1
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/booking/text-kinds.js +1 -1
- package/dist/render/lib/content/header-bar.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/Collections/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Gallery/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryB/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/metas.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/renders.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/BookingBox/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Events/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Events/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Events/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Footer/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Footer/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterText/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Form/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Form/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/RateTable/meta.d.ts +3 -0
- package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -0
- package/dist/render/lib/document/blocks/service/RateTable/render.d.ts +4 -0
- package/dist/render/lib/document/blocks/service/RateTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Reviews/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Subscribe/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/metas.d.ts +2 -1
- package/dist/render/lib/document/blocks/service/metas.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/renders.d.ts +2 -1
- package/dist/render/lib/document/blocks/service/renders.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/subscribe.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/text-part-shapes.json +18 -0
- package/dist/render/lib/document/footer-page-blocks.js +1 -0
- package/dist/render/lib/{puck → document}/lazy-draws.d.ts +2 -2
- package/dist/render/lib/document/lazy-draws.js +1 -0
- package/dist/render/lib/document/preview-pick.js +1 -0
- package/dist/render/lib/document/render-client.js +1 -0
- package/dist/render/lib/document/render-config.js +1 -0
- package/dist/render/lib/{puck → document}/slot-seeds.d.ts +2 -2
- package/dist/render/lib/document/slot-seeds.js +1 -0
- package/dist/render/lib/{puck → document}/storefront-root.d.ts +1 -1
- package/dist/render/lib/document/storefront-root.js +1 -0
- package/dist/render/lib/document/subscribe-content-type.js +1 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -1
- package/dist/render/lib/sections/rate-table.d.ts +16 -0
- package/dist/render/lib/sections/rate-table.js +1 -0
- package/dist/render/lib/submit/text-kinds.js +1 -1
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +1 -1
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
- package/dist/words.d.ts +17 -5
- package/dist/words.js +4 -4
- package/package.json +4 -4
- package/dist/chunks/chunk-TAGGXC3A.js +0 -250
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.d.ts +0 -6
- package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/controls.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/index.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +0 -1
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/index.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/service/index.js +0 -1
- package/dist/editor/lib/puck/box-header.js +0 -1
- package/dist/editor/lib/puck/config.d.ts +0 -69
- package/dist/editor/lib/puck/config.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Gallery/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +0 -1
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Events/meta.js +0 -1
- package/dist/render/lib/puck/blocks/service/Events/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Form/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/RatingBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/metas.js +0 -1
- package/dist/render/lib/puck/blocks/service/renders.js +0 -1
- package/dist/render/lib/puck/blocks/service/subscribe.js +0 -1
- package/dist/render/lib/puck/footer-page-blocks.js +0 -1
- package/dist/render/lib/puck/lazy-draws.js +0 -1
- package/dist/render/lib/puck/preview-pick.js +0 -1
- package/dist/render/lib/puck/render-client.js +0 -1
- package/dist/render/lib/puck/render-config.js +0 -1
- package/dist/render/lib/puck/slot-seeds.js +0 -1
- package/dist/render/lib/puck/storefront-root.js +0 -1
- package/dist/render/lib/puck/subscribe-content-type.js +0 -1
- /package/dist/chunks/{chunk-TAGGXC3A.js.LEGAL.txt → chunk-CFYEYTU6.js.LEGAL.txt} +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/index.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/controls.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.js +0 -0
- /package/dist/editor/lib/{puck → document}/box-header-for-site.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/metas.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/placeholders.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/renders.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Form/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/current-product.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/current-product.js +0 -0
- /package/dist/render/lib/{puck → document}/current-record.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/current-record.js +0 -0
- /package/dist/render/lib/{puck → document}/fitment-table-dynamic.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/fitment-table-dynamic.js +0 -0
- /package/dist/render/lib/{puck → document}/footer-page-blocks.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-pick.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-product.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-product.js +0 -0
- /package/dist/render/lib/{puck → document}/render-client.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/render-config.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/subscribe-content-type.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/template-product-kind.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/template-product-kind.js +0 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import{$ as Rs,A as Uo,Aa as Tu,B as $t,C as qt,Ca as Xa,Da as Pu,E as du,Ea as Fu,H as Lr,J as uu,Ja as Eu,K as Os,L as pu,N as mu,O as xu,Q as Iu,R as Ls,T as hu,U as Ue,V as ct,W as gu,X as ho,Y as Va,_ as yu,a as tu,c as ru,ca as bu,d as Xe,da as As,e as Gt,f as Lo,fa as Bs,g as Ps,h as lu,ja as Su,l as Or,n as Fs,pa as dt,ra as Cu,s as su,t as iu,ta as wu,u as Es,v as He,va as vu,w as fu,x as cu,y as Ut,z as Io,za as V}from"./chunk-YACB7UXA.js";import{d as au,e as Er,f as nu,g as ku,j as Ya,n as Ds}from"./chunk-YTQS5GY6.js";var Za=null,Lu="en",Ru=null;function g5(e,o,t){Za=e??null,Lu=o||"en",Ru=t??null}function X(){return Ru}function _s(){return Lu}function Au(){return Za}function Ou(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=Za?Za[e]:void 0;if(typeof t=="function"){try{let r=t(o??{});if(typeof r=="string"&&r)return r}catch{}return Ou(e,o)}return Ou(typeof t=="string"&&t?t:e,o)}function $e(e,o,t,r){return l(t===1?e:o,{...r,n:t})}import{jsx as Ns,Fragment as Bw,jsxs as Dw}from"react/jsx-runtime";import{createContext as _w,useContext as Nw}from"react";var Mw={mirrorHostStyles:!0,css:null,fontHrefs:[]},Bu=_w(Mw);function C5({value:e,children:o}){return Ns(Bu.Provider,{value:e,children:o})}function Ms(){return Nw(Bu)}function Du(){let{css:e,fontHrefs:o}=Ms();return Dw(Bw,{children:[o.map(t=>Ns("link",{rel:"stylesheet",href:t},t)),e?Ns("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as Hw}from"react/jsx-runtime";import{createContext as Ww,useContext as zw}from"react";var _u=Ww(void 0);function T5({metadata:e,children:o}){return Hw(_u.Provider,{value:e,children:o})}var Nu=()=>zw(_u);import{jsx as me,Fragment as yw,jsxs as $a}from"react/jsx-runtime";import{useCallback as qa,useEffect as Ke,useRef as UH,useState as $H}from"react";import{Button as qH,Tooltip as jH}from"efficient-shell/ui";import{SettingsSwitch as KH}from"efficient-easel/panel";import{PagesIcon as VH,StylesIcon as YH}from"efficient-easel/rail";import{PaletteIcon as XH}from"efficient-shell/icons/efficient";import{TemplateIcon as ZH}from"efficient-easel/icons";import{Subtree as QH,TreeRow as bw}from"efficient-easel/tree";import{useEasel as Sw}from"efficient-easel/easel";import{useEaselStrings as Cw}from"efficient-easel/strings";import{createContext as Gw,useContext as Uw}from"react";var Hs=Gw(!1),E5=()=>Uw(Hs);import{jsx as ee,Fragment as rg,jsxs as na}from"react/jsx-runtime";import{Fragment as iR,useEffect as fR,useId as cR,useMemo as ag,useRef as dR,useState as at}from"react";import{useScreenDocument as uR}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as Tl}from"efficient-easel/draw/client";import pR from"efficient-easel/screen/components/SidePanelHead";import{jsx as Q,jsxs as rt,Fragment as Ot}from"react/jsx-runtime";import{useEasel as Gh}from"efficient-easel/easel";import{useState as Vf}from"react";import{jsx as ar,jsxs as BI,Fragment as JE}from"react/jsx-runtime";import{useState as DI}from"react";import{SettingsDefaultReset as e1,SettingsField as o1}from"efficient-easel/panel";import{useEaselStrings as t1}from"efficient-easel/strings";import{AddIcon as r1}from"efficient-easel/icons";import{jsx as g,jsxs as Do,Fragment as oo}from"react/jsx-runtime";import{cloneElement as Vx,useId as VP,useRef as of,useState as jr}from"react";import{useEasel as Kr,useSelectedFields as rf}from"efficient-easel/easel";import{readHidable as Jo,hidableText as YP}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as af,LINK_FIELD_MARKER as XP,MEDIA_FIELD_MARKER as ZP,SCAFFOLD_FIELD_MARKER as QP,TEXT_FIELD_MARKER as _o,foldMetaOf as No,textFieldIdentifier as oU}from"efficient-easel/draw";import{jsx as $u}from"react/jsx-runtime";import{useCallback as Vw,useEffect as Yw,useRef as Xw,useState as Zw}from"react";import{useEasel as Qw}from"efficient-easel/easel";import{SettingsAction as Jw}from"efficient-easel/panel";function Ws(e){return typeof e=="number"&&Number.isFinite(e)}function R5(e,o){if(!Ws(e))return;let t=Va(ho(e));if(Object.keys(t).length===0)return;let r=t[Qa];if(typeof r!="string")return t;let a=Rr(o)?Ar(r,Ro(o)??[]):r;return{...t,[$w]:a}}var $w="--sf-section-radius",Qa="--sf-card-radius",ut=["tl","tr","br","bl"];function Ro(e){if(!Array.isArray(e))return null;let o=e.filter(t=>ut.includes(t));return ut.filter(t=>o.includes(t))}function Rr(e){let o=Ro(e);return o!==null&&o.length<ut.length}function Ar(e,o){return ut.map(t=>o.includes(t)?e:"0").join(" ")}var Mu=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var qw="--sf-card-box-radius",jw="--sf-site-card-radius",_5="sf-section-bleeds";function zs(e){return typeof e=="number"&&Number.isFinite(e)}function N5(e,o){if(!zs(e))return;let t=Va(ho(e))[Qa];if(typeof t!="string")return;let r=Rr(o)?Ar(t,Ro(o)??[]):t;return{[qw]:r}}function M5(e){let o=e[Qa];return typeof o=="string"?{[jw]:o}:{}}function Hu(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 Kw}from"efficient-easel/draw";function Br(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Ja(e,o,t){let r=Br(t?.zone),a=r?Kw(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function Wu(e,o,t){let r=Ja(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):"",d=Math.max(n.length-1,0);return!r||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:d}:zs(i?.props?.cardCorners)?{can:!0,others:d,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:Hu(n,f)}}}:{can:!1,reason:"unset",others:d}}function zu(e){return e.can?$e("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 Gu(e){return $e("Applied to {n} card","Applied to {n} cards",e)}function Uu(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as ev}from"efficient-easel/screen/lib/document/use-section-ops";var ov=2200,tv="apply-corners-to-siblings",rv="Apply to all cards";function av({plan:e,doneCount:o,onPress:t}){return $u(Jw,{id:tv,label:l(rv),note:zu(e),disabled:!e.can,done:o!==null,doneLabel:Gu(o??0),onPress:t})}function qu(){let{appState:e,config:o}=Qw(f=>f),t=ev(),[r,a]=Zw(null),n=Xw(null);Yw(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Wu(o,e.data.content??[],e.ui.itemSelector),i=Vw(()=>{Uu(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),ov))},[s,t]);return $u(av,{plan:s,doneCount:r,onPress:i})}var ju=1;function nv(e){return ho(e)}function o3(e){let o=nv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Ku=1,Vu="Corners";function lv(e){return ho(e)}function n3(e,o){let t=lv(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Rr(o)?Ar(r,Ro(o)??[]):r}}var Ao={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]]}},Gs=Object.keys(Ao),Xu=[2,3,4,6];function Zu(e){return typeof e!="string"||e===""?null:Ao[e]??null}function Yu(e,o){return o?6/e.acrossPhone:12/e.across}var sv="sf-wall--";function iv(e){return`${sv}${e}`}function s3(e){let o=Ao[e],t=`.${iv(e)}`,r=[],a=(n,s)=>{let i=[],f=n.length;n.forEach(([d,p],m)=>{i.push(`${t} > :nth-child(${f}n+${m+1}){grid-column:span ${d};grid-row:span ${p}}`)});for(let d=1;d<f;d+=1)i.push(`${t}:has(> :nth-child(${f}n+${d}):last-child) > :nth-last-child(-n+${d}){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,Yu(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,Yu(o,!0))),r.push("}"),r.join("")}var en=12,Qu=1,fv=3;var cv=3;function Us(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 dv(e){return Us(e,1,en)??cv}function c3(e,o){return Us(e,Qu,fv)??(dv(o)===4?2:Qu)}function d3(e){return e==null||e===""?null:Us(e,1,en)}var u3="data-sf-span";function p3(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Zu(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var $o=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],on="bottom-left";var $s={"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 uv(e){let o=$o.indexOf(pt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function pv(e){return 1+uv(e).band*6}function x3(e){return pv(e)+1}function pt(e){return $o.includes(e)?e:on}function I3(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function h3(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function qs(e,o){let t=pt(o);return e.filter(r=>pt(r?.props?.placement)===t).length}function Ju(e){return`${$s[pt(e)]} already holds 4 boxes. Move one somewhere else first.`}function js(e,o){let t=e.filter(r=>r?.props?.id!==o);return $o.map(r=>{let a=qs(t,r)>=4,n=$s[r];return a?{value:r,label:n,disabled:!0,title:Ju(r)}:{value:r,label:n}})}function tn(e,o){let t=o===void 0?on:pt(o?.props?.placement);return qs(e,t)>=4?Ju(t):null}var rn="HeroGroup";function mv(e){return $o.map(o=>{let t=qs(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function Ks(e){let o=mv(e);return o.length===0?null:o.map(({anchor:t,total:r,hidden:a})=>{let n=$s[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 ep(e,o){let t=o;if(t?.type!==rn)return null;let r=t.props?.id===void 0?"":String(t.props.id);return r?tn(Vs(e,r),t):null}function Vs(e,o){let t=tp(e,o);return t&&t.ownerType===Iv?t.siblings:[]}function op(e,o){let t=tp(e,o);return t?t.ancestorTypes.filter(r=>r===rn).length:xv}var xv=1,Iv="HeroSlide";function tp(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,d=r(i,n+1,[...s,String(f)]);if(d)return d}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 hv}from"react/jsx-runtime";var gv="sf-hint-keep";function rp({children:e}){return hv("span",{className:gv,children:e})}import{jsx as qo,Fragment as bv,jsxs as dp}from"react/jsx-runtime";import{useContext as Sv,useEffect as Cv,useId as wv,useState as up}from"react";import{SettingsField as vv,SettingsSwitch as kv}from"efficient-easel/panel";import{AnchorIcon as Tv}from"efficient-easel/icons";import{ScreenDocumentContext as Pv}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as Fv}from"efficient-shell/ui";var an="homepage";function mt(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var ap=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function np(e){return e.offersCommerce&&e.offersService?ap:ap.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var Ys="#popup:";function lp(e){return`${Ys}${e}`}function sp(e){return e.startsWith(Ys)&&e.slice(Ys.length).trim()||null}function Dr(e){return e===an?"/":`/${e}`}function ip(e){return`/journal/${e}`}function k3(e){return`/wheels/${e}`}function nn(e,o){return`${Dr(e)}#${o}`}function Xs(e){return mt(e)}function yv(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function fp(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=yv(a?.props?.anchor);if(!n)continue;let s=Xs(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function T3(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),r=t.indexOf("?");return r===-1?t:t.slice(0,r)}function cp(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as Ev}from"efficient-easel/draw";function pp({value:e,onChange:o,nameBox:t}){let r=Ev(e).text,[a,n]=up(!1),s=a||r.trim()!=="",i=wv();return dp(bv,{children:[qo(vv,{label:l("Add an anchor"),labelId:i,icon:qo(Tv,{}),action:qo(kv,{checked:s,ariaLabelledBy:i,onChange:f=>{n(f),!f&&r!==""&&o("")}})}),s&&t(e,o),s&&qo(Ov,{name:r})]})}function Ov({name:e}){let o=Sv(Pv),t=o?.templateId?"":o?.currentSlug??"",[r,a]=up("");Cv(()=>a(Ya()||window.location.origin),[]);let n=Xs(e);if(!n||!t)return null;let s=`${r}${nn(t,n)}`,i=s.replace(/^https?:\/\//,""),f=i.lastIndexOf("#");return qo("div",{className:"sf-anchor-link",children:qo(Fv,{value:s,label:l("link"),size:"sm",children:dp("span",{className:"sf-anchor-link-text",children:[qo("span",{className:"sf-anchor-link-path",children:i.slice(0,f)}),qo("span",{className:"sf-anchor-link-hash",children:i.slice(f)})]})})})}import{AdjustIcon as JP,AlignLeftIcon as eF,EyeIcon as oF,AlignSeparateIcon as tF,AnimationIcon as Yx,BackgroundIcon as rF,BorderAllIcon as aF,BlockSectionIcon as nF,CartIcon as lF,ColumnWidthsIcon as Xx,ColumnsIcon as Zx,CornerIcon as sF,DirectionDownIcon as iF,DirectionLeftIcon as fF,DirectionRightIcon as cF,DirectionUpIcon as dF,DollarIcon as uF,FinishIcon as pF,GapIcon as Qx,GridIcon as mF,GroundIcon as xF,HashIcon as Jx,HeightIcon as IF,ImageIcon as hF,ListIcon as gF,LocationIcon as Ji,NudgeIcon as yF,PaddingAllIcon as bF,PaddingBottomIcon as eI,PaddingLeftIcon as oI,PaddingRightIcon as tI,PaddingTopIcon as rI,PageIcon as aI,PlacementIcon as SF,ProductSizeIcon as CF,StickyIcon as wF,RotateIcon as vF,SquareIcon as kF,TypeIcon as TF,WidthIcon as PF,WrapIcon as FF}from"efficient-easel/icons";import{jsx as J,Fragment as go,jsxs as yo}from"react/jsx-runtime";import{TitleIcon as Lv,ButtonIcon as Rv,DollarIcon as Av,HashIcon as Bv,LinkIcon as Dv,NoteIcon as _v,TagIcon as Nv,TextLinesIcon as Mv}from"efficient-easel/icons";var mp={body:Mv,button:Rv,link:Dv,label:Nv,number:Bv,price:Av,note:_v,title:Lv},xp={eyebrow:yo(go,{children:[J("path",{d:"M5 6.5h5"}),J("path",{d:"M5 12.5h14"}),J("path",{d:"M5 18h11"})]}),heading:yo(go,{children:[J("path",{d:"M6.5 5v14"}),J("path",{d:"M17.5 5v14"}),J("path",{d:"M6.5 12h11"})]}),intro:yo(go,{children:[J("path",{d:"M4 5.5v13"}),J("path",{d:"M8 7.5h12"}),J("path",{d:"M8 12h12"}),J("path",{d:"M8 16.5h8"})]}),value:yo(go,{children:[J("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),J("path",{d:"M6.5 12h7"})]}),name:yo(go,{children:[J("path",{d:"M6 3.5v17"}),J("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:yo(go,{children:[J("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),J("path",{d:"M4 10.5h16"}),J("path",{d:"M9 3.2v4.4"}),J("path",{d:"M15 3.2v4.4"})]}),caption:yo(go,{children:[J("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),J("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),J("path",{d:"M6.5 19.5h11"})]}),quote:yo(go,{children:[J("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),J("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:yo(go,{children:[J("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),J("path",{d:"M8 9.5h8"}),J("path",{d:"M12 9.5v5"})]}),meta:yo(go,{children:[J("path",{d:"M4 7h16"}),J("path",{d:"M4 14h3.5"}),J("path",{d:"M10.5 14h3"}),J("path",{d:"M17 14h3"})]})};function Zs({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=mp[e];return n?J("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:J(n,{size:o})}):J("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:xp[e]})}var z3=Object.keys(mp);var G3=Object.keys(xp);var Hv="#ffffff",Wv=/^#[0-9a-fA-F]{6}$/;function Qs(e){return zv(e)?e:Hv}function zv(e){return typeof e=="string"&&Wv.test(e)}function $3(e){return{"--bg":Qs(e)}}var Js=[{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}],Gv=Js.filter(e=>e.ink);function Uv(e){let o={color:e.fg};for(let{role:t,token:r}of Gv)o[r]=e[t];return o}var $v={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Ip=Object.freeze(Uv($v));var ln=-1,qv="sf-section-accent",hp="Color",gp=new Set(["CategoryBar","DocTabs"]),V3=new Set(["Flex"]),jv=0;function ei(e){return e===ln?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:jv}function Y3(e){return e??ln}function Kv(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 Js)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function X3(e){let o=ei(e.sectionAccent);return o===null?null:{className:qv,style:Kv(o)}}var Vv=["fade","rise","scale"],oi="none",yp=[{label:"None",value:oi},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function J3(e){return Vv.includes(e)?e:null}var bp="data-sf-anim",_r="data-sf-anim-state";function e4(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(bp))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(_r,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),Yv(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(_r)}}function Yv(e){if(!e.getAttribute(bp))return;e.removeAttribute(_r),e.offsetWidth,e.setAttribute(_r,"play");let o=t=>{t.target===e&&(e.removeAttribute(_r),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var o4=gp;function ri(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(ti(r,o,0))return a??{}}return null}function ti(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>ti(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>ti(a,o,t+1))}import{SettingsDefaultReset as Ee,SettingsField as re,SettingsGroup as EF,SettingsGroupSub as OF,SettingsBorder as LF,SettingsSegmented as RF,SettingsSides as AF,SettingsSidesEach as nI,sidesStartEach as BF,SettingsSwitch as lI,borderSides as DF,borderStartEach as _F}from"efficient-easel/panel";import{FieldSelect as NF,ListField as MF}from"efficient-easel/fields";import{DisplayChips as HF}from"efficient-shell/ui";function jt(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 sn(e,o){return jt(e)[o]!==!1}function ai(e,o,t){let r=jt(o)[t];return typeof r=="boolean"?r:sn(e,t)}function Sp(e){return Object.values(jt(e)).some(o=>o===!1)}function Cp(e){return Object.keys(jt(e)).length>0}function wp(e,o,t){let r={...jt(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function vp(e,o,t){return{...jt(e),[o]:t}}function a4(e,o,t){let r=sn(e,t),a=ai(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as WF,Checkbox as SU,CornersInput as zF,DateTimePicker as GF,FOCAL_DEFAULT as CU,PictureTiles as sI,PositionInput as UF,Slider as $F,Tooltip as iI}from"efficient-shell/ui";import{jsx as xt,jsxs as Tp}from"react/jsx-runtime";import{ColorPicker as Zv,HexInput as Qv}from"efficient-shell/ui";import{SettingsDefaultReset as Jv,SettingsField as ek}from"efficient-easel/panel";import{typedHex as ni}from"efficient-easel/pick";import{typedHex as Xv}from"efficient-easel/pick";function kp(e){let o=new Set,t=[];return He(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?Xv(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function ok({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,ariaLabel:s}){return xt(rk,{value:e,onChange:o,label:l(s??t),id:r,caption:a,inherited:n})}function tk(){let{theme:e}=V();return kp(e).map(o=>({value:o.value,label:o.name}))}function rk({value:e,onChange:o,label:t,id:r,caption:a,inherited:n}){let s=tk(),i=e?null:ni(n??""),f=a!==void 0&&(!e||ni(a)!==ni(e))?a:null,d=p=>{p!==e&&o(p)};return Tp("div",{className:"sf-colour",children:[xt(Zv,{id:r,value:e,onChange:d,label:t,presets:s,fallback:i??void 0,size:"md",align:"start"}),f!==null?xt("span",{className:"sf-colour-caption",children:f}):xt("span",{className:"sf-colour-hexwrap",children:xt(Qv,{value:e||i||"",onChange:d,label:l("{label} hex code",{label:t}),placeholder:e||i?void 0:l("Not set"),className:i?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function qe({label:e,icon:o,changed:t,hint:r,onReset:a,resetTo:n,children:s,...i}){return Tp(ek,{label:e,icon:o,htmlFor:i.id,changed:t,hint:r,action:a?xt(Jv,{words:X()?.panel,label:e,changed:!!t,detail:n,onReset:a}):void 0,children:[ok({...i,label:e}),s]})}function fn({label:e,icon:o,value:t,inherited:r,resetTo:a,onChange:n,onReset:s,hint:i}){let f=!!t;return xt(qe,{label:e,icon:o,value:t,inherited:f?void 0:r,onChange:n,changed:f,onReset:s,resetTo:a,hint:i})}import{jsx as Nr}from"react/jsx-runtime";import{useEffect as Pk,useState as Fk}from"react";import{markSelection as Ek,useCaretEdit as Ok}from"efficient-easel/copy";import{RevertIcon as Lk}from"efficient-easel/icons";import{IconButton as Rk,TextToolbar as Ak,Tooltip as Bk}from"efficient-shell/ui";import{applyMark as k4,markupTools as T4,MARKUP_TOOLS as P4,COPY_FIELD_TOOLS as F4,STOREFRONT_MARKUP as E4,tokenizeInline as O4,stripInline as L4,isSafeLinkHref as R4}from"efficient-shell/markup";import{applyMark as xk,markedAt as Ik,markupTools as hk,MARKUP_TOOLS as gk,parseMarkup as yk,RETIRED_MARKS as bk,STOREFRONT_MARKUP as Sk,tokenizeInline as B4}from"efficient-shell/markup";var It=["highlight","strong","quiet"],ht={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},bo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},y4=Object.fromEntries(It.map(e=>[bo[e].kind,e])),b4="data-sf-ws",cn=["accent","text","labels"],Op={accent:"Accent",text:"Text",labels:"Labels"},Kt={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},ak=80,nk=120,lk=100,sk=900,ik=.5,fk=3,ck=-.1,dk=.5,uk=3,li={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},pk={highlight:{...li},strong:{...li},quiet:{...li}};function Pp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Fp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**uk;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function Ep(e){return typeof e=="boolean"?e:null}function mk(e){let o=typeof e?.font=="string"&&Xe.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&cn.includes(e.colour)?e.colour:null;return{font:o,size:Pp(e?.size,ak,nk),weight:Pp(e?.weight,lk,sk),bold:Ep(e?.bold),italic:Ep(e?.italic),lineGap:Fp(e?.lineGap,ik,fk),textGap:Fp(e?.textGap,ck,dk),colour:t}}function Lp(e){let o={};for(let t of It)o[t]=e&&t in e&&e[t]?mk(e[t]):{...pk[t]};return o}function S4(e){let o=Lp(e),t={};for(let r of It){let a=o[r],n=`--sf-ws-${r}`;if(a.font){let s=Xe.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`]=Kt[a.colour])}return t}function C4(e){let o=e?.word_styles??void 0,t={};for(let r of It)o&&r in o&&(t[r]=o[r]??null);return Lp(t)}var Ck=new Set(["strong"]),Rp=It.map(e=>({open:bo[e].delimiter,close:bo[e].delimiter,kind:bo[e].kind,...Ck.has(e)?{wordStart:!0}:{}})),_4=[{style:bo.highlight.kind,label:ht.highlight,title:`${ht.highlight} word style`},{style:bo.strong.kind,label:ht.strong,title:`${ht.strong} word style`},{style:bo.quiet.kind,label:ht.quiet,title:`${ht.quiet} word style`}],wk=new Set(Rp.map(e=>e.open)),Vt=[...Sk.filter(e=>!wk.has(e.open)),...Rp];function vk(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function kk(e){return yk(typeof e=="string"?e:"",Vt)}var Tk=gk.map(e=>e.style).filter(e=>!bk.includes(e)).filter(e=>Vt.some(o=>o.kind===e));function Ap(){return hk(Tk)}var Bp=Object.fromEntries(It.map(e=>[bo[e].kind,bo[e].delimiter]));function Dp(e,o,t,r){let a=Bp[r];if(!a)return xk(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 _p(e,o,t,r){let a=Bp[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:Ik(e,o,t,r)}function gt(e){return kk(e).map(o=>vk(o)+Np(o.children)).join(`
|
|
2
|
+
`)}function Np(e){return e.map(o=>o.kind==="text"?o.text:Np(o.children)).join("")}var Mp="Clear formatting";function Dk(e,o,t){return Ek(e,o,t,Dp)}function _k(e){let[o,t]=Fk(null);return Pk(()=>{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 Nk({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=Ok({target:e,onChange:t}),[s,i]=_k(e),f=x=>n(I=>{let y=Dk(o,x,I);return i({start:y.selectionStart,end:y.selectionEnd}),y}),d=Ap(),p={};if(s)for(let x of d)p[x.style]=_p(o,s.start,s.end,x.style);let m=gt(o);return Nr(Ak,{offered:new Set(d.map(x=>x.style)),onMark:x=>f(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:Nr("span",{className:"sf-markup-clear",children:Nr(Bk,{content:l(Mp),children:Nr(Rk,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(Mp),children:Nr(Lk,{size:14})})})})})}var si=Nk;import{deviceField as Ce}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as qF,NoControlMark as _n,noControlField as Vr}from"efficient-easel/screen/lib/document/panel-no-control-mark";var ii="__ownBox";function Hp(e){return!!e&&typeof e=="object"&&e[ii]===!0}function dn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var un=void 0;import{phoneKey as tr}from"efficient-easel/draw";import{jsx as ci,Fragment as Wk}from"react/jsx-runtime";import{createContext as zk,useContext as Gk}from"react";var pn={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},mn={Events:["posts"],SubscribeBlogs:["posts"]};var Mk=["anchor"],Hk=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Mr(e){return Mk.includes(e)||Hk.test(e)}var fi={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"}}};fi.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var X4=Object.fromEntries(Object.entries(pn).map(([e,o])=>[e,Object.keys(o)])),Z4=Object.fromEntries(Object.entries(mn).map(([e,o])=>[e,[...o]]));import{NoControlMark as Uk}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Wp=zk(!1);function zp({children:e}){return ci(Wp.Provider,{value:!0,children:e})}function $k(){return Gk(Wp)}function Gp({name:e,children:o}){return!$k()||!e||!qk(e)||Mr(e)?ci(Wk,{children:o}):ci(Uk,{})}function qk(e){return/^[A-Za-z0-9_$]+$/u.test(e)}function jo(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var di="off",ui="none",pi=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],mi=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function l6(e){return jo(pi,di,e)}function s6(e){return jo(mi,ui,e)}var Up="sf-card-index",Hr="sf-card-index",i6="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",jk={plain:`counter(${Hr})`,padded:`counter(${Hr}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Hr}, decimal-leading-zero)`};function f6(e,o){return o==="off"?"":`.${e}{counter-reset:${Hr}}.${e} .${Up}{counter-increment:${Hr}}.${e} .${Up}::before{content:${jk[o]}}`}function c6(e){return e==="hairline"?"border border-line hover:border-accent":""}var $p=[{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 jF}from"efficient-easel/draw";import{jsx as So}from"react/jsx-runtime";import{SettingsDefaultReset as Yk,SettingsField as jp}from"efficient-easel/panel";import{useSelectedFields as Xk}from"efficient-easel/easel";import{FOCAL_DEFAULT as Zk}from"efficient-shell/format";import{ImageIcon as Kp,PlayIcon as Vp}from"efficient-easel/icons";import{MediaUploadField as Qk}from"efficient-shell/ui";import{useContext as Jk}from"react";import{ScreenDocumentContext as eT}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as oT}from"efficient-easel/draw";import{usePreviewDevice as tT}from"efficient-easel/draw/client";import{requestMediaPick as rT}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as aT}from"efficient-easel/screen/lib/host";function Kk(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function qp(e){return typeof e=="string"?e:Kk(e)?e.src:""}function p6(e,o,t){return xi(e,o.split("."),t)}function xi(e,o,t){if(o.length===0)return t(e);let[r,...a]=o,n=r.endsWith("[]"),s=n?r.slice(0,-2):r;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(s in i))return e;let f=i[s];if(n){if(!Array.isArray(f))return e;let p=!1,m=f.map(x=>{let I=xi(x,a,t);return I!==x&&(p=!0),I});return p?{...i,[s]:m}:e}let d=xi(f,a,t);return d===f?e:{...i,[s]:d}}import{backendOf as Vk}from"efficient-easel/screen/lib/session";var Se=Vk,xn=e=>e.blocks;import{useEaselSession as nT}from"efficient-easel/screen/lib/session-context";function lT(e,o){let t=null;try{t=Xk()}catch{t=null}let r=tT()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):Zk,n=oT(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,un)}}function Yp({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=aT(),f=nT(),d=l(t),p=r.startsWith("video"),m=lT(p?void 0:n,s),x=Jk(eT),I=v=>rT(i,{accept:r,title:d,...v?{file:v}:{}}).then(C=>C?.url??null);if(x&&!x.capabilities.mediaEditing)return So(jp,{label:d,icon:p?So(Vp,{}):So(Kp,{}),children:So("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 y=qp(e),k=m?.phone&&y?So(Yk,{words:X()?.panel,label:l("Image focus"),changed:!!m.own,detail:l("{value} on desktop",{value:m.desktop}),onReset:m.clear}):void 0;return So(jp,{label:d,icon:p?So(Vp,{}):So(Kp,{}),action:k,children:So("div",{style:{flex:"1 1 auto",minWidth:0},children:So(Qk,{value:y,onChange:o,onPick:I,accept:p?"video/*":"image/*",kind:p?"video":"image",placeholder:a===void 0?void 0:l(a),maxSizeBytes:Se(f).media.maxUploadBytes,...m?{focus:m.focus,onFocusChange:m.set}:{}})})})}import{jsx as Xp}from"react/jsx-runtime";import{useId as sT}from"react";import{FieldSelect as iT}from"efficient-easel/fields";import{SettingsField as fT}from"efficient-easel/panel";function cT(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function Zp({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=sT(),f=`${i}-label`,d=`${i}-button`,p=Array.isArray(t)?t:[];return Xp(fT,{label:l(e),labelId:f,icon:n,hint:s,children:Xp(iT,{id:d,multiple:!0,value:p,options:cT(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${f} ${d}`,inline:!0})})}import{jsx as ge,jsxs as St,Fragment as NT}from"react/jsx-runtime";import{useCallback as MT,useContext as HT,useEffect as WT,useId as um,useRef as cm,useState as dm}from"react";import{ThemeIcon as zT}from"efficient-easel/icons";import{SettingsField as GT}from"efficient-easel/panel";import{ScreenDocumentContext as UT}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as j,jsxs as Ko,Fragment as hT}from"react/jsx-runtime";import{Button as hi,IconButton as gT,Tooltip as yT}from"efficient-shell/ui";import{jsx as yt,jsxs as Qp}from"react/jsx-runtime";import{AccentIcon as dT}from"efficient-easel/icons";import{Tooltip as uT}from"efficient-shell/ui";function Ii(e){return Io(e).background}function pT(e){let o=Uo(e.accent,Ii(e));return o===null?null:{ratio:o,grade:qt(o)}}function mT(e){let o=Ii(e),t=Uo(e.accent,o);return t===null?[]:du(e.accent).filter(r=>{let a=Uo(r,o);return a!==null&&a>t&&qt(a)==="good"})}var xT={good:"Easy to read","large-only":$t["large-only"],hard:$t.hard};function Jp({value:e,onChange:o}){let t=pT(e),r=t?.grade,a=t&&t.grade!=="good"?mT(e):[];return yt(qe,{label:l("Main color"),icon:yt(dT,{}),hint:t?l(xT[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:a.length>0?yt("div",{className:"w-full min-w-0",children:Qp("div",{className:"sf-readability",children:[yt("p",{className:"sf-readability-advice",children:IT(r,!0)}),yt("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=Uo(n,Ii(e));return yt(uT,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:Qp("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[yt("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function IT(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 bT,ChevronDownIcon as ST,ChevronUpIcon as CT,GroundIcon as wT,LayoutIcon as vT,SquareIcon as kT,TextSmallIcon as TT,TypeIcon as em}from"efficient-easel/icons";var Wr=e=>l("Theme {n}",{n:e+1});function om({colors:e}){let o=Io(e),t=Lr(e)??o.accent;return Ko("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[j("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),Ko("span",{className:"sf-theme-headline",children:[l("Heading")," ",j("span",{style:{color:o.accent},children:l("accent")})]}),j("span",{className:"sf-theme-body",children:l("body text")}),Ko("span",{className:"sf-theme-row",children:[j("span",{className:"sf-theme-btn",style:{background:t,color:Os(e,o.accent)},children:l("button")}),j("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var gi={"Text color":j(em,{}),"Label color":j(TT,{}),Background:j(wT,{}),"Panels & cards":j(vT,{}),Borders:j(kT,{}),"Button color":j(bT,{}),"Button text color":j(em,{})};function PT({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return j(qe,{label:l(e),icon:gi[e],id:n,value:t,onChange:s=>r(o,s)})}function FT({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 j(qe,{label:l("Button color"),icon:gi["Button color"],id:a,value:s,caption:n?s:l("Main"),onChange:t})}function ET({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=uu(e),s=Os(e,o),i=Lr(e)??o,f=qt(Uo(s,i)??0);return j(qe,{label:l("Button text color"),icon:gi["Button text color"],hint:n&&f!=="good"?l("{grade} on the button",{grade:l($t[f])}):void 0,id:a,value:s,caption:n?s:l("Auto"),onChange:t})}var OT=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{moduleBreak:!0},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function yi({colors:e,onChange:o,idPrefix:t}){let r=Io(e);return j(hT,{children:OT.map(a=>"colour"in a?j(Jp,{value:e,onChange:o},"colour"):"moduleBreak"in a?j("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in a?j(FT,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?j(ET,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):j(PT,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function In({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:f}){let d=Io(o),p=Wr(e),m=e<Es.length&&!o.brandInk?Es[e]:null,x=qt(Uo(d.text,d.background)??0),I=m?JSON.stringify(o)!==JSON.stringify(m):!1,y=a!==void 0;return Ko("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[j("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:j(om,{colors:o})}),Ko("div",{className:"sf-theme-foot",children:[j("span",{className:"sf-theme-name",children:p}),x!=="good"&&j("span",{className:"sf-theme-warn",children:l($t[x])}),n&&i&&y&&j("span",{className:"sf-theme-edit",children:j(yT,{content:a?l("Collapse"):l("Edit colors"),children:j(gT,{size:"sm","aria-expanded":a,"aria-controls":`sf-theme-colours-${e}`,"aria-label":a?l("Collapse {name}",{name:p}):l("Edit colors for {name}",{name:p}),onClick:i,children:a?j(CT,{size:14}):j(ST,{size:14})})})}),n&&i&&!y&&j(hi,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:p}),onClick:i,children:l("Edit")})]}),a&&Ko("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[j(yi,{colors:o,onChange:k=>f?.(k)}),m&&j(hi,{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 tm({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:f,onEdit:d}){return Ko("div",{className:"sf-secttheme-btn",children:[j("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?j(om,{colors:e}):j("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Ko("div",{className:"sf-theme-foot",children:[j("span",{id:t,className:"sf-theme-name",children:o}),d&&j(hi,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:d,children:l("Edit")}),j("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:j("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as ki,useEffect as sm,useRef as bn}from"react";import{currentEaselSession as AT}from"efficient-easel/screen/lib/session";import{useEaselSession as BT}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as LT}from"react";var am,bi=null,bt=null,hn=0,Si=new Set;function Ci(e){am=e;for(let o of Si)o()}function wi(e){bi=e,hn+=1,bt&&clearTimeout(bt),bt=null,Ci(void 0)}function nm(e){hn+=1,Ci(e)}function gn(e=250){bi&&(bt&&clearTimeout(bt),bt=setTimeout(()=>{bt=null;let o=bi;if(!o)return;let t=++hn;o().then(r=>{t===hn&&Ci(r)}).catch(()=>{})},e))}function rm(){return am}function RT(e){return Si.add(e),()=>{Si.delete(e)}}function yn(){return LT(RT,rm,rm)}var vi=new Set;function lm(e){return vi.add(e),()=>{vi.delete(e)}}async function aW(){let e=(await Promise.allSettled([...vi].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as DT}from"efficient-easel/screen/lib/backend-error";function im(e=AT()){return(o,t,r)=>{let a=Se(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new DT("invalid","This backend stores no site theme."))}}function fm(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function _T(e,o=im()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=fm({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 Yt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=bn(null),n=bn({}),s=BT(),i=bn(r);i.current=r;let f=bn(null),d=ki(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=ki(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let I=await _T({themeFromDocument:e,token:o?.current,siteId:t,patch:x},im(s));return d(I),I.status==="saved"&&gn(),I.status==="failed"&&(n.current={...x,...n.current}),I},[e,o,t,d,s]),m=ki((x,I=!1)=>{let y=fm({themeFromDocument:e,token:o?.current});if(y){d(y);return}n.current={...n.current,...x},a.current&&clearTimeout(a.current),I?p():a.current=setTimeout(()=>{p()},500)},[e,o,p,d]);return sm(()=>()=>{p()},[p]),sm(()=>lm(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 $T="Follow the page",kW="Follow the slideshow",qT=e=>l("Editing {name} changes it everywhere.",{name:e});function jT({colors:e}){if(!e)return ge("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Io(e);return St("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ge("i",{style:{background:o.background}}),ge("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function KT({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return St("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&St(NT,{children:[St("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(ln),children:[ge(jT,{}),ge("span",{className:"sf-secttheme-name",children:l(n)})]}),ge("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ge("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:Wr(o)})}),e.map((s,i)=>i===o?null:ge(In,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function VT({index:e,colors:o,onChange:t,onDone:r}){let a=Wr(e),n=um();return St("div",{className:"sf-secttheme-sheet",children:[St("div",{className:"sf-secttheme-sheet-head",children:[ge("span",{children:a}),ge("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:l("Done")})]}),ge("div",{className:"sf-secttheme-rows",children:ge(yi,{colors:o,onChange:t,idPrefix:n})}),ge("p",{className:"sf-secttheme-warn",children:qT(a)})]})}function pm({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=V(),s=He(a),i=HT(UT),f=i?.tokenRef,d=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=Yt({themeFromDocument:p,tokenRef:f,siteId:d}),I=He(s),y=I.themes,k=ei(e),v=k!==null?y[k]:void 0,C=v??(y.length?Ut(I):void 0),[S,h]=dm(!1),[b,O]=dm(null),E=cm(null),T=cm(null),P=um(),B=MT(()=>{h(!1),O(null)},[]);WT(()=>{if(!S&&b===null)return;let A=W=>{E.current&&!E.current.contains(W.target)&&(x(),B())};return document.addEventListener("mousedown",A),()=>document.removeEventListener("mousedown",A)},[S,b,B,x]);let H=A=>{o(A),B()},R=A=>{if(b===null)return;let W=y.map((te,ie)=>ie===b?A:te),_={...I,themes:W};n(_),m({selected_preset:_.selected,theme_presets:_.themes})};return St("div",{className:"sf-secttheme",ref:E,children:[ge(GT,{label:l("Theme"),icon:ge(zT,{}),labelId:`${P}-label`,hint:r,children:ge(tm,{colors:C,onEdit:k!==null?()=>{O(k),h(!1)}:void 0,name:v?Wr(k):l(t??$T),nameId:`${P}-value`,labelId:`${P}-label`,open:S,menuId:P,buttonRef:T,onClick:()=>{O(null),h(A=>!A)},onKeyDown:A=>{A.key==="Escape"&&(S||b!==null)&&(A.preventDefault(),B())}})}),S&&b===null&&ge("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),B(),T.current?.focus())},children:ge(KT,{themes:y,value:k,onPick:H,onEdit:A=>{O(A),h(!1)},menuId:P,followLabel:t})}),b!==null&&y[b]&&ge(VT,{index:b,colors:y[b],onChange:R,onDone:()=>{x(),B(),T.current?.focus()}})]})}import{jsx as mm}from"react/jsx-runtime";import{useId as YT}from"react";import{FieldSelect as XT}from"efficient-easel/fields";import{SettingsField as ZT}from"efficient-easel/panel";function QT(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 RW({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let f=YT(),d=`${f}-label`,p=`${f}-button`,m=r??"",x=o.some(v=>v.value===m)?m:t,I=l(e),y=n===void 0?void 0:l(n),k=mm(XT,{id:p,value:x,options:QT(o),onChange:a,placeholder:y,searchPlaceholder:y,...s?{ariaLabel:I}:{ariaLabelledBy:`${d} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?k:mm(ZT,{label:I,labelId:d,icon:i,children:k})}import{jsx as vt,jsxs as P0}from"react/jsx-runtime";import{SettingsField as _m}from"efficient-easel/panel";import{LinkIcon as F0}from"efficient-easel/icons";import{LinkPicker as E0,TextLinkField as O0}from"efficient-shell/ui";import{useEffect as Dm,useMemo as vn,useRef as L0,useState as wn}from"react";import{currentEaselSession as JT}from"efficient-easel/screen/lib/session";function xm(){return JT().auth.token}import{currentEaselSession as R0}from"efficient-easel/screen/lib/session";import{useScreenDocument as A0}from"efficient-easel/screen/components/ScreenDocumentContext";var e0=()=>({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"),choosePopup:l("Choose a popup")});function Im(e,o,t){if(!e)return"page";if(sp(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(cp(e))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 Ti(e,o){let t=e0(),r=e.pages.map(p=>({value:Dr(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:fp(...p.docs).map(m=>({value:nn(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:ip(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"popup":return{type:"select",options:(e.popups??[]).map(m=>({value:lp(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},f=np(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"||p.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:f,rules:{kindOf:p=>Im(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let d=p=>{let m=o.withFilter(p,null);return o.listingPaths.includes(m)?m:p};return{kinds:f,rules:{kindOf:p=>Im(p,n,{listingPaths:o.listingPaths,targetOf:d}),targetOf:d,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:p=>o.listingPaths.includes(p)?o.filtersFor(p):null}}import{useEaselSession as B0}from"efficient-easel/screen/lib/session-context";function we(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 hm(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function Ct(e,o){return typeof e=="boolean"?e:o}function Sn(e,o){if(!Array.isArray(e))return o;let t=e.map(r=>typeof r=="string"?r:we(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var gm="cart-drawer",zW="cart-drawer",o0={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 GW(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function UW(e){let o=e??{},t=o0;return{kickerBadge:we(o.kickerBadge,t.kickerBadge),kickerText:we(o.kickerText,t.kickerText),titleLead:we(o.titleLead,t.titleLead),titleAccent:we(o.titleAccent,t.titleAccent),subtitleEmpty:we(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:we(o.subtitleOne,t.subtitleOne),subtitleMany:we(o.subtitleMany,t.subtitleMany),leadTimeValue:we(o.leadTimeValue,t.leadTimeValue),shipsToFallback:we(o.shipsToFallback,t.shipsToFallback),promises:Sn(o.promises,t.promises),emptyKicker:we(o.emptyKicker,t.emptyKicker),emptyBody:we(o.emptyBody,t.emptyBody)}}var bm="consent-banner",jW="consent-banner";var t0=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],KW="Layout",ym={layout:"bar"},r0=e=>t0.some(o=>o.value===e);function VW(e){let o=we((e??{}).layout,ym.layout);return{layout:r0(o)?o:ym.layout}}var a0=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],ZW={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"},n0={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"},QW={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 l0(e){return typeof e=="string"&&Lo.includes(e)?e:null}function Sm(e){let o={};for(let t of a0){let r=l0(e[n0[t]]);r&&(o[t]=r)}return o}var wm=["delay","scroll","exit"],vm=["all","chosen","except"],km=["visit","days","never","once"],s0=["all","desktop","phone"],i0=["stop","continue"],Tm={min:0,max:60},Pm={min:10,max:90},Fm={min:1,max:90},Qe={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Ze(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Xt(e,o,t){let r=hm(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function f0(e){return typeof e.hideAfter=="string"?Ze(km,e.hideAfter,Qe.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":Qe.hideAfter}function c0(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function Cm(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function Em(e){let o=e??{},t=Qe;return{autoOpen:Ct(o.autoOpen,t.autoOpen),trigger:Ze(wm,o.trigger,t.trigger),autoOpenDelaySec:Xt(o.autoOpenDelaySec,Tm,t.autoOpenDelaySec),scrollPercent:Xt(o.scrollPercent,Pm,t.scrollPercent),showOn:Ze(vm,o.showOn,t.showOn),showOnPages:c0(o.showOnPages),devices:Ze(s0,o.devices,t.devices),hideAfter:f0(o),hideDays:Xt(o.hideDays,Fm,t.hideDays),afterSubmit:Ze(i0,o.afterSubmit,t.afterSubmit),startDate:Cm(o.startDate),endDate:Cm(o.endDate)}}var Zt="site-footer";var tz=Zt,rz={desktop:!0,tablet:!0,mobile:!0},az={desktop:!1,tablet:!1,mobile:!1},Pi=1,Om=6,nz=Array.from({length:Om-Pi+1},(e,o)=>Pi+o),Cn={desktop:6,tablet:3,mobile:2},d0={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}},wt=e=>Math.min(Math.max(Math.round(e),Pi),Om);function lz(e){if(typeof e=="number")return d0[wt(e)]??{desktop:wt(e),tablet:wt(e),mobile:wt(e)};if(e&&typeof e=="object"){let o=e;return{desktop:wt(o.desktop??Cn.desktop),tablet:wt(o.tablet??Cn.tablet),mobile:wt(o.mobile??Cn.mobile)}}return{...Cn}}var Fi="subscribe-popup",mz="subscribe-popup",u0=[Fi,Zt,gm,bm];function Rm(e){return u0.includes(e)}var p0=["right","left"],m0={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
3
|
+
*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:Qe.autoOpen,autoOpenDelaySec:Qe.autoOpenDelaySec,formSlug:"",trigger:Qe.trigger,scrollPercent:Qe.scrollPercent,showOn:Qe.showOn,showOnPages:[],hideAfter:Qe.hideAfter,hideDays:Qe.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},de=we,x0=Ct,Am=Sn;function Lm(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 I0(e,o){return Array.isArray(e)?Am(e,[]):o}function h0(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:de(r.label,""),value:de(r.value,"")}}).filter(t=>t.label||t.value):o}function Iz(e){let o=e??{},t=m0,r=Em(o);return{metaLabel:de(o.metaLabel,t.metaLabel),issueLabel:Lm(o.issueLabel,t.issueLabel),issueNumber:Lm(o.issueNumber,t.issueNumber),kicker:de(o.kicker,t.kicker),heading:de(o.heading,t.heading),deck:de(o.deck,t.deck),stats:h0(o.stats,t.stats),formLabel:de(o.formLabel,t.formLabel),formHeading:de(o.formHeading,t.formHeading),formIntro:de(o.formIntro,t.formIntro),firstNameLabel:de(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:de(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:de(o.emailLabel,t.emailLabel),emailPlaceholder:de(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:de(o.interestsLabel,t.interestsLabel),interests:Am(o.interests,t.interests),frequencyLabel:de(o.frequencyLabel,t.frequencyLabel),frequencies:I0(o.frequencies,t.frequencies),submitText:de(o.submitText,t.submitText),finePrint:de(o.finePrint,t.finePrint),dismissText:de(o.dismissText,t.dismissText),emailInvalidText:de(o.emailInvalidText,t.emailInvalidText),submitErrorText:de(o.submitErrorText,t.submitErrorText),successHeading:de(o.successHeading,t.successHeading),successBody:de(o.successBody,t.successBody),keepBrowsingText:de(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:r.autoOpen,autoOpenDelaySec:r.autoOpenDelaySec,trigger:r.trigger,scrollPercent:r.scrollPercent,showOn:r.showOn,showOnPages:r.showOnPages,hideAfter:r.hideAfter,hideDays:r.hideDays,formSide:Ze(p0,o.formSide,t.formSide),valuePanelOnPhone:x0(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Sm(o)}}var Ei="popup",g0=$o,y0=["auto","full"],b0=["inside","outside","none"],S0={min:240,max:1440},C0={min:0,max:100},w0={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:"#000000",tintOpacity:60,outsideClick:!0,closeButton:"inside"};function v0(e,o){return typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e.trim())?e.trim():o}function Sz(e){let o=e??{},t=w0;return{placement:Ze(g0,o.placement,t.placement),fullWidth:Ct(o.fullWidth,t.fullWidth),width:Xt(o.width,S0,t.width),height:Ze(y0,o.height,t.height),tintColor:v0(o.tintColor,t.tintColor),tintOpacity:Xt(o.tintOpacity,C0,t.tintOpacity),outsideClick:Ct(o.outsideClick,t.outsideClick),closeButton:Ze(b0,o.closeButton,t.closeButton)}}function k0(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function T0(e){return{root:{props:{title:e,kind:Ei}},content:[],zones:{}}}function Bm(e,o,t){return{slug:k0(o,t),title:e,kind:"lightbox",layout:T0(e)}}function Oi(e){return e?.root?.props?.kind===Ei}function Nm(e){let o=new Map;return(t="")=>{let r=xm(),a=o.get(t);if(!a||a.token===null&&r!==null){let n=r||!R0().usesBridgedToken?e(r??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:r}),n}return a.promise}}var D0=Nm(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:r}=Se();return r.linkTargets?r.linkTargets(t):(await r.list(t)).map(a=>({id:a.id,slug:a.slug,label:a.label,layout:null}))}),_0=Nm(async(e,o)=>await Se().blog?.posts(o?{siteId:o}:void 0)??[]);function N0({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=vn(()=>Ti(r,a),[r,a]),s=l(t);return vt(_m,{label:s,icon:vt(F0,{}),children:vt(E0,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function Mm(){let{siteId:e,capabilities:o}=A0(),{offersCommerce:t,hasBlog:r}=o,[a,n]=wn([]),[s,i]=wn([]),[f,d]=wn([]),[p,m]=wn(null),x=B0().chrome,I=x?.products?.list,y=x?.linkFilters,k=y?void 0:x?.linkRow,v=L0(!0);Dm(()=>(v.current=!0,()=>{v.current=!1}),[]),Dm(()=>{let h=!0;return D0(e??void 0).then(b=>h&&v.current&&n(b)),r&&_0(e??void 0).then(b=>h&&v.current&&i(b)),t&&I?.().then(b=>h&&v.current&&d(b)),t&&y?y.load(e).catch(()=>null).then(b=>h&&v.current&&m(()=>b)):m(null),()=>{h=!1}},[e,t,r,I,y]);let C=vn(()=>({pages:a.filter(h=>!Rm(h.slug)&&!Oi(h.layout)).map(h=>({slug:h.slug,title:h.label,docs:[h.layout]})),popups:a.filter(h=>h.slug===Fi||Oi(h.layout)).map(h=>({slug:h.slug,title:h.label})),posts:r?s.map(h=>({slug:h.slug,title:h.title})):[],products:t?f.map(h=>({href:h.href,name:h.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,f,t,r]),S=vn(()=>p?p(C.pages):null,[p,C]);return{data:C,filters:S,pages:a,offersCommerce:t,HostLinkRow:k}}function Wz({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=Mm(),f=vn(()=>Ti(s,i),[s,i]),d=l(e);return vt(_m,{label:d,icon:o,children:vt(O0,{label:d,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:f.kinds,rules:f.rules,filtersFor:f.filtersFor})})}function Hm({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:f}=Mm(),d=a.pages.map(m=>Dr(m.slug)),p=i&&f&&(r==="/"||d.includes(r))?f:void 0;return P0("div",{children:[vt(N0,{value:r,onChange:o,label:t,data:a,filters:n}),p&&vt(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as zx}from"efficient-easel/draw/client";var Je={min:10,max:200,step:10};function Wm(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 M0="sf-pad-top-phone",H0="sf-pad-bottom-phone",W0="--sf-pad-t-phone",z0="--sf-pad-b-phone",G0="sf-pad-left-phone",U0="sf-pad-right-phone",$0="--sf-pad-l-phone",q0="--sf-pad-r-phone";function Um(e,o,t,r,a,n,s,i){let f=Wm(e,o)??{},d={},p=["sf-section-pad"];typeof t=="number"&&(p.push(M0),d[W0]=`${t}px`),typeof r=="number"&&(p.push(H0),d[z0]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(G0),d[$0]=`${s}px`),typeof i=="number"&&(p.push(U0),d[q0]=`${i}px`),p.length===1&&Wm(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...f,...m,...d}}}var zm=e=>typeof e=="number"?e:void 0;function Gm(e,o,t){let r=zm(e)??t,a=zm(o);return r===void 0?a:a===void 0?r:r+a}function Gz(e,o={}){return{top:Gm(e.padTop,e.sectionPaddingTop,o.top),bottom:Gm(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 Um(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 Um(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var j0=["auto","fixed","screen"],K0=["px","%"];var V0="var(--sf-header-h, 88px)",Li={min:40,max:2e3,step:10,fallback:600},Ri={min:10,max:200,step:5,fallback:100},Y0="sf-section-minh",$m={base:"--sf-section-minh",small:"--sf-section-minh-s"},jm=e=>typeof e=="string"&&j0.includes(e),X0=e=>typeof e=="string"&&K0.includes(e);function kn(e){let o=jm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":X0(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?Ri.fallback:Li.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function Km(e){let{mode:o,value:t,unit:r}=kn(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${V0})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function Z0(e){let o=Km(e);if(!o)return;let[t,r]=o;return{display:"grid",[$m.base]:t,...r?{[$m.small]:r}:{}}}var Kz=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Qt="Height",Q0="sf-section-minh-phone",qm={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Ai(e){return jm(e.sectionHeightModePhone)}function Vz(e){return kn({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function J0(e){let o=Z0(e),t=Ai(e)?Km({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[Y0],a={...o??{}};return t&&(r.push(Q0),a[qm.base]=t[0],t[1]&&(a[qm.small]=t[1])),{className:r.join(" "),style:a}}function Yz(e){return J0(e)!==null}var Tn="Stick to top",Vo={min:0,max:200,step:4,fallback:0},eP="sf-section-stick",oP="sf-section-stick-phone-on",tP="sf-section-stick-phone-off",Vm={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},Zz=new Set(["CategoryBar","DocTabs","IntroBleed"]);function Ym(e){let o=typeof e=="number"&&Number.isFinite(e)?e:Vo.fallback;return Math.min(Vo.max,Math.max(Vo.min,Math.round(o)))}function Bi(e){return typeof e.stickTopPhone=="boolean"}function Di(e){let o=e.stickTop===!0,t=Ym(e.stickTopDistance),r=Bi(e),a=r?e.stickTopPhone===!0:o,n=r?Ym(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function Qz(e){let o=Di(e);if(!o.desktop&&!o.phone)return null;let t=[eP],r={};return o.desktop&&(r[Vm.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?oP:tP),o.phone&&(r[Vm.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var rP=["column","row","tabs"],Xm="Direction",aP={column:"Stacked",row:"One row",tabs:"Tabs"},Zm={Flex:rP,HeroGroup:["column","row"]},nP={Flex:"row",HeroGroup:"column"},lP={column:"flex-col",row:"flex-row",tabs:"flex-col"};function Pn(e,o){return Zm[e].includes(o)?o:nP[e]}function eG(e,o){return lP[Pn(e,o)]}function Qm(e){return Zm[e].map(o=>({label:aP[o],value:o}))}var _i=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],ox=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],tx="Wrap",Ni=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],Jm={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},ex={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function tG(e,o){let t=typeof e=="string"&&e in Jm?Jm[e]:"",r=typeof o=="string"&&o in ex?ex[o]:"";return[t,r].filter(Boolean).join(" ")}function rG(e){return e===!0||e==="wrap"?"flex-wrap":""}var Mi="Block widths",Fn=[{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]}],zr="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",sP={equal:zr,bigLeft:`${zr} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${zr} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${zr} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${zr} [&>*:last-child]:min-[800px]:grow-[3]`};function aG(e){return typeof e=="string"?sP[e]??"":""}var rx="Columns",Hi=1,ax=3,iP={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 iP[o]??"max-[800px]:flex-col"}var nx="Block spacing",Wi=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],fP="sf-box-gap-only";function lG(e){return e==="gap"?fP:""}var cP=["solid","dashed","dotted"],dP=["top","right","bottom","left"],iG="sf-section-border",fG="sf-section-border-self",uP=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,lx=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function sx(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of dP){let n=lx(e[a])??lx(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&cP.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&uP.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function cG(e,o){let t=sx(e),r=sx(o,{phone:!0});return t||r?{...t,...r}:void 0}var cx="sf.gapContainer",Yo={min:-32,max:64,step:2},dx={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},Jt={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},pP=new Set(["Events","GalleryB"]);function Gr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min)return o;if(typeof o=="string"){let r=dx[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:Jt[e]}var mP="sf-gap-overlap",xP="--sf-gap-overlap",ux="--sf-block-gap",IP="--sf-block-gap-rem",kt={min:0,max:Yo.max,step:Yo.step};function hP(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),kt.min),kt.max);return o-o%kt.step}function uG(e){let o=hP(e);return o===null?{}:{[ux]:`${o}px`,[IP]:`${o/16}rem`}}var ix="sf-gap-zone",fx="--sf-gap-len";function zi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min?!0:typeof o=="string"&&typeof dx[e]?.[o]=="number"}var gP={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function pG(e,o,t){if(!zi(e,o)){let a=`${Jt[e]}px`,n=pP.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${ix}`,style:{[fx]:`var(${ux}, ${n})`}}}let r=Gr(e,o);return r>=0?{className:` ${ix}`,style:{[fx]:`${r}px`}}:{className:` ${mP} ${gP[t]}`,style:{gap:"0px",[xP]:`${-r/2}px`}}}var px=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],mx={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},En="var(--section-bg)",On="inherit";function xG(e,o){return e===On?En:e===void 0?o:Ln(e)}var yP=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Ln(e){return e.replace(yP,"var(--site-$1")}function xx(e,o){return e===On?!0:e===void 0&&o===En}var Ix=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],hx={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},er="var(--wheel-stage)",Rn="transparent",Ur="inherit";function gG(e,o){return Ln(Gi(e,o))}function Gi(e,o){return e===Ur?er:e==null?o:e===!0?er:e===!1?Rn:e}function yG(e){return typeof e=="string"&&e!==Ur?Ln(e):er}function bG(e){return e!==Rn&&e!=="none"&&e!==""}function gx(e,o){return e===Ur||e===!0?!0:e==null?o===er:!1}var yx="inherit",An="fixed",bx=e=>typeof e!="number"&&e!==An,bP="var(--sf-heading-max, 9999px)";function CG(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===An)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${bP})`:a}var pe={min:1e3,max:2e3,step:50,default:1600};function SP(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var Sx="--sf-site-width",Ui=`var(${Sx},${pe.default}px)`,vG=`max-w-[${Ui}]`,kG=`max-w-[${pe.default}px]`;function CP(e){return typeof e!="number"||!Number.isFinite(e)?pe.default:Math.round(Math.min(Math.max(e,pe.min),pe.max))}function TG(e){let o=CP(e);return o===pe.default?{}:{[Sx]:`${o}px`}}var Co={min:0,max:80,step:4,default:40},Cx="--sf-site-gutter",eo=`var(${Cx},${Co.default}px)`,wP=`px-[${eo}]`;var Xo={md:`min(24px,${eo})`,sm:`min(20px,${eo})`,frame:`min(24px,${eo})`,tabs:`min(16px,${eo})`},PG=[[`max-[1100px]:px-[${Xo.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${Xo.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${Xo.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Xo.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${Xo.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${Xo.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${Xo.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${Xo.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${eo}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${eo})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${eo})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${eo})]`,"max-[720px]:-mx-5"],[`-mx-[${eo}]`,"-mx-10"],[wP,"px-10"]];var FG="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))]",EG="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 vP(e){return typeof e!="number"||!Number.isFinite(e)?Co.default:Math.round(Math.min(Math.max(e,Co.min),Co.max))}function OG(e){let o=vP(e);return o===Co.default?{}:{[Cx]:`${o}px`}}var wx=Ui,LG=`max-w-[${wx}]`,RG=`max-w-[min(var(--sf-page-cap,${pe.default}px),${pe.default}px)]`,vx="--sf-hero-cap",kP=`var(${vx},none)`,AG=`max-w-[${kP}]`,TP="--sf-hero-bleed-m",PP="--sf-hero-bleed-w",FP="--sf-hero-chrome-x",EP="--sf-hero-chrome-cap";function BG(e){return e===!0?{[vx]:wx,[TP]:"auto",[PP]:"100%",[FP]:"24px",[EP]:"none"}:{}}var $i=`calc(${Ui} - ${eo}*2)`,DG=`max-w-[${$i.replace(/ /g,"_")}]`;var OP="--sf-chrome-cap",LP=`var(${OP},${$i})`,_G="data-page-width";function NG(e){return e==="full"?"full":null}function MG(e){return e==="full"?null:SP(e==="content"?$i:LP)}function HG(e){if(e==="full")return"full";if(e==="content")return"content"}var RP=["contained","page","full"],Tx=["full","page"],or={full:"Full width",page:"Content width"},ji="inherit",AP=e=>typeof e=="string"&&RP.includes(e),Px=e=>e===ji;function Bo(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:pe.default;return Px(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:AP(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 Ki(e){return Bo(e,"page").mode==="full"}var $r="site",Fx={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 BP(e){return Object.prototype.hasOwnProperty.call(Fx,e)}var qi=e=>e==="full"||e==="content",DP=e=>typeof e=="number"&&Number.isFinite(e)&&e>0,kx=({widthMode:e,fullWidth:o,pageWidth:t})=>({widthMode:e,fullWidth:o,pageWidth:t});function _P(e,o){let t={background:null,content:null,contentMax:null};switch(e){case"hero":return Px(o.widthMode)||o.widthMode!=="full"?t:{...t,background:"full"};case"scrollOver":return o.fullWidth===!1?t:{...t,content:"full"};case"background":return Bo(o,"full").mode==="full"?t:{...t,background:"content"};case"both":return Bo(o,"full").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contained":return Bo(o,"page").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contentColumn":return Bo(kx(o),"page").mode==="full"?{...t,content:"full"}:t;case"contentFull":return Bo(kx(o),"full").mode==="full"?{...t,content:"full"}:t;case"productGrid":{let r=Bo(o,"full");return r.mode==="full"?{...t,content:"full"}:{background:"content",content:"content",contentMax:r.pageWidth}}case"capped":return{...t,background:"content"}}}function Vi(e,o){if(!BP(e))return{background:null,content:null,contentMax:null};let t=Fx[e],r=o,a=_P(t,r),n=r.backgroundWidth===$r?null:qi(r.backgroundWidth)?r.backgroundWidth:a.background;return r.contentWidth===$r?{background:n,content:null,contentMax:null}:qi(r.contentWidth)?{background:n,content:r.contentWidth,contentMax:r.contentWidth==="content"&&DP(r.contentMax)?r.contentMax:null}:{background:n,content:a.content,contentMax:a.contentMax}}var Ex="siteWidths";function Bn(e){return qi(e)?e:null}function Ox(e,o){return{[Ex]:{background:Bn(e),content:Bn(o)}}}function GG(e){let o=e.editor?.metadata?.[Ex];return{background:Bn(o?.background),content:Bn(o?.content)}}import{jsx as NP}from"react/jsx-runtime";import{createContext as MP,useContext as HP}from"react";var WP=2,zP=WP+1,Lx=MP(2);function Rx({tier:e,children:o}){return NP(Lx.Provider,{value:e,children:o})}function Ax(e){let o=HP(Lx);return zP+Math.max(0,e-o)}import{withStyleKind as KF}from"efficient-easel/style-clipboard";import{useEaselSession as VF}from"efficient-easel/screen/lib/session-context";var Yi=e=>!!e&&typeof e=="object"&&typeof e.type=="string"&&!!e.props&&typeof e.props=="object";function Xi(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function GP(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function Zi(e,o,t,r){e.forEach((a,n)=>{if(Yi(a)){r.push({node:a,list:e,index:n,parent:o,slot:t});for(let[s,i]of Object.entries(a.props))Array.isArray(i)&&i.some(Yi)&&Zi(i,a,s,r)}})}function UP(e){let o=[];Zi(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&Zi(t,null,"",o);return o}function Dx(e,o){return UP(e).find(t=>String(t.node.props.id)===o)}function _x(e,o,t){if(!t)return null;let r=Dx(o,t);if(!r)return null;let a=Xi(e,r.node.type),n=r.parent?`${Xi(e,r.parent.type)} \xB7 ${GP(r.slot)} ${r.index+1}`:a;return{blockId:t,type:r.node.type,label:n,path:""}}var Nx="sfDescribedAs";function Zo(e,o){return{...e,[Nx]:o}}var $P=e=>e.filter(o=>!!o&&typeof o=="object"&&"value"in o).map(o=>typeof o.label=="string"?{value:o.value,label:o.label}:{value:o.value});function qP(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[Nx]:void 0,r={type:t?.type??o.type},a=t?.label??o.label;typeof a=="string"&&(r.label=a);let n=t?.options??o.options;Array.isArray(n)&&(r.options=$P(n));for(let s of["arrayFields","objectFields"]){let i=t?.[s]??o[s];i&&typeof i=="object"&&(r[s]=Mx(i))}return r}function Mx(e){let o={};for(let[t,r]of Object.entries(e??{})){let a=qP(r);a&&(o[t]=a)}return o}function Hx(e){let o={};for(let[t,r]of Object.entries(e.components))r&&(o[t]={label:Xi(e,t),fields:Mx(r.fields)});return o}function jP(e,o){let t=e;for(let r of o?o.split("."):[]){let a=/^([A-Za-z_][A-Za-z0-9_]*)(?:\[(\d+)\])?$/.exec(r);if(!a||!t||typeof t!="object")return null;t=t[a[1]],a[2]!==void 0&&(t=Array.isArray(t)?t[Number(a[2])]:void 0)}return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Qi(e,o){return e.findIndex(t=>Yi(t)&&String(t.props.id)===o)}function Bx(e,o,t){let r=o||t;if(!r)return e.length;let a=Qi(e,r);if(a<0)throw new Error(`there is no top-level block ${r}`);return o?a+1:a}function Wx(e,o,t,r){let a=structuredClone(o),n=Array.isArray(a.content)?a.content:a.content=[];try{t.forEach((s,i)=>{let f=d=>{throw new Error(`change ${i+1}: ${d}`)};switch(s.op){case"set_props":{let d=Dx(a,s.block_id)??f(`there is no block ${s.block_id}`);"id"in s.props&&f("a block's id is never changed");let p=jP(d.node.props,s.path)??f(`there is no ${s.path} in that block`);Object.assign(p,structuredClone(s.props));break}case"insert_block":{let d=e.components[s.type]??f(`there is no block type ${s.type}`),p=d.defaultProps&&typeof d.defaultProps=="object"?d.defaultProps:{},m={type:s.type,props:{...structuredClone(p),...structuredClone(s.props),id:r(s.type)}};n.splice(Bx(n,s.after,s.before),0,m);break}case"remove_block":{let d=Qi(n,s.block_id);d<0&&f(`there is no top-level block ${s.block_id}`),n.splice(d,1);break}case"move_block":{let d=Qi(n,s.block_id);d<0&&f(`there is no top-level block ${s.block_id}`);let[p]=n.splice(d,1);n.splice(Bx(n,s.after,s.before),0,p);break}default:f(`"${s.op}" is not a change this editor makes`)}})}catch(s){return{ok:!1,reason:s instanceof Error?s.message:String(s)}}return{ok:!0,document:a}}import{TEXT_CONTROL_KINDS as f$,SCALAR_TEXT_CONTROLS as c$}from"efficient-easel/draw";function et(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!No(t)&&KF(t,`section:${o}`);return e}function fI(){return null}function nf(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return g(fI,{},e)}function YF(e){return e.type===fI}function wo(e){return YF(e)?void 0:e}function Pt(e,o){return l("{value} from {from}",{value:e,from:o})}function XF(){let{appState:e}=Kr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=Bo(o,"full");return t==="page"?Pt(`${r}px`,l("the page")):t==="contained"?Pt(l("Contained"),l("the page")):Pt(l("Full"),l("the page"))}function ZF(){let{blockGap:e}=V();return e===null?l("this container's own spacing"):Pt(`${e}px`,l("Styles"))}function QF({inherited:e,onReset:o,label:t}){return g(Ee,{words:X()?.panel,label:l(t),changed:!e,detail:ZF(),onReset:o})}function JF({inherited:e,onReset:o,label:t}){return g(Ee,{words:X()?.panel,label:l(t),changed:!e,detail:XF(),onReset:o})}function Ft({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:f,hidden:d}=Jo(e),p=of(null),m=of(null),x=S=>o(s?{text:S,hidden:d}:S),I=()=>o({text:f,hidden:!d}),y=s&&d,k=VP(),v=a?aE(a)?g("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):g(rp,{children:l(a)}):void 0,C=d?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return g(re,{label:l(t),icon:g(TF,{}),htmlFor:k,className:y?"is-hidden":void 0,hint:v,action:s?g(iI,{content:C,children:g("button",{type:"button",className:"sf-field-eye","aria-pressed":d,"aria-label":C,onClick:I,children:d?g(zx,{name:"eye-off",size:14}):g(zx,{name:"eye",size:14})})}):void 0,children:Do("div",{className:"sf-copybox",children:[i&&g(si,{target:n?m:p,value:f,onChange:x}),n?g("textarea",{id:k,ref:m,value:f,placeholder:r===void 0?void 0:l(r),onChange:S=>x(S.target.value)}):g("input",{id:k,ref:p,type:"text",value:f,placeholder:r===void 0?void 0:l(r),onChange:S=>x(S.target.value)})]})})}function a$(e,o){return{...e,[QP]:o}}function n$(e){let o=e[_o];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[_o]:{...o,offPage:!0}}}function Nn(e){return!e||typeof e!="object"?!1:e[_o]?.offPage===!0}var cI="sfPanelOnly";function l$(e){if(!e[_o])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[cI]:!0}}function dI(e){return!!e&&typeof e=="object"&&e[cI]===!0}function s$(e){let o=e[_o];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[_o]:{...o,identifier:!0}}}function d$(e,o){if(!e[_o])throw new Error("inOwnBox: the field holds no authored text");let{[qF]:t,...r}=e;return{...r,[ii]:!0,render:o}}var eE=new Set(jF),tf={type:"radio",options:[{value:!0},{value:!1}]},uI={text:{type:"object",objectFields:{text:{type:"text"},hidden:tf}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:tf}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Et=(e,o)=>{let t=Zo({...o,[_o]:e},{...uI[e.control],label:e.label});if(!eE.has(e.control))return t;let r=o.render;return{...Vr(t,"authored-copy"),render:a=>g(Gp,{name:a.name,children:r(a)})}},u$="Everything else on this block comes from the linked post. Unlink it to edit by hand.",oE={field:"source.slug",set:!0},p$={not:oE},tE="Select a word, then press the highlighter.",rE=new Set([tE]),aE=e=>rE.has(e);function m$(e,o,t){return Et({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function x$(e,o,t){return Et({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function I$(e,o,t){return Et({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function h$(e,o,t){return Et({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function g$(e){return{type:"custom",[XP]:{label:e},...Zo({},{type:"text",label:e}),render:({value:o,onChange:t})=>g(Hm,{value:YP(o),onChange:t,label:e})}}function y$(e,o,t){return Et({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var pI={Design:JP,Animation:Yx};function mI(e,o){return e.includes("Design")?o!=="Design":null}function xI(e,o){return{type:"custom",[af]:{label:e,level:o},marker:!0,fold:e,render:()=>g(oo,{})}}function ve(e){return xI(e,2)}function b$(e){return{type:"custom",render:()=>g(nE,{text:e})}}function nE({text:e}){return g("p",{className:"sf-note",children:l(e)})}function S$(e){return xI(e,1)}function C$(e){return No(e)!==null&&e?.tabs!==void 0}var Gx=new Map;function Mn(e,o){let t=`${e}\0${o?o.join(""):""}`,r=Gx.get(t)??{type:"custom",tabs:o,[af]:{label:e,level:1},bucket:e,marker:!0,render:()=>g(oo,{})};return Gx.set(t,r),r}var Ux=new Map;function lf(e){let o=Ux.get(e)??{type:"custom",[af]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>g(oo,{})};return Ux.set(e,o),o}function lE(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function II(e,o){return lE(e)===o?e:{...e,marker:!0,fold:o,render:()=>g(oo,{})}}function hI(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...r}=e;return{...r,marker:!0,render:()=>g(oo,{})}}function sf({title:e,children:o}){let[t,r]=jr(()=>!ef.has(e));return g(EF,{title:e,open:t,onToggle:a=>{r(a),a?ef.delete(e):ef.add(e)},children:o})}var ef=new Set;function w$({label:e}){return g(OF,{title:l(e),level:Ax(2)})}function gI({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 Do("div",{className:"sf-swatches",children:[e.map(i=>{let f=r?.[i]?l(r[i]):i;return g(iI,{content:f,children:g("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)}),g("span",{className:"sf-swatch-hex",children:s})]})}function v$(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=xx(t,o);return g(re,{label:l(e),icon:g(rF,{}),changed:!a,action:g(Ee,{words:X()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(On)}),children:gI({swatches:px,current:a?En:t??o??"",onPick:r,names:mx})})}}}function sE(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=gx(a,o);return g(re,{label:l(e),icon:g(xF,{}),changed:!n,action:g(Ee,{words:X()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r(Ur)}),children:gI({swatches:Ix,current:n?er:Gi(a,o),onPick:r,names:hx})})}}}function Hn(e=t=>t,o){return et({_gSectionTheme:ve(hp),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>g(pm,{value:e(t),onChange:r,followLabel:o})}})}function Ae({min:e,max:o,step:t,value:r,onChange:a,suffix:n="",readout:s=!0,notch:i,ariaLabel:f,disabled:d=!1}){let p=i!==void 0&&Number.isFinite(i)&&i>=e&&i<=o;return g("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:g($F,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:f===void 0?void 0:l(f),disabled:d,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function rr(e,o,t,r,a,n,s="",i){return{type:"custom",...Zo({},{type:"number",label:e}),render:f=>g(re,{label:l(e),icon:wo(o),action:i?i("storedValue"in f?f.storedValue:f.value,f.onChange):void 0,children:Ae({min:t,max:r,step:a,value:typeof f.value=="number"?f.value:n,suffix:s,ariaLabel:e,onChange:f.onChange})})}}function yI(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:f,icon:d}=o;return{type:"custom",render:({value:p,onChange:m})=>{let x=typeof p=="number"?p:null,I=x===null;return g(re,{label:l(e),icon:d?wo(d):void 0,value:I?f||n===void 0?void 0:l(n):`${x}px`,changed:!I,action:f?Vx(f,{changed:!I,onReset:()=>m(null)}):g(Ee,{words:X()?.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}):Ae({min:t,max:r,step:a,value:x??t,readout:!1,ariaLabel:e,onChange:m})})}}}function k$(e){let o=rr("Gap",g(Qx,{}),Yo.min,Yo.max,Yo.step,Jt[e],"px",(t,r)=>g(QF,{inherited:!zi(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[cx]:e,render:t=>o.render({...t,value:Gr(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var Wn="Corners";function ff(e){return{type:"custom",render:({value:o,onChange:t})=>{let r=typeof o=="number"&&Number.isFinite(o)?o:null,a=r!==null;return g(re,{label:l(Wn),icon:g(sF,{}),changed:a,action:Vx(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:g(iE,{tier:e,px:r,onRadius:t})})}}}function zn(e){let o=null;try{o=rf()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function iE({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=zn(e.sidesKey),i=Ro(n)??[...ut];return g(zF,{label:l(Wn),value:i,corners:Mu,onChange:f=>{let d=Ro(f)??[];s(d.length===ut.length?null:d)},radius:o,onRadiusChange:t,radiusMin:Ue,radiusMax:ct,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function bI(){return Vr({type:"custom",render:()=>g(_n,{})},"always")}function fE({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=V(),a=typeof r=="number"?`${r}px`:l("not set");return g(Ee,{words:X()?.panel,label:l(e),changed:o,detail:r==null?l("the built-in corners"):Pt(a,l("Styles")),onReset:t})}function cE(){let{cornerRadiusPx:e}=V();return typeof e=="number"?e:Ue}function dE(){return ff({sidesKey:"sectionCornerSides",useFollowed:cE,useClosedReason:()=>CI()?l(SI):null,mark:g(fE,{label:Wn}),hint:g(uE,{})})}var SI="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function CI(){return Ki(vo())}function uE(){return g(oo,{children:CI()?SI:"Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Gn(){return et({_gShape:ve("Shape"),sectionCorners:dE(),sectionCornerSides:bI(),sectionBorder:$x("desktop"),sectionBorderPhone:$x("mobile")})}var pE=()=>({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 mE(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function xE(){let e;try{let o=He(V().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||iu.line}function IE({value:e,onChange:o,tier:t}){let[r]=zn("sectionBorder"),a=xE(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,f]=jr(()=>_F(n,s)),d=pE();return g(re,{label:l("Border"),icon:g(aF,{}),action:g(nI,{each:i,label:l("Each side"),onChange:f}),children:g(LF,{label:l("Border"),value:n,each:i,onChange:p=>o(mE(p)),placeholder:{sides:DF(s),style:s.style??"solid",color:s.color||a},presets:[a],words:d,max:20})})}function $x(e){return Ce(e,{type:"custom",render:({value:o,onChange:t})=>g(IE,{value:o,onChange:t,tier:e})})}function Un(){return{_gMotion:ve("Motion"),sectionAnimation:uf("Entrance",g(Yx,{}),[...yp],oi)}}function cf(){let e=null;try{let{appState:o,selectedItem:t}=Kr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?ri(o?.data,r):null}catch{e=null}return e!==null&&Ki(e)}function wI(e){let{cornerRadiusPx:o}=V(),t=cf(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=Kr(d=>d),f=i?.props?.id?String(i.props.id):void 0;a=f?ri(s?.data,f):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return Ws(n)?n:r}function hE({label:e,changed:o=!1,onReset:t=()=>{}}){let r=cf(),a=wI(Ue),n=r?"Site":"Section";return g(Ee,{words:X()?.panel,label:l(e),changed:o,detail:Pt(`${a}px`,r?l("Styles"):l("the section")),onReset:t})}function gE(){return g(oo,{children:cf()?l("The section is full width, so this card follows Styles \u25B8 Basics \u25B8 Corners."):l("Follows the section's Corners until you set a number here.")})}function yE(){return ff({sidesKey:"cardCornerSides",useFollowed:()=>wI(Ue),mark:g(hE,{label:Wn}),hint:g(gE,{})})}function bE(){return{type:"custom",render:()=>g(qu,{})}}function T$(){return{_gShape:ve("Shape"),cardCorners:yE(),cardCornerSides:bI(),cardCornersApplyAll:bE()}}function P$(){return Qo("Justify",g(tF,{}),_i,_i[0].value)}function F$(){return Qo("Item alignment",g(eF,{}),ox,"stretch")}function E$(){return Qo(tx,g(FF,{}),Ni,Ni[0].value)}function O$(){return{type:"custom",render:({value:e,onChange:o})=>{let t=Fn.find(r=>r.value===e)??Fn[0];return g(re,{label:l(Mi),icon:g(Xx,{}),value:l(t.label),children:g(sI,{className:"sf-gallery-layouts",label:l(Mi),value:t.value,onChange:o,options:Fn.map(r=>({value:r.value,label:l(r.label),picture:g("span",{className:"sf-gallery-pic",children:SE(r.weights).map((a,n)=>g("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function SE(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 L$(){return Qo(nx,g(Qx,{}),Wi,Wi[0].value)}function R$(){return Ce("mobile",rr(rx,g(Zx,{}),Hi,ax,1,Hi))}function A$(e){let o=uf(Xm,nf("`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)."),Qm(e),Pn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:Pn(e,t.value),onChange:r=>t.onChange(r)})}}function B$(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>g(re,{label:l(e),icon:g(Zs,{noun:n}),action:g(Ee,{words:X()?.panel,label:l(e),changed:!bx(s),detail:l("the Text style in Styles"),onReset:()=>i(yx),defaultAction:{onPress:()=>i(An),title:l("Keep this section's own built-in size"),icon:g(nF,{})}}),children:Ae({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function D$(){return{_gCellWidth:ve("Cell width"),gridSpan:Qo("Positions",g(Xx,{}),[{label:"Auto",value:""},...Array.from({length:en},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function vo(){let e=null;try{e=Kr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function CE({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let f=vo()[s],d=dn(void 0,f,i);return g(oo,{children:Ae({min:e,max:o,step:t,value:dn(r,f,i),readout:!1,ariaLabel:a,notch:d,onChange:n})})}function wE({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=vo()[o],s=dn(void 0,n,t);return g(Ee,{words:X()?.panel,label:l(e),changed:r,detail:l("{value} on desktop",{value:`${s}px`}),onReset:a})}function vE(e){return yI(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:g(wE,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>g(CE,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function _$(e){return{type:"custom",render:({value:o,onChange:t})=>g(TE,{...e,value:o,onChange:t})}}function kE({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(f=>f.value===r);return g(re,{label:l(e),icon:wo(o),action:g(Ee,{words:X()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:Vn({options:t,value:i?r:a,onChange:f=>s(f),ariaLabel:e})})}function TE({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=vo()[r],f=a(void 0,i),d=t.find(p=>p.value===f)?.label??"";return g(kE,{label:e,icon:o,options:t,value:n,resolved:f,restWord:d,onChange:s})}var PE={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},FE={Top:rI,Bottom:eI,Left:oI,Right:tI},EE=e=>{let o=FE[e];return g(o,{})};function N$(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=v=>PE[v],n=v=>rr(a("Top"),g(rI,{}),Je.min,Je.max,Je.step,v,"px"),s=(v,C,S,h=Je)=>Ce("mobile",vE({label:a(v),icon:EE(v),desktopKey:C,min:h.min,max:h.max,step:h.step,fallback:S})),i=e.top??Je.min,f=e.bottom??Je.min,d="sectionPaddingLeft",p="sectionPaddingRight",m=e.sideBounds??Je,x=e.side??m.min,I=e.sidePhone??x,y=e.phone===!0,k=v=>y?Ce("desktop",v):v;return et({...r?{_gSpacing:ve("Padding")}:{},[o]:k(n(i)),...y?{[tr(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:k(rr(a("Bottom"),g(eI,{}),Je.min,Je.max,Je.step,f,"px")),...y?{[tr(t)]:s("Bottom",t,f)}:{}},...e.sides?{[d]:k(rr(a("Left"),g(oI,{}),m.min,m.max,m.step,x,"px")),...y?{[tr(d)]:s("Left",d,I,m)}:{},[p]:k(rr(a("Right"),g(tI,{}),m.min,m.max,m.step,x,"px")),...y?{[tr(p)]:s("Right",p,I,m)}:{}}:{}})}var qr=["top","right","bottom","left"],OE={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},qx=e=>typeof e=="number"?e:null;function LE(e,o,t){let r={};for(let a of qr)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function RE({tier:e,o}){let t=null;try{t=rf()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(qr.map(d=>[d,qx(r[a[d]])])),s=Object.fromEntries(qr.map(d=>[d,String(e==="mobile"?qx(r[o.keys[d]])??o.fallback[d]:o.fallback[d])])),[i,f]=jr(()=>BF(n,s));return g(re,{label:l("Padding"),icon:g(bF,{}),action:g(nI,{each:i,label:l("Each side"),onChange:f}),children:g(AF,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:d=>{let p=LE(a,n,d);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 $n(e={}){let o={...OE,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(qr.map(i=>[i,tr(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:()=>g(RE,{tier:i,o:t})};return r?Ce(i,f):f},n=()=>Vr({type:"custom",render:()=>g(_n,{})},"always"),s=qr.filter(i=>i!=="top");return et({...e.group===!1?{}:{_gSpacing:ve("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],Ce("mobile",n())])):{}})}var jx=e=>typeof e=="number"?e:null;function AE(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 BE({o:e}){let o=null;try{o=rf()}catch{o=null}let t=o?.values??{},r={x:jx(t[e.keys.x]),y:jx(t[e.keys.y])},a=l(e.label??"Position"),n=!!(r.x||r.y),s=d=>{let p=AE(e.keys,r,d);Object.keys(p).length&&o?.onChangeMany(p)},i=g(UF,{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=g(Ee,{words:X()?.panel,label:a,changed:n,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return e.label===null?Do("div",{className:"sf-position-line",children:[i,f]}):g(re,{label:a,icon:g(yF,{}),changed:n,action:f,children:i})}function M$(e){return{[e.keys.x]:{type:"custom",render:()=>g(BE,{o:e})},[e.keys.y]:{...Vr({type:"custom",render:()=>g(_n,{})},"always"),reachedBy:e.keys.x}}}var DE={contained:"Contained",page:"Page",full:"Full"},Dn="Width";function qn(e,o=Tx,t=!0){let r=o.map(a=>({label:or[a]??DE[a],value:a}));return et({...t?{_gWidth:ve(Dn)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>g(re,{label:l(Dn),icon:g(PF,{}),action:t?g(JF,{inherited:n?.inherited??!1,onReset:()=>a(ji),label:Dn}):void 0,children:Vn({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:Dn})})}})}function jn(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>g(re,{label:Qt,icon:wo(g(IF,{})),action:r?r(n):void 0,children:Vn({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:Qt})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?Ri:Li;return g("div",{className:"sf-field",children:Ae({min:i.min,max:i.max,step:i.step,value:typeof r=="number"?r:i.fallback,suffix:s,ariaLabel:Qt,onChange:a})})}}),t=()=>uf("Unit",g(Jx,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return et({_gHeight:ve(Qt),sectionHeightMode:Ce("desktop",e()),sectionHeightValue:Ce("desktop",o()),sectionHeightUnit:Ce("desktop",t()),sectionHeightModePhone:Ce("mobile",e(r=>g(_E,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:Ce("mobile",o()),sectionHeightUnitPhone:Ce("mobile",t())})}function _E({onClear:e}){let o=vo(),t=Ai(o),r=kn(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return g(Ee,{words:X()?.panel,label:l(Qt),changed:t,detail:a,onReset:e})}function df(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>g(NE,{value:r,onChange:a,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:r})=>g("div",{className:"sf-field",children:Ae({min:Vo.min,max:Vo.max,step:Vo.step,value:typeof t=="number"?t:Vo.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:r})})});return{_gStick:ve(Tn),stickTop:Ce("desktop",e(!1)),stickTopDistance:Ce("desktop",o()),stickTopPhone:Ce("mobile",e(!0)),stickTopDistancePhone:Ce("mobile",o())}}function NE({value:e,onChange:o,labelId:t,phone:r}){let a=vo(),n=Di(a),s=r?n.phone:e===!0;return g(re,{label:l(Tn),labelId:t,icon:wo(g(wF,{})),action:Do(oo,{children:[r?g(Ee,{words:X()?.panel,label:l(Tn),changed:Bi(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,g(lI,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var Kx="e.g. about";function Kn(){return{_gAnchor:ve("Anchor"),anchor:Et({control:"plainText",label:"Name",placeholder:Kx},{type:"custom",render:({value:e,onChange:o})=>g(pp,{value:e,onChange:o,nameBox:(t,r)=>g(Ft,{value:t,onChange:r,label:"Name",placeholder:Kx,hideable:!1,markup:!1})})})}}function H$(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 g(re,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:g(GF,{id:i,value:Number.isFinite(f)?new Date(f):null,onChange:d=>a(d?d.toISOString():"")})})}}}function Tt(e,o,t){return{type:"custom",...Zo({},{...tf,label:e}),render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,f=`${n??s??e}-label`;return g(re,{label:l(e),labelId:f,icon:t,action:g(lI,{checked:i,onChange:a,ariaLabelledBy:f})})}}}function W$(){return{type:"custom",render:({value:e,onChange:o,id:t,name:r})=>{let a=`${String(t??r??"pageBackground")}-colour`;return g(qe,{label:l("Background"),icon:g(aI,{}),id:a,value:Qs(e),onChange:o})}}}var z$={follows:"fill"},G$={follows:"ink"};function U$(e,o,t){if(typeof o!="string"){let r=o.follows;return{type:"custom",render:({value:a,onChange:n})=>g(ME,{label:e,part:r,icon:t,value:a,onChange:n})}}return{type:"custom",render:({value:r,onChange:a})=>g(qe,{label:l(e),icon:t,value:r||o,onChange:a})}}function ME({label:e,part:o,icon:t,value:r,onChange:a}){let n=pu(V().theme),s=o==="fill"?n.fill:n.ink;return g(fn,{label:l(e),icon:t,value:r||"",inherited:s,resetTo:Pt(s.toUpperCase(),l("Styles")),onChange:a,onReset:()=>a("")})}var HE=[{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 vI({label:e,value:o,onChange:t,points:r=HE}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return g(WF,{label:l(e),value:o,points:a,onChange:t})}function $$(){return Vr({type:"custom",render:()=>g(_n,{})},"always")}var WE=js([]);function q$(e,{stacking:o,fallback:t=on}){return{type:"custom",render:({value:r,onChange:a})=>{let n=$o.includes(r)?r:t;return o?g(zE,{label:e,value:n,onChange:a}):kI({label:e,value:n,onChange:a,points:WE})}}}function zE({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=Kr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?Vs(r?.data,n):[];return kI({label:e,value:o,onChange:t,points:js(s,n)})}function kI({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return g(re,{label:l(e),icon:g(SF,{}),hint:a?.title?l(a.title):void 0,children:vI({label:e,value:pt(o),onChange:t,points:r})})}var j$={top:g(dF,{}),right:g(cF,{}),bottom:g(iF,{}),left:g(fF,{})};function K$(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}},d=[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 g(re,{label:l(e),icon:a,value:s(x)?.label?l(s(x).label):"",children:vI({label:e,value:x,onChange:m,points:d})})}}}var GE="\0note";function Qo(e,o,t,r,a){return{type:"custom",options:t,fallback:r,...a?{note:a}:{},...Zo({},{type:"select",label:e}),render:({value:n,onChange:s,field:i})=>{let f=i.options??t,d=i.fallback??r,p=f.some(m=>m.value===n)?n:d;return g(re,{label:l(e),icon:wo(o),children:g(NF,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:GE,disabled:!0}]:[],...f.map(m=>({label:l(m.label),value:m.value}))]})})}}}function V$(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>g(Zp,{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 Y$(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return g(e,{...a})}}}function Vn({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return g(RF,{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 X$=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function uf(e,o,t,r){let a=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",...Zo({},{type:"radio",label:e,options:a.map(n=>({value:n.value,label:n.label}))}),render:({value:n,onChange:s,field:i})=>g(re,{label:l(e),icon:wo(o),children:Vn({options:a,value:a.some(f=>f.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function Z$(e,o,t,r={}){return{type:"custom",[ZP]:!0,render:({value:a,onChange:n})=>g(Yp,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function Q$({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=!!Se(VF()).geocode,i=(f,d)=>o({...r,[f]:d===""?void 0:Number(d)});return Do(re,{label:l(t),icon:g(Ji,{}),children:[s&&Do(oo,{children:[g("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&&g("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(r.status)}),g("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")})]}),g("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&&Do("div",{style:{marginTop:8,display:"grid",gap:8},children:[g(re,{label:l("Latitude"),icon:g(Ji,{}),children:g("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof r.lat=="number"?r.lat:"",onChange:f=>i("lat",f.target.value)})}),g(re,{label:l("Longitude"),icon:g(Ji,{}),children:g("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof r.lng=="number"?r.lng:"",onChange:f=>i("lng",f.target.value)})})]})]})}function UE(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function $E(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 qE(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 pf={label:"Ticker items",icon:g(gF,{})};function J$(e,o,t,r){return{type:"custom",[_o]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},...Zo({},{...uI.textList,label:e}),render:({value:a,onChange:n})=>g(mf,{label:e,icon:wo(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function mf({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=of(null),[i,f]=jr(null),d=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=qE(t,m,i);x===null&&(s.current=null),f(x),a(d(m))};return g(MF,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?g(si,{target:s,value:UE(t,i),onChange:m=>a($E(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)=>g("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:y=>I({text:y.target.value}),onFocus:y=>{s.current=y.currentTarget,f(x)}})})}function TI(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Et({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>g(Ft,{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 PI(e){return{_gCards:ve("Cards"),coverIndex:Qo("Cover image",g(hF,{}),$p,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:sE("Image background",Rn),cardImage:KE(),spinOnHover:Tt("Rotate on hover",e?.spinDefault??!0,g(vF,{}))}}function FI(){return{outline:Qo("Card outline",g(kF,{}),mi,ui),indexBadge:Qo("Card number",g(Jx,{}),pi,di),showBadge:Tt("Product badge",!0,g(Zs,{noun:"tag"}))}}function EI(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:ve("Show on a card"),showCardPrice:Tt("Price",!0,g(uF,{})),showCardFinishes:Tt("Finish swatches",!0,g(pF,{})),showCardSizes:Tt("Sizes",t.showCardSizes,g(CF,{})),showCardBuy:Tt("Buy button",t.showCardBuy,g(lF,{})),showCardPage:Tt("Page button",t.showCardPage,g(aI,{}))}}function e7(e,o="display"){let t=tr(o);return{[o]:Ce("desktop",{type:"custom",render:({value:r,onChange:a})=>g(OI,{parts:e,changed:Sp(r),shown:n=>sn(r,n),onPress:(n,s)=>a(wp(r,n,s)),onReset:()=>a(void 0)})}),[t]:Ce("mobile",{type:"custom",render:({value:r,onChange:a})=>g(jE,{parts:e,desktopKey:o,value:r,onChange:a})})}}function OI({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return g(re,{label:s,icon:g(oF,{}),changed:o,action:g(Ee,{words:X()?.panel,label:s,changed:o,detail:n,onReset:a}),children:g(HF,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function jE({parts:e,desktopKey:o,value:t,onChange:r}){let a=vo()[o];return g(OI,{parts:e,changed:Cp(t),shown:n=>ai(a,t,n),onPress:(n,s)=>r(vp(t,n,s)),onReset:()=>r(un),detail:l("the same as Desktop")})}function KE(){return yI("Card image",{min:Ue,max:ct,step:ju,hint:"Rounds the picture. The card's own corner is in Styles."})}function o7(){return ff({sidesKey:"cornerSides",step:Ku,useFollowed:()=>Ue,mark:g(VE,{label:Vu}),hint:l("Rounds the picture. Left alone it stays square.")})}function VE({label:e,changed:o=!1,onReset:t=()=>{}}){return g(Ee,{words:X()?.panel,label:l(e),changed:o,onReset:t})}function t7(){return{type:"custom",render:({value:e,onChange:o})=>g(YE,{value:typeof e=="string"?e:"",onChange:o})}}function YE({value:e,onChange:o}){let[t,r]=jr(null),a=Gs.filter(s=>t===null||Ao[s].across===t),n=e&&e in Ao?Ao[e]:null;return Do(oo,{children:[g(re,{label:l("Photos in a row"),icon:g(Zx,{}),children:Do("div",{className:"sf-gallery-filter",children:[g("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),Xu.map(s=>g("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),g(re,{label:l("Layout"),icon:g(mF,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:Gs.length}),children:g(sI,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(Ao[s].label),picture:g("span",{className:"sf-gallery-pic",children:Ao[s].desktop.map(([i,f],d)=>g("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${f}`}},d))})}))})})]})}import{jsx as Yn,Fragment as XE,jsxs as LI}from"react/jsx-runtime";import{Button as RI,Dialog as ZE}from"efficient-shell/ui";function QE(e){return $e("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 AI({count:e,onCancel:o,onConfirm:t}){return LI(ZE,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:LI(XE,{children:[Yn(RI,{variant:"secondary",onClick:o,children:l("Cancel")}),Yn(RI,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[Yn("p",{children:QE(e)}),Yn("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var a1=nf("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"),n1="Reset color",l1={selected:0,themes:[]};function s1(e){e(l1)}function _I({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=He(e),[n,s]=DI(!1),i=t1(),[f,d]=DI(null),p=(C,S)=>{o({...a,themes:a.themes.map((h,b)=>b===C?S:h)})},m=Ut(a).accent,x=new Set(a.themes.map(C=>C.brandInk).filter(Boolean)),I=fu.filter(C=>!x.has(C)).map(C=>cu(m,C)),y=[...a.themes,...I],k=C=>{if(C<a.themes.length)return o({...a,selected:C});let S=[...a.themes,y[C]];o({...a,themes:S,selected:S.length-1})},v=()=>{let C=[...a.themes,{...Io(a.themes[a.selected])}];o({...a,themes:C,selected:C.length-1}),d(C.length-1)};return BI(JE,{children:[r?null:ar(o1,{label:l(n1),icon:wo(a1),labelId:"sf-theme-reset",action:ar(e1,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&ar(AI,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),s1(o)}}),ar("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:y.map((C,S)=>ar(In,{index:S,colors:C,selected:S===a.selected,open:f===S&&S<a.themes.length,editable:S<a.themes.length,onPick:()=>k(S),onEdit:()=>d(h=>h===S?null:S),onChangeColors:h=>p(S,h)},S))}),BI("button",{type:"button",onClick:v,className:"sf-theme-add",children:[ar(r1,{size:12}),l("Add new theme")]})]})}import{jsx as Xn}from"react/jsx-runtime";import{SettingsDefaultReset as i1,SettingsField as f1}from"efficient-easel/panel";import{SquareIcon as c1}from"efficient-easel/icons";var d1="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",xf="Corners";function NI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Xn(f1,{label:l(xf),icon:Xn(c1,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Xn(i1,{words:X()?.panel,label:l(xf),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(d1):void 0,children:Xn(Ae,{min:Ue,max:ct,step:1,value:e??Ue,readout:!1,ariaLabel:l(xf),onChange:o})})}import{jsx as Yr}from"react/jsx-runtime";import{SettingsDefaultReset as u1,SettingsField as p1,SettingsSegmented as m1}from"efficient-easel/panel";import{ShadowIcon as x1}from"efficient-easel/icons";var If={none:"None",soft:"Soft",lifted:"Lifted"},I1="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",h1={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)"},g1={labelsPx:90.25,widestLabelPx:34.6};function MI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??Rs;return Yr(p1,{label:l("Card shadow"),icon:Yr(x1,{}),value:l(If[a]),changed:!r,action:Yr(u1,{words:X()?.panel,label:l("Card shadow"),changed:!r,detail:l(If[Rs]),onReset:()=>o(null)}),hint:t?l(I1):void 0,children:Yr(m1,{options:yu.map(n=>({id:n,label:l(If[n]),icon:Yr("span",{className:"sf-shadow-chip",style:{boxShadow:h1[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:g1,onChange:o})})}import{jsx as HI}from"react/jsx-runtime";import{ShadowIcon as y1}from"efficient-easel/icons";var b1="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 WI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return HI(fn,{label:l("Shadow color"),icon:HI(y1,{}),value:e??"",inherited:Bs,resetTo:Bs,onChange:o,onReset:()=>o(null),hint:t?l(b1):void 0})}import{jsx as Zn}from"react/jsx-runtime";import{SettingsDefaultReset as S1,SettingsField as C1}from"efficient-easel/panel";import{AlignSeparateIcon as w1}from"efficient-easel/icons";var v1="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",hf="Block gap",k1=Jt.Grid;function zI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Zn(C1,{label:l(hf),labelId:"sf-block-gap",icon:Zn(w1,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Zn(S1,{words:X()?.panel,label:l(hf),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(v1):void 0,children:Zn(Ae,{min:kt.min,max:kt.max,step:kt.step,value:r?k1:e,readout:!1,ariaLabel:l(hf),onChange:o})})}import{jsx as Qn}from"react/jsx-runtime";import{SettingsDefaultReset as T1,SettingsField as P1,SettingsSegmented as F1}from"efficient-easel/panel";import{HoverIcon as E1}from"efficient-easel/icons";var gf={none:"None",lift:"Lift",highlight:"Highlight"},O1="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 GI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??As;return Qn(P1,{label:l("Hover effect"),icon:Qn(E1,{}),value:l(gf[a]),changed:!r,action:Qn(T1,{words:X()?.panel,label:l("Hover effect"),changed:!r,detail:l(gf[As]),onReset:()=>o(null)}),hint:t?l(O1):void 0,children:Qn(F1,{options:bu.map(n=>({id:n,label:l(gf[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as Jn}from"react/jsx-runtime";import{SettingsDefaultReset as L1,SettingsField as R1,SettingsSegmented as A1}from"efficient-easel/panel";import{DropIcon as B1}from"efficient-easel/icons";var yf="Photography",UI={shot:"As shot",mono:"Black and white"},bf=[{grayscale:!1,label:UI.shot},{grayscale:!0,label:UI.mono}],D1="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function $I({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return Jn(R1,{label:l(yf),icon:Jn(B1,{}),value:l(bf.find(n=>n.grayscale===a).label),changed:!r,action:Jn(L1,{words:X()?.panel,label:l(yf),changed:!r,detail:l(bf.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(D1):void 0,children:Jn(A1,{options:bf.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(yf),onChange:o})})}import{jsx as Sf}from"react/jsx-runtime";import{useId as _1}from"react";import{SettingsField as N1,SettingsSwitch as M1}from"efficient-easel/panel";import{ShareIcon as H1}from"efficient-easel/icons";var W1="Share button",z1="On every blog post.";function qI({value:e,onChange:o,showHint:t=!0}){let r=_1();return Sf(N1,{label:l(W1),labelId:r,icon:Sf(H1,{}),action:Sf(M1,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(z1):void 0})}import{jsx as el}from"react/jsx-runtime";import{SettingsDefaultReset as G1,SettingsField as U1}from"efficient-easel/panel";import{PaddingXIcon as $1}from"efficient-easel/icons";var Cf="Side space",wf=Co.default,q1="The room left at the left and right edge of every page.";function jI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return el(U1,{label:l(Cf),labelId:"sf-side-space",icon:el($1,{}),value:`${e??wf}px`,changed:!r,action:el(G1,{words:X()?.panel,label:l(Cf),changed:!r,detail:`${wf}px`,onReset:()=>o(null)}),hint:t?l(q1):void 0,children:el(Ae,{min:Co.min,max:Co.max,step:Co.step,value:e??wf,readout:!1,ariaLabel:l(Cf),onChange:o})})}import{jsx as vf}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as hq,SettingsBackgroundWidth as j1,SettingsContentWidth as K1}from"efficient-easel/panel";var KI="Width",V1="Background width",Y1="Content width";var ol=e=>l(or[e==="content"?"page":"full"]),X1=400,VI="Content cannot be wider than the background.",YI="The width of every section's background, until the section sets its own.",XI="The width of every section's content, until the section sets its own.",ZI="On phones, content always fills the screen.";function tl({value:e,changed:o,detail:t,onChange:r,onReset:a,disabled:n=!1,hint:s,labelId:i}){return vf(j1,{value:e,changed:o,detail:t,onChange:r,onReset:a,disabled:n,hint:s?l(s):void 0,labelId:i,words:{label:l(V1),full:ol("full"),content:ol("content")},resetWords:X()?.panel})}function rl({mode:e,px:o,max:t=pe.max,min:r=X1,changed:a,detail:n,onMode:s,onPx:i,onReset:f,fullClosed:d=!1,disabled:p=!1,hint:m,labelId:x}){let I=l(Y1),y=e!=="full"?vf(Ae,{min:r,max:t,step:pe.step,value:Math.min(Math.max(o,r),t),onChange:i,suffix:"px",ariaLabel:I,disabled:p}):null;return vf(K1,{mode:s?e:void 0,onMode:s,number:y,changed:a,detail:n,onReset:f,fullClosed:d,disabled:p,hint:m?l(m):void 0,labelId:x,words:{label:I,full:ol("full"),content:ol("content")},resetWords:X()?.panel})}import{jsx as Mh}from"react/jsx-runtime";import{TextStyleItem as fL,TextStylesGroup as cL}from"efficient-easel/text-styles";import{jsx as rL}from"react/jsx-runtime";import{useState as aL}from"react";import{TextStylesList as nL}from"efficient-easel/text-styles";import{usePreviewDevice as lL}from"efficient-easel/draw/client";import{defaultTextStyles as ZO,textStyleCaseCss as QO}from"efficient-easel/text-styles/model";import{textStyleCaseCss as sO,textStyleCaseOfCss as iO}from"efficient-easel/draw";function kf(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function to(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 il,encodePartId as fl}from"efficient-easel/draw";import{LINK_FIELD_MARKER as sh,SCAFFOLD_FIELD_MARKER as nh,TEXT_FIELD_MARKER as cl}from"efficient-easel/draw";import{readHidable as ih}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as rO}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as tO}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as QI}from"efficient-easel/draw";import{readHidable as JI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as Z1}from"efficient-easel/draw";var Q1=Z1,J1=["text","textarea"],eO=["textarea","plainTextarea"];function oO(e){return!e||typeof e!="object"?null:e[QI]?.control??null}function nr(e){let o=oO(e);return o&&Q1.includes(o)?o:null}function al(e){return eO.includes(e)}function eh(e){return!e||typeof e!="object"?void 0:e[QI]?.placeholder}function nl(e){return JI(e).text}function Tf(e,o,t){return J1.includes(e)?{text:t,hidden:JI(o).hidden}:t}function oh(e,o,t,r){return nl(e[o])===r?null:{...e,[o]:Tf(t,e[o],r)}}function ll(e){if(!(!e||typeof e!="object"))return e[tO]}function Pf(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function th(e,o){if(!Array.isArray(o))return[];let t=ll(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=Pf(e);return a?(o.forEach((n,s)=>{for(let[i,f]of Object.entries(a)){if(!nr(f))continue;let d=nl(n?.[i])||ll(f)?.placeholder||"";d&&r.push({row:{index:s,rowKey:i},text:d})}}),r):[]}function Xr(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Ff(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 rh(e,o,t,r,a){let n=Xr(e[o],t);return nl(n)===a?null:Ff(e,o,t,Tf(r,n,a))}function ah(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var ro="data-sf-part",Wq="data-sf-region-part",zq="data-sf-part-row";function Gq(e,o){return`${e}[${o}]`}var Be="data-sf-part-selected",Uq="data-sf-part-kind",aO="data-sf-part-style-owner",nO="data-sf-part-style-kind";function $q(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(aO),r=o.getAttribute(nO);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-easel-block"))return null}return null}var lh=2;function fh(e,o){if(!e)return!1;let t=il(e);return!!t?.propKey&&t.nodeId===o}function lr(e){return gt(e).replace(/\s+/gu,"")}function sl(e,o,t){let r=e[cl];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}=ih(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[sh]){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))sl(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))sl(n,o[a],t)}}function ch(e){if(!e||typeof e!="object")return!1;let o=e;return o[sh]?!1:!!o[cl]||o.type==="text"||o.type==="textarea"}function dl(e,o){let t=e[cl];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Ef(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function qq(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){if(!a||typeof a!="object"||Mr(r))continue;let n=a,s=[];sl(n,o?.[r],s),!s.length&&n[nh]!==void 0&&sl(n,n[nh],s);let i=dl(n,r),f=new Set;for(let{row:m,text:x}of th(n,o?.[r])){let I=lr(x);I.length<lh||(f.add(I),t.push({key:r,label:i,texts:[I],row:m}))}let d=new Set(f),p=[];for(let m of s){let x=lr(m);x.length<lh||d.has(x)||(d.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var lO=rO;function dh(e,o){if(!o||typeof o!="object"||Mr(e)||Hp(o))return null;let t=o[cl];return!t||!lO.includes(t.control)?null:t}function jq(e,o){let t=dh(e,o);return t!==null&&t.identifier!==!0}function uh(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=dh(r,a);if(!n)continue;let{text:s,hidden:i}=ih(o?.[r]),f=s||n.placeholder||"",d=gt(f).replace(/\s+/gu," ").trim();t.push({key:r,label:Ef(dl(a,r)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var Rf="_partStyles",fO="data-sf-part-styled",ul="data-sf-text-style",cO=/^(heading|body)-[1-7]$/;function sr(e){return typeof e=="string"&&cO.test(e)}var ml={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function dO(e){if(!e)return null;for(let[o,t]of Object.entries(ml))if(t===e)return o;return null}function bh(e){if(sr(e.textStyle))return e.textStyle;let o=e.role&&Lo.includes(e.role)?e.role:null;return o?ml[o]:void 0}var uO=[400,500,600,700],Sh=["left","center","right","justify"],ph=5,mh=1e3,pO=-5,mO=10,Bf=0,Df=64,_f=2,Nf=120,ot=1280,Mf=10,xh={size:{min:ph,max:mh,step:1},sizePhone:{min:ph,max:mh,step:1},padding:{min:Bf,max:Df,step:_f},width:{min:Nf,max:ot,step:Mf}},xO=.05,IO=.01,hO=["line","letter"],gO=.5,yO=2.5,bO=-1,SO=1,CO=0,wO=400;function Qr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Ch(e){return Qr(e?.[Rf])??{}}function xl(e,o){let t=Ch(e);return Object.hasOwn(t,o)?Qr(t[o])??{}:{}}function wh(e,o,t){let r={...Ch(e)};if(vO(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[Rf]:a,...n}=e;return n}return{...e,[Rf]:r}}function vO(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function kO(e){return hO.includes(e)}var Zr=(e,o,t)=>Math.min(t,Math.max(o,e));function TO(e,o){if(kO(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Zr(t,pO,mO)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?ir(Zr(t,gO,yO),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?ir(Zr(t,bO,SO),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Zr(t,CO,wO)}if(Object.hasOwn(xh,e)){let{min:t,max:r}=xh[e],a=Math.round(Number(o));return Number.isFinite(a)?Zr(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Lo.includes(String(o))?o:null:e==="textStyle"?sr(o)?o:null:o}var PO=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function vh(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of PO){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!Sh.includes(e.align)&&t("align"),e.textStyle!==void 0&&!sr(e.textStyle)&&t("textStyle"),o??e}var FO=[["font","role"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function EO(e){let o=[];for(let[t,r]of FO)t===e?o.push(r):r===e&&o.push(t);return o}function fr(e,o,t,r){let a={...xl(e,o)},n=r==null?null:TO(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of EO(t))delete a[s]}return wh(e,o,a)}function kh(e,o){return wh(e,o,{})}function OO(e){return iO(e)??"none"}function LO(e){return sO(e)??""}var RO={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 AO(e,o){let t=e.role;return t&&Lo.includes(t)?t:o?.blockDrawsStyle?null:dO(e.textStyle)}function Jq(e,o){return e==="Text"&&o==="text"}var BO={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 DO(e){let o=lu[e],t=BO[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function ea(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=ir(_O+e.line*xO,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=ir(e.letter*IO,4)),o}var _O=1,oa="--sf-part-para",Hf="(max-width: 719.98px)";function Ih(e){return e=vh(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function NO(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function pl(e,o,t){e=vh(e);let r=AO(e,t),a=ea(e),n=e.size?`${e.size}px`:r?DO(r):"";return{fontFamily:e.font?zO(e.font):r?`var(${RO[r]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:a.lineHeight!==void 0?String(a.lineHeight):"",letterSpacing:a.letterSpacingEm!==void 0?`${a.letterSpacingEm}em`:"",[oa]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:LO(e.case),textAlign:e.align??"",paddingTop:Of(e.padding),paddingBottom:Of(e.padding),maxWidth:Of(e.width),color:MO(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var MO=e=>e===void 0||e===""?"":Object.hasOwn(Kt,e)?Kt[e]:Th.test(e)?e:"",Th=/^#[0-9a-fA-F]{6}$/;function e8(e){return Th.test(e)}var Of=e=>e===void 0?"":`${e}px`,ir=(e,o)=>Number(e.toFixed(o));function o8(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:HO(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?ir(r/t,3):1.2,letterEm:Number.isFinite(a)?ir(a/t,4):0,align:WO(e.textAlign),case:OO(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<ot?Math.round(s):ot}}function HO(e){return Number.isFinite(e)?uO.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function WO(e){for(let o of Sh)if(o===e)return o;return e==="end"?"right":"left"}function t8(e,o){let t=hh(e);if(!t)return"";for(let r of Xe)if(hh(o(r.cssVar))===t)return r.key;return""}var hh=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function zO(e){let o=Gt(e);return o?`var(${o.cssVar})`:""}function r8(e,o,t,r){return!o||il(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function a8(e,o,t=()=>Jr,r=i=>i,a=$O,n=!1,s=()=>!1){let i=0;for(let{element:f,partId:d}of e){let p=il(d)?.propKey;if(!p)continue;let m=r(p),x=Object.hasOwn(o,m)?Qr(o[m])??{}:{},I=pl(NO(x,n),Jr,{blockDrawsStyle:s(p)});sr(x.textStyle)?f.setAttribute?.(ul,x.textStyle):f.removeAttribute?.(ul);let y=Lf.some(v=>f.style[v]),k=!1;for(let[v,C]of Object.entries(I))qO(f,v,C),C&&(k=!0);if(y||Lf.some(v=>I[v]))for(let v of GO(f,a))for(let C of Lf)v.style[C]=I[C]??"";k&&(i+=1)}return i}function GO(e,o){let t=lr(e.textContent??""),r=[],a=e;for(let n=0;n<UO&&o(a);n+=1){let s=a.parentElement;if(!s||lr(s.textContent??"")!==t)break;r.push(s),a=s}return r}var UO=8;function $O(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Jr={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:ot};function qO(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===oa&&(t?a.setAttribute?.(gh,""):a.removeAttribute?.(gh))}var gh="data-sf-part-para",jO=Object.keys(pl({},Jr)),Af=new Set(["color","overflowWrap",oa,"fontStyle"]),Lf=jO.filter(e=>!Af.has(e));function n8(e,o,t,r=n=>n,a=()=>!1){let n=new Map;for(let f of e){let d=kf(f.key,f.row);for(let p of f.texts){let m=n.get(p);m?(m.keys.add(f.key),m.partKeys.add(d)):n.set(p,{keys:new Set([f.key]),partKeys:new Set([d])})}}let s=new Map;for(let f of Object.keys(o)){if(!KO(f))continue;let d=Qr(o[f])??{},p=pl(d,Jr),m=Ih(d),x=sr(d.textStyle)?d.textStyle:void 0;!Object.values(p).some(Boolean)&&!Object.keys(m).length&&!x||s.set(f,{stamp:yh(t,f),declarations:p,...Object.keys(m).length?{phone:m}:{},...x?{textStyle:x}:{}})}let i=new Map;for(let[f,{keys:d,partKeys:p}]of n){let m=p.size===1?[...p][0]:d.size===1?[...d][0]:null;if(!m)continue;let x=r(m);if(!Object.hasOwn(o,x))continue;let I=Qr(o[x])??{},y=pl(I,Jr,{blockDrawsStyle:a(m)}),k=Ih(I),v=sr(I.textStyle)?I.textStyle:void 0;!Object.values(y).some(Boolean)&&!Object.keys(k).length&&!v||i.set(f,{stamp:yh(t,m),declarations:y,...Object.keys(k).length?{phone:k}:{},...v?{textStyle:v}:{}})}return i.size||s.size?{rules:i,kindRules:s,drawn:new Set(n.keys())}:null}function KO(e){return e.startsWith("@")}function l8(e,o){return e?.kindRules.get(o)??null}function yh(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function s8(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(([y,k])=>`${YO(y)}: ${k}`).join("; "),d=`[${fO}="${n}"]`,p=i.filter(([I])=>!Af.has(I)),m=i.filter(([I])=>Af.has(I));p.length&&o.push(`${d}, *:has(> ${d}) { ${f(p)} }`),m.length&&o.push(`${d} { ${f(m)} }`),s[oa]&&o.push(...VO(d));let x=Object.entries(a.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Hf} { ${d}, *:has(> ${d}) { ${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 VO(e){let o=`var(${oa})`,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 YO=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function i8(e,o){if(!e)return null;let t=lr(o),r=e.rules.get(t);if(r)return r;if(t.length<XO||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 XO=8;function Ph(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}`}}var Wf=e=>e==="sentence"?"none":void 0,Mo=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ta=e=>typeof e=="string"&&e?e:void 0,Eh=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function ko(e){let o={};for(let t of Eh)e[t]!==void 0&&(o[t]=e[t]);return o}function Gf(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=Eh.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function Uf(e){let o=e.fonts,t=e.sizes,r=e.typography,a=Cu(e.compression),n={"heading-1":{font:ta(o.heading),size:Mo(t.headingLarge),weight:Mo(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Wf(r.case),largestSize:Mo(r.maxPx)},"heading-2":{font:ta(o.heading2),size:Mo(t.headingMedium),weight:Mo(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Wf(r.case2)},"heading-3":{font:ta(o.heading3),size:Mo(t.headingSmall),weight:Mo(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Wf(r.case3)},"body-1":{font:ta(o.body),size:Mo(t.body)},"body-5":{font:ta(o.label),size:Mo(t.label)}};return ZO().map(({id:s,kind:i,name:f})=>({id:s,kind:i,name:f,values:ko(n[s]??{})}))}function Il(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=>Gf({...o,values:ko(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function I8(e){return Il(e)??[]}function tt(e,o){let t=Uf(o),r=Il(e);return r?r.map(a=>{let n={...zf(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:ko({...n,...a.values})}}):t}var zf=(e,o)=>e.find(t=>t.id===o)?.values??{},Fh=["heading-1","heading-2","heading-3"];function Oh({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=Uf(o),s=Il(e)??n.map(m=>({...m,values:{}})),i=tt(s,o),f=[],d=r.map(m=>{let x=t.find(h=>h.id===m.id),I=s.find(h=>h.id===m.id);if(!x||!I)return JO([m],a)[0];let y={...I.values},k=new Set(I.auto??[]),v=m.values,C=x.values,S=[...new Set([...Object.keys(v),...Object.keys(C)])].filter(h=>JSON.stringify(v[h])!==JSON.stringify(C[h]));S.sort((h,b)=>+(h==="letterSpacing")-+(b==="letterSpacing"));for(let h of S){let b=h==="lineSpacing"?"lineHeight":h,O=v[h];if(O===void 0){delete y[b],zf(n,m.id)[b]!==void 0&&(f.push([m.id,b]),k.add(b));continue}if(k.delete(b),h==="lineSpacing")y.lineHeight=cr(O/100,3);else if(h==="letterSpacing"){let E=i.find(P=>P.id===m.id),T=a({...m,values:ko({...E?.values??{},...y})});y.letterSpacing=T?cr(O/T,4):0}else y[b]=O}return Gf({id:m.id,kind:m.kind,name:m.name,values:ko(y)},k)}),p=o.compression;if(f.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&Fh.includes(m))&&dt(p)!=="normal"){for(let m of Fh){let x=d.find(y=>y.id===m);if(!x)continue;let I={...x.values};for(let y of["lineHeight","letterSpacing"])f.some(([k,v])=>k===m&&v===y)||I[y]===void 0&&!(x.auto??[]).includes(y)&&(I[y]=zf(n,m)[y]);x.values=ko(I)}p="normal"}return{saved:d,old:{...o,compression:p}}}function Lh(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=dt(e.old.compression)),t}var cr=(e,o)=>Number(e.toFixed(o));function Rh(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=cr(r*100,1)),a!==void 0&&(s.letterSpacing=cr(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function JO(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:ko({...n})},i={...s.values};if(r!==void 0&&(i.lineHeight=cr(r/100,3)),a!==void 0){let f=o({...s,values:{...s.values}});i.letterSpacing=f?cr(a/f,4):0}return{...s,values:ko(i)}})}function h8(e){let o={fonts:Or({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:Ls({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:dt(e.heading_compression),typography:vu(e)},t=e.text_styles??null,r=Array.isArray(t)?$f(tt(t,o),o):o;return{fonts:Or(r.fonts),sizes:Ls(r.sizes),compression:dt(r.compression),typography:r.typography,textStyles:t}}function $f(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,d=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:{...d,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 eL(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 oL(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 g8(e){let o=[];for(let t of e){let r=t.values,a=`.${Ph(t)}`,n=`[${ul}="${t.id}"]`,s=`${a}, ${n}`,i=[],f=r.font!==void 0?Xe.find(x=>x.key===r.font)?.cssVar:void 0;if(f&&i.push(`font-family: var(${f})`),r.size!==void 0){let x=r.largestSize!==void 0?Math.min(r.size,r.largestSize):r.size;i.push(`font-size: ${x}px`)}let d=r.color!==void 0?eL(r.color):null;d&&i.push(`color: ${d}`),r.italic===!0&&i.push("font-style: italic"),r.weight!==void 0&&i.push(`font-weight: ${r.weight}`);let p=[];r.lineHeight!==void 0&&p.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&p.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&i.push(...p);let m=QO(r.letterCase);if(m&&i.push(`text-transform: ${m}`),r.paragraphSpacing&&i.push(`--sf-part-para: ${r.paragraphSpacing}px`),i.length&&o.push(`${s} { ${i.join("; ")} }`),t.kind==="heading"&&p.length&&o.push(`${s}, ${a}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${p.join("; ")} }`),r.paragraphSpacing&&o.push(...oL(`:is(${s})`)),r.sizePhone!==void 0){let x=tL[t.id],I=[`${s} { font-size: ${r.sizePhone}px }`];x&&I.push(`.sf-themed-content { --size-${x}: ${r.sizePhone}px !important }`),o.push(`@media ${Hf} { ${I.join(" ")} }`)}}return o.join(`
|
|
5
|
+
`)}var tL={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function y8(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function Ah(e){return e?ml[e]:void 0}function qf(e){let o=ea(e);return ko({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 Bh(e){return Object.keys(qf(e)).length>0}function Dh({saved:e,old:o,styleId:t,values:r}){return{saved:(Il(e)??Uf(o).map(a=>({...a,values:{}}))).map(a=>a.id===t?Gf({...a,values:ko({...a.values,...r})},a.auto):a),old:o}}var _h=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],sL=["size","lineSpacing","letterSpacing","letterCase"],iL=500,jf=Xe.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function Nh({saved:e,old:o,colours:t,sizeOf:r,onChange:a,openId:n,onOpenChange:s,readOnly:i=!1,withoutSize:f=!1}){let[d,p]=aL(null),m=lL()==="mobile",x=tt(e,o),I=Rh(x,r);return rL(nL,{styles:I,onChange:y=>a(Oh({saved:e,old:o,cur:I,next:y,sizeOf:r})),fonts:jf,colours:t,settings:f?_h.filter(y=>y!=="size"):_h,auto:sL,openId:n===void 0?d:n,onOpenChange:s??p,readOnly:i,device:m?"phone":"desktop",fallback:y=>{let k=x.find(C=>C.id===(y.kind==="heading"?"heading-1":"body-1")),v={};return k?.values.font&&y.id!==k.id&&(v.font=k.values.font),y.kind==="heading"&&(v.weight=iL),v}})}var Hh=["font","size","weight","emphasis"],dL=500;function uL({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 pL(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 Wh(e){let{headingWeight:o,open:t,onOpenChange:r,onChange:a,withoutSize:n=!1}=e,s=uL(e);return Mh(cL,{label:l("Accent"),children:Mh(fL,{style:s,fonts:jf,settings:n?Hh.filter(i=>i!=="size"):Hh,auto:["size"],fallback:()=>({weight:o??dL}),open:t,onOpenChange:r,onChange:i=>pL(s,i).forEach(a)})})}import{Tabs as xL,Tooltip as a9,tabButtonId as IL,tabPanelId as hL}from"efficient-shell/ui";import{ContrastIcon as gL,NoteIcon as yL,SettingsIcon as bL,TypeIcon as SL}from"efficient-easel/icons";function zh(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{previewFrame as CL}from"efficient-easel/screen/lib/document/preview-dom";import{useEasel as mL}from"efficient-easel/easel";function hl({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=mL(T=>T),{fonts:a,setFonts:n,sizes:s,setSizes:i,headingCompression:f,setHeadingCompression:d,headingTypography:p,setHeadingTypography:m,textStyles:x,setTextStyles:I}=V(),y=t.data,k=y.root?.props??{},v=e?Or(k.fonts):a,C=e?Iu:s,S=e?dt(k.headingCompression):f,h=e?wu(k.headingTypography):p,b={fonts:v,sizes:C,compression:S,typography:h},O=e?k.textStyles:x,E=T=>r({type:"replaceRoot",root:{...y.root,props:{...k,...T}},recordHistory:!0});return{fonts:v,sizes:C,compression:S,typography:h,old:b,saved:O,write:(T,P)=>{let B=$f(tt(T.saved,T.old),T.old);e?E({textStyles:T.saved,fonts:B.fonts,headingCompression:B.compression,headingTypography:B.typography}):(I(T.saved),n(B.fonts),i(B.sizes),d(B.compression),m(B.typography)),o(Lh(T,b),P)},writeRoot:E}}var Yf="sf-site-styles",wL="sf-site-styles-tabpanel",Xf=!1,vL="Show hints";function Zf({shown:e,onChange:o}){return Q("div",{className:"sf-hints",children:rt("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[Q(yL,{size:13}),l(vL)]})})}var Uh="text",dr=[{id:"basics",label:"Basics",icon:Q(bL,{})},{id:"theme",label:"Theme",icon:Q(gL,{})},{id:"text",label:"Text",icon:Q(SL,{})}];function kL({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=Gh(d=>d),{theme:a,setTheme:n}=V(),s=t.data,i=s.root?.props??{},f=d=>{if(e){let p={...i,theme:d};r({type:"replaceRoot",root:{...s.root,props:p},recordHistory:!0})}else n(d);o({selected_preset:d.selected,theme_presets:d.themes})};return Q(_I,{value:e?i.theme:a,onChange:f})}function TL({themeFromDocument:e,persist:o}){let[t,r]=Vf(null),{theme:a,setFonts:n,setSizes:s,setHeadingTypography:i}=V(),f=hl({themeFromDocument:e,persist:o}),{old:d,saved:p,writeRoot:m}=f,x=f.fonts,I=f.sizes,y=f.typography,k=E=>E.values.size??LL(FL[E.id]??"body")??EL[E.kind],v=E=>f.write(E),C=PL(a),S=E=>{let T={...x,accent:E};e?m({fonts:T}):n(T),o({accent_font:E})},h=E=>{s({...I,accent:E}),o({accent_size_px:E})},b=E=>{let T={...y,weightStrong:E};e?m({headingTypography:T}):i(T),o({heading_weight_strong:E})},O=E=>{let T={...y,italicStrong:E};e?m({headingTypography:T}):i(T),o({accent_italic:E})};return rt(Ot,{children:[Q(Nh,{saved:p,old:d,colours:C,sizeOf:k,onChange:v,openId:t===Kf?null:t,onOpenChange:r,withoutSize:e}),Q(Wh,{font:x.accent,size:I.accent,weight:y.weightStrong,italic:y.italicStrong,headingWeight:y.weight,open:t===Kf,onOpenChange:E=>r(E?Kf:null),onChange:E=>{E.key==="font"?S(E.value):E.key==="size"?h(E.value):E.key==="weight"?b(E.value):O(E.value)},withoutSize:e})]})}var Kf="accent";function PL(e){let o=Ut(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 FL={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},EL={heading:32,body:14},OL={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 LL(e){if(typeof document>"u")return null;let o=(CL()?.contentDocument??document).querySelector(OL[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function RL({themeFromDocument:e,persist:o,showHint:t}){let{appState:r,dispatch:a}=Gh(x=>x),{cornerRadiusPx:n,setCornerRadiusPx:s}=V(),i=r.data,f=i.root?.props??{},d=f.cornerRadiusPx===void 0?gu[hu(f.cornerStyle)]:ho(f.cornerRadiusPx),p=e?d:n,m=x=>a({type:"replaceRoot",root:{...i.root,props:{...f,...x}},recordHistory:!0});return Q(NI,{value:p,onChange:x=>{e?m({cornerRadiusPx:x}):s(x),o({corner_radius_px:x})},showHint:t})}function AL(e){return{site_width:e}}function BL({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:r,sectionBackgroundWidth:a,setSectionBackgroundWidth:n,sectionContentWidth:s,setSectionContentWidth:i}=V(),f=typeof t=="number"?t:pe.default,d=x=>{r(x),e(AL(x),x===null)},p=x=>{n(x),e({section_background_width:x},!0)},m=x=>{i(x),e({section_content_width:x},!0)};return rt(Ot,{children:[Q(tl,{value:a??"full",changed:a!==null,detail:l("Full width"),onChange:p,onReset:()=>p(null),hint:o?YI:void 0}),Q(rl,{mode:s??"content",px:f,min:pe.min,max:pe.max,changed:typeof t=="number"||s!==null,detail:`${l("Content width")} ${pe.default}px`,onMode:m,onPx:x=>d(x),onReset:()=>{m(null),d(null)},hint:o?XI:void 0})]})}function DL(e){return{block_gap:e}}function _L(e){return{site_gutter:e}}function NL({persist:e,showHint:o}){let{siteGutter:t,setSiteGutter:r}=V();return Q(jI,{value:t,onChange:a=>{r(a),e(_L(a),a===null)},showHint:o})}function ML({persist:e,showHint:o}){let{blockGap:t,setBlockGap:r}=V();return Q(zI,{value:t,onChange:a=>{r(a),e(DL(a),a===null)},showHint:o})}function HL({persist:e,showHint:o=!0}){return rt(Ot,{children:[Q(BL,{persist:e,showHint:o}),Q(NL,{persist:e,showHint:o}),Q(ML,{persist:e,showHint:o})]})}function WL(e){return{card_shadow:e}}function zL(e){return e===null?{shadow_color:null}:{shadow_color:Su(e)}}function GL(e){return{hover_effect:e}}function UL({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:r,shadowColor:a,setShadowColor:n,hoverEffect:s,setHoverEffect:i}=V();return rt(Ot,{children:[Q(MI,{value:t,onChange:f=>{r(f),e(WL(f),!0)},showHint:o}),Q(WI,{value:a,onChange:f=>{n(f),e(zL(f),f===null)},showHint:o}),Q(GI,{value:s,onChange:f=>{i(f),e(GL(f),!0)},showHint:o})]})}function $L(e){return{photography_grayscale:e}}function qL({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:r}=V();return Q($I,{value:t,onChange:a=>{r(a),e($L(a),!0)},showHint:o})}function jL({persist:e,showHint:o=!0}){return Q(Ot,{children:Q(qL,{persist:e,showHint:o})})}function KL(e){return{share_button_on_posts:e}}function VL({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:r}=V();return Q(qI,{value:t,onChange:a=>{r(a),e(KL(a),!0)},showHint:o})}function ur(){let{websiteName:e}=V();return e?.trim()||Tu}function gl({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:r,tab:a,onTabChange:n}){let{persist:s}=Yt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let v=zh(k);v&&r?.(v.msg,v.tone)}}),[i,f]=Vf(dr[0].id),d=a!==void 0,p=d?a:i,m=d?n??(()=>{}):f,x=dr.find(k=>k.id===p)??dr[0],[I,y]=Vf(Xf);return rt(Ot,{children:[Q(YL,{activeId:x.id,onSelect:m}),rt("div",{id:hL(Yf,x.id),className:wL,role:"tabpanel","aria-labelledby":IL(Yf,x.id),children:[p==="basics"&&rt(Ot,{children:[Q(RL,{themeFromDocument:e,persist:s,showHint:I}),!e&&Q(UL,{persist:s,showHint:I}),!e&&Q(HL,{persist:s,showHint:I}),!e&&Q(jL,{persist:s,showHint:I}),!e&&Q(VL,{persist:s,showHint:I}),Q(Zf,{shown:I,onChange:y})]}),p==="theme"&&Q(kL,{themeFromDocument:e,persist:s}),p==="text"&&Q(TL,{themeFromDocument:e,persist:s})]})]})}function YL({activeId:e,onSelect:o}){return Q("div",{className:"es-insp-tabs",children:Q(xL,{variant:"underline",block:!0,labelsFit:!0,"aria-label":l("Styles"),idPrefix:Yf,value:e,onChange:o,items:dr.map(t=>{let r=l(t.label);return{id:t.id,icon:t.icon,label:r}})})})}import{InspectorIconButton as mR}from"efficient-easel/chrome";import{Button as ng,Dialog as xR,FormField as IR,Input as lg,PopupMenu as hR,PopupMenuItem as sg,toast as ig}from"efficient-shell/ui";import{LayersTree as gR,TreeGroupLabel as yR,TreeRow as fg,TreeRowAction as Pl}from"efficient-easel/tree";import{AddIcon as bR,DuplicateIcon as SR,PageIcon as CR}from"efficient-easel/icons";import{PagesIcon as wR}from"efficient-easel/rail";import{useEaselHost as vR}from"efficient-easel/screen/lib/host";var Qf="Main Pages",XL="Dynamic Pages",Jf="dynamic",ZL="dynamic";function ec(e){return e.kind===ZL}function $h(e){let o=[],t=[];for(let r of e){if(ec(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??Qf,rows:[r]})}if(t.length){let r=o.findIndex(a=>a.key.startsWith("system:"));o.splice(r===-1?o.length:r,0,{key:Jf,label:XL,rows:t})}return o}import{useEaselSession as kR}from"efficient-easel/screen/lib/session-context";import{useCallback as yl,useEffect as QL,useSyncExternalStore as JL}from"react";import{useScreenDocument as Vh}from"efficient-easel/screen/components/ScreenDocumentContext";var qh=new WeakMap;function ra(e){let o=qh.get(e);return o||(o={rows:null,loading:null,listeners:new Set},qh.set(e,o)),o}function oc(e,o){e.rows=o;for(let t of e.listeners)t()}var bl=new Set;function Sl(e,o){o?bl.add(e):bl.delete(e)}function jh(e){let o=ra(e),t=e.listPages().then(r=>oc(o,bl.size?r.filter(a=>!bl.has(a.id)):r),()=>oc(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var Kh=()=>null,eR=()=>()=>{};function aa(){let{adapter:e,ready:o}=Vh(),t=yl(i=>{let{listeners:f}=ra(e);return f.add(i),()=>f.delete(i)},[e]),r=yl(()=>ra(e).rows,[e]),a=JL(o?t:eR,o?r:Kh,Kh);QL(()=>{if(!o)return;let i=ra(e);i.rows===null&&!i.loading&&jh(e)},[e,o]);let n=yl(()=>o?jh(e):Promise.resolve(),[e,o]),s=yl(i=>oc(ra(e),i),[e]);return{rows:a,reload:n,setRows:s,getRows:r}}function oR(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function Yh(){let{currentSlug:e}=Vh(),{rows:o}=aa();return oR(o,e)}import{useEaselSession as tR}from"efficient-easel/screen/lib/session-context";import{useScreenDocument as rR}from"efficient-easel/screen/components/ScreenDocumentContext";var aR=new Set(["normal","dynamic"]);function Cl(e){return!e.kind||aR.has(e.kind)}function wl(e,o){let t=mt(e)||"page";if(!o.has(t))return t;let r=2;for(;o.has(`${t}-${r}`);)r+=1;return`${t}-${r}`}function Xh(e,o){return o.has(e)}function Zh(e,o){return{title:`${e.label||e.slug} copy`,slug:wl(`${e.slug}-copy`,o)}}function vl(){let e=tR(),{siteId:o,templateId:t}=rR(),r=Se(e).pages;if(!(!r.duplicate||t))return(a,n)=>r.duplicate(a.id,{...n,...o?{siteId:o}:{}})}import{jsx as Lt,jsxs as Qh,Fragment as nR}from"react/jsx-runtime";import{useId as Jh,useState as pr}from"react";import{Button as eg,Dialog as lR,FormField as og,Input as tg,Stack as sR}from"efficient-shell/ui";function kl({source:e,taken:o,duplicate:t,onClose:r,onDuplicated:a}){let n=Jh(),s=Jh(),[i,f]=pr(null),[d,p]=pr(""),[m,x]=pr(""),[I,y]=pr(!1),[k,v]=pr(!1),[C,S]=pr(null);if(e!==i&&(f(e),e)){let E=Zh(e,o);p(E.title),x(E.slug),y(!1),S(null)}let h=Xh(m,o),b=!!(e&&d.trim()&&m&&!h&&!k),O=async()=>{if(!(!e||!b)){v(!0),S(null);try{let E=await t(e,{title:d.trim(),slug:m});a(E)}catch{S(l("Couldn\u2019t duplicate the page \u2014 please retry."))}finally{v(!1)}}};return Lt(lR,{open:e!==null,onClose:()=>{k||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:Qh(nR,{children:[Lt(eg,{variant:"secondary",onClick:r,disabled:k,children:l("Cancel")}),Lt(eg,{onClick:()=>{O()},disabled:!b,loading:k,children:l("Duplicate page")})]}),children:Qh(sR,{gap:4,children:[Lt(og,{label:l("Title"),htmlFor:n,error:C??void 0,children:Lt(tg,{id:n,value:d,invalid:!!C,onChange:E=>{p(E.target.value),I||x(mt(E.target.value))},onKeyDown:E=>{E.key==="Enter"&&O()}})}),Lt(og,{label:l("URL handle"),htmlFor:s,hint:h?void 0:l("URL: /{slug}",{slug:m}),error:h?l("Another page uses this URL handle."):void 0,children:Lt(tg,{id:s,value:m,invalid:h,onChange:E=>{y(!0),x(mt(E.target.value))},onKeyDown:E=>{E.key==="Enter"&&O()}})})]})})}var cg="sf-editor-pages-collapsed-groups";function dg({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:r}){let a=kR().chrome?.pageRows,n=vR(),{adapter:s,capabilities:i,ready:f,currentSlug:d}=uR(),p=ur(),{rows:m,reload:x,setRows:I,getRows:y}=aa(),[k,v]=at(""),[C,S]=at(!1),[h,b]=at(null),[O,E]=at(!1),[T,P]=at(""),B=cR(),H=vl(),[R,A]=at(null),[W,_]=at(()=>{if(typeof window>"u")return new Set;try{let L=window.localStorage.getItem(cg);return new Set(L?JSON.parse(L):[])}catch{return new Set}});fR(()=>{try{window.localStorage.setItem(cg,JSON.stringify([...W]))}catch{}},[W]);let te=L=>_($=>{let q=new Set($);return q.has(L)?q.delete(L):q.add(L),q}),ie=ag(()=>$h(m??[]),[m]),ue=k.trim().toLowerCase(),lo=L=>!ue||L.toLowerCase().includes(ue),so=L=>ue?!0:!W.has(L),Le=ag(()=>new Set((m??[]).map(L=>L.slug)),[m]),io=()=>{if(i.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}P(""),b(null),E(!0)},_e=async()=>{let L=T.trim();if(!(!L||!f||C||!s.createPage)){S(!0),b(null);try{let $=await s.createPage({slug:wl(L,Le),title:L,layout:{}});await x(),E(!1),P(""),e($.slug)}catch{b(l("Couldn\u2019t add the page \u2014 please retry."))}finally{S(!1)}}},Te=i.hasSiteSettings&&!!s.createPage,xe=async()=>{if(!(!f||C||!s.createPage)){S(!0),b(null);try{let L=await s.createPage(Bm(l("New popup"),Le));await x(),e(L.slug)}catch{b(l("Couldn\u2019t add the popup \u2014 please retry."))}finally{S(!1)}}},he=dR(null),[Ne,Pe]=at(null),fo=()=>{if(!Te)return io();if(Ne)return Pe(null);let L=he.current?.getBoundingClientRect();L&&Pe({top:L.bottom+6,right:Math.max(8,window.innerWidth-L.right)})},Me=L=>{let $=m??[],q=s.deletePage;if(!f||C||!q||$.length<=1)return;let Re=$.findIndex(Fe=>Fe.id===L.id),mo=$.filter(Fe=>Fe.id!==L.id),Ye=L.slug===d;Sl(L.id,!0),I(mo),b(null),Ye&&mo[0]&&e(mo[0].slug);let Wt=()=>{Sl(L.id,!1);let Fe=y()??[];if(Fe.some(ja=>ja.id===L.id))return;let Oo=[...Fe];Oo.splice(Math.max(0,Math.min(Re,Oo.length)),0,L),I(Oo)};ig.undoable(l("Deleted \u201C{name}\u201D",{name:L.label}),{actionLabel:l("Undo"),commit:async Fe=>{await q(L.id,Fe),Sl(L.id,!1)},undo:()=>{Wt(),Ye&&e(L.slug)},onFail:()=>{Wt(),ig.error(l("Couldn\u2019t delete the page \u2014 please retry."))}})},Ge=L=>n.send("storefront-editor:open-page",{slug:L}),co=L=>{if(!lo(L.label))return null;let $=!t&&L.slug===d,q=i.canDeletePagesInline&&(m??[]).length>1,Re=ec(L),mo=L.kind==="lightbox",Ye=[...Re?[{label:l("Dynamic"),tone:"info"}]:[],...mo?[{label:l("Lightbox"),tone:"success"}]:[],...L.draft?[{label:l("draft"),tone:"draft"}]:[]],Wt=Ye.length>0?Ye:void 0,Fe=!!H&&Cl(L),Oo=Fe||i.pageCreationInAdminForm||q?na(rg,{children:[Fe&&ee(Pl,{kind:"plain",label:l("Duplicate \u201C{name}\u201D",{name:L.label}),disabled:C,onClick:()=>A(L),children:ee(SR,{size:13})}),i.pageCreationInAdminForm&&ee(Pl,{kind:"plain",label:l("Edit \u201C{name}\u201D in {place}",{name:L.label,place:l("the admin")}),onClick:()=>Ge(L.slug),children:ee(Tl,{name:"pencil",size:13,strokeWidth:1.7,rounded:!0})}),q&&ee(Pl,{kind:"delete",label:l("Delete \u201C{name}\u201D",{name:L.label}),disabled:C,onClick:()=>Me(L),children:ee(Tl,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return ee(fg,{icon:ee(CR,{size:14}),name:L.label,selected:$,onSelect:()=>e(L.slug),badge:Wt,actions:Oo,rowProps:{"data-page-slug":L.slug}},L.id)},uo=(L,$,q)=>{let Re=q.filter(Boolean);if(Re.length===0)return null;let mo=so(L);return na(iR,{children:[ee(yR,{count:Re.length,expanded:mo,onToggle:()=>te(L),children:$}),mo&&Re]},L)},Eo=(a?.rows??[]).filter(L=>lo(L.label)).map(L=>{let $=t===L.key;return ee(fg,{icon:L.icon,name:L.label,selected:$,onSelect:()=>r(L.key),badge:{label:l("Preview"),tone:"warning"},actions:ee(Pl,{kind:"plain",label:l("Open the {name} in a new tab",{name:L.label}),onClick:()=>window.open(L.href,"_blank","noopener,noreferrer"),children:ee(Tl,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":L.key}},L.key)}),Ve=i.hasSiteSettings&&!!a,po=(()=>{if(m===null)return null;let L=[],$=!1;for(let q of ie){Ve&&!$&&q.key.startsWith("system:")&&(L.push(uo("shop",a.title,Eo)),$=!0);let Re=q.key===Jf||q.label===Qf?l(q.label):q.label;L.push(uo(q.key,Re,q.rows.map(co)))}return Ve&&!$&&L.push(uo("shop",a.title,Eo)),L})();return na("div",{className:"sf-pages",children:[ee(pR,{icon:ee(wR,{}),title:l("Pages"),context:p,actions:ee(mR,{buttonRef:he,label:Te?l("Add"):l("New page"),hasPopup:Te?"menu":void 0,expanded:Te?Ne!==null:void 0,onClick:fo,children:ee(bR,{size:15})})}),Ne&&ee(hR,{portal:!0,style:{top:Ne.top,right:Ne.right},onClose:()=>Pe(null),children:na("div",{role:"menu","aria-label":l("Add"),children:[ee(sg,{role:"menuitem",onClick:()=>{Pe(null),io()},children:l("Page")}),ee(sg,{role:"menuitem",disabled:C,onClick:()=>{Pe(null),xe()},children:l("Popup")})]})}),ee("div",{className:"sf-pages-find",children:ee(lg,{type:"search",leftIcon:ee(Tl,{name:"search",size:14,rounded:!0}),placeholder:l("Search all pages\u2026"),value:k,onChange:L=>v(L.target.value),"aria-label":l("Search all pages")})}),h&&!O&&ee("div",{className:"sf-note sf-note--error",role:"alert",children:h}),po===null?ee("div",{className:"sf-note",children:l("Loading\u2026")}):po.some(Boolean)?ee(gR,{ariaLabel:l("Pages"),className:"sf-scroll",children:po}):ee("div",{className:"sf-note",children:k.trim()?l("No pages match your search"):l("No pages yet. Add one with + above.")}),H&&ee(kl,{source:R,taken:Le,duplicate:H,onClose:()=>A(null),onDuplicated:L=>{A(null),x(),e(L.slug)}}),ee(xR,{open:O,onClose:()=>E(!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:na(rg,{children:[ee(ng,{variant:"secondary",onClick:()=>E(!1),children:l("Cancel")}),ee(ng,{onClick:()=>{_e()},disabled:C||!T.trim(),loading:C,children:l("Add page")})]}),children:ee(IR,{label:l("Page name"),htmlFor:B,hint:T.trim()?l("URL: /{slug}",{slug:wl(T,Le)}):void 0,error:h??void 0,children:ee(lg,{id:B,value:T,invalid:!!h,onChange:L=>P(L.target.value),onKeyDown:L=>{L.key==="Enter"&&_e()},placeholder:l("e.g. About")})})})]})}import{jsx as TR}from"react/jsx-runtime";import{createContext as PR,useCallback as FR,useContext as ER,useState as OR}from"react";import{useSelectHandler as LR}from"efficient-easel/draw/client";var Fl=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],mr=Fl[0];var Rt="right";function El(e){return Fl.includes(e??"")?e:mr}function ug(e){return e==="left"?"left":Rt}function pg(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():""}var Ol={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Rt,launcherLabel:"",showOnPhones:!0};function tj(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:pg(e.launcherColor),launcherIcon:e.launcherIcon?El(e.launcherIcon):"",launcherPosition:ug(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var mg=PR({chat:Ol,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function rj({children:e,chat:o=Ol,onChatChange:t}){let[r,a]=OR(!1),n=FR(f=>t?.(f),[t]),{select:s,setSelectHandler:i}=LR();return TR(mg.Provider,{value:{chat:o,setChat:n,selected:r,setSelected:a,select:s,setSelectHandler:i},children:e})}var Ll=()=>ER(mg);import{jsx as tc}from"react/jsx-runtime";import{DesktopIcon as RR,PhoneIcon as AR,TabletIcon as BR}from"efficient-easel/icons";import{VIEW_TIERS as DR,VIEW_TIER_LABEL as _R}from"efficient-easel/draw";var NR={desktop:tc(RR,{}),tablet:tc(BR,{}),mobile:tc(AR,{})},xg=DR.map(e=>({id:e,get label(){return l(_R[e])},icon:NR[e]}));import{PreviewDeviceContext as JH}from"efficient-easel/draw/client";import{jsx as MR}from"react/jsx-runtime";import{createContext as HR,useCallback as Ig,useContext as WR,useMemo as zR,useRef as GR}from"react";var UR=Object.fromEntries(Xa.map(e=>[e,{value:"",error:null}])),hg=HR({links:Fu,rows:UR,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function pj({children:e,value:o}){let t=GR(()=>{}),r=Ig(()=>t.current(),[]),a=Ig(s=>{t.current=s},[]),n=zR(()=>({...o,openPanel:r,setOpenHandler:a}),[o,r,a]);return MR(hg.Provider,{value:n,children:e})}var la=()=>WR(hg);import{jsx as $R}from"react/jsx-runtime";import{createContext as qR,useContext as jR,useMemo as KR,useState as VR}from"react";var gg=qR(null);function hj({children:e}){let[o,t]=VR(null),r=KR(()=>({surface:o,setSurface:t}),[o]);return $R(gg.Provider,{value:r,children:e})}function yg(){return jR(gg)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as YR}from"efficient-easel/draw/client";var sa="Scrolling Bar",{Provider:bj,useSelection:bg}=YR("selectedHeroId");import{createPreviewSelectionContext as XR}from"efficient-easel/draw/client";var{Provider:wj,useSelection:Rl}=XR("selectedHeroPart");import{isShown as mA,lazyShowWhenContext as xA}from"efficient-shell/format";var ia="product",ZR="recordType",QR={key:ia,label:"Product",fields:[]},JR=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,eA=/^[a-z][A-Za-z0-9]*$/,oA=["text","date"],Sg=new Map,Cg=0;function tA(e){if(typeof e.key!="string"||!JR.test(e.key))throw new Error(`A record type key is lower-case words joined by hyphens, not ${JSON.stringify(e.key)}.`);if(e.key===ia)throw new Error("The product record type is the builder's own and is not declared by a host.");if(typeof e.label!="string"||!e.label.trim())throw new Error(`The record type ${e.key} has no label.`);let o=new Set;for(let t of e.fields){if(typeof t.key!="string"||!eA.test(t.key)||o.has(t.key))throw new Error(`The record type ${e.key} has a field key it cannot use: ${JSON.stringify(t.key)}.`);if(!oA.includes(t.kind))throw new Error(`The field ${t.key} of ${e.key} has no kind ${JSON.stringify(t.kind)}.`);o.add(t.key)}return{key:e.key,label:e.label.trim(),fields:e.fields.map(t=>({...t}))}}function kj(e){let o=e.map(tA);for(let t of o)Sg.set(t.key,t);o.length&&(Cg+=1)}function Tj(){return[QR,...Sg.values()]}function Pj(){return Cg}function rA(e){let o=e?.[ZR];return typeof o!="string"?ia:o.trim()||ia}function rc(e){return rA(e)===ia}var ac="product",aA="tyre";var nA="productType",lA={[ac]:"alloy-wheel",[aA]:"tyre"},sA=["alloy-wheel","tyre"];function wg(e,o){return rc(o)?iA(o)??lA[e]??null:null}function iA(e){if(!rc(e))return null;let o=e?.[nA];return typeof o=="string"&&sA.includes(o)?o:null}var Al=null,vg=null;function fA(e,o){Al=e,vg=o}function Rj(e){fA(e,null)}function Aj(){return Al}function kg(){return vg==="dynamic"||Al===ac}function Bj(e){return wg(Al??"",e)??"alloy-wheel"}import{addShowWhenFacts as cA}from"efficient-shell/format";import{showWhenOf as nc,shownForOption as dA,truthy as uA,withRowRules as pA,withRowsShownWhen as Bl,withShowWhen as Dl}from"efficient-shell/format";var Mj=cA;function Pg(e,o,t){let r=!1,a={};for(let[n,s]of Object.entries(e))mA(nc(s),o??{},t)?a[n]=s:r=!0;return r?a:e}function Fg(e,o,t,r){let a=Ja(o,t,r);return{device:e,parentType:a?.item.type,parent:a?.item.props}}function Tg(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 Tg(t.not,o);for(let r of[t.all,t.any])if(Array.isArray(r)&&r.some(a=>Tg(a,o)))return!0;return!1}function qj(e,o={}){return xA({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>kg(),root:()=>e.appState?.data?.root?.props,...o})}var Og=["one","side","stacked"];var Kj={one:"One",side:"Side by side",stacked:"Stacked"};function Lg(e){return Og.includes(e)?e:"one"}function Eg(e){return e==="one"?1:2}function IA(e,o){if(Og.includes(e))return e;let t=Lg(o);return t==="side"?"stacked":t}function lc(e){let o=Lg(e.mediaLayout);return Math.max(Eg(o),Eg(IA(e.mediaLayoutPhone,o)))}var fa=["media","image","image2"],xr={media:"Media",image:"Image",image2:"Image 2"},ca={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function _l(e,o){return e==="image"&&lc(o)>1?"Image 1":xr[e]}var Zj="Video file",Qj="Upload a video file";function hA(e,o){return{field:"mediaType",is:e,default:o}}var gA=new Set(["HeroSingle"]),Rg="heroPart";function yA(e,o){return{...o,[Rg]:e}}function Jj(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]=Dl(n[i],hA(s,r));for(let[s,i]of Object.entries(a??{}))i&&(n[s]=Dl(n[s],i));for(let s of fa)for(let i of o[s]??[])n[i]=yA(s,n[i]);return n}function bA(e){let o=e?.[Rg];return fa.includes(o)?o:null}function Ag(e,o){let t={};for(let[r,a]of Object.entries(e))bA(a)===o&&(t[r]=a);return t}function Bg(e){if(!gA.has(e.type))return[];let o=[{part:"media",label:xr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:_l("image",e.props),depth:1}),lc(e.props)>1&&o.push({part:"image2",label:_l("image2",e.props),depth:1})),o}function da(e,o){return`${e}::${o}`}function Dg(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return fa.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var eK="data-sf-hero-part";import{jsx as Z,jsxs as nt,Fragment as rs}from"react/jsx-runtime";import{useState as mb}from"react";import{useEasel as aN}from"efficient-easel/easel";import{headWords as hb,InspectorHead as nN,InspectorIconButton as ld}from"efficient-easel/chrome";import{DuplicateIcon as xb,TrashIcon as lN}from"efficient-easel/icons";import{panelFieldsOf as sN}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as F,Fragment as K,jsxs as Y}from"react/jsx-runtime";import{BlockBannerIcon as wA,BlockBoxIcon as vA,BlockButtonIcon as kA,BlockDividerIcon as Ng,BlockFooterIcon as Mg,BlockHeadingIcon as TA,BlockProductIcon as PA,BlockSocialIcon as FA,BlockTextIcon as EA,ChatIcon as OA,GridIcon as LA,ImageIcon as ic,MediaIcon as RA,PageIcon as AA}from"efficient-easel/icons";import{jsx as sc,Fragment as SA,jsxs as CA}from"react/jsx-runtime";var _g=CA(SA,{children:[sc("circle",{cx:"9",cy:"20",r:"1.3"}),sc("circle",{cx:"18",cy:"20",r:"1.3"}),sc("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 BA={header:Y(K,{children:[F("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),F("path",{d:"M3 9.5h18"})]}),website:Y(K,{children:[F("circle",{cx:"12",cy:"12",r:"9"}),F("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:Y(K,{children:[F("circle",{cx:"6",cy:"12",r:"2.5"}),F("circle",{cx:"18",cy:"6",r:"2.5"}),F("circle",{cx:"18",cy:"18",r:"2.5"}),F("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:Y(K,{children:[F("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),F("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:Y(K,{children:[F("path",{d:"M4 15.5h6M4 18h4"}),F("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:F("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:Y(K,{children:[F("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),F("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:F("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:Y(K,{children:[F("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),F("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:Y(K,{children:[F("circle",{cx:"11",cy:"11",r:"6"}),F("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:_g,CountrySwitchBlock:Y(K,{children:[F("circle",{cx:"12",cy:"12",r:"8.5"}),F("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:Y(K,{children:[F("circle",{cx:"12",cy:"8",r:"4"}),F("path",{d:"M4.5 20c.8-3.8 3.8-6 7.5-6s6.7 2.2 7.5 6"})]}),ThemeSwitchBlock:Y(K,{children:[F("circle",{cx:"12",cy:"12",r:"8.5"}),F("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:Y(K,{children:[F("path",{d:"M3 9h18"}),F("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:Y(K,{children:[F("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),F("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:Y(K,{children:[F("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),F("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:Y(K,{children:[F("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),F("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),F("path",{d:"M7 17h7"})]}),Collections:Y(K,{children:[F("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),F("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),F("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:Y(K,{children:[F("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),F("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:Y(K,{children:[F("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),F("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),F("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),F("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),F("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:Y(K,{children:[F("path",{d:"M3 7h9M15.5 7H21"}),F("circle",{cx:"13.5",cy:"7",r:"1.7"}),F("path",{d:"M3 12h4M10.5 12H21"}),F("circle",{cx:"8.5",cy:"12",r:"1.7"}),F("path",{d:"M3 17h9M15.5 17H21"}),F("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:Y(K,{children:[F("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),F("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),F("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),F("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),F("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),F("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:Y(K,{children:[F("path",{d:"M3 5h10"}),F("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),F("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),F("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:Y(K,{children:[F("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),F("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),F("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:Y(K,{children:[F("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),F("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),F("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),F("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:Y(K,{children:[F("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),F("circle",{cx:"9",cy:"10",r:"1.6"}),F("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:Y(K,{children:[F("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),F("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:Y(K,{children:[F("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),F("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),F("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:Y(K,{children:[F("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),F("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:Y(K,{children:[F("path",{d:"M3.5 20h17"}),F("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:Y(K,{children:[F("circle",{cx:"6",cy:"12",r:"2.6"}),F("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),F("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:Y(K,{children:[F("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),F("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:Y(K,{children:[F("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),F("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:Y(K,{children:[F("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),F("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:Y(K,{children:[F("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),F("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:Y(K,{children:[F("path",{d:"M4 8.5h4.5M11 8.5h9"}),F("path",{d:"M4 14.5h16"})]}),HeroGroup:Y(K,{children:[F("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),F("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:Y(K,{children:[F("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),F("path",{d:"M6.5 9h11M6.5 12.5h11"}),F("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:F(K,{children:F("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:Y(K,{children:[F("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),F("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:Y(K,{children:[F("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),F("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),F("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),F("path",{d:"M4 13.5h11M4 17.5h7"}),F("path",{d:"M17 15l3 2-3 2"})]}),CustomHTML:F("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},DA=F("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),_A={footer:Mg,Footer:Mg,Divider:Ng,FooterDivider:Ng,Banner:wA,Flex:vA,FooterSocial:FA,page:AA,chat:OA,Heading:TA,Text:EA,ImageBlock:ic,ButtonBlock:kA,Grid:LA,ProductRef:PA,heroMedia:RA,heroImage:ic,heroImage2:ic},NA={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function At({type:e,size:o=16,className:t}){let r=NA[e]??e,a=_A[r];return a?F(a,{size:o,className:t}):F("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:BA[r]??DA})}import{PanelHideButton as sd}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as iN}from"efficient-easel/screen/lib/session-context";import{jsx as oe,jsxs as ua,Fragment as MA}from"react/jsx-runtime";import{useEffect as HA,useId as Hg,useState as WA}from"react";import{IconPicker as zA}from"efficient-shell/ui";import{SettingsDefaultReset as GA,SettingsField as pa,SettingsSegmented as UA,SettingsSwitch as Wg}from"efficient-easel/panel";import*as $A from"efficient-easel/icons";import{ButtonIcon as qA,ButtonIconIcon as jA,EyeIcon as KA,PhoneIcon as VA,PlacementIcon as YA,TypeIcon as XA}from"efficient-easel/icons";var ZA="Chat with us",QA="We usually reply within a few minutes",JA="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function Nl({label:e,value:o,placeholder:t,onCommit:r,multiline:a=!1,hint:n}){let[s,i]=WA(o);HA(()=>i(o),[o]);let f=()=>{s!==o&&r(s)};return oe(pa,{label:e,icon:oe(XA,{}),changed:o!=="",action:oe(ma,{label:e,changed:o!=="",onReset:()=>r("")}),hint:n,children:a?oe("textarea",{value:s,placeholder:t,rows:3,onChange:d=>i(d.target.value),onBlur:f,"aria-label":e}):oe("input",{type:"text",value:s,placeholder:t,onChange:d=>i(d.target.value),onBlur:f,onKeyDown:d=>{d.key==="Enter"&&d.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function ma({label:e,changed:o,onReset:t}){return oe(GA,{words:X()?.panel,label:e,changed:o,onReset:t})}function eB({label:e,icon:o,checked:t,fallback:r,onChange:a,hint:n}){let s=Hg();return oe(pa,{label:e,labelId:s,icon:o,changed:t!==r,action:ua("span",{className:"inline-flex items-center gap-2",children:[oe(Wg,{checked:t,onChange:a,ariaLabelledBy:s}),oe(ma,{label:e,changed:t!==r,onReset:()=>a(r)})]}),hint:n})}function oB(e){let o=e.replace(/(^|-)([a-z])/g,(r,a,n)=>n.toUpperCase()),t=$A[`${o}Icon`];return t?oe(t,{size:16}):null}var tB=Fl.map(e=>({value:e,icon:oB(e)}));function rB(){let{theme:e}=V(),o=He(e).themes[0];return Lr(o)??o?.accent??""}function zg(){let{chat:e,setChat:o}=Ll(),t=Hg(),r=rB(),a=e.launcherIcon?El(e.launcherIcon):mr;return ua(MA,{children:[oe(pa,{label:l("Show the chat bubble"),labelId:t,icon:oe(KA,{}),changed:!e.enabled,action:ua("span",{className:"inline-flex items-center gap-2",children:[oe(Wg,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),oe(ma,{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.")}),ua(sf,{title:l("Look"),children:[oe(qe,{label:l("Button color"),icon:oe(qA,{}),changed:e.launcherColor!=="",value:e.launcherColor,inherited:r,caption:e.launcherColor?void 0:l("Site button color"),onChange:n=>o({launcherColor:n}),onReset:()=>o({launcherColor:""})}),oe(pa,{label:l("Icon"),icon:oe(jA,{}),changed:a!==mr,action:oe(ma,{label:l("Icon"),changed:a!==mr,onReset:()=>o({launcherIcon:""})}),children:oe(zA,{label:l("Icon"),value:a,options:tB,onChange:n=>o({launcherIcon:n===mr?"":n})})}),oe(pa,{label:l("Position"),icon:oe(YA,{}),changed:e.launcherPosition!==Rt,action:oe(ma,{label:l("Position"),changed:e.launcherPosition!==Rt,onReset:()=>o({launcherPosition:Rt})}),children:oe(UA,{options:[{label:l("Right"),id:"right"},{label:l("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:l("Position"),onChange:n=>o({launcherPosition:n})})}),oe(Nl,{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")}),oe(eB,{label:l("Show on phones"),icon:oe(VA,{}),checked:e.showOnPhones,fallback:Ol.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),ua(sf,{title:l("Wording"),children:[oe(Nl,{label:l("Title"),value:e.title,placeholder:ZA,onCommit:n=>o({title:n})}),oe(Nl,{label:l("Subtitle"),value:e.subtitle,placeholder:QA,onCommit:n=>o({subtitle:n})}),oe(Nl,{label:l("Greeting message"),value:e.greeting,placeholder:JA,onCommit:n=>o({greeting:n}),multiline:!0}),oe("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 Oc,jsxs as jg}from"react/jsx-runtime";import{useEffect as AB,useId as $g,useState as qg}from"react";import{SettingsField as BB}from"efficient-easel/panel";import{jsx as vB}from"react/jsx-runtime";import{forwardRef as aB,createElement as fc}from"react";var Gg={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 U=(e,o,t,r)=>{let a=aB(({color:n="currentColor",size:s=24,stroke:i=2,title:f,className:d,children:p,...m},x)=>fc("svg",{ref:x,...Gg[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,d].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:i,stroke:n},...m},[f&&fc("title",{key:"svg-title"},f),...r.map(([I,y])=>fc(I,y)),...Array.isArray(p)?p:[p]]));return a.displayName=`${t}`,a};var nB=[["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"}]],cc=U("outline","brand-facebook","BrandFacebook",nB);var lB=[["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"}]],dc=U("outline","brand-instagram","BrandInstagram",lB);var sB=[["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"}]],uc=U("outline","brand-line","BrandLine",sB);var iB=[["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"}]],pc=U("outline","brand-linkedin","BrandLinkedin",iB);var fB=[["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"}]],mc=U("outline","brand-pinterest","BrandPinterest",fB);var cB=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],xc=U("outline","brand-telegram","BrandTelegram",cB);var dB=[["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"}]],Ic=U("outline","brand-tiktok","BrandTiktok",dB);var uB=[["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"}]],hc=U("outline","brand-wechat","BrandWechat",uB);var pB=[["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"}]],gc=U("outline","brand-whatsapp","BrandWhatsapp",pB);var mB=[["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"}]],yc=U("outline","brand-x","BrandX",mB);var xB=[["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"}]],bc=U("outline","brand-youtube","BrandYoutube",xB);var IB=[["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"}]],Sc=U("filled","brand-facebook-filled","BrandFacebookFilled",IB);var hB=[["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"}]],Cc=U("filled","brand-instagram-filled","BrandInstagramFilled",hB);var gB=[["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"}]],wc=U("filled","brand-linkedin-filled","BrandLinkedinFilled",gB);var yB=[["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"}]],vc=U("filled","brand-pinterest-filled","BrandPinterestFilled",yB);var bB=[["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"}]],kc=U("filled","brand-tiktok-filled","BrandTiktokFilled",bB);var SB=[["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"}]],Tc=U("filled","brand-whatsapp-filled","BrandWhatsappFilled",SB);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"}]],Pc=U("filled","brand-x-filled","BrandXFilled",CB);var wB=[["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"}]],Fc=U("filled","brand-youtube-filled","BrandYoutubeFilled",wB);var RV="outline",Ml={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},kB={},Ec={fillRule:"evenodd"},TB=[["path",{...Ml,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...Ec,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],PB=[["path",{...Ml,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",{...kB,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("")}]],FB=[["path",{...Ml,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",{...Ml,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",{...Ec,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",{...Ec,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("")}]],EB=U("filled","brand-telegram-filled","BrandTelegramFilled",TB),OB=U("filled","brand-line-filled","BrandLineFilled",PB),LB=U("filled","brand-wechat-filled","BrandWechatFilled",FB),RB={instagram:{outline:dc,solid:Cc},facebook:{outline:cc,solid:Sc},tiktok:{outline:Ic,solid:kc},youtube:{outline:bc,solid:Fc},x:{outline:yc,solid:Pc},linkedin:{outline:pc,solid:wc},pinterest:{outline:mc,solid:vc},whatsapp:{outline:gc,solid:Tc},telegram:{outline:xc,solid:EB},line:{outline:uc,solid:OB},wechat:{outline:hc,solid:LB}};function Ug({platform:e,iconStyle:o,size:t}){let r=RB[e][o];return vB(r,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var DB={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 _B({platform:e}){let{rows:o,saveLink:t}=la(),{value:r,error:a}=o[e],[n,s]=qg(r),[i,f]=qg(!1),d=$g(),p=$g();AB(()=>s(r),[r]);let m=async()=>{if(n.trim()===r){n!==r&&s(r);return}f(!0),await t(e,n),f(!1)},x=Pu[e];return jg(Oc,{children:[Bt(BB,{label:l(x),htmlFor:d,icon:Bt(Ug,{platform:e,iconStyle:"outline",size:18}),children:Bt("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:DB[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 Kg({unavailable:e}){let{canSave:o}=la();return!o&&e?Bt(Oc,{children:e}):jg(Oc,{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.")}),Xa.map(t=>Bt(_B,{platform:t},t))]})}import{jsx as xa,jsxs as NB}from"react/jsx-runtime";import{useId as MB,useMemo as HB}from"react";import{useEasel as WB}from"efficient-easel/easel";import{SettingsField as zB,SettingsSwitch as GB}from"efficient-easel/panel";import{EyeIcon as UB}from"efficient-easel/icons";var Vg=["","","","","",""];var $B="root:default-zone";function Yg({heroId:e}){let{appState:o,dispatch:t}=WB(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=HB(()=>{let p=n?.props.tickerItems;return Array.isArray(p)?p:Vg.map(m=>({text:m}))},[n]),f=MB();if(!n)return xa("p",{className:"sf-note",children:l("This ticker\u2019s hero is no longer on the page.")});let d=p=>t({type:"replace",destinationZone:$B,destinationIndex:a,data:{...n,props:{...n.props,...p}}});return NB("div",{children:[xa(zB,{label:l("Show ticker"),labelId:f,icon:xa(UB,{}),action:xa(GB,{checked:s,onChange:p=>d({showTicker:p}),ariaLabelledBy:f})}),xa(mf,{label:pf.label,icon:pf.icon,items:i,placeholder:"item",onChange:p=>d({tickerItems:p}),markup:!0})]})}import{jsx as G,Fragment as $c,jsxs as To}from"react/jsx-runtime";import{useContext as PD,useEffect as zc,useRef as FD,useState as vy}from"react";import{FieldSelect as ED,InspectorField as OD}from"efficient-easel/fields";import{SettingsField as LD}from"efficient-easel/panel";import{InspectorUpLevel as ql}from"efficient-easel/chrome";import{StylesIcon as RD,TypeIcon as AD}from"efficient-easel/icons";import{useEasel as BD}from"efficient-easel/easel";import{TextPartPanel as DD}from"efficient-easel/copy";import{Tooltip as _D}from"efficient-shell/ui";import{jsx as Mc,jsxs as rD}from"react/jsx-runtime";import{COPY_CELLS as Ia,CopyBox as aD}from"efficient-easel/copy";import{PaddingYIcon as nD,WidthIcon as lD}from"efficient-easel/icons";import{useSyncExternalStore as XB}from"react";var Lc="template",Zg="Card template",qB=["Text","ImageBlock","ButtonBlock","Flex"],Hl="rowField",jB="rowLinkField";function QV(){return{type:"slot",allow:[...qB]}}var KB=[{block:"OrderSummary",fields:[{key:"label",label:"Item"},{key:"meta",label:"Meta line"},{key:"amount",label:"Amount"}]}],Xg=Symbol.for("efficient.card-templates");function Rc(){let e=globalThis,o=e[Xg];return o||(o=new Map(KB.map(t=>[t.block,t])),e[Xg]=o),o}function Ac(e){return typeof e=="string"&&Rc().has(e)}function JV(e,o){let t=Rc().get(e)?.fields??[];return o?t.filter(r=>(r.kind??"text")===o):t}function eY(e,o){return e?Rc().get(e)?.fields.find(t=>t.key===o)??null:null}function VB(e,o=Hl){let t=e?.[o];return typeof t=="string"?t.trim():""}function oY(e){let o={};if(e&&typeof e=="object"&&!Array.isArray(e))for(let[t,r]of Object.entries(e))typeof r=="string"&&(o[t]=r);return o}var YB={Text:{text:Hl},ImageBlock:{src:Hl},ButtonBlock:{label:Hl,href:jB}};function Qg(e,o,t){let r=YB[e]?.[t];return!!(r&&VB(o,r))}function tY(e,o){let t=e?.data?.content;if(!Array.isArray(t)||typeof o!="string")return;let r=(n,s)=>{for(let i of n){if(i?.props?.id===o)return s;for(let[f,d]of Object.entries(i?.props??{})){if(!Array.isArray(d)||!d.length||typeof d[0]!="object"||d[0]===null||!("type"in d[0]))continue;let p=f===Lc&&Ac(i.type)?i:s,m=r(d,p);if(m!==void 0)return m}}},a=r(t,null);return a===void 0?null:a}import{decodePartId as ZB}from"efficient-easel/draw";function Ir(e,o){let t=ll(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?TI(t,o.index):null:Pf(e)?.[o.rowKey]??null}function Wl(e,o,t){let r=e.node.props,{key:a,row:n}=to(e.propKey),s=n?rh(r,a,n,e.kind,o):oh(r,a,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}var QB=["bold","italic","underline","strike","link","sup","sub"],JB=["bullet","number"];function _c(e,o){return e?[...QB,...o?JB:[]]:[]}function Jg(e,o){let t=ZB(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}=to(a),d=o.components[n.type]?.fields?.[i],p=f?Ir(d,f):d,m=nr(p);if(!m)return null;let x=n.props??{};if(!f&&Qg(n.type,x,i)||f&&!(Array.isArray(x[i])&&f.index<x[i].length))return null;let I=f?Xr(x[i],f):x[i];return{node:n,selector:s,propKey:a,kind:m,stored:I,offPage:Nn(p)}}function ey(e,o){let t=Jg(e,o);if(!t||t.offPage)return null;let{text:r,hidden:a}=Jo(t.stored);if(a)return null;let n=al(t.kind);return{partId:e,value:r,rules:Vt,multiline:n,offered:_c(t.kind!=="plainText",n),write:s=>{let i=Jg(e,o);i&&Wl({node:i.node,propKey:i.propKey,kind:i.kind,zone:i.selector.zone,index:i.selector.index},s,o.replace)}}}function oy(e,o,t){return e?.isConnected&&e.getAttribute(ro)===t?e:o?.querySelector(`[${ro}="${eD(t)}"]`)??null}function eD(e){return e.replace(/["\\]/g,"\\$&")}function ty(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Bc=null,Dc=new Set;function oD(){return Bc}function Nc(e){if(e!==Bc){Bc=e;for(let o of Dc)o()}}function tD(e){return Dc.add(e),()=>{Dc.delete(e)}}function ry(){return XB(tD,oD,()=>null)}var sD=["left","center","right","justify"];function Hc(e,o,t,r={}){let a=ea(e),n=(r.phone?e.sizePhone:void 0)??e.size??o.sizePx;return[r.phone?{...Ia.fontSize,value:e.sizePhone,styleValue:Math.round(o.sizePx),onChange:s=>t({sizePhone:s??null})}:{...Ia.fontSize,value:e.size,styleValue:Math.round(o.sizePx),onChange:s=>t({size:s??null})},{...Ia.lineHeight,value:a.lineHeight,styleValue:o.lineRatio,onChange:s=>t(s===void 0?{lineHeight:null,line:null}:{lineHeight:s})},{...Ia.letterSpacing,scale:n,value:a.letterSpacingEm,styleValue:o.letterEm,onChange:s=>t(s===void 0?{letterSpacing:null,letter:null}:{letterSpacing:s})},{...Ia.paragraphSpacing,value:e.paragraphSpacing,styleValue:0,onChange:s=>t({paragraphSpacing:s??null})},{key:"padding",name:l("Padding"),icon:Mc(nD,{}),unit:"px",step:_f,shiftStep:10,min:Bf,max:Df,value:e.padding,styleValue:o.paddingPx,onChange:s=>t({padding:s??null})},{key:"width",name:l("Width"),icon:Mc(lD,{}),unit:"px",step:Mf,shiftStep:100,min:Nf,max:ot,value:e.width,styleValue:o.widthPx,onChange:s=>t({width:s??null})}]}function ay({text:e,onTextChange:o,multiline:t,markup:r=!0,styled:a=!0,style:n,base:s,setValue:i,colors:f,placeholder:d,ariaLabel:p,head:m,typedOnCanvas:x=!1}){let I=Hc(n,s,i),y=_c(r,t);return rD("div",{className:"sf-part-textbox",children:[m,Mc(aD,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:p,rules:Vt,tools:y,barShows:x?"focus":"always",colors:r?f:[],align:a?{value:n.align??s.align,allow:sD,onChange:k=>i({align:k})}:void 0,letterCase:a?{value:n.case==="capitalize"?"":n.case??"",onChange:k=>i({case:k||null})}:void 0,cells:a?I:void 0})]})}import{UiIcon as ky}from"efficient-easel/draw/client";import{jsx as zl,Fragment as iD,jsxs as fD}from"react/jsx-runtime";import{Button as ny,Dialog as cD}from"efficient-shell/ui";function ly({styleName:e,onCancel:o,onConfirm:t}){return zl(cD,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Update {style}?",{style:e}),footer:fD(iD,{children:[zl(ny,{variant:"secondary",onClick:o,children:l("Cancel")}),zl(ny,{variant:"primary",onClick:t,children:l("Update style")})]}),children:zl("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 ND}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as MD}from"efficient-easel/draw/client";import{jsx as dD}from"react/jsx-runtime";import{createContext as uD,useContext as pD,useMemo as mD,useState as xD}from"react";var ID={partStyle:null,setPartStyle:()=>{}},sy=uD(ID);function DY({children:e}){let[o,t]=xD(null),r=mD(()=>({partStyle:o,setPartStyle:t}),[o]);return dD(sy.Provider,{value:r,children:e})}function iy(){return pD(sy)}import{TEXT_FIELD_MARKER as HD}from"efficient-easel/draw";import{useSectionOps as WD}from"efficient-easel/screen/lib/document/use-section-ops";var hD="#9ca3af";function gD(e){return cn.map(o=>({key:o,name:Op[o],value:e?.[o]||hD}))}function Gl(e){return gD(e).map(o=>({name:o.key,label:l(o.name),value:o.value}))}function cy(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 cn){let i=Kt[s].replace(/^var\((--[\w-]+)\)$/,"$1"),f=a.getPropertyValue(i).trim();if(!f)continue;let d=fy(f);!d&&n&&(n.fillStyle="#000000",n.fillStyle=f,d=fy(String(n.fillStyle))),d&&(o[s]=d)}return o}function fy(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}var ha="@name",dy="@body",uy="@value",zY={[ha]:"Name",[dy]:"Body",[uy]:"Value"},yD={TimelineTrack:{"entries.date":ha,"entries.title":ha,"entries.blurb":dy},Footprint:{"offices.city":ha},Stats:{"items.label":ha,"items.value":uy}};function bD(e){let{key:o,row:t}=to(e);return t?`${o}.${t.rowKey}`:null}function py(e,o){if(!e)return o;let t=bD(o);return t?yD[e]?.[t]??o:o}import{useEaselHost as zD}from"efficient-easel/screen/lib/host";function SD(e){let o=new Set([...Object.keys(pn[e]??{}),...mn[e]??[]]);for(let[t,r]of Object.entries(fi[e]??{}))r.verb==="snapshot"&&o.add(t);return[...o].sort()}var CD={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},my={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},xy="Open",Iy={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 ga(e){let o=e?.source?.slug;return typeof o=="string"&&o.length>0?o:void 0}function ya(e){return CD[e]??null}function hy(e,o){let t=ya(e);return t&&SD(e).includes(o)?t:null}function Ul(e){let o=e?.menu?.id;return typeof o=="string"&&o.length>0?o:void 0}var gy="data-sf-spec-region";function jY(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 hr(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 wD(e){return`@${e}`}function Wc(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function vD(e,o){return o&&o in e?o:null}var ba={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)]"},kD={tag:{label:"Tag",follows:"Labels",builtIn:hr(ba.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:hr(ba.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:hr(ba.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:hr(ba.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:hr(ba.link),writable:!0}},yy=kD;var TD={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}},by=TD;var JY=gy,Sy={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 Cy={SpecTable:Sy,FAQ:by,Collections:yy};function wy(e){return e&&Object.hasOwn(Cy,e)?Cy[e]:null}function Uc(e){return e?l(e):null}function Ty(e){return e.kind==="role"?Ps[e.role]:e.kind==="custom"?"Custom":null}function GD(e){let o=e.role;return o&&Lo.includes(o)?{kind:"role",role:o}:null}function UD(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 Gc(e,o,t,r){return GD(xl(e,o))??UD(t,r)}function $D(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(r=>o(r)===t)?t:null}var $l="";function qD({face:e,base:o,onPick:t}){let r=e.kind==="role"?e.role:$l,a=[{label:l("No style"),value:$l},...Lo.map(n=>({label:l(Ps[n]),value:n}))];return G(ED,{ariaLabel:l("Style"),value:r,options:a,inline:!0,onChange:n=>t(n===$l?null:n),renderOption:n=>n.value===$l?To($c,{children:[G("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),G("span",{className:"sf-part-style-aside","aria-hidden":"true",children:l("Section\u2019s own")})]}):G("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>G("span",{style:{fontFamily:o?.fontKey?`var(${Gt(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Uc(Ty(e))}),valueText:n=>Uc(Ty(e))??n?.label??""})}function jD({sectionName:e,onBack:o,textEditor:t,styleRow:r,children:a}){return To("div",{className:"sf-part-panel",children:[G(ql,{inline:!0,name:l(e),onSelect:o}),t,r,a]})}function jl({source:e,slug:o,menuId:t}){let r=zD(),a=Iy[e],n=!a.needsSlug||!!o;return G("div",{className:"sf-note sf-note--source",children:To("p",{className:"es-field-hint sf-hint-keep",children:[l(my[e]),n?To($c,{children:[" ",G("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(xy)})]}):null]})})}var Py=4,KD=120;function VD({region:e,sizePx:o,face:t,base:r,onFollowStyle:a,source:n,slug:s,onBack:i}){let f=e.follows;return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l(e.label)})}),G("p",{children:o?l("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:l(f),px:Math.round(o)}):l("Its size follows Styles \u25B8 {follows}.",{follows:l(f)})}),a?G($c,{children:G(LD,{label:l("Style"),icon:G(RD,{}),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:G(qD,{face:t,base:r,onPick:a})})}):G("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?G(jl,{source:n,slug:s}):null,G(ql,{inline:!0,name:l("Page"),onSelect:i})]})}function YD({onBack:e}){return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l("This part is no longer here.")})}),G("p",{children:l("The section it belonged to has been changed or removed.")}),G(ql,{inline:!0,name:l("Page"),onSelect:e})]})}function XD({onBack:e,partId:o,why:t}){return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l("This part's settings did not open.")})}),G("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.")}),G("p",{className:"sf-note-detail",children:To("code",{children:[o," \u2014 ",t]})}),G(ql,{inline:!0,name:l("Page"),onSelect:e})]})}function Fy({nodeId:e,propKey:o,onBack:t,onEditStyle:r}){let{getItemById:a,getSelectorForId:n,config:s}=BD(N=>N),i=WD(),f=ry(),{partStyle:d}=iy(),{fonts:p,textStyles:m}=V(),x=PD(ND),I=!x?.capabilities?.hasSiteTheme,{persist:y}=Yt({themeFromDocument:I,tokenRef:x?.tokenRef,siteId:x?.siteId??null}),k=hl({themeFromDocument:I,persist:y}),[v,C]=vy(!1),S=MD()==="mobile",h=FD(null),b=a(e),O=n(e),E=b?s.components[b.type]:void 0,{key:T,row:P}=to(o),B=E?.fields?.[T],H=P?Ir(B,P):B,R=fl(e,o),A=b?.props??{},W=nr(H),_=Nn(H),te=ch(H),ie=b?ya(b.type):null,ue=b?hy(b.type,T):null,lo=P?Xr(A[T],P):A[T],so=!!P&&!(Array.isArray(A[T])&&P.index<A[T].length);zc(()=>{ty(document)||h.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[R]);let[Le,io]=vy(0);zc(()=>io(0),[R]);let _e=!!b&&!so&&(!O||!H);zc(()=>{if(!_e||Le>=Py)return;let N=setTimeout(()=>io(Ie=>Ie+1),KD);return()=>clearTimeout(N)},[_e,Le]);let Te=_e&&Le<Py;if(!b||so)return G(YD,{onBack:t});let xe=wy(b.type),he=xe?Wc(xe,o):null;if(xe&&he){let N=d?.partId===R?d:null,Ie=xe[he],xo=Ie.writable===!0&&!!O,Go=Ts=>{O&&i.replaceComponent(O.zone,O.index,{...b,props:fr(A,o,"role",Ts)})};return G(VD,{region:Ie,sizePx:N?.base.sizePx??null,face:Gc(A,o,N,p),base:N?.base??null,onFollowStyle:xo?Go:void 0,source:ie,slug:ga(A),onBack:t})}if(!O||!H)return Te?G("div",{className:"sf-note","aria-busy":"true"}):G(XD,{onBack:t,partId:R,why:O?"no field":"no selector"});let Ne=N=>{i.replaceComponent(O.zone,O.index,{...b,props:N})},Pe=N=>{if(Jo(N).hidden!==Jo(lo).hidden||!W){let Ie=P?Ff(A,T,P,N):{...A,[T]:N};Ie&&Ne(Ie);return}Wl({node:b,propKey:o,kind:W,zone:O.zone,index:O.index},Jo(N).text,i.replaceComponent)},fo=lo,Me=d?.partId===R?d:null,Ge=Me?.styleOwner,co=Ge?a(Ge.owner):null,uo=Ge&&co?n(Ge.owner):null,Eo=!!(Ge&&co&&uo),Ve=Eo?co.props??{}:A,po=Eo?N=>i.replaceComponent(uo.zone,uo.index,{...co,props:N}):Ne,L=Eo?Ge.kind:py(b?.type,o),$=xl(Ve,L),q=[{partKey:L,face:Gc(Ve,L,Me,p),sizeGroup:Me?.sizeGroup??null,base:Me?.base??QD,style:$}],Re=$D(q,N=>N.sizeGroup),mo=Gl(Me?.inks),Ye=(N,Ie)=>{let xo=Ve;for(let Go of q)xo=fr(xo,Go.partKey,N,Ie);po(xo)},Wt=N=>N?Ye("textStyle",N):Fe({textStyle:null,role:null}),Fe=N=>{let Ie=Ve;for(let xo of q)for(let[Go,Ts]of Object.entries(N))Ie=fr(Ie,xo.partKey,Go,Ts??null);po(Ie)},Oo=W==="text"||W==="textarea",{text:ja,hidden:zt}=Jo(lo),Ka=H?.[HD]?.label??o,Zd=zt?l("Show {label} on the slide",{label:l(Ka)}):l("Hide {label} on the slide",{label:l(Ka)}),Qd=To("div",{className:"sf-field-head",children:[G(AD,{}),G("span",{className:"sf-field-label sf-field-label--inline",children:l(Ka)}),Oo&&G(_D,{content:Zd,children:G("button",{type:"button",className:"sf-field-eye","aria-pressed":zt,"aria-label":Zd,onClick:()=>Pe({text:ja,hidden:!zt}),children:zt?G(ky,{name:"eye-off",size:14}):G(ky,{name:"eye",size:14})})})]}),Jd=!_&&te,Pw=!!W&&(dI(H)||_||zt||!te),eu=Gc(Ve,L,Me,p),Fw=eu.kind==="role"?eu.role:null,ks=bh($)??Ah(Fw),ou=tt(k.saved,k.old),Ew=Object.entries($).filter(([N,Ie])=>N!=="role"&&N!=="textStyle"&&Ie!==void 0).length,Ow=()=>{let N=Ve;for(let Ie of q){let{role:xo,textStyle:Go}=Ie.style;N=kh(N,Ie.partKey),xo&&(N=fr(N,Ie.partKey,"role",xo)),Go&&(N=fr(N,Ie.partKey,"textStyle",Go))}po(N)},ft=ks,Lw=Bh(q[0].style),Rw=ft?ou.find(N=>N.id===ft)?.name??ft:"",Aw=()=>{C(!1),ft&&(k.write(Dh({saved:k.saved,old:k.old,styleId:ft,values:qf(q[0].style)}),!0),Ow())};return To(jD,{sectionName:E?.label??b.type,onBack:t,textEditor:G("div",{ref:h,className:"sf-part-text",children:Pw?G(ay,{text:ja,onTextChange:N=>Pe(Oo?{text:N,hidden:zt}:N),multiline:al(W),markup:W!=="plainText",styled:!1,style:q[0].style,base:q[0].base,setValue:Fe,colors:mo,placeholder:Uc(eh(H))??void 0,ariaLabel:l(Ka),head:Qd,typedOnCanvas:f===R}):W?Oo?Qd:null:G(OD,{field:H,name:o,value:fo,onChange:Pe,id:`sf-part-${e}-${o}`})}),children:[ue&&G(jl,{source:ue,slug:ga(A),menuId:Ul(A)}),Jd&&G(DD,{style:{value:ks??"",options:[{value:"",label:l("No style"),description:l("Section\u2019s own")},...ou.map(N=>({value:N.id,label:N.name,description:N.values.font?Gt(N.values.font)?.label:void 0}))],onChange:N=>Wt(N||null),changed:Ew>0,onEditStyles:r,onUpdateStyle:ft&&Lw?()=>C(!0):void 0},font:{value:$.font??"",styleValue:Gt(q[0].base.fontKey)?.label,options:Xe.map(N=>({label:N.label,value:N.key})),onChange:N=>Ye("font",N||null)},italic:{value:$.italic,styleValue:ZD(m,ks),onChange:N=>Ye("italic",N??null)},cells:Hc(q[0].style,q[0].base,Fe,{phone:S}),align:{value:$.align??"",styleValue:q[0].base.align,onChange:N=>Ye("align",N||null)},letterCase:{value:$.case??"",styleValue:q[0].base.case,onChange:N=>Ye("case",N||null)}}),v&&ft&&G(ly,{styleName:Rw,onCancel:()=>C(!1),onConfirm:Aw}),Jd&&Re===null&&G("p",{className:"es-field-hint sf-hint-keep",children:l("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")})]})}function ZD(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var QD={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:ot};import{jsx as ao,jsxs as qc,Fragment as JD}from"react/jsx-runtime";import{useCallback as e_,useRef as o_,useState as Sa}from"react";import{InspectorIconButton as t_}from"efficient-easel/chrome";import{PopupMenu as r_,PopupMenuItem as a_,PopupMenuLabel as Kl}from"efficient-shell/ui";import{CopyToPageIcon as n_}from"efficient-easel/icons";import{useEaselSession as l_}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as s_}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as i_}from"efficient-easel/draw";function Ey({node:e,currentSlug:o,siteId:t,tokenRef:r,runAuthed:a,onNotify:n}){let[s,i]=Sa(!1),[f,d]=Sa(null),p=l_(),[m,x]=Sa(!1),[I,y]=Sa(null),k=o_(null),[v,C]=Sa(null),S=e_(async()=>{if(p.usesBridgedToken&&!r.current){x(!0);return}try{d(await Se(p).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[r,t,p]),h=()=>{if(s){i(!1);return}let E=k.current?.getBoundingClientRect();E&&C({top:E.bottom+6,right:Math.max(8,window.innerWidth-E.right)}),d(null),x(!1),S(),i(!0)},b=(f??[]).filter(E=>E.slug!==o),O=async E=>{if(I)return;y(E.slug);let T=s_(e),P=p.documentHooks?.storedNode?.(T)??T,B=Se(p).pages,H=await a(async()=>{let R=await B.load({id:E.id});if(!R)throw new Error(`Page "${E.slug}" no longer exists.`);let A=R.layout??{},W=Array.isArray(A.content)?[...A.content]:[],_=W.findIndex(te=>te?.type===i_);W.splice(_===-1?W.length:_,0,P),await B.save(E.id,{layout:{root:{},zones:{},...A,content:W}},{version:R.version,clientId:""})});y(null),i(!1),n?.(H?l("Duplicated to \u201C{name}\u201D",{name:E.label}):l("Couldn\u2019t duplicate the section \u2014 please retry"),H?"success":"error")};return qc(JD,{children:[ao("span",{"data-menu-toggle":!0,style:{display:"contents"},children:ao(t_,{buttonRef:k,label:l("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:h,children:ao(n_,{size:15})})}),s&&v&&ao(r_,{portal:!0,style:{top:v.top,right:v.right},onClose:()=>i(!1),children:qc("div",{role:"menu","aria-label":l("Duplicate to page"),children:[ao(Kl,{children:l("Duplicate to page")}),m?ao(Kl,{children:l("Couldn\u2019t load pages")}):f===null?ao(Kl,{children:l("Loading\u2026")}):b.length===0?ao(Kl,{children:l("No other pages")}):b.map(E=>qc(a_,{role:"menuitem",disabled:I!==null,onClick:()=>{O(E)},children:[ao("span",{className:"min-w-0 flex-1 truncate",children:E.label}),I===E.slug?ao("span",{className:"shrink-0 text-xs",children:l("Copying\u2026")}):E.draft&&ao("span",{className:"shrink-0 text-xs",children:l("draft")})]},E.id))]})})]})}import{useScreenDocument as fN}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as cN}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as jQ,isSelectionMode as as}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as dN}from"efficient-easel/draw/client";import{jsx as Ca,jsxs as f_}from"react/jsx-runtime";import{SettingsDrill as c_}from"efficient-easel/panel";import{UiIcon as d_}from"efficient-easel/draw/client";var u_="Not shown on the page";function p_({part:e,onOpen:o}){return Ca(c_,{name:l(e.label),preview:e.offPage?l(u_):e.preview||l("Empty"),offPage:e.offPage,status:e.hidden?Ca("span",{className:"sf-entry-eye",role:"img","aria-label":l("Hidden on the page"),children:Ca(d_,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function jc(e){return e.filter(o=>!o.identifier)}function Oy({parts:e,onOpen:o,heading:t=!0}){let r=jc(e);return r.length?f_("div",{className:"sf-entries",children:[t?Ca("h3",{className:"sf-entries-head",children:l("Text")}):null,r.map(a=>Ca(p_,{part:a,onOpen:o},a.key))]}):null}import{HEADER_TYPE as uN,ROOT_ZONE as Ib}from"efficient-easel/draw";import{HEADER_TYPE as De,FOOTER_TYPE as le,newNodeId as m_}from"efficient-easel/draw";function Vl(){return{type:De,props:{id:m_(De)}}}var Ly=[{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"}],x_=Ly.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),I_="FooterGroup",Ry="blocks";function Ay(e){return e===le?Ly:e===I_?x_:null}function Yl(){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 se="SiteHeader",ae="SiteFooter",Kc="sections",sZ=[se,ae],gr=e=>e===se||e===ae,By=e=>`${e}:${Kc}`;function Dy(e,o,t=[]){return{type:e,props:{id:o,[Kc]:t}}}var h_=new Set(["Footer",se,ae]);function yr(e){let o=new Set,t=!1,r=e.filter(a=>{let n=a?.type??"";return n==="Header"?(t=!0,!1):h_.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?r:e}function Xl(e,o){return e.some(t=>t?.type===o.type)?e:o.type===se?[o,...e]:[...e,o]}var _y={[se]:{max:3,takes:["Flex","Ticker"]},[ae]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function Ny(e,o,t){if(!gr(e))return!0;let r=_y[e];return t<r.max&&r.takes.includes(o)}function My(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(!gr(n?.type))continue;let s=n.props?.[Kc];if(!Array.isArray(s)||!s.some(f=>f?.props?.id===r))continue;let i=_y[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 Vc(e){switch(e?.type){case se:case ae:return l("On every page");case De:case le:return l("On every page \xB7 old style");default:return null}}var Hy=()=>null,Wy=()=>l("Changed on every page");function Zl(e,o){let t=ep(e,o);if(t)return t;let r=My(e,o);if(!r)return null;let a=r.group===se;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 es,Fragment as T_,jsxs as P_}from"react/jsx-runtime";import{useState as F_}from"react";import{createNode as E_,newId as O_}from"efficient-easel/data";import{useEasel as L_}from"efficient-easel/easel";import{Banner as R_,Button as Yc}from"efficient-shell/ui";import{useScreenDocument as A_}from"efficient-easel/screen/components/ScreenDocumentContext";var Ql="Flex",g_={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},y_=e=>{let{id:o,...t}=e;return t},zy=e=>typeof e=="string"?e:"",Jl=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,Gy={sm:12,md:13,lg:15},b_="md",Uy=1.5,S_={size:13,lineHeight:Uy,width:280},C_=14,w_=40,v_=e=>e==="center"||e==="right"?e:"left";function k_(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[r,a]of t){let n=Jl(e[r]);n&&(o[a]=n)}return o}function $y(e,o){let t=e.props??{},r=g_[e.type];if(r)return[o(r,y_(t))];switch(e.type){case"FooterLogo":{let a=v_(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(Eu*((Jl(t.widthPct)??100)/100)),href:"/",align:a,...k_(t)}),s=zy(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:a,_partStyles:{text:{...S_}}})]:[n]}case"FooterText":{let a=typeof t.size=="string"&&t.size in Gy?t.size:b_;return[o("Text",{text:zy(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:Gy[a],lineHeight:Uy}}})]}case"FooterDivider":{let a=Jl(t.thickness),n=Jl(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(Ql,{direction:t.direction==="horizontal"?"row":"column",gap:Gr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"?t.align:"start",content:a.flatMap(n=>$y(n,o))})]}default:return[]}}function wa(e,o,t){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],a=d=>o(Ql,{direction:"row",wrap:!0,share:"equal",gap:w_,content:d}),n=[],s=[];for(let d of r){let p=$y(d,o);if(d.type==="FooterDivider"){s.length&&n.push(a(s)),s=[],n.push(...p);continue}p.length<=1?s.push(...p):s.push(o(Ql,{direction:"column",gap:C_,align:"stretch",content:p}))}(s.length||!n.length)&&n.push(a(s));let i=o(Ql,{direction:"column",content:[o("LegalLineBlock")]}),f=Dy(ae,t,[...n,i]);return{...f,props:{...f.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function qy(){let{appState:e,dispatch:o,config:t}=L_(p=>p),{readOnly:r}=A_(),[a,n]=F_(!1),s=e.data.content;if(r||s.some(p=>p.type===ae))return null;let i=s.find(p=>p.type===le)??null,f=(p,m)=>E_(t,p,m),d=()=>{let p=wa(i,f,O_(ae));o({type:"setData",data:m=>({...m,content:[...Xl(m.content,p)]}),recordHistory:!0}),n(!1)};return es(R_,{tone:"info",title:l("This footer uses the old layout"),action:a?P_(T_,{children:[es(Yc,{variant:"primary",size:"sm",onClick:d,children:l("Switch now")}),es(Yc,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:l("Cancel")})]}):es(Yc,{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 ad}from"react/jsx-runtime";import{useLayoutEffect as Y_,useMemo as cb,useRef as X_,useState as td}from"react";import{useEasel as Z_,useSelectedFields as Q_}from"efficient-easel/easel";import{Inspector as J_,planFields as db}from"efficient-easel/fields";import{jsx as br}from"react/jsx-runtime";import{usePreviewDevice as B_}from"efficient-easel/draw/client";import{NoControlMark as jy,noControlField as Ky}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Xc=e=>l(or[e==="content"?"page":"full"]),Vy=e=>`${e} ${l("from Styles")}`;function Yy(){let{siteWidth:e,sectionBackgroundWidth:o,sectionContentWidth:t}=V();return{px:typeof e=="number"?e:pe.default,background:o??"full",content:t??"content"}}function Xy(){try{return B_()==="mobile"}catch{return!1}}function D_({type:e,onChange:o}){let t=vo(),r=Yy(),a=Xy(),n=Vi(e,t).background;return br(tl,{value:n??r.background,changed:n!==null,detail:Vy(Xc(r.background)),onChange:s=>o(s),onReset:()=>o($r),disabled:a})}function __({type:e,onChange:o}){let t=vo(),[,r]=zn("contentMax"),a=Yy(),n=Xy(),s=Vi(e,t),i=(s.background??a.background)==="content",f=s.content??a.content;return br(rl,{mode:i&&f==="full"?"content":f,px:s.contentMax??a.px,max:i?a.px:pe.max,changed:s.content!==null,detail:Vy(a.content==="full"?Xc("full"):`${Xc("content")} ${a.px}px`),fullClosed:i,disabled:n,hint:n?ZI:i?VI:void 0,onMode:d=>{o(d),d==="full"&&r(null)},onPx:d=>{o("content"),r(d===a.px?null:d)},onReset:()=>{o($r),r(null)}})}function N_(e){return et({_gWidth:ve(KI),backgroundWidth:{type:"custom",render:({onChange:o})=>br(D_,{type:e,onChange:o})},contentWidth:{type:"custom",render:({onChange:o})=>br(__,{type:e,onChange:o})},contentMax:{...Ky({type:"custom",render:()=>br(jy,{})},"always"),reachedBy:"contentWidth"},widthMode:{...Ky({type:"custom",render:()=>br(jy,{})},"always"),reachedBy:"backgroundWidth"}})}var Zy=Object.keys(N_(""));import{deviceField as M_,deviceMetaOf as Jy}from"efficient-easel/screen/lib/document/device-fields";import{DESIGN_GROUPS as Qc,SETTINGS_BUCKETS as H_}from"efficient-easel/panel";import{BUCKET_KEY as We,DESIGN_GROUP_KEY as va}from"efficient-easel/screen/lib/document/field-buckets";var ka=H_;var W_="Editor only \u2014 not shown live",Jc={"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",[W_]:"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"},eb={"AlloyWheelsListing._gCards":"Design","ProductGrid._gCards":"Design"},ob={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function Zc(e,o,t){let r=`${e}.${o}`;return ob[r]??eb[r]??Jc[t]}function tb(e){return e==="Animation"?[We.Animation]:[We.Design,va[e]]}function os(...e){let o=[];for(let t of e)for(let r of Object.values(t)){let a=Jy(r),n=No(a?a.inner:r),s=n?Jc[n.label]:void 0;if(s)for(let i of tb(s))o.includes(i)||o.push(i)}return o}var $Z=[...os($n(),qn("full"),jn(),Kn(),df()),...Object.keys($n()),...Object.keys(qn("full")),...Object.keys(jn()),...Object.keys(Kn()),...Object.keys(df()),...Zy],qZ=[...os(Hn()),...Object.keys(Hn())],jZ=[...os(Gn()),...Object.keys(Gn())],KZ=[...os(Un()),...Object.keys(Un())],z_=Object.keys(PI()),G_=new Set(["cardImage","imageBackground"]),VZ=[...tb(Zc("ProductGrid","_gCards","Cards")??"Design"),...z_.filter(e=>e.startsWith("_g")||G_.has(e))],YZ=Object.keys(FI()),XZ=Object.keys(EI({bottomDefault:!0})),U_={"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)"},rb={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},ab={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...$n(),...qn("full"),...jn(),...Kn(),...Hn(),...Gn(),...Un()};for(let o of Object.keys(ab)){let t=No(e[o]),r=t?Jc[t.label]:void 0;if(!t||t.level!==2||!r||!rb[r].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/document/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 $_=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),q_=new Map([[We.Design,"Content"],[We.Animation,"Animation"],...Qc.map(e=>[va[e],e])]);function nb(e){let o=new Set([...Object.values(We),va.Content]);for(let[t,r]of Object.entries(e))if(!o.has(t)&&No(r)?.level===1)return 1;return 2}function j_(e){let o=`${e}.`;return Object.keys(U_).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function K_(e,o){let t=Jy(e),r=ve(o);return t?M_(t.tier,r):r}function V_(e,o){let t=No(o);return t?e==="Content"||e==="Animation"?II(o,t.label):hI(o):o}function Qy(e){return e==="Design"?Qc:["Animation"]}function ZZ(e,o){let t=[],r=new Set(j_(o)),a=new Set,n=!1,s=null;for(let[x,I]of Object.entries(e)){let y=No(I);if($_.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 k=q_.get(x);if(k!==void 0){if(y?.level!==1)throw new Error(`${o}.${x}: that key is reserved for the ${k} heading of the settings panel, but this field is ${y?`a level-${y.level} "${y.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(x===We.Design||x===We.Animation)&&(n=!0),t.push(s={place:k,entries:[],adopted:!0});continue}if(!y){s||t.push(s={place:"Content",entries:[]}),s.entries.push([x,I]);continue}if(r.has(x)||x in ab){let C=Zc(o,x,y.label);if(y.level!==2||!C||!rb[C].includes(y.label))throw new Error(`${o}.${x}: ${r.has(x)?"RETIRED":"INJECTED_RETIRED"} (lib/document/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${y.level} "${y.label}" header in the ${C??"(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:C,entries:[]});continue}let v=Zc(o,x,y.label);if(!v)throw new Error(`${o}.${x}: the inspector group "${y.label}" is not classified in LABEL_GROUP (lib/document/field-groups.ts), so there is no way to say which of ${[...Qc,"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:v,entries:[[x,y.level===2?I:K_(I,y.label)]]})}let i=new Set(Object.entries(e).filter(([,x])=>No(x)).map(([x])=>x));for(let[x,I]of[["BLOCK_KEY_GROUP",ob],["KEY_GROUP",eb]]){let y=Object.keys(I).filter(k=>k.startsWith(`${o}.`)).filter(k=>!i.has(k.slice(o.length+1)));if(y.length)throw new Error(`${o}: ${x} (lib/document/field-groups.ts) lists ${JSON.stringify(y)}, 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/document/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 d=new Set(t.filter(x=>x.entries.length>0).map(x=>x.place)),p=ka.filter(x=>Qy(x).some(I=>d.has(I))),m={};for(let x of p){m[We[x]]=Mn(x,x===p[0]?p:null);for(let I of Qy(x)){if(!d.has(I))continue;let y=t.filter(v=>v.place===I),k=y.findIndex(v=>v.adopted);k>0&&y.unshift(...y.splice(k,1)),x==="Design"&&(m[va[I]]=lf(I));for(let v of y)for(let[C,S]of v.entries)m[C]=V_(I,S)}}return m}function QZ(e){return We.Design in e?e:{[We.Design]:Mn("Design",null),[va.Content]:lf("Content"),...e}}function JZ(e){return ka.some(o=>We[o]in e)}function eQ(e){let o=ka.filter(r=>We[r]in e);if(o.length===0)return e;let t={...e};for(let r of o)t[We[r]]=Mn(r,r===o[0]?o:null);return t}import{usePreviewDevice as eN}from"efficient-easel/draw/client";var ed=" text",lb="Text";function od(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function sb(e){return e.filter(od).map(o=>o.key)}function ib(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 fb(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var rd=new Map,ts=new Set;function oN(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),d=i?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!d}})});return r}var tN=Object.fromEntries(ka.map(e=>{let o=pI[e];return[e,ad(o,{},e)]}));function Ta({entries:e,entryCount:o=0,part:t=null}){let{id:r,fields:a,values:n,readOnly:s,onChange:i}=Q_(),f=eN(),{appState:d,config:p}=Z_(W=>W),m=Fg(f,p,d.data.content??[],d.ui.itemSelector),x=Ag(a,t),I=Pg(x,n,m),[y,k]=td(()=>new Set(ts)),[v,C]=td(()=>new Set),S=X_(null),h=cb(()=>{let W=new Map;for(let _ of db(I).rows){if(!_.fold)continue;let te=W.get(_.fold.key)??[];te.push(_.name),W.set(_.fold.key,te)}return W},[I]);Y_(()=>{let W=S.current?.parentElement;if(!W)return;let _=new Set(sb(oN(W,h)));C(te=>fb(te,_)?te:_)});let b=cb(()=>ib(I,v),[I,v]),O={key:ed,rows:Array.from({length:o},()=>({shown:!0,labelled:!0}))},E=od(O)?void 0:{key:ed,title:lb},[T,P]=td(()=>rd.get(r)),B=rd.get(r),H=db(I).buckets,R=B&&H.includes(B)?B:T&&H.includes(T)?T:H[0],A=R===void 0||mI(H,R)!==!0;return ad(J_,{fields:b,values:n,onChange:i,readOnly:s,showWhenContext:{...m,node:n},tab:R,onTab:W=>{rd.set(r,W),P(W)},tabIcons:tN,idPrefix:r,ariaLabel:l("Section settings"),lead:A?e:null,leadFold:E,closedFolds:y,onFold:(W,_)=>{_?ts.delete(W):ts.add(W),k(new Set(ts))},children:ad("span",{ref:S,hidden:!0})})}import{jsx as nd,jsxs as rN}from"react/jsx-runtime";import{InspectorUpLevel as ub}from"efficient-easel/chrome";function pb({nodeId:e,part:o,sectionName:t,onUpToSection:r}){let{select:a}=Rl();return rN("div",{children:[o!=="media"?nd(ub,{inline:!0,name:l(xr.media),onSelect:()=>a(da(e,"media"))}):nd(ub,{inline:!0,name:l(t),onSelect:r}),nd(Ta,{part:o})]})}import{SettingsSwitch as pN}from"efficient-easel/panel";var fd={kind:"header"},cd={kind:"website"},gb={kind:"chat"},yb={kind:"social"},Pa="Part";function mN(e){return l("Part of {name}",{name:l(e)})}function xN(e,o,t){let r=e.describeNode(o);return{name:t,kindLabel:r?mN(r.label):l(Pa)}}function IN(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 bb({what:e}){let o=IN(e);return nt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:o.title})}),nt("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 id(e){let o=ca[e];return{name:xr[e],kindLabel:Pa,icon:o,head:(t,r)=>{if(t.kind!==o)return null;let a=r.describeNode(t.nodeId);if(!a)return null;let n=hb({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?Z(pb,{nodeId:t.nodeId,part:e,sectionName:r.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>r.onSelectNode(t.nodeId)}):null}}var hN={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?Z(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)=>Z(gl,{themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>Z(zg,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Z(Kg,{unavailable:Z(bb,{what:"Social link"})})},ticker:{name:sa,kindLabel:Pa,icon:"ticker",head:(e,o)=>e.kind==="ticker"?xN(o,e.heroId,l(sa)):null,render:e=>Z(Yg,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:id("media"),heroImage:id("image"),heroImage2:id("image2"),part:{name:Pa,kindLabel:Pa,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}=to(e.propKey),n=a?Ir(t.fields[r],a):t.fields[r],s=ah(l(Ef(dl(n??{},r))),a),i=hb({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"?Z(Fy,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},gN=new Set(["header","website","chat"]);function yN(e,o){if(e==="selection"||e==="puck")return null;let t=hN[e];return gN.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Z(bb,{what:t.name})}:t}function Sb({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r,hideNodeActions:a=!1,onNotify:n,onHidePanel:s}){let{capabilities:i,tokenRef:f,notifyParent:d,currentSlug:p,siteId:m,runAuthed:x,readOnly:I,navigate:y}=fN(),k=vl(),{rows:v,reload:C}=aa(),S=v?.find($=>$.slug===p)??null,[h,b]=mb(null),{websiteName:O}=V(),E=cN({readOnly:I}),{select:T}=dN(),{selectedItem:P,getItemById:B,getSelectorForId:H,config:R,appState:A}=aN($=>$),W=sN(R,P?{type:P.type,props:P.props}:null),_=P?uh(W??R.components[P.type]?.fields,P.props):[],te=$=>R.components[$]?.label??$,ie=P?H(P.props.id):void 0,ue=yN(e.kind,i),lo=iN(),so={capabilities:i,tokenRef:f,hostPanels:lo.chrome?.panels,describeNode:$=>{let q=B($);if(!q)return null;let Re=R.components[q.type];return{type:q.type,label:Re?.label??q.type,fields:Re?.fields??{},props:q.props??{}}},siteId:m,websiteName:O??null,notifyParent:d,onNotify:n,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},Le=ue?.head?.(e,so)??null,io=Le?.name??(ue?l(ue.name):P?l(te(P.type)):l("Page settings")),_e=Le?.kindLabel??(ue?l(ue.kindLabel):P?ie&&ie.zone!==Ib?l("Block"):l("Section"):l("Page")),Te=ue?ue.icon:P?P.type:"page",xe=ue?null:P?R.components[P.type]?.fields??null:R.root?.fields??null,he=xe?nb(xe):2,Ne=as(e)&&P?ya(P.type):null,Pe=!!P&&!!ie&&ie.zone===Ib&&P.type!==le&&P.type!==uN,fo=Zl(A?.data,P),Me=()=>{fo||ie&&E.duplicateComponent(ie.zone,ie.index)},Ge=()=>{ie&&(E.removeComponent(ie.zone,ie.index),E.select(null))},co=P?R.components[P.type]?.defaultProps?.previewHover:void 0,uo=as(e)&&!!P&&!!ie&&co!==void 0,Eo=uo&&P.props.previewHover===!0,Ve=()=>{!P||!ie||E.replaceComponent(ie.zone,ie.index,{...P,props:{...P.props,previewHover:!Eo}})},[po,L]=mb(Xf);return nt("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${po||!(!ue&&P)?"":" sf-hints-folded"}`,children:[Z(nN,{icon:Z(At,{type:Te,size:15}),name:io,kind:_e,actions:!a&&as(e)&&P&&P.type!==le?nt(rs,{children:[Z(ld,{label:l("Duplicate section"),title:fo??void 0,disabled:fo!==null,onClick:Me,children:Z(xb,{size:15})}),Pe&&i.hasSiteSettings&&Z(Ey,{node:P,currentSlug:p,siteId:m??void 0,tokenRef:f,runAuthed:x,onNotify:n}),Z(ld,{label:l("Remove section"),danger:!0,onClick:Ge,children:Z(lN,{size:15})}),s?Z(sd,{side:"right",onHide:s,divider:!0}):null]}):!ue&&!P&&as(e)&&k&&S&&Cl(S)?nt(rs,{children:[Z(ld,{label:l("Duplicate page"),onClick:()=>b(S),children:Z(xb,{size:15})}),s?Z(sd,{side:"right",onHide:s,divider:!0}):null]}):s?Z(sd,{side:"right",onHide:s}):void 0}),k&&Z(kl,{source:h,taken:new Set((v??[]).map($=>$.slug)),duplicate:k,onClose:()=>b(null),onDuplicated:$=>{b(null),C(),y({kind:"page",slug:$.slug,siteId:m??void 0})}}),uo&&nt("div",{className:"sf-preview-pin",children:[nt("div",{className:"sf-preview-pin-text",children:[Z("span",{className:"sf-preview-pin-label",children:l("Preview hover state")}),Z("span",{className:"sf-preview-pin-hint",children:l("not shown live")})]}),Z(pN,{checked:Eo,onChange:Ve,ariaLabel:l("Preview hover state")})]}),Z(Rx,{tier:he,children:Z("div",{className:"sf-insp-body es-insp-body sf-scroll",children:ue?ue.render(e,so):P?nt(rs,{children:[P.type===le&&i.hasSiteSettings&&Z(qy,{}),Z(zp,{children:Z(Ta,{entries:Z(Oy,{parts:_,heading:!1,onOpen:$=>T(fl(P.props.id,$))}),entryCount:jc(_).length})}),Ne&&Z(jl,{source:Ne,slug:ga(P?.props),menuId:Ul(P?.props)}),Z(Zf,{shown:po,onChange:L})]}):Z(rs,{children:Z(Ta,{})})})})]})}import{jsx as c,jsxs as w,Fragment as Tb}from"react/jsx-runtime";var ye={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 D({w:e,h:o,tone:t="dark",r=2,style:a}){return c("div",{style:{width:e,height:o,borderRadius:r,background:ye[t],flex:"none",...a}})}var bN={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"},M={position:"absolute",inset:0},u={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)"},fe=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function Wo({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 w("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[c("span",{style:r("8% 26% 30% 6%",u.mark1)}),c("span",{style:r("26% 6% 8% 30%",u.mark2,"multiply")})]})}function ls({children:e}){return c("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:u.muted},children:e})}function Cb({over:e,overTone:o,head:t,headSize:r=11.5,cta:a,ctaBg:n,ctaFg:s,tone:i}){return w(Tb,{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 ud({name:e,price:o}){return w("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o})]})}function Ho({k:e,v:o,ok:t}){return w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${u.rule}`,fontSize:"3.98cqw",color:u.muted},children:[c("span",{children:e}),w("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("b",{style:{color:u.text,fontWeight:700},children:o}),t&&c("span",{style:{color:u.rust,fontWeight:700},children:"\u2713"})]})]})}function ne({title:e,children:o}){return w("div",{style:{...M,background:u.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[c(ls,{children:e}),o]})}function wb({size:e=14}){return c("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${u.mark1},${u.mark2})`}})}function pd({filled:e=5,size:o=6}){return w("span",{style:{fontSize:o,letterSpacing:"0.06em",color:u.rust,lineHeight:1},children:["\u2605".repeat(e),c("span",{style:{color:u.mark1},children:"\u2605".repeat(5-e)})]})}function Fa({n:e,label:o,tone:t=u.text}){return w("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 ke({children:e,w:o}){return c("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:u.muted,width:o,display:"block"},children:e})}function ns({label:e,w:o="100%",filled:t}){return w("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:e}),c("span",{style:{height:9,borderRadius:3,border:`1px solid ${u.rule}`,background:t?u.paper:u.card}})]})}function vb({children:e}){return c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:u.text,color:u.onInk},children:e})}var SN={wheelslisting:c(ne,{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])=>w("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("b",{style:{flex:1,fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:u.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:w("div",{style:{...M,background:u.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[w("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>w("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:u.text,color:u.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,c("span",{style:{opacity:.6},children:"\u2715"})]},e)),c("span",{style:{fontSize:"3.65cqw",color:u.rust,fontWeight:700},children:"Clear"})]}),w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"128 results"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted,border:`1px solid ${u.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:w("div",{style:{...M,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:u.onInk},children:"Will it fit your rig?"}),w("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>w("span",{style:{flex:1,fontSize:"3.65cqw",color:u.text,background:u.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",c("span",{style:{color:u.muted},children:"\u25BE"})]},e)),c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:u.warm,color:u.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:c(ne,{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])=>w("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:u.ink},children:c("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${u.mark2}`,boxSizing:"border-box"}})}),c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:u.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),c("span",{style:{fontSize:"3.32cqw",color:u.muted},children:o})]},e))})}),tyresizes:c(ne,{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?u.rust:u.rule}`,color:o===0?u.rust:u.text,background:o===0?u.paper:u.card},children:e},e))})}),tyrefitment:w(ne,{title:"Will it fit your car?",children:[c("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>w("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:u.muted,background:u.paper,border:`1px solid ${u.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",c("span",{style:{color:u.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])=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${u.rule}`,paddingTop:3},children:[c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?u.warm:u.muted},children:o})]},e))})]}),eutyrelabel:w("div",{style:{...M,background:u.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)=>w("div",{style:{display:"flex",alignItems:"center",gap:3},children:[c("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?u.rust:u.mark1}}),c("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?u.rust:u.muted},children:e})]},e))}),w("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[c("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:u.text},children:"72"}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:u.muted},children:"dB"})]})]}),bundleoffer:w("div",{style:{...M,background:u.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(ls,{children:"Buy it with"}),w("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:u.card},children:c(Wo,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:u.muted},children:"+"}),w("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[c("span",{style:{fontSize:"3.65cqw",color:u.muted,textDecoration:"line-through"},children:"$1,024"}),c("b",{style:{fontSize:"6.02cqw",color:u.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:w("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...fe(u.ink,u.ink2)},children:[w("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:u.warm,fontWeight:700},children:"READY TO ORDER"}),c("b",{style:{fontSize:"6.63cqw",color:u.onInk,lineHeight:1},children:"$1,956"}),c("span",{style:{fontSize:"3.65cqw",color:u.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:u.warm,color:u.ink,flex:"none"},children:"CHECKOUT"})]}),contact:c(ne,{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])=>w("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c("b",{style:{flex:1,fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o}),c("span",{style:{fontSize:"4.64cqw",color:u.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:c(ne,{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])=>w("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.32cqw",color:u.muted},children:o}),c("span",{style:{fontSize:"3.32cqw",color:u.rust,fontWeight:700},children:t})]},e))})}),form:c(ne,{title:"Send us a message",children:w("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[w("div",{style:{display:"flex",gap:5},children:[c(ns,{label:"Name"}),c(ns,{label:"Email"})]}),c(ns,{label:"Message",filled:!0}),c(vb,{children:"SEND"})]})}),appointmentbooking:c(ne,{title:"Book a fitting",children:w("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?u.text:u.paper,color:o===2?u.onInk:u.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?u.rust:u.rule}`,color:o===1?u.rust:u.muted,background:o===3?u.paper:u.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:c(ne,{title:"Leave a review",children:w("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(pd,{filled:4,size:14}),c(ns,{label:"Your review",filled:!0}),c(vb,{children:"POST"})]})}),submitbuild:c(ne,{title:"Show us your build",children:w("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${u.mark1}`,borderRadius:5,background:u.paper},children:[c("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:u.rust,fontWeight:300},children:"+"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"Drop a photo of your rig"})]})}),masthead:w("div",{style:{...M,background:u.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[c("span",{style:{height:1.5,background:u.text}}),c("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:u.text,lineHeight:1},children:"THE TRACK"}),w("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:u.muted},children:[c("span",{children:"Issue 14"}),c("span",{children:"Spring 2026"})]}),c("span",{style:{height:1,background:u.rule}})]}),featuredcover:w("div",{style:{...M,overflow:"hidden",...fe(u.ink,u.inkSoft2)},children:[c(Wo,{size:92,style:{right:-18,top:-14}}),c("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${u.scrim},transparent 62%)`}}),w("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:u.warm},children:"FEATURE"}),c("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:u.onInk},children:"Four days on the Madigan Line"})]})]}),longread:w("div",{style:{...M,background:u.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:u.rust},children:"12 MIN READ"}),c("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:u.text},children:"What breaks first, and why"}),c(ke,{children:"Every failure starts in the same place \u2014 not the rim, not"}),c(ke,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:c(ne,{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])=>w("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:3,height:12,borderRadius:2,background:u.rust,flex:"none"}}),c("b",{style:{flex:1,fontSize:"4.64cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:o})]},e))})}),events:c(ne,{title:"Latest posts",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[u.inkSoft,u.inkSoft2,"Madigan Line, four days"],[u.rust,u.warm,"Why offset beats width"]].map(([e,o,t])=>w("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...fe(e,o,150)}}),w("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:t}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:w("div",{style:{...M,background:u.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:u.muted},children:"POLICY"}),c("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:u.text,lineHeight:1.1},children:"Returns & refunds"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),c("span",{style:{height:2,width:26,background:u.rust,borderRadius:1}})]}),docbody:c("div",{style:{...M,background:u.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])=>w("div",{style:{display:"flex",gap:5},children:[c("b",{style:{fontSize:"3.98cqw",color:u.rust,flex:"none"},children:e}),c(ke,{children:o})]},e))}),docmetacards:c(ne,{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])=>w("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"5.31cqw",color:u.text,lineHeight:1},children:e}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:o})]},o))})}),doctabs:w("div",{style:{...M,background:u.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?u.text:u.muted,background:o===0?u.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?u.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),c("span",{style:{height:1,background:u.rule}}),w("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[c(ke,{children:"Unfitted wheels come back within 30 days, no questions."}),c(ke,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:w("div",{style:{...M,background:u.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:u.text},children:"The right wheel is the boring one."}),w("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(ke,{children:"Forged, correctly offset, rated for what you actually"}),c(ke,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:c(ne,{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=>w("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{fontSize:"4.64cqw",color:u.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),c("span",{style:{fontSize:"4.31cqw",color:u.text},children:e})]},e))})}),statsparagraph:w("div",{style:{...M,background:u.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[w("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[c(Fa,{n:"27k",label:"Rigs"}),c(Fa,{n:"4.9",label:"Rating"})]}),w("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(ke,{children:"Twelve years of fitting the same three questions, and the"}),c(ke,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:w(ne,{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?u.rust:u.mark1}},o))}),c("span",{style:{height:1,background:u.rule,marginTop:-4}})]}),mockup:c("div",{style:{...M,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...fe(u.inkSoft,u.ink)},children:w("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:u.card,boxShadow:`0 6px 14px ${u.scrim}`},children:[c("div",{style:{height:9,background:u.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:u.mark1}},e))}),w("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{height:4,width:"56%",borderRadius:1,background:u.mark2}}),c("span",{style:{height:14,borderRadius:2,...fe(u.paper,u.paper2,150)}}),c("span",{style:{height:3,width:"38%",borderRadius:1,background:u.rust}})]})]})}),manifesto:c("div",{style:{...M,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...fe(u.ink,u.ink2)},children:w("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:u.onInk},children:["We build for the ",c("span",{style:{color:u.warm},children:"last"})," ten percent of the track."]})}),timeline:c(ne,{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)=>w("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:u.rule}}),c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:u.rust,zIndex:1}}),w("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[c("b",{style:{fontSize:"4.64cqw",color:u.text},children:e}),c(ke,{children:o})]})]},e))})}),timelinetrack:w("div",{style:{...M,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.warm},children:"Milestones"}),w("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:u.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>w("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?u.warm:u.mark1}}),c("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?u.warm:u.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:w("div",{style:{...M,overflow:"hidden",...fe(u.paper,u.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:u.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:u.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:u.rust}},e)),c("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:u.text},children:"3 fitting bays"})]}),banner:w("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:u.rust},children:[w("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("b",{style:{fontSize:"6.02cqw",color:u.onInk},children:"End of season \xB7 20% off"}),c("span",{style:{fontSize:"3.98cqw",color:u.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:u.onInk,color:u.text,flex:"none"},children:"SHOP"})]}),titlewithbuttons:w("div",{style:{...M,background:u.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:u.text},children:"Not sure what fits?"}),w("div",{style:{display:"flex",gap:5},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:u.text,color:u.onInk},children:"FIND MY FIT"}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${u.text}`,color:u.text},children:"CALL US"})]})]}),ticker:c("div",{style:{...M,overflow:"hidden",background:u.ink,display:"flex",alignItems:"center"},children:c("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:u.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:w("div",{style:{...M,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...fe(u.ink,u.ink2)},children:[c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:u.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)=>w("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&c("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:u.warm},children:":"}),w("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[c("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:u.onInk,fontVariantNumeric:"tabular-nums"},children:e}),c("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:u.onInk},children:o})]})]},o))})]}),breadcrumb:c("div",{style:{...M,background:u.card,display:"flex",alignItems:"center",padding:"0 13px"},children:w("span",{style:{fontSize:"4.64cqw",color:u.muted},children:["Home ",c("span",{style:{opacity:.5},children:"/"})," Wheels ",c("span",{style:{opacity:.5},children:"/"})," ",c("span",{style:{color:u.text,fontWeight:700},children:"20 inch"})]})}),categorybar:w("div",{style:{...M,background:u.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?u.text:u.paper,color:o===0?u.onInk:u.muted},children:e},e))}),c("span",{style:{height:1,background:u.rule}})]}),intro:w("div",{style:{...M,overflow:"hidden",background:u.card},children:[c("div",{style:{position:"absolute",inset:0,...fe(u.ink,u.inkSoft2)}}),c(Wo,{size:64,style:{right:8,top:6}}),w("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:u.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${u.scrim}`},children:[c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:u.text},children:"Since 1998"}),c(ke,{children:"One shed, one lathe, one idea."}),c(ke,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:c(ne,{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:[[u.rust,u.warm],[u.inkSoft,u.ink],[u.paper2,u.mark2],[u.ink,u.inkSoft2],[u.warm,u.paper2],[u.mark2,u.inkSoft]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...fe(e,o,140+t*22)}},t))})}),gallery:w(ne,{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?u.text:u.muted,borderBottom:`1.5px solid ${o===0?u.rust:"transparent"}`,paddingBottom:2},children:e},e))}),c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[u.rust,u.warm],[u.ink,u.inkSoft],[u.paper2,u.mark2]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...fe(e,o,150+t*20)}},t))})]}),ordersummary:w(ne,{title:"Order summary",children:[w("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",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),w("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),w("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Subtotal",v:"$1,956"}),c(Ho,{k:"Fitting",v:"Free"}),w("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[c("b",{style:{color:u.text},children:"Total"}),c("b",{style:{color:u.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:c(ne,{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])=>w("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${r?u.rust:u.rule}`,background:r?u.paper:u.card},children:[c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${r?u.rust:u.mark1}`,background:r?u.rust:"transparent"}}),c("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:u.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:u.text},children:t})]},e))})}),paymentbadges:w("div",{style:{...M,background:u.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[c(ls,{children:"Ways to pay"}),c("div",{style:{display:"flex",gap:5},children:[["VISA",u.ink],["MC",u.rust],["AMEX",u.inkSoft],["PayPal",u.ink2]].map(([e,o])=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:u.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:w("div",{style:{...M,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...fe(u.ink,u.ink2)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.warm},children:"By the numbers"}),w("div",{style:{display:"flex",gap:8},children:[c(Fa,{n:"27k",label:"Rigs fitted",tone:u.onInk}),c(Fa,{n:"12",label:"Years",tone:u.onInk}),c(Fa,{n:"4.9",label:"Avg rating",tone:u.warm})]})]}),testimonials:w("div",{style:{...M,overflow:"hidden",background:u.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:u.rust,opacity:.16},children:"\u201D"}),c(pd,{filled:5,size:7}),c("span",{style:{position:"relative",fontSize:"5.31cqw",lineHeight:1.35,color:u.text,fontWeight:600},children:"\u201CTook them out to the Simpson and back. Not one chip.\u201D"}),w("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c(wb,{}),c("span",{style:{fontSize:"3.98cqw",color:u.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:w(ne,{title:"Reviews",children:[c("div",{style:{display:"flex",gap:4,height:22},children:[[u.inkSoft,u.inkSoft2],[u.rust,u.warm],[u.ink,u.inkSoft],[u.mark2,u.mark1]].map(([e,o],t)=>c("div",{style:{flex:1,borderRadius:3,...fe(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])=>w("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[c(wb,{size:12}),w("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[w("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[c("b",{style:{fontSize:"3.98cqw",color:u.text},children:e}),c(pd,{filled:o})]}),c(ke,{children:t})]})]},e))})]}),logos:w("div",{style:{...M,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.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:u.onInk,opacity:.82},children:e},e))})]}),prose:w("div",{style:{...M,background:u.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:u.text},children:"Why offset matters"}),w("div",{style:{display:"flex",gap:6},children:[c("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:u.rust,marginTop:1},children:"T"}),w("div",{style:{display:"flex",flexDirection:"column"},children:[c(ke,{children:"he number on the back of your wheel decides whether the"}),c(ke,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:c(ne,{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])=>w("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:3,background:u.rust,opacity:.9}}),c("b",{style:{fontSize:"3.98cqw",color:u.text},children:e}),c(ke,{children:o})]},e))})}),faq:c(ne,{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])=>w("div",{style:{borderBottom:`1px solid ${u.rule}`,padding:"4px 2px"},children:[w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"4.64cqw",color:u.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&c(ke,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:w("div",{style:{...M,overflow:"hidden",...fe(u.ink,u.ink2)},children:[c("div",{style:{...M,background:`linear-gradient(90deg,${u.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(Cb,{over:"NEW \xB7 SUMMER",overTone:u.warm,head:"Built for the worst road you own",cta:"SHOP ALL",ctaBg:u.warm,ctaFg:u.ink,tone:u.onInk})}),c(Wo,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:w("div",{style:{...M,display:"flex",background:u.paper,overflow:"hidden"},children:[c("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:c(Cb,{over:"ALL-TERRAIN",overTone:u.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:u.text,ctaFg:u.onInk,tone:u.text})}),c("div",{style:{flex:1,position:"relative",...fe(u.inkSoft,u.inkSoft2)},children:c(Wo,{size:74,style:{right:-14,top:16}})})]}),productgrid:c(ne,{title:"Best sellers",children:w("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[c(ud,{name:"Ridge 19",price:"$365"}),c(ud,{name:"Ridge 29",price:"$410"}),c(ud,{name:"Ridge 39",price:"$455"})]})}),collections:c(ne,{title:"Shop by category",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",u.inkSoft,u.inkSoft2],["Tyres",u.rust,u.warm],["Lift kits",u.ink,u.inkSoft]].map(([e,o,t])=>c("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:u.onInk,...fe(o,t)},children:c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:w("div",{style:{...M,display:"flex",background:u.card,overflow:"hidden"},children:[c("div",{style:{flex:1.1,position:"relative",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),w("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:u.rust},children:"NITTO"}),c("b",{style:{fontSize:"6.29cqw",color:u.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:u.text},children:"$489"}),c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:u.text,color:u.onInk},children:"ADD TO CART"})]})]}),spectable:c(ne,{title:"Specifications",children:w("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Diameter",v:'20"'}),c(Ho,{k:"Width",v:"9.0J"}),c(Ho,{k:"Offset",v:"+12"}),c(Ho,{k:"Load",v:"1250 kg"})]})}),fitmenttable:c(ne,{title:"Will it fit?",children:w("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:w("div",{style:{...M,background:u.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[c(ls,{children:"How it works"}),c("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>w("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:"50%",background:u.text,color:u.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),c("span",{style:{fontSize:"3.98cqw",color:u.text,fontWeight:600},children:e})]},e))})]}),detailrows:c("div",{style:{...M,background:u.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,...fe(t?u.rust:u.inkSoft,t?u.warm:u.inkSoft2)}},"art"),a=w("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[c("b",{style:{fontSize:"4.64cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:u.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:{...M,background:u.ink,color:u.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>w("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:u.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},kb={subscribe:w("div",{style:{...M,padding:13,display:"flex",flexDirection:"column"},children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[w("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c(D,{w:8,h:8,r:2,tone:"accent"}),c(D,{w:38,h:7,r:3,tone:"dark"}),c(D,{w:16,h:7,r:3,tone:"accent"})]}),c(D,{w:38,h:4,r:2,tone:"soft"})]}),c("div",{style:{height:1,background:ye.line,marginBottom:10}}),w("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${ye.line}`,borderRadius:7,padding:10},children:[w("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[c(D,{w:"46%",h:3,r:2,tone:"accent"}),c(D,{w:"84%",h:8,r:4,tone:"dark"}),c(D,{w:"56%",h:8,r:4,tone:"accent"}),c(D,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),w("div",{style:{display:"flex",gap:5,marginTop:4},children:[c("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${ye.line}`,background:ye.block}}),c(D,{w:34,h:13,r:5,tone:"accent"})]})]}),w("div",{style:{flex:1,background:ye.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[c(D,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${ye.line}`:"none",paddingTop:o?4:0},children:[c(D,{w:34,h:4,r:2,tone:"dark"}),c(D,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:w("div",{style:{...M,display:"flex"},children:[c("div",{style:{width:"44%",background:dd}}),w("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(D,{w:"44%",h:5,r:3,tone:"accent"}),c(D,{w:"88%",h:8,r:4,tone:"dark"}),c(D,{w:"70%",h:8,r:4,tone:"dark"}),c(D,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),c(D,{w:"80%",h:5,r:2,tone:"soft"}),c(D,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:w(Tb,{children:[c(D,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),w("div",{style:{...M,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[w("div",{style:{display:"flex",alignItems:"center",gap:9},children:[c(D,{w:16,h:16,r:4,tone:"accent"}),c(D,{w:"20%",h:9,r:4,tone:"dark"})]}),c(D,{w:"62%",h:10,r:5,tone:"dark"}),c(D,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:c("div",{style:{...M,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[c(D,{w:"22%",h:12,r:4,tone:"dark"}),w("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[c(D,{w:26,h:6,r:3,tone:"soft"}),c(D,{w:26,h:6,r:3,tone:"soft"}),c(D,{w:26,h:6,r:3,tone:"soft"}),c(D,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:w("div",{style:{...M,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[w("div",{style:{display:"flex",gap:14},children:[w("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[c(D,{w:"60%",h:9,r:4,tone:"dark"}),c(D,{w:"90%",h:5,r:2,tone:"soft"}),c(D,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>w("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[c(D,{w:"50%",h:6,r:3,tone:"dark"}),c(D,{w:"80%",h:5,r:2,tone:"soft"}),c(D,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),c("div",{style:{height:1,background:ye.line}}),w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(D,{w:"30%",h:5,r:2,tone:"soft"}),c(D,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:c("div",{style:{...M,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:ye.block}},o))}),blanksection:c("div",{style:{...M,padding:14,display:"flex"},children:w("div",{style:{flex:1,border:`1px dashed ${ye.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[c(D,{w:14,h:2,r:1,tone:"tint"}),c(D,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:w("div",{style:{...M,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[c(D,{w:"100%",h:6,r:3,tone:"soft"}),c(D,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),c(D,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:c("div",{style:{...M,padding:14,display:"flex",alignItems:"center"},children:c(D,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:w("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:dd},children:[c(D,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),c(D,{w:16,h:10,r:3,tone:"accent"}),c(D,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:c("div",{style:{...M,padding:14,display:"flex",alignItems:"center"},children:c(D,{w:"64%",h:13,r:4,tone:"dark"})}),text:w("div",{style:{...M,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(D,{w:"100%",h:6,r:3,tone:"soft"}),c(D,{w:"96%",h:6,r:3,tone:"soft"}),c(D,{w:"100%",h:6,r:3,tone:"soft"}),c(D,{w:"58%",h:6,r:3,tone:"soft"})]}),image:c("div",{style:{position:"absolute",inset:14,borderRadius:7,background:dd}}),button:c("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"center"},children:c(D,{w:"34%",h:16,r:8,tone:"accent"})}),menu:w("div",{style:{...M,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(D,{w:"48%",h:7,r:3,tone:"dark"}),c(D,{w:"82%",h:5,r:2,tone:"soft"}),c(D,{w:"66%",h:5,r:2,tone:"soft"}),c(D,{w:"74%",h:5,r:2,tone:"soft"}),c(D,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:w("div",{style:{...M,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c(D,{w:"56%",h:8,r:3,tone:"dark"}),w("div",{style:{display:"flex",gap:6},children:[c("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${ye.line}`}}),c(D,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:c("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>c(D,{w:16,h:16,r:8,tone:"dark"},e))}),search:c("div",{style:{...M,padding:"0 18%",display:"flex",alignItems:"center"},children:w("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${ye.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[c("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${ye.dark}`}}),c(D,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:w("div",{style:{...M,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[c("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${ye.dark}`}}),c("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${ye.dark}`},children:c(D,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:w("div",{style:{...M,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[w("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${ye.line}`},children:[c(D,{w:22,h:6,r:2,tone:"dark"}),c(D,{w:6,h:4,r:1,tone:"soft"})]}),w("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${ye.line}`},children:[c(D,{w:"80%",h:4,r:2,tone:"accent"}),c(D,{w:"64%",h:4,r:2,tone:"soft"}),c(D,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:w("div",{style:{...M,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c("div",{style:{height:1,background:ye.line}}),w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(D,{w:"38%",h:5,r:2,tone:"soft"}),w("div",{style:{display:"flex",gap:5},children:[c(D,{w:14,h:5,r:2,tone:"soft"}),c(D,{w:14,h:5,r:2,tone:"soft"}),c(D,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:c("div",{style:{position:"absolute",inset:14,borderRadius:8,background:ye.block}})};function Pb({type:e}){let o=bN[e]??"",t=SN[o]??kb[o]??kb.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 vs}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Sr,jsxs as CN}from"react/jsx-runtime";import wN from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as vN}from"efficient-easel/rail";import{Tooltip as kN}from"efficient-shell/ui";function Fb({tokenRef:e,siteId:o,onClose:t,onNotify:r,tab:a,onTabChange:n}){let s=ur();return CN("div",{className:"sf-styles",children:[Sr(wN,{icon:Sr(vN,{}),title:l("Styles"),context:Sr(kN,{content:l("{name} \u2014 renamed in the Console: {place}.",{name:s,place:l("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Sr("span",{className:"sf-name-text",children:s})})}),Sr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:Sr(gl,{tokenRef:e,siteId:o,onNotify:r,tab:a,onTabChange:n})})]})}import{jsx as be,jsxs as _t,Fragment as LN}from"react/jsx-runtime";import{Fragment as Ub,useEffect as $b,useRef as yd}from"react";import{useTreeDrag as qb}from"efficient-easel/drag";import{GlobeIcon as RN,ImageIcon as AN,LocationIcon as BN,MapIcon as DN,TextLinesIcon as _N,TrashIcon as jb}from"efficient-easel/icons";import{Subtree as Kb,TreeRow as Oa,TreeRowAction as Vb,TreeSeam as Yb}from"efficient-easel/tree";import{useEaselStrings as NN}from"efficient-easel/strings";import{createPreviewSelectionContext as TN}from"efficient-easel/draw/client";var{Provider:SJ,useSelection:Eb}=TN("selectedLocationPartId");function Ob(e,o,t){return`${e}::${o}::${t}`}function Lb(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{isSelectionMode as MN}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as PN}from"react";var FN={level:"groups"},Ab=FN,md=new Set;function no(e){Ab=e;for(let o of md)o()}function EN(e){return md.add(e),()=>{md.delete(e)}}var Rb=()=>Ab;function Bb(){return PN(EN,Rb,Rb)}function Db(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 kJ(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 Ea=e=>String(e?.group??""),xd=new WeakMap,ON=0;function ss(e){let o=xd.get(e);return o||(o=`loc${++ON}`,xd.set(e,o)),o}var _b=(e,o)=>o||e||"Ungrouped",Nb={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
6
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function Dt(e){return Db(e,Ea,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var Id=e=>e.flatMap(o=>o.cards),Mb=(e,o,t)=>Math.min(Math.max(e,o),t);function is(e,o,t){let r=0;for(let a=0;a<e.length;a++)if(Ea(e[a])===o){if(r===t)return a;r++}return-1}function hd(e,o,t){let r=Dt(e);if(o<0||o>=r.length)return e;let[a]=r.splice(o,1),n=Mb(o<t?t-1:t,0,r.length);return r.splice(n,0,a),Id(r)}function gd(e,o,t,r,a){let n=Dt(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),d=o===r?f:{...f,group:i.key,groupName:i.name};d!==f&&xd.set(d,ss(f));let p=Mb(s===i&&t<a?a-1:a,0,i.cards.length);return i.cards.splice(p,0,d),Id(n)}function Hb(e,o){let t=Dt(e),r=t.find(n=>n.key===o),a={...Nb,group:o,groupName:r?.name??""};return r?(r.cards.push(a),Id(t)):[...e,a]}function Wb(e){let o=new Set(Dt(e).map(a=>a.key)),t=o.size+1,r=`Group ${t}`;for(;o.has(r);)r=`Group ${++t}`;return{cards:[...e,{...Nb,group:r,groupName:""}],key:r}}function zb(e,o){return e.filter(t=>Ea(t)!==o)}function Gb(e,o,t){let r=is(e,o,t);return r<0?e:e.filter((a,n)=>n!==r)}function FJ(e,o,t){let r=e.flatMap((s,i)=>Ea(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 EJ(e,o,t){return o.flatMap(r=>{let a=e.filter(n=>Ea(n)===r);return a.length?a:t(r)})}var cs="ContactLocations",fs=e=>({parentId:`locations-${e}`,slot:"groups"}),bd=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function Xb(e,o){let{readOnly:t,selected:r}=o,a=NN().tree,n=o.data?.content??[],s=MN(e),i=yd(null);$b(()=>{let h=r?.type===cs?String(r.props.id):null;h&&h!==i.current&&no({level:"groups"}),i.current=h},[r?.props.id]);let{selectedLocationPartId:f,setSelectedLocationPartId:d,setSelectHandler:p}=Eb(),m=Bb(),x=(h,b)=>{let O=n[h];O&&o.replace(h,{type:O.type,props:{...O.props,locations:b}})},I=h=>{let b=n[h]?.props?.locations;return Array.isArray(b)?b:[]},y=qb({keyOf:h=>`group:${h.si}:${h.index}`,readOnly:!!t,canDrop:(h,b)=>b.parentId===fs(h.si).parentId&&b.slot==="groups",onDrop:(h,b)=>{x(h.si,hd(I(h.si),h.index,b.index)),m.level==="city"&&no({level:"groups"})},onStep:(h,b)=>{x(h.si,hd(I(h.si),h.index,b<0?h.index-1:h.index+2)),m.level==="city"&&no({level:"groups"})}}),k=qb({keyOf:h=>`city:${h.si}:${h.group}:${h.index}`,readOnly:!!t,canDrop:(h,b)=>b.parentId===fs(h.si).parentId&&b.slot.startsWith("cities:"),onDrop:(h,b)=>{let O=b.slot.slice(7);x(h.si,gd(I(h.si),h.group,h.index,O,b.index)),no({level:"group",key:O})},onStep:(h,b)=>{x(h.si,gd(I(h.si),h.group,h.index,h.group,b<0?h.index-1:h.index+2)),m.level==="city"&&no({level:"group",key:h.group})}}),v=yd(n);v.current=n;let C=yd(()=>{});$b(()=>{p(h=>{let b=Lb(h);if(!b)return;let O=v.current.findIndex(E=>E.props?.id===b.nodeId);O<0||C.current(O,{level:b.part,index:b.index})})},[p]);let S=(h,b)=>{i.current=n[h]?.props?.id??null,o.select(h),no(b),e.reveal();let O=n[h]?.props?.id;typeof O=="string"&&(b.level==="image"||b.level==="map")?d(Ob(O,b.index,b.level)):d(null),typeof O=="string"&&o.scrollTo(O)};return C.current=S,{renderLocationTree:(h,b,{rowClick:O,isCollapsed:E,toggleCollapse:T})=>{let P=I(b),B=Dt(P),H=String(h.props.id),R=s&&r?.props.id===H,A=_=>be(Yb,{...t?{}:y.seam({place:{...fs(b),index:_}})},`seam:${H}:groups:${_}`),W=(_,te)=>be(Yb,{...t?{}:k.seam({place:{...bd(b,_),index:te}})},`seam:${H}:cities:${_}:${te}`);return _t(LN,{children:[be(Oa,{icon:be(_N,{size:13}),name:l("Texts"),words:a,onSelect:()=>S(b,{level:"texts"}),selected:R&&m.level==="texts",rowProps:{onClick:O(()=>S(b,{level:"texts"}))}}),B.map((_,te)=>{let ie=`${H}::grp::${_.key}`,ue=E(ie),lo=R&&m.level==="group"&&m.key===_.key,so=_.name||_.key?_b(_.key,_.name):l("Ungrouped"),Le={...bd(b,_.key),index:_.cards.length},io=k.row({item:{si:b,group:_.key,index:-1},place:Le,into:Le,canDrag:!1},{onClick:O(()=>S(b,{level:"group",key:_.key}))}),_e=y.row({item:{si:b,index:te},place:{...fs(b),index:te}},io.rowProps);return _t(Ub,{children:[te===0&&A(0),be(Oa,{icon:be(RN,{size:13}),name:so,words:a,onSelect:()=>S(b,{level:"group",key:_.key}),selected:lo,draggable:_e.draggable,dragging:_e.dragging,drop:_e.drop??io.drop,fold:{open:!ue,label:l("group"),onToggle:()=>T(ie)},actions:be(Vb,{kind:"delete",label:$e("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",_.cards.length,{label:so}),onClick:()=>{x(b,zb(P,_.key)),no({level:"groups"})},children:be(jb,{size:15})}),rowProps:_e.rowProps,children:be("span",{className:"es-group-count",children:_.cards.length})}),!ue&&_t(Kb,{children:[_.cards.map((Te,xe)=>{let he=is(P,_.key,xe),Ne=R&&m.level==="city"&&m.index===he,Pe=String(Te?.name??"")||l("City"),fo=`${H}::city::${ss(Te)}`,Me=E(fo),{rowProps:Ge,...co}=k.row({item:{si:b,group:_.key,index:xe},place:{...bd(b,_.key),index:xe}},{onClick:O(()=>S(b,{level:"city",index:he}))});return _t(Ub,{children:[xe===0&&W(_.key,0),be(Oa,{icon:be(BN,{size:13}),name:Pe,words:a,onSelect:()=>S(b,{level:"city",index:he}),selected:Ne,...co,fold:{open:!Me,label:Pe,onToggle:()=>T(fo)},actions:be(Vb,{kind:"delete",label:l("Delete {name}",{name:Pe}),onClick:()=>{x(b,Gb(P,_.key,xe)),no({level:"group",key:_.key})},children:be(jb,{size:15})}),rowProps:Ge}),!Me&&_t(Kb,{children:[be(Oa,{icon:be(AN,{size:13}),name:l("Image"),words:a,onSelect:()=>S(b,{level:"image",index:he}),selected:R&&m.level==="image"&&m.index===he,rowProps:{onClick:O(()=>S(b,{level:"image",index:he}))}}),be(Oa,{icon:be(DN,{size:13}),name:l("Map"),words:a,onSelect:()=>S(b,{level:"map",index:he}),selected:R&&m.level==="map"&&m.index===he,rowProps:{onClick:O(()=>S(b,{level:"map",index:he}))}})]}),W(_.key,xe+1)]},ss(Te))}),_t("button",{type:"button",className:"sf-add-card",onClick:()=>{let Te=Hb(P,_.key);x(b,Te);let xe=Dt(Te).find(he=>he.key===_.key);no(xe&&xe.cards.length?{level:"city",index:is(Te,_.key,xe.cards.length-1)}:{level:"group",key:_.key})},children:[be("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add city")]})]}),A(te+1)]},ie)}),_t("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:_,key:te}=Wb(P);x(b,_),S(b,{level:"group",key:te})},children:[be("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add group")]})]})},sectionPressed:h=>{h?.type===cs&&no({level:"groups"})}}}import{useEffect as cM,useRef as dM}from"react";import{createNode as Fd,newId as Ed}from"efficient-easel/data";import{useEaselApi as uM}from"efficient-easel/easel";import{useScreenDocument as pM}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as mM}from"efficient-easel/screen/lib/session-context";import{useEffect as lM,useRef as sM}from"react";import{useEasel as iM}from"efficient-easel/easel";import{ROOT_ZONE as fM}from"efficient-easel/draw";import{readHidable as eM}from"efficient-easel/draw";var Zb=["general","commerce","service"],Cr=[{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:"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"}]},{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 UJ(){return Object.fromEntries(Cr.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var HN={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` in the Phone view. 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/document/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/document/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.',TimelineTrack:"Lewis, 2026-10-09/10 (decisions.md ND, approved): the horizontal year rail and the Story Timeline do one job, so the rail becomes the Story Timeline's fourth Display, Track. Retired by card [MERGE] One Text Block And Click Through Parts (2026-10-22).\n\nWHAT REPLACES IT: a Story Timeline (`Timeline`) with Display set to Track. It draws this section's own component (`components/TimelineTrack`), so for the same words it draws the same bytes: the band colour (`Background color`, the same built-in), the padding, the CTA and each milestone's `Upcoming` switch (shown on each entry under Track only). An entry's `Body` is the rail's blurb. `scripts/test-timeline-track-display.tsx` \xA72 holds the bytes.\n\nWHAT A MERCHANT LOSES on a NEW rail, said plainly: (1) the head cannot move into a box of its own (`headPlacement`); the layered rebuild puts a head in one Box with its content anyway. (2) The year and title of every milestone are not one text kind: each run is styled on its own. (3) The Width rows follow the Story Timeline's family (`background`), not the rail's (`capped`).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Milestone Timeline still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.",KeyFeatures:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds Cards and Key Features; Key Features' diamond cells are the card style "Label only". Retired by card [MERGE] One Text Block And Click Through Parts (2026-10-22).
|
|
7
|
+
|
|
8
|
+
WHAT REPLACES IT: a Cards section with Card style set to Label only. It draws this section's own component (\`components/KeyFeatures\`), so for the same words it draws the same bytes: the pill eyebrow when no look is stored, the columns, each cell's link. A cell's words are the card's \`title\` (row "Feature label"), its link the card's \`href\` (row "Link"), both shown under Label only. \`scripts/test-cards-label-only.tsx\` \xA72 holds the bytes.
|
|
9
|
+
|
|
10
|
+
WHAT A MERCHANT LOSES on a NEW Label only section: nothing this section had. It GAINS the Cards head split (its head can move into a box of its own), which Key Features never had: that head draws the shared \`simple\` head, eyebrow ABOVE the heading, where Key Features drew it beside.
|
|
11
|
+
|
|
12
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Key Features still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.`,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."},$J=["Grid"],qJ=Array.from(new Set([...Cr.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(HN)])),jJ=Object.fromEntries(Cr.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),WN={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",TimelineTrack:"general",KeyFeatures:"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"},ds={...WN,...Object.fromEntries(Cr.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function Qb(e){return Object.prototype.hasOwnProperty.call(ds,e)?ds[e]:void 0}function Sd(e){return Object.keys(ds).filter(o=>ds[o]===e).sort()}var KJ=Sd("general"),VJ=Sd("commerce"),YJ=Sd("service"),Cd="Flex",lt="Box",XJ=`${lt}es`;function zN(e){return e==="section"?"Blank section":lt}function wd(e,o,t){return e===Cd?zN(o):t}var st="content",ce="Flex",GN="Text & media",UN="Layout & structure",$N=[{type:"Eyebrow",label:"Eyebrow",retired:!0},{type:"Heading",label:"Heading",retired:!0},{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:GN})),qN=(Cr.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:UN})),Jb=[...$N,...qN],vd=[{type:"Eyebrow",label:"Eyebrow",retired:!0},{type:"Heading",label:"Heading",retired:!0},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"ButtonBlock",label:"Button"},{type:"HeroGroup",label:lt}],JJ=vd.map(e=>e.type),jN=1,KN=vd.filter(e=>e.type!=="HeroGroup");function VN(e){return e<jN?vd:KN}var YN={Flex:{slot:st,choices:()=>Jb},Grid:{slot:st,choices:()=>Jb},HeroGroup:{slot:st,choices:VN}};function eS(e,o=0){let t=YN[e];return t?{slot:t.slot,choices:t.choices(o)}:null}var it=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),La=()=>({_partStyles:{text:{textStyle:"body-5",color:"accent",letterSpacing:.3,case:"upper",lineHeight:1.5}}});var XN="inline",ZN=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var Po={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"}},wr="SectionHeader";function oS(e){return e in Po}function aee(e){return jo(ZN,XN,e)}var tS=new Set(["Flex"]);function nee(e){return!!e?.type&&tS.has(e.type)}var QN={not:{context:"parentType",in:[...tS]}};function lee(e,o,t){return Bl(e,t,QN)}var JN={not:{field:"headPlacement",is:"own-box"}};function see(e,o,t){return Bl(e,t,JN)}var kd=ce,Td=st;var oM=new Set(["id"]),us={};function pee(e){for(let[o,t]of Object.entries(e)){if(o in us&&us[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);us[o]=t}}function mee(e){let o=Po[e];if(!o)throw new Error(`lib/sections/section-to-box: "${e}" has no head row in SPLITTABLE_SECTIONS`);let t=[{kind:"text",key:o.num,role:"eyebrow"},{kind:"text",key:o.title,role:"heading"}];return o.description&&t.push({kind:"text",key:o.description,role:"body"}),o.headRows.includes("linkText")&&o.headRows.includes("linkHref")&&t.push({kind:"button",key:"linkText",href:"linkHref"}),t}var Pd=e=>eM(e),xee=e=>Pd(e).text.trim()!=="",tM=e=>e==="heading"?it():e==="eyebrow"?La():{};function rM(e,o,t){let r={...e._partStyles?.text??{},...o??{},...t??{}};return Object.keys(r).length?{_partStyles:{text:r}}:{}}function aM(e,o){if(e===void 0)return{};if(typeof e=="string")return{variant:e};let t=o[e.key];return{variant:typeof t=="string"&&Object.hasOwn(e.map,t)?e.map[t]:e.fallback}}function rS(e,o,t,r){let a={...o};for(let n of e){let[s,i,f]=typeof n=="string"?[n,n,void 0]:n;if(t[s]===void 0)continue;let d=f?f(t[s],t):t[s];d===void 0?delete a[i]:a[i]=d,r(s,i,d===void 0)}return a}function nM(e,o,t={}){let r=e.props,a=String(r.id??e.type),n=[],s=[],i=new Set,f=(v,C)=>{n.push({key:v,home:C}),i.add(v)},d=r._partStyles??{},p=0,m=(v,C)=>({type:v,props:{...C,id:`${a}~${v}-${++p}`}}),x=(v,C,S,h)=>{let b=[],O=(T,P)=>S?f(T,P):void 0,E=T=>S?d[T]:void 0;for(let T of v)if(!(T.when&&!T.when(r)))switch(T.kind){case"text":{let P=Pd(C[T.key]);if(!P.text.trim()){O(T.key,"nothing \u2014 empty words draw nothing, so no block");break}let B=tM(T.role??"body"),{_partStyles:H,...R}=B;b.push(m("Text",{text:P.text,...R,...T.props??{},...rM(B,T.style,E(T.key)),...P.hidden?{_hidden:!0}:{}})),O(T.key,`${h}Text block: its words${P.hidden?", hidden":""}`);break}case"button":{let P=Pd(C[T.key]);if(!P.text.trim()){O(T.key,"nothing \u2014 no words, no button"),O(T.href,"nothing \u2014 no button to link"),typeof T.variant=="object"&&O(T.variant.key,"nothing \u2014 no button to style");break}let B=typeof C[T.href]=="string"&&C[T.href]?C[T.href]:"#",H={...T.style??{},...E(T.key)??{}};b.push(m("ButtonBlock",{label:P.text,href:B,...T.props??{},...aM(T.variant,C),...Object.keys(H).length?{_partStyles:{label:H}}:{},...P.hidden?{_hidden:!0}:{}})),O(T.key,`${h}Button block: its words`),O(T.href,`${h}Button block: its link`),typeof T.variant=="object"&&O(T.variant.key,`${h}Button block: its Style`);break}case"image":{let P=C[T.key];if(typeof P!="string"||!P){O(T.key,"nothing \u2014 no picture, no block"),T.alt&&O(T.alt,"nothing \u2014 no picture to describe");break}let B=T.alt&&typeof C[T.alt]=="string"?C[T.alt]:"";b.push(m("ImageBlock",{src:P,alt:B,...T.props??{}})),O(T.key,`${h}Image block: its picture`),T.alt&&O(T.alt,`${h}Image block: its alt text`);break}case"list":{let P=Array.isArray(C[T.key])?C[T.key]:[];P.forEach((B,H)=>{let R=x(T.parts,B??{},!1,`item ${H+1}: `);if(T.flat){b.push(...R);return}b.push(m(kd,{name:`${T.name} ${H+1}`,...T.props??{},[Td]:R}))}),O(T.key,P.length?T.flat?`each item's parts (${P.length} items), in order`:`one Box per item (${P.length}), its parts inside`:"nothing \u2014 the list is empty");break}case"group":{let P=x(T.parts,C,S,h);if(!P.length&&!T.keepEmpty){for(let R of T.box??[]){let A=typeof R=="string"?R:R[0];C[A]!==void 0&&O(A,`nothing \u2014 the ${T.name} Box has no parts, so it is not drawn`)}break}let B=typeof T.props=="function"?T.props(r,t):T.props??{},H=rS(T.box??[],B,C,(R,A,W)=>O(R,W?`nothing \u2014 the old value draws nothing (${T.name} Box: no ${A})`:`${h}${T.name} Box: ${A}`));b.push(m(kd,{name:T.name,...H,[Td]:P}));break}case"core":{let P={headPlacement:"own-box"};for(let B of T.keep)C[B]!==void 0&&(P[B]=C[B],O(B,`the ${e.type} block inside the Box`));b.push(m(e.type,P));break}}return b},I=x(o.parts,r,!0,""),y=typeof o.boxProps=="function"?o.boxProps(r):o.boxProps??{},k=rS(o.box??[],y,r,(v,C,S)=>f(v,S?`nothing \u2014 the old value draws nothing (Box: no ${C})`:`Box: ${C}`));r._partStyles!==void 0&&f("_partStyles","each old part's style moved to its new part");for(let[v,C]of Object.entries(o.drop??{}))v in r&&(s.push({key:v,why:C}),i.add(v));for(let v of Object.keys(r))oM.has(v)||i.has(v)||s.push({key:v,why:"not in the row \u2014 not carried"});return{node:{type:kd,props:{name:o.name,...k,[Td]:I,id:`${a}~box`}},carried:n,dropped:s,siteWrites:[...o.site?.(e,t)??[]]}}function aS(e){if(!Array.isArray(e))return[];let o=[];return e.forEach((t,r)=>{let a=t&&typeof t.type=="string"?us[t.type]:void 0;a?.on&&o.push({index:r,node:nM(t,a).node})}),o}function nS(e){let o=iM(r=>r.appState.data.content),t=sM(new Set);lM(()=>{for(let{index:r,node:a}of aS(o)){let n=String(o[r]?.props.id??"");t.current.has(n)||(t.current.add(n),e.replaceComponent(fM,r,a))}},[o,e])}import{ROOT_ZONE as vr,missingPinnedTypes as xM,pinnedDuplicateIds as Od}from"efficient-easel/draw";function lS(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function sS(e,o){let t=e.some(i=>i?.type===ae),r=e[e.length-1],a=!t&&r?.type===le?r:null,n=e.filter(i=>i?.type===le&&i!==a).map(i=>String(i.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!a;return{remove:n,seedHeader:!e.some(i=>i?.type===De),seedFooter:s,seedSiteHeader:s&&!e.some(i=>i?.type===se)}}async function iS(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!==se||!e.stillOpen())return!1;let r=e.latest();return r.some(a=>a?.type===se)?!1:(e.write(Xl(r,t)),!0)}function fS(e,o){let{adapter:t,capabilities:r,currentSlug:a,docId:n,data:s,saveStatus:i,siteId:f,tokenRef:d}=pM(),p=mM(),{hasSiteSettings:m,hasPinnedChrome:x}=r;nS(e);let I=!!r.editsPinnedInPlace&&a!==Zt,y=a===Zt,k=uM().getState,v=dM(null);cM(()=>{if(!lS({docId:n,saveStatus:i,seededDocId:v.current})||(v.current=n,!x))return;let C=k().appState.data,S=C.content,h=s?.content??[],b=(P,B)=>P.some(H=>H?.type===B);if(!m){let P=new Set(Od(S)),B=P.size?S.filter(R=>!P.has(R.props.id)):S;if(P.size&&e.setDocument({...C,content:B}),y)return;let H=xM(B,h);if(H.includes(le)){let R=B.length,A=e.insertSection(le,R);e.replaceComponent(vr,R,{type:le,props:{id:A,blocks:Yl()}})}H.includes(De)&&e.insertNode(vr,0,Vl());return}if(y){let P=yr(S);if(P!==S&&e.setDocument({...C,content:[...P]}),!P.find(B=>B.type===le)&&!b(h,le)&&!b(P,ae)&&!b(h,ae)){let B=(R,A)=>Fd(o,R,A),H={type:le,props:{blocks:Yl()}};e.insertNode(vr,P.length,wa(H,B,Ed(ae)))}return}if(I){let P=!!t?.pinnedChrome?.state().docId,B=sS(S,{hasChromeDoc:P}),H=new Set([...B.remove,...Od(S.filter(A=>!B.remove.includes(String(A.props.id))))]),R=H.size?S.filter(A=>!H.has(String(A.props.id))):S;if(R.length!==S.length&&e.setDocument({...C,content:R}),B.seedFooter&&!b(h,le)&&!b(h,ae)){let A=(_,te)=>Fd(o,_,te),W={type:le,props:{blocks:Yl()}};e.insertNode(vr,R.length,wa(W,A,Ed(ae)))}if(B.seedHeader&&!b(h,De)){let A=R[0]?.type===se?1:0;e.insertNode(vr,A,Vl())}if(B.seedSiteHeader&&!b(h,se)&&!b(h,le)&&!b(h,ae)){let A=n;iS({blocks:xn(p),make:(W,_)=>Fd(o,W,_),id:Ed(se),siteId:f??null,token:d.current,latest:()=>k().appState.data.content,stillOpen:()=>v.current===A,write:W=>{let _=k().appState.data;e.setDocument({..._,content:[...W]})}})}return}let O=S.filter(P=>P.type!==le),E=new Set(Od(O)),T=E.size?O.filter(P=>!E.has(P.props.id)):O;T.length!==S.length&&e.setDocument({...C,content:T}),!b(T,De)&&!b(h,De)&&e.insertNode(vr,0,Vl())},[n,i,s,k,e,m,x,y,I,t,p,f,d])}import{useEffect as cS,useMemo as IM,useRef as dS}from"react";import{useEasel as hM}from"efficient-easel/easel";import{useEaselHost as gM}from"efficient-easel/screen/lib/host";var Ld=e=>typeof e.requestId=="string"&&e.requestId?e.requestId:null;function uS(){let e=gM(),{appState:o,selectedItem:t,dispatch:r,history:a,config:n}=hM(x=>x),s=n,i=dS({appState:o,dispatch:r,history:a,blockConfig:s});i.current={appState:o,dispatch:r,history:a,blockConfig:s};let f=dS(new Map),d=t?.props?.id,p=IM(()=>_x(s,o.data,d),[s,o.data,d]),m=p?JSON.stringify(p):"";cS(()=>{e.connected&&e.send("storefront-editor:selection",{selection:p})},[e,m]),cS(()=>e.subscribe(x=>{let{appState:I,dispatch:y,history:k,blockConfig:v}=i.current;switch(x.type){case"storefront-editor:request-document":{let C=Ld(x);if(!C)return;e.send("storefront-editor:document",{requestId:C,document:I.data,blocks:Hx(v)});return}case"storefront-editor:apply-page-edits":{let C=Ld(x);if(!C)return;let S=Array.isArray(x.ops)?x.ops:[],h=S.length?Wx(v,I.data,S,b=>`${b}-${crypto.randomUUID()}`):{ok:!1,reason:"no changes"};h.ok&&(y({type:"setData",data:h.document,recordHistory:!0}),f.current.set(C,JSON.stringify(h.document.content??[]))),e.send("storefront-editor:page-edits-result",{requestId:C,applied:h.ok,reason:h.ok?null:h.reason});return}case"storefront-editor:undo-page-edits":{let C=Ld(x);if(!C)return;let S=f.current.get(C),h=S!==void 0&&S===JSON.stringify(I.data.content??[]);h&&k.hasPast&&(k.back(),f.current.delete(C)),e.send("storefront-editor:page-edits-result",{requestId:C,applied:h&&k.hasPast,reason:h?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof x.shown=="boolean"&&y({type:"setUi",ui:{rightSideBarVisible:x.shown}});return;default:return}}),[e])}import{useEffect as xS,useState as IS}from"react";var ps=new Map;async function yM(e,o){try{return(await Se().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function pS(e,o){let t=ps.get(o);return t||(t=yM(e,o),ps.set(o,t),t.catch(()=>{ps.get(o)===t&&ps.delete(o)})),t}var bM=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function Rd(e){return!!e&&bM.test(e)}function mS(e){let{pageSlug:o,siteSlug:t,hostname:r}=e,a=o===an?"/":`/${encodeURIComponent(o)}`;if(!Rd(r))return a;let n=t?.trim();return n?`${a}?site=${encodeURIComponent(n)}`:a}function hS(e){let{pageSlug:o,siteId:t,token:r}=e,[a,n]=IS(null),[s,i]=IS(null),f=Ya();xS(()=>i(f?new URL(f).hostname:window.location.hostname),[f]),xS(()=>{if(!Rd(s)||!t||!r){n(null);return}let p=!1;return pS(r,t).then(m=>{p||n(m)}),()=>{p=!0}},[s,t,r]);let d=mS({pageSlug:o,siteSlug:a,hostname:s});return f?`${f}${d}`:d}import{jsx as Ra}from"react/jsx-runtime";import{ExternalIcon as gS}from"efficient-easel/icons";import{EaselIconButton as SM}from"efficient-easel/chrome";import{Tooltip as CM,iconButtonClasses as wM}from"efficient-shell/ui";function vM({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 yS({liveHref:e,pageId:o,draftLink:t}){return t&&o?Ra(SM,{label:l("Preview your saved draft in a new tab"),tip:l("Open your saved draft in a new tab. Visitors don't see it."),onClick:()=>{vM({pageId:o,liveHref:e,draftLink:t})},children:Ra(gS,{})}):Ra(CM,{content:l("Preview the live site (opens in a new tab)"),side:"bottom",children:Ra("a",{className:wM({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":l("Preview the live site in a new tab"),children:Ra(gS,{})})})}import{createElement as LM,useCallback as RM,useEffect as HS,useRef as WS,useState as AM}from"react";import{ClockIcon as BM}from"efficient-shell/icons/efficient";import{useScreenDocument as DM}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as kM}from"react";import{useScreenDocument as TM}from"efficient-easel/screen/components/ScreenDocumentContext";var PM=()=>()=>{},bS=()=>null;function ms(e){return kM(e?e.subscribe:PM,e?e.state:bS,e?e.state:bS)}function xs(){let{adapter:e}=TM();return e?.pinnedChrome}import{useSyncExternalStore as wS}from"react";var Aa=!1,kr=null,Ad=new Set;function Da(){for(let e of Ad)e()}function vS(e){return Ad.add(e),()=>{Ad.delete(e)}}function kS(){Aa||(Aa=!0,Da())}function TS(){Aa&&(Aa=!1,Da())}function SS(){return Aa}function PS(){return wS(vS,SS,SS)}function CS(){return kr}function Is(){kr&&(kr=null,Da())}function FS(){return wS(vS,CS,CS)}var Ba=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function ES(e,o,t,{flushSave:r,reload:a}){if(!await r())throw new Ba;let n=await e.restore(o,t);return nm(n.liveState),a(),n}async function OS({access:e,version:o,page:t,...r}){let a=await ES(e,o.id,t?{page:t.id}:{},r);kr={title:FM(o,t??null),undo:a.undo},Da()}async function LS({access:e,...o}){let t=kr?.undo;t&&(await ES(e,t,{},o),kr=null,Da())}function RS(e){return e.name?e.name:e.kind==="draft_before_restore"?l("Draft before restore"):l("Version {n}",{n:e.number})}function FM(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 AS(e){let o=e.changes.filter(r=>r.kind==="page").length,t=[...o?[$e("{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(_s(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function BS(e){return e.change==="take_down"?l("{name} (taken down)",{name:e.name}):e.name}function DS(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=_s(),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 EM}from"react";var Tr=new Map,Bd=new Set;function Dd(e,o){if(!(Tr.has(e)&&Tr.get(e)===o)){Tr.set(e,o);for(let t of Bd)t()}}function boe(e,o){Dd(e,o)}function Soe(e,o){let t=Tr.get(e);Dd(e,o??(t==="live"?"changed":t))}function Coe(e,o){Dd(e,o??"live")}function woe(e){return Tr.get(e)}function OM(e){return Bd.add(e),()=>{Bd.delete(e)}}function _S(e){let o=()=>e?Tr.get(e):void 0;return EM(OM,o,o)}function NS(e,o){return e==="live"&&o?"changed":e}function _d({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 MS(e){return e.map(o=>o.change==="take_down"?l("{name} (taken down)",{name:o.name}):o.name)}function zS(e){let{docId:o,capabilities:t,hasUnsavedEdits:r,onPublish:a,adapter:n}=DM(),s=NS(_S(o??null),r),i=ms(xs()),f=n.siteLiveState;HS(()=>{if(f)return wi(f),gn(0),()=>wi(null)},[f]);let d=yn(),[p,m]=AM(!1),x=WS(e);x.current=e;let I=WS(!0);HS(()=>(I.current=!0,()=>{I.current=!1}),[]);let y=RM(()=>{m(!0),a(x.current).then(()=>{Is()}).finally(()=>{I.current&&m(!1)})},[a]);if(t.canPublish){if(f){let k=d===void 0?void 0:r||d.state==="changed"?"changed":"live",v=_d({live:k,onPress:y,busy:p,goingLive:MS(d?.changes??[])});return n.siteVersions?{...v,menuItems:_M()}:v}return _d({live:s,onPress:y,busy:p,pinnedUnpublished:i?.unpublished??!1})}}function _M(){return[{key:"version-history",label:l("Version history"),icon:LM(BM),onSelect:kS}]}import{jsx as z,jsxs as ze,Fragment as Ma}from"react/jsx-runtime";import{useCallback as NM,useEffect as MM,useId as $S,useRef as HM,useState as je}from"react";import{Avatar as WM,Banner as _a,Button as Nt,ColoredBadge as Nd,Dialog as qS,Drawer as zM,DropdownMenu as GM,FormField as jS,iconButtonClasses as UM,Inline as Md,Input as $M,ListRow as qM,Select as jM,SortableList as KM,Stack as Na}from"efficient-shell/ui";import{EditIcon as VM,EyeIcon as GS,MenuIcon as YM,MoreIcon as XM,PageIcon as KS,RevertIcon as US,StylesIcon as ZM}from"efficient-shell/icons/efficient";import{useScreenDocument as VS}from"efficient-easel/screen/components/ScreenDocumentContext";var QM={page:KS,menu:YM};function JM(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function e2(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 o2({version:e,page:o,waiting:t,busy:r,error:a,onCancel:n,onConfirm:s,onPage:i}){let f=$S();if(!e)return null;let d=e.kind==="draft_before_restore",p=e.number,m=AS(e),x=d?l("Put your drafts back?"):o?l("Restore {page} from version {n}?",{page:o.name,n:p}):l("Restore version {n}?",{n:p}),I=d?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}),y=e.deletedPictures??0;return z(qS,{open:!0,onClose:()=>{r||n()},size:"sm",title:x,footer:ze(Ma,{children:[z(Nt,{variant:"secondary",onClick:n,disabled:r,children:l("Cancel")}),z(Nt,{onClick:s,loading:r,disabled:r,children:l("Restore as draft")})]}),children:ze(Na,{gap:4,children:[o&&e.pages.length>1?z(jS,{label:l("Page"),htmlFor:f,children:z(jM,{id:f,value:o.id,options:e.pages.map(k=>({value:k.id,label:k.name})),onChange:i,disabled:r})}):null,z("p",{children:I}),z("p",{children:l("Your live website does not change until you press Publish.")}),y>0?z(_a,{tone:"warning",children:$e("{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.",y)}):null,t?z(_a,{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?z(_a,{tone:"danger",children:a}):null]})})}function t2({version:e,onCancel:o,onSave:t}){let r=$S(),[a,n]=je(null),[s,i]=je(""),[f,d]=je(!1),[p,m]=je(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)){d(!0),m(null);try{await t(s.trim())}catch{m(l("The name was not saved. Try again."))}finally{d(!1)}}};return z(qS,{open:!0,onClose:()=>{f||o()},size:"sm",title:l("Name this version"),footer:ze(Ma,{children:[z(Nt,{variant:"secondary",onClick:o,disabled:f,children:l("Cancel")}),z(Nt,{onClick:()=>{I()},loading:f,disabled:f||x,children:l("Save")})]}),children:z(jS,{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:z($M,{id:r,value:s,invalid:!!p,onChange:y=>i(y.target.value),onKeyDown:y=>{y.key==="Enter"&&I()}})})})}function r2({version:e,expanded:o,onToggle:t,onPreview:r,onRestore:a,onRestorePage:n,onName:s}){let i=e.kind==="draft_before_restore",f=!e.live,d=e.changes.length,p=[...i?[]:[{key:"preview",label:l("Preview"),icon:z(GS,{}),onSelect:r}],...f?[{key:"restore",label:i?l("Put these drafts back"):l("Restore whole website"),icon:z(US,{}),onSelect:a}]:[],...f&&!i&&e.pages.length?[{key:"restore-page",label:l("Restore one page only"),icon:z(KS,{}),onSelect:n}]:[],...i?[]:[{type:"divider",key:"divider"},{key:"name",label:l("Name this version"),icon:z(VM,{}),onSelect:s}]];return z(qM,{title:ze("span",{className:"sf-version-title",children:[z("span",{children:RS(e)}),e.live?z(Nd,{tone:"success",size:"xs",children:l("Live")}):null,e.name?z(Nd,{tone:"neutral",size:"xs",children:l("Version {n}",{n:e.number})}):null,i?z(Nd,{tone:"warning",size:"xs",children:l("Not published")}):null]}),expanded:o,onToggle:t,actions:z(GM,{align:"end","aria-label":l("More"),items:p,triggerClassName:UM({variant:"ghost",size:"sm"}),trigger:z(XM,{})}),below:ze(Na,{gap:3,children:[ze(Md,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[z(WM,{name:e.createdBy,size:"xs"}),z("span",{children:e.createdBy}),z("span",{"aria-hidden":"true",children:"\xB7"}),z("span",{children:DS(e.createdAt)}),d?ze(Ma,{children:[z("span",{"aria-hidden":"true",children:"\xB7"}),z("span",{children:$e("{n} change","{n} changes",d)})]}):null]}),o?ze(Na,{gap:3,children:[d?z(Na,{gap:2,children:e.changes.map(m=>{let x=QM[m.kind]??ZM;return ze(Md,{gap:2,align:"center",children:[z(x,{size:16}),z("span",{children:BS(m)})]},`${m.kind}:${m.id}`)})}):null,ze(Md,{gap:2,children:[i?null:z(Nt,{variant:"secondary",size:"sm",leftIcon:z(GS,{}),onClick:r,children:l("Preview")}),f?z(Nt,{variant:"secondary",size:"sm",leftIcon:z(US,{}),onClick:a,children:l("Restore")}):null]})]}):null]})})}function a2({open:e,onClose:o,access:t,waiting:r}){let{flushSave:a,reloadFromServer:n,docId:s}=VS(),[i,f]=je(null),[d,p]=je(!1),[m,x]=je(null),[I,y]=je(null),[k,v]=je(!1),[C,S]=je(null),[h,b]=je(null),[O,E]=je(!1),T=HM(0),P=NM(()=>{let R=++T.current;p(!1),t.list().then(A=>{R===T.current&&f(A)},()=>{R===T.current&&p(!0)})},[t]);MM(()=>{e&&P()},[e,P]);let B=R=>{E(!1),e2(t,R.id).catch(()=>E(!0))},H=async()=>{if(!(!I||k)){v(!0),S(null);try{await OS({access:t,version:I.version,page:I.page,flushSave:a,reload:n}),y(null),o()}catch(R){S(R instanceof Ba?l("Your last changes did not save, so nothing was restored. Try again."):l("The version was not restored. Nothing changed. Try again."))}finally{v(!1)}}};return ze(Ma,{children:[z(zM,{open:e,onClose:o,side:"right",size:"md",title:l("Version history"),description:ze(Ma,{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:z("span",{className:"sf-version-foot",children:l("The newest 30 are kept. Named versions are always kept.")}),children:ze(Na,{gap:3,children:[O?z(_a,{tone:"danger",onDismiss:()=>E(!1),children:l("The preview did not open. Try again.")}):null,d?z(_a,{tone:"danger",action:z(Nt,{variant:"secondary",size:"sm",onClick:P,children:l("Try again")}),children:l("Version history did not load.")}):i===null?z("p",{className:"sf-version-foot",children:l("Loading versions")}):i.length===0?z("p",{className:"sf-version-foot",children:l("No versions yet. Every Publish from now on keeps one.")}):z(KM,{"aria-label":l("Versions"),spacing:"comfortable",children:i.map(R=>z(r2,{version:R,expanded:m===R.id,onToggle:()=>x(A=>A===R.id?null:R.id),onPreview:()=>B(R),onRestore:()=>{S(null),y({version:R,page:null})},onRestorePage:()=>{S(null),y({version:R,page:JM(R,s)})},onName:()=>b(R)},R.id))})]})}),z(o2,{version:I?.version??null,page:I?.page??null,waiting:r,busy:k,error:C,onCancel:()=>y(null),onConfirm:()=>{H()},onPage:R=>y(A=>A&&{...A,page:A.version.pages.find(W=>W.id===R)??A.page})}),z(t2,{version:h,onCancel:()=>b(null),onSave:async R=>{await t.name(h.id,R),b(null),P()}})]})}function YS(){let{adapter:e,hasUnsavedEdits:o}=VS(),t=e.siteVersions,r=PS(),a=yn();return t?z(a2,{open:r,onClose:TS,access:t,waiting:o||a?.state==="changed"}):null}import{useEaselSession as ww}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as $oe,categoryLabel as qoe,paletteWithoutPinned as joe,pinnedSection as Koe}from"efficient-easel/screen/lib/document/palette-sections";var n2={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 XS(e){return n2[e]?.label}var ZS=Cd;import{currentEaselSession as l2}from"efficient-easel/screen/lib/session";var s2={general:!0,commerce:!0,service:!0};function Hd(e){let o=e?.sets;return o?Object.fromEntries(Zb.map(t=>[t,o.includes(t)])):s2}function Qoe(e=l2()){return Hd(e.blocks)}import{currentEaselSession as vC}from"efficient-easel/screen/lib/session";function Oe(e,o,t,r={}){return{type:e,props:{...o(e),id:t(e),...r}}}function QS(e,o,t){return Oe(ce,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var i2={Manifesto:(e,o)=>({type:ce,props:{...e(ce),id:o(ce),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[Oe(ce,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[Oe("Text",e,o,La()),Oe("Text",e,o,it()),Oe("Text",e,o),Oe("Stats",e,o)]}),QS(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:ce,props:{...e(ce),id:o(ce),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[Oe(ce,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[Oe("Text",e,o,La()),Oe("Text",e,o,it()),Oe("Text",e,o),Oe("ButtonBlock",e,o)]}),QS(e,o,{direction:"column",name:"Image",content:[Oe("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:ce,props:{...e(ce),id:o(ce),direction:"column",name:"Subscribe",content:[Oe("Text",e,o,it()),Oe("Text",e,o),Oe("Form",e,o)]}})};function hs(e){return i2[e]??null}import{blockTypesIn as SC}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as Wa,jsxs as N2}from"react/jsx-runtime";import{createContext as M2,useContext as H2}from"react";import{jsx as Pr,jsxs as fC}from"react/jsx-runtime";import{useEffect as zd,useRef as k2,useState as Ha}from"react";import{jsx as JS}from"react/jsx-runtime";import{createContext as f2,lazy as ste,Suspense as ite,useContext as c2}from"react";var d2={Link:ru,Image:tu},u2=f2(d2);function eC(){return c2(u2)}function fte(e){let{Link:o}=eC();return JS(o,{...e})}function oC(e){let{Image:o}=eC();return JS(o,{...e})}import{jsx as tC,Fragment as p2,jsxs as m2}from"react/jsx-runtime";import{useEffect as x2,useRef as rC,useState as I2}from"react";var h2="#t=0.001",g2=2;function y2(e,o){if(e.readyState<g2||!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 aC({src:e,objectPosition:o="50% 50%",onError:t}){let r=rC(null),a=rC(null),[n,s]=I2(!1);return x2(()=>{let i=r.current,f=a.current;if(n||!i||!f)return;let d=()=>{y2(i,f)&&s(!0)};return d(),i.addEventListener("loadeddata",d),i.addEventListener("seeked",d),()=>{i.removeEventListener("loadeddata",d),i.removeEventListener("seeked",d)}},[n]),m2(p2,{children:[tC("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&&tC("video",{ref:r,src:`${e}${h2}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as lC,imageSrcSet as b2}from"efficient-shell/image-copies";var nC;function Wd(){return nC===void 0?{}:{host:nC}}var xte="(max-width: 800px) 100vw, min(100vw, 1600px)";function sC(e,{fallbackWidth:o=1280,maxWidth:t}={}){let r=b2(e,{...Wd(),...t===void 0?{}:{maxWidth:t}});return r?{src:lC(e,o,Wd()),srcSet:r}:{src:e}}function Ite(e){let o=lC(e,1920,Wd());return o===e?`url(${e})`:`url("${o}")`}import{formatFocal as S2,parseFocal as C2}from"efficient-shell/format";var w2="sf-focus-phone",v2="--sf-focus-phone";function iC(e){if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return{className:"",style:{}};let{x:o,y:t}=C2(e);return{className:w2,style:{[v2]:S2(o,t)}}}var T2=.5;function cC({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:r=T2,objectPosition:a="50% 50%",objectPositionPhone:n,quiet:s=!1}){let i=iC(n),f=o||"",d=e||"",[p,m]=Ha(!1),[x,I]=Ha(!1),[y,k]=Ha(!1),[v,C]=Ha(!1),[S,h]=Ha(!1),b=k2(null);zd(()=>{m(!1),I(!1),k(!1),C(!1)},[e,o]),zd(()=>{if(typeof window>"u")return;let T=()=>{let P=window;P.requestIdleCallback?P.requestIdleCallback(()=>h(!0),{timeout:2e3}):setTimeout(()=>h(!0),800)};if(document.readyState==="complete"){T();return}return window.addEventListener("load",T,{once:!0}),()=>window.removeEventListener("load",T)},[]),zd(()=>{let T=b.current;if(!T)return;let P=()=>{T.playbackRate=r};return P(),T.addEventListener("loadedmetadata",P),()=>T.removeEventListener("loadedmetadata",P)},[e,r]);let O=au(f),E=f&&O&&!x?sC(f):{src:f};return fC("div",{className:"absolute inset-0 z-[1]",children:[Pr("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),f&&(O?Pr("img",{src:E.src,...E.srcSet?{srcSet:E.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:()=>E.srcSet?I(!0):m(!0)},f):Pr(oC,{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&&d&&S&&!y&&fC("video",{ref:b,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:()=>k(!0),children:[nu(d)&&Pr("source",{src:d.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),Pr("source",{src:d,type:"video/mp4"})]},d),t&&s&&d&&S&&!v&&(!f||p)&&Pr(aC,{src:d,objectPosition:a,onError:()=>C(!0)},d)]})}var dC=["top","middle","bottom"],uC=["left","center","right"],pC="bottom",mC="left",P2={top:"Top",middle:"Middle",bottom:"Bottom"},F2={left:"Left",center:"Center",right:"Right"},Fte="Up and down",Ete="Sideways",E2={top:"flex-start",middle:"center",bottom:"flex-end"},O2={left:"flex-start",center:"center",right:"flex-end"},L2="--sf-hero-phone-y",R2="--sf-hero-phone-x";function A2(e){return dC.includes(e)?e:pC}function B2(e){return uC.includes(e)?e:mC}function xC(e,o){let t=A2(e),r=B2(o),a={};return t!==pC&&(a[L2]=E2[t]),r!==mC&&(a[R2]=O2[r]),a}function Ote(){return dC.map(e=>({label:P2[e],value:e}))}function Lte(){return uC.map(e=>({label:F2[e],value:e}))}var D2="#0A0A0A",_2=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function IC(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 hC(e){return e==null?!0:e!==!1}function gC(e){let o=(e?IC(e):null)??IC(D2);return`linear-gradient(180deg, ${_2.map(([t,r])=>`rgba(${o},${r}) ${t}%`).join(", ")})`}var W2=M2({});function zte({name:e,process:o,mediaType:t="video",mediaSrc:r,videoSpeed:a,poster:n,objectPosition:s,objectPositionPhone:i,tintColor:f="#000000",tintOpacity:d=0,groups:p,editing:m=!1,themeClassName:x,themeStyle:I}){let{alignment:y="left",textureOpacity:k,textureOn:v,textureColor:C,quietVideo:S,phoneUpDown:h,phoneSideways:b}=H2(W2),O=t==="video",E=O?Er(r):void 0,T=O?Er(n):Er(r)??Er(n),P=typeof a=="number"?a/100:1;return N2("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":E?"video":"still",children:[Wa(cC,{videoSrc:E,posterSrc:T,showVideo:O,playbackRate:P,objectPosition:s,objectPositionPhone:O?void 0:i,quiet:S}),d>0&&Wa("div",{className:"absolute inset-0 z-[2]",style:{background:f,opacity:Math.min(Math.max(d,0),100)/100}}),hC(v)&&Wa("div",{className:"absolute inset-0 z-[2]",style:{background:gC(C),...k!==void 0?{opacity:k/100}:null}}),Wa("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:{...Ip,...xC(h,b)},children:p&&Wa(p,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var yC=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as bC}from"efficient-easel/draw";var z2="ImageBlock",G2=3,gs=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:bC(e),...t}}),U2=e=>({...e?.(ce)??{},direction:"column",[st]:[gs(z2,e),gs(ce,e,{direction:"column",[st]:[gs("Text",e,it()),gs("Text",e)]})]}),Fo={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>yC.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${lt.toLowerCase()}`,seeds:()=>[],addBlocked:tn,notice:Ks},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${lt.toLowerCase()}`,seeds:()=>[],addBlocked:tn,notice:Ks},ProcessSteps:{slot:"boxes",childType:ce,addLabel:`Add ${lt.toLowerCase()}`,seeds:e=>Array.from({length:G2},()=>U2(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function Yte(e){for(let[o,t]of Object.entries(e)){if(o in Fo&&Fo[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);Fo[o]=t}}function Xte(e,o){let t=Fo[e];return t?{slot:t.slot,children:t.seeds(o).map(r=>({type:t.childType,props:{id:bC(t.childType),...r}}))}:null}var CC=()=>({}),wC=new Map;function $2(e){let o=wC.get(e);if(o)return o;let t=new Set,r=Fo[e];if(r)for(let s of r.seeds(CC))for(let i of SC({type:r.childType,props:s}))t.add(i);let a=hs(e);if(a){let s=0;for(let i of SC(a(CC,f=>`${f}-${s+=1}`)))t.add(i)}t.delete(e);let n=[...t].sort();return wC.set(e,n),n}function q2(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Hd(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 d=Qb(f);return!d||!o[d]?!1:t?t.has(f):!0},s=new Map,i=f=>{let d=s.get(f);if(d!==void 0)return d;s.set(f,!1);let p=n(f)&&$2(f).every(i);return s.set(f,p),p};return{sets:o,offers:i}}var j2="block-offer";function Gd(e=vC()){return e.cache(j2,()=>q2(xn(e)))}function kC(e,o=vC()){let t=Gd(o);return t?t.offers(e):!0}function TC(e,o=0){let t=V2(e,o),r=t?Gd():null;return t&&r?K2(t,r):t}function K2(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 V2(e,o){let t=Fo[e];if(t)return{source:"section",slot:t.slot,choices:null,spec:t};let r=eS(e,o);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let a=Ay(e);return a?{source:"footer",slot:Ry,choices:a,spec:null}:null}function PC(e){return Ac(e.type)?[{slot:Lc,label:l(Zg),rung:!0}]:null}import{useSyncExternalStore as Y2}from"react";var Ud=null,$d=new Set;function FC(e){if(Ud!==e){Ud=e;for(let o of $d)o()}}function X2(e){return $d.add(e),()=>{$d.delete(e)}}function Ire(){return Y2(X2,()=>Ud,()=>null)}function EC(e){return Br(e)?.ownerId??null}function OC(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 LC=(e,o,t)=>{if(o!=="block"||e.props?.fromProduct!==!0)return t;let r=e.props.product;return!r?.code||typeof r.name!="string"?t:r.name.trim()||t};var RC="sf-editor-left-view";function AC(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(RC);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function BC(e){if(!(typeof window>"u"))try{window.localStorage.setItem(RC,e)}catch{}}function DC(e,o){return e==="styles"&&!o?"sections":e}function _C(e,o){return e?"sections":o}var NC="Footer",Z2=[se,NC,ae],Fr=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},za=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},MC=e=>Br(e)?.ownerId??"";function HC(e){let o=yr(Fr(e)),t=o.some(r=>r?.type===ae);return o.filter(r=>r?.type===se||r?.type===ae||r?.type===NC&&!t)}function qd(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=za(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(MC(s))||(n.add(s),r(i),a=!0)}}return t}function jd(e,o){let t={},r={};for(let[a,n]of Object.entries(e??{}))(o.has(MC(a))?t:r)[a]=n;return{owned:t,rest:r}}function vre(e,o){if(!o)return e;let t=HC(o);if(!t.length)return e;let r=t.filter(i=>i.type===se),a=t.filter(i=>i.type!==se),n={...e,content:[...r,...Fr(e),...a]},{owned:s}=jd(Mt(o),qd(t,Mt(o)));return Object.keys(s).length&&(n.zones={...Mt(e)??{},...s}),n}function kre(e,o){if(!o)return{page:e,chrome:null};let t=HC(o),r=new Set(t.map(za).filter(S=>!!S)),a=[],n=[];for(let S of Fr(e)){let h=za(S);h&&r.has(h)||gr(S?.type)?n.push(S):a.push(S)}let s=new Map(n.map(S=>[za(S),S])),i=new Set,f=yr(Fr(o)).flatMap(S=>{let h=za(S);if(!h||!r.has(h))return[S];let b=s.get(h);return b?(i.add(b),[b]):[]});for(let S of n)i.has(S)||f.some(h=>h?.type===S.type)||(f=S.type===se?[S,...f]:[...f,S]);f=yr(f);let d=f.length===Fr(o).length&&f.every((S,h)=>S===Fr(o)[h]),p=Mt(e),m=qd(f,p),{owned:x,rest:I}=jd(p,m),y=jd(Mt(o),qd(t,Mt(o))).owned,k={...o,content:d?o.content:[...f]},v=Mt(o);if(v||Object.keys(x).length){let S={};for(let[h,b]of Object.entries(v??{}))h in y?h in x&&(S[h]=x[h]):S[h]=b;for(let[h,b]of Object.entries(x))h in S||(S[h]=b);k.zones=S,v&&Q2(k.zones,v)&&(k.zones=v)}let C={...e,content:a};return p&&(Object.keys(I).length||!Object.keys(y).length?C.zones=I:delete C.zones),{page:C,chrome:k}}function Q2(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 WC(e,o){return t=>e(t)||t!==void 0&&Z2.includes(t)&&o()}var ys=null;function Pre(e){ys=e}function zC(){return!!(ys&&ys.state().lockHolder)}function Ht(){return ys!==null}var J2=new Set(["BookingBox","SubmitBox"]);function eH(e){return typeof e=="string"&&J2.has(e)}var GC=WC(eH,zC);import{copyNode as oH}from"efficient-easel/data";var UC=null;function Rre(e){UC=e}function zo(){return UC}var $C=null;function Kd(e){$C=e}function bs(){return $C}function qC(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=zo(),r=o&&t?t.sectionOf(o):null;if(!t||!r)return null;let a=t.usedOn(r);return a?a.length===1?l("On 1 page"):l("On {count} pages",{count:a.length}):l("On other pages")}var jC={usedOn:e=>{let o=zo(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>bs()?.openPage(e),adopt:(e,o)=>zo()?.adopt(e.props.id,o),nodeOf:e=>zo()?.place(e)??null,detach:e=>{let o=bs()?.config;return o?oH(e,o):e},removed:()=>bs()?.reload()};import{sharedSectionsOf as e5}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as o5,scrollPreviewToTop as Iw}from"efficient-easel/screen/lib/document/preview-dom";import{Fragment as Yd,jsx as Ga,jsxs as FH}from"react/jsx-runtime";import{useMemo as aw,useRef as nw}from"react";import{EaselCanvas as EH,useEaselApi as OH}from"efficient-easel/easel";import{jsx as QC,Fragment as cH,jsxs as dH}from"react/jsx-runtime";import{useEffect as JC,useLayoutEffect as uH}from"react";var KC="var(--es-accent, #2563eb)";var Ss="data-theme",VC="light";function tH(e){return e.getAttribute(Ss)===VC?"light":"dark"}function rH(e,o){return tH(e)===o?!1:(o==="light"?e.setAttribute(Ss,VC):e.removeAttribute(Ss),!0)}function aH(e){return Ds(e).getItem(Fs)}function zre(e,o){Ds(e).setItem(Fs,o)}function nH(e,o,t=new Date().getHours()){return su({mode:o.mode,override:aH(e),switchShown:o.switchShown,hour:t})}function YC(e,o){let t=e.documentElement;if(!t)return()=>{};let r=()=>rH(t,nH(e,o));r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[Ss]}),()=>n.disconnect()}var lH="style";function sH(e,o){let t=xu(o),r=!1;for(let a of mu){let n=t[a]??"";e.style.getPropertyValue(a)!==n&&(n?e.style.setProperty(a,n):e.style.removeProperty(a),r=!0)}return r}function XC(e,o){let t=e.body;if(!t)return()=>{};let r=()=>sH(t,o);r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[lH]}),()=>n.disconnect()}var iH=String.raw`(function (doc) {
|
|
13
|
+
if (doc.__sfFitWords) return;
|
|
14
|
+
var win = doc.defaultView;
|
|
15
|
+
var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
|
|
16
|
+
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1;
|
|
17
|
+
|
|
18
|
+
function measure(el) {
|
|
19
|
+
var widest = 0, current = 0, last = null, split = false, lastBlock = null;
|
|
20
|
+
function blockOf(n) {
|
|
21
|
+
for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
|
|
22
|
+
var d = win.getComputedStyle(p).display;
|
|
23
|
+
if (d.indexOf("inline") !== 0 && d !== "contents") return p;
|
|
24
|
+
}
|
|
25
|
+
return el;
|
|
26
|
+
}
|
|
27
|
+
function close() { if (current > widest) widest = current; current = 0; last = null; }
|
|
28
|
+
var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
|
|
29
|
+
while ((node = walker.nextNode())) {
|
|
30
|
+
if (node.nodeType === 1) {
|
|
31
|
+
if (node.tagName === "BR" || node.tagName === "WBR") close();
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
var block = blockOf(node);
|
|
35
|
+
if (block !== lastBlock) close();
|
|
36
|
+
lastBlock = block;
|
|
37
|
+
var re = /(\S+)|(\s+)/g, m;
|
|
38
|
+
while ((m = re.exec(node.data))) {
|
|
39
|
+
if (m[2]) { close(); continue; }
|
|
40
|
+
range.setStart(node, m.index);
|
|
41
|
+
range.setEnd(node, m.index + m[0].length);
|
|
42
|
+
var rects = range.getClientRects();
|
|
43
|
+
for (var i = 0; i < rects.length; i++) {
|
|
44
|
+
var r = rects[i];
|
|
45
|
+
if (r.width <= 0) continue;
|
|
46
|
+
current += r.width;
|
|
47
|
+
if (last && r.top > last.top + last.height / 2) split = true;
|
|
48
|
+
last = r;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
close();
|
|
53
|
+
return { widest: widest, split: split };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function lineWidth(el) {
|
|
57
|
+
var cs = win.getComputedStyle(el);
|
|
58
|
+
return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
|
|
59
|
+
- parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
|
|
63
|
+
// runs before React hydrates, and React 19 in development reports ANY
|
|
64
|
+
// attribute that differs from what it rendered ("a tree hydrated but some
|
|
65
|
+
// attributes didn't match"): first our inline font-size on the hero (which
|
|
66
|
+
// React owns via --heading-size), then, when that moved to a data-sf-fit
|
|
67
|
+
// attribute, the attribute itself. So the fitted size lives only in this
|
|
68
|
+
// script's own stylesheet, in <head>, addressed to each heading by its
|
|
69
|
+
// POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
|
|
70
|
+
// structure changes, so the rules are rewritten in the MutationObserver
|
|
71
|
+
// callback, which runs before the next paint. !important so the size also
|
|
72
|
+
// beats a part's own inline size.
|
|
73
|
+
var head = doc.head || doc.documentElement;
|
|
74
|
+
var fitEl = doc.createElement("style");
|
|
75
|
+
fitEl.id = "storefront-fit-words-sizes";
|
|
76
|
+
head.appendChild(fitEl);
|
|
77
|
+
var fitted = new Map(); // heading -> fitted size, e.g. "43.8px"
|
|
78
|
+
|
|
79
|
+
function pathOf(el) {
|
|
80
|
+
var parts = [];
|
|
81
|
+
for (var e = el; e && e.parentElement; e = e.parentElement) {
|
|
82
|
+
var i = 1, s = e;
|
|
83
|
+
while ((s = s.previousElementSibling)) i++;
|
|
84
|
+
parts.unshift("*:nth-child(" + i + ")");
|
|
85
|
+
}
|
|
86
|
+
return ":root>" + parts.join(">");
|
|
87
|
+
}
|
|
88
|
+
function writeRules() {
|
|
89
|
+
var css = "";
|
|
90
|
+
fitted.forEach(function (size, el) {
|
|
91
|
+
if (!el.isConnected) { fitted.delete(el); return; }
|
|
92
|
+
css += pathOf(el) + "{font-size:" + size + " !important}";
|
|
93
|
+
});
|
|
94
|
+
if (fitEl.textContent !== css) fitEl.textContent = css;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function unfit(el) {
|
|
98
|
+
if (fitted.delete(el)) writeRules();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function fits(el) {
|
|
102
|
+
var m = measure(el);
|
|
103
|
+
return !m.split && m.widest <= lineWidth(el) + SLACK;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function fit(el) {
|
|
107
|
+
unfit(el);
|
|
108
|
+
if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
|
|
109
|
+
if (fits(el)) return;
|
|
110
|
+
var set = parseFloat(win.getComputedStyle(el).fontSize);
|
|
111
|
+
if (!set) return;
|
|
112
|
+
var floor = Math.max(set * MIN_SCALE, MIN_PX);
|
|
113
|
+
if (floor >= set) return;
|
|
114
|
+
function size(px) { return Math.floor(px * 10) / 10 + "px"; }
|
|
115
|
+
// The SEARCH tries sizes on the element's own style and then puts that
|
|
116
|
+
// attribute back byte for byte (or removes it, if it had none), so nothing
|
|
117
|
+
// is left for React to see. A trial in a stylesheet instead restyles the
|
|
118
|
+
// whole page per step: a full pass on the Hartes home took 75–160ms at 4x
|
|
119
|
+
// CPU that way.
|
|
120
|
+
var hadStyle = el.hasAttribute("style"), origStyle = el.getAttribute("style");
|
|
121
|
+
function attempt(px) { el.style.setProperty("font-size", size(px), "important"); }
|
|
122
|
+
function done() { if (hadStyle) el.setAttribute("style", origStyle); else el.removeAttribute("style"); }
|
|
123
|
+
attempt(floor);
|
|
124
|
+
if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
|
|
125
|
+
var lo = floor, hi = set;
|
|
126
|
+
for (var i = 0; i < 8; i++) {
|
|
127
|
+
var mid = (lo + hi) / 2;
|
|
128
|
+
attempt(mid);
|
|
129
|
+
if (fits(el)) lo = mid; else hi = mid;
|
|
130
|
+
}
|
|
131
|
+
done();
|
|
132
|
+
fitted.set(el, size(lo));
|
|
133
|
+
writeRules();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// What each heading measured right after we last fitted it, so the
|
|
137
|
+
// ResizeObserver below can tell a real change (a font swap, a rotate, a
|
|
138
|
+
// container that moved) from the size change our own write just caused.
|
|
139
|
+
var seen = new WeakMap();
|
|
140
|
+
function remember(el) {
|
|
141
|
+
var b = el.getBoundingClientRect();
|
|
142
|
+
seen.set(el, b.width + "x" + b.height);
|
|
143
|
+
}
|
|
144
|
+
function fitAndRemember(el) { fit(el); remember(el); }
|
|
145
|
+
|
|
146
|
+
// ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
|
|
147
|
+
// WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
|
|
148
|
+
// fitted heading, and fonts.ready resolves only after that frame is painted —
|
|
149
|
+
// measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
|
|
150
|
+
// reported here is fitted in the same frame, so the broken state is never
|
|
151
|
+
// drawn. It also covers a container that resizes.
|
|
152
|
+
var ro = new win.ResizeObserver(function (entries) {
|
|
153
|
+
for (var i = 0; i < entries.length; i++) {
|
|
154
|
+
var el = entries[i].target;
|
|
155
|
+
var b = el.getBoundingClientRect();
|
|
156
|
+
if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
|
|
157
|
+
fitAndRemember(el);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
// Its own set, not seen: fitAndRemember has written seen by the
|
|
161
|
+
// time watch runs, so a seen test observed no heading at all, and a
|
|
162
|
+
// heading fitted in the fallback face was never fitted again when the web
|
|
163
|
+
// font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
|
|
164
|
+
var watched = new WeakSet();
|
|
165
|
+
function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
|
|
166
|
+
|
|
167
|
+
function fitAll() {
|
|
168
|
+
var els = doc.querySelectorAll(SELECTOR);
|
|
169
|
+
for (var i = 0; i < els.length; i++) { fitAndRemember(els[i]); watch(els[i]); }
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
var queued = 0, all = false, touched = new Set();
|
|
173
|
+
function run() {
|
|
174
|
+
queued = 0;
|
|
175
|
+
if (all) { all = false; touched.clear(); fitAll(); return; }
|
|
176
|
+
var els = Array.from(touched);
|
|
177
|
+
touched.clear();
|
|
178
|
+
for (var i = 0; i < els.length; i++) if (els[i].isConnected) { fitAndRemember(els[i]); watch(els[i]); }
|
|
179
|
+
}
|
|
180
|
+
function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
|
|
181
|
+
function scheduleAll() { all = true; schedule(); }
|
|
182
|
+
|
|
183
|
+
fitAll();
|
|
184
|
+
// A backstop only: a font that changes widths without changing any
|
|
185
|
+
// heading's box is not seen by the ResizeObserver.
|
|
186
|
+
if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
|
|
187
|
+
|
|
188
|
+
// …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
|
|
189
|
+
// heading sized to its own text (fit-content, a flex item) keeps the SAME box
|
|
190
|
+
// when the phone turns to 844, so nothing reports a change and it would stay
|
|
191
|
+
// shrunk. The probe's rotate check caught exactly that.
|
|
192
|
+
var lastWidth = win.innerWidth;
|
|
193
|
+
function onResize() {
|
|
194
|
+
if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
|
|
195
|
+
lastWidth = win.innerWidth;
|
|
196
|
+
scheduleAll();
|
|
197
|
+
}
|
|
198
|
+
win.addEventListener("resize", onResize);
|
|
199
|
+
|
|
200
|
+
var mo = new win.MutationObserver(function (records) {
|
|
201
|
+
// Positions first: a node added or removed anywhere can shift the
|
|
202
|
+
// nth-child path of a fitted heading, and this callback runs before paint.
|
|
203
|
+
if (fitted.size) {
|
|
204
|
+
for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
|
|
205
|
+
}
|
|
206
|
+
for (var i = 0; i < records.length; i++) {
|
|
207
|
+
var r = records[i];
|
|
208
|
+
var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
|
|
209
|
+
var own = target && target.closest(SELECTOR);
|
|
210
|
+
if (own) touched.add(own);
|
|
211
|
+
for (var j = 0; j < r.addedNodes.length; j++) {
|
|
212
|
+
var n = r.addedNodes[j];
|
|
213
|
+
if (n.nodeType !== 1) continue;
|
|
214
|
+
if (n.matches(SELECTOR)) touched.add(n);
|
|
215
|
+
var inner = n.querySelectorAll(SELECTOR);
|
|
216
|
+
for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (touched.size) schedule();
|
|
220
|
+
});
|
|
221
|
+
mo.observe(doc.body, { childList: true, subtree: true, characterData: true });
|
|
222
|
+
|
|
223
|
+
doc.__sfFitWords = function stop() {
|
|
224
|
+
win.removeEventListener("resize", onResize);
|
|
225
|
+
ro.disconnect();
|
|
226
|
+
mo.disconnect();
|
|
227
|
+
if (queued) win.cancelAnimationFrame(queued);
|
|
228
|
+
fitted.clear();
|
|
229
|
+
fitEl.remove();
|
|
230
|
+
delete doc.__sfFitWords;
|
|
231
|
+
};
|
|
232
|
+
// For the probe and for debugging: which headings are fitted, at what size,
|
|
233
|
+
// and the sheet that holds it (disable it to read a heading's set size).
|
|
234
|
+
doc.__sfFitWords.fitted = fitted;
|
|
235
|
+
doc.__sfFitWords.sheet = fitEl;
|
|
236
|
+
})(document);`,fH="storefront-fit-words";function ZC(e){let o=e.createElement("script");return o.id=fH,o.textContent=iH,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var pH=`
|
|
237
|
+
[${ro}][${ro}] { cursor: text; }
|
|
238
|
+
[${Be}][${Be}][${Be}] {
|
|
239
|
+
outline: 1px solid ${KC};
|
|
240
|
+
outline-offset: 2px;
|
|
241
|
+
}
|
|
242
|
+
[${Be}][${Be}]:has([${Be}]),
|
|
243
|
+
[data-easel-overlay-portal][data-easel-overlay-portal]:has([${Be}]) {
|
|
244
|
+
outline: none;
|
|
245
|
+
}
|
|
246
|
+
[${Be}][${Be}][${Be}][data-es-typing],
|
|
247
|
+
[data-es-typing] [${Be}][${Be}][${Be}] {
|
|
248
|
+
outline: none;
|
|
249
|
+
}
|
|
250
|
+
[data-easel-overlay-portal][data-easel-overlay-portal][data-es-typing],
|
|
251
|
+
[data-es-typing] [data-easel-overlay-portal][data-easel-overlay-portal] {
|
|
252
|
+
outline: none;
|
|
253
|
+
}
|
|
254
|
+
`;function ew({children:e,document:o}){let{theme:t,themeMode:r,themeSwitchShown:a}=V(),n=He(t);return JC(()=>{if(o)return YC(o,{mode:r,switchShown:a})},[o,r,a]),JC(()=>{if(o)return XC(o,n)},[o,n]),uH(()=>{if(o)return ZC(o)},[o]),dH(cH,{children:[QC(Du,{}),QC("style",{children:pH}),e]})}import{jsx as Vd}from"react/jsx-runtime";import{useEffect as mH,useState as xH}from"react";import{Banner as IH}from"efficient-shell/ui";var Cs={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."},hH={load:"{section} could not load. It stays on the page as it was. Reload to try again.",lock:"{name} is editing {section}. Nothing you change in it here is saved.",conflict:"{section} was changed somewhere else. Nothing you change in it here is saved. Reload to get the latest.",save:"{section} did not save. It is sent again with your next change."},gH=Cs.load,yH=Cs.lock,bH=Cs.conflict,SH=Cs.save;function CH(e){if(!e)return null;if(e.loadFailed)return l(gH);if(e.lockHolder)return l(yH,{name:e.lockHolder.name||l("Somebody else")});if(e.conflict)return l(bH);if(e.saveFailed)return l(SH);let o=e.sections?.[0];if(!o)return null;let t=o.title||l("A shared section"),r=o.holder?.name||l("Somebody else");return l(hH[o.problem],{section:t,name:r})}function wH({report:e}){let o=CH(ms(e)),[t,r]=xH(null);return mH(()=>{o||r(null)},[o]),!o||t===o?null:Vd("aside",{className:"sf-canvas-notice",children:Vd(IH,{tone:"warning",onDismiss:()=>r(o),children:o})})}function ow(){return Vd(wH,{report:xs()})}import{jsx as ws}from"react/jsx-runtime";import{useState as tw}from"react";import{Banner as vH,Button as kH}from"efficient-shell/ui";import{UndoIcon as TH}from"efficient-shell/icons/efficient";import{useScreenDocument as PH}from"efficient-easel/screen/components/ScreenDocumentContext";function rw(){let e=FS(),{adapter:o,flushSave:t,reloadFromServer:r}=PH(),a=o.siteVersions,[n,s]=tw(!1),[i,f]=tw(!1);if(!e)return null;let d=async()=>{if(!(!a||n)){s(!0),f(!1);try{await LS({access:a,flushSave:t,reload:r})}catch{f(!0)}finally{s(!1)}}};return ws("aside",{className:"sf-canvas-notice",children:ws(vH,{tone:i?"danger":"info",title:e.title,onDismiss:Is,action:a&&e.undo?ws(kH,{variant:"secondary",size:"sm",leftIcon:ws(TH,{}),loading:n,disabled:n,onClick:()=>{d()},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 lw}from"efficient-easel/draw/client";import{useSectionOps as LH}from"efficient-easel/screen/lib/document/use-section-ops";function RH({children:e,componentId:o}){let{selectedPartId:t}=lw();return fh(t,o)?Ga(Yd,{}):Ga(Yd,{children:e})}function sw(e){let{mirrorHostStyles:o}=Ms(),t=Nu(),{sectionBackgroundWidth:r,sectionContentWidth:a,themeFromDocument:n}=V(),s=aw(()=>({...e.metadata??t??{},...Ox(n?null:r,n?null:a)}),[e.metadata,t,r,a,n]),i=nw(null),f=AH(i),{onDocument:d}=e,p=m=>{i.current=m,d?.(m)};return FH(Yd,{children:[Ga(rw,{}),Ga(ow,{}),Ga(EH,{...e,onDocument:p,typing:f,metadata:s,height:"fill",mirrorStyles:o,frameWrapper:ew,overlay:RH})]})}function AH(e){let o=OH(),t=LH(),r=lw(),a=nw({ops:t,parts:r});return a.current={ops:t,parts:r},aw(()=>{let n={getItemById:i=>o.getState().getItemById(i),getSelectorForId:i=>o.getState().getSelectorForId(i),get components(){return o.getState().config.components},replace:(i,f,d)=>a.current.ops.replaceComponent(i,f,d)},s=(i,f)=>{let d=ey(i,n);if(!d)return null;let p=f,m=()=>(p=oy(p,p?.ownerDocument??e.current,i),p),x=m();return x?{element:m,value:d.value,rules:d.rules,multiline:d.multiline,write:d.write,toolbar:{offered:d.offered,colors:d.offered.length>0?Gl(cy(x)):void 0}}:null};return{at:i=>{let f=i.closest(`[${ro}]`),d=f?.getAttribute(ro);return f&&d?s(d,f):null},atSelection:()=>{let i=a.current.parts.selectedPartId;return i?s(i,null):null},onChange:i=>{if(!i.typing){Nc(null);return}let f=i.element.closest(`[${ro}]`)?.getAttribute(ro)??null;Nc(f),f&&a.current.parts.selectedPartId!==f&&a.current.parts.select(f)}}},[o,e])}var BH=ku.mediaFields,DH=/video|poster|focal|phone/i;function iw(e){return(BH[e]??[]).find(o=>!o.includes("[]")&&!DH.test(o))??null}var fw={adds:{kind:"block",type:"ImageBlock"},takes:e=>iw(e.type)!==null,replace:(e,o)=>{let t=iw(e.type);return t?{...e.props,[t]:o.url}:{...e.props}},create:(e,o)=>({type:"ImageBlock",props:{...o.nodeDefaults("ImageBlock"),id:o.newNodeId("ImageBlock"),src:e.url}})};var cw={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 _H="Save your page changes first";function dw(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:_H}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var uw="storefront-editor:save-as-template";var NH="plain",pw=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],MH="line",HH={KeyFeatures:"filled"};function Ua(e){return HH[e]??NH}function Dae(e,o){return jo(pw,Ua(o),e)}function _ae(e){return jo(pw,MH,e)}function mw(e,{nodeDefaults:o,newNodeId:t,sectionLabel:r,blockIsOffered:a}){let n=hs(e);return n?n(o,t):oS(e)&&a(ce)&&a(wr)?{type:ce,props:{...o(ce),id:t(ce),direction:"column",name:`${r(e)} section`,content:[{type:wr,props:{...o(wr),id:t(wr),...Po[e]?.headStyle?{headStyle:Po[e].headStyle}:{},...Po[e]?.headRowGap?{rowGap:Po[e].headRowGap}:{},...Po[e]?.headDescriptionSize?{descriptionSize:Po[e].headDescriptionSize}:{},...Ua(e)!==Ua(wr)?{eyebrowLook:Ua(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box"}}]}}:Fo[e]?.fixed===!0?{type:e,props:{...o(e),id:t(e),layout:"boxes"}}:null}import{useEffect as WH,useState as zH}from"react";import{useEaselSession as GH}from"efficient-easel/screen/lib/session-context";function xw(){let e=GH().chrome?.products?.list,[o,t]=zH(null);return WH(()=>{if(!e)return;let r=!1;return e().then(a=>{r||t(a)}),()=>{r=!0}},[e]),o}function vw({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:r}=bg(),a=Cw().tree,n=e,s=n.kind==="ticker"?n.heroId:null,i=qa(f=>{f&&(o({kind:"ticker",heroId:f}),o5(f))},[o]);return Ke(()=>{t(s)},[s,t]),Ke(()=>{r(i)},[r,i]),{partRows:(f,{rowClick:d})=>{let p=String(f.props.id);return f.type==="Hero"&&me(bw,{icon:me(At,{type:"ticker",size:13}),name:l(sa),onSelect:()=>i(p),selected:s===p,rowProps:{onClick:d(()=>i(p))},words:a})}}}function kw({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:r}=Rl(),a=Cw().tree,{appState:n}=Sw(x=>x),s=n.data.content??[],i=UH(s);i.current=s;let f=e,d=fa.find(x=>ca[x]===f.kind),p=d&&"nodeId"in f?da(String(f.nodeId),d):null,m=qa(x=>{let I=Dg(x);if(!I)return;let y=i.current.findIndex(v=>String(v.props.id)===I.nodeId);if(y<0)return;let k={kind:ca[I.part],nodeId:I.nodeId};o({index:y},k)},[o]);return Ke(()=>{t(p)},[p,t]),Ke(()=>{r(m)},[r,m]),{partRows:(x,{rowClick:I})=>{let y=String(x.props.id),k=Bg(x);if(k.length===0)return null;let v=h=>{let b=da(y,h.part);return me(bw,{icon:me(At,{type:h.part==="media"?"heroMedia":"heroImage",size:13}),name:l(h.label),onSelect:()=>m(b),selected:p===b,rowProps:{onClick:I(()=>m(b))},words:a},b)},[C,...S]=k;return $a(yw,{children:[v(C),S.length>0&&me(QH,{children:S.map(v)})]})}}}function Tw(e,o){return{partRows:(t,r)=>$a(yw,{children:[e.partRows?.(t,r),o.partRows?.(t,r)]})}}function t5(e){let{adapter:o,capabilities:t,currentSlug:r,siteId:a,docId:n,hasUnsavedEdits:s,bridgeCapabilities:i,notifyParent:f,token:d}=vs(),{hasPreviewLink:p}=t,m=Se(ww()).preview?.draftLink,x=zS(e.data),I=dw({hasTrustedConsole:!!d,canCreatePlatformTemplate:i.canCreatePlatformTemplate,capabilities:t,siteId:a,hasUnsavedEdits:s}),y=qa(()=>{!a||!r||f(uw,{siteId:a,slug:r})},[f,a,r]),k=hS({pageSlug:r,siteId:a,token:d}),v=o.previewHref?.(r)??k;return{barLead:()=>I.visible&&me(jH,{side:"bottom",content:I.enabled?l("Save this website as a platform template"):l(I.disabledReason),children:me("span",{className:"sf-tip-disabled",tabIndex:I.enabled?void 0:0,children:me(qH,{variant:"secondary",disabled:!I.enabled,onClick:y,rightIcon:me(ZH,{size:15}),children:l("Save as Template")})})}),barView:()=>p&&r&&me(yS,{liveHref:v,pageId:n??null,draftLink:m}),mainAction:x}}function r5(e,o){let{capabilities:t,templateId:r,siteId:a,tokenRef:n,navigate:s}=vs(),{hasSiteTheme:i,explainsSiteSettings:f}=t,d=C=>o.setView(C),[p,m]=$H(dr[0].id),{surface:x,setSurface:I}=yg(),y=()=>{if(i){d("styles"),o.reveal(),Iw();return}e.show(cd),e.reveal(),Iw()},k={id:"pages",label:l("Pages"),icon:me(VH,{}),panel:({onHide:C})=>me(dg,{activeSurface:x,onPreviewSurface:I,onNavigate:S=>{I(null),s(r?{kind:"template",id:r,pageSlug:S}:{kind:"page",slug:S,siteId:a??void 0})},onClose:C})},v=[];return!i&&f&&v.push({id:"appearance",label:l("Appearance"),icon:me(XH,{}),active:e.kind==="website",onSelect:y}),i&&v.push({id:"styles",label:l("Styles"),icon:me(YH,{}),panel:({onHide:C,notify:S})=>me(Fb,{tokenRef:n,siteId:a??void 0,onClose:C,onNotify:S,tab:p,onTabChange:m})}),{railLead:[k],railTrail:v,resolveLeftView:C=>DC(C,i),openSettings:y,openStyles:()=>{m(Uh),d("styles")}}}function a5(){let{navigate:e,siteId:o,reloadFromServer:t,docId:r}=vs(),a=Sw(s=>s.config),n=ww();Ke(()=>(Kd({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:a}),()=>Kd(null)),[e,o,t,a]),Ke(()=>{let s=zo();if(!s||!r)return;let i=!1;return e5(n).list().then(f=>{i||s.learn(f)}).catch(()=>{}),()=>{i=!0}},[r,n])}function n5(e,o,t,r){let{kind:a,open:n}=e,{selected:s,zoneOf:i}=o;Ke(()=>{FC(s?.type==="BookingBox"&&s.props.region==="confirm"?EC(i(String(s.props.id))):null)},[s?.props.id]);let f=Xb(e,o),{capabilities:{hasSiteSettings:d}}=vs();a5();let{setSelected:p,setSelectHandler:m}=V(),{chat:x,setChat:I,setSelected:y,setSelectHandler:k}=Ll(),v=a==="header";Ke(()=>{p(v)},[v,p]),Ke(()=>{m(()=>n(fd))},[m,n]);let C=qa(()=>n(gb),[n]),S=a==="chat";Ke(()=>{y(S)},[S,y]),Ke(()=>{k(C)},[k,C]);let{setOpenHandler:h}=la(),b=qa(()=>n(yb),[n]);Ke(()=>{h(b)},[h,b]);let O=Tw(vw(e),kw(e)),E=t5(o),T=r5(e,r),P=t.device;return{...O,...E,...T,hasOwnRows:B=>B.type===cs,ownRows:f.renderLocationTree,sectionPressed:f.sectionPressed,wrap:B=>me(Hs.Provider,{value:!0,children:$a(JH.Provider,{value:P,children:[B,me(YS,{})]})}),addPanelRow:B=>d?$a("div",{className:"sf-addside-sitewide",children:[me("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:me(At,{type:"chat",size:16})}),$a("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{B(),C()},children:[l("Live chat"),me("span",{className:"sf-addside-sitewide-desc",children:l("A chat bubble on every page")})]}),me(KH,{checked:x.enabled,onChange:H=>I({enabled:H}),ariaLabel:l("Show the chat bubble on the whole site")})]}):void 0}}var hw=null,Xd=new WeakMap;function l5(e){let o=Au();if(!e||!o)return e;hw!==o&&(hw=o,Xd=new WeakMap);let t=Xd.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},Xd.set(e,t)),t}var s5={isLockedBlock:(e,o)=>GC(e)||!!(o&&zo()?.heldElsewhere(o.props.id)),duplicateBlocked:Zl,nestDepth:(e,o,t)=>o===rn?op(e,t):0,newSectionNode:mw,canAddTo:(e,o)=>l5(TC(e,o)),blockIsOffered:kC,slotsOf:PC},i5=new Proxy(cw,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?l(t):t}}),f5={labelAtLevel:(e,o,t)=>l(wd(e,o,t)),descriptions:i5,categoryLabel:e=>{let o=XS(e);return o===void 0?void 0:l(o)},firstSection:ZS,blockRowName:OC,rowName:LC,plainText:gt,Icon:At,Thumbnail:Pb,useProducts:xw},c5={desktop:2e3,tablet:800,mobile:390},gw="desktop",d5={options:xg,initial:gw,fluid:gw,widths:c5},u5={read:AC,write:e=>BC(e),forSelection:(e,o)=>_C(e,o)},p5={first:De,last:le,firstGroup:se,lastGroup:ae,isSectionGroup:gr,sectionGroupZone:By,panelOf:e=>e===De?fd:null,get sharedReach(){return Ht()?x5:void 0},get shared(){return zo()?jC:void 0},get groupTab(){return Ht()?Hy:void 0},get groupBadge(){return Ht()?Vc({type:ae})??void 0:void 0},get changeNotice(){return Ht()?Wy():void 0},get band(){return Ht()?m5:void 0},get groupAccepts(){return Ht()?Ny:void 0}},m5={foldable:!0},x5=e=>Vc(e)??qC(e);function I5(e){return{...Tw(vw(e),kw(e)),openSettings:()=>e.show(cd)}}function h5(e,o){fS(e,o),uS()}var rle={useOwnerName:ur,useDocumentLabel:Yh,useBridges:n5,useStandaloneBridges:I5,useDocumentPass:h5,blockRules:s5,blockLook:f5,devices:d5,leftView:u5,pinned:p5,Canvas:sw,canvasDrag:{media:fw},Inspector:Sb};export{UJ as a,$J as b,qJ as c,jJ as d,lt as e,Hd as f,Qoe as g,Se as h,xn as i,Jb as j,JJ as k,fte as l,oC as m,xte as n,sC as o,Ite as p,iC as q,cC as r,pC as s,mC as t,Fte as u,Ete as v,Ote as w,Lte as x,D2 as y,Ip as z,W2 as A,zte as B,$o as C,on as D,uv as E,x3 as F,pt as G,I3 as H,h3 as I,rn as J,op as K,Yte as L,Xte as M,q2 as N,Zu as O,iv as P,s3 as Q,en as R,Qu as S,fv as T,cv as U,dv as V,c3 as W,d3 as X,u3 as Y,p3 as Z,nc as _,dA as $,uA as aa,pA as ba,Bl as ca,Dl as da,Mj as ea,se as fa,ae as ga,sZ as ha,Dy as ia,Xl as ja,jo as ka,Po as la,aee as ma,nee as na,lee as oa,see as pa,kf as qa,y4 as ra,b4 as sa,Kt as ta,S4 as ua,C4 as va,vk as wa,kk as xa,gt as ya,Mr as za,il as Aa,fl as Ba,ro as Ca,Wq as Da,zq as Ea,Gq as Fa,Be as Ga,Uq as Ha,aO as Ia,nO as Ja,$q as Ka,lr as La,qq as Ma,jq as Na,fO as Oa,ul as Pa,sr as Qa,Ch as Ra,xl as Sa,Jq as Ta,Hf as Ua,pl as Va,e8 as Wa,o8 as Xa,t8 as Ya,r8 as Za,a8 as _a,jO as $a,n8 as ab,l8 as bb,s8 as cb,i8 as db,ha as eb,dy as fb,uy as gb,py as hb,R5 as ib,_5 as jb,N5 as kb,M5 as lb,pe as mb,SP as nb,Ui as ob,CP as pb,TG as qb,eo as rb,FG as sb,EG as tb,vP as ub,OG as vb,wx as wb,vx as xb,FP as yb,EP as zb,BG as Ab,_G as Bb,NG as Cb,MG as Db,HG as Eb,or as Fb,Bo as Gb,Ki as Hb,Fx as Ib,BP as Jb,Vi as Kb,Bn as Lb,GG as Mb,Kk as Nb,p6 as Ob,an as Pb,mt as Qb,Dr as Rb,ip as Sb,k3 as Tb,Xs as Ub,T3 as Vb,ln as Wb,gp as Xb,V3 as Yb,Y3 as Zb,Kv as _b,X3 as $b,J3 as ac,bp as bc,e4 as cc,Yv as dc,o4 as ec,j0 as fc,kn as gc,Kz as hc,Ai as ic,Vz as jc,J0 as kc,Yz as lc,Zz as mc,Qz as nc,iG as oc,fG as pc,cG as qc,Um as rc,Gz as sc,Uz as tc,$z as uc,qz as vc,aP as wc,Pn as xc,eG as yc,Qm as zc,g5 as Ac,X as Bc,l as Cc,$e as Dc,cy as Ec,DY as Fc,iy as Gc,nm as Hc,gn as Ic,lm as Jc,aW as Kc,$T as Lc,kW as Mc,pm as Nc,o3 as Oc,n3 as Pc,Zs as Qc,zv as Rc,$3 as Sc,a4 as Tc,di as Uc,ui as Vc,l6 as Wc,s6 as Xc,Up as Yc,i6 as Zc,f6 as _c,c6 as $c,Yp as ad,Zp as bd,RW as cd,xm as dd,we as ed,gm as fd,zW as gd,o0 as hd,GW as id,UW as jd,bm as kd,jW as ld,t0 as md,KW as nd,VW as od,a0 as pd,ZW as qd,n0 as rd,QW as sd,wm as td,vm as ud,km as vd,Tm as wd,Pm as xd,Fm as yd,Zt as zd,tz as Ad,rz as Bd,az as Cd,nz as Dd,Cn as Ed,lz as Fd,Fi as Gd,mz as Hd,Rm as Id,m0 as Jd,Iz as Kd,Ei as Ld,Sz as Md,Oi as Nd,D0 as Od,Wz as Pd,tG as Qd,rG as Rd,aG as Sd,nG as Td,lG as Ud,cx as Vd,hP as Wd,uG as Xd,ix as Yd,fx as Zd,pG as _d,En as $d,On as ae,xG as be,er as ce,Rn as de,gG as ee,yG as fe,bG as ge,yx as he,CG as ie,Jo as je,No as ke,nf as le,wo as me,a$ as ne,n$ as oe,l$ as pe,s$ as qe,d$ as re,u$ as se,oE as te,p$ as ue,m$ as ve,x$ as we,I$ as xe,h$ as ye,g$ as ze,y$ as Ae,ve as Be,b$ as Ce,nE as De,S$ as Ee,C$ as Fe,w$ as Ge,v$ as He,Hn as Ie,rr as Je,k$ as Ke,bI as Le,Gn as Me,Un as Ne,T$ as Oe,P$ as Pe,F$ as Qe,E$ as Re,O$ as Se,L$ as Te,R$ as Ue,A$ as Ve,B$ as We,D$ as Xe,_$ as Ye,N$ as Ze,$n as _e,M$ as $e,qn as af,jn as bf,df as cf,Kn as df,H$ as ef,Tt as ff,W$ as gf,z$ as hf,G$ as if,U$ as jf,$$ as kf,q$ as lf,j$ as mf,K$ as nf,Qo as of,V$ as pf,Y$ as qf,Vn as rf,X$ as sf,uf as tf,Z$ as uf,Q$ as vf,pf as wf,J$ as xf,PI as yf,FI as zf,EI as Af,e7 as Bf,KE as Cf,o7 as Df,t7 as Ef,N_ as Ff,Zy as Gf,We as Hf,va as If,W_ as Jf,tb as Kf,$Z as Lf,qZ as Mf,jZ as Nf,KZ as Of,VZ as Pf,YZ as Qf,XZ as Rf,ZZ as Sf,QZ as Tf,JZ as Uf,eQ as Vf,ia as Wf,ZR as Xf,kj as Yf,Tj as Zf,Pj as _f,rA as $f,nA as ag,wg as bg,fA as cg,Rj as dg,Aj as eg,kg as fg,Bj as gg,Pg as hg,Tg as ig,qj as jg,El as kg,ug as lg,pg as mg,Ol as ng,tj as og,rj as pg,Ll as qg,UR as rg,pj as sg,la as tg,hj as ug,yg as vg,boe as wg,Soe as xg,Coe as yg,woe as zg,vre as Ag,kre as Bg,Rre as Cg,Pre as Dg,bj as Eg,bg as Fg,wj as Gg,Rl as Hg,SJ as Ig,Eb as Jg,Ob as Kg,E5 as Lg,Ph as Mg,I8 as Ng,h8 as Og,g8 as Pg,y8 as Qg,Xf as Rg,Zf as Sg,Og as Tg,Kj as Ug,Lg as Vg,IA as Wg,lc as Xg,Zj as Yg,Qj as Zg,hA as _g,Jj as $g,da as ah,Dg as bh,eK as ch,_g as dh,RV as eh,Ug as fh,Vg as gh,Lc as hh,jB as ih,QV as jh,JV as kh,eY as lh,VB as mh,oY as nh,tY as oh,gy as ph,jY as qh,wD as rh,vD as sh,ba as th,kD as uh,TD as vh,JY as wh,wy as xh,le as yh,Yl as zh,no as Ah,Bb as Bh,Db as Ch,kJ as Dh,Ea as Eh,_b as Fh,Nb as Gh,FJ as Hh,EJ as Ih,pee as Jh,mee as Kh,xee as Lh,pS as Mh,Rd as Nh,mS as Oh,TC as Ph,Ire as Qh,KC as Rh,Ss as Sh,tH as Th,rH as Uh,zre as Vh,C5 as Wh,T5 as Xh,NH as Yh,pw as Zh,MH as _h,Ua as $h,Dae as ai,_ae as bi,rle as ci};
|