Skip to content

Commit

Permalink
Merge pull request #120 from jeronimoek/extract-named-logic
Browse files Browse the repository at this point in the history
feat: update color-translate dependency and remove unnecessary code
  • Loading branch information
jeronimoek authored Jul 28, 2024
2 parents e6fe46e + 4c768ed commit 3689837
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 344 deletions.
16 changes: 8 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
"typescript": "5.5.3"
},
"dependencies": {
"color-translate": "1.1.1"
"color-translate": "1.2.0"
},
"contributes": {
"commands": [
Expand Down
26 changes: 1 addition & 25 deletions src/colorTranslatorExtended.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { NamedColors, namedColorsLAB } from "./shared/constants";
import ColorTranslator from "color-translate";
import { getSetting } from "./utils/helpers";

Expand Down Expand Up @@ -27,29 +26,6 @@ export class ColorTranslatorExtended extends ColorTranslator {
constructor(...input: ConstructorParameters<typeof ColorTranslator>) {
const maxDigits = getSetting<number>("maxDigits");
const [colorInput, options] = input;
if (
typeof colorInput === "string" &&
NamedColors[colorInput as keyof typeof NamedColors]
) {
super(NamedColors[colorInput as keyof typeof NamedColors], options);
} else {
super(colorInput, { ...options, maxDigits });
}
}

get named(): string {
let minDelta = Number.POSITIVE_INFINITY;
let closestNamedColor = Object.keys(namedColorsLAB)[0];

Object.entries(namedColorsLAB).forEach(([namedColor, namedColorLAB]) => {
const { l, a, b } = this.lab;
const delta = deltaE([l, a, b], namedColorLAB);
if (delta < minDelta) {
minDelta = delta;
closestNamedColor = namedColor;
}
});

return closestNamedColor;
super(colorInput, { ...options, maxDigits });
}
}
306 changes: 0 additions & 306 deletions src/shared/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,310 +76,4 @@ export const colorsRGBAValues = {
},
} satisfies Record<TestedColors, Color>;

export const NamedColors = {
aliceblue: "#F0F8FF",
antiquewhite: "#FAEBD7",
aqua: "#00FFFF",
aquamarine: "#7FFFD4",
azure: "#F0FFFF",
beige: "#F5F5DC",
bisque: "#FFE4C4",
black: "#000000",
blanchedalmond: "#FFEBCD",
blue: "#0000FF",
blueviolet: "#8A2BE2",
brown: "#A52A2A",
burlywood: "#DEB887",
cadetblue: "#5F9EA0",
chartreuse: "#7FFF00",
chocolate: "#D2691E",
coral: "#FF7F50",
cornflowerblue: "#6495ED",
cornsilk: "#FFF8DC",
crimson: "#DC143C",
cyan: "#00FFFF",
darkblue: "#00008B",
darkcyan: "#008B8B",
darkgoldenrod: "#B8860B",
darkgray: "#A9A9A9",
darkgreen: "#006400",
darkgrey: "#A9A9A9",
darkkhaki: "#BDB76B",
darkmagenta: "#8B008B",
darkolivegreen: "#556B2F",
darkorange: "#FF8C00",
darkorchid: "#9932CC",
darkred: "#8B0000",
darksalmon: "#E9967A",
darkseagreen: "#8FBC8F",
darkslateblue: "#483D8B",
darkslategray: "#2F4F4F",
darkslategrey: "#2F4F4F",
darkturquoise: "#00CED1",
darkviolet: "#9400D3",
deeppink: "#FF1493",
deepskyblue: "#00BFFF",
dimgray: "#696969",
dimgrey: "#696969",
dodgerblue: "#1E90FF",
firebrick: "#B22222",
floralwhite: "#FFFAF0",
forestgreen: "#228B22",
fuchsia: "#FF00FF",
gainsboro: "#DCDCDC",
ghostwhite: "#F8F8FF",
gold: "#FFD700",
goldenrod: "#DAA520",
gray: "#808080",
green: "#008000",
greenyellow: "#ADFF2F",
grey: "#808080",
honeydew: "#F0FFF0",
hotpink: "#FF69B4",
indianred: "#CD5C5C",
indigo: "#4B0082",
ivory: "#FFFFF0",
khaki: "#F0E68C",
lavender: "#E6E6FA",
lavenderblush: "#FFF0F5",
lawngreen: "#7CFC00",
lemonchiffon: "#FFFACD",
lightblue: "#ADD8E6",
lightcoral: "#F08080",
lightcyan: "#E0FFFF",
lightgoldenrodyellow: "#FAFAD2",
lightgray: "#D3D3D3",
lightgreen: "#90EE90",
lightgrey: "#D3D3D3",
lightpink: "#FFB6C1",
lightsalmon: "#FFA07A",
lightseagreen: "#20B2AA",
lightskyblue: "#87CEFA",
lightslategray: "#778899",
lightslategrey: "#778899",
lightsteelblue: "#B0C4DE",
lightyellow: "#FFFFE0",
lime: "#00FF00",
limegreen: "#32CD32",
linen: "#FAF0E6",
magenta: "#FF00FF",
maroon: "#800000",
mediumaquamarine: "#66CDAA",
mediumblue: "#0000CD",
mediumorchid: "#BA55D3",
mediumpurple: "#9370DB",
mediumseagreen: "#3CB371",
mediumslateblue: "#7B68EE",
mediumspringgreen: "#00FA9A",
mediumturquoise: "#48D1CC",
mediumvioletred: "#C71585",
midnightblue: "#191970",
mintcream: "#F5FFFA",
mistyrose: "#FFE4E1",
moccasin: "#FFE4B5",
navajowhite: "#FFDEAD",
navy: "#000080",
oldlace: "#FDF5E6",
olive: "#808000",
olivedrab: "#6B8E23",
orange: "#FFA500",
orangered: "#FF4500",
orchid: "#DA70D6",
palegoldenrod: "#EEE8AA",
palegreen: "#98FB98",
paleturquoise: "#AFEEEE",
palevioletred: "#DB7093",
papayawhip: "#FFEFD5",
peachpuff: "#FFDAB9",
peru: "#CD853F",
pink: "#FFC0CB",
plum: "#DDA0DD",
powderblue: "#B0E0E6",
purple: "#800080",
rebeccapurple: "#663399",
red: "#FF0000",
rosybrown: "#BC8F8F",
royalblue: "#4169E1",
saddlebrown: "#8B4513",
salmon: "#FA8072",
sandybrown: "#F4A460",
seagreen: "#2E8B57",
seashell: "#FFF5EE",
sienna: "#A0522D",
silver: "#C0C0C0",
skyblue: "#87CEEB",
slateblue: "#6A5ACD",
slategray: "#708090",
slategrey: "#708090",
snow: "#FFFAFA",
springgreen: "#00FF7F",
steelblue: "#4682B4",
tan: "#D2B48C",
teal: "#008080",
thistle: "#D8BFD8",
tomato: "#FF6347",
turquoise: "#40E0D0",
violet: "#EE82EE",
wheat: "#F5DEB3",
white: "#FFFFFF",
whitesmoke: "#F5F5F5",
yellow: "#FFFF00",
yellowgreen: "#9ACD32",
};

export const namedColorsRegex = new RegExp(
`${Object.keys(NamedColors).join("|")}`
);

export const namedColorsLAB = {
aliceblue: [97.12, -1.77, -4.36],
antiquewhite: [93.86, 2.86, 11.64],
aqua: [90.67, -50.66, -14.99],
aquamarine: [91.86, -44.85, 9.13],
azure: [98.88, -5.07, -1.81],
beige: [96.04, -3.11, 12.07],
bisque: [92.23, 6.03, 19.22],
black: [0, 0, 0],
blanchedalmond: [94.1, 3.59, 17.19],
blue: [29.57, 68.3, -112.05],
blueviolet: [41.21, 63.02, -75.98],
brown: [38.15, 50.39, 31.83],
burlywood: [77.33, 9.29, 30.3],
cadetblue: [60.95, -20.74, -7.81],
chartreuse: [90.05, -61.49, 83.84],
chocolate: [56.63, 39.24, 57.54],
coral: [67.98, 47.39, 48.59],
cornflowerblue: [61.23, 3.05, -50.21],
cornsilk: [97.58, -0.95, 14.36],
crimson: [47.88, 71.29, 35.47],
cyan: [90.67, -50.66, -14.99],
darkblue: [13.02, 43.49, -71.35],
darkcyan: [51.92, -32.26, -9.54],
darkgoldenrod: [59.69, 13.07, 62.64],
darkgray: [69.24, 0, -0.02],
darkgreen: [36.24, -39.9, 40.75],
darkgrey: [69.24, 0, -0.02],
darkkhaki: [73.65, -5.82, 39.26],
darkmagenta: [32.5, 59.57, -38.54],
darkolivegreen: [42.36, -16.4, 30.31],
darkorange: [70.21, 39.79, 76.08],
darkorchid: [42.82, 59.95, -60.64],
darkred: [28.76, 51.46, 42.79],
darksalmon: [70.3, 29.89, 28.39],
darkseagreen: [72.11, -22.2, 17.79],
darkslateblue: [30.28, 21.42, -42.76],
darkslategray: [31.14, -12.26, -3.95],
darkslategrey: [31.14, -12.26, -3.95],
darkturquoise: [74.89, -42.43, -14.25],
darkviolet: [38.79, 70.44, -71.26],
deeppink: [56.61, 83.46, -4.14],
deepskyblue: [71.83, -24.07, -43.58],
dimgray: [44.41, 0, -0.01],
dimgrey: [44.41, 0, -0.01],
dodgerblue: [58.36, 0.89, -64.8],
firebrick: [39.83, 56.6, 39.18],
floralwhite: [98.46, 0.46, 5.41],
forestgreen: [50.64, -45.72, 44.02],
fuchsia: [60.17, 93.55, -60.52],
gainsboro: [87.76, 0, -0.02],
ghostwhite: [97.73, 0.93, -3.39],
gold: [87.47, 2.91, 86.54],
goldenrod: [71.32, 12.21, 68.67],
gray: [53.59, 0, -0.02],
green: [46.28, -47.56, 48.58],
greenyellow: [92.2, -46.42, 80.43],
grey: [53.59, 0, -0.02],
honeydew: [98.57, -7.08, 5.39],
hotpink: [65.86, 63.27, -9.66],
indianred: [53.93, 45.76, 23.14],
indigo: [19.72, 47.04, -54.29],
ivory: [99.7, -1.9, 7.17],
khaki: [90.64, -5.59, 44.98],
lavender: [91.74, 2.78, -9.75],
lavenderblush: [96.1, 5.86, -0.53],
lawngreen: [89.05, -61.34, 83.02],
lemonchiffon: [97.83, -3.52, 22.3],
lightblue: [83.61, -12.23, -11.81],
lightcoral: [66.65, 43.83, 20.5],
lightcyan: [97.77, -10.35, -3.59],
lightgoldenrodyellow: [97.51, -4.8, 19.27],
lightgray: [84.56, 0, -0.02],
lightgreen: [86.6, -43.02, 36.37],
lightgrey: [84.56, 0, -0.02],
lightpink: [81.3, 28.37, 5.54],
lightsalmon: [75.22, 33.51, 35.32],
lightseagreen: [65.49, -38.83, -6.94],
lightskyblue: [79.29, -14.43, -29.12],
lightslategray: [55.77, -3.45, -11.31],
lightslategrey: [55.77, -3.45, -11.31],
lightsteelblue: [78.26, -2.9, -15.46],
lightyellow: [99.4, -3.79, 14.87],
lime: [87.82, -79.28, 80.98],
limegreen: [72.67, -61.88, 60.05],
linen: [95.39, 2.24, 6.09],
magenta: [60.17, 93.55, -60.52],
maroon: [26.17, 48.48, 39.44],
mediumaquamarine: [75.55, -37.76, 7.81],
mediumblue: [22.66, 57.94, -95.06],
mediumorchid: [53.37, 55.03, -47.47],
mediumpurple: [54.45, 31.71, -50.64],
mediumseagreen: [65.22, -45.98, 23.7],
mediumslateblue: [51.28, 33.85, -66.5],
mediumspringgreen: [87.24, -67.67, 31.58],
mediumturquoise: [76.56, -38.89, -8.99],
mediumvioletred: [45.17, 69.58, -14.08],
midnightblue: [14.93, 25.96, -50.92],
mintcream: [99.14, -4.06, 1.17],
mistyrose: [92.77, 9.21, 5],
moccasin: [91.98, 4.57, 26.57],
navajowhite: [90.39, 6.74, 28.52],
navy: [11.33, 40.97, -67.22],
oldlace: [96.87, 0.92, 8.23],
olive: [52.15, -9.45, 56.01],
olivedrab: [54.83, -24.56, 48.99],
orange: [75.59, 27.52, 79.11],
orangered: [58.52, 69.18, 70.88],
orchid: [62.75, 52.46, -34.12],
palegoldenrod: [91.37, -4.81, 31.02],
palegreen: [90.8, -44.85, 37.93],
paleturquoise: [89.87, -20.5, -6.79],
palevioletred: [60.91, 45.41, 1.2],
papayawhip: [95.23, 2.54, 14.65],
peachpuff: [89.6, 9.79, 21.3],
peru: [62.25, 23.95, 48.4],
pink: [83.79, 24.44, 3.74],
plum: [73.33, 30.65, -21.82],
powderblue: [85.95, -15.07, -8.33],
purple: [29.69, 56.12, -36.31],
rebeccapurple: [32.39, 38.43, -47.71],
red: [54.29, 80.82, 69.88],
rosybrown: [63.79, 17.56, 6.94],
royalblue: [46.8, 17.79, -66.68],
saddlebrown: [37.93, 28.08, 41.56],
salmon: [67.85, 46.64, 30.15],
sandybrown: [74.48, 25.73, 47.36],
seagreen: [51.49, -37.87, 19.56],
seashell: [97.18, 2.59, 4.61],
sienna: [44.28, 30.92, 36.34],
silver: [77.7, 0, -0.02],
skyblue: [78.85, -17.54, -21.81],
slateblue: [44.57, 29.66, -58.74],
slategray: [52.7, -3.28, -10.76],
slategrey: [52.7, -3.28, -10.76],
snow: [98.66, 1.72, 0.59],
springgreen: [88.44, -72.51, 45.96],
steelblue: [51.99, -8.36, -32.85],
tan: [75.23, 6.93, 24.66],
teal: [47.99, -30.39, -8.99],
thistle: [80.06, 12.41, -9.16],
tomato: [62.99, 59.37, 47.87],
turquoise: [80.96, -45.14, -4.7],
violet: [69.62, 53.3, -36.56],
wheat: [89.59, 3.48, 24.19],
white: [100, 0, -0.03],
whitesmoke: [96.54, 0, -0.02],
yellow: [97.61, -15.75, 93.38],
yellowgreen: [76.77, -33.1, 65.61],
} satisfies Record<string, [number, number, number]>;

export const formatsBuiltinPicker = ["css", "less", "sass", "scss"];
Loading

0 comments on commit 3689837

Please sign in to comment.