{"version":3,"file":"careersJobFilter-jobFilter.chunk.12c60cc918ae25e2d244.js","mappings":"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","sources":["webpack:///./html/wp-content/themes/ls/src/js/helpers/slugifier.js","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/ErrorMessage.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/applyButton.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/careersJobFilter.types.ts","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/checkbox.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/dimensionGroup.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/dimensionSelector.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/filterResults.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/hooks/useJobFilter.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/jobFilter.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/selectAllFiltersButton.tsx","webpack:///./html/wp-content/themes/ls/src/js/main/components/careersJobFilter/utils.tsx","webpack:///./html/wp-content/themes/ls/src/js/utils/hooks/useFetch.tsx"],"sourcesContent":["export default function slugifier() {\n const getSlug = (string, separator = '-') => {\n return string\n ?.trim()\n ?.toLowerCase()\n ?.replace(/('|&+)/g, '')\n ?.replace(/(,\\s|,|\\s+|_+|-+)/g, separator);\n };\n\n return {\n getSlug,\n };\n}\n","import React from 'react';\n\ntype ErrorMessageProps = {\n errorMessage: string | null | undefined;\n};\n\nconst ErrorMessage = ({ errorMessage }: ErrorMessageProps) => {\n return (\n <div className=\"job-filter__error-message gb-flex gb-flex--center-horizontal gb-flex--center-vertical container\">\n <p className=\"gb-text--center\">\n {errorMessage\n ? errorMessage\n : 'Something seems to have gone wrong. Please refresh the page or come back in a few minutes.'}\n </p>\n </div>\n );\n};\nexport default ErrorMessage;\n","import * as React from 'react';\n\ntype ApplyButtonProps = {\n linkForApplyButton: string;\n applyButtonText: string;\n};\n\nfunction ApplyButton({ linkForApplyButton, applyButtonText }: ApplyButtonProps) {\n return (\n <a\n data-job-filter=\"apply-anchor\"\n className=\"gb-button-cta-featured-primary gb-button-cta-featured-primary--on-light gb-button-cta-featured-primary--flexible gb-button-cta-featured-primary--center\"\n //@todo get careers path from backend, the path varies by region\n href={linkForApplyButton}\n >\n {applyButtonText}\n </a>\n );\n}\n\nexport default ApplyButton;\n","const dimensionTypes = ['department', 'office'] as const;\ntype DimensionTypes = typeof dimensionTypes[number];\n\nconst filterDimensionTypes = ['regions', 'teams'] as const;\ntype FilterDimensionTypes = typeof filterDimensionTypes[number];\n\ntype SelectedOptions = {\n [key in DimensionTypes]: string[];\n};\n\ntype FilterContent = {\n button: {\n text: string;\n };\n\n clear_filter_link: {\n text: string;\n };\n\n error_message: {\n text: string;\n };\n\n dimensions: {\n [key in FilterDimensionTypes]: [{ name: string }];\n };\n\n dropdown: {\n [key: string]: string | number;\n departments_title: string;\n locations_title: string;\n select_all_filter_button: string;\n types_title: string;\n };\n\n header: {\n title: string;\n };\n no_results: {\n text: string;\n };\n};\n\ntype Job = {\n title: string;\n id?: number;\n department: string;\n office?: string;\n slug: string;\n updated_at?: string;\n type?: string;\n location?: string | number;\n};\n\ntype DimensionContent = {\n name: string;\n};\n\ntype SlugifiedJobObject = {\n [key in DimensionTypes]: string;\n};\n\nexport type {\n DimensionTypes,\n SelectedOptions,\n FilterContent,\n Job,\n DimensionContent,\n SlugifiedJobObject,\n};\n\nexport { dimensionTypes };\n","import * as React from 'react';\nimport { getURLParamsFromSelectedOptions } from 'root/main/components/careersJobFilter/utils';\nimport { DimensionTypes, SelectedOptions } from './careersJobFilter.types';\nimport slugifier from 'root/helpers/slugifier';\n\ntype CheckboxProps = {\n name: string;\n dimensionType: DimensionTypes;\n selectedOptions: SelectedOptions;\n setSelectedOptions: (options: SelectedOptions) => SelectedOptions;\n};\n\nfunction Checkbox({\n name,\n dimensionType,\n selectedOptions,\n setSelectedOptions,\n}: CheckboxProps) {\n const slugify = slugifier();\n const checked =\n selectedOptions &&\n selectedOptions[dimensionType]?.includes(slugify.getSlug(name));\n\n function handleCheckboxChange(event: React.ChangeEvent<HTMLInputElement>) {\n const slugifiedName = slugify.getSlug(name);\n const newSelectedOptions = Object.assign({}, selectedOptions);\n\n if (!newSelectedOptions[dimensionType]) {\n newSelectedOptions[dimensionType] = [];\n }\n\n if (event.currentTarget.checked) {\n // adds checkbox to array of checked filter dimensions\n if (!selectedOptions[dimensionType].includes(slugifiedName)) {\n newSelectedOptions[dimensionType] = [\n ...newSelectedOptions[dimensionType],\n slugifiedName,\n ];\n }\n } else {\n // removes checkbox from array of checked filter dimensions\n newSelectedOptions[dimensionType] = newSelectedOptions[dimensionType].filter(\n option => slugifiedName !== option\n );\n }\n\n setSelectedOptions(newSelectedOptions);\n setAnchorTagHref(selectedOptions);\n }\n\n function setAnchorTagHref(selectedOptions: SelectedOptions) {\n const applyAnchor = document.querySelector('[data-job-filter=apply-anchor]');\n\n if (applyAnchor) {\n // @todo get careers path from backend, the path varies by region\n const hrefWithParams = `${window.location.protocol}//${\n window.location.hostname\n }/careers/openings/${getURLParamsFromSelectedOptions(selectedOptions)}`;\n applyAnchor.setAttribute('href', hrefWithParams);\n }\n }\n\n return (\n <>\n <li>\n <label>\n <input\n type={'checkbox'}\n value={name}\n className=\"job-filter-checkbox\"\n name={dimensionType}\n checked={checked}\n onChange={handleCheckboxChange}\n role=\"option\"\n />\n {name}\n </label>\n </li>\n </>\n );\n}\n\nexport default Checkbox;\n","import React, { useState, useRef, useEffect } from 'react';\nimport Checkbox from 'root/main/components/careersJobFilter/checkbox';\nimport slugifier from 'root/helpers/slugifier';\nimport SelectAllFiltersButton from './selectAllFiltersButton';\nimport {\n SelectedOptions,\n DimensionContent,\n DimensionTypes,\n} from './careersJobFilter.types';\n\ntype DimensionGroupProps = {\n groupTitle: string;\n dimensionContent: DimensionContent[];\n dimensionType: DimensionTypes;\n selectedOptions: SelectedOptions;\n setSelectedOptions: () => SelectedOptions;\n handleClearCurrentDimensionFilters: (string: DimensionTypes) => SelectedOptions;\n selectAllFiltersText: string | undefined;\n};\n\nfunction DimensionGroup({\n groupTitle,\n dimensionContent,\n dimensionType,\n selectedOptions,\n setSelectedOptions,\n handleClearCurrentDimensionFilters,\n selectAllFiltersText,\n}: DimensionGroupProps) {\n const [dropdownVisible, setDropdownVisible] = useState(false);\n const [title, setTitle] = useState(groupTitle);\n const dimensionGroupRef = useRef<HTMLFieldSetElement>(null);\n\n const handleClickOutside = (e: MouseEvent) => {\n if (dimensionGroupRef?.current?.contains(e.target as Node)) {\n // click is inside\n return;\n }\n // click is outside\n setDropdownVisible(false);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n if (event.target === event.currentTarget) {\n event.preventDefault();\n setDropdownVisible(!dropdownVisible);\n }\n break;\n case 'Escape':\n event.preventDefault();\n setDropdownVisible(false);\n break;\n default:\n break;\n }\n };\n\n const handleBlur = (event: React.FocusEvent) => {\n const e = event.currentTarget as Element;\n if (!e.contains(event.relatedTarget as Node)) {\n setDropdownVisible(false);\n }\n };\n\n const handleOnClick = (e: React.MouseEvent<HTMLFieldSetElement, MouseEvent>) => {\n const target = e.target as HTMLElement;\n (target.tagName === 'FIELDSET' || target.tagName === 'LEGEND') && dropdownVisible\n ? setDropdownVisible(false)\n : setDropdownVisible(true);\n };\n\n useEffect(() => {\n if (dropdownVisible) {\n document.addEventListener('mousedown', handleClickOutside);\n } else {\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dropdownVisible]);\n\n useEffect(() => {\n let firstSelectedOptionSlug = '';\n let newTitle;\n\n if (Array.isArray(selectedOptions[dimensionType])) {\n firstSelectedOptionSlug = selectedOptions[dimensionType][0];\n }\n\n if (firstSelectedOptionSlug) {\n const firstSelectedOption = dimensionContent.find(\n dimension =>\n slugifier().getSlug(dimension.name) ===\n slugifier().getSlug(firstSelectedOptionSlug)\n );\n\n const firstSelectedOptionName = firstSelectedOption?.name;\n const selectedOptionSize = selectedOptions[dimensionType].length;\n\n const countText =\n selectedOptionSize > 1 ? ` + ${selectedOptionSize - 1}` : '';\n\n newTitle = firstSelectedOptionName && firstSelectedOptionName + countText;\n }\n\n setTitle(newTitle ?? groupTitle);\n }, [selectedOptions, dimensionType, dimensionContent, groupTitle]);\n\n return (\n <fieldset\n tabIndex={0}\n className=\"dimension-group\"\n ref={dimensionGroupRef}\n onClick={e => handleOnClick(e)}\n role=\"combobox\"\n aria-expanded={dropdownVisible}\n aria-haspopup=\"listbox\"\n onKeyDown={e => handleKeyDown(e)}\n onBlur={handleBlur}\n >\n {groupTitle && <legend className=\"dimension-group__legend\">{title}</legend>}\n {dropdownVisible && (\n <ul\n className=\"dimension-group__dropdown-list\"\n role=\"listbox\"\n tabIndex={-1}\n >\n {selectAllFiltersText && (\n <SelectAllFiltersButton\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n dimensionType={dimensionType}\n dimensionContent={dimensionContent}\n // check if can remove this once the valuie is entered in the lexic\n selectAllFiltersText={selectAllFiltersText}\n handleClearCurrentDimensionFilters={\n handleClearCurrentDimensionFilters\n }\n />\n )}\n {dimensionContent &&\n dimensionContent\n .filter(dimension => dimension.name !== '')\n .map((dimension, dimensionKey) => {\n return (\n <Checkbox\n key={dimensionKey}\n name={dimension.name}\n dimensionType={dimensionType}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n />\n );\n })}\n </ul>\n )}\n </fieldset>\n );\n}\n\nexport default DimensionGroup;\n","import * as React from 'react';\nimport DimensionGroup from 'root/main/components/careersJobFilter/dimensionGroup';\nimport ApplyButton from 'root/main/components/careersJobFilter/applyButton';\nimport { useJobFilter } from 'root/main/components/careersJobFilter/hooks/useJobFilter';\nimport { SelectedOptions, FilterContent } from './careersJobFilter.types';\n\ntype DimensionSelectorProps = {\n filterContent: FilterContent;\n selectedOptions: SelectedOptions;\n setSelectedOptions: () => SelectedOptions;\n className: string;\n linkForApplyButton: string | null;\n handleClearCurrentDimensionFilters: () => SelectedOptions;\n};\n\nfunction DimensionSelector({\n filterContent,\n selectedOptions,\n setSelectedOptions,\n className,\n linkForApplyButton,\n handleClearCurrentDimensionFilters,\n}: DimensionSelectorProps) {\n const allOpenings = useJobFilter().filteredJobs;\n\n if (allOpenings) {\n // removing duplicates and aggregate common values and modify the object to include the name key\n const locationsNames = Array.from(\n new Set(allOpenings.map(opening => opening.location))\n ).map(location => ({ name: location }));\n\n const departmentsNames = Array.from(\n new Set(allOpenings.map(opening => opening.department))\n ).map(dep => ({ name: dep }));\n\n const dimensionObject = Object.create({});\n\n (dimensionObject.regions = locationsNames),\n (dimensionObject.teams = departmentsNames),\n filterContent && (filterContent.dimensions = dimensionObject);\n }\n\n const { dropdown, dimensions, header } = filterContent || {};\n\n return (\n <section\n className={`dimension-selector gb-flex gb-flex--column gb-flex--center-vertical container gb-section-spacing ${className}`}\n >\n {header?.title && <h2>{header.title}</h2>}\n {dropdown && dimensions && (\n <div className=\"dimension-groups gb-flex gb-flex--center-horizontal gb-flex--wrap\">\n <DimensionGroup\n groupTitle={dropdown.departments_title}\n dimensionContent={dimensions.teams}\n dimensionType={'department'}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n handleClearCurrentDimensionFilters={\n handleClearCurrentDimensionFilters\n }\n selectAllFiltersText={dropdown.select_all_filter_button}\n />\n <DimensionGroup\n groupTitle={dropdown.locations_title}\n dimensionContent={dimensions.regions}\n dimensionType={'office'}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n handleClearCurrentDimensionFilters={\n handleClearCurrentDimensionFilters\n }\n selectAllFiltersText={dropdown.select_all_filter_button}\n />\n </div>\n )}\n <div className=\"gb-button-container gb-button-container--center __parent\">\n {linkForApplyButton && filterContent?.button?.text && (\n <ApplyButton\n linkForApplyButton={linkForApplyButton}\n applyButtonText={filterContent.button.text}\n />\n )}\n {filterContent?.clear_filter_link?.text && (\n <button\n className=\"clear-all-filters\"\n onClick={() => handleClearCurrentDimensionFilters()}\n >\n {filterContent.clear_filter_link.text}\n </button>\n )}\n </div>\n </section>\n );\n}\n\nexport default DimensionSelector;\n","import * as React from 'react';\nimport { useJobFilter } from 'root/main/components/careersJobFilter/hooks/useJobFilter';\nimport Loader from 'root/main/components/loader/loader';\n\nimport { SelectedOptions, FilterContent, Job } from './careersJobFilter.types';\nimport ErrorMessage from './ErrorMessage';\n\ntype FilterContentProps = {\n selectedOptions: SelectedOptions;\n filterContent: FilterContent;\n};\n\nfunction FilterResults({ selectedOptions, filterContent }: FilterContentProps) {\n const { filteredJobs, error } = useJobFilter(filterContent, selectedOptions);\n const { dropdown, no_results } = filterContent || {};\n const headingNames = ['jobs', 'departments', 'locations'];\n\n if (filteredJobs && !error) {\n return (\n <div className=\"filter__results container gb-section-spacing gb-background-color--light\">\n <ul className=\"filter__results__heading\">\n {headingNames.map((headingName, headingNameKey) => {\n return (\n <li key={headingNameKey}>\n {filterContent && dropdown[`${headingName}_title`] && (\n <strong>{dropdown[`${headingName}_title`]}</strong>\n )}\n </li>\n );\n })}\n </ul>\n {filteredJobs && filteredJobs.length > 0 ? (\n <ul className=\"filter__results__list\">\n {filteredJobs.map((job: Job, jobKey: number) => {\n const { slug, title, department, office } = job;\n return (\n <li className=\"job\" key={jobKey}>\n <a href={slug} tabIndex={0}>\n <span className=\"job-title\">{title}</span>\n <span className=\"job-dept\">{department}</span>\n <span className=\"job-office\">{office}</span>\n </a>\n </li>\n );\n })}\n </ul>\n ) : (\n <div className=\"gb-spacing gb-flex gb-flex--center-horizontal \">\n <p>{filterContent && no_results.text}</p>\n </div>\n )}\n </div>\n );\n } else if (error) {\n return <ErrorMessage errorMessage={filterContent.error_message.text} />;\n } else {\n return <Loader />;\n }\n}\n\nexport default FilterResults;\n","import useFetch from 'root/utils/hooks/useFetch';\nimport slugifier from 'root/helpers/slugifier';\nimport {\n SelectedOptions,\n FilterContent,\n SlugifiedJobObject,\n Job,\n dimensionTypes,\n} from '../careersJobFilter.types';\n\nconst slugify = slugifier();\n\nconst selectedOptionsMatchDropdown = (\n selectedOptions: SelectedOptions,\n filterContent: FilterContent\n): boolean => {\n const { regions, teams } = filterContent.dimensions;\n const { department, office } = selectedOptions;\n const allRegionOptions = regions.map(region => slugify.getSlug(region.name));\n const allTeamOptions = teams.map(team => slugify.getSlug(team.name));\n\n const foundMatchingOffices = office.some(officeTerm => {\n const slugifiedTerm = slugify.getSlug(officeTerm);\n return allRegionOptions.includes(slugifiedTerm);\n });\n const foundMatchingDepartments = department.some(deptTerm => {\n const slugifiedTerm = slugify.getSlug(deptTerm);\n return allTeamOptions.includes(slugifiedTerm);\n });\n\n return foundMatchingOffices || foundMatchingDepartments;\n};\n\nconst jobIsSelected = (\n selectedOptions: SelectedOptions,\n slugifiedJobObj: SlugifiedJobObject\n) => {\n return dimensionTypes.every(dimensionType => {\n // if nothing is selected all jobs will show\n if (selectedOptions[dimensionType].length === 0) return true;\n\n // if anything is selected, show filtered jobs\n return (\n selectedOptions[dimensionType] &&\n selectedOptions[dimensionType].some(term => {\n const slugifiedTerm = slugify.getSlug(term);\n return slugifiedJobObj[dimensionType]?.includes(slugifiedTerm);\n })\n );\n });\n};\n\ntype JobFilterTypes = {\n filteredJobs: Job[] | null | undefined;\n error: boolean;\n};\ninterface GreenHouseFetchResponse {\n response: {\n jobs: Job[];\n query: string;\n };\n error: boolean;\n}\n\nconst useJobFilter = (\n filterContent?: FilterContent,\n selectedOptions?: SelectedOptions\n): JobFilterTypes => {\n const { error, response } = useFetch(\n '/wp-json/greenhouse/overview/'\n ) as GreenHouseFetchResponse;\n let filteredJobs;\n let doFiltersMatch;\n\n if (selectedOptions && filterContent?.dimensions) {\n doFiltersMatch = selectedOptionsMatchDropdown(selectedOptions, filterContent);\n }\n\n if (selectedOptions && doFiltersMatch) {\n filteredJobs = response?.jobs?.filter(job => {\n const { office, department } = job || {};\n const slugifiedJobObj = {\n office: office && slugify.getSlug(office),\n department: department && slugify.getSlug(department),\n };\n return jobIsSelected(selectedOptions, slugifiedJobObj);\n });\n } else {\n filteredJobs = response?.jobs?.map(job => {\n const { office, department, title, slug } = job || {};\n\n // the separation must be comma+space\n const officeLocationArray = office && office.split(', ');\n return {\n location:\n officeLocationArray?.length &&\n officeLocationArray[officeLocationArray.length - 1],\n department,\n title,\n slug,\n office,\n };\n });\n }\n\n return { filteredJobs, error };\n};\n\nexport { useJobFilter };\n","import ReactDOM from 'react-dom';\nimport React, { useState, useEffect } from 'react';\nimport DimensionSelector from 'root/main/components/careersJobFilter/dimensionSelector';\nimport FilterResults from 'root/main/components/careersJobFilter/filterResults';\nimport useFetch from 'root/utils/hooks/useFetch';\nimport Loader from 'root/main/components/loader/loader';\nimport { getURLParamsFromSelectedOptions } from 'root/main/components/careersJobFilter/utils';\nimport { DimensionTypes, SelectedOptions, FilterContent } from './careersJobFilter.types';\nimport ErrorMessage from './ErrorMessage';\n\ntype JobFilterProps = {\n react?: string;\n reactJobFilter?: string;\n};\n\ninterface LexicFetchResponse {\n response: FilterContent;\n error: boolean;\n}\n\nfunction JobFilter(props: JobFilterProps) {\n const showResults = props.reactJobFilter === 'showResults';\n const getFilterContent = useFetch(\n '/wp-json/lexic/v1/careers/job_filter/'\n ) as LexicFetchResponse;\n const filterContent = getFilterContent.response;\n\n const [selectedOptions, setSelectedOptions] = useState(\n showResults\n ? getSelectedOptionsFromURL()\n : {\n office: [],\n department: [],\n }\n );\n\n /* @TODO @TOFIX\n this is a temp solution for fixing an issue on the FRHQ website\n where the /careers/openings/ was hardcoded as the button link\n ideally we should not have the links hardcoded\n they should be set in the lexic.\n */\n const openingsMap = new Map();\n openingsMap.set('hq', '/careers/openings/');\n openingsMap.set('frhq', '/carriere/postes/');\n\n const baseLinkForApplyButton = showResults\n ? null\n : `${window.location.protocol}//${window.location.hostname}${openingsMap.get(\n document.body.dataset.domain\n )}`;\n\n const [linkForApplyButton, setLinkForApplyButton] = useState(baseLinkForApplyButton);\n\n const classNameForDimensionSelector = showResults ? '' : 'gb-background-color--light';\n\n const handleClearCurrentDimensionFilters = (dimensionType: DimensionTypes) => {\n const newSelectedOptions = Object.assign({}, selectedOptions);\n\n if (dimensionType) {\n newSelectedOptions[dimensionType] = [];\n setSelectedOptions(newSelectedOptions);\n } else {\n setSelectedOptions({\n office: [],\n department: [],\n });\n }\n };\n\n useEffect(() => {\n if (!showResults) {\n setLinkForApplyButton(\n baseLinkForApplyButton + getURLParamsFromSelectedOptions(selectedOptions)\n );\n }\n }, [selectedOptions, baseLinkForApplyButton, showResults]);\n\n useEffect(() => {\n if (showResults) {\n updateURLSearchParameters(selectedOptions);\n }\n }, [selectedOptions, showResults]);\n\n function getSelectedOptionsFromURL() {\n const searchQuery = window.location.search;\n const urlParams = new URLSearchParams(searchQuery);\n const { office, department } = Object.fromEntries(urlParams) || {};\n\n return searchQuery\n ? {\n office: office ? office.split(',') : [],\n department: department ? department.split(',') : [],\n }\n : {\n office: [],\n department: [],\n };\n }\n\n function updateURLSearchParameters(selectedFilterDimensions: SelectedOptions) {\n window.history.replaceState(\n {},\n document.title,\n `${window.location.protocol}//${window.location.host}${\n window.location.pathname\n }${getURLParamsFromSelectedOptions(selectedFilterDimensions)}`\n );\n }\n\n if (getFilterContent.error) {\n return <ErrorMessage errorMessage={null} />;\n } else if (getFilterContent.response) {\n return (\n <>\n <DimensionSelector\n filterContent={filterContent}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n className={classNameForDimensionSelector}\n linkForApplyButton={linkForApplyButton}\n handleClearCurrentDimensionFilters={\n handleClearCurrentDimensionFilters\n }\n />\n {showResults && (\n <FilterResults\n filterContent={filterContent as unknown as FilterContent}\n selectedOptions={selectedOptions}\n />\n )}\n </>\n );\n } else {\n return <Loader />;\n }\n}\n\nexport default function () {\n const root = document.querySelector('[data-react=jobFilter]') as HTMLElement;\n ReactDOM.render(<JobFilter {...root?.dataset} />, root);\n}\n","import React from 'react';\n\nimport { DimensionTypes, SelectedOptions } from './careersJobFilter.types';\n\ntype SelectAllFiltersButtonProps = {\n selectedOptions: SelectedOptions;\n setSelectedOptions: (options: SelectedOptions) => SelectedOptions;\n dimensionType: DimensionTypes;\n dimensionContent: { name: string }[];\n selectAllFiltersText: string;\n handleClearCurrentDimensionFilters: (type: DimensionTypes) => SelectedOptions;\n};\n\nfunction SelectAllFiltersButton({\n selectedOptions,\n setSelectedOptions,\n dimensionType,\n dimensionContent,\n selectAllFiltersText,\n handleClearCurrentDimensionFilters,\n}: SelectAllFiltersButtonProps) {\n const checked = selectedOptions[dimensionType]?.length === dimensionContent?.length;\n const handleSelectAllCurrentDimensionFilters = () => {\n const newSelectedOptions = Object.assign({}, selectedOptions);\n\n // either empty of filled with strings\n const dimensionOptionsNames: string[] = [];\n\n for (const [key, value] of Object.entries(dimensionContent)) {\n dimensionOptionsNames[Number(key)] = value.name\n .toLowerCase()\n .replaceAll(' ', '-');\n }\n\n newSelectedOptions[dimensionType] = dimensionOptionsNames;\n setSelectedOptions(newSelectedOptions);\n };\n\n const handleChange = () => {\n if (\n selectedOptions[dimensionType]?.length > 0 &&\n selectedOptions[dimensionType]?.length === dimensionContent?.length\n ) {\n handleClearCurrentDimensionFilters(dimensionType);\n } else {\n handleSelectAllCurrentDimensionFilters();\n }\n };\n\n return (\n <li>\n <label>\n <input\n type=\"checkbox\"\n value=\"all\"\n className=\"job-filter-checkbox select-all-filters\"\n name=\"all\"\n checked={checked}\n onChange={() => {\n handleChange();\n }}\n role=\"option\"\n />\n {selectAllFiltersText}\n </label>\n </li>\n );\n}\n\nexport default SelectAllFiltersButton;\n","import type { SelectedOptions } from './careersJobFilter.types';\nimport { dimensionTypes } from './careersJobFilter.types';\n\nconst getURLParamsFromSelectedOptions = (selectedOptions: SelectedOptions) => {\n const params: string[] = [];\n\n for (const dimensionType of dimensionTypes) {\n const param: string =\n selectedOptions[dimensionType]?.length > 0\n ? `${dimensionType}=${selectedOptions[dimensionType].join(',')}`\n : '';\n param && params.push(param);\n }\n\n const combinedParams = `?${params.join('&')}`;\n\n return combinedParams ?? '';\n};\n\nexport { getURLParamsFromSelectedOptions };\n","import { useState, useEffect } from 'react';\nimport { LoggingHandler } from 'root/utils/errorReporting/LoggingHandler';\nimport { getEndpoint } from 'root/utils/cors/getEndpoint';\n\nconst useFetch = (url: string) => {\n const [error, setError] = useState(false);\n const [loading, setLoading] = useState(false);\n const [response, setResponse] = useState<unknown>(null);\n\n useEffect(() => {\n const abortController = new AbortController();\n const signal = abortController.signal;\n\n const fetchData = async () => {\n setError(false);\n setLoading(true);\n setResponse(null);\n try {\n const response = await fetch(getEndpoint(url));\n const result = await response.json();\n if (!signal.aborted) {\n setResponse(result);\n }\n } catch (error) {\n if (!signal.aborted) {\n setError(true);\n LoggingHandler().logError(error, {\n searchTerm: 'useFetch-request-error',\n tags: ['hooks'],\n fileName: 'useFetch.tsx',\n });\n }\n }\n if (!signal.aborted) {\n setLoading(false);\n }\n };\n fetchData();\n return () => {\n abortController.abort();\n };\n }, [url]);\n\n return { error, loading, response };\n};\nexport default useFetch;\n"],"names":["slugifier","getSlug","string","_string$trim","_string$trim$toLowerC","_string$trim$toLowerC2","separator","arguments","length","undefined","trim","toLowerCase","replace","_ref","errorMessage","React","className","linkForApplyButton","applyButtonText","href","dimensionTypes","_selectedOptions$dime","name","dimensionType","selectedOptions","setSelectedOptions","slugify","checked","includes","type","value","onChange","event","slugifiedName","newSelectedOptions","Object","assign","currentTarget","concat","_toConsumableArray","filter","option","applyAnchor","document","querySelector","hrefWithParams","window","location","protocol","hostname","getURLParamsFromSelectedOptions","setAttribute","setAnchorTagHref","role","groupTitle","dimensionContent","handleClearCurrentDimensionFilters","selectAllFiltersText","_useState","useState","_useState2","_slicedToArray","dropdownVisible","setDropdownVisible","_useState3","_useState4","title","setTitle","dimensionGroupRef","useRef","handleClickOutside","e","_dimensionGroupRef$cu","current","contains","target","useEffect","addEventListener","removeEventListener","_newTitle","newTitle","firstSelectedOptionSlug","Array","isArray","firstSelectedOption","find","dimension","firstSelectedOptionName","selectedOptionSize","countText","tabIndex","ref","onClick","tagName","handleOnClick","onKeyDown","code","preventDefault","handleKeyDown","onBlur","relatedTarget","SelectAllFiltersButton","map","dimensionKey","Checkbox","key","_filterContent$button","_filterContent$clear_","filterContent","allOpenings","useJobFilter","filteredJobs","locationsNames","from","Set","opening","departmentsNames","department","dep","dimensionObject","create","regions","teams","dimensions","_ref2","dropdown","header","DimensionGroup","departments_title","select_all_filter_button","locations_title","button","text","ApplyButton","clear_filter_link","_useJobFilter","error","no_results","headingName","headingNameKey","job","jobKey","slug","office","ErrorMessage","error_message","Loader","doFiltersMatch","_response$jobs","_response$jobs2","useFetch","response","_filterContent$dimens","allRegionOptions","region","allTeamOptions","team","foundMatchingOffices","some","officeTerm","slugifiedTerm","foundMatchingDepartments","deptTerm","selectedOptionsMatchDropdown","jobs","slugifiedJobObj","term","_slugifiedJobObj$dime","jobIsSelected","_ref3","officeLocationArray","split","JobFilter","props","searchQuery","urlParams","showResults","reactJobFilter","getFilterContent","search","URLSearchParams","fromEntries","openingsMap","Map","set","baseLinkForApplyButton","get","body","dataset","domain","setLinkForApplyButton","classNameForDimensionSelector","selectedFilterDimensions","history","replaceState","host","pathname","DimensionSelector","FilterResults","root","ReactDOM","_selectedOptions$dime2","_selectedOptions$dime3","dimensionOptionsNames","_i","_Object$entries","entries","_Object$entries$_i","Number","replaceAll","handleSelectAllCurrentDimensionFilters","_step","params","_iterator","_createForOfIteratorHelper","s","n","done","param","join","push","err","f","combinedParams","_regeneratorRuntime","t","r","prototype","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","call","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","url","setError","loading","setLoading","_useState5","_useState6","setResponse","abortController","AbortController","signal","fetchData","_asyncToGenerator","_callee","_response","result","_context","fetch","getEndpoint","json","aborted","t0","LoggingHandler","logError","searchTerm","tags","fileName","apply","abort"],"sourceRoot":""}