@terrazzo/plugin-sass 0.9.0 → 0.10.0
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.
- package/CHANGELOG.md +40 -0
- package/dist/index.js +628 -134
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -231,28 +231,28 @@ const modes$1 = {};
|
|
|
231
231
|
const parsers$1 = [];
|
|
232
232
|
const colorProfiles$1 = {};
|
|
233
233
|
const identity$1 = (v) => v;
|
|
234
|
-
const useMode$1 = (definition$
|
|
235
|
-
converters$1$1[definition$
|
|
236
|
-
...converters$1$1[definition$
|
|
237
|
-
...definition$
|
|
238
|
-
};
|
|
239
|
-
Object.keys(definition$
|
|
240
|
-
if (!converters$1$1[k$
|
|
241
|
-
converters$1$1[k$
|
|
234
|
+
const useMode$1 = (definition$16$1) => {
|
|
235
|
+
converters$1$1[definition$16$1.mode] = {
|
|
236
|
+
...converters$1$1[definition$16$1.mode],
|
|
237
|
+
...definition$16$1.toMode
|
|
238
|
+
};
|
|
239
|
+
Object.keys(definition$16$1.fromMode || {}).forEach((k$3$1) => {
|
|
240
|
+
if (!converters$1$1[k$3$1]) converters$1$1[k$3$1] = {};
|
|
241
|
+
converters$1$1[k$3$1][definition$16$1.mode] = definition$16$1.fromMode[k$3$1];
|
|
242
242
|
});
|
|
243
|
-
if (!definition$
|
|
244
|
-
if (!definition$
|
|
245
|
-
definition$
|
|
246
|
-
if (definition$
|
|
247
|
-
if (!definition$
|
|
248
|
-
if (typeof definition$
|
|
249
|
-
if (!definition$
|
|
243
|
+
if (!definition$16$1.ranges) definition$16$1.ranges = {};
|
|
244
|
+
if (!definition$16$1.difference) definition$16$1.difference = {};
|
|
245
|
+
definition$16$1.channels.forEach((channel) => {
|
|
246
|
+
if (definition$16$1.ranges[channel] === void 0) definition$16$1.ranges[channel] = [0, 1];
|
|
247
|
+
if (!definition$16$1.interpolate[channel]) throw new Error(`Missing interpolator for: ${channel}`);
|
|
248
|
+
if (typeof definition$16$1.interpolate[channel] === "function") definition$16$1.interpolate[channel] = { use: definition$16$1.interpolate[channel] };
|
|
249
|
+
if (!definition$16$1.interpolate[channel].fixup) definition$16$1.interpolate[channel].fixup = identity$1;
|
|
250
250
|
});
|
|
251
|
-
modes$1[definition$
|
|
252
|
-
(definition$
|
|
253
|
-
useParser$1(parser, definition$
|
|
251
|
+
modes$1[definition$16$1.mode] = definition$16$1;
|
|
252
|
+
(definition$16$1.parse || []).forEach((parser) => {
|
|
253
|
+
useParser$1(parser, definition$16$1.mode);
|
|
254
254
|
});
|
|
255
|
-
return converter_default$1(definition$
|
|
255
|
+
return converter_default$1(definition$16$1.mode);
|
|
256
256
|
};
|
|
257
257
|
const getMode$1 = (mode) => modes$1[mode];
|
|
258
258
|
const useParser$1 = (parser, mode) => {
|
|
@@ -567,7 +567,7 @@ const fixupAlpha$1 = (arr) => {
|
|
|
567
567
|
});
|
|
568
568
|
return some_defined ? res : arr;
|
|
569
569
|
};
|
|
570
|
-
const definition$
|
|
570
|
+
const definition$15$1 = {
|
|
571
571
|
mode: "rgb",
|
|
572
572
|
channels: [
|
|
573
573
|
"r",
|
|
@@ -605,7 +605,7 @@ const definition$14$1 = {
|
|
|
605
605
|
b: 0
|
|
606
606
|
}
|
|
607
607
|
};
|
|
608
|
-
var definition_default$12$1 = definition$
|
|
608
|
+
var definition_default$12$1 = definition$15$1;
|
|
609
609
|
const linearize$2$1 = (v = 0) => Math.pow(Math.abs(v), 563 / 256) * Math.sign(v);
|
|
610
610
|
const convertA98ToXyz65$1 = (a98) => {
|
|
611
611
|
let r$1 = linearize$2$1(a98.r);
|
|
@@ -636,7 +636,7 @@ const convertXyz65ToA98$1 = ({ x, y, z, alpha }) => {
|
|
|
636
636
|
return res;
|
|
637
637
|
};
|
|
638
638
|
var convertXyz65ToA98_default$1 = convertXyz65ToA98$1;
|
|
639
|
-
const fn$
|
|
639
|
+
const fn$3$1 = (c$1$1 = 0) => {
|
|
640
640
|
const abs = Math.abs(c$1$1);
|
|
641
641
|
if (abs <= .04045) return c$1$1 / 12.92;
|
|
642
642
|
return (Math.sign(c$1$1) || 1) * Math.pow((abs + .055) / 1.055, 2.4);
|
|
@@ -644,9 +644,9 @@ const fn$2$1 = (c$1$1 = 0) => {
|
|
|
644
644
|
const convertRgbToLrgb$1 = ({ r: r$1, g, b, alpha }) => {
|
|
645
645
|
let res = {
|
|
646
646
|
mode: "lrgb",
|
|
647
|
-
r: fn$
|
|
648
|
-
g: fn$
|
|
649
|
-
b: fn$
|
|
647
|
+
r: fn$3$1(r$1),
|
|
648
|
+
g: fn$3$1(g),
|
|
649
|
+
b: fn$3$1(b)
|
|
650
650
|
};
|
|
651
651
|
if (alpha !== void 0) res.alpha = alpha;
|
|
652
652
|
return res;
|
|
@@ -664,7 +664,7 @@ const convertRgbToXyz65$1 = (rgb$2) => {
|
|
|
664
664
|
return res;
|
|
665
665
|
};
|
|
666
666
|
var convertRgbToXyz65_default$1 = convertRgbToXyz65$1;
|
|
667
|
-
const fn$
|
|
667
|
+
const fn$2$1 = (c$1$1 = 0) => {
|
|
668
668
|
const abs = Math.abs(c$1$1);
|
|
669
669
|
if (abs > .0031308) return (Math.sign(c$1$1) || 1) * (1.055 * Math.pow(abs, 1 / 2.4) - .055);
|
|
670
670
|
return c$1$1 * 12.92;
|
|
@@ -672,9 +672,9 @@ const fn$1$1 = (c$1$1 = 0) => {
|
|
|
672
672
|
const convertLrgbToRgb$1 = ({ r: r$1, g, b, alpha }, mode = "rgb") => {
|
|
673
673
|
let res = {
|
|
674
674
|
mode,
|
|
675
|
-
r: fn$
|
|
676
|
-
g: fn$
|
|
677
|
-
b: fn$
|
|
675
|
+
r: fn$2$1(r$1),
|
|
676
|
+
g: fn$2$1(g),
|
|
677
|
+
b: fn$2$1(b)
|
|
678
678
|
};
|
|
679
679
|
if (alpha !== void 0) res.alpha = alpha;
|
|
680
680
|
return res;
|
|
@@ -693,7 +693,7 @@ const convertXyz65ToRgb$1 = ({ x, y, z, alpha }) => {
|
|
|
693
693
|
return res;
|
|
694
694
|
};
|
|
695
695
|
var convertXyz65ToRgb_default$1 = convertXyz65ToRgb$1;
|
|
696
|
-
const definition$
|
|
696
|
+
const definition$14$1 = {
|
|
697
697
|
...definition_default$12$1,
|
|
698
698
|
mode: "a98",
|
|
699
699
|
parse: ["a98-rgb"],
|
|
@@ -707,7 +707,7 @@ const definition$13$1 = {
|
|
|
707
707
|
xyz65: convertA98ToXyz65_default$1
|
|
708
708
|
}
|
|
709
709
|
};
|
|
710
|
-
var definition_default$
|
|
710
|
+
var definition_default$16 = definition$14$1;
|
|
711
711
|
const normalizeHue$1 = (hue$2$1) => (hue$2$1 = hue$2$1 % 360) < 0 ? hue$2$1 + 360 : hue$2$1;
|
|
712
712
|
var normalizeHue_default$1 = normalizeHue$1;
|
|
713
713
|
function convertHslToRgb$1({ h, s, l, alpha }) {
|
|
@@ -827,12 +827,12 @@ function parseHsl$1(color, parsed) {
|
|
|
827
827
|
return res;
|
|
828
828
|
}
|
|
829
829
|
var parseHsl_default$1 = parseHsl$1;
|
|
830
|
-
const hue$2 = (hues, fn$
|
|
830
|
+
const hue$2 = (hues, fn$4$1) => {
|
|
831
831
|
return hues.map((hue$2$1, idx, arr) => {
|
|
832
832
|
if (hue$2$1 === void 0) return hue$2$1;
|
|
833
833
|
let normalized = normalizeHue_default$1(hue$2$1);
|
|
834
834
|
if (idx === 0 || hues[idx - 1] === void 0) return normalized;
|
|
835
|
-
return fn$
|
|
835
|
+
return fn$4$1(normalized - normalizeHue_default$1(arr[idx - 1]));
|
|
836
836
|
}).reduce((acc, curr) => {
|
|
837
837
|
if (!acc.length || curr === void 0 || acc[acc.length - 1] === void 0) {
|
|
838
838
|
acc.push(curr);
|
|
@@ -879,7 +879,7 @@ const averageAngle$1 = (val) => {
|
|
|
879
879
|
let angle = Math.atan2(sum.sin, sum.cos) * 180 / Math.PI;
|
|
880
880
|
return angle < 0 ? 360 + angle : angle;
|
|
881
881
|
};
|
|
882
|
-
const definition$
|
|
882
|
+
const definition$13$1 = {
|
|
883
883
|
mode: "hsl",
|
|
884
884
|
toMode: { rgb: convertHslToRgb$1 },
|
|
885
885
|
fromMode: { rgb: convertRgbToHsl$1 },
|
|
@@ -908,24 +908,24 @@ const definition$12$1 = {
|
|
|
908
908
|
difference: { h: differenceHueSaturation$1 },
|
|
909
909
|
average: { h: averageAngle$1 }
|
|
910
910
|
};
|
|
911
|
-
var definition_default$1$1 = definition$
|
|
911
|
+
var definition_default$1$1 = definition$13$1;
|
|
912
912
|
function convertHsvToRgb$1({ h, s, v, alpha }) {
|
|
913
913
|
h = normalizeHue_default$1(h !== void 0 ? h : 0);
|
|
914
914
|
if (s === void 0) s = 0;
|
|
915
915
|
if (v === void 0) v = 0;
|
|
916
|
-
let f$
|
|
916
|
+
let f$2$1 = Math.abs(h / 60 % 2 - 1);
|
|
917
917
|
let res;
|
|
918
918
|
switch (Math.floor(h / 60)) {
|
|
919
919
|
case 0:
|
|
920
920
|
res = {
|
|
921
921
|
r: v,
|
|
922
|
-
g: v * (1 - s * f$
|
|
922
|
+
g: v * (1 - s * f$2$1),
|
|
923
923
|
b: v * (1 - s)
|
|
924
924
|
};
|
|
925
925
|
break;
|
|
926
926
|
case 1:
|
|
927
927
|
res = {
|
|
928
|
-
r: v * (1 - s * f$
|
|
928
|
+
r: v * (1 - s * f$2$1),
|
|
929
929
|
g: v,
|
|
930
930
|
b: v * (1 - s)
|
|
931
931
|
};
|
|
@@ -934,19 +934,19 @@ function convertHsvToRgb$1({ h, s, v, alpha }) {
|
|
|
934
934
|
res = {
|
|
935
935
|
r: v * (1 - s),
|
|
936
936
|
g: v,
|
|
937
|
-
b: v * (1 - s * f$
|
|
937
|
+
b: v * (1 - s * f$2$1)
|
|
938
938
|
};
|
|
939
939
|
break;
|
|
940
940
|
case 3:
|
|
941
941
|
res = {
|
|
942
942
|
r: v * (1 - s),
|
|
943
|
-
g: v * (1 - s * f$
|
|
943
|
+
g: v * (1 - s * f$2$1),
|
|
944
944
|
b: v
|
|
945
945
|
};
|
|
946
946
|
break;
|
|
947
947
|
case 4:
|
|
948
948
|
res = {
|
|
949
|
-
r: v * (1 - s * f$
|
|
949
|
+
r: v * (1 - s * f$2$1),
|
|
950
950
|
g: v * (1 - s),
|
|
951
951
|
b: v
|
|
952
952
|
};
|
|
@@ -955,7 +955,7 @@ function convertHsvToRgb$1({ h, s, v, alpha }) {
|
|
|
955
955
|
res = {
|
|
956
956
|
r: v,
|
|
957
957
|
g: v * (1 - s),
|
|
958
|
-
b: v * (1 - s * f$
|
|
958
|
+
b: v * (1 - s * f$2$1)
|
|
959
959
|
};
|
|
960
960
|
break;
|
|
961
961
|
default: res = {
|
|
@@ -982,7 +982,7 @@ function convertRgbToHsv$1({ r: r$1, g, b, alpha }) {
|
|
|
982
982
|
if (alpha !== void 0) res.alpha = alpha;
|
|
983
983
|
return res;
|
|
984
984
|
}
|
|
985
|
-
const definition$
|
|
985
|
+
const definition$12$1 = {
|
|
986
986
|
mode: "hsv",
|
|
987
987
|
toMode: { rgb: convertHsvToRgb$1 },
|
|
988
988
|
parse: ["--hsv"],
|
|
@@ -1011,7 +1011,7 @@ const definition$11$1 = {
|
|
|
1011
1011
|
difference: { h: differenceHueSaturation$1 },
|
|
1012
1012
|
average: { h: averageAngle$1 }
|
|
1013
1013
|
};
|
|
1014
|
-
var definition_default$
|
|
1014
|
+
var definition_default$15$1 = definition$12$1;
|
|
1015
1015
|
function convertHwbToRgb$1({ h, w, b, alpha }) {
|
|
1016
1016
|
if (w === void 0) w = 0;
|
|
1017
1017
|
if (b === void 0) b = 0;
|
|
@@ -1061,7 +1061,7 @@ function ParseHwb$1(color, parsed) {
|
|
|
1061
1061
|
return res;
|
|
1062
1062
|
}
|
|
1063
1063
|
var parseHwb_default$1 = ParseHwb$1;
|
|
1064
|
-
const definition$
|
|
1064
|
+
const definition$11$1 = {
|
|
1065
1065
|
mode: "hwb",
|
|
1066
1066
|
toMode: { rgb: convertHwbToRgb$1 },
|
|
1067
1067
|
fromMode: { rgb: convertRgbToHwb$1 },
|
|
@@ -1090,9 +1090,9 @@ const definition$10$1 = {
|
|
|
1090
1090
|
difference: { h: differenceHueNaive$1 },
|
|
1091
1091
|
average: { h: averageAngle$1 }
|
|
1092
1092
|
};
|
|
1093
|
-
var definition_default$
|
|
1094
|
-
const k$
|
|
1095
|
-
const e$
|
|
1093
|
+
var definition_default$2$1 = definition$11$1;
|
|
1094
|
+
const k$1$1 = Math.pow(29, 3) / Math.pow(3, 3);
|
|
1095
|
+
const e$1$1 = Math.pow(6, 3) / Math.pow(29, 3);
|
|
1096
1096
|
const D50$1 = {
|
|
1097
1097
|
X: .3457 / .3585,
|
|
1098
1098
|
Y: 1,
|
|
@@ -1103,9 +1103,9 @@ const D65$1 = {
|
|
|
1103
1103
|
Y: 1,
|
|
1104
1104
|
Z: .3583 / .329
|
|
1105
1105
|
};
|
|
1106
|
-
const k$
|
|
1107
|
-
const e$
|
|
1108
|
-
let fn$
|
|
1106
|
+
const k$2$1 = Math.pow(29, 3) / Math.pow(3, 3);
|
|
1107
|
+
const e$2$1 = Math.pow(6, 3) / Math.pow(29, 3);
|
|
1108
|
+
let fn$1$1 = (v) => Math.pow(v, 3) > e$1$1 ? Math.pow(v, 3) : (116 * v - 16) / k$1$1;
|
|
1109
1109
|
const convertLabToXyz50$1 = ({ l, a, b, alpha }) => {
|
|
1110
1110
|
if (l === void 0) l = 0;
|
|
1111
1111
|
if (a === void 0) a = 0;
|
|
@@ -1115,9 +1115,9 @@ const convertLabToXyz50$1 = ({ l, a, b, alpha }) => {
|
|
|
1115
1115
|
let fz = fy - b / 200;
|
|
1116
1116
|
let res = {
|
|
1117
1117
|
mode: "xyz50",
|
|
1118
|
-
x: fn$
|
|
1119
|
-
y: fn$
|
|
1120
|
-
z: fn$
|
|
1118
|
+
x: fn$1$1(fx) * D50$1.X,
|
|
1119
|
+
y: fn$1$1(fy) * D50$1.Y,
|
|
1120
|
+
z: fn$1$1(fz) * D50$1.Z
|
|
1121
1121
|
};
|
|
1122
1122
|
if (alpha !== void 0) res.alpha = alpha;
|
|
1123
1123
|
return res;
|
|
@@ -1150,14 +1150,14 @@ const convertRgbToXyz50$1 = (rgb$2) => {
|
|
|
1150
1150
|
return res;
|
|
1151
1151
|
};
|
|
1152
1152
|
var convertRgbToXyz50_default$1 = convertRgbToXyz50$1;
|
|
1153
|
-
const f$1 = (value) => value > e$
|
|
1153
|
+
const f$1$1 = (value) => value > e$1$1 ? Math.cbrt(value) : (k$1$1 * value + 16) / 116;
|
|
1154
1154
|
const convertXyz50ToLab$1 = ({ x, y, z, alpha }) => {
|
|
1155
1155
|
if (x === void 0) x = 0;
|
|
1156
1156
|
if (y === void 0) y = 0;
|
|
1157
1157
|
if (z === void 0) z = 0;
|
|
1158
|
-
let f0 = f$1(x / D50$1.X);
|
|
1159
|
-
let f1 = f$1(y / D50$1.Y);
|
|
1160
|
-
let f2 = f$1(z / D50$1.Z);
|
|
1158
|
+
let f0 = f$1$1(x / D50$1.X);
|
|
1159
|
+
let f1 = f$1$1(y / D50$1.Y);
|
|
1160
|
+
let f2 = f$1$1(z / D50$1.Z);
|
|
1161
1161
|
let res = {
|
|
1162
1162
|
mode: "lab",
|
|
1163
1163
|
l: 116 * f1 - 16,
|
|
@@ -1186,7 +1186,7 @@ function parseLab$1(color, parsed) {
|
|
|
1186
1186
|
return res;
|
|
1187
1187
|
}
|
|
1188
1188
|
var parseLab_default$1 = parseLab$1;
|
|
1189
|
-
const definition$
|
|
1189
|
+
const definition$10$1 = {
|
|
1190
1190
|
mode: "lab",
|
|
1191
1191
|
toMode: {
|
|
1192
1192
|
xyz50: convertLabToXyz50_default$1,
|
|
@@ -1219,6 +1219,72 @@ const definition$9$1 = {
|
|
|
1219
1219
|
}
|
|
1220
1220
|
}
|
|
1221
1221
|
};
|
|
1222
|
+
var definition_default$3$1 = definition$10$1;
|
|
1223
|
+
const k$3 = Math.pow(29, 3) / Math.pow(3, 3);
|
|
1224
|
+
const e$3 = Math.pow(6, 3) / Math.pow(29, 3);
|
|
1225
|
+
let fn$4 = (v) => Math.pow(v, 3) > e$3 ? Math.pow(v, 3) : (116 * v - 16) / k$3;
|
|
1226
|
+
const convertLab65ToXyz65$1 = ({ l, a, b, alpha }) => {
|
|
1227
|
+
if (l === void 0) l = 0;
|
|
1228
|
+
if (a === void 0) a = 0;
|
|
1229
|
+
if (b === void 0) b = 0;
|
|
1230
|
+
let fy = (l + 16) / 116;
|
|
1231
|
+
let fx = a / 500 + fy;
|
|
1232
|
+
let fz = fy - b / 200;
|
|
1233
|
+
let res = {
|
|
1234
|
+
mode: "xyz65",
|
|
1235
|
+
x: fn$4(fx) * D65$1.X,
|
|
1236
|
+
y: fn$4(fy) * D65$1.Y,
|
|
1237
|
+
z: fn$4(fz) * D65$1.Z
|
|
1238
|
+
};
|
|
1239
|
+
if (alpha !== void 0) res.alpha = alpha;
|
|
1240
|
+
return res;
|
|
1241
|
+
};
|
|
1242
|
+
var convertLab65ToXyz65_default$1 = convertLab65ToXyz65$1;
|
|
1243
|
+
const convertLab65ToRgb$1 = (lab) => convertXyz65ToRgb_default$1(convertLab65ToXyz65_default$1(lab));
|
|
1244
|
+
var convertLab65ToRgb_default$1 = convertLab65ToRgb$1;
|
|
1245
|
+
const f$2 = (value) => value > e$3 ? Math.cbrt(value) : (k$3 * value + 16) / 116;
|
|
1246
|
+
const convertXyz65ToLab65$1 = ({ x, y, z, alpha }) => {
|
|
1247
|
+
if (x === void 0) x = 0;
|
|
1248
|
+
if (y === void 0) y = 0;
|
|
1249
|
+
if (z === void 0) z = 0;
|
|
1250
|
+
let f0 = f$2(x / D65$1.X);
|
|
1251
|
+
let f1 = f$2(y / D65$1.Y);
|
|
1252
|
+
let f2 = f$2(z / D65$1.Z);
|
|
1253
|
+
let res = {
|
|
1254
|
+
mode: "lab65",
|
|
1255
|
+
l: 116 * f1 - 16,
|
|
1256
|
+
a: 500 * (f0 - f1),
|
|
1257
|
+
b: 200 * (f1 - f2)
|
|
1258
|
+
};
|
|
1259
|
+
if (alpha !== void 0) res.alpha = alpha;
|
|
1260
|
+
return res;
|
|
1261
|
+
};
|
|
1262
|
+
var convertXyz65ToLab65_default$1 = convertXyz65ToLab65$1;
|
|
1263
|
+
const convertRgbToLab65$1 = (rgb$2) => {
|
|
1264
|
+
let res = convertXyz65ToLab65_default$1(convertRgbToXyz65_default$1(rgb$2));
|
|
1265
|
+
if (rgb$2.r === rgb$2.b && rgb$2.b === rgb$2.g) res.a = res.b = 0;
|
|
1266
|
+
return res;
|
|
1267
|
+
};
|
|
1268
|
+
var convertRgbToLab65_default$1 = convertRgbToLab65$1;
|
|
1269
|
+
const definition$9$1 = {
|
|
1270
|
+
...definition_default$3$1,
|
|
1271
|
+
mode: "lab65",
|
|
1272
|
+
parse: ["--lab-d65"],
|
|
1273
|
+
serialize: "--lab-d65",
|
|
1274
|
+
toMode: {
|
|
1275
|
+
xyz65: convertLab65ToXyz65_default$1,
|
|
1276
|
+
rgb: convertLab65ToRgb_default$1
|
|
1277
|
+
},
|
|
1278
|
+
fromMode: {
|
|
1279
|
+
xyz65: convertXyz65ToLab65_default$1,
|
|
1280
|
+
rgb: convertRgbToLab65_default$1
|
|
1281
|
+
},
|
|
1282
|
+
ranges: {
|
|
1283
|
+
l: [0, 100],
|
|
1284
|
+
a: [-86.182, 98.234],
|
|
1285
|
+
b: [-107.86, 94.477]
|
|
1286
|
+
}
|
|
1287
|
+
};
|
|
1222
1288
|
var definition_default$4$1 = definition$9$1;
|
|
1223
1289
|
const convertLabToLch$1 = ({ l, a, b, alpha }, mode = "lch") => {
|
|
1224
1290
|
if (a === void 0) a = 0;
|
|
@@ -1366,7 +1432,7 @@ function parseOklab$1(color, parsed) {
|
|
|
1366
1432
|
}
|
|
1367
1433
|
var parseOklab_default$1 = parseOklab$1;
|
|
1368
1434
|
const definition$6$1 = {
|
|
1369
|
-
...definition_default$
|
|
1435
|
+
...definition_default$3$1,
|
|
1370
1436
|
mode: "oklab",
|
|
1371
1437
|
toMode: {
|
|
1372
1438
|
lrgb: convertOklabToLrgb_default$1,
|
|
@@ -1636,7 +1702,7 @@ const convertXyz50ToXyz65$1 = (xyz50) => {
|
|
|
1636
1702
|
return res;
|
|
1637
1703
|
};
|
|
1638
1704
|
var convertXyz50ToXyz65_default$1 = convertXyz50ToXyz65$1;
|
|
1639
|
-
const definition$
|
|
1705
|
+
const definition$16 = {
|
|
1640
1706
|
mode: "xyz65",
|
|
1641
1707
|
toMode: {
|
|
1642
1708
|
rgb: convertXyz65ToRgb_default$1,
|
|
@@ -1669,7 +1735,172 @@ const definition$15 = {
|
|
|
1669
1735
|
}
|
|
1670
1736
|
}
|
|
1671
1737
|
};
|
|
1672
|
-
var definition_default$14$1 = definition$
|
|
1738
|
+
var definition_default$14$1 = definition$16;
|
|
1739
|
+
function toe$1(x) {
|
|
1740
|
+
const k_1 = .206;
|
|
1741
|
+
const k_2 = .03;
|
|
1742
|
+
const k_3 = (1 + k_1) / (1 + k_2);
|
|
1743
|
+
return .5 * (k_3 * x - k_1 + Math.sqrt((k_3 * x - k_1) * (k_3 * x - k_1) + 4 * k_2 * k_3 * x));
|
|
1744
|
+
}
|
|
1745
|
+
function toe_inv$1(x) {
|
|
1746
|
+
const k_1 = .206;
|
|
1747
|
+
const k_2 = .03;
|
|
1748
|
+
const k_3 = (1 + k_1) / (1 + k_2);
|
|
1749
|
+
return (x * x + k_1 * x) / (k_3 * (x + k_2));
|
|
1750
|
+
}
|
|
1751
|
+
function compute_max_saturation$1(a, b) {
|
|
1752
|
+
let k0, k1, k2, k3, k4, wl, wm, ws;
|
|
1753
|
+
if (-1.88170328 * a - .80936493 * b > 1) {
|
|
1754
|
+
k0 = 1.19086277;
|
|
1755
|
+
k1 = 1.76576728;
|
|
1756
|
+
k2 = .59662641;
|
|
1757
|
+
k3 = .75515197;
|
|
1758
|
+
k4 = .56771245;
|
|
1759
|
+
wl = 4.0767416621;
|
|
1760
|
+
wm = -3.3077115913;
|
|
1761
|
+
ws = .2309699292;
|
|
1762
|
+
} else if (1.81444104 * a - 1.19445276 * b > 1) {
|
|
1763
|
+
k0 = .73956515;
|
|
1764
|
+
k1 = -.45954404;
|
|
1765
|
+
k2 = .08285427;
|
|
1766
|
+
k3 = .1254107;
|
|
1767
|
+
k4 = .14503204;
|
|
1768
|
+
wl = -1.2684380046;
|
|
1769
|
+
wm = 2.6097574011;
|
|
1770
|
+
ws = -.3413193965;
|
|
1771
|
+
} else {
|
|
1772
|
+
k0 = 1.35733652;
|
|
1773
|
+
k1 = -.00915799;
|
|
1774
|
+
k2 = -1.1513021;
|
|
1775
|
+
k3 = -.50559606;
|
|
1776
|
+
k4 = .00692167;
|
|
1777
|
+
wl = -.0041960863;
|
|
1778
|
+
wm = -.7034186147;
|
|
1779
|
+
ws = 1.707614701;
|
|
1780
|
+
}
|
|
1781
|
+
let S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b;
|
|
1782
|
+
let k_l = .3963377774 * a + .2158037573 * b;
|
|
1783
|
+
let k_m = -.1055613458 * a - .0638541728 * b;
|
|
1784
|
+
let k_s = -.0894841775 * a - 1.291485548 * b;
|
|
1785
|
+
{
|
|
1786
|
+
let l_ = 1 + S * k_l;
|
|
1787
|
+
let m_ = 1 + S * k_m;
|
|
1788
|
+
let s_ = 1 + S * k_s;
|
|
1789
|
+
let l = l_ * l_ * l_;
|
|
1790
|
+
let m = m_ * m_ * m_;
|
|
1791
|
+
let s = s_ * s_ * s_;
|
|
1792
|
+
let l_dS = 3 * k_l * l_ * l_;
|
|
1793
|
+
let m_dS = 3 * k_m * m_ * m_;
|
|
1794
|
+
let s_dS = 3 * k_s * s_ * s_;
|
|
1795
|
+
let l_dS2 = 6 * k_l * k_l * l_;
|
|
1796
|
+
let m_dS2 = 6 * k_m * k_m * m_;
|
|
1797
|
+
let s_dS2 = 6 * k_s * k_s * s_;
|
|
1798
|
+
let f$2$1 = wl * l + wm * m + ws * s;
|
|
1799
|
+
let f1 = wl * l_dS + wm * m_dS + ws * s_dS;
|
|
1800
|
+
let f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2;
|
|
1801
|
+
S = S - f$2$1 * f1 / (f1 * f1 - .5 * f$2$1 * f2);
|
|
1802
|
+
}
|
|
1803
|
+
return S;
|
|
1804
|
+
}
|
|
1805
|
+
function find_cusp$1(a, b) {
|
|
1806
|
+
let S_cusp = compute_max_saturation$1(a, b);
|
|
1807
|
+
let rgb$2 = convertOklabToLrgb_default$1({
|
|
1808
|
+
l: 1,
|
|
1809
|
+
a: S_cusp * a,
|
|
1810
|
+
b: S_cusp * b
|
|
1811
|
+
});
|
|
1812
|
+
let L_cusp = Math.cbrt(1 / Math.max(rgb$2.r, rgb$2.g, rgb$2.b));
|
|
1813
|
+
let C_cusp = L_cusp * S_cusp;
|
|
1814
|
+
return [L_cusp, C_cusp];
|
|
1815
|
+
}
|
|
1816
|
+
function get_ST_max$1(a_, b_, cusp = null) {
|
|
1817
|
+
if (!cusp) cusp = find_cusp$1(a_, b_);
|
|
1818
|
+
let L = cusp[0];
|
|
1819
|
+
let C = cusp[1];
|
|
1820
|
+
return [C / L, C / (1 - L)];
|
|
1821
|
+
}
|
|
1822
|
+
function convertOklabToOkhsv$1(lab) {
|
|
1823
|
+
let l = lab.l !== void 0 ? lab.l : 0;
|
|
1824
|
+
let a = lab.a !== void 0 ? lab.a : 0;
|
|
1825
|
+
let b = lab.b !== void 0 ? lab.b : 0;
|
|
1826
|
+
let c$1$1 = Math.sqrt(a * a + b * b);
|
|
1827
|
+
let a_ = c$1$1 ? a / c$1$1 : 1;
|
|
1828
|
+
let b_ = c$1$1 ? b / c$1$1 : 1;
|
|
1829
|
+
let [S_max, T] = get_ST_max$1(a_, b_);
|
|
1830
|
+
let S_0 = .5;
|
|
1831
|
+
let k$3$1 = 1 - S_0 / S_max;
|
|
1832
|
+
let t = T / (c$1$1 + l * T);
|
|
1833
|
+
let L_v = t * l;
|
|
1834
|
+
let C_v = t * c$1$1;
|
|
1835
|
+
let L_vt = toe_inv$1(L_v);
|
|
1836
|
+
let C_vt = C_v * L_vt / L_v;
|
|
1837
|
+
let rgb_scale = convertOklabToLrgb_default$1({
|
|
1838
|
+
l: L_vt,
|
|
1839
|
+
a: a_ * C_vt,
|
|
1840
|
+
b: b_ * C_vt
|
|
1841
|
+
});
|
|
1842
|
+
let scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
|
|
1843
|
+
l = l / scale_L;
|
|
1844
|
+
c$1$1 = c$1$1 / scale_L * toe$1(l) / l;
|
|
1845
|
+
l = toe$1(l);
|
|
1846
|
+
const ret = {
|
|
1847
|
+
mode: "okhsv",
|
|
1848
|
+
s: c$1$1 ? (S_0 + T) * C_v / (T * S_0 + T * k$3$1 * C_v) : 0,
|
|
1849
|
+
v: l ? l / L_v : 0
|
|
1850
|
+
};
|
|
1851
|
+
if (ret.s) ret.h = normalizeHue_default$1(Math.atan2(b, a) * 180 / Math.PI);
|
|
1852
|
+
if (lab.alpha !== void 0) ret.alpha = lab.alpha;
|
|
1853
|
+
return ret;
|
|
1854
|
+
}
|
|
1855
|
+
function convertOkhsvToOklab$1(hsv) {
|
|
1856
|
+
const ret = { mode: "oklab" };
|
|
1857
|
+
if (hsv.alpha !== void 0) ret.alpha = hsv.alpha;
|
|
1858
|
+
const h = hsv.h !== void 0 ? hsv.h : 0;
|
|
1859
|
+
const s = hsv.s !== void 0 ? hsv.s : 0;
|
|
1860
|
+
const v = hsv.v !== void 0 ? hsv.v : 0;
|
|
1861
|
+
const a_ = Math.cos(h / 180 * Math.PI);
|
|
1862
|
+
const b_ = Math.sin(h / 180 * Math.PI);
|
|
1863
|
+
const [S_max, T] = get_ST_max$1(a_, b_);
|
|
1864
|
+
const S_0 = .5;
|
|
1865
|
+
const k$3$1 = 1 - S_0 / S_max;
|
|
1866
|
+
const L_v = 1 - s * S_0 / (S_0 + T - T * k$3$1 * s);
|
|
1867
|
+
const C_v = s * T * S_0 / (S_0 + T - T * k$3$1 * s);
|
|
1868
|
+
const L_vt = toe_inv$1(L_v);
|
|
1869
|
+
const C_vt = C_v * L_vt / L_v;
|
|
1870
|
+
const rgb_scale = convertOklabToLrgb_default$1({
|
|
1871
|
+
l: L_vt,
|
|
1872
|
+
a: a_ * C_vt,
|
|
1873
|
+
b: b_ * C_vt
|
|
1874
|
+
});
|
|
1875
|
+
const scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
|
|
1876
|
+
const L_new = toe_inv$1(v * L_v);
|
|
1877
|
+
const C = C_v * L_new / L_v;
|
|
1878
|
+
ret.l = L_new * scale_L;
|
|
1879
|
+
ret.a = C * a_ * scale_L;
|
|
1880
|
+
ret.b = C * b_ * scale_L;
|
|
1881
|
+
return ret;
|
|
1882
|
+
}
|
|
1883
|
+
const modeOkhsv$1 = {
|
|
1884
|
+
...definition_default$15$1,
|
|
1885
|
+
mode: "okhsv",
|
|
1886
|
+
channels: [
|
|
1887
|
+
"h",
|
|
1888
|
+
"s",
|
|
1889
|
+
"v",
|
|
1890
|
+
"alpha"
|
|
1891
|
+
],
|
|
1892
|
+
parse: ["--okhsv"],
|
|
1893
|
+
serialize: "--okhsv",
|
|
1894
|
+
fromMode: {
|
|
1895
|
+
oklab: convertOklabToOkhsv$1,
|
|
1896
|
+
rgb: (c$1$1) => convertOklabToOkhsv$1(convertRgbToOklab_default$1(c$1$1))
|
|
1897
|
+
},
|
|
1898
|
+
toMode: {
|
|
1899
|
+
oklab: convertOkhsvToOklab$1,
|
|
1900
|
+
rgb: (c$1$1) => convertOklabToRgb_default$1(convertOkhsvToOklab$1(c$1$1))
|
|
1901
|
+
}
|
|
1902
|
+
};
|
|
1903
|
+
var modeOkhsv_default$1 = modeOkhsv$1;
|
|
1673
1904
|
const r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision;
|
|
1674
1905
|
const round = (precision = 4) => (value) => typeof value === "number" ? r(value, precision) : value;
|
|
1675
1906
|
var round_default = round;
|
|
@@ -1678,15 +1909,16 @@ const rgb$1 = converter_default$1("rgb");
|
|
|
1678
1909
|
const hsl = converter_default$1("hsl");
|
|
1679
1910
|
const rgb = converter_default$1("rgb");
|
|
1680
1911
|
const converters$2 = {
|
|
1681
|
-
a98: useMode$1(definition_default$
|
|
1912
|
+
a98: useMode$1(definition_default$16),
|
|
1682
1913
|
hsl: useMode$1(definition_default$1$1),
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1914
|
+
hwb: useMode$1(definition_default$2$1),
|
|
1915
|
+
lab: useMode$1(definition_default$3$1),
|
|
1916
|
+
lab65: useMode$1(definition_default$4$1),
|
|
1686
1917
|
lch: useMode$1(definition_default$5$1),
|
|
1687
1918
|
lrgb: useMode$1(definition_default$6$1),
|
|
1688
1919
|
oklab: useMode$1(definition_default$7$1),
|
|
1689
1920
|
oklch: useMode$1(definition_default$8$1),
|
|
1921
|
+
okhsv: useMode$1(modeOkhsv_default$1),
|
|
1690
1922
|
p3: useMode$1(definition_default$9$1),
|
|
1691
1923
|
prophoto: useMode$1(definition_default$10$1),
|
|
1692
1924
|
rec2020: useMode$1(definition_default$11$1),
|
|
@@ -1954,28 +2186,28 @@ const modes = {};
|
|
|
1954
2186
|
const parsers = [];
|
|
1955
2187
|
const colorProfiles = {};
|
|
1956
2188
|
const identity = (v) => v;
|
|
1957
|
-
const useMode = (definition$
|
|
1958
|
-
converters$1[definition$
|
|
1959
|
-
...converters$1[definition$
|
|
1960
|
-
...definition$
|
|
1961
|
-
};
|
|
1962
|
-
Object.keys(definition$
|
|
1963
|
-
if (!converters$1[k$
|
|
1964
|
-
converters$1[k$
|
|
2189
|
+
const useMode = (definition$17) => {
|
|
2190
|
+
converters$1[definition$17.mode] = {
|
|
2191
|
+
...converters$1[definition$17.mode],
|
|
2192
|
+
...definition$17.toMode
|
|
2193
|
+
};
|
|
2194
|
+
Object.keys(definition$17.fromMode || {}).forEach((k$4) => {
|
|
2195
|
+
if (!converters$1[k$4]) converters$1[k$4] = {};
|
|
2196
|
+
converters$1[k$4][definition$17.mode] = definition$17.fromMode[k$4];
|
|
1965
2197
|
});
|
|
1966
|
-
if (!definition$
|
|
1967
|
-
if (!definition$
|
|
1968
|
-
definition$
|
|
1969
|
-
if (definition$
|
|
1970
|
-
if (!definition$
|
|
1971
|
-
if (typeof definition$
|
|
1972
|
-
if (!definition$
|
|
2198
|
+
if (!definition$17.ranges) definition$17.ranges = {};
|
|
2199
|
+
if (!definition$17.difference) definition$17.difference = {};
|
|
2200
|
+
definition$17.channels.forEach((channel) => {
|
|
2201
|
+
if (definition$17.ranges[channel] === void 0) definition$17.ranges[channel] = [0, 1];
|
|
2202
|
+
if (!definition$17.interpolate[channel]) throw new Error(`Missing interpolator for: ${channel}`);
|
|
2203
|
+
if (typeof definition$17.interpolate[channel] === "function") definition$17.interpolate[channel] = { use: definition$17.interpolate[channel] };
|
|
2204
|
+
if (!definition$17.interpolate[channel].fixup) definition$17.interpolate[channel].fixup = identity;
|
|
1973
2205
|
});
|
|
1974
|
-
modes[definition$
|
|
1975
|
-
(definition$
|
|
1976
|
-
useParser(parser, definition$
|
|
2206
|
+
modes[definition$17.mode] = definition$17;
|
|
2207
|
+
(definition$17.parse || []).forEach((parser) => {
|
|
2208
|
+
useParser(parser, definition$17.mode);
|
|
1977
2209
|
});
|
|
1978
|
-
return converter_default(definition$
|
|
2210
|
+
return converter_default(definition$17.mode);
|
|
1979
2211
|
};
|
|
1980
2212
|
const getMode = (mode) => modes[mode];
|
|
1981
2213
|
const useParser = (parser, mode) => {
|
|
@@ -2314,7 +2546,7 @@ const fixupAlpha = (arr) => {
|
|
|
2314
2546
|
|
|
2315
2547
|
//#endregion
|
|
2316
2548
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/rgb/definition.js
|
|
2317
|
-
const definition$
|
|
2549
|
+
const definition$15 = {
|
|
2318
2550
|
mode: "rgb",
|
|
2319
2551
|
channels: [
|
|
2320
2552
|
"r",
|
|
@@ -2352,7 +2584,7 @@ const definition$14 = {
|
|
|
2352
2584
|
b: 0
|
|
2353
2585
|
}
|
|
2354
2586
|
};
|
|
2355
|
-
var definition_default$12 = definition$
|
|
2587
|
+
var definition_default$12 = definition$15;
|
|
2356
2588
|
|
|
2357
2589
|
//#endregion
|
|
2358
2590
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/a98/convertA98ToXyz65.js
|
|
@@ -2392,7 +2624,7 @@ var convertXyz65ToA98_default = convertXyz65ToA98;
|
|
|
2392
2624
|
|
|
2393
2625
|
//#endregion
|
|
2394
2626
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lrgb/convertRgbToLrgb.js
|
|
2395
|
-
const fn$
|
|
2627
|
+
const fn$3 = (c$2 = 0) => {
|
|
2396
2628
|
const abs = Math.abs(c$2);
|
|
2397
2629
|
if (abs <= .04045) return c$2 / 12.92;
|
|
2398
2630
|
return (Math.sign(c$2) || 1) * Math.pow((abs + .055) / 1.055, 2.4);
|
|
@@ -2400,9 +2632,9 @@ const fn$2 = (c$2 = 0) => {
|
|
|
2400
2632
|
const convertRgbToLrgb = ({ r: r$1, g, b, alpha }) => {
|
|
2401
2633
|
let res = {
|
|
2402
2634
|
mode: "lrgb",
|
|
2403
|
-
r: fn$
|
|
2404
|
-
g: fn$
|
|
2405
|
-
b: fn$
|
|
2635
|
+
r: fn$3(r$1),
|
|
2636
|
+
g: fn$3(g),
|
|
2637
|
+
b: fn$3(b)
|
|
2406
2638
|
};
|
|
2407
2639
|
if (alpha !== void 0) res.alpha = alpha;
|
|
2408
2640
|
return res;
|
|
@@ -2426,7 +2658,7 @@ var convertRgbToXyz65_default = convertRgbToXyz65;
|
|
|
2426
2658
|
|
|
2427
2659
|
//#endregion
|
|
2428
2660
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lrgb/convertLrgbToRgb.js
|
|
2429
|
-
const fn$
|
|
2661
|
+
const fn$2 = (c$2 = 0) => {
|
|
2430
2662
|
const abs = Math.abs(c$2);
|
|
2431
2663
|
if (abs > .0031308) return (Math.sign(c$2) || 1) * (1.055 * Math.pow(abs, 1 / 2.4) - .055);
|
|
2432
2664
|
return c$2 * 12.92;
|
|
@@ -2434,9 +2666,9 @@ const fn$1 = (c$2 = 0) => {
|
|
|
2434
2666
|
const convertLrgbToRgb = ({ r: r$1, g, b, alpha }, mode = "rgb") => {
|
|
2435
2667
|
let res = {
|
|
2436
2668
|
mode,
|
|
2437
|
-
r: fn$
|
|
2438
|
-
g: fn$
|
|
2439
|
-
b: fn$
|
|
2669
|
+
r: fn$2(r$1),
|
|
2670
|
+
g: fn$2(g),
|
|
2671
|
+
b: fn$2(b)
|
|
2440
2672
|
};
|
|
2441
2673
|
if (alpha !== void 0) res.alpha = alpha;
|
|
2442
2674
|
return res;
|
|
@@ -2461,7 +2693,7 @@ var convertXyz65ToRgb_default = convertXyz65ToRgb;
|
|
|
2461
2693
|
|
|
2462
2694
|
//#endregion
|
|
2463
2695
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/a98/definition.js
|
|
2464
|
-
const definition$
|
|
2696
|
+
const definition$14 = {
|
|
2465
2697
|
...definition_default$12,
|
|
2466
2698
|
mode: "a98",
|
|
2467
2699
|
parse: ["a98-rgb"],
|
|
@@ -2475,7 +2707,7 @@ const definition$13 = {
|
|
|
2475
2707
|
xyz65: convertA98ToXyz65_default
|
|
2476
2708
|
}
|
|
2477
2709
|
};
|
|
2478
|
-
var definition_default = definition$
|
|
2710
|
+
var definition_default = definition$14;
|
|
2479
2711
|
|
|
2480
2712
|
//#endregion
|
|
2481
2713
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/util/normalizeHue.js
|
|
@@ -2616,12 +2848,12 @@ var parseHsl_default = parseHsl;
|
|
|
2616
2848
|
|
|
2617
2849
|
//#endregion
|
|
2618
2850
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/fixup/hue.js
|
|
2619
|
-
const hue = (hues, fn$
|
|
2851
|
+
const hue = (hues, fn$5) => {
|
|
2620
2852
|
return hues.map((hue$3, idx, arr) => {
|
|
2621
2853
|
if (hue$3 === void 0) return hue$3;
|
|
2622
2854
|
let normalized = normalizeHue_default(hue$3);
|
|
2623
2855
|
if (idx === 0 || hues[idx - 1] === void 0) return normalized;
|
|
2624
|
-
return fn$
|
|
2856
|
+
return fn$5(normalized - normalizeHue_default(arr[idx - 1]));
|
|
2625
2857
|
}).reduce((acc, curr) => {
|
|
2626
2858
|
if (!acc.length || curr === void 0 || acc[acc.length - 1] === void 0) {
|
|
2627
2859
|
acc.push(curr);
|
|
@@ -2677,7 +2909,7 @@ const averageAngle = (val) => {
|
|
|
2677
2909
|
|
|
2678
2910
|
//#endregion
|
|
2679
2911
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/hsl/definition.js
|
|
2680
|
-
const definition$
|
|
2912
|
+
const definition$13 = {
|
|
2681
2913
|
mode: "hsl",
|
|
2682
2914
|
toMode: { rgb: convertHslToRgb },
|
|
2683
2915
|
fromMode: { rgb: convertRgbToHsl },
|
|
@@ -2706,7 +2938,7 @@ const definition$12 = {
|
|
|
2706
2938
|
difference: { h: differenceHueSaturation },
|
|
2707
2939
|
average: { h: averageAngle }
|
|
2708
2940
|
};
|
|
2709
|
-
var definition_default$1 = definition$
|
|
2941
|
+
var definition_default$1 = definition$13;
|
|
2710
2942
|
|
|
2711
2943
|
//#endregion
|
|
2712
2944
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/hsv/convertHsvToRgb.js
|
|
@@ -2714,19 +2946,19 @@ function convertHsvToRgb({ h, s, v, alpha }) {
|
|
|
2714
2946
|
h = normalizeHue_default(h !== void 0 ? h : 0);
|
|
2715
2947
|
if (s === void 0) s = 0;
|
|
2716
2948
|
if (v === void 0) v = 0;
|
|
2717
|
-
let f$
|
|
2949
|
+
let f$3 = Math.abs(h / 60 % 2 - 1);
|
|
2718
2950
|
let res;
|
|
2719
2951
|
switch (Math.floor(h / 60)) {
|
|
2720
2952
|
case 0:
|
|
2721
2953
|
res = {
|
|
2722
2954
|
r: v,
|
|
2723
|
-
g: v * (1 - s * f$
|
|
2955
|
+
g: v * (1 - s * f$3),
|
|
2724
2956
|
b: v * (1 - s)
|
|
2725
2957
|
};
|
|
2726
2958
|
break;
|
|
2727
2959
|
case 1:
|
|
2728
2960
|
res = {
|
|
2729
|
-
r: v * (1 - s * f$
|
|
2961
|
+
r: v * (1 - s * f$3),
|
|
2730
2962
|
g: v,
|
|
2731
2963
|
b: v * (1 - s)
|
|
2732
2964
|
};
|
|
@@ -2735,19 +2967,19 @@ function convertHsvToRgb({ h, s, v, alpha }) {
|
|
|
2735
2967
|
res = {
|
|
2736
2968
|
r: v * (1 - s),
|
|
2737
2969
|
g: v,
|
|
2738
|
-
b: v * (1 - s * f$
|
|
2970
|
+
b: v * (1 - s * f$3)
|
|
2739
2971
|
};
|
|
2740
2972
|
break;
|
|
2741
2973
|
case 3:
|
|
2742
2974
|
res = {
|
|
2743
2975
|
r: v * (1 - s),
|
|
2744
|
-
g: v * (1 - s * f$
|
|
2976
|
+
g: v * (1 - s * f$3),
|
|
2745
2977
|
b: v
|
|
2746
2978
|
};
|
|
2747
2979
|
break;
|
|
2748
2980
|
case 4:
|
|
2749
2981
|
res = {
|
|
2750
|
-
r: v * (1 - s * f$
|
|
2982
|
+
r: v * (1 - s * f$3),
|
|
2751
2983
|
g: v * (1 - s),
|
|
2752
2984
|
b: v
|
|
2753
2985
|
};
|
|
@@ -2756,7 +2988,7 @@ function convertHsvToRgb({ h, s, v, alpha }) {
|
|
|
2756
2988
|
res = {
|
|
2757
2989
|
r: v,
|
|
2758
2990
|
g: v * (1 - s),
|
|
2759
|
-
b: v * (1 - s * f$
|
|
2991
|
+
b: v * (1 - s * f$3)
|
|
2760
2992
|
};
|
|
2761
2993
|
break;
|
|
2762
2994
|
default: res = {
|
|
@@ -2789,7 +3021,7 @@ function convertRgbToHsv({ r: r$1, g, b, alpha }) {
|
|
|
2789
3021
|
|
|
2790
3022
|
//#endregion
|
|
2791
3023
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/hsv/definition.js
|
|
2792
|
-
const definition$
|
|
3024
|
+
const definition$12 = {
|
|
2793
3025
|
mode: "hsv",
|
|
2794
3026
|
toMode: { rgb: convertHsvToRgb },
|
|
2795
3027
|
parse: ["--hsv"],
|
|
@@ -2818,7 +3050,7 @@ const definition$11 = {
|
|
|
2818
3050
|
difference: { h: differenceHueSaturation },
|
|
2819
3051
|
average: { h: averageAngle }
|
|
2820
3052
|
};
|
|
2821
|
-
var definition_default$
|
|
3053
|
+
var definition_default$15 = definition$12;
|
|
2822
3054
|
|
|
2823
3055
|
//#endregion
|
|
2824
3056
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/hwb/convertHwbToRgb.js
|
|
@@ -2880,7 +3112,7 @@ var parseHwb_default = ParseHwb;
|
|
|
2880
3112
|
|
|
2881
3113
|
//#endregion
|
|
2882
3114
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/hwb/definition.js
|
|
2883
|
-
const definition$
|
|
3115
|
+
const definition$11 = {
|
|
2884
3116
|
mode: "hwb",
|
|
2885
3117
|
toMode: { rgb: convertHwbToRgb },
|
|
2886
3118
|
fromMode: { rgb: convertRgbToHwb },
|
|
@@ -2909,12 +3141,12 @@ const definition$10 = {
|
|
|
2909
3141
|
difference: { h: differenceHueNaive },
|
|
2910
3142
|
average: { h: averageAngle }
|
|
2911
3143
|
};
|
|
2912
|
-
var definition_default$
|
|
3144
|
+
var definition_default$2 = definition$11;
|
|
2913
3145
|
|
|
2914
3146
|
//#endregion
|
|
2915
3147
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/xyz50/constants.js
|
|
2916
|
-
const k = Math.pow(29, 3) / Math.pow(3, 3);
|
|
2917
|
-
const e = Math.pow(6, 3) / Math.pow(29, 3);
|
|
3148
|
+
const k$1 = Math.pow(29, 3) / Math.pow(3, 3);
|
|
3149
|
+
const e$1 = Math.pow(6, 3) / Math.pow(29, 3);
|
|
2918
3150
|
|
|
2919
3151
|
//#endregion
|
|
2920
3152
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/constants.js
|
|
@@ -2928,12 +3160,12 @@ const D65 = {
|
|
|
2928
3160
|
Y: 1,
|
|
2929
3161
|
Z: .3583 / .329
|
|
2930
3162
|
};
|
|
2931
|
-
const k$
|
|
2932
|
-
const e$
|
|
3163
|
+
const k$2 = Math.pow(29, 3) / Math.pow(3, 3);
|
|
3164
|
+
const e$2 = Math.pow(6, 3) / Math.pow(29, 3);
|
|
2933
3165
|
|
|
2934
3166
|
//#endregion
|
|
2935
3167
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab/convertLabToXyz50.js
|
|
2936
|
-
let fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
|
|
3168
|
+
let fn$1 = (v) => Math.pow(v, 3) > e$1 ? Math.pow(v, 3) : (116 * v - 16) / k$1;
|
|
2937
3169
|
const convertLabToXyz50 = ({ l, a, b, alpha }) => {
|
|
2938
3170
|
if (l === void 0) l = 0;
|
|
2939
3171
|
if (a === void 0) a = 0;
|
|
@@ -2943,9 +3175,9 @@ const convertLabToXyz50 = ({ l, a, b, alpha }) => {
|
|
|
2943
3175
|
let fz = fy - b / 200;
|
|
2944
3176
|
let res = {
|
|
2945
3177
|
mode: "xyz50",
|
|
2946
|
-
x: fn(fx) * D50.X,
|
|
2947
|
-
y: fn(fy) * D50.Y,
|
|
2948
|
-
z: fn(fz) * D50.Z
|
|
3178
|
+
x: fn$1(fx) * D50.X,
|
|
3179
|
+
y: fn$1(fy) * D50.Y,
|
|
3180
|
+
z: fn$1(fz) * D50.Z
|
|
2949
3181
|
};
|
|
2950
3182
|
if (alpha !== void 0) res.alpha = alpha;
|
|
2951
3183
|
return res;
|
|
@@ -2990,14 +3222,14 @@ var convertRgbToXyz50_default = convertRgbToXyz50;
|
|
|
2990
3222
|
|
|
2991
3223
|
//#endregion
|
|
2992
3224
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab/convertXyz50ToLab.js
|
|
2993
|
-
const f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
|
|
3225
|
+
const f$1 = (value) => value > e$1 ? Math.cbrt(value) : (k$1 * value + 16) / 116;
|
|
2994
3226
|
const convertXyz50ToLab = ({ x, y, z, alpha }) => {
|
|
2995
3227
|
if (x === void 0) x = 0;
|
|
2996
3228
|
if (y === void 0) y = 0;
|
|
2997
3229
|
if (z === void 0) z = 0;
|
|
2998
|
-
let f0 = f(x / D50.X);
|
|
2999
|
-
let f1 = f(y / D50.Y);
|
|
3000
|
-
let f2 = f(z / D50.Z);
|
|
3230
|
+
let f0 = f$1(x / D50.X);
|
|
3231
|
+
let f1 = f$1(y / D50.Y);
|
|
3232
|
+
let f2 = f$1(z / D50.Z);
|
|
3001
3233
|
let res = {
|
|
3002
3234
|
mode: "lab",
|
|
3003
3235
|
l: 116 * f1 - 16,
|
|
@@ -3035,7 +3267,7 @@ var parseLab_default = parseLab;
|
|
|
3035
3267
|
|
|
3036
3268
|
//#endregion
|
|
3037
3269
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab/definition.js
|
|
3038
|
-
const definition$
|
|
3270
|
+
const definition$10 = {
|
|
3039
3271
|
mode: "lab",
|
|
3040
3272
|
toMode: {
|
|
3041
3273
|
xyz50: convertLabToXyz50_default,
|
|
@@ -3068,6 +3300,90 @@ const definition$9 = {
|
|
|
3068
3300
|
}
|
|
3069
3301
|
}
|
|
3070
3302
|
};
|
|
3303
|
+
var definition_default$3 = definition$10;
|
|
3304
|
+
|
|
3305
|
+
//#endregion
|
|
3306
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/xyz65/constants.js
|
|
3307
|
+
const k = Math.pow(29, 3) / Math.pow(3, 3);
|
|
3308
|
+
const e = Math.pow(6, 3) / Math.pow(29, 3);
|
|
3309
|
+
|
|
3310
|
+
//#endregion
|
|
3311
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab65/convertLab65ToXyz65.js
|
|
3312
|
+
let fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
|
|
3313
|
+
const convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
|
|
3314
|
+
if (l === void 0) l = 0;
|
|
3315
|
+
if (a === void 0) a = 0;
|
|
3316
|
+
if (b === void 0) b = 0;
|
|
3317
|
+
let fy = (l + 16) / 116;
|
|
3318
|
+
let fx = a / 500 + fy;
|
|
3319
|
+
let fz = fy - b / 200;
|
|
3320
|
+
let res = {
|
|
3321
|
+
mode: "xyz65",
|
|
3322
|
+
x: fn(fx) * D65.X,
|
|
3323
|
+
y: fn(fy) * D65.Y,
|
|
3324
|
+
z: fn(fz) * D65.Z
|
|
3325
|
+
};
|
|
3326
|
+
if (alpha !== void 0) res.alpha = alpha;
|
|
3327
|
+
return res;
|
|
3328
|
+
};
|
|
3329
|
+
var convertLab65ToXyz65_default = convertLab65ToXyz65;
|
|
3330
|
+
|
|
3331
|
+
//#endregion
|
|
3332
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab65/convertLab65ToRgb.js
|
|
3333
|
+
const convertLab65ToRgb = (lab) => convertXyz65ToRgb_default(convertLab65ToXyz65_default(lab));
|
|
3334
|
+
var convertLab65ToRgb_default = convertLab65ToRgb;
|
|
3335
|
+
|
|
3336
|
+
//#endregion
|
|
3337
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab65/convertXyz65ToLab65.js
|
|
3338
|
+
const f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
|
|
3339
|
+
const convertXyz65ToLab65 = ({ x, y, z, alpha }) => {
|
|
3340
|
+
if (x === void 0) x = 0;
|
|
3341
|
+
if (y === void 0) y = 0;
|
|
3342
|
+
if (z === void 0) z = 0;
|
|
3343
|
+
let f0 = f(x / D65.X);
|
|
3344
|
+
let f1 = f(y / D65.Y);
|
|
3345
|
+
let f2 = f(z / D65.Z);
|
|
3346
|
+
let res = {
|
|
3347
|
+
mode: "lab65",
|
|
3348
|
+
l: 116 * f1 - 16,
|
|
3349
|
+
a: 500 * (f0 - f1),
|
|
3350
|
+
b: 200 * (f1 - f2)
|
|
3351
|
+
};
|
|
3352
|
+
if (alpha !== void 0) res.alpha = alpha;
|
|
3353
|
+
return res;
|
|
3354
|
+
};
|
|
3355
|
+
var convertXyz65ToLab65_default = convertXyz65ToLab65;
|
|
3356
|
+
|
|
3357
|
+
//#endregion
|
|
3358
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab65/convertRgbToLab65.js
|
|
3359
|
+
const convertRgbToLab65 = (rgb$2) => {
|
|
3360
|
+
let res = convertXyz65ToLab65_default(convertRgbToXyz65_default(rgb$2));
|
|
3361
|
+
if (rgb$2.r === rgb$2.b && rgb$2.b === rgb$2.g) res.a = res.b = 0;
|
|
3362
|
+
return res;
|
|
3363
|
+
};
|
|
3364
|
+
var convertRgbToLab65_default = convertRgbToLab65;
|
|
3365
|
+
|
|
3366
|
+
//#endregion
|
|
3367
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/lab65/definition.js
|
|
3368
|
+
const definition$9 = {
|
|
3369
|
+
...definition_default$3,
|
|
3370
|
+
mode: "lab65",
|
|
3371
|
+
parse: ["--lab-d65"],
|
|
3372
|
+
serialize: "--lab-d65",
|
|
3373
|
+
toMode: {
|
|
3374
|
+
xyz65: convertLab65ToXyz65_default,
|
|
3375
|
+
rgb: convertLab65ToRgb_default
|
|
3376
|
+
},
|
|
3377
|
+
fromMode: {
|
|
3378
|
+
xyz65: convertXyz65ToLab65_default,
|
|
3379
|
+
rgb: convertRgbToLab65_default
|
|
3380
|
+
},
|
|
3381
|
+
ranges: {
|
|
3382
|
+
l: [0, 100],
|
|
3383
|
+
a: [-86.182, 98.234],
|
|
3384
|
+
b: [-107.86, 94.477]
|
|
3385
|
+
}
|
|
3386
|
+
};
|
|
3071
3387
|
var definition_default$4 = definition$9;
|
|
3072
3388
|
|
|
3073
3389
|
//#endregion
|
|
@@ -3248,7 +3564,7 @@ var parseOklab_default = parseOklab;
|
|
|
3248
3564
|
//#endregion
|
|
3249
3565
|
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/oklab/definition.js
|
|
3250
3566
|
const definition$6 = {
|
|
3251
|
-
...definition_default$
|
|
3567
|
+
...definition_default$3,
|
|
3252
3568
|
mode: "oklab",
|
|
3253
3569
|
toMode: {
|
|
3254
3570
|
lrgb: convertOklabToLrgb_default,
|
|
@@ -3598,6 +3914,183 @@ const definition = {
|
|
|
3598
3914
|
};
|
|
3599
3915
|
var definition_default$14 = definition;
|
|
3600
3916
|
|
|
3917
|
+
//#endregion
|
|
3918
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/okhsl/helpers.js
|
|
3919
|
+
function toe(x) {
|
|
3920
|
+
const k_1 = .206;
|
|
3921
|
+
const k_2 = .03;
|
|
3922
|
+
const k_3 = (1 + k_1) / (1 + k_2);
|
|
3923
|
+
return .5 * (k_3 * x - k_1 + Math.sqrt((k_3 * x - k_1) * (k_3 * x - k_1) + 4 * k_2 * k_3 * x));
|
|
3924
|
+
}
|
|
3925
|
+
function toe_inv(x) {
|
|
3926
|
+
const k_1 = .206;
|
|
3927
|
+
const k_2 = .03;
|
|
3928
|
+
const k_3 = (1 + k_1) / (1 + k_2);
|
|
3929
|
+
return (x * x + k_1 * x) / (k_3 * (x + k_2));
|
|
3930
|
+
}
|
|
3931
|
+
function compute_max_saturation(a, b) {
|
|
3932
|
+
let k0, k1, k2, k3, k4, wl, wm, ws;
|
|
3933
|
+
if (-1.88170328 * a - .80936493 * b > 1) {
|
|
3934
|
+
k0 = 1.19086277;
|
|
3935
|
+
k1 = 1.76576728;
|
|
3936
|
+
k2 = .59662641;
|
|
3937
|
+
k3 = .75515197;
|
|
3938
|
+
k4 = .56771245;
|
|
3939
|
+
wl = 4.0767416621;
|
|
3940
|
+
wm = -3.3077115913;
|
|
3941
|
+
ws = .2309699292;
|
|
3942
|
+
} else if (1.81444104 * a - 1.19445276 * b > 1) {
|
|
3943
|
+
k0 = .73956515;
|
|
3944
|
+
k1 = -.45954404;
|
|
3945
|
+
k2 = .08285427;
|
|
3946
|
+
k3 = .1254107;
|
|
3947
|
+
k4 = .14503204;
|
|
3948
|
+
wl = -1.2684380046;
|
|
3949
|
+
wm = 2.6097574011;
|
|
3950
|
+
ws = -.3413193965;
|
|
3951
|
+
} else {
|
|
3952
|
+
k0 = 1.35733652;
|
|
3953
|
+
k1 = -.00915799;
|
|
3954
|
+
k2 = -1.1513021;
|
|
3955
|
+
k3 = -.50559606;
|
|
3956
|
+
k4 = .00692167;
|
|
3957
|
+
wl = -.0041960863;
|
|
3958
|
+
wm = -.7034186147;
|
|
3959
|
+
ws = 1.707614701;
|
|
3960
|
+
}
|
|
3961
|
+
let S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b;
|
|
3962
|
+
let k_l = .3963377774 * a + .2158037573 * b;
|
|
3963
|
+
let k_m = -.1055613458 * a - .0638541728 * b;
|
|
3964
|
+
let k_s = -.0894841775 * a - 1.291485548 * b;
|
|
3965
|
+
{
|
|
3966
|
+
let l_ = 1 + S * k_l;
|
|
3967
|
+
let m_ = 1 + S * k_m;
|
|
3968
|
+
let s_ = 1 + S * k_s;
|
|
3969
|
+
let l = l_ * l_ * l_;
|
|
3970
|
+
let m = m_ * m_ * m_;
|
|
3971
|
+
let s = s_ * s_ * s_;
|
|
3972
|
+
let l_dS = 3 * k_l * l_ * l_;
|
|
3973
|
+
let m_dS = 3 * k_m * m_ * m_;
|
|
3974
|
+
let s_dS = 3 * k_s * s_ * s_;
|
|
3975
|
+
let l_dS2 = 6 * k_l * k_l * l_;
|
|
3976
|
+
let m_dS2 = 6 * k_m * k_m * m_;
|
|
3977
|
+
let s_dS2 = 6 * k_s * k_s * s_;
|
|
3978
|
+
let f$3 = wl * l + wm * m + ws * s;
|
|
3979
|
+
let f1 = wl * l_dS + wm * m_dS + ws * s_dS;
|
|
3980
|
+
let f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2;
|
|
3981
|
+
S = S - f$3 * f1 / (f1 * f1 - .5 * f$3 * f2);
|
|
3982
|
+
}
|
|
3983
|
+
return S;
|
|
3984
|
+
}
|
|
3985
|
+
function find_cusp(a, b) {
|
|
3986
|
+
let S_cusp = compute_max_saturation(a, b);
|
|
3987
|
+
let rgb$2 = convertOklabToLrgb_default({
|
|
3988
|
+
l: 1,
|
|
3989
|
+
a: S_cusp * a,
|
|
3990
|
+
b: S_cusp * b
|
|
3991
|
+
});
|
|
3992
|
+
let L_cusp = Math.cbrt(1 / Math.max(rgb$2.r, rgb$2.g, rgb$2.b));
|
|
3993
|
+
let C_cusp = L_cusp * S_cusp;
|
|
3994
|
+
return [L_cusp, C_cusp];
|
|
3995
|
+
}
|
|
3996
|
+
function get_ST_max(a_, b_, cusp = null) {
|
|
3997
|
+
if (!cusp) cusp = find_cusp(a_, b_);
|
|
3998
|
+
let L = cusp[0];
|
|
3999
|
+
let C = cusp[1];
|
|
4000
|
+
return [C / L, C / (1 - L)];
|
|
4001
|
+
}
|
|
4002
|
+
|
|
4003
|
+
//#endregion
|
|
4004
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/okhsv/convertOklabToOkhsv.js
|
|
4005
|
+
function convertOklabToOkhsv(lab) {
|
|
4006
|
+
let l = lab.l !== void 0 ? lab.l : 0;
|
|
4007
|
+
let a = lab.a !== void 0 ? lab.a : 0;
|
|
4008
|
+
let b = lab.b !== void 0 ? lab.b : 0;
|
|
4009
|
+
let c$2 = Math.sqrt(a * a + b * b);
|
|
4010
|
+
let a_ = c$2 ? a / c$2 : 1;
|
|
4011
|
+
let b_ = c$2 ? b / c$2 : 1;
|
|
4012
|
+
let [S_max, T] = get_ST_max(a_, b_);
|
|
4013
|
+
let S_0 = .5;
|
|
4014
|
+
let k$4 = 1 - S_0 / S_max;
|
|
4015
|
+
let t = T / (c$2 + l * T);
|
|
4016
|
+
let L_v = t * l;
|
|
4017
|
+
let C_v = t * c$2;
|
|
4018
|
+
let L_vt = toe_inv(L_v);
|
|
4019
|
+
let C_vt = C_v * L_vt / L_v;
|
|
4020
|
+
let rgb_scale = convertOklabToLrgb_default({
|
|
4021
|
+
l: L_vt,
|
|
4022
|
+
a: a_ * C_vt,
|
|
4023
|
+
b: b_ * C_vt
|
|
4024
|
+
});
|
|
4025
|
+
let scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
|
|
4026
|
+
l = l / scale_L;
|
|
4027
|
+
c$2 = c$2 / scale_L * toe(l) / l;
|
|
4028
|
+
l = toe(l);
|
|
4029
|
+
const ret = {
|
|
4030
|
+
mode: "okhsv",
|
|
4031
|
+
s: c$2 ? (S_0 + T) * C_v / (T * S_0 + T * k$4 * C_v) : 0,
|
|
4032
|
+
v: l ? l / L_v : 0
|
|
4033
|
+
};
|
|
4034
|
+
if (ret.s) ret.h = normalizeHue_default(Math.atan2(b, a) * 180 / Math.PI);
|
|
4035
|
+
if (lab.alpha !== void 0) ret.alpha = lab.alpha;
|
|
4036
|
+
return ret;
|
|
4037
|
+
}
|
|
4038
|
+
|
|
4039
|
+
//#endregion
|
|
4040
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/okhsv/convertOkhsvToOklab.js
|
|
4041
|
+
function convertOkhsvToOklab(hsv) {
|
|
4042
|
+
const ret = { mode: "oklab" };
|
|
4043
|
+
if (hsv.alpha !== void 0) ret.alpha = hsv.alpha;
|
|
4044
|
+
const h = hsv.h !== void 0 ? hsv.h : 0;
|
|
4045
|
+
const s = hsv.s !== void 0 ? hsv.s : 0;
|
|
4046
|
+
const v = hsv.v !== void 0 ? hsv.v : 0;
|
|
4047
|
+
const a_ = Math.cos(h / 180 * Math.PI);
|
|
4048
|
+
const b_ = Math.sin(h / 180 * Math.PI);
|
|
4049
|
+
const [S_max, T] = get_ST_max(a_, b_);
|
|
4050
|
+
const S_0 = .5;
|
|
4051
|
+
const k$4 = 1 - S_0 / S_max;
|
|
4052
|
+
const L_v = 1 - s * S_0 / (S_0 + T - T * k$4 * s);
|
|
4053
|
+
const C_v = s * T * S_0 / (S_0 + T - T * k$4 * s);
|
|
4054
|
+
const L_vt = toe_inv(L_v);
|
|
4055
|
+
const C_vt = C_v * L_vt / L_v;
|
|
4056
|
+
const rgb_scale = convertOklabToLrgb_default({
|
|
4057
|
+
l: L_vt,
|
|
4058
|
+
a: a_ * C_vt,
|
|
4059
|
+
b: b_ * C_vt
|
|
4060
|
+
});
|
|
4061
|
+
const scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
|
|
4062
|
+
const L_new = toe_inv(v * L_v);
|
|
4063
|
+
const C = C_v * L_new / L_v;
|
|
4064
|
+
ret.l = L_new * scale_L;
|
|
4065
|
+
ret.a = C * a_ * scale_L;
|
|
4066
|
+
ret.b = C * b_ * scale_L;
|
|
4067
|
+
return ret;
|
|
4068
|
+
}
|
|
4069
|
+
|
|
4070
|
+
//#endregion
|
|
4071
|
+
//#region ../../node_modules/.pnpm/culori@4.0.1/node_modules/culori/src/okhsv/modeOkhsv.js
|
|
4072
|
+
const modeOkhsv = {
|
|
4073
|
+
...definition_default$15,
|
|
4074
|
+
mode: "okhsv",
|
|
4075
|
+
channels: [
|
|
4076
|
+
"h",
|
|
4077
|
+
"s",
|
|
4078
|
+
"v",
|
|
4079
|
+
"alpha"
|
|
4080
|
+
],
|
|
4081
|
+
parse: ["--okhsv"],
|
|
4082
|
+
serialize: "--okhsv",
|
|
4083
|
+
fromMode: {
|
|
4084
|
+
oklab: convertOklabToOkhsv,
|
|
4085
|
+
rgb: (c$2) => convertOklabToOkhsv(convertRgbToOklab_default(c$2))
|
|
4086
|
+
},
|
|
4087
|
+
toMode: {
|
|
4088
|
+
oklab: convertOkhsvToOklab,
|
|
4089
|
+
rgb: (c$2) => convertOklabToRgb_default(convertOkhsvToOklab(c$2))
|
|
4090
|
+
}
|
|
4091
|
+
};
|
|
4092
|
+
var modeOkhsv_default = modeOkhsv;
|
|
4093
|
+
|
|
3601
4094
|
//#endregion
|
|
3602
4095
|
//#region ../token-tools/dist/css.js
|
|
3603
4096
|
const CSS_VAR_RE = /(?:(\p{Uppercase_Letter}?[\p{Lowercase_Letter}\p{Number}]+|[\p{Uppercase_Letter}\p{Number}]+|[\u{80}-\u{10FFFF}\p{Number}]+)|.)/u;
|
|
@@ -3615,13 +4108,14 @@ function makeCSSVar(name, { prefix, wrapVar = false } = {}) {
|
|
|
3615
4108
|
const converters = {
|
|
3616
4109
|
a98: useMode(definition_default),
|
|
3617
4110
|
hsl: useMode(definition_default$1),
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
4111
|
+
hwb: useMode(definition_default$2),
|
|
4112
|
+
lab: useMode(definition_default$3),
|
|
4113
|
+
lab65: useMode(definition_default$4),
|
|
3621
4114
|
lch: useMode(definition_default$5),
|
|
3622
4115
|
lrgb: useMode(definition_default$6),
|
|
3623
4116
|
oklab: useMode(definition_default$7),
|
|
3624
4117
|
oklch: useMode(definition_default$8),
|
|
4118
|
+
okhsv: useMode(modeOkhsv_default),
|
|
3625
4119
|
p3: useMode(definition_default$9),
|
|
3626
4120
|
prophoto: useMode(definition_default$10),
|
|
3627
4121
|
rec2020: useMode(definition_default$11),
|
|
@@ -3735,11 +4229,11 @@ function wildcardMatch(pattern, options) {
|
|
|
3735
4229
|
if (options.separator === "\\") throw new Error("\\ is not a valid separator because it is used for escaping. Try setting the separator to `true` instead");
|
|
3736
4230
|
var regexpPattern = transform(pattern, options.separator);
|
|
3737
4231
|
var regexp = new RegExp("^".concat(regexpPattern, "$"), options.flags);
|
|
3738
|
-
var fn$
|
|
3739
|
-
fn$
|
|
3740
|
-
fn$
|
|
3741
|
-
fn$
|
|
3742
|
-
return fn$
|
|
4232
|
+
var fn$5 = isMatch.bind(null, regexp);
|
|
4233
|
+
fn$5.options = options;
|
|
4234
|
+
fn$5.pattern = pattern;
|
|
4235
|
+
fn$5.regexp = regexp;
|
|
4236
|
+
return fn$5;
|
|
3743
4237
|
}
|
|
3744
4238
|
|
|
3745
4239
|
//#endregion
|