{"version":3,"sources":["webpack:///../node_modules/@uds/illustrations/dist/es/illustrations.js","webpack:///../node_modules/@uds/bookends/dist/es/HeaderDesktop-22a3a172.js"],"names":["reactPropsRegex","fn","cache","arg","undefined","memoize","prop","test","charCodeAt","restOp","obj","keysToExclude","Object","keys","filter","includes","reduce","acc","curr","assign","warnIfInvalid","value","componentName","Root","tag","options","render","props","ref","as","component","class","className","rest","filteredProps","indexOf","key","_len","arguments","length","classNames","Array","_key","Boolean","join","cx","vars","style","name","variable","result","unit","__linaria","Result","innerRef","displayName","extends","styled$1","_ref","iconSize","iconName","themeSpacing","gu","getSize","createPaintbrushUrl$1","icon","theme","params","URLSearchParams","palette","illustrations","forEach","append","iconSet","toString","Illustration$1","alt","size","spacing","children","src","importance","loading","useMastheadLinks","links","messageId","intl","opened","onClick","refButton","refLinks","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","RegExp","onMenuKeyPress","e","preventDefault","onItemKeyPress","_refButton$current","focusOnSelector","classNames$1","classnames$4","MastheadDesktopLinks","linkId","isOpen","toggle","from","useIntl","popoutOpened","onKeyPress","map","_link$key2","tel","analyticsKey","href","url","formatted","MastheadDesktopLinks$1","classnames$3","AccountLinkDesktop","classname","AccountLinkDesktop$1","AccountOptionsDesktop","loggedIn","hasAccount","userDetails","linksLogged","linksLogout","refLink","AccountOptionsDesktop$1","AccountLinks","linksAccount","colorway","glyphStyle","HEADER","color","LIGHT","NEUTRAL","grey02","headerForeground","height","gu3","getGlyphStyle","showArrow","flush","AccountLinks$1","Basket","then","module","default","MastheadDesktop","contactLinks","supplementaryLinks","shortcutNav","isEcommerce","shortcut","_shortcut$analyticsKe","glyph","fallback","MastheadDesktop$1","classnames$2","divider","headingXs","classnames$1","submenuBase","SubmenuLayout","submenu","classnames","root","headingXxs","title","getClassNames","colorwaySecondary","illustrationKey","xs","body","SubmenuLayout$1","iconStyle","SubmenuLink","promo","promoLabel","LinkComponent","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","onMouseOver","onFocus","isNavLink","isNavLinkExact","exact","NavigationDesktop","menuItemActiveIndex","activeIndex","setActiveIndex","onMouseLeave","indexLink","_ref2","_link$analyticsKey","NavigationDesktop$1","HeaderDesktop","setHeight","onHeightReady"],"mappings":"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","file":"pex-static/90/72.6a27c249f10fb24f2db0.chunk.js","sourcesContent":["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 */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\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\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\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\n\nconst warnIfInvalid = (value, componentName) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof value === 'string' || // eslint-disable-next-line no-self-compare\n typeof value === 'number' && isFinite(value)) {\n return;\n }\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\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\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\n filteredProps.ref = ref;\n filteredProps.className = cx(filteredProps.className || className, options.class);\n const {\n vars\n } = options;\n\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\n filteredProps.style = Object.assign(style, filteredProps.style);\n }\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\n return /*#__PURE__*/React.createElement(component, filteredProps);\n };\n\n const Result = React.forwardRef ? /*#__PURE__*/React.forwardRef(render) : // 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}\n\nvar styled$1 = process.env.NODE_ENV !== 'production' ? new Proxy(styled, {\n get(o, prop) {\n return o(prop);\n }\n\n}) : styled;\n\nconst getSize = _ref => {\n let {\n iconSize,\n iconName,\n themeSpacing\n } = _ref;\n\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\n return iconSize;\n};\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';\n\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};\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 // @ts-ignore: This is sort of supported\n ,\n importance: \"low\",\n loading: \"lazy\"\n })\n });\n};\n\nvar Illustration$1 = Illustration;\n\nexport { Illustration$1 as Illustration, createPaintbrushUrl$1 as createPaintbrushUrl, Illustration$1 as default };\n","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-b5ec9b7e.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-739ac7e5.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 'react-query';\nimport 'browser-cookies';\nimport '@ux/drivers';\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 '@uds/hooks';\nimport '@ux/auth';\nimport 'is-uuid';\nimport '@ux/currency';\nimport '@uds/currency-symbol';\nimport './currency.stylesheet_1ps9h4b.css';\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\n const updateSelected = index => {\n var _refLinks$current$ind, _refLinks$current$ind2;\n\n setIndexDropdown(index); // focus on link selected inside of the dropdown\n\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\n const focusOnSelector = () => {\n var _refButton$current;\n\n setIndexDropdown(-1);\n onClick(); // focus on main button of the dropdown\n\n ((_refButton$current = refButton.current) === null || _refButton$current === void 0 ? void 0 : _refButton$current.firstElementChild).focus();\n };\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\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\n if (matched >= 0) {\n updateSelected(matched);\n }\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\n if (opened) {\n updateSelected(0);\n } else {\n onClick();\n }\n } else if (e.key === 'Home') {\n e.preventDefault();\n\n if (opened) {\n updateSelected(0);\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n\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\n const onItemKeyPress = e => {\n if (e.key !== 'Enter') {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n\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\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\n if (opened) {\n updateSelected(0);\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n\n if (opened) {\n updateSelected(links.length - 1);\n }\n } else {\n searchOption(e.key);\n }\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\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};\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, { ...userDetails\n }), /*#__PURE__*/jsxs(\"ul\", {\n className: classnames$3.list,\n children: [links.map((link, index) => {\n var _link$key;\n\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};\n\nAccountLinks.displayName = 'AccountLinks';\nvar AccountLinks$1 = AccountLinks;\n\nconst Basket = /*#__PURE__*/lazy(() => import('./BasketBanner-8fc574d8.js').then(module => ({\n default: module.default\n})));\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\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};\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};\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};\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\n const trackDropdownHover = () => {\n dispatchGAEvent({\n hitType: 'event',\n eventCategory: 'Custom',\n eventAction: 'hover',\n eventLabel: 'bks-navlink-dropdown-hover'\n });\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\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\n const closeSubmenu = () => setActiveIndex(-1);\n\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\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};\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, { ...props\n })]\n })\n });\n};\n\nHeaderDesktop.displayName = 'HeaderDesktop';\n\nexport { HeaderDesktop as default };\n"],"sourceRoot":""}