{"version":3,"file":"4084-65ceb0a657eb724e0d3e.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/BannerNotification/BannerNotification.tsx","webpack://nikon-client/./components/molecules/BasketNotifications/BasketNotifications.tsx","webpack://nikon-client/./components/molecules/CartItem/CartItem.tsx","webpack://nikon-client/./models/enums/AddToCartErrorEnum.ts","webpack://nikon-client/./models/enums/BannerNotificationStylesEnum.ts","webpack://nikon-client/./models/enums/ProductStockStatusEnum.ts","webpack://nikon-client/./state-management/CartSizeStore.ts","webpack://nikon-client/./node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["import CloseButton from '@atoms/CloseButton/CloseButton';\nimport Icon from '@atoms/Icon/Icon';\nimport { ILink } from '@models/ILink';\nimport BannerNotificationStylesEnum from '@models/enums/BannerNotificationStylesEnum';\nimport IconSizeEnum from '@models/enums/IconSizeEnum';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport useResizeObserver from '@utils/hooks/useResizeObserver';\nimport classNames from 'classnames';\nimport FocusTrap from 'focus-trap-react';\nimport { motion } from 'framer-motion';\nimport { useState } from 'react';\n\ntype INotificationStyles = {\n readonly [key in BannerNotificationStylesEnum]: {\n readonly borderClassName?: string;\n readonly backgroundClassName?: string;\n readonly paddingClassName?: string;\n readonly textColorClassName?: string;\n };\n};\n\ninterface Props {\n readonly displayStyle?: BannerNotificationStylesEnum;\n readonly additionalCustomStyles?: Partial<INotificationStyles>;\n readonly iconName?: string;\n readonly caption?: string;\n readonly closeLabel?: string;\n readonly title?: string;\n readonly className?: string;\n readonly link?: ILink;\n readonly richText?: string;\n readonly desktopBreakpoint?: 'lg' | 'xl';\n readonly isContentExpandable?: boolean;\n readonly showMoreLabel?: string;\n readonly showLessLabel?: string;\n readonly isLarge?: boolean;\n readonly onDismissNotification?: () => void;\n}\n\nconst getNotificationStyles = (\n isLarge?: boolean,\n additionalCustomStyles?: Partial<INotificationStyles>\n): INotificationStyles => {\n const paddingWithoutBorder = isLarge ? 'px-5 py-5 lg:py-7.5' : 'p-5';\n const paddingWithBorder = isLarge\n ? 'px-[1.1875rem] py-[1.1875rem] lg:py-[1.8125rem]'\n : 'p-[1.1875rem]';\n\n return {\n [BannerNotificationStylesEnum.Promo]: {\n backgroundClassName: 'bg-yellow',\n paddingClassName: paddingWithoutBorder,\n ...additionalCustomStyles?.[BannerNotificationStylesEnum.Promo],\n },\n [BannerNotificationStylesEnum.Info]: {\n backgroundClassName: 'bg-grey-100',\n paddingClassName: paddingWithoutBorder,\n ...additionalCustomStyles?.[BannerNotificationStylesEnum.Info],\n },\n [BannerNotificationStylesEnum.Warning]: {\n borderClassName: 'border border-yellow',\n paddingClassName: paddingWithBorder,\n backgroundClassName: 'bg-yellow-200',\n ...additionalCustomStyles?.[BannerNotificationStylesEnum.Warning],\n },\n [BannerNotificationStylesEnum.Error]: {\n borderClassName: 'border border-red',\n paddingClassName: paddingWithBorder,\n textColorClassName: 'text-red-100',\n ...additionalCustomStyles?.[BannerNotificationStylesEnum.Error],\n },\n };\n};\n\nconst BannerNotification = ({\n displayStyle,\n additionalCustomStyles,\n iconName,\n caption,\n closeLabel,\n title,\n className,\n link,\n richText,\n desktopBreakpoint = 'lg',\n isContentExpandable,\n showMoreLabel,\n showLessLabel,\n isLarge,\n onDismissNotification,\n}: Props) => {\n const [richTextRef, { scrollHeight: richTextContentHeight }] =\n useResizeObserver();\n const [isRichTextExpanded, setIsRichTextExpanded] = useState(false);\n const isMobile = useMediaQuery(desktopBreakpoint === 'lg' ? 1024 : 1440);\n const richTextCutOff = isMobile ? 72 : 24;\n const isRichTextExpandable = richTextContentHeight > richTextCutOff;\n const {\n borderClassName,\n backgroundClassName,\n textColorClassName = 'text-black-100',\n paddingClassName,\n } = getNotificationStyles(isLarge, additionalCustomStyles)[\n displayStyle || BannerNotificationStylesEnum.Info\n ];\n\n return (\n <div\n className={classNames(\n 'flex w-full gap-x-5 rounded-[10px]',\n borderClassName,\n backgroundClassName,\n textColorClassName,\n paddingClassName,\n className\n )}\n data-testid=\"Banner-Notification\"\n aria-live=\"polite\"\n >\n {iconName && (\n <div className=\"flex\" data-testid=\"Banner-Notification-Icon\">\n <Icon name={iconName} colorClassName={textColorClassName} />\n </div>\n )}\n\n <div\n className={classNames(\n 'flex w-full flex-col justify-between',\n desktopBreakpoint === 'lg'\n ? 'max-lg:gap-y-2.5 lg:flex-row lg:gap-x-7.5'\n : 'max-xl:gap-y-2.5 xl:flex-row xl:gap-x-7.5',\n {\n 'lg:items-center': closeLabel,\n }\n )}\n >\n {(caption || title) && !richText && (\n <div>\n {caption && (\n <span\n className=\"font-normal\"\n data-testid=\"Banner-Notification-Caption\"\n >\n {caption}\n </span>\n )}{' '}\n {title}\n </div>\n )}\n\n {richText && !isContentExpandable && (\n <div\n className=\"body-three\"\n data-testid=\"Banner-Notification-Rich-Text\"\n dangerouslySetInnerHTML={{ __html: richText }}\n />\n )}\n\n {richText && isContentExpandable && (\n <div\n className={classNames(\n 'flex items-start',\n desktopBreakpoint === 'lg' ? 'max-lg:flex-col' : 'max-xl:flex-col'\n )}\n >\n <motion.div\n ref={richTextRef}\n className=\"body-three overflow-hidden\"\n animate={!isRichTextExpanded ? 'initial' : 'animate'}\n variants={{\n animate: { height: 'auto' },\n initial: {\n height: isRichTextExpandable ? richTextCutOff : 'auto',\n },\n }}\n dangerouslySetInnerHTML={{ __html: richText }}\n data-testid=\"Banner-Notification-Rich-Text\"\n />\n\n {isRichTextExpandable && (\n <button\n className=\"shrink-0 underline\"\n onClick={() => {\n setIsRichTextExpanded(!isRichTextExpanded);\n }}\n data-testid=\"Banner-Notification-Show-More/Less\"\n >\n <strong>\n {isRichTextExpanded ? showLessLabel : showMoreLabel}\n </strong>\n </button>\n )}\n </div>\n )}\n\n {link?.url && link?.name && (\n <div\n className={classNames(\n 'mr-2.5 flex shrink-0 flex-row',\n desktopBreakpoint === 'lg' ? 'lg:flex-col' : 'xl:flex-col'\n )}\n >\n <a\n href={link.url}\n target={link.target}\n className=\"font-normal underline\"\n data-testid=\"Banner-Notification-Link\"\n >\n {link?.name}\n </a>\n </div>\n )}\n {closeLabel && (\n <FocusTrap focusTrapOptions={{ initialFocus: false }}>\n <div>\n {isMobile ? (\n <button\n className=\"underline text-start body-three body-three--bold\"\n onClick={() => {\n onDismissNotification?.();\n }}\n >\n {closeLabel}\n </button>\n ) : (\n <CloseButton\n className=\"relative\"\n color=\"red\"\n size={IconSizeEnum.md}\n onClick={() => {\n onDismissNotification?.();\n }}\n />\n )}\n </div>\n </FocusTrap>\n )}\n </div>\n </div>\n );\n};\n\nexport default BannerNotification;\n","import BannerNotification from '@atoms/BannerNotification/BannerNotification';\nimport { IBasketNotification } from '@models/IBasketNotification';\n\ninterface Props {\n readonly notifications: IBasketNotification[];\n readonly desktopBreakpoint?: 'lg' | 'xl';\n readonly isContentExpandable?: boolean;\n readonly showMoreLabel?: string;\n readonly showLessLabel?: string;\n readonly hasLargeNotifications?: boolean;\n readonly dataTestId?: string;\n}\n\nconst BasketNotifications = ({\n notifications,\n desktopBreakpoint,\n isContentExpandable,\n showMoreLabel,\n showLessLabel,\n hasLargeNotifications,\n dataTestId,\n}: Props) => (\n <div className=\"flex flex-col gap-y-5\" data-testid={dataTestId}>\n {notifications.map(({ displayStyle, icon, text, link }) => (\n <BannerNotification\n displayStyle={displayStyle}\n iconName={icon}\n richText={text}\n link={link}\n key={`${displayStyle}-${icon}-${text}-${link?.url}-${link?.name}`}\n desktopBreakpoint={desktopBreakpoint}\n isContentExpandable={isContentExpandable}\n showMoreLabel={showMoreLabel}\n showLessLabel={showLessLabel}\n isLarge={hasLargeNotifications}\n />\n ))}\n </div>\n);\n\nexport default BasketNotifications;\n","import CloseButton from '@atoms/CloseButton/CloseButton';\nimport Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport { IBasketNotification } from '@models/IBasketNotification';\nimport { ICartItem } from '@models/ICartItem';\nimport IconSizeEnum from '@models/enums/IconSizeEnum';\nimport ProductStockStatusEnum from '@models/enums/ProductStockStatusEnum';\nimport BasketNotifications from '@molecules/BasketNotifications/BasketNotifications';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\n\ninterface Props extends ICartItem {\n readonly showMoreLabel?: string;\n readonly showLessLabel?: string;\n readonly amountSaveLabel: string;\n readonly onChangeCartItemQuantity?: (code: string, quantity: number) => void;\n readonly onRemoveItemFromCart: (code: string, isGift?: boolean) => void;\n readonly index?: number;\n readonly desktopBreakpoint?: 'xl' | 'md';\n readonly hasBorder?: boolean;\n readonly isContainerAnimated?: boolean;\n}\n\nconst CartItem = ({\n code,\n displayName,\n thumbnail,\n url,\n stockStatus,\n stockStatusLabel,\n placedPrice,\n discountedPrice,\n amountSaved,\n amountSaveLabel,\n amountLabels,\n showMoreLabel,\n showLessLabel,\n quantityLabel,\n selectedQuantity,\n availableQuantities,\n lineItemTag,\n preOrderNotification,\n backOrderNotification,\n errorNotification,\n giftNotification,\n onChangeCartItemQuantity,\n onRemoveItemFromCart,\n index,\n desktopBreakpoint = 'xl',\n hasBorder = true,\n isContainerAnimated = true,\n isFreeItem,\n}: Props) => {\n const isMobile = useMediaQuery(1440);\n const isDiscounted = placedPrice !== discountedPrice;\n const itemNotifications = [\n preOrderNotification,\n backOrderNotification,\n errorNotification,\n giftNotification,\n ].filter((notification) => notification) as IBasketNotification[];\n\n return (\n <motion.div\n key={code}\n data-testid={`Cart-Item${index ? `-${index}` : ''}`}\n className={classNames('relative rounded-[10px] bg-white p-2.5', {\n 'border border-grey': hasBorder,\n 'xl:flex xl:min-h-[14.5625rem] xl:shrink-0 xl:flex-col':\n desktopBreakpoint === 'xl',\n 'md:flex md:min-h-[14.5625rem] md:shrink-0 md:flex-col':\n desktopBreakpoint === 'md',\n })}\n {...(isContainerAnimated\n ? {\n layout: true,\n transition: {\n type: 'spring',\n duration: 0.3,\n layout: { type: 'spring', duration: 0.7 },\n },\n animate: { scale: 1, opacity: 1 },\n exit: { scale: 0.8, opacity: 0 },\n }\n : {})}\n >\n {/* // TODO: Revert this conditional ONLY when gift items are able to\n // be removed from the basket which currently Opti does not allow */}\n {!isFreeItem && (\n <CloseButton\n className={classNames('absolute right-2.5 top-2.5', {\n 'xl:right-[0.9375rem] xl:top-[0.9375rem]':\n desktopBreakpoint === 'xl',\n 'md:right-[0.9375rem] md:top-[0.9375rem]':\n desktopBreakpoint === 'md',\n })}\n size=\"1.375rem\"\n onClick={() => {\n onRemoveItemFromCart(code, isFreeItem);\n }}\n />\n )}\n\n {lineItemTag && (\n <div\n className={classNames('mb-4 flex', {\n 'xl:hidden': desktopBreakpoint === 'xl',\n 'md:hidden': desktopBreakpoint === 'md',\n })}\n data-testid={`Cart-Item${index ? `-${index}` : ''}-Tag-Mobile`}\n >\n <div className=\"flex items-center gap-x-1.5 rounded-[100px] bg-grey-100 px-3 py-1\">\n <Icon\n name={lineItemTag.icon}\n colorClassName=\"text-yellow\"\n size={IconSizeEnum.md}\n />\n\n <p className=\"body-four\">{lineItemTag.label}</p>\n </div>\n </div>\n )}\n\n <div\n className={classNames('flex h-full grow gap-x-5', {\n 'xl:w-full xl:gap-x-7.5': desktopBreakpoint === 'xl',\n 'md:w-full md:gap-x-7.5': desktopBreakpoint === 'md',\n })}\n >\n <a\n data-testid={`Cart-Item${index ? `-${index}` : ''}-Image-Link`}\n href={url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className={classNames('shrink-0 rounded-[10px] bg-grey-100', {\n 'max-xl:h-[110px] max-xl:w-[110px] xl:w-[250px]':\n desktopBreakpoint === 'xl',\n 'max-md:h-[110px] max-md:w-[110px] md:w-[250px]':\n desktopBreakpoint === 'md',\n })}\n >\n <Image\n dataTestId={`Cart-Item${index ? `-${index}` : ''}-Image`}\n image={thumbnail}\n imageClasses=\"object-contain h-full rounded-[10px]\"\n />\n </a>\n\n <div\n className={classNames(\n 'flex w-full min-w-0 flex-col gap-y-5 py-2.5 pr-2.5',\n {\n 'xl:justify-between xl:gap-y-4 xl:py-5':\n desktopBreakpoint === 'xl',\n 'md:justify-between md:gap-y-4 md:py-5':\n desktopBreakpoint === 'md',\n }\n )}\n >\n <div>\n {lineItemTag && (\n <div\n className={classNames('hidden', {\n 'xl:mb-[0.9375rem] xl:flex': desktopBreakpoint === 'xl',\n 'md:mb-[0.9375rem] md:flex': desktopBreakpoint === 'md',\n })}\n data-testid={`Cart-Item${index ? `-${index}` : ''}-Tag-Desktop`}\n >\n <div className=\"flex items-center gap-x-[0.4375rem] rounded-[100px] bg-grey-100 py-1 pl-[0.4375rem] pr-4\">\n <Icon name={lineItemTag.icon} colorClassName=\"text-yellow\" />\n\n <p className=\"body-two\">{lineItemTag.label}</p>\n </div>\n </div>\n )}\n\n <p\n data-testid={`Cart-Item${index ? `-${index}` : ''}-Stock-Status`}\n className={classNames(\n 'mb-[0.3125rem] text-grey-600',\n isMobile ? 'body-four' : 'body-three body-three--bold',\n {\n 'text-red-100':\n stockStatus === ProductStockStatusEnum.OutOfStock,\n 'xl:mb-1.5': desktopBreakpoint === 'xl',\n 'md:mb-1.5': desktopBreakpoint === 'md',\n }\n )}\n >\n {stockStatusLabel}\n </p>\n\n <a\n href={url}\n target=\"_blank\"\n rel=\"noreferrer\"\n data-testid={`Cart-Item${index ? `-${index}` : ''}-Name`}\n className={classNames('inline-block w-full', {\n 'xl:w-[45%]': desktopBreakpoint === 'xl',\n 'md:w-[45%]': desktopBreakpoint === 'md',\n })}\n >\n <p\n className={classNames(\n 'line-clamp-3 w-full break-words',\n isMobile ? 'body-one' : 'h6',\n {\n 'xl:line-clamp-2': desktopBreakpoint === 'xl',\n 'md:line-clamp-2': desktopBreakpoint === 'md',\n }\n )}\n >\n {displayName}\n </p>\n </a>\n </div>\n\n <div\n className={classNames('flex flex-col-reverse gap-5', {\n 'xl:flex-row xl:items-end xl:justify-between':\n desktopBreakpoint === 'xl',\n 'md:flex-row md:items-end md:justify-between':\n desktopBreakpoint === 'md',\n })}\n >\n <div\n className={classNames('flex items-center gap-x-2.5', {\n 'xl:gap-x-5': desktopBreakpoint === 'xl',\n 'md:gap-x-5': desktopBreakpoint === 'md',\n })}\n data-testid={`Cart-Item${\n index ? `-${index}` : ''\n }-Quantity-Selector`}\n >\n <p className={isMobile ? 'body-two' : 'h6'}>{quantityLabel}</p>\n\n {!isFreeItem ? (\n <div className=\"relative\">\n <select\n aria-label=\"Quantity selector\"\n disabled={stockStatus === ProductStockStatusEnum.OutOfStock}\n value={selectedQuantity}\n onChange={(ev) => {\n const newSelectedQuantity = Number(ev.target.value);\n const updatedQuantity =\n newSelectedQuantity - selectedQuantity;\n\n onChangeCartItemQuantity?.(code, updatedQuantity);\n }}\n className=\"body-three relative appearance-none rounded-[100px] bg-grey-100 py-1.5 pl-5 pr-10\"\n >\n {Object.entries(availableQuantities).map(\n ([entryLabel, entryValue]) => (\n <option key={entryValue} value={entryValue}>\n {entryLabel}\n </option>\n )\n )}\n </select>\n\n <div className=\"pointer-events-none absolute right-[0.8125rem] top-0 z-10 flex h-full items-center\">\n <Icon\n name=\"caret_down\"\n {...(stockStatus === ProductStockStatusEnum.OutOfStock\n ? { colorClassName: 'text-grey-line' }\n : {})}\n />\n </div>\n </div>\n ) : (\n <span className={classNames(isMobile ? 'body-two' : 'h6')}>\n {selectedQuantity}\n </span>\n )}\n </div>\n\n <div\n className={classNames('flex flex-col gap-y-[0.3125rem]', {\n 'xl:items-end xl:gap-y-px': desktopBreakpoint === 'xl',\n 'md:items-end md:gap-y-px': desktopBreakpoint === 'md',\n 'md:ml-auto': isFreeItem,\n })}\n >\n <div className=\"flex items-end gap-x-2.5\">\n {isDiscounted && (\n <p\n data-testid={`Cart-Item${\n index ? `-${index}` : ''\n }-Full-Price`}\n className={classNames(\n 'line-through',\n isMobile\n ? 'body-one text-grey-450'\n : 'text-base font-light leading-24'\n )}\n >\n {placedPrice}\n </p>\n )}\n\n <p\n data-testid={`Cart-Item${\n index ? `-${index}` : ''\n }-Final-Price`}\n className={classNames(\n isMobile ? 'body-one body-one--bold' : 'h6'\n )}\n >\n {discountedPrice}\n </p>\n </div>\n\n {isDiscounted && (\n <div\n className=\"flex items-center gap-x-[0.3125rem]\"\n data-testid={`Cart-Item${\n index ? `-${index}` : ''\n }-Saved-Amount`}\n >\n <div className=\"h-1.5 w-1.5 rounded-full bg-yellow\" />\n\n <p className=\"body-three body-three--bold\">\n {amountSaveLabel.replace('{0}', amountSaved)}\n </p>\n </div>\n )}\n\n {amountLabels\n ?.filter((amountLabel) => amountLabel)\n .map((amountLabel) => (\n <p\n key={amountLabel}\n className=\"body-four text-grey-450\"\n data-testid=\"Cart-Item-Amount-Label\"\n >\n {amountLabel}\n </p>\n ))}\n </div>\n </div>\n </div>\n </div>\n\n {itemNotifications.length > 0 && (\n <div\n className={classNames('mt-7.5', {\n 'xl:mt-5': desktopBreakpoint === 'xl',\n 'md:mt-5': desktopBreakpoint === 'md',\n })}\n >\n <BasketNotifications\n notifications={itemNotifications}\n desktopBreakpoint=\"xl\"\n isContentExpandable\n showMoreLabel={showMoreLabel}\n showLessLabel={showLessLabel}\n dataTestId={`Cart-Item${index ? `-${index}` : ''}-Notifications`}\n />\n </div>\n )}\n </motion.div>\n );\n};\n\nexport default CartItem;\n","const enum AddToCartErrorEnum {\n mixedCart = 'ZERO_AUTH_REGULAR_ITEM_MIXED_CART',\n maxProductQuantity = 'MAX_QUANTITY_OF_PRODUCT_EXCEEDED',\n maxBasketQuantity = 'MAX_QUANTITY_OF_BASKET_EXCEEDED',\n maxBasketValue = 'MAX_VALUE_OF_BASKET_EXCEEDED',\n}\n\nexport default AddToCartErrorEnum;\n","const enum BannerNotificationStylesEnum {\n Info = 'info',\n Warning = 'warning',\n Error = 'error',\n Promo = 'promo',\n}\n\nexport default BannerNotificationStylesEnum;\n","// We get these values from the external stores, so they can't be changed unless they change also on the stores\n\nconst enum ProductStockStatusEnum {\n InStock = 'IN_STOCK',\n OutOfStock = 'OUT_OF_STOCK',\n ComingSoon = 'COMING_SOON',\n PreOrder = 'PRE_ORDER',\n BackOrder = 'BACKORDER',\n SoldOut = 'SOLD_OUT',\n DoNotShow = 'DO_NOT_SHOW',\n BtoBOnly = 'B2B_ONLY',\n}\n\nexport default ProductStockStatusEnum;\n","import create from 'zustand';\n\ninterface ICartSizeState {\n readonly cartIdName: string;\n readonly cartSizeName: string;\n readonly domainName: string;\n readonly cartSize: number;\n readonly setCartIdName: (cartIdName: string) => void;\n readonly setCartSizeName: (cartSizeName: string) => void;\n readonly setDomainName: (domainName: string) => void;\n readonly setCartSize: (cartSize: number) => void;\n}\n\nconst useCartSizeStore = create<ICartSizeState>((set) => ({\n // default values that can be overwritten in the cms\n cartIdName: '__gbSite__at__cartSize',\n cartSizeName: '__gbSite__at__cart',\n domainName: '.nikon.co.uk',\n cartSize: 0,\n\n // set cookie names\n setCartIdName: (cartIdName) => set({ cartIdName }),\n setCartSizeName: (cartSizeName) => set({ cartSizeName }),\n setDomainName: (domainName) => set({ domainName }),\n setCartSize: (cartSize) => set({ cartSize }),\n}));\n\nexport default useCartSizeStore;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n"],"names":["_ref","displayStyle","additionalCustomStyles","iconName","caption","closeLabel","title","className","link","richText","desktopBreakpoint","isContentExpandable","showMoreLabel","showLessLabel","isLarge","onDismissNotification","richTextRef","scrollHeight","richTextContentHeight","useResizeObserver","isRichTextExpanded","setIsRichTextExpanded","useState","isMobile","useMediaQuery","richTextCutOff","isRichTextExpandable","borderClassName","backgroundClassName","textColorClassName","paddingClassName","getNotificationStyles","paddingWithoutBorder","paddingWithBorder","BannerNotificationStylesEnum","Promo","Info","Warning","Error","React","createElement","classNames","Icon","name","colorClassName","dangerouslySetInnerHTML","__html","motion","div","ref","animate","variants","height","initial","onClick","url","href","target","FocusTrap","focusTrapOptions","initialFocus","CloseButton","color","size","IconSizeEnum","md","notifications","hasLargeNotifications","dataTestId","map","_ref2","icon","text","BannerNotification","key","code","displayName","thumbnail","stockStatus","stockStatusLabel","placedPrice","discountedPrice","amountSaved","amountSaveLabel","amountLabels","quantityLabel","selectedQuantity","availableQuantities","lineItemTag","preOrderNotification","backOrderNotification","errorNotification","giftNotification","onChangeCartItemQuantity","onRemoveItemFromCart","index","hasBorder","isContainerAnimated","isFreeItem","isDiscounted","itemNotifications","filter","notification","_extends","layout","transition","type","duration","scale","opacity","exit","label","rel","Image","image","imageClasses","ProductStockStatusEnum","OutOfStock","disabled","value","onChange","ev","updatedQuantity","Number","Object","entries","entryLabel","entryValue","replace","amountLabel","length","BasketNotifications","AddToCartErrorEnum","create","set","cartIdName","cartSizeName","domainName","cartSize","setCartIdName","setCartSizeName","setDomainName","setCartSize","assign","i","arguments","source","api","init","converter","defaultAttributes","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","get","cookies","jar","parts","slice","join","found","read","e","remove","withAttributes","this","withConverter","freeze","path"],"sourceRoot":""}