{"version":3,"file":"static/chunks/9395.ecfbbec831f5f03f.js","mappings":"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","sources":["webpack://_N_E/./public/icons/grid-icon.svg","webpack://_N_E/./src/components/Header/subcomponents/SearchField/index.js"],"sourcesContent":["var _path, _path2, _path3;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgGridIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"currentColor\",\n d: \"M.5.5h19v19H.5z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"currentColor\",\n d: \"M6.863.5h6.273v19H6.863z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"currentColor\",\n d: \"M19.5 6.864v6.273H.5V6.864z\"\n })));\n}\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxOSIgaGVpZ2h0PSIxOSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPHJlY3QgeD0iNi44NjMyOCIgeT0iMC41IiB3aWR0aD0iNi4yNzI3MyIgaGVpZ2h0PSIxOSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiLz4KPHJlY3QgeD0iMTkuNSIgeT0iNi44NjM2NSIgd2lkdGg9IjYuMjcyNzMiIGhlaWdodD0iMTkiIHRyYW5zZm9ybT0icm90YXRlKDkwIDE5LjUgNi44NjM2NSkiIHN0cm9rZT0iY3VycmVudENvbG9yIi8+Cjwvc3ZnPgo=\";\nexport { SvgGridIcon as ReactComponent };","import React, { useRef, useEffect, useMemo, useCallback, useState } from \"react\";\nimport { isMobile } from \"react-device-detect\";\nimport { useRouter } from \"next/router\";\nimport PropTypes from \"prop-types\";\nimport dynamic from \"next/dynamic\";\nimport { generateQueryIsbnUrl, getSearchQueryString, parseMultipleGridIsbns } from \"common/utils\";\nimport { BULK_COMPARISON } from \"common/constants/pathRoutes\";\nimport { ACCENT } from \"common/constants/buttonTypes\";\nimport { SELL_STATE } from \"common/constants/searchTypes\";\nimport ModalTypes from \"common/constants/modalTypes\";\nimport { addErrorNotification } from \"common/notifications\";\nimport { useModalContext } from \"contexts/Modal\";\nimport { setIsScanning } from \"contexts/App/actions\";\nimport { useAppContext } from \"contexts\";\nimport { ReactComponent as GridIcon } from \"public/icons/grid-icon.svg\";\nimport * as S from \"../../Header.styled\";\nconst Tippy = dynamic(() => import(\"components/Tippy\"), {\n ssr: false\n});\nconst SearchField = ({\n searchValue,\n setSearchValue,\n activeTab\n}) => {\n const searchRef = useRef(null);\n const router = useRouter();\n const [isMobileFlag, setIsMobileFlag] = useState(false);\n const [{\n isScanning\n }, dispatch] = useAppContext();\n const {\n modalAction\n } = useModalContext();\n const isSellTabActive = useMemo(() => activeTab === SELL_STATE, [activeTab]);\n const shouldDisplayGridIcon = useMemo(() => isSellTabActive && !router.asPath.includes(BULK_COMPARISON), [isSellTabActive, router.asPath]);\n useEffect(() => {\n setIsMobileFlag(isMobile);\n }, []);\n useEffect(() => {\n // set search focus by default and by history change\n if (!isMobile && searchRef.current) {\n searchRef.current.focus();\n }\n }, [router.asPath]);\n const handleSearchSubmit = ({\n isEnterClick\n }) => {\n const parsedIsbns = parseMultipleGridIsbns({\n isbns: searchValue,\n withNotification: false\n });\n if (isSellTabActive && parsedIsbns.length > 1) {\n router.push(`${BULK_COMPARISON}${generateQueryIsbnUrl({\n isbns: parsedIsbns\n })}`);\n return;\n }\n\n // check ref value for code scanners\n if (searchValue.length || searchRef.current.value.length) {\n isEnterClick && document.activeElement.blur();\n window.dataLayer.push({\n event: \"search\",\n type: \"clickHeader\"\n });\n const isText = searchValue.match(/[a-zA-Zа-яА-Я]/g);\n router.push(getSearchQueryString({\n searchValue: searchValue || searchRef.current.value,\n activeSearchTab: !isText && activeTab\n }));\n }\n };\n const handleMultipleIsbnModal = useCallback(() => {\n modalAction({\n type: ModalTypes.MULTIPLE_ISBNS,\n title: \"Add multiple ISBNs\",\n modalStyles: {\n maxWidth: \"630px\"\n }\n });\n }, []);\n const handleKeyDown = event => {\n event.key === \"Enter\" && handleSearchSubmit({\n isEnterClick: true\n });\n };\n const onCameraSearch = useCallback(async () => {\n if (navigator && !isScanning) {\n try {\n setIsScanning({\n dispatch,\n isScanning: true\n });\n } catch (err) {\n addErrorNotification({\n msg: err.message\n });\n }\n }\n }, [isScanning]);\n return \n \n \n \n \n \n setSearchValue(event.target.value)} onKeyPress={handleKeyDown} onChange={event => {\n setSearchValue(event.target.value);\n }} />\n \n {shouldDisplayGridIcon && Add multiple ISBNs} placement=\"bottom\">\n \n \n \n }\n \n \n \n ;\n};\nSearchField.propTypes = {\n searchValue: PropTypes.string.isRequired,\n setSearchValue: PropTypes.func.isRequired,\n activeTab: PropTypes.string.isRequired\n};\nexport default SearchField;"],"names":["_path","_path2","_path3","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgGridIcon","props","width","height","fill","xmlns","stroke","d","Tippy","dynamic","ssr","searchValue","setSearchValue","activeTab","searchRef","useRef","router","useRouter","useState","isMobileFlag","setIsMobileFlag","useAppContext","isScanning","dispatch","modalAction","useModalContext","isSellTabActive","useMemo","SELL_STATE","shouldDisplayGridIcon","asPath","includes","BULK_COMPARISON","useEffect","isMobile","current","focus","handleSearchSubmit","isEnterClick","parsedIsbns","parseMultipleGridIsbns","isbns","withNotification","push","generateQueryIsbnUrl","value","document","activeElement","blur","window","dataLayer","event","type","isText","match","getSearchQueryString","activeSearchTab","handleMultipleIsbnModal","useCallback","ModalTypes","title","modalStyles","maxWidth","onCameraSearch","navigator","setIsScanning","err","addErrorNotification","msg","message","ref","placeholder","onInput","onKeyPress","onChange","onClick","interactive","content","placement","variant","ACCENT","label"],"sourceRoot":""}