search.js.map 108 KB

1
  1. {"version":3,"file":"../pages/search.js","mappings":"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BnV,iBAAiB,CAQpBoV,+BAA6B,IAAG,iCAAiC;IAR9DpV,iBAAiB,CASpBqV,6BAA2B,IAAG,+BAA+B;IAT1DrV,iBAAiB,CAUpBsV,2BAAyB,IAAG,6BAA6B;IAVtDtV,iBAAiB,CAWpBuV,4BAA0B,IAAG,8BAA8B;GAXxDvV,iBAAiB,KAAjBA,iBAAiB;AActB,iEAAeA,iBAAiB,EAAC;;;;;;;;;ACdjC;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA","sources":["webpack://quran.com/src/pages/search.tsx","webpack://quran.com/sentry-wrapper-module","webpack://quran.com/./public/icons/caret-back.svg","webpack://quran.com/./public/icons/caret-forward.svg","webpack://quran.com/./public/icons/close.svg","webpack://quran.com/./public/icons/filter.svg","webpack://quran.com/./public/icons/trend-up.svg","webpack://quran.com/./src/components/Search/Filters/Filter.module.scss","webpack://quran.com/./src/components/Search/Filters/TranslationGroup.module.scss","webpack://quran.com/./src/components/Search/NoResults/NoResults.module.scss","webpack://quran.com/./src/components/Search/PreInput/Header/Header.module.scss","webpack://quran.com/./src/components/Search/PreInput/PreInput.module.scss","webpack://quran.com/./src/components/Search/PreInput/SearchItem.module.scss","webpack://quran.com/./src/components/Search/PreInput/SearchQuerySuggestion/SearchQuerySuggestion.module.scss","webpack://quran.com/./src/components/Search/SearchBodyContainer.module.scss","webpack://quran.com/./src/components/Search/SearchHistory/SearchHistory.module.scss","webpack://quran.com/./src/components/Search/SearchResults/SearchResultItem.module.scss","webpack://quran.com/./src/components/Search/SearchResults/SearchResults.module.scss","webpack://quran.com/./src/components/dls/Pagination/Pagination.module.scss","webpack://quran.com/./src/pages/search.module.scss","webpack://quran.com/./src/components/Search/Filters/TranslationGroup.tsx","webpack://quran.com/./src/components/Search/Filters/TranslationsFilter.tsx","webpack://quran.com/./src/components/Search/NavigationItem/index.tsx","webpack://quran.com/./src/components/Search/NoResults/index.tsx","webpack://quran.com/./src/components/Search/PreInput/Header/index.tsx","webpack://quran.com/./src/components/Search/PreInput/SearchItem.tsx","webpack://quran.com/./src/components/Search/PreInput/SearchQuerySuggestion/index.tsx","webpack://quran.com/./src/components/Search/PreInput/index.tsx","webpack://quran.com/./src/components/Search/SearchBodyContainer.tsx","webpack://quran.com/./src/components/Search/SearchHistory/index.tsx","webpack://quran.com/./src/components/Search/SearchResults/SearchResultItem.tsx","webpack://quran.com/./src/components/Search/SearchResults/index.tsx","webpack://quran.com/./src/components/dls/Pagination/Pagination.tsx","webpack://quran.com/./src/contexts/DataContext.ts","webpack://quran.com/./src/hooks/useAddQueryParamsToUrl.ts","webpack://quran.com/./src/hooks/useDebounce.ts","webpack://quran.com/./src/hooks/useGetChaptersData.ts","webpack://quran.com/./src/utils/filter-translations.ts","webpack://quran.com/./types/SearchQuerySource.ts","webpack://quran.com/external commonjs \"@reduxjs/toolkit\"","webpack://quran.com/external commonjs \"@sentry/nextjs\"","webpack://quran.com/external commonjs \"@xstate/react\"","webpack://quran.com/external commonjs \"classnames\"","webpack://quran.com/external commonjs \"fuse.js\"","webpack://quran.com/external commonjs \"humps\"","webpack://quran.com/external commonjs \"lodash/findKey\"","webpack://quran.com/external commonjs \"lodash/groupBy\"","webpack://quran.com/external commonjs \"lodash/random\"","webpack://quran.com/external commonjs \"lodash/range\"","webpack://quran.com/external commonjs \"lodash/sample\"","webpack://quran.com/external commonjs \"lodash/uniq\"","webpack://quran.com/external commonjs \"next-seo\"","webpack://quran.com/external commonjs \"next-translate/useTranslation\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/app-router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/head-manager-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/detect-domain-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/normalize-locale-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/is-plain-object.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/loadable.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/mitt.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/page-path/denormalize-page-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-path-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/compare-states.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-bot.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-dynamic.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-relative-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/path-has-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/querystring.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/remove-trailing-slash.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/resolve-rewrites.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-matcher.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-regex.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/utils.js\"","webpack://quran.com/external commonjs \"next/router\"","webpack://quran.com/external commonjs \"react\"","webpack://quran.com/external commonjs \"react-redux\"","webpack://quran.com/external commonjs \"react/jsx-runtime\"","webpack://quran.com/external commonjs \"redux-persist\"","webpack://quran.com/external commonjs \"refresh-fetch\"","webpack://quran.com/external commonjs \"xstate\"","webpack://quran.com/external commonjs \"xstate/lib/actions\"","webpack://quran.com/external module \"@radix-ui/react-checkbox\"","webpack://quran.com/external module \"@radix-ui/react-dialog\"","webpack://quran.com/external module \"@radix-ui/react-dropdown-menu\"","webpack://quran.com/external module \"@radix-ui/react-popover\"","webpack://quran.com/external module \"@radix-ui/react-separator\"","webpack://quran.com/external module \"@radix-ui/react-tooltip\"","webpack://quran.com/external module \"firebase/compat/analytics\"","webpack://quran.com/external module \"firebase/compat/app\"","webpack://quran.com/external module \"js-cookie\"","webpack://quran.com/external module \"react-joyride\"","webpack://quran.com/external module \"react-toastify\"","webpack://quran.com/external module \"swr/immutable\"","webpack://quran.com/external node-commonjs \"querystring\""],"sourcesContent":["/* eslint-disable react-func/max-lines-per-function */\n/* eslint-disable max-lines */\nimport { RefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { GetStaticProps, NextPage } from 'next';\nimport { useRouter } from 'next/router';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch } from 'react-redux';\n\nimport styles from './search.module.scss';\n\nimport { getAvailableLanguages, getAvailableTranslations } from '@/api';\nimport NextSeoWrapper from '@/components/NextSeoWrapper';\nimport TranslationsFilter from '@/components/Search/Filters/TranslationsFilter';\nimport SearchBodyContainer from '@/components/Search/SearchBodyContainer';\nimport Button, { ButtonSize, ButtonVariant } from '@/dls/Button/Button';\nimport ContentModal, { ContentModalSize } from '@/dls/ContentModal/ContentModal';\nimport Input, { InputVariant } from '@/dls/Forms/Input';\nimport useAddQueryParamsToUrl from '@/hooks/useAddQueryParamsToUrl';\nimport useDebounce from '@/hooks/useDebounce';\nimport useFocus from '@/hooks/useFocusElement';\nimport FilterIcon from '@/icons/filter.svg';\nimport SearchIcon from '@/icons/search.svg';\nimport SearchQuerySource from '@/types/SearchQuerySource';\nimport { getAllChaptersData } from '@/utils/chapter';\nimport { logButtonClick, logEvent, logValueChange } from '@/utils/eventLogger';\nimport filterTranslations from '@/utils/filter-translations';\nimport { getLanguageAlternates, toLocalizedNumber } from '@/utils/locale';\nimport { getCanonicalUrl } from '@/utils/navigation';\nimport {\n addToSearchHistory,\n getDefaultTranslationIdsByLang,\n searchGetResults,\n} from '@/utils/search';\nimport { SearchResponse } from 'types/ApiResponses';\nimport AvailableLanguage from 'types/AvailableLanguage';\nimport AvailableTranslation from 'types/AvailableTranslation';\nimport ChaptersData from 'types/ChaptersData';\n\nconst PAGE_SIZE = 10;\nconst DEBOUNCING_PERIOD_MS = 1000;\n\ntype SearchProps = {\n languages: AvailableLanguage[];\n translations: AvailableTranslation[];\n chaptersData: ChaptersData;\n};\n\nconst Search: NextPage<SearchProps> = ({ translations }): JSX.Element => {\n const { t, lang } = useTranslation('common');\n const router = useRouter();\n const [searchQuery, setSearchQuery] = useState<string>('');\n const [focusInput, searchInputRef]: [() => void, RefObject<HTMLInputElement>] = useFocus();\n const [currentPage, setCurrentPage] = useState<number>(1);\n const [selectedLanguages, setSelectedLanguages] = useState<string>('');\n const [selectedTranslations, setSelectedTranslations] = useState<string>(() => {\n return getDefaultTranslationIdsByLang(translations, lang) as string;\n });\n const [translationSearchQuery, setTranslationSearchQuery] = useState('');\n const [isContentModalOpen, setIsContentModalOpen] = useState<boolean>(false);\n const [isSearching, setIsSearching] = useState(false);\n const [hasError, setHasError] = useState(false);\n const [searchResult, setSearchResult] = useState<SearchResponse>(null);\n // Debounce search query to avoid having to call the API on every type. The API will be called once the user stops typing.\n const debouncedSearchQuery = useDebounce<string>(searchQuery, DEBOUNCING_PERIOD_MS);\n const dispatch = useDispatch();\n // the query params that we want added to the url\n const queryParams = useMemo(\n () => ({\n page: currentPage,\n languages: selectedLanguages,\n q: debouncedSearchQuery,\n translations: selectedTranslations,\n }),\n [currentPage, debouncedSearchQuery, selectedLanguages, selectedTranslations],\n );\n useAddQueryParamsToUrl('/search', queryParams);\n\n // We need this since pages that are statically optimized will be hydrated\n // without their route parameters provided, i.e query will be an empty object ({}).\n // After hydration, Next.js will trigger an update to provide the route parameters\n // in the query object. @see https://nextjs.org/docs/routing/dynamic-routes#caveats\n useEffect(() => {\n // we don't want to focus the main search input when the translation filter modal is open.\n if (router.isReady && !isContentModalOpen) {\n focusInput();\n }\n }, [focusInput, router, isContentModalOpen]);\n\n // handle when language changes\n useEffect(() => {\n setSelectedTranslations(getDefaultTranslationIdsByLang(translations, lang) as string);\n }, [lang, translations]);\n\n useEffect(() => {\n if (router.query.q || router.query.query) {\n let query = router.query.q as string;\n if (router.query.query) {\n query = router.query.query as string;\n }\n setSearchQuery(query);\n }\n\n if (router.query.page) {\n setCurrentPage(Number(router.query.page));\n }\n if (router.query.languages) {\n setSelectedLanguages(router.query.languages as string);\n }\n if (router.query.translations) {\n setSelectedTranslations(router.query.translations as string);\n }\n }, [\n router.query.q,\n router.query.query,\n router.query.page,\n router.query.languages,\n router.query.translations,\n ]);\n\n /**\n * Handle when the search query is changed.\n *\n * @param {string} newSearchQuery\n * @returns {void}\n */\n const onSearchQueryChange = (newSearchQuery: string): void => {\n setSearchQuery(newSearchQuery || '');\n };\n\n const onClearClicked = () => {\n logButtonClick('search_page_clear_query');\n setSearchQuery('');\n };\n\n /**\n * Call BE to fetch the results using the passed filters.\n *\n * @param {string} query\n * @param {number} page\n * @param {string} translation\n * @param {string} language\n */\n const getResults = useCallback(\n (query: string, page: number, translation: string, language: string) => {\n searchGetResults(\n SearchQuerySource.SearchPage,\n query,\n page,\n PAGE_SIZE,\n setIsSearching,\n setHasError,\n setSearchResult,\n language,\n translation,\n );\n },\n [],\n );\n\n // a ref to know whether this is the initial search request made when the user loads the page or not\n const isInitialSearch = useRef(true);\n\n // listen to any changes in the API params and call BE on change.\n useEffect(() => {\n // only when the search query has a value we call the API.\n if (debouncedSearchQuery) {\n // we don't want to reset pagination when the user reloads the page with a ?page={number} in the url query\n if (!isInitialSearch.current) {\n setCurrentPage(1);\n }\n\n addToSearchHistory(dispatch, debouncedSearchQuery, SearchQuerySource.SearchPage);\n\n getResults(\n debouncedSearchQuery,\n // if it is the initial search request, use the page number in the url, otherwise, reset it\n isInitialSearch.current ? currentPage : 1,\n selectedTranslations,\n selectedLanguages,\n );\n\n // if it was the initial request, update the ref\n if (isInitialSearch.current) {\n isInitialSearch.current = false;\n }\n }\n // we don't want to run this effect when currentPage is changed\n // because we are already handeling this in onPageChange\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedSearchQuery, getResults, selectedLanguages, selectedTranslations]);\n\n const onPageChange = (page: number) => {\n logEvent('search_page_number_change', { page });\n setCurrentPage(page);\n getResults(debouncedSearchQuery, page, selectedTranslations, selectedLanguages);\n };\n\n const onTranslationChange = useCallback((translationIds: string[]) => {\n // convert the array into a string\n setSelectedTranslations((prevTranslationIds) => {\n // filter out the empty strings\n const newTranslationIds = translationIds.filter((id) => id !== '').join(',');\n logValueChange('search_page_selected_translations', prevTranslationIds, newTranslationIds);\n return newTranslationIds;\n });\n // reset the current page since most probable the results will change.\n setCurrentPage(1);\n }, []);\n\n const onSearchKeywordClicked = useCallback((keyword: string) => {\n setSearchQuery(keyword);\n }, []);\n\n const navigationUrl = '/search';\n\n const formattedSelectedTranslations = useMemo(() => {\n if (!selectedTranslations) return t('search:default-translations');\n\n let selectedValueString;\n\n const selectedTranslationsArray = selectedTranslations.split(',');\n\n const firstSelectedTranslation = translations.find(\n (translation) => translation.id.toString() === selectedTranslationsArray[0],\n );\n\n if (!firstSelectedTranslation) return t('search:all-translations');\n\n if (selectedTranslationsArray.length === 1) {\n selectedValueString = firstSelectedTranslation.name;\n }\n if (selectedTranslationsArray.length === 2) {\n selectedValueString = t('settings.value-and-other', {\n value: firstSelectedTranslation?.name,\n othersCount: toLocalizedNumber(selectedTranslationsArray.length - 1, lang),\n });\n }\n if (selectedTranslationsArray.length > 2) {\n selectedValueString = t('settings.value-and-others', {\n value: firstSelectedTranslation?.name,\n othersCount: toLocalizedNumber(selectedTranslationsArray.length - 1, lang),\n });\n }\n\n return selectedValueString;\n }, [lang, selectedTranslations, t, translations]);\n\n const filteredTranslations = translationSearchQuery\n ? filterTranslations(translations, translationSearchQuery)\n : translations;\n\n const onResetButtonClicked = () => {\n logButtonClick('search_page_reset_button');\n const defaultLangTranslationIds = getDefaultTranslationIdsByLang(\n translations,\n lang,\n false,\n ) as string[];\n onTranslationChange(defaultLangTranslationIds);\n };\n\n const onTranslationSearchQueryChange = (newTranslationSearchQuery: string) => {\n logValueChange(\n 'search_page_translation_search_query',\n translationSearchQuery,\n newTranslationSearchQuery,\n );\n setTranslationSearchQuery(newTranslationSearchQuery);\n };\n\n const onTranslationSearchClearClicked = () => {\n logButtonClick('search_page_translation_search_clear');\n setTranslationSearchQuery('');\n };\n\n const onTranslationsFiltersClicked = () => {\n logButtonClick('search_page_translation_filter');\n setIsContentModalOpen(true);\n };\n\n return (\n <>\n <NextSeoWrapper\n title={\n debouncedSearchQuery !== ''\n ? t('search:search-title', {\n searchQuery: debouncedSearchQuery,\n })\n : t('search:search')\n }\n description={t('search:search-desc')}\n canonical={getCanonicalUrl(lang, navigationUrl)}\n languageAlternates={getLanguageAlternates(navigationUrl)}\n />\n <div className={styles.pageContainer}>\n <div className={styles.headerOuterContainer}>\n <div className={styles.headerInnerContainer}>\n <Input\n id=\"searchQuery\"\n prefix={<SearchIcon />}\n onChange={onSearchQueryChange}\n onClearClicked={onClearClicked}\n inputRef={searchInputRef}\n clearable\n value={searchQuery}\n disabled={isSearching}\n placeholder={t('search.title')}\n fixedWidth={false}\n variant={InputVariant.Main}\n />\n <ContentModal\n size={ContentModalSize.SMALL}\n isFixedHeight\n header={\n <div className={styles.modalContainer}>\n <div className={styles.translationSearchContainer}>\n <Input\n id=\"searchQuery\"\n prefix={<SearchIcon />}\n onChange={onTranslationSearchQueryChange}\n onClearClicked={onTranslationSearchClearClicked}\n clearable\n value={translationSearchQuery}\n placeholder={t('settings.search-translations')}\n fixedWidth={false}\n variant={InputVariant.Main}\n />\n </div>\n <Button\n className={styles.resetButton}\n variant={ButtonVariant.Ghost}\n onClick={onResetButtonClicked}\n >\n {t('search:reset')}\n </Button>\n </div>\n }\n isOpen={isContentModalOpen}\n onClose={() => setIsContentModalOpen(false)}\n >\n <TranslationsFilter\n translations={filteredTranslations}\n selectedTranslations={selectedTranslations}\n onTranslationChange={onTranslationChange}\n />\n </ContentModal>\n <div className={styles.filtersContainer}>\n <Button\n onClick={onTranslationsFiltersClicked}\n size={ButtonSize.Small}\n variant={ButtonVariant.Compact}\n prefix={<FilterIcon />}\n className={styles.filterButton}\n >\n {t('search:filter')}\n </Button>\n <div>\n {/* eslint-disable-next-line i18next/no-literal-string */}\n <span className={styles.searching}>{t('search:searching-translations')}: </span>\n {formattedSelectedTranslations}\n </div>\n </div>\n </div>\n </div>\n <div className={styles.pageBody}>\n <div className={styles.searchBodyContainer}>\n <SearchBodyContainer\n onSearchKeywordClicked={onSearchKeywordClicked}\n isSearchDrawer={false}\n searchQuery={debouncedSearchQuery}\n searchResult={searchResult}\n currentPage={currentPage}\n onPageChange={onPageChange}\n pageSize={PAGE_SIZE}\n isSearching={isSearching}\n hasError={hasError}\n />\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport const getStaticProps: GetStaticProps = async ({ locale }) => {\n const [availableLanguagesResponse, availableTranslationsResponse] = await Promise.all([\n getAvailableLanguages(locale),\n getAvailableTranslations(locale),\n ]);\n\n let translations = [];\n let languages = [];\n if (availableLanguagesResponse.status !== 500) {\n const { languages: responseLanguages } = availableLanguagesResponse;\n languages = responseLanguages;\n }\n if (availableTranslationsResponse.status !== 500) {\n const { translations: responseTranslations } = availableTranslationsResponse;\n translations = responseTranslations;\n }\n const chaptersData = await getAllChaptersData(locale);\n\n return {\n props: {\n chaptersData,\n languages,\n translations,\n },\n };\n};\n\nexport default Search;\n","import * as Sentry from '@sentry/nextjs';\nimport * as serverComponentModule from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\nexport * from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\n\n/*\n * This file is a template for the code which will be substituted when our webpack loader handles non-API files in the\n * `pages/` directory.\n *\n * We use `__SENTRY_WRAPPING_TARGET_FILE__.cjs` as a placeholder for the path to the file being wrapped. Because it's not a real package,\n * this causes both TS and ESLint to complain, hence the pragma comments below.\n */\n\nconst userPageModule = serverComponentModule ;\n\nconst pageComponent = userPageModule ? userPageModule.default : undefined;\n\nconst origGetInitialProps = pageComponent ? pageComponent.getInitialProps : undefined;\nconst origGetStaticProps = userPageModule ? userPageModule.getStaticProps : undefined;\nconst origGetServerSideProps = userPageModule ? userPageModule.getServerSideProps : undefined;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getInitialPropsWrappers = {\n '/_app': Sentry.wrapAppGetInitialPropsWithSentry,\n '/_document': Sentry.wrapDocumentGetInitialPropsWithSentry,\n '/_error': Sentry.wrapErrorGetInitialPropsWithSentry,\n};\n\nconst getInitialPropsWrapper = getInitialPropsWrappers['/search'] || Sentry.wrapGetInitialPropsWithSentry;\n\nif (pageComponent && typeof origGetInitialProps === 'function') {\n pageComponent.getInitialProps = getInitialPropsWrapper(origGetInitialProps) ;\n}\n\nconst getStaticProps =\n typeof origGetStaticProps === 'function'\n ? Sentry.wrapGetStaticPropsWithSentry(origGetStaticProps, '/search')\n : undefined;\nconst getServerSideProps =\n typeof origGetServerSideProps === 'function'\n ? Sentry.wrapGetServerSidePropsWithSentry(origGetServerSideProps, '/search')\n : undefined;\n\nconst pageWrapperTemplate = pageComponent ? Sentry.wrapPageComponentWithSentry(pageComponent ) : pageComponent;\n\nexport { pageWrapperTemplate as default, getServerSideProps, getStaticProps };\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCaretBack = function SvgCaretBack(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m17.25 3-10.5 9 10.5 9V3Z\",\n fill: \"currentColor\"\n })));\n};\nexport default SvgCaretBack;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCaretForward = function SvgCaretForward(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6.75 21 10.5-9-10.5-9v18Z\",\n fill: \"currentColor\"\n })));\n};\nexport default SvgCaretForward;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgClose = function SvgClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.782 4.032a.575.575 0 1 0-.813-.814L7.5 6.687 4.032 3.218a.575.575 0 0 0-.814.814L6.687 7.5l-3.469 3.468a.575.575 0 0 0 .814.814L7.5 8.313l3.469 3.469a.575.575 0 0 0 .813-.814L8.313 7.5l3.469-3.468Z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgClose;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFilter = function SvgFilter(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: \"feather feather-filter\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 3H2l8 9.46V19l4 2v-8.54L22 3z\"\n })));\n};\nexport default SvgFilter;","var _g, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTrendUp = function SvgTrendUp(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#a)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 6H13.932l4.759 4.759-4.8 5.331-5.553-5.553a1.056 1.056 0 0 0-1.494 0L1.56 15.82a1.056 1.056 0 1 0 1.494 1.494l4.537-4.537 5.594 5.594a1.054 1.054 0 0 0 1.532-.04l5.47-6.077 4.313 4.313V6Z\",\n fill: \"#000\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n transform: \"translate(.25)\",\n d: \"M0 0h24v24H0z\"\n })))));\n};\nexport default SvgTrendUp;","// Exports\nmodule.exports = {\n\t\"dropdownLabel\": \"Filter_dropdownLabel__2Oqf9\",\n\t\"comboboxItems\": \"Filter_comboboxItems__KohLK\"\n};\n","// Exports\nmodule.exports = {\n\t\"header\": \"TranslationGroup_header__i2C2P\",\n\t\"item\": \"TranslationGroup_item__uc7kH\",\n\t\"itemsContainer\": \"TranslationGroup_itemsContainer__p0HAL\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"NoResults_container__I2jHF\",\n\t\"mainBody\": \"NoResults_mainBody__GC8l_\",\n\t\"iconContainer\": \"NoResults_iconContainer__ks7uY\",\n\t\"mainMessage\": \"NoResults_mainMessage__o3ksN\",\n\t\"secondaryMessage\": \"NoResults_secondaryMessage__CNI0d\"\n};\n","// Exports\nmodule.exports = {\n\t\"header\": \"Header_header__r4qda\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"PreInput_container___K1DL\",\n\t\"popularSearchesContainer\": \"PreInput_popularSearchesContainer__30iiP\",\n\t\"popularSearchItem\": \"PreInput_popularSearchItem__R2cQD\"\n};\n","// Exports\nmodule.exports = {\n\t\"item\": \"SearchItem_item__eQZAY\",\n\t\"itemContent\": \"SearchItem_itemContent__h6vxl\",\n\t\"prefix\": \"SearchItem_prefix__SOnRa\"\n};\n","// Exports\nmodule.exports = {\n\t\"searchSuggestion\": \"SearchQuerySuggestion_searchSuggestion__BKIWB\"\n};\n","// Exports\nmodule.exports = {\n\t\"internalContainer\": \"SearchBodyContainer_internalContainer__Yb3_Y\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"SearchHistory_container__UwtT_\"\n};\n","// Exports\nmodule.exports = {\n\t\"translationName\": \"SearchResultItem_translationName__5mkDi\",\n\t\"translationContainer\": \"SearchResultItem_translationContainer__OaPZE\",\n\t\"container\": \"SearchResultItem_container__Cvqx0\",\n\t\"itemContainer\": \"SearchResultItem_itemContainer__NRd1r\",\n\t\"quranTextResult\": \"SearchResultItem_quranTextResult__texyH\",\n\t\"verseKey\": \"SearchResultItem_verseKey__dyumW\"\n};\n","// Exports\nmodule.exports = {\n\t\"resultsSummaryContainer\": \"SearchResults_resultsSummaryContainer__giFzL\",\n\t\"header\": \"SearchResults_header__WwvQ5\",\n\t\"showAll\": \"SearchResults_showAll__W5zdh\",\n\t\"navigationItemsListContainer\": \"SearchResults_navigationItemsListContainer__pt45x\",\n\t\"navigationItemContainer\": \"SearchResults_navigationItemContainer__mGz8h\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Pagination_container__lcGYl\",\n\t\"uppercase\": \"Pagination_uppercase__OgSGf\",\n\t\"buttonContainer\": \"Pagination_buttonContainer__GsblO\",\n\t\"selectedButton\": \"Pagination_selectedButton__0o6Sb\"\n};\n","// Exports\nmodule.exports = {\n\t\"pageContainer\": \"search_pageContainer__pfKhT\",\n\t\"paginationContainer\": \"search_paginationContainer__Ubx_R\",\n\t\"searchInputContainer\": \"search_searchInputContainer__a_oW9\",\n\t\"rtlFlexDirection\": \"search_rtlFlexDirection__VH_JG\",\n\t\"searchInput\": \"search_searchInput__33AwX\",\n\t\"pageBody\": \"search_pageBody__FKfdc\",\n\t\"searchBodyContainer\": \"search_searchBodyContainer__mmo7q\",\n\t\"filtersContainer\": \"search_filtersContainer__GgipQ\",\n\t\"headerInnerContainer\": \"search_headerInnerContainer__a_6bG\",\n\t\"headerOuterContainer\": \"search_headerOuterContainer__iCXA0\",\n\t\"filterButton\": \"search_filterButton__gCMTe\",\n\t\"searching\": \"search_searching__N2_so\",\n\t\"languagePopover\": \"search_languagePopover__egWCE\",\n\t\"translationPopover\": \"search_translationPopover__is8iS\",\n\t\"translationFilterContainer\": \"search_translationFilterContainer__Idt70\",\n\t\"resetButton\": \"search_resetButton__lNhvG\",\n\t\"modalContainer\": \"search_modalContainer__0tqXi\",\n\t\"translationSearchContainer\": \"search_translationSearchContainer__mRzQ9\"\n};\n","import styles from './TranslationGroup.module.scss';\n\nimport Checkbox from '@/dls/Forms/Checkbox/Checkbox';\nimport AvailableTranslation from 'types/AvailableTranslation';\n\ntype TranslationGroupProps = {\n language: string;\n translations: AvailableTranslation[];\n selectedTranslations: string[];\n onTranslationsChange: (translationsId: string[]) => void;\n};\nconst TranslationGroup = ({\n language,\n translations,\n selectedTranslations,\n onTranslationsChange,\n}: TranslationGroupProps) => {\n const areAllTranslationsSelected = translations.every((translation) =>\n selectedTranslations.includes(translation.id.toString()),\n );\n\n const areSomeTranslationsSelected = translations.some((translation) =>\n selectedTranslations.includes(translation.id.toString()),\n );\n\n const onLanguageSelected = () => {\n const nextSelectedTranslations = areAllTranslationsSelected\n ? []\n : translations.map((translation) => translation.id.toString());\n onTranslationsChange(nextSelectedTranslations);\n };\n\n const onSelectedTranslationsChange = (translationId: number) => (checked: boolean) => {\n const nextTranslations = checked\n ? [...selectedTranslations, translationId.toString()]\n : selectedTranslations.filter((id) => id !== translationId.toString());\n onTranslationsChange(nextTranslations);\n };\n\n let languageCheckboxCheckedStatus;\n if (areSomeTranslationsSelected) languageCheckboxCheckedStatus = 'indeterminate';\n if (areAllTranslationsSelected) languageCheckboxCheckedStatus = true;\n if (!areSomeTranslationsSelected && !areAllTranslationsSelected) {\n languageCheckboxCheckedStatus = false;\n }\n\n return (\n <div key={language}>\n <span className={styles.header}>\n <Checkbox\n id={language}\n checked={languageCheckboxCheckedStatus}\n label={language}\n onChange={onLanguageSelected}\n />\n </span>\n <div className={styles.itemsContainer}>\n {translations\n .sort((a: AvailableTranslation, b: AvailableTranslation) =>\n a.authorName.localeCompare(b.authorName),\n )\n .map((translation: AvailableTranslation) => (\n <div key={translation.id} className={styles.item}>\n <Checkbox\n id={translation.id.toString()}\n checked={selectedTranslations.includes(translation.id.toString())}\n label={translation.translatedName.name}\n onChange={onSelectedTranslationsChange(translation.id)}\n />\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default TranslationGroup;\n","import React, { memo } from 'react';\n\nimport styles from './Filter.module.scss';\nimport TranslationGroup from './TranslationGroup';\n\nimport { getTranslationsByLanguages } from '@/utils/search';\nimport AvailableTranslation from 'types/AvailableTranslation';\n\ninterface Props {\n onTranslationChange: (translationId: string[]) => void;\n selectedTranslations: string;\n translations: AvailableTranslation[];\n}\n\nconst TranslationsFilter: React.FC<Props> = memo(\n ({ translations, selectedTranslations, onTranslationChange }) => {\n const translationsByLanguages = getTranslationsByLanguages(translations);\n return (\n <div className={styles.comboboxItems}>\n {Object.entries(translationsByLanguages).map(([language, languageTranslations]) => {\n return (\n <TranslationGroup\n language={language}\n key={language}\n translations={languageTranslations}\n onTranslationsChange={(nextTranslations) => onTranslationChange(nextTranslations)}\n selectedTranslations={selectedTranslations.split(',')}\n />\n );\n })}\n </div>\n );\n },\n);\n\nexport default TranslationsFilter;\n","import React, { useContext } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport DataContext from '@/contexts/DataContext';\nimport Button from '@/dls/Button/Button';\nimport SearchService from '@/types/Search/SearchService';\nimport SearchQuerySource from '@/types/SearchQuerySource';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedNumber, toLocalizedVerseKey } from '@/utils/locale';\nimport { resolveUrlBySearchNavigationType } from '@/utils/navigation';\nimport { getSearchNavigationResult } from '@/utils/search';\nimport { SearchNavigationResult, SearchNavigationType } from 'types/SearchNavigationResult';\n\ninterface Props {\n navigation: SearchNavigationResult;\n isSearchDrawer: boolean;\n service?: SearchService;\n}\n\nconst NavigationItem: React.FC<Props> = ({\n navigation,\n isSearchDrawer,\n service = SearchService.QDC,\n}) => {\n const { t, lang } = useTranslation('common');\n const chaptersData = useContext(DataContext);\n const isKalimatService = service === SearchService.KALIMAT;\n const url = resolveUrlBySearchNavigationType(\n navigation.resultType,\n navigation.key,\n isKalimatService,\n );\n\n const result = isKalimatService\n ? getSearchNavigationResult(chaptersData, navigation, t, lang)\n : navigation;\n const getKalimatResultSuffix = () => {\n if (navigation.resultType === SearchNavigationType.SURAH) {\n return `(${toLocalizedNumber(Number(result.key), lang)})`;\n }\n\n if (navigation.resultType === SearchNavigationType.AYAH) {\n return `(${toLocalizedVerseKey(result.key as string, lang)})`;\n }\n\n return undefined;\n };\n\n const suffix = isKalimatService ? getKalimatResultSuffix() : `(${navigation.key})`;\n\n const onNavigationItemClicked = () => {\n logButtonClick('search_navigation_result', {\n type: navigation.resultType,\n service,\n source: isSearchDrawer ? SearchQuerySource.SearchDrawer : SearchQuerySource.SearchPage,\n });\n };\n\n return (\n <Button onClick={onNavigationItemClicked} href={url} suffix={suffix}>\n {result.name}\n </Button>\n );\n};\n\nexport default NavigationItem;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './NoResults.module.scss';\n\nimport IconSearch from '@/icons/search.svg';\n\ninterface Props {\n searchQuery: string;\n}\n\nconst NoResults: React.FC<Props> = ({ searchQuery }) => {\n const { t } = useTranslation('common');\n return (\n <>\n <div className={styles.container}>\n <div className={styles.mainBody}>\n <div className={styles.iconContainer}>\n <IconSearch />\n </div>\n <p className={styles.mainMessage}>{t('search.no-results')}</p>\n <p className={styles.secondaryMessage}>\n {t('search.no-results-suggestion', { searchQuery })}\n </p>\n </div>\n </div>\n </>\n );\n};\n\nexport default NoResults;\n","import React from 'react';\n\nimport styles from './Header.module.scss';\n\ninterface Props {\n text: string;\n}\n\nconst index: React.FC<Props> = ({ text }) => <p className={styles.header}>{text}</p>;\n\nexport default index;\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport styles from './SearchItem.module.scss';\n\nimport IconContainer, { IconColor, IconSize } from '@/dls/IconContainer/IconContainer';\n\ntype SearchItemProps = {\n prefix: React.ReactNode;\n title: string;\n suffix?: React.ReactNode;\n onClick?: () => void;\n};\n\nconst SearchItem = ({ title, prefix: icon, suffix, onClick }: SearchItemProps) => {\n return (\n <div className={styles.item}>\n <span className={styles.prefix}>\n <IconContainer size={IconSize.Small} color={IconColor.secondary} icon={icon} />\n </span>\n <span className={styles.itemContent} onClick={onClick}>\n {title}\n </span>\n {suffix && <span>{suffix}</span>}\n </div>\n );\n};\n\nexport default SearchItem;\n","import React, { MouseEvent, KeyboardEvent } from 'react';\n\nimport SearchItem from '../SearchItem';\n\nimport styles from './SearchQuerySuggestion.module.scss';\n\nimport Button, { ButtonShape, ButtonSize, ButtonVariant } from '@/dls/Button/Button';\nimport CloseIcon from '@/icons/close.svg';\nimport SearchIcon from '@/icons/search.svg';\n\ninterface Props {\n searchQuery: string;\n onSearchKeywordClicked: (searchQuery: string) => void;\n onRemoveSearchQueryClicked?: (searchQuery: string) => void;\n}\n\nconst SearchQuerySuggestion: React.FC<Props> = ({\n searchQuery,\n onSearchKeywordClicked,\n onRemoveSearchQueryClicked,\n}) => {\n const onRemoveClicked = (\n event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>,\n toBeDeletedSearchQuery: string,\n ) => {\n event.stopPropagation();\n onRemoveSearchQueryClicked(toBeDeletedSearchQuery);\n };\n\n return (\n <div className={styles.searchSuggestion}>\n <SearchItem\n title={searchQuery}\n prefix={<SearchIcon />}\n onClick={() => onSearchKeywordClicked(searchQuery)}\n suffix={\n onRemoveSearchQueryClicked && (\n <Button\n shape={ButtonShape.Circle}\n onClick={(event) =>\n onRemoveClicked(\n // @ts-ignore\n event,\n searchQuery,\n )\n }\n variant={ButtonVariant.Ghost}\n size={ButtonSize.Small}\n >\n <CloseIcon />\n </Button>\n )\n }\n />\n </div>\n );\n};\n\nexport default SearchQuerySuggestion;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport Header from './Header';\nimport styles from './PreInput.module.scss';\nimport SearchItem from './SearchItem';\nimport SearchQuerySuggestion from './SearchQuerySuggestion';\n\nimport SearchHistory from '@/components/Search/SearchHistory';\nimport Link from '@/dls/Link/Link';\nimport useGetChaptersData from '@/hooks/useGetChaptersData';\nimport TrendUpIcon from '@/icons/trend-up.svg';\nimport { getChapterData } from '@/utils/chapter';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedNumber, toLocalizedVerseKey } from '@/utils/locale';\nimport { getSurahNavigationUrl } from '@/utils/navigation';\n\ninterface Props {\n onSearchKeywordClicked: (searchQuery: string) => void;\n isSearchDrawer: boolean;\n}\n\nconst POPULAR_SEARCH_QUERIES = { Mulk: 67, Noah: 71, Kahf: 18, Yaseen: 36 };\n\nconst PreInput: React.FC<Props> = ({ onSearchKeywordClicked, isSearchDrawer }) => {\n const { t, lang } = useTranslation('common');\n const chaptersData = useGetChaptersData(lang);\n if (!chaptersData) {\n return <></>;\n }\n const SEARCH_FOR_KEYWORDS = [\n `${t('juz')} ${toLocalizedNumber(1, lang)}`,\n `${t('page')} ${toLocalizedNumber(1, lang)}`,\n getChapterData(chaptersData, '36').transliteratedName,\n toLocalizedNumber(36, lang),\n toLocalizedVerseKey('2:255', lang),\n ];\n return (\n <div className={styles.container}>\n <div>\n <Header text={t('search.popular')} />\n <div>\n {Object.keys(POPULAR_SEARCH_QUERIES).map((popularSearchQuery) => {\n const chapterId = POPULAR_SEARCH_QUERIES[popularSearchQuery];\n const url = getSurahNavigationUrl(POPULAR_SEARCH_QUERIES[popularSearchQuery]);\n const chapterData = getChapterData(chaptersData, chapterId);\n return (\n <Link href={url} key={url} className={styles.popularSearchItem}>\n <SearchItem\n prefix={<TrendUpIcon />}\n title={chapterData.transliteratedName}\n key={url}\n onClick={() => {\n logButtonClick(\n `search_${\n isSearchDrawer ? 'drawer' : 'page'\n }_popular_search_${popularSearchQuery}`,\n );\n }}\n />\n </Link>\n );\n })}\n </div>\n <SearchHistory\n onSearchKeywordClicked={onSearchKeywordClicked}\n isSearchDrawer={isSearchDrawer}\n />\n <Header text={t('search.hint')} />\n {SEARCH_FOR_KEYWORDS.map((keyword, index) => {\n return (\n <SearchQuerySuggestion\n searchQuery={keyword}\n key={keyword}\n onSearchKeywordClicked={(searchQuery: string) => {\n logButtonClick(`search_${isSearchDrawer ? 'drawer' : 'page'}_search_hint_${index}`);\n onSearchKeywordClicked(searchQuery);\n }}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default PreInput;\n","import React from 'react';\n\nimport classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport NoResults from './NoResults';\nimport PreInput from './PreInput';\nimport styles from './SearchBodyContainer.module.scss';\n\nimport SearchResults from '@/components/Search/SearchResults';\nimport Spinner, { SpinnerSize } from '@/dls/Spinner/Spinner';\nimport { SearchResponse } from 'types/ApiResponses';\n\ninterface Props {\n searchQuery: string;\n isSearching: boolean;\n isSearchDrawer?: boolean;\n hasError: boolean;\n searchResult: SearchResponse;\n onSearchKeywordClicked: (keyword: string) => void;\n onSearchResultClicked?: () => void;\n currentPage?: number;\n pageSize?: number;\n onPageChange?: (page: number) => void;\n}\n\nconst SearchBodyContainer: React.FC<Props> = ({\n searchQuery,\n isSearching,\n hasError,\n searchResult,\n onSearchKeywordClicked,\n onSearchResultClicked,\n isSearchDrawer = true,\n currentPage,\n pageSize,\n onPageChange,\n}) => {\n const { t } = useTranslation('common');\n const isEmptyResponse =\n searchResult &&\n searchResult.pagination.totalRecords === 0 &&\n !searchResult.result.navigation.length;\n const isPreInputLayout =\n !searchQuery || isSearching || hasError || (!isSearching && !hasError && isEmptyResponse);\n return (\n <div\n className={classNames({\n [styles.internalContainer]: isPreInputLayout,\n })}\n >\n {!searchQuery ? (\n <PreInput onSearchKeywordClicked={onSearchKeywordClicked} isSearchDrawer={isSearchDrawer} />\n ) : (\n <>\n {isSearching ? (\n <Spinner size={SpinnerSize.Large} />\n ) : (\n <>\n {hasError && <div>{t('error.general')}</div>}\n {!hasError && searchResult && (\n <>\n {isEmptyResponse ? (\n <NoResults searchQuery={searchQuery} />\n ) : (\n <SearchResults\n onSearchResultClicked={onSearchResultClicked}\n searchResult={searchResult}\n searchQuery={searchQuery}\n isSearchDrawer={isSearchDrawer}\n currentPage={currentPage}\n onPageChange={onPageChange}\n pageSize={pageSize}\n />\n )}\n </>\n )}\n </>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default SearchBodyContainer;\n","import React, { useCallback } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport styles from './SearchHistory.module.scss';\n\nimport Header from '@/components/Search/PreInput/Header';\nimport SearchQuerySuggestion from '@/components/Search/PreInput/SearchQuerySuggestion';\nimport { removeSearchHistoryRecord, selectSearchHistory } from '@/redux/slices/Search/search';\nimport { areArraysEqual } from '@/utils/array';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ninterface Props {\n onSearchKeywordClicked: (searchQuery: string) => void;\n isSearchDrawer: boolean;\n}\n\nconst SearchHistory: React.FC<Props> = ({ onSearchKeywordClicked, isSearchDrawer }) => {\n const { t } = useTranslation('common');\n const searchHistory = useSelector(selectSearchHistory, areArraysEqual);\n const dispatch = useDispatch();\n\n const onRemoveSearchQueryClicked = useCallback(\n (searchQuery: string) => {\n // eslint-disable-next-line i18next/no-literal-string\n logButtonClick(`search_${isSearchDrawer ? 'drawer' : 'page'}_remove_query`);\n dispatch({ type: removeSearchHistoryRecord.type, payload: searchQuery });\n },\n [dispatch, isSearchDrawer],\n );\n\n // if there are no recent search queries.\n if (!searchHistory.length) {\n return <></>;\n }\n return (\n <div className={styles.container}>\n <Header text={t('search.recent')} />\n {searchHistory.map((recentSearchQuery) => (\n <SearchQuerySuggestion\n searchQuery={recentSearchQuery}\n key={`${recentSearchQuery}`}\n onSearchKeywordClicked={(searchQuery: string) => {\n logButtonClick(`search_${isSearchDrawer ? 'drawer' : 'page'}_history_item`);\n onSearchKeywordClicked(searchQuery);\n }}\n onRemoveSearchQueryClicked={onRemoveSearchQueryClicked}\n />\n ))}\n </div>\n );\n};\n\nexport default SearchHistory;\n","/* eslint-disable react/no-danger */\n\nimport React, { useMemo } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './SearchResultItem.module.scss';\n\nimport Link from '@/dls/Link/Link';\nimport QuranWord from '@/dls/QuranWord/QuranWord';\nimport useGetChaptersData from '@/hooks/useGetChaptersData';\nimport SearchService from '@/types/Search/SearchService';\nimport SearchQuerySource from '@/types/SearchQuerySource';\nimport { getChapterData } from '@/utils/chapter';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedVerseKey } from '@/utils/locale';\nimport { getChapterWithStartingVerseUrl } from '@/utils/navigation';\nimport { getChapterNumberFromKey } from '@/utils/verse';\nimport Verse from 'types/Verse';\n\ninterface Props {\n result: Verse;\n source: SearchQuerySource;\n service?: SearchService;\n}\n\nconst SearchResultItem: React.FC<Props> = ({ result, source, service = SearchService.QDC }) => {\n const { lang } = useTranslation('quran-reader');\n const localizedVerseKey = useMemo(\n () => toLocalizedVerseKey(result.verseKey, lang),\n [lang, result.verseKey],\n );\n\n const chaptersData = useGetChaptersData(lang);\n\n if (!chaptersData) return null;\n\n const chapterNumber = getChapterNumberFromKey(result.verseKey);\n const chapterData = getChapterData(chaptersData, chapterNumber.toString());\n\n const onResultItemClicked = () => {\n logButtonClick(`search_result_item`, {\n service,\n source,\n });\n };\n\n return (\n <div className={styles.container}>\n <div className={styles.itemContainer}>\n <Link\n className={styles.verseKey}\n href={getChapterWithStartingVerseUrl(result.verseKey)}\n onClick={onResultItemClicked}\n >\n {chapterData.transliteratedName} {localizedVerseKey}\n </Link>\n <div className={styles.quranTextContainer}>\n <div className={styles.quranTextResult} translate=\"no\">\n {result.words.map((word, index) => {\n return (\n <QuranWord\n isHighlighted={!!word.highlight}\n key={`${result.verseKey}:${index + 1}`}\n word={word}\n isWordByWordAllowed={false}\n isAudioHighlightingAllowed={false}\n />\n );\n })}\n </div>\n </div>\n {result.translations?.map((translation) => (\n <div key={translation.resourceId} className={styles.translationContainer}>\n <div dangerouslySetInnerHTML={{ __html: translation.text }} />\n {/* eslint-disable-next-line i18next/no-literal-string */}\n <p className={styles.translationName}> - {translation.resourceName}</p>\n </div>\n ))}\n </div>\n </div>\n );\n};\nexport default SearchResultItem;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport SearchResultItem from './SearchResultItem';\nimport styles from './SearchResults.module.scss';\n\nimport NavigationItem from '@/components/Search/NavigationItem';\nimport Link from '@/dls/Link/Link';\nimport Pagination from '@/dls/Pagination/Pagination';\nimport SearchQuerySource from '@/types/SearchQuerySource';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { toLocalizedNumber } from '@/utils/locale';\nimport { SearchResponse } from 'types/ApiResponses';\n\ninterface Props {\n searchResult: SearchResponse;\n searchQuery: string;\n isSearchDrawer?: boolean;\n currentPage?: number;\n pageSize?: number;\n onPageChange?: (page: number) => void;\n onSearchResultClicked?: () => void;\n}\n\nconst SearchResults: React.FC<Props> = ({\n searchResult,\n searchQuery,\n isSearchDrawer = true,\n currentPage,\n onPageChange,\n pageSize,\n onSearchResultClicked,\n}) => {\n const { t, lang } = useTranslation();\n return (\n <>\n <div>\n {!!searchResult.result.navigation?.length && (\n <div className={styles.navigationItemsListContainer}>\n {searchResult.result.navigation.map((navigationResult) => (\n <span className={styles.navigationItemContainer} key={navigationResult.key}>\n <NavigationItem\n isSearchDrawer={isSearchDrawer}\n navigation={navigationResult}\n service={searchResult.service}\n />\n </span>\n ))}\n </div>\n )}\n <p className={styles.header}>\n {t('common:search-results', {\n count: toLocalizedNumber(searchResult.pagination.totalRecords, lang),\n })}\n </p>\n <>\n {searchResult.result.verses.map((result) => (\n <SearchResultItem\n key={result.verseKey}\n result={result}\n source={\n isSearchDrawer ? SearchQuerySource.SearchDrawer : SearchQuerySource.SearchPage\n }\n service={searchResult.service}\n />\n ))}\n {isSearchDrawer ? (\n <div className={styles.resultsSummaryContainer}>\n <p>\n {toLocalizedNumber(searchResult.pagination.totalRecords, lang)}{' '}\n {t('common:search.results')}\n </p>\n {searchResult.pagination.totalRecords > 0 && (\n <Link\n href={`/search?query=${searchQuery}`}\n shouldPassHref\n onClick={() => {\n if (onSearchResultClicked) onSearchResultClicked();\n logButtonClick('search_drawer_show_all');\n }}\n >\n <a>\n <p className={styles.showAll}>{t('common:search.show-all')}</p>\n </a>\n </Link>\n )}\n </div>\n ) : (\n <>\n {searchQuery && (\n <Pagination\n currentPage={currentPage}\n totalCount={searchResult.pagination.totalRecords}\n onPageChange={onPageChange}\n pageSize={pageSize}\n />\n )}\n </>\n )}\n </>\n </div>\n </>\n );\n};\n\nexport default SearchResults;\n","/* eslint-disable react/no-array-index-key */\nimport React, { useMemo } from 'react';\n\nimport classNames from 'classnames';\nimport range from 'lodash/range';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './Pagination.module.scss';\n\nimport Button, { ButtonVariant } from '@/dls/Button/Button';\nimport PreviousIcon from '@/icons/caret-back.svg';\nimport NextIcon from '@/icons/caret-forward.svg';\nimport { toLocalizedNumber } from '@/utils/locale';\n\ninterface Props {\n currentPage: number;\n totalCount: number;\n onPageChange: (newPage: number) => void;\n pageSize?: number;\n siblingsCount?: number;\n showSummary?: boolean;\n}\n\nconst DOTS = '...';\nconst DEFAULT_PAGE_SIZE = 20;\nconst DEFAULT_SIBLINGS_COUNT = 1;\n\n/**\n * @param {number} start\n * @param {number} end\n * @returns {number[]}\n */\nconst generateRange = (start: number, end: number): number[] => range(start, end + 1);\nconst Pagination: React.FC<Props> = ({\n onPageChange,\n totalCount,\n currentPage,\n pageSize = DEFAULT_PAGE_SIZE,\n siblingsCount = DEFAULT_SIBLINGS_COUNT,\n showSummary = true,\n}) => {\n const { t, lang } = useTranslation('common');\n const paginationRange = useMemo(() => {\n // Math.ceil is used to round the number to the next higher integer value e.g. 0.7 gets rounded to 1, 1.1 gets rounded to 2. This ensures that we are reserving an extra page for the remaining data.\n const totalPageCount = Math.ceil(totalCount / pageSize);\n // Pages count is the sum of siblingsCount + firstPage + lastPage + currentPage + 2*DOTS\n const totalPageNumbers = siblingsCount + 5;\n // if the page numbers we want to show is >= the actual number of pages we have (e.g. only pages 1, 2), we just return the range [1..totalPageCount] without any addition like the dots before and after and first and last page since the range is too small.\n if (totalPageNumbers >= totalPageCount) {\n return generateRange(1, totalPageCount);\n }\n // Calculate left and right siblings index and make sure they are within the range 1 => totalPageCount\n const leftSiblingIndex = Math.max(currentPage - siblingsCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingsCount, totalPageCount);\n // We do not want to show dots if there is only one position left after/before the left/right page count.\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n // No left dots to be shown, but the right dots should be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingsCount;\n const leftRange = generateRange(1, leftItemCount);\n return [...leftRange, DOTS, totalPageCount];\n }\n // No right dots to be shown, but the left dots should be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingsCount;\n const rightRange = generateRange(totalPageCount - rightItemCount + 1, totalPageCount);\n return [firstPageIndex, DOTS, ...rightRange];\n }\n // the right and left dots should be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = generateRange(leftSiblingIndex, rightSiblingIndex);\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n return [];\n }, [totalCount, pageSize, siblingsCount, currentPage]);\n\n if (currentPage === 0 || paginationRange.length < 1) {\n return null;\n }\n\n const onNext = () => {\n onPageChange(currentPage + 1);\n };\n\n const onPrevious = () => {\n onPageChange(currentPage - 1);\n };\n\n const showingUntilItem = currentPage * pageSize;\n return (\n <div className={styles.container}>\n <div className={styles.buttonContainer}>\n <Button\n tooltip={t('prev')}\n variant={ButtonVariant.Ghost}\n isDisabled={currentPage === 1}\n onClick={onPrevious}\n >\n <PreviousIcon />\n </Button>\n </div>\n {paginationRange.map((pageNumber, index) => {\n if (pageNumber === DOTS) {\n return <div key={`${pageNumber}-${index}`}>{DOTS}</div>;\n }\n\n return (\n <div\n className={classNames(styles.buttonContainer, {\n [styles.selectedButton]: pageNumber === currentPage,\n })}\n key={`${pageNumber}-${index}`}\n >\n <Button\n variant={ButtonVariant.Ghost}\n onClick={() => onPageChange(pageNumber as number)}\n >\n {toLocalizedNumber(Number(pageNumber), lang)}\n </Button>\n </div>\n );\n })}\n <div className={styles.buttonContainer}>\n <Button\n tooltip={t('next')}\n variant={ButtonVariant.Ghost}\n isDisabled={currentPage === paginationRange[paginationRange.length - 1]}\n onClick={onNext}\n >\n <NextIcon />\n </Button>\n </div>\n {showSummary && (\n <p className={styles.uppercase}>\n {t('pagination-summary', {\n currentResultNumber: toLocalizedNumber(showingUntilItem - (pageSize - 1), lang),\n endOfResultNumber: toLocalizedNumber(\n totalCount < showingUntilItem ? totalCount : showingUntilItem,\n lang,\n ),\n totalNumberOfResults: toLocalizedNumber(totalCount, lang),\n })}\n </p>\n )}\n </div>\n );\n};\n\nexport default Pagination;\n","import { createContext } from 'react';\n\nimport ChaptersData from 'types/ChaptersData';\n\nconst DataContext = createContext<ChaptersData>({});\n\nexport default DataContext;\n","import { useEffect } from 'react';\n\n/**\n * A hook that appends query parameters to the url. We could've used shallow routing for Next.js\n * but it causes re-rendering to the whole app @see https://github.com/vercel/next.js/discussions/18072\n *\n * @param {string} relativeUrl the relative url e.g. '/search' for the search page.\n * @param {Record<string, unknown>} params a map of each parameter and its value that we will listen to and in the event of changing any of them, we will re-generate the url.\n */\nconst useAddQueryParamsToUrl = (relativeUrl: string, params: Record<string, unknown>) => {\n useEffect(() => {\n if (typeof window !== 'undefined') {\n let url = relativeUrl;\n let isFirstParameter = true;\n Object.keys(params).forEach((parameter) => {\n const parameterValue = params[parameter];\n // if the value of the parameter exists\n if (parameterValue) {\n url = `${url}${isFirstParameter ? '?' : '&'}${parameter}=${parameterValue}`;\n isFirstParameter = false;\n }\n });\n window.history.replaceState({ ...window.history.state, as: url, url }, '', url);\n }\n }, [relativeUrl, params]);\n};\n\nexport default useAddQueryParamsToUrl;\n","import { useState, useEffect } from 'react';\n\n/**\n * A hook that allows to debounce any fast changing value such as text input value.The debounced\n * value will only reflect the latest value when the useDebounce hook has not been called\n * for the specified time period.\n * Code inspiration from https://github.com/xnimorz/use-debounce.\n *\n * @param {T} value the value that will be debounced.\n * @param {number} delay the value of delay in milliseconds before we set the new value as the debounced value.\n * @returns {T}\n */\nconst useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n useEffect(\n () => {\n // Update debounced value only after the delay period has elapsed.\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value or delay period change or if unmount happens.\n // This is how we prevent debounced value from updating if value is changed within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n\nexport default useDebounce;\n","import { useState, useEffect } from 'react';\n\nimport { getAllChaptersData } from '@/utils/chapter';\nimport ChaptersData from 'types/ChaptersData';\n\nconst useGetChaptersData = (lang: string): ChaptersData => {\n const [chaptersData, setChaptersData] = useState<ChaptersData>(null);\n useEffect(() => {\n (async () => {\n setChaptersData(await getAllChaptersData(lang));\n })();\n }, [lang]);\n\n return chaptersData;\n};\n\nexport default useGetChaptersData;\n","import Fuse from 'fuse.js';\n\nimport AvailableTranslation from 'types/AvailableTranslation';\n\nconst filterTranslations = (\n translations: AvailableTranslation[],\n searchQuery: string,\n): AvailableTranslation[] => {\n const fuse = new Fuse(translations, {\n keys: ['name', 'languageName', 'authorName', 'translatedName.name'],\n threshold: 0.3,\n });\n\n const filteredTranslations = fuse.search(searchQuery).map(({ item }) => item);\n return filteredTranslations;\n};\n\nexport default filterTranslations;\n","enum SearchQuerySource {\n CommandBar = 'command_bar',\n SearchDrawer = 'search_drawer',\n SearchPage = 'search_page',\n TranslationSettingsDrawer = 'settings_drawer_translation',\n TafsirSettingsDrawer = 'settings_drawer_tafsir',\n ReciterPageChapterList = 'reciter_page_chapter_list',\n Tarteel = 'tarteel',\n SidebarNavigationChaptersList = 'sidebar_navigation_chapter_list',\n SidebarNavigationVersesList = 'sidebar_navigation_verse_list',\n SidebarNavigationJuzsList = 'sidebar_navigation_juz_list',\n SidebarNavigationPagesList = 'sidebar_navigation_page_list',\n}\n\nexport default SearchQuerySource;\n","module.exports = require(\"@reduxjs/toolkit\");","module.exports = require(\"@sentry/nextjs\");","module.exports = require(\"@xstate/react\");","module.exports = require(\"classnames\");","module.exports = require(\"fuse.js\");","module.exports = require(\"humps\");","module.exports = require(\"lodash/findKey\");","module.exports = require(\"lodash/groupBy\");","module.exports = require(\"lodash/random\");","module.exports = require(\"lodash/range\");","module.exports = require(\"lodash/sample\");","module.exports = require(\"lodash/uniq\");","module.exports = require(\"next-seo\");","module.exports = require(\"next-translate/useTranslation\");","module.exports = require(\"next/dist/shared/lib/app-router-context.js\");","module.exports = require(\"next/dist/shared/lib/head-manager-context.js\");","module.exports = require(\"next/dist/shared/lib/i18n/detect-domain-locale.js\");","module.exports = require(\"next/dist/shared/lib/i18n/normalize-locale-path.js\");","module.exports = require(\"next/dist/shared/lib/is-plain-object.js\");","module.exports = require(\"next/dist/shared/lib/loadable.js\");","module.exports = require(\"next/dist/shared/lib/mitt.js\");","module.exports = require(\"next/dist/shared/lib/page-path/denormalize-page-path.js\");","module.exports = require(\"next/dist/shared/lib/router-context.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-locale.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-path-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/compare-states.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-bot.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-dynamic.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-path.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-relative-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/path-has-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/querystring.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/remove-trailing-slash.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/resolve-rewrites.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-matcher.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-regex.js\");","module.exports = require(\"next/dist/shared/lib/utils.js\");","module.exports = require(\"next/router\");","module.exports = require(\"react\");","module.exports = require(\"react-redux\");","module.exports = require(\"react/jsx-runtime\");","module.exports = require(\"redux-persist\");","module.exports = require(\"refresh-fetch\");","module.exports = require(\"xstate\");","module.exports = require(\"xstate/lib/actions\");","module.exports = import(\"@radix-ui/react-checkbox\");;","module.exports = import(\"@radix-ui/react-dialog\");;","module.exports = import(\"@radix-ui/react-dropdown-menu\");;","module.exports = import(\"@radix-ui/react-popover\");;","module.exports = import(\"@radix-ui/react-separator\");;","module.exports = import(\"@radix-ui/react-tooltip\");;","module.exports = import(\"firebase/compat/analytics\");;","module.exports = import(\"firebase/compat/app\");;","module.exports = import(\"js-cookie\");;","module.exports = import(\"react-joyride\");;","module.exports = import(\"react-toastify\");;","module.exports = import(\"swr/immutable\");;","module.exports = require(\"querystring\");"],"names":["PAGE_SIZE","DEBOUNCING_PERIOD_MS","Search","translations","t","lang","useTranslation","router","useRouter","searchQuery","setSearchQuery","useState","focusInput","searchInputRef","useFocus","currentPage","setCurrentPage","selectedLanguages","setSelectedLanguages","selectedTranslations","setSelectedTranslations","getDefaultTranslationIdsByLang","translationSearchQuery","setTranslationSearchQuery","isContentModalOpen","setIsContentModalOpen","isSearching","setIsSearching","hasError","setHasError","searchResult","setSearchResult","debouncedSearchQuery","useDebounce","dispatch","useDispatch","queryParams","useMemo","page","languages","q","useAddQueryParamsToUrl","useEffect","isReady","query","Number","onSearchQueryChange","newSearchQuery","onClearClicked","logButtonClick","getResults","useCallback","translation","language","searchGetResults","SearchQuerySource","SearchPage","isInitialSearch","useRef","current","addToSearchHistory","onPageChange","logEvent","onTranslationChange","translationIds","prevTranslationIds","newTranslationIds","filter","id","join","logValueChange","onSearchKeywordClicked","keyword","navigationUrl","formattedSelectedTranslations","selectedValueString","selectedTranslationsArray","split","firstSelectedTranslation","find","toString","length","name","value","othersCount","toLocalizedNumber","filteredTranslations","filterTranslations","onResetButtonClicked","defaultLangTranslationIds","onTranslationSearchQueryChange","newTranslationSearchQuery","onTranslationSearchClearClicked","onTranslationsFiltersClicked","_jsxs","_Fragment","_jsx","NextSeoWrapper","title","description","canonical","getCanonicalUrl","languageAlternates","getLanguageAlternates","div","className","styles","pageContainer","headerOuterContainer","headerInnerContainer","Input","prefix","SearchIcon","onChange","inputRef","clearable","disabled","placeholder","fixedWidth","variant","InputVariant","Main","ContentModal","size","ContentModalSize","SMALL","isFixedHeight","header","modalContainer","translationSearchContainer","Button","resetButton","ButtonVariant","Ghost","onClick","isOpen","onClose","TranslationsFilter","filtersContainer","ButtonSize","Small","Compact","FilterIcon","filterButton","span","searching","pageBody","searchBodyContainer","SearchBodyContainer","isSearchDrawer","pageSize","getStaticProps","locale","availableLanguagesResponse","availableTranslationsResponse","Promise","all","getAvailableLanguages","getAvailableTranslations","status","responseLanguages","responseTranslations","chaptersData","getAllChaptersData","props","Checkbox","TranslationGroup","onTranslationsChange","areAllTranslationsSelected","every","includes","areSomeTranslationsSelected","some","onLanguageSelected","nextSelectedTranslations","map","onSelectedTranslationsChange","translationId","checked","nextTranslations","languageCheckboxCheckedStatus","label","itemsContainer","sort","a","b","authorName","localeCompare","item","translatedName","React","memo","getTranslationsByLanguages","translationsByLanguages","comboboxItems","Object","entries","languageTranslations","useContext","DataContext","SearchService","toLocalizedVerseKey","resolveUrlBySearchNavigationType","getSearchNavigationResult","SearchNavigationType","NavigationItem","navigation","service","QDC","isKalimatService","KALIMAT","url","resultType","key","result","getKalimatResultSuffix","SURAH","AYAH","undefined","suffix","onNavigationItemClicked","type","source","SearchDrawer","href","IconSearch","NoResults","container","mainBody","iconContainer","p","mainMessage","secondaryMessage","index","text","IconContainer","IconColor","IconSize","SearchItem","icon","color","secondary","itemContent","ButtonShape","CloseIcon","SearchQuerySuggestion","onRemoveSearchQueryClicked","onRemoveClicked","event","toBeDeletedSearchQuery","stopPropagation","searchSuggestion","shape","Circle","Header","SearchHistory","Link","useGetChaptersData","TrendUpIcon","getChapterData","getSurahNavigationUrl","POPULAR_SEARCH_QUERIES","Mulk","Noah","Kahf","Yaseen","PreInput","SEARCH_FOR_KEYWORDS","transliteratedName","keys","popularSearchQuery","chapterId","chapterData","popularSearchItem","classNames","SearchResults","Spinner","SpinnerSize","onSearchResultClicked","isEmptyResponse","pagination","totalRecords","isPreInputLayout","internalContainer","Large","useSelector","removeSearchHistoryRecord","selectSearchHistory","areArraysEqual","searchHistory","payload","recentSearchQuery","QuranWord","getChapterWithStartingVerseUrl","getChapterNumberFromKey","SearchResultItem","localizedVerseKey","verseKey","chapterNumber","onResultItemClicked","itemContainer","quranTextContainer","quranTextResult","translate","words","word","isHighlighted","highlight","isWordByWordAllowed","isAudioHighlightingAllowed","translationContainer","dangerouslySetInnerHTML","__html","translationName","resourceName","resourceId","Pagination","navigationItemsListContainer","navigationResult","navigationItemContainer","count","verses","resultsSummaryContainer","shouldPassHref","showAll","totalCount","range","PreviousIcon","NextIcon","DOTS","DEFAULT_PAGE_SIZE","DEFAULT_SIBLINGS_COUNT","generateRange","start","end","siblingsCount","showSummary","paginationRange","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","rightItemCount","rightRange","middleRange","onNext","onPrevious","showingUntilItem","buttonContainer","tooltip","isDisabled","pageNumber","selectedButton","uppercase","currentResultNumber","endOfResultNumber","totalNumberOfResults","createContext","relativeUrl","params","isFirstParameter","forEach","parameter","parameterValue","window","history","replaceState","state","as","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout","setChaptersData","Fuse","fuse","threshold","search","CommandBar","TranslationSettingsDrawer","TafsirSettingsDrawer","ReciterPageChapterList","Tarteel","SidebarNavigationChaptersList","SidebarNavigationVersesList","SidebarNavigationJuzsList","SidebarNavigationPagesList"],"sourceRoot":""}