pagamio-frontend-commons-lib
Version:
Pagamio library for Frontend reusable components like the form engine and table container
18 lines (17 loc) • 1.28 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { FilterWrapper, Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../components';
import { useMediaQueries } from '../../shared';
const DashboardFilter = ({ filters, selectedFilters, handleFilterChange }) => {
const { isSm } = useMediaQueries();
return (_jsx(FilterWrapper, { isNarrow: isSm, children: filters.length > 0 &&
filters.map((filterObj) => {
if (filterObj.type !== 'select') {
// Handle other filter types if needed
return null;
}
const { name, options } = filterObj;
const value = selectedFilters[name];
return (_jsx("div", { className: isSm ? 'w-full' : 'flex-1 min-w-[150px]', children: _jsxs(Select, { value: value || 'All', onValueChange: (val) => handleFilterChange(name, val), children: [_jsx(SelectTrigger, { className: "w-full bg-white", children: _jsx(SelectValue, { placeholder: `Filter by ${name}` }) }), _jsx(SelectContent, { children: options.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] }, `filter-${name}`) }, name));
}) }));
};
export default DashboardFilter;