{"version":3,"sources":["webpack:///./components/FaqAutocomplete/FaqAutocomplete.js","webpack:///./components/FaqAutocomplete/index.js","webpack:///./i18n/index.js"],"names":["$","jQuery","FaqAutocomplete","questionData","useState","inputWasManuallyUsed","setInputManuallyUsed","value","setValue","sortQuestions","a","b","aLower","question","toLowerCase","bLower","valueLower","queryPosA","indexOf","queryPosB","matchQuestionToTerm","item","handleSelect","questionId","$target","length","toggleClass","stop","animate","offset","top","height","id","width","items","isHighlighted","itemCls","classNames","placeholder","i18n","t","autoFocus","onClick","e","target","propTypes","PropTypes","array","isRequired","i18next","init","languages","fallbackLng","resources","sv","translation","en","ar","lv","lang","langCode","document","getElementsByTagName","getAttribute","changeLanguage"],"mappings":"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","file":"faq-autocomplete.js","sourcesContent":["import React, { useState } from 'react';\nimport Autocomplete from 'react-autocomplete';\n\nimport PropTypes from 'prop-types';\nimport i18n from '../../i18n';\nimport classNames from 'classnames';\n\n// injected by WP into window globally\nconst $ = jQuery;\n\nconst FaqAutocomplete = ({ questionData }) => {\n const [inputWasManuallyUsed, setInputManuallyUsed] = useState(false);\n const [value, setValue] = useState('');\n\n const sortQuestions = (a, b, value) => {\n const aLower = a.question.toLowerCase()\n const bLower = b.question.toLowerCase()\n const valueLower = value.toLowerCase()\n\n const queryPosA = aLower.indexOf(valueLower)\n const queryPosB = bLower.indexOf(valueLower)\n\n if (queryPosA !== queryPosB) {\n return queryPosA - queryPosB\n }\n\n return aLower < bLower ? -1 : 1;\n }\n\n const matchQuestionToTerm = (item, value) => {\n return item.question.toLowerCase().indexOf(value.toLowerCase()) !== -1;\n }\n\n const handleSelect = (questionId) => {\n const $target = $(`#${questionId}`);\n if (!$target.length) {\n return\n }\n\n $target.toggleClass('js-toggle-active');\n\n $('html, body').stop().animate({\n 'scrollTop': $target.offset().top - $target.height() * 1.5\n }, 500);\n\n setValue('');\n };\n\n return (\n <div className=\"FaqAutocomplete\">\n <Autocomplete\n getItemValue={(item) => item.id}\n items={questionData}\n shouldItemRender={matchQuestionToTerm}\n sortItems={sortQuestions}\n\n wrapperStyle={{ width: '100%' }}\n renderMenu={(items) => {\n // we do this so we can set autofocus on the input on page load\n // while not showing the autocomplete drop down before the user\n // has manually interacted with the text input (i.e. focused it manually\n // or typed a character)\n\n if(!inputWasManuallyUsed) {\n return <div/>;\n }\n\n return (\n <div className=\"FaqAutocomplete__Menu\" children={items} />\n )\n }}\n\n renderItem={(item, isHighlighted) => {\n const itemCls = classNames('FaqAutocomplete__Menu__Item', {\n 'FaqAutocomplete__Menu__Item--Highlighted': isHighlighted\n });\n\n return (\n <div key={item.id} className={itemCls}>\n {item.question}\n </div>\n );\n }}\n\n inputProps={{\n placeholder: i18n.t('faqAutocomplete.searchPlaceholder'),\n autoFocus: true,\n onClick: () => setInputManuallyUsed(true),\n }}\n value={value}\n onChange={(e) => {\n setInputManuallyUsed(true);\n setValue(e.target.value);\n }}\n onSelect={handleSelect}\n />\n </div>\n );\n}\n\nFaqAutocomplete.propTypes = {\n questionData: PropTypes.array.isRequired,\n};\n\nexport default FaqAutocomplete;\n","import FaqAutocomplete from './FaqAutocomplete';\n\nexport default FaqAutocomplete;\nexport {\n FaqAutocomplete\n};\n","/**\n * Usage:\n * import i18n from 'i18n'\n *\n * then call translate like this:\n * i18n.t('hello.world', 'Fallback')\n *\n * See: https://www.i18next.com/ for more information\n */\n\nimport i18next from 'i18next';\n\nimport sv from './translations/sv.json';\nimport en from './translations/en.json';\nimport ar from './translations/ar.json';\nimport lv from './translations/lv.json';\n\ni18next.init({\n languages: ['sv', 'en', 'ar'],\n fallbackLng: ['en'],\n resources: {\n sv: {\n translation: sv\n },\n en: {\n translation: en\n },\n ar: {\n translation: ar\n },\n lv: {\n translation: lv\n }\n }\n});\n\n// Update this to reflect what language your page should use\nconst lang = () => {\n const langCode = document.getElementsByTagName('html')[0]?.getAttribute('lang');\n return langCode;\n}\n\ni18next.changeLanguage(lang());\n\nexport default i18next;\n"],"sourceRoot":""}