@a_ng_d/utils-ui-color-palette 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ class M {
15
15
  u(this, "paletteData");
16
16
  u(this, "currentScale");
17
17
  u(this, "searchForShadeStyleId", (o, r, S, e) => {
18
- const p = o.find((c) => c.id === r), g = p === void 0 ? void 0 : p.colors.find((c) => c.id === S), i = g === void 0 ? void 0 : g.shades.find((c) => c.name === e), l = i === void 0 ? "" : i.styleId;
18
+ const p = o.find((d) => d.id === r), g = p === void 0 ? void 0 : p.colors.find((d) => d.id === S), i = g === void 0 ? void 0 : g.shades.find((d) => d.name === e), l = i === void 0 ? "" : i.styleId;
19
19
  return l === void 0 ? "" : l;
20
20
  });
21
21
  u(this, "makePaletteData", (o) => (this.themes.forEach((r) => {
@@ -177,13 +177,13 @@ class M {
177
177
  ),
178
178
  type: "source color"
179
179
  });
180
- const c = p.map(
180
+ const d = p.map(
181
181
  (a) => s.distance(
182
182
  s(i).hex(),
183
183
  s(a[1]).hex(),
184
184
  "rgb"
185
185
  )
186
- ), n = c.indexOf(Math.min(...c));
186
+ ), n = d.indexOf(Math.min(...d));
187
187
  p.forEach((a, t) => {
188
188
  const h = s.distance(
189
189
  s(i).hex(),
@@ -195,7 +195,7 @@ class M {
195
195
  render: "RGB",
196
196
  sourceColor: s(i).rgb(),
197
197
  visionSimulationMode: r.visionSimulationMode
198
- }).setColor(), d = new k({
198
+ }).setColor(), c = new k({
199
199
  render: "HEX",
200
200
  sourceColor: s(i).rgb(),
201
201
  visionSimulationMode: r.visionSimulationMode
@@ -203,14 +203,14 @@ class M {
203
203
  t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? (b.rgb_r = Number(C[0]) / 255, b.rgb_g = Number(C[1]) / 255, b.rgb_b = Number(C[2]) / 255) : (b.rgb_r = Number(a[1][0]) / 255, b.rgb_g = Number(a[1][1]) / 255, b.rgb_b = Number(a[1][2]) / 255), b.rgbToHsluv(), g.shades.push({
204
204
  name: v,
205
205
  description: `Shade color with ${typeof a[0][1] == "number" ? a[0][1].toFixed(1) : a[0][1]}% of ${e.alpha.isEnabled ? "opacity" : "lightness"}`,
206
- hex: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).hex() : s(a[1]).hex(),
207
- rgb: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).rgb() : s(a[1]).rgb(),
208
- gl: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).gl() : s(a[1]).gl(),
209
- lch: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).lch() : s(a[1]).lch(),
210
- oklch: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).oklch() : s(a[1]).oklch(),
211
- lab: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).lab() : s(a[1]).lab(),
212
- oklab: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).oklab() : s(a[1]).oklab(),
213
- hsl: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(d).hsl() : s(a[1]).hsl(),
206
+ hex: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).hex() : s(a[1]).hex(),
207
+ rgb: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).rgb() : s(a[1]).rgb(),
208
+ gl: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).gl() : s(a[1]).gl(),
209
+ lch: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).lch() : s(a[1]).lch(),
210
+ oklch: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).oklch() : s(a[1]).oklch(),
211
+ lab: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).lab() : s(a[1]).lab(),
212
+ oklab: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).oklab() : s(a[1]).oklab(),
213
+ hsl: t === n && this.base.areSourceColorsLocked && !e.alpha.isEnabled ? s(c).hsl() : s(a[1]).hsl(),
214
214
  hsluv: [b.hsluv_h, b.hsluv_s, b.hsluv_l],
215
215
  alpha: e.alpha.isEnabled ? parseFloat((a[0][1] / 100).toFixed(2)) : void 0,
216
216
  backgroundColor: e.alpha.isEnabled && e.alpha.backgroundColor ? s(a[2]).rgb() : void 0,
@@ -245,14 +245,14 @@ class M {
245
245
  meta: this.meta,
246
246
  data: this.makePaletteData(),
247
247
  type: "UI_COLOR_PALETTE",
248
- version: process.env.VERSION ?? "1.0.0"
248
+ version: "2025.06"
249
249
  }));
250
250
  var e;
251
251
  this.base = o, this.themes = r, this.meta = S, this.paletteData = {
252
252
  name: o.name ?? "UI Color Palette",
253
253
  description: o.description,
254
254
  themes: [],
255
- version: process.env.VERSION ?? "1.0.0",
255
+ version: "2025.06",
256
256
  type: "palette"
257
257
  }, this.currentScale = ((e = r.find((p) => p.isEnabled)) == null ? void 0 : e.scale) ?? {};
258
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../../../src/modules/data/data.ts"],"sourcesContent":["import chroma from 'chroma-js'\nimport { Hsluv } from 'hsluv'\nimport {\n MetaConfiguration,\n BaseConfiguration,\n ScaleConfiguration,\n ThemeConfiguration,\n FullConfiguration,\n} from '@tps/configuration.types'\nimport {\n PaletteData,\n PaletteDataColorItem,\n PaletteDataThemeItem,\n} from '@tps/data.types'\nimport Color from '@modules/color/color'\nimport { Channel, HexModel } from '@tps/color.types'\n\nexport default class Data {\n private base: BaseConfiguration\n private themes: Array<ThemeConfiguration>\n private meta: MetaConfiguration\n private paletteData: PaletteData\n private currentScale: ScaleConfiguration\n\n constructor({\n base,\n themes,\n meta,\n }: {\n base: BaseConfiguration\n themes: Array<ThemeConfiguration>\n meta: MetaConfiguration\n }) {\n this.base = base\n this.themes = themes\n this.meta = meta\n this.paletteData = {\n name: base.name ?? 'UI Color Palette',\n description: base.description,\n themes: [],\n version: process.env.VERSION ?? '1.0.0',\n type: 'palette',\n }\n this.currentScale =\n themes.find((theme) => theme.isEnabled)?.scale ??\n ({} as ScaleConfiguration)\n }\n\n searchForShadeStyleId = (\n themes: Array<PaletteDataThemeItem>,\n themeId: string,\n colorId: string,\n shadeName: string\n ) => {\n const themeMatch = themes.find((theme) => theme.id === themeId),\n colorMatch =\n themeMatch === undefined\n ? undefined\n : themeMatch.colors.find((color) => color.id === colorId),\n shadeMatch =\n colorMatch === undefined\n ? undefined\n : colorMatch.shades.find((shade) => shade.name === shadeName),\n styleId = shadeMatch === undefined ? '' : shadeMatch.styleId\n\n return styleId === undefined ? '' : styleId\n }\n\n makePaletteData = (previousData?: PaletteData) => {\n this.themes.forEach((theme) => {\n const paletteDataThemeItem: PaletteDataThemeItem = {\n id: theme.id,\n name: theme.name,\n description: theme.description,\n colors: [],\n type: theme.type,\n }\n this.base.colors.forEach((color) => {\n const scaledColors = Object.entries(theme.scale)\n .reverse()\n .map((lightness) => {\n if (color.alpha.isEnabled) {\n const foregroundColorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n alpha: parseFloat((lightness[1] / 100).toFixed(2)),\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n const backgroundColorData = new Color({\n render: 'RGB',\n sourceColor: chroma(color.alpha.backgroundColor).rgb(),\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.lcha(),\n backgroundColorData.lcha(),\n ]\n case 'OKLCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklcha(),\n backgroundColorData.oklcha(),\n ]\n case 'LAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.laba(),\n backgroundColorData.laba(),\n ]\n case 'OKLAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklaba(),\n backgroundColorData.oklaba(),\n ]\n case 'HSL':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsla(),\n backgroundColorData.hsla(),\n ]\n case 'HSLUV':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsluva(),\n backgroundColorData.hsluva(),\n ]\n default:\n return [lightness, [0, 0, 0], [255, 255, 255]]\n }\n } else {\n const colorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n lightness: lightness[1],\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return [lightness, colorData.lch()]\n case 'OKLCH':\n return [lightness, colorData.oklch()]\n case 'LAB':\n return [lightness, colorData.lab()]\n case 'OKLAB':\n return [lightness, colorData.oklab()]\n case 'HSL':\n return [lightness, colorData.hsl()]\n case 'HSLUV':\n return [lightness, colorData.hsluv()]\n default:\n return [lightness, [0, 0, 0]]\n }\n }\n })\n\n const paletteDataColorItem: PaletteDataColorItem = {\n id: color.id,\n name: color.name,\n description: color.description,\n shades: [],\n type: 'color',\n },\n sourceColor: Channel = [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ]\n\n const sourceHsluv = new Hsluv()\n sourceHsluv.rgb_r = color.rgb.r\n sourceHsluv.rgb_g = color.rgb.g\n sourceHsluv.rgb_b = color.rgb.b\n sourceHsluv.rgbToHsluv()\n\n paletteDataColorItem.shades.push({\n name: 'source',\n description: 'Source color',\n hex: chroma(sourceColor).hex(),\n rgb: sourceColor,\n gl: chroma(sourceColor).gl(),\n lch: chroma(sourceColor).lch(),\n oklch: chroma(sourceColor).oklch(),\n lab: chroma(sourceColor).lab(),\n oklab: chroma(sourceColor).oklab(),\n hsl: chroma(sourceColor).hsl(),\n hsluv: [\n sourceHsluv.hsluv_h,\n sourceHsluv.hsluv_s,\n sourceHsluv.hsluv_l,\n ],\n styleId: this.searchForShadeStyleId(\n previousData?.themes ?? this.paletteData.themes,\n theme.id,\n color.id,\n 'source'\n ),\n type: 'source color',\n })\n\n const distances = scaledColors.map((shade) =>\n chroma.distance(\n chroma(sourceColor).hex(),\n chroma(shade[1] as Channel).hex(),\n 'rgb'\n )\n )\n const minDistanceIndex = distances.indexOf(Math.min(...distances))\n\n scaledColors.forEach((scaledColor, index) => {\n const distance: number = chroma.distance(\n chroma(sourceColor).hex(),\n chroma(scaledColor[1] as Channel).hex(),\n 'rgb'\n )\n const scaleName: string =\n Object.keys(this.currentScale).find(\n (key) => key === scaledColor[0][0]\n ) ?? '0'\n const newHsluv = new Hsluv()\n const simulatedSourceColorRgb = new Color({\n render: 'RGB',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as Channel\n const simulatedSourceColorHex = new Color({\n render: 'HEX',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as HexModel\n\n if (\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ) {\n newHsluv.rgb_r = Number(simulatedSourceColorRgb[0]) / 255\n newHsluv.rgb_g = Number(simulatedSourceColorRgb[1]) / 255\n newHsluv.rgb_b = Number(simulatedSourceColorRgb[2]) / 255\n } else {\n newHsluv.rgb_r = Number(scaledColor[1][0]) / 255\n newHsluv.rgb_g = Number(scaledColor[1][1]) / 255\n newHsluv.rgb_b = Number(scaledColor[1][2]) / 255\n }\n newHsluv.rgbToHsluv()\n\n paletteDataColorItem.shades.push({\n name: scaleName,\n description: `Shade color with ${typeof scaledColor[0][1] === 'number' ? scaledColor[0][1].toFixed(1) : scaledColor[0][1]}% of ${\n color.alpha.isEnabled ? 'opacity' : 'lightness'\n }`,\n hex:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hex()\n : chroma(scaledColor[1] as Channel).hex(),\n rgb:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).rgb()\n : chroma(scaledColor[1] as Channel).rgb(),\n gl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).gl()\n : chroma(scaledColor[1] as Channel).gl(),\n lch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lch()\n : chroma(scaledColor[1] as Channel).lch(),\n oklch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklch()\n : chroma(scaledColor[1] as Channel).oklch(),\n lab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lab()\n : chroma(scaledColor[1] as Channel).lab(),\n oklab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklab()\n : chroma(scaledColor[1] as Channel).oklab(),\n hsl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hsl()\n : chroma(scaledColor[1] as Channel).hsl(),\n hsluv: [newHsluv.hsluv_h, newHsluv.hsluv_s, newHsluv.hsluv_l],\n alpha: color.alpha.isEnabled\n ? parseFloat(((scaledColor[0][1] as number) / 100).toFixed(2))\n : undefined,\n backgroundColor:\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? chroma(scaledColor[2] as Channel).rgb()\n : undefined,\n mixedColor:\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? new Color({\n visionSimulationMode: theme.visionSimulationMode,\n }).mixColorsRgb(\n [\n ...(scaledColor[1] as Channel),\n parseFloat(\n ((scaledColor[0][1] as number) / 100).toFixed(2)\n ),\n ],\n [...(scaledColor[2] as Channel), 1]\n )\n : undefined,\n styleId: this.searchForShadeStyleId(\n previousData?.themes ?? this.paletteData.themes,\n theme.id,\n color.id,\n scaleName\n ),\n isClosestToRef: distance < 4 && !this.base.areSourceColorsLocked,\n isSourceColorLocked:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled,\n isTransparent: color.alpha.isEnabled,\n type: 'color shade',\n })\n })\n\n paletteDataThemeItem.colors.push(paletteDataColorItem)\n })\n this.paletteData.themes.push(paletteDataThemeItem)\n })\n\n return this.paletteData\n }\n\n makePaletteFullData = () => {\n const fullPaletteData = {\n base: this.base,\n themes: this.themes,\n meta: this.meta,\n data: this.makePaletteData(),\n type: 'UI_COLOR_PALETTE',\n version: process.env.VERSION ?? '1.0.0',\n } as FullConfiguration\n\n return fullPaletteData\n }\n}\n"],"names":["Data","base","themes","meta","__publicField","themeId","colorId","shadeName","themeMatch","theme","colorMatch","color","shadeMatch","shade","styleId","previousData","paletteDataThemeItem","scaledColors","lightness","foregroundColorData","Color","backgroundColorData","chroma","colorData","paletteDataColorItem","sourceColor","sourceHsluv","Hsluv","distances","minDistanceIndex","scaledColor","index","distance","scaleName","key","newHsluv","simulatedSourceColorRgb","simulatedSourceColorHex","_a"],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sources":["../../../src/modules/data/data.ts"],"sourcesContent":["import chroma from 'chroma-js'\nimport { Hsluv } from 'hsluv'\nimport {\n MetaConfiguration,\n BaseConfiguration,\n ScaleConfiguration,\n ThemeConfiguration,\n FullConfiguration,\n} from '@tps/configuration.types'\nimport {\n PaletteData,\n PaletteDataColorItem,\n PaletteDataThemeItem,\n} from '@tps/data.types'\nimport Color from '@modules/color/color'\nimport { Channel, HexModel } from '@tps/color.types'\n\nexport default class Data {\n private base: BaseConfiguration\n private themes: Array<ThemeConfiguration>\n private meta: MetaConfiguration\n private paletteData: PaletteData\n private currentScale: ScaleConfiguration\n\n constructor({\n base,\n themes,\n meta,\n }: {\n base: BaseConfiguration\n themes: Array<ThemeConfiguration>\n meta: MetaConfiguration\n }) {\n this.base = base\n this.themes = themes\n this.meta = meta\n this.paletteData = {\n name: base.name ?? 'UI Color Palette',\n description: base.description,\n themes: [],\n version: '2025.06',\n type: 'palette',\n }\n this.currentScale =\n themes.find((theme) => theme.isEnabled)?.scale ??\n ({} as ScaleConfiguration)\n }\n\n searchForShadeStyleId = (\n themes: Array<PaletteDataThemeItem>,\n themeId: string,\n colorId: string,\n shadeName: string\n ) => {\n const themeMatch = themes.find((theme) => theme.id === themeId),\n colorMatch =\n themeMatch === undefined\n ? undefined\n : themeMatch.colors.find((color) => color.id === colorId),\n shadeMatch =\n colorMatch === undefined\n ? undefined\n : colorMatch.shades.find((shade) => shade.name === shadeName),\n styleId = shadeMatch === undefined ? '' : shadeMatch.styleId\n\n return styleId === undefined ? '' : styleId\n }\n\n makePaletteData = (previousData?: PaletteData) => {\n this.themes.forEach((theme) => {\n const paletteDataThemeItem: PaletteDataThemeItem = {\n id: theme.id,\n name: theme.name,\n description: theme.description,\n colors: [],\n type: theme.type,\n }\n this.base.colors.forEach((color) => {\n const scaledColors = Object.entries(theme.scale)\n .reverse()\n .map((lightness) => {\n if (color.alpha.isEnabled) {\n const foregroundColorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n alpha: parseFloat((lightness[1] / 100).toFixed(2)),\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n const backgroundColorData = new Color({\n render: 'RGB',\n sourceColor: chroma(color.alpha.backgroundColor).rgb(),\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.lcha(),\n backgroundColorData.lcha(),\n ]\n case 'OKLCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklcha(),\n backgroundColorData.oklcha(),\n ]\n case 'LAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.laba(),\n backgroundColorData.laba(),\n ]\n case 'OKLAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklaba(),\n backgroundColorData.oklaba(),\n ]\n case 'HSL':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsla(),\n backgroundColorData.hsla(),\n ]\n case 'HSLUV':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsluva(),\n backgroundColorData.hsluva(),\n ]\n default:\n return [lightness, [0, 0, 0], [255, 255, 255]]\n }\n } else {\n const colorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n lightness: lightness[1],\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return [lightness, colorData.lch()]\n case 'OKLCH':\n return [lightness, colorData.oklch()]\n case 'LAB':\n return [lightness, colorData.lab()]\n case 'OKLAB':\n return [lightness, colorData.oklab()]\n case 'HSL':\n return [lightness, colorData.hsl()]\n case 'HSLUV':\n return [lightness, colorData.hsluv()]\n default:\n return [lightness, [0, 0, 0]]\n }\n }\n })\n\n const paletteDataColorItem: PaletteDataColorItem = {\n id: color.id,\n name: color.name,\n description: color.description,\n shades: [],\n type: 'color',\n },\n sourceColor: Channel = [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ]\n\n const sourceHsluv = new Hsluv()\n sourceHsluv.rgb_r = color.rgb.r\n sourceHsluv.rgb_g = color.rgb.g\n sourceHsluv.rgb_b = color.rgb.b\n sourceHsluv.rgbToHsluv()\n\n paletteDataColorItem.shades.push({\n name: 'source',\n description: 'Source color',\n hex: chroma(sourceColor).hex(),\n rgb: sourceColor,\n gl: chroma(sourceColor).gl(),\n lch: chroma(sourceColor).lch(),\n oklch: chroma(sourceColor).oklch(),\n lab: chroma(sourceColor).lab(),\n oklab: chroma(sourceColor).oklab(),\n hsl: chroma(sourceColor).hsl(),\n hsluv: [\n sourceHsluv.hsluv_h,\n sourceHsluv.hsluv_s,\n sourceHsluv.hsluv_l,\n ],\n styleId: this.searchForShadeStyleId(\n previousData?.themes ?? this.paletteData.themes,\n theme.id,\n color.id,\n 'source'\n ),\n type: 'source color',\n })\n\n const distances = scaledColors.map((shade) =>\n chroma.distance(\n chroma(sourceColor).hex(),\n chroma(shade[1] as Channel).hex(),\n 'rgb'\n )\n )\n const minDistanceIndex = distances.indexOf(Math.min(...distances))\n\n scaledColors.forEach((scaledColor, index) => {\n const distance: number = chroma.distance(\n chroma(sourceColor).hex(),\n chroma(scaledColor[1] as Channel).hex(),\n 'rgb'\n )\n const scaleName: string =\n Object.keys(this.currentScale).find(\n (key) => key === scaledColor[0][0]\n ) ?? '0'\n const newHsluv = new Hsluv()\n const simulatedSourceColorRgb = new Color({\n render: 'RGB',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as Channel\n const simulatedSourceColorHex = new Color({\n render: 'HEX',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as HexModel\n\n if (\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ) {\n newHsluv.rgb_r = Number(simulatedSourceColorRgb[0]) / 255\n newHsluv.rgb_g = Number(simulatedSourceColorRgb[1]) / 255\n newHsluv.rgb_b = Number(simulatedSourceColorRgb[2]) / 255\n } else {\n newHsluv.rgb_r = Number(scaledColor[1][0]) / 255\n newHsluv.rgb_g = Number(scaledColor[1][1]) / 255\n newHsluv.rgb_b = Number(scaledColor[1][2]) / 255\n }\n newHsluv.rgbToHsluv()\n\n paletteDataColorItem.shades.push({\n name: scaleName,\n description: `Shade color with ${typeof scaledColor[0][1] === 'number' ? scaledColor[0][1].toFixed(1) : scaledColor[0][1]}% of ${\n color.alpha.isEnabled ? 'opacity' : 'lightness'\n }`,\n hex:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hex()\n : chroma(scaledColor[1] as Channel).hex(),\n rgb:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).rgb()\n : chroma(scaledColor[1] as Channel).rgb(),\n gl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).gl()\n : chroma(scaledColor[1] as Channel).gl(),\n lch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lch()\n : chroma(scaledColor[1] as Channel).lch(),\n oklch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklch()\n : chroma(scaledColor[1] as Channel).oklch(),\n lab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lab()\n : chroma(scaledColor[1] as Channel).lab(),\n oklab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklab()\n : chroma(scaledColor[1] as Channel).oklab(),\n hsl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hsl()\n : chroma(scaledColor[1] as Channel).hsl(),\n hsluv: [newHsluv.hsluv_h, newHsluv.hsluv_s, newHsluv.hsluv_l],\n alpha: color.alpha.isEnabled\n ? parseFloat(((scaledColor[0][1] as number) / 100).toFixed(2))\n : undefined,\n backgroundColor:\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? chroma(scaledColor[2] as Channel).rgb()\n : undefined,\n mixedColor:\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? new Color({\n visionSimulationMode: theme.visionSimulationMode,\n }).mixColorsRgb(\n [\n ...(scaledColor[1] as Channel),\n parseFloat(\n ((scaledColor[0][1] as number) / 100).toFixed(2)\n ),\n ],\n [...(scaledColor[2] as Channel), 1]\n )\n : undefined,\n styleId: this.searchForShadeStyleId(\n previousData?.themes ?? this.paletteData.themes,\n theme.id,\n color.id,\n scaleName\n ),\n isClosestToRef: distance < 4 && !this.base.areSourceColorsLocked,\n isSourceColorLocked:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled,\n isTransparent: color.alpha.isEnabled,\n type: 'color shade',\n })\n })\n\n paletteDataThemeItem.colors.push(paletteDataColorItem)\n })\n this.paletteData.themes.push(paletteDataThemeItem)\n })\n\n return this.paletteData\n }\n\n makePaletteFullData = () => {\n const fullPaletteData = {\n base: this.base,\n themes: this.themes,\n meta: this.meta,\n data: this.makePaletteData(),\n type: 'UI_COLOR_PALETTE',\n version: '2025.06',\n } as FullConfiguration\n\n return fullPaletteData\n }\n}\n"],"names":["Data","base","themes","meta","__publicField","themeId","colorId","shadeName","themeMatch","theme","colorMatch","color","shadeMatch","shade","styleId","previousData","paletteDataThemeItem","scaledColors","lightness","foregroundColorData","Color","backgroundColorData","chroma","colorData","paletteDataColorItem","sourceColor","sourceHsluv","Hsluv","distances","minDistanceIndex","scaledColor","index","distance","scaleName","key","newHsluv","simulatedSourceColorRgb","simulatedSourceColorHex","_a"],"mappings":";;;;;AAiBA,MAAqBA,EAAK;AAAA,EAOxB,YAAY;AAAA,IACV,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,EAAA,GAKC;AAdK,IAAAC,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AA0BR,IAAAA,EAAA,+BAAwB,CACtBF,GACAG,GACAC,GACAC,MACG;AACH,YAAMC,IAAaN,EAAO,KAAK,CAACO,MAAUA,EAAM,OAAOJ,CAAO,GAC5DK,IACEF,MAAe,SACX,SACAA,EAAW,OAAO,KAAK,CAACG,MAAUA,EAAM,OAAOL,CAAO,GAC5DM,IACEF,MAAe,SACX,SACAA,EAAW,OAAO,KAAK,CAACG,MAAUA,EAAM,SAASN,CAAS,GAChEO,IAAUF,MAAe,SAAY,KAAKA,EAAW;AAEhD,aAAAE,MAAY,SAAY,KAAKA;AAAA,IACtC;AAEA,IAAAV,EAAA,yBAAkB,CAACW,OACZ,KAAA,OAAO,QAAQ,CAACN,MAAU;AAC7B,YAAMO,IAA6C;AAAA,QACjD,IAAIP,EAAM;AAAA,QACV,MAAMA,EAAM;AAAA,QACZ,aAAaA,EAAM;AAAA,QACnB,QAAQ,CAAC;AAAA,QACT,MAAMA,EAAM;AAAA,MACd;AACA,WAAK,KAAK,OAAO,QAAQ,CAACE,MAAU;AAC5B,cAAAM,IAAe,OAAO,QAAQR,EAAM,KAAK,EAC5C,QAAQ,EACR,IAAI,CAACS,MAAc;AACd,cAAAP,EAAM,MAAM,WAAW;AACnB,kBAAAQ,IAAsB,IAAIC,EAAM;AAAA,cACpC,QAAQ;AAAA,cACR,aAAa;AAAA,gBACXT,EAAM,IAAI,IAAI;AAAA,gBACdA,EAAM,IAAI,IAAI;AAAA,gBACdA,EAAM,IAAI,IAAI;AAAA,cAChB;AAAA,cACA,OAAO,YAAYO,EAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AAAA,cACjD,aACEP,EAAM,IAAI,UAAU,SAAYA,EAAM,IAAI,QAAQ;AAAA,cACpD,gBACEA,EAAM,OAAO,UAAU,SAAYA,EAAM,OAAO,QAAQ;AAAA,cAC1D,kBAAkB,KAAK,KAAK;AAAA,cAC5B,sBAAsBF,EAAM;AAAA,YAAA,CAC7B,GACKY,IAAsB,IAAID,EAAM;AAAA,cACpC,QAAQ;AAAA,cACR,aAAaE,EAAOX,EAAM,MAAM,eAAe,EAAE,IAAI;AAAA,cACrD,kBAAkB,KAAK,KAAK;AAAA,cAC5B,sBAAsBF,EAAM;AAAA,YAAA,CAC7B;AAEO,oBAAA,KAAK,KAAK,YAAY;AAAA,cAC5B,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACES;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,KAAK;AAAA,kBACzBE,EAAoB,KAAK;AAAA,gBAC3B;AAAA,cACN,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACEH;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,OAAO;AAAA,kBAC3BE,EAAoB,OAAO;AAAA,gBAC7B;AAAA,cACN,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACEH;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,KAAK;AAAA,kBACzBE,EAAoB,KAAK;AAAA,gBAC3B;AAAA,cACN,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACEH;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,OAAO;AAAA,kBAC3BE,EAAoB,OAAO;AAAA,gBAC7B;AAAA,cACN,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACEH;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,KAAK;AAAA,kBACzBE,EAAoB,KAAK;AAAA,gBAC3B;AAAA,cACN,KAAK;AACI,uBAAA,KAAK,KAAK,wBACb;AAAA,kBACEH;AAAA,kBACAC,EAAoB,kBAAkB;AAAA,kBACtCE,EAAoB,kBAAkB;AAAA,gBAAA,IAExC;AAAA,kBACEH;AAAA,kBACAC,EAAoB,OAAO;AAAA,kBAC3BE,EAAoB,OAAO;AAAA,gBAC7B;AAAA,cACN;AACS,uBAAA,CAACH,GAAW,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,YAAA;AAAA,UACjD,OACK;AACC,kBAAAK,IAAY,IAAIH,EAAM;AAAA,cAC1B,QAAQ;AAAA,cACR,aAAa;AAAA,gBACXT,EAAM,IAAI,IAAI;AAAA,gBACdA,EAAM,IAAI,IAAI;AAAA,gBACdA,EAAM,IAAI,IAAI;AAAA,cAChB;AAAA,cACA,WAAWO,EAAU,CAAC;AAAA,cACtB,aACEP,EAAM,IAAI,UAAU,SAAYA,EAAM,IAAI,QAAQ;AAAA,cACpD,gBACEA,EAAM,OAAO,UAAU,SAAYA,EAAM,OAAO,QAAQ;AAAA,cAC1D,kBAAkB,KAAK,KAAK;AAAA,cAC5B,sBAAsBF,EAAM;AAAA,YAAA,CAC7B;AAEO,oBAAA,KAAK,KAAK,YAAY;AAAA,cAC5B,KAAK;AACH,uBAAO,CAACS,GAAWK,EAAU,KAAK;AAAA,cACpC,KAAK;AACH,uBAAO,CAACL,GAAWK,EAAU,OAAO;AAAA,cACtC,KAAK;AACH,uBAAO,CAACL,GAAWK,EAAU,KAAK;AAAA,cACpC,KAAK;AACH,uBAAO,CAACL,GAAWK,EAAU,OAAO;AAAA,cACtC,KAAK;AACH,uBAAO,CAACL,GAAWK,EAAU,KAAK;AAAA,cACpC,KAAK;AACH,uBAAO,CAACL,GAAWK,EAAU,OAAO;AAAA,cACtC;AACE,uBAAO,CAACL,GAAW,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,YAAA;AAAA,UAChC;AAAA,QACF,CACD,GAEGM,IAA6C;AAAA,UAC/C,IAAIb,EAAM;AAAA,UACV,MAAMA,EAAM;AAAA,UACZ,aAAaA,EAAM;AAAA,UACnB,QAAQ,CAAC;AAAA,UACT,MAAM;AAAA,WAERc,IAAuB;AAAA,UACrBd,EAAM,IAAI,IAAI;AAAA,UACdA,EAAM,IAAI,IAAI;AAAA,UACdA,EAAM,IAAI,IAAI;AAAA,QAChB,GAEIe,IAAc,IAAIC,EAAM;AAClB,QAAAD,EAAA,QAAQf,EAAM,IAAI,GAClBe,EAAA,QAAQf,EAAM,IAAI,GAClBe,EAAA,QAAQf,EAAM,IAAI,GAC9Be,EAAY,WAAW,GAEvBF,EAAqB,OAAO,KAAK;AAAA,UAC/B,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAKF,EAAOG,CAAW,EAAE,IAAI;AAAA,UAC7B,KAAKA;AAAA,UACL,IAAIH,EAAOG,CAAW,EAAE,GAAG;AAAA,UAC3B,KAAKH,EAAOG,CAAW,EAAE,IAAI;AAAA,UAC7B,OAAOH,EAAOG,CAAW,EAAE,MAAM;AAAA,UACjC,KAAKH,EAAOG,CAAW,EAAE,IAAI;AAAA,UAC7B,OAAOH,EAAOG,CAAW,EAAE,MAAM;AAAA,UACjC,KAAKH,EAAOG,CAAW,EAAE,IAAI;AAAA,UAC7B,OAAO;AAAA,YACLC,EAAY;AAAA,YACZA,EAAY;AAAA,YACZA,EAAY;AAAA,UACd;AAAA,UACA,SAAS,KAAK;AAAA,aACZX,KAAA,gBAAAA,EAAc,WAAU,KAAK,YAAY;AAAA,YACzCN,EAAM;AAAA,YACNE,EAAM;AAAA,YACN;AAAA,UACF;AAAA,UACA,MAAM;AAAA,QAAA,CACP;AAED,cAAMiB,IAAYX,EAAa;AAAA,UAAI,CAACJ,MAClCS,EAAO;AAAA,YACLA,EAAOG,CAAW,EAAE,IAAI;AAAA,YACxBH,EAAOT,EAAM,CAAC,CAAY,EAAE,IAAI;AAAA,YAChC;AAAA,UAAA;AAAA,QAEJ,GACMgB,IAAmBD,EAAU,QAAQ,KAAK,IAAI,GAAGA,CAAS,CAAC;AAEpD,QAAAX,EAAA,QAAQ,CAACa,GAAaC,MAAU;AAC3C,gBAAMC,IAAmBV,EAAO;AAAA,YAC9BA,EAAOG,CAAW,EAAE,IAAI;AAAA,YACxBH,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YACtC;AAAA,UACF,GACMG,IACJ,OAAO,KAAK,KAAK,YAAY,EAAE;AAAA,YAC7B,CAACC,MAAQA,MAAQJ,EAAY,CAAC,EAAE,CAAC;AAAA,UAAA,KAC9B,KACDK,IAAW,IAAIR,EAAM,GACrBS,IAA0B,IAAIhB,EAAM;AAAA,YACxC,QAAQ;AAAA,YACR,aAAaE,EAAOG,CAAW,EAAE,IAAI;AAAA,YACrC,sBAAsBhB,EAAM;AAAA,UAC7B,CAAA,EAAE,SAAS,GACN4B,IAA0B,IAAIjB,EAAM;AAAA,YACxC,QAAQ;AAAA,YACR,aAAaE,EAAOG,CAAW,EAAE,IAAI;AAAA,YACrC,sBAAsBhB,EAAM;AAAA,UAC7B,CAAA,EAAE,SAAS;AAGV,UAAAsB,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,aAEbwB,EAAS,QAAQ,OAAOC,EAAwB,CAAC,CAAC,IAAI,KACtDD,EAAS,QAAQ,OAAOC,EAAwB,CAAC,CAAC,IAAI,KACtDD,EAAS,QAAQ,OAAOC,EAAwB,CAAC,CAAC,IAAI,QAEtDD,EAAS,QAAQ,OAAOL,EAAY,CAAC,EAAE,CAAC,CAAC,IAAI,KAC7CK,EAAS,QAAQ,OAAOL,EAAY,CAAC,EAAE,CAAC,CAAC,IAAI,KAC7CK,EAAS,QAAQ,OAAOL,EAAY,CAAC,EAAE,CAAC,CAAC,IAAI,MAE/CK,EAAS,WAAW,GAEpBX,EAAqB,OAAO,KAAK;AAAA,YAC/B,MAAMS;AAAA,YACN,aAAa,oBAAoB,OAAOH,EAAY,CAAC,EAAE,CAAC,KAAM,WAAWA,EAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAIA,EAAY,CAAC,EAAE,CAAC,CAAC,QACvHnB,EAAM,MAAM,YAAY,YAAY,WACtC;AAAA,YACA,KACEoB,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,QAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YAC5C,KACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,QAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YAC5C,IACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,OAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,GAAG;AAAA,YAC3C,KACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,QAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YAC5C,OACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,UAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,MAAM;AAAA,YAC9C,KACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,QAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YAC5C,OACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,UAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,MAAM;AAAA,YAC9C,KACEC,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM,YACTW,EAAOe,CAAuB,EAAE,QAChCf,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAAI;AAAA,YAC5C,OAAO,CAACK,EAAS,SAASA,EAAS,SAASA,EAAS,OAAO;AAAA,YAC5D,OAAOxB,EAAM,MAAM,YACf,YAAamB,EAAY,CAAC,EAAE,CAAC,IAAe,KAAK,QAAQ,CAAC,CAAC,IAC3D;AAAA,YACJ,iBACEnB,EAAM,MAAM,aAAaA,EAAM,MAAM,kBACjCW,EAAOQ,EAAY,CAAC,CAAY,EAAE,IAClC,IAAA;AAAA,YACN,YACEnB,EAAM,MAAM,aAAaA,EAAM,MAAM,kBACjC,IAAIS,EAAM;AAAA,cACR,sBAAsBX,EAAM;AAAA,YAC7B,CAAA,EAAE;AAAA,cACD;AAAA,gBACE,GAAIqB,EAAY,CAAC;AAAA,gBACjB;AAAA,mBACIA,EAAY,CAAC,EAAE,CAAC,IAAe,KAAK,QAAQ,CAAC;AAAA,gBAAA;AAAA,cAEnD;AAAA,cACA,CAAC,GAAIA,EAAY,CAAC,GAAe,CAAC;AAAA,YAAA,IAEpC;AAAA,YACN,SAAS,KAAK;AAAA,eACZf,KAAA,gBAAAA,EAAc,WAAU,KAAK,YAAY;AAAA,cACzCN,EAAM;AAAA,cACNE,EAAM;AAAA,cACNsB;AAAA,YACF;AAAA,YACA,gBAAgBD,IAAW,KAAK,CAAC,KAAK,KAAK;AAAA,YAC3C,qBACED,MAAUF,KACV,KAAK,KAAK,yBACV,CAAClB,EAAM,MAAM;AAAA,YACf,eAAeA,EAAM,MAAM;AAAA,YAC3B,MAAM;AAAA,UAAA,CACP;AAAA,QAAA,CACF,GAEoBK,EAAA,OAAO,KAAKQ,CAAoB;AAAA,MAAA,CACtD,GACI,KAAA,YAAY,OAAO,KAAKR,CAAoB;AAAA,IAAA,CAClD,GAEM,KAAK;AAGd,IAAAZ,EAAA,6BAAsB,OACI;AAAA,MACtB,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX,MAAM,KAAK,gBAAgB;AAAA,MAC3B,MAAM;AAAA,MACN,SAAS;AAAA,IACX;;AA5XA,SAAK,OAAOH,GACZ,KAAK,SAASC,GACd,KAAK,OAAOC,GACZ,KAAK,cAAc;AAAA,MACjB,MAAMF,EAAK,QAAQ;AAAA,MACnB,aAAaA,EAAK;AAAA,MAClB,QAAQ,CAAC;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IACR,GACK,KAAA,iBACHqC,IAAApC,EAAO,KAAK,CAACO,MAAUA,EAAM,SAAS,MAAtC,gBAAA6B,EAAyC,UACxC,CAAC;AAAA,EAAA;AAoXR;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@a_ng_d/utils-ui-color-palette",
3
3
  "private": false,
4
- "version": "1.0.7",
4
+ "version": "1.0.9",
5
5
  "description": "Core utilities library for UI Color Palette - a color management plugin for design tools. This library provides the foundational color manipulation, contrast calculation, and palette generation features used in the plugin.",
6
6
  "repository": {
7
7
  "type": "git",