{"version":3,"sources":["components/share-button/ShareButton.tsx","components/share-button/index.tsx","components/header/index.ts","services/SearchService.ts","components/site-search/utils/i18n.ts","components/site-search/components/SearchArrowSVG.tsx","components/site-search/components/SearchInput.tsx","components/site-search/components/SearchResults.tsx","components/site-search/components/SearchPager.tsx","components/site-search/components/SearchLoader.tsx","components/checkbox/index.tsx","components/select/index.tsx","components/site-search/components/SearchFilters.tsx","components/site-search/SiteSearch.tsx","components/site-search/index.tsx","components/candidate-list/CandidateListHeader.tsx","components/candidate-list/Position.tsx","components/candidate-list/CandidateRow.tsx","components/candidate-list/CandidateListTable.tsx","components/candidate-list/LoadingTable.tsx","components/candidate-list/Minus.tsx","components/candidate-list/Plus.tsx","components/candidate-list/MoreLess.tsx","components/candidate-list/CandidateList.tsx","components/candidate-list/useCandidateList.ts","components/candidate-list/index.tsx","components/faq/FaqItem.ts","components/faq/index.ts","components/gallery/index.js","components/share/index.ts","components/select/select.module.scss","components/app-banner/index.ts","components/video/index.ts"],"names":["ShareButton","_ref","_document$querySelect","_document$querySelect2","shareText","pageLang","document","querySelector","dataset","_jsxs","_Fragment","children","_jsx","Toaster","position","toastOptions","success","style","fontSize","color","onClick","toShare","concat","window","location","href","split","encodeURIComponent","replaceAll","navigator","clipboard","writeText","toast","width","height","viewBox","fill","xmlns","d","querySelectorAll","forEach","heading","buttonContainer","createElement","classList","add","appendChild","textContent","render","header","closeMenuButton","openMenuButton","openMenu","body","closeMenu","remove","onResize","iframe","src","includes","offsetWidth","contains","addEventListener","setTimeout","SearchService","_createClass","_classCallCheck","search","data","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","reject","request","_error$response","wrap","_context","prev","next","axios","get","params","q","query","facets","page","a","amount","sortBy","sent","err","abrupt","error","t0","response","statusText","stop","_x","_x2","apply","arguments","getTranslations","key","translationsDiv","SearchArrowSVG","SearchInput","initialTerm","onInputChange","debouncedOnChange","useMemo","debounce","target","value","searchLabel","placeholderText","className","onSubmit","event","preventDefault","htmlFor","type","tabIndex","stroke","strokeWidth","id","name","placeholder","autoComplete","defaultValue","undefined","onChange","SearchResults","term","results","useEffect","titles","descriptions","title","innerHTML","capitalize","description","map","result","dangerouslySetInnerHTML","__html","teaser","SearchPager","currentPage","totalPages","onPageChange","previousLabel","nextLabel","ReactPaginate","containerClassName","breakClassName","pageClassName","activeClassName","previousClassName","nextClassName","pageCount","Math","ceil","initialPage","forcePage","disableInitialCallback","pageRangeDisplayed","marginPagesDisplayed","selectedItem","selected","SearchLoader","fillRule","transform","cx","cy","r","strokeOpacity","attributeName","dur","from","repeatCount","to","Checkbox","label","checked","rest","_objectWithoutProperties","_excluded","_objectSpread","Select","options","s","Wrapper","Label","option","index","SearchFilters","filters","handleFacetChange","handleSortChange","filter","e","slug","plus","min","SiteSearch","_results$results","searchFiltersData","_useState","useState","total","_useState2","_slicedToArray","setResults","_useState3","_useState4","loading","setLoading","urlTerm","URLSearchParams","_useState5","_useState6","searchedTerm","setSearchedTerm","_useState7","_useState8","setCurrentPage","_useState9","_useState10","setFacets","_useState11","_useState12","sorting","setSorting","_toConsumableArray","item","searchWrapperRef","useRef","updateUrlWithTerm","useCallback","_window","history","url","URL","searchParams","set","pushState","_ref2","searchResults","_searchWrapperRef$cur","_args","length","current","scrollIntoView","behavior","_x3","totalPerPage","resultLabel","_getTranslations","toLowerCase","resultsLabel","_getTranslations2","noResultsTxt","ref","_document$getElementB","_document$getElementB2","searchContainer","getElementById","JSON","parse","selectStyles","control","styles","borderRadius","padding","dropdownIndicator","indicatorSeparator","display","isFocused","isSelected","backgroundColor","singleValue","fontWeight","menu","zIndex","CandidateListHeader","copy","electionTypes","listNames","selectedElection","setSelectedElectionType","selectedListName","setSelectedListName","showElectedCandidatesOnly","candidateListElectionTypeMenuLabelPostElection","candidateListElectionTypeMenuLabel","candidateListElectionTypeMenuPlaceholderPostElection","candidateListElectionTypeMenuPlaceholder","candidateListListNameMenuLabel","candidateListListNameMenuPlaceholder","isDisabled","Position","CandidateRow","candidate","isLink","alt","pictureName","pictureUrl","firstName","lastName","bio","CandidatesTable","candidates","isSubstitutes","i","candidatePosition","pageUrl","candidateListNoResultsPostElection","candidateListNoResults","LoadingTable","Minus","Plus","MoreLess","isOpen","setIsOpen","candidateListDiv","v","candidateListLoadLess","candidateListLoadMore","CandidateList","selectedElectionType","showAllCandidates","initialCandidatesList","_useCandidateList","setSelectedElection","selectedList","setSelectedList","candidateList","setCandidateList","isLoading","setIsLoading","fetchElectedCandidates","fetch","ok","Error","json","then","_ref3","fetchCandidateList","_callee2","_context2","_ref5","slice","isSubstitute","substitutes","filteredListNames","listName","useCandidateList","candidatesTable","candidateListSubstitutes","candidateListHelpTextPostElection","candidateListHelpText","candidateListContainer","_candidateListContain","electionTypesPostElection","selectedElectionTypeValue","selectedListNameValue","electionTypeOptions","Boolean","Number","console","log","listNameOptions","electionTypeId","find","candidateListBlockTitle","FaqItem","faqItem","headerClass","contentClass","activeClass","inactiveClass","faq","question","answer","this","_this","toggleCollapse","toggle","Array","init","galleries","gallery","flkty","Flickity","freeScroll","contain","imagesLoaded","prevNextButtons","pageDots","wrapAround","cellAlign","groupCells","layout","img","imgSlideParent","closest","getBoundingClientRect","reloadCells","resize","onload","onresize","on","io","IntersectionObserver","entries","entry","isIntersecting","unobserve","observe","images","lightbox","FsLightbox","props","sources","image","fullScreenButtons","button","indexOf","open","initGallery","shareLink","element","AndroidBridge","share","canShare","module","exports","localStorage","getItem","close","setItem","test","userAgent","downloadButton","hostname","figcaptions","setFigcaptionWidth","figcaption","previousSibling","previousElementSibling"],"mappings":"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","file":"js/global.22c265b6.chunk.js","sourcesContent":["import { FC } from \"react\";\nimport { Toaster, toast } from \"react-hot-toast\";\n\ninterface Props {\n shareText: string;\n}\n\nexport const ShareButton: FC = ({ shareText }) => {\n const pageLang = document.querySelector(\"body\")?.dataset?.pageLang;\n\n const handleShare = () => {\n const toShare = `${\n window.location.href.split(\"#\")[0]\n }#:~:text=${encodeURIComponent(shareText).replaceAll(\"-\", \"%2D\")}`;\n\n navigator.clipboard.writeText(toShare);\n\n if (!pageLang) return;\n\n toast.success(pageLang === \"nl\" ? \"Link gekopieerd\" : \"Lien copiƩ\");\n };\n\n return (\n <>\n \n \n \n );\n};\n","import { render } from \"react-dom\";\nimport { ShareButton } from \"./ShareButton\";\n\n(() => {\n const textHeadings = document.querySelectorAll(\".share-heading h3\");\n\n textHeadings.forEach((heading) => {\n const buttonContainer = document.createElement(\"div\");\n\n buttonContainer.classList.add(\"heading-share-button\");\n\n heading.appendChild(buttonContainer);\n\n if (!heading.textContent) return;\n\n render(, buttonContainer);\n });\n})();\n","const header = document.querySelector(\"[data-header]\");\n\nconst closeMenuButton =\n document.querySelector(\"[data-menu-close]\");\nconst openMenuButton = document.querySelector(\"[data-menu-open]\");\n\nconst openMenu = () => {\n header?.classList.add(\"is-open\");\n document.body.classList.add(\"disallow-scroll\");\n};\n\nconst closeMenu = () => {\n header?.classList.remove(\"is-open\");\n document.body.classList.remove(\"disallow-scroll\");\n};\n\nconst hideMenuButtons = () => {\n openMenuButton?.classList.add(\"is-hidden\");\n closeMenuButton?.classList.add(\"is-hidden\");\n};\n\nconst onResize = () => {\n const iframes = document.querySelectorAll(\"iframe\");\n\n iframes.forEach((iframe) => {\n if (\n !iframe.src.includes(\"facebook.com/plugins/video\") &&\n !iframe.src.includes(\"youtube\") &&\n !iframe.src.includes(\"vimeo.com\") &&\n !iframe.src.includes(\"twitter.com\")\n )\n // Only resize to 16/9 in Facebook, Youtube and Twitter iframes\n return;\n\n const width = iframe.offsetWidth;\n const height = (width * 9) / 16;\n iframe.style.height = `${height}px`;\n });\n};\n\nconst isMenuOpen: boolean = !!header?.classList.contains(\"is-open\");\n\n(() => {\n window.addEventListener(\"resize\", onResize);\n openMenuButton?.addEventListener(\"click\", openMenu);\n closeMenuButton?.addEventListener(\"click\", closeMenu);\n setTimeout(() => onResize(), 100);\n})();\n\nexport {\n openMenu,\n closeMenu,\n isMenuOpen,\n openMenuButton,\n closeMenuButton,\n hideMenuButtons,\n};\n","import axios from \"axios\";\nimport { ISearchData } from \"types\";\nimport { ISearchResults } from \"types\";\n\nexport class SearchService {\n static search = (data: ISearchData): Promise =>\n new Promise(async (resolve, reject) => {\n try {\n const request = await axios.get(\"/search/json\", {\n params: {\n q: data.query,\n facets: data.facets,\n page: data.page - 1,\n a: data.amount,\n sortBy: data.sortBy,\n },\n });\n\n if (request.data.err) {\n return reject({\n error: request.data.err,\n });\n }\n\n resolve(request.data as ISearchResults);\n } catch (error: any) {\n reject({\n error: error.response?.statusText,\n });\n }\n });\n}\n","export const getTranslations = (key: string) => {\n const translationsDiv: HTMLDivElement | null = document.querySelector(\n \"[data-translations]\"\n );\n\n if (translationsDiv) {\n return translationsDiv.dataset[key];\n }\n};\n","import { FC } from \"react\";\n\ninterface Props {\n fill?: string;\n}\n\nexport const SearchArrowSVG: FC = ({ fill }) => {\n return (\n \n \n \n );\n};\n","import { FC, useMemo } from \"react\";\nimport { debounce } from \"lodash-es\";\n\nimport { getTranslations } from \"../utils\";\nimport { SearchArrowSVG } from \"./SearchArrowSVG\";\n\ninterface Props {\n initialTerm?: string | null;\n onInputChange?: (term: string) => void;\n}\n\nexport const SearchInput: FC = ({ initialTerm, onInputChange }) => {\n const debouncedOnChange = useMemo(\n () =>\n debounce(\n (data) => onInputChange && onInputChange(data.target.value),\n 500\n ),\n [onInputChange]\n );\n\n const searchLabel = useMemo(() => getTranslations(\"searchLabel\"), []);\n const placeholderText = useMemo(\n () => getTranslations(\"searchInputPlaceholder\"),\n []\n );\n\n return (\n
event.preventDefault()}>\n
\n \n
\n
\n );\n};\n","import { capitalize } from \"lodash-es\";\nimport React, { useEffect } from \"react\";\n\nimport { ISearchResult } from \"types\";\n\ninterface SearchResultsProps {\n results: ISearchResult[];\n term: string;\n}\n\nexport const SearchResults: React.FC = ({\n term,\n results,\n}) => {\n useEffect(() => {\n const titles = document.querySelectorAll(\".basic-teaser__title\");\n const descriptions = document.querySelectorAll(\n \".basic-teaser__description\"\n );\n\n titles.forEach((title) => {\n title.innerHTML = title.innerHTML\n .replaceAll(term, `${term}`)\n .replaceAll(\n capitalize(term),\n `${capitalize(term)}`\n );\n });\n\n descriptions.forEach((description) => {\n description.innerHTML = description.innerHTML\n .replaceAll(term, `${term}`)\n .replaceAll(\n capitalize(term),\n `${capitalize(term)}`\n );\n });\n });\n\n return (\n
    \n {results.map((result) => (\n
  • \n
    \n
  • \n ))}\n
\n );\n};\n","import { FC, useMemo } from \"react\";\nimport ReactPaginate from \"react-paginate\";\n\nimport { getTranslations } from \"../utils\";\n\ninterface Props {\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => void;\n}\n\nexport const SearchPager: FC = ({\n currentPage,\n totalPages,\n onPageChange,\n}) => {\n const handleChangePage = (selectedItem: { selected: number }) => {\n onPageChange(selectedItem.selected + 1);\n };\n\n const previousLabel = useMemo(\n () => getTranslations(\"searchPaginationPreviousLabel\"),\n []\n );\n const nextLabel = useMemo(\n () => getTranslations(\"searchPaginationNextLabel\"),\n []\n );\n\n return (\n
\n \n
\n );\n};\n","export const SearchLoader = () => (\n \n \n \n \n \n \n \n \n);\n","const Checkbox = ({\n label,\n name,\n value,\n onChange,\n checked,\n ...rest\n}: {\n label: string;\n name: string;\n value: string;\n onChange?: (event: React.ChangeEvent) => void;\n checked: boolean;\n}) => {\n return (\n \n );\n};\n\nexport default Checkbox;\n","import { FC } from \"react\";\n\nimport s from \"./select.module.scss\";\n\ninterface SelectProps {\n label: string;\n name: string;\n onChange?: (event: React.ChangeEvent) => void;\n options: {\n label: string;\n value: string;\n }[];\n}\n\nexport const Select: FC = ({ label, name, onChange, options }) => (\n
\n \n \n
\n);\n","import { FC } from \"react\";\n\nimport Checkbox from \"components/checkbox\";\nimport { Select } from \"components/select\";\n\nimport { SearchFiltersData } from \"../SiteSearch\";\n\ninterface Props {\n filters: SearchFiltersData;\n facets: string[];\n handleFacetChange: (value: string, checked: boolean) => void;\n handleSortChange: (value: string) => void;\n}\n\nexport const SearchFilters: FC = ({\n filters,\n facets,\n handleFacetChange,\n handleSortChange,\n}) => {\n return (\n
\n {filters.map((filter) => {\n if (filter.type === \"select\") {\n return (\n
\n ({\n label: option.title,\n value: option.key,\n }))}\n onChange={(e) => handleSortChange(e.target.value)}\n />\n
\n );\n }\n\n if (filter.type === \"radios\") {\n return (\n
\n

{filter.title}

\n
    \n {filter.options.map((option: any) =>\n option.key !== \"all\" ? (\n \n handleFacetChange(\n option.key,\n !facets.includes(option.key)\n )\n }\n >\n \n \n \n ) : null\n )}\n
\n
\n );\n }\n\n return null;\n })}\n
\n );\n};\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { SearchService } from \"services\";\nimport { ISearchResults } from \"types\";\n\nimport { SearchInput } from \"./components/SearchInput\";\nimport { SearchResults } from \"./components/SearchResults\";\nimport { SearchPager } from \"./components/SearchPager\";\nimport { SearchLoader } from \"./components/SearchLoader\";\nimport { getTranslations } from \"./utils\";\nimport { SearchFilters } from \"./components/SearchFilters\";\n\nexport type SearchFiltersOption = {\n key: string;\n id: string;\n title: string;\n slug: string;\n};\n\nexport type SearchFiltersData = {\n key: string;\n slug: string;\n title: string;\n type: string;\n options: SearchFiltersOption[];\n}[];\n\ninterface Props {\n searchFiltersData: SearchFiltersData;\n}\n\nconst plus = (\n \n \n \n);\n\nconst min = (\n \n \n \n);\n\nexport const SiteSearch: FC = ({ searchFiltersData }) => {\n const [results, setResults] = useState({\n results: [],\n total: 0,\n });\n const [loading, setLoading] = useState(false);\n\n const urlParams = new URLSearchParams(window.location.search);\n const urlTerm = urlParams.get(\"term\");\n\n const [searchedTerm, setSearchedTerm] = useState(urlTerm || \"\");\n const [currentPage, setCurrentPage] = useState(1);\n\n const [facets, setFacets] = useState([]);\n const [sorting, setSorting] = useState(\"\");\n\n const handleFacetChange = (value: string, checked: boolean) => {\n setFacets((prev) =>\n checked ? [...prev, value] : prev.filter((item) => item !== value)\n );\n };\n\n const amount = useMemo(() => 12, []);\n\n const searchWrapperRef = useRef(null);\n\n const updateUrlWithTerm = useCallback((term: string) => {\n const { location, history } = window;\n\n const url = new URL(location.href);\n url.searchParams.set(\"term\", term);\n history.pushState({}, \"\", url);\n }, []);\n\n const search = useCallback(\n async (term: string, facets: string[], sortBy, page = 1) => {\n if (term) {\n setLoading(true);\n\n const searchResults = await SearchService.search({\n page,\n query: term,\n amount,\n facets,\n sortBy,\n });\n\n if (searchResults) {\n setResults(searchResults);\n searchWrapperRef?.current?.scrollIntoView({ behavior: \"smooth\" });\n }\n\n setLoading(false);\n } else {\n setResults({\n results: [],\n total: 0,\n });\n }\n\n updateUrlWithTerm(term);\n },\n [amount, updateUrlWithTerm]\n );\n\n useEffect(() => {\n search(searchedTerm, facets, sorting, currentPage);\n }, [searchedTerm, currentPage, search, facets, sorting]);\n\n const totalPerPage: number = useMemo(\n () => (results && results?.total / amount) || 1,\n [amount, results]\n );\n\n const resultLabel = useMemo(\n () => getTranslations(\"searchResult\")?.toLowerCase(),\n []\n );\n const resultsLabel = useMemo(\n () => getTranslations(\"searchResults\")?.toLowerCase(),\n []\n );\n\n const noResultsTxt = useMemo(() => getTranslations(\"searchNoResults\"), []);\n\n return (\n
\n setSearchedTerm(term)}\n />\n {!!results?.total && (\n <>\n
\n {`${results.total} ${\n results.total > 1 ? resultsLabel : resultLabel\n }`}\n
\n \n )}\n
\n
\n \n
\n setSorting(value)}\n />\n
\n
\n
\n setSorting(value)}\n />\n
\n {loading ? (\n
\n \n
\n ) : !!results?.results?.length ? (\n \n ) : (\n

{noResultsTxt}

\n )}\n
\n {!!(results?.total > totalPerPage && results?.total > amount) &&\n !loading && (\n setCurrentPage(page)}\n />\n )}\n
\n );\n};\n","import { render } from \"react-dom\";\n\nimport { SiteSearch } from \"./SiteSearch\";\n\n(() => {\n const searchContainer = document.getElementById(\"search-container\");\n const searchFiltersData = JSON.parse(\n document.getElementById(\"search-page\")?.dataset?.filters || \"null\"\n );\n\n if (searchContainer && searchFiltersData) {\n render(\n ,\n searchContainer\n );\n }\n})();\n","import { Dispatch, FC, SetStateAction } from \"react\";\nimport Select, { StylesConfig } from \"react-select\";\nimport { ElectionType, ListName } from \"./types\";\n\ninterface Props {\n copy: Record;\n electionTypes: ElectionType[];\n listNames: ListName[];\n selectedListName: ListName | null;\n selectedElection: ElectionType | null;\n setSelectedElectionType: Dispatch>;\n setSelectedListName: Dispatch>;\n showElectedCandidatesOnly: boolean;\n}\n\nconst selectStyles: StylesConfig = {\n control: (styles) => ({\n ...styles,\n borderRadius: 0,\n padding: \"5px\",\n }),\n dropdownIndicator: (styles) => ({ ...styles, color: \"#801f86\" }),\n indicatorSeparator: (styles) => ({ ...styles, display: \"none\" }),\n option: (styles, { isFocused, isSelected }) => ({\n ...styles,\n color: isFocused || isSelected ? \"white\" : \"#801f86\",\n backgroundColor: isFocused || isSelected ? \"#801f86\" : \"white\",\n }),\n singleValue: (styles) => ({\n ...styles,\n color: \"#801f86\",\n fontWeight: \"bold\",\n }),\n menu: (styles) => ({\n ...styles,\n zIndex: 50,\n }),\n};\n\nexport const CandidateListHeader: FC = ({\n copy,\n electionTypes,\n listNames,\n selectedElection,\n setSelectedElectionType,\n selectedListName,\n setSelectedListName,\n showElectedCandidatesOnly,\n}) => {\n return (\n
\n
\n
\n
\n
{showElectedCandidatesOnly\n ? copy.candidateListElectionTypeMenuLabelPostElection\n : copy.candidateListElectionTypeMenuLabel\n }\n
\n {\n if ((e as ElectionType) === selectedElection) return;\n\n setSelectedElectionType(e as ElectionType);\n setSelectedListName(null);\n }}\n placeholder={showElectedCandidatesOnly\n ? copy.candidateListElectionTypeMenuPlaceholderPostElection\n : copy.candidateListElectionTypeMenuPlaceholder\n }\n styles={selectStyles}\n />\n
\n {!showElectedCandidatesOnly && (\n
\n
{copy.candidateListListNameMenuLabel}
\n {\n setSelectedListName(e as ListName);\n }}\n placeholder={copy.candidateListListNameMenuPlaceholder}\n styles={selectStyles}\n isDisabled={!selectedElection}\n />\n
\n )}\n
\n
\n
\n );\n};\n","import { FC } from \"react\";\n\ninterface Props {\n position: number;\n}\n\nexport const Position: FC = ({ position }) => (\n
\n {position}\n
\n);\n","import { FC } from \"react\";\nimport { Candidate } from \"./types\";\nimport { Position } from \"./Position\";\nimport { SearchArrowSVG } from \"components/site-search/components/SearchArrowSVG\";\n\ninterface Props {\n candidate: Candidate;\n isLink?: boolean;\n position?: number;\n}\n\nexport const CandidateRow: FC = ({ candidate, position, isLink }) => {\n return (\n <>\n {position && }\n
\n {candidate.pictureName}\n
\n \n
\n {candidate.firstName} {candidate.lastName}{\" \"}\n {isLink && (\n \n \n \n )}\n
\n

{candidate.bio}

\n \n \n );\n};\n","import { FC } from \"react\";\nimport { CandidateRow } from \"./CandidateRow\";\nimport { Candidate } from \"./types\";\n\ninterface Props {\n copy: Record;\n candidates: Candidate[];\n isSubstitutes?: boolean;\n showElectedCandidatesOnly?: boolean;\n}\n\nexport const CandidatesTable: FC = ({\n copy,\n candidates,\n isSubstitutes,\n showElectedCandidatesOnly,\n}) => {\n if (!candidates.length) {\n return (\n

\n {showElectedCandidatesOnly\n ? copy.candidateListNoResultsPostElection\n : copy.candidateListNoResults}\n

\n );\n }\n\n return (\n
\n {candidates.map((candidate, i) => {\n const candidatePosition = showElectedCandidatesOnly\n ? undefined\n : isSubstitutes\n ? i + 1\n : candidate.position;\n\n return candidate.pageUrl ? (\n \n \n \n ) : (\n
\n \n
\n );\n })}\n
\n );\n};\n","import React from \"react\";\n\nexport const LoadingTable: React.FC = () => {\n return (\n <>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n","export const Minus = () => (\n \n \n \n);\n","export const Plus = () => (\n \n \n \n);\n","import { FC } from \"react\";\nimport { Minus } from \"./Minus\";\nimport { Plus } from \"./Plus\";\n\ninterface Props {\n copy: Record;\n isOpen: boolean;\n setIsOpen: any;\n}\n\nexport const MoreLess: FC = ({ copy, isOpen, setIsOpen }) => {\n const handleClick = () => {\n const candidateListDiv = document.querySelector(\".candidate-list\");\n if (candidateListDiv) {\n candidateListDiv.scrollIntoView({ behavior: \"smooth\" });\n }\n setIsOpen((v: boolean) => !v);\n };\n return (\n
\n \n {isOpen ? (\n
\n {copy.candidateListLoadLess}\n
\n ) : (\n
\n {copy.candidateListLoadMore}\n
\n )}\n
\n
\n );\n};\n","import { FC, useMemo } from \"react\";\nimport { CandidateListHeader } from \"./CandidateListHeader\";\nimport { CandidatesTable } from \"./CandidateListTable\";\nimport { LoadingTable } from \"./LoadingTable\";\nimport { MoreLess } from \"./MoreLess\";\nimport { Candidate, ElectionType, ListName } from \"./types\";\nimport { useCandidateList } from \"./useCandidateList\";\n\ninterface Props {\n electionTypes: ElectionType[];\n listNames: ListName[];\n selectedElectionType: ElectionType;\n selectedListName: ListName;\n showAllCandidates: boolean;\n copy: Record;\n initialCandidatesList: Candidate[];\n showElectedCandidatesOnly: boolean;\n}\n\nexport const CandidateList: FC = ({\n copy,\n electionTypes,\n listNames,\n selectedElectionType,\n selectedListName,\n showAllCandidates,\n initialCandidatesList,\n showElectedCandidatesOnly,\n}) => {\n const {\n selectedElection,\n setSelectedElection,\n selectedList,\n setSelectedList,\n candidates,\n substitutes,\n isLoading,\n filteredListNames,\n isOpen,\n setIsOpen,\n } = useCandidateList({\n selectedElectionType,\n selectedListName,\n listNames,\n initialCandidatesList,\n showAllCandidates,\n showElectedCandidatesOnly,\n });\n\n const candidatesTable = useMemo(() => {\n if (isLoading) return ;\n\n if (showElectedCandidatesOnly && selectedElection) {\n return (\n \n );\n }\n\n if (selectedElection && selectedList) {\n return (\n <>\n \n {candidates.length > 4 && (\n \n )}\n {!!substitutes.length && (\n <>\n

{copy.candidateListSubstitutes}

\n \n \n )}\n \n );\n }\n\n return (\n

{showElectedCandidatesOnly\n ? copy.candidateListHelpTextPostElection\n : copy.candidateListHelpText\n }

\n );\n }, [\n candidates,\n copy,\n isLoading,\n isOpen,\n selectedElection,\n selectedList,\n setIsOpen,\n showElectedCandidatesOnly,\n substitutes,\n ]);\n\n return (\n <>\n \n\n {candidatesTable}\n \n );\n};\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Candidate, ElectionType, ListName } from \"./types\";\n\ninterface Props {\n selectedElectionType?: ElectionType;\n selectedListName?: ListName;\n listNames: ListName[];\n initialCandidatesList: Candidate[];\n showAllCandidates: boolean;\n showElectedCandidatesOnly: boolean;\n}\n\nexport const useCandidateList = ({\n selectedElectionType,\n selectedListName,\n listNames,\n initialCandidatesList,\n showAllCandidates,\n showElectedCandidatesOnly,\n}: Props) => {\n const [selectedElection, setSelectedElection] = useState(\n selectedElectionType || null\n );\n const [selectedList, setSelectedList] = useState(\n selectedListName || null\n );\n const [candidateList, setCandidateList] = useState(\n initialCandidatesList\n );\n const [isLoading, setIsLoading] = useState(false);\n const [isOpen, setIsOpen] = useState(showAllCandidates);\n\n const fetchElectedCandidates = useCallback(async () => {\n if (!showElectedCandidatesOnly) return;\n if (!selectedElection) return setCandidateList([]);\n\n try {\n setIsLoading(true);\n\n const response = await fetch(\n `/api/candidate-list/elected-candidates/${selectedElection?.value}`\n );\n\n if (!response.ok) throw new Error(\"Error fetching elected candidates\");\n\n response.json().then(({ candidates }: { candidates: Candidate[] }) => {\n setCandidateList(candidates);\n setIsLoading(false);\n setIsOpen(showAllCandidates);\n });\n } catch (error) {\n setIsLoading(false);\n // Handle the error if needed\n }\n }, [selectedElection, showAllCandidates, showElectedCandidatesOnly]);\n\n const fetchCandidateList = useCallback(async () => {\n if (!selectedList) return setCandidateList([]);\n\n try {\n setIsLoading(true);\n\n const response = await fetch(\n `/api/candidate-list/candidates/${selectedList?.value}`\n );\n\n if (!response.ok) throw new Error(\"Error fetching candidates\");\n\n response.json().then(({ candidates }: { candidates: Candidate[] }) => {\n setCandidateList(candidates);\n setIsLoading(false);\n setIsOpen(showAllCandidates);\n });\n } catch (error) {\n setIsLoading(false);\n // Handle the error if needed\n }\n }, [selectedList, showAllCandidates]);\n\n useEffect(() => {\n if (showElectedCandidatesOnly) {\n fetchElectedCandidates();\n } else {\n fetchCandidateList();\n }\n }, [fetchCandidateList, fetchElectedCandidates, showElectedCandidatesOnly]);\n\n const candidates = useMemo(() => {\n if (showElectedCandidatesOnly) {\n return candidateList;\n }\n\n return (isOpen ? candidateList : candidateList.slice(0, 4)).filter(\n (candidate) => !candidate.isSubstitute\n );\n }, [candidateList, isOpen, showElectedCandidatesOnly]);\n\n const substitutes = useMemo(\n () =>\n isOpen ? candidateList.filter((candidate) => candidate.isSubstitute) : [],\n [candidateList, isOpen]\n );\n\n const filteredListNames = useMemo(\n () =>\n selectedElection\n ? listNames.filter((listName) =>\n listName.value.includes(selectedElection.value)\n )\n : [],\n [listNames, selectedElection]\n );\n\n useEffect(() => {\n if (!selectedElection) return;\n\n filteredListNames.length === 1 && setSelectedList(filteredListNames[0]);\n }, [filteredListNames, selectedElection]);\n\n return {\n isOpen,\n isLoading,\n candidates,\n substitutes,\n selectedList,\n selectedElection,\n filteredListNames,\n setIsOpen,\n setSelectedList,\n setSelectedElection,\n };\n};\n","import { render } from \"react-dom\";\nimport { CandidateList } from \"./CandidateList\";\nimport { Candidate, ElectionType, ListName } from \"./types\";\nimport { getTranslations } from \"components/site-search/utils\";\n\n(() => {\n const candidateListContainers =\n document.querySelectorAll(\".candidate-list\");\n\n candidateListContainers.forEach((candidateListContainer) => {\n const {\n electionTypes,\n electionTypesPostElection,\n listNames,\n selectedElectionType: selectedElectionTypeValue,\n selectedListName: selectedListNameValue,\n showAllCandidates,\n initialCandidatesList,\n showElectedCandidatesOnly,\n } = candidateListContainer.dataset;\n\n const electionTypeOptions = [\n ...JSON.parse(\n (Boolean(Number(showElectedCandidatesOnly))\n ? electionTypesPostElection\n : electionTypes) as string\n ),\n ].map((e) => ({\n value: e.id,\n label: e.label,\n })) as ElectionType[];\n\n console.log(electionTypesPostElection, electionTypes);\n\n const listNameOptions = [...JSON.parse(listNames as string)].map((e) => ({\n value: e.id,\n label: e.label,\n electionTypeId: e.electionTypeId,\n })) as ListName[];\n\n const selectedElectionType = electionTypeOptions.find(\n (e) => e.value === selectedElectionTypeValue\n ) as ElectionType;\n\n const selectedListName = listNameOptions.find(\n (e) => e.value === selectedListNameValue\n ) as ListName;\n\n const copy = {\n candidateListBlockTitle: getTranslations(\"candidateListBlockTitle\"),\n candidateListElectionTypeMenuLabel: getTranslations(\n \"candidateListElectionTypeMenuLabel\"\n ),\n candidateListElectionTypeMenuLabelPostElection: getTranslations(\n \"candidateListElectionTypeMenuLabelPostElection\"\n ),\n candidateListElectionTypeMenuPlaceholder: getTranslations(\n \"candidateListElectionTypeMenuPlaceholder\"\n ),\n candidateListElectionTypeMenuPlaceholderPostElection: getTranslations(\n \"candidateListElectionTypeMenuPlaceholderPostElection\"\n ),\n candidateListListNameMenuLabel: getTranslations(\n \"candidateListListNameMenuLabel\"\n ),\n candidateListListNameMenuPlaceholder: getTranslations(\n \"candidateListListNameMenuPlaceholder\"\n ),\n candidateListHelpText: getTranslations(\"candidateListHelpText\"),\n candidateListHelpTextPostElection: getTranslations(\"candidateListHelpTextPostElection\"),\n candidateListSubstitutes: getTranslations(\"candidateListSubstitutes\"),\n candidateListLoadMore: getTranslations(\"candidateListLoadMore\"),\n candidateListLoadLess: getTranslations(\"candidateListLoadLess\"),\n candidateListNoResults: getTranslations(\"candidateListNoResults\"),\n candidateListNoResultsPostElection: getTranslations(\n \"candidateListNoResultsPostElection\"\n ),\n };\n\n render(\n ,\n candidateListContainer\n );\n });\n})();\n","class FaqItem {\n faq: HTMLElement;\n question: HTMLElement | null;\n answer: HTMLElement | null;\n activeClass: string;\n inactiveClass: string;\n\n constructor(\n faqItem: HTMLElement,\n headerClass: string,\n contentClass: string,\n activeClass: string,\n inactiveClass: string,\n ) {\n this.faq = faqItem;\n this.question = faqItem.querySelector(headerClass);\n this.answer = faqItem.querySelector(contentClass);\n this.activeClass = activeClass;\n this.inactiveClass = inactiveClass;\n }\n\n init() {\n if (this.faq && this.answer && this.question) {\n this.faq.classList.remove(this.activeClass);\n\n this.question.addEventListener(\"click\", () => {\n this.toggleCollapse();\n });\n }\n }\n\n public toggleCollapse(): void {\n this.faq.classList.toggle(this.activeClass);\n }\n}\n\nexport default FaqItem;\n","import FaqItem from \"./FaqItem\";\n\n(() => {\n const faqItems = [\n ...Array.from(document.querySelectorAll(\".faq__item\")),\n ];\n\n faqItems.forEach((faqItem: HTMLElement) => {\n const faq = new FaqItem(\n faqItem,\n \".faq__title-wrapper\",\n \".faq__content\",\n \"is-open\",\n \"is-closed\"\n );\n\n faq.init();\n });\n})();\n","import \"flickity-imagesloaded\";\nimport Flickity from \"flickity\";\nimport \"flickity/css/flickity.css\";\n\n(() => {\n const galleries = Array.from(document.querySelectorAll(\"[data-gallery]\"));\n\n const initGallery = (gallery) => {\n const flkty = new Flickity(gallery, {\n freeScroll: false,\n contain: true,\n imagesLoaded: true,\n prevNextButtons: true,\n pageDots: true,\n wrapAround: false,\n cellAlign: \"left\",\n groupCells: true,\n });\n\n const layout = () => {\n const imgs = Array.from(gallery.querySelectorAll(\"img\"));\n\n imgs.forEach((img) => {\n const imgSlideParent = img.closest(\".gallery__slide\");\n\n if (imgSlideParent) {\n imgSlideParent.style.width = `${img.getBoundingClientRect().width}px`;\n }\n });\n\n flkty.reloadCells();\n flkty.resize();\n };\n\n window.onload = () => {\n layout();\n };\n\n window.onresize = () => {\n layout();\n };\n\n flkty.on(\"settle\", () => {\n layout();\n });\n\n const io = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting === true) {\n layout();\n\n io.unobserve(gallery);\n }\n });\n });\n\n io.observe(gallery);\n\n const images = document.querySelectorAll(\".image__carousel\");\n const lightbox = new window.FsLightbox();\n\n lightbox.props.sources = Array.from(images).map((image) => image.src);\n\n const fullScreenButtons = document.querySelectorAll(\".image__fullscreen\");\n\n fullScreenButtons.forEach((button) => {\n button.addEventListener(\"click\", () => {\n const index = Array.from(fullScreenButtons).indexOf(button);\n\n lightbox.open(index);\n });\n });\n };\n\n galleries.forEach((gallery) => initGallery(gallery));\n})();\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\ninterface Window {\n AndroidBridge: {\n share: (url: string) => void;\n };\n}\n\n(() => {\n const shareLink = document.querySelectorAll(\".js-share-link\");\n\n if (!!shareLink.length) {\n const url = window.location.href;\n\n shareLink.forEach((element) => {\n element.addEventListener(\"click\", async (event) => {\n event.preventDefault();\n\n if (window.AndroidBridge) {\n window.AndroidBridge.share(url);\n return;\n }\n\n if (\n !navigator.canShare ||\n !navigator.share ||\n !navigator.canShare({ url })\n )\n return;\n\n await navigator.share({\n url,\n });\n });\n });\n }\n})();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Wrapper\":\"select_Wrapper__2WHJA\",\"Label\":\"select_Label__N8khc\",\"Select\":\"select_Select__3qMeP\"};","(() => {\n const hasSeen = localStorage.getItem(\"app-banner-seen\");\n\n if (hasSeen) {\n document.querySelector(\".app-banner\")?.classList.add(\"app-banner--closed\");\n return;\n }\n\n const close = document.querySelector(\".app-banner__close\");\n\n close?.addEventListener(\"click\", () => {\n document.querySelector(\".app-banner\")?.classList.add(\"app-banner--closed\");\n localStorage.setItem(\"app-banner-seen\", \"true\");\n });\n\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n const downloadButton = document.querySelector(\n \".app-banner__download\"\n );\n\n if (!downloadButton) return;\n\n downloadButton.href = window.location.hostname.includes(\"pvda\")\n ? \"https://apps.apple.com/us/app/pvda/id6469100753\"\n : \"https://apps.apple.com/be/app/ptb/id6469188929?l=nl\";\n }\n})();\n","// Select all figcaption elements with a previous sibling of class \"video__type__youtube-short\"\nconst figcaptions = document.querySelectorAll(\n \".video__type__youtube-short + figcaption\"\n);\n\n// Function to set the width of figcaption elements to match their previous sibling's width\nconst setFigcaptionWidth = () => {\n figcaptions.forEach((figcaption: HTMLElement) => {\n const previousSibling = figcaption.previousElementSibling as HTMLElement;\n figcaption.style.width = `${previousSibling.offsetWidth}px`;\n });\n};\n\n// Call the function initially\nsetFigcaptionWidth();\n\n// Add event listener for the resize event\nwindow.addEventListener(\"resize\", setFigcaptionWidth);\n"],"sourceRoot":""}