type IconName =
| "brand"
| "home"
| "script"
| "schedule"
| "experiment"
| "database"
| "settings"
| "chevron"
| "search"
| "plus"
| "upload"
| "folder"
| "notebook"
| "python"
| "refresh"
| "close"
| "check"
| "info"
| "lock"
| "unlock"
| "workspace"
| "menu"
| "external"
| "release"
| "play"
| "grip-vertical";
type IconProps = {
name: IconName;
size?: number;
strokeWidth?: number;
};
export default function Icon({
name,
size = 18,
strokeWidth = 1.8,
}: IconProps) {
const common = {
width: size,
height: size,
viewBox: "0 0 24 24",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
"aria-hidden": true,
};
if (name === "brand") {
return (
);
}
const paths: Record, React.ReactNode> = {
home: (
<>
>
),
script: (
<>
>
),
schedule: (
<>
>
),
experiment: (
<>
>
),
database: (
<>
>
),
settings: (
<>
>
),
chevron: ,
search: (
<>
>
),
plus: ,
upload: (
<>
>
),
folder: (
),
notebook: (
<>
>
),
python: (
<>
>
),
refresh: (
<>
>
),
close: ,
check: ,
info: (
<>
>
),
lock: (
<>
>
),
unlock: (
<>
>
),
workspace: (
<>
>
),
menu: (
<>
>
),
external: (
<>
>
),
release: (
<>
>
),
play: ,
"grip-vertical": (
<>
>
),
};
return (
);
}