Фильтры
Панель фильтров: поиск, выбор одного значения, множественный выбор. Активный фильтр подсвечивается.
Живой код — редактируйте
function Example() { const [status, setStatus] = useState('all'); const [period, setPeriod] = useState('7d'); const [sources, setSources] = useState([]); const [query, setQuery] = useState(''); return ( <div className="flex w-full flex-wrap items-center gap-2"> <SearchFilter value={query} onChange={setQuery} placeholder="Телефон, имя или ClientID" /> <SelectFilter icon={FilterLineIcon} label="Все статусы" defaultValue="all" value={status} onChange={setStatus} options={[ { value: 'all', label: 'Все статусы' }, { value: 'analyzed', label: 'Оценены' }, { value: 'failed', label: 'С ошибкой' } ]} /> <SelectFilter icon={CalendarLineIcon} value={period} onChange={setPeriod} options={[ { value: '7d', label: '7 дней' }, { value: '30d', label: '30 дней' } ]} /> <MultiSelectFilter label="Источник" icon={GlobalLineIcon} selected={sources} onChange={setSources} options={[ { value: 'direct', label: 'Яндекс Директ', count: 84 }, { value: 'organic', label: 'Органика', count: 31 }, { value: 'social', label: 'Соцсети', count: 9 } ]} /> </div> ); } render(<Example />);
SelectFilter подсвечивается, когда значение отличается от defaultValue. Без defaultValue он просто показывает
текущий выбор (как фильтр периода).
Пропсы SelectFilter
Prop
Type
Пропсы MultiSelectFilter
Prop
Type