{"version":3,"file":"59ccaad0.js","sources":["../../../src/editions/2022-06/components/Stickers/EnterDevModeSticker/EnterDevModeSticker.tsx","../../../src/editions/2022-06/components/HighlightList/HighlightList.tsx","../../../src/editions/2022-06/components/PrimaryProduct/PrimaryProduct.client.tsx"],"sourcesContent":["import {useCallback, useRef, useState} from 'react';\nimport classNames from 'classnames';\n\nimport {useMediaQuery} from '@/utils/hooks/useMediaQuery';\n\nimport {useTray} from '../../TrayProvider/useTray';\nimport useIntersectionObserver from '../../../utils/hooks/useIntersectionObserver';\nimport useEditionsUrl from '../../../utils/hooks/useEditionsUrl';\n\nexport interface EnterDevModeStickerProps {\n productId?: string;\n enterText?: string;\n secondary?: boolean;\n tray?: {\n heading?: string;\n content?: string;\n };\n}\n\nconst EnterDevModeSticker = ({\n productId,\n enterText,\n secondary,\n tray,\n}: EnterDevModeStickerProps) => {\n const {isTrayOpen, setIsTrayOpen, setTrayContent, setProductId} = useTray();\n const [isVisible, setIsVisible] = useState(false);\n const devStickerRef = useRef(null);\n const isMobile = useMediaQuery('(max-width: 479px)');\n const {otherModeUrl} = useEditionsUrl();\n\n const observerCallBack = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry: IntersectionObserverEntry) => {\n setIsVisible(entry.isIntersecting);\n });\n },\n [setIsVisible],\n );\n\n useIntersectionObserver(devStickerRef, observerCallBack);\n\n const handleDevStickerClick = useCallback(() => {\n setTrayContent({\n heading: tray?.heading,\n content: tray?.content,\n });\n setIsTrayOpen(true);\n setProductId(productId || '');\n }, [setIsTrayOpen, setTrayContent, tray, setProductId, productId]);\n\n if (!enterText) return null;\n\n if (isMobile) {\n return {enterText};\n }\n\n if (secondary) {\n return (\n {\n handleDevStickerClick();\n }}\n type=\"button\"\n >\n {enterText}\n \n );\n }\n\n return (\n {\n handleDevStickerClick();\n }}\n ref={devStickerRef}\n type=\"button\"\n >\n \n \n \n \n \n \n );\n};\n\nexport default EnterDevModeSticker;\n","/* eslint-disable react/no-array-index-key */\nimport cn from 'classnames';\n\nimport {HighlightListItem} from '../types';\nimport Icon from '../Icon';\nimport SvgExternalLink from '../Icon/ExternalLink';\nimport {useDevMode} from '../DevModeProvider/useDevMode';\n\ninterface HighlightListProps {\n listItems: HighlightListItem[];\n highlightTwoColumns?: boolean;\n plusExclusive?: boolean;\n plusExclusiveText?: string;\n productId: string;\n}\n\nexport default function HighlightList({\n listItems,\n highlightTwoColumns = false,\n plusExclusive = false,\n plusExclusiveText,\n}: HighlightListProps) {\n const {isDevMode} = useDevMode();\n\n return (\n \n {highlightTwoColumns && (\n
\n
    \n {listItems\n .slice(0, listItems.length / 2 + (listItems.length % 2))\n .map((item, index) => {\n return ;\n })}\n
\n
    \n {listItems\n .slice(\n listItems.length / 2 + (listItems.length % 2),\n listItems.length,\n )\n .map((item, index) => {\n return ;\n })}\n
\n
\n )}\n {!highlightTwoColumns && (\n
    \n {listItems.map((item, index) => {\n return ;\n })}\n {!isDevMode && plusExclusive && (\n
  • \n
    \n
    \n \n
    \n

    \n {plusExclusiveText}\n

    \n
    \n
  • \n )}\n
\n )}\n \n );\n}\n\nfunction HighlightListItemComponent({\n content,\n iconName,\n url = '',\n}: HighlightListItem) {\n return url ? (\n \n \n {iconName && (\n
\n \n
\n )}\n

\n {content}\n \n

\n
\n \n ) : (\n
  • \n {iconName && (\n
    \n \n
    \n )}\n

    {content}

    \n
  • \n );\n}\n","import {forwardRef} from 'react';\nimport {useUrl} from '@shopify/hydrogen';\n\nimport ProductBox from '@/editions/2022-06/components/ProductBox';\nimport {useViewability} from '@/utils/hooks/useViewability';\n\nimport SignUpButton from '../SignUpButton';\nimport HighlightList from '../HighlightList/HighlightList';\nimport Link from '../Link';\nimport SocialShare from '../SocialShare/SocialShare';\nimport {ProductProps} from '../types';\nimport EnterDevModeSticker from '../Stickers/EnterDevModeSticker/EnterDevModeSticker';\nimport Icon from '../Icon';\n\nconst PrimaryProduct = forwardRef((props, ref) => {\n const {\n id,\n heading,\n highlights,\n subheading,\n body,\n featureComponent,\n isCollapsed,\n devModeSticker,\n plusExclusive = false,\n plusExclusiveText,\n ctas,\n chapterNumber,\n highlightTwoColumns,\n tray,\n signUpModal,\n devModeSisterProductId,\n sharedData,\n socialShare,\n } = props;\n\n const url = useUrl();\n const shareUrl = url.origin + url.pathname;\n\n const dataComponentName = `product_${id.replace(/-/g, '_')}`;\n const [primaryProductViewableRef] = useViewability();\n\n return (\n \n
    \n

    \n {heading}\n

    \n {heading && (\n \n )}\n {!isCollapsed && subheading && (\n

    {subheading}

    \n )}\n
    \n {!isCollapsed && (\n <>\n \n
    \n
    \n \n

    {subheading}

    \n

    {body}

    \n
    \n {ctas && (\n
    \n {ctas.map((cta) => {\n const ctaComponentName = `cta_${cta.type?.replace(\n /-/g,\n '_',\n )}`;\n switch (cta.type) {\n case 'signup':\n return (\n \n {cta.label}\n \n );\n default:\n return (\n \n {cta.label}\n \n );\n }\n })}\n
    \n )}\n
    \n
    \n {body && subheading && (\n <>\n

    \n {subheading}\n

    \n

    {body}

    \n \n )}\n\n

    \n \n

    \n\n {highlights && (\n \n )}\n
    \n
    \n
    \n \n
    \n {featureComponent && featureComponent}\n
    \n \n {ctas && (\n
    \n {ctas.map((cta) => {\n const ctaComponentName = `cta_${cta.type?.replace(/-/g, '_')}`;\n switch (cta.type) {\n case 'signup':\n return (\n \n {cta.label}\n \n );\n default:\n return (\n \n {cta.label} \n \n );\n }\n })}\n
    \n )}\n \n )}\n \n );\n});\n\nPrimaryProduct.displayName = 'PrimaryProduct';\nexport default PrimaryProduct;\n"],"names":["EnterDevModeSticker","productId","enterText","secondary","tray","isTrayOpen","setIsTrayOpen","setTrayContent","setProductId","useTray","isVisible","setIsVisible","useState","devStickerRef","useRef","isMobile","useMediaQuery","otherModeUrl","useEditionsUrl","observerCallBack","useCallback","entries","forEach","entry","isIntersecting","useIntersectionObserver","handleDevStickerClick","heading","content","classNames","_jsx","listItems","highlightTwoColumns","plusExclusive","plusExclusiveText","isDevMode","useDevMode","cn","_jsxs","slice","length","map","item","index","iconName","url","PrimaryProduct","forwardRef","props","ref","id","highlights","subheading","body","featureComponent","isCollapsed","devModeSticker","ctas","chapterNumber","signUpModal","devModeSisterProductId","sharedData","socialShare","useUrl","shareUrl","origin","pathname","dataComponentName","replace","primaryProductViewableRef","useViewability","customDescription","_Fragment","cta","ctaComponentName","type","modalOverride","label","ariaLabel","href","displayName"],"mappings":"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"}