{"version":3,"sources":["webpack:///./scripts/Components/QuickSearch/styles|lazy|/^\\.\\/.*\\.scss$/|groupOptions: {}|namespace object","webpack:///./scripts/Actions/QuickSearch.action.js","webpack:///./scripts/Components/QuickSearch/QuickSearchController.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","abortController","query","q","dispatch","getState","abort","AbortController","post","response","json","result","receive","catch","ex","catchError","error","searchError","setSearchQuery","type","QUICK_SEARCH_QUERY","payload","QUICK_SEARCH_ERROR","QUICK_SEARCH_RECEIVE","showResult","length","toggleShowFullForm","show","quickSearch","showFullForm","visible","QUICK_SEARCH_SHOW_FULL_FORM","hideResults","document","body","classList","remove","hideResult","showResults","add","handleKeyDown","event","opt","selectedItem","max","clip","index","keyCode","selectItem","trackSearch","selectedObject","url","location","href","searchUrl","searchString","undefined","window","fbq","search_string","QUICK_SEARCH_SELECT_ITEM","global","ThemeName","QuickSearchController","useDispatch","React","className","Icon","iconCode","onClick","searchIconOnClick"],"mappings":"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","file":"1250.d16947cfae9506bd7849.js","sourcesContent":["var map = {\n\t\"./alf.scss\": [\n\t\t78351,\n\t\t8351\n\t],\n\t\"./main.scss\": [\n\t\t17377,\n\t\t7377\n\t],\n\t\"./oh-poppy.scss\": [\n\t\t3123,\n\t\t3123\n\t],\n\t\"./vincent.scss\": [\n\t\t42119,\n\t\t2119\n\t],\n\t\"./wtg.scss\": [\n\t\t35026,\n\t\t5026\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 63292;\nmodule.exports = webpackAsyncContext;","import { post } from '../Services/http';\nimport {\n QUICK_SEARCH_ERROR,\n QUICK_SEARCH_QUERY,\n QUICK_SEARCH_RECEIVE,\n QUICK_SEARCH_SELECT_ITEM,\n QUICK_SEARCH_SHOW_FULL_FORM,\n} from '../constants';\nimport { catchError } from './Error.action';\n\nlet abortController;\n\nexport const query = (q) => (dispatch, getState) => {\n // abort any existing, pending request.\n // It's ok to call .abort() after the fetch has already completed, fetch simply ignores it.\n abortController && abortController.abort();\n abortController = new AbortController();\n return post('/api/quickSearch', q, abortController)\n .then((response) => response.json())\n .then((result) => dispatch(receive(result)))\n .catch((ex) => dispatch(catchError(ex, (error) => searchError(error))));\n};\n\nexport const setSearchQuery = (query) => ({\n type: QUICK_SEARCH_QUERY,\n payload: {\n query,\n },\n});\n\nexport const searchError = (error) => ({\n type: QUICK_SEARCH_ERROR,\n payload: {\n error,\n },\n});\n\nexport const receive = (result) => ({\n type: QUICK_SEARCH_RECEIVE,\n payload: {\n result,\n showResult: result && result.length > 0,\n },\n});\n\nexport const toggleShowFullForm = () => (dispatch, getState) => {\n dispatch(show(!getState().quickSearch.showFullForm));\n};\n\nconst show = (visible) => ({\n type: QUICK_SEARCH_SHOW_FULL_FORM,\n payload: {\n showFullForm: visible,\n },\n});\n\nexport const hideResults = () => (dispatch, getState) => {\n document.body.classList.remove('overlay');\n dispatch(hideResult());\n};\n\nconst hideResult = () => ({\n type: QUICK_SEARCH_SHOW_FULL_FORM,\n payload: {\n showResult: false,\n query: '',\n result: [],\n },\n});\n\nexport const showResults = () => (dispatch, getState) => {\n document.body.classList.add('overlay');\n dispatch(showResult());\n};\n\nconst showResult = () => ({\n type: QUICK_SEARCH_SHOW_FULL_FORM,\n payload: {\n showResult: true,\n },\n});\n\nexport const handleKeyDown = (event, opt) => (dispatch, getState) => {\n const { result, selectedItem } = getState().quickSearch;\n\n if (!result || !result.length) {\n return;\n }\n const max = result.length - 1,\n clip = (index) => (index < 0 ? max : index > max ? 0 : index);\n switch (event.keyCode) {\n case 38:\n dispatch(selectItem(clip(selectedItem - 1)));\n break;\n case 40:\n dispatch(selectItem(clip(selectedItem + 1)));\n break;\n case 13:\n trackSearch(opt.query);\n\n const selectedObject = result[selectedItem];\n if (selectedObject && selectedObject.url) {\n location.href = selectedObject.url;\n } else {\n location.href = opt.searchUrl;\n }\n break;\n default:\n break;\n }\n};\n\nexport const handleClickSearch = (opt) => (_, getState) => {\n const { result } = getState().quickSearch;\n trackSearch(opt.query);\n\n if (!result || !result.length) {\n return;\n }\n location.href = opt.searchUrl;\n};\n\nexport const trackSearch = (searchString) => {\n if (window.fbq != undefined) {\n fbq('track', 'Search', { search_string: searchString });\n }\n};\n\nconst selectItem = (selectedItem) => ({\n type: QUICK_SEARCH_SELECT_ITEM,\n payload: {\n selectedItem,\n },\n});\n","import React, { useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { hideResults, showResults } from '../../Actions/QuickSearch.action';\nimport Icon from '../IconBase/Icon';\nimport(`./styles/${global.ThemeName}.scss`);\nconst QuickSearchController = () => {\n const dispatch = useDispatch();\n\n const closeIconOnClick = () => {\n dispatch(hideResults());\n };\n const searchIconOnClick = () => {\n dispatch(showResults());\n };\n\n return (\n
\n
\n \n
\n
\n );\n};\n\nexport default QuickSearchController;\n"],"sourceRoot":""}