{"version":3,"file":"index-62e65f6f.js","sources":["../../../../src/scripts/react-components/press-release-listing/card.tsx","../../../../src/scripts/react-components/press-release-listing/index.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport PropTypes, { InferProps } from 'prop-types';\n\nfunction PressReleaseCard({\n publishMonth,\n publishDay,\n publishYear,\n title,\n url,\n teaser\n}: InferProps) {\n const id = useId();\n\n return (\n
\n
\n {publishMonth}\n {publishDay}\n {publishYear}\n
\n
\n

\n \n {title}\n \n

\n \n
\n
\n );\n}\n\nPressReleaseCard.propTypes = {\n publishMonth: PropTypes.string.isRequired,\n publishDay: PropTypes.string.isRequired,\n publishYear: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n teaser: PropTypes.string.isRequired\n};\n\nexport default PressReleaseCard;\n","import React, { useId, useState } from 'react';\nimport PropTypes, { InferProps } from 'prop-types';\nimport { useFetch } from '../../hooks/useFetch';\nimport {\n getUrlParamValue,\n setUrlParamValue,\n updateEndpointWithQueryString,\n setUrlParams\n} from '../../helpers/queryString';\n\nimport PressReleaseCard from './card';\nimport Pagination from '../pagination';\nimport Loader from '../listing-states/loader';\nimport Error from '../listing-states/error';\n\ninterface PressReleaseListItems {\n publishMonth: string;\n publishDay: string;\n publishYear: string;\n title: string;\n url: string;\n teaser: string;\n}\n\ninterface PressReleaseResponse {\n firstResult: number;\n lastResult: number;\n totalResults: number;\n totalPages: number;\n items: PressReleaseListItems[];\n}\n\ninterface YearOptions {\n label: string;\n value: string;\n}\n\nfunction PressReleaseListing({\n yearLabel,\n yearDefaultValue,\n yearOptions,\n url,\n loadingLabel,\n noResultsMessage,\n noResultsKeywordMessage,\n noResultsAdditionalMessage,\n errorMessage,\n nextPageLabel,\n previousPageLabel,\n pageLabel\n}: InferProps) {\n const yearSelectOptions = JSON.parse(yearOptions);\n const selectId = useId();\n\n const yearParam = getUrlParamValue('year');\n const pageParam = getUrlParamValue('page');\n\n const [year, setYear] = useState(yearParam || yearDefaultValue);\n const [page, setPage] = useState(Number(pageParam) || 1);\n\n const [endpoint, setEndpoint] = useState(updateEndpointWithQueryString(url));\n\n const { data, error } = useFetch(endpoint);\n\n const handleYearChange = (event: React.ChangeEvent) => {\n const newYear = event.target.value;\n setYear(newYear);\n setPage(1);\n setUrlParams({ year: newYear, page: '1' });\n\n setEndpoint(updateEndpointWithQueryString(url));\n };\n\n const handlePageChange = (page: number) => {\n setPage(page);\n setUrlParamValue('page', page.toString());\n setEndpoint(updateEndpointWithQueryString(url));\n };\n\n return (\n
\n
\n \n Showing {data?.firstResult || 0} -{' '}\n {data?.lastResult || 0} of{' '}\n {data?.totalResults || 0} results\n
\n
\n \n \n {yearSelectOptions.map((option: YearOptions, index: number) => (\n \n ))}\n \n
\n
\n\n {error ? (\n \n ) : (\n <>\n {!data ? (\n \n ) : (\n <>\n {data.items.length < 1 ? (\n \n ) : (\n <>\n
    \n {data.items.map((item, index) => (\n
  • \n \n
  • \n ))}\n
\n {data.totalPages > 1 && (\n \n )}\n \n )}\n \n )}\n \n )}\n \n );\n}\n\nPressReleaseListing.propTypes = {\n yearLabel: PropTypes.string.isRequired,\n yearDefaultValue: PropTypes.string.isRequired,\n yearOptions: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n loadingLabel: PropTypes.string.isRequired,\n noResultsMessage: PropTypes.string.isRequired,\n noResultsKeywordMessage: PropTypes.string.isRequired,\n noResultsAdditionalMessage: PropTypes.string,\n errorMessage: PropTypes.string.isRequired,\n nextPageLabel: PropTypes.string.isRequired,\n previousPageLabel: PropTypes.string.isRequired,\n pageLabel: PropTypes.string.isRequired\n};\n\nexport default PressReleaseListing;\n"],"names":["PressReleaseCard","publishMonth","publishDay","publishYear","title","url","teaser","id","useId","React","PropTypes","PressReleaseListing","yearLabel","yearDefaultValue","yearOptions","loadingLabel","noResultsMessage","noResultsKeywordMessage","noResultsAdditionalMessage","errorMessage","nextPageLabel","previousPageLabel","pageLabel","yearSelectOptions","selectId","yearParam","getUrlParamValue","pageParam","year","setYear","useState","page","setPage","endpoint","setEndpoint","updateEndpointWithQueryString","data","error","useFetch","handleYearChange","event","newYear","setUrlParams","handlePageChange","setUrlParamValue","option","index","Error","item","Pagination","Loader"],"mappings":"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"}