{"version":3,"file":"static/js/478.d8b96661.chunk.js","mappings":"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","sources":["images/calendar.svg","components/Pagination/PagerItem.jsx","components/Pagination/PagerBreak.jsx","components/Pagination/Pagination.jsx","lib/help/cutText.js","components/Tags/Tags.jsx","components/ResultItem/ResultItem.jsx","components/SearchInput/SearchInput.jsx","components/SearchBox/SearchBox.jsx","components/SearchForm/SearchForm.jsx","components/ListingPageHero/ListingPageHero.jsx","components/PagingInfo/PagingInfo.jsx","components/Sorter/Sorter.jsx","components/Link/Link.jsx","components/Heading/Heading.jsx","lib/help/markSelectedFacetValuesFromFilters.js","lib/help/getFilterValueDisplay.js","components/ShowMore/ShowMore.jsx","components/MultiCheckboxFacet/MultiCheckboxFacet.jsx","images/x.svg","components/DateFacet/DateFacet.jsx","components/SingleRadioFacet/Radio.jsx","components/SingleRadioFacet/SingleRadioFacet.jsx","components/SingleSelectFacet/SingleSelectFacet.jsx","components/Facets/FacetsList.jsx","components/DateRangeFilter/DateRangeFilter.jsx","components/Facets/Facets.jsx","components/SearchSubNav/SearchSubNav.jsx","components/ArchivedFilter/ArchivedFilter.jsx","lib/help/prepareBodyWithHighlights.js","components/SearchResultsPage/SearchResultsPage.jsx","constants/Breakpoints.js","constants/nameOfSearch.js","lib/analytic/dataLayerPush.js","lib/analytic/trackSearch.js","lib/help/printAttributes.js","lib/hooks/useMedia.jsx","lib/hooks/usePrevious.jsx"],"sourcesContent":["var _path, _path2;\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 SvgCalendar = function SvgCalendar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#25394B\",\n d: \"M23.738 7.763h-2.385V6.455a.455.455 0 0 0-.91 0v1.308h-9.875V6.455a.455.455 0 0 0-.91 0v1.308H7.275A2.277 2.277 0 0 0 5 10.037v13.689A2.277 2.277 0 0 0 7.274 26h16.464a2.277 2.277 0 0 0 2.274-2.274V10.037a2.277 2.277 0 0 0-2.274-2.274m-16.464.91h2.385v2.367a.455.455 0 0 0 .91 0V8.673h9.874v2.367a.455.455 0 1 0 .91 0V8.673h2.385c.752 0 1.364.612 1.364 1.364v3.87H5.91v-3.87c0-.752.612-1.364 1.364-1.364M23.738 25.09H7.274a1.366 1.366 0 0 1-1.364-1.364v-8.91h19.192v8.91c0 .752-.612 1.364-1.364 1.364\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#25394B\",\n d: \"m18.454 17.218-3.813 3.645-1.934-1.934a.455.455 0 0 0-.643.643l2.248 2.249a.454.454 0 0 0 .636.007l4.134-3.953a.455.455 0 1 0-.628-.657\"\n })));\n};\nexport { SvgCalendar as ReactComponent };\nexport default __webpack_public_path__ + \"static/media/calendar.6fcaa2c1.svg\";","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classnames from \"classnames\";\n\nconst PagerItem = ({ page, onClick, current, text, totalPages }) => {\n const classes = [\n \"pager__item\",\n page === current ? \"pager__item--active\" : \"\",\n ];\n\n const handleClick = () => {\n onClick(page);\n };\n const ariaLabelText =\n page === current\n ? `Page ${text} of ${totalPages} selected`\n : `Page ${text} of ${totalPages}`;\n return (\n
  • \n \n {text}\n \n
  • \n );\n};\n\nPagerItem.propTypes = {\n current: PropTypes.number.isRequired,\n page: PropTypes.number.isRequired,\n onClick: PropTypes.func,\n text: PropTypes.number.isRequired,\n totalPages: PropTypes.number.isRequired,\n};\n\nPagerItem.defaultProps = {\n onClick: PropTypes.func,\n};\n\nexport default PagerItem;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classnames from \"classnames\";\n\nconst PagerBreak = ({ text }) => {\n const classes = [\"pager__item\", \"pager__item__ellipsis\"];\n\n return (\n
  • \n {text}\n
  • \n );\n};\n\nPagerBreak.propTypes = {\n text: PropTypes.string,\n};\n\nPagerBreak.defaultProps = {\n text: \"...\",\n};\n\nexport default PagerBreak;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport PagerItem from \"./PagerItem\";\nimport PagerBreak from \"./PagerBreak\";\n\nimport usePrevious from \"../../lib/hooks/usePrevious\";\n\nconst Pagination = ({\n totalPages,\n current,\n onChange,\n scrollToTop,\n scrollOffset,\n allowLoadMore,\n onLoadMore,\n}) => {\n const nextPrevThreshold = 7;\n\n const prevCurrent = usePrevious(current);\n\n useEffect(() => {\n if (\n scrollToTop &&\n totalPages > 1 &&\n prevCurrent &&\n prevCurrent !== current\n ) {\n setTimeout(() => {\n const target = document.querySelector(scrollToTop);\n window.scrollTo({\n top:\n target.offsetTop -\n Math.abs(target.getBoundingClientRect().top) -\n scrollOffset,\n behavior: \"smooth\",\n });\n }, 1);\n }\n }, [prevCurrent, current, scrollToTop, totalPages, scrollOffset]);\n\n const handlePageClick = (p) => {\n onChange(p);\n };\n\n const handlePrevClick = () => {\n const prevPage = current - 1;\n onChange(prevPage);\n };\n\n const handleNextClick = () => {\n const nextPage = current + 1;\n onChange(nextPage);\n };\n\n const handleFirstClick = () => {\n onChange(1);\n };\n\n const handleLastClick = () => {\n onChange(totalPages);\n };\n\n const handleLoadMoreClick = () => {\n onLoadMore();\n };\n\n const getRange = (start, end) =>\n Array(end - start + 1)\n .fill()\n .map((v, i) => i + start);\n\n const createPager = () => {\n const curr = current;\n const length = totalPages;\n const delta = length === nextPrevThreshold ? nextPrevThreshold : 3;\n const dotsRange = 3;\n const range = {\n start: Math.round(curr - delta / dotsRange) + 1,\n end: Math.round(curr + delta / dotsRange) + 1,\n };\n\n if (range.start - 1 === 1 || range.end + 1 === length) {\n range.start += 1;\n range.end += 1;\n }\n\n const createPages = () => {\n if (curr > delta && range.end <= length - delta) {\n return getRange(\n Math.min(range.start, length - delta),\n Math.min(range.end, length)\n );\n }\n if (curr > delta && range.end > length - delta && totalPages === 4) {\n return getRange(length - delta, length);\n }\n if (curr > delta && range.end > length - delta) {\n return getRange(length - delta - 1, length);\n }\n return getRange(1, Math.min(length, delta + 2));\n };\n\n let pages = createPages();\n\n const withDots = (value, pair) =>\n pages.length + 1 !== length ? pair : [value];\n\n if (pages[0] !== 1) {\n pages = withDots(1, [1, \"...\"]).concat(pages);\n }\n\n if (pages[pages.length - 1] < length) {\n pages = pages.concat(withDots(length, [\"...\", length]));\n }\n\n return pages;\n };\n\n const list = createPager().map((item) => {\n if (item === \"...\") {\n return ;\n }\n return (\n \n );\n });\n\n // Do not render pager if there's only one page\n if (totalPages <= 1) {\n return null;\n }\n\n return (\n \n );\n};\n\nPagination.defaultProps = {\n scrollToTop: \"\",\n scrollOffset: 0,\n allowLoadMore: false,\n onLoadMore: () => {},\n};\n\nPagination.propTypes = {\n totalPages: PropTypes.number.isRequired,\n current: PropTypes.number.isRequired,\n onChange: PropTypes.func.isRequired,\n scrollToTop: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n scrollOffset: PropTypes.number,\n allowLoadMore: PropTypes.bool,\n onLoadMore: PropTypes.func,\n};\n\nexport default Pagination;\n","import { truncate } from \"lodash\";\n/**\n * Helper function for cut string.\n *\n * @param {string} textBlock string with text.\n * @param {number} count of cutting text.\n * @return {string}.\n */\n\nconst cutText = (textBlock, count) => {\n let origText = textBlock.trim();\n if (\n origText[origText.length - 1] === \".\" &&\n origText[origText.length - 2] !== \".\"\n )\n origText = origText.slice(0, -1);\n const q = /^(.*?)(.+?<\\/em>)(.*?)$/.exec(origText);\n if (q) {\n // Add 9 characters because of em tags.\n const zcount = count + 9;\n\n let p1 = q[1].split(\". \");\n let text = q[2];\n let p2 = q[3];\n if (p2[p2.length - 1] === \".\" && p2[p2.length - 2] !== \".\") {\n p2 = p2.slice(0, -1);\n }\n p2 = p2.split(\". \");\n\n // Distance from highlighted word to current edges.\n let dist1 = 0;\n let dist2 = 0;\n\n // Get current sentence.\n let v1 = p1.pop();\n let v2 = p2.shift();\n\n // Connecting different things.\n const nokia = (delimiter) => {\n while (typeof v1 === \"string\" || typeof v2 === \"string\") {\n const d1 =\n typeof v1 === \"string\" ? dist1 + v1.length : Number.MAX_SAFE_INTEGER;\n const d2 =\n typeof v2 === \"string\" ? dist2 + v2.length : Number.MAX_SAFE_INTEGER;\n if (d1 <= d2 && v1.length + text.length <= zcount) {\n text = v1 + delimiter + text;\n dist1 = d1;\n v1 = p1.pop();\n } else if (d1 > d2 && v2.length + text.length <= zcount) {\n text += v2 + delimiter;\n dist2 = d2;\n v2 = p2.shift();\n } else break;\n }\n };\n\n // If it is under max count.\n if (v1.length + text.length + v2.length <= zcount) {\n text = `${v1}${text}${v2}. `;\n dist1 += v1.length;\n dist2 += v2.length;\n\n // Try to connect one of neighbour sentences with minimum distance.\n v1 = p1.pop();\n v2 = p2.shift();\n nokia(\". \");\n\n // Proceed only with next sentence.\n if (typeof v2 === \"string\") {\n v1 = undefined;\n p1 = [];\n } else if (typeof v1 === \"string\") {\n v1 += \".\";\n }\n }\n\n // Sentences are too long, lets try with words.\n if (typeof v1 === \"string\") {\n p1 = v1.split(\" \");\n v1 = p1.pop();\n }\n if (typeof v2 === \"string\") {\n p2 = v2.split(\" \");\n v2 = p2.shift();\n }\n nokia(\" \");\n\n // Trim\n text = text.trim();\n\n // Remove last dot.\n if (text[text.length - 1] === \".\") text = text.slice(0, -1);\n\n // Add '...'\n if (v1) text = `...${text}`;\n if (v2) text += \"...\";\n\n return text;\n }\n\n return truncate(origText, {\n length: count,\n separator: \" \",\n });\n};\nexport default cutText;\n","import React, { useState, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst Tags = ({ tags, handleClick }) => {\n const buttonElement = useRef(null);\n const [showMoreTags, setShowMoreTags] = useState(false);\n const tagsToShow = 5;\n let dataTags;\n let moreTags;\n if (tags.length > tagsToShow) {\n dataTags = tags.slice(0, tagsToShow);\n moreTags = tags.slice(tagsToShow);\n } else {\n dataTags = tags;\n }\n const handleShowMore = () => {\n setShowMoreTags(true);\n if (buttonElement.current) {\n buttonElement.current.focus();\n }\n };\n const renderTags = (tagsItems) => {\n const addRef = {\n ref: buttonElement,\n };\n return tagsItems.map((tag, key) => {\n return (\n // Is static content, we can use array key.\n // eslint-disable-next-line react/no-array-index-key\n
  • \n handleClick(e)}\n {...addRef}\n >\n {tag}\n \n
  • \n );\n });\n };\n const needShowMoreTags = moreTags && moreTags.length > 0;\n const ariaAttributes = needShowMoreTags && {\n \"aria-live\": \"polite\",\n };\n return (\n
      \n {tags.length !== 0 && renderTags(dataTags)}\n {!showMoreTags && needShowMoreTags > 0 && (\n
    • \n \n {`(+ ${moreTags.length})`}\n \n
    • \n )}\n {showMoreTags && renderTags(moreTags, true)}\n
    \n );\n};\n\nTags.defaultProps = {\n handleClick: () => {},\n};\n\nTags.propTypes = {\n tags: PropTypes.array.isRequired,\n handleClick: PropTypes.func,\n};\nexport default Tags;\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cutText from \"../../lib/help/cutText\";\nimport printAttributes from \"../../lib/help/printAttributes\";\nimport Tags from \"../Tags/Tags\";\n\n// Component for result of search and tabbed list.\nconst ResultItem = ({\n image,\n subtitle,\n linkUrl,\n linkTitle,\n linkAttributes,\n body,\n tags,\n id,\n isSearchResult,\n showTags,\n handleClickOnTag,\n handleClick,\n handleExpand,\n}) => {\n const attributesLink = linkAttributes && printAttributes(linkAttributes);\n const [showBody, setShowBody] = useState(false);\n const classBody = showBody ? \"result-item__body--show\" : \"\";\n const classBtn = showBody ? \"result-item__show-body--open\" : \"\";\n const classBlock = showBody ? \"result-item--open-body\" : \"\";\n // Add id for body.\n const idBody = `body-${id}`;\n const dataForAnalytics = {\n id,\n };\n const showBodyBlock = (data) => {\n if (!showBody) {\n handleExpand(data);\n }\n return setShowBody(!showBody);\n };\n return (\n \n
    \n handleClick(dataForAnalytics)}\n className=\"result-item__link-absolute\"\n >\n {linkTitle}\n \n
    \n {image && !isSearchResult ? (\n \n ) : (\n
    \n {image && (\n {image.alt}\n )}\n
    \n )}\n
    \n {!isSearchResult && body && (\n showBodyBlock(dataForAnalytics)}\n id={id}\n aria-controls={idBody}\n />\n )}\n {subtitle && (\n \n )}\n {linkTitle && linkUrl && (\n

    \n \n

    \n )}\n {body && (\n \n \n
    \n )}\n
    \n
    \n \n {showTags && tags.length !== 0 && (\n \n \n \n )}\n \n );\n};\n\nResultItem.defaultProps = {\n image: \"\",\n subtitle: \"\",\n linkAttributes: [],\n body: \"\",\n tags: [],\n isSearchResult: false,\n showTags: false,\n handleClickOnTag: () => {},\n handleClick: () => {},\n handleExpand: () => {},\n};\n\nResultItem.propTypes = {\n image: PropTypes.string,\n subtitle: PropTypes.string,\n linkAttributes: PropTypes.array,\n linkUrl: PropTypes.string.isRequired,\n linkTitle: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n body: PropTypes.string,\n tags: PropTypes.array,\n isSearchResult: PropTypes.bool,\n showTags: PropTypes.bool,\n handleClickOnTag: PropTypes.func,\n handleClick: PropTypes.func,\n handleExpand: PropTypes.func,\n};\nexport default ResultItem;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport classes from \"classnames\";\nimport { BREAKPOINT_DESKTOP } from \"../../constants/Breakpoints\";\nimport { ReactComponent as SearchSvg } from \"../../images/search.svg\";\n\nfunction SearchInput({\n getAutocomplete,\n getButtonProps,\n getInputProps,\n getLabelProps,\n clearSelection,\n inputValue,\n}) {\n // Clear search input.\n const clearSearch = () => {\n clearSelection();\n };\n const mobileView = window.innerWidth <= BREAKPOINT_DESKTOP - 1;\n const formClasses = classes(\n \"search-form__form\",\n \"autocomplete-form\",\n \"d-flex\",\n \"flex-wrap\",\n \"align-items-center\",\n \"justify-content-between\"\n );\n return (\n
    \n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\n \n Search through site\n \n {\n if (mobileView) {\n // eslint-disable-next-line no-param-reassign\n event.nativeEvent.preventDownshiftDefault = true;\n }\n },\n })}\n />\n {inputValue && (\n \n ×\n \n )}\n \n \n \n {getAutocomplete()}\n
    \n );\n}\n\nSearchInput.defaultProps = {\n callbackRef: () => {},\n placeholderText: \"\",\n};\n\nSearchInput.propTypes = {\n getAutocomplete: PropTypes.func.isRequired,\n getButtonProps: PropTypes.func.isRequired,\n getInputProps: PropTypes.func.isRequired,\n getLabelProps: PropTypes.func.isRequired,\n clearSelection: PropTypes.func.isRequired,\n inputValue: PropTypes.string.isRequired,\n callbackRef: PropTypes.func,\n placeholderText: PropTypes.string,\n};\n\nexport default SearchInput;\n","/**\n * SearchBox is a forked Search-UI SearchBox view.\n */\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport Downshift from \"downshift\";\n\n/* eslint-disable react/require-default-props */\nimport classnames from \"classnames\";\n\nimport Autocomplete from \"../Autocomplete/Autocomplete\";\nimport SearchInput from \"../SearchInput/SearchInput\";\n\nfunction SearchBox(props) {\n const {\n className,\n allAutocompletedItemsCount,\n autocompleteView,\n isFocused,\n inputProps = {},\n inputView,\n onChange,\n onSelectAutocomplete,\n onSubmit,\n useAutocomplete,\n value,\n // NOTE: These are explicitly de-structured but not used so that they are\n // not passed through to the input with the 'rest' parameter\n // eslint-disable-next-line no-unused-vars\n autocompletedResults,\n // eslint-disable-next-line no-unused-vars\n autocompletedSuggestions,\n // eslint-disable-next-line no-unused-vars\n autocompletedSuggestionsCount,\n // eslint-disable-next-line no-unused-vars\n completeSuggestion,\n // eslint-disable-next-line no-unused-vars\n notifyAutocompleteSelected,\n ...rest\n } = props;\n const focusedClass = isFocused ? \"focus\" : \"\";\n const AutocompleteView = autocompleteView || Autocomplete;\n const InputView = inputView || SearchInput;\n return (\n {\n // To avoid over dispatching\n if (value === newValue) return;\n onChange(newValue);\n }}\n // Because when a selection is made, we don't really want to change\n // the inputValue. This is supposed to be a \"controlled\" value, and when\n // this happens we lose control of it.\n itemToString={() => value}\n {...rest}\n >\n {(downshiftProps) => {\n const { closeMenu, getInputProps, isOpen } = downshiftProps;\n const autocompleteClass = isOpen === true ? \" autocomplete\" : \"\";\n return (\n {\n closeMenu();\n onSubmit(e);\n }}\n >\n
    \n {\n // eslint-disable-next-line no-shadow\n const { className, ...rest } = additionalProps || {};\n return getInputProps({\n ...inputProps,\n className: classnames([\n inputProps.className,\n className,\n focusedClass,\n ]),\n ...rest,\n });\n }}\n getButtonProps={(additionalProps) => {\n // eslint-disable-next-line no-shadow\n const { className, ...rest } = additionalProps || {};\n return {\n type: \"submit\",\n value: \"Search\",\n className: classnames(\"button\", className),\n ...rest,\n };\n }}\n getAutocomplete={() => {\n if (\n useAutocomplete &&\n isOpen &&\n allAutocompletedItemsCount > 0\n ) {\n return ;\n }\n return null;\n }}\n />\n
    \n \n );\n }}\n \n );\n}\n\nSearchBox.propTypes = {\n // Provided by container\n allAutocompletedItemsCount: PropTypes.number.isRequired,\n autocompletedResults: PropTypes.arrayOf(Object).isRequired,\n autocompletedSuggestions: PropTypes.objectOf(PropTypes.arrayOf(Object))\n .isRequired,\n autocompletedSuggestionsCount: PropTypes.number.isRequired,\n completeSuggestion: PropTypes.func.isRequired,\n notifyAutocompleteSelected: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n autocompleteResults: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n titleField: PropTypes.string.isRequired,\n urlField: PropTypes.string.isRequired,\n linkTarget: PropTypes.string,\n sectionTitle: PropTypes.string,\n }),\n ]),\n autocompleteView: PropTypes.func,\n autocompleteSuggestions: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.exact({\n sectionTitle: PropTypes.string,\n }),\n PropTypes.objectOf(\n PropTypes.exact({\n sectionTitle: PropTypes.string,\n })\n ),\n ]),\n className: PropTypes.string,\n inputProps: PropTypes.object,\n inputView: PropTypes.func,\n isFocused: PropTypes.bool,\n useAutocomplete: PropTypes.bool,\n\n // Specific configuration for this view only\n onSelectAutocomplete: PropTypes.func,\n};\n\nexport default SearchBox;\n","import React, {useCallback} from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport classes from \"classnames\";\nimport { SearchBox } from \"@elastic/react-search-ui\";\nimport Autocomplete from \"../Autocomplete/Autocomplete\";\nimport SearchBoxView from \"../SearchBox/SearchBox\";\nimport { searchPerformed } from \"../../lib/analytic/trackSearch\";\n\nconst SearchForm = ({ className, formConfig }) => {\n const {\n inputPlaceholder,\n inputId,\n formOnSubmit,\n typeOfSearch,\n resetSorting,\n showSuggestions,\n } = formConfig;\n const componentClasses = classes(\"search-form\", className);\n return (\n
    \n }\n view={useCallback(({...props}) => (\n \n ), [inputId, inputPlaceholder])}\n onSubmit={(searchTerm) => {\n // Reset to empty sort (relevance) only for product search L3HAR-479.\n resetSorting();\n searchPerformed(typeOfSearch, searchTerm);\n formOnSubmit(searchTerm);\n }}\n /* eslint-disable-next-line no-empty-pattern */\n onSelectAutocomplete={(selection, {}, defaultOnSelectAutocomplete) => {\n if (selection?.suggestion) {\n // Reset to empty sort (relevance) only for product search L3HAR-479.\n resetSorting();\n searchPerformed(typeOfSearch, selection.suggestion);\n }\n defaultOnSelectAutocomplete(selection);\n }}\n />\n
    \n );\n};\n\nSearchForm.defaultProps = {\n closeIcon: false,\n className: \"\",\n};\n\nSearchForm.propTypes = {\n closeIcon: PropTypes.bool,\n formConfig: PropTypes.object.isRequired,\n className: PropTypes.string,\n};\n\nexport default SearchForm;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classes from \"classnames\";\n\nimport SearchForm from \"../SearchForm/SearchForm\";\n\nconst ListingPageHero = ({\n theme,\n layoutClasses,\n className,\n title,\n searchForm,\n searchFormConfig,\n body,\n}) => {\n const containerClasses = classes(\n \"container--max\",\n \"listing-hero-page\",\n \"position-relative\",\n layoutClasses,\n `theme-${theme}`,\n className\n );\n return (\n
    \n
    \n
    \n

    \n {title}\n

    \n\n {searchForm && (\n
    \n \n
    \n )}\n
    \n\n {body && (\n
    \n
    {body}
    \n
    \n )}\n
    \n
    \n );\n};\n\nListingPageHero.defaultProps = {\n theme: \"default\",\n layoutClasses: [\"pb-40\", \"pt-20\", \"pt-lg-32\", \"pb-lg-32\"],\n className: \"\",\n searchForm: false,\n searchFormConfig: null,\n body: \"\",\n};\n\nListingPageHero.propTypes = {\n theme: PropTypes.string,\n layoutClasses: PropTypes.array,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n searchForm: PropTypes.bool,\n searchFormConfig: PropTypes.object,\n body: PropTypes.string,\n};\n\nexport default ListingPageHero;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classNames from \"classnames\";\n\nconst PagingInfo = ({ pagingStart, pagingEnd, totalResults, className }) => {\n if (!totalResults) {\n return null;\n }\n\n const componentClassNames = classNames(\"paging-info\", className);\n\n return (\n
    \n Results: {pagingStart} - {pagingEnd} out of {totalResults}\n
    \n );\n};\n\nPagingInfo.defaultProps = {\n className: \"\",\n};\n\nPagingInfo.propTypes = {\n pagingStart: PropTypes.number.isRequired,\n pagingEnd: PropTypes.number.isRequired,\n totalResults: PropTypes.number.isRequired,\n className: PropTypes.string,\n};\n\nexport default PagingInfo;\n","import React from \"react\";\n\nimport PropTypes from \"prop-types\";\n\nimport classes from \"classnames\";\n\nconst Sorter = ({ className, label, onChange, options, value, direction }) => {\n const optionsList = options.map((option, index) => (\n \n ));\n const classNames = classes(className, \"sorter\");\n\n const onSelectChange = (e) => {\n const selectedValue = e.target[e.target.selectedIndex].getAttribute('data-value');\n const selecteDirection= e.target[e.target.selectedIndex].getAttribute('data-direction');\n onChange(options.find((option) => option.value === selectedValue && option.direction === selecteDirection));\n };\n\n return (\n
    \n
    \n \n
    \n {/* eslint-disable-next-line jsx-a11y/no-onchange */}\n onSelectChange(e)}\n value={value + direction}\n >\n {optionsList}\n \n
    \n
    \n
    \n );\n};\n\nSorter.defaultProps = {\n className: \"\",\n label: \"\",\n value: \"\",\n};\n\nSorter.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.arrayOf(\n PropTypes.shape({ value: PropTypes.string, name: PropTypes.string })\n ).isRequired,\n value: PropTypes.string,\n};\n\nexport default Sorter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classes from \"classnames\";\n\nconst Link = ({ href, className, children, attributesLink }) => {\n const linkClasses = classes(className, \"link\");\n return (\n \n {children}\n \n );\n};\n\nLink.defaultProps = {\n className: \"\",\n attributesLink: {},\n};\n\nLink.propTypes = {\n href: PropTypes.string.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n attributesLink: PropTypes.object,\n};\n\nexport default Link;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classes from \"classnames\";\n\nimport Link from \"../Link/Link\";\n\nconst Heading = ({ level, children, url, className, modifiers }) => {\n const headingBaseClass = classes(\n `h${level}`,\n className,\n modifiers,\n url ? \"link\" : \"\"\n );\n const Tag = `h${level}`;\n return (\n \n {url && (\n \n {children}\n \n )}\n {!url && (level === 1 || level === 2) && (\n {children}\n )}\n {!url && !(level === 1 || level === 2) && children}\n \n );\n};\n\nHeading.defaultProps = {\n url: \"\",\n className: \"\",\n modifiers: [],\n};\n\nHeading.propTypes = {\n level: PropTypes.number.isRequired,\n url: PropTypes.string,\n className: PropTypes.string,\n modifiers: PropTypes.array,\n children: PropTypes.string.isRequired,\n};\n\nexport default Heading;\n","import deepEqual from \"deep-equal\";\n\n/**\n * Given a list of applied Filters, find FilterValues based on\n * \"fieldName\" and \"filterType\".\n *\n * @param {*} filters\n * @param {*} name\n * @param {*} filterType\n */\nexport function findFilterValues(filters, name, filterType) {\n const filter = filters.find((f) => f.field === name && f.type === filterType);\n if (!filter) return [];\n return filter.values;\n}\n\n/**\n * Useful for determining when filter values match. This could be used\n * when matching applied filters back to facet options, or for determining\n * whether or not a filter already exists in a list of applied filters.\n *\n * @param {FilterValue} filterValue1\n * @param {FilterValue} filterValue2\n */\nexport function doFilterValuesMatch(filterValue1, filterValue2) {\n if (\n filterValue1 &&\n filterValue1.name &&\n filterValue2 &&\n filterValue2.name &&\n filterValue1.name === filterValue2.name\n )\n // If two filters have matching names, then they are the same filter, there\n // is no need to do a more expensive deep equal comparison.\n //\n // This is also important because certain filters and facets will have\n // differing values than their corresponding facet options. For instance,\n // consider a time-based facet like \"Last 10 Minutes\". The value of the\n // filter will be different depending on when it was selected, but the name\n // will always match.\n return true;\n // We use 'strict = true' to do a '===' of leaves, rather than '=='\n return deepEqual(filterValue1, filterValue2, { strict: true });\n}\n\n/**\n * Given a Facet and a list of applied Filters, mark the Facet Values\n * for that Facet as \"selected\" based on \"fieldName\" and \"filterType\".\n *\n * @param {Facet} facet\n * @param {String} fieldName\n * @param {Filter[]} filters\n * @param {FilterType} filterType\n */\nexport function markSelectedFacetValuesFromFilters(\n facet,\n filters,\n fieldName,\n filterType\n) {\n const facetValues = facet.data;\n const filterValuesForField =\n findFilterValues(filters, fieldName, filterType) || [];\n return {\n ...facet,\n data: facetValues.map((facetValue) => {\n return {\n ...facetValue,\n selected: filterValuesForField.some((filterValue) => {\n return doFilterValuesMatch(filterValue, facetValue.value);\n }),\n };\n }),\n };\n}\n\nexport default markSelectedFacetValuesFromFilters;\n","/*\nInitially created for facet filters.\nSince Filter Values come in many different varieties, this helper\nencapsulates the logic for determining how to show the label of that\nfilter in the UI.\n*/\nexport default function getFilterValueDisplay(filterValue) {\n if (filterValue === undefined || filterValue === null) return \"\";\n // eslint-disable-next-line no-prototype-builtins\n if (filterValue.hasOwnProperty(\"name\")) return filterValue.name;\n return String(filterValue);\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ShowMore = ({ handleClick, showTextLess }) => {\n const textOfButton = showTextLess ? \"Show less\" : \"Show all\";\n return (\n {\n handleClick(e);\n }}\n aria-label={`${textOfButton} options`}\n >\n {textOfButton}\n \n );\n};\n\nShowMore.propTypes = {\n handleClick: PropTypes.func.isRequired,\n showTextLess: PropTypes.bool.isRequired,\n};\n\nexport default ShowMore;\n","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classes from \"classnames\";\nimport {\n searchResultsCategoryFiltered,\n searchShowButton,\n} from \"../../lib/analytic/trackSearch\";\n\nimport getFilterValueDisplay from \"../../lib/help/getFilterValueDisplay\";\nimport ShowMore from \"../ShowMore/ShowMore\";\n\nconst MultiCheckboxFacet = ({\n options,\n label,\n onSelect,\n onRemove,\n showMore,\n}) => {\n const [showMoreOptions, setShowMoreOptions] = useState(false);\n\n let optionsToShow = options;\n\n if (showMore) {\n // If long list of options, add button show more.\n // Settings inside \"facetsConfig\", located in containers of searches pages.\n const cutNumber = showMore?.initialShowings;\n // Move to top selected options.\n const sortedOptions = options.sort(\n (x, y) => Number(y.selected) - Number(x.selected)\n );\n optionsToShow =\n sortedOptions.length > cutNumber && !showMoreOptions\n ? sortedOptions.slice(0, cutNumber)\n : sortedOptions;\n }\n\n function getActiveOptions(items, lab) {\n return items.forEach((item) => {\n if (item.selected === true) {\n searchResultsCategoryFiltered(lab, item.value);\n }\n });\n }\n\n // On load, push to analytic active filters.\n useEffect(() => {\n getActiveOptions(options, label);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleShowMore = (e) => {\n setShowMoreOptions(!showMoreOptions);\n searchShowButton(e.currentTarget.innerText);\n };\n\n const formItemsClasses = classes(\n \"form-item form-item--checkboxes\",\n showMore ? \"form-item--show-more\" : \"\"\n );\n\n const ariaAttributes = showMore && {\n \"aria-live\": \"polite\",\n };\n\n const setOptions = (isChecked, item) => {\n return isChecked ? onRemove(item.value) : onSelect(item.value);\n };\n\n const handleChange = (isChecked, item) => {\n if (!isChecked) {\n searchResultsCategoryFiltered(label, item.value);\n }\n setOptions(isChecked, item);\n };\n\n return (\n
    \n {label}\n
    \n {optionsToShow.length < 1 &&
    No matching options
    }\n {optionsToShow.map((option) => {\n const checked = option.selected;\n return (\n \n handleChange(checked, option)}\n />\n \n \n {getFilterValueDisplay(option.value)}\n {\" \"}\n \n {`(${option.count.toLocaleString(\"en\")})`}\n \n \n
    \n );\n })}\n \n {showMore && (\n \n )}\n
    \n );\n};\n\nMultiCheckboxFacet.defaultProps = {\n showMore: null,\n};\n\nMultiCheckboxFacet.propTypes = {\n options: PropTypes.array.isRequired,\n label: PropTypes.string.isRequired,\n onRemove: PropTypes.func.isRequired,\n onSelect: PropTypes.func.isRequired,\n showMore: PropTypes.object,\n};\n\nexport default MultiCheckboxFacet;\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 SvgX = function SvgX(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 19,\n height: 19,\n stroke: \"#000\",\n strokeWidth: 2\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4 4 11 11M15 4 4 15\"\n })));\n};\nexport { SvgX as ReactComponent };\nexport default __webpack_public_path__ + \"static/media/x.cf37717e.svg\";","import React, { useState, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport DatePicker from \"react-date-picker\";\nimport { searchDateFiltered } from \"../../lib/analytic/trackSearch\";\n\nimport { ReactComponent as CalendarIcon } from \"../../images/calendar.svg\";\nimport { ReactComponent as ClearIcon } from \"../../images/x.svg\";\n\nimport 'react-date-picker/dist/DatePicker.css';\nimport 'react-calendar/dist/Calendar.css';\n\nconst DateFacet = ({\n options,\n label,\n onChange,\n onRemove,\n filters,\n fieldName,\n fieldLabel,\n fieldId,\n}) => {\n const [fieldValue, setFieldValue] = useState(\"\");\n useEffect(() => {\n if (!filters.length) {\n setFieldValue(\"\");\n } else {\n const current = filters.find((filter) => filter.field === fieldId);\n if (current) {\n let currentDate = new Date(current.values[0]);\n if (current.values[0] === \"today\") {\n const today = new Date();\n const adjustedTodayDate = new Date(\n Date.UTC(today.getFullYear(), today.getMonth(), today.getDate())\n );\n\n // Set today's date, if filter is set to 'today'.\n currentDate = adjustedTodayDate;\n }\n\n // We should convert the date to local time when it is returned.\n // Prevents conversion to previous day due to timezone.\n const timezoneDate = new Date(\n currentDate.getTime() + currentDate.getTimezoneOffset() * 60000\n );\n\n setFieldValue(timezoneDate);\n } else {\n setFieldValue(\"\");\n }\n }\n }, [filters, fieldId]);\n\n const onFieldChange = (val) => {\n if (val) {\n // We should provide date without timezone offset to filter,\n // so align it to T00:00:00.000Z.\n const adjustedDate = new Date(\n Date.UTC(val.getFullYear(), val.getMonth(), val.getDate())\n );\n setFieldValue(adjustedDate);\n onChange(adjustedDate.toISOString());\n searchDateFiltered(\n `${\n val.getMonth() + 1\n }.${val.getDate()}.${val.getFullYear().toString().substr(-2)}`\n );\n } else {\n if (fieldValue) {\n // Convert back to UTC.\n const adjustedFieldValue = new Date(\n Date.UTC(\n fieldValue.getFullYear(),\n fieldValue.getMonth(),\n fieldValue.getDate()\n )\n );\n\n onRemove(adjustedFieldValue.toISOString());\n }\n setFieldValue(\"\");\n }\n };\n\n const clearIcon = fieldValue ? : null;\n\n return (\n
    \n {label && {label}}\n
    \n {options.length < 1 &&
    No matching options
    }\n \n {fieldLabel}\n \n onFieldChange(val)}\n name={fieldName}\n format=\"MM.dd.y\"\n dayPlaceholder=\"dd\"\n monthPlaceholder=\"mm\"\n yearPlaceholder=\"yyyy\"\n className=\"form-item__input form-item__input--date\"\n calendarIcon={}\n clearIcon={clearIcon}\n // minDate={new Date(options[0].value)}\n // maxDate={new Date(options[options.length - 1].value)}\n />\n
    \n
    \n );\n};\n\nDateFacet.defaultProps = {\n label: \"\",\n fieldId: \"\",\n options: [\"\"], // Currently we don't need options for this facet, but let's keep it here.\n};\n\nDateFacet.propTypes = {\n options: PropTypes.array,\n label: PropTypes.string,\n fieldLabel: PropTypes.string.isRequired,\n fieldName: PropTypes.string.isRequired,\n fieldId: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n filters: PropTypes.array.isRequired,\n};\n\nexport default DateFacet;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst Radio = ({ checked, onChange, id, name, label, option }) => (\n
    \n {\n onChange(option.value);\n }}\n />\n \n
    \n);\n\nRadio.propTypes = {\n checked: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n option: PropTypes.object.isRequired,\n};\n\nexport default Radio;\n","import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { searchResultsCategoryFiltered } from \"../../lib/analytic/trackSearch\";\n\nimport getFilterValueDisplay from \"../../lib/help/getFilterValueDisplay\";\nimport Radio from \"./Radio\";\n\nconst SingleRadioFacet = ({\n options,\n label,\n onChange,\n onRemove,\n showAll,\n clearFilters,\n alwaysShowingFacets,\n}) => {\n const [prevValue, setPrevValue] = useState(\"\");\n\n const optionAll = {\n count: 0,\n value: \"All\",\n selected: !options.find((option) => option.selected === true),\n };\n\n const defaultShowingFacets =\n alwaysShowingFacets.length > 0 && alwaysShowingFacets;\n\n const onOptionChange = (val) => {\n if (val === \"All\") {\n onRemove(prevValue);\n // On click all we need to show all results and clear hidden facets.\n if (defaultShowingFacets) {\n // This needed for dynamicHiddenFacets, after hidden this facets,\n // remove all facets from request except this. (global search).\n clearFilters(defaultShowingFacets);\n }\n } else {\n onChange(val);\n }\n setPrevValue(val);\n searchResultsCategoryFiltered(label, val);\n };\n\n const customOptions = [...options];\n\n if (showAll) {\n customOptions.unshift(optionAll);\n }\n\n const optionsList = customOptions.map((option) => {\n const optionProps = {\n key: `${getFilterValueDisplay(option.value)}`,\n checked: option.selected,\n onChange: onOptionChange,\n id: `radio_facet_${label}${getFilterValueDisplay(option.value)}`,\n name: \"radioFacet\",\n label: getFilterValueDisplay(option.value),\n option,\n };\n return ;\n });\n\n return (\n
    \n {label}\n
    \n {options.length < 1 &&
    No matching options
    }\n {optionsList}\n
    \n
    \n );\n};\n\nSingleRadioFacet.defaultProps = {\n showAll: true,\n clearFilters: () => {},\n alwaysShowingFacets: [],\n};\n\nSingleRadioFacet.propTypes = {\n options: PropTypes.array.isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n showAll: PropTypes.bool,\n clearFilters: PropTypes.func,\n alwaysShowingFacets: PropTypes.array,\n};\n\nexport default SingleRadioFacet;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { searchLocationFiltered } from \"../../lib/analytic/trackSearch\";\n\nimport getFilterValueDisplay from \"../../lib/help/getFilterValueDisplay\";\n\nconst SingleSelectFacet = ({\n options,\n label,\n onChange,\n onRemove,\n allLabel,\n}) => {\n const onSelectChange = (val) => {\n if (val) {\n onChange(val);\n searchLocationFiltered(val);\n } else {\n onRemove(val);\n }\n };\n\n const value = options.filter((option) => option.selected);\n const allLabelValue = allLabel || \"Any\";\n\n return (\n
    \n {label}\n
    \n {options.length < 1 &&
    No matching options
    }\n
    \n {/* eslint-disable-next-line jsx-a11y/no-onchange */}\n onSelectChange(e.target.value)}\n value={value.length ? value[0].value : \"\"}\n >\n \n {options.map((option) => {\n return (\n \n {getFilterValueDisplay(option.value)}{\" \"}\n {`(${option.count.toLocaleString(\"en\")})`}\n \n );\n })}\n \n
    \n
    \n
    \n );\n};\n\nSingleSelectFacet.defaultProps = {\n allLabel: null,\n};\n\nSingleSelectFacet.propTypes = {\n options: PropTypes.array.isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n allLabel: PropTypes.string,\n};\n\nexport default SingleSelectFacet;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\n// This component is useless without `withSearch` context.\nimport { withSearch } from \"@elastic/react-search-ui\";\n\nimport classnames from \"classnames\";\nimport { markSelectedFacetValuesFromFilters } from \"../../lib/help/markSelectedFacetValuesFromFilters\";\n\nimport MultiCheckboxFacet from \"../MultiCheckboxFacet/MultiCheckboxFacet\";\nimport DateFacet from \"../DateFacet/DateFacet\";\nimport SingleRadioFacet from \"../SingleRadioFacet/SingleRadioFacet\";\nimport SingleSelectFacet from \"../SingleSelectFacet/SingleSelectFacet\";\n\nconst FacetsList = ({\n facetsConfig,\n facetsToHide,\n className,\n alwaysShowingFacets,\n ...rest\n}) => {\n const {\n facets,\n addFilter,\n removeFilter,\n setFilter,\n filters,\n clearFilters,\n } = rest;\n\n const cssClasses = classnames(\"facets-list\", className);\n\n // Prepare sorted facets data.\n const sortedFacets = Object.entries(facets)\n .map(([key, value]) => {\n // Skip facet if no configs defined,\n // or its in facets to hide list.\n if (\n !facetsConfig[key] ||\n (facetsToHide && facetsToHide.indexOf(key) !== -1)\n )\n return null;\n return [key, value[0]];\n })\n .sort((a, b) => {\n return (a === null) - (b === null) || -(a > b) || +(a < b);\n })\n .sort((a, b) => {\n if (a && b && facetsConfig[a[0]].weight && facetsConfig[b[0]].weight) {\n return facetsConfig[a[0]].weight - facetsConfig[b[0]].weight;\n }\n return 0;\n });\n\n const facetsList = () =>\n sortedFacets.map((facetItem) => {\n if (!facetItem) return null;\n\n const facet = facetItem[1];\n const facetName = facetItem[0];\n const { field } = facet;\n const { filterType } = facetsConfig[facetName];\n const facetView = facetsConfig[facetName].view;\n\n let facetValues = markSelectedFacetValuesFromFilters(\n facet,\n filters,\n field,\n filterType\n ).data;\n\n if (facetsConfig[facetName].labelsWeight) {\n facetValues = facetValues\n .map((v) => ({\n weight: facetsConfig[facetName].labelsWeight?.[v.value] ?? 0,\n ...v,\n }))\n .sort((x, y) =>\n Number(x.weight) - Number(y.weight)\n ? Number(x.weight) - Number(y.weight)\n : x.value.localeCompare(y.value)\n );\n }\n\n const selectedValues = facetValues\n .filter((fv) => fv.selected)\n .map((fv) => fv.value);\n\n if (!facetValues.length && !selectedValues.length) return null;\n\n const facetProps = {\n key: `key-${facetName}`,\n clearFilters,\n alwaysShowingFacets,\n onRemove: (val) => removeFilter(field, val, filterType),\n onSelect: (val) => addFilter(field, val, filterType),\n options: facetValues,\n fieldId: field,\n ...(facetsConfig[facetName].label && {\n label: facetsConfig[facetName].label,\n }),\n ...(facetsConfig[facetName].allLabel && {\n allLabel: facetsConfig[facetName].allLabel,\n }),\n ...(facetsConfig[facetName].fieldLabel && {\n fieldLabel: facetsConfig[facetName].fieldLabel,\n }),\n ...(facetsConfig[facetName].fieldName && {\n fieldName: facetsConfig[facetName].fieldName,\n }),\n ...((facetView === \"DateFacet\" ||\n facetView === \"SingleRadioFacet\" ||\n facetView === \"SingleSelectFacet\") && {\n onChange: (val) => setFilter(field, val, filterType),\n }),\n ...((facetView === \"DateFacet\" ||\n facetView === \"SingleSelectFacet\") && {\n filters,\n }),\n ...(facetView === \"MultiCheckboxFacet\" && {\n showMore: facetsConfig[facetName].showMore,\n }),\n };\n\n switch (facetView) {\n case \"DateFacet\":\n return ;\n case \"SingleRadioFacet\":\n return ;\n case \"SingleSelectFacet\":\n return ;\n default:\n return ;\n }\n });\n\n return
    {facetsList()}
    ;\n};\n\nFacetsList.defaultProps = {\n facetsToHide: [],\n className: \"\",\n alwaysShowingFacets: [],\n};\n\nFacetsList.propTypes = {\n facetsConfig: PropTypes.object.isRequired,\n facetsToHide: PropTypes.array,\n className: PropTypes.string,\n alwaysShowingFacets: PropTypes.array,\n};\n\nexport default withSearch(\n ({ facets, addFilter, removeFilter, setFilter, filters, clearFilters }) => ({\n facets,\n addFilter,\n removeFilter,\n setFilter,\n filters,\n clearFilters,\n })\n)(FacetsList);\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\n// This component is useless without `withSearch` context.\nimport { withSearch } from \"@elastic/react-search-ui\";\n\nimport classnames from \"classnames\";\nimport DateFacet from \"../DateFacet/DateFacet\";\n\nconst DateRangeFilter = ({\n config,\n className,\n removeFilter,\n setFilter,\n filters,\n}) => {\n const cssClasses = classnames(\"date-range-filter\", className);\n\n const filtersList = Object.keys(config).map((key) => {\n const { label, fieldName, fieldLabel, filterType } = config[key];\n const facetProps = {\n label,\n fieldName,\n fieldLabel,\n filterType,\n onRemove: (val) => removeFilter(key, val, filterType),\n onChange: (val) => setFilter(key, val, filterType),\n filters,\n fieldId: key,\n key: `fieldId-${fieldName}`,\n };\n return ;\n });\n\n return
    {filtersList}
    ;\n};\n\nDateRangeFilter.defaultProps = {\n className: \"\",\n};\n\nDateRangeFilter.propTypes = {\n className: PropTypes.string,\n config: PropTypes.object.isRequired,\n removeFilter: PropTypes.func.isRequired,\n setFilter: PropTypes.func.isRequired,\n filters: PropTypes.array.isRequired,\n};\n\nexport default withSearch(({ removeFilter, setFilter, filters }) => ({\n removeFilter,\n setFilter,\n filters,\n}))(DateRangeFilter);\n","import React, { useState, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classnames from \"classnames\";\n\n// This component is useless without `withSearch` context.\nimport { withSearch } from \"@elastic/react-search-ui\";\nimport { searchClearFilters } from \"../../lib/analytic/trackSearch\";\n\nimport Heading from \"../Heading/Heading\";\nimport FacetsList from \"./FacetsList\";\nimport DateRangeFilter from \"../DateRangeFilter/DateRangeFilter\";\n\nimport { BREAKPOINT_DESKTOP } from \"../../constants/Breakpoints\";\n\nconst Facets = ({\n facetsConfig,\n facetsToHide,\n dateRangeFilterConfig,\n nameOfSearch,\n dynamicHiddenFacets,\n alwaysShowingFacets,\n ...rest\n}) => {\n const { facets, clearFilters, filters, totalResults } = rest;\n // Works only with radio inputs.\n // Pick up the required facets by name of facet.\n const getHiddenFacets = (config, itemsFacets) => {\n const getNeededFacet =\n itemsFacets.length > 0 &&\n itemsFacets.filter((item) => item.field === config.facetName);\n if (getNeededFacet[0]?.values) {\n const currentFacet = getNeededFacet[0]?.values[0];\n const showFacets = config.items.filter(\n (item) => item.type === currentFacet\n );\n return showFacets[0]?.facets;\n }\n return [];\n };\n\n const removeFromHiddenFacets =\n dynamicHiddenFacets && getHiddenFacets(dynamicHiddenFacets, filters);\n\n let localFacetsToHide = facetsToHide;\n\n if (removeFromHiddenFacets && removeFromHiddenFacets.length > 0) {\n localFacetsToHide = localFacetsToHide.filter(\n (el) => !removeFromHiddenFacets.includes(el)\n );\n }\n\n // Currently we are using something like a modal inside facets list.\n // But that's not a best way. Further improvement gonna be creating\n // React modal component. But here we need it only on mobile,\n // so it's event not real modal so far.\n const [modalOpened, setModalOpened] = useState(false);\n\n const closeModalButton = useRef(null);\n const openModalButton = useRef(null);\n\n const modalAttributes =\n window.innerWidth < BREAKPOINT_DESKTOP\n ? {\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-labelledby\": \"mobile-facets-name\",\n }\n : null;\n\n const modalClasses = classnames(\"facets__modal\", {\n \"facets__modal--is-opened\": modalOpened,\n });\n\n const openModalBtnIsDisabled = () => {\n const facetsKeys = Object.keys(facets);\n const facetsToHideCompare = facetsKeys\n .map((key) => localFacetsToHide.indexOf(key) !== -1)\n .filter((el) => el);\n if (facetsKeys.length === facetsToHideCompare.length) {\n return true;\n }\n return false;\n };\n\n const openModal = () => {\n setModalOpened(true);\n // Need small delay to draw container.\n setTimeout(() => {\n closeModalButton.current.focus();\n }, 300);\n // TODO: for better accessibility we should also trap focus inside modal.\n document.body.classList.add(\"modal-is-opened\");\n };\n\n const closeModal = () => {\n setModalOpened(false);\n openModalButton.current.focus();\n document.body.classList.remove(\"modal-is-opened\");\n };\n\n const handleClearFilter = () => {\n clearFilters();\n searchClearFilters(nameOfSearch);\n };\n\n return (\n
    \n \n \n Configure search\n \n
    \n \n \n Close filters\n \n \n Filters\n \n\n {dateRangeFilterConfig && (\n \n )}\n\n {totalResults !== 0 ? (\n \n ) : (\n

    No results found!

    \n )}\n\n {filters.length !== 0 && (\n
    \n {!!totalResults && (\n \n Apply filters\n \n )}\n handleClearFilter()}\n >\n Clear filters\n \n
    \n )}\n
    \n
    \n );\n};\n\nFacets.defaultProps = {\n facetsToHide: [],\n dateRangeFilterConfig: null,\n nameOfSearch: \"\",\n dynamicHiddenFacets: null,\n alwaysShowingFacets: [],\n};\n\nFacets.propTypes = {\n facetsConfig: PropTypes.object.isRequired,\n facetsToHide: PropTypes.array,\n dateRangeFilterConfig: PropTypes.object,\n nameOfSearch: PropTypes.string,\n dynamicHiddenFacets: PropTypes.object,\n alwaysShowingFacets: PropTypes.array,\n};\n\nexport default withSearch(\n ({ facets, filters, clearFilters, totalResults }) => ({\n facets,\n filters,\n clearFilters,\n totalResults,\n })\n)(Facets);\n","import React from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport classes from \"classnames\";\n\nimport SearchForm from \"../SearchForm/SearchForm\";\nimport Link from \"../Link/Link\";\nimport FacetsList from \"../Facets/FacetsList\";\n\nconst SearchSubNav = ({\n className,\n title,\n formConfig,\n facetsConfig,\n facetsToHide,\n links,\n}) => {\n const componentClasses = classes(\"search-subnav\", className);\n const linksList = links?.map((link) => (\n
  • \n {link.title}\n
  • \n ));\n return (\n
    \n
    \n
    \n {title &&

    {title}

    }\n\n {formConfig && (\n \n )}\n\n {links &&
      {linksList}
    }\n\n \n
    \n
    \n
    \n );\n};\n\nSearchSubNav.defaultProps = {\n title: \"\",\n formConfig: null,\n links: [],\n className: \"\",\n facetsConfig: null,\n facetsToHide: [],\n};\n\nSearchSubNav.propTypes = {\n title: PropTypes.string,\n formConfig: PropTypes.object,\n links: PropTypes.array,\n className: PropTypes.string,\n facetsConfig: PropTypes.object,\n facetsToHide: PropTypes.array,\n};\n\nexport default SearchSubNav;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport classnames from \"classnames\";\n\n// This component is useless without `withSearch` context.\nimport { withSearch } from \"@elastic/react-search-ui\";\nimport { searchArchivedEvents } from \"../../lib/analytic/trackSearch\";\n\n// This component lose its sense without set filter with corresponding field\n// value in the `initialState` object.\nconst ArchivedFilter = ({\n addFilter,\n removeFilter,\n filters,\n field,\n date,\n className,\n}) => {\n const componentClasses = classnames(\"archived-filter\", className);\n const [checked, setChecked] = useState(false);\n const isFilterData = filters.find(\n (filter) => filter.field === \"event_start_date\"\n );\n const fromDate = isFilterData && isFilterData?.values[0];\n const currentDate = fromDate !== date ? fromDate : date;\n const textOfLabel = \"Include Archived Events\";\n useEffect(() => {\n if (fromDate >= date) {\n setChecked(false);\n } else {\n setChecked(true);\n }\n }, [date, fromDate]);\n const handleChange = () => {\n setChecked(!checked);\n if (checked) {\n if (date !== currentDate) {\n removeFilter(field, currentDate, \"any\");\n }\n addFilter(field, date, \"any\");\n } else {\n removeFilter(field, currentDate, \"any\");\n searchArchivedEvents(textOfLabel);\n }\n };\n\n return (\n
    \n
    \n \n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\n \n
    \n
    \n );\n};\n\nArchivedFilter.defaultProps = {\n className: \"\",\n};\n\nArchivedFilter.propTypes = {\n field: PropTypes.string.isRequired,\n date: PropTypes.string.isRequired,\n filters: PropTypes.array.isRequired,\n addFilter: PropTypes.func.isRequired,\n removeFilter: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default withSearch(({ addFilter, removeFilter, filters }) => ({\n addFilter,\n removeFilter,\n filters,\n}))(ArchivedFilter);\n","/**\n * @type {function} prepareBodyWithHighlights\n *\n * @param {object} searchHighlights an object which contains a values\n * of the fields passed to highlight in query\n * in file ./search-connector/requestAdapter.js\n *\n * @returns {string|undefined} a string with text\n * which contains highlighted query or undefined.\n */\nconst prepareBodyWithHighlights = (searchHighlights) => {\n // In case we have summary field in highlights return first value of it.\n if (Object.prototype.hasOwnProperty.call(searchHighlights, \"summary\")) {\n return searchHighlights.summary[0];\n }\n // Otherwise let's try to return content field value.\n if (Object.prototype.hasOwnProperty.call(searchHighlights, \"content\")) {\n return searchHighlights.content.join(\" \");\n }\n return undefined;\n};\n\nexport default prepareBodyWithHighlights;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { withSearch } from \"@elastic/react-search-ui\";\n\nimport classnames from \"classnames\";\nimport ListingPageHero from \"../ListingPageHero/ListingPageHero\";\nimport ResultItem from \"../ResultItem/ResultItem\";\nimport PagingInfo from \"../PagingInfo/PagingInfo\";\nimport Loading from \"../Loading/Loading\";\nimport Sorter from \"../Sorter/Sorter\";\nimport Pagination from \"../Pagination/Pagination\";\nimport Facets from \"../Facets/Facets\";\nimport SearchSubNav from \"../SearchSubNav/SearchSubNav\";\nimport ArchivedFilter from \"../ArchivedFilter/ArchivedFilter\";\nimport {\n searchResultsSorted,\n searchResultItem,\n searchPerformedByTag,\n} from \"../../lib/analytic/trackSearch\";\nimport nameOfSearch from \"../../constants/nameOfSearch\";\nimport { BREAKPOINT_DESKTOP } from \"../../constants/Breakpoints\";\nimport useMedia from \"../../lib/hooks/useMedia\";\nimport prepareBodyWithHighlights from \"../../lib/help/prepareBodyWithHighlights\";\n\nconst SearchResultsPage = ({\n searchTerm,\n setSearchTerm,\n results,\n isLoading,\n setSort,\n setCurrent,\n totalPages,\n current,\n totalResults,\n pagingStart,\n pagingEnd,\n sortField,\n wasSearched,\n dateRangeFilterConfig,\n resultsPerPage,\n alwaysShowingFacets,\n ...rest\n}) => {\n const {\n sortOptions,\n facetsConfig,\n listingPageHero,\n searchSubNav,\n subNavFacetsToHide,\n mainFacetsToHide,\n archivedFilterSettings,\n typeOfSearch,\n extraClass,\n resetSorting,\n showSuggestions,\n showTags,\n dynamicHiddenFacets,\n } = rest;\n const isMobile = useMedia(`(max-width: ${BREAKPOINT_DESKTOP - 1}px)`);\n // For some search need to set sorting on search use settings.\n const resetSortingHandler = () =>\n resetSorting !== null && setSort(resetSorting.initialSort);\n const formConfig = {\n inputValue: searchTerm,\n typeOfSearch,\n resetSorting: resetSortingHandler,\n showSuggestions,\n formOnSubmit: (val) => setSearchTerm(val),\n ...(listingPageHero && { ...listingPageHero }.formConfig),\n ...(searchSubNav && { ...searchSubNav }.formConfig),\n };\n const tagSearchText = \"tags:\";\n // On click on tag from result item set current tag to search.\n const handleClickOnTag = (e) => {\n resetSortingHandler();\n const tagText = `${tagSearchText}\"${e.currentTarget.innerText}\"`;\n setSearchTerm(tagText);\n searchPerformedByTag(typeOfSearch, tagText);\n };\n // On load, push analytic if search by tag.\n useEffect(() => {\n if (searchTerm.indexOf(tagSearchText) > -1) {\n searchPerformedByTag(typeOfSearch, searchTerm);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const getCurrentItem = (items, idOfItem) =>\n items.find((item) => item.id.raw === idOfItem);\n\n const analyticDataForItem = (data) => {\n const currentItem = getCurrentItem(results, data.id);\n const globalPosition =\n current !== 1\n ? (current - 1) * resultsPerPage + currentItem.position\n : currentItem.position;\n const searchPageNumber = `${current} of ${totalPages}`;\n return {\n title: currentItem.title.raw.replace(/(<([^>]+)>)/gi, \"\"),\n position: `${globalPosition} of ${totalResults}`,\n searchPageNumber,\n type: currentItem.type.raw,\n };\n };\n const trackItem = (item, name, action) => {\n const analyticData = analyticDataForItem(item);\n searchResultItem(\n analyticData.title,\n analyticData.position,\n analyticData.searchPageNumber,\n analyticData.type,\n name,\n action\n );\n };\n const handleExpandItem = (item) => {\n trackItem(\n item,\n \"searchResultExpandedPreview\",\n \"Expanded Preview of Search Result\"\n );\n };\n const handClickItem = (item) => {\n trackItem(item, \"searchResultSelected\", \"Selected a Search Result\");\n };\n // Added text to subtitle if result from extra sorting.\n // It is only for product search.\n const updateSubTitle = (item) => {\n if (item?.top_position && item.top_position.raw > 0) {\n return `FEATURED | ${item.pretitle.raw}`;\n }\n return item.pretitle.raw;\n };\n const resultsList = results.map((result) => {\n const subTitle =\n typeOfSearch === nameOfSearch.product\n ? updateSubTitle(result)\n : result.pretitle.raw;\n const bodyFormatted = result[\"@search.highlights\"]\n ? prepareBodyWithHighlights(result[\"@search.highlights\"].raw)\n : result.summary.raw;\n const resultProps = {\n image: result.image.raw,\n linkUrl: result.url.raw,\n linkTitle: result.title.raw,\n subtitle: subTitle,\n body: bodyFormatted,\n tags: result.tags.raw,\n id: result.id.raw,\n isSearchResult: true,\n showTags,\n handleClickOnTag,\n handleExpand: handleExpandItem,\n handleClick: handClickItem,\n };\n return (\n
  • \n \n
  • \n );\n });\n // May bee need if we have some fixed elements before scroll to target.\n const scrollTopOffset = 0;\n const resultsClasses = classnames(\n \"search-results-page\",\n extraClass && `search-results-page--${extraClass}`\n );\n const sortHandle = (val) => {\n setSort(val);\n searchResultsSorted(val.name);\n };\n return (\n
    \n {listingPageHero && (\n \n )}\n\n {searchSubNav && (\n \n )}\n\n
    \n
    \n {!isMobile && (\n \n )}\n\n {archivedFilterSettings && (\n \n )}\n\n {sortOptions && (\n sortHandle(val)}\n value={sortField && sortField.value}\n direction={sortField && sortField.direction}\n />\n )}\n\n {isMobile && (\n \n )}\n
    \n
    \n
    \n \n
    \n
    \n {isLoading ? (\n \n ) : (\n <>\n {!resultsList.length && \"No results found.\"}\n\n
      \n {resultsList}\n
    \n\n {totalResults !== 0 && (\n setCurrent(p)}\n scrollToTop=\".search-results-page__main\"\n scrollOffset={scrollTopOffset}\n />\n )}\n \n )}\n
    \n
    \n
    \n
    \n );\n};\n\nSearchResultsPage.defaultProps = {\n typeOfSearch: \"\",\n extraClass: \"\",\n dateRangeFilterConfig: null,\n resetSorting: null,\n showSuggestions: false,\n showTags: false,\n dynamicHiddenFacets: {},\n alwaysShowingFacets: [],\n};\n\nSearchResultsPage.propTypes = {\n searchTerm: PropTypes.string.isRequired,\n setSearchTerm: PropTypes.func.isRequired,\n results: PropTypes.array.isRequired,\n isLoading: PropTypes.bool.isRequired,\n wasSearched: PropTypes.bool.isRequired,\n setSort: PropTypes.func.isRequired,\n setCurrent: PropTypes.func.isRequired,\n current: PropTypes.number.isRequired,\n totalPages: PropTypes.number.isRequired,\n totalResults: PropTypes.number.isRequired,\n pagingStart: PropTypes.number.isRequired,\n pagingEnd: PropTypes.number.isRequired,\n sortField: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n .isRequired,\n typeOfSearch: PropTypes.string,\n extraClass: PropTypes.string,\n dateRangeFilterConfig: PropTypes.object,\n resetSorting: PropTypes.object,\n showSuggestions: PropTypes.bool,\n showTags: PropTypes.bool,\n resultsPerPage: PropTypes.number.isRequired,\n dynamicHiddenFacets: PropTypes.object,\n alwaysShowingFacets: PropTypes.array,\n};\n\n// Export component with `withSearch` context to have access\n// to the the need search context properties.\n// Context provider and settings defined in the SearchResultPAgeContainer.\nexport default withSearch(\n ({\n searchTerm,\n setSearchTerm,\n results,\n isLoading,\n setSort,\n setCurrent,\n current,\n totalPages,\n totalResults,\n pagingStart,\n pagingEnd,\n sortField,\n wasSearched,\n resultsPerPage,\n }) => ({\n searchTerm,\n setSearchTerm,\n results,\n isLoading,\n setSort,\n setCurrent,\n totalPages,\n current,\n totalResults,\n pagingStart,\n pagingEnd,\n sortField,\n wasSearched,\n resultsPerPage,\n })\n)(SearchResultsPage);\n","export const BREAKPOINT_MOBILE = 768;\nexport const BREAKPOINT_DESKTOP = 1110;\n","const nameOfSearch = {\n product: \"Product\",\n newsroom: \"Article\",\n global: \"Global\",\n event: \"Event\",\n};\n\nexport default nameOfSearch;\n","/**\n * Data layer template.\n * @param {string} label of data layer.\n * @param {object} vars of data what need to push.\n * @param {string} eventName.\n * @param {string} eventAction.\n * @param {string} eventCategory.\n */\nexport default function dataLayerPush(\n label,\n vars,\n eventName,\n eventAction,\n eventCategory = \"Content Interactions\"\n) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: eventName,\n eventCategory,\n eventAction,\n eventLabel: label,\n eventValue: undefined,\n eventOrigin: \"front-end\",\n eventVars: vars,\n });\n}\n","/**\n * Analytics for search.\n */\n\nimport dataLayerPush from \"./dataLayerPush\";\n\nconst eventCategory = \"Search\";\n\n/**\n * Track input search on search pages.\n *\n * @param {string} searchType.\n * @param {string} query fo search.\n */\nexport function searchPerformed(searchType, query) {\n const eventLabel = `Search Type: ${searchType} | Query: ${query}`;\n const eventVars = { searchType, query };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchPerformed\",\n \"Performed Search\",\n eventCategory\n );\n}\n\n/**\n * Track facet on search pages.\n *\n * @param {string} searchFilterCategory filing category.\n * @param {string} searchFacetChoice facet name.\n */\nexport function searchResultsCategoryFiltered(\n searchFilterCategory,\n searchFacetChoice\n) {\n const eventLabel = `Search Filter: ${searchFilterCategory} | Choice: ${searchFacetChoice}`;\n const eventVars = {\n searchFilterCategory,\n searchFacetChoice,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchResultsCategoryFiltered\",\n \"Filtered Search Results By Category\",\n eventCategory\n );\n}\n\n/**\n * Track select on search pages.\n *\n * @param {string} searchLocationSelected value of select.\n */\nexport function searchLocationFiltered(searchLocationSelected) {\n const eventLabel = `Location: ${searchLocationSelected}`;\n const eventVars = {\n searchLocationSelected,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchLocationFiltered\",\n \"Filtered Search Location\",\n eventCategory\n );\n}\n\n/**\n * Track clear button on search pages.\n *\n * @param {string} searchType type of search.\n */\nexport function searchClearFilters(searchType) {\n const eventLabel = `Cleared Filter on: ${searchType} Search`;\n const eventVars = {\n searchType,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchClearFiltersButtonEngaged\",\n \"Cleared Search Filters\",\n eventCategory\n );\n}\n\n/**\n * Track date choose on search pages.\n *\n * @param {string} filterDateSelected type of search.\n */\nexport function searchDateFiltered(filterDateSelected) {\n const eventLabel = `Filter Date: ${filterDateSelected}`;\n const eventVars = {\n filterDateSelected,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchDateFiltered\",\n \"Filtered Date of Search Results\",\n eventCategory\n );\n}\n\n/**\n * Track show more btn on search pages.\n *\n * @param {string} showButtonText text of button.\n */\nexport function searchShowButton(showButtonText) {\n const eventLabel = `${showButtonText}`;\n const eventVars = {\n showButtonText,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchShowButtonEngaged\",\n \"Engaged Show All or Show Less Search Results Button\",\n eventCategory\n );\n}\n\n/**\n * Track sort select on search pages.\n *\n * @param {string} sortStyle text of select.\n */\nexport function searchResultsSorted(sortStyle) {\n const eventLabel = `Sorted by: ${sortStyle}`;\n const eventVars = {\n sortStyle,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchResultsSorted\",\n \"Sorted Search Results List\",\n eventCategory\n );\n}\n\n/**\n * Track click on result item or inside to expand button.\n *\n * @param {string} searchResultTitle text title of result item.\n * @param {string} searchResultPosition position of item.\n * @param {string} searchPageNumber.\n * @param {string} contentType.\n * @param {string} eventName.\n * @param {string} eventAction.\n */\nexport function searchResultItem(\n searchResultTitle,\n searchResultPosition,\n searchPageNumber,\n contentType,\n eventName,\n eventAction\n) {\n const eventLabel = `Result: ${searchResultTitle} | Position: ${searchResultPosition} | Page: ${searchPageNumber} | Content Type: ${contentType}`;\n const eventVars = {\n searchResultTitle,\n searchResultPosition,\n searchPageNumber,\n contentType,\n };\n dataLayerPush(eventLabel, eventVars, eventName, eventAction, eventCategory);\n}\n\n/**\n * Track option archived events on search.\n *\n * @param {string} extraSearchOption label of checkbox.\n */\nexport function searchArchivedEvents(extraSearchOption) {\n const eventLabel = `Option: ${extraSearchOption}`;\n const eventVars = {\n extraSearchOption,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchOptionIncludeArchivedEvents\",\n \"Selected Extra Search Option\",\n eventCategory\n );\n}\n\n/**\n * Track tag click on search.\n *\n * @param {string} searchType type of search.\n * @param {string} tagQuery text of tag.\n */\nexport function searchPerformedByTag(searchType, tagQuery) {\n const eventLabel = `Search Type: ${searchType} | Query: ${tagQuery}`;\n const eventVars = {\n searchType,\n tagQuery,\n };\n dataLayerPush(\n eventLabel,\n eventVars,\n \"searchPerformedByTag\",\n \"Performed Search by Tag\",\n eventCategory\n );\n}\n","const printAttributes = (arrayOfAttributes) => {\n const attributes = {};\n const arrayAttr =\n arrayOfAttributes.constructor === Array ? arrayOfAttributes : [];\n arrayAttr.forEach((attr) => {\n Object.assign(attributes, attr);\n });\n return attributes;\n};\n\nexport default printAttributes;\n","import { useState, useEffect } from \"react\";\n\nconst useMedia = (query) => {\n const [doesMatch, onSetDoesMatch] = useState(false);\n\n useEffect(() => {\n const onUpdateMatch = ({ matches }) => {\n onSetDoesMatch(matches);\n };\n\n const matcher = window.matchMedia(query);\n\n const isModern = \"addEventListener\" in matcher;\n if (isModern) {\n matcher.addEventListener(\"change\", onUpdateMatch);\n } else {\n matcher.addListener(onUpdateMatch);\n }\n\n onUpdateMatch(matcher);\n\n return () => {\n if (isModern) {\n matcher.removeEventListener(\"change\", onUpdateMatch);\n } else {\n matcher.removeListener(onUpdateMatch);\n }\n };\n }, [query, onSetDoesMatch]);\n\n return doesMatch;\n};\n\nexport default useMedia;\n","import { useEffect, useRef } from \"react\";\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport default usePrevious;\n"],"names":["_path","_path2","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","SvgCalendar","props","xmlns","width","height","fill","d","PagerItem","_ref","page","onClick","current","text","totalPages","classes","ariaLabelText","concat","React","className","classnames","type","defaultProps","PropTypes","PagerBreak","Pagination","onChange","scrollToTop","scrollOffset","allowLoadMore","onLoadMore","prevCurrent","usePrevious","useEffect","setTimeout","target","document","querySelector","window","scrollTo","top","offsetTop","Math","abs","getBoundingClientRect","behavior","handlePageClick","p","getRange","start","end","Array","map","v","i","list","curr","delta","range","round","pages","min","withDots","value","pair","createPager","item","key","random","toString","role","disabled","rel","textBlock","count","origText","trim","slice","q","exec","zcount","p1","split","p2","dist1","dist2","v1","pop","v2","shift","nokia","delimiter","d1","Number","MAX_SAFE_INTEGER","d2","undefined","truncate","separator","Tags","dataTags","moreTags","tags","handleClick","buttonElement","useRef","_useState","useState","_useState2","_slicedToArray","showMoreTags","setShowMoreTags","renderTags","tagsItems","addRef","ref","tag","needShowMoreTags","ariaAttributes","focus","ResultItem","image","subtitle","linkUrl","linkTitle","linkAttributes","body","id","isSearchResult","showTags","handleClickOnTag","handleExpand","attributesLink","printAttributes","showBody","setShowBody","classBody","classBtn","classBlock","idBody","dataForAnalytics","href","dangerouslySetInnerHTML","__html","src","url","alt","data","cutText","SearchInput","getAutocomplete","getButtonProps","getInputProps","getLabelProps","clearSelection","inputValue","mobileView","innerWidth","BREAKPOINT_DESKTOP","formClasses","_objectSpread","onBlur","event","nativeEvent","preventDownshiftDefault","SearchSvg","callbackRef","placeholderText","allAutocompletedItemsCount","autocompleteView","isFocused","_props$inputProps","inputProps","inputView","onSelectAutocomplete","onSubmit","useAutocomplete","rest","autocompletedResults","autocompletedSuggestions","autocompletedSuggestionsCount","completeSuggestion","notifyAutocompleteSelected","_objectWithoutProperties","_excluded","focusedClass","AutocompleteView","Autocomplete","InputView","Downshift","onInputValueChange","newValue","itemToString","downshiftProps","closeMenu","isOpen","autocompleteClass","additionalProps","_excluded2","_ref2","_excluded3","SearchForm","formConfig","inputPlaceholder","inputId","formOnSubmit","typeOfSearch","resetSorting","showSuggestions","componentClasses","SearchBox","autocompleteMinimumCharacters","autocompleteSuggestions","view","useCallback","_objectDestructuringEmpty","SearchBoxView","placeholder","searchTerm","searchPerformed","selection","_ref3","defaultOnSelectAutocomplete","suggestion","closeIcon","ListingPageHero","theme","layoutClasses","title","searchForm","searchFormConfig","containerClasses","PagingInfo","pagingStart","pagingEnd","totalResults","componentClassNames","classNames","Sorter","label","options","direction","optionsList","option","index","name","onSelectChange","selectedValue","selectedIndex","getAttribute","selecteDirection","find","htmlFor","Link","children","linkClasses","Heading","level","modifiers","headingBaseClass","Tag","markSelectedFacetValuesFromFilters","facet","filters","fieldName","filterType","facetValues","filterValuesForField","filter","f","field","values","findFilterValues","facetValue","selected","some","filterValue","filterValue1","filterValue2","deepEqual","strict","getFilterValueDisplay","String","textOfButton","showTextLess","MultiCheckboxFacet","onSelect","onRemove","showMore","showMoreOptions","setShowMoreOptions","optionsToShow","cutNumber","initialShowings","sortedOptions","sort","x","y","lab","forEach","searchResultsCategoryFiltered","formItemsClasses","handleChange","isChecked","setOptions","checked","toLocaleString","ShowMore","searchShowButton","currentTarget","innerText","SvgX","stroke","strokeWidth","DateFacet","fieldLabel","fieldId","fieldValue","setFieldValue","currentDate","Date","today","UTC","getFullYear","getMonth","getDate","timezoneDate","getTime","getTimezoneOffset","onFieldChange","val","adjustedDate","toISOString","searchDateFiltered","substr","adjustedFieldValue","clearIcon","ClearIcon","DatePicker","format","dayPlaceholder","monthPlaceholder","yearPlaceholder","calendarIcon","CalendarIcon","SingleRadioFacet","showAll","clearFilters","alwaysShowingFacets","prevValue","setPrevValue","optionAll","defaultShowingFacets","onOptionChange","customOptions","_toConsumableArray","unshift","optionProps","Radio","SingleSelectFacet","allLabel","searchLocationFiltered","allLabelValue","FacetsList","facetsConfig","facetsToHide","facets","addFilter","removeFilter","setFilter","cssClasses","sortedFacets","entries","indexOf","a","b","weight","facetItem","facetName","facetView","labelsWeight","_facetsConfig$facetNa","_facetsConfig$facetNa2","localeCompare","selectedValues","fv","facetProps","withSearch","_ref4","DateRangeFilter","config","filtersList","keys","_config$key","Facets","dateRangeFilterConfig","nameOfSearch","dynamicHiddenFacets","removeFromHiddenFacets","itemsFacets","_getNeededFacet$","getNeededFacet","_getNeededFacet$2","_showFacets$","currentFacet","items","getHiddenFacets","localFacetsToHide","el","includes","modalOpened","setModalOpened","closeModalButton","openModalButton","modalAttributes","modalClasses","closeModal","classList","remove","add","facetsKeys","facetsToHideCompare","openModalBtnIsDisabled","searchClearFilters","SearchSubNav","links","linksList","link","replace","ArchivedFilter","date","setChecked","isFilterData","fromDate","textOfLabel","searchArchivedEvents","searchHighlights","prototype","summary","content","join","SearchResultsPage","setSearchTerm","results","isLoading","setSort","setCurrent","sortField","wasSearched","resultsPerPage","sortOptions","listingPageHero","searchSubNav","subNavFacetsToHide","mainFacetsToHide","archivedFilterSettings","extraClass","isMobile","useMedia","resetSortingHandler","initialSort","tagSearchText","tagText","searchPerformedByTag","trackItem","action","analyticData","idOfItem","currentItem","raw","globalPosition","position","searchPageNumber","analyticDataForItem","searchResultItem","handleExpandItem","handClickItem","resultsList","result","subTitle","product","top_position","pretitle","bodyFormatted","prepareBodyWithHighlights","resultProps","resultsClasses","searchResultsSorted","sortHandle","Loading","BREAKPOINT_MOBILE","newsroom","global","dataLayerPush","vars","eventName","eventAction","eventCategory","dataLayer","push","eventLabel","eventValue","eventOrigin","eventVars","searchType","query","searchFilterCategory","searchFacetChoice","searchLocationSelected","filterDateSelected","showButtonText","sortStyle","searchResultTitle","searchResultPosition","contentType","extraSearchOption","tagQuery","arrayOfAttributes","attributes","constructor","attr","doesMatch","onSetDoesMatch","onUpdateMatch","matches","matcher","matchMedia","isModern","addEventListener","addListener","removeEventListener","removeListener"],"sourceRoot":""}