{"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":""}