{"version":3,"file":"theme.cjs","names":[],"sources":["../../src/utils/theme.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nconst hex =\n  (code: string) =>\n  (text: string): string =>\n    chalk.hex(code)(text);\n\nconst truecolorRamp =\n  (from: string, to: string) =>\n  (text: string): string => {\n    const rgb = (code: string) => [1, 3, 5].map((i) => parseInt(code.slice(i, i + 2), 16));\n    const [r1 = 0, g1 = 0, b1 = 0] = rgb(from);\n    const [r2 = 0, g2 = 0, b2 = 0] = rgb(to);\n    const chars = Array.from(text);\n    const total = chars.filter((ch) => ch !== \"\\n\").length;\n    let seen = 0;\n    return chars\n      .map((ch) => {\n        if (ch === \"\\n\") return ch;\n        const t = total > 1 ? seen / (total - 1) : 0;\n        seen += 1;\n        return chalk.rgb(\n          Math.round(r1 + (r2 - r1) * t),\n          Math.round(g1 + (g2 - g1) * t),\n          Math.round(b1 + (b2 - b1) * t),\n        )(ch);\n      })\n      .join(\"\");\n  };\n\nexport const gradients: Record<string, (text: string) => string> = {\n  cyber: truecolorRamp(\"#00ffff\", \"#ff00ff\"),\n};\n\nexport const colors = {\n  cyan: hex(\"#00ffff\"),\n  magenta: hex(\"#ff00ff\"),\n  green: hex(\"#00ff41\"),\n  blue: hex(\"#0080ff\"),\n  yellow: hex(\"#ffcc00\"),\n  orange: hex(\"#ffaa00\"),\n  white: hex(\"#f0f0f0\"),\n  gray: hex(\"#555555\"),\n  dim: chalk.dim,\n  error: hex(\"#ff3366\"),\n};\n\nexport const icons = {\n  scan: \"○\",\n  run: \"▶\",\n  ok: \"✓\",\n  err: \"✗\",\n  pending: \"○\",\n  arrow: \"→\",\n  dot: \"·\",\n  app: \"◉\",\n  config: \"⚙\",\n};\n\nexport const frames = {\n  top: (width: number) => `┌${\"─\".repeat(width - 2)}┐`,\n  bottom: (width: number) => `└${\"─\".repeat(width - 2)}┘`,\n};\n\nexport function divider(width = 48): string {\n  return chalk.dim(\"─\".repeat(width));\n}\n"],"mappings":";;;;;AAEA,MAAM,OACH,UACA,SACC,cAAM,IAAI,IAAI,CAAC,CAAC,IAAI;AAExB,MAAM,iBACH,MAAc,QACd,SAAyB;CACxB,MAAM,OAAO,SAAiB;EAAC;EAAG;EAAG;CAAC,CAAC,CAAC,KAAK,MAAM,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;CACrF,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,IAAI,IAAI;CACzC,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,IAAI,EAAE;CACvC,MAAM,QAAQ,MAAM,KAAK,IAAI;CAC7B,MAAM,QAAQ,MAAM,QAAQ,OAAO,OAAO,IAAI,CAAC,CAAC;CAChD,IAAI,OAAO;CACX,OAAO,MACJ,KAAK,OAAO;EACX,IAAI,OAAO,MAAM,OAAO;EACxB,MAAM,IAAI,QAAQ,IAAI,QAAQ,QAAQ,KAAK;EAC3C,QAAQ;EACR,OAAO,cAAM,IACX,KAAK,MAAM,MAAM,KAAK,MAAM,CAAC,GAC7B,KAAK,MAAM,MAAM,KAAK,MAAM,CAAC,GAC7B,KAAK,MAAM,MAAM,KAAK,MAAM,CAAC,CAC/B,CAAC,CAAC,EAAE;CACN,CAAC,CAAC,CACD,KAAK,EAAE;AACZ;AAEF,MAAa,YAAsD,EACjE,OAAO,cAAc,WAAW,SAAS,EAC3C;AAEA,MAAa,SAAS;CACpB,MAAM,IAAI,SAAS;CACnB,SAAS,IAAI,SAAS;CACtB,OAAO,IAAI,SAAS;CACpB,MAAM,IAAI,SAAS;CACnB,QAAQ,IAAI,SAAS;CACrB,QAAQ,IAAI,SAAS;CACrB,OAAO,IAAI,SAAS;CACpB,MAAM,IAAI,SAAS;CACnB,KAAK,cAAM;CACX,OAAO,IAAI,SAAS;AACtB;AAEA,MAAa,QAAQ;CACnB,MAAM;CACN,KAAK;CACL,IAAI;CACJ,KAAK;CACL,SAAS;CACT,OAAO;CACP,KAAK;CACL,KAAK;CACL,QAAQ;AACV;AAEA,MAAa,SAAS;CACpB,MAAM,UAAkB,IAAI,IAAI,OAAO,QAAQ,CAAC,EAAE;CAClD,SAAS,UAAkB,IAAI,IAAI,OAAO,QAAQ,CAAC,EAAE;AACvD;AAEA,SAAgB,QAAQ,QAAQ,IAAY;CAC1C,OAAO,cAAM,IAAI,IAAI,OAAO,KAAK,CAAC;AACpC"}