{"version":3,"file":"static/js/493.2e021c30.chunk.js","mappings":"oMAyEA,UAnE2B,SAAC,GAA8B,IAA7BA,EAA4B,EAA5BA,UAAWC,EAAiB,EAAjBA,YAChCC,GAAOC,EAAAA,EAAAA,KACPC,GAA2BC,EAAAA,EAAAA,QAAO,MAClCC,EAAYL,EAyDlB,OAvDAM,EAAAA,EAAAA,YAAU,WAER,IAAMC,EAAeC,IACnBC,aACAA,oCAIIC,GAASC,EAAAA,EAAAA,GAAa,CAC1BC,UAAWT,EAAyBU,QACpCC,YAAab,EAAKc,cAAc,CAACC,GAAI,qCACrCC,aAAa,EACbC,WAJ0B,WAKxB,MAAO,CACL,CACEC,SAAU,eACVC,kBAAmB,qBAAEC,KAAeC,OACpCC,SAHF,YAGqB,IAATC,EAAQ,EAARA,MACR,OAAOC,EAAAA,EAAAA,GAAkB,CACvBlB,aAAAA,EACAmB,QAAS,CACP,CACErB,UAAWA,EACXsB,OAAQ,CACNH,MAAAA,EACAI,YAA2B,cAAd7B,EAA4B,EAAI,QAMvD8B,UAAW,CACTR,KADS,YACK,IAARA,EAAO,EAAPA,KACJ,OAAOA,EAAKC,WAMtBQ,SA/B0B,YA+BP,IAATC,EAAQ,EAARA,MACR,GAAIA,EAAMP,MAAO,CAEfQ,OAAOC,UAAUC,oBAAoBC,UAAUJ,EAAMP,OACrD,IAAMY,EAAc,UAAMrC,GAAN,OAAkBgC,EAAMP,MAAN,iBAAwBO,EAAMP,MAAMa,WAAW,IAAK,MAAS,IACnGC,OAAOC,SAASC,QAAQJ,OAM9B,OAAO,WACL1B,EAAO+B,aAER,KAGD,gBAAKC,MAAM,+BAAX,UACE,gBAAKC,IAAKxC,Q,sFCjED,SAASD,IACpB,IAAID,EAAO2C,EAAAA,WAAiBC,EAAAA,IAE5B,OADAC,EAAAA,EAAAA,IAAqB7C,GACdA","sources":["Blocks/AutocompleteSearch/index.js","../node_modules/react-intl/lib/src/components/useIntl.js"],"sourcesContent":["import {useIntl} from 'react-intl';\nimport {useEffect, useRef} from 'react';\nimport '@algolia/autocomplete-theme-classic';\nimport {autocomplete, getAlgoliaResults} from '@algolia/autocomplete-js';\nimport algoliasearch from \"algoliasearch/lite\";\n\nconst AutocompleteSearch = ({searchUrl, searchIndex}) => {\n  const intl = useIntl();\n  const autocompleteContainerRef = useRef(null);\n  const indexName = searchIndex;\n\n  useEffect(() => {\n    // Initialize Algolia client\n    const searchClient = algoliasearch(\n      process.env.REACT_APP_ALGOLIA_APP_ID,\n      process.env.REACT_APP_ALGOLIA_API_KEY\n    );\n\n    // Initialize Autocomplete\n    const search = autocomplete({\n      container: autocompleteContainerRef.current,\n      placeholder: intl.formatMessage({id: 'Algolia.Autocomplete.Placeholder'}),\n      openOnFocus: true,\n      getSources() {\n        return [\n          {\n            sourceId: 'destinations',\n            getItemInputValue: ({item}) => item.title,\n            getItems({query}) {\n              return getAlgoliaResults({\n                searchClient,\n                queries: [\n                  {\n                    indexName: indexName,\n                    params: {\n                      query,\n                      hitsPerPage: searchUrl === '/programs' ? 8 : 5,\n                    },\n                  },\n                ],\n              });\n            },\n            templates: {\n              item({item}) {\n                return item.title;\n              },\n            },\n          },\n        ];\n      },\n      onSubmit({state}) {\n        if (state.query) {\n          // eslint-disable-next-line no-undef\n          Drupal.behaviors.view_search_results.pushEvent(state.query);\n          const searchQueryUrl = `${searchUrl}${state.query ? `?query=${state.query.replaceAll(' ', '_')}` : ''}`;\n          window.location.replace(searchQueryUrl)\n        }\n\n      },\n    });\n\n    return () => {\n      search.destroy();\n    };\n  }, []);\n\n  return (\n    <div class=\"autocomplete-search--wrapper\">\n      <div ref={autocompleteContainerRef}/>\n    </div>\n  )\n}\n\nexport default AutocompleteSearch;\n","import * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n    var intl = React.useContext(Context);\n    invariantIntlContext(intl);\n    return intl;\n}\n"],"names":["searchUrl","searchIndex","intl","useIntl","autocompleteContainerRef","useRef","indexName","useEffect","searchClient","algoliasearch","process","search","autocomplete","container","current","placeholder","formatMessage","id","openOnFocus","getSources","sourceId","getItemInputValue","item","title","getItems","query","getAlgoliaResults","queries","params","hitsPerPage","templates","onSubmit","state","Drupal","behaviors","view_search_results","pushEvent","searchQueryUrl","replaceAll","window","location","replace","destroy","class","ref","React","Context","invariantIntlContext"],"sourceRoot":""}