@raystack/apsara 0.49.0 → 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 (92) hide show
  1. package/dist/components/calendar/range-picker.cjs +19 -18
  2. package/dist/components/calendar/range-picker.cjs.map +1 -1
  3. package/dist/components/calendar/range-picker.d.ts +5 -4
  4. package/dist/components/calendar/range-picker.d.ts.map +1 -1
  5. package/dist/components/calendar/range-picker.js +19 -18
  6. package/dist/components/calendar/range-picker.js.map +1 -1
  7. package/dist/components/color-picker/color-picker-alpha.cjs +15 -0
  8. package/dist/components/color-picker/color-picker-alpha.cjs.map +1 -0
  9. package/dist/components/color-picker/color-picker-alpha.d.ts +5 -0
  10. package/dist/components/color-picker/color-picker-alpha.d.ts.map +1 -0
  11. package/dist/components/color-picker/color-picker-alpha.js +13 -0
  12. package/dist/components/color-picker/color-picker-alpha.js.map +1 -0
  13. package/dist/components/color-picker/color-picker-area.cjs +73 -0
  14. package/dist/components/color-picker/color-picker-area.cjs.map +1 -0
  15. package/dist/components/color-picker/color-picker-area.d.ts +4 -0
  16. package/dist/components/color-picker/color-picker-area.d.ts.map +1 -0
  17. package/dist/components/color-picker/color-picker-area.js +71 -0
  18. package/dist/components/color-picker/color-picker-area.js.map +1 -0
  19. package/dist/components/color-picker/color-picker-hue.cjs +15 -0
  20. package/dist/components/color-picker/color-picker-hue.cjs.map +1 -0
  21. package/dist/components/color-picker/color-picker-hue.d.ts +5 -0
  22. package/dist/components/color-picker/color-picker-hue.d.ts.map +1 -0
  23. package/dist/components/color-picker/color-picker-hue.js +13 -0
  24. package/dist/components/color-picker/color-picker-hue.js.map +1 -0
  25. package/dist/components/color-picker/color-picker-input.cjs +16 -0
  26. package/dist/components/color-picker/color-picker-input.cjs.map +1 -0
  27. package/dist/components/color-picker/color-picker-input.d.ts +4 -0
  28. package/dist/components/color-picker/color-picker-input.d.ts.map +1 -0
  29. package/dist/components/color-picker/color-picker-input.js +14 -0
  30. package/dist/components/color-picker/color-picker-input.js.map +1 -0
  31. package/dist/components/color-picker/color-picker-mode.cjs +16 -0
  32. package/dist/components/color-picker/color-picker-mode.cjs.map +1 -0
  33. package/dist/components/color-picker/color-picker-mode.d.ts +8 -0
  34. package/dist/components/color-picker/color-picker-mode.d.ts.map +1 -0
  35. package/dist/components/color-picker/color-picker-mode.js +14 -0
  36. package/dist/components/color-picker/color-picker-mode.js.map +1 -0
  37. package/dist/components/color-picker/color-picker-root.cjs +53 -0
  38. package/dist/components/color-picker/color-picker-root.cjs.map +1 -0
  39. package/dist/components/color-picker/color-picker-root.d.ts +25 -0
  40. package/dist/components/color-picker/color-picker-root.d.ts.map +1 -0
  41. package/dist/components/color-picker/color-picker-root.js +50 -0
  42. package/dist/components/color-picker/color-picker-root.js.map +1 -0
  43. package/dist/components/color-picker/color-picker.cjs +19 -0
  44. package/dist/components/color-picker/color-picker.cjs.map +1 -0
  45. package/dist/components/color-picker/color-picker.js +17 -0
  46. package/dist/components/color-picker/color-picker.js.map +1 -0
  47. package/dist/components/color-picker/color-picker.module.css.cjs +8 -0
  48. package/dist/components/color-picker/color-picker.module.css.cjs.map +1 -0
  49. package/dist/components/color-picker/color-picker.module.css.js +4 -0
  50. package/dist/components/color-picker/color-picker.module.css.js.map +1 -0
  51. package/dist/components/color-picker/index.d.ts +2 -0
  52. package/dist/components/color-picker/index.d.ts.map +1 -0
  53. package/dist/components/color-picker/utils.cjs +18 -0
  54. package/dist/components/color-picker/utils.cjs.map +1 -0
  55. package/dist/components/color-picker/utils.d.ts +11 -0
  56. package/dist/components/color-picker/utils.d.ts.map +1 -0
  57. package/dist/components/color-picker/utils.js +15 -0
  58. package/dist/components/color-picker/utils.js.map +1 -0
  59. package/dist/components/filter-chip/filter-chip.cjs +1 -1
  60. package/dist/components/filter-chip/filter-chip.js +1 -1
  61. package/dist/index.cjs +2 -0
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.d.ts +1 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs +986 -0
  68. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.cjs.map +1 -0
  69. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js +982 -0
  70. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/conversions.js.map +1 -0
  71. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs +86 -0
  72. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.cjs.map +1 -0
  73. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js +82 -0
  74. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/index.js.map +1 -0
  75. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs +103 -0
  76. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.cjs.map +1 -0
  77. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js +99 -0
  78. package/dist/node_modules/.pnpm/color-convert@3.1.0/node_modules/color-convert/route.js.map +1 -0
  79. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs +157 -0
  80. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.cjs.map +1 -0
  81. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js +153 -0
  82. package/dist/node_modules/.pnpm/color-name@2.0.0/node_modules/color-name/index.js.map +1 -0
  83. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs +235 -0
  84. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.cjs.map +1 -0
  85. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js +231 -0
  86. package/dist/node_modules/.pnpm/color-string@2.0.1/node_modules/color-string/index.js.map +1 -0
  87. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs +501 -0
  88. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.cjs.map +1 -0
  89. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js +497 -0
  90. package/dist/node_modules/.pnpm/color@5.0.0/node_modules/color/index.js.map +1 -0
  91. package/dist/style.css +1 -1
  92. package/package.json +2 -1
@@ -0,0 +1,497 @@
1
+ import cs from '../../../color-string@2.0.1/node_modules/color-string/index.js';
2
+ import convert from '../../../color-convert@3.1.0/node_modules/color-convert/index.js';
3
+
4
+ const skippedModels = [
5
+ // To be honest, I don't really feel like keyword belongs in color convert, but eh.
6
+ 'keyword',
7
+
8
+ // Gray conflicts with some method names, and has its own method defined.
9
+ 'gray',
10
+
11
+ // Shouldn't really be in color-convert either...
12
+ 'hex',
13
+ ];
14
+
15
+ const hashedModelKeys = {};
16
+ for (const model of Object.keys(convert)) {
17
+ hashedModelKeys[[...convert[model].labels].sort().join('')] = model;
18
+ }
19
+
20
+ const limiters = {};
21
+
22
+ function Color(object, model) {
23
+ if (!(this instanceof Color)) {
24
+ return new Color(object, model);
25
+ }
26
+
27
+ if (model && model in skippedModels) {
28
+ model = null;
29
+ }
30
+
31
+ if (model && !(model in convert)) {
32
+ throw new Error('Unknown model: ' + model);
33
+ }
34
+
35
+ let i;
36
+ let channels;
37
+
38
+ if (object == null) { // eslint-disable-line no-eq-null,eqeqeq
39
+ this.model = 'rgb';
40
+ this.color = [0, 0, 0];
41
+ this.valpha = 1;
42
+ } else if (object instanceof Color) {
43
+ this.model = object.model;
44
+ this.color = [...object.color];
45
+ this.valpha = object.valpha;
46
+ } else if (typeof object === 'string') {
47
+ const result = cs.get(object);
48
+ if (result === null) {
49
+ throw new Error('Unable to parse color from string: ' + object);
50
+ }
51
+
52
+ this.model = result.model;
53
+ channels = convert[this.model].channels;
54
+ this.color = result.value.slice(0, channels);
55
+ this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;
56
+ } else if (object.length > 0) {
57
+ this.model = model || 'rgb';
58
+ channels = convert[this.model].channels;
59
+ const newArray = Array.prototype.slice.call(object, 0, channels);
60
+ this.color = zeroArray(newArray, channels);
61
+ this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;
62
+ } else if (typeof object === 'number') {
63
+ // This is always RGB - can be converted later on.
64
+ this.model = 'rgb';
65
+ this.color = [
66
+ (object >> 16) & 0xFF,
67
+ (object >> 8) & 0xFF,
68
+ object & 0xFF,
69
+ ];
70
+ this.valpha = 1;
71
+ } else {
72
+ this.valpha = 1;
73
+
74
+ const keys = Object.keys(object);
75
+ if ('alpha' in object) {
76
+ keys.splice(keys.indexOf('alpha'), 1);
77
+ this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;
78
+ }
79
+
80
+ const hashedKeys = keys.sort().join('');
81
+ if (!(hashedKeys in hashedModelKeys)) {
82
+ throw new Error('Unable to parse color from object: ' + JSON.stringify(object));
83
+ }
84
+
85
+ this.model = hashedModelKeys[hashedKeys];
86
+
87
+ const {labels} = convert[this.model];
88
+ const color = [];
89
+ for (i = 0; i < labels.length; i++) {
90
+ color.push(object[labels[i]]);
91
+ }
92
+
93
+ this.color = zeroArray(color);
94
+ }
95
+
96
+ // Perform limitations (clamping, etc.)
97
+ if (limiters[this.model]) {
98
+ channels = convert[this.model].channels;
99
+ for (i = 0; i < channels; i++) {
100
+ const limit = limiters[this.model][i];
101
+ if (limit) {
102
+ this.color[i] = limit(this.color[i]);
103
+ }
104
+ }
105
+ }
106
+
107
+ this.valpha = Math.max(0, Math.min(1, this.valpha));
108
+
109
+ if (Object.freeze) {
110
+ Object.freeze(this);
111
+ }
112
+ }
113
+
114
+ Color.prototype = {
115
+ toString() {
116
+ return this.string();
117
+ },
118
+
119
+ toJSON() {
120
+ return this[this.model]();
121
+ },
122
+
123
+ string(places) {
124
+ let self = this.model in cs.to ? this : this.rgb();
125
+ self = self.round(typeof places === 'number' ? places : 1);
126
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
127
+ return cs.to[self.model](...arguments_);
128
+ },
129
+
130
+ percentString(places) {
131
+ const self = this.rgb().round(typeof places === 'number' ? places : 1);
132
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
133
+ return cs.to.rgb.percent(...arguments_);
134
+ },
135
+
136
+ array() {
137
+ return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
138
+ },
139
+
140
+ object() {
141
+ const result = {};
142
+ const {channels} = convert[this.model];
143
+ const {labels} = convert[this.model];
144
+
145
+ for (let i = 0; i < channels; i++) {
146
+ result[labels[i]] = this.color[i];
147
+ }
148
+
149
+ if (this.valpha !== 1) {
150
+ result.alpha = this.valpha;
151
+ }
152
+
153
+ return result;
154
+ },
155
+
156
+ unitArray() {
157
+ const rgb = this.rgb().color;
158
+ rgb[0] /= 255;
159
+ rgb[1] /= 255;
160
+ rgb[2] /= 255;
161
+
162
+ if (this.valpha !== 1) {
163
+ rgb.push(this.valpha);
164
+ }
165
+
166
+ return rgb;
167
+ },
168
+
169
+ unitObject() {
170
+ const rgb = this.rgb().object();
171
+ rgb.r /= 255;
172
+ rgb.g /= 255;
173
+ rgb.b /= 255;
174
+
175
+ if (this.valpha !== 1) {
176
+ rgb.alpha = this.valpha;
177
+ }
178
+
179
+ return rgb;
180
+ },
181
+
182
+ round(places) {
183
+ places = Math.max(places || 0, 0);
184
+ return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);
185
+ },
186
+
187
+ alpha(value) {
188
+ if (value !== undefined) {
189
+ return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);
190
+ }
191
+
192
+ return this.valpha;
193
+ },
194
+
195
+ // Rgb
196
+ red: getset('rgb', 0, maxfn(255)),
197
+ green: getset('rgb', 1, maxfn(255)),
198
+ blue: getset('rgb', 2, maxfn(255)),
199
+
200
+ hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),
201
+
202
+ saturationl: getset('hsl', 1, maxfn(100)),
203
+ lightness: getset('hsl', 2, maxfn(100)),
204
+
205
+ saturationv: getset('hsv', 1, maxfn(100)),
206
+ value: getset('hsv', 2, maxfn(100)),
207
+
208
+ chroma: getset('hcg', 1, maxfn(100)),
209
+ gray: getset('hcg', 2, maxfn(100)),
210
+
211
+ white: getset('hwb', 1, maxfn(100)),
212
+ wblack: getset('hwb', 2, maxfn(100)),
213
+
214
+ cyan: getset('cmyk', 0, maxfn(100)),
215
+ magenta: getset('cmyk', 1, maxfn(100)),
216
+ yellow: getset('cmyk', 2, maxfn(100)),
217
+ black: getset('cmyk', 3, maxfn(100)),
218
+
219
+ x: getset('xyz', 0, maxfn(95.047)),
220
+ y: getset('xyz', 1, maxfn(100)),
221
+ z: getset('xyz', 2, maxfn(108.833)),
222
+
223
+ l: getset('lab', 0, maxfn(100)),
224
+ a: getset('lab', 1),
225
+ b: getset('lab', 2),
226
+
227
+ keyword(value) {
228
+ if (value !== undefined) {
229
+ return new Color(value);
230
+ }
231
+
232
+ return convert[this.model].keyword(this.color);
233
+ },
234
+
235
+ hex(value) {
236
+ if (value !== undefined) {
237
+ return new Color(value);
238
+ }
239
+
240
+ return cs.to.hex(...this.rgb().round().color);
241
+ },
242
+
243
+ hexa(value) {
244
+ if (value !== undefined) {
245
+ return new Color(value);
246
+ }
247
+
248
+ const rgbArray = this.rgb().round().color;
249
+
250
+ let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
251
+ if (alphaHex.length === 1) {
252
+ alphaHex = '0' + alphaHex;
253
+ }
254
+
255
+ return cs.to.hex(...rgbArray) + alphaHex;
256
+ },
257
+
258
+ rgbNumber() {
259
+ const rgb = this.rgb().color;
260
+ return ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);
261
+ },
262
+
263
+ luminosity() {
264
+ // http://www.w3.org/TR/WCAG20/#relativeluminancedef
265
+ const rgb = this.rgb().color;
266
+
267
+ const lum = [];
268
+ for (const [i, element] of rgb.entries()) {
269
+ const chan = element / 255;
270
+ lum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
271
+ }
272
+
273
+ return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
274
+ },
275
+
276
+ contrast(color2) {
277
+ // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
278
+ const lum1 = this.luminosity();
279
+ const lum2 = color2.luminosity();
280
+
281
+ if (lum1 > lum2) {
282
+ return (lum1 + 0.05) / (lum2 + 0.05);
283
+ }
284
+
285
+ return (lum2 + 0.05) / (lum1 + 0.05);
286
+ },
287
+
288
+ level(color2) {
289
+ // https://www.w3.org/TR/WCAG/#contrast-enhanced
290
+ const contrastRatio = this.contrast(color2);
291
+ if (contrastRatio >= 7) {
292
+ return 'AAA';
293
+ }
294
+
295
+ return (contrastRatio >= 4.5) ? 'AA' : '';
296
+ },
297
+
298
+ isDark() {
299
+ // YIQ equation from http://24ways.org/2010/calculating-color-contrast
300
+ const rgb = this.rgb().color;
301
+ const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;
302
+ return yiq < 128;
303
+ },
304
+
305
+ isLight() {
306
+ return !this.isDark();
307
+ },
308
+
309
+ negate() {
310
+ const rgb = this.rgb();
311
+ for (let i = 0; i < 3; i++) {
312
+ rgb.color[i] = 255 - rgb.color[i];
313
+ }
314
+
315
+ return rgb;
316
+ },
317
+
318
+ lighten(ratio) {
319
+ const hsl = this.hsl();
320
+ hsl.color[2] += hsl.color[2] * ratio;
321
+ return hsl;
322
+ },
323
+
324
+ darken(ratio) {
325
+ const hsl = this.hsl();
326
+ hsl.color[2] -= hsl.color[2] * ratio;
327
+ return hsl;
328
+ },
329
+
330
+ saturate(ratio) {
331
+ const hsl = this.hsl();
332
+ hsl.color[1] += hsl.color[1] * ratio;
333
+ return hsl;
334
+ },
335
+
336
+ desaturate(ratio) {
337
+ const hsl = this.hsl();
338
+ hsl.color[1] -= hsl.color[1] * ratio;
339
+ return hsl;
340
+ },
341
+
342
+ whiten(ratio) {
343
+ const hwb = this.hwb();
344
+ hwb.color[1] += hwb.color[1] * ratio;
345
+ return hwb;
346
+ },
347
+
348
+ blacken(ratio) {
349
+ const hwb = this.hwb();
350
+ hwb.color[2] += hwb.color[2] * ratio;
351
+ return hwb;
352
+ },
353
+
354
+ grayscale() {
355
+ // http://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale
356
+ const rgb = this.rgb().color;
357
+ const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
358
+ return Color.rgb(value, value, value);
359
+ },
360
+
361
+ fade(ratio) {
362
+ return this.alpha(this.valpha - (this.valpha * ratio));
363
+ },
364
+
365
+ opaquer(ratio) {
366
+ return this.alpha(this.valpha + (this.valpha * ratio));
367
+ },
368
+
369
+ rotate(degrees) {
370
+ const hsl = this.hsl();
371
+ let hue = hsl.color[0];
372
+ hue = (hue + degrees) % 360;
373
+ hue = hue < 0 ? 360 + hue : hue;
374
+ hsl.color[0] = hue;
375
+ return hsl;
376
+ },
377
+
378
+ mix(mixinColor, weight) {
379
+ // Ported from sass implementation in C
380
+ // https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
381
+ if (!mixinColor || !mixinColor.rgb) {
382
+ throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
383
+ }
384
+
385
+ const color1 = mixinColor.rgb();
386
+ const color2 = this.rgb();
387
+ const p = weight === undefined ? 0.5 : weight;
388
+
389
+ const w = 2 * p - 1;
390
+ const a = color1.alpha() - color2.alpha();
391
+
392
+ const w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;
393
+ const w2 = 1 - w1;
394
+
395
+ return Color.rgb(
396
+ w1 * color1.red() + w2 * color2.red(),
397
+ w1 * color1.green() + w2 * color2.green(),
398
+ w1 * color1.blue() + w2 * color2.blue(),
399
+ color1.alpha() * p + color2.alpha() * (1 - p));
400
+ },
401
+ };
402
+
403
+ // Model conversion methods and static constructors
404
+ for (const model of Object.keys(convert)) {
405
+ if (skippedModels.includes(model)) {
406
+ continue;
407
+ }
408
+
409
+ const {channels} = convert[model];
410
+
411
+ // Conversion methods
412
+ Color.prototype[model] = function (...arguments_) {
413
+ if (this.model === model) {
414
+ return new Color(this);
415
+ }
416
+
417
+ if (arguments_.length > 0) {
418
+ return new Color(arguments_, model);
419
+ }
420
+
421
+ return new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);
422
+ };
423
+
424
+ // 'static' construction methods
425
+ Color[model] = function (...arguments_) {
426
+ let color = arguments_[0];
427
+ if (typeof color === 'number') {
428
+ color = zeroArray(arguments_, channels);
429
+ }
430
+
431
+ return new Color(color, model);
432
+ };
433
+ }
434
+
435
+ function roundTo(number, places) {
436
+ return Number(number.toFixed(places));
437
+ }
438
+
439
+ function roundToPlace(places) {
440
+ return function (number) {
441
+ return roundTo(number, places);
442
+ };
443
+ }
444
+
445
+ function getset(model, channel, modifier) {
446
+ model = Array.isArray(model) ? model : [model];
447
+
448
+ for (const m of model) {
449
+ (limiters[m] ||= [])[channel] = modifier;
450
+ }
451
+
452
+ model = model[0];
453
+
454
+ return function (value) {
455
+ let result;
456
+
457
+ if (value !== undefined) {
458
+ if (modifier) {
459
+ value = modifier(value);
460
+ }
461
+
462
+ result = this[model]();
463
+ result.color[channel] = value;
464
+ return result;
465
+ }
466
+
467
+ result = this[model]().color[channel];
468
+ if (modifier) {
469
+ result = modifier(result);
470
+ }
471
+
472
+ return result;
473
+ };
474
+ }
475
+
476
+ function maxfn(max) {
477
+ return function (v) {
478
+ return Math.max(0, Math.min(max, v));
479
+ };
480
+ }
481
+
482
+ function assertArray(value) {
483
+ return Array.isArray(value) ? value : [value];
484
+ }
485
+
486
+ function zeroArray(array, length) {
487
+ for (let i = 0; i < length; i++) {
488
+ if (typeof array[i] !== 'number') {
489
+ array[i] = 0;
490
+ }
491
+ }
492
+
493
+ return array;
494
+ }
495
+
496
+ export { Color as default };
497
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/.pnpm/color@5.0.0/node_modules/color/index.js"],"sourcesContent":["import colorString from 'color-string';\nimport convert from 'color-convert';\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](...arguments_);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(...arguments_);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(...this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(...rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...arguments_) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments_.length > 0) {\n\t\t\treturn new Color(arguments_, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...arguments_) {\n\t\tlet color = arguments_[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(arguments_, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] ||= [])[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nexport default Color;\n"],"names":["colorString"],"mappings":"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","x_google_ignoreList":[0]}