{"version":3,"sources":["node_modules/browser-pack/_prelude.js","frontend/Common/js/common/dynamicSearch.js","frontend/Common/js/common/fetchSearchResults.js","frontend/Common/js/common/toggleItemInArray.js","frontend/Common/js/common/useClickAway.js","frontend/Common/js/components/ArrowLink/ArrowLink.jsx","frontend/Common/js/components/Checkbox/Checkbox.jsx","frontend/Common/js/components/FilterBar/FilterBar.jsx","frontend/Common/js/components/FilterDropdown/FilterDropdown.jsx","frontend/Common/js/components/FilterDropdown/FilterDropdownSingle.jsx","frontend/Common/js/components/Icon/Icon.jsx","frontend/Common/js/components/LoadingSpinner/LoadingSpinner.jsx","frontend/Common/js/components/Pagination/Pagination.jsx","frontend/Common/js/components/ResultsInfo/ResultsInfo.jsx","frontend/Common/js/components/SearchParts/SelectedFilters/SelectedFilters.jsx","frontend/Common/js/components/SocialConnectIcons/SocialConnectIcons.jsx","frontend/Common/js/components/Sorters/Sorters.jsx","frontend/Common/js/modules/Portfolio/PortfolioAccordion.jsx","frontend/Common/js/modules/Portfolio/PortfolioItem.jsx","frontend/Common/js/modules/Portfolio/PortfolioListingApp.jsx","frontend/Common/js/modules/Portfolio/PortfolioSnippet.jsx","frontend/Common/js/modules/Portfolio/entry/portfolio.js","frontend/Common/js/modules/Portfolio/initialState.js","frontend/Common/js/modules/Portfolio/renderPortfolioListing.jsx"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","R","__esModule","default","_getRequireWildcardCache","has","get","__proto__","Object","defineProperty","getOwnPropertyDescriptor","hasOwnProperty","set","_interopRequireWildcard","_queryString","_interopRequireDefault","_propTypes","_toggleItemInArray","WeakMap","selectedFacetShape","objectOf","arrayOf","string","parseQueryString","parse","arrayFormat","skipEmptyString","skipNull","stringifyQueryString","data","stringify","initFacets","urlQueryString","ifElse","equals","identity","compose","map","value","Array","isArray","pickBy","key","initCurrentParams","queryString","generalParams","when","undefined","page","assoc","q","createQueryString","currentParams","selectedFacets","parseInt","createFacetQueryString","facet","facetGroupId","facetId","toggleFacet","facetGroupValue","state","propEq","dissoc","evolve","clearFacetGroup","clearFacet","over","lensProp","reject","selectedFacetIds","facets","groupId","selectedValues","filter","selected","facetValue","id","facetName","name","selectedChildren","reduce","final","child","childValues","allSelectedFacetIds","facetGroup","childGroups","selectedGroups","group","values","url","params","type","signal","fetchURL","indexOf","fetch","then","response","json","results","result","cta","href","contentUrl","urlType","image","alt","sources","imageSrc","imageFormat","imageSrc1x1","imageSrc16x9","image1x1","image16x9","body","summary","link","grantBox","sidebar","catch","err","console","error","curry","array","symmetricDifference","props","isOpen","setOpen","ref","disallow","fallbackRef","_react","useRef","dropdownRef","buttonRef","clickStartedInside","setClickStartedInside","useState","moveFocus","setMoveFocus","useEffect","handleClickAway","isOrContainsNode","current","target","handleKeydown","focus","handleMouseDown","handleFocusLoss","document","addEventListener","removeEventListener","parent","contains","_classnames","_Icon","propTypes","arrowLinkPropTypes","isRequired","oneOf","text","title","className","reversed","bool","onKeyDown","func","lang","gtmElementLabel","focusRef","object","ArrowLink","let","download","iconName","createElement","hrefLang","arrow-link--reversed","rel","data-gtm-element","data-gtm-link","data-gtm-text","required","label","errorMsg","onChange","checked","checkbox","js-form-required","sc-form-item--optional","has-error","aria-required","role","_lodash","_reactAnimateHeight","_dynamicSearch","_FilterDropdown","_ArrowLink","_FilterDropdownSingle","_extends","assign","bind","arguments","apply","filterTitle","filterLabel","onFacetChange","onClearFacetGroup","singleSelect","accordionOpen","FilterBar","isAccordionOpen","setIsAccordionOpen","windowWidth","setWindowWidth","window","innerWidth","handleResize","fitler-bar__mobile-accordion-btn--is-open","onClick","aria-expanded","duration","height","_useClickAway","_Checkbox","FilterDropdown","filterDropdownRef","renderGroup","count","keys","replace","aria-labelledby","filter-dropdown__panel--is-open","aria-label","shape","number","FilterDropdownSingle","selectedLabel","setSelectedLabel","selectedFacet","find","filter-dropdown__single-option--selected","handleSelectChange","Icon","otherProps","focusable","aria-hidden","xlinkHref","assetsFolder","LoadingSpinner","aria-live","totalResults","resultsPerPage","currentPage","onPaginationChange","Pagination","totalPages","Math","ceil","isHidden","disabled","range","renderPageButton","skipButton","pagination__page-button--hidden","btn--active","Number","query","request","perPage","resultsInfoLabel","onClearFacets","clearAllFacetsLabel","ResultsInfo","currentPageNumber","resultsPerPageNumber","ceiling","floor","renderCurrentResultsRange","clearLabel","onClearItem","onClearAll","SelectedFilters","labelId","pills","useMemo","sort","b","item","index","header","socialProfiles","SocialConnectIcons","profile","linkClass","icon","onSorterClick","sorters","sortBy","sortDirection","Sorters","sorter","sorters__sorter--active","sorters__sorter--has-direction","direction","sorters__sorter--desc","sorters__sorter--asc","sortOrder","dir","toggleDir","labelAsc","labelDesc","_PortfolioItem","_PortfolioSnippet","language","rtl","PortfolioAccordion","setIsOpen","panelId","accordionRef","node","portfolio-accordion--open","tabIndex","toggleMenu","aria-controls","_SocialConnectIcons","additionalProperties","additionalLinks","social","dictionary","additionalLinksLabel","PortfolioItem","src","dangerouslySetInnerHTML","__html","websiteText","_initialState","_fetchSearchResults","_Pagination","_FilterBar","_ResultsInfo","_Sorters","_LoadingSpinner","_SelectedFilters","_PortfolioAccordion","enableQueryString","pagination","listingId","showSummaries","showDates","showContentTypes","showImages","excludedTaxonomy","loadAllPages","pageId","seeMore","isActive","PortfolioListing","activeSorterParam","activeSorter","showOverlay","setShowOverlay","setSelectedFacets","location","search","serverData","setServerData","setCurrentParams","resultsFocusRef","showFocusRef","showFocus","history","replaceState","origin","pathname","hash","controller","AbortController","warn","message","finally","abort","handleFacetChange","useCallback","prevState","renderResults","portfolio","JSON","selectedFilters","clearAll","noResultsMessage","portfolio-listing__pagination--centered","PortfolioSnippet","slice","_renderPortfolioListing","date","preSelectedFacets","querySelectorAll","forEach","mount","dataset","dataModel","model","showQueryStrings","querySelector","seeMoreUrl","_reactDom","render","_PortfolioListingApp"],"mappings":"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","file":"portfolio-generated.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i\r\n queryString.parse(string, {\r\n arrayFormat: \"comma\",\r\n skipEmptyString: true,\r\n skipNull: true,\r\n });\r\n\r\nexport const stringifyQueryString = (data) =>\r\n queryString.stringify(data, {\r\n arrayFormat: \"comma\",\r\n skipEmptyString: true,\r\n skipNull: true,\r\n });\r\n\r\n//initialize facets from the URL query string\r\nexport const initFacets = (urlQueryString) => {\r\n return R.ifElse(\r\n R.equals({}),\r\n R.identity,\r\n R.compose(\r\n R.map((value) => (Array.isArray(value) ? value : [value])),\r\n R.pickBy((value, key) => key !== \"q\" && key !== \"page\" && key !== \"id\"),\r\n ),\r\n )(parseQueryString(urlQueryString));\r\n};\r\n\r\n//init current params from the URL query string\r\nexport const initCurrentParams = (queryString, generalParams) => {\r\n return R.compose(\r\n R.when(\r\n () => parseQueryString(queryString).page !== undefined,\r\n R.assoc(\"page\", parseQueryString(queryString).page),\r\n ),\r\n R.when(\r\n () => parseQueryString(queryString).q !== undefined,\r\n R.assoc(\"q\", parseQueryString(queryString).q),\r\n ),\r\n )(generalParams);\r\n};\r\n\r\nexport const createQueryString = (currentParams, selectedFacets) => {\r\n return stringifyQueryString({\r\n // ...parseQueryString(window.location.search),\r\n q:\r\n currentParams.q === \"\" || currentParams.q === null\r\n ? undefined\r\n : currentParams.q,\r\n page: parseInt(currentParams.page) === 1 ? undefined : currentParams.page,\r\n ...selectedFacets,\r\n });\r\n};\r\n\r\nexport const createFacetQueryString = (facet) => {\r\n return stringifyQueryString({\r\n [facet.facetGroupId]: facet.facetId,\r\n });\r\n};\r\n\r\n//If the facetGroup id value exists in the selectedFacets, add the facet id to existing array\r\n//Otherwise, create the the array with the seleced facet\r\n//If the array at selectedFacet[GroupId] is empty, remove it.\r\nexport const toggleFacet = (facetGroupValue, facet, state) => {\r\n return R.compose(\r\n R.when(R.propEq(facetGroupValue, []), R.dissoc(facetGroupValue)),\r\n R.ifElse(\r\n R.has(facetGroupValue),\r\n R.evolve({\r\n [facetGroupValue]: toggleItemInArray(facet),\r\n }),\r\n R.assoc(facetGroupValue, [facet]),\r\n ),\r\n )(state);\r\n};\r\n\r\n//clear a facetGroup\r\nexport const clearFacetGroup = (facetGroupValue, state) => {\r\n return R.when(R.has(facetGroupValue), R.dissoc(facetGroupValue))(state);\r\n};\r\n\r\n//clear a single facet\r\nexport const clearFacet = (facetGroupValue, facetId, state) => {\r\n return R.compose(\r\n R.when(R.propEq(facetGroupValue, []), R.dissoc(facetGroupValue)),\r\n R.over(\r\n R.lensProp(facetGroupValue),\r\n R.reject((value) => value === facetId),\r\n ),\r\n )(state);\r\n};\r\n\r\nexport const selectedFacetIds = (facets, groupId) => {\r\n if (!facets && facets.length < 1) {\r\n return [];\r\n }\r\n\r\n // find all selected items in Values\r\n const selectedValues = facets\r\n .filter((facet) => facet.selected)\r\n .map((facet) => {\r\n return {\r\n facetGroupId: groupId,\r\n facetValue: facet.id,\r\n facetName: facet.name || \"\",\r\n };\r\n });\r\n\r\n // find all selected items in childValues if it exists\r\n const selectedChildren = facets.reduce((final, child) => {\r\n return [...final, ...selectedFacetIds(child.childValues || [], groupId)];\r\n }, []);\r\n\r\n // return the combination as a single array\r\n return [...selectedValues, ...selectedChildren];\r\n};\r\n\r\nexport const allSelectedFacetIds = (facets) => {\r\n return facets.reduce((selectedFacets, facetGroup) => {\r\n const childGroups = facetGroup.childGroups || [];\r\n\r\n const selectedGroups = childGroups.reduce((final, group) => {\r\n return [...final, ...selectedFacetIds(group.values, facetGroup.id)];\r\n }, []);\r\n\r\n return [\r\n ...selectedFacets,\r\n ...selectedFacetIds(facetGroup.values, facetGroup.id),\r\n ...selectedGroups,\r\n ];\r\n }, []);\r\n};\r\n","import queryString from \"query-string\";\r\n\r\nexport default (url, params, type, signal) => {\r\n const fetchURL =\r\n url + (!url.indexOf(\"?\") > 0 ? \"&\" : \"?\") + queryString.stringify(params);\r\n\r\n return fetch(fetchURL, { signal })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (type === \"default\" || type === undefined) {\r\n const results =\r\n data &&\r\n data.results &&\r\n data.results.map((result) => {\r\n return {\r\n ...result,\r\n cta: {\r\n href: result.contentUrl || \"\",\r\n type: result.urlType || \"\",\r\n },\r\n image: {\r\n alt: \"\",\r\n sources: result.imageSrc\r\n ? [result.imageSrc]\r\n : result.imageFormat === 1 && result.imageSrc1x1\r\n ? [result.imageSrc1x1]\r\n : result.imageFormat === 2 && result.imageSrc16x9\r\n ? [result.imageSrc16x9]\r\n : [],\r\n },\r\n image1x1: {\r\n alt: \"\",\r\n sources: result.imageSrc1x1 ? [result.imageSrc1x1] : [],\r\n },\r\n image16x9: {\r\n alt: \"\",\r\n sources: result.imageSrc16x9 ? [result.imageSrc16x9] : [],\r\n },\r\n };\r\n });\r\n\r\n return { ...data, results };\r\n } else if (type === \"search-component\") {\r\n const results =\r\n data &&\r\n data.results[0].results &&\r\n data.results[0].results.map((result) => {\r\n return {\r\n ...result,\r\n body: result.summary,\r\n cta: { href: result.link || \"\" },\r\n image: {\r\n alt: \"\",\r\n sources: result.image ? [result.image] : [],\r\n },\r\n };\r\n });\r\n\r\n return {\r\n ...data,\r\n grantBox: data.results[0].grantBox,\r\n sidebar: data.results[0].sidebar,\r\n results,\r\n };\r\n } else {\r\n return data;\r\n }\r\n })\r\n .catch((err) => {\r\n if (err.name === \"AbortError\") {\r\n return; // Continuation logic has already been skipped, so return normally\r\n }\r\n console.error(err);\r\n });\r\n};\r\n","import * as R from \"ramda\";\r\n\r\nexport default R.curry((value, array) => {\r\n if (Array.isArray(value)) {\r\n return R.symmetricDifference(value, array);\r\n } else {\r\n return R.symmetricDifference([value], array);\r\n }\r\n});\r\n","import { useEffect, useState, useRef } from \"react\";\r\n\r\n/**\r\n *\r\n * @param {object} props\r\n * @param {boolean} props.isOpen\r\n * @param {function} props.setOpen\r\n * @param {React.RefObject} props.ref\r\n * @param {boolean | undefined} [disallow] - Optional boolean to disallow click away in certain circumstances\r\n * @returns {React.RefObject}\r\n */\r\nexport default function useClickAway(props) {\r\n const { isOpen, setOpen, ref, disallow } = props;\r\n\r\n const fallbackRef = useRef();\r\n const dropdownRef = ref || fallbackRef;\r\n const buttonRef = props.buttonRef || fallbackRef;\r\n\r\n // if the click originated inside, don't close it when the \"click\" event\r\n // happens outside\r\n const [clickStartedInside, setClickStartedInside] = useState(false);\r\n\r\n const [moveFocus, setMoveFocus] = useState(true);\r\n\r\n useEffect(() => {\r\n if (disallow) {\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n const handleClickAway = (e) => {\r\n if (\r\n !isOrContainsNode(dropdownRef.current, e.target) &&\r\n !clickStartedInside\r\n ) {\r\n setOpen(false);\r\n }\r\n\r\n setClickStartedInside(false); // reset\r\n };\r\n\r\n const handleKeydown = (e) => {\r\n if (e.key === \"Esc\" || e.key === \"Escape\") {\r\n setOpen(false);\r\n\r\n if (moveFocus) {\r\n buttonRef.current.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleMouseDown = (e) => {\r\n if (isOrContainsNode(dropdownRef.current, e.target)) {\r\n setClickStartedInside(true);\r\n }\r\n };\r\n\r\n const handleFocusLoss = (e) => {\r\n setMoveFocus(isOrContainsNode(dropdownRef.current, e.target));\r\n };\r\n\r\n document.addEventListener(\"click\", handleClickAway, true);\r\n document.addEventListener(\"keydown\", handleKeydown);\r\n document.addEventListener(\"mousedown\", handleMouseDown);\r\n document.addEventListener(\"focusin\", handleFocusLoss);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickAway, true);\r\n document.removeEventListener(\"keydown\", handleKeydown);\r\n document.removeEventListener(\"mousedown\", handleMouseDown);\r\n document.removeEventListener(\"focusin\", handleFocusLoss);\r\n };\r\n }\r\n }, [\r\n clickStartedInside,\r\n dropdownRef,\r\n isOpen,\r\n setOpen,\r\n buttonRef,\r\n moveFocus,\r\n disallow,\r\n ]);\r\n\r\n return dropdownRef;\r\n}\r\n\r\n/* https://github.com/downshift-js/downshift/blob/046e4abf4468fead3bf3adadb1352279532345ed/src/utils.js#L41-L48*/\r\n/**\r\n * @param {HTMLElement} parent the parent node\r\n * @param {HTMLElement} child the child node\r\n * @return {Boolean} whether the parent is the child or the child is in the parent\r\n */\r\nfunction isOrContainsNode(parent, child) {\r\n return (\r\n !parent || parent === child || (parent.contains && parent.contains(child))\r\n );\r\n}\r\n","// *****\r\n// Sitecore link types are: internal, external, anchor, media, mailto, javascript\r\n// type mailto links already have the `mailto:` string prepended\r\n// *****\r\n\r\nimport React from \"react\";\r\nimport { string, oneOf, bool, func, object } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nimport Icon from \"../Icon/Icon.jsx\";\r\n\r\nconst propTypes = {\r\n href: string.isRequired,\r\n type: oneOf([\r\n \"\",\r\n \"internal\",\r\n \"external\",\r\n \"anchor\",\r\n \"mailto\",\r\n \"media\",\r\n \"download\",\r\n \"arrow\",\r\n ]),\r\n text: string,\r\n title: string,\r\n className: string,\r\n reversed: bool,\r\n onKeyDown: func,\r\n lang: string,\r\n gtmElementLabel: string,\r\n focusRef: object,\r\n};\r\n\r\nconst ArrowLink = (props) => {\r\n const {\r\n href,\r\n type,\r\n text,\r\n title,\r\n className,\r\n lang,\r\n reversed = false,\r\n gtmElementLabel,\r\n focusRef,\r\n } = props;\r\n\r\n let download = false;\r\n let iconName = \"\";\r\n\r\n switch (type) {\r\n case \"download\":\r\n case \"media\":\r\n download = true;\r\n iconName = \"download\";\r\n break;\r\n case \"external\":\r\n iconName = \"external\";\r\n break;\r\n case \"anchor\":\r\n case \"arrow\":\r\n iconName = reversed ? \"arrow-left\" : \"arrow-right\";\r\n break;\r\n default:\r\n }\r\n\r\n const classModifier = type ? `arrow-link--${type}` : \"\";\r\n\r\n return (\r\n // eslint-disable-next-line react/jsx-no-target-blank\r\n \r\n {reversed && iconName && }\r\n {text}\r\n {!reversed && iconName && }\r\n \r\n );\r\n};\r\nArrowLink.propTypes = propTypes;\r\nexport { propTypes as arrowLinkPropTypes };\r\nexport default ArrowLink;\r\n","import React from \"react\";\r\nimport { string, bool, func } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nconst propTypes = {\r\n required: bool,\r\n error: bool,\r\n value: string.isRequired,\r\n label: string.isRequired,\r\n errorMsg: string,\r\n onChange: func,\r\n checked: bool,\r\n gtmElementLabel: string,\r\n};\r\n\r\nconst checkbox = (props) => {\r\n const {\r\n required,\r\n error,\r\n value,\r\n label,\r\n errorMsg,\r\n onChange,\r\n checked,\r\n gtmElementLabel,\r\n } = props;\r\n\r\n const handleChange = (e) => {\r\n if (onChange) {\r\n onChange(e.target.checked);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
{label}
\r\n {errorMsg && (\r\n \r\n {errorMsg}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\ncheckbox.propTypes = propTypes;\r\nexport default checkbox;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport debounce from \"lodash.debounce\";\r\nimport cx from \"classnames\";\r\nimport { func, object, arrayOf, string, bool } from \"prop-types\";\r\nimport AnimateHeight from \"react-animate-height\";\r\n\r\nimport { selectedFacetShape } from \"../../common/dynamicSearch.js\";\r\n\r\nimport FilterDropdown from \"../FilterDropdown/FilterDropdown.jsx\";\r\n\r\nimport ArrowLink from \"../ArrowLink/ArrowLink.jsx\";\r\nimport FilterDropdownSingle from \"../FilterDropdown/FilterDropdownSingle.jsx\";\r\n\r\nconst propTypes = {\r\n filterTitle: string,\r\n filterLabel: string,\r\n facets: arrayOf(object).isRequired,\r\n link: object,\r\n selectedFacets: selectedFacetShape.isRequired,\r\n onFacetChange: func.isRequired,\r\n onClearFacetGroup: func.isRequired,\r\n singleSelect: bool,\r\n accordionOpen: bool,\r\n};\r\n\r\nconst FilterBar = (props) => {\r\n const {\r\n filterTitle,\r\n filterLabel,\r\n facets,\r\n onFacetChange,\r\n link,\r\n selectedFacets,\r\n onClearFacetGroup,\r\n singleSelect,\r\n accordionOpen = true,\r\n } = props;\r\n\r\n const [isAccordionOpen, setIsAccordionOpen] = useState(accordionOpen);\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\r\n\r\n useEffect(() => {\r\n const handleResize = debounce(() => {\r\n setWindowWidth(window.innerWidth);\r\n }, 100);\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n });\r\n\r\n return (\r\n
\r\n {windowWidth < 780 && (\r\n setIsAccordionOpen(!isAccordionOpen)}\r\n type=\"button\"\r\n aria-expanded={isAccordionOpen}\r\n data-gtm-element=\"dcl mobile filters accordion button\"\r\n >\r\n {filterTitle ? filterTitle : \"Filters\"}\r\n \r\n )}\r\n = 780\r\n ? \"auto\"\r\n : windowWidth < 780 && isAccordionOpen\r\n ? \"auto\"\r\n : 0\r\n }\r\n >\r\n
\r\n {facets &&\r\n facets.map((facet) => {\r\n return singleSelect ? (\r\n \r\n ) : (\r\n \r\n );\r\n })}\r\n
\r\n \r\n\r\n {link && link.href && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nFilterBar.propTypes = propTypes;\r\nexport default FilterBar;\r\n","import React, { useState } from \"react\";\r\nimport cx from \"classnames\";\r\n\r\nimport { func, string, array } from \"prop-types\";\r\n\r\nimport useClickAway from \"../../common/useClickAway.js\";\r\nimport Checkbox from \"../Checkbox/Checkbox.jsx\";\r\nimport { selectedFacetShape } from \"../../common/dynamicSearch.js\";\r\n\r\nconst propTypes = {\r\n filterLabel: string,\r\n label: string,\r\n id: string,\r\n values: array,\r\n childGroups: array,\r\n onFacetChange: func.isRequired,\r\n selectedFacets: selectedFacetShape.isRequired,\r\n onClearFacetGroup: func,\r\n};\r\n\r\nconst FilterDropdown = (props) => {\r\n const {\r\n filterLabel,\r\n label,\r\n values,\r\n id,\r\n onFacetChange,\r\n childGroups,\r\n selectedFacets,\r\n } = props;\r\n\r\n const [isOpen, setOpen] = useState(false);\r\n const filterDropdownRef = useClickAway({ isOpen, setOpen });\r\n\r\n const renderGroup = (values) => {\r\n return (\r\n values &&\r\n values.map((value) => {\r\n return (\r\n
  • \r\n onFacetChange(id, value.id)}\r\n gtmElementLabel=\"dcl filter checkbox\"\r\n />\r\n {value.childValues && value.childValues.length > 0 && (\r\n
      \r\n {renderGroup(value.childValues)}\r\n
    \r\n )}\r\n
  • \r\n );\r\n })\r\n );\r\n };\r\n\r\n const count =\r\n selectedFacets[id] && Object.keys(selectedFacets[id]).length > 0\r\n ? `(${Object.keys(selectedFacets[id]).length})`\r\n : \"\";\r\n\r\n return (\r\n
    \r\n {filterLabel ? (\r\n \r\n {label} {count}\r\n \r\n ) : null}\r\n
    \r\n setOpen(!isOpen)}\r\n className=\"filter-dropdown__open-button\"\r\n data-gtm-element=\"dcl filter dropdown button\"\r\n >\r\n \r\n \r\n {filterLabel ? `${filterLabel} ${label}` : `${label} ${count}`}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
      \r\n {renderGroup(values)}\r\n
    \r\n {childGroups &&\r\n childGroups.map((group) => {\r\n return (\r\n
    \r\n
    {group.label}
    \r\n \r\n {renderGroup(group.values)}\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nFilterDropdown.propTypes = propTypes;\r\nexport default FilterDropdown;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { func, string, arrayOf, shape, number } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nimport useClickAway from \"../../common/useClickAway.js\";\r\n\r\nconst propTypes = {\r\n filterLabel: string,\r\n label: string.isRequired,\r\n id: string,\r\n values: arrayOf(\r\n shape({\r\n name: string.isRequired,\r\n id: string.isRequired,\r\n count: number,\r\n }),\r\n ).isRequired,\r\n onFacetChange: func.isRequired,\r\n};\r\n\r\nconst FilterDropdownSingle = (props) => {\r\n const { filterLabel, label, values, id, onFacetChange } = props;\r\n\r\n const [isOpen, setOpen] = useState(false);\r\n const [selectedLabel, setSelectedLabel] = useState(null);\r\n const filterDropdownRef = useClickAway({ isOpen, setOpen });\r\n\r\n useEffect(() => {\r\n const selectedFacet = values.find((value) => value.selected);\r\n setSelectedLabel(\r\n selectedFacet ? `${selectedFacet.name} (${selectedFacet.count})` : label,\r\n );\r\n }, [values, label]);\r\n\r\n const handleSelectChange = (id, value) => {\r\n if (value.selected) {\r\n onFacetChange(id, \"\");\r\n } else {\r\n onFacetChange(id, value.id);\r\n }\r\n setSelectedLabel(value.selected ? label : `${value.name} (${value.count})`);\r\n setOpen(false);\r\n };\r\n\r\n const renderGroup = (values) => {\r\n return (\r\n values &&\r\n values.map((value) => {\r\n return (\r\n
  • \r\n handleSelectChange(id, value)}\r\n data-gtm-element=\"dcl filter\"\r\n >{`${value.name} (${value.count})`}\r\n
  • \r\n );\r\n })\r\n );\r\n };\r\n\r\n return (\r\n \r\n {filterLabel ? (\r\n \r\n {label}\r\n \r\n ) : null}\r\n
    \r\n setOpen(!isOpen)}\r\n className=\"filter-dropdown__open-button\"\r\n data-gtm-element=\"dcl filter dropdown\"\r\n >\r\n \r\n \r\n {selectedLabel !== null\r\n ? selectedLabel\r\n : filterLabel\r\n ? `${filterLabel} ${label}`\r\n : `${label}`}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
      \r\n {renderGroup(values)}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\nFilterDropdownSingle.propTypes = propTypes;\r\nexport default FilterDropdownSingle;\r\n","import React from \"react\";\r\nimport { string } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nconst propTypes = {\r\n iconName: string,\r\n className: string,\r\n title: string,\r\n};\r\n\r\nconst Icon = (props) => {\r\n const { iconName, className, title, ...otherProps } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIcon.propTypes = propTypes;\r\nexport default Icon;\r\n","import React from \"react\";\r\nimport { string } from \"prop-types\";\r\n\r\nconst propTypes = { text: string };\r\n\r\nconst LoadingSpinner = (props) => {\r\n const { text } = props;\r\n\r\n return (\r\n
    \r\n {text || \"Loading Results\"}\r\n
    \r\n );\r\n};\r\n\r\nLoadingSpinner.propTypes = propTypes;\r\nexport default LoadingSpinner;\r\n","import React from \"react\";\r\nimport * as R from \"ramda\";\r\nimport cx from \"classnames\";\r\nimport Icon from \"../Icon/Icon.jsx\";\r\nimport { number, func } from \"prop-types\";\r\n\r\nconst propTypes = {\r\n totalResults: number.isRequired,\r\n resultsPerPage: number.isRequired,\r\n currentPage: number.isRequired,\r\n onPaginationChange: func.isRequired,\r\n};\r\n\r\nconst Pagination = (props) => {\r\n const { totalResults, resultsPerPage, currentPage, onPaginationChange } =\r\n props;\r\n\r\n const totalPages = Math.ceil(totalResults / resultsPerPage);\r\n\r\n const isHidden = (value, currentPage, totalPages) => {\r\n if (totalPages <= 8) {\r\n return false;\r\n }\r\n\r\n // current Page\r\n if (value === currentPage) {\r\n return false;\r\n }\r\n\r\n // first and last page\r\n if (value === 1 || value === totalPages) {\r\n return false;\r\n }\r\n\r\n // previous and next page\r\n if (value === currentPage - 1 || value === currentPage + 1) {\r\n return false;\r\n }\r\n\r\n // start or end position\r\n if (\r\n (currentPage <= 2 || currentPage >= totalPages - 1) &&\r\n (value <= 3 || value >= totalPages - 2)\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const renderPageButton = (value, currentPage, totalPages) => {\r\n const skipButton = isHidden(value, currentPage, totalPages);\r\n\r\n return (\r\n \r\n {skipButton ? (\r\n \r\n ) : (\r\n onPaginationChange(value)}\r\n data-gtm-element=\"dcl page button\"\r\n >\r\n {value}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n const renderButtons = (totalPages, currentPage) => {\r\n //R.range create an array from x to y of incrementing numbers\r\n return R.range(1, totalPages + 1).map((page) =>\r\n renderPageButton(page, currentPage, totalPages),\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nPagination.propTypes = propTypes;\r\nexport default Pagination;\r\n","import React from \"react\";\r\nimport { shape, string, number, func } from \"prop-types\";\r\n\r\nconst propTypes = {\r\n query: string,\r\n request: shape({\r\n page: number,\r\n perPage: number,\r\n }),\r\n resultsInfoLabel: string,\r\n totalResults: number.isRequired,\r\n onClearFacets: func,\r\n clearAllFacetsLabel: string,\r\n};\r\n\r\nconst ResultsInfo = (props) => {\r\n const {\r\n query,\r\n request,\r\n resultsInfoLabel,\r\n totalResults,\r\n onClearFacets,\r\n clearAllFacetsLabel,\r\n } = props;\r\n\r\n const renderCurrentResultsRange = (currentPage, resultsPerPage) => {\r\n //ensure base 10 number\r\n const currentPageNumber = parseInt(currentPage, 10);\r\n const resultsPerPageNumber = parseInt(resultsPerPage, 10);\r\n\r\n // Upper bound of visible results\r\n let ceiling = currentPageNumber * resultsPerPageNumber;\r\n\r\n // Lower bound of visible results\r\n let floor = ceiling - resultsPerPageNumber + 1;\r\n\r\n // make sure the ceiling does not exceed total results\r\n if (ceiling > totalResults) {\r\n ceiling = totalResults;\r\n }\r\n\r\n // if results are only one page, eschew the range entirely\r\n if (totalResults <= resultsPerPageNumber) {\r\n return ` ${totalResults}`;\r\n }\r\n\r\n // otherwise, return the full range\r\n return ` ${floor} - ${ceiling}`;\r\n };\r\n\r\n return (\r\n
    \r\n {resultsInfoLabel && (\r\n {resultsInfoLabel}\r\n )}\r\n {request && (\r\n \r\n {renderCurrentResultsRange(request.page, request.perPage)}\r\n \r\n )}\r\n {totalResults > 0 && (\r\n \r\n of{\" \"}\r\n {`${totalResults}`}\r\n \r\n )}\r\n {query && (\r\n \r\n for {`“${query}”`}\r\n \r\n )}\r\n {onClearFacets && (\r\n \r\n {clearAllFacetsLabel ? clearAllFacetsLabel : \"Clear All\"}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nResultsInfo.propTypes = propTypes;\r\nexport default ResultsInfo;\r\n","import React, { useMemo, useRef } from \"react\";\r\nimport { func, string, array } from \"prop-types\";\r\nimport { allSelectedFacetIds } from \"../../../common/dynamicSearch.js\";\r\nimport uniqueId from \"lodash.uniqueid\";\r\n\r\nimport Icon from \"../../Icon/Icon.jsx\";\r\n\r\nconst propTypes = {\r\n label: string,\r\n clearLabel: string,\r\n facets: array,\r\n onClearItem: func,\r\n onClearAll: func,\r\n};\r\n\r\nconst SelectedFilters = (props) => {\r\n const { label, clearLabel, facets, onClearItem, onClearAll } = props;\r\n\r\n const labelId = useRef(uniqueId(\"selected-filter-label-\"));\r\n\r\n const pills = useMemo(() => {\r\n if (facets) {\r\n return allSelectedFacetIds(facets);\r\n } else {\r\n return [];\r\n }\r\n }, [facets]);\r\n\r\n if (pills.length < 1) {\r\n return null;\r\n }\r\n\r\n pills.sort((a, b) => (a.value < b.value ? -1 : 1));\r\n\r\n return (\r\n
    \r\n {label && (\r\n
    \r\n {label}\r\n
    \r\n )}\r\n {pills?.length > 0 && (\r\n \r\n {pills.map((item, index) => (\r\n
  • \r\n {\r\n onClearItem(item.facetGroupId, item.facetValue);\r\n }}\r\n >\r\n {item.facetName}\r\n \r\n \r\n
  • \r\n ))}\r\n {pills?.length > 1 && onClearAll && (\r\n
  • \r\n {\r\n onClearAll();\r\n }}\r\n >\r\n {clearLabel || \"Clear\"}\r\n \r\n \r\n
  • \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\nSelectedFilters.propTypes = propTypes;\r\nexport default SelectedFilters;\r\n","import React from \"react\";\r\nimport Icon from \"../Icon/Icon.jsx\";\r\nimport { string, array } from \"prop-types\";\r\n\r\nconst propTypes = {\r\n header: string,\r\n socialProfiles: array,\r\n};\r\n\r\nconst SocialConnectIcons = (props) => {\r\n const { header, socialProfiles } = props;\r\n return (\r\n
    \r\n {header && {header}}\r\n
    \r\n {socialProfiles.map((profile, i) => (\r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nSocialConnectIcons.propTypes = propTypes;\r\nexport default SocialConnectIcons;\r\n","import React, { useState } from \"react\";\r\nimport { func, array, string } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nconst propTypes = {\r\n onSorterClick: func,\r\n sorters: array,\r\n sortBy: string,\r\n sortDirection: string,\r\n};\r\n\r\nconst Sorters = (props) => {\r\n const { onSorterClick, sorters, sortBy, sortDirection } = props;\r\n\r\n const toggleDir = (dir) => {\r\n if (!dir) return null;\r\n return dir === \"asc\" ? \"desc\" : \"asc\";\r\n };\r\n\r\n if (!sorters) {\r\n return null;\r\n }\r\n\r\n //if there is only one sorter and is relevance, return null, otherwise return sorters\r\n if (sorters && sorters.length === 1 && sorters[0].value === \"relevance\")\r\n return null;\r\n\r\n return (\r\n
    \r\n
      \r\n {sorters.map(\r\n (sorter, i) =>\r\n typeof sorter.label === \"string\" &&\r\n sorter.label.length > 0 &&\r\n typeof sorter.value === \"string\" &&\r\n sorter.value.length > 0 && (\r\n
    • \r\n \r\n onSorterClick({\r\n sortBy: sorter.value,\r\n sortOrder:\r\n sorter.value === \"relevance\"\r\n ? null\r\n : sorter.value === props.sortBy\r\n ? toggleDir(sortDirection)\r\n : sorter.direction,\r\n })\r\n }\r\n type=\"button\"\r\n data-gtm-element=\"dcl sorter\"\r\n >\r\n \r\n {sortDirection === \"asc\"\r\n ? sorter.labelAsc || sorter.label\r\n : sorter.labelDesc || sorter.label}\r\n \r\n \r\n
    • \r\n ),\r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nSorters.propTypes = propTypes;\r\nexport default Sorters;\r\n","import React, { useState, useRef } from \"react\";\r\nimport { string, object } from \"prop-types\";\r\nimport uniqueId from \"lodash.uniqueid\";\r\nimport cx from \"classnames\";\r\n\r\nimport useClickAway from \"../../common/useClickAway.js\";\r\n\r\nimport PortfolioItem from \"./PortfolioItem.jsx\";\r\nimport PortfolioSnippet from \"./PortfolioSnippet.jsx\";\r\nimport Icon from \"../../components/Icon/Icon.jsx\";\r\n\r\nconst propTypes = {\r\n imageSrc1x1: string,\r\n imageSrc16x9: string,\r\n language: string,\r\n rtl: string,\r\n focusRef: object,\r\n title: string,\r\n};\r\n\r\nconst PortfolioAccordion = (props) => {\r\n const { language, rtl, imageSrc16x9, imageSrc1x1, focusRef, title } = props;\r\n\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [panelId] = useState(uniqueId(\"portfolio-accordion__panel-\"));\r\n\r\n const buttonRef = useRef();\r\n const accordionRef = useClickAway({\r\n isOpen: isOpen,\r\n setOpen: setIsOpen,\r\n buttonRef: buttonRef,\r\n });\r\n\r\n return (\r\n {\r\n accordionRef.current = node;\r\n if (focusRef !== null) focusRef.current = node;\r\n }}\r\n className={cx(\"portfolio-accordion\", {\r\n \"portfolio-accordion--open\": isOpen,\r\n })}\r\n lang={language || \"en\"}\r\n dir={rtl ? \"rtl\" : \"ltr\"}\r\n tabIndex={focusRef ? \"-1\" : null}\r\n aria-label={title || null}\r\n >\r\n
    \r\n {\r\n setIsOpen(!isOpen);\r\n }}\r\n focusRef={focusRef || null}\r\n />\r\n
    \r\n
    \r\n {\r\n setIsOpen(!isOpen);\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nPortfolioAccordion.propTypes = propTypes;\r\nexport default PortfolioAccordion;\r\n","/* eslint-disable jsx-a11y/no-redundant-roles */\r\nimport React from \"react\";\r\n\r\nimport ArrowLink from \"../../components/ArrowLink/ArrowLink.jsx\";\r\nimport SocialConnectionIcons from \"../../components/SocialConnectIcons/SocialConnectIcons.jsx\";\r\n\r\nimport { object, string, array, arrayOf, shape } from \"prop-types\";\r\n\r\nconst propTypes = {\r\n image: string,\r\n title: string,\r\n body: string,\r\n contentUrl: string,\r\n urlType: string,\r\n additionalProperties: arrayOf(\r\n shape({\r\n key: string,\r\n value: shape({\r\n href: string,\r\n lang: string,\r\n text: string,\r\n }),\r\n }),\r\n ),\r\n additionalLinks: arrayOf(object),\r\n social: array,\r\n dictionary: shape({\r\n additionalLinksLabel: string,\r\n }),\r\n};\r\n\r\nconst PortfolioItem = (props) => {\r\n const {\r\n image,\r\n title,\r\n body,\r\n contentUrl,\r\n urlType,\r\n additionalProperties,\r\n additionalLinks,\r\n social,\r\n dictionary,\r\n } = props;\r\n\r\n return (\r\n
    \r\n
    \r\n {image ? (\r\n
    \r\n \"\"\r\n
    \r\n ) : null}\r\n {title ?

    {title}

    : null}\r\n {body ? (\r\n \r\n ) : null}\r\n {contentUrl ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n {social?.length ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n {additionalProperties?.length > 0 ? (\r\n
      \r\n {additionalProperties.map((item) => (\r\n \r\n
      {item.key}
      \r\n
      \r\n {item.value?.href && (\r\n \r\n {item.value.text}\r\n \r\n )}\r\n {!item.value?.href && {item.value.text}}\r\n
      \r\n \r\n ))}\r\n
    \r\n ) : null}\r\n {additionalLinks?.length > 0 && (\r\n
    \r\n
    \r\n {dictionary.additionalLinksLabel}\r\n
    \r\n {additionalLinks.map((link, i) => (\r\n
    \r\n \r\n
    \r\n ))}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\nPortfolioItem.propTypes = propTypes;\r\nexport default PortfolioItem;\r\n","/* eslint-disable jsx-a11y/no-redundant-roles */\r\nimport React, {\r\n useEffect,\r\n useState,\r\n useRef,\r\n useCallback,\r\n useMemo,\r\n} from \"react\";\r\nimport { string, bool, arrayOf, shape, objectOf } from \"prop-types\";\r\n\r\nimport cx from \"classnames\";\r\n\r\nimport initialState from \"./initialState.js\";\r\n\r\nimport fetchSearchResults from \"../../common/fetchSearchResults.js\";\r\nimport {\r\n toggleFacet,\r\n clearFacetGroup,\r\n initFacets,\r\n initCurrentParams,\r\n createQueryString,\r\n} from \"../../common/dynamicSearch.js\";\r\n\r\nimport Pagination from \"../../components/Pagination/Pagination.jsx\";\r\nimport FilterBar from \"../../components/FilterBar/FilterBar.jsx\";\r\nimport ResultsInfo from \"../../components/ResultsInfo/ResultsInfo.jsx\";\r\nimport Sorters from \"../../components/Sorters/Sorters.jsx\";\r\nimport LoadingSpinner from \"../../components/LoadingSpinner/LoadingSpinner.jsx\";\r\nimport SelectedFilters from \"../../components/SearchParts/SelectedFilters/SelectedFilters.jsx\";\r\n\r\nimport PortfolioAccordion from \"./PortfolioAccordion.jsx\";\r\n\r\nconst propTypes = {\r\n id: string.isRequired,\r\n enableQueryString: bool,\r\n pagination: bool,\r\n url: string.isRequired,\r\n type: string,\r\n dictionary: objectOf(string).isRequired,\r\n query: shape({\r\n listingId: string,\r\n showSummaries: bool,\r\n showDates: bool,\r\n showContentTypes: bool,\r\n showImages: string,\r\n excludedTaxonomy: string,\r\n loadAllPages: bool,\r\n pageId: string,\r\n }).isRequired,\r\n seeMore: shape({ href: string, text: string }),\r\n sorters: arrayOf(\r\n shape({\r\n direction: string,\r\n label: string,\r\n value: string,\r\n isActive: bool,\r\n id: string,\r\n }),\r\n ),\r\n};\r\n\r\nconst PortfolioListing = (props) => {\r\n const {\r\n id,\r\n enableQueryString,\r\n pagination,\r\n url,\r\n type,\r\n dictionary,\r\n query,\r\n seeMore,\r\n sorters,\r\n } = props;\r\n\r\n const activeSorterParam = useMemo(() => {\r\n const activeSorter = sorters.find((sorter) => sorter.isActive) || null;\r\n\r\n return activeSorter\r\n ? {\r\n sortBy: activeSorter.value,\r\n sortOrder: activeSorter.direction,\r\n }\r\n : null;\r\n }, [sorters]);\r\n\r\n const generalParams = {\r\n ...initialState.query,\r\n ...query,\r\n ...activeSorterParam,\r\n };\r\n\r\n const [showOverlay, setShowOverlay] = useState(false);\r\n\r\n const [selectedFacets, setSelectedFacets] = useState(\r\n initFacets(window.location.search),\r\n );\r\n const [serverData, setServerData] = useState(null);\r\n\r\n //initialize the query to that of the query string if it exists\r\n const [currentParams, setCurrentParams] = useState(\r\n initCurrentParams(window.location.search, generalParams),\r\n );\r\n\r\n const resultsFocusRef = useRef();\r\n const showFocusRef = useRef({ showFocus: false });\r\n\r\n useEffect(() => {\r\n if (enableQueryString) {\r\n const queryString = createQueryString(currentParams, selectedFacets);\r\n if (queryString.length > 0) {\r\n window.history.replaceState(\r\n \"\",\r\n \"\",\r\n window.location.origin +\r\n window.location.pathname +\r\n \"?\" +\r\n createQueryString(currentParams, selectedFacets) +\r\n window.location.hash,\r\n );\r\n } else {\r\n window.history.replaceState(\r\n \"\",\r\n \"\",\r\n window.location.origin +\r\n window.location.pathname +\r\n window.location.hash,\r\n );\r\n }\r\n }\r\n }, [currentParams, enableQueryString, selectedFacets]);\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n const signal = controller.signal;\r\n\r\n setShowOverlay(true);\r\n\r\n fetchSearchResults(\r\n url,\r\n {\r\n ...currentParams,\r\n ...selectedFacets,\r\n },\r\n type,\r\n signal,\r\n )\r\n .then(function (data) {\r\n if (data) {\r\n setServerData(data);\r\n }\r\n })\r\n .catch(function (e) {\r\n if (e.name === \"AbortError\") {\r\n return; // Continuation logic has already been skipped, so return normally\r\n }\r\n console.warn(\"request error: \" + e.message);\r\n })\r\n .finally(function () {\r\n setShowOverlay(false);\r\n });\r\n // unmounts or data changes\r\n return () => {\r\n controller.abort();\r\n };\r\n }, [currentParams, selectedFacets, type, url]);\r\n\r\n useEffect(() => {\r\n if (resultsFocusRef.current && showFocusRef.current.showFocus) {\r\n //move the focus back to the top of the results on page change\r\n resultsFocusRef.current.focus();\r\n showFocusRef.current.showFocus = false;\r\n }\r\n }, [serverData]);\r\n\r\n const handlePaginationChange = (page) => {\r\n showFocusRef.current.showFocus = true;\r\n setCurrentParams((prevState) => {\r\n return { ...prevState, page: page };\r\n });\r\n };\r\n\r\n const handleFacetChange = useCallback((facetGroupValue, facet) => {\r\n setCurrentParams((prevState) => {\r\n return {\r\n ...prevState,\r\n page: 1,\r\n };\r\n });\r\n\r\n setSelectedFacets((prevState) => {\r\n return toggleFacet(facetGroupValue, facet, prevState);\r\n });\r\n }, []);\r\n\r\n const handleClearFacetGroup = (facetGroupValue) => {\r\n setSelectedFacets((prevState) => {\r\n return clearFacetGroup(facetGroupValue, prevState);\r\n });\r\n };\r\n\r\n const handleSorterClick = (params) => {\r\n setCurrentParams((prevState) => {\r\n return { ...prevState, ...params, page: 1 };\r\n });\r\n };\r\n\r\n const renderResults = useMemo(() => {\r\n return (\r\n
      \r\n {serverData?.results.map((portfolio, i) => {\r\n return (\r\n
    • \r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n );\r\n }, [serverData]);\r\n\r\n return (\r\n
    \r\n {serverData && serverData.facets && serverData.facets.length > 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n {selectedFacets && JSON.stringify(selectedFacets) !== \"{}\" && (\r\n
    \r\n {\r\n setSelectedFacets({});\r\n }}\r\n />\r\n
    \r\n )}\r\n\r\n {serverData && (\r\n
    \r\n {serverData.results.length > 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {sorters && sorters.length > 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n {serverData && serverData.results && serverData.results.length < 1 && (\r\n
    \r\n {dictionary.noResultsMessage || \"No Results Found\"}\r\n
    \r\n )}\r\n {serverData && serverData.results && (\r\n
    \r\n {showOverlay && }\r\n {!showOverlay && serverData.results.length > 0 && (\r\n
    \r\n New Results\r\n
    \r\n )}\r\n {renderResults}\r\n
    \r\n )}\r\n {serverData &&\r\n pagination &&\r\n serverData.totalResults > serverData.request.perPage && (\r\n \r\n \r\n
    \r\n )}\r\n \r\n );\r\n};\r\nPortfolioListing.propTypes = propTypes;\r\nexport default PortfolioListing;\r\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\n/* eslint-disable jsx-a11y/no-redundant-roles */\r\n\r\nimport React from \"react\";\r\nimport { shape, string, arrayOf, func, object } from \"prop-types\";\r\n\r\nconst propTypes = {\r\n image: string.isRequired,\r\n additionalProperties: arrayOf(\r\n shape({\r\n key: string,\r\n value: shape({\r\n href: string,\r\n lang: string,\r\n text: string,\r\n }),\r\n }),\r\n ),\r\n title: string,\r\n toggleMenu: func,\r\n};\r\n\r\nconst PortfolioSnippet = (props) => {\r\n const { image, title, toggleMenu } = props;\r\n\r\n const data =\r\n props.additionalProperties?.length > 3\r\n ? props.additionalProperties.slice(0, 3)\r\n : props.additionalProperties;\r\n\r\n return (\r\n
    \r\n
    \r\n {image && \"\"}\r\n
    \r\n {title &&
    {title}
    }\r\n {data?.length > 0 && (\r\n
      \r\n {data.map((item, i) => (\r\n \r\n
      {item.key}
      \r\n
      \r\n {item.value?.href && (\r\n \r\n {item.value.text}\r\n \r\n )}\r\n {!item.value?.href && {item.value.text}}\r\n
      \r\n \r\n ))}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\nPortfolioSnippet.propTypes = propTypes;\r\nexport default PortfolioSnippet;\r\n","import renderPortfolioListing from \"../renderPortfolioListing.jsx\";\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n renderPortfolioListing();\r\n});\r\n","export default {\r\n query: {\r\n q: null,\r\n sortBy: \"Alphabetical\",\r\n sortOrder: \"asc\",\r\n page: 1,\r\n perPage: 10,\r\n pageId: \"\",\r\n loadAllPages: true,\r\n date: null,\r\n showDates: false,\r\n showContentTypes: false,\r\n showSummaries: false,\r\n listingId: \"\",\r\n showImages: 1,\r\n },\r\n pagination: false,\r\n preSelectedFacets: {},\r\n sorters: [],\r\n url: \"/api/dynamiccontentlisting\",\r\n};\r\n","import React from \"react\";\r\nimport ReactDom from \"react-dom\";\r\nimport PortfolioListingApp from \"./PortfolioListingApp.jsx\";\r\n\r\nexport default function renderPortfolioListing() {\r\n document\r\n .querySelectorAll(\".js-portfolio-listing-mount\")\r\n .forEach((mount, i) => {\r\n const dictionary = JSON.parse(mount.dataset.dictionary) || null;\r\n const query = JSON.parse(mount.dataset.query) || {};\r\n const dataModel = JSON.parse(mount.dataset.model);\r\n const showQueryStrings =\r\n dataModel.enableQueryString &&\r\n !document.querySelector(\"body.is-page-editor\");\r\n\r\n const seeMore = {\r\n href: dataModel.seeMoreUrl,\r\n text: (dictionary && dictionary.seeMore) || \"\",\r\n };\r\n\r\n ReactDom.render(\r\n ,\r\n mount,\r\n );\r\n });\r\n}\r\n"]}