@terrazzo/plugin-tailwind 0.2.1 → 0.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # @terrazzo/plugin-tailwind
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#510](https://github.com/terrazzoapp/terrazzo/pull/510) [`4493731`](https://github.com/terrazzoapp/terrazzo/commit/4493731a4d458af45a1bb4c56e3fe0d42d66aeef) Thanks [@drwpow](https://github.com/drwpow)! - Reduce decimal places in color output.
8
+ - [plugin-css] ⚠️ Minor breaking change: decimals have been simplified in output. To restore original behavior, pass in `colorDepth: 'unlimited'`
9
+
10
+ - Updated dependencies [[`4493731`](https://github.com/terrazzoapp/terrazzo/commit/4493731a4d458af45a1bb4c56e3fe0d42d66aeef)]:
11
+ - @terrazzo/token-tools@0.10.1
12
+ - @terrazzo/plugin-css@0.10.1
13
+ - @terrazzo/cli@0.10.1
14
+
15
+ ## 0.3.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [#507](https://github.com/terrazzoapp/terrazzo/pull/507) [`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change: remove HSV as a supported colorSpace, because it’s absent from CSS Color Module 4
20
+
21
+ - [#507](https://github.com/terrazzoapp/terrazzo/pull/507) [`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change: align color token ranges to CSS Color Module 4. This results in breaking changes to HSL and HWB, which normalize to `0 - 100`, rather than `0 - 1`:
22
+
23
+ ```diff
24
+ {
25
+ "colorSpace": "hsl",
26
+ - "components": [270, 0.5, 0.4]
27
+ + "components": [270, 50, 40]
28
+ }
29
+ ```
30
+
31
+ All other color spaces should be unaffected, as they were already matching CSS Color Module 4.
32
+
33
+ ### Patch Changes
34
+
35
+ - [#507](https://github.com/terrazzoapp/terrazzo/pull/507) [`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a) Thanks [@drwpow](https://github.com/drwpow)! - Fix a98-rgb colorSpace, accidentally referring to it as "a98"
36
+
37
+ - Updated dependencies [[`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a), [`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a), [`0060100`](https://github.com/terrazzoapp/terrazzo/commit/00601002a731dc009fb4ef2b438a01b087325a1a)]:
38
+ - @terrazzo/token-tools@0.10.0
39
+ - @terrazzo/cli@0.10.0
40
+ - @terrazzo/plugin-css@0.10.0
41
+
3
42
  ## 0.2.1
4
43
 
5
44
  ### Patch Changes
package/dist/index.js CHANGED
@@ -605,7 +605,7 @@ const definition$15 = {
605
605
  b: 0
606
606
  }
607
607
  };
608
- var definition_default$13 = definition$15;
608
+ var definition_default$12 = definition$15;
609
609
  const linearize$2 = (v = 0) => Math.pow(Math.abs(v), 563 / 256) * Math.sign(v);
610
610
  const convertA98ToXyz65 = (a98) => {
611
611
  let r$1 = linearize$2(a98.r);
@@ -694,7 +694,7 @@ const convertXyz65ToRgb = ({ x, y, z, alpha }) => {
694
694
  };
695
695
  var convertXyz65ToRgb_default = convertXyz65ToRgb;
696
696
  const definition$14 = {
697
- ...definition_default$13,
697
+ ...definition_default$12,
698
698
  mode: "a98",
699
699
  parse: ["a98-rgb"],
700
700
  serialize: "a98-rgb",
@@ -1011,7 +1011,7 @@ const definition$12 = {
1011
1011
  difference: { h: differenceHueSaturation },
1012
1012
  average: { h: averageAngle }
1013
1013
  };
1014
- var definition_default$2 = definition$12;
1014
+ var definition_default$15 = definition$12;
1015
1015
  function convertHwbToRgb({ h, w, b, alpha }) {
1016
1016
  if (w === void 0) w = 0;
1017
1017
  if (b === void 0) b = 0;
@@ -1090,7 +1090,7 @@ const definition$11 = {
1090
1090
  difference: { h: differenceHueNaive },
1091
1091
  average: { h: averageAngle }
1092
1092
  };
1093
- var definition_default$3 = definition$11;
1093
+ var definition_default$2 = definition$11;
1094
1094
  const k$1 = Math.pow(29, 3) / Math.pow(3, 3);
1095
1095
  const e$1 = Math.pow(6, 3) / Math.pow(29, 3);
1096
1096
  const D50 = {
@@ -1204,8 +1204,8 @@ const definition$10 = {
1204
1204
  ],
1205
1205
  ranges: {
1206
1206
  l: [0, 100],
1207
- a: [-100, 100],
1208
- b: [-100, 100]
1207
+ a: [-125, 125],
1208
+ b: [-125, 125]
1209
1209
  },
1210
1210
  parse: [parseLab_default],
1211
1211
  serialize: (c$1) => `lab(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.a !== void 0 ? c$1.a : "none"} ${c$1.b !== void 0 ? c$1.b : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`,
@@ -1219,7 +1219,7 @@ const definition$10 = {
1219
1219
  }
1220
1220
  }
1221
1221
  };
1222
- var definition_default$4 = definition$10;
1222
+ var definition_default$3 = definition$10;
1223
1223
  const k = Math.pow(29, 3) / Math.pow(3, 3);
1224
1224
  const e = Math.pow(6, 3) / Math.pow(29, 3);
1225
1225
  let fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
@@ -1267,7 +1267,7 @@ const convertRgbToLab65 = (rgb$2) => {
1267
1267
  };
1268
1268
  var convertRgbToLab65_default = convertRgbToLab65;
1269
1269
  const definition$9 = {
1270
- ...definition_default$4,
1270
+ ...definition_default$3,
1271
1271
  mode: "lab65",
1272
1272
  parse: ["--lab-d65"],
1273
1273
  serialize: "--lab-d65",
@@ -1281,11 +1281,11 @@ const definition$9 = {
1281
1281
  },
1282
1282
  ranges: {
1283
1283
  l: [0, 100],
1284
- a: [-86.182, 98.234],
1285
- b: [-107.86, 94.477]
1284
+ a: [-125, 125],
1285
+ b: [-125, 125]
1286
1286
  }
1287
1287
  };
1288
- var definition_default$5 = definition$9;
1288
+ var definition_default$4 = definition$9;
1289
1289
  const convertLabToLch = ({ l, a, b, alpha }, mode = "lch") => {
1290
1290
  if (a === void 0) a = 0;
1291
1291
  if (b === void 0) b = 0;
@@ -1367,28 +1367,28 @@ const definition$8 = {
1367
1367
  difference: { h: differenceHueChroma },
1368
1368
  average: { h: averageAngle }
1369
1369
  };
1370
- var definition_default$6 = definition$8;
1370
+ var definition_default$5 = definition$8;
1371
1371
  const definition$7 = {
1372
- ...definition_default$13,
1372
+ ...definition_default$12,
1373
1373
  mode: "lrgb",
1374
1374
  toMode: { rgb: convertLrgbToRgb_default },
1375
1375
  fromMode: { rgb: convertRgbToLrgb_default },
1376
1376
  parse: ["srgb-linear"],
1377
1377
  serialize: "srgb-linear"
1378
1378
  };
1379
- var definition_default$7 = definition$7;
1379
+ var definition_default$6 = definition$7;
1380
1380
  const convertOklabToLrgb = ({ l, a, b, alpha }) => {
1381
1381
  if (l === void 0) l = 0;
1382
1382
  if (a === void 0) a = 0;
1383
1383
  if (b === void 0) b = 0;
1384
- let L = Math.pow(l * .9999999984505198 + .39633779217376786 * a + .2158037580607588 * b, 3);
1385
- let M = Math.pow(l * 1.0000000088817609 - .10556134232365635 * a - .06385417477170591 * b, 3);
1386
- let S = Math.pow(l * 1.0000000546724108 - .08948418209496575 * a - 1.2914855378640917 * b, 3);
1384
+ let L = Math.pow(l + .3963377773761749 * a + .2158037573099136 * b, 3);
1385
+ let M = Math.pow(l - .1055613458156586 * a - .0638541728258133 * b, 3);
1386
+ let S = Math.pow(l - .0894841775298119 * a - 1.2914855480194092 * b, 3);
1387
1387
  let res = {
1388
1388
  mode: "lrgb",
1389
- r: 4.076741661347994 * L - 3.307711590408193 * M + .230969928729428 * S,
1390
- g: -1.2684380040921763 * L + 2.6097574006633715 * M - .3413193963102197 * S,
1391
- b: -.004196086541837188 * L - .7034186144594493 * M + 1.7076147009309444 * S
1389
+ r: 4.076741636075957 * L - 3.3077115392580616 * M + .2309699031821044 * S,
1390
+ g: -1.2684379732850317 * L + 2.6097573492876887 * M - .3413193760026573 * S,
1391
+ b: -.0041960761386756 * L - .7034186179359362 * M + 1.7076146940746117 * S
1392
1392
  };
1393
1393
  if (alpha !== void 0) res.alpha = alpha;
1394
1394
  return res;
@@ -1398,14 +1398,14 @@ const convertLrgbToOklab = ({ r: r$1, g, b, alpha }) => {
1398
1398
  if (r$1 === void 0) r$1 = 0;
1399
1399
  if (g === void 0) g = 0;
1400
1400
  if (b === void 0) b = 0;
1401
- let L = Math.cbrt(.41222147079999993 * r$1 + .5363325363 * g + .0514459929 * b);
1402
- let M = Math.cbrt(.2119034981999999 * r$1 + .6806995450999999 * g + .1073969566 * b);
1403
- let S = Math.cbrt(.08830246189999998 * r$1 + .2817188376 * g + .6299787005000002 * b);
1401
+ let L = Math.cbrt(.412221469470763 * r$1 + .5363325372617348 * g + .0514459932675022 * b);
1402
+ let M = Math.cbrt(.2119034958178252 * r$1 + .6806995506452344 * g + .1073969535369406 * b);
1403
+ let S = Math.cbrt(.0883024591900564 * r$1 + .2817188391361215 * g + .6299787016738222 * b);
1404
1404
  let res = {
1405
1405
  mode: "oklab",
1406
- l: .2104542553 * L + .793617785 * M - .0040720468 * S,
1407
- a: 1.9779984951 * L - 2.428592205 * M + .4505937099 * S,
1408
- b: .0259040371 * L + .7827717662 * M - .808675766 * S
1406
+ l: .210454268309314 * L + .7936177747023054 * M - .0040720430116193 * S,
1407
+ a: 1.9779985324311684 * L - 2.42859224204858 * M + .450593709617411 * S,
1408
+ b: .0259040424655478 * L + .7827717124575296 * M - .8086757549230774 * S
1409
1409
  };
1410
1410
  if (alpha !== void 0) res.alpha = alpha;
1411
1411
  return res;
@@ -1432,7 +1432,7 @@ function parseOklab(color, parsed) {
1432
1432
  }
1433
1433
  var parseOklab_default = parseOklab;
1434
1434
  const definition$6 = {
1435
- ...definition_default$4,
1435
+ ...definition_default$3,
1436
1436
  mode: "oklab",
1437
1437
  toMode: {
1438
1438
  lrgb: convertOklabToLrgb_default,
@@ -1450,7 +1450,7 @@ const definition$6 = {
1450
1450
  parse: [parseOklab_default],
1451
1451
  serialize: (c$1) => `oklab(${c$1.l !== void 0 ? c$1.l : "none"} ${c$1.a !== void 0 ? c$1.a : "none"} ${c$1.b !== void 0 ? c$1.b : "none"}${c$1.alpha < 1 ? ` / ${c$1.alpha}` : ""})`
1452
1452
  };
1453
- var definition_default$8 = definition$6;
1453
+ var definition_default$7 = definition$6;
1454
1454
  function parseOklch(color, parsed) {
1455
1455
  if (!parsed || parsed[0] !== "oklch") return void 0;
1456
1456
  const res = { mode: "oklch" };
@@ -1469,7 +1469,7 @@ function parseOklch(color, parsed) {
1469
1469
  }
1470
1470
  var parseOklch_default = parseOklch;
1471
1471
  const definition$5 = {
1472
- ...definition_default$6,
1472
+ ...definition_default$5,
1473
1473
  mode: "oklch",
1474
1474
  toMode: {
1475
1475
  oklab: (c$1) => convertLchToLab_default(c$1, "oklab"),
@@ -1487,7 +1487,7 @@ const definition$5 = {
1487
1487
  h: [0, 360]
1488
1488
  }
1489
1489
  };
1490
- var definition_default$9 = definition$5;
1490
+ var definition_default$8 = definition$5;
1491
1491
  const convertP3ToXyz65 = (rgb$2) => {
1492
1492
  let { r: r$1, g, b, alpha } = convertRgbToLrgb_default(rgb$2);
1493
1493
  let res = {
@@ -1514,7 +1514,7 @@ const convertXyz65ToP3 = ({ x, y, z, alpha }) => {
1514
1514
  };
1515
1515
  var convertXyz65ToP3_default = convertXyz65ToP3;
1516
1516
  const definition$4 = {
1517
- ...definition_default$13,
1517
+ ...definition_default$12,
1518
1518
  mode: "p3",
1519
1519
  parse: ["display-p3"],
1520
1520
  serialize: "display-p3",
@@ -1527,7 +1527,7 @@ const definition$4 = {
1527
1527
  xyz65: convertP3ToXyz65_default
1528
1528
  }
1529
1529
  };
1530
- var definition_default$10 = definition$4;
1530
+ var definition_default$9 = definition$4;
1531
1531
  const gamma$1 = (v) => {
1532
1532
  let abs = Math.abs(v);
1533
1533
  if (abs >= 1 / 512) return Math.sign(v) * Math.pow(abs, 1 / 1.8);
@@ -1567,7 +1567,7 @@ const convertProphotoToXyz50 = (prophoto) => {
1567
1567
  };
1568
1568
  var convertProphotoToXyz50_default = convertProphotoToXyz50;
1569
1569
  const definition$3 = {
1570
- ...definition_default$13,
1570
+ ...definition_default$12,
1571
1571
  mode: "prophoto",
1572
1572
  parse: ["prophoto-rgb"],
1573
1573
  serialize: "prophoto-rgb",
@@ -1580,7 +1580,7 @@ const definition$3 = {
1580
1580
  rgb: (color) => convertXyz50ToRgb_default(convertProphotoToXyz50_default(color))
1581
1581
  }
1582
1582
  };
1583
- var definition_default$11 = definition$3;
1583
+ var definition_default$10 = definition$3;
1584
1584
  const α$1 = 1.09929682680944;
1585
1585
  const β$1 = .018053968510807;
1586
1586
  const gamma = (v) => {
@@ -1624,7 +1624,7 @@ const convertRec2020ToXyz65 = (rec2020) => {
1624
1624
  };
1625
1625
  var convertRec2020ToXyz65_default = convertRec2020ToXyz65;
1626
1626
  const definition$2 = {
1627
- ...definition_default$13,
1627
+ ...definition_default$12,
1628
1628
  mode: "rec2020",
1629
1629
  fromMode: {
1630
1630
  xyz65: convertXyz65ToRec2020_default,
@@ -1637,7 +1637,7 @@ const definition$2 = {
1637
1637
  parse: ["rec2020"],
1638
1638
  serialize: "rec2020"
1639
1639
  };
1640
- var definition_default$12 = definition$2;
1640
+ var definition_default$11 = definition$2;
1641
1641
  const definition$1 = {
1642
1642
  mode: "xyz50",
1643
1643
  parse: ["xyz-d50"],
@@ -1671,7 +1671,7 @@ const definition$1 = {
1671
1671
  }
1672
1672
  }
1673
1673
  };
1674
- var definition_default$14 = definition$1;
1674
+ var definition_default$13 = definition$1;
1675
1675
  const convertXyz65ToXyz50 = (xyz65) => {
1676
1676
  let { x, y, z, alpha } = xyz65;
1677
1677
  if (x === void 0) x = 0;
@@ -1735,7 +1735,172 @@ const definition = {
1735
1735
  }
1736
1736
  }
1737
1737
  };
1738
- var definition_default$15 = definition;
1738
+ var definition_default$14 = definition;
1739
+ function toe(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(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(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 = 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 * f1 / (f1 * f1 - .5 * f$2 * f2);
1802
+ }
1803
+ return S;
1804
+ }
1805
+ function find_cusp(a, b) {
1806
+ let S_cusp = compute_max_saturation(a, b);
1807
+ let rgb$2 = convertOklabToLrgb_default({
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(a_, b_, cusp = null) {
1817
+ if (!cusp) cusp = find_cusp(a_, b_);
1818
+ let L = cusp[0];
1819
+ let C = cusp[1];
1820
+ return [C / L, C / (1 - L)];
1821
+ }
1822
+ function convertOklabToOkhsv(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 = Math.sqrt(a * a + b * b);
1827
+ let a_ = c$1 ? a / c$1 : 1;
1828
+ let b_ = c$1 ? b / c$1 : 1;
1829
+ let [S_max, T] = get_ST_max(a_, b_);
1830
+ let S_0 = .5;
1831
+ let k$3 = 1 - S_0 / S_max;
1832
+ let t = T / (c$1 + l * T);
1833
+ let L_v = t * l;
1834
+ let C_v = t * c$1;
1835
+ let L_vt = toe_inv(L_v);
1836
+ let C_vt = C_v * L_vt / L_v;
1837
+ let rgb_scale = convertOklabToLrgb_default({
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 = c$1 / scale_L * toe(l) / l;
1845
+ l = toe(l);
1846
+ const ret = {
1847
+ mode: "okhsv",
1848
+ s: c$1 ? (S_0 + T) * C_v / (T * S_0 + T * k$3 * C_v) : 0,
1849
+ v: l ? l / L_v : 0
1850
+ };
1851
+ if (ret.s) ret.h = normalizeHue_default(Math.atan2(b, a) * 180 / Math.PI);
1852
+ if (lab.alpha !== void 0) ret.alpha = lab.alpha;
1853
+ return ret;
1854
+ }
1855
+ function convertOkhsvToOklab(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(a_, b_);
1864
+ const S_0 = .5;
1865
+ const k$3 = 1 - S_0 / S_max;
1866
+ const L_v = 1 - s * S_0 / (S_0 + T - T * k$3 * s);
1867
+ const C_v = s * T * S_0 / (S_0 + T - T * k$3 * s);
1868
+ const L_vt = toe_inv(L_v);
1869
+ const C_vt = C_v * L_vt / L_v;
1870
+ const rgb_scale = convertOklabToLrgb_default({
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(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 = {
1884
+ ...definition_default$15,
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,
1896
+ rgb: (c$1) => convertOklabToOkhsv(convertRgbToOklab_default(c$1))
1897
+ },
1898
+ toMode: {
1899
+ oklab: convertOkhsvToOklab,
1900
+ rgb: (c$1) => convertOklabToRgb_default(convertOkhsvToOklab(c$1))
1901
+ }
1902
+ };
1903
+ var modeOkhsv_default = modeOkhsv;
1739
1904
  const r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision;
1740
1905
  const round = (precision = 4) => (value) => typeof value === "number" ? r(value, precision) : value;
1741
1906
  var round_default = round;
@@ -1746,20 +1911,26 @@ const rgb = converter_default("rgb");
1746
1911
  const converters = {
1747
1912
  a98: useMode(definition_default),
1748
1913
  hsl: useMode(definition_default$1),
1749
- hsv: useMode(definition_default$2),
1750
- hwb: useMode(definition_default$3),
1751
- lab: useMode(definition_default$4),
1752
- lab65: useMode(definition_default$5),
1753
- lch: useMode(definition_default$6),
1754
- lrgb: useMode(definition_default$7),
1755
- oklab: useMode(definition_default$8),
1756
- oklch: useMode(definition_default$9),
1757
- p3: useMode(definition_default$10),
1758
- prophoto: useMode(definition_default$11),
1759
- rec2020: useMode(definition_default$12),
1760
- rgb: useMode(definition_default$13),
1761
- xyz50: useMode(definition_default$14),
1762
- xyz65: useMode(definition_default$15)
1914
+ hwb: useMode(definition_default$2),
1915
+ lab: useMode(definition_default$3),
1916
+ lab65: useMode(definition_default$4),
1917
+ lch: useMode(definition_default$5),
1918
+ lrgb: useMode(definition_default$6),
1919
+ oklab: useMode(definition_default$7),
1920
+ oklch: useMode(definition_default$8),
1921
+ okhsv: useMode(modeOkhsv_default),
1922
+ p3: useMode(definition_default$9),
1923
+ prophoto: useMode(definition_default$10),
1924
+ rec2020: useMode(definition_default$11),
1925
+ rgb: useMode(definition_default$12),
1926
+ xyz50: useMode(definition_default$13),
1927
+ xyz65: useMode(definition_default$14)
1928
+ };
1929
+ const DEPTH_ROUNDING = {
1930
+ 24: round_default(4),
1931
+ 30: round_default(4),
1932
+ 36: round_default(5),
1933
+ 48: round_default(6)
1763
1934
  };
1764
1935
  const FORMAT_ID$1 = "css";
1765
1936