@raystack/apsara 0.48.5 → 0.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/components/amount/amount.cjs +39 -17
  2. package/dist/components/amount/amount.cjs.map +1 -1
  3. package/dist/components/amount/amount.d.ts +2 -1
  4. package/dist/components/amount/amount.d.ts.map +1 -1
  5. package/dist/components/amount/amount.js +39 -17
  6. package/dist/components/amount/amount.js.map +1 -1
  7. package/dist/components/calendar/range-picker.cjs +19 -18
  8. package/dist/components/calendar/range-picker.cjs.map +1 -1
  9. package/dist/components/calendar/range-picker.d.ts +5 -4
  10. package/dist/components/calendar/range-picker.d.ts.map +1 -1
  11. package/dist/components/calendar/range-picker.js +19 -18
  12. package/dist/components/calendar/range-picker.js.map +1 -1
  13. package/dist/components/color-picker/color-picker-alpha.cjs +15 -0
  14. package/dist/components/color-picker/color-picker-alpha.cjs.map +1 -0
  15. package/dist/components/color-picker/color-picker-alpha.d.ts +5 -0
  16. package/dist/components/color-picker/color-picker-alpha.d.ts.map +1 -0
  17. package/dist/components/color-picker/color-picker-alpha.js +13 -0
  18. package/dist/components/color-picker/color-picker-alpha.js.map +1 -0
  19. package/dist/components/color-picker/color-picker-area.cjs +73 -0
  20. package/dist/components/color-picker/color-picker-area.cjs.map +1 -0
  21. package/dist/components/color-picker/color-picker-area.d.ts +4 -0
  22. package/dist/components/color-picker/color-picker-area.d.ts.map +1 -0
  23. package/dist/components/color-picker/color-picker-area.js +71 -0
  24. package/dist/components/color-picker/color-picker-area.js.map +1 -0
  25. package/dist/components/color-picker/color-picker-hue.cjs +15 -0
  26. package/dist/components/color-picker/color-picker-hue.cjs.map +1 -0
  27. package/dist/components/color-picker/color-picker-hue.d.ts +5 -0
  28. package/dist/components/color-picker/color-picker-hue.d.ts.map +1 -0
  29. package/dist/components/color-picker/color-picker-hue.js +13 -0
  30. package/dist/components/color-picker/color-picker-hue.js.map +1 -0
  31. package/dist/components/color-picker/color-picker-input.cjs +16 -0
  32. package/dist/components/color-picker/color-picker-input.cjs.map +1 -0
  33. package/dist/components/color-picker/color-picker-input.d.ts +4 -0
  34. package/dist/components/color-picker/color-picker-input.d.ts.map +1 -0
  35. package/dist/components/color-picker/color-picker-input.js +14 -0
  36. package/dist/components/color-picker/color-picker-input.js.map +1 -0
  37. package/dist/components/color-picker/color-picker-mode.cjs +16 -0
  38. package/dist/components/color-picker/color-picker-mode.cjs.map +1 -0
  39. package/dist/components/color-picker/color-picker-mode.d.ts +8 -0
  40. package/dist/components/color-picker/color-picker-mode.d.ts.map +1 -0
  41. package/dist/components/color-picker/color-picker-mode.js +14 -0
  42. package/dist/components/color-picker/color-picker-mode.js.map +1 -0
  43. package/dist/components/color-picker/color-picker-root.cjs +53 -0
  44. package/dist/components/color-picker/color-picker-root.cjs.map +1 -0
  45. package/dist/components/color-picker/color-picker-root.d.ts +25 -0
  46. package/dist/components/color-picker/color-picker-root.d.ts.map +1 -0
  47. package/dist/components/color-picker/color-picker-root.js +50 -0
  48. package/dist/components/color-picker/color-picker-root.js.map +1 -0
  49. package/dist/components/color-picker/color-picker.cjs +19 -0
  50. package/dist/components/color-picker/color-picker.cjs.map +1 -0
  51. package/dist/components/color-picker/color-picker.js +17 -0
  52. package/dist/components/color-picker/color-picker.js.map +1 -0
  53. package/dist/components/color-picker/color-picker.module.css.cjs +8 -0
  54. package/dist/components/color-picker/color-picker.module.css.cjs.map +1 -0
  55. package/dist/components/color-picker/color-picker.module.css.js +4 -0
  56. package/dist/components/color-picker/color-picker.module.css.js.map +1 -0
  57. package/dist/components/color-picker/index.d.ts +2 -0
  58. package/dist/components/color-picker/index.d.ts.map +1 -0
  59. package/dist/components/color-picker/utils.cjs +18 -0
  60. package/dist/components/color-picker/utils.cjs.map +1 -0
  61. package/dist/components/color-picker/utils.d.ts +11 -0
  62. package/dist/components/color-picker/utils.d.ts.map +1 -0
  63. package/dist/components/color-picker/utils.js +15 -0
  64. package/dist/components/color-picker/utils.js.map +1 -0
  65. package/dist/components/filter-chip/filter-chip.cjs +4 -5
  66. package/dist/components/filter-chip/filter-chip.cjs.map +1 -1
  67. package/dist/components/filter-chip/filter-chip.d.ts.map +1 -1
  68. package/dist/components/filter-chip/filter-chip.js +4 -5
  69. package/dist/components/filter-chip/filter-chip.js.map +1 -1
  70. package/dist/components/filter-chip/filter-chip.module.css.cjs +1 -1
  71. package/dist/components/filter-chip/filter-chip.module.css.js +1 -1
  72. package/dist/index.cjs +2 -0
  73. package/dist/index.cjs.map +1 -1
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs +986 -0
  79. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs.map +1 -0
  80. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js +982 -0
  81. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js.map +1 -0
  82. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs +86 -0
  83. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs.map +1 -0
  84. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js +82 -0
  85. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js.map +1 -0
  86. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs +103 -0
  87. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs.map +1 -0
  88. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js +99 -0
  89. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js.map +1 -0
  90. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs +157 -0
  91. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs.map +1 -0
  92. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js +153 -0
  93. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js.map +1 -0
  94. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs +235 -0
  95. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs.map +1 -0
  96. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js +231 -0
  97. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js.map +1 -0
  98. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs +501 -0
  99. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs.map +1 -0
  100. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js +497 -0
  101. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js.map +1 -0
  102. package/dist/style.css +1 -1
  103. package/package.json +2 -1
  104. package/dist/components/textfield/index.d.ts +0 -2
  105. package/dist/components/textfield/index.d.ts.map +0 -1
  106. package/dist/components/textfield/textfield.cjs +0 -44
  107. package/dist/components/textfield/textfield.cjs.map +0 -1
  108. package/dist/components/textfield/textfield.d.ts +0 -33
  109. package/dist/components/textfield/textfield.d.ts.map +0 -1
  110. package/dist/components/textfield/textfield.js +0 -42
  111. package/dist/components/textfield/textfield.js.map +0 -1
  112. package/dist/components/textfield/textfield.module.css.cjs +0 -8
  113. package/dist/components/textfield/textfield.module.css.cjs.map +0 -1
  114. package/dist/components/textfield/textfield.module.css.js +0 -4
  115. package/dist/components/textfield/textfield.module.css.js.map +0 -1
@@ -0,0 +1,986 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var index = require('../../../color-name@2.0.0/node_modules/color-name/index.cjs');
6
+
7
+ /* MIT license */
8
+ /* eslint-disable no-mixed-operators */
9
+
10
+ // NOTE: conversions should only return primitive values (i.e. arrays, or
11
+ // values that give correct `typeof` results).
12
+ // do not use box values types (i.e. Number(), String(), etc.)
13
+
14
+ const reverseKeywords = {};
15
+ for (const key of Object.keys(index.default)) {
16
+ reverseKeywords[index.default[key]] = key;
17
+ }
18
+
19
+ const convert = {
20
+ rgb: {channels: 3, labels: 'rgb'},
21
+ hsl: {channels: 3, labels: 'hsl'},
22
+ hsv: {channels: 3, labels: 'hsv'},
23
+ hwb: {channels: 3, labels: 'hwb'},
24
+ cmyk: {channels: 4, labels: 'cmyk'},
25
+ xyz: {channels: 3, labels: 'xyz'},
26
+ lab: {channels: 3, labels: 'lab'},
27
+ oklab: {channels: 3, labels: ['okl', 'oka', 'okb']},
28
+ lch: {channels: 3, labels: 'lch'},
29
+ oklch: {channels: 3, labels: ['okl', 'okc', 'okh']},
30
+ hex: {channels: 1, labels: ['hex']},
31
+ keyword: {channels: 1, labels: ['keyword']},
32
+ ansi16: {channels: 1, labels: ['ansi16']},
33
+ ansi256: {channels: 1, labels: ['ansi256']},
34
+ hcg: {channels: 3, labels: ['h', 'c', 'g']},
35
+ apple: {channels: 3, labels: ['r16', 'g16', 'b16']},
36
+ gray: {channels: 1, labels: ['gray']},
37
+ };
38
+
39
+ // LAB f(t) constant
40
+ const LAB_FT = (6 / 29) ** 3;
41
+
42
+ // SRGB non-linear transform functions
43
+ function srgbNonlinearTransform(c) {
44
+ const cc = c > 0.003_130_8
45
+ ? ((1.055 * (c ** (1 / 2.4))) - 0.055)
46
+ : c * 12.92;
47
+ return Math.min(Math.max(0, cc), 1);
48
+ }
49
+
50
+ function srgbNonlinearTransformInv(c) {
51
+ return c > 0.040_45 ? (((c + 0.055) / 1.055) ** 2.4) : (c / 12.92);
52
+ }
53
+
54
+ // Hide .channels and .labels properties
55
+ for (const model of Object.keys(convert)) {
56
+ if (!('channels' in convert[model])) {
57
+ throw new Error('missing channels property: ' + model);
58
+ }
59
+
60
+ if (!('labels' in convert[model])) {
61
+ throw new Error('missing channel labels property: ' + model);
62
+ }
63
+
64
+ if (convert[model].labels.length !== convert[model].channels) {
65
+ throw new Error('channel and label counts mismatch: ' + model);
66
+ }
67
+
68
+ const {channels, labels} = convert[model];
69
+ delete convert[model].channels;
70
+ delete convert[model].labels;
71
+ Object.defineProperty(convert[model], 'channels', {value: channels});
72
+ Object.defineProperty(convert[model], 'labels', {value: labels});
73
+ }
74
+
75
+ convert.rgb.hsl = function (rgb) {
76
+ const r = rgb[0] / 255;
77
+ const g = rgb[1] / 255;
78
+ const b = rgb[2] / 255;
79
+ const min = Math.min(r, g, b);
80
+ const max = Math.max(r, g, b);
81
+ const delta = max - min;
82
+ let h;
83
+ let s;
84
+
85
+ switch (max) {
86
+ case min: {
87
+ h = 0;
88
+
89
+ break;
90
+ }
91
+
92
+ case r: {
93
+ h = (g - b) / delta;
94
+
95
+ break;
96
+ }
97
+
98
+ case g: {
99
+ h = 2 + (b - r) / delta;
100
+
101
+ break;
102
+ }
103
+
104
+ case b: {
105
+ h = 4 + (r - g) / delta;
106
+
107
+ break;
108
+ }
109
+ // No default
110
+ }
111
+
112
+ h = Math.min(h * 60, 360);
113
+
114
+ if (h < 0) {
115
+ h += 360;
116
+ }
117
+
118
+ const l = (min + max) / 2;
119
+
120
+ if (max === min) {
121
+ s = 0;
122
+ } else if (l <= 0.5) {
123
+ s = delta / (max + min);
124
+ } else {
125
+ s = delta / (2 - max - min);
126
+ }
127
+
128
+ return [h, s * 100, l * 100];
129
+ };
130
+
131
+ convert.rgb.hsv = function (rgb) {
132
+ let rdif;
133
+ let gdif;
134
+ let bdif;
135
+ let h;
136
+ let s;
137
+
138
+ const r = rgb[0] / 255;
139
+ const g = rgb[1] / 255;
140
+ const b = rgb[2] / 255;
141
+ const v = Math.max(r, g, b);
142
+ const diff = v - Math.min(r, g, b);
143
+ const diffc = function (c) {
144
+ return (v - c) / 6 / diff + 1 / 2;
145
+ };
146
+
147
+ if (diff === 0) {
148
+ h = 0;
149
+ s = 0;
150
+ } else {
151
+ s = diff / v;
152
+ rdif = diffc(r);
153
+ gdif = diffc(g);
154
+ bdif = diffc(b);
155
+
156
+ switch (v) {
157
+ case r: {
158
+ h = bdif - gdif;
159
+
160
+ break;
161
+ }
162
+
163
+ case g: {
164
+ h = (1 / 3) + rdif - bdif;
165
+
166
+ break;
167
+ }
168
+
169
+ case b: {
170
+ h = (2 / 3) + gdif - rdif;
171
+
172
+ break;
173
+ }
174
+ // No default
175
+ }
176
+
177
+ if (h < 0) {
178
+ h += 1;
179
+ } else if (h > 1) {
180
+ h -= 1;
181
+ }
182
+ }
183
+
184
+ return [
185
+ h * 360,
186
+ s * 100,
187
+ v * 100,
188
+ ];
189
+ };
190
+
191
+ convert.rgb.hwb = function (rgb) {
192
+ const r = rgb[0];
193
+ const g = rgb[1];
194
+ let b = rgb[2];
195
+ const h = convert.rgb.hsl(rgb)[0];
196
+ const w = 1 / 255 * Math.min(r, Math.min(g, b));
197
+
198
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
199
+
200
+ return [h, w * 100, b * 100];
201
+ };
202
+
203
+ convert.rgb.oklab = function (rgb) {
204
+ // Assume sRGB
205
+ const r = srgbNonlinearTransformInv(rgb[0] / 255);
206
+ const g = srgbNonlinearTransformInv(rgb[1] / 255);
207
+ const b = srgbNonlinearTransformInv(rgb[2] / 255);
208
+
209
+ const lp = Math.cbrt(0.412_221_470_8 * r + 0.536_332_536_3 * g + 0.051_445_992_9 * b);
210
+ const mp = Math.cbrt(0.211_903_498_2 * r + 0.680_699_545_1 * g + 0.107_396_956_6 * b);
211
+ const sp = Math.cbrt(0.088_302_461_9 * r + 0.281_718_837_6 * g + 0.629_978_700_5 * b);
212
+
213
+ const l = 0.210_454_255_3 * lp + 0.793_617_785 * mp - 0.004_072_046_8 * sp;
214
+ const aa = 1.977_998_495_1 * lp - 2.428_592_205 * mp + 0.450_593_709_9 * sp;
215
+ const bb = 0.025_904_037_1 * lp + 0.782_771_766_2 * mp - 0.808_675_766 * sp;
216
+
217
+ return [l * 100, aa * 100, bb * 100];
218
+ };
219
+
220
+ convert.rgb.cmyk = function (rgb) {
221
+ const r = rgb[0] / 255;
222
+ const g = rgb[1] / 255;
223
+ const b = rgb[2] / 255;
224
+
225
+ const k = Math.min(1 - r, 1 - g, 1 - b);
226
+ const c = (1 - r - k) / (1 - k) || 0;
227
+ const m = (1 - g - k) / (1 - k) || 0;
228
+ const y = (1 - b - k) / (1 - k) || 0;
229
+
230
+ return [c * 100, m * 100, y * 100, k * 100];
231
+ };
232
+
233
+ function comparativeDistance(x, y) {
234
+ /*
235
+ See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
236
+ */
237
+ return (
238
+ ((x[0] - y[0]) ** 2) +
239
+ ((x[1] - y[1]) ** 2) +
240
+ ((x[2] - y[2]) ** 2)
241
+ );
242
+ }
243
+
244
+ convert.rgb.keyword = function (rgb) {
245
+ const reversed = reverseKeywords[rgb];
246
+ if (reversed) {
247
+ return reversed;
248
+ }
249
+
250
+ let currentClosestDistance = Number.POSITIVE_INFINITY;
251
+ let currentClosestKeyword;
252
+
253
+ for (const keyword of Object.keys(index.default)) {
254
+ const value = index.default[keyword];
255
+
256
+ // Compute comparative distance
257
+ const distance = comparativeDistance(rgb, value);
258
+
259
+ // Check if its less, if so set as closest
260
+ if (distance < currentClosestDistance) {
261
+ currentClosestDistance = distance;
262
+ currentClosestKeyword = keyword;
263
+ }
264
+ }
265
+
266
+ return currentClosestKeyword;
267
+ };
268
+
269
+ convert.keyword.rgb = function (keyword) {
270
+ return index.default[keyword];
271
+ };
272
+
273
+ convert.rgb.xyz = function (rgb) {
274
+ // Assume sRGB
275
+ const r = srgbNonlinearTransformInv(rgb[0] / 255);
276
+ const g = srgbNonlinearTransformInv(rgb[1] / 255);
277
+ const b = srgbNonlinearTransformInv(rgb[2] / 255);
278
+
279
+ const x = (r * 0.412_456_4) + (g * 0.357_576_1) + (b * 0.180_437_5);
280
+ const y = (r * 0.212_672_9) + (g * 0.715_152_2) + (b * 0.072_175);
281
+ const z = (r * 0.019_333_9) + (g * 0.119_192) + (b * 0.950_304_1);
282
+
283
+ return [x * 100, y * 100, z * 100];
284
+ };
285
+
286
+ convert.rgb.lab = function (rgb) {
287
+ const xyz = convert.rgb.xyz(rgb);
288
+ let x = xyz[0];
289
+ let y = xyz[1];
290
+ let z = xyz[2];
291
+
292
+ x /= 95.047;
293
+ y /= 100;
294
+ z /= 108.883;
295
+
296
+ x = x > LAB_FT ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
297
+ y = y > LAB_FT ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
298
+ z = z > LAB_FT ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
299
+
300
+ const l = (116 * y) - 16;
301
+ const a = 500 * (x - y);
302
+ const b = 200 * (y - z);
303
+
304
+ return [l, a, b];
305
+ };
306
+
307
+ convert.hsl.rgb = function (hsl) {
308
+ const h = hsl[0] / 360;
309
+ const s = hsl[1] / 100;
310
+ const l = hsl[2] / 100;
311
+ let t3;
312
+ let value;
313
+
314
+ if (s === 0) {
315
+ value = l * 255;
316
+ return [value, value, value];
317
+ }
318
+
319
+ const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;
320
+
321
+ const t1 = 2 * l - t2;
322
+
323
+ const rgb = [0, 0, 0];
324
+ for (let i = 0; i < 3; i++) {
325
+ t3 = h + 1 / 3 * -(i - 1);
326
+ if (t3 < 0) {
327
+ t3++;
328
+ }
329
+
330
+ if (t3 > 1) {
331
+ t3--;
332
+ }
333
+
334
+ if (6 * t3 < 1) {
335
+ value = t1 + (t2 - t1) * 6 * t3;
336
+ } else if (2 * t3 < 1) {
337
+ value = t2;
338
+ } else if (3 * t3 < 2) {
339
+ value = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
340
+ } else {
341
+ value = t1;
342
+ }
343
+
344
+ rgb[i] = value * 255;
345
+ }
346
+
347
+ return rgb;
348
+ };
349
+
350
+ convert.hsl.hsv = function (hsl) {
351
+ const h = hsl[0];
352
+ let s = hsl[1] / 100;
353
+ let l = hsl[2] / 100;
354
+ let smin = s;
355
+ const lmin = Math.max(l, 0.01);
356
+
357
+ l *= 2;
358
+ s *= (l <= 1) ? l : 2 - l;
359
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
360
+ const v = (l + s) / 2;
361
+ const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);
362
+
363
+ return [h, sv * 100, v * 100];
364
+ };
365
+
366
+ convert.hsv.rgb = function (hsv) {
367
+ const h = hsv[0] / 60;
368
+ const s = hsv[1] / 100;
369
+ let v = hsv[2] / 100;
370
+ const hi = Math.floor(h) % 6;
371
+
372
+ const f = h - Math.floor(h);
373
+ const p = 255 * v * (1 - s);
374
+ const q = 255 * v * (1 - (s * f));
375
+ const t = 255 * v * (1 - (s * (1 - f)));
376
+ v *= 255;
377
+
378
+ switch (hi) {
379
+ case 0: {
380
+ return [v, t, p];
381
+ }
382
+
383
+ case 1: {
384
+ return [q, v, p];
385
+ }
386
+
387
+ case 2: {
388
+ return [p, v, t];
389
+ }
390
+
391
+ case 3: {
392
+ return [p, q, v];
393
+ }
394
+
395
+ case 4: {
396
+ return [t, p, v];
397
+ }
398
+
399
+ case 5: {
400
+ return [v, p, q];
401
+ }
402
+ }
403
+ };
404
+
405
+ convert.hsv.hsl = function (hsv) {
406
+ const h = hsv[0];
407
+ const s = hsv[1] / 100;
408
+ const v = hsv[2] / 100;
409
+ const vmin = Math.max(v, 0.01);
410
+ let sl;
411
+ let l;
412
+
413
+ l = (2 - s) * v;
414
+ const lmin = (2 - s) * vmin;
415
+ sl = s * vmin;
416
+ sl /= (lmin <= 1) ? lmin : 2 - lmin;
417
+ sl = sl || 0;
418
+ l /= 2;
419
+
420
+ return [h, sl * 100, l * 100];
421
+ };
422
+
423
+ // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
424
+ convert.hwb.rgb = function (hwb) {
425
+ const h = hwb[0] / 360;
426
+ let wh = hwb[1] / 100;
427
+ let bl = hwb[2] / 100;
428
+ const ratio = wh + bl;
429
+ let f;
430
+
431
+ // Wh + bl cant be > 1
432
+ if (ratio > 1) {
433
+ wh /= ratio;
434
+ bl /= ratio;
435
+ }
436
+
437
+ const i = Math.floor(6 * h);
438
+ const v = 1 - bl;
439
+ f = 6 * h - i;
440
+
441
+ // eslint-disable-next-line no-bitwise
442
+ if ((i & 0x01) !== 0) {
443
+ f = 1 - f;
444
+ }
445
+
446
+ const n = wh + f * (v - wh); // Linear interpolation
447
+
448
+ let r;
449
+ let g;
450
+ let b;
451
+ /* eslint-disable max-statements-per-line,no-multi-spaces, default-case-last */
452
+ switch (i) {
453
+ default:
454
+ case 6:
455
+ case 0: { r = v; g = n; b = wh; break;
456
+ }
457
+
458
+ case 1: { r = n; g = v; b = wh; break;
459
+ }
460
+
461
+ case 2: { r = wh; g = v; b = n; break;
462
+ }
463
+
464
+ case 3: { r = wh; g = n; b = v; break;
465
+ }
466
+
467
+ case 4: { r = n; g = wh; b = v; break;
468
+ }
469
+
470
+ case 5: { r = v; g = wh; b = n; break;
471
+ }
472
+ }
473
+ /* eslint-enable max-statements-per-line,no-multi-spaces, default-case-last */
474
+
475
+ return [r * 255, g * 255, b * 255];
476
+ };
477
+
478
+ convert.cmyk.rgb = function (cmyk) {
479
+ const c = cmyk[0] / 100;
480
+ const m = cmyk[1] / 100;
481
+ const y = cmyk[2] / 100;
482
+ const k = cmyk[3] / 100;
483
+
484
+ const r = 1 - Math.min(1, c * (1 - k) + k);
485
+ const g = 1 - Math.min(1, m * (1 - k) + k);
486
+ const b = 1 - Math.min(1, y * (1 - k) + k);
487
+
488
+ return [r * 255, g * 255, b * 255];
489
+ };
490
+
491
+ convert.xyz.rgb = function (xyz) {
492
+ const x = xyz[0] / 100;
493
+ const y = xyz[1] / 100;
494
+ const z = xyz[2] / 100;
495
+ let r;
496
+ let g;
497
+ let b;
498
+
499
+ r = (x * 3.240_454_2) + (y * -1.537_138_5) + (z * -0.498_531_4);
500
+ g = (x * -0.969_266) + (y * 1.876_010_8) + (z * 0.041_556);
501
+ b = (x * 0.055_643_4) + (y * -0.204_025_9) + (z * 1.057_225_2);
502
+
503
+ // Assume sRGB
504
+ r = srgbNonlinearTransform(r);
505
+ g = srgbNonlinearTransform(g);
506
+ b = srgbNonlinearTransform(b);
507
+
508
+ return [r * 255, g * 255, b * 255];
509
+ };
510
+
511
+ convert.xyz.lab = function (xyz) {
512
+ let x = xyz[0];
513
+ let y = xyz[1];
514
+ let z = xyz[2];
515
+
516
+ x /= 95.047;
517
+ y /= 100;
518
+ z /= 108.883;
519
+
520
+ x = x > LAB_FT ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
521
+ y = y > LAB_FT ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
522
+ z = z > LAB_FT ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
523
+
524
+ const l = (116 * y) - 16;
525
+ const a = 500 * (x - y);
526
+ const b = 200 * (y - z);
527
+
528
+ return [l, a, b];
529
+ };
530
+
531
+ convert.xyz.oklab = function (xyz) {
532
+ const x = xyz[0] / 100;
533
+ const y = xyz[1] / 100;
534
+ const z = xyz[2] / 100;
535
+
536
+ const lp = Math.cbrt(0.818_933_010_1 * x + 0.361_866_742_4 * y - 0.128_859_713_7 * z);
537
+ const mp = Math.cbrt(0.032_984_543_6 * x + 0.929_311_871_5 * y + 0.036_145_638_7 * z);
538
+ const sp = Math.cbrt(0.048_200_301_8 * x + 0.264_366_269_1 * y + 0.633_851_707 * z);
539
+
540
+ const l = 0.210_454_255_3 * lp + 0.793_617_785 * mp - 0.004_072_046_8 * sp;
541
+ const a = 1.977_998_495_1 * lp - 2.428_592_205 * mp + 0.450_593_709_9 * sp;
542
+ const b = 0.025_904_037_1 * lp + 0.782_771_766_2 * mp - 0.808_675_766 * sp;
543
+
544
+ return [l * 100, a * 100, b * 100];
545
+ };
546
+
547
+ convert.oklab.oklch = function (oklab) {
548
+ return convert.lab.lch(oklab);
549
+ };
550
+
551
+ convert.oklab.xyz = function (oklab) {
552
+ const ll = oklab[0] / 100;
553
+ const a = oklab[1] / 100;
554
+ const b = oklab[2] / 100;
555
+
556
+ const l = (0.999_999_998 * ll + 0.396_337_792 * a + 0.215_803_758 * b) ** 3;
557
+ const m = (1.000_000_008 * ll - 0.105_561_342 * a - 0.063_854_175 * b) ** 3;
558
+ const s = (1.000_000_055 * ll - 0.089_484_182 * a - 1.291_485_538 * b) ** 3;
559
+
560
+ const x = 1.227_013_851 * l - 0.557_799_98 * m + 0.281_256_149 * s;
561
+ const y = -0.040_580_178 * l + 1.112_256_87 * m - 0.071_676_679 * s;
562
+ const z = -0.076_381_285 * l - 0.421_481_978 * m + 1.586_163_22 * s;
563
+
564
+ return [x * 100, y * 100, z * 100];
565
+ };
566
+
567
+ convert.oklab.rgb = function (oklab) {
568
+ const ll = oklab[0] / 100;
569
+ const aa = oklab[1] / 100;
570
+ const bb = oklab[2] / 100;
571
+
572
+ const l = (ll + 0.396_337_777_4 * aa + 0.215_803_757_3 * bb) ** 3;
573
+ const m = (ll - 0.105_561_345_8 * aa - 0.063_854_172_8 * bb) ** 3;
574
+ const s = (ll - 0.089_484_177_5 * aa - 1.291_485_548 * bb) ** 3;
575
+
576
+ // Assume sRGB
577
+ const r = srgbNonlinearTransform(4.076_741_662_1 * l - 3.307_711_591_3 * m + 0.230_969_929_2 * s);
578
+ const g = srgbNonlinearTransform(-1.268_438_004_6 * l + 2.609_757_401_1 * m - 0.341_319_396_5 * s);
579
+ const b = srgbNonlinearTransform(-0.004_196_086_3 * l - 0.703_418_614_7 * m + 1.707_614_701 * s);
580
+
581
+ return [r * 255, g * 255, b * 255];
582
+ };
583
+
584
+ convert.oklch.oklab = function (oklch) {
585
+ return convert.lch.lab(oklch);
586
+ };
587
+
588
+ convert.lab.xyz = function (lab) {
589
+ const l = lab[0];
590
+ const a = lab[1];
591
+ const b = lab[2];
592
+ let x;
593
+ let y;
594
+ let z;
595
+
596
+ y = (l + 16) / 116;
597
+ x = a / 500 + y;
598
+ z = y - b / 200;
599
+
600
+ const y2 = y ** 3;
601
+ const x2 = x ** 3;
602
+ const z2 = z ** 3;
603
+ y = y2 > LAB_FT ? y2 : (y - 16 / 116) / 7.787;
604
+ x = x2 > LAB_FT ? x2 : (x - 16 / 116) / 7.787;
605
+ z = z2 > LAB_FT ? z2 : (z - 16 / 116) / 7.787;
606
+
607
+ // Illuminant D65 XYZ Tristrimulus Values
608
+ // https://en.wikipedia.org/wiki/CIE_1931_color_space
609
+ x *= 95.047;
610
+ y *= 100;
611
+ z *= 108.883;
612
+
613
+ return [x, y, z];
614
+ };
615
+
616
+ convert.lab.lch = function (lab) {
617
+ const l = lab[0];
618
+ const a = lab[1];
619
+ const b = lab[2];
620
+ let h;
621
+
622
+ const hr = Math.atan2(b, a);
623
+ h = hr * 360 / 2 / Math.PI;
624
+
625
+ if (h < 0) {
626
+ h += 360;
627
+ }
628
+
629
+ const c = Math.sqrt(a * a + b * b);
630
+
631
+ return [l, c, h];
632
+ };
633
+
634
+ convert.lch.lab = function (lch) {
635
+ const l = lch[0];
636
+ const c = lch[1];
637
+ const h = lch[2];
638
+
639
+ const hr = h / 360 * 2 * Math.PI;
640
+ const a = c * Math.cos(hr);
641
+ const b = c * Math.sin(hr);
642
+
643
+ return [l, a, b];
644
+ };
645
+
646
+ convert.rgb.ansi16 = function (args, saturation = null) {
647
+ const [r, g, b] = args;
648
+ let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization
649
+
650
+ value = Math.round(value / 50);
651
+
652
+ if (value === 0) {
653
+ return 30;
654
+ }
655
+
656
+ let ansi = 30
657
+ /* eslint-disable no-bitwise */
658
+ + ((Math.round(b / 255) << 2)
659
+ | (Math.round(g / 255) << 1)
660
+ | Math.round(r / 255));
661
+ /* eslint-enable no-bitwise */
662
+
663
+ if (value === 2) {
664
+ ansi += 60;
665
+ }
666
+
667
+ return ansi;
668
+ };
669
+
670
+ convert.hsv.ansi16 = function (args) {
671
+ // Optimization here; we already know the value and don't need to get
672
+ // it converted for us.
673
+ return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
674
+ };
675
+
676
+ convert.rgb.ansi256 = function (args) {
677
+ const r = args[0];
678
+ const g = args[1];
679
+ const b = args[2];
680
+
681
+ // We use the extended greyscale palette here, with the exception of
682
+ // black and white. normal palette only has 4 greyscale shades.
683
+ // eslint-disable-next-line no-bitwise
684
+ if (r >> 4 === g >> 4 && g >> 4 === b >> 4) {
685
+ if (r < 8) {
686
+ return 16;
687
+ }
688
+
689
+ if (r > 248) {
690
+ return 231;
691
+ }
692
+
693
+ return Math.round(((r - 8) / 247) * 24) + 232;
694
+ }
695
+
696
+ const ansi = 16
697
+ + (36 * Math.round(r / 255 * 5))
698
+ + (6 * Math.round(g / 255 * 5))
699
+ + Math.round(b / 255 * 5);
700
+
701
+ return ansi;
702
+ };
703
+
704
+ convert.ansi16.rgb = function (args) {
705
+ args = args[0];
706
+
707
+ let color = args % 10;
708
+
709
+ // Handle greyscale
710
+ if (color === 0 || color === 7) {
711
+ if (args > 50) {
712
+ color += 3.5;
713
+ }
714
+
715
+ color = color / 10.5 * 255;
716
+
717
+ return [color, color, color];
718
+ }
719
+
720
+ const mult = (Math.trunc(args > 50) + 1) * 0.5;
721
+ /* eslint-disable no-bitwise */
722
+ const r = ((color & 1) * mult) * 255;
723
+ const g = (((color >> 1) & 1) * mult) * 255;
724
+ const b = (((color >> 2) & 1) * mult) * 255;
725
+ /* eslint-enable no-bitwise */
726
+
727
+ return [r, g, b];
728
+ };
729
+
730
+ convert.ansi256.rgb = function (args) {
731
+ args = args[0];
732
+
733
+ // Handle greyscale
734
+ if (args >= 232) {
735
+ const c = (args - 232) * 10 + 8;
736
+ return [c, c, c];
737
+ }
738
+
739
+ args -= 16;
740
+
741
+ let rem;
742
+ const r = Math.floor(args / 36) / 5 * 255;
743
+ const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
744
+ const b = (rem % 6) / 5 * 255;
745
+
746
+ return [r, g, b];
747
+ };
748
+
749
+ convert.rgb.hex = function (args) {
750
+ /* eslint-disable no-bitwise */
751
+ const integer = ((Math.round(args[0]) & 0xFF) << 16)
752
+ + ((Math.round(args[1]) & 0xFF) << 8)
753
+ + (Math.round(args[2]) & 0xFF);
754
+ /* eslint-enable no-bitwise */
755
+
756
+ const string = integer.toString(16).toUpperCase();
757
+ return '000000'.slice(string.length) + string;
758
+ };
759
+
760
+ convert.hex.rgb = function (args) {
761
+ const match = args.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);
762
+ if (!match) {
763
+ return [0, 0, 0];
764
+ }
765
+
766
+ let colorString = match[0];
767
+
768
+ if (match[0].length === 3) {
769
+ colorString = [...colorString].map(char => char + char).join('');
770
+ }
771
+
772
+ const integer = Number.parseInt(colorString, 16);
773
+ /* eslint-disable no-bitwise */
774
+ const r = (integer >> 16) & 0xFF;
775
+ const g = (integer >> 8) & 0xFF;
776
+ const b = integer & 0xFF;
777
+ /* eslint-enable no-bitwise */
778
+
779
+ return [r, g, b];
780
+ };
781
+
782
+ convert.rgb.hcg = function (rgb) {
783
+ const r = rgb[0] / 255;
784
+ const g = rgb[1] / 255;
785
+ const b = rgb[2] / 255;
786
+ const max = Math.max(Math.max(r, g), b);
787
+ const min = Math.min(Math.min(r, g), b);
788
+ const chroma = (max - min);
789
+ let hue;
790
+
791
+ const grayscale = chroma < 1 ? min / (1 - chroma) : 0;
792
+
793
+ if (chroma <= 0) {
794
+ hue = 0;
795
+ } else if (max === r) {
796
+ hue = ((g - b) / chroma) % 6;
797
+ } else if (max === g) {
798
+ hue = 2 + (b - r) / chroma;
799
+ } else {
800
+ hue = 4 + (r - g) / chroma;
801
+ }
802
+
803
+ hue /= 6;
804
+ hue %= 1;
805
+
806
+ return [hue * 360, chroma * 100, grayscale * 100];
807
+ };
808
+
809
+ convert.hsl.hcg = function (hsl) {
810
+ const s = hsl[1] / 100;
811
+ const l = hsl[2] / 100;
812
+
813
+ const c = l < 0.5 ? (2 * s * l) : (2 * s * (1 - l));
814
+
815
+ let f = 0;
816
+ if (c < 1) {
817
+ f = (l - 0.5 * c) / (1 - c);
818
+ }
819
+
820
+ return [hsl[0], c * 100, f * 100];
821
+ };
822
+
823
+ convert.hsv.hcg = function (hsv) {
824
+ const s = hsv[1] / 100;
825
+ const v = hsv[2] / 100;
826
+
827
+ const c = s * v;
828
+ let f = 0;
829
+
830
+ if (c < 1) {
831
+ f = (v - c) / (1 - c);
832
+ }
833
+
834
+ return [hsv[0], c * 100, f * 100];
835
+ };
836
+
837
+ convert.hcg.rgb = function (hcg) {
838
+ const h = hcg[0] / 360;
839
+ const c = hcg[1] / 100;
840
+ const g = hcg[2] / 100;
841
+
842
+ if (c === 0) {
843
+ return [g * 255, g * 255, g * 255];
844
+ }
845
+
846
+ const pure = [0, 0, 0];
847
+ const hi = (h % 1) * 6;
848
+ const v = hi % 1;
849
+ const w = 1 - v;
850
+ let mg = 0;
851
+
852
+ /* eslint-disable max-statements-per-line */
853
+ switch (Math.floor(hi)) {
854
+ case 0: {
855
+ pure[0] = 1; pure[1] = v; pure[2] = 0; break;
856
+ }
857
+
858
+ case 1: {
859
+ pure[0] = w; pure[1] = 1; pure[2] = 0; break;
860
+ }
861
+
862
+ case 2: {
863
+ pure[0] = 0; pure[1] = 1; pure[2] = v; break;
864
+ }
865
+
866
+ case 3: {
867
+ pure[0] = 0; pure[1] = w; pure[2] = 1; break;
868
+ }
869
+
870
+ case 4: {
871
+ pure[0] = v; pure[1] = 0; pure[2] = 1; break;
872
+ }
873
+
874
+ default: {
875
+ pure[0] = 1; pure[1] = 0; pure[2] = w;
876
+ }
877
+ }
878
+ /* eslint-enable max-statements-per-line */
879
+
880
+ mg = (1 - c) * g;
881
+
882
+ return [
883
+ (c * pure[0] + mg) * 255,
884
+ (c * pure[1] + mg) * 255,
885
+ (c * pure[2] + mg) * 255,
886
+ ];
887
+ };
888
+
889
+ convert.hcg.hsv = function (hcg) {
890
+ const c = hcg[1] / 100;
891
+ const g = hcg[2] / 100;
892
+
893
+ const v = c + g * (1 - c);
894
+ let f = 0;
895
+
896
+ if (v > 0) {
897
+ f = c / v;
898
+ }
899
+
900
+ return [hcg[0], f * 100, v * 100];
901
+ };
902
+
903
+ convert.hcg.hsl = function (hcg) {
904
+ const c = hcg[1] / 100;
905
+ const g = hcg[2] / 100;
906
+
907
+ const l = g * (1 - c) + 0.5 * c;
908
+ let s = 0;
909
+
910
+ if (l > 0 && l < 0.5) {
911
+ s = c / (2 * l);
912
+ } else if (l >= 0.5 && l < 1) {
913
+ s = c / (2 * (1 - l));
914
+ }
915
+
916
+ return [hcg[0], s * 100, l * 100];
917
+ };
918
+
919
+ convert.hcg.hwb = function (hcg) {
920
+ const c = hcg[1] / 100;
921
+ const g = hcg[2] / 100;
922
+ const v = c + g * (1 - c);
923
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
924
+ };
925
+
926
+ convert.hwb.hcg = function (hwb) {
927
+ const w = hwb[1] / 100;
928
+ const b = hwb[2] / 100;
929
+ const v = 1 - b;
930
+ const c = v - w;
931
+ let g = 0;
932
+
933
+ if (c < 1) {
934
+ g = (v - c) / (1 - c);
935
+ }
936
+
937
+ return [hwb[0], c * 100, g * 100];
938
+ };
939
+
940
+ convert.apple.rgb = function (apple) {
941
+ return [(apple[0] / 65_535) * 255, (apple[1] / 65_535) * 255, (apple[2] / 65_535) * 255];
942
+ };
943
+
944
+ convert.rgb.apple = function (rgb) {
945
+ return [(rgb[0] / 255) * 65_535, (rgb[1] / 255) * 65_535, (rgb[2] / 255) * 65_535];
946
+ };
947
+
948
+ convert.gray.rgb = function (args) {
949
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
950
+ };
951
+
952
+ convert.gray.hsl = function (args) {
953
+ return [0, 0, args[0]];
954
+ };
955
+
956
+ convert.gray.hsv = convert.gray.hsl;
957
+
958
+ convert.gray.hwb = function (gray) {
959
+ return [0, 100, gray[0]];
960
+ };
961
+
962
+ convert.gray.cmyk = function (gray) {
963
+ return [0, 0, 0, gray[0]];
964
+ };
965
+
966
+ convert.gray.lab = function (gray) {
967
+ return [gray[0], 0, 0];
968
+ };
969
+
970
+ convert.gray.hex = function (gray) {
971
+ /* eslint-disable no-bitwise */
972
+ const value = Math.round(gray[0] / 100 * 255) & 0xFF;
973
+ const integer = (value << 16) + (value << 8) + value;
974
+ /* eslint-enable no-bitwise */
975
+
976
+ const string = integer.toString(16).toUpperCase();
977
+ return '000000'.slice(string.length) + string;
978
+ };
979
+
980
+ convert.rgb.gray = function (rgb) {
981
+ const value = (rgb[0] + rgb[1] + rgb[2]) / 3;
982
+ return [value / 255 * 100];
983
+ };
984
+
985
+ exports.default = convert;
986
+ //# sourceMappingURL=conversions.cjs.map