{"version":3,"sources":["webpack:///./node_modules/prop-types/index.js","webpack:///./src/js/helpers/index.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./src/js/modules/headerSearch/components/Suggestions.js","webpack:///./src/js/modules/headerSearch/components/Panel.js","webpack:///./src/js/modules/headerSearch/index.js"],"names":["module","exports","gsap","registerPlugin","CSSPlugin","open","element","duration","ease","onComplete","set","height","from","Expo","close","offsetHeight","to","addUniqueIdsToArrayItems","arr","map","item","id","uuidv4","getQueryStringValues","values","queryString","document","location","search","replace","queryParameters","split","parameter","splitParameter","key","value","parameters","filter","includes","forEach","isFocusable","el","tabIndex","getAttribute","disabled","nodeName","href","rel","type","keyCode","TAB","RETURN","ESC","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","isDevice","userAgent","navigator","vendor","window","opera","test","MSStream","formDataToJson","formElement","formData","FormData","object","hasOwnProperty","Array","isArray","push","debounce","callback","wait","timerId","args","clearTimeout","setTimeout","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","uuid","byteToHex","toString","substr","offset","arguments","length","undefined","toLowerCase","TypeError","options","buf","rnds","random","i","Suggestions","title","suggestions","endpoint","searchQueryParam","suggestionsRef","useRef","toggle","useCallback","current","style","visibility","stripHtml","html","tmp","createElement","innerHTML","textContent","innerText","useEffect","className","ref","suggestion","dangerouslySetInnerHTML","__html","propTypes","Panel","isOpen","onClose","suggestionsEndpoint","placeholder","submitLabel","closeLabel","suggestionsTitle","panelRef","panelBoxRef","inputRef","inputId","useMemo","useState","keyword","setKeyword","setSuggestions","ignoreUtilFocusChanges","lastFocus","breakpoint","matchMedia","breakpoints","tabletLandscape","animatePanel","direction","panel","panelBox","timeline","anime","easing","begin","complete","focusFirstDescendant","click","add","targets","opacity","matches","translateX","translateY","body","position","top","scrollY","scrollTo","parseInt","childNodes","child","attemptFocus","focusLastDescendant","focus","e","activeElement","listener","addListener","removeListener","handleFocus","contains","target","addEventListener","removeEventListener","fetchData","Axios","method","url","params","data","onClick","stopPropagation","action","autoComplete","htmlFor","onChange","aria-label","xlinkHref","HeaderSearch","triggerLabel","setIsOpen","handleKeyboardEvents","handleClickOutside","openSearch"],"mappings":"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","file":"22.777619ccdabe59a04104.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { gsap, Expo, CSSPlugin } from 'gsap';\nimport { v4 as uuidv4 } from 'uuid';\n\ngsap.registerPlugin(CSSPlugin);\n\n/**\n * Opens an element\n *\n * @example\n * import {open} from '../helpers';\n *\n * open({ element: this.el.querySelector('.element)});\n *\n * @param {Object} element - HTML element you want to target for animation\n * @param {Number} duration - Speed of the animation\n * @param {String} ease - Ease of the animation\n * @param {Function} onComplete - On complete function\n */\nexport const open = ({\n element,\n duration = 0.4,\n ease = 'easeOut',\n onComplete\n}) => {\n gsap.set(element, { height: 'auto' });\n gsap.from(element, {\n height: 0,\n ease: Expo[ease],\n duration,\n onComplete: () => {\n onComplete && onComplete();\n }\n });\n};\n\n/**\n * Closes an element\n *\n * @example\n * import {close} from '../helpers';\n *\n * close({ element: this.el.querySelector('.element)});\n *\n * @param {Object} element - HTML element you want to target for animation\n * @param {Number} duration - Speed of the animation\n * @param {String} ease - Ease of the animation\n * @param {Function} onComplete - On complete function\n */\nexport const close = ({\n element,\n duration = 0.4,\n ease = 'easeOut',\n onComplete\n}) => {\n gsap.set(element, { height: element.offsetHeight });\n gsap.to(element, {\n height: 0,\n ease: Expo[ease],\n duration,\n onComplete: () => {\n onComplete && onComplete();\n }\n });\n};\n\n/**\n * Adds unique id to each element in the array\n * @param {Array} arr\n * @example\n * import {addUniqueIdsToArrayItems} from '../helpers';\n *\n * addUniqueIdsToArrayItems([{any: any}]);\n *\n */\nexport const addUniqueIdsToArrayItems = arr =>\n arr.map(item => ({ ...item, id: uuidv4() }));\n\nexport const getQueryStringValues = (...values) => {\n const queryString = document.location.search.replace('?', '');\n const queryParameters = queryString.split('&').map(parameter => {\n const splitParameter = parameter.split('=');\n return {\n key: splitParameter[0],\n value: splitParameter[1]\n };\n });\n if (!values) return queryParameters;\n const parameters = {};\n queryParameters\n .filter(({ key }) => values.includes(key))\n .forEach(parameter => {\n parameters[parameter.key] = parameter.value;\n });\n return parameters;\n};\n\n// /**\n// * Checks if an element is focusable\n// *\n// * @param {Object} el - HTML element you want to check if it's focusable\n// */\nexport const isFocusable = el => {\n if (\n el.tabIndex > 0 ||\n (el.tabIndex === 0 && el.getAttribute('tabIndex') !== null)\n ) {\n return true;\n }\n\n if (el.disabled) {\n return false;\n }\n\n switch (el.nodeName) {\n case 'A':\n return !!el.href && el.rel !== 'ignore';\n case 'INPUT':\n return el.type !== 'hidden' && el.type !== 'file';\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n default:\n return false;\n }\n};\n\n/**\n * Key code list object\n */\nexport const keyCode = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n SPACE: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n};\n\n// /**\n// * Checks browser is running on a native mobile device\n// */\nexport const isDevice = () => {\n const userAgent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (\n /windows phone/i.test(userAgent) ||\n /android/i.test(userAgent) ||\n (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream)\n ) {\n return true;\n }\n\n return false;\n};\n\n/**\n * Convers form data into a JSON object\n *\n * @param {Object} element - The form HTML element\n */\nexport const formDataToJson = formElement => {\n const formData = new FormData(formElement);\n const object = {};\n\n formData.forEach((value, key) => {\n if (!object.hasOwnProperty(key)) {\n object[key] = value;\n return;\n }\n if (!Array.isArray(object[key])) {\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n\n return object;\n};\n\n// /**\n// * Debounce function\n// * Delays the processing of the event\n// */\nexport const debounce = (callback, wait) => {\n let timerId;\n return (...args) => {\n clearTimeout(timerId);\n timerId = setTimeout(() => {\n callback(...args);\n }, wait);\n };\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import React, { useRef, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { open, close } from '../../../helpers';\n\nconst Suggestions = ({ title, suggestions, endpoint, searchQueryParam }) => {\n const suggestionsRef = useRef();\n\n const toggle = useCallback(() => {\n if (suggestions.length) {\n suggestionsRef.current.style.visibility = 'visible';\n open({ element: suggestionsRef.current });\n } else {\n close({\n element: suggestionsRef.current,\n onComplete: () => {\n suggestionsRef.current.style.visibility = 'hidden';\n }\n });\n }\n }, [suggestions.length]);\n\n const stripHtml = useCallback(html => {\n const tmp = document.createElement('div');\n tmp.innerHTML = html;\n return tmp.textContent || tmp.innerText || '';\n }, []);\n\n useEffect(() => {\n toggle();\n }, [toggle]);\n\n return (\n