{"version":3,"sources":["webpack:///./src/js/react-components/search/Letterfilter.js","webpack:///./src/js/react-components/search-results/index.js"],"names":["LetterButton","_ref","isActive","label","onClick","ariaLabel","React","createElement","className","concat","aria-label","toUpperCase","Letterfilter","_ref2","activeFilter","buttonLabel","id","htmlFor","Array","from","map","letter","key","propTypes","string","isRequired","func","mobileButtonId","nanoid","contentId","SearchResults","_response$data$Result","_response$data","_response$data2","_response$data3","_response$data3$Facet","_response$data4","clearFiltersLabel","facetsSearchLabel","fetchUrl","filtersAriaLabel","emailAriaLabel","errorDescription","errorHeading","errorNoResults","goToPageLabel","heading","keywordQueryString","letterFilterQueryString","showLetterFilter","letterFilterLabel","loadingDataLabel","narrowResultsHeading","pageQueryString","paginationLabel","phoneAriaLabel","resultsAriaLabel","searchButtonLabel","searchFacetPlaceholder","searchId","searchLabel","showAllFacetsLabel","showLessFacetsLabel","filterExpandedIndex","displayCount","externalLinkText","resourceTypesLabel","eligibilityLabel","ageGroupsLabel","partnersLabel","filtersRef","useRef","_useState2","_slicedToArray","useState","filtersExpanded","setFiltersExpanded","_useQueryString2","useQueryString","letterFilterQs","setLetterFilterQs","_useQueryString4","keywordQs","setKeywordQs","_useQueryString6","pageQs","setPageQs","_useState4","facetsQs","setFacetsQs","_useState6","setFiltersFocusTrap","query","_objectSpread","_defineProperty","fetchUrlWithParams","stringifyUrl","url","_useFetch","useFetch","response","error","isLoading","filtersSelected","Object","entries","some","_ref5","_ref6","k","resultListing","data","ResultListing","clearFilters","triggerCustomEvent","window","updateFacets","keyword","prev","getQueryStringValue","isUndefined","useEffect","scrollHeight","current","windowHeight","document","documentElement","clientHeight","scrollTop","body","classList","add","remove","ref","aria-expanded","filtersFocusTrap","createFocusTrap","escapeDeactivates","clickOutsideDeactivates","onActivate","onDeactivate","activate","aria-controls","Results","xlinkHref","role","aria-labelledby","Search","onSearch","value","Facets","length","_ref7","index","Name","Keyword","Options","headingVal","facets","searchFacetLabel","replace","showAllLabel","showLessLabel","expandedFacet","parseInt","parse","List","resultText","Pagination","currentPage","CurrentPage","onPageChange","page","scrollTo","top","behavior","totalPages","TotalPages","number"],"mappings":"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","file":"66.14f7fb.js","sourcesContent":["import React from 'react';\r\nimport { string, func } from 'prop-types';\r\n\r\nconst ALPHABET = 'abcdefghijklmnopqrstuvwxyz';\r\n\r\nfunction LetterButton({ isActive, label, onClick, ariaLabel }) {\r\n  return (\r\n    <button\r\n      className={`letter-button ${isActive ? 'letter-button--active' : ''}`}\r\n      onClick={onClick}\r\n      aria-label={`${ariaLabel} ${label}`}\r\n    >\r\n      {label.toUpperCase()}\r\n    </button>\r\n  );\r\n}\r\n\r\nfunction Letterfilter({ activeFilter, buttonLabel, id, label, onClick }) {\r\n  return (\r\n    <div className=\"faculty-staff-listing__letter-buttons\">\r\n      <label\r\n        className=\"faculty-staff-listing__letter-buttons-label\"\r\n        htmlFor={id}\r\n      >\r\n        {label}\r\n      </label>\r\n      <div className=\"faculty-staff-listing__letter-buttons-wrapper\" id={id}>\r\n        {Array.from(ALPHABET).map((letter) => (\r\n          <LetterButton\r\n            isActive={letter === activeFilter}\r\n            key={letter}\r\n            label={letter}\r\n            onClick={() => onClick(letter)}\r\n            ariaLabel={buttonLabel}\r\n          />\r\n        ))}\r\n      </div>\r\n    </div>\r\n  );\r\n}\r\n\r\nLetterfilter.propTypes = {\r\n  activeFilter: string.isRequired,\r\n  label: string.isRequired,\r\n  onClick: func.isRequired\r\n};\r\n\r\nexport default Letterfilter;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { number, 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 '../search/list';\r\nimport Pagination from '../pagination';\r\nimport { triggerCustomEvent } from '../../utils/events';\r\nimport Letterfilter from '../search/Letterfilter';\r\nimport { isUndefined } from 'lodash';\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  emailAriaLabel,\r\n  errorDescription,\r\n  errorHeading,\r\n  errorNoResults,\r\n  goToPageLabel,\r\n  heading,\r\n  keywordQueryString,\r\n  letterFilterQueryString,\r\n  showLetterFilter,\r\n  letterFilterLabel,\r\n  loadingDataLabel,\r\n  narrowResultsHeading,\r\n  pageQueryString,\r\n  paginationLabel,\r\n  phoneAriaLabel,\r\n  resultsAriaLabel,\r\n  searchButtonLabel,\r\n  searchFacetPlaceholder,\r\n  searchId,\r\n  searchLabel,\r\n  showAllFacetsLabel,\r\n  showLessFacetsLabel,\r\n  filterExpandedIndex,\r\n  displayCount,\r\n  externalLinkText,\r\n  resourceTypesLabel,\r\n  eligibilityLabel,\r\n  ageGroupsLabel,\r\n  partnersLabel\r\n}) {\r\n  const filtersRef = useRef(null);\r\n  const [filtersExpanded, setFiltersExpanded] = useState(false);\r\n  const [letterFilterQs, setLetterFilterQs] = useQueryString(\r\n    letterFilterQueryString\r\n  );\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    ...(letterFilterQs && { [letterFilterQueryString]: letterFilterQs }),\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  displayCount =\r\n    isUndefined(displayCount) || displayCount === 'true'\r\n      ? 'true'\r\n      : displayCount;\r\n\r\n  function clearFilters() {\r\n    setPageQs('');\r\n    setKeywordQs('');\r\n    setLetterFilterQs('');\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  function toggleNameQs(letter) {\r\n    setLetterFilterQs(setLetterFilterQs === letter ? '' : letter);\r\n    setPageQs('');\r\n    setFiltersExpanded(false);\r\n  }\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              <h2 className=\"faculty-staff-listing__narrow-results-heading\">\r\n                {narrowResultsHeading}\r\n              </h2>\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 }, index) => {\r\n                const length = Options.length;\r\n                let headingVal = Name;\r\n                if (displayCount === 'true') {\r\n                  headingVal = `${Name} ${length > 10 ? `(${length})` : ''}`;\r\n                }\r\n                return (\r\n                  <Facets\r\n                    key={Keyword}\r\n                    keyword={Keyword}\r\n                    heading={headingVal}\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                    expandedFacet={\r\n                      index === parseInt(filterExpandedIndex) ? 'true' : 'false'\r\n                    }\r\n                  />\r\n                );\r\n              })}\r\n            <div className=\"faculty-staff-listing__facets\" />\r\n            {showLetterFilter && showLetterFilter === 'true' && (\r\n              <Letterfilter\r\n                activeFilter={letterFilterQs}\r\n                label={letterFilterLabel}\r\n                onClick={toggleNameQs}\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            emailAriaLabel={emailAriaLabel}\r\n            phoneAriaLabel={phoneAriaLabel}\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            externalLinkText={externalLinkText}\r\n            resourceTypesLabel={resourceTypesLabel}\r\n            eligibilityLabel={eligibilityLabel}\r\n            ageGroupsLabel={ageGroupsLabel}\r\n            partnersLabel={partnersLabel}\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  emailAriaLabel: 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  letterFilterQueryString: string,\r\n  showLetterFilter: string,\r\n  letterFilterLabel: string,\r\n  loadingDataLabel: string.isRequired,\r\n  narrowResultsHeading: string.isRequired,\r\n  pageQueryString: string.isRequired,\r\n  paginationLabel: string.isRequired,\r\n  phoneAriaLabel: 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  filterExpandedIndex: number,\r\n  displayCount: string,\r\n  externalLinkText: string,\r\n  resourceTypesLabel: string,\r\n  eligibilityLabel: string,\r\n  ageGroupsLabel: string,\r\n  partnersLabel: string\r\n};\r\n\r\nexport default SearchResults;\r\n"],"sourceRoot":""}