{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/modules/react/HeaderSearch/StandaloneSearchBox.js","webpack://@verndale/toolkit/./src/js/modules/react/HeaderSearch/index.js","webpack://@verndale/toolkit/./src/js/modules/react/ResultsListing/components/CoveoSearchEngine.js"],"names":[],"mappings":"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","file":"scripts/8547.1b9d6179238fecfe796f.js","sourcesContent":["import React, { useState, useEffect, useId } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n buildStandaloneSearchBox,\n loadAdvancedSearchQueryActions\n} from '@coveo/headless';\n\nconst StandaloneSearchBox = ({\n engine,\n searchBtnLabel,\n searchInputPlaceholder,\n redirectUrl,\n coveoSource\n}) => {\n const [controller, setController] = useState(null);\n const [state, setState] = useState(null);\n const isEnterKey = e => e.key === 'Enter';\n\n const id = useId();\n\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(engine);\n\n const minQueryLengthForSuggestions = 3;\n\n const closeMenu = () => {\n document.querySelector('.primary-navigation__megamenu-wrapper').classList.remove('active');\n }\n\n\n useEffect(() => {\n engine?.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries({\n aq: `@source/=\"${coveoSource}\"`\n })\n );\n\n const _controller = buildStandaloneSearchBox(engine, {\n options: {\n id: 'ssb-1',\n redirectionUrl: redirectUrl\n }\n });\n setController(_controller);\n setState(_controller.state);\n _controller.subscribe(() => {\n setState(_controller.state);\n });\n }, []);\n\n const suggestionStyle = {\n cursor: 'pointer',\n };\n\n const handleSuggestionClick = (e, suggestion) => {\n e.preventDefault();\n controller.selectSuggestion(suggestion);\n };\n\n if (!state) {\n return null;\n }\n\n if (state.redirectTo) {\n const { redirectTo, value, analytics } = state;\n const data = JSON.stringify({ value, analytics });\n localStorage.setItem('coveo_standalone_search_box_data', data);\n window.location.href = redirectTo;\n return null;\n }\n\n const submitQuery = () => {\n localStorage.setItem(\n 'coveo_standalone_search_box_data',\n JSON.stringify(state.value)\n );\n\n controller.submit();\n };\n\n const handleKeyDown = e => {\n if (isEnterKey(e)) {\n closeMenu();\n submitQuery();\n }\n };\n\n const handleSuggestionsKeyDown = e => {\n if (\n e.key === 'ArrowDown' &&\n state.suggestions.length > 0 &&\n state.value?.length >= minQueryLengthForSuggestions\n ) {\n e.preventDefault();\n const focusedElement = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:focus'\n );\n const firstSuggestion = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:first-child'\n );\n const lastSuggestion = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:last-child'\n );\n\n if (focusedElement === null) {\n firstSuggestion.focus();\n } else if (focusedElement === lastSuggestion) {\n // firstSuggestion.focus();\n document\n .getElementsByClassName('standalone-searchbox__input').item(0)\n .focus();\n } else {\n focusedElement.nextSibling.focus();\n }\n }\n\n if (\n e.key === 'ArrowUp' &&\n state.suggestions.length > 0 &&\n state.value.length >= minQueryLengthForSuggestions\n ) {\n e.preventDefault();\n const focusedElement = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:focus'\n );\n const firstSuggestion = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:first-child'\n );\n const lastSuggestion = document.querySelector(\n '.header-search__search-bar .coveo-search-results__search-box-suggestion:last-child'\n );\n\n if (focusedElement === null) {\n lastSuggestion.focus();\n } else if (focusedElement === firstSuggestion) {\n // lastSuggestion.focus();\n document\n .getElementsByClassName('standalone-searchbox__input').item(0)\n .focus();\n } else {\n focusedElement.previousSibling.focus();\n }\n }\n \n }\n\n const handleSearchButtonClick = () => {\n closeMenu();\n submitQuery(); \n };\n\n const handleClearButtonClick = () => {\n controller.clear();\n };\n\n const handleInputChange = e => {\n controller.updateText(e.target.value);\n };\n\n return (\n <>\n {state && (\n
{suggestedSearchersLabel}
\n