@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,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]}