import { Global, jsx } from '@emotion/core' import { version } from '../package.json' import React, { useMemo } from 'react' import ReactDOM from 'react-dom' import IconButton from './components/icon-button' import SearchInput from './components/search-input' import theme from './theme' import './ui.css' import tags from '../../../tags.json' import * as iconComponents from 'lucide-react' import { toPascalCase } from './helpers/naming'; import useSearch from '../../../site/src/lib/useSearch'; declare var ICONS: []; function App() { const [query, setQuery] = React.useState('') const icons = ICONS.map(name => { const componentName = toPascalCase(name); return { name, tags: tags[name] || [], component: iconComponents[componentName] || null } }).filter(({component}) => !!component) const searchResults = useMemo(() => useSearch(icons, query), [icons, query]) return (
setQuery(event.target.value)} css={{ position: 'sticky', top: 0, borderBottom: '1px solid #e5e5e5', backfaceVisibility: 'hidden' }} />
{searchResults.map(({name, component: Icon} :any) => ( ))}
Lucide v{version}
) } ReactDOM.render(, document.getElementById('root'))