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 (
)
}