{"version":3,"sources":["webpack:///../node_modules/@uds/bookends/dist/es/HeaderDesktop-7f4999b7.js","webpack:///../node_modules/@uds/illustrations/dist/es/illustrations.js"],"names":["useMastheadLinks","_ref","links","messageId","intl","opened","onClick","refButton","refLinks","ref","indexDropdown","setIndexDropdown","search","setSearch","open","updateSelected","index","_refLinks$current$ind","_refLinks$current$ind2","current","firstElementChild","focus","searchOption","keyPressed","string","matched","findIndex","link","_link$key","_label$toString","label","formatMessage","id","key","RegExp","test","toString","onMenuKeyPress","e","preventDefault","length","onItemKeyPress","_refButton$current","focusOnSelector","classNames$1","classnames$4","MastheadDesktopLinks","linkId","isOpen","toggle","Array","from","children","className","popoutOpened","onKeyPress","map","_link$key2","tel","analyticsKey","undefined","href","url","formatted","displayName","MastheadDesktopLinks$1","classnames$3","AccountLinkDesktop","classname","AccountLinkDesktop$1","AccountOptionsDesktop","loggedIn","hasAccount","userDetails","linksLogged","linksLogout","refLink","AccountOptionsDesktop$1","AccountLinks","linksAccount","colorway","glyphStyle","arguments","HEADER","color","LIGHT","NEUTRAL","palette","grey02","headerForeground","height","gu3","getGlyphStyle","showArrow","size","name","alt","flush","AccountLinks$1","Basket","then","module","default","MastheadDesktop","contactLinks","supplementaryLinks","shortcutNav","isEcommerce","shortcut","_shortcut$analyticsKe","glyph","icon","fallback","MastheadDesktop$1","classnames$2","classNames","divider","headingXs","classnames$1","submenuBase","SubmenuLayout","submenu","theme","classnames","root","headingXxs","title","getClassNames","colorwaySecondary","illustrationKey","xs","spacing","body","SubmenuLayout$1","iconStyle","SubmenuLink","promo","promoLabel","LinkComponent","component","tabIndex","SubmenuLink$1","Submenu","items","Submenu$1","SubmenuContainer","closeSubmenu","onMouseEnter","hitType","eventCategory","eventAction","eventLabel","trackDropdownHover","onKeyDown","ev","role","NavigationItem","_link$submenu","isCurrent","isExpanded","handleMouseOver","handleFocus","rest","onMouseOver","onFocus","isNavLink","isNavLinkExact","exact","NavigationDesktop","menuItemActiveIndex","activeIndex","setActiveIndex","onMouseLeave","indexLink","_ref2","_link$analyticsKey","NavigationDesktop$1","HeaderDesktop","props","setHeight","onHeightReady","reactPropsRegex","fn","cache","arg","memoize","prop","charCodeAt","restOp","obj","keysToExclude","Object","keys","filter","includes","reduce","acc","curr","assign","warnIfInvalid","value","componentName","Root","tag","options","render","as","class","filteredProps","indexOf","_len","_key","Boolean","join","cx","vars","style","variable","result","unit","__linaria","Result","innerRef","extends","styled$1","iconSize","iconName","themeSpacing","gu","getSize","createPaintbrushUrl$1","params","URLSearchParams","illustrations","forEach","append","iconSet","Illustration$1","src","importance","loading"],"mappings":"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","file":"pex-static/34/66.5163a09f9d574e128fb6.chunk.js","sourcesContent":["import { ReactHeight } from 'react-height';\nimport { H as HeaderColorways, u as useBookends, a as useContactLinks, b as useSupplementaryLinks, c as useShortcuts, d as useIsEcommerce, e as useHeaderHeightState } from './index-905103ef.js';\nimport { jsx, Fragment, jsxs } from 'react/jsx-runtime';\nimport { useRef, useState, createRef, forwardRef, Suspense, lazy } from 'react';\nimport { Container, Row, Column } from '@uds/grid';\nimport Colorway from '@uds/colorway';\nimport './mastheaddesktop.stylesheet_12v6sm.css';\nimport { u as useWithClickOutside, a as useToggleDropdown, M as MastheadPopoutButton, P as Popout, b as PopoutLink, c as MastheadLink, d as useAccountOptions, U as UserDetails, L as Logo, C as CurrencyPicker, e as LanguagePicker, N as NavLink } from './NavLink-4dd1029a.js';\nimport { Message, getMessage } from '@uds/message';\nimport { useIntl } from 'react-intl';\nimport './mastheaddesktoplinks.stylesheet_13c8ubx.css';\nimport { Glyph } from '@uds/glyphs';\nimport { cssTheme, useTheme, gu2px } from '@uds/theme-utils';\nimport './accountlinks.stylesheet_90taty.css';\nimport './accountoptionsdesktop.stylesheet_f572fx.css';\nimport { cx } from 'linaria';\nimport './accountlinkdesktop_pm7hlg.css';\nimport './navigationdesktop.stylesheet_jj6u9o.css';\nimport { classNames as classNames$2, Heading02, BodyCopy, Heading06 } from '@uds/typography';\nimport './navigationitem.stylesheet_pi9h7n.css';\nimport { dispatchGAEvent } from '@uds/tagmg';\nimport './submenu.stylesheet_18dxq3x.css';\nimport Illustration from '@uds/illustrations';\nimport './submenulayout.stylesheet_1xvukkn.css';\nimport './submenulink.stylesheet_ym6l76.css';\nimport '@ux/accounts-client';\nimport '@ux/whitelabel';\nimport '@ux/auth';\nimport 'react-query';\nimport '@uds/cookies';\nimport '@ux/drivers';\nimport 'jwt-decode';\nimport '@ux/language';\nimport '@ux/bus';\nimport './footer.stylesheet_1cai24r.css';\nimport './footerlogo.stylesheet_1nwsfvw.css';\nimport '@uds/link';\nimport './footerlinks.stylesheet_1tdonhv.css';\nimport './footerlinkgroup.stylesheet_1k80bmr.css';\nimport './footerlink.stylesheet_1la25ae.css';\nimport './footerlegallinks.stylesheet_11hu4qw.css';\nimport './footersocial.stylesheet_1vs2jgr.css';\nimport '@uds/padding-box';\nimport './footercopyright.stylesheet_1vs80r0.css';\nimport '@artsy/fresnel';\nimport '@ux/currency';\nimport '@uds/currency-symbol';\nimport './currency.stylesheet_1ps9h4b.css';\nimport '@uds/hooks';\nimport 'is-uuid';\nimport '@uds/flag';\nimport './languagelabel.stylesheet_1bydy.css';\nimport './picker.stylesheet_1sdqf0u.css';\nimport './mastheadpopoutbutton.stylesheet_1ta9x9o.css';\nimport './mastheadlink.stylesheet_1pwh77h.css';\nimport './popout.stylesheet_yym5ms.css';\nimport './popoutlink.stylesheet_1a3xsog.css';\nimport './userdetails.stylesheet_19hsuiq.css';\nimport '@uds/badge';\nimport './navlink.stylesheet_dtzwwk.css';\n\nconst useMastheadLinks = _ref => {\n let {\n links,\n messageId,\n intl,\n opened,\n onClick,\n refButton,\n refLinks\n } = _ref;\n const ref = useRef(null);\n const [indexDropdown, setIndexDropdown] = useState(-1);\n const [search, setSearch] = useState('');\n useWithClickOutside({\n ref,\n open: opened,\n onClick\n });\n const updateSelected = index => {\n var _refLinks$current$ind, _refLinks$current$ind2;\n setIndexDropdown(index);\n // focus on link selected inside of the dropdown\n (_refLinks$current$ind = refLinks.current[index].current) === null || _refLinks$current$ind === void 0 ? void 0 : (_refLinks$current$ind2 = _refLinks$current$ind.firstElementChild) === null || _refLinks$current$ind2 === void 0 ? void 0 : _refLinks$current$ind2.focus();\n };\n const focusOnSelector = () => {\n var _refButton$current;\n setIndexDropdown(-1);\n onClick();\n // focus on main button of the dropdown\n ((_refButton$current = refButton.current) === null || _refButton$current === void 0 ? void 0 : _refButton$current.firstElementChild).focus();\n };\n const searchOption = keyPressed => {\n const string = `${search}${keyPressed}`;\n setSearch(string);\n const matched = links.findIndex((link, index) => {\n var _link$key, _label$toString;\n const label = intl.formatMessage({\n id: `${messageId}.${(_link$key = link.key) != null ? _link$key : index}.label`\n });\n return new RegExp(`^${string}`, 'ig').test((_label$toString = label === null || label === void 0 ? void 0 : label.toString()) != null ? _label$toString : '');\n });\n if (matched >= 0) {\n updateSelected(matched);\n }\n };\n const onMenuKeyPress = e => {\n if (e.key === 'Enter') {\n onClick();\n } else if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n if (opened) {\n updateSelected(0);\n } else {\n onClick();\n }\n } else if (e.key === 'Home') {\n e.preventDefault();\n if (opened) {\n updateSelected(0);\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n if (opened) {\n updateSelected(links.length - 1);\n }\n } else if (e.key !== 'Escape' && e.key !== 'Tab') {\n searchOption(e.key);\n }\n };\n const onItemKeyPress = e => {\n if (e.key !== 'Enter') {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n if (opened) {\n if (indexDropdown === 0) {\n focusOnSelector();\n } else if (indexDropdown > 0) {\n updateSelected(indexDropdown - 1);\n } else {\n onClick();\n }\n } else {\n onClick();\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (opened) {\n if (links.length > 0 && indexDropdown < links.length - 1) {\n updateSelected(indexDropdown + 1);\n }\n } else {\n onClick();\n }\n } else if (e.key === 'Tab') {\n if (opened && links.length > 0 && indexDropdown < links.length - 1) {\n e.preventDefault();\n updateSelected(indexDropdown + 1);\n } else {\n onClick();\n }\n } else if (e.key === 'Escape') {\n onClick();\n } else if (e.key === 'Home') {\n e.preventDefault();\n if (opened) {\n updateSelected(0);\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n if (opened) {\n updateSelected(links.length - 1);\n }\n } else {\n searchOption(e.key);\n }\n }\n };\n return {\n ref,\n onMenuKeyPress,\n onItemKeyPress\n };\n};\n\nconst root$5 = \"r11widxo\";\nconst inner = \"iv6pv8h\";\nconst logo = \"l18ifg91\";\nconst shortcutsContainer = \"s1ckhqea\";\nconst shortcuts = \"s1mll6yt\";\nconst utils = \"u1yq2cmp\";\nconst classNames$1 = {\n root: root$5,\n inner,\n logo,\n shortcutsContainer,\n shortcuts,\n utils\n};\n\nconst root$4 = \"r1yu47e3\";\nconst link$3 = \"l10fajna\";\nconst classnames$4 = {\n root: root$4,\n link: link$3\n};\n\nconst MastheadDesktopLinks = _ref => {\n let {\n links,\n label,\n linkId,\n messageId\n } = _ref;\n const {\n isOpen,\n toggle\n } = useToggleDropdown();\n const refButton = useRef(null);\n const refLinks = useRef(Array.from({\n length: links.length\n }, () => /*#__PURE__*/createRef()));\n const {\n ref,\n onMenuKeyPress,\n onItemKeyPress\n } = useMastheadLinks({\n links,\n messageId,\n intl: useIntl(),\n opened: isOpen != null ? isOpen : false,\n onClick: toggle != null ? toggle : () => {},\n refButton,\n refLinks\n });\n return /*#__PURE__*/jsx(Fragment, {\n children: links.length > 0 && /*#__PURE__*/jsxs(\"div\", {\n ref: ref,\n className: classnames$4.root,\n children: [/*#__PURE__*/jsx(MastheadPopoutButton, {\n ref: refButton,\n popoutOpened: isOpen,\n onClick: toggle,\n onKeyPress: onMenuKeyPress,\n children: /*#__PURE__*/jsx(Message, {\n id: label\n })\n }), isOpen && /*#__PURE__*/jsx(Popout, {\n label: `Popout menu`,\n children: /*#__PURE__*/jsx(Fragment, {\n children: links === null || links === void 0 ? void 0 : links.map((link, index) => {\n var _link$key, _link$key2;\n const {\n tel\n } = link;\n return /*#__PURE__*/jsx(PopoutLink, {\n className: classnames$4.link,\n children: /*#__PURE__*/jsx(MastheadLink, {\n ref: refLinks.current[index],\n id: link.analyticsKey != null ? `${linkId}-${link.analyticsKey}` : undefined,\n href: tel == null ? link.url : `tel:${tel}`,\n label: `${messageId}.${(_link$key2 = link.key) != null ? _link$key2 : index}.label`,\n onKeyPress: onItemKeyPress,\n formatted: 'formatted' in link ? link.formatted : undefined\n })\n }, (_link$key = link.key) != null ? _link$key : index);\n })\n })\n })]\n })\n });\n};\nMastheadDesktopLinks.displayName = 'MastheadDesktopLinks';\nvar MastheadDesktopLinks$1 = MastheadDesktopLinks;\n\nconst glyph = \"g13b1x10\";\nconst getGlyphStyle = function () {\n let colorway = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : HeaderColorways.HEADER;\n return {\n classname: glyph,\n color: colorway === HeaderColorways.LIGHT || colorway === HeaderColorways.NEUTRAL ? cssTheme.palette.grey02 : cssTheme.palette.headerForeground,\n height: cssTheme.gu3\n };\n};\n\nconst root$3 = \"r1h9m04t\";\nconst list = \"lc3w0y1\";\nconst link$2 = \"l1q8tdh\";\nconst classnames$3 = {\n root: root$3,\n list,\n link: link$2\n};\n\nconst defaultLi = \"d1begylo\";\nconst AccountLinkDesktop = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n link,\n classname,\n onKeyPress\n } = _ref;\n return /*#__PURE__*/jsx(\"li\", {\n className: cx(classname, defaultLi),\n children: /*#__PURE__*/jsx(PopoutLink, {\n children: /*#__PURE__*/jsx(MastheadLink, {\n ref: ref,\n ...link,\n id: link.key,\n onKeyPress: onKeyPress\n })\n })\n });\n});\nAccountLinkDesktop.displayName = 'AccountLinkDesktop';\nvar AccountLinkDesktop$1 = AccountLinkDesktop;\n\nconst AccountOptionsDesktop = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n onKeyPress\n } = _ref;\n const {\n loggedIn,\n hasAccount,\n userDetails,\n links,\n linksLogged,\n linksLogout\n } = useAccountOptions();\n const refLink = ref;\n return /*#__PURE__*/jsxs(\"div\", {\n className: classnames$3.root,\n children: [loggedIn && hasAccount && userDetails && /*#__PURE__*/jsx(UserDetails, {\n ...userDetails\n }), /*#__PURE__*/jsxs(\"ul\", {\n className: classnames$3.list,\n children: [links.map((link, index) => {\n var _link$key;\n return /*#__PURE__*/jsx(AccountLinkDesktop$1, {\n ref: refLink === null || refLink === void 0 ? void 0 : refLink.current[index],\n onKeyPress: onKeyPress,\n link: {\n key: link.analyticsKey != null ? `bks-account-menu-${link.analyticsKey}` : undefined,\n href: link.url,\n label: `bks.account.menu.item.${(_link$key = link.key) != null ? _link$key : index}.label`\n }\n }, link.key);\n }), (loggedIn ? linksLogged : linksLogout).map((link, index) => /*#__PURE__*/jsx(AccountLinkDesktop$1, {\n ref: refLink === null || refLink === void 0 ? void 0 : refLink.current[index + links.length],\n onKeyPress: onKeyPress,\n link: link,\n classname: classnames$3.link\n }, link.key))]\n })]\n });\n});\nAccountOptionsDesktop.displayName = 'AccountOptionsDesktop';\nvar AccountOptionsDesktop$1 = AccountOptionsDesktop;\n\nconst AccountLinks = () => {\n const intl = useIntl();\n const {\n isOpen,\n toggle\n } = useToggleDropdown();\n const {\n loggedIn,\n links,\n linksLogged,\n linksLogout\n } = useAccountOptions();\n const linksAccount = [...links, ...(loggedIn ? linksLogged : linksLogout)];\n const refButton = useRef(null);\n const refLinks = useRef(Array.from({\n length: linksAccount.length\n }, () => /*#__PURE__*/createRef()));\n const {\n ref,\n onMenuKeyPress,\n onItemKeyPress\n } = useMastheadLinks({\n links: linksAccount,\n messageId: `bks.account.menu.item`,\n intl,\n opened: isOpen != null ? isOpen : false,\n onClick: toggle != null ? toggle : () => {},\n refButton,\n refLinks\n });\n const {\n colorway\n } = useBookends();\n const glyphStyle = getGlyphStyle(colorway);\n return /*#__PURE__*/jsxs(\"div\", {\n ref: ref,\n className: classnames$4.root,\n children: [/*#__PURE__*/jsx(MastheadPopoutButton, {\n ref: refButton,\n popoutOpened: isOpen,\n onClick: toggle,\n onKeyPress: onMenuKeyPress,\n showArrow: false,\n children: /*#__PURE__*/jsx(\"span\", {\n className: glyphStyle.classname,\n children: /*#__PURE__*/jsx(Glyph, {\n size: glyphStyle.height,\n color: glyphStyle.color,\n name: \"avatar\",\n alt: getMessage({\n id: 'bks.masthead.account'\n }, intl)\n })\n })\n }), isOpen && /*#__PURE__*/jsx(Popout, {\n flush: true,\n label: `Popout account`,\n children: /*#__PURE__*/jsx(AccountOptionsDesktop$1, {\n ref: refLinks,\n onKeyPress: onItemKeyPress\n })\n })]\n });\n};\nAccountLinks.displayName = 'AccountLinks';\nvar AccountLinks$1 = AccountLinks;\n\nconst Basket = /*#__PURE__*/lazy(() => import('./BasketBanner-33c251bf.js').then(module => ({\n default: module.default\n})));\nconst MastheadDesktop = () => {\n const contactLinks = useContactLinks();\n const supplementaryLinks = useSupplementaryLinks();\n const shortcutNav = useShortcuts();\n const isEcommerce = useIsEcommerce();\n const {\n colorway\n } = useBookends();\n return /*#__PURE__*/jsx(Colorway, {\n colorway: colorway,\n className: classNames$1.root,\n children: /*#__PURE__*/jsx(Container, {\n children: /*#__PURE__*/jsxs(\"div\", {\n className: classNames$1.inner,\n children: [/*#__PURE__*/jsx(Logo, {\n classname: classNames$1.logo\n }), /*#__PURE__*/jsxs(\"div\", {\n className: classNames$1.shortcutsContainer,\n children: [/*#__PURE__*/jsxs(\"div\", {\n className: classNames$1.shortcuts,\n children: [shortcutNav.map(shortcut => {\n var _shortcut$analyticsKe;\n return /*#__PURE__*/jsx(MastheadLink, {\n id: shortcut.analyticsKey != null ? `bks-${shortcut.analyticsKey}` : undefined,\n label: shortcut.label,\n href: shortcut.url,\n glyph: {\n icon: shortcut.icon\n }\n }, (_shortcut$analyticsKe = shortcut.analyticsKey) != null ? _shortcut$analyticsKe : shortcut.url);\n }), /*#__PURE__*/jsx(MastheadDesktopLinks$1, {\n links: supplementaryLinks,\n label: 'bks.header.supplementary.menu.open',\n linkId: `bks-more-menu`,\n messageId: `bks.header.supplementary.menu.items`\n })]\n }), /*#__PURE__*/jsxs(\"div\", {\n className: classNames$1.utils,\n children: [/*#__PURE__*/jsx(MastheadDesktopLinks$1, {\n links: contactLinks,\n label: 'bks.header.supplementary.contact.open',\n linkId: `bks-contact-menu`,\n messageId: `bks.header.contact.menu.items`\n }), /*#__PURE__*/jsx(CurrencyPicker, {}), /*#__PURE__*/jsx(LanguagePicker, {}), isEcommerce && /*#__PURE__*/jsxs(Fragment, {\n children: [/*#__PURE__*/jsx(Suspense, {\n fallback: \"\",\n children: /*#__PURE__*/jsx(Basket, {\n isEcommerce: isEcommerce,\n label: 'bks.header.basketCount.desktop'\n })\n }), /*#__PURE__*/jsx(AccountLinks$1, {})]\n })]\n })]\n })]\n })\n })\n });\n};\nMastheadDesktop.displayName = 'MastheadDesktop';\nvar MastheadDesktop$1 = MastheadDesktop;\n\nconst root$2 = \"r1evr38s\";\nconst topmenu = \"t3zyvea\";\nconst nav = \"ny9chpz\";\nconst classnames$2 = {\n root: root$2,\n topmenu,\n nav\n};\n\nconst divider = \"dsuh11b\";\nconst link$1 = \"l14jqapo\";\nconst classNames = {\n divider,\n link: cx(classNames$2.headingXs, link$1)\n};\n\nconst submenu = \"s1kp0rv3\";\nconst classnames$1 = {\n submenu\n};\n\nconst submenuBase = {\n default: \"d8k44n\",\n opened: \"obvsx9k\"\n};\nconst root$1 = \"r13b2dm1\";\nconst title$1 = \"txrw4gm\";\nconst getClassNames = _ref => {\n let {\n opened\n } = _ref;\n return {\n submenuBase: cx(submenuBase.default, opened && submenuBase.opened),\n root: cx(classNames$2.headingXxs, root$1),\n title: title$1\n };\n};\n\nconst SubmenuLayout = _ref => {\n let {\n children,\n submenu,\n opened\n } = _ref;\n const {\n theme\n } = useTheme();\n const classnames = getClassNames({\n opened\n });\n const {\n colorwaySecondary\n } = useBookends();\n return /*#__PURE__*/jsx(Colorway, {\n colorway: colorwaySecondary,\n className: classnames.submenuBase,\n children: /*#__PURE__*/jsx(Container, {\n children: submenu.illustrationKey != null ? /*#__PURE__*/jsxs(Row, {\n children: [/*#__PURE__*/jsx(Column, {\n xs: 4,\n children: /*#__PURE__*/jsxs(\"div\", {\n className: classnames.root,\n children: [/*#__PURE__*/jsx(Illustration, {\n size: gu2px(16, theme.spacing),\n icon: submenu.illustrationKey\n }), submenu.title != null && /*#__PURE__*/jsx(Heading02, {\n className: classnames.title,\n children: /*#__PURE__*/jsx(Message, {\n id: submenu.title\n })\n }), submenu.body != null && /*#__PURE__*/jsx(BodyCopy, {\n children: /*#__PURE__*/jsx(Message, {\n id: submenu.body\n })\n })]\n })\n }), /*#__PURE__*/jsx(Column, {\n xs: 8,\n children: children\n })]\n }) : children\n })\n });\n};\nSubmenuLayout.displayName = 'SubmenuLayout';\nvar SubmenuLayout$1 = SubmenuLayout;\n\nconst iconStyle = {\n height: cssTheme.gu3,\n color: 'primary'\n};\nconst title = \"t6iqxai\";\nconst icon = \"i6varty\";\nconst link = \"ltkif27\";\nconst body = \"bz4g527\";\nconst root = \"rxcklhl\";\nconst classnames = {\n root: cx(classNames$2.headingXxs, root),\n link,\n title,\n icon,\n body: cx(link, body)\n};\n\nconst SubmenuLink = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n title,\n body,\n href,\n analyticsKey,\n promo,\n promoLabel\n } = _ref;\n const {\n LinkComponent\n } = useBookends();\n return /*#__PURE__*/jsxs(\"div\", {\n ref: ref,\n className: classnames.root,\n children: [/*#__PURE__*/jsxs(LinkComponent, {\n id: analyticsKey != null ? `bks-submenu-${analyticsKey}` : undefined,\n href: href,\n className: classnames.link,\n children: [/*#__PURE__*/jsx(Heading06, {\n component: \"div\",\n className: classnames.title,\n children: /*#__PURE__*/jsx(NavLink, {\n label: title,\n promo: promo,\n promoLabel: promoLabel\n })\n }), /*#__PURE__*/jsx(\"span\", {\n className: classnames.icon,\n children: /*#__PURE__*/jsx(Glyph, {\n name: \"arrowRight\",\n size: iconStyle.height,\n color: iconStyle.color\n })\n })]\n }), body != null && /*#__PURE__*/jsx(LinkComponent, {\n href: href,\n className: classnames.body,\n tabIndex: -1,\n children: /*#__PURE__*/jsx(BodyCopy, {\n children: /*#__PURE__*/jsx(Message, {\n id: body\n })\n })\n })]\n });\n});\nSubmenuLink.displayName = 'SubmenuLink';\nvar SubmenuLink$1 = SubmenuLink;\n\nconst Submenu = _ref => {\n let {\n submenu,\n opened\n } = _ref;\n return /*#__PURE__*/jsx(SubmenuLayout$1, {\n submenu: submenu,\n opened: opened,\n children: /*#__PURE__*/jsx(Row, {\n className: classnames$1.submenu,\n children: submenu.items.map(link => /*#__PURE__*/jsx(Column, {\n xs: submenu.illustrationKey == null ? 4 : 6,\n children: /*#__PURE__*/jsx(SubmenuLink$1, {\n title: link.title,\n body: link.body,\n href: link.url,\n analyticsKey: link.analyticsKey,\n promo: link.promo,\n promoLabel: link.promoLabel\n })\n }, link.key))\n })\n });\n};\nSubmenu.displayName = 'Submenu';\nvar Submenu$1 = Submenu;\n\nfunction SubmenuContainer(_ref) {\n let {\n closeSubmenu,\n isOpen,\n submenu,\n id\n } = _ref;\n const trackDropdownHover = () => {\n dispatchGAEvent({\n hitType: 'event',\n eventCategory: 'Custom',\n eventAction: 'hover',\n eventLabel: 'bks-navlink-dropdown-hover'\n });\n };\n return /*#__PURE__*/jsx(\"div\", {\n id: `bks-subnav-${id}`,\n onMouseEnter: () => trackDropdownHover(),\n onClick: () => closeSubmenu(),\n onKeyDown: ev => ev.key === 'Enter' || ev.key === 'Escape' && closeSubmenu(),\n role: \"presentation\",\n children: /*#__PURE__*/jsx(Submenu$1, {\n submenu: submenu,\n opened: isOpen\n })\n });\n}\n\nfunction NavigationItem(_ref) {\n var _link$submenu;\n let {\n id,\n isCurrent,\n isExpanded,\n handleMouseOver,\n handleFocus,\n link,\n ...rest\n } = _ref;\n const {\n LinkComponent\n } = useBookends();\n return /*#__PURE__*/jsxs(\"span\", {\n className: classNames.divider,\n onMouseOver: handleMouseOver,\n onFocus: handleFocus,\n role: \"menuitem\",\n children: [/*#__PURE__*/jsx(LinkComponent, {\n id: `bks-navlink-${id}`,\n href: link.url,\n isNavLink: true,\n isNavLinkExact: link.exact,\n className: classNames.link,\n \"aria-current\": isCurrent ? 'page' : undefined,\n \"aria-expanded\": isExpanded,\n tabIndex: 0,\n children: /*#__PURE__*/jsx(NavLink, {\n label: link.label,\n promo: link.promo,\n promoLabel: link.promoLabel\n })\n }), (link === null || link === void 0 ? void 0 : link.submenu) != null && (link === null || link === void 0 ? void 0 : (_link$submenu = link.submenu) === null || _link$submenu === void 0 ? void 0 : _link$submenu.items.length) > 0 && /*#__PURE__*/jsx(SubmenuContainer, {\n id: id,\n submenu: link.submenu,\n ...rest\n })]\n }, `bks-nav-${id}`);\n}\n\nconst NavigationDesktop = _ref => {\n let {\n links,\n menuItemActiveIndex\n } = _ref;\n const {\n colorwaySecondary\n } = useBookends();\n const [activeIndex, setActiveIndex] = useState(-1);\n const closeSubmenu = () => setActiveIndex(-1);\n return /*#__PURE__*/jsx(Colorway, {\n colorway: colorwaySecondary,\n className: classnames$2.root,\n children: /*#__PURE__*/jsx(\"nav\", {\n role: \"menubar\",\n className: classnames$2.topmenu,\n children: /*#__PURE__*/jsx(\"div\", {\n className: classnames$2.nav,\n onMouseLeave: closeSubmenu,\n children: links.map((link, indexLink) => {\n var _ref2, _link$analyticsKey;\n const key = (_ref2 = (_link$analyticsKey = link.analyticsKey) != null ? _link$analyticsKey : link.key) != null ? _ref2 : indexLink;\n return /*#__PURE__*/jsx(NavigationItem, {\n id: key,\n isCurrent: menuItemActiveIndex === indexLink,\n isExpanded: activeIndex === indexLink,\n closeSubmenu: closeSubmenu,\n handleFocus: () => setActiveIndex(indexLink),\n handleMouseOver: () => setActiveIndex(indexLink),\n link: link,\n isOpen: activeIndex === indexLink\n }, key);\n })\n })\n })\n });\n};\nNavigationDesktop.displayName = 'NavigationDesktop';\nvar NavigationDesktop$1 = NavigationDesktop;\n\nconst HeaderDesktop = props => {\n const [, setHeight] = useHeaderHeightState();\n return /*#__PURE__*/jsx(ReactHeight, {\n onHeightReady: setHeight,\n children: /*#__PURE__*/jsxs(\"header\", {\n children: [/*#__PURE__*/jsx(MastheadDesktop$1, {}), /*#__PURE__*/jsx(NavigationDesktop$1, {\n ...props\n })]\n })\n });\n};\nHeaderDesktop.displayName = 'HeaderDesktop';\n\nexport { HeaderDesktop as default };\n","import { gu2px, useTheme } from '@uds/theme-utils';\nimport * as React from 'react';\nimport './illustration.stylesheet_1xw0u3m.css';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */ && prop.charCodeAt(1) === 110\n /* n */ && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */);\n\nfunction cx() {\n for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {\n classNames[_key] = arguments[_key];\n }\n return classNames.filter(Boolean).join(' ');\n}\n\n/**\n * This file contains an runtime version of `styled` component. Responsibilities of the component are:\n * - returns ReactElement based on HTML tag used with `styled` or custom React Component\n * - injects classNames for the returned component\n * - injects CSS variables used to define dynamic styles based on props\n */\n\n// Workaround for rest operator\nconst restOp = (obj, keysToExclude) => Object.keys(obj).filter(prop => !keysToExclude.includes(prop)).reduce((acc, curr) => Object.assign(acc, {\n [curr]: obj[curr]\n}), {}); // rest operator workaround\n\nconst warnIfInvalid = (value, componentName) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof value === 'string' ||\n // eslint-disable-next-line no-self-compare\n typeof value === 'number' && isFinite(value)) {\n return;\n }\n const stringified = typeof value === 'object' ? JSON.stringify(value) : String(value); // eslint-disable-next-line no-console\n\n console.warn(`An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`);\n }\n}; // If styled wraps custom component, that component should have className property\n\nfunction styled(tag) {\n return options => {\n if (process.env.NODE_ENV !== 'production') {\n if (Array.isArray(options)) {\n // We received a strings array since it's used as a tag\n throw new Error('Using the \"styled\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup');\n }\n }\n const render = (props, ref) => {\n const {\n as: component = tag,\n class: className\n } = props;\n const rest = restOp(props, ['as', 'class']);\n let filteredProps; // Check if it's an HTML tag and not a custom element\n\n if (typeof component === 'string' && component.indexOf('-') === -1) {\n filteredProps = {}; // eslint-disable-next-line guard-for-in\n\n for (const key in rest) {\n if (key === 'as' || index(key)) {\n // Don't pass through invalid attributes to HTML elements\n filteredProps[key] = rest[key];\n }\n }\n } else {\n filteredProps = rest;\n }\n filteredProps.ref = ref;\n filteredProps.className = cx(filteredProps.className || className, options.class);\n const {\n vars\n } = options;\n if (vars) {\n const style = {}; // eslint-disable-next-line guard-for-in\n\n for (const name in vars) {\n const variable = vars[name];\n const result = variable[0];\n const unit = variable[1] || '';\n const value = typeof result === 'function' ? result(props) : result;\n warnIfInvalid(value, options.name);\n style[`--${name}`] = `${value}${unit}`;\n }\n filteredProps.style = Object.assign(style, filteredProps.style);\n }\n if (tag.__linaria && tag !== component) {\n // If the underlying tag is a styled component, forward the `as` prop\n // Otherwise the styles from the underlying component will be ignored\n filteredProps.as = component;\n return /*#__PURE__*/React.createElement(tag, filteredProps);\n }\n return /*#__PURE__*/React.createElement(component, filteredProps);\n };\n const Result = React.forwardRef ? /*#__PURE__*/React.forwardRef(render) :\n // React.forwardRef won't available on older React versions and in Preact\n // Fallback to a innerRef prop in that case\n props => {\n const rest = restOp(props, ['innerRef']);\n return render(rest, props.innerRef);\n };\n Result.displayName = options.name; // These properties will be read by the babel plugin for interpolation\n\n Result.__linaria = {\n className: options.class,\n extends: tag\n };\n return Result;\n };\n}\nvar styled$1 = process.env.NODE_ENV !== 'production' ? new Proxy(styled, {\n get(o, prop) {\n return o(prop);\n }\n}) : styled;\n\nconst getSize = _ref => {\n let {\n iconSize,\n iconName,\n themeSpacing\n } = _ref;\n if (iconSize == null) {\n // if banner add more spacing\n const gu = /^banner/.test(iconName) ? 8 : 2;\n return `${gu2px(gu, themeSpacing)}`;\n }\n return iconSize;\n};\nconst Root = /*#__PURE__*/styled$1(\"div\")({\n name: \"Root\",\n class: \"r14nixs\",\n vars: {\n \"r14nixs-0\": [props => getSize(props), \"px\"]\n }\n});\nconst classNames = {\n remote: \"r1ccyfzc\"\n};\n\nconst baseUrl = 'https://paintbrush.heg-cp.com';\nconst createPaintbrushUrl = (icon, theme) => {\n const params = new URLSearchParams();\n Object.keys(theme.palette.illustrations).forEach(key => {\n params.append(`palette[${key}]`, theme.palette.illustrations[key]);\n });\n params.append('iconSet', theme.iconSet);\n return `${baseUrl}/illustrations/${icon}.svg?${params.toString()}`;\n};\nvar createPaintbrushUrl$1 = createPaintbrushUrl;\n\nconst Illustration = _ref => {\n let {\n icon,\n alt,\n size\n } = _ref;\n const {\n theme\n } = useTheme();\n return /*#__PURE__*/jsx(Root, {\n iconName: icon,\n iconSize: size,\n themeSpacing: theme.spacing,\n children: /*#__PURE__*/jsx(\"img\", {\n src: createPaintbrushUrl$1(icon, theme),\n alt: alt,\n className: classNames.remote\n // @ts-ignore: This is sort of supported\n ,\n importance: \"low\",\n loading: \"lazy\"\n })\n });\n};\nvar Illustration$1 = Illustration;\n\nexport { Illustration$1 as Illustration, createPaintbrushUrl$1 as createPaintbrushUrl, Illustration$1 as default };\n"],"sourceRoot":""}