{"version":3,"names":["packColor","color","Bun","lerpColor","from","to","t","fromInt","toInt","fromR","fromG","fromB","toR","toG","toB","Math","round","lighten","packed","red","min","green","blue"],"sources":["utils.ts"],"sourcesContent":["import type { ColorInput } from \"bun\";\n\n/** Resolve any ColorInput to a packed 24-bit integer. */\nexport function packColor(color: ColorInput): number {\n\treturn Bun.color(color, \"number\") ?? 0;\n}\n\n/** Lerp between two colors. Accepts and returns any ColorInput-compatible value. */\nexport function lerpColor(from: ColorInput, to: ColorInput, t: number): number {\n\tconst fromInt = packColor(from),\n\t\ttoInt = packColor(to);\n\tconst fromR = (fromInt >> 16) & 0xff,\n\t\tfromG = (fromInt >> 8) & 0xff,\n\t\tfromB = fromInt & 0xff;\n\tconst toR = (toInt >> 16) & 0xff,\n\t\ttoG = (toInt >> 8) & 0xff,\n\t\ttoB = toInt & 0xff;\n\treturn (\n\t\t(Math.round(fromR + (toR - fromR) * t) << 16) |\n\t\t(Math.round(fromG + (toG - fromG) * t) << 8) |\n\t\tMath.round(fromB + (toB - fromB) * t)\n\t);\n}\n\n/** Lighten a color by +30 per channel, clamped to 255. */\nexport function lighten(color: ColorInput): number {\n\tconst packed = packColor(color);\n\tconst red = Math.min(255, ((packed >> 16) & 0xff) + 30);\n\tconst green = Math.min(255, ((packed >> 8) & 0xff) + 30);\n\tconst blue = Math.min(255, (packed & 0xff) + 30);\n\treturn (red << 16) | (green << 8) | blue;\n}\n"],"mappings":"AAEA;AACA,OAAO,SAASA,SAASA,CAACC,KAAiB,EAAU;EACpD,OAAOC,GAAG,CAACD,KAAK,CAACA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;AACvC;;AAEA;AACA,OAAO,SAASE,SAASA,CAACC,IAAgB,EAAEC,EAAc,EAAEC,CAAS,EAAU;EAC9E,MAAMC,OAAO,GAAGP,SAAS,CAACI,IAAI,CAAC;IAC9BI,KAAK,GAAGR,SAAS,CAACK,EAAE,CAAC;EACtB,MAAMI,KAAK,GAAIF,OAAO,IAAI,EAAE,GAAI,IAAI;IACnCG,KAAK,GAAIH,OAAO,IAAI,CAAC,GAAI,IAAI;IAC7BI,KAAK,GAAGJ,OAAO,GAAG,IAAI;EACvB,MAAMK,GAAG,GAAIJ,KAAK,IAAI,EAAE,GAAI,IAAI;IAC/BK,GAAG,GAAIL,KAAK,IAAI,CAAC,GAAI,IAAI;IACzBM,GAAG,GAAGN,KAAK,GAAG,IAAI;EACnB,OACEO,IAAI,CAACC,KAAK,CAACP,KAAK,GAAG,CAACG,GAAG,GAAGH,KAAK,IAAIH,CAAC,CAAC,IAAI,EAAE,GAC3CS,IAAI,CAACC,KAAK,CAACN,KAAK,GAAG,CAACG,GAAG,GAAGH,KAAK,IAAIJ,CAAC,CAAC,IAAI,CAAE,GAC5CS,IAAI,CAACC,KAAK,CAACL,KAAK,GAAG,CAACG,GAAG,GAAGH,KAAK,IAAIL,CAAC,CAAC;AAEvC;;AAEA;AACA,OAAO,SAASW,OAAOA,CAAChB,KAAiB,EAAU;EAClD,MAAMiB,MAAM,GAAGlB,SAAS,CAACC,KAAK,CAAC;EAC/B,MAAMkB,GAAG,GAAGJ,IAAI,CAACK,GAAG,CAAC,GAAG,EAAE,CAAEF,MAAM,IAAI,EAAE,GAAI,IAAI,IAAI,EAAE,CAAC;EACvD,MAAMG,KAAK,GAAGN,IAAI,CAACK,GAAG,CAAC,GAAG,EAAE,CAAEF,MAAM,IAAI,CAAC,GAAI,IAAI,IAAI,EAAE,CAAC;EACxD,MAAMI,IAAI,GAAGP,IAAI,CAACK,GAAG,CAAC,GAAG,EAAE,CAACF,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;EAChD,OAAQC,GAAG,IAAI,EAAE,GAAKE,KAAK,IAAI,CAAE,GAAGC,IAAI;AACzC","ignoreList":[]}