{"version":3,"file":"index.cjs","sources":["../src/lib/converter.ts","../src/utils/adjust-shades.ts","../src/index.ts"],"sourcesContent":["import { RGB, HSL, XYZ, LAB, OKLAB, OKLCH, HWB, LCH } from '../types'\n\nexport function rgbToHsl(r: number, g: number, b: number): HSL {\n  r /= 255\n  g /= 255\n  b /= 255\n  const max = Math.max(r, g, b)\n  const min = Math.min(r, g, b)\n  let h: number\n  let s: number\n  const l = (max + min) / 2\n  if (max === min) {\n    h = s = 0 // Achromatic\n  } else {\n    const d = max - min\n    s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n    switch (max) {\n      case r:\n        h = (g - b) / d + (g < b ? 6 : 0)\n        break\n      case g:\n        h = (b - r) / d + 2\n        break\n      case b:\n        h = (r - g) / d + 4\n        break\n      default:\n        h = 0\n    }\n    h /= 6\n  }\n\n  return [h * 360, s * 100, l * 100]\n}\nexport function hslToRgb(h: number, s: number, l: number): RGB {\n  h /= 360\n  s /= 100\n  l /= 100\n  let r: number\n  let g: number\n  let b: number\n  if (s === 0) {\n    r = g = b = l // Achromatic\n  } else {\n    const hue2rgb = (p: number, q: number, t: number): number => {\n      if (t < 0) t += 1\n      if (t > 1) t -= 1\n      if (t < 1 / 6) return p + (q - p) * 6 * t\n      if (t < 1 / 2) return q\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6\n      return p\n    }\n    const q = l < 0.5 ? l * (1 + s) : l + s - l * s\n    const p = 2 * l - q\n    r = hue2rgb(p, q, h + 1 / 3)\n    g = hue2rgb(p, q, h)\n    b = hue2rgb(p, q, h - 1 / 3)\n  }\n\n  return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]\n}\nexport function hexToRgb(hex: string): RGB {\n  const r = parseInt(hex.slice(1, 3), 16)\n  const g = parseInt(hex.slice(3, 5), 16)\n  const b = parseInt(hex.slice(5, 7), 16)\n\n  return [r, g, b]\n}\nexport function rgbToHex([r, g, b]: RGB): string {\n  return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b\n    .toString(16)\n    .padStart(2, '0')}`\n}\nexport function rgbToHwb(r: number, g: number, b: number): HWB {\n  r /= 255\n  g /= 255\n  b /= 255\n  const white = Math.min(r, g, b)\n  const black = 1 - Math.max(r, g, b)\n  let hue\n  const [h] = rgbToHsl(r * 255, g * 255, b * 255)\n  hue = h\n\n  return [hue, white * 100, black * 100]\n}\nexport function rgbToLab(r: number, g: number, b: number): LAB {\n  const [x, y, z] = rgbToXyz(r, g, b)\n\n  // Using D65 illuminant\n  const xn = 0.95047\n  const yn = 1.0\n  const zn = 1.08883\n\n  const xx = x / xn\n  const yy = y / yn\n  const zz = z / zn\n\n  const fx = xx > 0.008856 ? Math.pow(xx, 1 / 3) : 7.787 * xx + 16 / 116\n  const fy = yy > 0.008856 ? Math.pow(yy, 1 / 3) : 7.787 * yy + 16 / 116\n  const fz = zz > 0.008856 ? Math.pow(zz, 1 / 3) : 7.787 * zz + 16 / 116\n\n  const L = 116 * fy - 16\n  const A = 500 * (fx - fy)\n  const B = 200 * (fy - fz)\n\n  return [L, A, B]\n}\nexport function rgbToLch(r: number, g: number, b: number): LCH {\n  // Convert to CIE LCH color space (different from OKLch)\n  const [L, A, B] = rgbToLab(r, g, b)\n  const c = Math.sqrt(A * A + B * B)\n  let h = (Math.atan2(B, A) * 180) / Math.PI\n  if (h < 0) h += 360\n\n  return [L, c, h]\n}\nfunction toLinear(value: number): number {\n  const val = value / 255\n\n  return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4)\n}\nfunction rgbToXyz(r: number, g: number, b: number): XYZ {\n  r = toLinear(r)\n  g = toLinear(g)\n  b = toLinear(b)\n  const x = 0.4124564 * r + 0.3575761 * g + 0.1804375 * b\n  const y = 0.2126729 * r + 0.7151522 * g + 0.072175 * b\n  const z = 0.0193339 * r + 0.119192 * g + 0.9503041 * b\n\n  return [x, y, z]\n}\nfunction xyzToOklab(x: number, y: number, z: number): OKLAB {\n  const l = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z)\n  const m = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z)\n  const s = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.633851707 * z)\n\n  return [\n    0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,\n    1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,\n    0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s\n  ]\n}\nfunction oklabToOklch(L: number, a: number, b: number): OKLCH {\n  const c = Math.sqrt(a * a + b * b)\n  let h = (Math.atan2(b, a) * 180) / Math.PI\n  if (h < 0) h += 360\n\n  return [L, c * 1, h]\n}\nexport function rgbToOklch(r: number, g: number, b: number): OKLCH {\n  const xyz = rgbToXyz(r, g, b)\n  const lab = xyzToOklab(...xyz)\n  const [L, c, h] = oklabToOklch(...lab)\n\n  return [L * 100, c, h]\n}\nexport default { rgbToHex, rgbToHsl, hslToRgb, hexToRgb, rgbToHwb, rgbToLab, rgbToLch, rgbToOklch }\n","import type { HSL } from '../types'\n\nexport function adjustShade(\n  hsl: HSL,\n  index: number,\n  isNeutral: boolean,\n  lighterLightness: number,\n  lighterSaturation: number,\n  darkerLightness: number,\n  darkerSaturation: number\n): HSL {\n  let [h, s, l] = hsl\n\n  // Lighter color adjustment\n  if (index < 5) {\n    l = Math.min(98, l + (98 - l) * ((5 - index) / lighterLightness))\n    if (!isNeutral) {\n      s = Math.max(10, s - s * ((5 - index) / lighterSaturation))\n    }\n  }\n\n  // Darker color adjustment\n  else if (index > 5) {\n    l = l * (1 - (index - 5) / darkerLightness)\n    if (!isNeutral) {\n      s = Math.min(100, s + (100 - s) * ((index - 5) / darkerSaturation))\n    }\n  }\n  return [h, s, l]\n}\n","import {\n  rgbToHsl,\n  hslToRgb,\n  hexToRgb,\n  rgbToHex,\n  rgbToOklch,\n  rgbToHwb,\n  rgbToLab,\n  rgbToLch\n} from './lib/converter'\nimport type {\n  RGB,\n  HSL,\n  ColorFormat,\n  OutputFormat,\n  ColorOptions,\n  ColorInput,\n  ColorShade\n} from './types'\nimport { adjustShade } from './utils/adjust-shades'\n\nfunction formatColor(hsl: HSL, format: ColorFormat, opacityPrefix: string = ''): string {\n  const [h, s, l] = hsl\n  const rgb = hslToRgb(h, s, l)\n  const opacityVar = opacityPrefix ? ` / var(--${opacityPrefix}-opacity)` : ''\n\n  // Define a helper function to extract values for *-value formats\n  const extractValues = (str: string) => str.match(/[\\d.]+%?/g)?.join(' ') || ''\n\n  switch (format) {\n    case 'rgb':\n      return `rgb(${rgb[0]} ${rgb[1]} ${rgb[2]}${opacityVar})`\n    case 'rgb-value':\n      return extractValues(`rgb(${rgb[0]} ${rgb[1]} ${rgb[2]})`)\n    case 'hsl':\n      return `hsl(${Math.round(h)} ${Math.round(s)}% ${l.toFixed(1)}%${opacityVar})`\n    case 'hsl-value':\n      return extractValues(`hsl(${Math.round(h)} ${Math.round(s)}% ${l.toFixed(1)}%)`)\n    case 'hwb':\n    case 'hwb-value': {\n      const [hw, w, b] = rgbToHwb(...rgb)\n      const result = `hwb(${Math.round(hw)} ${Math.round(w)}% ${Math.round(b)}%)`\n      return format === 'hwb-value' ? extractValues(result) : result\n    }\n    case 'lab':\n    case 'lab-value': {\n      const [L2, a, b2] = rgbToLab(...rgb)\n      const result = `lab(${L2.toFixed(1)}% ${a.toFixed(1)} ${b2.toFixed(1)})`\n      return format === 'lab-value' ? extractValues(result) : result\n    }\n    case 'lch':\n    case 'lch-value': {\n      const [L3, C2, H2] = rgbToLch(...rgb)\n      const result = `lch(${L3.toFixed(1)}% ${C2.toFixed(1)} ${H2.toFixed(1)})`\n      return format === 'lch-value' ? extractValues(result) : result\n    }\n    case 'oklch':\n    case 'oklch-value': {\n      const [L, C, H] = rgbToOklch(...rgb)\n      const result = `oklch(${L.toFixed(1)}% ${C.toFixed(3)} ${H.toFixed(1)})`\n      return format === 'oklch-value' ? extractValues(result) : result\n    }\n    case 'hex':\n    default:\n      return rgbToHex(rgb)\n  }\n}\n\nexport function generateColors({\n  option = {},\n  color\n}: {\n  option?: ColorOptions\n  color: ColorInput\n}): string | ColorShade | string[] {\n  const {\n    format = 'css',\n    output = 'hex',\n    opacityPrefix = '',\n    prefix = '',\n    reverse = false,\n    lighterLightness = 4.5,\n    lighterSaturation = 10,\n    darkerLightness = 6.5,\n    darkerSaturation = 7\n  } = option\n  const colorSteps = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]\n  const steps = reverse ? [...colorSteps].reverse() : colorSteps\n  let result: any =\n    format === 'array'\n      ? {}\n      : format === 'object' || format === 'object2'\n        ? {}\n        : format === 'tailwind'\n          ? { theme: { colors: {} } }\n          : ''\n\n  for (let [colorName, hexColor] of Object.entries(color)) {\n    const rgb = hexToRgb(hexColor)\n    const hsl = rgbToHsl(...rgb)\n    const isNeutral = hsl[1] < 10\n    if (prefix !== '') {\n      colorName = prefix + colorName\n    }\n    if (format === 'array') {\n      result[colorName] = []\n    }\n    steps.forEach((step, index) => {\n      const adjustedHsl = adjustShade(\n        hsl,\n        index,\n        isNeutral,\n        lighterLightness,\n        lighterSaturation,\n        darkerLightness,\n        darkerSaturation\n      )\n      const colorValue = formatColor(adjustedHsl, output, opacityPrefix)\n      switch (format) {\n        case 'scss':\n          result += `$${colorName}-${step}: ${colorValue};\\n`\n          break\n        case 'tailwind':\n          if (!result.theme.colors[colorName]) {\n            result.theme.colors[colorName] = {}\n          }\n          result.theme.colors[colorName][step] = colorValue\n          break\n        case 'object':\n          if (typeof result !== 'object') result = {}\n          if (!result[colorName]) result[colorName] = {}\n          result[colorName][step] = colorValue\n          break\n        case 'object2':\n          result[`${colorName}-${step}`] = colorValue\n          break\n        case 'array':\n          result[colorName].push(colorValue)\n          break\n        case 'css':\n        default:\n          result += `--${colorName}-${step}: ${colorValue};\\n`\n      }\n    })\n    if (format === 'array' && reverse) {\n      result[colorName].reverse()\n    }\n  }\n  return result\n}\n\nexport * from './lib/converter'\nexport * from './types'\nexport default {\n  generateColors,\n  rgbToHsl,\n  hslToRgb,\n  hexToRgb,\n  rgbToHex,\n  rgbToOklch,\n  rgbToHwb,\n  rgbToLab,\n  rgbToLch\n}\n"],"names":[],"mappings":"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"}