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"; 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: , }; return ( {paths[name]} ); }