@yelbolt/engine-ui-color-palette 1.10.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 (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +430 -0
  3. package/dist/color-DTr3No_G.js +540 -0
  4. package/dist/color-DTr3No_G.js.map +1 -0
  5. package/dist/formats/primitives/makeCompose.d.ts +4 -0
  6. package/dist/formats/primitives/makeCompose.d.ts.map +1 -0
  7. package/dist/formats/primitives/makeCssCustomProps.d.ts +5 -0
  8. package/dist/formats/primitives/makeCssCustomProps.d.ts.map +1 -0
  9. package/dist/formats/primitives/makeCsv.d.ts +13 -0
  10. package/dist/formats/primitives/makeCsv.d.ts.map +1 -0
  11. package/dist/formats/primitives/makeDtcgTokens.d.ts +5 -0
  12. package/dist/formats/primitives/makeDtcgTokens.d.ts.map +1 -0
  13. package/dist/formats/primitives/makeLessVariables.d.ts +5 -0
  14. package/dist/formats/primitives/makeLessVariables.d.ts.map +1 -0
  15. package/dist/formats/primitives/makeNativeTokens.d.ts +4 -0
  16. package/dist/formats/primitives/makeNativeTokens.d.ts.map +1 -0
  17. package/dist/formats/primitives/makeResources.d.ts +4 -0
  18. package/dist/formats/primitives/makeResources.d.ts.map +1 -0
  19. package/dist/formats/primitives/makeScssVariables.d.ts +5 -0
  20. package/dist/formats/primitives/makeScssVariables.d.ts.map +1 -0
  21. package/dist/formats/primitives/makeStyleDictionaryV3Tokens.d.ts +4 -0
  22. package/dist/formats/primitives/makeStyleDictionaryV3Tokens.d.ts.map +1 -0
  23. package/dist/formats/primitives/makeSwiftUI.d.ts +4 -0
  24. package/dist/formats/primitives/makeSwiftUI.d.ts.map +1 -0
  25. package/dist/formats/primitives/makeTailwindV3Config.d.ts +4 -0
  26. package/dist/formats/primitives/makeTailwindV3Config.d.ts.map +1 -0
  27. package/dist/formats/primitives/makeTailwindV4Config.d.ts +4 -0
  28. package/dist/formats/primitives/makeTailwindV4Config.d.ts.map +1 -0
  29. package/dist/formats/primitives/makeUIKit.d.ts +4 -0
  30. package/dist/formats/primitives/makeUIKit.d.ts.map +1 -0
  31. package/dist/formats/primitives/makeUniversalTokens.d.ts +4 -0
  32. package/dist/formats/primitives/makeUniversalTokens.d.ts.map +1 -0
  33. package/dist/formats/semantics/_helpers.d.ts +26 -0
  34. package/dist/formats/semantics/_helpers.d.ts.map +1 -0
  35. package/dist/formats/semantics/makeComposeSemantics.d.ts +5 -0
  36. package/dist/formats/semantics/makeComposeSemantics.d.ts.map +1 -0
  37. package/dist/formats/semantics/makeCssSemantics.d.ts +5 -0
  38. package/dist/formats/semantics/makeCssSemantics.d.ts.map +1 -0
  39. package/dist/formats/semantics/makeCsvSemantics.d.ts +5 -0
  40. package/dist/formats/semantics/makeCsvSemantics.d.ts.map +1 -0
  41. package/dist/formats/semantics/makeDtcgSemantics.d.ts +5 -0
  42. package/dist/formats/semantics/makeDtcgSemantics.d.ts.map +1 -0
  43. package/dist/formats/semantics/makeLessSemantics.d.ts +5 -0
  44. package/dist/formats/semantics/makeLessSemantics.d.ts.map +1 -0
  45. package/dist/formats/semantics/makeNativeSemantics.d.ts +5 -0
  46. package/dist/formats/semantics/makeNativeSemantics.d.ts.map +1 -0
  47. package/dist/formats/semantics/makeResourcesSemantics.d.ts +5 -0
  48. package/dist/formats/semantics/makeResourcesSemantics.d.ts.map +1 -0
  49. package/dist/formats/semantics/makeScssSemantics.d.ts +5 -0
  50. package/dist/formats/semantics/makeScssSemantics.d.ts.map +1 -0
  51. package/dist/formats/semantics/makeStyleDictionaryV3Semantics.d.ts +5 -0
  52. package/dist/formats/semantics/makeStyleDictionaryV3Semantics.d.ts.map +1 -0
  53. package/dist/formats/semantics/makeSwiftUISemantics.d.ts +5 -0
  54. package/dist/formats/semantics/makeSwiftUISemantics.d.ts.map +1 -0
  55. package/dist/formats/semantics/makeTailwindV3Semantics.d.ts +5 -0
  56. package/dist/formats/semantics/makeTailwindV3Semantics.d.ts.map +1 -0
  57. package/dist/formats/semantics/makeTailwindV4Semantics.d.ts +5 -0
  58. package/dist/formats/semantics/makeTailwindV4Semantics.d.ts.map +1 -0
  59. package/dist/formats/semantics/makeUIKitSemantics.d.ts +5 -0
  60. package/dist/formats/semantics/makeUIKitSemantics.d.ts.map +1 -0
  61. package/dist/formats/semantics/makeUniversalSemantics.d.ts +5 -0
  62. package/dist/formats/semantics/makeUniversalSemantics.d.ts.map +1 -0
  63. package/dist/index-Beb8qoyd.js +1403 -0
  64. package/dist/index-Beb8qoyd.js.map +1 -0
  65. package/dist/index.d.ts +14 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +17 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/modules/code/code.d.ts +28 -0
  70. package/dist/modules/code/code.d.ts.map +1 -0
  71. package/dist/modules/code/code.js +1312 -0
  72. package/dist/modules/code/code.js.map +1 -0
  73. package/dist/modules/color/color.d.ts +49 -0
  74. package/dist/modules/color/color.d.ts.map +1 -0
  75. package/dist/modules/color/color.js +6 -0
  76. package/dist/modules/color/color.js.map +1 -0
  77. package/dist/modules/color-harmony/color-harmony.d.ts +25 -0
  78. package/dist/modules/color-harmony/color-harmony.d.ts.map +1 -0
  79. package/dist/modules/color-harmony/color-harmony.js +147 -0
  80. package/dist/modules/color-harmony/color-harmony.js.map +1 -0
  81. package/dist/modules/contrast/contrast.d.ts +19 -0
  82. package/dist/modules/contrast/contrast.d.ts.map +1 -0
  83. package/dist/modules/contrast/contrast.js +187 -0
  84. package/dist/modules/contrast/contrast.js.map +1 -0
  85. package/dist/modules/data/data.d.ts +17 -0
  86. package/dist/modules/data/data.d.ts.map +1 -0
  87. package/dist/modules/data/data.js +461 -0
  88. package/dist/modules/data/data.js.map +1 -0
  89. package/dist/modules/dominant-colors/dominant-colors.d.ts +39 -0
  90. package/dist/modules/dominant-colors/dominant-colors.d.ts.map +1 -0
  91. package/dist/modules/dominant-colors/dominant-colors.js +198 -0
  92. package/dist/modules/dominant-colors/dominant-colors.js.map +1 -0
  93. package/dist/modules/system/system.d.ts +17 -0
  94. package/dist/modules/system/system.d.ts.map +1 -0
  95. package/dist/modules/system/system.js +78 -0
  96. package/dist/modules/system/system.js.map +1 -0
  97. package/dist/types/code.types.d.ts +6 -0
  98. package/dist/types/code.types.d.ts.map +1 -0
  99. package/dist/types/color.types.d.ts +45 -0
  100. package/dist/types/color.types.d.ts.map +1 -0
  101. package/dist/types/configuration.types.d.ts +154 -0
  102. package/dist/types/configuration.types.d.ts.map +1 -0
  103. package/dist/types/data.types.d.ts +135 -0
  104. package/dist/types/data.types.d.ts.map +1 -0
  105. package/dist/types/model.types.d.ts +3 -0
  106. package/dist/types/model.types.d.ts.map +1 -0
  107. package/dist/types/system.types.d.ts +40 -0
  108. package/dist/types/system.types.d.ts.map +1 -0
  109. package/package.json +65 -0
@@ -0,0 +1,540 @@
1
+ var A = Object.defineProperty;
2
+ var R = (b, t, h) => t in b ? A(b, t, { enumerable: !0, configurable: !0, writable: !0, value: h }) : b[t] = h;
3
+ var a = (b, t, h) => R(b, typeof t != "symbol" ? t + "" : t, h);
4
+ import { c as n } from "./index-Beb8qoyd.js";
5
+ class s {
6
+ constructor() {
7
+ this.hex = "#000000", this.rgb_r = 0, this.rgb_g = 0, this.rgb_b = 0, this.xyz_x = 0, this.xyz_y = 0, this.xyz_z = 0, this.luv_l = 0, this.luv_u = 0, this.luv_v = 0, this.lch_l = 0, this.lch_c = 0, this.lch_h = 0, this.hsluv_h = 0, this.hsluv_s = 0, this.hsluv_l = 0, this.hpluv_h = 0, this.hpluv_p = 0, this.hpluv_l = 0, this.r0s = 0, this.r0i = 0, this.r1s = 0, this.r1i = 0, this.g0s = 0, this.g0i = 0, this.g1s = 0, this.g1i = 0, this.b0s = 0, this.b0i = 0, this.b1s = 0, this.b1i = 0;
8
+ }
9
+ static fromLinear(t) {
10
+ return t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055;
11
+ }
12
+ static toLinear(t) {
13
+ return t > 0.04045 ? Math.pow((t + 0.055) / 1.055, 2.4) : t / 12.92;
14
+ }
15
+ static yToL(t) {
16
+ return t <= s.epsilon ? t / s.refY * s.kappa : 116 * Math.pow(t / s.refY, 1 / 3) - 16;
17
+ }
18
+ static lToY(t) {
19
+ return t <= 8 ? s.refY * t / s.kappa : s.refY * Math.pow((t + 16) / 116, 3);
20
+ }
21
+ static rgbChannelToHex(t) {
22
+ const h = Math.round(t * 255), i = h % 16, e = (h - i) / 16 | 0;
23
+ return s.hexChars.charAt(e) + s.hexChars.charAt(i);
24
+ }
25
+ static hexToRgbChannel(t, h) {
26
+ const i = s.hexChars.indexOf(t.charAt(h)), e = s.hexChars.indexOf(t.charAt(h + 1));
27
+ return (i * 16 + e) / 255;
28
+ }
29
+ static distanceFromOriginAngle(t, h, i) {
30
+ const e = h / (Math.sin(i) - t * Math.cos(i));
31
+ return e < 0 ? 1 / 0 : e;
32
+ }
33
+ static distanceFromOrigin(t, h) {
34
+ return Math.abs(h) / Math.sqrt(Math.pow(t, 2) + 1);
35
+ }
36
+ static min6(t, h, i, e, r, o) {
37
+ return Math.min(t, Math.min(h, Math.min(i, Math.min(e, Math.min(r, o)))));
38
+ }
39
+ rgbToHex() {
40
+ this.hex = "#", this.hex += s.rgbChannelToHex(this.rgb_r), this.hex += s.rgbChannelToHex(this.rgb_g), this.hex += s.rgbChannelToHex(this.rgb_b);
41
+ }
42
+ hexToRgb() {
43
+ this.hex = this.hex.toLowerCase(), this.rgb_r = s.hexToRgbChannel(this.hex, 1), this.rgb_g = s.hexToRgbChannel(this.hex, 3), this.rgb_b = s.hexToRgbChannel(this.hex, 5);
44
+ }
45
+ xyzToRgb() {
46
+ this.rgb_r = s.fromLinear(s.m_r0 * this.xyz_x + s.m_r1 * this.xyz_y + s.m_r2 * this.xyz_z), this.rgb_g = s.fromLinear(s.m_g0 * this.xyz_x + s.m_g1 * this.xyz_y + s.m_g2 * this.xyz_z), this.rgb_b = s.fromLinear(s.m_b0 * this.xyz_x + s.m_b1 * this.xyz_y + s.m_b2 * this.xyz_z);
47
+ }
48
+ rgbToXyz() {
49
+ const t = s.toLinear(this.rgb_r), h = s.toLinear(this.rgb_g), i = s.toLinear(this.rgb_b);
50
+ this.xyz_x = 0.41239079926595 * t + 0.35758433938387 * h + 0.18048078840183 * i, this.xyz_y = 0.21263900587151 * t + 0.71516867876775 * h + 0.072192315360733 * i, this.xyz_z = 0.019330818715591 * t + 0.11919477979462 * h + 0.95053215224966 * i;
51
+ }
52
+ xyzToLuv() {
53
+ const t = this.xyz_x + 15 * this.xyz_y + 3 * this.xyz_z;
54
+ let h = 4 * this.xyz_x, i = 9 * this.xyz_y;
55
+ t !== 0 ? (h /= t, i /= t) : (h = NaN, i = NaN), this.luv_l = s.yToL(this.xyz_y), this.luv_l === 0 ? (this.luv_u = 0, this.luv_v = 0) : (this.luv_u = 13 * this.luv_l * (h - s.refU), this.luv_v = 13 * this.luv_l * (i - s.refV));
56
+ }
57
+ luvToXyz() {
58
+ if (this.luv_l === 0) {
59
+ this.xyz_x = 0, this.xyz_y = 0, this.xyz_z = 0;
60
+ return;
61
+ }
62
+ const t = this.luv_u / (13 * this.luv_l) + s.refU, h = this.luv_v / (13 * this.luv_l) + s.refV;
63
+ this.xyz_y = s.lToY(this.luv_l), this.xyz_x = 0 - 9 * this.xyz_y * t / ((t - 4) * h - t * h), this.xyz_z = (9 * this.xyz_y - 15 * h * this.xyz_y - h * this.xyz_x) / (3 * h);
64
+ }
65
+ luvToLch() {
66
+ if (this.lch_l = this.luv_l, this.lch_c = Math.sqrt(this.luv_u * this.luv_u + this.luv_v * this.luv_v), this.lch_c < 1e-8)
67
+ this.lch_h = 0;
68
+ else {
69
+ const t = Math.atan2(this.luv_v, this.luv_u);
70
+ this.lch_h = t * 180 / Math.PI, this.lch_h < 0 && (this.lch_h = 360 + this.lch_h);
71
+ }
72
+ }
73
+ lchToLuv() {
74
+ const t = this.lch_h / 180 * Math.PI;
75
+ this.luv_l = this.lch_l, this.luv_u = Math.cos(t) * this.lch_c, this.luv_v = Math.sin(t) * this.lch_c;
76
+ }
77
+ calculateBoundingLines(t) {
78
+ const h = Math.pow(t + 16, 3) / 1560896, i = h > s.epsilon ? h : t / s.kappa, e = i * (284517 * s.m_r0 - 94839 * s.m_r2), r = i * (838422 * s.m_r2 + 769860 * s.m_r1 + 731718 * s.m_r0), o = i * (632260 * s.m_r2 - 126452 * s.m_r1), l = i * (284517 * s.m_g0 - 94839 * s.m_g2), u = i * (838422 * s.m_g2 + 769860 * s.m_g1 + 731718 * s.m_g0), d = i * (632260 * s.m_g2 - 126452 * s.m_g1), C = i * (284517 * s.m_b0 - 94839 * s.m_b2), M = i * (838422 * s.m_b2 + 769860 * s.m_b1 + 731718 * s.m_b0), m = i * (632260 * s.m_b2 - 126452 * s.m_b1);
79
+ this.r0s = e / o, this.r0i = r * t / o, this.r1s = e / (o + 126452), this.r1i = (r - 769860) * t / (o + 126452), this.g0s = l / d, this.g0i = u * t / d, this.g1s = l / (d + 126452), this.g1i = (u - 769860) * t / (d + 126452), this.b0s = C / m, this.b0i = M * t / m, this.b1s = C / (m + 126452), this.b1i = (M - 769860) * t / (m + 126452);
80
+ }
81
+ calcMaxChromaHpluv() {
82
+ const t = s.distanceFromOrigin(this.r0s, this.r0i), h = s.distanceFromOrigin(this.r1s, this.r1i), i = s.distanceFromOrigin(this.g0s, this.g0i), e = s.distanceFromOrigin(this.g1s, this.g1i), r = s.distanceFromOrigin(this.b0s, this.b0i), o = s.distanceFromOrigin(this.b1s, this.b1i);
83
+ return s.min6(t, h, i, e, r, o);
84
+ }
85
+ calcMaxChromaHsluv(t) {
86
+ const h = t / 360 * Math.PI * 2, i = s.distanceFromOriginAngle(this.r0s, this.r0i, h), e = s.distanceFromOriginAngle(this.r1s, this.r1i, h), r = s.distanceFromOriginAngle(this.g0s, this.g0i, h), o = s.distanceFromOriginAngle(this.g1s, this.g1i, h), l = s.distanceFromOriginAngle(this.b0s, this.b0i, h), u = s.distanceFromOriginAngle(this.b1s, this.b1i, h);
87
+ return s.min6(i, e, r, o, l, u);
88
+ }
89
+ hsluvToLch() {
90
+ if (this.hsluv_l > 99.9999999)
91
+ this.lch_l = 100, this.lch_c = 0;
92
+ else if (this.hsluv_l < 1e-8)
93
+ this.lch_l = 0, this.lch_c = 0;
94
+ else {
95
+ this.lch_l = this.hsluv_l, this.calculateBoundingLines(this.hsluv_l);
96
+ const t = this.calcMaxChromaHsluv(this.hsluv_h);
97
+ this.lch_c = t / 100 * this.hsluv_s;
98
+ }
99
+ this.lch_h = this.hsluv_h;
100
+ }
101
+ lchToHsluv() {
102
+ if (this.lch_l > 99.9999999)
103
+ this.hsluv_s = 0, this.hsluv_l = 100;
104
+ else if (this.lch_l < 1e-8)
105
+ this.hsluv_s = 0, this.hsluv_l = 0;
106
+ else {
107
+ this.calculateBoundingLines(this.lch_l);
108
+ const t = this.calcMaxChromaHsluv(this.lch_h);
109
+ this.hsluv_s = this.lch_c / t * 100, this.hsluv_l = this.lch_l;
110
+ }
111
+ this.hsluv_h = this.lch_h;
112
+ }
113
+ hpluvToLch() {
114
+ if (this.hpluv_l > 99.9999999)
115
+ this.lch_l = 100, this.lch_c = 0;
116
+ else if (this.hpluv_l < 1e-8)
117
+ this.lch_l = 0, this.lch_c = 0;
118
+ else {
119
+ this.lch_l = this.hpluv_l, this.calculateBoundingLines(this.hpluv_l);
120
+ const t = this.calcMaxChromaHpluv();
121
+ this.lch_c = t / 100 * this.hpluv_p;
122
+ }
123
+ this.lch_h = this.hpluv_h;
124
+ }
125
+ lchToHpluv() {
126
+ if (this.lch_l > 99.9999999)
127
+ this.hpluv_p = 0, this.hpluv_l = 100;
128
+ else if (this.lch_l < 1e-8)
129
+ this.hpluv_p = 0, this.hpluv_l = 0;
130
+ else {
131
+ this.calculateBoundingLines(this.lch_l);
132
+ const t = this.calcMaxChromaHpluv();
133
+ this.hpluv_p = this.lch_c / t * 100, this.hpluv_l = this.lch_l;
134
+ }
135
+ this.hpluv_h = this.lch_h;
136
+ }
137
+ hsluvToRgb() {
138
+ this.hsluvToLch(), this.lchToLuv(), this.luvToXyz(), this.xyzToRgb();
139
+ }
140
+ hpluvToRgb() {
141
+ this.hpluvToLch(), this.lchToLuv(), this.luvToXyz(), this.xyzToRgb();
142
+ }
143
+ hsluvToHex() {
144
+ this.hsluvToRgb(), this.rgbToHex();
145
+ }
146
+ hpluvToHex() {
147
+ this.hpluvToRgb(), this.rgbToHex();
148
+ }
149
+ rgbToHsluv() {
150
+ this.rgbToXyz(), this.xyzToLuv(), this.luvToLch(), this.lchToHpluv(), this.lchToHsluv();
151
+ }
152
+ rgbToHpluv() {
153
+ this.rgbToXyz(), this.xyzToLuv(), this.luvToLch(), this.lchToHpluv(), this.lchToHpluv();
154
+ }
155
+ hexToHsluv() {
156
+ this.hexToRgb(), this.rgbToHsluv();
157
+ }
158
+ hexToHpluv() {
159
+ this.hexToRgb(), this.rgbToHpluv();
160
+ }
161
+ }
162
+ s.hexChars = "0123456789abcdef";
163
+ s.refY = 1;
164
+ s.refU = 0.19783000664283;
165
+ s.refV = 0.46831999493879;
166
+ s.kappa = 903.2962962;
167
+ s.epsilon = 0.0088564516;
168
+ s.m_r0 = 3.240969941904521;
169
+ s.m_r1 = -1.537383177570093;
170
+ s.m_r2 = -0.498610760293;
171
+ s.m_g0 = -0.96924363628087;
172
+ s.m_g1 = 1.87596750150772;
173
+ s.m_g2 = 0.041555057407175;
174
+ s.m_b0 = 0.055630079696993;
175
+ s.m_b1 = -0.20397695888897;
176
+ s.m_b2 = 1.056971514242878;
177
+ const c = {
178
+ PROTANOPIA: [
179
+ [0.567, 0.433, 0],
180
+ [0.558, 0.442, 0],
181
+ [0, 0.242, 0.758]
182
+ ],
183
+ PROTANOMALY: [
184
+ [0.817, 0.183, 0],
185
+ [0.333, 0.667, 0],
186
+ [0, 0.125, 0.875]
187
+ ],
188
+ DEUTERANOPIA: [
189
+ [0.625, 0.375, 0],
190
+ [0.7, 0.3, 0],
191
+ [0, 0.3, 0.7]
192
+ ],
193
+ DEUTERANOMALY: [
194
+ [0.8, 0.2, 0],
195
+ [0.258, 0.742, 0],
196
+ [0, 0.142, 0.858]
197
+ ],
198
+ TRITANOPIA: [
199
+ [0.95, 0.05, 0],
200
+ [0, 0.433, 0.567],
201
+ [0, 0.475, 0.525]
202
+ ],
203
+ TRITANOMALY: [
204
+ [0.967, 0.033, 0],
205
+ [0, 0.733, 0.267],
206
+ [0, 0.183, 0.817]
207
+ ],
208
+ ACHROMATOPSIA: [
209
+ [0.299, 0.587, 0.114],
210
+ [0.299, 0.587, 0.114],
211
+ [0.299, 0.587, 0.114]
212
+ ],
213
+ ACHROMATOMALY: [
214
+ [0.618, 0.32, 0.062],
215
+ [0.163, 0.775, 0.062],
216
+ [0.163, 0.32, 0.516]
217
+ ]
218
+ }, g = (b, t) => {
219
+ const [h, i, e] = b, [r, o, l] = t;
220
+ return [
221
+ Math.round(h * r[0] + i * r[1] + e * r[2]),
222
+ Math.round(h * o[0] + i * o[1] + e * o[2]),
223
+ Math.round(h * l[0] + i * l[1] + e * l[2])
224
+ ];
225
+ }, _ = (b, t, h) => {
226
+ const i = b / 255, e = t / 255, r = h / 255, o = 1 - Math.max(i, e, r);
227
+ return o === 1 ? [0, 0, 0, 1] : [
228
+ (1 - i - o) / (1 - o),
229
+ (1 - e - o) / (1 - o),
230
+ (1 - r - o) / (1 - o),
231
+ o
232
+ ];
233
+ }, x = (b, t, h, i) => [
234
+ Math.round(255 * (1 - b) * (1 - i)),
235
+ Math.round(255 * (1 - t) * (1 - i)),
236
+ Math.round(255 * (1 - h) * (1 - i))
237
+ ];
238
+ class O {
239
+ constructor({
240
+ render: t = "HEX",
241
+ sourceColor: h = [0, 0, 0],
242
+ lightness: i = parseFloat((n(h).luminance() * 100).toFixed(1)),
243
+ alpha: e = 1,
244
+ hueShifting: r = 0,
245
+ chromaShifting: o = 100,
246
+ algorithmVersion: l = "v3",
247
+ visionSimulationMode: u = "NONE"
248
+ }) {
249
+ a(this, "render");
250
+ a(this, "sourceColor");
251
+ a(this, "lightness");
252
+ a(this, "alpha");
253
+ a(this, "hueShifting");
254
+ a(this, "chromaShifting");
255
+ a(this, "algorithmVersion");
256
+ a(this, "visionSimulationMode");
257
+ a(this, "adjustHue", (t) => t + this.hueShifting < 0 ? t + this.hueShifting + 360 : t + this.hueShifting > 360 ? t + this.hueShifting - 360 : t + this.hueShifting);
258
+ a(this, "adjustChroma", (t) => {
259
+ if (this.algorithmVersion === "v1") return t;
260
+ if (this.algorithmVersion === "v2")
261
+ return Math.sin(this.lightness / 100 * Math.PI) * t;
262
+ if (this.algorithmVersion === "v3") {
263
+ const h = this.lightness / 100, i = Math.sin(h * Math.PI), e = Math.tanh(h * Math.PI), r = i * 0.5 + e * 0.5;
264
+ return Math.pow(r, 0.5) * t;
265
+ }
266
+ return t;
267
+ });
268
+ a(this, "setColor", () => this.render === "HEX" ? this.simulateColorBlindHex(this.sourceColor) : this.simulateColorBlindRgb(this.sourceColor));
269
+ a(this, "setColorWithAlpha", () => this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(this.sourceColor), this.alpha).hex() : [...this.simulateColorBlindRgb(this.sourceColor), this.alpha]);
270
+ a(this, "lch", () => {
271
+ const t = n(this.sourceColor).lch(), h = n.lch(
272
+ this.lightness,
273
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
274
+ this.adjustHue(t[2])
275
+ ).rgb();
276
+ return this.render === "HEX" ? this.simulateColorBlindHex(h) : this.simulateColorBlindRgb(h);
277
+ });
278
+ a(this, "lcha", () => {
279
+ const t = n(this.sourceColor).lch(), h = n.lch(
280
+ t[0],
281
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
282
+ this.adjustHue(t[2])
283
+ ).rgb();
284
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(h), this.alpha).hex() : [...this.simulateColorBlindRgb(h), this.alpha];
285
+ });
286
+ a(this, "oklch", () => {
287
+ const t = n(this.sourceColor).oklch(), h = n.oklch(
288
+ this.lightness / 100,
289
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
290
+ this.adjustHue(t[2])
291
+ ).rgb();
292
+ return this.render === "HEX" ? this.simulateColorBlindHex(h) : this.simulateColorBlindRgb(h);
293
+ });
294
+ a(this, "oklcha", () => {
295
+ const t = n(this.sourceColor).oklch(), h = n.oklch(
296
+ t[0],
297
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
298
+ this.adjustHue(t[2])
299
+ ).rgb();
300
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(h), this.alpha).hex() : [...this.simulateColorBlindRgb(h), this.alpha];
301
+ });
302
+ a(this, "lab", () => {
303
+ const t = n(this.sourceColor).get("lab.a"), h = n(this.sourceColor).get("lab.b"), i = Math.sqrt(t ** 2 + h ** 2) * (this.chromaShifting / 100);
304
+ let e = Math.atan(h / t) + this.hueShifting * (Math.PI / 180);
305
+ (e > Math.PI || e < -Math.PI) && (e = Math.PI);
306
+ let r = i * Math.cos(e), o = i * Math.sin(e);
307
+ Math.sign(t) === -1 && Math.sign(h) === 1 && (r *= -1, o *= -1), Math.sign(t) === -1 && Math.sign(h) === -1 && (r *= -1, o *= -1);
308
+ const l = n.lab(
309
+ this.lightness,
310
+ this.adjustChroma(r),
311
+ this.adjustChroma(o)
312
+ ).rgb();
313
+ return this.render === "HEX" ? this.simulateColorBlindHex(l) : this.simulateColorBlindRgb(l);
314
+ });
315
+ a(this, "laba", () => {
316
+ const t = n(this.sourceColor).get("lab.a"), h = n(this.sourceColor).get("lab.b"), i = n(this.sourceColor).get("lab.l"), e = Math.sqrt(t ** 2 + h ** 2) * (this.chromaShifting / 100);
317
+ let r = Math.atan(h / t) + this.hueShifting * (Math.PI / 180);
318
+ (r > Math.PI || r < -Math.PI) && (r = Math.PI);
319
+ let o = e * Math.cos(r), l = e * Math.sin(r);
320
+ Math.sign(t) === -1 && Math.sign(h) === 1 && (o *= -1, l *= -1), Math.sign(t) === -1 && Math.sign(h) === -1 && (o *= -1, l *= -1);
321
+ const u = n.lab(i, this.adjustChroma(o), this.adjustChroma(l)).rgb();
322
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(u), this.alpha).hex() : [...this.simulateColorBlindRgb(u), this.alpha];
323
+ });
324
+ a(this, "oklab", () => {
325
+ const t = n(this.sourceColor).get("oklab.a"), h = n(this.sourceColor).get("oklab.b"), i = Math.sqrt(t ** 2 + h ** 2) * (this.chromaShifting / 100);
326
+ let e = Math.atan(h / t) + this.hueShifting * (Math.PI / 180);
327
+ (e > Math.PI || e < -Math.PI) && (e = Math.PI);
328
+ let r = i * Math.cos(e), o = i * Math.sin(e);
329
+ Math.sign(t) === -1 && Math.sign(h) === 1 && (r *= -1, o *= -1), Math.sign(t) === -1 && Math.sign(h) === -1 && (r *= -1, o *= -1), Number.isNaN(r) && (r = 0), Number.isNaN(o) && (o = 0);
330
+ const l = n.oklab(
331
+ this.lightness / 100,
332
+ this.adjustChroma(r),
333
+ this.adjustChroma(o)
334
+ ).rgb();
335
+ return this.render === "HEX" ? this.simulateColorBlindHex(l) : this.simulateColorBlindRgb(l);
336
+ });
337
+ a(this, "oklaba", () => {
338
+ const t = n(this.sourceColor).get("oklab.a"), h = n(this.sourceColor).get("oklab.b"), i = n(this.sourceColor).get("oklab.l"), e = Math.sqrt(t ** 2 + h ** 2) * (this.chromaShifting / 100);
339
+ let r = Math.atan(h / t) + this.hueShifting * (Math.PI / 180);
340
+ (r > Math.PI || r < -Math.PI) && (r = Math.PI);
341
+ let o = e * Math.cos(r), l = e * Math.sin(r);
342
+ Math.sign(t) === -1 && Math.sign(h) === 1 && (o *= -1, l *= -1), Math.sign(t) === -1 && Math.sign(h) === -1 && (o *= -1, l *= -1), Number.isNaN(o) && (o = 0), Number.isNaN(l) && (l = 0);
343
+ const u = n.oklab(i, this.adjustChroma(o), this.adjustChroma(l)).rgb();
344
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(u), this.alpha).hex() : [...this.simulateColorBlindRgb(u), this.alpha];
345
+ });
346
+ a(this, "hsl", () => {
347
+ const t = n(this.sourceColor).hsl(), h = n.hsl(
348
+ this.adjustHue(t[0]),
349
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
350
+ this.lightness / 100
351
+ ).rgb();
352
+ return this.render === "HEX" ? this.simulateColorBlindHex(h) : this.simulateColorBlindRgb(h);
353
+ });
354
+ a(this, "hsla", () => {
355
+ const t = n(this.sourceColor).hsl(), h = n.hsl(
356
+ this.adjustHue(t[0]),
357
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
358
+ t[2]
359
+ ).rgb();
360
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(h), this.alpha).hex() : [...this.simulateColorBlindRgb(h), this.alpha];
361
+ });
362
+ a(this, "hsluv", () => {
363
+ const t = new s();
364
+ t.rgb_r = this.sourceColor[0] / 255, t.rgb_g = this.sourceColor[1] / 255, t.rgb_b = this.sourceColor[2] / 255, t.rgbToHsluv(), t.hsluv_l = this.lightness, t.hsluv_s = this.adjustChroma(
365
+ t.hsluv_s * (this.chromaShifting / 100)
366
+ ), t.hsluv_h = this.adjustHue(t.hsluv_h), Number.isNaN(t.hsluv_s) && (t.hsluv_s = 0), Number.isNaN(t.hsluv_h) && (t.hsluv_h = 0), t.hsluvToRgb();
367
+ const h = [
368
+ t.rgb_r * 255,
369
+ t.rgb_g * 255,
370
+ t.rgb_b * 255
371
+ ];
372
+ return this.render === "HEX" ? this.simulateColorBlindHex(h) : this.simulateColorBlindRgb(h);
373
+ });
374
+ a(this, "hsluva", () => {
375
+ const t = new s();
376
+ t.rgb_r = this.sourceColor[0] / 255, t.rgb_g = this.sourceColor[1] / 255, t.rgb_b = this.sourceColor[2] / 255, t.rgbToHsluv(), t.hsluv_s = this.adjustChroma(
377
+ t.hsluv_s * (this.chromaShifting / 100)
378
+ ), t.hsluv_h = this.adjustHue(t.hsluv_h), Number.isNaN(t.hsluv_s) && (t.hsluv_s = 0), Number.isNaN(t.hsluv_h) && (t.hsluv_h = 0), t.hsluvToRgb();
379
+ const h = [
380
+ t.rgb_r * 255,
381
+ t.rgb_g * 255,
382
+ t.rgb_b * 255
383
+ ];
384
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(h), this.alpha).hex() : [...this.simulateColorBlindRgb(h), this.alpha];
385
+ });
386
+ a(this, "hsv", () => {
387
+ const t = n(this.sourceColor).hsv(), h = n.hsv(
388
+ this.adjustHue(Number.isNaN(t[0]) ? 0 : t[0]),
389
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
390
+ this.lightness / 100
391
+ ).rgb();
392
+ return this.render === "HEX" ? this.simulateColorBlindHex(h) : this.simulateColorBlindRgb(h);
393
+ });
394
+ a(this, "hsva", () => {
395
+ const t = n(this.sourceColor).hsv(), h = n.hsv(
396
+ this.adjustHue(Number.isNaN(t[0]) ? 0 : t[0]),
397
+ this.adjustChroma(t[1] * (this.chromaShifting / 100)),
398
+ t[2]
399
+ ).rgb();
400
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(h), this.alpha).hex() : [...this.simulateColorBlindRgb(h), this.alpha];
401
+ });
402
+ a(this, "cmyk", () => {
403
+ const t = n(this.sourceColor).hsl(), [h, i, e] = n.hsl(this.adjustHue(Number.isNaN(t[0]) ? 0 : t[0]), t[1], t[2]).rgb(), [r, o, l] = _(h, i, e), u = Math.min(
404
+ 1,
405
+ Math.max(0, this.adjustChroma(r * (this.chromaShifting / 100)))
406
+ ), d = Math.min(
407
+ 1,
408
+ Math.max(0, this.adjustChroma(o * (this.chromaShifting / 100)))
409
+ ), C = Math.min(
410
+ 1,
411
+ Math.max(0, this.adjustChroma(l * (this.chromaShifting / 100)))
412
+ ), M = Math.min(1, Math.max(0, 1 - this.lightness / 100)), m = x(u, d, C, M);
413
+ return this.render === "HEX" ? this.simulateColorBlindHex(m) : this.simulateColorBlindRgb(m);
414
+ });
415
+ a(this, "cmyka", () => {
416
+ const t = n(this.sourceColor).hsl(), [h, i, e] = n.hsl(this.adjustHue(Number.isNaN(t[0]) ? 0 : t[0]), t[1], t[2]).rgb(), [r, o, l, u] = _(h, i, e), d = Math.min(
417
+ 1,
418
+ Math.max(0, this.adjustChroma(r * (this.chromaShifting / 100)))
419
+ ), C = Math.min(
420
+ 1,
421
+ Math.max(0, this.adjustChroma(o * (this.chromaShifting / 100)))
422
+ ), M = Math.min(
423
+ 1,
424
+ Math.max(0, this.adjustChroma(l * (this.chromaShifting / 100)))
425
+ ), m = x(d, C, M, u);
426
+ return this.render === "HEX" ? n.rgb(...this.simulateColorBlindRgb(m), this.alpha).hex() : [...this.simulateColorBlindRgb(m), this.alpha];
427
+ });
428
+ a(this, "getHsluv", () => {
429
+ const t = new s();
430
+ return t.rgb_r = this.sourceColor[0] / 255, t.rgb_g = this.sourceColor[1] / 255, t.rgb_b = this.sourceColor[2] / 255, t.rgbToHsluv(), [t.hsluv_h, t.hsluv_s, t.hsluv_l];
431
+ });
432
+ a(this, "simulateColorBlindHex", (t) => {
433
+ var e;
434
+ const h = {
435
+ NONE: () => n(t).hex(),
436
+ PROTANOMALY: () => {
437
+ const r = g(
438
+ t,
439
+ c.PROTANOMALY
440
+ );
441
+ return n(r).hex();
442
+ },
443
+ PROTANOPIA: () => {
444
+ const r = g(
445
+ t,
446
+ c.PROTANOPIA
447
+ );
448
+ return n(r).hex();
449
+ },
450
+ DEUTERANOMALY: () => {
451
+ const r = g(
452
+ t,
453
+ c.DEUTERANOMALY
454
+ );
455
+ return n(r).hex();
456
+ },
457
+ DEUTERANOPIA: () => {
458
+ const r = g(
459
+ t,
460
+ c.DEUTERANOPIA
461
+ );
462
+ return n(r).hex();
463
+ },
464
+ TRITANOMALY: () => {
465
+ const r = g(
466
+ t,
467
+ c.TRITANOMALY
468
+ );
469
+ return n(r).hex();
470
+ },
471
+ TRITANOPIA: () => {
472
+ const r = g(
473
+ t,
474
+ c.TRITANOPIA
475
+ );
476
+ return n(r).hex();
477
+ },
478
+ ACHROMATOMALY: () => {
479
+ const r = g(
480
+ t,
481
+ c.ACHROMATOMALY
482
+ );
483
+ return n(r).hex();
484
+ },
485
+ ACHROMATOPSIA: () => {
486
+ const r = g(
487
+ t,
488
+ c.ACHROMATOPSIA
489
+ );
490
+ return n(r).hex();
491
+ }
492
+ }, i = (e = h[this.visionSimulationMode]) == null ? void 0 : e.call(h);
493
+ return i !== void 0 ? i : "#000000";
494
+ });
495
+ a(this, "simulateColorBlindRgb", (t) => {
496
+ var e;
497
+ const h = {
498
+ NONE: () => n(t).rgb(),
499
+ PROTANOMALY: () => g(t, c.PROTANOMALY),
500
+ PROTANOPIA: () => g(t, c.PROTANOPIA),
501
+ DEUTERANOMALY: () => g(t, c.DEUTERANOMALY),
502
+ DEUTERANOPIA: () => g(t, c.DEUTERANOPIA),
503
+ TRITANOMALY: () => g(t, c.TRITANOMALY),
504
+ TRITANOPIA: () => g(t, c.TRITANOPIA),
505
+ ACHROMATOMALY: () => g(t, c.ACHROMATOMALY),
506
+ ACHROMATOPSIA: () => g(t, c.ACHROMATOPSIA)
507
+ }, i = (e = h[this.visionSimulationMode]) == null ? void 0 : e.call(h);
508
+ return i !== void 0 ? i : [0, 0, 0];
509
+ });
510
+ a(this, "mixColorsRgb", (t, h) => {
511
+ const [i, e, r, o] = t, [l, u, d, C] = h;
512
+ if (o === 1) return [i, e, r];
513
+ if (o === 0) return [l, u, d];
514
+ const M = o + C * (1 - o), m = Math.min(
515
+ 255,
516
+ Math.max(0, Math.round((i * o + l * C * (1 - o)) / M))
517
+ ), f = Math.min(
518
+ 255,
519
+ Math.max(0, Math.round((e * o + u * C * (1 - o)) / M))
520
+ ), T = Math.min(
521
+ 255,
522
+ Math.max(0, Math.round((r * o + d * C * (1 - o)) / M))
523
+ );
524
+ return this.simulateColorBlindRgb([m, f, T]);
525
+ });
526
+ a(this, "mixColorsHex", (t, h) => {
527
+ const i = /^#([0-9A-Fa-f]{3}){1,2}([0-9A-Fa-f]{2})?$/;
528
+ if (!i.test(t)) return t;
529
+ if (!i.test(h)) return h;
530
+ const e = n(t).rgba(), r = n(h).rgba(), o = this.mixColorsRgb(e, r);
531
+ return n(o).hex();
532
+ });
533
+ this.render = t, this.sourceColor = h, this.lightness = i, this.alpha = e, this.hueShifting = r, this.chromaShifting = o, this.algorithmVersion = l, this.visionSimulationMode = u;
534
+ }
535
+ }
536
+ export {
537
+ O as C,
538
+ s as H
539
+ };
540
+ //# sourceMappingURL=color-DTr3No_G.js.map