UNPKG

@applaudem/icon-selector-dialog

Version:

A searchable icon selector dialog component for React with Material-UI and Iconify

112 lines (87 loc) 2.69 kB
# Icon Selector Dialog A searchable icon selector dialog component for React with Material-UI and Iconify integration. Uses Dutch interface by default. ## Features - 🔍 Search across multiple icon sets - 📂 Category-based browsing - ⌨️ Keyboard shortcuts for quick search - 🔄 Debounced search with async processing - 🎨 Material-UI theming support - 📱 Responsive design - 💪 TypeScript support ## Supported Icon Sets This component includes the following icon sets out of the box: - Material Design Icons - Font Awesome - Line Awesome - Heroicons - Feather Icons - Phosphor Icons - Carbon Icons ## Installation ```bash npm install @applaudem/icon-selector-dialog ``` ## Dependencies This component requires the following peer dependencies: - React (^18.2.0) - Material-UI (@mui/material ^5.15.11) - React DOM (^18.2.0) - @emotion/react (^11.11.3) - @emotion/styled (^11.11.0) The following dependencies will be installed automatically: - @iconify/react (^4.1.1) - @mui/icons-material (^5.15.11) ## Usage ```jsx import IconSelector from '@applaudem/icon-selector-dialog'; function MyComponent() { const [isOpen, setIsOpen] = useState(false); const [selectedIcon, setSelectedIcon] = useState(''); return ( <> <button onClick={() => setIsOpen(true)}> Select Icon </button> <IconSelector open={isOpen} onClose={() => setIsOpen(false)} onSelect={(iconName) => { setSelectedIcon(iconName); setIsOpen(false); }} currentIcon={selectedIcon} /> </> ); } ``` ## Props | Prop | Type | Required | Description | |------|------|----------|-------------| | open | boolean | Yes | Controls the visibility of the dialog | | onClose | () => void | Yes | Callback function when the dialog is closed | | onSelect | (iconName: string) => void | Yes | Callback function when an icon is selected | | currentIcon | string | No | Currently selected icon name (for highlighting) | ## Features in Detail ### Search Functionality - Real-time search across all icon sets - Debounced search to prevent UI blocking - Shows icon set information in search results - Clear search button ### Keyboard Support - Auto-focus search input when dialog opens - Keyboard navigation support - Escape key to close dialog ### Category Management - Icons organized by categories - "Other" category automatically placed at the bottom - Disabled category selection during search ### UI/UX Features - Loading states with progress indicators - Responsive grid layout - Icon preview with names - Hover and selection states - Clear visual hierarchy - Dutch interface ## License MIT © Applaudem