html2canvas-pro 1.4.3 → 1.5.1

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +9 -4
  3. package/dist/html2canvas-pro.esm.js +842 -95
  4. package/dist/html2canvas-pro.esm.js.map +1 -1
  5. package/dist/html2canvas-pro.js +843 -96
  6. package/dist/html2canvas-pro.js.map +1 -1
  7. package/dist/html2canvas-pro.min.js +3 -3
  8. package/dist/lib/css/index.js +2 -1
  9. package/dist/lib/css/index.js.map +1 -1
  10. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +3 -3
  11. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  12. package/dist/lib/css/types/__tests__/color-tests.js +143 -34
  13. package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
  14. package/dist/lib/css/types/__tests__/image-tests.js +3 -2
  15. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  16. package/dist/lib/css/types/color-spaces/a98.js +77 -0
  17. package/dist/lib/css/types/color-spaces/a98.js.map +1 -0
  18. package/dist/lib/css/types/color-spaces/p3.js +87 -0
  19. package/dist/lib/css/types/color-spaces/p3.js.map +1 -0
  20. package/dist/lib/css/types/color-spaces/pro-photo.js +82 -0
  21. package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -0
  22. package/dist/lib/css/types/color-spaces/rec2020.js +85 -0
  23. package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -0
  24. package/dist/lib/css/types/color-spaces/srgb.js +80 -0
  25. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -0
  26. package/dist/lib/css/types/color-utilities.js +347 -0
  27. package/dist/lib/css/types/color-utilities.js.map +1 -0
  28. package/dist/lib/css/types/color.js +191 -107
  29. package/dist/lib/css/types/color.js.map +1 -1
  30. package/dist/lib/dom/replaced-elements/iframe-element-container.js +3 -2
  31. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  32. package/dist/lib/index.js +3 -2
  33. package/dist/lib/index.js.map +1 -1
  34. package/dist/lib/render/canvas/canvas-renderer.js +25 -24
  35. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  36. package/dist/lib/render/canvas/foreignobject-renderer.js +2 -2
  37. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  38. package/dist/types/css/types/color-spaces/a98.d.ts +39 -0
  39. package/dist/types/css/types/color-spaces/p3.d.ts +45 -0
  40. package/dist/types/css/types/color-spaces/pro-photo.d.ts +45 -0
  41. package/dist/types/css/types/color-spaces/rec2020.d.ts +45 -0
  42. package/dist/types/css/types/color-spaces/srgb.d.ts +38 -0
  43. package/dist/types/css/types/color-utilities.d.ts +108 -0
  44. package/dist/types/css/types/color.d.ts +0 -3
  45. package/package.json +5 -3
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * Pro Photo related functions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertProPhoto = exports.proPhotoFromXYZ = exports.proPhotoToXYZ = exports.proPhotoLinearToProPhoto = exports.proPhotoToProPhotoLinear = exports.xyzToProPhotoLinear = exports.proPhotoLinearToXyz = void 0;
7
+ var color_utilities_1 = require("../color-utilities");
8
+ /**
9
+ * Convert linear-light display-p3 to XYZ D65
10
+ *
11
+ * @param p3
12
+ */
13
+ var proPhotoLinearToXyz = function (p3) {
14
+ return color_utilities_1.multiplyMatrices(
15
+ // eslint-disable-next-line prettier/prettier
16
+ [0.79776664490064230, 0.13518129740053308, 0.03134773412839220, 0.28807482881940130, 0.71183523424187300, 0.00008993693872564, 0.0, 0.0, 0.82510460251046020], p3);
17
+ };
18
+ exports.proPhotoLinearToXyz = proPhotoLinearToXyz;
19
+ /**
20
+ * Convert XYZ D65 to linear-light display-p3
21
+ *
22
+ * @param xyz
23
+ */
24
+ var xyzToProPhotoLinear = function (xyz) {
25
+ return color_utilities_1.multiplyMatrices(
26
+ // eslint-disable-next-line prettier/prettier
27
+ [1.34578688164715830, -0.25557208737979464, -0.05110186497554526, -0.54463070512490190, 1.50824774284514680, 0.02052744743642139, 0.0, 0.0, 1.21196754563894520], xyz);
28
+ };
29
+ exports.xyzToProPhotoLinear = xyzToProPhotoLinear;
30
+ /**
31
+ * Convert Pro-Photo to Pro-Photo Linear
32
+ *
33
+ * @param p3
34
+ */
35
+ var proPhotoToProPhotoLinear = function (p3) {
36
+ return p3.map(function (c) {
37
+ return c < 16 / 512 ? c / 16 : Math.pow(c, 1.8);
38
+ });
39
+ };
40
+ exports.proPhotoToProPhotoLinear = proPhotoToProPhotoLinear;
41
+ /**
42
+ * Convert Pro-Photo Linear to Pro-Photo
43
+ *
44
+ * @param p3
45
+ */
46
+ var proPhotoLinearToProPhoto = function (p3) {
47
+ return p3.map(function (c) {
48
+ return c > 1 / 512 ? Math.pow(c, (1 / 1.8)) : c * 16;
49
+ });
50
+ };
51
+ exports.proPhotoLinearToProPhoto = proPhotoLinearToProPhoto;
52
+ /**
53
+ * Convert Pro-Photo to XYZ
54
+ *
55
+ * @param args
56
+ */
57
+ var proPhotoToXYZ = function (args) {
58
+ var prophoto_linear = exports.proPhotoToProPhotoLinear([args[0], args[1], args[2]]);
59
+ return color_utilities_1.d50toD65(exports.proPhotoLinearToXyz([prophoto_linear[0], prophoto_linear[1], prophoto_linear[2]]));
60
+ };
61
+ exports.proPhotoToXYZ = proPhotoToXYZ;
62
+ /**
63
+ * Convert XYZ to Pro-Photo
64
+ *
65
+ * @param args
66
+ */
67
+ var proPhotoFromXYZ = function (args) {
68
+ var _a = exports.proPhotoLinearToProPhoto(exports.xyzToProPhotoLinear(color_utilities_1.d65toD50([args[0], args[1], args[2]]))), r = _a[0], g = _a[1], b = _a[2];
69
+ return [r, g, b, args[3]];
70
+ };
71
+ exports.proPhotoFromXYZ = proPhotoFromXYZ;
72
+ /**
73
+ * Convert Pro-Photo to XYZ and Pack
74
+ *
75
+ * @param args
76
+ */
77
+ var convertProPhoto = function (args) {
78
+ var xyz = exports.proPhotoToXYZ([args[0], args[1], args[2]]);
79
+ return color_utilities_1.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
80
+ };
81
+ exports.convertProPhoto = convertProPhoto;
82
+ //# sourceMappingURL=pro-photo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pro-photo.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/pro-photo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * REC2020 related functions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.convertRec2020 = exports.rec2020FromXYZ = exports.rec2020ToXYZ = exports.xyzToRec2020Linear = exports.rec2020LinearToXyz = exports.rec2020Linear2rec2020 = exports.rec20202rec2020Linear = void 0;
7
+ var color_utilities_1 = require("../color-utilities");
8
+ var _a = 1.09929682680944;
9
+ var _b = 0.018053968510807;
10
+ /**
11
+ * Convert rec2020 to rec2020 linear
12
+ *
13
+ * @param rgb
14
+ */
15
+ var rec20202rec2020Linear = function (rgb) {
16
+ return rgb.map(function (c) {
17
+ return c < _b * 4.5 ? c / 4.5 : Math.pow((c + _a - 1) / _a, 1 / 0.45);
18
+ });
19
+ };
20
+ exports.rec20202rec2020Linear = rec20202rec2020Linear;
21
+ /**
22
+ * Convert rec2020 linear to rec2020
23
+ *
24
+ * @param rgb
25
+ */
26
+ var rec2020Linear2rec2020 = function (rgb) {
27
+ return rgb.map(function (c) {
28
+ return c >= _b ? _a * Math.pow(c, 0.45) - (_a - 1) : 4.5 * c;
29
+ });
30
+ };
31
+ exports.rec2020Linear2rec2020 = rec2020Linear2rec2020;
32
+ /**
33
+ * Convert rec2020 linear to XYZ D65
34
+ *
35
+ * @param rec
36
+ */
37
+ var rec2020LinearToXyz = function (rec) {
38
+ return color_utilities_1.multiplyMatrices(
39
+ // eslint-disable-next-line prettier/prettier
40
+ [0.6369580483012914, 0.14461690358620832, 0.1688809751641721, 0.2627002120112671, 0.6779980715188708, 0.05930171646986196, 0.0, 0.028072693049087428, 1.060985057710791
41
+ ], rec);
42
+ };
43
+ exports.rec2020LinearToXyz = rec2020LinearToXyz;
44
+ /**
45
+ * Convert XYZ D65 to rec2020 linear
46
+ *
47
+ * @param xyz
48
+ */
49
+ var xyzToRec2020Linear = function (xyz) {
50
+ return color_utilities_1.multiplyMatrices(
51
+ // eslint-disable-next-line prettier/prettier
52
+ [1.716651187971268, -0.355670783776392, -0.253366281373660, -0.666684351832489, 1.616481236634939, 0.0157685458139111, 0.017639857445311, -0.042770613257809, 0.942103121235474], xyz);
53
+ };
54
+ exports.xyzToRec2020Linear = xyzToRec2020Linear;
55
+ /**
56
+ * Convert Rec2020 to XYZ
57
+ *
58
+ * @param args
59
+ */
60
+ var rec2020ToXYZ = function (args) {
61
+ var rec2020_linear = exports.rec20202rec2020Linear([args[0], args[1], args[2]]);
62
+ return exports.rec2020LinearToXyz([rec2020_linear[0], rec2020_linear[1], rec2020_linear[2]]);
63
+ };
64
+ exports.rec2020ToXYZ = rec2020ToXYZ;
65
+ /**
66
+ * Convert XYZ to Rec2020
67
+ *
68
+ * @param args
69
+ */
70
+ var rec2020FromXYZ = function (args) {
71
+ var _c = exports.rec2020Linear2rec2020(exports.xyzToRec2020Linear([args[0], args[1], args[2]])), r = _c[0], g = _c[1], b = _c[2];
72
+ return [r, g, b, args[3]];
73
+ };
74
+ exports.rec2020FromXYZ = rec2020FromXYZ;
75
+ /**
76
+ * Convert Rec2020 to SRGB and Pack
77
+ *
78
+ * @param args
79
+ */
80
+ var convertRec2020 = function (args) {
81
+ var xyz = exports.rec2020ToXYZ([args[0], args[1], args[2]]);
82
+ return color_utilities_1.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
83
+ };
84
+ exports.convertRec2020 = convertRec2020;
85
+ //# sourceMappingURL=rec2020.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rec2020.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/rec2020.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * SRGB related functions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.srgbLinearFromXYZ = exports.srgbFromXYZ = exports.rgb2rgbLinear = exports.srgbLinear2rgb = exports.rgbLinear2xyz = exports.xyz2rgbLinear = void 0;
7
+ var color_utilities_1 = require("../color-utilities");
8
+ /**
9
+ * Convert XYZ to linear-light sRGB
10
+ *
11
+ * @param xyz
12
+ */
13
+ var xyz2rgbLinear = function (xyz) {
14
+ return color_utilities_1.multiplyMatrices(
15
+ // eslint-disable-next-line prettier/prettier
16
+ [3.2409699419045226, -1.537383177570094, -0.4986107602930034, -0.9692436362808796, 1.8759675015077202, 0.04155505740717559, 0.05563007969699366, -0.20397695888897652, 1.0569715142428786], xyz);
17
+ };
18
+ exports.xyz2rgbLinear = xyz2rgbLinear;
19
+ /**
20
+ * Convert XYZ to linear-light sRGB
21
+ *
22
+ * @param xyz
23
+ */
24
+ var rgbLinear2xyz = function (xyz) {
25
+ return color_utilities_1.multiplyMatrices(
26
+ // eslint-disable-next-line prettier/prettier
27
+ [0.41239079926595934, 0.357584339383878, 0.1804807884018343, 0.21263900587151027, 0.715168678767756, 0.07219231536073371, 0.01933081871559182, 0.11919477979462598, 0.9505321522496607], xyz);
28
+ };
29
+ exports.rgbLinear2xyz = rgbLinear2xyz;
30
+ /**
31
+ * Convert sRGB to RGB
32
+ *
33
+ * @param rgb
34
+ */
35
+ var srgbLinear2rgb = function (rgb) {
36
+ return rgb.map(function (c) {
37
+ var sign = c < 0 ? -1 : 1, abs = Math.abs(c);
38
+ // eslint-disable-next-line prettier/prettier
39
+ return abs > 0.0031308 ? sign * (1.055 * (Math.pow(abs, (1 / 2.4))) - 0.055) : (12.92 * c);
40
+ });
41
+ };
42
+ exports.srgbLinear2rgb = srgbLinear2rgb;
43
+ /**
44
+ * Convert RGB to sRGB
45
+ *
46
+ * @param rgb
47
+ */
48
+ var rgb2rgbLinear = function (rgb) {
49
+ return rgb.map(function (c) {
50
+ var sign = c < 0 ? -1 : 1, abs = Math.abs(c);
51
+ // eslint-disable-next-line prettier/prettier
52
+ return abs <= 0.04045 ? c / 12.92 : sign * (Math.pow(((abs + 0.055) / 1.055), 2.4));
53
+ });
54
+ };
55
+ exports.rgb2rgbLinear = rgb2rgbLinear;
56
+ /**
57
+ * XYZ to SRGB
58
+ *
59
+ * @param args
60
+ */
61
+ var srgbFromXYZ = function (args) {
62
+ var _a = exports.srgbLinear2rgb(exports.xyz2rgbLinear([args[0], args[1], args[2]])), r = _a[0], g = _a[1], b = _a[2];
63
+ return [r, g, b, args[3]];
64
+ };
65
+ exports.srgbFromXYZ = srgbFromXYZ;
66
+ /**
67
+ * XYZ to SRGB-Linear
68
+ * @param args
69
+ */
70
+ var srgbLinearFromXYZ = function (args) {
71
+ var _a = exports.xyz2rgbLinear([args[0], args[1], args[2]]), r = _a[0], g = _a[1], b = _a[2];
72
+ return [
73
+ color_utilities_1.clamp(Math.round(r * 255), 0, 255),
74
+ color_utilities_1.clamp(Math.round(g * 255), 0, 255),
75
+ color_utilities_1.clamp(Math.round(b * 255), 0, 255),
76
+ args[3]
77
+ ];
78
+ };
79
+ exports.srgbLinearFromXYZ = srgbLinearFromXYZ;
80
+ //# sourceMappingURL=srgb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srgb.js","sourceRoot":"","sources":["../../../../../src/css/types/color-spaces/srgb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertXyz50 = exports.convertXyz = exports.xyz50FromXYZ = exports.xyzFromXYZ = exports.xyz50ToXYZ = exports.oklabToXyz = exports.oklchToXyz = exports.lchToXyz = exports.labToXyz = exports.hslToXyz = exports.rgbToXyz = exports.hue2rgb = exports.d50toD65 = exports.d65toD50 = exports.extractOkLchComponents = exports.extractLabComponents = exports.extractLchComponents = exports.packHSL = exports.extractHslComponents = exports.packLch = exports.packOkLch = exports.packOkLab = exports.packLab = exports.packXYZ = exports.packSrgbLinear = exports.packSrgb = exports.multiplyMatrices = exports.clamp = exports.isRelativeTransform = exports.getTokenColorValue = exports.pack = exports.asString = exports.isTransparent = void 0;
4
+ var parser_1 = require("../syntax/parser");
5
+ var srgb_1 = require("./color-spaces/srgb");
6
+ var angle_1 = require("./angle");
7
+ var length_percentage_1 = require("./length-percentage");
8
+ var isTransparent = function (color) { return (0xff & color) === 0; };
9
+ exports.isTransparent = isTransparent;
10
+ var asString = function (color) {
11
+ var alpha = 0xff & color;
12
+ var blue = 0xff & (color >> 8);
13
+ var green = 0xff & (color >> 16);
14
+ var red = 0xff & (color >> 24);
15
+ return alpha < 255 ? "rgba(" + red + "," + green + "," + blue + "," + alpha / 255 + ")" : "rgb(" + red + "," + green + "," + blue + ")";
16
+ };
17
+ exports.asString = asString;
18
+ var pack = function (r, g, b, a) {
19
+ return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;
20
+ };
21
+ exports.pack = pack;
22
+ var getTokenColorValue = function (token, i) {
23
+ if (token.type === 17 /* NUMBER_TOKEN */) {
24
+ return token.number;
25
+ }
26
+ if (token.type === 16 /* PERCENTAGE_TOKEN */) {
27
+ var max = i === 3 ? 1 : 255;
28
+ return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);
29
+ }
30
+ return 0;
31
+ };
32
+ exports.getTokenColorValue = getTokenColorValue;
33
+ var isRelativeTransform = function (tokens) {
34
+ return (tokens[0].type === 20 /* IDENT_TOKEN */ ? tokens[0].value : 'unknown') === 'from';
35
+ };
36
+ exports.isRelativeTransform = isRelativeTransform;
37
+ var clamp = function (value, min, max) {
38
+ return Math.min(Math.max(value, min), max);
39
+ };
40
+ exports.clamp = clamp;
41
+ var multiplyMatrices = function (A, B) {
42
+ return [
43
+ A[0] * B[0] + A[1] * B[1] + A[2] * B[2],
44
+ A[3] * B[0] + A[4] * B[1] + A[5] * B[2],
45
+ A[6] * B[0] + A[7] * B[1] + A[8] * B[2]
46
+ ];
47
+ };
48
+ exports.multiplyMatrices = multiplyMatrices;
49
+ var packSrgb = function (args) {
50
+ return exports.pack(exports.clamp(Math.round(args[0] * 255), 0, 255), exports.clamp(Math.round(args[1] * 255), 0, 255), exports.clamp(Math.round(args[2] * 255), 0, 255), exports.clamp(args[3], 0, 1));
51
+ };
52
+ exports.packSrgb = packSrgb;
53
+ var packSrgbLinear = function (_a) {
54
+ var r = _a[0], g = _a[1], b = _a[2], a = _a[3];
55
+ var rgb = srgb_1.srgbLinear2rgb([r, g, b]);
56
+ return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), a);
57
+ };
58
+ exports.packSrgbLinear = packSrgbLinear;
59
+ var packXYZ = function (args) {
60
+ var srgb_linear = srgb_1.xyz2rgbLinear([args[0], args[1], args[2]]);
61
+ return exports.packSrgbLinear([srgb_linear[0], srgb_linear[1], srgb_linear[2], args[3]]);
62
+ };
63
+ exports.packXYZ = packXYZ;
64
+ var packLab = function (_context, args) {
65
+ if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
66
+ throw new Error('Relative color not supported for lab()');
67
+ }
68
+ var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(lab2xyz([l, a, b])));
69
+ return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
70
+ };
71
+ exports.packLab = packLab;
72
+ var packOkLab = function (_context, args) {
73
+ if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
74
+ throw new Error('Relative color not supported for oklab()');
75
+ }
76
+ var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(oklab2xyz([l, a, b])));
77
+ return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
78
+ };
79
+ exports.packOkLab = packOkLab;
80
+ var packOkLch = function (_context, args) {
81
+ if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
82
+ throw new Error('Relative color not supported for oklch()');
83
+ }
84
+ var _a = exports.extractOkLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(oklab2xyz(lch2lab([l, c, h]))));
85
+ return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), alpha);
86
+ };
87
+ exports.packOkLch = packOkLch;
88
+ var packLch = function (_context, args) {
89
+ if (exports.isRelativeTransform(args.filter(parser_1.nonFunctionArgSeparator))) {
90
+ throw new Error('Relative color not supported for lch()');
91
+ }
92
+ var _a = exports.extractLchComponents(args), l = _a[0], c = _a[1], h = _a[2], a = _a[3], rgb = srgb_1.srgbLinear2rgb(srgb_1.xyz2rgbLinear(lab2xyz(lch2lab([l, c, h]))));
93
+ return exports.pack(exports.clamp(Math.round(rgb[0] * 255), 0, 255), exports.clamp(Math.round(rgb[1] * 255), 0, 255), exports.clamp(Math.round(rgb[2] * 255), 0, 255), a);
94
+ };
95
+ exports.packLch = packLch;
96
+ var extractHslComponents = function (context, args) {
97
+ var tokens = args.filter(parser_1.nonFunctionArgSeparator), hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3], h = (hue.type === 17 /* NUMBER_TOKEN */ ? angle_1.deg(hue.number) : angle_1.angle.parse(context, hue)) / (Math.PI * 2), s = length_percentage_1.isLengthPercentage(saturation) ? saturation.number / 100 : 0, l = length_percentage_1.isLengthPercentage(lightness) ? lightness.number / 100 : 0, a = typeof alpha !== 'undefined' && length_percentage_1.isLengthPercentage(alpha) ? length_percentage_1.getAbsoluteValue(alpha, 1) : 1;
98
+ return [h, s, l, a];
99
+ };
100
+ exports.extractHslComponents = extractHslComponents;
101
+ var packHSL = function (context, args) {
102
+ if (exports.isRelativeTransform(args)) {
103
+ throw new Error('Relative color not supported for hsl()');
104
+ }
105
+ var _a = exports.extractHslComponents(context, args), h = _a[0], s = _a[1], l = _a[2], a = _a[3], rgb = hsl2rgb([h, s, l]);
106
+ return exports.pack(rgb[0] * 255, rgb[1] * 255, rgb[2] * 255, s === 0 ? 1 : a);
107
+ };
108
+ exports.packHSL = packHSL;
109
+ var extractLchComponents = function (args) {
110
+ var tokens = args.filter(parser_1.nonFunctionArgSeparator), l = length_percentage_1.isLengthPercentage(tokens[0]) ? tokens[0].number : 0, c = length_percentage_1.isLengthPercentage(tokens[1]) ? tokens[1].number : 0, h = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, a = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
111
+ return [l, c, h, a];
112
+ };
113
+ exports.extractLchComponents = extractLchComponents;
114
+ var extractLabComponents = function (args) {
115
+ var tokens = args.filter(parser_1.nonFunctionArgSeparator),
116
+ // eslint-disable-next-line prettier/prettier
117
+ l = tokens[0].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[0].number / 100 : (parser_1.isNumberToken(tokens[0]) ? tokens[0].number : 0),
118
+ // eslint-disable-next-line prettier/prettier
119
+ a = tokens[1].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[1].number / 100 : (parser_1.isNumberToken(tokens[1]) ? tokens[1].number : 0), b = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, alpha = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
120
+ return [l, a, b, alpha];
121
+ };
122
+ exports.extractLabComponents = extractLabComponents;
123
+ var extractOkLchComponents = function (args) {
124
+ var tokens = args.filter(parser_1.nonFunctionArgSeparator),
125
+ // eslint-disable-next-line prettier/prettier
126
+ l = tokens[0].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[0].number / 100 : parser_1.isNumberToken(tokens[0]) ? tokens[0].number : 0,
127
+ // eslint-disable-next-line prettier/prettier
128
+ c = tokens[1].type === 16 /* PERCENTAGE_TOKEN */ ? tokens[1].number / 100 : parser_1.isNumberToken(tokens[1]) ? tokens[1].number : 0, h = parser_1.isNumberToken(tokens[2]) || parser_1.isDimensionToken(tokens[2]) ? tokens[2].number : 0, a = typeof tokens[4] !== 'undefined' && length_percentage_1.isLengthPercentage(tokens[4]) ? length_percentage_1.getAbsoluteValue(tokens[4], 1) : 1;
129
+ return [l, c, h, a];
130
+ };
131
+ exports.extractOkLchComponents = extractOkLchComponents;
132
+ /**
133
+ * Convert D65 to D50
134
+ *
135
+ * @param xyz
136
+ */
137
+ var d65toD50 = function (xyz) {
138
+ return exports.multiplyMatrices(
139
+ // eslint-disable-next-line prettier/prettier
140
+ [1.0479297925449969, 0.022946870601609652, -0.05019226628920524, 0.02962780877005599, 0.9904344267538799, -0.017073799063418826, -0.009243040646204504, 0.015055191490298152, 0.7518742814281371], xyz);
141
+ };
142
+ exports.d65toD50 = d65toD50;
143
+ /**
144
+ * Convert D50 to D65
145
+ *
146
+ * @param xyz
147
+ */
148
+ var d50toD65 = function (xyz) {
149
+ return exports.multiplyMatrices(
150
+ // eslint-disable-next-line prettier/prettier
151
+ [0.955473421488075, -0.02309845494876471, 0.06325924320057072, -0.0283697093338637, 1.0099953980813041, 0.021041441191917323, 0.012314014864481998, -0.020507649298898964, 1.330365926242124], xyz);
152
+ };
153
+ exports.d50toD65 = d50toD65;
154
+ var hue2rgb = function (t1, t2, hue) {
155
+ if (hue < 0) {
156
+ hue += 1;
157
+ }
158
+ if (hue >= 1) {
159
+ hue -= 1;
160
+ }
161
+ if (hue < 1 / 6) {
162
+ return (t2 - t1) * hue * 6 + t1;
163
+ }
164
+ else if (hue < 1 / 2) {
165
+ return t2;
166
+ }
167
+ else if (hue < 2 / 3) {
168
+ return (t2 - t1) * 6 * (2 / 3 - hue) + t1;
169
+ }
170
+ else {
171
+ return t1;
172
+ }
173
+ };
174
+ exports.hue2rgb = hue2rgb;
175
+ var hsl2rgb = function (_a) {
176
+ var h = _a[0], s = _a[1], l = _a[2];
177
+ if (s === 0) {
178
+ return [l * 255, l * 255, l * 255];
179
+ }
180
+ var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s, t1 = l * 2 - t2, r = exports.hue2rgb(t1, t2, h + 1 / 3), g = exports.hue2rgb(t1, t2, h), b = exports.hue2rgb(t1, t2, h - 1 / 3);
181
+ return [r, g, b];
182
+ };
183
+ /**
184
+ * Convert lch to OKLab
185
+ *
186
+ * @param l
187
+ * @param c
188
+ * @param h
189
+ */
190
+ var lch2lab = function (_a) {
191
+ var l = _a[0], c = _a[1], h = _a[2];
192
+ if (c < 0) {
193
+ c = 0;
194
+ }
195
+ if (isNaN(h)) {
196
+ h = 0;
197
+ }
198
+ return [l, c * Math.cos((h * Math.PI) / 180), c * Math.sin((h * Math.PI) / 180)];
199
+ };
200
+ /**
201
+ * Convert OKLab to XYZ relative to D65
202
+ *
203
+ * @param lab
204
+ */
205
+ var oklab2xyz = function (lab) {
206
+ var LMSg = exports.multiplyMatrices(
207
+ // eslint-disable-next-line prettier/prettier
208
+ [1, 0.3963377773761749, 0.2158037573099136, 1, -0.1055613458156586, -0.0638541728258133, 1, -0.0894841775298119, -1.2914855480194092], lab), LMS = LMSg.map(function (val) { return Math.pow(val, 3); });
209
+ return exports.multiplyMatrices(
210
+ // eslint-disable-next-line prettier/prettier
211
+ [1.2268798758459243, -0.5578149944602171, 0.2813910456659647, -0.0405757452148008, 1.112286803280317, -0.0717110580655164, -0.0763729366746601, -0.4214933324022432, 1.5869240198367816], LMS);
212
+ };
213
+ /**
214
+ * Convert Lab to D50-adapted XYZ
215
+ *
216
+ * @param lab
217
+ */
218
+ var lab2xyz = function (lab) {
219
+ var fy = (lab[0] + 16) / 116, fx = lab[1] / 500 + fy, fz = fy - lab[2] / 200, k = 24389 / 27, e = 24 / 116, xyz = [
220
+ ((fx > e ? Math.pow(fx, 3) : (116 * fx - 16) / k) * 0.3457) / 0.3585,
221
+ lab[0] > 8 ? Math.pow(fy, 3) : lab[0] / k,
222
+ ((fz > e ? Math.pow(fz, 3) : (116 * fz - 16) / k) * (1.0 - 0.3457 - 0.3585)) / 0.3585
223
+ ];
224
+ return exports.d50toD65([xyz[0], xyz[1], xyz[2]]);
225
+ };
226
+ /**
227
+ * Convert RGB to XYZ
228
+ *
229
+ * @param _context
230
+ * @param args
231
+ */
232
+ var rgbToXyz = function (_context, args) {
233
+ var tokens = args.filter(parser_1.nonFunctionArgSeparator);
234
+ if (tokens.length === 3) {
235
+ var _a = tokens.map(exports.getTokenColorValue), r = _a[0], g = _a[1], b = _a[2], rgb_linear = srgb_1.rgb2rgbLinear([r / 255, g / 255, b / 255]), _b = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _b[0], y = _b[1], z = _b[2];
236
+ return [x, y, z, 1];
237
+ }
238
+ if (tokens.length === 4) {
239
+ var _c = tokens.map(exports.getTokenColorValue), r = _c[0], g = _c[1], b = _c[2], a = _c[3], rgb_linear = srgb_1.rgb2rgbLinear([r / 255, g / 255, b / 255]), _d = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _d[0], y = _d[1], z = _d[2];
240
+ return [x, y, z, a];
241
+ }
242
+ return [0, 0, 0, 1];
243
+ };
244
+ exports.rgbToXyz = rgbToXyz;
245
+ /**
246
+ * HSL to XYZ
247
+ *
248
+ * @param context
249
+ * @param args
250
+ */
251
+ var hslToXyz = function (context, args) {
252
+ var _a = exports.extractHslComponents(context, args), h = _a[0], s = _a[1], l = _a[2], a = _a[3], rgb_linear = srgb_1.rgb2rgbLinear(hsl2rgb([h, s, l])), _b = srgb_1.rgbLinear2xyz([rgb_linear[0], rgb_linear[1], rgb_linear[2]]), x = _b[0], y = _b[1], z = _b[2];
253
+ return [x, y, z, a];
254
+ };
255
+ exports.hslToXyz = hslToXyz;
256
+ /**
257
+ * LAB to XYZ
258
+ *
259
+ * @param _context
260
+ * @param args
261
+ */
262
+ var labToXyz = function (_context, args) {
263
+ var _a = exports.extractLabComponents(args), l = _a[0], a = _a[1], b = _a[2], alpha = _a[3], _b = lab2xyz([l, a, b]), x = _b[0], y = _b[1], z = _b[2];
264
+ return [x, y, z, alpha];
265
+ };
266
+ exports.labToXyz = labToXyz;
267
+ /**
268
+ * LCH to XYZ
269
+ *
270
+ * @param _context
271
+ * @param args
272
+ */
273
+ var lchToXyz = function (_context, args) {
274
+ var _a = exports.extractLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = lab2xyz(lch2lab([l, c, h])), x = _b[0], y = _b[1], z = _b[2];
275
+ return [x, y, z, alpha];
276
+ };
277
+ exports.lchToXyz = lchToXyz;
278
+ /**
279
+ * OKLch to XYZ
280
+ *
281
+ * @param _context
282
+ * @param args
283
+ */
284
+ var oklchToXyz = function (_context, args) {
285
+ var _a = exports.extractOkLchComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = oklab2xyz(lch2lab([l, c, h])), x = _b[0], y = _b[1], z = _b[2];
286
+ return [x, y, z, alpha];
287
+ };
288
+ exports.oklchToXyz = oklchToXyz;
289
+ /**
290
+ * OKLab to XYZ
291
+ *
292
+ * @param _context
293
+ * @param args
294
+ */
295
+ var oklabToXyz = function (_context, args) {
296
+ var _a = exports.extractLabComponents(args), l = _a[0], c = _a[1], h = _a[2], alpha = _a[3], _b = oklab2xyz([l, c, h]), x = _b[0], y = _b[1], z = _b[2];
297
+ return [x, y, z, alpha];
298
+ };
299
+ exports.oklabToXyz = oklabToXyz;
300
+ /**
301
+ * XYZ-50 to XYZ
302
+ *
303
+ * @param args
304
+ */
305
+ var xyz50ToXYZ = function (args) {
306
+ return exports.d50toD65([args[0], args[1], args[2]]);
307
+ };
308
+ exports.xyz50ToXYZ = xyz50ToXYZ;
309
+ /**
310
+ * Does nothing, required for SUPPORTED_COLOR_SPACES_FROM_XYZ in the _color() function
311
+ *
312
+ * @param args
313
+ */
314
+ var xyzFromXYZ = function (args) {
315
+ return args;
316
+ };
317
+ exports.xyzFromXYZ = xyzFromXYZ;
318
+ /**
319
+ * XYZ-65 to XYZ-50
320
+ *
321
+ * @param args
322
+ */
323
+ var xyz50FromXYZ = function (args) {
324
+ var _a = exports.d65toD50([args[0], args[2], args[3]]), x = _a[0], y = _a[1], z = _a[2];
325
+ return [x, y, z, args[3]];
326
+ };
327
+ exports.xyz50FromXYZ = xyz50FromXYZ;
328
+ /**
329
+ * Convert XYZ to SRGB and Pack
330
+ *
331
+ * @param args
332
+ */
333
+ var convertXyz = function (args) {
334
+ return exports.packXYZ([args[0], args[1], args[2], args[3]]);
335
+ };
336
+ exports.convertXyz = convertXyz;
337
+ /**
338
+ * Convert XYZ-50 to SRGB and Pack
339
+ *
340
+ * @param args
341
+ */
342
+ var convertXyz50 = function (args) {
343
+ var xyz = exports.xyz50ToXYZ([args[0], args[1], args[2]]);
344
+ return exports.packXYZ([xyz[0], xyz[1], xyz[2], args[3]]);
345
+ };
346
+ exports.convertXyz50 = convertXyz50;
347
+ //# sourceMappingURL=color-utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utilities.js","sourceRoot":"","sources":["../../../../src/css/types/color-utilities.ts"],"names":[],"mappings":"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"}