import cl from 'clsx' import { IconCard } from '../icon-card' import type { IconGridProps } from './types/icon-grid.type' import styles from './styles/icon-grid.module.css' /** * Сетка иконок, сгруппированная по спрайтам. * * Используется для: * - отображения всех иконок из всех спрайтов * - фильтрации иконок по поисковому запросу */ export const IconGrid = (props: IconGridProps) => { const { groups, searchQuery = '', onIconSelect, className, ...htmlAttr } = props const query = searchQuery.toLowerCase() return (
{groups.map((group) => { const filteredIcons = query ? group.icons.filter((icon) => icon.id.includes(query)) : group.icons const isGroupHidden = filteredIcons.length === 0 return (

{group.name} {group.mode} {group.icons.length}

{filteredIcons.map((icon) => ( ))}
) })}
) }