@fayz-ai/storefront 0.79.1 → 0.80.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.
@@ -1 +1 @@
1
- {"version":3,"file":"serving.d.ts","sourceRoot":"","sources":["../../src/app/serving.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAcpF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,OAAO,EAAE,MAAM,GACd,oBAAoB,CAqCtB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAET;AAkBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAgBT;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAAA;IACnD,QAAQ,EAAE,YAAY,CAAA;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAapB"}
1
+ {"version":3,"file":"serving.d.ts","sourceRoot":"","sources":["../../src/app/serving.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAcpF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,OAAO,EAAE,MAAM,GACd,oBAAoB,CAqCtB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAET;AAeD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAgBT;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAAA;IACnD,QAAQ,EAAE,YAAY,CAAA;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBpB"}
@@ -4543,6 +4543,106 @@ function productSeo(product, ctx) {
4543
4543
  function pageSeo(ctx, input) {
4544
4544
  return { ...input, canonical: absolute(ctx), type: "website" };
4545
4545
  }
4546
+ function menuSections(products, categories) {
4547
+ const byCategory = /* @__PURE__ */ new Map();
4548
+ const loose = [];
4549
+ for (const p of products) {
4550
+ const key = p.categoryId ?? p.categoryName ?? "";
4551
+ if (!key) {
4552
+ loose.push(p);
4553
+ continue;
4554
+ }
4555
+ byCategory.set(key, [...byCategory.get(key) ?? [], p]);
4556
+ }
4557
+ const sections = categories.map((c) => ({ name: c.name, description: c.description, products: byCategory.get(c.id) ?? byCategory.get(c.name) ?? [] })).filter((s2) => s2.products.length > 0);
4558
+ if (loose.length) sections.push({ name: "Outros", description: null, products: loose });
4559
+ if (!sections.length && products.length) return [{ name: "Card\xE1pio", description: null, products }];
4560
+ return sections;
4561
+ }
4562
+ function menuJsonLd(input, ctx) {
4563
+ const url = absolute(ctx);
4564
+ const home = absolute(ctx, "/");
4565
+ const b = input.business ?? {};
4566
+ const currency = ctx.config.currency;
4567
+ const address = b.address ? {
4568
+ "@type": "PostalAddress",
4569
+ ...b.address.streetAddress ? { streetAddress: b.address.streetAddress } : {},
4570
+ ...b.address.locality ? { addressLocality: b.address.locality } : {},
4571
+ ...b.address.region ? { addressRegion: b.address.region } : {},
4572
+ ...b.address.postalCode ? { postalCode: b.address.postalCode } : {},
4573
+ addressCountry: b.address.country ?? "BR"
4574
+ } : void 0;
4575
+ return {
4576
+ "@context": "https://schema.org",
4577
+ "@type": b.type ?? "Restaurant",
4578
+ ...home ? { "@id": `${home.replace(/\/$/, "")}/#business` } : {},
4579
+ name: ctx.config.name,
4580
+ ...home ? { url: home } : {},
4581
+ ...b.description ? { description: b.description } : {},
4582
+ ...b.image ? { image: [b.image] } : {},
4583
+ ...b.logo ? { logo: b.logo } : {},
4584
+ ...b.telephone ? { telephone: b.telephone } : {},
4585
+ ...b.email ? { email: b.email } : {},
4586
+ ...b.servesCuisine ? { servesCuisine: b.servesCuisine } : {},
4587
+ ...b.priceRange ? { priceRange: b.priceRange } : {},
4588
+ ...address ? { address } : {},
4589
+ ...b.areaServed?.length ? { areaServed: b.areaServed.map((name) => ({ "@type": "Place", name })) } : {},
4590
+ ...b.openingHours?.length ? { openingHours: b.openingHours } : {},
4591
+ ...b.sameAs?.length ? { sameAs: b.sameAs } : {},
4592
+ ...url ? { hasMenu: url } : {},
4593
+ ...url ? {
4594
+ potentialAction: {
4595
+ "@type": "OrderAction",
4596
+ target: { "@type": "EntryPoint", urlTemplate: url, actionPlatform: ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"] },
4597
+ deliveryMethod: "http://purl.org/goodrelations/v1#DeliveryModeOwnFleet"
4598
+ }
4599
+ } : {},
4600
+ menu: {
4601
+ "@type": "Menu",
4602
+ name: `Card\xE1pio \u2014 ${ctx.config.name}`,
4603
+ ...url ? { url } : {},
4604
+ inLanguage: "pt-BR",
4605
+ hasMenuSection: menuSections(input.products, input.categories).map((section) => ({
4606
+ "@type": "MenuSection",
4607
+ name: section.name,
4608
+ ...section.description ? { description: section.description } : {},
4609
+ hasMenuItem: section.products.map((p) => {
4610
+ const image = shareImageUrl(p, ctx);
4611
+ const itemUrl = absolute(ctx, `/product/${p.slug}`);
4612
+ return {
4613
+ "@type": "MenuItem",
4614
+ name: p.name,
4615
+ ...p.description ? { description: p.description.slice(0, 300) } : {},
4616
+ ...image ? { image } : {},
4617
+ ...itemUrl ? { url: itemUrl } : {},
4618
+ offers: {
4619
+ "@type": "Offer",
4620
+ price: p.price,
4621
+ priceCurrency: p.currency ?? currency,
4622
+ availability: (p.inventoryCount ?? 0) > 0 ? "https://schema.org/InStock" : "https://schema.org/OutOfStock"
4623
+ }
4624
+ };
4625
+ })
4626
+ }))
4627
+ }
4628
+ };
4629
+ }
4630
+ function menuSeo(input, ctx) {
4631
+ const url = absolute(ctx);
4632
+ const home = absolute(ctx, "/");
4633
+ const names = input.products.slice(0, 4).map((p) => p.name).join(", ");
4634
+ return {
4635
+ title: input.title ?? `Delivery ${ctx.config.name} \u2014 pe\xE7a online`,
4636
+ description: (input.description ?? (names ? `Pe\xE7a online: ${names} e mais. Card\xE1pio completo com pre\xE7os.` : void 0))?.slice(0, 160),
4637
+ canonical: url,
4638
+ image: input.business?.image,
4639
+ type: "website",
4640
+ jsonLd: [
4641
+ menuJsonLd(input, ctx),
4642
+ ...home && url ? [breadcrumbJsonLd([{ name: ctx.config.name, url: home }, { name: "Delivery", url }])] : []
4643
+ ]
4644
+ };
4645
+ }
4546
4646
  function QuantityInput({ value, onChange, min = 1, max, testId, incTestId, decTestId }) {
4547
4647
  const clamp = (n) => Math.max(min, max != null ? Math.min(n, max) : n);
4548
4648
  return /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center rounded-lg border", children: [
@@ -8548,7 +8648,7 @@ function resolveStorefrontRoute(config, rawPath) {
8548
8648
  function isKnownPath(config, path) {
8549
8649
  return resolveStorefrontRoute(config, path).kind !== "notFound";
8550
8650
  }
8551
- var STATIC_PATTERNS = ["/", "/catalog", "/menu", "/privacy", "/terms", "/refunds"];
8651
+ var STATIC_PATTERNS = ["/", "/catalog", "/privacy", "/terms", "/refunds"];
8552
8652
  function ensureResolved(config) {
8553
8653
  return "features" in config && "pages" in config ? config : resolveConfig(config);
8554
8654
  }
@@ -8568,6 +8668,7 @@ function isPublicPath(config, path) {
8568
8668
  async function storefrontPaths(input) {
8569
8669
  const resolved = ensureResolved(input.config);
8570
8670
  const paths = [...STATIC_PATTERNS];
8671
+ if (resolved.delivery) paths.push(resolved.delivery.menuPath);
8571
8672
  for (const route of resolved.routes ?? []) {
8572
8673
  if (!route.path.includes(":")) paths.push(route.path);
8573
8674
  }
@@ -12305,6 +12406,14 @@ function AccountDrawer({ onClose, onSignIn, onAddresses, onShowHours }) {
12305
12406
  ] })
12306
12407
  ] });
12307
12408
  }
12409
+ var MENU_DATA_NEEDS = {
12410
+ products: { loader: "products.list", params: {} },
12411
+ categories: { loader: "categories.list", params: {} },
12412
+ featured: { loader: "products.featured", params: {} }
12413
+ };
12414
+ function menuDataNeeds() {
12415
+ return Object.values(MENU_DATA_NEEDS).map(({ loader, params }) => ({ key: dataNeedKey(loader, params), loader, params }));
12416
+ }
12308
12417
  function MenuPage() {
12309
12418
  const config = useStorefrontConfig();
12310
12419
  const addItem = useCartStore((s2) => s2.addItem);
@@ -12346,9 +12455,9 @@ function MenuPage() {
12346
12455
  }
12347
12456
  run();
12348
12457
  }
12349
- const products = useLoader("products.list", {});
12350
- const categories = useLoader("categories.list", {});
12351
- const featured = useLoader("products.featured", {});
12458
+ const products = useLoader(MENU_DATA_NEEDS.products.loader, MENU_DATA_NEEDS.products.params);
12459
+ const categories = useLoader(MENU_DATA_NEEDS.categories.loader, MENU_DATA_NEEDS.categories.params);
12460
+ const featured = useLoader(MENU_DATA_NEEDS.featured.loader, MENU_DATA_NEEDS.featured.params);
12352
12461
  const featuredPending = featured.status === "loading" || featured.status === "idle";
12353
12462
  const loading = products.status === "loading" || products.status === "idle";
12354
12463
  const items = products.data ?? [];
@@ -15159,6 +15268,6 @@ ${formatErrors(report.errors)}`;
15159
15268
  return config;
15160
15269
  }
15161
15270
 
15162
- export { AddressForm, AddressSheet, AddressStrip, BEFORE_PLACE_ORDER_VALVE, BLOCK_STRUCTURAL_KEYS, BUYER_COUNTRY_COOKIE, BenefitsRow, BlockDataError, CART_LINE_ANNOTATION_POINT, CATALOG_BODY_BLOCK, CHECKOUT_FIELD_POINT, CartDrawer, CatalogPage, CategoryShowcase, CheckoutPage, ClosedStoreDialog, CollectionCta, CollectionHero, ContentPage, CountdownBand, CountrySelect, DeliverToPicker, EmailConfirmationRequiredError, EntityListBlock, FaqSection, FiltersPanel, FormBlock, HeroSection, ImageTiles, ItemSheet, Link, MESSAGES, ManifestoBlock, MediaCarousel, MenuItemRow, MenuPage, MenuToolbar, MotifStrip, MyPurchasesPage, NewsletterBand, ORDER_METADATA_POINT, OrderConfirmationPage, OrderTrackingTimeline, PAGE_DATA_SCRIPT_ID, PLACEHOLDER_ASPECTS, PRODUCT_BODY_BLOCK, PRODUCT_CARD_BADGE_POINT, PageDataScope, PaymentTerms, Price, ProductCard, ProductDetailPage, ProductEnquiryForm, ProductGallery, ProductGrid, ProductOptionSelector, ProductRail, ProductReviews, ProductSlider, ProductSpecs, ProductSpotlight, PromoBanner, QuantityInput, Reveal, STOREFRONT_COMPONENT_KEYS, STOREFRONT_PAGE_KINDS, STOREFRONT_SLOTS, STORE_BACKEND_PROVIDERS, STORE_COMMERCE_MODES, STORE_DOCUMENT_KIND, STORE_PAYMENT_METHOD_KINDS, STORE_PAYMENT_MODES, STORE_ROUTE_CHROMES, STORE_ROUTE_KINDS, STORE_SECTIONS, STORE_SECTION_NAMES, ScheduleSheet, SealsBand, SearchOverlay, ServiceHoursModal, Slot, SmoothImage, StepsSection, StoreCover, StorefrontAnalytics, StorefrontConfigHost, StorefrontConfigProvider, StorefrontFooter, StorefrontHeader, StorefrontPage, StorefrontRouterProvider, StorefrontShell, StorefrontThemeStyle, StoryQuote, THEME_SCALE_FIELDS, THEME_SCALE_VAR_PREFIX, TID, Testimonials, TierCards, applyDeliveryPolicy, applyStoreSettings, bannerPlaceholder, blockInstanceId, buildEnquiryFromForm, checkPageBlocks, collectDataNeeds, collectOrderMetadata, contentPagePath, createStorefront, createStorefrontApp, currentStaticRenderPass, defaultPageBlocks, entityListBlockMeta, establishCustomerSession, exportStore, formatMoney, formatProductOptionSelection, getCartLineAnnotations, getCheckoutFieldContributions, getCustomerAuthAdapter, getProductCardBadges, getProductOptionGroups, hydrateStoreDocument, hydratedEntriesFor, identifyStorefrontBuyer, initStorefrontRuntime, isJsonValue, isKnownPath, isNestedBlockRef, isPublicPath, isRecord, listSlots, marketForCountry, marketUnitPrice, matchContentPage, matchPath, matchesFacets, mergeCollectionFacet, mergePageTheme, navigateTo, nextMilestone, normalizeLanguage, normalizeProductOptionSelection, onStorefrontEvent, orderGalleryImages, overrideComponent, overrideProps, pageSeo, pageThemeSelector, pickProductCardImage, placeStorefrontOrder, prefersReducedMotion, primaryImageUrl, productCardComponentContract, productJsonLd, productOptionSelectionKey, productPlaceholder, productSeo, readHydratedPageData, registerStorefrontBlocks, registerStorefrontEntities, registerStorefrontExtensionPoints, registerStorefrontLoaders, resetPageDiagnostics, resetProductOptionsDeprecationWarnings, resetStorefrontExtensionPoints, resolveAuthAdapter, resolveConfig, resolveDataParams, resolveOverride, resolvePageData, resolvePageDataNeed, resolvePaymentTerms, resolveStorefrontProvider, resolveStorefrontRoute, resolveVariantForSelection, roundCents, routePathParams, runBeforePlaceOrderValve, sectionToJsonSchema, sectionsToBlocks, selectCount, selectDiscountTotal, selectIsOpen, selectRequiresShipping, selectShipping, selectShowsHours, selectSubtotal, selectTotal, selectionPrice, serializePageData, shellRouterAdapter, signInByEmail, signOutCustomer, signUpCustomer, slugifyStoreName, startStorefrontPostHog, storeBuyerId, storefrontComponentContracts, storefrontPaths, themeToCss, toBlockNodes, toFacetMap, trackStorefront, translate, useBlockData, useBuyerCountry, useBuyerStore, useCartStore, useCatalogStore, useCategories, useDeliveryStore, useDiscountValidator, useEnquiry, useHashPath, useInView, useLoader, useMarketProduct, useMarketStore, useMyOrders, useNavigate, usePopOnChange, useProduct, useProducts, useRoutePath, useRouterAdapter, useScrollToTopOnNavigate, useScrolled, useServiceStore, useSessionStore, useSlotContext, useStorefrontActions, useStorefrontConfig, useStorefrontConfigOptional, useStorefrontHead, useStorefrontPage, useStorefrontPageOptional, useT, usedSlots, validateStore, withFacet, withMarketPrice, withStaticRenderPass };
15163
- //# sourceMappingURL=chunk-6H5VD6OB.js.map
15164
- //# sourceMappingURL=chunk-6H5VD6OB.js.map
15271
+ export { AddressForm, AddressSheet, AddressStrip, BEFORE_PLACE_ORDER_VALVE, BLOCK_STRUCTURAL_KEYS, BUYER_COUNTRY_COOKIE, BenefitsRow, BlockDataError, CART_LINE_ANNOTATION_POINT, CATALOG_BODY_BLOCK, CHECKOUT_FIELD_POINT, CartDrawer, CatalogPage, CategoryShowcase, CheckoutPage, ClosedStoreDialog, CollectionCta, CollectionHero, ContentPage, CountdownBand, CountrySelect, DeliverToPicker, EmailConfirmationRequiredError, EntityListBlock, FaqSection, FiltersPanel, FormBlock, HeroSection, ImageTiles, ItemSheet, Link, MESSAGES, ManifestoBlock, MediaCarousel, MenuItemRow, MenuPage, MenuToolbar, MotifStrip, MyPurchasesPage, NewsletterBand, ORDER_METADATA_POINT, OrderConfirmationPage, OrderTrackingTimeline, PAGE_DATA_SCRIPT_ID, PLACEHOLDER_ASPECTS, PRODUCT_BODY_BLOCK, PRODUCT_CARD_BADGE_POINT, PageDataScope, PaymentTerms, Price, ProductCard, ProductDetailPage, ProductEnquiryForm, ProductGallery, ProductGrid, ProductOptionSelector, ProductRail, ProductReviews, ProductSlider, ProductSpecs, ProductSpotlight, PromoBanner, QuantityInput, Reveal, STOREFRONT_COMPONENT_KEYS, STOREFRONT_PAGE_KINDS, STOREFRONT_SLOTS, STORE_BACKEND_PROVIDERS, STORE_COMMERCE_MODES, STORE_DOCUMENT_KIND, STORE_PAYMENT_METHOD_KINDS, STORE_PAYMENT_MODES, STORE_ROUTE_CHROMES, STORE_ROUTE_KINDS, STORE_SECTIONS, STORE_SECTION_NAMES, ScheduleSheet, SealsBand, SearchOverlay, ServiceHoursModal, Slot, SmoothImage, StepsSection, StoreCover, StorefrontAnalytics, StorefrontConfigHost, StorefrontConfigProvider, StorefrontFooter, StorefrontHeader, StorefrontPage, StorefrontRouterProvider, StorefrontShell, StorefrontThemeStyle, StoryQuote, THEME_SCALE_FIELDS, THEME_SCALE_VAR_PREFIX, TID, Testimonials, TierCards, applyDeliveryPolicy, applyStoreSettings, bannerPlaceholder, blockInstanceId, buildEnquiryFromForm, checkPageBlocks, collectDataNeeds, collectOrderMetadata, contentPagePath, createStorefront, createStorefrontApp, currentStaticRenderPass, defaultPageBlocks, entityListBlockMeta, establishCustomerSession, exportStore, formatMoney, formatProductOptionSelection, getCartLineAnnotations, getCheckoutFieldContributions, getCustomerAuthAdapter, getProductCardBadges, getProductOptionGroups, hydrateStoreDocument, hydratedEntriesFor, identifyStorefrontBuyer, initStorefrontRuntime, isJsonValue, isKnownPath, isNestedBlockRef, isPublicPath, isRecord, listSlots, marketForCountry, marketUnitPrice, matchContentPage, matchPath, matchesFacets, menuDataNeeds, menuJsonLd, menuSeo, mergeCollectionFacet, mergePageTheme, navigateTo, nextMilestone, normalizeLanguage, normalizeProductOptionSelection, onStorefrontEvent, orderGalleryImages, overrideComponent, overrideProps, pageSeo, pageThemeSelector, pickProductCardImage, placeStorefrontOrder, prefersReducedMotion, primaryImageUrl, productCardComponentContract, productJsonLd, productOptionSelectionKey, productPlaceholder, productSeo, readHydratedPageData, registerStorefrontBlocks, registerStorefrontEntities, registerStorefrontExtensionPoints, registerStorefrontLoaders, resetPageDiagnostics, resetProductOptionsDeprecationWarnings, resetStorefrontExtensionPoints, resolveAuthAdapter, resolveConfig, resolveDataParams, resolveOverride, resolvePageData, resolvePageDataNeed, resolvePaymentTerms, resolveStorefrontProvider, resolveStorefrontRoute, resolveVariantForSelection, roundCents, routePathParams, runBeforePlaceOrderValve, sectionToJsonSchema, sectionsToBlocks, selectCount, selectDiscountTotal, selectIsOpen, selectRequiresShipping, selectShipping, selectShowsHours, selectSubtotal, selectTotal, selectionPrice, serializePageData, shellRouterAdapter, signInByEmail, signOutCustomer, signUpCustomer, slugifyStoreName, startStorefrontPostHog, storeBuyerId, storefrontComponentContracts, storefrontPaths, themeToCss, toBlockNodes, toFacetMap, trackStorefront, translate, useBlockData, useBuyerCountry, useBuyerStore, useCartStore, useCatalogStore, useCategories, useDeliveryStore, useDiscountValidator, useEnquiry, useHashPath, useInView, useLoader, useMarketProduct, useMarketStore, useMyOrders, useNavigate, usePopOnChange, useProduct, useProducts, useRoutePath, useRouterAdapter, useScrollToTopOnNavigate, useScrolled, useServiceStore, useSessionStore, useSlotContext, useStorefrontActions, useStorefrontConfig, useStorefrontConfigOptional, useStorefrontHead, useStorefrontPage, useStorefrontPageOptional, useT, usedSlots, validateStore, withFacet, withMarketPrice, withStaticRenderPass };
15272
+ //# sourceMappingURL=chunk-V7CGLOEN.js.map
15273
+ //# sourceMappingURL=chunk-V7CGLOEN.js.map