{"version":3,"file":"static/chunks/9797.e86c8444eae7876d.js","mappings":"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","sources":["webpack://_N_E/./src/components/common/search/SearchShortResults/index.tsx","webpack://_N_E/./src/components/common/search/SearchTooltip/index.tsx","webpack://_N_E/./src/components/common/search/SearchDesktop/index.tsx","webpack://_N_E/./src/components/common/search/SearchDesktop/SearchDesktop.module.scss","webpack://_N_E/./src/components/common/search/SearchShortResults/SearchShortResults.module.scss","webpack://_N_E/./src/components/common/search/SearchTooltip/SearchTooltip.module.scss","webpack://_N_E/./node_modules/@apollo/client/react/hooks/useReactiveVar.js"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { Link } from 'components/common/Link';\nimport { UiIcon, UiText, UiLoader } from 'znanie-uikit';\n\nimport SearchResultItem from 'components/common/search/SearchResultItem';\n\nimport { SearchResultType } from '../utils';\n\nimport { useSearchResults } from 'hooks/search/useSearchResults';\n\nimport { AnalyticsEvent, trackAnalyticsData } from 'utils/analytics';\n\nimport css from './SearchShortResults.module.scss';\n\ninterface IProps {\n phrase: string;\n}\n\nexport default function SearchShortResults({ phrase }: IProps) {\n const { data, loading } = useSearchResults({\n query: phrase,\n outputType: 'mobile',\n });\n\n const { events, content, news } = data?.search || {};\n const eventsList = events || [];\n const contentList = content || [];\n const newsList = news || [];\n\n const isResultsEmpty = () =>\n [eventsList, contentList, newsList].every((arr) => arr.length <= 0);\n\n useEffect(() => {\n trackAnalyticsData(AnalyticsEvent.SEARCH_ACTION, { phrase });\n }, [phrase]);\n\n const renderResultsGroup = (\n groupTitle: string,\n type: SearchResultType,\n list: any\n ) => (\n
\n
\n \n {groupTitle}\n \n
\n \n
\n );\n\n return (\n \n {isResultsEmpty() ? (\n \n Упс, по вашему запросу ничего не найдено\n \n ) : (\n <>\n
\n {eventsList.length > 0 &&\n renderResultsGroup(\n 'Мероприятия',\n SearchResultType.EVENT,\n eventsList\n )}\n {newsList.length > 0 &&\n renderResultsGroup('Новости', SearchResultType.POST, newsList)}\n {contentList.length > 0 &&\n renderResultsGroup(\n 'Видео',\n SearchResultType.CONTENT,\n contentList\n )}\n
\n \n \n \n Смотреть все результаты\n \n \n \n )}\n
\n );\n}\n","import { motion } from 'framer-motion';\nimport { useReactiveVar } from '@apollo/client';\nimport { UiScrollbar } from 'znanie-uikit';\n\nimport { globalSearchVar } from 'store/search';\n\nimport SearchShortResults from 'components/common/search/SearchShortResults';\n\nimport css from './SearchTooltip.module.scss';\n\ninterface IProps {\n isOverlayVisible: boolean;\n}\n\nexport default function SearchTooltip({ isOverlayVisible }: IProps) {\n const { phrase: searchPhrase } = useReactiveVar(globalSearchVar);\n\n return (\n
\n {isOverlayVisible && (\n \n )}\n {isOverlayVisible && searchPhrase && (\n \n \n
\n \n
\n \n \n )}\n
\n );\n}\n","import ReactDOM from 'react-dom';\nimport { useState, useRef, useCallback, useEffect, ChangeEvent } from 'react';\nimport debounce from 'lodash.debounce';\nimport { UiInput } from 'znanie-uikit';\nimport { useRouter } from 'next/router';\nimport { useReactiveVar } from '@apollo/client';\n\nimport SearchTooltip from 'components/common/search/SearchTooltip';\n\nimport { globalSearchVar } from 'store/search';\n\nimport { validateSpaces } from 'utils/helpers';\n\nimport css from './SearchDesktop.module.scss';\n\nexport default function SearchDesktop() {\n const [searchInputFocused, setSearchInputFocused] = useState(false);\n const [searchValue, setSearchValue] = useState('');\n\n const router = useRouter();\n\n const globalSearch = useReactiveVar(globalSearchVar);\n\n const searchInputRef = useRef(null);\n\n const debouncedSearchInputChange = useCallback(\n debounce((phrase: string) => {\n globalSearchVar({ phrase });\n }, 500),\n []\n );\n\n const handleSearchInput = (e: ChangeEvent) => {\n const value = e.target.value;\n\n setSearchValue(value);\n if (value.length >= 3) {\n debouncedSearchInputChange(value);\n }\n };\n\n const handleSearchInputCloseButton = () => {\n const emptyValue = '';\n\n setSearchValue(emptyValue);\n globalSearchVar({ phrase: emptyValue });\n };\n\n const handleEnterSearchInput = async () => {\n if (searchValue && validateSpaces(searchValue)) {\n searchInputRef?.current?.blur();\n await router.push(`/search?query=${searchValue}`);\n }\n };\n\n useEffect(() => {\n setSearchValue(globalSearch.phrase);\n document\n .getElementById('znanie-header_after-logo')\n ?.classList.add(css.wrapper);\n }, [globalSearch]);\n\n return ReactDOM.createPortal(\n
\n {\n setSearchInputFocused(true);\n }}\n onBlur={() => {\n setTimeout(() => setSearchInputFocused(false), 300);\n }}\n onChange={handleSearchInput}\n onIconClick={handleSearchInputCloseButton}\n onEnterKey={handleEnterSearchInput}\n wrapperClass={searchInputFocused ? css.onTop : ''}\n />\n \n
,\n document.getElementById('znanie-header_after-logo') as HTMLDivElement\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"SearchDesktop_wrapper__5R40V\",\"block\":\"SearchDesktop_block__eJWnh\",\"onTop\":\"SearchDesktop_onTop__zB08X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"resultsGroup\":\"SearchShortResults_resultsGroup__Z7r1r\",\"resultsList\":\"SearchShortResults_resultsList__N3Maw\",\"resultsListItem\":\"SearchShortResults_resultsListItem__mI_vh\",\"more\":\"SearchShortResults_more__mwuAD\",\"moreText\":\"SearchShortResults_moreText__EtZrZ\",\"emptyResults\":\"SearchShortResults_emptyResults__LhYRQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"SearchTooltip_block__g2flf\",\"overlay\":\"SearchTooltip_overlay__pWtJ3\",\"content\":\"SearchTooltip_content__UMgRf\",\"contentScroll\":\"SearchTooltip_contentScroll__vYcRx\",\"contentInner\":\"SearchTooltip_contentInner__76l6l\"};","import { useEffect, useState } from 'react';\nexport function useReactiveVar(rv) {\n var value = rv();\n var setValue = useState(value)[1];\n useEffect(function () {\n var probablySameValue = rv();\n if (value !== probablySameValue) {\n setValue(probablySameValue);\n }\n else {\n return rv.onNextChange(setValue);\n }\n }, [value]);\n return value;\n}\n//# sourceMappingURL=useReactiveVar.js.map"],"names":["SearchShortResults","phrase","useSearchResults","query","outputType","data","loading","search","events","content","news","eventsList","contentList","newsList","useEffect","trackAnalyticsData","AnalyticsEvent","renderResultsGroup","groupTitle","type","list","div","className","css","UiText","size","color","ul","map","item","li","SearchResultItem","mode","id","UiLoader","every","arr","length","align","SearchResultType","Link","href","UiIcon","name","SearchTooltip","isOverlayVisible","useReactiveVar","globalSearchVar","motion","initial","opacity","animate","transition","duration","searchPhrase","UiScrollbar","options","autoHide","SearchDesktop","useState","router","useRouter","globalSearch","searchInputRef","useRef","debouncedSearchInputChange","useCallback","debounce","handleEnterSearchInput","searchValue","validateSpaces","current","blur","push","document","setSearchValue","getElementById","classList","add","ReactDOM","UiInput","ref","fluid","withClear","inputSize","placeholder","value","onFocus","setSearchInputFocused","onBlur","setTimeout","onChange","e","target","onIconClick","onEnterKey","wrapperClass","searchInputFocused","module","exports","rv","setValue","probablySameValue","onNextChange"],"sourceRoot":""}