{"version":3,"file":"1950-1b69b192dcd04a60a96b.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/Bullets/Bullets.tsx","webpack://nikon-client/./components/atoms/LoadMoreButton/LoadMoreButton.tsx","webpack://nikon-client/./components/atoms/LoadingSpinner/LoadingSpinner.tsx","webpack://nikon-client/./components/atoms/Tag/Tag.tsx","webpack://nikon-client/./components/molecules/ArticleCard/ArticleCard.tsx","webpack://nikon-client/./components/molecules/KitCard/KitCard.tsx","webpack://nikon-client/./components/molecules/KitDropdown/KitDropdown.tsx","webpack://nikon-client/./components/molecules/SearchBar/SearchBar.tsx","webpack://nikon-client/./components/molecules/SearchSummaryResults/SearchSummaryProductsRow.tsx","webpack://nikon-client/./components/molecules/SearchSummaryResults/SearchSummaryRow.tsx","webpack://nikon-client/./components/molecules/SearchSummaryResults/SearchSummaryResults.tsx","webpack://nikon-client/./models/enums/ArticleLayoutsEnum.ts","webpack://nikon-client/./models/enums/IconSizeEnum.ts","webpack://nikon-client/./models/enums/TagTypesEnum.ts","webpack://nikon-client/./state-management/AriaLabelsStore.ts","webpack://nikon-client/./utility/helpers/chunkArray.ts","webpack://nikon-client/./utility/hooks/useAriaLabels.ts","webpack://nikon-client/./utility/hooks/useResizeObserver.ts","webpack://nikon-client/./utility/hooks/useSearchSummaryResults.ts"],"sourcesContent":["import classNames from 'classnames';\n\ninterface Props {\n readonly bullets: (string | undefined)[];\n readonly textSize?: string;\n readonly textColour?: string;\n readonly className?: string;\n readonly bulletClasses?: string;\n readonly noWrap?: boolean;\n readonly dataTestId?: string;\n}\n\nconst Bullets = ({\n bullets,\n textSize = 'body-three',\n textColour = 'text-black-100 dark:text-white',\n className,\n bulletClasses,\n noWrap = true,\n dataTestId,\n}: Props) => {\n const filteredBullets = bullets.filter(Boolean);\n if (!filteredBullets.length) return null;\n\n return (\n \n {filteredBullets.map((bullet, index) => (\n \n {index !== 0 && (\n \n )}\n {bullet}\n \n ))}\n \n );\n};\n\nexport default Bullets;\n","import Icon from '@atoms/Icon/Icon';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\nimport { ButtonHTMLAttributes, DetailedHTMLProps } from 'react';\n\ninterface Props\n extends DetailedHTMLProps<\n ButtonHTMLAttributes,\n HTMLButtonElement\n > {\n readonly open?: boolean;\n readonly loadMoreLabel: string;\n readonly loadLessLabel?: string;\n readonly _type?: 'BASIC' | 'YELLOW-HIGHLIGHT';\n readonly isLightMode?: boolean;\n readonly dataTestId?: string;\n}\n\nconst LoadMoreButton = ({\n open = false,\n loadMoreLabel,\n loadLessLabel,\n _type = 'BASIC',\n isLightMode,\n dataTestId,\n ...props\n}: Props) => (\n \n {(!open || loadLessLabel) && (\n

{open ? loadLessLabel : loadMoreLabel}

\n )}\n\n \n \n \n \n);\n\nexport default LoadMoreButton;\n","import classNames from 'classnames';\n\ninterface Props {\n readonly extraClasses?: string;\n readonly svgClasses?: string;\n readonly trackColor?: string;\n readonly animationStyle?: 'pulse' | 'spin';\n readonly pulseContainerClasses?: string;\n readonly pulseItemClasses?: string;\n}\n\nconst LoadingSpinner = ({\n extraClasses,\n svgClasses = 'text-yellow h-9 w-9',\n pulseContainerClasses,\n pulseItemClasses = 'bg-yellow h-7.5 w-7.5',\n trackColor = '#E5E7EB',\n animationStyle = 'pulse',\n}: Props) => (\n
\n {animationStyle === 'pulse' && (\n
\n \n \n \n
\n )}\n {animationStyle === 'spin' && (\n \n \n \n \n )}\n
\n);\n\nexport default LoadingSpinner;\n","import SizeEnum from '@models/enums/SizeEnum';\nimport TagTypesEnum from '@models/enums/TagTypesEnum';\nimport { ILink } from '@models/ILink';\nimport classNames from 'classnames';\nimport {\n ButtonHTMLAttributes,\n DetailedHTMLProps,\n PropsWithChildren,\n} from 'react';\n\ninterface Props {\n readonly className?: string;\n readonly disabled?: boolean;\n readonly editHint?: string;\n readonly link?: ILink;\n readonly linkCallback?: () => void;\n readonly pointerStates?: boolean;\n readonly size?: Exclude;\n readonly tagType?: TagTypesEnum;\n readonly text?: string;\n readonly span?: boolean;\n readonly isLightMode?: boolean;\n readonly dataTestId?: string;\n}\n\ntype TagProps = Props &\n DetailedHTMLProps, HTMLButtonElement>;\n\nconst Tag = ({\n children,\n className,\n disabled = false,\n editHint,\n link,\n linkCallback,\n pointerStates = true,\n size = SizeEnum.Small,\n span = false,\n tagType,\n text,\n isLightMode,\n dataTestId,\n ...buttonProps\n}: PropsWithChildren) => {\n const tagClasses = classNames(\n {\n [`text-black-100 bg-grey-200 ${\n isLightMode ? '' : 'dark:bg-grey-600 dark:text-white'\n }`]: tagType === TagTypesEnum.Primary,\n //\n [`hover:bg-grey active:text-white active:bg-black-100 ${\n isLightMode\n ? ''\n : 'dark:hover:text-white dark:hover:bg-grey-500 dark:active:text-black-100 dark:active:bg-white'\n }`]: tagType === TagTypesEnum.Primary && pointerStates,\n //\n [`text-white bg-black-100 ${\n isLightMode ? '' : 'dark:bg-white dark:text-black-100'\n }`]:\n tagType === TagTypesEnum.Secondary || tagType === TagTypesEnum.Square,\n //\n [`hover:bg-grey hover:text-black-100 active:text-black-100 active:bg-grey-200 ${\n isLightMode\n ? ''\n : 'dark:hover:text-white dark:hover:bg-grey-500 dark:active:text-white dark:active:bg-grey-600'\n }`]: tagType === TagTypesEnum.Secondary && pointerStates,\n //\n [`text-black-100 bg-white ${\n isLightMode ? '' : 'dark:bg-black-100 dark:text-white'\n }`]: tagType === TagTypesEnum.Three,\n //\n [`hover:bg-grey active:bg-grey-400 ${\n isLightMode\n ? ''\n : 'dark:hover:text-white dark:hover:bg-grey-500 dark:active:text-black-100 dark:active:bg-white'\n }`]: tagType === TagTypesEnum.Three && pointerStates,\n //\n 'text-yellow bg-black-100': tagType === TagTypesEnum.Four,\n //\n 'hover:bg-grey hover:text-black-100 active:text-black-100 active:bg-grey-100':\n tagType === TagTypesEnum.Four && pointerStates,\n //\n 'py-2.5 px-5': size === SizeEnum.Large && tagType !== TagTypesEnum.Square,\n //\n 'px-4 py-1': size === SizeEnum.Small && tagType !== TagTypesEnum.Square,\n //\n 'pointer-events-none': !pointerStates,\n },\n tagType === TagTypesEnum.Square ? 'rounded-[3px]' : 'rounded-full body-two',\n 'select-none',\n className\n );\n\n if (span) {\n return (\n \n {text}\n \n );\n }\n\n return link?.url && (link?.name || children) && !disabled ? (\n \n {children || link.name}\n \n ) : (\n \n {children || text}\n \n );\n};\n\nexport default Tag;\n","import Bullets from '@atoms/Bullets/Bullets';\nimport Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport ArticleLayoutsEnum from '@models/enums/ArticleLayoutsEnum';\nimport { IArticle } from '@models/IArticle';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\nimport { useState } from 'react';\n\ninterface Props extends IArticle {\n readonly layoutType?: ArticleLayoutsEnum;\n readonly isLightMode?: boolean;\n readonly dataTestId?: string;\n}\n\nconst ArticleCard = ({\n articleInfo,\n image,\n layoutType,\n readTime,\n title,\n url,\n isLightMode,\n dataTestId = 'Article-Card',\n}: Props) => {\n const [isHovered, setIsHovered] = useState(false);\n const { author, publishedDate, genre } = articleInfo ?? {};\n const [firstGenre] = genre ?? [];\n const bulletsArray = [firstGenre, publishedDate, author];\n\n const isBelowXXLScreen = useMediaQuery(1920);\n const isBelowXLScreen = useMediaQuery(1440);\n const isMobile = useMediaQuery(768);\n\n const titleSize =\n (isBelowXXLScreen && !isBelowXLScreen) || isMobile ? 'h6' : 'h5';\n\n const imageSize = () => {\n if (layoutType === ArticleLayoutsEnum.THREE) {\n return '(max-width: 768px) 376px, 500px';\n }\n\n if (\n layoutType === ArticleLayoutsEnum.THREE_TWO_THREE ||\n layoutType === ArticleLayoutsEnum.THREE_TWO_TWO ||\n layoutType === ArticleLayoutsEnum.TWO ||\n layoutType === ArticleLayoutsEnum.TWO_TWO\n ) {\n return '50vw';\n }\n\n return undefined;\n };\n\n return (\n
\n setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n
\n {readTime && (\n \n \n {readTime}\n
\n )}\n {url && (\n \n updateDataLayer({\n event: 'selectContent',\n content_type: 'articles_find_out_more',\n link_text: title,\n })\n }\n data-testid=\"Article-Card-Link\"\n >\n {image && (\n \n )}\n \n )}\n
\n \n
\n {bulletsArray.length > 0 && (\n \n )}\n\n {title && (\n \n {title}\n

\n )}\n
\n \n );\n};\n\nexport default ArticleCard;\n","import Button from '@atoms/Button/Button';\nimport Image from '@atoms/Image/Image';\nimport PriceDisplayText from '@atoms/PriceDisplayText/PriceDisplayText';\nimport { easeInOut } from '@config/animations.config';\nimport { IProductListingStatusLabels } from '@models/IProductListingStatusLabels';\nimport { IProductVariant } from '@models/IProductVariant';\nimport Tags from '@molecules/Tags/Tags';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport mapToNewTrackingData from '@utils/helpers/mapToNewTrackingData';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\nimport { useEffect, useRef, useState } from 'react';\n\ninterface Props extends IProductVariant {\n readonly productListingName?: string;\n readonly statusLabels: IProductListingStatusLabels;\n readonly isLightMode?: boolean;\n}\n\nconst KitCard = ({\n buyNowLink,\n fromPriceLabel,\n kitNewLabel,\n kitOnlyPriceLabel,\n newProductLabel,\n productListingName,\n pricingData,\n savePriceLabel,\n shippingLabel,\n statusLabels,\n thumbnail,\n title,\n trackingData,\n vatLabel,\n isLightMode,\n}: Props) => {\n const [isHovered, setHover] = useState(false);\n const isXLarge = useMediaQuery(1440);\n const [ctaBoxHeight, setCtaBoxHeight] = useState(0);\n const ctaBox = useRef(null);\n const trackingDataJson = JSON.stringify(trackingData ?? '');\n\n useEffect(() => {\n setCtaBoxHeight(ctaBox.current?.clientHeight || 0);\n }, []);\n\n const contVariants = {\n hover: { y: -ctaBoxHeight },\n initial: { y: 0 },\n };\n\n const titleVariants = {\n hover: { y: -49 },\n initial: { y: 0 },\n };\n\n const ctaVariants = {\n hover: { opacity: 1 },\n initial: { opacity: isXLarge ? 1 : 0 },\n };\n\n const imgVariants = {\n hover: { y: -15, scale: 0.9 },\n inActive: { y: 0, scale: 1 },\n };\n\n const handleSelectItemEvent = () => {\n if (!trackingData) return;\n\n updateDataLayer({\n event: 'selectItem',\n ecommerce: {\n currency: trackingData.currency,\n items: [mapToNewTrackingData(trackingData, productListingName)],\n },\n });\n };\n\n return (\n setHover(true)}\n onBlur={() => setHover(false)}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n className={classNames(\n 'pointer-events-auto z-0 h-full w-full gap-5 overflow-hidden rounded-[10px] p-5',\n isLightMode ? 'bg-white text-black-100' : 'bg-black-100 text-white'\n )}\n >\n
\n
\n \n
\n\n \n {thumbnail && (\n {\n if (buyNowLink?.url) handleSelectItemEvent();\n }}\n aria-label={title}\n className=\"flex h-full w-full\"\n >\n \n \n )}\n \n\n \n {title &&

{title}

}\n \n\n
\n \n {pricingData?.formattedCalculatedPrice && (\n \n )}\n\n \n {buyNowLink?.url && buyNowLink.name && (\n \n )}\n \n \n
\n
\n \n );\n};\n\nexport default KitCard;\n","import { IKitDropdownRef } from '@models/IKitDropdownRef';\nimport { IProductListingStatusLabels } from '@models/IProductListingStatusLabels';\nimport { IProductVariant } from '@models/IProductVariant';\nimport KitCard from '@molecules/KitCard/KitCard';\nimport classNames from 'classnames';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\n\ninterface Props {\n readonly kitTitleLabel: string;\n readonly kitsTitleLabel: string;\n readonly productListingName?: string;\n readonly statusLabels: IProductListingStatusLabels;\n readonly variations: IProductVariant[];\n readonly isLightMode?: boolean;\n}\n\nconst KitDropdown = forwardRef(\n (\n {\n kitTitleLabel,\n kitsTitleLabel,\n productListingName,\n statusLabels,\n variations = [],\n isLightMode,\n }: Props,\n ref\n ) => {\n const sectionRef = useRef(null);\n const kits =\n variations?.filter((variation) => variation.type === 'kit') ?? [];\n\n useImperativeHandle(ref, () => ({\n scrollIntoView: () => {\n sectionRef.current?.scrollIntoView({ behavior: 'smooth' });\n },\n }));\n\n return (\n \n
\n {kitsTitleLabel && kitTitleLabel && (\n

\n {`${kits.length} ${\n kits.length > 1 ? kitsTitleLabel : kitTitleLabel\n }`}\n

\n )}\n
\n {!!kits.length &&\n kits.map((kit) => (\n \n \n
\n ))}\n
\n \n \n );\n }\n);\n\nexport default KitDropdown;\n","import Icon from '@atoms/Icon/Icon';\nimport IconSizeEnum from '@models/enums/IconSizeEnum';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport useResizeObserver from '@utils/hooks/useResizeObserver';\nimport {\n ChangeEvent,\n Dispatch,\n FormEvent,\n SetStateAction,\n useCallback,\n} from 'react';\n\ninterface Props {\n readonly listingPage: string;\n readonly overlaySearchIcon: string;\n readonly searchPlaceholder: string;\n readonly searchSubTitle: string;\n readonly setValue: Dispatch>;\n readonly value: string;\n readonly onTypingDone?: () => void;\n}\n\nconst SearchBar = ({\n listingPage,\n overlaySearchIcon,\n searchPlaceholder,\n searchSubTitle,\n setValue,\n value,\n onTypingDone,\n}: Props) => {\n const [defaultUnderlineRef, { width: maxUnderlineWidth }] =\n useResizeObserver();\n const [hiddenSearchRef, { width: currentTextUnderlineWidth }] =\n useResizeObserver();\n const { searchAriaLabel } = useAriaLabels();\n let typingTimer: NodeJS.Timeout;\n\n const searchFieldRef = useCallback((node: HTMLElement | null) => {\n node?.focus();\n }, []);\n\n const onSubmit = async (e: FormEvent) => {\n e.preventDefault();\n\n updateDataLayer({\n event: 'searchBar',\n search_term: value,\n });\n\n const convertedValue = value.replace(/\\+/g, '%2B'); // allows + symbol to be used in search input\n window.location.href = value\n ? `${listingPage}?query=${convertedValue}`\n : `${listingPage}`;\n };\n\n const onChange = (event: ChangeEvent) =>\n setValue(event.target.value);\n\n const onKeyDown = () => clearTimeout(typingTimer);\n\n const onKeyUp = () => {\n const doneTypingInterval = 500;\n clearTimeout(typingTimer);\n typingTimer = setTimeout(() => {\n onTypingDone?.();\n }, doneTypingInterval);\n };\n\n return (\n
\n
\n \n {searchSubTitle}\n

\n\n
\n \n \n\n \n \n \n
\n\n \n \n \n {value}\n \n \n
\n \n );\n};\n\nexport default SearchBar;\n","import { IProduct } from '@models/IProduct';\nimport { IProductListingStatusLabels } from '@models/IProductListingStatusLabels';\nimport KitDropdown from '@molecules/KitDropdown/KitDropdown';\nimport ProductListingCard from '@molecules/ProductListingCard/ProductListingCard';\nimport chunkArray from '@utils/helpers/chunkArray';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useEffect, useState } from 'react';\n\ninterface Props {\n readonly products: IProduct[];\n readonly productsStatusLabels: IProductListingStatusLabels;\n}\n\nconst SearchSummaryProductsRow = ({\n products,\n productsStatusLabels,\n}: Props) => {\n const isMobile = useMediaQuery(1024);\n const [activeProduct, setActiveProduct] = useState(null);\n const [activeProductRowIndex, setActiveProductRowIndex] = useState<\n number | null\n >(null);\n const [activeProductColIndex, setActiveProductColIndex] = useState<\n number | null\n >(null);\n const displayedProducts = chunkArray(products, isMobile ? 1 : 3);\n\n useEffect(() => {\n setActiveProduct(null);\n setActiveProductRowIndex(null);\n setActiveProductColIndex(null);\n }, [isMobile]);\n\n return (\n \n {displayedProducts.map((productsRow, rowIndex) => (\n
product.title).join('-')}>\n
\n {productsRow.map((product, colIndex) => {\n const isActiveProduct =\n activeProductRowIndex === rowIndex &&\n activeProductColIndex === colIndex;\n\n return (\n {\n setActiveProduct(isActiveProduct ? null : product);\n setActiveProductRowIndex(isActiveProduct ? null : rowIndex);\n setActiveProductColIndex(isActiveProduct ? null : colIndex);\n }}\n dataTestId=\"CT-48-Search-Summary-Results-Row-Products\"\n {...product}\n />\n );\n })}\n
\n\n \n {activeProduct && rowIndex === activeProductRowIndex && (\n \n {activeProduct.variations && (\n \n )}\n \n )}\n \n
\n ))}\n \n );\n};\n\nexport default SearchSummaryProductsRow;\n","import Button from '@atoms/Button/Button';\nimport { IArticle } from '@models/IArticle';\nimport { IProduct } from '@models/IProduct';\nimport { IProductListingStatusLabels } from '@models/IProductListingStatusLabels';\nimport { ISearchResult } from '@models/ISearchResult';\nimport { ISearchSummaryRowResult } from '@models/ISearchSummaryRowResult';\nimport ArticleCard from '@molecules/ArticleCard/ArticleCard';\nimport { Fragment } from 'react';\nimport SearchSummaryProductsRow from './SearchSummaryProductsRow';\n\ninterface Props extends ISearchSummaryRowResult {\n readonly value: string;\n readonly productsStatusLabels: IProductListingStatusLabels;\n}\n\nconst SearchSummaryRow = ({\n title,\n viewAllLink,\n pageType,\n results,\n totalCount,\n productsStatusLabels,\n value,\n}: Props) => {\n if (results.length === 0) return null;\n\n const displayedPages =\n pageType === 'page'\n ? (results as ISearchResult[])?.filter(\n (result) => result.title && result.url\n ) ?? []\n : [];\n\n return (\n
\n
\n {`${title} (${totalCount})`}

\n\n {viewAllLink?.url && viewAllLink?.name && (\n
\n \n
\n )}\n
\n\n {pageType === 'product' && (\n \n )}\n\n {pageType === 'article' && (\n \n {(results as IArticle[]).map((result, index) => (\n \n ))}\n
\n )}\n\n {pageType === 'page' && (\n \n {displayedPages.map(\n ({ pageTypeLabel, title: resultTitle, url }, index) => (\n \n \n \n \n {pageTypeLabel}\n \n \n \n\n
\n \n {resultTitle}\n \n
\n\n {index < displayedPages.length - 1 && (\n
\n )}\n \n )\n )}\n
\n )}\n \n );\n};\n\nexport default SearchSummaryRow;\n","import { IProductListingStatusLabels } from '@models/IProductListingStatusLabels';\nimport { ISearchSummaryRowResult } from '@models/ISearchSummaryRowResult';\nimport SearchSummaryRow from './SearchSummaryRow';\n\ninterface Props {\n readonly searchSummaryResults: ISearchSummaryRowResult[];\n readonly searchValue: string;\n readonly productsStatusLabels: IProductListingStatusLabels;\n readonly resultsFoundLabel?: string;\n}\n\nconst SearchSummaryResults = ({\n searchSummaryResults,\n searchValue,\n productsStatusLabels,\n resultsFoundLabel,\n}: Props) => {\n const totalResultsFound = searchSummaryResults\n .map((summaryResult) => summaryResult.totalCount)\n .reduce((partialSum, totalCount) => partialSum + totalCount, 0);\n\n return (\n
\n {resultsFoundLabel && (\n \n {resultsFoundLabel.replace('{0}', `${totalResultsFound}`)}\n

\n )}\n\n \n \n {searchSummaryResults.map((summary) => (\n \n ))}\n
\n \n \n );\n};\n\nexport default SearchSummaryResults;\n","const enum ArticleLayoutsEnum {\n ONE = 'One',\n ONE_TWO = 'OneTwo',\n TWO = 'Two',\n TWO_TWO = 'TwoTwo',\n THREE = 'Three',\n THREE_TWO_THREE = 'ThreeTwoThree',\n THREE_TWO_TWO = 'ThreeTwoTwo',\n}\n\nexport default ArticleLayoutsEnum;\n","const enum IconSizeEnum {\n xs = '.5rem',\n sm = '.75rem',\n md = '1rem',\n lg = '1.5rem',\n xl = '1.75rem',\n}\n\nexport default IconSizeEnum;\n","enum TagTypesEnum {\n Primary = 'PRIMARY',\n Secondary = 'SECONDARY',\n Three = 'THREE',\n Four = 'FOUR',\n Square = 'SQUARE',\n}\n\nexport default TagTypesEnum;\n","import { IAriaLabels } from '@models/IAriaLabels';\nimport create from 'zustand';\n\ninterface IAriaLabelsState {\n ariaLabels: IAriaLabels;\n setAriaLabels: (ariaLabels: IAriaLabels) => void;\n}\n\nexport const initialAriaLabels: IAriaLabels = {\n backToFirstLevelNavigationAriaLabel: 'Back to first level of navigation',\n breadcrumbAriaLabel: 'Breadcrumb navigation',\n breadcrumbFooterAriaLabel: 'Breadcrumb footer navigation',\n clearFiltersAriaLabel: 'Clear filters',\n closeMenuAriaLabel: 'Close menu',\n closeAddressListAriaLabel: 'Close address list',\n closeMobileNavigationAriaLabel: 'Close navigation',\n closeModalAriaLabel: 'Close Modal',\n closeSignUpFormAriaLabel: 'Close signup form',\n closeSiteNotificationAriaLabel: 'Close site notification',\n copyToClipboardAriaLabel: 'Copy to clipboard',\n editOrDeleteAriaLabel: 'Edit or delete',\n mainNavigationAriaLabel: 'Main navigation',\n moreInformationAriaLabel: 'More information',\n nextAriaLabel: 'Go to next slide',\n openAddressListAriaLabel: 'Open address list',\n openImageInFullScreenAriaLabel: 'Open image in full screen',\n openMenuAriaLabel: 'Open menu',\n overlayToCloseDesktopNavigationAriaLabel: 'Close overlay',\n pauseVideoAriaLabel: 'Pause video',\n playVideoAriaLabel: 'Play video',\n previousAriaLabel: 'Go to previous slide',\n searchAriaLabel: 'Search',\n shareToFacebookAriaLabel: 'Share to Facebook',\n shareToWhatsappAriaLabel: 'Share to Whatsapp',\n shareToXAriaLabel: 'Share to X',\n siteNotificationsAriaLabel: 'Site notifications banner',\n uspStripAriaLabel: 'Unique Selling Point Strip',\n zoomInAriaLabel: 'Zoom in',\n zoomOutAriaLabel: 'Zoom out',\n};\n\nconst useAriaLabelsStore = create((set) => ({\n ariaLabels: initialAriaLabels,\n setAriaLabels: (ariaLabels: IAriaLabels) => set({ ariaLabels }),\n}));\n\nexport default useAriaLabelsStore;\n","const chunkArray = (array: T[], chunkSize: number) =>\n array.reduce((acc, item, index) => {\n const chunk = Math.floor(index / chunkSize);\n acc[chunk] = [...(acc[chunk] || []), item];\n\n return acc;\n }, []);\n\nexport default chunkArray;\n","import { IAriaLabels } from '@models/IAriaLabels';\nimport useAriaLabelsStore, { initialAriaLabels } from '@state/AriaLabelsStore';\nimport { useEffect, useState } from 'react';\n\nconst useAriaLabels = () => {\n const [ariaLabels, setAriaLabels] = useState(initialAriaLabels);\n const ariaLabelsFromStore = useAriaLabelsStore((state) => state.ariaLabels);\n\n useEffect(() => {\n setAriaLabels(ariaLabelsFromStore);\n }, [ariaLabelsFromStore]);\n\n return ariaLabels;\n};\n\nexport default useAriaLabels;\n","import { useCallback, useRef, useState } from 'react';\n\nconst useResizeObserver = () => {\n const observerRef = useRef();\n const [resizeParameters, setResizeParameters] = useState({\n width: 0,\n height: 0,\n clientWidth: 0,\n clientHeight: 0,\n scrollWidth: 0,\n scrollHeight: 0,\n });\n\n const handleResize = useCallback((entries: ResizeObserverEntry[]) => {\n if (!Array.isArray(entries)) return;\n\n const entry = entries[0];\n\n setResizeParameters({\n width: entry?.contentRect.width ?? 0,\n height: entry?.contentRect.height ?? 0,\n clientWidth: entry?.target.clientWidth ?? 0,\n clientHeight: entry?.target.clientHeight ?? 0,\n scrollWidth: entry?.target.scrollWidth ?? 0,\n scrollHeight: entry?.target.scrollHeight ?? 0,\n });\n }, []);\n\n const ref = useCallback(\n (node: HTMLElement | null) => {\n if (observerRef.current && !node) {\n observerRef.current.disconnect();\n observerRef.current = undefined;\n }\n\n if (!observerRef.current && node) {\n observerRef.current = new ResizeObserver(handleResize);\n observerRef.current.observe(node);\n }\n },\n [handleResize]\n );\n\n return [ref, resizeParameters] as const;\n};\n\nexport default useResizeObserver;\n","import { IListingResponse } from '@models/IListingResponse';\nimport { ISearchSummaryRow } from '@models/ISearchBlock';\nimport {\n ISearchSummaryResultType,\n ISearchSummaryRowResult,\n} from '@models/ISearchSummaryRowResult';\nimport axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nconst useSearchSummaryResults = (\n searchSummary: ISearchSummaryRow[],\n track?: boolean\n) => {\n const [searchSummaryResults, setSearchSummaryResults] = useState<\n ISearchSummaryRowResult[]\n >([]);\n const [isLoading, setIsLoading] = useState(true);\n\n const fetchSearchSummaryResults = useCallback(\n async (queryValue: string) => {\n const itemsRequests = searchSummary.map(({ endpoint, parameters }) =>\n axios.get(endpoint + parameters, {\n params: {\n query: queryValue,\n track,\n },\n })\n );\n\n const itemsResponses = await Promise.all(itemsRequests);\n const summaryResults = itemsResponses.map((itemsResponse, index) => ({\n title: searchSummary[index]!.title,\n viewAllLink: searchSummary[index]!.viewAllLink,\n pageType: searchSummary[index]!.pageType,\n results: itemsResponse.data.items as ISearchSummaryResultType[],\n totalCount: itemsResponse.data.total,\n }));\n\n setSearchSummaryResults(summaryResults);\n setIsLoading(false);\n },\n [searchSummary, track]\n );\n\n return {\n isLoading,\n searchSummaryResults,\n fetchSearchSummaryResults,\n };\n};\n\nexport default useSearchSummaryResults;\n"],"names":["_ref","bullets","textSize","textColour","className","bulletClasses","noWrap","dataTestId","filteredBullets","filter","Boolean","length","React","createElement","classNames","map","bullet","index","key","open","loadMoreLabel","loadLessLabel","_type","isLightMode","props","_extends","motion","span","animate","rotate","Icon","name","size","colorClassName","extraClasses","svgClasses","pulseContainerClasses","pulseItemClasses","trackColor","animationStyle","role","viewBox","fill","xmlns","d","children","disabled","editHint","link","linkCallback","pointerStates","SizeEnum","Small","tagType","text","buttonProps","tagClasses","TagTypesEnum","Primary","Secondary","Square","Three","Four","Large","url","href","target","onClick","articleInfo","image","layoutType","readTime","title","isHovered","setIsHovered","useState","author","publishedDate","genre","firstGenre","bulletsArray","isBelowXXLScreen","useMediaQuery","isBelowXLScreen","isMobile","titleSize","onMouseEnter","onMouseLeave","rel","updateDataLayer","event","content_type","link_text","Image","imageClasses","sizes","ArticleLayoutsEnum","THREE","THREE_TWO_THREE","THREE_TWO_TWO","TWO","TWO_TWO","Bullets","buyNowLink","fromPriceLabel","kitNewLabel","kitOnlyPriceLabel","newProductLabel","productListingName","pricingData","savePriceLabel","shippingLabel","statusLabels","thumbnail","trackingData","vatLabel","setHover","isXLarge","ctaBoxHeight","setCtaBoxHeight","ctaBox","useRef","trackingDataJson","JSON","stringify","useEffect","current","clientHeight","contVariants","hover","y","initial","ctaVariants","opacity","handleSelectItemEvent","ecommerce","currency","items","mapToNewTrackingData","onFocus","onBlur","Tags","div","variants","scale","inActive","transition","easeInOut","classes","formattedCalculatedPrice","PriceDisplayText","duration","ref","Button","forwardRef","kitTitleLabel","kitsTitleLabel","variations","sectionRef","kits","variation","type","useImperativeHandle","scrollIntoView","behavior","kit","skuCode","KitCard","listingPage","overlaySearchIcon","searchPlaceholder","searchSubTitle","setValue","value","onTypingDone","defaultUnderlineRef","width","maxUnderlineWidth","useResizeObserver","hiddenSearchRef","currentTextUnderlineWidth","searchAriaLabel","useAriaLabels","typingTimer","searchFieldRef","useCallback","node","focus","onKeyUp","clearTimeout","setTimeout","onSubmit","async","e","preventDefault","search_term","convertedValue","replace","window","location","placeholder","onChange","onKeyDown","IconSizeEnum","xl","style","Math","min","maxWidth","products","productsStatusLabels","activeProduct","setActiveProduct","activeProductRowIndex","setActiveProductRowIndex","activeProductColIndex","setActiveProductColIndex","displayedProducts","chunkArray","productsRow","rowIndex","product","join","colIndex","isActiveProduct","ProductListingCard","active","onKitDropdownButtonClick","AnimatePresence","mode","height","exit","KitDropdown","viewAllLink","pageType","results","totalCount","displayedPages","result","SearchSummaryProductsRow","ArticleCard","_ref2","pageTypeLabel","resultTitle","Fragment","searchSummaryResults","searchValue","resultsFoundLabel","totalResultsFound","summaryResult","reduce","partialSum","summary","SearchSummaryRow","initialAriaLabels","backToFirstLevelNavigationAriaLabel","breadcrumbAriaLabel","breadcrumbFooterAriaLabel","clearFiltersAriaLabel","closeMenuAriaLabel","closeAddressListAriaLabel","closeMobileNavigationAriaLabel","closeModalAriaLabel","closeSignUpFormAriaLabel","closeSiteNotificationAriaLabel","copyToClipboardAriaLabel","editOrDeleteAriaLabel","mainNavigationAriaLabel","moreInformationAriaLabel","nextAriaLabel","openAddressListAriaLabel","openImageInFullScreenAriaLabel","openMenuAriaLabel","overlayToCloseDesktopNavigationAriaLabel","pauseVideoAriaLabel","playVideoAriaLabel","previousAriaLabel","shareToFacebookAriaLabel","shareToWhatsappAriaLabel","shareToXAriaLabel","siteNotificationsAriaLabel","uspStripAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","create","set","ariaLabels","setAriaLabels","array","chunkSize","acc","item","chunk","floor","ariaLabelsFromStore","useAriaLabelsStore","state","observerRef","resizeParameters","setResizeParameters","clientWidth","scrollWidth","scrollHeight","handleResize","entries","Array","isArray","entry","contentRect","disconnect","undefined","ResizeObserver","observe","useSearchSummaryResults","searchSummary","track","setSearchSummaryResults","isLoading","setIsLoading","fetchSearchSummaryResults","itemsRequests","endpoint","parameters","axios","params","query","queryValue","summaryResults","Promise","all","itemsResponse","data","total"],"sourceRoot":""}