/* Forge icon set - lucide-style, 1.5px stroke, 24x24 viewBox. Ported from the design handoff. */ import type { CSSProperties } from "react"; const P: Record = { // nav / shell dashboard: '', search: '', sparkles: '', help: '', bell: '', overview: '', workflows: '', agents: '', tools: '', auth: '', knowledge: '', playground: '', traces: '', widget: '', connect: '', settings: '', secret: '', logout: '', // sidebar nav — lucide glyphs from the Forge Console design 'layout-dashboard': '', workflow: '', bot: '', 'book-open': '', 'shield-check': '', server: '', 'plug-zap': '', activity: '', mail: '', inbox: '', // node types n_start: '', n_end: '', n_agent: '', n_deepagent: '', n_llm: '', n_tool: '', n_router: '', n_retrieval: '', n_qa: '', n_human: '', n_transform: '', n_subworkflow: '', n_fanout: '', n_join: '', n_loop: '', n_webhook: '', n_emit: '', // tool kinds k_rest: '', k_graphql: '', k_code: '', k_mcp: '', k_builtin: '', // actions plus: '', minus: '', x: '', check: '', play: '', stop: '', save: '', validate: '', undo: '', redo: '', tidy: '', zoomin: '', zoomout: '', fit: '', chevdown: '', chevright: '', chevleft: '', chevup: '', more: '', drag: '', copy: '', trash: '', edit: '', external: '', eye: '', eyeoff: '', refresh: '', theme: '', filter: '', upload: '', file: '', link: '', clock: '', lock: '', coins: '', bolt: '', db: '', globe: '', layers: '', msg: '', user: '', logo: '', grid: '', list: '', flame: '', sliders: '', download: '', rotate: '', }; export type IconName = keyof typeof P | string; export function Icon({ name, size = 18, strokeWidth = 1.5, style, className, }: { name: IconName; size?: number; strokeWidth?: number; style?: CSSProperties; className?: string; }) { const d = P[name]; if (!d) return null; return ( ); } export const ICON_NAMES = Object.keys(P);