{"version":3,"file":"getAlphaColor.cjs","sources":["../../../../../../packages/theme/token/util/getAlphaColor.ts"],"sourcesContent":["import { TinyColor } from '@ctrl/tinycolor';\n\nfunction isStableColor(color: number): boolean {\n  return color >= 0 && color <= 255;\n}\n\nfunction getAlphaColor(frontColor: string, backgroundColor: string): string {\n  const { r: fR, g: fG, b: fB, a: originAlpha } = new TinyColor(frontColor).toRgb();\n  if (originAlpha < 1)\n    return frontColor;\n\n  const { r: bR, g: bG, b: bB } = new TinyColor(backgroundColor).toRgb();\n\n  for (let fA = 0.01; fA <= 1; fA += 0.01) {\n    const r = Math.round((fR - bR * (1 - fA)) / fA);\n    const g = Math.round((fG - bG * (1 - fA)) / fA);\n    const b = Math.round((fB - bB * (1 - fA)) / fA);\n    if (isStableColor(r) && isStableColor(g) && isStableColor(b))\n      return new TinyColor({ r, g, b, a: Math.round(fA * 100) / 100 }).toRgbString();\n  }\n\n  // fallback\n  /* istanbul ignore next */\n  return new TinyColor({ r: fR, g: fG, b: fB, a: 1 }).toRgbString();\n}\n\nexport default getAlphaColor;\n"],"names":["TinyColor"],"mappings":";;;;;;AAEA,SAAS,cAAc,KAAwB,EAAA;AAC7C,EAAO,OAAA,KAAA,IAAS,KAAK,KAAS,IAAA,GAAA,CAAA;AAChC,CAAA;AAEA,SAAS,aAAA,CAAc,YAAoB,eAAiC,EAAA;AAC1E,EAAA,MAAM,EAAE,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,IAAI,CAAG,EAAA,EAAA,EAAI,CAAG,EAAA,WAAA,EAAgB,GAAA,IAAIA,mBAAU,CAAA,UAAU,EAAE,KAAM,EAAA,CAAA;AAChF,EAAA,IAAI,WAAc,GAAA,CAAA;AAChB,IAAO,OAAA,UAAA,CAAA;AAET,EAAA,MAAM,EAAE,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,EAAG,EAAA,GAAI,IAAIA,mBAAA,CAAU,eAAe,CAAA,CAAE,KAAM,EAAA,CAAA;AAErE,EAAA,KAAA,IAAS,EAAK,GAAA,IAAA,EAAM,EAAM,IAAA,CAAA,EAAG,MAAM,IAAM,EAAA;AACvC,IAAA,MAAM,IAAI,IAAK,CAAA,KAAA,CAAA,CAAO,KAAK,EAAM,IAAA,CAAA,GAAI,OAAO,EAAE,CAAA,CAAA;AAC9C,IAAA,MAAM,IAAI,IAAK,CAAA,KAAA,CAAA,CAAO,KAAK,EAAM,IAAA,CAAA,GAAI,OAAO,EAAE,CAAA,CAAA;AAC9C,IAAA,MAAM,IAAI,IAAK,CAAA,KAAA,CAAA,CAAO,KAAK,EAAM,IAAA,CAAA,GAAI,OAAO,EAAE,CAAA,CAAA;AAC9C,IAAA,IAAI,cAAc,CAAC,CAAA,IAAK,cAAc,CAAC,CAAA,IAAK,cAAc,CAAC,CAAA;AACzD,MAAA,OAAO,IAAIA,mBAAA,CAAU,EAAE,CAAA,EAAG,GAAG,CAAG,EAAA,CAAA,EAAG,IAAK,CAAA,KAAA,CAAM,KAAK,GAAG,CAAA,GAAI,GAAI,EAAC,EAAE,WAAY,EAAA,CAAA;AAAA,GACjF;AAIA,EAAA,OAAO,IAAIA,mBAAA,CAAU,EAAE,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,EAAI,EAAA,CAAA,EAAG,CAAE,EAAC,EAAE,WAAY,EAAA,CAAA;AAClE;;;;"}