// Shared primitives: icons, logo, etc. const Icon = ({ name, size = 16, stroke = 1.7 }) => { const paths = { arrow_right: , arrow_left: , plus: , copy: <>, check: , close: , eye: <>, search: <>, warn: <>, home: <>, grid: <>, workflow: <>, key: <>, book: <>, settings: <>, chevron_right: , chevron_down: , external: <>, trash: <>, spark: , bolt: , github: , google: <>, share: <>, download: <>, zoom_in: <>, zoom_out: <>, maximize: <>, slack: <>, database: <>, mail: <>, filter: , star: , linear: <>, clock: <>, send: <>, terminal: <>, logout: <>, }; return ( {paths[name]} ); }; // Arcrun wordmark — custom "arc" glyph made of an arc stroke + ascending dot/node const Logo = ({ size = 'md', onClick }) => { const dims = size === 'sm' ? { w: 18, h: 18, f: 10 } : size === 'lg' ? { w: 28, h: 28, f: 14 } : { w: 22, h: 22, f: 12 }; return (
Arcrun
); }; // App icon with gradient background const AppIcon = ({ tone = 'indigo', children, size = 38 }) => { const tones = { indigo: 'linear-gradient(135deg, #6366F1, #8B5CF6)', orange: 'linear-gradient(135deg, #F59E0B, #EF4444)', green: 'linear-gradient(135deg, #10B981, #22C55E)', pink: 'linear-gradient(135deg, #EC4899, #8B5CF6)', blue: 'linear-gradient(135deg, #3B82F6, #06B6D4)', slate: 'linear-gradient(135deg, #475569, #334155)', amber: 'linear-gradient(135deg, #F59E0B, #D97706)', }; return (
{children}
); }; Object.assign(window, { Icon, Logo, AppIcon });