import { ResolvedTemplate } from "@carrot-kpi/sdk"; import { Checkbox, Typography } from "@carrot-kpi/ui"; import React, { type ChangeEvent } from "react"; import { FiltersLoading } from "./loading"; interface CheckboxesFilterProps { items: ResolvedTemplate[] | null; groupId: string; title: string; loading: boolean; selected: Set; setSelected: (newSelected: Set) => void; } export const CheckboxesFilter = ({ items, title, loading, selected, setSelected, groupId, }: CheckboxesFilterProps) => { const handleCheckedChange = (e: ChangeEvent) => { const elementAddress = e.target.dataset.address; if (!elementAddress) return; const newSelected = selected; if (e.target.checked) newSelected.add(elementAddress); else if (selected.has(elementAddress)) newSelected.delete(elementAddress); setSelected(newSelected); }; return (
{title}
{loading ? ( ) : ( items && items.map((item) => { return ( ); }) )}
); };