{"version":3,"file":"95b1d88d.js","sources":["../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/TitleSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/DescriptionSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/TwitterSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/DefaultPageSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/HomePageSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/ImageSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/ProductSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/CollectionSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/PageSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/NoIndexSeo.client.js","../../../node_modules/@shopify/hydrogen/dist/esnext/components/Seo/Seo.client.js"],"sourcesContent":["import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nexport function TitleSeo({ title }) {\n if (!title) {\n return null;\n }\n return (React.createElement(Head, null,\n React.createElement(\"title\", null, title),\n React.createElement(\"meta\", { property: \"og:title\", content: title })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nexport function DescriptionSeo({ description, }) {\n if (!description) {\n return null;\n }\n return (React.createElement(Head, null,\n React.createElement(\"meta\", { name: \"description\", content: description }),\n React.createElement(\"meta\", { property: \"og:description\", content: description })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nexport function TwitterSeo({ site, title, description }) {\n return (React.createElement(Head, null,\n React.createElement(\"meta\", { name: \"twitter:card\", content: \"summary_large_image\" }),\n site && React.createElement(\"meta\", { name: \"twitter:site\", content: site }),\n title && React.createElement(\"meta\", { name: \"twitter:title\", content: title }),\n description && React.createElement(\"meta\", { name: \"twitter:description\", content: description })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nimport { useLocalization } from '../../hooks/useLocalization/useLocalization.js';\nimport { TitleSeo } from './TitleSeo.client.js';\nimport { DescriptionSeo } from './DescriptionSeo.client.js';\nimport { TwitterSeo } from './TwitterSeo.client.js';\nexport function DefaultPageSeo({ title, description, url, titleTemplate, lang, }) {\n const { language: { isoCode: fallBacklang }, } = useLocalization();\n return (React.createElement(React.Fragment, null,\n React.createElement(Head, { defaultTitle: title ?? '', titleTemplate: titleTemplate ?? `%s - ${title}` },\n React.createElement(\"html\", { lang: lang ?? fallBacklang }),\n React.createElement(\"meta\", { property: \"og:type\", content: \"website\" }),\n React.createElement(\"meta\", { property: \"og:site_name\", content: title ?? '' }),\n React.createElement(\"meta\", { property: \"og:url\", content: url })),\n React.createElement(TitleSeo, { title: title }),\n React.createElement(DescriptionSeo, { description: description }),\n React.createElement(TwitterSeo, { title: title, description: description })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nimport { TitleSeo } from './TitleSeo.client.js';\nimport { DescriptionSeo } from './DescriptionSeo.client.js';\nexport function HomePageSeo({ title, description, url, titleTemplate, }) {\n const organizationSchema = {\n '@context': 'http://schema.org',\n '@type': 'Organization',\n name: title,\n url,\n };\n const webSiteSchema = {\n '@context': 'http://schema.org',\n '@type': 'WebSite',\n name: title,\n url,\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(Head, { defaultTitle: title ?? '', titleTemplate: titleTemplate ?? `%s` },\n React.createElement(\"meta\", { property: \"og:url\", content: url }),\n React.createElement(\"script\", { type: \"application/ld+json\" }, JSON.stringify(organizationSchema)),\n React.createElement(\"script\", { type: \"application/ld+json\" }, JSON.stringify(webSiteSchema))),\n React.createElement(TitleSeo, { title: title }),\n description && React.createElement(DescriptionSeo, { description: description })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nexport function ImageSeo({ url, width, height, altText }) {\n return (React.createElement(Head, null,\n url && React.createElement(\"meta\", { property: \"og:image\", content: url }),\n url && React.createElement(\"meta\", { property: \"og:image:secure_url\", content: url }),\n width && React.createElement(\"meta\", { property: \"og:image:width\", content: `${width}` }),\n height && React.createElement(\"meta\", { property: \"og:image:height\", content: `${height}` }),\n altText && React.createElement(\"meta\", { property: \"og:image:alt\", content: altText })));\n}\n","import React from 'react';\nimport { Head } from '../../foundation/Head/index.js';\nimport { TitleSeo } from './TitleSeo.client.js';\nimport { DescriptionSeo } from './DescriptionSeo.client.js';\nimport { TwitterSeo } from './TwitterSeo.client.js';\nimport { ImageSeo } from './ImageSeo.client.js';\nimport { flattenConnection } from '../../utilities/flattenConnection/index.js';\nexport function ProductSeo({ url, title, description, seo, vendor, featuredImage, variants, }) {\n const seoTitle = seo?.title ?? title;\n const seoDescription = seo?.description ?? description;\n let firstVariantPrice;\n const productSchema = {\n '@context': 'http://schema.org/',\n '@type': 'Product',\n name: title,\n description,\n brand: {\n '@type': 'Thing',\n name: vendor,\n },\n url,\n };\n if (featuredImage) {\n productSchema.image = featuredImage.url;\n }\n const flattenedVariants = flattenConnection(variants ?? {});\n if (flattenedVariants.length) {\n const firstVariant = flattenedVariants[0];\n firstVariantPrice = firstVariant?.priceV2;\n if (firstVariant && firstVariant.sku) {\n productSchema.sku = firstVariant.sku;\n }\n productSchema.offers = flattenedVariants.map((node) => {\n if (!node || !node.priceV2?.amount || !node.priceV2.currencyCode) {\n throw new Error(` requires variant.PriceV2 'amount' and 'currency`);\n }\n const offerSchema = {\n '@type': 'Offer',\n availability: `https://schema.org/${node.availableForSale ? 'InStock' : 'OutOfStock'}`,\n price: node.priceV2.amount,\n priceCurrency: node.priceV2.currencyCode,\n };\n if (node.sku) {\n offerSchema.sku = node.sku;\n }\n if (node.image && node.image.url) {\n offerSchema.image = node.image.url;\n }\n return offerSchema;\n });\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(Head, null,\n React.createElement(\"meta\", { property: \"og:type\", content: \"og:product\" }),\n firstVariantPrice && (React.createElement(\"meta\", { property: \"og:price:amount\", content: `${firstVariantPrice.amount}` })),\n firstVariantPrice && (React.createElement(\"meta\", { property: \"og:price:currency\", content: firstVariantPrice.currencyCode })),\n React.createElement(\"script\", { type: \"application/ld+json\" }, JSON.stringify(productSchema))),\n React.createElement(TitleSeo, { title: seoTitle }),\n React.createElement(DescriptionSeo, { description: seoDescription }),\n React.createElement(TwitterSeo, { title: seoTitle, description: seoDescription }),\n featuredImage && React.createElement(ImageSeo, { ...featuredImage })));\n}\n","import React from 'react';\nimport { TitleSeo } from './TitleSeo.client.js';\nimport { DescriptionSeo } from './DescriptionSeo.client.js';\nimport { TwitterSeo } from './TwitterSeo.client.js';\nimport { ImageSeo } from './ImageSeo.client.js';\nexport function CollectionSeo({ title, description, seo, image, }) {\n const seoTitle = seo?.title ?? title;\n const seoDescription = seo?.description ?? description;\n return (React.createElement(React.Fragment, null,\n React.createElement(TitleSeo, { title: seoTitle }),\n React.createElement(DescriptionSeo, { description: seoDescription }),\n React.createElement(TwitterSeo, { title: seoTitle, description: seoDescription }),\n image && React.createElement(ImageSeo, { ...image })));\n}\n","import React from 'react';\nimport { TitleSeo } from './TitleSeo.client.js';\nimport { DescriptionSeo } from './DescriptionSeo.client.js';\nimport { TwitterSeo } from './TwitterSeo.client.js';\nexport function PageSeo({ title, seo }) {\n const seoTitle = seo?.title ?? title;\n const seoDescription = seo?.description;\n return (React.createElement(React.Fragment, null,\n React.createElement(TitleSeo, { title: seoTitle }),\n React.createElement(DescriptionSeo, { description: seoDescription }),\n React.createElement(TwitterSeo, { title: seoTitle, description: seoDescription })));\n}\n","import React from 'react';\nimport { useLocalization } from '../../hooks/useLocalization/useLocalization.js';\nimport { Head } from '../../foundation/Head/Head.client.js';\nexport function NoIndexPageSeo({ title, titleTemplate, lang, }) {\n const { language: { isoCode: fallBacklang }, } = useLocalization();\n return (React.createElement(React.Fragment, null,\n React.createElement(Head, { defaultTitle: title ?? '', titleTemplate: titleTemplate ?? `%s - ${title}` },\n React.createElement(\"html\", { lang: lang ?? fallBacklang }),\n React.createElement(\"meta\", { name: \"robots\", content: \"noindex\" }))));\n}\n","import React from 'react';\nimport { useUrl } from '../../foundation/useUrl/index.js';\nimport { DefaultPageSeo } from './DefaultPageSeo.client.js';\nimport { HomePageSeo } from './HomePageSeo.client.js';\nimport { ProductSeo } from './ProductSeo.client.js';\nimport { CollectionSeo } from './CollectionSeo.client.js';\nimport { PageSeo } from './PageSeo.client.js';\nimport { NoIndexPageSeo } from './NoIndexSeo.client.js';\n/**\n * The `Seo` component renders SEO information on a webpage.\n */\nexport function Seo(props) {\n const url = useUrl().href;\n switch (props.type) {\n case 'defaultSeo':\n return React.createElement(DefaultPageSeo, { ...{ url, ...props.data } });\n case 'homepage':\n return React.createElement(HomePageSeo, { ...{ url, ...props.data } });\n case 'product':\n return React.createElement(ProductSeo, { ...{ url, ...props.data } });\n case 'collection':\n return React.createElement(CollectionSeo, { ...props.data });\n case 'page':\n return React.createElement(PageSeo, { ...props.data });\n case 'noindex':\n return React.createElement(NoIndexPageSeo, { ...props.data });\n default:\n console.warn('The only accepts type prop with values of defaultSeo, homepage, product, collection, or page.');\n return null;\n }\n}\n"],"names":["TitleSeo","title","React","Head","DescriptionSeo","description","TwitterSeo","site","DefaultPageSeo","url","titleTemplate","lang","fallBacklang","useLocalization","HomePageSeo","organizationSchema","webSiteSchema","ImageSeo","width","height","altText","ProductSeo","seo","vendor","featuredImage","variants","seoTitle","_a","seoDescription","_b","firstVariantPrice","productSchema","flattenedVariants","flattenConnection","firstVariant","node","offerSchema","CollectionSeo","image","PageSeo","NoIndexPageSeo","Seo","props","useUrl"],"mappings":"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"}