{"version":3,"file":"0311321a.js","sources":["../../../src/components/base/icon/ReturnIcon.tsx","../../../src/components/base/icon/ShippingIcon.tsx","../../../src/components/views/product/product-details/ProductDetails.client.tsx"],"sourcesContent":["import React from 'react';\n/**\n * A shared component that specifies the icon to render when opened\n */\nexport function ReturnIcon(props: any): JSX.Element {\n return (\n \n );\n}\n","import React from 'react';\n/**\n * A shared component that specifies the icon to render when opened\n */\nexport function ShippingIcon(props: any): JSX.Element {\n return (\n \n );\n}\n","import {useState, useEffect} from 'react';\nimport clsx from 'clsx';\nimport {useSanityProduct} from 'Js/hooks/useSanityProduct/useSanityProduct';\nimport RichText from '@base/rich-text/RichText';\nimport ProductSocialIcons from '../product-social-icons/ProductSocialIcons.client';\nimport {getTagValue} from 'Js/lib/get-tag-value';\n\nimport styles from './ProductDetails.module.scss';\nimport {\n ChevronIcon,\n ReturnIcon,\n ShippingIcon,\n SupportIconLight,\n SupportIconMid,\n SupportIconStrong,\n SupportIconUltraLight,\n SupportIconUltraStrong,\n} from '@base/icon/index';\nimport {useLocalization} from '@shopify/hydrogen';\nimport {changeLocale} from 'Js/util/dy-utils';\n\nexport interface ReturnPolicy {\n _key: string;\n _type: string;\n locales: Locales;\n returnContent: string;\n returnType: string;\n}\n\nexport interface Locales {\n _type: string;\n countries: Countries;\n}\n\nexport interface Countries {\n list: {\n enabled: boolean;\n isoCode: string;\n name: string;\n }[];\n}\n\nexport interface ShippingPolicy {\n _key: string;\n _type: string;\n locales: Locales;\n shippingContent: string;\n shippingType: string;\n}\n\nexport interface Locales {\n _type: string;\n countries: Countries;\n}\n\nexport interface Countries {\n list: {\n enabled: boolean;\n isoCode: string;\n name: string;\n }[];\n}\n\nfunction ProductDescription(): JSX.Element {\n const {activeProduct} = useSanityProduct() || {};\n\n return (\n
\n );\n}\n\nfunction ShippingAndReturns(): JSX.Element {\n const {activeProduct, productSettings} = useSanityProduct();\n const {\n shippingPolicies = [],\n returnPolicies = [],\n }: {shippingPolicies: ShippingPolicy[]; returnPolicies: ReturnPolicy[]} =\n productSettings || {};\n\n const tags = activeProduct?.tags;\n\n // changeLocale();\n const localization = useLocalization();\n\n function getShippingContent() {\n const sPolicies = shippingPolicies?.map((sp) => ({\n ...sp,\n enabledLocales: sp?.locales?.countries?.list\n ?.map((country) => (country?.enabled ? country?.isoCode : undefined))\n ?.filter((e) => e !== undefined) as string[],\n }));\n let sPolicy = sPolicies?.[0]; // First return shiping as fallback for the worst scenario\n\n // Find the Standard Shipping policy and then the best matching Locale\n\n let sPoliciesStandardShipping = sPolicies?.filter(\n (sp) => sp.shippingType === 'standard-shipping',\n );\n\n sPoliciesStandardShipping = sPoliciesStandardShipping?.filter(\n (sp) =>\n sp.enabledLocales?.includes('US') ||\n sp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n\n if (sPoliciesStandardShipping.length > 0)\n sPolicy = sPoliciesStandardShipping[0];\n\n sPoliciesStandardShipping = sPoliciesStandardShipping?.filter((sp) =>\n sp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (sPoliciesStandardShipping?.length > 0)\n sPolicy = sPoliciesStandardShipping[0];\n\n // We refine the search here:\n // - Now we try to find the proper Shipping Policy and after that the best matching Locale\n // for that given Shipping Policy.\n // - Worst case here: we don't find anything and we keep using the Standard Shipping policy\n // that we found above.\n\n let sPoliciesNonStandardShipping = sPolicies?.filter(\n (sp) => sp.shippingType !== 'standard-shipping',\n );\n\n sPoliciesNonStandardShipping = sPoliciesNonStandardShipping?.filter((sp) =>\n tags?.includes(sp.shippingType),\n );\n\n sPoliciesNonStandardShipping = sPoliciesNonStandardShipping?.filter(\n (sp) =>\n sp.enabledLocales?.includes('US') ||\n sp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (sPoliciesNonStandardShipping?.length > 0)\n sPolicy = sPoliciesNonStandardShipping[0];\n\n sPoliciesNonStandardShipping = sPoliciesNonStandardShipping?.filter((sp) =>\n sp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (sPoliciesNonStandardShipping.length > 0)\n sPolicy = sPoliciesNonStandardShipping[0];\n\n const html = sPolicy?.shippingContent || '';\n return html;\n }\n\n function getReturnsContent() {\n const rPolicies = returnPolicies?.map((rp) => ({\n ...rp,\n enabledLocales: rp?.locales?.countries?.list\n ?.map((country) => (country?.enabled ? country?.isoCode : undefined))\n ?.filter((e) => e !== undefined) as string[],\n }));\n let rPolicy = rPolicies?.[0]; // First return policy as fallback for the worst scenario\n let html = rPolicy?.returnContent || '';\n\n // Find the Standard Returns policy and then the best matching Locale\n\n let rPoliciesStandardReturns = rPolicies?.filter(\n (rp) => rp.returnType === 'standard-returns',\n );\n\n rPoliciesStandardReturns = rPoliciesStandardReturns?.filter(\n (rp) =>\n rp.enabledLocales?.includes('US') ||\n rp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n\n if (rPoliciesStandardReturns.length > 0)\n rPolicy = rPoliciesStandardReturns[0];\n\n rPoliciesStandardReturns = rPoliciesStandardReturns?.filter((rp) =>\n rp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (rPoliciesStandardReturns.length > 0)\n rPolicy = rPoliciesStandardReturns[0];\n\n // We refine the search here:\n // - Now we try to find the proper Returns Policy and after that the best matching Locale\n // for that given Returns Policy.\n // - Worst case here: we don't find anything and we keep using the Standard Returns policy\n // that we found above.\n\n let rPoliciesNonStandardReturns = rPolicies?.filter(\n (rp) => rp.returnType !== 'standard-returns',\n );\n\n rPoliciesNonStandardReturns = rPoliciesNonStandardReturns?.filter((rp) =>\n tags?.includes(rp.returnType),\n );\n\n rPoliciesNonStandardReturns = rPoliciesNonStandardReturns?.filter(\n (rp) =>\n rp.enabledLocales?.includes('US') ||\n rp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (rPoliciesNonStandardReturns.length > 0)\n rPolicy = rPoliciesNonStandardReturns[0];\n\n rPoliciesNonStandardReturns = rPoliciesNonStandardReturns?.filter((rp) =>\n rp.enabledLocales?.includes(localization?.country?.isoCode),\n );\n if (rPoliciesNonStandardReturns.length > 0)\n rPolicy = rPoliciesNonStandardReturns[0];\n\n html = rPolicy?.returnContent || '';\n return html;\n }\n\n return (\n{detail.fitHeader}
\n )}\n{supportLevelText}
\n )) ||\n (supportTag &&{supportTag}
)}\n