import { splitProps, type ComponentProps } from "solid-js" // prettier-ignore const icons = { close: '', menu: ' ', "chevron-right": '', "chevron-left": '', "chevron-down": '', "chevron-up": '', "chevron-down-square": '', "chevron-up-square": '', "chevron-right-square": '', "chevron-left-square": '', settings: '', globe: '', github: '', hammer: '', "avatar-square": '', slash: '', robot: '', cloud: '', "file-text": '', file: '', "file-checkmark": '', "file-code": '', "file-important": '', "file-minus": '', "file-plus": '', files: '', "file-zip": '', jpg: '', pdf: '', png: '', gif: '', archive: '', sun: '', moon: '', monitor: '', command: '', link: '', share: '', branch: '', logout: '', login: '', keys: '', key: '', info: '', warning: '', checkmark: '', "checkmark-square": '', plus: '', minus: '', undo: '', merge: '', redo: '', refresh: '', rotate: '', "arrow-left": '', "arrow-down": '', "arrow-right": '', "arrow-up": '', enter: '', trash: '', package: '', box: '', lock: '', unlocked: '', activity: '', asterisk: '', bell: '', "bell-off": '', bolt: '', bookmark: '', brain: '', browser: '', "browser-cursor": '', bug: '', "carat-down": '', "carat-left": '', "carat-right": '', "carat-up": '', cards: '', chart: '', "check-circle": '', checklist: '', "checklist-cards": '', lab: '', circle: '', "circle-dotted": '', clipboard: '', clock: '', "close-circle": '', terminal: '', code: '', components: '', copy: '', cpu: '', dashboard: '', transfer: '', devices: '', diamond: '', dice: '', discord: '', dots: '', expand: '', droplet: '', "chevron-double-down": '', "chevron-double-left": '', "chevron-double-right": '', "chevron-double-up": '', "speech-bubble": '', message: '', annotation: '', square: '', "pull-request": '', pencil: '', sparkles: '', photo: '', columns: '', "open-pane": '', "close-pane": '', "file-search": '', "folder-search": '', search: '', "web-search": '', loading: '', mic: '', } as const const newIcons = { "circle-x": ``, "magnifying-glass": ``, "plus-small": ``, "chevron-down": ``, "arrow-up": ``, "check-small": ``, "edit-small-2": ``, folder: ``, "pencil-line": ``, "chevron-grabber-vertical": ``, mcp: ``, glasses: ``, "bullet-list": ``, "magnifying-glass-menu": ``, "window-cursor": ``, task: ``, checklist: ``, console: ``, "code-lines": ``, "square-arrow-top-right": ``, "circle-ban-sign": ``, stop: ``, enter: ``, } export interface IconProps extends ComponentProps<"svg"> { name: keyof typeof icons | keyof typeof newIcons size?: "small" | "normal" | "large" } export function Icon(props: IconProps) { const [local, others] = splitProps(props, ["name", "size", "class", "classList"]) if (local.name in newIcons) { return (
) } return (
) }