{"version":3,"sources":["webpack:///./src/js/react-components/magazine-results/card.js","webpack:///./src/js/react-components/magazine-results/list.js","webpack:///./src/js/react-components/magazine-results/index.js"],"names":["Card","_ref","url","Url","headline","Headline","thumbnail","Thumbnail","altText","ThumbnailAlt","date","Date","topics","Topics","React","createElement","href","className","src","alt","data-object-fit","map","tag","key","List","errorDescription","errorHeading","loadingDataLabel","resultListing","resultText","error","isLoading","resultsAriaLabel","Loading","label","Alert","heading","description","type","length","aria-label","_ref2","Id","data","_objectWithoutProperties","_excluded","_extends","propTypes","emailAriaLabel","string","isRequired","fetchUrl","phoneAriaLabel","memo","mobileButtonId","concat","nanoid","contentId","SearchResults","_response$data$Result","_response$data","_response$data2","_response$data3","_response$data3$Facet","_response$data4","clearFiltersLabel","facetsSearchLabel","filtersAriaLabel","errorNoResults","goToPageLabel","keywordQueryString","narrowResultsHeading","pageQueryString","paginationLabel","searchButtonLabel","searchFacetPlaceholder","searchId","searchLabel","showAllFacetsLabel","showLessFacetsLabel","filtersRef","useRef","_useState2","_slicedToArray","useState","filtersExpanded","setFiltersExpanded","_useQueryString2","useQueryString","keywordQs","setKeywordQs","_useQueryString4","pageQs","setPageQs","_useState4","facetsQs","setFacetsQs","_useState6","setFiltersFocusTrap","query","_objectSpread","_defineProperty","fetchUrlWithParams","stringifyUrl","_useFetch","useFetch","response","filtersSelected","Object","entries","some","_ref4","_ref5","k","ResultListing","clearFilters","triggerCustomEvent","window","updateFacets","keyword","prev","getQueryStringValue","useEffect","scrollHeight","current","windowHeight","document","documentElement","clientHeight","scrollTop","body","classList","add","remove","ref","aria-expanded","onClick","filtersFocusTrap","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","onActivate","onDeactivate","activate","id","aria-controls","Results","xlinkHref","role","aria-labelledby","Search","buttonLabel","onSearch","value","Facets","_ref6","Name","Keyword","Options","facets","searchFacetLabel","replace","showAllLabel","showLessLabel","parse","Pagination","currentPage","CurrentPage","onPageChange","page","scrollTo","top","behavior","totalPages","TotalPages"],"mappings":"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","file":"64.3c06e8.js","sourcesContent":["import React from 'react';\r\n\r\nfunction Card({\r\n Url: url,\r\n Headline: headline,\r\n Thumbnail: thumbnail,\r\n ThumbnailAlt: altText,\r\n Date: date,\r\n Topics: topics\r\n}) {\r\n return (\r\n <a href={url} className=\"article-event-result-card hover-card\">\r\n {thumbnail && (\r\n <div className=\"article-event-result-card__thumbnail-container\">\r\n <img\r\n src={thumbnail}\r\n alt={altText}\r\n className=\"article-event-result-card__thumbnail\"\r\n data-object-fit=\"cover\"\r\n />\r\n </div>\r\n )}\r\n <div className=\"article-event-result-card__description\">\r\n <h3 className=\"article-event-result-card__heading\">{headline}</h3>\r\n <p className=\"article-event-result-card__date\">{date}</p>\r\n <ul className=\"article-event-result-card__tags\">\r\n {topics.map((tag) => (\r\n <li key={tag} className=\"article-event-result-card__tag\">\r\n {tag}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </a>\r\n );\r\n}\r\n\r\nexport default Card;\r\n","import React from 'react';\r\nimport { string } from 'prop-types';\r\n\r\nimport Alert from '../alert';\r\nimport Loading from '../loading';\r\nimport Card from './card';\r\n\r\nfunction List({\r\n errorDescription,\r\n errorHeading,\r\n loadingDataLabel,\r\n resultListing,\r\n resultText,\r\n error,\r\n isLoading,\r\n resultsAriaLabel\r\n}) {\r\n if (isLoading) return <Loading label={loadingDataLabel} />;\r\n\r\n if (error)\r\n return (\r\n <Alert\r\n heading={errorHeading}\r\n description={errorDescription}\r\n type=\"error\"\r\n />\r\n );\r\n\r\n return (\r\n resultListing?.length > 0 && (\r\n <section className=\"staff-list\" aria-label={resultsAriaLabel}>\r\n <p className=\"staff-list__description\">{resultText}</p>\r\n <div className=\"staff-list__list\">\r\n {resultListing.map(({ Id, ...data }) => (\r\n <Card key={Id} {...data} />\r\n ))}\r\n </div>\r\n </section>\r\n )\r\n );\r\n}\r\n\r\nList.propTypes = {\r\n emailAriaLabel: string,\r\n errorDescription: string.isRequired,\r\n errorHeading: string.isRequired,\r\n fetchUrl: string.isRequired,\r\n loadingDataLabel: string.isRequired,\r\n phoneAriaLabel: string,\r\n resultsAriaLabel: string.isRequired\r\n};\r\n\r\nexport default React.memo(List);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { string } from 'prop-types';\r\nimport { nanoid } from 'nanoid';\r\nimport parse from 'html-react-parser';\r\n\r\nimport useFetch from '../../react-hooks/use-fetch';\r\nimport useQueryString from '../../react-hooks/use-query-string';\r\nimport { stringifyUrl, getQueryStringValue } from '../../utils/url';\r\nimport Facets from '../facets';\r\nimport Search from '../search';\r\nimport List from './list';\r\nimport Pagination from '../pagination';\r\nimport { triggerCustomEvent } from '../../utils/events';\r\nimport { createFocusTrap } from 'focus-trap';\r\n\r\nconst mobileButtonId = `id-${nanoid()}`;\r\nconst contentId = `id-${nanoid()}`;\r\n\r\nfunction SearchResults({\r\n clearFiltersLabel,\r\n facetsSearchLabel,\r\n fetchUrl,\r\n filtersAriaLabel,\r\n errorDescription,\r\n errorHeading,\r\n errorNoResults,\r\n goToPageLabel,\r\n heading,\r\n keywordQueryString,\r\n loadingDataLabel,\r\n narrowResultsHeading,\r\n pageQueryString,\r\n paginationLabel,\r\n resultsAriaLabel,\r\n searchButtonLabel,\r\n searchFacetPlaceholder,\r\n searchId,\r\n searchLabel,\r\n showAllFacetsLabel,\r\n showLessFacetsLabel\r\n}) {\r\n const filtersRef = useRef(null);\r\n const [filtersExpanded, setFiltersExpanded] = useState(false);\r\n const [keywordQs, setKeywordQs] = useQueryString(keywordQueryString);\r\n const [pageQs, setPageQs] = useQueryString(pageQueryString);\r\n const [facetsQs, setFacetsQs] = useState({});\r\n const [filtersFocusTrap, setFiltersFocusTrap] = useState();\r\n const query = {\r\n ...(keywordQs && { [keywordQueryString]: keywordQs }),\r\n ...(pageQs && { [pageQueryString]: pageQs }),\r\n ...facetsQs\r\n };\r\n const fetchUrlWithParams = stringifyUrl({\r\n url: fetchUrl,\r\n query\r\n });\r\n const { response, error, isLoading } = useFetch(fetchUrlWithParams);\r\n const filtersSelected = Object.entries(query).some(\r\n ([k, v]) => v && k !== keywordQueryString\r\n );\r\n const resultListing = response?.data?.ResultListing ?? [];\r\n\r\n function clearFilters() {\r\n setPageQs('');\r\n setKeywordQs('');\r\n setFacetsQs({});\r\n triggerCustomEvent(window, 'clearFacets');\r\n }\r\n\r\n function updateFacets(keyword) {\r\n setFacetsQs((prev) => ({\r\n ...prev,\r\n [keyword]: getQueryStringValue(keyword)\r\n }));\r\n setPageQs('');\r\n setFiltersExpanded(false);\r\n }\r\n\r\n function onSearch(keyword) {\r\n setKeywordQs(keyword);\r\n setPageQs('');\r\n setFiltersExpanded(false);\r\n }\r\n\r\n function onPageChange(page) {\r\n setPageQs(page);\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n\r\n function onFiltersExpanded() {\r\n const filtersFocusTrap = createFocusTrap(filtersRef.current, {\r\n escapeDeactivates: true,\r\n clickOutsideDeactivates: true,\r\n onActivate: () => {\r\n setFiltersExpanded(true);\r\n },\r\n onDeactivate: () => {\r\n setFiltersExpanded(false);\r\n }\r\n });\r\n setFiltersFocusTrap(filtersFocusTrap);\r\n filtersFocusTrap.activate();\r\n\r\n setFiltersExpanded(!filtersExpanded);\r\n }\r\n\r\n useEffect(() => {\r\n if (filtersExpanded && filtersRef) {\r\n const { scrollHeight } = filtersRef.current;\r\n const windowHeight = window.document.documentElement.clientHeight;\r\n\r\n if (scrollHeight > windowHeight) {\r\n filtersRef.current.scrollTop = windowHeight - scrollHeight;\r\n }\r\n }\r\n }, [filtersExpanded, filtersRef]);\r\n\r\n useEffect(() => {\r\n const body = window.document.body;\r\n\r\n if (filtersExpanded) {\r\n body.classList.add('noscroll');\r\n } else {\r\n body.classList.remove('noscroll');\r\n }\r\n }, [filtersExpanded]);\r\n\r\n return (\r\n <div className=\"faculty-staff-listing\">\r\n {heading && <h1>{heading}</h1>}\r\n <div className=\"faculty-staff-listing__wrapper\">\r\n <section\r\n aria-label={filtersAriaLabel}\r\n className={`faculty-staff-listing__filters ${\r\n filtersExpanded ? 'faculty-staff-listing__filters--expanded' : ''\r\n }`}\r\n ref={filtersRef}\r\n >\r\n <h3\r\n className={`faculty-staff-listing__filters-mobile-header ${\r\n filtersExpanded\r\n ? 'faculty-staff-listing__filters-mobile-header--expanded'\r\n : ''\r\n }`}\r\n >\r\n <button\r\n aria-expanded={filtersExpanded}\r\n className=\"faculty-staff-listing__filters-mobile-header-button\"\r\n onClick={onFiltersExpanded}\r\n id={mobileButtonId}\r\n aria-controls={contentId}\r\n >\r\n <span>\r\n {filtersExpanded && response\r\n ? response.data?.Results\r\n : narrowResultsHeading}\r\n </span>\r\n <svg>\r\n <use xlinkHref=\"#chevron-down-outline\" />\r\n </svg>\r\n </button>\r\n </h3>\r\n <div\r\n className=\"faculty-staff-listing__filters-content\"\r\n role=\"region\"\r\n id={contentId}\r\n aria-labelledby={mobileButtonId}\r\n >\r\n <div className=\"faculty-staff-listing__filters-content-header\">\r\n <h3 className=\"faculty-staff-listing__narrow-results-heading\">\r\n {narrowResultsHeading}\r\n </h3>\r\n {(filtersSelected || keywordQs) && (\r\n <button className=\"btn-label\" onClick={clearFilters}>\r\n <span>{clearFiltersLabel}</span>\r\n </button>\r\n )}\r\n </div>\r\n <Search\r\n buttonLabel={searchButtonLabel}\r\n id={searchId}\r\n label={searchLabel}\r\n onSearch={onSearch}\r\n value={keywordQs}\r\n />\r\n {response?.data?.Facets?.length > 0 &&\r\n response.data.Facets.map(({ Name, Keyword, Options }) => {\r\n const length = Options.length;\r\n\r\n return (\r\n <Facets\r\n key={Keyword}\r\n keyword={Keyword}\r\n heading={`${Name} ${length > 10 ? `(${length})` : ''}`}\r\n facets={Options}\r\n searchFacetPlaceholder={searchFacetPlaceholder}\r\n searchFacetLabel={facetsSearchLabel.replace(\r\n '{{category}}',\r\n Name\r\n )}\r\n showAllLabel={showAllFacetsLabel}\r\n showLessLabel={showLessFacetsLabel}\r\n updateFacets={updateFacets}\r\n />\r\n );\r\n })}\r\n <div className=\"faculty-staff-listing__clear-filters-mobile\">\r\n {filtersSelected && (\r\n <button className=\"btn-label\" onClick={clearFilters}>\r\n <span>{clearFiltersLabel}</span>\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </section>\r\n <div className=\"faculty-staff-listing__list\">\r\n {!isLoading && !error && resultListing.length === 0 && (\r\n <div className=\"rte\">{parse(errorNoResults)}</div>\r\n )}\r\n <List\r\n resultsAriaLabel={resultsAriaLabel}\r\n fetchUrl={fetchUrlWithParams}\r\n errorDescription={errorDescription}\r\n errorHeading={errorHeading}\r\n loadingDataLabel={loadingDataLabel}\r\n resultListing={resultListing}\r\n resultText={response?.data?.Results}\r\n error={error}\r\n isLoading={isLoading}\r\n />\r\n {!isLoading && resultListing.length !== 0 && (\r\n <Pagination\r\n label={paginationLabel}\r\n currentPage={response.data.CurrentPage}\r\n goToPageLabel={goToPageLabel}\r\n onPageChange={onPageChange}\r\n totalPages={response.data.TotalPages}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nSearchResults.propTypes = {\r\n clearFiltersLabel: string.isRequired,\r\n facetsSearchLabel: string.isRequired,\r\n filtersAriaLabel: string.isRequired,\r\n goToPageLabel: string.isRequired,\r\n errorDescription: string.isRequired,\r\n errorHeading: string.isRequired,\r\n errorNoResults: string.isRequired,\r\n fetchUrl: string.isRequired,\r\n heading: string,\r\n keywordQueryString: string.isRequired,\r\n loadingDataLabel: string.isRequired,\r\n narrowResultsHeading: string.isRequired,\r\n pageQueryString: string.isRequired,\r\n paginationLabel: string.isRequired,\r\n searchButtonLabel: string.isRequired,\r\n searchFacetPlaceholder: string.isRequired,\r\n searchId: string.isRequired,\r\n searchLabel: string.isRequired,\r\n showAllFacetsLabel: string.isRequired,\r\n showLessFacetsLabel: string.isRequired\r\n};\r\n\r\nexport default SearchResults;\r\n"],"sourceRoot":""}