{"version":3,"file":"FacetAccordion-Dt0lzcnu.js","sources":["../../src/scripts/modules/react-modules/Listings/Facets/FacetAccordion.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger\n} from '../../../../components/react-components/Accordion';\nimport { Checkbox } from '../../../../components/react-components/Checkbox';\nimport { FacetProps } from '../types';\n\ntype FacetDataItem = {\n name: string;\n count: number;\n};\n\nexport type FacetData = {\n [key: string]: {\n Categories: {\n IdTitle: FacetDataItem[];\n };\n };\n};\n\ntype OwnProps = {\n facets: FacetProps[];\n onSelectionChangeHandler: (selectedFacetID: string, value: string | null) => void;\n facetsData: FacetData | null;\n};\n\nconst FacetAccordion = ({ facets, facetsData, onSelectionChangeHandler }: OwnProps) => {\n const [value, setValue] = useState('');\n const [updatedFacets, setUpdatedFacets] = useState(facets);\n\n useEffect(() => {\n if (facets.length > 0) {\n setValue(facets[0].id);\n }\n }, [facets]);\n\n useEffect(() => {\n if (facetsData) {\n const newUpdatedFacets = facets.map(facet => {\n const updatedItems = facet.items.map(item => {\n const matchingFacet = facetsData[facet.id]?.Categories.IdTitle;\n const matchingItem = matchingFacet?.find(f => f.name.split('|')[1] === item.value);\n return {\n ...item,\n count: matchingItem ? matchingItem.count : 0 // Set count to 0 if no match\n };\n });\n\n return {\n ...facet,\n items: updatedItems\n };\n });\n\n setUpdatedFacets(newUpdatedFacets);\n }\n }, [facetsData, facets]);\n\n return (\n