tscommons-esm-graphics 0.0.2

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 (70) hide show
  1. package/dist/enums/ecommons-color.d.mts +16 -0
  2. package/dist/enums/ecommons-color.mjs +74 -0
  3. package/dist/enums/ecommons-color.mjs.map +1 -0
  4. package/dist/enums/ehsla.d.mts +6 -0
  5. package/dist/enums/ehsla.mjs +8 -0
  6. package/dist/enums/ehsla.mjs.map +1 -0
  7. package/dist/enums/ehsva.d.mts +6 -0
  8. package/dist/enums/ehsva.mjs +8 -0
  9. package/dist/enums/ehsva.mjs.map +1 -0
  10. package/dist/enums/elaba.d.mts +6 -0
  11. package/dist/enums/elaba.mjs +8 -0
  12. package/dist/enums/elaba.mjs.map +1 -0
  13. package/dist/enums/ergba.d.mts +6 -0
  14. package/dist/enums/ergba.mjs +8 -0
  15. package/dist/enums/ergba.mjs.map +1 -0
  16. package/dist/enums/eycbcra.d.mts +6 -0
  17. package/dist/enums/eycbcra.mjs +8 -0
  18. package/dist/enums/eycbcra.mjs.map +1 -0
  19. package/dist/enums/eyiqa.d.mts +6 -0
  20. package/dist/enums/eyiqa.mjs +8 -0
  21. package/dist/enums/eyiqa.mjs.map +1 -0
  22. package/dist/enums/eyuva.d.mts +6 -0
  23. package/dist/enums/eyuva.mjs +8 -0
  24. package/dist/enums/eyuva.mjs.map +1 -0
  25. package/dist/helpers/commons-color.d.mts +25 -0
  26. package/dist/helpers/commons-color.mjs +385 -0
  27. package/dist/helpers/commons-color.mjs.map +1 -0
  28. package/dist/index.d.mts +23 -0
  29. package/dist/index.mjs +13 -0
  30. package/dist/index.mjs.map +1 -0
  31. package/dist/interfaces/icolorspace.d.mts +3 -0
  32. package/dist/interfaces/icolorspace.mjs +2 -0
  33. package/dist/interfaces/icolorspace.mjs.map +1 -0
  34. package/dist/interfaces/idimensions.d.mts +6 -0
  35. package/dist/interfaces/idimensions.mjs +2 -0
  36. package/dist/interfaces/idimensions.mjs.map +1 -0
  37. package/dist/interfaces/ihsl.d.mts +10 -0
  38. package/dist/interfaces/ihsl.mjs +2 -0
  39. package/dist/interfaces/ihsl.mjs.map +1 -0
  40. package/dist/interfaces/ihsv.d.mts +10 -0
  41. package/dist/interfaces/ihsv.mjs +2 -0
  42. package/dist/interfaces/ihsv.mjs.map +1 -0
  43. package/dist/interfaces/ilab.d.mts +10 -0
  44. package/dist/interfaces/ilab.mjs +2 -0
  45. package/dist/interfaces/ilab.mjs.map +1 -0
  46. package/dist/interfaces/irgb.d.mts +10 -0
  47. package/dist/interfaces/irgb.mjs +2 -0
  48. package/dist/interfaces/irgb.mjs.map +1 -0
  49. package/dist/interfaces/iycbcr.d.mts +10 -0
  50. package/dist/interfaces/iycbcr.mjs +2 -0
  51. package/dist/interfaces/iycbcr.mjs.map +1 -0
  52. package/dist/interfaces/iyiq.d.mts +10 -0
  53. package/dist/interfaces/iyiq.mjs +2 -0
  54. package/dist/interfaces/iyiq.mjs.map +1 -0
  55. package/dist/interfaces/iyuv.d.mts +10 -0
  56. package/dist/interfaces/iyuv.mjs +2 -0
  57. package/dist/interfaces/iyuv.mjs.map +1 -0
  58. package/dist/types/tboundary.d.mts +3 -0
  59. package/dist/types/tboundary.mjs +2 -0
  60. package/dist/types/tboundary.mjs.map +1 -0
  61. package/dist/types/tomni-colorspace.d.mts +8 -0
  62. package/dist/types/tomni-colorspace.mjs +2 -0
  63. package/dist/types/tomni-colorspace.mjs.map +1 -0
  64. package/dist/types/twidth-height.d.mts +5 -0
  65. package/dist/types/twidth-height.mjs +9 -0
  66. package/dist/types/twidth-height.mjs.map +1 -0
  67. package/dist/types/txy.d.mts +9 -0
  68. package/dist/types/txy.mjs +16 -0
  69. package/dist/types/txy.mjs.map +1 -0
  70. package/package.json +30 -0
@@ -0,0 +1,16 @@
1
+ export declare enum ECommonsColor {
2
+ RED = "red",
3
+ ORANGE = "orange",
4
+ YELLOW = "yellow",
5
+ GREEN = "green",
6
+ CYAN = "cyan",
7
+ BLUE = "blue",
8
+ INDIGO = "indigo",
9
+ MAGENTA = "magenta",
10
+ BLACK = "black",
11
+ WHITE = "white",
12
+ GREY = "grey",
13
+ SILVER = "silver"
14
+ }
15
+ export declare function fromECommonsColor(color: ECommonsColor): string;
16
+ export declare function toECommonsColor(color: string): ECommonsColor | undefined;
@@ -0,0 +1,74 @@
1
+ export var ECommonsColor;
2
+ (function (ECommonsColor) {
3
+ ECommonsColor["RED"] = "red";
4
+ ECommonsColor["ORANGE"] = "orange";
5
+ ECommonsColor["YELLOW"] = "yellow";
6
+ ECommonsColor["GREEN"] = "green";
7
+ ECommonsColor["CYAN"] = "cyan";
8
+ ECommonsColor["BLUE"] = "blue";
9
+ ECommonsColor["INDIGO"] = "indigo";
10
+ ECommonsColor["MAGENTA"] = "magenta";
11
+ ECommonsColor["BLACK"] = "black";
12
+ ECommonsColor["WHITE"] = "white";
13
+ ECommonsColor["GREY"] = "grey";
14
+ ECommonsColor["SILVER"] = "silver";
15
+ })(ECommonsColor || (ECommonsColor = {}));
16
+ export function fromECommonsColor(color) {
17
+ switch (color) {
18
+ case ECommonsColor.RED:
19
+ return ECommonsColor.RED.toString();
20
+ case ECommonsColor.ORANGE:
21
+ return ECommonsColor.ORANGE.toString();
22
+ case ECommonsColor.YELLOW:
23
+ return ECommonsColor.YELLOW.toString();
24
+ case ECommonsColor.GREEN:
25
+ return ECommonsColor.GREEN.toString();
26
+ case ECommonsColor.CYAN:
27
+ return ECommonsColor.CYAN.toString();
28
+ case ECommonsColor.BLUE:
29
+ return ECommonsColor.BLUE.toString();
30
+ case ECommonsColor.INDIGO:
31
+ return ECommonsColor.INDIGO.toString();
32
+ case ECommonsColor.MAGENTA:
33
+ return ECommonsColor.MAGENTA.toString();
34
+ case ECommonsColor.BLACK:
35
+ return ECommonsColor.BLACK.toString();
36
+ case ECommonsColor.WHITE:
37
+ return ECommonsColor.WHITE.toString();
38
+ case ECommonsColor.SILVER:
39
+ return ECommonsColor.SILVER.toString();
40
+ case ECommonsColor.GREY:
41
+ return ECommonsColor.GREY.toString();
42
+ }
43
+ throw new Error('Unknown color');
44
+ }
45
+ export function toECommonsColor(color) {
46
+ switch (color) {
47
+ case ECommonsColor.RED.toString():
48
+ return ECommonsColor.RED;
49
+ case ECommonsColor.ORANGE.toString():
50
+ return ECommonsColor.ORANGE;
51
+ case ECommonsColor.YELLOW.toString():
52
+ return ECommonsColor.YELLOW;
53
+ case ECommonsColor.GREEN.toString():
54
+ return ECommonsColor.GREEN;
55
+ case ECommonsColor.CYAN.toString():
56
+ return ECommonsColor.CYAN;
57
+ case ECommonsColor.BLUE.toString():
58
+ return ECommonsColor.BLUE;
59
+ case ECommonsColor.INDIGO.toString():
60
+ return ECommonsColor.INDIGO;
61
+ case ECommonsColor.MAGENTA.toString():
62
+ return ECommonsColor.MAGENTA;
63
+ case ECommonsColor.BLACK.toString():
64
+ return ECommonsColor.BLACK;
65
+ case ECommonsColor.WHITE.toString():
66
+ return ECommonsColor.WHITE;
67
+ case ECommonsColor.SILVER.toString():
68
+ return ECommonsColor.SILVER;
69
+ case ECommonsColor.GREY.toString():
70
+ return ECommonsColor.GREY;
71
+ }
72
+ throw new Error('Unknown color');
73
+ }
74
+ //# sourceMappingURL=ecommons-color.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecommons-color.mjs","sourceRoot":"","sources":["../../src/enums/ecommons-color.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAcX;AAdD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IAEnB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,kCAAiB,CAAA;AACnB,CAAC,EAdW,aAAa,KAAb,aAAa,QAcxB;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACrD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,GAAG;YACrB,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,aAAa,CAAC,MAAM;YACxB,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,aAAa,CAAC,MAAM;YACxB,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,aAAa,CAAC,KAAK;YACvB,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,aAAa,CAAC,IAAI;YACtB,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,aAAa,CAAC,IAAI;YACtB,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,aAAa,CAAC,MAAM;YACxB,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,aAAa,CAAC,OAAO;YACzB,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,KAAK,aAAa,CAAC,KAAK;YACvB,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,aAAa,CAAC,KAAK;YACvB,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,KAAK,aAAa,CAAC,MAAM;YACxB,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,KAAK,aAAa,CAAC,IAAI;YACtB,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC5C,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAChC,OAAO,aAAa,CAAC,GAAG,CAAC;QAC1B,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC7B,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC7B,KAAK,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClC,OAAO,aAAa,CAAC,KAAK,CAAC;QAC5B,KAAK,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO,aAAa,CAAC,IAAI,CAAC;QAC3B,KAAK,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO,aAAa,CAAC,IAAI,CAAC;QAC3B,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC7B,KAAK,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;YACpC,OAAO,aAAa,CAAC,OAAO,CAAC;QAC9B,KAAK,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClC,OAAO,aAAa,CAAC,KAAK,CAAC;QAC5B,KAAK,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClC,OAAO,aAAa,CAAC,KAAK,CAAC;QAC5B,KAAK,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,OAAO,aAAa,CAAC,MAAM,CAAC;QAC7B,KAAK,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare enum EHsla {
2
+ HUE = "hue",
3
+ SATURATION = "saturation",
4
+ LIGHTNESS = "lightness",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var EHsla;
2
+ (function (EHsla) {
3
+ EHsla["HUE"] = "hue";
4
+ EHsla["SATURATION"] = "saturation";
5
+ EHsla["LIGHTNESS"] = "lightness";
6
+ EHsla["ALPHA"] = "alpha";
7
+ })(EHsla || (EHsla = {}));
8
+ //# sourceMappingURL=ehsla.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ehsla.mjs","sourceRoot":"","sources":["../../src/enums/ehsla.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kCAAyB,CAAA;IACzB,gCAAuB,CAAA;IACvB,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,6 @@
1
+ export declare enum EHsva {
2
+ HUE = "hue",
3
+ SATURATION = "saturation",
4
+ VALUE = "value",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var EHsva;
2
+ (function (EHsva) {
3
+ EHsva["HUE"] = "hue";
4
+ EHsva["SATURATION"] = "saturation";
5
+ EHsva["VALUE"] = "value";
6
+ EHsva["ALPHA"] = "alpha";
7
+ })(EHsva || (EHsva = {}));
8
+ //# sourceMappingURL=ehsva.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ehsva.mjs","sourceRoot":"","sources":["../../src/enums/ehsva.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kCAAyB,CAAA;IACzB,wBAAe,CAAA;IACf,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,6 @@
1
+ export declare enum ELaba {
2
+ L = "l",
3
+ A = "a",
4
+ B = "b",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var ELaba;
2
+ (function (ELaba) {
3
+ ELaba["L"] = "l";
4
+ ELaba["A"] = "a";
5
+ ELaba["B"] = "b";
6
+ ELaba["ALPHA"] = "alpha";
7
+ })(ELaba || (ELaba = {}));
8
+ //# sourceMappingURL=elaba.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elaba.mjs","sourceRoot":"","sources":["../../src/enums/elaba.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,6 @@
1
+ export declare enum ERgba {
2
+ RED = "red",
3
+ GREEN = "green",
4
+ BLUE = "blue",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var ERgba;
2
+ (function (ERgba) {
3
+ ERgba["RED"] = "red";
4
+ ERgba["GREEN"] = "green";
5
+ ERgba["BLUE"] = "blue";
6
+ ERgba["ALPHA"] = "alpha";
7
+ })(ERgba || (ERgba = {}));
8
+ //# sourceMappingURL=ergba.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ergba.mjs","sourceRoot":"","sources":["../../src/enums/ergba.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,6 @@
1
+ export declare enum EYCbCra {
2
+ Y = "y",
3
+ CB = "cb",
4
+ CR = "cr",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var EYCbCra;
2
+ (function (EYCbCra) {
3
+ EYCbCra["Y"] = "y";
4
+ EYCbCra["CB"] = "cb";
5
+ EYCbCra["CR"] = "cr";
6
+ EYCbCra["ALPHA"] = "alpha";
7
+ })(EYCbCra || (EYCbCra = {}));
8
+ //# sourceMappingURL=eycbcra.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eycbcra.mjs","sourceRoot":"","sources":["../../src/enums/eycbcra.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,kBAAO,CAAA;IACP,oBAAS,CAAA;IACT,oBAAS,CAAA;IACT,0BAAe,CAAA;AACjB,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB"}
@@ -0,0 +1,6 @@
1
+ export declare enum EYiqa {
2
+ Y = "y",
3
+ I = "i",
4
+ Q = "q",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var EYiqa;
2
+ (function (EYiqa) {
3
+ EYiqa["Y"] = "y";
4
+ EYiqa["I"] = "i";
5
+ EYiqa["Q"] = "q";
6
+ EYiqa["ALPHA"] = "alpha";
7
+ })(EYiqa || (EYiqa = {}));
8
+ //# sourceMappingURL=eyiqa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eyiqa.mjs","sourceRoot":"","sources":["../../src/enums/eyiqa.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,6 @@
1
+ export declare enum EYuva {
2
+ Y = "y",
3
+ U = "u",
4
+ V = "v",
5
+ ALPHA = "alpha"
6
+ }
@@ -0,0 +1,8 @@
1
+ export var EYuva;
2
+ (function (EYuva) {
3
+ EYuva["Y"] = "y";
4
+ EYuva["U"] = "u";
5
+ EYuva["V"] = "v";
6
+ EYuva["ALPHA"] = "alpha";
7
+ })(EYuva || (EYuva = {}));
8
+ //# sourceMappingURL=eyuva.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eyuva.mjs","sourceRoot":"","sources":["../../src/enums/eyuva.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAKX;AALD,WAAY,KAAK;IACf,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,wBAAe,CAAA;AACjB,CAAC,EALW,KAAK,KAAL,KAAK,QAKhB"}
@@ -0,0 +1,25 @@
1
+ import { IRgb, IRgba } from '../interfaces/irgb.mjs';
2
+ import { IHsl, IHsla } from '../interfaces/ihsl.mjs';
3
+ import { IHsv, IHsva } from '../interfaces/ihsv.mjs';
4
+ import { IYiq, IYiqa } from '../interfaces/iyiq.mjs';
5
+ import { ILab, ILaba } from '../interfaces/ilab.mjs';
6
+ import { IYuv, IYuva } from '../interfaces/iyuv.mjs';
7
+ import { IYCbCr, IYCbCra } from '../interfaces/iycbcr.mjs';
8
+ export declare function commonsColorRgbToHsl(rgb: IRgb | IRgba): IHsl | IHsla;
9
+ export declare function commonsColorRgbToHex(rgb: IRgb, hash?: boolean): string;
10
+ export declare function commonsColorHexToRgb(hex: string): IRgb;
11
+ export declare function commonsColorHslToRgb(hsl: IHsl | IHsla): IRgb | IRgba;
12
+ export declare function commonsColorHsvToHsl(hsv: IHsv | IHsva): IHsl | IHsla;
13
+ export declare function commonsColorHslToHsv(hsl: IHsl | IHsla): IHsv | IHsva;
14
+ export declare function commonsColorHsvToRgb(hsv: IHsv | IHsva): IRgb | IRgba;
15
+ export declare function commonsColorRgbToHsv(rgb: IRgb | IRgba): IHsv | IHsva;
16
+ export declare function commonsColorRgbToYiq(rgb: IRgb | IRgba): IYiq | IYiqa;
17
+ export declare function commonsColorYiqToRgb(yiq: IYiq | IYiqa): IRgb | IRgba;
18
+ export declare function commonsColorRgbToLab(rgb: IRgb | IRgba): ILab | ILaba;
19
+ export declare function commonsColorRgbToYuv(rgb: IRgb | IRgba): IYuv | IYuva;
20
+ export declare function commonsColorRgbToYCbCr(rgb: IRgb | IRgba): IYCbCr | IYCbCra;
21
+ export declare function commonsColorBlendRgbs(rgbA: IRgb | IRgba, rgbB: IRgb | IRgba, weight: number, invertHueWheelDirection?: boolean): IRgb | IRgba;
22
+ type TOmniColorspace = IRgb | IRgba | IHsl | IHsla | IHsv | IHsva | IYiq | IYiqa | IYuv | IYuva | IYCbCr | IYCbCra | ILab | ILaba;
23
+ export declare function commonsColorColorspaceToRatios<T extends TOmniColorspace>(value: T): T;
24
+ export declare function commonsColorRelativeLuminance(rgb: IRgb): number;
25
+ export {};
@@ -0,0 +1,385 @@
1
+ import { commonsTypeHasPropertyNumber } from 'tscommons-esm-core';
2
+ import { ERgba } from '../enums/ergba.mjs';
3
+ import { EHsla } from '../enums/ehsla.mjs';
4
+ import { EHsva } from '../enums/ehsva.mjs';
5
+ import { EYiqa } from '../enums/eyiqa.mjs';
6
+ import { ELaba } from '../enums/elaba.mjs';
7
+ import { EYuva } from '../enums/eyuva.mjs';
8
+ import { EYCbCra } from '../enums/eycbcra.mjs';
9
+ export function commonsColorRgbToHsl(rgb) {
10
+ const clone = {
11
+ [ERgba.RED]: rgb[ERgba.RED],
12
+ [ERgba.GREEN]: rgb[ERgba.GREEN],
13
+ [ERgba.BLUE]: rgb[ERgba.BLUE]
14
+ };
15
+ clone[ERgba.RED] /= 255;
16
+ clone[ERgba.GREEN] /= 255;
17
+ clone[ERgba.BLUE] /= 255;
18
+ const max = Math.max(clone[ERgba.RED], clone[ERgba.GREEN], clone[ERgba.BLUE]);
19
+ const min = Math.min(clone[ERgba.RED], clone[ERgba.GREEN], clone[ERgba.BLUE]);
20
+ let h = 0;
21
+ let s = 0;
22
+ const l = (max + min) / 2;
23
+ if (max === min) {
24
+ h = s = 0; // achromatic
25
+ }
26
+ else {
27
+ const d = max - min;
28
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
29
+ switch (max) {
30
+ case clone[ERgba.RED]:
31
+ h = (clone[ERgba.GREEN] - clone[ERgba.BLUE]) / d + (clone[ERgba.GREEN] < clone[ERgba.BLUE] ? 6 : 0);
32
+ break;
33
+ case clone[ERgba.GREEN]:
34
+ h = (clone[ERgba.BLUE] - clone[ERgba.RED]) / d + 2;
35
+ break;
36
+ case clone[ERgba.BLUE]:
37
+ h = (clone[ERgba.RED] - clone[ERgba.GREEN]) / d + 4;
38
+ break;
39
+ }
40
+ h /= 6;
41
+ }
42
+ const hsl = {
43
+ [EHsla.HUE]: h * 360,
44
+ [EHsla.SATURATION]: s,
45
+ [EHsla.LIGHTNESS]: l
46
+ };
47
+ // pass-through for alpha channel
48
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
49
+ const rgba = rgb;
50
+ const hsla = hsl;
51
+ hsla[EHsla.ALPHA] = rgba[ERgba.ALPHA];
52
+ return hsla;
53
+ }
54
+ return hsl;
55
+ }
56
+ export function commonsColorRgbToHex(rgb, hash = true) {
57
+ return `${hash ? '#' : ''}${[
58
+ Math.floor(rgb[ERgba.RED]).toString(16).padStart(2, '0'),
59
+ Math.floor(rgb[ERgba.GREEN]).toString(16).padStart(2, '0'),
60
+ Math.floor(rgb[ERgba.BLUE]).toString(16).padStart(2, '0')
61
+ ]
62
+ .join('')}`;
63
+ }
64
+ export function commonsColorHexToRgb(hex) {
65
+ const regex = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
66
+ const match = regex.exec(hex);
67
+ if (!match)
68
+ throw new Error('Invalid hex color');
69
+ return {
70
+ [ERgba.RED]: parseInt(match[1], 16),
71
+ [ERgba.GREEN]: parseInt(match[2], 16),
72
+ [ERgba.BLUE]: parseInt(match[3], 16)
73
+ };
74
+ }
75
+ function hueToRgb(p, q, t) {
76
+ if (t < 0)
77
+ t += 1;
78
+ if (t > 1)
79
+ t -= 1;
80
+ if (t < 1 / 6)
81
+ return p + (q - p) * 6 * t;
82
+ if (t < 1 / 2)
83
+ return q;
84
+ if (t < 2 / 3)
85
+ return p + (q - p) * (2 / 3 - t) * 6;
86
+ return p;
87
+ }
88
+ export function commonsColorHslToRgb(hsl) {
89
+ const rgb = {
90
+ [ERgba.RED]: 0,
91
+ [ERgba.GREEN]: 0,
92
+ [ERgba.BLUE]: 0
93
+ };
94
+ const h = hsl[EHsla.HUE] / 360;
95
+ if (hsl[EHsla.SATURATION] === 0) {
96
+ rgb[ERgba.RED] = rgb[ERgba.GREEN] = rgb[ERgba.BLUE] = hsl[EHsla.LIGHTNESS];
97
+ }
98
+ else {
99
+ const q = hsl[EHsla.LIGHTNESS] < 0.5 ? hsl[EHsla.LIGHTNESS] * (1 + hsl[EHsla.SATURATION]) : hsl[EHsla.LIGHTNESS] + hsl[EHsla.SATURATION] - hsl[EHsla.LIGHTNESS] * hsl[EHsla.SATURATION];
100
+ const p = 2 * hsl[EHsla.LIGHTNESS] - q;
101
+ rgb[ERgba.RED] = hueToRgb(p, q, h + 1 / 3);
102
+ rgb[ERgba.GREEN] = hueToRgb(p, q, h);
103
+ rgb[ERgba.BLUE] = hueToRgb(p, q, h - 1 / 3);
104
+ }
105
+ rgb[ERgba.RED] = Math.round(rgb[ERgba.RED] * 255);
106
+ rgb[ERgba.GREEN] = Math.round(rgb[ERgba.GREEN] * 255);
107
+ rgb[ERgba.BLUE] = Math.round(rgb[ERgba.BLUE] * 255);
108
+ // pass-through for alpha channel
109
+ if (commonsTypeHasPropertyNumber(hsl, EHsla.ALPHA)) {
110
+ const hsla = hsl;
111
+ const rgba = rgb;
112
+ rgba[ERgba.ALPHA] = hsla[EHsla.ALPHA];
113
+ return rgba;
114
+ }
115
+ return rgb;
116
+ }
117
+ export function commonsColorHsvToHsl(hsv) {
118
+ const l = hsv[EHsva.VALUE] * (1 - (hsv[EHsva.SATURATION] / 2));
119
+ const hsl = {
120
+ [EHsla.HUE]: hsv[EHsva.HUE],
121
+ [EHsla.SATURATION]: (l === 0 || l === 1) ? 0 : ((hsv[EHsva.VALUE] - l) / Math.min(l, 1 - l)),
122
+ [EHsla.LIGHTNESS]: l
123
+ };
124
+ // pass-through for alpha channel
125
+ if (commonsTypeHasPropertyNumber(hsv, EHsva.ALPHA)) {
126
+ const hsva = hsv;
127
+ const hsla = hsl;
128
+ hsla[EHsla.ALPHA] = hsva[EHsva.ALPHA];
129
+ return hsla;
130
+ }
131
+ return hsl;
132
+ }
133
+ export function commonsColorHslToHsv(hsl) {
134
+ const v = hsl[EHsla.LIGHTNESS] + (hsl[EHsla.SATURATION] * Math.min(hsl[EHsla.LIGHTNESS], 1 - hsl[EHsla.LIGHTNESS]));
135
+ const hsv = {
136
+ [EHsva.HUE]: hsl[EHsva.HUE],
137
+ [EHsva.SATURATION]: v === 0 ? 0 : (2 * (1 - (hsl[EHsla.LIGHTNESS] / v))),
138
+ [EHsva.VALUE]: v
139
+ };
140
+ // pass-through for alpha channel
141
+ if (commonsTypeHasPropertyNumber(hsl, EHsla.ALPHA)) {
142
+ const hsla = hsl;
143
+ const hsva = hsv;
144
+ hsva[EHsva.ALPHA] = hsla[EHsla.ALPHA];
145
+ return hsva;
146
+ }
147
+ return hsv;
148
+ }
149
+ export function commonsColorHsvToRgb(hsv) {
150
+ const hsl = commonsColorHsvToHsl(hsv);
151
+ return commonsColorHslToRgb(hsl);
152
+ }
153
+ export function commonsColorRgbToHsv(rgb) {
154
+ const hsl = commonsColorRgbToHsl(rgb);
155
+ return commonsColorHslToHsv(hsl);
156
+ }
157
+ export function commonsColorRgbToYiq(rgb) {
158
+ // adapted from https://codepen.io/konsumer/pen/emMGRb
159
+ const y = ((0.299 * rgb[ERgba.RED]) + (0.587 * rgb[ERgba.GREEN]) + (0.114 * rgb[ERgba.BLUE])) / 255;
160
+ const i = ((0.596 * rgb[ERgba.RED]) + (-0.275 * rgb[ERgba.GREEN]) + (-0.321 * rgb[ERgba.BLUE])) / 255;
161
+ const q = ((0.212 * rgb[ERgba.RED]) + (-0.523 * rgb[ERgba.GREEN]) + (0.311 * rgb[ERgba.BLUE])) / 255;
162
+ const yiq = {
163
+ [EYiqa.Y]: y,
164
+ [EYiqa.I]: i,
165
+ [EYiqa.Q]: q
166
+ };
167
+ // pass-through for alpha channel
168
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
169
+ const rgba = rgb;
170
+ const yiqa = yiq;
171
+ yiqa[EYiqa.ALPHA] = rgba[ERgba.ALPHA];
172
+ return yiqa;
173
+ }
174
+ return yiq;
175
+ }
176
+ export function commonsColorYiqToRgb(yiq) {
177
+ // adapted from https://codepen.io/konsumer/pen/emMGRb
178
+ const r = (yiq[EYiqa.Y] + (0.956 * yiq[EYiqa.I]) + (0.621 * yiq[EYiqa.Q])) * 255;
179
+ const g = (yiq[EYiqa.Y] + (-0.272 * yiq[EYiqa.I]) + (-0.647 * yiq[EYiqa.Q])) * 255;
180
+ const b = (yiq[EYiqa.Y] + (-1.105 * yiq[EYiqa.I]) + (1.702 * yiq[EYiqa.Q])) * 255;
181
+ const rgb = {
182
+ [ERgba.RED]: Math.max(0, Math.min(255, r)),
183
+ [ERgba.GREEN]: Math.max(0, Math.min(255, g)),
184
+ [ERgba.BLUE]: Math.max(0, Math.min(255, b))
185
+ };
186
+ // pass-through for alpha channel
187
+ if (commonsTypeHasPropertyNumber(yiq, EYiqa.ALPHA)) {
188
+ const yiqa = yiq;
189
+ const rgba = rgb;
190
+ rgba[ERgba.ALPHA] = yiqa[EYiqa.ALPHA];
191
+ return rgba;
192
+ }
193
+ return rgb;
194
+ }
195
+ function pivotRgb(n) {
196
+ return (n > 0.04045 ? Math.pow((n + 0.055) / 1.055, 2.4) : n / 12.92) * 100;
197
+ }
198
+ function pivotXyz(n) {
199
+ const i = Math.cbrt(n);
200
+ return n > 0.008856 ? i : 7.787 * n + 16 / 116;
201
+ }
202
+ function rgbToXyz(rgb) {
203
+ const r = pivotRgb(rgb[ERgba.RED] / 255);
204
+ const g = pivotRgb(rgb[ERgba.GREEN] / 255);
205
+ const b = pivotRgb(rgb[ERgba.BLUE] / 255);
206
+ // Observer. = 2°, Illuminant = D65
207
+ return {
208
+ x: r * 0.4124 + g * 0.3576 + b * 0.1805,
209
+ y: r * 0.2126 + g * 0.7152 + b * 0.0722,
210
+ z: r * 0.0193 + g * 0.1192 + b * 0.9505
211
+ };
212
+ }
213
+ export function commonsColorRgbToLab(rgb) {
214
+ const xyz = rgbToXyz(rgb);
215
+ const REF_X = 95.047; // Observer= 2°, Illuminant= D65
216
+ const REF_Y = 100;
217
+ const REF_Z = 108.883;
218
+ const x = pivotXyz(xyz.x / REF_X);
219
+ const y = pivotXyz(xyz.y / REF_Y);
220
+ const z = pivotXyz(xyz.z / REF_Z);
221
+ const lab = {
222
+ // tslint:disable:object-literal-sort-keys
223
+ [ELaba.L]: 116 * y - 16,
224
+ [ELaba.A]: 500 * (x - y),
225
+ [ELaba.B]: 200 * (y - z)
226
+ // tslint:enable:object-literal-sort-keys
227
+ };
228
+ // pass-through for alpha channel
229
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
230
+ const rgba = rgb;
231
+ const laba = lab;
232
+ laba[ELaba.ALPHA] = rgba[ERgba.ALPHA];
233
+ return laba;
234
+ }
235
+ return lab;
236
+ }
237
+ export function commonsColorRgbToYuv(rgb) {
238
+ // adapted from:
239
+ // https://github.com/SimonWaldherr/ColorConverter.js/blob/master/colorconverter.js
240
+ const y = Math.round(0.299 * rgb[ERgba.RED] + 0.587 * rgb[ERgba.GREEN] + 0.114 * rgb[ERgba.BLUE]);
241
+ const u = Math.round((((rgb[ERgba.BLUE] - y) * 0.493) + 111) / 222 * 255);
242
+ const v = Math.round((((rgb[ERgba.RED] - y) * 0.877) + 155) / 312 * 255);
243
+ const yuv = {
244
+ // tslint:disable:object-literal-sort-keys
245
+ [EYuva.Y]: y,
246
+ [EYuva.U]: u,
247
+ [EYuva.V]: v
248
+ // tslint:enable:object-literal-sort-keys
249
+ };
250
+ // pass-through for alpha channel
251
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
252
+ const rgba = rgb;
253
+ const yuva = yuv;
254
+ yuva[EYuva.ALPHA] = rgba[ERgba.ALPHA];
255
+ return yuva;
256
+ }
257
+ return yuv;
258
+ }
259
+ export function commonsColorRgbToYCbCr(rgb) {
260
+ // adapted from:
261
+ // http://www.openspc2.org/reibun/javascript/convert/011/
262
+ const y = 0.299 * rgb[ERgba.RED] + 0.587 * rgb[ERgba.GREEN] + 0.114 * rgb[ERgba.BLUE];
263
+ const cb = rgb[ERgba.BLUE] - y;
264
+ const cr = rgb[ERgba.RED] - y;
265
+ const ycbcr = {
266
+ // tslint:disable:object-literal-sort-keys
267
+ [EYCbCra.Y]: y,
268
+ [EYCbCra.CB]: cb,
269
+ [EYCbCra.CR]: cr
270
+ // tslint:enable:object-literal-sort-keys
271
+ };
272
+ // pass-through for alpha channel
273
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
274
+ const rgba = rgb;
275
+ const ycbcra = ycbcr;
276
+ ycbcra[EYCbCra.ALPHA] = rgba[ERgba.ALPHA];
277
+ return ycbcra;
278
+ }
279
+ return ycbcr;
280
+ }
281
+ export function commonsColorBlendRgbs(rgbA, rgbB, weight, invertHueWheelDirection = false) {
282
+ let hue = 0;
283
+ const hslA = commonsColorRgbToHsl(rgbA);
284
+ const hslB = commonsColorRgbToHsl(rgbB);
285
+ if (invertHueWheelDirection) {
286
+ // hue has to be calculated inverted round the colorwheel rather than directly
287
+ if (hslA[EHsla.HUE] < rgbB[EHsla.HUE]) {
288
+ const delta = hslA[EHsla.HUE] + (1 - hslB[EHsla.HUE]);
289
+ hue = hslB[EHsla.HUE] + (delta * weight);
290
+ if (hue > 1)
291
+ hue -= 1;
292
+ }
293
+ else {
294
+ const delta = hslB[EHsla.HUE] + (1 - hslA[EHsla.HUE]);
295
+ hue = hslA[EHsla.HUE] + (delta * weight);
296
+ if (hue > 1)
297
+ hue -= 1;
298
+ }
299
+ }
300
+ else {
301
+ hue = (hslB[EHsla.HUE] * weight) + (hslA[EHsla.HUE] * (1 - weight));
302
+ }
303
+ const blend = {
304
+ [EHsla.HUE]: hue,
305
+ [EHsla.SATURATION]: (hslB[EHsla.SATURATION] * weight) + (hslA[EHsla.SATURATION] * (1 - weight)),
306
+ [EHsla.LIGHTNESS]: (hslB[EHsla.LIGHTNESS] * weight) + (hslA[EHsla.LIGHTNESS] * (1 - weight))
307
+ };
308
+ const rgb = commonsColorHslToRgb(blend);
309
+ // pass-through for alpha channel
310
+ if (commonsTypeHasPropertyNumber(rgb, ERgba.ALPHA)) {
311
+ const aa = rgbA;
312
+ const ba = rgbA;
313
+ const rgba = rgb;
314
+ rgba[EHsla.ALPHA] = (ba[EHsla.ALPHA] * weight) + (aa[EHsla.ALPHA] * (1 - weight));
315
+ return rgba;
316
+ }
317
+ return rgb;
318
+ }
319
+ function peg(value, max, min = 0) {
320
+ const delta = max - min;
321
+ value = (value - min) / delta;
322
+ return Math.max(0, Math.min(1, value));
323
+ }
324
+ export function commonsColorColorspaceToRatios(value) {
325
+ const ratios = { ...value };
326
+ if (commonsTypeHasPropertyNumber(ratios, ERgba.RED)
327
+ && commonsTypeHasPropertyNumber(ratios, ERgba.GREEN)
328
+ && commonsTypeHasPropertyNumber(ratios, ERgba.BLUE)) {
329
+ ratios[ERgba.RED] = peg(ratios[ERgba.RED], 255);
330
+ ratios[ERgba.GREEN] = peg(ratios[ERgba.GREEN], 255);
331
+ ratios[ERgba.BLUE] = peg(ratios[ERgba.BLUE], 255);
332
+ }
333
+ if (commonsTypeHasPropertyNumber(ratios, EHsla.HUE)
334
+ && commonsTypeHasPropertyNumber(ratios, EHsla.SATURATION)
335
+ && commonsTypeHasPropertyNumber(ratios, EHsla.LIGHTNESS)) {
336
+ ratios[EHsla.HUE] = peg(ratios[EHsla.HUE], 360);
337
+ }
338
+ if (commonsTypeHasPropertyNumber(ratios, EHsva.HUE)
339
+ && commonsTypeHasPropertyNumber(ratios, EHsva.SATURATION)
340
+ && commonsTypeHasPropertyNumber(ratios, EHsva.VALUE)) {
341
+ ratios[EHsva.HUE] = peg(ratios[EHsva.HUE], 360);
342
+ }
343
+ if (commonsTypeHasPropertyNumber(ratios, EYiqa.Y)
344
+ && commonsTypeHasPropertyNumber(ratios, EYiqa.I)
345
+ && commonsTypeHasPropertyNumber(ratios, EYiqa.Q)) {
346
+ ratios[EYiqa.I] = peg(ratios[EYiqa.I], 1, -1);
347
+ ratios[EYiqa.Q] = peg(ratios[EYiqa.Q], 1, -1);
348
+ }
349
+ if (commonsTypeHasPropertyNumber(ratios, EYuva.Y)
350
+ && commonsTypeHasPropertyNumber(ratios, EYuva.U)
351
+ && commonsTypeHasPropertyNumber(ratios, EYuva.V)) {
352
+ ratios[EYuva.Y] = peg(ratios[EYuva.Y], 255);
353
+ ratios[EYuva.U] = peg(ratios[EYuva.U], 255);
354
+ ratios[EYuva.V] = peg(ratios[EYuva.V], 255);
355
+ }
356
+ if (commonsTypeHasPropertyNumber(ratios, EYCbCra.Y)
357
+ && commonsTypeHasPropertyNumber(ratios, EYCbCra.CB)
358
+ && commonsTypeHasPropertyNumber(ratios, EYCbCra.CR)) {
359
+ ratios[EYCbCra.Y] = peg(ratios[EYCbCra.Y], 255);
360
+ ratios[EYCbCra.CB] = peg(ratios[EYCbCra.CB], 255, -255);
361
+ ratios[EYCbCra.CR] = peg(ratios[EYCbCra.CR], 255, -255);
362
+ }
363
+ if (commonsTypeHasPropertyNumber(ratios, ELaba.L)
364
+ && commonsTypeHasPropertyNumber(ratios, ELaba.A)
365
+ && commonsTypeHasPropertyNumber(ratios, ELaba.B)) {
366
+ ratios[ELaba.L] = peg(ratios[ELaba.L], 100);
367
+ ratios[ELaba.A] = peg(ratios[ELaba.A], 255, -255);
368
+ ratios[ELaba.B] = peg(ratios[ELaba.B], 255, -255);
369
+ }
370
+ // alpha is always assumed to be 0..255
371
+ if (commonsTypeHasPropertyNumber(ratios, ERgba.ALPHA)) {
372
+ ratios[ERgba.ALPHA] = peg(ratios[ERgba.ALPHA], 255, 0);
373
+ }
374
+ return ratios;
375
+ }
376
+ export function commonsColorRelativeLuminance(rgb) {
377
+ const rs = rgb[ERgba.RED] / 255;
378
+ const gs = rgb[ERgba.GREEN] / 255;
379
+ const bs = rgb[ERgba.BLUE] / 255;
380
+ const r = rs < 0.03928 ? (rs / 12.92) : Math.pow(((rs + 0.055) / 1.055), 2.4);
381
+ const g = gs < 0.03928 ? (gs / 12.92) : Math.pow(((gs + 0.055) / 1.055), 2.4);
382
+ const b = bs < 0.03928 ? (bs / 12.92) : Math.pow(((bs + 0.055) / 1.055), 2.4);
383
+ return (0.2126 * r) + (0.7152 * g) + (0.0722 * b);
384
+ }
385
+ //# sourceMappingURL=commons-color.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commons-color.mjs","sourceRoot":"","sources":["../../src/helpers/commons-color.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { commonsColorRgbToHsl, commonsColorRgbToHex, commonsColorHexToRgb, commonsColorHslToRgb, commonsColorHsvToHsl, commonsColorHslToHsv, commonsColorHsvToRgb, commonsColorRgbToHsv, commonsColorRgbToYiq, commonsColorYiqToRgb, commonsColorRgbToLab, commonsColorRgbToYuv, commonsColorRgbToYCbCr, commonsColorBlendRgbs, commonsColorColorspaceToRatios, commonsColorRelativeLuminance } from './helpers/commons-color.mjs';
2
+ import { EYuva } from './enums/eyuva.mjs';
3
+ import { ERgba } from './enums/ergba.mjs';
4
+ import { ECommonsColor, fromECommonsColor, toECommonsColor } from './enums/ecommons-color.mjs';
5
+ import { EYiqa } from './enums/eyiqa.mjs';
6
+ import { ELaba } from './enums/elaba.mjs';
7
+ import { EYCbCra } from './enums/eycbcra.mjs';
8
+ import { EHsla } from './enums/ehsla.mjs';
9
+ import { EHsva } from './enums/ehsva.mjs';
10
+ import { TBoundary } from './types/tboundary.mjs';
11
+ import { TXy, isTXy, TXyz, isTXyz } from './types/txy.mjs';
12
+ import { TOmniColorspace } from './types/tomni-colorspace.mjs';
13
+ import { TWidthHeight, isTWidthHeight } from './types/twidth-height.mjs';
14
+ import { IRgb, IRgba } from './interfaces/irgb.mjs';
15
+ import { ILab, ILaba } from './interfaces/ilab.mjs';
16
+ import { IYuv, IYuva } from './interfaces/iyuv.mjs';
17
+ import { IHsl, IHsla } from './interfaces/ihsl.mjs';
18
+ import { IDimensions } from './interfaces/idimensions.mjs';
19
+ import { IYCbCr, IYCbCra } from './interfaces/iycbcr.mjs';
20
+ import { IYiq, IYiqa } from './interfaces/iyiq.mjs';
21
+ import { IColorspace } from './interfaces/icolorspace.mjs';
22
+ import { IHsv, IHsva } from './interfaces/ihsv.mjs';
23
+ export { commonsColorRgbToHsl, commonsColorRgbToHex, commonsColorHexToRgb, commonsColorHslToRgb, commonsColorHsvToHsl, commonsColorHslToHsv, commonsColorHsvToRgb, commonsColorRgbToHsv, commonsColorRgbToYiq, commonsColorYiqToRgb, commonsColorRgbToLab, commonsColorRgbToYuv, commonsColorRgbToYCbCr, commonsColorBlendRgbs, commonsColorColorspaceToRatios, commonsColorRelativeLuminance, EYuva, ERgba, ECommonsColor, fromECommonsColor, toECommonsColor, EYiqa, ELaba, EYCbCra, EHsla, EHsva, TBoundary, TXy, isTXy, TXyz, isTXyz, TOmniColorspace, TWidthHeight, isTWidthHeight, IRgb, IRgba, ILab, ILaba, IYuv, IYuva, IHsl, IHsla, IDimensions, IYCbCr, IYCbCra, IYiq, IYiqa, IColorspace, IHsv, IHsva };
package/dist/index.mjs ADDED
@@ -0,0 +1,13 @@
1
+ import { commonsColorRgbToHsl, commonsColorRgbToHex, commonsColorHexToRgb, commonsColorHslToRgb, commonsColorHsvToHsl, commonsColorHslToHsv, commonsColorHsvToRgb, commonsColorRgbToHsv, commonsColorRgbToYiq, commonsColorYiqToRgb, commonsColorRgbToLab, commonsColorRgbToYuv, commonsColorRgbToYCbCr, commonsColorBlendRgbs, commonsColorColorspaceToRatios, commonsColorRelativeLuminance } from './helpers/commons-color.mjs';
2
+ import { EYuva } from './enums/eyuva.mjs';
3
+ import { ERgba } from './enums/ergba.mjs';
4
+ import { ECommonsColor, fromECommonsColor, toECommonsColor } from './enums/ecommons-color.mjs';
5
+ import { EYiqa } from './enums/eyiqa.mjs';
6
+ import { ELaba } from './enums/elaba.mjs';
7
+ import { EYCbCra } from './enums/eycbcra.mjs';
8
+ import { EHsla } from './enums/ehsla.mjs';
9
+ import { EHsva } from './enums/ehsva.mjs';
10
+ import { isTXy, isTXyz } from './types/txy.mjs';
11
+ import { isTWidthHeight } from './types/twidth-height.mjs';
12
+ export { commonsColorRgbToHsl, commonsColorRgbToHex, commonsColorHexToRgb, commonsColorHslToRgb, commonsColorHsvToHsl, commonsColorHslToHsv, commonsColorHsvToRgb, commonsColorRgbToHsv, commonsColorRgbToYiq, commonsColorYiqToRgb, commonsColorRgbToLab, commonsColorRgbToYuv, commonsColorRgbToYCbCr, commonsColorBlendRgbs, commonsColorColorspaceToRatios, commonsColorRelativeLuminance, EYuva, ERgba, ECommonsColor, fromECommonsColor, toECommonsColor, EYiqa, ELaba, EYCbCra, EHsla, EHsva, isTXy, isTXyz, isTWidthHeight };
13
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAEL,KAAK,EAEL,MAAM,EACP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAgB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAC7B,KAAK,EACL,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EAGL,KAAK,EAEL,MAAM,EAGN,cAAc,EAiBd,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface IColorspace {
2
+ [channel: string]: number;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=icolorspace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icolorspace.mjs","sourceRoot":"","sources":["../../src/interfaces/icolorspace.mts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IDimensions {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=idimensions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idimensions.mjs","sourceRoot":"","sources":["../../src/interfaces/idimensions.mts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { EHsla } from '../enums/ehsla.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IHsl extends IColorspace {
4
+ [EHsla.HUE]: number;
5
+ [EHsla.SATURATION]: number;
6
+ [EHsla.LIGHTNESS]: number;
7
+ }
8
+ export interface IHsla extends IHsl {
9
+ [EHsla.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { EHsla } from '../enums/ehsla.mjs';
2
+ //# sourceMappingURL=ihsl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ihsl.mjs","sourceRoot":"","sources":["../../src/interfaces/ihsl.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { EHsva } from '../enums/ehsva.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IHsv extends IColorspace {
4
+ [EHsva.HUE]: number;
5
+ [EHsva.SATURATION]: number;
6
+ [EHsva.VALUE]: number;
7
+ }
8
+ export interface IHsva extends IHsv {
9
+ [EHsva.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { EHsva } from '../enums/ehsva.mjs';
2
+ //# sourceMappingURL=ihsv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ihsv.mjs","sourceRoot":"","sources":["../../src/interfaces/ihsv.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ELaba } from '../enums/elaba.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface ILab extends IColorspace {
4
+ [ELaba.L]: number;
5
+ [ELaba.A]: number;
6
+ [ELaba.B]: number;
7
+ }
8
+ export interface ILaba extends ILab {
9
+ [ELaba.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { ELaba } from '../enums/elaba.mjs';
2
+ //# sourceMappingURL=ilab.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ilab.mjs","sourceRoot":"","sources":["../../src/interfaces/ilab.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ERgba } from '../enums/ergba.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IRgb extends IColorspace {
4
+ [ERgba.RED]: number;
5
+ [ERgba.GREEN]: number;
6
+ [ERgba.BLUE]: number;
7
+ }
8
+ export interface IRgba extends IRgb {
9
+ [ERgba.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { ERgba } from '../enums/ergba.mjs';
2
+ //# sourceMappingURL=irgb.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irgb.mjs","sourceRoot":"","sources":["../../src/interfaces/irgb.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { EYCbCra } from '../enums/eycbcra.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IYCbCr extends IColorspace {
4
+ [EYCbCra.Y]: number;
5
+ [EYCbCra.CB]: number;
6
+ [EYCbCra.CR]: number;
7
+ }
8
+ export interface IYCbCra extends IYCbCr {
9
+ [EYCbCra.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { EYCbCra } from '../enums/eycbcra.mjs';
2
+ //# sourceMappingURL=iycbcr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iycbcr.mjs","sourceRoot":"","sources":["../../src/interfaces/iycbcr.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { EYiqa } from '../enums/eyiqa.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IYiq extends IColorspace {
4
+ [EYiqa.Y]: number;
5
+ [EYiqa.I]: number;
6
+ [EYiqa.Q]: number;
7
+ }
8
+ export interface IYiqa extends IYiq {
9
+ [EYiqa.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { EYiqa } from '../enums/eyiqa.mjs';
2
+ //# sourceMappingURL=iyiq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iyiq.mjs","sourceRoot":"","sources":["../../src/interfaces/iyiq.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { EYuva } from '../enums/eyuva.mjs';
2
+ import { IColorspace } from './icolorspace.mjs';
3
+ export interface IYuv extends IColorspace {
4
+ [EYuva.Y]: number;
5
+ [EYuva.U]: number;
6
+ [EYuva.V]: number;
7
+ }
8
+ export interface IYuva extends IYuv {
9
+ [EYuva.ALPHA]: number;
10
+ }
@@ -0,0 +1,2 @@
1
+ import { EYuva } from '../enums/eyuva.mjs';
2
+ //# sourceMappingURL=iyuv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iyuv.mjs","sourceRoot":"","sources":["../../src/interfaces/iyuv.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TXy } from './txy.mjs';
2
+ import { TWidthHeight } from './twidth-height.mjs';
3
+ export type TBoundary = TXy & TWidthHeight;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tboundary.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tboundary.mjs","sourceRoot":"","sources":["../../src/types/tboundary.mts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { IRgb, IRgba } from '../interfaces/irgb.mjs';
2
+ import { IHsl, IHsla } from '../interfaces/ihsl.mjs';
3
+ import { IHsv, IHsva } from '../interfaces/ihsv.mjs';
4
+ import { IYiq, IYiqa } from '../interfaces/iyiq.mjs';
5
+ import { ILab, ILaba } from '../interfaces/ilab.mjs';
6
+ import { IYuv, IYuva } from '../interfaces/iyuv.mjs';
7
+ import { IYCbCr, IYCbCra } from '../interfaces/iycbcr.mjs';
8
+ export type TOmniColorspace = IRgb | IRgba | IHsl | IHsla | IHsv | IHsva | IYiq | IYiqa | IYuv | IYuva | IYCbCr | IYCbCra | ILab | ILaba;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tomni-colorspace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tomni-colorspace.mjs","sourceRoot":"","sources":["../../src/types/tomni-colorspace.mts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type TWidthHeight = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ export declare function isTWidthHeight(test: unknown): test is TWidthHeight;
@@ -0,0 +1,9 @@
1
+ import { commonsTypeHasPropertyNumber } from 'tscommons-esm-core';
2
+ export function isTWidthHeight(test) {
3
+ if (!commonsTypeHasPropertyNumber(test, 'width'))
4
+ return false;
5
+ if (!commonsTypeHasPropertyNumber(test, 'height'))
6
+ return false;
7
+ return true;
8
+ }
9
+ //# sourceMappingURL=twidth-height.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twidth-height.mjs","sourceRoot":"","sources":["../../src/types/twidth-height.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAOlE,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhE,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type TXy = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ export declare function isTXy(test: unknown): test is TXy;
6
+ export type TXyz = TXy & {
7
+ z: number;
8
+ };
9
+ export declare function isTXyz(test: unknown): test is TXyz;
@@ -0,0 +1,16 @@
1
+ import { commonsTypeHasPropertyNumber } from 'tscommons-esm-core';
2
+ export function isTXy(test) {
3
+ if (!commonsTypeHasPropertyNumber(test, 'x'))
4
+ return false;
5
+ if (!commonsTypeHasPropertyNumber(test, 'y'))
6
+ return false;
7
+ return true;
8
+ }
9
+ export function isTXyz(test) {
10
+ if (!isTXy(test))
11
+ return false;
12
+ if (!commonsTypeHasPropertyNumber(test, 'z'))
13
+ return false;
14
+ return true;
15
+ }
16
+ //# sourceMappingURL=txy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txy.mjs","sourceRoot":"","sources":["../../src/types/txy.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAOlE,MAAM,UAAU,KAAK,CAAC,IAAa;IAClC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3D,OAAO,IAAI,CAAC;AACb,CAAC;AAMD,MAAM,UAAU,MAAM,CAAC,IAAa;IACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/B,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3D,OAAO,IAAI,CAAC;AACb,CAAC"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "tscommons-esm-graphics",
3
+ "version": "0.0.2",
4
+ "description": "",
5
+ "scripts": {
6
+ "tsc": "./node_modules/typescript/bin/tsc",
7
+ "preprepare": "rm -rf ./dist; php ~/Dev/etim.php src/ && npm run tsc",
8
+ "publish-major": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version major && npm install && npm publish && git add . && git commit -m 'publish'",
9
+ "publish-minor": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version minor && npm install && npm publish && git add . && git commit -m 'publish'",
10
+ "publish-patch": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version patch && npm install && npm publish && git add . && git commit -m 'publish'"
11
+ },
12
+ "main": "dist/index.mjs",
13
+ "types": "dist/index.d.mjs",
14
+ "type": "module",
15
+ "author": "Pete Morris",
16
+ "license": "ISC",
17
+ "devDependencies": {
18
+ "@stylistic/eslint-plugin-ts": "^2.10.1",
19
+ "eslint-plugin-import": "^2.31.0",
20
+ "eslint-plugin-prefer-arrow-functions": "^3.4.1",
21
+ "typescript": "^5.6.3",
22
+ "typescript-eslint": "^8.14.0"
23
+ },
24
+ "files": [
25
+ "dist/**/*"
26
+ ],
27
+ "dependencies": {
28
+ "tscommons-esm-core": "^0.0.2"
29
+ }
30
+ }