@a_ng_d/utils-ui-color-palette 1.0.16 → 1.0.17

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.
@@ -4,13 +4,13 @@ import { MetaConfiguration, BaseConfiguration, ThemeConfiguration, FullConfigura
4
4
  export default class Data {
5
5
  private base;
6
6
  private themes;
7
- private meta;
7
+ private meta?;
8
8
  private paletteData;
9
9
  private currentScale;
10
10
  constructor({ base, themes, meta, }: {
11
11
  base: BaseConfiguration;
12
12
  themes: Array<ThemeConfiguration>;
13
- meta: MetaConfiguration;
13
+ meta?: MetaConfiguration;
14
14
  });
15
15
  searchForShadeStyleId: (themes: Array<PaletteDataThemeItem>, themeId: string, colorId: string, shadeName: string) => string;
16
16
  makePaletteData: (previousData?: PaletteData) => PaletteData;
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/modules/data/data.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAIjC,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAoB;gBAE5B,EACV,IAAI,EACJ,MAAM,EACN,IAAI,GACL,EAAE;QACD,IAAI,EAAE,iBAAiB,CAAA;QACvB,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACjC,IAAI,EAAE,iBAAiB,CAAA;KACxB;IAeD,qBAAqB,WACX,KAAK,CAAC,oBAAoB,CAAC,WAC1B,MAAM,WACN,MAAM,aACJ,MAAM,YAclB;IAED,eAAe,kBAAmB,WAAW,iBA+U5C;IAED,mBAAmB,0BAUlB;CACF"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/modules/data/data.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAIjC,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAC,CAAmB;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAoB;gBAE5B,EACV,IAAI,EACJ,MAAM,EACN,IAAI,GACL,EAAE;QACD,IAAI,EAAE,iBAAiB,CAAA;QACvB,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACjC,IAAI,CAAC,EAAE,iBAAiB,CAAA;KACzB;IAeD,qBAAqB,WACX,KAAK,CAAC,oBAAoB,CAAC,WAC1B,MAAM,WACN,MAAM,aACJ,MAAM,YAclB;IAED,eAAe,kBAAmB,WAAW,iBA+U5C;IAED,mBAAmB,0BAUlB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../../../src/modules/data/data.ts"],"sourcesContent":["import { Hsluv } from 'hsluv'\nimport chroma from 'chroma-js'\nimport {\n PaletteData,\n PaletteDataColorItem,\n PaletteDataThemeItem,\n} from '@tps/data.types'\nimport {\n MetaConfiguration,\n BaseConfiguration,\n ScaleConfiguration,\n ThemeConfiguration,\n FullConfiguration,\n} from '@tps/configuration.types'\nimport { Channel, HexModel } from '@tps/color.types'\nimport Color from '@modules/color/color'\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 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 } 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 { Hsluv } from 'hsluv'\nimport chroma from 'chroma-js'\nimport {\n PaletteData,\n PaletteDataColorItem,\n PaletteDataThemeItem,\n} from '@tps/data.types'\nimport {\n MetaConfiguration,\n BaseConfiguration,\n ScaleConfiguration,\n ThemeConfiguration,\n FullConfiguration,\n} from '@tps/configuration.types'\nimport { Channel, HexModel } from '@tps/color.types'\nimport Color from '@modules/color/color'\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 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 } 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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"}
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.16",
4
+ "version": "1.0.17",
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",