{"version":3,"file":"search-app.js","mappings":"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WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG;WACA;WACA;WACA;WACA;WACA;;;;;WCzBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEhDA;UACA;UACA;UACA;UACA","sources":["webpack://adage.epistarterkit.web/./App/global/DTO/search.ts","webpack://adage.epistarterkit.web/./App/global/components/inputs/pagination/paginator.tsx","webpack://adage.epistarterkit.web/./App/global/components/inputs/pagination/paging-arrows.tsx","webpack://adage.epistarterkit.web/./App/global/components/inputs/pagination/paging.tsx","webpack://adage.epistarterkit.web/./App/global/components/modal.tsx","webpack://adage.epistarterkit.web/./App/global/components/results-count-message.tsx","webpack://adage.epistarterkit.web/./App/global/ducks/search-api.ts","webpack://adage.epistarterkit.web/./App/global/hooks/useOutsideClickAlerter.ts","webpack://adage.epistarterkit.web/./App/global/styles/modal-styles.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/autocomplete-result.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/did-you-mean.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/facets.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/limit-results.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/page-size-select.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/result-list.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/result.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/search-app.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/search-bar.tsx","webpack://adage.epistarterkit.web/./App/search-app/components/searched-for-text.tsx","webpack://adage.epistarterkit.web/./App/search-app/index.tsx","webpack://adage.epistarterkit.web/./App/search-app/models/epi-props.ts","webpack://adage.epistarterkit.web/webpack/bootstrap","webpack://adage.epistarterkit.web/webpack/runtime/amd options","webpack://adage.epistarterkit.web/webpack/runtime/chunk loaded","webpack://adage.epistarterkit.web/webpack/runtime/compat get default export","webpack://adage.epistarterkit.web/webpack/runtime/create fake namespace object","webpack://adage.epistarterkit.web/webpack/runtime/define property getters","webpack://adage.epistarterkit.web/webpack/runtime/global","webpack://adage.epistarterkit.web/webpack/runtime/hasOwnProperty shorthand","webpack://adage.epistarterkit.web/webpack/runtime/make namespace object","webpack://adage.epistarterkit.web/webpack/runtime/node module decorator","webpack://adage.epistarterkit.web/webpack/runtime/jsonp chunk loading","webpack://adage.epistarterkit.web/webpack/before-startup","webpack://adage.epistarterkit.web/webpack/startup","webpack://adage.epistarterkit.web/webpack/after-startup"],"sourcesContent":["export interface ISearchResultDTO {\r\n searchTerm: string;\r\n hits: ISearchResultHitDTO[];\r\n facets: IFacetDTO[];\r\n didYouMean: string;\r\n totalResults: number;\r\n}\r\n\r\nexport interface ISearchResultHitDTO {\r\n title: string;\r\n url: string;\r\n excerpt: string\r\n fileType: string;\r\n useBestBetStyling: boolean;\r\n}\r\n\r\nexport interface IFacetDTO {\r\n fieldName: string;\r\n displayName: string;\r\n facetFilterOptions: FacetFilterOption[];\r\n terms: ITermDTO[];\r\n}\r\n\r\nexport interface ITermDTO {\r\n id: number;\r\n displayName: string;\r\n fieldName: string;\r\n term: string;\r\n hits: number;\r\n selected: boolean;\r\n termFilterOptions: TermFilterOption[];\r\n icon: TermIcon;\r\n}\r\n\r\nexport enum TermIcon {\r\n PDF,\r\n WebPage\r\n}\r\n\r\nexport enum FacetFilterOption {\r\n SelectAll,\r\n ClearAll\r\n}\r\n\r\nexport enum TermFilterOption {\r\n Only\r\n}\r\n\r\nexport interface ISearchCriteriaDTO {\r\n searchText: string;\r\n pageSize: number;\r\n pageNumber: number;\r\n facets: IFacetDTO[];\r\n}\r\n\r\nexport const FILE_EXTENSION_TERM: string = \"SearchFileExtension\";","import * as React from 'react';\r\nimport { Paging } from './paging';\r\nimport { PagingArrows } from './paging-arrows';\r\n\r\ninterface IPaginationProps extends IPaginationOptions {\r\n onPageSelect(page: number): void;\r\n}\r\n\r\nexport interface IPaginationOptions {\r\n totalItems: number;\r\n pageSize: number;\r\n pageNumber: number;\r\n}\r\n\r\nexport interface IFullPaginationOptions extends IPaginationOptions {\r\n totalPages: number;\r\n}\r\n\r\n/// \r\n/// Renders pagination arrows and buttons\r\n/// \r\nexport class Paginator extends React.Component {\r\n render() {\r\n let calculatedTotalPages = Math.ceil(this.props.totalItems / this.props.pageSize);\r\n let boundedCurrentPage = this.props.pageNumber > calculatedTotalPages\r\n ? calculatedTotalPages\r\n : this.props.pageNumber;\r\n\r\n let fullPaginationOptions = {\r\n totalItems: this.props.totalItems,\r\n pageSize: this.props.pageSize,\r\n pageNumber: boundedCurrentPage,\r\n totalPages: calculatedTotalPages\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { IFullPaginationOptions } from './paginator';\r\n\r\nexport interface IPagingArrowsProps {\r\n paging: IFullPaginationOptions;\r\n isLeftArrows: boolean;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\n/// \r\n/// Renders left or right page arrow content\r\n/// \r\n/// Content text\r\nexport class PagingArrows extends React.Component {\r\n render() {\r\n if (!this.props.paging.totalItems || this.props.paging.totalItems === 0) return null;\r\n\r\n const numberOfPages = this.props.paging.totalPages;\r\n\r\n if (this.props.isLeftArrows) {\r\n const isDisabled = this.props.paging.pageNumber === 1;\r\n const classNames = \"cpg-search-pagination-arrows-item\" + (isDisabled ? \" cpg-search-pagination-arrows-disabled\" : \"\");\r\n return (\r\n
\r\n
isDisabled ? false : this.props.onPageSelect(1)}>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

First

\r\n
\r\n
isDisabled ? false : this.props.onPageSelect(this.props.paging.pageNumber - 1)}>\r\n \r\n \r\n \r\n

Previous

\r\n
\r\n\r\n
\r\n );\r\n }\r\n else {\r\n const isDisabled = this.props.paging.pageNumber === numberOfPages;\r\n const classNames = \"cpg-search-pagination-arrows-item\" + (isDisabled ? \" cpg-search-pagination-arrows-disabled\" : \"\");\r\n return (\r\n
\r\n
isDisabled ? false : this.props.onPageSelect(this.props.paging.pageNumber + 1)}>\r\n

Next

\r\n \r\n \r\n \r\n
\r\n
isDisabled ? false : this.props.onPageSelect(numberOfPages)}>\r\n

Last

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}","import * as React from 'react';\r\n//import { ISearchResult } from '../../state-helpers/search-results';\r\nimport { MathFunctions } from '../../../../global/functions/math';\r\nimport * as _ from 'lodash';\r\nimport { IFullPaginationOptions } from './paginator';\r\n\r\ninterface IPageNumber {\r\n number: number;\r\n active: boolean;\r\n}\r\n\r\nexport interface IPageButton extends IPageNumber {\r\n isLeftMost: boolean;\r\n isRightMost: boolean;\r\n isEllipsis: boolean;\r\n numberOfPages: number;\r\n}\r\n\r\nexport interface IPagingProps {\r\n numberOfButtonsToShow: number;\r\n paging: IFullPaginationOptions;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\nexport interface IPageButtonProps {\r\n page: IPageButton;\r\n key: any;\r\n onPageSelect(page: number): void;\r\n}\r\n\r\n/// \r\n/// Individual page buttons\r\n/// \r\nexport class PageButton extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n if (props.queryCurrentPage) {\r\n props.pageSelectProps(props.queryCurrentPage);\r\n }\r\n }\r\n\r\n /// \r\n /// Determines CSS class names for the button\r\n /// \r\n /// Css classes\r\n GetClasses() {\r\n var activeOrellipsis = this.props.page.active ? 'selected '\r\n : this.props.page.isEllipsis ? 'ellipsis '\r\n : '';\r\n\r\n return activeOrellipsis + 'cpg-search-pagination-buttons-item' + ' cpg-search-pagination-buttons-item-' + this.GetContent().toString();\r\n }\r\n\r\n /// \r\n /// Determines text content to display for the button\r\n /// \r\n /// Content text\r\n GetContent() {\r\n return this.props.page.isEllipsis ? '...'\r\n : this.props.page.isLeftMost ? 1\r\n : this.props.page.isRightMost ? this.props.page.numberOfPages\r\n : this.props.page.number;\r\n }\r\n\r\n render() {\r\n return (\r\n
this.props.page.isEllipsis || this.props.page.active ? false : this.props.onPageSelect(this.props.page.number)}>\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n/// \r\n/// Creates and renders collection of page buttons\r\n/// \r\nexport class Paging extends React.Component {\r\n /// \r\n /// Creates collection of page buttons to render\r\n /// \r\n /// Page buttons\r\n GetPages() {\r\n const numberOfPages = this.props.paging.totalPages;\r\n const pagesMiddle = Math.ceil(this.props.numberOfButtonsToShow / 2);\r\n const currentPage = this.props.paging.pageNumber > this.props.paging.totalPages\r\n ? this.props.paging.totalPages\r\n : this.props.paging.pageNumber;\r\n //Create list of page number objects\r\n var pageNumbers = [];\r\n for (var i = 0; i < (numberOfPages); i++) {\r\n pageNumbers[i] = { number: i + 1, active: (i + 1) === this.props.paging.pageNumber } as IPageNumber;\r\n }\r\n\r\n //Filter list to only the numbers we will display\r\n const centered = MathFunctions.getRangeCenteredAt(this.props.paging.pageNumber, this.props.numberOfButtonsToShow, pageNumbers);\r\n\r\n return centered\r\n .map((page, i) => {\r\n //Calculate page-specific attributes\r\n const isLeftMost = i === 0 && page.number !== 1;\r\n const isRightMost = page.number !== numberOfPages && page.number !== (numberOfPages - 1) && (i === centered.length - 1);\r\n\r\n const isLeftEllipsis = ((numberOfPages > this.props.numberOfButtonsToShow) && (this.props.paging.pageNumber > pagesMiddle)) && i === 1;\r\n const isRightEllipsis = ((numberOfPages > this.props.numberOfButtonsToShow) && ((numberOfPages - this.props.paging.pageNumber) > pagesMiddle)) && i === centered.length - 2;\r\n const isEllipsis = isLeftEllipsis || isRightEllipsis;\r\n\r\n const number = isLeftMost ? 1\r\n : isRightMost ? numberOfPages\r\n : page.number;\r\n\r\n return _.assign(page, {\r\n isLeftMost,\r\n isRightMost,\r\n number,\r\n numberOfPages,\r\n isEllipsis\r\n }) as IPageButton;\r\n });\r\n }\r\n\r\n renderPages = (page, i) => {\r\n return ;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.GetPages().map(this.renderPages)}\r\n
\r\n );\r\n }\r\n}\r\n\r\n","import React, { useRef } from 'react';\r\nimport { Modal } from '@material-ui/core';\r\nimport { useOutsideClickAlerter } from '../hooks/useOutsideClickAlerter';\r\nimport { modalStyles } from '../styles/modal-styles';\r\n\r\ninterface Props {\r\n open: boolean;\r\n handleClose: () => any;\r\n}\r\n\r\nexport const GenericModal = (props: React.PropsWithChildren) => {\r\n const innerModalRef = useRef(null);\r\n const classes = modalStyles();\r\n\r\n useOutsideClickAlerter(innerModalRef, props.handleClose);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};","import * as React from 'react';\r\n\r\ninterface IProps {\r\n totalResults: number;\r\n pageResults: number;\r\n pageSize: number;\r\n pageNumber: number;\r\n customClasses?: string;\r\n zeroResultsText: string;\r\n resultsText: string;\r\n query: string;\r\n \r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class ResultsCountMessage extends React.Component {\r\n\r\n get display() {\r\n const { totalResults, pageResults, pageSize, pageNumber, zeroResultsText, resultsText, query } = this.props;\r\n\r\n let result: string = '';\r\n\r\n if (!totalResults || totalResults == 0 || (totalResults <= pageSize * (pageNumber - 1))) {\r\n // Show Zero Results message if no results or out of range\r\n result = zeroResultsText;\r\n } else {\r\n const numPages = Math.ceil(totalResults / pageSize);\r\n result = resultsText\r\n .replace(\"##Total##\", totalResults.toString())\r\n .replace(\"##SearchTerm##\", `\"${query}\"`)\r\n .replace(\"##PageNumber##\", pageNumber.toString())\r\n .replace(\"##TotalPages##\", numPages.toString());\r\n }\r\n return result;\r\n }\r\n\r\n render() {\r\n const cssClasses = \"paragraph-caption \" + this.props.customClasses;\r\n return (\r\n

\r\n {this.display}\r\n

\r\n );\r\n }\r\n}","import { AnyAction } from \"redux\";\r\nimport { FetchStatus, IFetchAction } from \"../middleware/fetch-middleware\";\r\nimport { IFacetDTO, ISearchResultDTO, ISearchResultHitDTO, ISearchCriteriaDTO } from \"../DTO/search\";\r\n\r\nimport * as _ from 'lodash';\r\n\r\nexport enum SearchApiActions {\r\n GetSearchResults = 'apiSearchResultsActions/getSearchResults'\r\n}\r\n\r\nexport interface SearchApiState {\r\n results: ISearchResultDTO\r\n}\r\n\r\nconst DefaultSearchApiState: SearchApiState = {\r\n results: Object.freeze({\r\n searchTerm: '',\r\n hits: [] as ISearchResultHitDTO[],\r\n facets: [] as IFacetDTO[],\r\n didYouMean: '',\r\n totalResults: 0\r\n } as ISearchResultDTO)\r\n}\r\n\r\n\r\nexport const searchApiReducer = (state = DefaultSearchApiState, action: AnyAction) => {\r\n switch (action.type) {\r\n case SearchApiActions.GetSearchResults + FetchStatus.Complete:\r\n return { ...state, results: action.data };\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\nconst BaseUrl = '/api/v1/search';\r\nconst roleMatrix = sessionStorage?.getItem('rolesMatrix');\r\nexport const getSearchResults = (criteria: ISearchCriteriaDTO): IFetchAction => ({\r\n type: SearchApiActions.GetSearchResults,\r\n fetch: new Request(`${BaseUrl}/getResults?roleMatrix=${encodeURI(roleMatrix)}`, {\r\n method: 'POST',\r\n headers: new Headers({ 'Content-Type': 'application/json; charset=utf-8' }),\r\n body: JSON.stringify(criteria)\r\n })\r\n})\r\n\r\nconst autocompleteUrl = '/api/v1/search/autocomplete';\r\n\r\nexport const getAutocompleteResults = (searchTerm: string, size: number = 5) => {\r\n return window.fetch(`${autocompleteUrl}/${searchTerm}/${size}`)\r\n .then(function (response) {\r\n if (response.status === 504) {\r\n const errorMsg = new Error('Failed to fetch');\r\n errorMsg.message = 'Failed to fetch';\r\n throw errorMsg;\r\n } else if (response.status >= 400) {\r\n const errorMsg = new Error('Bad response');\r\n errorMsg.message = 'Bad response';\r\n throw errorMsg;\r\n }\r\n return response.json();\r\n }).then(data => data);\r\n}\r\n","import React, { useEffect } from 'react';\r\n\r\nexport function useOutsideClickAlerter(ref: React.RefObject, callback: () => any) {\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */function handleClickOutside(event) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n callback();\r\n }\r\n }\r\n\r\n // Bind the event listener\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n }, [ref]);\r\n}","import { makeStyles } from '@material-ui/core';\r\n\r\nexport const modalStyles = makeStyles((theme) => ({\r\n modalWrapper: {\r\n padding: '4rem 1.5rem',\r\n '& .modal': {\r\n '&-container': {\r\n height: '100%', \r\n \r\n },\r\n '&-inner': {\r\n height: '100%',\r\n width: '100%',\r\n maxWidth: '50rem',\r\n overflow: 'hidden',\r\n margin : '0 auto',\r\n\r\n '&-large': {\r\n maxWidth: '84rem',\r\n },\r\n\r\n '& > button': {\r\n color: 'white',\r\n alignSelf: 'flex-end',\r\n marginBottom: theme.spacing(.5),\r\n\r\n },\r\n\r\n },\r\n '&-close': {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n '&-button': {\r\n color: 'white',\r\n alignSelf: 'flex-end',\r\n marginBottom: theme.spacing(.5),\r\n background: 'transparent',\r\n padding: '0',\r\n border: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n\r\n fontFamily: 'sans-serif',\r\n '& svg': {\r\n height: '.875rem',\r\n width: '.875rem',\r\n marginLeft: theme.spacing(.5),\r\n fill: 'white',\r\n },\r\n },\r\n },\r\n '&-content': {\r\n height: '100%',\r\n '&-inner': {\r\n overflow: 'auto',\r\n borderRadius: '3px',\r\n padding: theme.spacing(1.5),\r\n background: 'white',\r\n boxShadow: '0px 12px 24px rgba(48, 48, 48, 0.3)',\r\n maxHeight:'100%',\r\n },\r\n '&-title': {\r\n marginBottom: theme.spacing(.75),\r\n },\r\n '&-subtitle': {\r\n marginBottom: theme.spacing(.5),\r\n },\r\n },\r\n '&-file-link': {\r\n marginTop: theme.spacing(1),\r\n },\r\n },\r\n\r\n },\r\n\r\n\r\n\r\n}));\r\n\r\n\r\n\r\n","import * as React from 'react';\r\n\r\ninterface IProps {\r\n option: string;\r\n searchTerm: string;\r\n passedProps: React.HTMLAttributes;\r\n}\r\n\r\n\r\nexport class AutocompleteResult extends React.Component {\r\n\r\n render() {\r\n const { option, searchTerm, passedProps } = this.props;\r\n const parts = option.split(new RegExp(`(${searchTerm.toLowerCase()})`, 'gi'));\r\n\r\n return (\r\n
  • \r\n \r\n {parts.map((part, i) =>\r\n // only match the string starting with the match\r\n \r\n {part}\r\n ,\r\n )}\r\n \r\n
  • \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { Result } from './result';\r\n\r\n\r\ninterface IProps {\r\n didYouMean: string;\r\n didYouMeanText: string;\r\n onDidYouMeanClick: () => void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n\r\nexport class DidYouMean extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n {this.props.didYouMeanText} {this.props.didYouMean}\r\n
    \r\n )\r\n }\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { Result } from './result';\r\nimport { IFacetDTO, ITermDTO, FacetFilterOption, TermFilterOption } from '../../global/DTO/search';\r\n\r\ninterface IProps {\r\n facets: IFacetDTO[];\r\n selectedTermIds: number[];\r\n refineYourResultsText: string;\r\n onlyFilterText: string;\r\n selectAllFilterText: string;\r\n clearAllFilterText: string;\r\n onTermClick: (id: number) => void;\r\n onSelectAllClick: () => void;\r\n onClearAllClick: () => void;\r\n onOnlyClick: (id: number) => void;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n\r\nexport class Facets extends React.Component {\r\n renderFacet = (value, index) => {\r\n return \r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    {this.props.refineYourResultsText}

    \r\n
    \r\n {this.props.facets.map(this.renderFacet)}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\ninterface IFacetProps {\r\n facet: IFacetDTO;\r\n selectedTermIds: number[];\r\n onlyFilterText: string;\r\n selectAllFilterText: string;\r\n clearAllFilterText: string;\r\n onTermClick: (id: number) => void;\r\n onSelectAllClick: () => void;\r\n onClearAllClick: () => void;\r\n onOnlyClick: (id: number) => void;\r\n}\r\n\r\ninterface IFacetState {\r\n\r\n}\r\n\r\nexport class Facet extends React.Component {\r\n renderTerms = (value, index) => {\r\n return id === value.id)}\r\n term={value}\r\n onTermClick={this.props.onTermClick}\r\n onOnlyClick={this.props.onOnlyClick}\r\n onlyFilterText={this.props.onlyFilterText} />\r\n }\r\n\r\n render() {\r\n const { facet, onlyFilterText, selectAllFilterText, clearAllFilterText, onTermClick, onSelectAllClick, onClearAllClick, onOnlyClick } = this.props;\r\n\r\n if (!facet.terms || facet.terms.length === 0)\r\n return null;\r\n\r\n return (\r\n
    \r\n
    {facet.displayName}
    \r\n {facet.terms.map(this.renderTerms)}\r\n\r\n
    \r\n\r\n {facet.facetFilterOptions && facet.facetFilterOptions.some(o => o === FacetFilterOption.SelectAll) &&\r\n {selectAllFilterText}\r\n }\r\n {facet.facetFilterOptions && facet.facetFilterOptions.some(o => o === FacetFilterOption.ClearAll) &&\r\n {clearAllFilterText}\r\n }\r\n
    \r\n
    \r\n )\r\n}\r\n}\r\n\r\ninterface ITermProps {\r\n term: ITermDTO;\r\n selected: boolean;\r\n onlyFilterText: string;\r\n onTermClick: (id: number) => void;\r\n onOnlyClick: (id: number) => void;\r\n}\r\n\r\ninterface ITermState {\r\n\r\n}\r\n\r\nexport class Term extends React.Component {\r\n get TermFilterOptions() {\r\n const { term, onOnlyClick, onlyFilterText } = this.props;\r\n\r\n if (term.termFilterOptions && term.termFilterOptions.some(t => t == TermFilterOption.Only))\r\n return onOnlyClick(term.id)}>{onlyFilterText}\r\n\r\n return null;\r\n }\r\n\r\n render() {\r\n const { term, onTermClick, onOnlyClick, onlyFilterText } = this.props;\r\n return (\r\n
    \r\n onTermClick(term.id)} />\r\n \r\n {/*
    */}\r\n {/* {this.TermFilterOptions}*/}\r\n {/*
    */}\r\n
    \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { Result } from './result';\r\nimport { htmlEncode } from '../../global/functions/html-encode'\r\n\r\ninterface IProps {\r\n limitResultsText: string;\r\n limitResultsThreshold: number;\r\n totalResults: number;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n\r\nexport class LimitResults extends React.Component {\r\n\r\n render() {\r\n if (this.props.totalResults > this.props.limitResultsThreshold) {\r\n return (\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (null);\r\n }\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { DropdownSelect, IDropdownOption } from '../../global/components/inputs/dropdown';\r\n\r\ninterface IProps {\r\n onPageSizSelect: (pageSize: number) => void;\r\n resultsPerPageText: string;\r\n pageSize: number;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class PageSizeSelect extends React.Component {\r\n render() {\r\n let pageSizeValues = [10, 25, 50, 100];\r\n\r\n let dropdownValues = pageSizeValues.map((value, i) => Object.freeze({\r\n id: value.toString(),\r\n display: value.toString(),\r\n })) as IDropdownOption[];\r\n\r\n let selectedValue = dropdownValues.filter(value => value.id === this.props.pageSize.toString())[0];\r\n let selectedId = selectedValue ? selectedValue.id : '';\r\n\r\n return (\r\n
    \r\n

    {this.props.resultsPerPageText}

    \r\n \r\n
    \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { Result } from './result';\r\nimport { ISearchResultHitDTO } from '../../global/DTO/search';\r\nimport { IEpiProps } from '../models/epi-props';\r\n\r\ninterface IProps {\r\n results: ISearchResultHitDTO[];\r\n epiProps: IEpiProps;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\n\r\nexport class ResultList extends React.Component {\r\n renderResults = (result =>\r\n \r\n );\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.results.map(this.renderResults)}\r\n
    \r\n )\r\n }\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { GenericModal } from '../../global/components/modal';\r\nimport { ISearchResultHitDTO } from '../../global/DTO/search';\r\nimport { IEpiProps } from '../models/epi-props';\r\n\r\ninterface IProps {\r\n result: ISearchResultHitDTO;\r\n epiProps: IEpiProps;\r\n}\r\n\r\ninterface IState {\r\n modalOpen: boolean;\r\n modalLink: string;\r\n}\r\n\r\nexport class Result extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n modalOpen: false,\r\n modalLink: '',\r\n };\r\n }\r\n\r\n setModalOpen = (modalLink: string) => {\r\n this.setState({\r\n modalOpen: true,\r\n modalLink,\r\n });\r\n }\r\n\r\n onLinkClick = (e) => {\r\n const link = e.target as HTMLAnchorElement;\r\n\r\n if (link.href?.includes(window.location.origin) && link.href?.includes('/services')) {\r\n e.preventDefault();\r\n this.setModalOpen(link.href);\r\n }\r\n }\r\n\r\n onModalClose = () => {\r\n this.setState({ modalOpen: false, modalLink: '' });\r\n }\r\n\r\n render() {\r\n var iconType = \"#icon-\" + this.props.result.fileType?.toLowerCase();\r\n var bestBetClass = this.props.result.useBestBetStyling ? \" cpg-search-results-item-best-bet\" : \"\";\r\n\r\n const newUrl = this.props.result.url?.includes('http')\r\n ? this.props.result.url\r\n : new URL(this.props.result.url, window.location.origin).href;\r\n\r\n const friendlyUrlName = newUrl?.substring(0, newUrl?.indexOf('?')) || this.props.result.url;\r\n\r\n return (\r\n
    \r\n\r\n \r\n <>\r\n

    {this.props.epiProps?.loginModalMessage || 'You must login to view this content.'}

    \r\n
    \r\n \r\n {this.props.epiProps?.loginModalContinueButtonText || 'Continue to Login'}\r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n {friendlyUrlName}\r\n
    \r\n
    \r\n )\r\n }\r\n}","import * as _ from 'lodash';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { FetchPendingAction } from '../../global/middleware/fetch-middleware';\r\nimport { getEpiProps } from '../../global/ducks/epi-api';\r\nimport { getSearchResults } from '../../global/ducks/search-api';\r\nimport { IEpiProps } from '../models/epi-props'\r\nimport { ISearchAppState } from '../index';\r\nimport { ResultList } from './result-list';\r\nimport { PageSizeSelect } from './page-size-select';\r\nimport { SearchedForText } from './searched-for-text';\r\nimport { DidYouMean } from './did-you-mean';\r\nimport { ResultsCountMessage } from '../../global/components/results-count-message';\r\nimport { Paginator } from '../../global/components/inputs/pagination/paginator'\r\nimport { ISearchResultDTO, IFacetDTO, ITermDTO, ISearchCriteriaDTO, FILE_EXTENSION_TERM } from '../../global/DTO/search';\r\nimport { LimitResults } from './limit-results';\r\nimport { Facets } from './facets';\r\nimport { SearchBar } from './search-bar';\r\n\r\ninterface IStateProps {\r\n\tepiProps: IEpiProps,\r\n\tsearchResults: ISearchResultDTO\r\n}\r\n\r\ninterface IDispatchProps {\r\n\tgetEpiProps: () => FetchPendingAction;\r\n\tgetSearchResults: (criteria: ISearchCriteriaDTO) => FetchPendingAction\r\n}\r\n\r\ninterface IOwnProps {\r\n\tcontentId: string;\r\n\tsetQueryParams: (params: { [key: string]: string[] }) => void\r\n\tinitialParams: { [key: string]: string[] }\r\n}\r\n\r\ntype IProps = IStateProps & IDispatchProps & IOwnProps;\r\n\r\ninterface IState {\r\n\tsearchText: string;\r\n\tpageSize: number;\r\n\tpageNumber: number;\r\n\tisLoading: boolean;\r\n\thasSearched: boolean;\r\n\tselectedTerms: ITermDTO[];\r\n}\r\n\r\nexport class Search extends React.Component {\r\n\tstatic defaultProps = {\r\n\t\tepiProps: {},\r\n\t\tsearchResults: {\r\n\t\t\thits: [],\r\n\t\t\ttotalResults: 0,\r\n\t\t\tfacets: [],\r\n\t\t}\r\n\t}\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\t// Grab search text and remove it from params\r\n\t\tconst searchText = props.initialParams.q && decodeURIComponent(props.initialParams.q[0]) || '';\r\n\t\tdelete props.initialParams.q;\r\n\r\n\t\tconst pageSize = props.initialParams.pageSize && +props.initialParams.pageSize[0] || 10;\r\n\t\tdelete props.initialParams.pageSize;\r\n\r\n\t\tconst pageNumber = props.initialParams.pageNumber && +props.initialParams.pageNumber[0] || 1;\r\n\t\tdelete props.initialParams.pageNumber;\r\n\r\n\t\tconst selectedTerms = props.initialParams.selectedTerms ? props.initialParams.selectedTerms.map(t => JSON.parse(decodeURIComponent(t))) : [];\r\n\t\tdelete props.initialParams.selectedTerms;\r\n\r\n\t\tthis.state = {\r\n\t\t\tsearchText,\r\n\t\t\tpageSize,\r\n\t\t\tpageNumber,\r\n\t\t\tisLoading: false,\r\n\t\t\thasSearched: false,\r\n\t\t\tselectedTerms\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.props.getEpiProps();\r\n\t\tthis.search();\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { epiProps, searchResults } = this.props;\r\n\t\tif (!this.state.hasSearched) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\t{epiProps.titleText}\r\n\t\t\t\t\t

    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{searchResults.didYouMean ?\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t: null}\r\n\r\n {this.state.hasSearched && !this.state.isLoading ?\r\n \r\n : null}\r\n
    \r\n\t\t\t\t\t\t{this.state.hasSearched && !this.state.isLoading ?\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t: null}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\t\t\t\t\t\t\t this.setPageNumber(pageNumber)} />\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t this.setPageNumber(pageNumber)} />\r\n\r\n\r\n this.setPageSize(pageSize)}\r\n pageSize={this.state.pageSize} />\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n\r\n\tonDidYouMeanClick = () => {\r\n\t\tthis.setState({ searchText: this.props.searchResults.didYouMean, pageNumber: 1 }, this.search);\r\n\t}\r\n\r\n\tsearch = () => {\r\n\t\t// Get just the selected facets and selected terms\r\n\t\tlet selectedFacets = this.state.selectedTerms && this.state.selectedTerms.map(t => Object.freeze({ fieldName: t.fieldName, terms: [t] }));\r\n\r\n\t\tthis.setState({ isLoading: true },\r\n\t\t\t() => {\r\n\t\t\t\t//Create facets from the selected terms\r\n\t\t\t\tthis.props.getSearchResults({\r\n\t\t\t\t\tsearchText: this.state.searchText,\r\n\t\t\t\t\tpageSize: this.state.pageSize,\r\n\t\t\t\t\tpageNumber: this.state.pageNumber,\r\n\t\t\t\t\tfacets: selectedFacets\r\n\t\t\t\t} as ISearchCriteriaDTO)\r\n\t\t\t\t\t.fetch\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\thasSearched: true,\r\n\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t// Grab just the selected terms\r\n\t\t\t\t\t\t\tselectedTerms: this.props.searchResults.facets\r\n\t\t\t\t\t\t\t\t.reduce((terms, facet) => [...terms, ...facet.terms], [])\r\n\t\t\t\t\t\t\t\t.filter(t => t.selected)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\tsetFacetTerm = (id: number) => {\r\n\t\tthis.setState(prevState => {\r\n\t\t\tlet selectedTermIds = prevState.selectedTerms.map(term => term.id);\r\n\t\t\tlet selectedTerms = prevState.selectedTerms;\r\n\t\t\tlet index = selectedTermIds.indexOf(id);\r\n\t\t\tif (index >= 0) {\r\n\t\t\t\tselectedTerms.splice(index, 1);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tselectedTerms.push(this.props.searchResults.facets\r\n\t\t\t\t\t.reduce((terms, facet) => [...terms, ...facet.terms], [])\r\n\t\t\t\t\t.filter(t => t.id == id)[0]);\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tselectedTerms: selectedTerms\r\n\t\t\t};\r\n\r\n\t\t}, () => {\r\n\t\t\tthis.onUpdateQuery();\r\n\t\t\tthis.search();\r\n\t\t});\r\n\t}\r\n\r\n\tselectAllFacets = () => {\r\n\t\t// Select all doesn't effect things that are in the file extension group\r\n\t\tlet nonSearchExtensionTerms = this.props.searchResults.facets\r\n\t\t\t.filter(facet => facet.fieldName !== FILE_EXTENSION_TERM)\r\n\t\t\t.reduce((terms, facet) => [...terms, ...facet.terms], []);\r\n\r\n\t\tthis.setState(prevState => {\r\n\t\t\treturn { selectedTerms: prevState.selectedTerms.concat(nonSearchExtensionTerms) };\r\n\t\t}, () => {\r\n\t\t\tthis.onUpdateQuery();\r\n\t\t\tthis.search();\r\n\t\t});\r\n\t}\r\n\r\n\tclearAllFacets = () => {\r\n\t\t// Clear all doesn't effect things that are in the file extension group\r\n\t\tthis.setState(prevState => {\r\n\t\t\tlet selectedTerms = prevState.selectedTerms\r\n\t\t\t\t.filter(term => term.fieldName === FILE_EXTENSION_TERM);\r\n\r\n\t\t\treturn { selectedTerms };\r\n\t\t}, () => {\r\n\t\t\tthis.onUpdateQuery();\r\n\t\t\tthis.search();\r\n\t\t});\r\n\t}\r\n\r\n\tselectOnlyTerm = (id: number) => {\r\n\t\tvar selectedTerms = this.props.searchResults.facets\r\n\t\t\t.reduce((terms, facet) => [...terms, ...facet.terms], [])\r\n\t\t\t.filter(term => term.id === id);\r\n\r\n\t\t// Only doesn't effect the file extension group\r\n\t\tthis.setState(prevState => {\r\n\t\t\tlet searchFileExtensionTerms = prevState.selectedTerms\r\n\t\t\t\t.filter(term => term.fieldName === 'FILE_EXTENSION_TERM');\r\n\r\n\t\t\treturn {\r\n\t\t\t\tselectedTerms: selectedTerms.concat(searchFileExtensionTerms)\r\n\t\t\t}\r\n\t\t}, () => {\r\n\t\t\tthis.onUpdateQuery();\r\n\t\t\tthis.search();\r\n\t\t});\r\n\t}\r\n\r\n\tsetSearchText = (searchText: string) => {\r\n\t\tthis.setState({ searchText: searchText }, this.onUpdateQuery);\r\n\t}\r\n\r\n\tsetPageSize = (pageSize: number) => {\r\n\t\tthis.setState({ pageSize: pageSize, pageNumber: 1 }, () => { this.onUpdateQuery(); this.search(); });\r\n\t}\r\n\r\n\tsetPageNumber = (pageNumber: number) => {\r\n\t\tthis.setState({ pageNumber: pageNumber }, () => { this.onUpdateQuery(); this.search(); });\r\n\t}\r\n\r\n\tonUpdateQuery = () => {\r\n\t\tconst query: { [key: string]: string[] } = {};\r\n\r\n\t\tif (this.state.searchText.length > 0) {\r\n\t\t\tquery.q = [this.state.searchText];\r\n\t\t}\r\n\t\tif (this.state.pageNumber) {\r\n\t\t\tquery.pageNumber = [this.state.pageNumber.toString()];\r\n\t\t}\r\n\t\tif (this.state.pageSize) {\r\n\t\t\tquery.pageSize = [this.state.pageSize.toString()];\r\n\t\t}\r\n\t\tif (this.state.selectedTerms) {\r\n\t\t\tquery.selectedTerms = this.state.selectedTerms.map(term => encodeURIComponent(JSON.stringify(Object.freeze({\r\n\t\t\t\tid: term.id,\r\n\t\t\t\tfieldName: term.fieldName,\r\n\t\t\t\tterm: term.term\r\n\t\t\t}))));\r\n\t\t}\r\n\r\n\t\t// Update the url\r\n\t\tthis.props.setQueryParams(query);\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state: ISearchAppState): IStateProps => ({\r\n\tepiProps: state.epiState.props,\r\n\tsearchResults: state.searchResults.results\r\n})\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps: IOwnProps): IDispatchProps => bindActionCreators({\r\n\tgetEpiProps: () => getEpiProps(ownProps.contentId) as any,\r\n\tgetSearchResults: getSearchResults as any\r\n}, dispatch)\r\n\r\n\r\nexport const SearchApp = connect(mapStateToProps, mapDispatchToProps)(Search as any);","import * as React from 'react';\r\nimport { Autocomplete } from '@mui/material';\r\nimport { AutocompleteResult } from './autocomplete-result';\r\nimport { getAutocompleteResults } from '../../global/ducks/search-api';\r\n\r\ninterface IProps {\r\n onSearch: () => void;\r\n searchText: string;\r\n onSearchTextChange: (text: string) => void;\r\n searchButtonText: string;\r\n}\r\n\r\ninterface IState {\r\n autocompleteOptions: any[];\r\n}\r\n\r\nexport class SearchBar extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n autocompleteOptions: [],\r\n };\r\n }\r\n\r\n setAutocompleteOptions = (autocompleteOptions: any[]) => {\r\n this.setState({ autocompleteOptions });\r\n }\r\n\r\n fetchAutocomplete = async (query: string, callback: (results?: string[]) => void) => {\r\n const hits = await getAutocompleteResults(query);\r\n callback(hits?.map(hit => hit?.query));\r\n }\r\n\r\n onInputChange = (value: string) => {\r\n this.props.onSearchTextChange(value);\r\n\r\n if (!value) {\r\n this.setAutocompleteOptions([]);\r\n } else if (value.length >= 3) {\r\n this.fetchAutocomplete(value, (results: string[]) => {\r\n this.setAutocompleteOptions(results);\r\n });\r\n }\r\n }\r\n\r\n onChange = () => {\r\n this.props.onSearch();\r\n };\r\n\r\n render() {\r\n\r\n const { searchText, onSearch, searchButtonText } = this.props;\r\n\r\n return (\r\n
    \r\n this.onInputChange(value)}\r\n onChange={(_e, _value) => onSearch()}\r\n filterOptions={(x) => x}\r\n options={this.state.autocompleteOptions || []}\r\n sx={{ width: 300 }}\r\n renderInput={(params) => (\r\n <>\r\n
    \r\n \r\n {\r\n searchText &&\r\n this.onInputChange('')}>\r\n Clear Field\r\n \r\n }\r\n
    \r\n onSearch()}>{searchButtonText || 'Search'}\r\n \r\n\r\n )}\r\n renderOption={(props, option: string) => (\r\n \r\n )}\r\n />\r\n
    \r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport { ITermDTO } from '../../global/DTO/search';\r\n\r\ninterface IProps {\r\n youSearchedText: string;\r\n searchTermText: string;\r\n searchedInText: string;\r\n selectedTerms: ITermDTO[];\r\n noResult: boolean;\r\n noResultText: string;\r\n}\r\n\r\ninterface IState {\r\n\r\n}\r\n\r\nexport class SearchedForText extends React.Component {\r\n render() {\r\n const { youSearchedText, searchTermText, searchedInText, selectedTerms, noResultText, noResult } = this.props;\r\n\r\n let searchedTextSegment = noResult ? noResultText?.replace(\"##SearchTerm##\", searchTermText): youSearchedText?.replace(\"##SearchTerm##\", searchTermText);\r\n\r\n // If no filters are applied then don't show this segment\r\n let filterTextSegment = selectedTerms.length === 1\r\n ? searchedInText.replace(\"##SearchFilter##\", selectedTerms[0].displayName)\r\n : '';\r\n\r\n let displayText = searchedTextSegment + ' ' + filterTextSegment;\r\n \r\n return (\r\n noResult ?\r\n (

    \r\n {displayText}\r\n

    )\r\n : null\r\n )\r\n }\r\n}","import * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { createStore, applyMiddleware, compose, combineReducers } from 'redux';\r\nimport { SearchApp } from './components/search-app'\r\nimport { IEpiProps, DefaultEpiProps } from './models/epi-props';\r\nimport { fetchMiddleware } from '../global/middleware/fetch-middleware';\r\n\r\nimport { EpiApiState, epiApiReducerWithDefault } from '../global/ducks/epi-api';\r\nimport { SearchApiState, searchApiReducer } from '../global/ducks/search-api';\r\nimport { Query } from '../global/functions/query';\r\n\r\n\r\nexport interface ISearchAppState {\r\n epiState: EpiApiState\r\n searchResults: SearchApiState\r\n}\r\n\r\nexport const rootReducer = combineReducers({\r\n epiState: epiApiReducerWithDefault({ props: DefaultEpiProps }),\r\n searchResults: searchApiReducer\r\n})\r\n\r\nconst searchMount = document.getElementById('search-app');\r\nconst contentId = (window as any).bootstrap.contentId;\r\n\r\n// Attach Redux extension and add any middleware (just fetch here)\r\nconst composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\nconst store = createStore(rootReducer, composeEnhancers(\r\n applyMiddleware(\r\n fetchMiddleware,\r\n )\r\n));\r\n\r\nif (searchMount) {\r\n const initialParams = Query.getParams()\r\n\r\n ReactDOM.render(\r\n \r\n \r\n , searchMount);\r\n}\r\n","export interface IEpiProps {\r\n titleText: string;\r\n refineText: string;\r\n youSearchedText: string;\r\n searchText: string;\r\n searchedInText: string;\r\n tooManyResultsText: string;\r\n resultsText: string;\r\n resultsPerPageText: string;\r\n didYouMeanText: string;\r\n zeroResultsText: string;\r\n limitResultsText: string;\r\n limitResultsThreshold: number;\r\n selectAllFilterText: string;\r\n clearAllFilterText: string;\r\n onlyFilterText: string;\r\n loginModalMessage: string;\r\n loginModalCancelButtonText: string;\r\n loginModalContinueButtonText: string;\r\n noRecordMessage: string;\r\n}\r\n\r\nexport const DefaultEpiProps = {\r\n titleText: '',\r\n refineText: '',\r\n searchText: '',\r\n youSearchedText: '',\r\n searchedInText: '',\r\n tooManyResultsText: '',\r\n resultsText: '',\r\n resultsPerPageText: '',\r\n didYouMeanText: '',\r\n zeroResultsText: '',\r\n limitResultsText: '',\r\n limitResultsThreshold: 100,\r\n selectAllFilterText: '',\r\n clearAllFilterText: '',\r\n onlyFilterText: ''\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"search-app\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkadage_epistarterkit_web\"] = self[\"webpackChunkadage_epistarterkit_web\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"common\"], () => (__webpack_require__(\"./App/search-app/index.tsx\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}