@saasquatch/mint-components 1.5.0-5 → 1.5.0-9

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/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mint-components.cjs.js +1 -1
  3. package/dist/cjs/{sqm-brand_31.cjs.entry.js → sqm-brand_38.cjs.entry.js} +432 -3289
  4. package/dist/cjs/{sqm-program-explainer-step-view-6a01cda0.js → sqm-program-explainer-step-view-f8e1cd12.js} +19 -7
  5. package/dist/cjs/sqm-program-explainer-step.cjs.entry.js +1 -1
  6. package/dist/cjs/{sqm-program-explainer-view-8a4af972.js → sqm-program-explainer-view-512737f3.js} +11 -5
  7. package/dist/cjs/sqm-program-explainer.cjs.entry.js +1 -1
  8. package/dist/collection/collection-manifest.json +9 -2
  9. package/dist/collection/components/sqm-brand/sqm-brand.js +2 -2
  10. package/dist/collection/components/sqm-program-explainer/ProgramExplainer.stories.js +5 -3
  11. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +11 -5
  12. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer.js +57 -11
  13. package/dist/collection/components/sqm-program-explainer-step/ProgramExplainerStep.stories.js +0 -7
  14. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +19 -7
  15. package/dist/collection/components/sqm-referral-table/ReferralTable.stories.js +1 -0
  16. package/dist/collection/components/sqm-referral-table/ReferralTableCell.stories.js +1 -0
  17. package/dist/collection/components/sqm-referral-table/ReferralTableRewardsCell.stories.js +1 -0
  18. package/dist/collection/components/sqm-reward-exchange-list/RewardExchangeListData.js +12 -0
  19. package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +2 -0
  20. package/dist/collection/components/sqm-rewards-table/UseRewardsTable.stories.js +4 -1
  21. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-date-cell.js +43 -0
  22. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-rewards-cell.js +161 -0
  23. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-source-cell.js +81 -0
  24. package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-status-cell.js +84 -0
  25. package/dist/collection/components/sqm-rewards-table/columns/RewardTableColumn.js +1 -0
  26. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.js +130 -0
  27. package/dist/collection/components/sqm-rewards-table/{sqm-rewards-table-column.js → columns/sqm-rewards-table-reward-column.js} +5 -7
  28. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.js +145 -0
  29. package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.js +117 -0
  30. package/dist/collection/components/sqm-rewards-table/useRewardsTable.js +32 -6
  31. package/dist/collection/components/sqm-share-button/sqm-share-button.js +1 -1
  32. package/dist/collection/components/sqm-stencilbook/AutoColor.js +40 -45
  33. package/dist/collection/components/sqm-stencilbook/Themes.js +4 -11
  34. package/dist/esm/loader.js +1 -1
  35. package/dist/esm/mint-components.js +1 -1
  36. package/dist/esm/{sqm-brand_31.entry.js → sqm-brand_38.entry.js} +426 -3290
  37. package/dist/esm/{sqm-program-explainer-step-view-41c1eecd.js → sqm-program-explainer-step-view-987e4747.js} +19 -7
  38. package/dist/esm/sqm-program-explainer-step.entry.js +1 -1
  39. package/dist/esm/{sqm-program-explainer-view-098a64a9.js → sqm-program-explainer-view-c0cda03a.js} +11 -5
  40. package/dist/esm/sqm-program-explainer.entry.js +1 -1
  41. package/dist/esm-es5/loader.js +1 -1
  42. package/dist/esm-es5/mint-components.js +1 -1
  43. package/dist/esm-es5/sqm-brand_38.entry.js +1 -0
  44. package/dist/esm-es5/sqm-program-explainer-step-view-987e4747.js +1 -0
  45. package/dist/esm-es5/sqm-program-explainer-step.entry.js +1 -1
  46. package/dist/esm-es5/sqm-program-explainer-view-c0cda03a.js +1 -0
  47. package/dist/esm-es5/sqm-program-explainer.entry.js +1 -1
  48. package/dist/mint-components/mint-components.esm.js +1 -1
  49. package/dist/mint-components/{p-f5cfc52a.entry.js → p-22e6aad3.entry.js} +1 -1
  50. package/dist/mint-components/p-2b2579e3.js +1 -0
  51. package/dist/mint-components/{p-748ad4f5.entry.js → p-2eadaa18.entry.js} +1 -1
  52. package/dist/mint-components/p-3137ca42.entry.js +372 -0
  53. package/dist/mint-components/p-33007a9d.system.entry.js +1 -0
  54. package/dist/mint-components/p-8c77a66a.system.js +1 -0
  55. package/dist/mint-components/p-900d4192.system.js +1 -0
  56. package/dist/mint-components/p-a731e752.js +1 -0
  57. package/dist/mint-components/p-a88a08bb.system.js +1 -1
  58. package/dist/mint-components/{p-8ec5127e.system.entry.js → p-c6e6c96c.system.entry.js} +1 -1
  59. package/dist/mint-components/{p-21df3f85.system.entry.js → p-d653e004.system.entry.js} +1 -1
  60. package/dist/types/components/sqm-brand/sqm-brand.d.ts +2 -2
  61. package/dist/types/components/sqm-program-explainer/sqm-program-explainer-view.d.ts +5 -3
  62. package/dist/types/components/sqm-program-explainer/sqm-program-explainer.d.ts +18 -8
  63. package/dist/types/components/sqm-reward-exchange-list/RewardExchangeListData.d.ts +132 -0
  64. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-date-cell.d.ts +7 -0
  65. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-rewards-cell.d.ts +5 -0
  66. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-source-cell.d.ts +4 -0
  67. package/dist/types/components/sqm-rewards-table/cells/sqm-rewards-table-status-cell.d.ts +6 -0
  68. package/dist/types/components/sqm-rewards-table/columns/RewardTableColumn.d.ts +5 -0
  69. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.d.ts +25 -0
  70. package/dist/types/components/sqm-rewards-table/{sqm-rewards-table-column.d.ts → columns/sqm-rewards-table-reward-column.d.ts} +2 -3
  71. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.d.ts +23 -0
  72. package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.d.ts +19 -0
  73. package/dist/types/components/sqm-rewards-table/useRewardsTable.d.ts +0 -33
  74. package/dist/types/components/sqm-stencilbook/AutoColor.d.ts +0 -8
  75. package/dist/types/components/sqm-stencilbook/Themes.d.ts +1 -1
  76. package/dist/types/components.d.ts +218 -30
  77. package/dist/types/global/android.d.ts +7 -0
  78. package/dist/types/global/demo.d.ts +1 -0
  79. package/dist/types/saasquatch.d.ts +34 -0
  80. package/dist/types/stories/features.d.ts +4 -0
  81. package/dist/types/stories/templates.d.ts +4 -0
  82. package/grapesjs/grapesjs.js +1 -1
  83. package/package.json +2 -3
  84. package/dist/esm-es5/sqm-brand_31.entry.js +0 -58
  85. package/dist/esm-es5/sqm-program-explainer-step-view-41c1eecd.js +0 -1
  86. package/dist/esm-es5/sqm-program-explainer-view-098a64a9.js +0 -1
  87. package/dist/mint-components/p-10103ce2.system.js +0 -1
  88. package/dist/mint-components/p-1b5b5928.system.js +0 -1
  89. package/dist/mint-components/p-7cec5098.entry.js +0 -398
  90. package/dist/mint-components/p-81786aa0.js +0 -1
  91. package/dist/mint-components/p-a4bd0778.system.entry.js +0 -58
  92. package/dist/mint-components/p-ee684b5f.js +0 -1
@@ -32,8 +32,8 @@ const sqmAssetCardView = require('./sqm-asset-card-view-07f86880.js');
32
32
  const sqmPortalFooterView = require('./sqm-portal-footer-view-03408484.js');
33
33
  const sqmHeroView = require('./sqm-hero-view-bb3d00a1.js');
34
34
  const sqmNameFieldsView = require('./sqm-name-fields-view-24614ac7.js');
35
- const sqmProgramExplainerView = require('./sqm-program-explainer-view-8a4af972.js');
36
- const sqmProgramExplainerStepView = require('./sqm-program-explainer-step-view-6a01cda0.js');
35
+ const sqmProgramExplainerView = require('./sqm-program-explainer-view-512737f3.js');
36
+ const sqmProgramExplainerStepView = require('./sqm-program-explainer-step-view-f8e1cd12.js');
37
37
 
38
38
  /**
39
39
  * Build a font CSS URL using the Google Fonts CSS API
@@ -48,3231 +48,46 @@ function buildFontsCssUrl(...fonts) {
48
48
  return `https://fonts.googleapis.com/css2?${queryString}`;
49
49
  }
50
50
 
51
- var chroma = _extends.createCommonjsModule(function (module, exports) {
52
- /**
53
- * chroma.js - JavaScript library for color conversions
54
- *
55
- * Copyright (c) 2011-2019, Gregor Aisch
56
- * All rights reserved.
57
- *
58
- * Redistribution and use in source and binary forms, with or without
59
- * modification, are permitted provided that the following conditions are met:
60
- *
61
- * 1. Redistributions of source code must retain the above copyright notice, this
62
- * list of conditions and the following disclaimer.
63
- *
64
- * 2. Redistributions in binary form must reproduce the above copyright notice,
65
- * this list of conditions and the following disclaimer in the documentation
66
- * and/or other materials provided with the distribution.
67
- *
68
- * 3. The name Gregor Aisch may not be used to endorse or promote products
69
- * derived from this software without specific prior written permission.
70
- *
71
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
72
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
73
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
74
- * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
75
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
76
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
77
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
78
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
79
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
80
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
81
- *
82
- * -------------------------------------------------------
83
- *
84
- * chroma.js includes colors from colorbrewer2.org, which are released under
85
- * the following license:
86
- *
87
- * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
88
- * and The Pennsylvania State University.
89
- *
90
- * Licensed under the Apache License, Version 2.0 (the "License");
91
- * you may not use this file except in compliance with the License.
92
- * You may obtain a copy of the License at
93
- * http://www.apache.org/licenses/LICENSE-2.0
94
- *
95
- * Unless required by applicable law or agreed to in writing,
96
- * software distributed under the License is distributed on an
97
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
98
- * either express or implied. See the License for the specific
99
- * language governing permissions and limitations under the License.
100
- *
101
- * ------------------------------------------------------
102
- *
103
- * Named colors are taken from X11 Color Names.
104
- * http://www.w3.org/TR/css3-color/#svg-color
105
- *
106
- * @preserve
107
- */
108
-
109
- (function (global, factory) {
110
- module.exports = factory() ;
111
- }(_extends.commonjsGlobal, (function () {
112
- var limit = function (x, min, max) {
113
- if ( min === void 0 ) min=0;
114
- if ( max === void 0 ) max=1;
115
-
116
- return x < min ? min : x > max ? max : x;
117
- };
118
-
119
- var clip_rgb = function (rgb) {
120
- rgb._clipped = false;
121
- rgb._unclipped = rgb.slice(0);
122
- for (var i=0; i<=3; i++) {
123
- if (i < 3) {
124
- if (rgb[i] < 0 || rgb[i] > 255) { rgb._clipped = true; }
125
- rgb[i] = limit(rgb[i], 0, 255);
126
- } else if (i === 3) {
127
- rgb[i] = limit(rgb[i], 0, 1);
128
- }
129
- }
130
- return rgb;
131
- };
132
-
133
- // ported from jQuery's $.type
134
- var classToType = {};
135
- for (var i = 0, list = ['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Undefined', 'Null']; i < list.length; i += 1) {
136
- var name = list[i];
137
-
138
- classToType[("[object " + name + "]")] = name.toLowerCase();
139
- }
140
- var type = function(obj) {
141
- return classToType[Object.prototype.toString.call(obj)] || "object";
142
- };
143
-
144
- var unpack = function (args, keyOrder) {
145
- if ( keyOrder === void 0 ) keyOrder=null;
146
-
147
- // if called with more than 3 arguments, we return the arguments
148
- if (args.length >= 3) { return Array.prototype.slice.call(args); }
149
- // with less than 3 args we check if first arg is object
150
- // and use the keyOrder string to extract and sort properties
151
- if (type(args[0]) == 'object' && keyOrder) {
152
- return keyOrder.split('')
153
- .filter(function (k) { return args[0][k] !== undefined; })
154
- .map(function (k) { return args[0][k]; });
155
- }
156
- // otherwise we just return the first argument
157
- // (which we suppose is an array of args)
158
- return args[0];
159
- };
160
-
161
- var last = function (args) {
162
- if (args.length < 2) { return null; }
163
- var l = args.length-1;
164
- if (type(args[l]) == 'string') { return args[l].toLowerCase(); }
165
- return null;
166
- };
167
-
168
- var PI = Math.PI;
169
-
170
- var utils = {
171
- clip_rgb: clip_rgb,
172
- limit: limit,
173
- type: type,
174
- unpack: unpack,
175
- last: last,
176
- PI: PI,
177
- TWOPI: PI*2,
178
- PITHIRD: PI/3,
179
- DEG2RAD: PI / 180,
180
- RAD2DEG: 180 / PI
181
- };
182
-
183
- var input = {
184
- format: {},
185
- autodetect: []
186
- };
187
-
188
- var last$1 = utils.last;
189
- var clip_rgb$1 = utils.clip_rgb;
190
- var type$1 = utils.type;
191
-
192
-
193
- var Color = function Color() {
194
- var args = [], len = arguments.length;
195
- while ( len-- ) args[ len ] = arguments[ len ];
196
-
197
- var me = this;
198
- if (type$1(args[0]) === 'object' &&
199
- args[0].constructor &&
200
- args[0].constructor === this.constructor) {
201
- // the argument is already a Color instance
202
- return args[0];
203
- }
204
-
205
- // last argument could be the mode
206
- var mode = last$1(args);
207
- var autodetect = false;
208
-
209
- if (!mode) {
210
- autodetect = true;
211
- if (!input.sorted) {
212
- input.autodetect = input.autodetect.sort(function (a,b) { return b.p - a.p; });
213
- input.sorted = true;
214
- }
215
- // auto-detect format
216
- for (var i = 0, list = input.autodetect; i < list.length; i += 1) {
217
- var chk = list[i];
218
-
219
- mode = chk.test.apply(chk, args);
220
- if (mode) { break; }
221
- }
222
- }
223
-
224
- if (input.format[mode]) {
225
- var rgb = input.format[mode].apply(null, autodetect ? args : args.slice(0,-1));
226
- me._rgb = clip_rgb$1(rgb);
227
- } else {
228
- throw new Error('unknown format: '+args);
229
- }
230
-
231
- // add alpha channel
232
- if (me._rgb.length === 3) { me._rgb.push(1); }
233
- };
234
-
235
- Color.prototype.toString = function toString () {
236
- if (type$1(this.hex) == 'function') { return this.hex(); }
237
- return ("[" + (this._rgb.join(',')) + "]");
238
- };
239
-
240
- var Color_1 = Color;
241
-
242
- var chroma = function () {
243
- var args = [], len = arguments.length;
244
- while ( len-- ) args[ len ] = arguments[ len ];
245
-
246
- return new (Function.prototype.bind.apply( chroma.Color, [ null ].concat( args) ));
247
- };
248
-
249
- chroma.Color = Color_1;
250
- chroma.version = '2.1.2';
251
-
252
- var chroma_1 = chroma;
253
-
254
- var unpack$1 = utils.unpack;
255
- var max = Math.max;
256
-
257
- var rgb2cmyk = function () {
258
- var args = [], len = arguments.length;
259
- while ( len-- ) args[ len ] = arguments[ len ];
260
-
261
- var ref = unpack$1(args, 'rgb');
262
- var r = ref[0];
263
- var g = ref[1];
264
- var b = ref[2];
265
- r = r / 255;
266
- g = g / 255;
267
- b = b / 255;
268
- var k = 1 - max(r,max(g,b));
269
- var f = k < 1 ? 1 / (1-k) : 0;
270
- var c = (1-r-k) * f;
271
- var m = (1-g-k) * f;
272
- var y = (1-b-k) * f;
273
- return [c,m,y,k];
274
- };
275
-
276
- var rgb2cmyk_1 = rgb2cmyk;
277
-
278
- var unpack$2 = utils.unpack;
279
-
280
- var cmyk2rgb = function () {
281
- var args = [], len = arguments.length;
282
- while ( len-- ) args[ len ] = arguments[ len ];
283
-
284
- args = unpack$2(args, 'cmyk');
285
- var c = args[0];
286
- var m = args[1];
287
- var y = args[2];
288
- var k = args[3];
289
- var alpha = args.length > 4 ? args[4] : 1;
290
- if (k === 1) { return [0,0,0,alpha]; }
291
- return [
292
- c >= 1 ? 0 : 255 * (1-c) * (1-k), // r
293
- m >= 1 ? 0 : 255 * (1-m) * (1-k), // g
294
- y >= 1 ? 0 : 255 * (1-y) * (1-k), // b
295
- alpha
296
- ];
297
- };
298
-
299
- var cmyk2rgb_1 = cmyk2rgb;
300
-
301
- var unpack$3 = utils.unpack;
302
- var type$2 = utils.type;
303
-
304
-
305
-
306
- Color_1.prototype.cmyk = function() {
307
- return rgb2cmyk_1(this._rgb);
308
- };
309
-
310
- chroma_1.cmyk = function () {
311
- var args = [], len = arguments.length;
312
- while ( len-- ) args[ len ] = arguments[ len ];
313
-
314
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['cmyk']) ));
315
- };
316
-
317
- input.format.cmyk = cmyk2rgb_1;
318
-
319
- input.autodetect.push({
320
- p: 2,
321
- test: function () {
322
- var args = [], len = arguments.length;
323
- while ( len-- ) args[ len ] = arguments[ len ];
324
-
325
- args = unpack$3(args, 'cmyk');
326
- if (type$2(args) === 'array' && args.length === 4) {
327
- return 'cmyk';
328
- }
329
- }
330
- });
331
-
332
- var unpack$4 = utils.unpack;
333
- var last$2 = utils.last;
334
- var rnd = function (a) { return Math.round(a*100)/100; };
335
-
336
- /*
337
- * supported arguments:
338
- * - hsl2css(h,s,l)
339
- * - hsl2css(h,s,l,a)
340
- * - hsl2css([h,s,l], mode)
341
- * - hsl2css([h,s,l,a], mode)
342
- * - hsl2css({h,s,l,a}, mode)
343
- */
344
- var hsl2css = function () {
345
- var args = [], len = arguments.length;
346
- while ( len-- ) args[ len ] = arguments[ len ];
347
-
348
- var hsla = unpack$4(args, 'hsla');
349
- var mode = last$2(args) || 'lsa';
350
- hsla[0] = rnd(hsla[0] || 0);
351
- hsla[1] = rnd(hsla[1]*100) + '%';
352
- hsla[2] = rnd(hsla[2]*100) + '%';
353
- if (mode === 'hsla' || (hsla.length > 3 && hsla[3]<1)) {
354
- hsla[3] = hsla.length > 3 ? hsla[3] : 1;
355
- mode = 'hsla';
356
- } else {
357
- hsla.length = 3;
358
- }
359
- return (mode + "(" + (hsla.join(',')) + ")");
360
- };
361
-
362
- var hsl2css_1 = hsl2css;
363
-
364
- var unpack$5 = utils.unpack;
365
-
366
- /*
367
- * supported arguments:
368
- * - rgb2hsl(r,g,b)
369
- * - rgb2hsl(r,g,b,a)
370
- * - rgb2hsl([r,g,b])
371
- * - rgb2hsl([r,g,b,a])
372
- * - rgb2hsl({r,g,b,a})
373
- */
374
- var rgb2hsl = function () {
375
- var args = [], len = arguments.length;
376
- while ( len-- ) args[ len ] = arguments[ len ];
377
-
378
- args = unpack$5(args, 'rgba');
379
- var r = args[0];
380
- var g = args[1];
381
- var b = args[2];
382
-
383
- r /= 255;
384
- g /= 255;
385
- b /= 255;
386
-
387
- var min = Math.min(r, g, b);
388
- var max = Math.max(r, g, b);
389
-
390
- var l = (max + min) / 2;
391
- var s, h;
392
-
393
- if (max === min){
394
- s = 0;
395
- h = Number.NaN;
396
- } else {
397
- s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);
398
- }
399
-
400
- if (r == max) { h = (g - b) / (max - min); }
401
- else if (g == max) { h = 2 + (b - r) / (max - min); }
402
- else if (b == max) { h = 4 + (r - g) / (max - min); }
403
-
404
- h *= 60;
405
- if (h < 0) { h += 360; }
406
- if (args.length>3 && args[3]!==undefined) { return [h,s,l,args[3]]; }
407
- return [h,s,l];
408
- };
409
-
410
- var rgb2hsl_1 = rgb2hsl;
411
-
412
- var unpack$6 = utils.unpack;
413
- var last$3 = utils.last;
414
-
415
-
416
- var round = Math.round;
417
-
418
- /*
419
- * supported arguments:
420
- * - rgb2css(r,g,b)
421
- * - rgb2css(r,g,b,a)
422
- * - rgb2css([r,g,b], mode)
423
- * - rgb2css([r,g,b,a], mode)
424
- * - rgb2css({r,g,b,a}, mode)
425
- */
426
- var rgb2css = function () {
427
- var args = [], len = arguments.length;
428
- while ( len-- ) args[ len ] = arguments[ len ];
429
-
430
- var rgba = unpack$6(args, 'rgba');
431
- var mode = last$3(args) || 'rgb';
432
- if (mode.substr(0,3) == 'hsl') {
433
- return hsl2css_1(rgb2hsl_1(rgba), mode);
434
- }
435
- rgba[0] = round(rgba[0]);
436
- rgba[1] = round(rgba[1]);
437
- rgba[2] = round(rgba[2]);
438
- if (mode === 'rgba' || (rgba.length > 3 && rgba[3]<1)) {
439
- rgba[3] = rgba.length > 3 ? rgba[3] : 1;
440
- mode = 'rgba';
441
- }
442
- return (mode + "(" + (rgba.slice(0,mode==='rgb'?3:4).join(',')) + ")");
443
- };
444
-
445
- var rgb2css_1 = rgb2css;
446
-
447
- var unpack$7 = utils.unpack;
448
- var round$1 = Math.round;
449
-
450
- var hsl2rgb = function () {
451
- var assign;
452
-
453
- var args = [], len = arguments.length;
454
- while ( len-- ) args[ len ] = arguments[ len ];
455
- args = unpack$7(args, 'hsl');
456
- var h = args[0];
457
- var s = args[1];
458
- var l = args[2];
459
- var r,g,b;
460
- if (s === 0) {
461
- r = g = b = l*255;
462
- } else {
463
- var t3 = [0,0,0];
464
- var c = [0,0,0];
465
- var t2 = l < 0.5 ? l * (1+s) : l+s-l*s;
466
- var t1 = 2 * l - t2;
467
- var h_ = h / 360;
468
- t3[0] = h_ + 1/3;
469
- t3[1] = h_;
470
- t3[2] = h_ - 1/3;
471
- for (var i=0; i<3; i++) {
472
- if (t3[i] < 0) { t3[i] += 1; }
473
- if (t3[i] > 1) { t3[i] -= 1; }
474
- if (6 * t3[i] < 1)
475
- { c[i] = t1 + (t2 - t1) * 6 * t3[i]; }
476
- else if (2 * t3[i] < 1)
477
- { c[i] = t2; }
478
- else if (3 * t3[i] < 2)
479
- { c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6; }
480
- else
481
- { c[i] = t1; }
482
- }
483
- (assign = [round$1(c[0]*255),round$1(c[1]*255),round$1(c[2]*255)], r = assign[0], g = assign[1], b = assign[2]);
484
- }
485
- if (args.length > 3) {
486
- // keep alpha channel
487
- return [r,g,b,args[3]];
488
- }
489
- return [r,g,b,1];
490
- };
491
-
492
- var hsl2rgb_1 = hsl2rgb;
493
-
494
- var RE_RGB = /^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/;
495
- var RE_RGBA = /^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/;
496
- var RE_RGB_PCT = /^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/;
497
- var RE_RGBA_PCT = /^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/;
498
- var RE_HSL = /^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/;
499
- var RE_HSLA = /^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/;
500
-
501
- var round$2 = Math.round;
502
-
503
- var css2rgb = function (css) {
504
- css = css.toLowerCase().trim();
505
- var m;
506
-
507
- if (input.format.named) {
508
- try {
509
- return input.format.named(css);
510
- } catch (e) {
511
- // eslint-disable-next-line
512
- }
513
- }
514
-
515
- // rgb(250,20,0)
516
- if ((m = css.match(RE_RGB))) {
517
- var rgb = m.slice(1,4);
518
- for (var i=0; i<3; i++) {
519
- rgb[i] = +rgb[i];
520
- }
521
- rgb[3] = 1; // default alpha
522
- return rgb;
523
- }
524
-
525
- // rgba(250,20,0,0.4)
526
- if ((m = css.match(RE_RGBA))) {
527
- var rgb$1 = m.slice(1,5);
528
- for (var i$1=0; i$1<4; i$1++) {
529
- rgb$1[i$1] = +rgb$1[i$1];
530
- }
531
- return rgb$1;
532
- }
533
-
534
- // rgb(100%,0%,0%)
535
- if ((m = css.match(RE_RGB_PCT))) {
536
- var rgb$2 = m.slice(1,4);
537
- for (var i$2=0; i$2<3; i$2++) {
538
- rgb$2[i$2] = round$2(rgb$2[i$2] * 2.55);
539
- }
540
- rgb$2[3] = 1; // default alpha
541
- return rgb$2;
542
- }
543
-
544
- // rgba(100%,0%,0%,0.4)
545
- if ((m = css.match(RE_RGBA_PCT))) {
546
- var rgb$3 = m.slice(1,5);
547
- for (var i$3=0; i$3<3; i$3++) {
548
- rgb$3[i$3] = round$2(rgb$3[i$3] * 2.55);
549
- }
550
- rgb$3[3] = +rgb$3[3];
551
- return rgb$3;
552
- }
553
-
554
- // hsl(0,100%,50%)
555
- if ((m = css.match(RE_HSL))) {
556
- var hsl = m.slice(1,4);
557
- hsl[1] *= 0.01;
558
- hsl[2] *= 0.01;
559
- var rgb$4 = hsl2rgb_1(hsl);
560
- rgb$4[3] = 1;
561
- return rgb$4;
562
- }
563
-
564
- // hsla(0,100%,50%,0.5)
565
- if ((m = css.match(RE_HSLA))) {
566
- var hsl$1 = m.slice(1,4);
567
- hsl$1[1] *= 0.01;
568
- hsl$1[2] *= 0.01;
569
- var rgb$5 = hsl2rgb_1(hsl$1);
570
- rgb$5[3] = +m[4]; // default alpha = 1
571
- return rgb$5;
572
- }
573
- };
574
-
575
- css2rgb.test = function (s) {
576
- return RE_RGB.test(s) ||
577
- RE_RGBA.test(s) ||
578
- RE_RGB_PCT.test(s) ||
579
- RE_RGBA_PCT.test(s) ||
580
- RE_HSL.test(s) ||
581
- RE_HSLA.test(s);
582
- };
583
-
584
- var css2rgb_1 = css2rgb;
585
-
586
- var type$3 = utils.type;
587
-
588
-
589
-
590
-
591
- Color_1.prototype.css = function(mode) {
592
- return rgb2css_1(this._rgb, mode);
593
- };
594
-
595
- chroma_1.css = function () {
596
- var args = [], len = arguments.length;
597
- while ( len-- ) args[ len ] = arguments[ len ];
598
-
599
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['css']) ));
600
- };
601
-
602
- input.format.css = css2rgb_1;
603
-
604
- input.autodetect.push({
605
- p: 5,
606
- test: function (h) {
607
- var rest = [], len = arguments.length - 1;
608
- while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];
609
-
610
- if (!rest.length && type$3(h) === 'string' && css2rgb_1.test(h)) {
611
- return 'css';
612
- }
613
- }
614
- });
615
-
616
- var unpack$8 = utils.unpack;
617
-
618
- input.format.gl = function () {
619
- var args = [], len = arguments.length;
620
- while ( len-- ) args[ len ] = arguments[ len ];
621
-
622
- var rgb = unpack$8(args, 'rgba');
623
- rgb[0] *= 255;
624
- rgb[1] *= 255;
625
- rgb[2] *= 255;
626
- return rgb;
627
- };
628
-
629
- chroma_1.gl = function () {
630
- var args = [], len = arguments.length;
631
- while ( len-- ) args[ len ] = arguments[ len ];
632
-
633
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['gl']) ));
634
- };
635
-
636
- Color_1.prototype.gl = function() {
637
- var rgb = this._rgb;
638
- return [rgb[0]/255, rgb[1]/255, rgb[2]/255, rgb[3]];
639
- };
640
-
641
- var unpack$9 = utils.unpack;
642
-
643
- var rgb2hcg = function () {
644
- var args = [], len = arguments.length;
645
- while ( len-- ) args[ len ] = arguments[ len ];
646
-
647
- var ref = unpack$9(args, 'rgb');
648
- var r = ref[0];
649
- var g = ref[1];
650
- var b = ref[2];
651
- var min = Math.min(r, g, b);
652
- var max = Math.max(r, g, b);
653
- var delta = max - min;
654
- var c = delta * 100 / 255;
655
- var _g = min / (255 - delta) * 100;
656
- var h;
657
- if (delta === 0) {
658
- h = Number.NaN;
659
- } else {
660
- if (r === max) { h = (g - b) / delta; }
661
- if (g === max) { h = 2+(b - r) / delta; }
662
- if (b === max) { h = 4+(r - g) / delta; }
663
- h *= 60;
664
- if (h < 0) { h += 360; }
665
- }
666
- return [h, c, _g];
667
- };
668
-
669
- var rgb2hcg_1 = rgb2hcg;
670
-
671
- var unpack$a = utils.unpack;
672
- var floor = Math.floor;
673
-
674
- /*
675
- * this is basically just HSV with some minor tweaks
676
- *
677
- * hue.. [0..360]
678
- * chroma .. [0..1]
679
- * grayness .. [0..1]
680
- */
681
-
682
- var hcg2rgb = function () {
683
- var assign, assign$1, assign$2, assign$3, assign$4, assign$5;
684
-
685
- var args = [], len = arguments.length;
686
- while ( len-- ) args[ len ] = arguments[ len ];
687
- args = unpack$a(args, 'hcg');
688
- var h = args[0];
689
- var c = args[1];
690
- var _g = args[2];
691
- var r,g,b;
692
- _g = _g * 255;
693
- var _c = c * 255;
694
- if (c === 0) {
695
- r = g = b = _g;
696
- } else {
697
- if (h === 360) { h = 0; }
698
- if (h > 360) { h -= 360; }
699
- if (h < 0) { h += 360; }
700
- h /= 60;
701
- var i = floor(h);
702
- var f = h - i;
703
- var p = _g * (1 - c);
704
- var q = p + _c * (1 - f);
705
- var t = p + _c * f;
706
- var v = p + _c;
707
- switch (i) {
708
- case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break
709
- case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break
710
- case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break
711
- case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break
712
- case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break
713
- case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break
714
- }
715
- }
716
- return [r, g, b, args.length > 3 ? args[3] : 1];
717
- };
718
-
719
- var hcg2rgb_1 = hcg2rgb;
720
-
721
- var unpack$b = utils.unpack;
722
- var type$4 = utils.type;
723
-
724
-
725
-
726
-
727
-
728
-
729
- Color_1.prototype.hcg = function() {
730
- return rgb2hcg_1(this._rgb);
731
- };
732
-
733
- chroma_1.hcg = function () {
734
- var args = [], len = arguments.length;
735
- while ( len-- ) args[ len ] = arguments[ len ];
736
-
737
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hcg']) ));
738
- };
739
-
740
- input.format.hcg = hcg2rgb_1;
741
-
742
- input.autodetect.push({
743
- p: 1,
744
- test: function () {
745
- var args = [], len = arguments.length;
746
- while ( len-- ) args[ len ] = arguments[ len ];
747
-
748
- args = unpack$b(args, 'hcg');
749
- if (type$4(args) === 'array' && args.length === 3) {
750
- return 'hcg';
751
- }
752
- }
753
- });
754
-
755
- var unpack$c = utils.unpack;
756
- var last$4 = utils.last;
757
- var round$3 = Math.round;
758
-
759
- var rgb2hex = function () {
760
- var args = [], len = arguments.length;
761
- while ( len-- ) args[ len ] = arguments[ len ];
762
-
763
- var ref = unpack$c(args, 'rgba');
764
- var r = ref[0];
765
- var g = ref[1];
766
- var b = ref[2];
767
- var a = ref[3];
768
- var mode = last$4(args) || 'auto';
769
- if (a === undefined) { a = 1; }
770
- if (mode === 'auto') {
771
- mode = a < 1 ? 'rgba' : 'rgb';
772
- }
773
- r = round$3(r);
774
- g = round$3(g);
775
- b = round$3(b);
776
- var u = r << 16 | g << 8 | b;
777
- var str = "000000" + u.toString(16); //#.toUpperCase();
778
- str = str.substr(str.length - 6);
779
- var hxa = '0' + round$3(a * 255).toString(16);
780
- hxa = hxa.substr(hxa.length - 2);
781
- switch (mode.toLowerCase()) {
782
- case 'rgba': return ("#" + str + hxa);
783
- case 'argb': return ("#" + hxa + str);
784
- default: return ("#" + str);
785
- }
786
- };
787
-
788
- var rgb2hex_1 = rgb2hex;
789
-
790
- var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
791
- var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;
792
-
793
- var hex2rgb = function (hex) {
794
- if (hex.match(RE_HEX)) {
795
- // remove optional leading #
796
- if (hex.length === 4 || hex.length === 7) {
797
- hex = hex.substr(1);
798
- }
799
- // expand short-notation to full six-digit
800
- if (hex.length === 3) {
801
- hex = hex.split('');
802
- hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
803
- }
804
- var u = parseInt(hex, 16);
805
- var r = u >> 16;
806
- var g = u >> 8 & 0xFF;
807
- var b = u & 0xFF;
808
- return [r,g,b,1];
809
- }
810
-
811
- // match rgba hex format, eg #FF000077
812
- if (hex.match(RE_HEXA)) {
813
- if (hex.length === 5 || hex.length === 9) {
814
- // remove optional leading #
815
- hex = hex.substr(1);
816
- }
817
- // expand short-notation to full eight-digit
818
- if (hex.length === 4) {
819
- hex = hex.split('');
820
- hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]+hex[3]+hex[3];
821
- }
822
- var u$1 = parseInt(hex, 16);
823
- var r$1 = u$1 >> 24 & 0xFF;
824
- var g$1 = u$1 >> 16 & 0xFF;
825
- var b$1 = u$1 >> 8 & 0xFF;
826
- var a = Math.round((u$1 & 0xFF) / 0xFF * 100) / 100;
827
- return [r$1,g$1,b$1,a];
828
- }
829
-
830
- // we used to check for css colors here
831
- // if _input.css? and rgb = _input.css hex
832
- // return rgb
833
-
834
- throw new Error(("unknown hex color: " + hex));
835
- };
836
-
837
- var hex2rgb_1 = hex2rgb;
838
-
839
- var type$5 = utils.type;
840
-
841
-
842
-
843
-
844
- Color_1.prototype.hex = function(mode) {
845
- return rgb2hex_1(this._rgb, mode);
846
- };
847
-
848
- chroma_1.hex = function () {
849
- var args = [], len = arguments.length;
850
- while ( len-- ) args[ len ] = arguments[ len ];
851
-
852
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hex']) ));
853
- };
854
-
855
- input.format.hex = hex2rgb_1;
856
- input.autodetect.push({
857
- p: 4,
858
- test: function (h) {
859
- var rest = [], len = arguments.length - 1;
860
- while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];
861
-
862
- if (!rest.length && type$5(h) === 'string' && [3,4,5,6,7,8,9].indexOf(h.length) >= 0) {
863
- return 'hex';
864
- }
865
- }
866
- });
867
-
868
- var unpack$d = utils.unpack;
869
- var TWOPI = utils.TWOPI;
870
- var min = Math.min;
871
- var sqrt = Math.sqrt;
872
- var acos = Math.acos;
873
-
874
- var rgb2hsi = function () {
875
- var args = [], len = arguments.length;
876
- while ( len-- ) args[ len ] = arguments[ len ];
877
-
878
- /*
879
- borrowed from here:
880
- http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp
881
- */
882
- var ref = unpack$d(args, 'rgb');
883
- var r = ref[0];
884
- var g = ref[1];
885
- var b = ref[2];
886
- r /= 255;
887
- g /= 255;
888
- b /= 255;
889
- var h;
890
- var min_ = min(r,g,b);
891
- var i = (r+g+b) / 3;
892
- var s = i > 0 ? 1 - min_/i : 0;
893
- if (s === 0) {
894
- h = NaN;
895
- } else {
896
- h = ((r-g)+(r-b)) / 2;
897
- h /= sqrt((r-g)*(r-g) + (r-b)*(g-b));
898
- h = acos(h);
899
- if (b > g) {
900
- h = TWOPI - h;
901
- }
902
- h /= TWOPI;
903
- }
904
- return [h*360,s,i];
905
- };
906
-
907
- var rgb2hsi_1 = rgb2hsi;
908
-
909
- var unpack$e = utils.unpack;
910
- var limit$1 = utils.limit;
911
- var TWOPI$1 = utils.TWOPI;
912
- var PITHIRD = utils.PITHIRD;
913
- var cos = Math.cos;
914
-
915
- /*
916
- * hue [0..360]
917
- * saturation [0..1]
918
- * intensity [0..1]
919
- */
920
- var hsi2rgb = function () {
921
- var args = [], len = arguments.length;
922
- while ( len-- ) args[ len ] = arguments[ len ];
923
-
924
- /*
925
- borrowed from here:
926
- http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp
927
- */
928
- args = unpack$e(args, 'hsi');
929
- var h = args[0];
930
- var s = args[1];
931
- var i = args[2];
932
- var r,g,b;
933
-
934
- if (isNaN(h)) { h = 0; }
935
- if (isNaN(s)) { s = 0; }
936
- // normalize hue
937
- if (h > 360) { h -= 360; }
938
- if (h < 0) { h += 360; }
939
- h /= 360;
940
- if (h < 1/3) {
941
- b = (1-s)/3;
942
- r = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;
943
- g = 1 - (b+r);
944
- } else if (h < 2/3) {
945
- h -= 1/3;
946
- r = (1-s)/3;
947
- g = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;
948
- b = 1 - (r+g);
949
- } else {
950
- h -= 2/3;
951
- g = (1-s)/3;
952
- b = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;
953
- r = 1 - (g+b);
954
- }
955
- r = limit$1(i*r*3);
956
- g = limit$1(i*g*3);
957
- b = limit$1(i*b*3);
958
- return [r*255, g*255, b*255, args.length > 3 ? args[3] : 1];
959
- };
960
-
961
- var hsi2rgb_1 = hsi2rgb;
962
-
963
- var unpack$f = utils.unpack;
964
- var type$6 = utils.type;
965
-
966
-
967
-
968
-
969
-
970
-
971
- Color_1.prototype.hsi = function() {
972
- return rgb2hsi_1(this._rgb);
973
- };
974
-
975
- chroma_1.hsi = function () {
976
- var args = [], len = arguments.length;
977
- while ( len-- ) args[ len ] = arguments[ len ];
978
-
979
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsi']) ));
980
- };
981
-
982
- input.format.hsi = hsi2rgb_1;
983
-
984
- input.autodetect.push({
985
- p: 2,
986
- test: function () {
987
- var args = [], len = arguments.length;
988
- while ( len-- ) args[ len ] = arguments[ len ];
989
-
990
- args = unpack$f(args, 'hsi');
991
- if (type$6(args) === 'array' && args.length === 3) {
992
- return 'hsi';
993
- }
994
- }
995
- });
996
-
997
- var unpack$g = utils.unpack;
998
- var type$7 = utils.type;
999
-
1000
-
1001
-
1002
-
1003
-
1004
-
1005
- Color_1.prototype.hsl = function() {
1006
- return rgb2hsl_1(this._rgb);
1007
- };
1008
-
1009
- chroma_1.hsl = function () {
1010
- var args = [], len = arguments.length;
1011
- while ( len-- ) args[ len ] = arguments[ len ];
1012
-
1013
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsl']) ));
1014
- };
1015
-
1016
- input.format.hsl = hsl2rgb_1;
1017
-
1018
- input.autodetect.push({
1019
- p: 2,
1020
- test: function () {
1021
- var args = [], len = arguments.length;
1022
- while ( len-- ) args[ len ] = arguments[ len ];
1023
-
1024
- args = unpack$g(args, 'hsl');
1025
- if (type$7(args) === 'array' && args.length === 3) {
1026
- return 'hsl';
1027
- }
1028
- }
1029
- });
1030
-
1031
- var unpack$h = utils.unpack;
1032
- var min$1 = Math.min;
1033
- var max$1 = Math.max;
1034
-
1035
- /*
1036
- * supported arguments:
1037
- * - rgb2hsv(r,g,b)
1038
- * - rgb2hsv([r,g,b])
1039
- * - rgb2hsv({r,g,b})
1040
- */
1041
- var rgb2hsl$1 = function () {
1042
- var args = [], len = arguments.length;
1043
- while ( len-- ) args[ len ] = arguments[ len ];
1044
-
1045
- args = unpack$h(args, 'rgb');
1046
- var r = args[0];
1047
- var g = args[1];
1048
- var b = args[2];
1049
- var min_ = min$1(r, g, b);
1050
- var max_ = max$1(r, g, b);
1051
- var delta = max_ - min_;
1052
- var h,s,v;
1053
- v = max_ / 255.0;
1054
- if (max_ === 0) {
1055
- h = Number.NaN;
1056
- s = 0;
1057
- } else {
1058
- s = delta / max_;
1059
- if (r === max_) { h = (g - b) / delta; }
1060
- if (g === max_) { h = 2+(b - r) / delta; }
1061
- if (b === max_) { h = 4+(r - g) / delta; }
1062
- h *= 60;
1063
- if (h < 0) { h += 360; }
1064
- }
1065
- return [h, s, v]
1066
- };
1067
-
1068
- var rgb2hsv = rgb2hsl$1;
1069
-
1070
- var unpack$i = utils.unpack;
1071
- var floor$1 = Math.floor;
1072
-
1073
- var hsv2rgb = function () {
1074
- var assign, assign$1, assign$2, assign$3, assign$4, assign$5;
1075
-
1076
- var args = [], len = arguments.length;
1077
- while ( len-- ) args[ len ] = arguments[ len ];
1078
- args = unpack$i(args, 'hsv');
1079
- var h = args[0];
1080
- var s = args[1];
1081
- var v = args[2];
1082
- var r,g,b;
1083
- v *= 255;
1084
- if (s === 0) {
1085
- r = g = b = v;
1086
- } else {
1087
- if (h === 360) { h = 0; }
1088
- if (h > 360) { h -= 360; }
1089
- if (h < 0) { h += 360; }
1090
- h /= 60;
1091
-
1092
- var i = floor$1(h);
1093
- var f = h - i;
1094
- var p = v * (1 - s);
1095
- var q = v * (1 - s * f);
1096
- var t = v * (1 - s * (1 - f));
1097
-
1098
- switch (i) {
1099
- case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break
1100
- case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break
1101
- case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break
1102
- case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break
1103
- case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break
1104
- case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break
1105
- }
1106
- }
1107
- return [r,g,b,args.length > 3?args[3]:1];
1108
- };
1109
-
1110
- var hsv2rgb_1 = hsv2rgb;
1111
-
1112
- var unpack$j = utils.unpack;
1113
- var type$8 = utils.type;
1114
-
1115
-
1116
-
1117
-
1118
-
1119
-
1120
- Color_1.prototype.hsv = function() {
1121
- return rgb2hsv(this._rgb);
1122
- };
1123
-
1124
- chroma_1.hsv = function () {
1125
- var args = [], len = arguments.length;
1126
- while ( len-- ) args[ len ] = arguments[ len ];
1127
-
1128
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsv']) ));
1129
- };
1130
-
1131
- input.format.hsv = hsv2rgb_1;
1132
-
1133
- input.autodetect.push({
1134
- p: 2,
1135
- test: function () {
1136
- var args = [], len = arguments.length;
1137
- while ( len-- ) args[ len ] = arguments[ len ];
1138
-
1139
- args = unpack$j(args, 'hsv');
1140
- if (type$8(args) === 'array' && args.length === 3) {
1141
- return 'hsv';
1142
- }
1143
- }
1144
- });
1145
-
1146
- var labConstants = {
1147
- // Corresponds roughly to RGB brighter/darker
1148
- Kn: 18,
1149
-
1150
- // D65 standard referent
1151
- Xn: 0.950470,
1152
- Yn: 1,
1153
- Zn: 1.088830,
1154
-
1155
- t0: 0.137931034, // 4 / 29
1156
- t1: 0.206896552, // 6 / 29
1157
- t2: 0.12841855, // 3 * t1 * t1
1158
- t3: 0.008856452, // t1 * t1 * t1
1159
- };
1160
-
1161
- var unpack$k = utils.unpack;
1162
- var pow = Math.pow;
1163
-
1164
- var rgb2lab = function () {
1165
- var args = [], len = arguments.length;
1166
- while ( len-- ) args[ len ] = arguments[ len ];
1167
-
1168
- var ref = unpack$k(args, 'rgb');
1169
- var r = ref[0];
1170
- var g = ref[1];
1171
- var b = ref[2];
1172
- var ref$1 = rgb2xyz(r,g,b);
1173
- var x = ref$1[0];
1174
- var y = ref$1[1];
1175
- var z = ref$1[2];
1176
- var l = 116 * y - 16;
1177
- return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)];
1178
- };
1179
-
1180
- var rgb_xyz = function (r) {
1181
- if ((r /= 255) <= 0.04045) { return r / 12.92; }
1182
- return pow((r + 0.055) / 1.055, 2.4);
1183
- };
1184
-
1185
- var xyz_lab = function (t) {
1186
- if (t > labConstants.t3) { return pow(t, 1 / 3); }
1187
- return t / labConstants.t2 + labConstants.t0;
1188
- };
1189
-
1190
- var rgb2xyz = function (r,g,b) {
1191
- r = rgb_xyz(r);
1192
- g = rgb_xyz(g);
1193
- b = rgb_xyz(b);
1194
- var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / labConstants.Xn);
1195
- var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / labConstants.Yn);
1196
- var z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / labConstants.Zn);
1197
- return [x,y,z];
1198
- };
1199
-
1200
- var rgb2lab_1 = rgb2lab;
1201
-
1202
- var unpack$l = utils.unpack;
1203
- var pow$1 = Math.pow;
1204
-
1205
- /*
1206
- * L* [0..100]
1207
- * a [-100..100]
1208
- * b [-100..100]
1209
- */
1210
- var lab2rgb = function () {
1211
- var args = [], len = arguments.length;
1212
- while ( len-- ) args[ len ] = arguments[ len ];
1213
-
1214
- args = unpack$l(args, 'lab');
1215
- var l = args[0];
1216
- var a = args[1];
1217
- var b = args[2];
1218
- var x,y,z, r,g,b_;
1219
-
1220
- y = (l + 16) / 116;
1221
- x = isNaN(a) ? y : y + a / 500;
1222
- z = isNaN(b) ? y : y - b / 200;
1223
-
1224
- y = labConstants.Yn * lab_xyz(y);
1225
- x = labConstants.Xn * lab_xyz(x);
1226
- z = labConstants.Zn * lab_xyz(z);
1227
-
1228
- r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); // D65 -> sRGB
1229
- g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);
1230
- b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);
1231
-
1232
- return [r,g,b_,args.length > 3 ? args[3] : 1];
1233
- };
1234
-
1235
- var xyz_rgb = function (r) {
1236
- return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow$1(r, 1 / 2.4) - 0.055)
1237
- };
1238
-
1239
- var lab_xyz = function (t) {
1240
- return t > labConstants.t1 ? t * t * t : labConstants.t2 * (t - labConstants.t0)
1241
- };
1242
-
1243
- var lab2rgb_1 = lab2rgb;
1244
-
1245
- var unpack$m = utils.unpack;
1246
- var type$9 = utils.type;
1247
-
1248
-
1249
-
1250
-
1251
-
1252
-
1253
- Color_1.prototype.lab = function() {
1254
- return rgb2lab_1(this._rgb);
1255
- };
1256
-
1257
- chroma_1.lab = function () {
1258
- var args = [], len = arguments.length;
1259
- while ( len-- ) args[ len ] = arguments[ len ];
1260
-
1261
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['lab']) ));
1262
- };
1263
-
1264
- input.format.lab = lab2rgb_1;
1265
-
1266
- input.autodetect.push({
1267
- p: 2,
1268
- test: function () {
1269
- var args = [], len = arguments.length;
1270
- while ( len-- ) args[ len ] = arguments[ len ];
1271
-
1272
- args = unpack$m(args, 'lab');
1273
- if (type$9(args) === 'array' && args.length === 3) {
1274
- return 'lab';
1275
- }
1276
- }
1277
- });
1278
-
1279
- var unpack$n = utils.unpack;
1280
- var RAD2DEG = utils.RAD2DEG;
1281
- var sqrt$1 = Math.sqrt;
1282
- var atan2 = Math.atan2;
1283
- var round$4 = Math.round;
1284
-
1285
- var lab2lch = function () {
1286
- var args = [], len = arguments.length;
1287
- while ( len-- ) args[ len ] = arguments[ len ];
1288
-
1289
- var ref = unpack$n(args, 'lab');
1290
- var l = ref[0];
1291
- var a = ref[1];
1292
- var b = ref[2];
1293
- var c = sqrt$1(a * a + b * b);
1294
- var h = (atan2(b, a) * RAD2DEG + 360) % 360;
1295
- if (round$4(c*10000) === 0) { h = Number.NaN; }
1296
- return [l, c, h];
1297
- };
1298
-
1299
- var lab2lch_1 = lab2lch;
1300
-
1301
- var unpack$o = utils.unpack;
1302
-
1303
-
1304
-
1305
- var rgb2lch = function () {
1306
- var args = [], len = arguments.length;
1307
- while ( len-- ) args[ len ] = arguments[ len ];
1308
-
1309
- var ref = unpack$o(args, 'rgb');
1310
- var r = ref[0];
1311
- var g = ref[1];
1312
- var b = ref[2];
1313
- var ref$1 = rgb2lab_1(r,g,b);
1314
- var l = ref$1[0];
1315
- var a = ref$1[1];
1316
- var b_ = ref$1[2];
1317
- return lab2lch_1(l,a,b_);
1318
- };
1319
-
1320
- var rgb2lch_1 = rgb2lch;
1321
-
1322
- var unpack$p = utils.unpack;
1323
- var DEG2RAD = utils.DEG2RAD;
1324
- var sin = Math.sin;
1325
- var cos$1 = Math.cos;
1326
-
1327
- var lch2lab = function () {
1328
- var args = [], len = arguments.length;
1329
- while ( len-- ) args[ len ] = arguments[ len ];
1330
-
1331
- /*
1332
- Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.
1333
- These formulas were invented by David Dalrymple to obtain maximum contrast without going
1334
- out of gamut if the parameters are in the range 0-1.
1335
-
1336
- A saturation multiplier was added by Gregor Aisch
1337
- */
1338
- var ref = unpack$p(args, 'lch');
1339
- var l = ref[0];
1340
- var c = ref[1];
1341
- var h = ref[2];
1342
- if (isNaN(h)) { h = 0; }
1343
- h = h * DEG2RAD;
1344
- return [l, cos$1(h) * c, sin(h) * c]
1345
- };
1346
-
1347
- var lch2lab_1 = lch2lab;
1348
-
1349
- var unpack$q = utils.unpack;
1350
-
1351
-
1352
-
1353
- var lch2rgb = function () {
1354
- var args = [], len = arguments.length;
1355
- while ( len-- ) args[ len ] = arguments[ len ];
1356
-
1357
- args = unpack$q(args, 'lch');
1358
- var l = args[0];
1359
- var c = args[1];
1360
- var h = args[2];
1361
- var ref = lch2lab_1 (l,c,h);
1362
- var L = ref[0];
1363
- var a = ref[1];
1364
- var b_ = ref[2];
1365
- var ref$1 = lab2rgb_1 (L,a,b_);
1366
- var r = ref$1[0];
1367
- var g = ref$1[1];
1368
- var b = ref$1[2];
1369
- return [r, g, b, args.length > 3 ? args[3] : 1];
1370
- };
1371
-
1372
- var lch2rgb_1 = lch2rgb;
1373
-
1374
- var unpack$r = utils.unpack;
1375
-
1376
-
1377
- var hcl2rgb = function () {
1378
- var args = [], len = arguments.length;
1379
- while ( len-- ) args[ len ] = arguments[ len ];
1380
-
1381
- var hcl = unpack$r(args, 'hcl').reverse();
1382
- return lch2rgb_1.apply(void 0, hcl);
1383
- };
1384
-
1385
- var hcl2rgb_1 = hcl2rgb;
1386
-
1387
- var unpack$s = utils.unpack;
1388
- var type$a = utils.type;
1389
-
1390
-
1391
-
1392
-
1393
-
1394
-
1395
- Color_1.prototype.lch = function() { return rgb2lch_1(this._rgb); };
1396
- Color_1.prototype.hcl = function() { return rgb2lch_1(this._rgb).reverse(); };
1397
-
1398
- chroma_1.lch = function () {
1399
- var args = [], len = arguments.length;
1400
- while ( len-- ) args[ len ] = arguments[ len ];
1401
-
1402
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['lch']) ));
1403
- };
1404
- chroma_1.hcl = function () {
1405
- var args = [], len = arguments.length;
1406
- while ( len-- ) args[ len ] = arguments[ len ];
1407
-
1408
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hcl']) ));
1409
- };
1410
-
1411
- input.format.lch = lch2rgb_1;
1412
- input.format.hcl = hcl2rgb_1;
1413
-
1414
- ['lch','hcl'].forEach(function (m) { return input.autodetect.push({
1415
- p: 2,
1416
- test: function () {
1417
- var args = [], len = arguments.length;
1418
- while ( len-- ) args[ len ] = arguments[ len ];
1419
-
1420
- args = unpack$s(args, m);
1421
- if (type$a(args) === 'array' && args.length === 3) {
1422
- return m;
1423
- }
1424
- }
1425
- }); });
1426
-
1427
- /**
1428
- X11 color names
1429
-
1430
- http://www.w3.org/TR/css3-color/#svg-color
1431
- */
1432
-
1433
- var w3cx11 = {
1434
- aliceblue: '#f0f8ff',
1435
- antiquewhite: '#faebd7',
1436
- aqua: '#00ffff',
1437
- aquamarine: '#7fffd4',
1438
- azure: '#f0ffff',
1439
- beige: '#f5f5dc',
1440
- bisque: '#ffe4c4',
1441
- black: '#000000',
1442
- blanchedalmond: '#ffebcd',
1443
- blue: '#0000ff',
1444
- blueviolet: '#8a2be2',
1445
- brown: '#a52a2a',
1446
- burlywood: '#deb887',
1447
- cadetblue: '#5f9ea0',
1448
- chartreuse: '#7fff00',
1449
- chocolate: '#d2691e',
1450
- coral: '#ff7f50',
1451
- cornflower: '#6495ed',
1452
- cornflowerblue: '#6495ed',
1453
- cornsilk: '#fff8dc',
1454
- crimson: '#dc143c',
1455
- cyan: '#00ffff',
1456
- darkblue: '#00008b',
1457
- darkcyan: '#008b8b',
1458
- darkgoldenrod: '#b8860b',
1459
- darkgray: '#a9a9a9',
1460
- darkgreen: '#006400',
1461
- darkgrey: '#a9a9a9',
1462
- darkkhaki: '#bdb76b',
1463
- darkmagenta: '#8b008b',
1464
- darkolivegreen: '#556b2f',
1465
- darkorange: '#ff8c00',
1466
- darkorchid: '#9932cc',
1467
- darkred: '#8b0000',
1468
- darksalmon: '#e9967a',
1469
- darkseagreen: '#8fbc8f',
1470
- darkslateblue: '#483d8b',
1471
- darkslategray: '#2f4f4f',
1472
- darkslategrey: '#2f4f4f',
1473
- darkturquoise: '#00ced1',
1474
- darkviolet: '#9400d3',
1475
- deeppink: '#ff1493',
1476
- deepskyblue: '#00bfff',
1477
- dimgray: '#696969',
1478
- dimgrey: '#696969',
1479
- dodgerblue: '#1e90ff',
1480
- firebrick: '#b22222',
1481
- floralwhite: '#fffaf0',
1482
- forestgreen: '#228b22',
1483
- fuchsia: '#ff00ff',
1484
- gainsboro: '#dcdcdc',
1485
- ghostwhite: '#f8f8ff',
1486
- gold: '#ffd700',
1487
- goldenrod: '#daa520',
1488
- gray: '#808080',
1489
- green: '#008000',
1490
- greenyellow: '#adff2f',
1491
- grey: '#808080',
1492
- honeydew: '#f0fff0',
1493
- hotpink: '#ff69b4',
1494
- indianred: '#cd5c5c',
1495
- indigo: '#4b0082',
1496
- ivory: '#fffff0',
1497
- khaki: '#f0e68c',
1498
- laserlemon: '#ffff54',
1499
- lavender: '#e6e6fa',
1500
- lavenderblush: '#fff0f5',
1501
- lawngreen: '#7cfc00',
1502
- lemonchiffon: '#fffacd',
1503
- lightblue: '#add8e6',
1504
- lightcoral: '#f08080',
1505
- lightcyan: '#e0ffff',
1506
- lightgoldenrod: '#fafad2',
1507
- lightgoldenrodyellow: '#fafad2',
1508
- lightgray: '#d3d3d3',
1509
- lightgreen: '#90ee90',
1510
- lightgrey: '#d3d3d3',
1511
- lightpink: '#ffb6c1',
1512
- lightsalmon: '#ffa07a',
1513
- lightseagreen: '#20b2aa',
1514
- lightskyblue: '#87cefa',
1515
- lightslategray: '#778899',
1516
- lightslategrey: '#778899',
1517
- lightsteelblue: '#b0c4de',
1518
- lightyellow: '#ffffe0',
1519
- lime: '#00ff00',
1520
- limegreen: '#32cd32',
1521
- linen: '#faf0e6',
1522
- magenta: '#ff00ff',
1523
- maroon: '#800000',
1524
- maroon2: '#7f0000',
1525
- maroon3: '#b03060',
1526
- mediumaquamarine: '#66cdaa',
1527
- mediumblue: '#0000cd',
1528
- mediumorchid: '#ba55d3',
1529
- mediumpurple: '#9370db',
1530
- mediumseagreen: '#3cb371',
1531
- mediumslateblue: '#7b68ee',
1532
- mediumspringgreen: '#00fa9a',
1533
- mediumturquoise: '#48d1cc',
1534
- mediumvioletred: '#c71585',
1535
- midnightblue: '#191970',
1536
- mintcream: '#f5fffa',
1537
- mistyrose: '#ffe4e1',
1538
- moccasin: '#ffe4b5',
1539
- navajowhite: '#ffdead',
1540
- navy: '#000080',
1541
- oldlace: '#fdf5e6',
1542
- olive: '#808000',
1543
- olivedrab: '#6b8e23',
1544
- orange: '#ffa500',
1545
- orangered: '#ff4500',
1546
- orchid: '#da70d6',
1547
- palegoldenrod: '#eee8aa',
1548
- palegreen: '#98fb98',
1549
- paleturquoise: '#afeeee',
1550
- palevioletred: '#db7093',
1551
- papayawhip: '#ffefd5',
1552
- peachpuff: '#ffdab9',
1553
- peru: '#cd853f',
1554
- pink: '#ffc0cb',
1555
- plum: '#dda0dd',
1556
- powderblue: '#b0e0e6',
1557
- purple: '#800080',
1558
- purple2: '#7f007f',
1559
- purple3: '#a020f0',
1560
- rebeccapurple: '#663399',
1561
- red: '#ff0000',
1562
- rosybrown: '#bc8f8f',
1563
- royalblue: '#4169e1',
1564
- saddlebrown: '#8b4513',
1565
- salmon: '#fa8072',
1566
- sandybrown: '#f4a460',
1567
- seagreen: '#2e8b57',
1568
- seashell: '#fff5ee',
1569
- sienna: '#a0522d',
1570
- silver: '#c0c0c0',
1571
- skyblue: '#87ceeb',
1572
- slateblue: '#6a5acd',
1573
- slategray: '#708090',
1574
- slategrey: '#708090',
1575
- snow: '#fffafa',
1576
- springgreen: '#00ff7f',
1577
- steelblue: '#4682b4',
1578
- tan: '#d2b48c',
1579
- teal: '#008080',
1580
- thistle: '#d8bfd8',
1581
- tomato: '#ff6347',
1582
- turquoise: '#40e0d0',
1583
- violet: '#ee82ee',
1584
- wheat: '#f5deb3',
1585
- white: '#ffffff',
1586
- whitesmoke: '#f5f5f5',
1587
- yellow: '#ffff00',
1588
- yellowgreen: '#9acd32'
1589
- };
1590
-
1591
- var w3cx11_1 = w3cx11;
1592
-
1593
- var type$b = utils.type;
1594
-
1595
-
1596
-
1597
-
1598
-
1599
- Color_1.prototype.name = function() {
1600
- var hex = rgb2hex_1(this._rgb, 'rgb');
1601
- for (var i = 0, list = Object.keys(w3cx11_1); i < list.length; i += 1) {
1602
- var n = list[i];
1603
-
1604
- if (w3cx11_1[n] === hex) { return n.toLowerCase(); }
1605
- }
1606
- return hex;
1607
- };
1608
-
1609
- input.format.named = function (name) {
1610
- name = name.toLowerCase();
1611
- if (w3cx11_1[name]) { return hex2rgb_1(w3cx11_1[name]); }
1612
- throw new Error('unknown color name: '+name);
1613
- };
1614
-
1615
- input.autodetect.push({
1616
- p: 5,
1617
- test: function (h) {
1618
- var rest = [], len = arguments.length - 1;
1619
- while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];
1620
-
1621
- if (!rest.length && type$b(h) === 'string' && w3cx11_1[h.toLowerCase()]) {
1622
- return 'named';
1623
- }
1624
- }
1625
- });
1626
-
1627
- var unpack$t = utils.unpack;
1628
-
1629
- var rgb2num = function () {
1630
- var args = [], len = arguments.length;
1631
- while ( len-- ) args[ len ] = arguments[ len ];
1632
-
1633
- var ref = unpack$t(args, 'rgb');
1634
- var r = ref[0];
1635
- var g = ref[1];
1636
- var b = ref[2];
1637
- return (r << 16) + (g << 8) + b;
1638
- };
1639
-
1640
- var rgb2num_1 = rgb2num;
1641
-
1642
- var type$c = utils.type;
1643
-
1644
- var num2rgb = function (num) {
1645
- if (type$c(num) == "number" && num >= 0 && num <= 0xFFFFFF) {
1646
- var r = num >> 16;
1647
- var g = (num >> 8) & 0xFF;
1648
- var b = num & 0xFF;
1649
- return [r,g,b,1];
1650
- }
1651
- throw new Error("unknown num color: "+num);
1652
- };
1653
-
1654
- var num2rgb_1 = num2rgb;
1655
-
1656
- var type$d = utils.type;
1657
-
1658
-
1659
-
1660
- Color_1.prototype.num = function() {
1661
- return rgb2num_1(this._rgb);
1662
- };
1663
-
1664
- chroma_1.num = function () {
1665
- var args = [], len = arguments.length;
1666
- while ( len-- ) args[ len ] = arguments[ len ];
1667
-
1668
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['num']) ));
1669
- };
1670
-
1671
- input.format.num = num2rgb_1;
1672
-
1673
- input.autodetect.push({
1674
- p: 5,
1675
- test: function () {
1676
- var args = [], len = arguments.length;
1677
- while ( len-- ) args[ len ] = arguments[ len ];
1678
-
1679
- if (args.length === 1 && type$d(args[0]) === 'number' && args[0] >= 0 && args[0] <= 0xFFFFFF) {
1680
- return 'num';
1681
- }
1682
- }
1683
- });
1684
-
1685
- var unpack$u = utils.unpack;
1686
- var type$e = utils.type;
1687
- var round$5 = Math.round;
1688
-
1689
- Color_1.prototype.rgb = function(rnd) {
1690
- if ( rnd === void 0 ) rnd=true;
1691
-
1692
- if (rnd === false) { return this._rgb.slice(0,3); }
1693
- return this._rgb.slice(0,3).map(round$5);
1694
- };
1695
-
1696
- Color_1.prototype.rgba = function(rnd) {
1697
- if ( rnd === void 0 ) rnd=true;
1698
-
1699
- return this._rgb.slice(0,4).map(function (v,i) {
1700
- return i<3 ? (rnd === false ? v : round$5(v)) : v;
1701
- });
1702
- };
1703
-
1704
- chroma_1.rgb = function () {
1705
- var args = [], len = arguments.length;
1706
- while ( len-- ) args[ len ] = arguments[ len ];
1707
-
1708
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['rgb']) ));
1709
- };
1710
-
1711
- input.format.rgb = function () {
1712
- var args = [], len = arguments.length;
1713
- while ( len-- ) args[ len ] = arguments[ len ];
1714
-
1715
- var rgba = unpack$u(args, 'rgba');
1716
- if (rgba[3] === undefined) { rgba[3] = 1; }
1717
- return rgba;
1718
- };
1719
-
1720
- input.autodetect.push({
1721
- p: 3,
1722
- test: function () {
1723
- var args = [], len = arguments.length;
1724
- while ( len-- ) args[ len ] = arguments[ len ];
1725
-
1726
- args = unpack$u(args, 'rgba');
1727
- if (type$e(args) === 'array' && (args.length === 3 ||
1728
- args.length === 4 && type$e(args[3]) == 'number' && args[3] >= 0 && args[3] <= 1)) {
1729
- return 'rgb';
1730
- }
1731
- }
1732
- });
1733
-
1734
- /*
1735
- * Based on implementation by Neil Bartlett
1736
- * https://github.com/neilbartlett/color-temperature
1737
- */
1738
-
1739
- var log = Math.log;
1740
-
1741
- var temperature2rgb = function (kelvin) {
1742
- var temp = kelvin / 100;
1743
- var r,g,b;
1744
- if (temp < 66) {
1745
- r = 255;
1746
- g = -155.25485562709179 - 0.44596950469579133 * (g = temp-2) + 104.49216199393888 * log(g);
1747
- b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp-10) + 115.67994401066147 * log(b);
1748
- } else {
1749
- r = 351.97690566805693 + 0.114206453784165 * (r = temp-55) - 40.25366309332127 * log(r);
1750
- g = 325.4494125711974 + 0.07943456536662342 * (g = temp-50) - 28.0852963507957 * log(g);
1751
- b = 255;
1752
- }
1753
- return [r,g,b,1];
1754
- };
1755
-
1756
- var temperature2rgb_1 = temperature2rgb;
1757
-
1758
- /*
1759
- * Based on implementation by Neil Bartlett
1760
- * https://github.com/neilbartlett/color-temperature
1761
- **/
1762
-
1763
-
1764
- var unpack$v = utils.unpack;
1765
- var round$6 = Math.round;
1766
-
1767
- var rgb2temperature = function () {
1768
- var args = [], len = arguments.length;
1769
- while ( len-- ) args[ len ] = arguments[ len ];
1770
-
1771
- var rgb = unpack$v(args, 'rgb');
1772
- var r = rgb[0], b = rgb[2];
1773
- var minTemp = 1000;
1774
- var maxTemp = 40000;
1775
- var eps = 0.4;
1776
- var temp;
1777
- while (maxTemp - minTemp > eps) {
1778
- temp = (maxTemp + minTemp) * 0.5;
1779
- var rgb$1 = temperature2rgb_1(temp);
1780
- if ((rgb$1[2] / rgb$1[0]) >= (b / r)) {
1781
- maxTemp = temp;
1782
- } else {
1783
- minTemp = temp;
1784
- }
1785
- }
1786
- return round$6(temp);
1787
- };
1788
-
1789
- var rgb2temperature_1 = rgb2temperature;
1790
-
1791
- Color_1.prototype.temp =
1792
- Color_1.prototype.kelvin =
1793
- Color_1.prototype.temperature = function() {
1794
- return rgb2temperature_1(this._rgb);
1795
- };
1796
-
1797
- chroma_1.temp =
1798
- chroma_1.kelvin =
1799
- chroma_1.temperature = function () {
1800
- var args = [], len = arguments.length;
1801
- while ( len-- ) args[ len ] = arguments[ len ];
1802
-
1803
- return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['temp']) ));
1804
- };
1805
-
1806
- input.format.temp =
1807
- input.format.kelvin =
1808
- input.format.temperature = temperature2rgb_1;
1809
-
1810
- var type$f = utils.type;
1811
-
1812
- Color_1.prototype.alpha = function(a, mutate) {
1813
- if ( mutate === void 0 ) mutate=false;
1814
-
1815
- if (a !== undefined && type$f(a) === 'number') {
1816
- if (mutate) {
1817
- this._rgb[3] = a;
1818
- return this;
1819
- }
1820
- return new Color_1([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');
1821
- }
1822
- return this._rgb[3];
1823
- };
1824
-
1825
- Color_1.prototype.clipped = function() {
1826
- return this._rgb._clipped || false;
1827
- };
1828
-
1829
- Color_1.prototype.darken = function(amount) {
1830
- if ( amount === void 0 ) amount=1;
1831
-
1832
- var me = this;
1833
- var lab = me.lab();
1834
- lab[0] -= labConstants.Kn * amount;
1835
- return new Color_1(lab, 'lab').alpha(me.alpha(), true);
1836
- };
1837
-
1838
- Color_1.prototype.brighten = function(amount) {
1839
- if ( amount === void 0 ) amount=1;
1840
-
1841
- return this.darken(-amount);
1842
- };
1843
-
1844
- Color_1.prototype.darker = Color_1.prototype.darken;
1845
- Color_1.prototype.brighter = Color_1.prototype.brighten;
1846
-
1847
- Color_1.prototype.get = function(mc) {
1848
- var ref = mc.split('.');
1849
- var mode = ref[0];
1850
- var channel = ref[1];
1851
- var src = this[mode]();
1852
- if (channel) {
1853
- var i = mode.indexOf(channel);
1854
- if (i > -1) { return src[i]; }
1855
- throw new Error(("unknown channel " + channel + " in mode " + mode));
1856
- } else {
1857
- return src;
1858
- }
1859
- };
1860
-
1861
- var type$g = utils.type;
1862
- var pow$2 = Math.pow;
1863
-
1864
- var EPS = 1e-7;
1865
- var MAX_ITER = 20;
1866
-
1867
- Color_1.prototype.luminance = function(lum) {
1868
- if (lum !== undefined && type$g(lum) === 'number') {
1869
- if (lum === 0) {
1870
- // return pure black
1871
- return new Color_1([0,0,0,this._rgb[3]], 'rgb');
1872
- }
1873
- if (lum === 1) {
1874
- // return pure white
1875
- return new Color_1([255,255,255,this._rgb[3]], 'rgb');
1876
- }
1877
- // compute new color using...
1878
- var cur_lum = this.luminance();
1879
- var mode = 'rgb';
1880
- var max_iter = MAX_ITER;
1881
-
1882
- var test = function (low, high) {
1883
- var mid = low.interpolate(high, 0.5, mode);
1884
- var lm = mid.luminance();
1885
- if (Math.abs(lum - lm) < EPS || !max_iter--) {
1886
- // close enough
1887
- return mid;
1888
- }
1889
- return lm > lum ? test(low, mid) : test(mid, high);
1890
- };
1891
-
1892
- var rgb = (cur_lum > lum ? test(new Color_1([0,0,0]), this) : test(this, new Color_1([255,255,255]))).rgb();
1893
- return new Color_1(rgb.concat( [this._rgb[3]]));
1894
- }
1895
- return rgb2luminance.apply(void 0, (this._rgb).slice(0,3));
1896
- };
1897
-
1898
-
1899
- var rgb2luminance = function (r,g,b) {
1900
- // relative luminance
1901
- // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
1902
- r = luminance_x(r);
1903
- g = luminance_x(g);
1904
- b = luminance_x(b);
1905
- return 0.2126 * r + 0.7152 * g + 0.0722 * b;
1906
- };
1907
-
1908
- var luminance_x = function (x) {
1909
- x /= 255;
1910
- return x <= 0.03928 ? x/12.92 : pow$2((x+0.055)/1.055, 2.4);
1911
- };
1912
-
1913
- var interpolator = {};
1914
-
1915
- var type$h = utils.type;
1916
-
1917
-
1918
- var mix = function (col1, col2, f) {
1919
- if ( f === void 0 ) f=0.5;
1920
- var rest = [], len = arguments.length - 3;
1921
- while ( len-- > 0 ) rest[ len ] = arguments[ len + 3 ];
1922
-
1923
- var mode = rest[0] || 'lrgb';
1924
- if (!interpolator[mode] && !rest.length) {
1925
- // fall back to the first supported mode
1926
- mode = Object.keys(interpolator)[0];
1927
- }
1928
- if (!interpolator[mode]) {
1929
- throw new Error(("interpolation mode " + mode + " is not defined"));
1930
- }
1931
- if (type$h(col1) !== 'object') { col1 = new Color_1(col1); }
1932
- if (type$h(col2) !== 'object') { col2 = new Color_1(col2); }
1933
- return interpolator[mode](col1, col2, f)
1934
- .alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));
1935
- };
1936
-
1937
- Color_1.prototype.mix =
1938
- Color_1.prototype.interpolate = function(col2, f) {
1939
- if ( f === void 0 ) f=0.5;
1940
- var rest = [], len = arguments.length - 2;
1941
- while ( len-- > 0 ) rest[ len ] = arguments[ len + 2 ];
1942
-
1943
- return mix.apply(void 0, [ this, col2, f ].concat( rest ));
1944
- };
1945
-
1946
- Color_1.prototype.premultiply = function(mutate) {
1947
- if ( mutate === void 0 ) mutate=false;
1948
-
1949
- var rgb = this._rgb;
1950
- var a = rgb[3];
1951
- if (mutate) {
1952
- this._rgb = [rgb[0]*a, rgb[1]*a, rgb[2]*a, a];
1953
- return this;
1954
- } else {
1955
- return new Color_1([rgb[0]*a, rgb[1]*a, rgb[2]*a, a], 'rgb');
1956
- }
1957
- };
1958
-
1959
- Color_1.prototype.saturate = function(amount) {
1960
- if ( amount === void 0 ) amount=1;
1961
-
1962
- var me = this;
1963
- var lch = me.lch();
1964
- lch[1] += labConstants.Kn * amount;
1965
- if (lch[1] < 0) { lch[1] = 0; }
1966
- return new Color_1(lch, 'lch').alpha(me.alpha(), true);
1967
- };
1968
-
1969
- Color_1.prototype.desaturate = function(amount) {
1970
- if ( amount === void 0 ) amount=1;
1971
-
1972
- return this.saturate(-amount);
1973
- };
1974
-
1975
- var type$i = utils.type;
1976
-
1977
- Color_1.prototype.set = function(mc, value, mutate) {
1978
- if ( mutate === void 0 ) mutate=false;
1979
-
1980
- var ref = mc.split('.');
1981
- var mode = ref[0];
1982
- var channel = ref[1];
1983
- var src = this[mode]();
1984
- if (channel) {
1985
- var i = mode.indexOf(channel);
1986
- if (i > -1) {
1987
- if (type$i(value) == 'string') {
1988
- switch(value.charAt(0)) {
1989
- case '+': src[i] += +value; break;
1990
- case '-': src[i] += +value; break;
1991
- case '*': src[i] *= +(value.substr(1)); break;
1992
- case '/': src[i] /= +(value.substr(1)); break;
1993
- default: src[i] = +value;
1994
- }
1995
- } else if (type$i(value) === 'number') {
1996
- src[i] = value;
1997
- } else {
1998
- throw new Error("unsupported value for Color.set");
1999
- }
2000
- var out = new Color_1(src, mode);
2001
- if (mutate) {
2002
- this._rgb = out._rgb;
2003
- return this;
2004
- }
2005
- return out;
2006
- }
2007
- throw new Error(("unknown channel " + channel + " in mode " + mode));
2008
- } else {
2009
- return src;
2010
- }
2011
- };
2012
-
2013
- var rgb$1 = function (col1, col2, f) {
2014
- var xyz0 = col1._rgb;
2015
- var xyz1 = col2._rgb;
2016
- return new Color_1(
2017
- xyz0[0] + f * (xyz1[0]-xyz0[0]),
2018
- xyz0[1] + f * (xyz1[1]-xyz0[1]),
2019
- xyz0[2] + f * (xyz1[2]-xyz0[2]),
2020
- 'rgb'
2021
- )
2022
- };
2023
-
2024
- // register interpolator
2025
- interpolator.rgb = rgb$1;
2026
-
2027
- var sqrt$2 = Math.sqrt;
2028
- var pow$3 = Math.pow;
2029
-
2030
- var lrgb = function (col1, col2, f) {
2031
- var ref = col1._rgb;
2032
- var x1 = ref[0];
2033
- var y1 = ref[1];
2034
- var z1 = ref[2];
2035
- var ref$1 = col2._rgb;
2036
- var x2 = ref$1[0];
2037
- var y2 = ref$1[1];
2038
- var z2 = ref$1[2];
2039
- return new Color_1(
2040
- sqrt$2(pow$3(x1,2) * (1-f) + pow$3(x2,2) * f),
2041
- sqrt$2(pow$3(y1,2) * (1-f) + pow$3(y2,2) * f),
2042
- sqrt$2(pow$3(z1,2) * (1-f) + pow$3(z2,2) * f),
2043
- 'rgb'
2044
- )
2045
- };
2046
-
2047
- // register interpolator
2048
- interpolator.lrgb = lrgb;
2049
-
2050
- var lab$1 = function (col1, col2, f) {
2051
- var xyz0 = col1.lab();
2052
- var xyz1 = col2.lab();
2053
- return new Color_1(
2054
- xyz0[0] + f * (xyz1[0]-xyz0[0]),
2055
- xyz0[1] + f * (xyz1[1]-xyz0[1]),
2056
- xyz0[2] + f * (xyz1[2]-xyz0[2]),
2057
- 'lab'
2058
- )
2059
- };
2060
-
2061
- // register interpolator
2062
- interpolator.lab = lab$1;
2063
-
2064
- var _hsx = function (col1, col2, f, m) {
2065
- var assign, assign$1;
2066
-
2067
- var xyz0, xyz1;
2068
- if (m === 'hsl') {
2069
- xyz0 = col1.hsl();
2070
- xyz1 = col2.hsl();
2071
- } else if (m === 'hsv') {
2072
- xyz0 = col1.hsv();
2073
- xyz1 = col2.hsv();
2074
- } else if (m === 'hcg') {
2075
- xyz0 = col1.hcg();
2076
- xyz1 = col2.hcg();
2077
- } else if (m === 'hsi') {
2078
- xyz0 = col1.hsi();
2079
- xyz1 = col2.hsi();
2080
- } else if (m === 'lch' || m === 'hcl') {
2081
- m = 'hcl';
2082
- xyz0 = col1.hcl();
2083
- xyz1 = col2.hcl();
2084
- }
2085
-
2086
- var hue0, hue1, sat0, sat1, lbv0, lbv1;
2087
- if (m.substr(0, 1) === 'h') {
2088
- (assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2]);
2089
- (assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2]);
2090
- }
2091
-
2092
- var sat, hue, lbv, dh;
2093
-
2094
- if (!isNaN(hue0) && !isNaN(hue1)) {
2095
- // both colors have hue
2096
- if (hue1 > hue0 && hue1 - hue0 > 180) {
2097
- dh = hue1-(hue0+360);
2098
- } else if (hue1 < hue0 && hue0 - hue1 > 180) {
2099
- dh = hue1+360-hue0;
2100
- } else {
2101
- dh = hue1 - hue0;
2102
- }
2103
- hue = hue0 + f * dh;
2104
- } else if (!isNaN(hue0)) {
2105
- hue = hue0;
2106
- if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') { sat = sat0; }
2107
- } else if (!isNaN(hue1)) {
2108
- hue = hue1;
2109
- if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') { sat = sat1; }
2110
- } else {
2111
- hue = Number.NaN;
2112
- }
2113
-
2114
- if (sat === undefined) { sat = sat0 + f * (sat1 - sat0); }
2115
- lbv = lbv0 + f * (lbv1-lbv0);
2116
- return new Color_1([hue, sat, lbv], m);
2117
- };
2118
-
2119
- var lch$1 = function (col1, col2, f) {
2120
- return _hsx(col1, col2, f, 'lch');
2121
- };
2122
-
2123
- // register interpolator
2124
- interpolator.lch = lch$1;
2125
- interpolator.hcl = lch$1;
2126
-
2127
- var num$1 = function (col1, col2, f) {
2128
- var c1 = col1.num();
2129
- var c2 = col2.num();
2130
- return new Color_1(c1 + f * (c2-c1), 'num')
2131
- };
2132
-
2133
- // register interpolator
2134
- interpolator.num = num$1;
2135
-
2136
- var hcg$1 = function (col1, col2, f) {
2137
- return _hsx(col1, col2, f, 'hcg');
2138
- };
2139
-
2140
- // register interpolator
2141
- interpolator.hcg = hcg$1;
2142
-
2143
- var hsi$1 = function (col1, col2, f) {
2144
- return _hsx(col1, col2, f, 'hsi');
2145
- };
2146
-
2147
- // register interpolator
2148
- interpolator.hsi = hsi$1;
2149
-
2150
- var hsl$1 = function (col1, col2, f) {
2151
- return _hsx(col1, col2, f, 'hsl');
2152
- };
2153
-
2154
- // register interpolator
2155
- interpolator.hsl = hsl$1;
2156
-
2157
- var hsv$1 = function (col1, col2, f) {
2158
- return _hsx(col1, col2, f, 'hsv');
2159
- };
2160
-
2161
- // register interpolator
2162
- interpolator.hsv = hsv$1;
2163
-
2164
- var clip_rgb$2 = utils.clip_rgb;
2165
- var pow$4 = Math.pow;
2166
- var sqrt$3 = Math.sqrt;
2167
- var PI$1 = Math.PI;
2168
- var cos$2 = Math.cos;
2169
- var sin$1 = Math.sin;
2170
- var atan2$1 = Math.atan2;
2171
-
2172
- var average = function (colors, mode, weights) {
2173
- if ( mode === void 0 ) mode='lrgb';
2174
- if ( weights === void 0 ) weights=null;
2175
-
2176
- var l = colors.length;
2177
- if (!weights) { weights = Array.from(new Array(l)).map(function () { return 1; }); }
2178
- // normalize weights
2179
- var k = l / weights.reduce(function(a, b) { return a + b; });
2180
- weights.forEach(function (w,i) { weights[i] *= k; });
2181
- // convert colors to Color objects
2182
- colors = colors.map(function (c) { return new Color_1(c); });
2183
- if (mode === 'lrgb') {
2184
- return _average_lrgb(colors, weights)
2185
- }
2186
- var first = colors.shift();
2187
- var xyz = first.get(mode);
2188
- var cnt = [];
2189
- var dx = 0;
2190
- var dy = 0;
2191
- // initial color
2192
- for (var i=0; i<xyz.length; i++) {
2193
- xyz[i] = (xyz[i] || 0) * weights[0];
2194
- cnt.push(isNaN(xyz[i]) ? 0 : weights[0]);
2195
- if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {
2196
- var A = xyz[i] / 180 * PI$1;
2197
- dx += cos$2(A) * weights[0];
2198
- dy += sin$1(A) * weights[0];
2199
- }
2200
- }
2201
-
2202
- var alpha = first.alpha() * weights[0];
2203
- colors.forEach(function (c,ci) {
2204
- var xyz2 = c.get(mode);
2205
- alpha += c.alpha() * weights[ci+1];
2206
- for (var i=0; i<xyz.length; i++) {
2207
- if (!isNaN(xyz2[i])) {
2208
- cnt[i] += weights[ci+1];
2209
- if (mode.charAt(i) === 'h') {
2210
- var A = xyz2[i] / 180 * PI$1;
2211
- dx += cos$2(A) * weights[ci+1];
2212
- dy += sin$1(A) * weights[ci+1];
2213
- } else {
2214
- xyz[i] += xyz2[i] * weights[ci+1];
2215
- }
2216
- }
2217
- }
2218
- });
2219
-
2220
- for (var i$1=0; i$1<xyz.length; i$1++) {
2221
- if (mode.charAt(i$1) === 'h') {
2222
- var A$1 = atan2$1(dy / cnt[i$1], dx / cnt[i$1]) / PI$1 * 180;
2223
- while (A$1 < 0) { A$1 += 360; }
2224
- while (A$1 >= 360) { A$1 -= 360; }
2225
- xyz[i$1] = A$1;
2226
- } else {
2227
- xyz[i$1] = xyz[i$1]/cnt[i$1];
2228
- }
2229
- }
2230
- alpha /= l;
2231
- return (new Color_1(xyz, mode)).alpha(alpha > 0.99999 ? 1 : alpha, true);
2232
- };
2233
-
2234
-
2235
- var _average_lrgb = function (colors, weights) {
2236
- var l = colors.length;
2237
- var xyz = [0,0,0,0];
2238
- for (var i=0; i < colors.length; i++) {
2239
- var col = colors[i];
2240
- var f = weights[i] / l;
2241
- var rgb = col._rgb;
2242
- xyz[0] += pow$4(rgb[0],2) * f;
2243
- xyz[1] += pow$4(rgb[1],2) * f;
2244
- xyz[2] += pow$4(rgb[2],2) * f;
2245
- xyz[3] += rgb[3] * f;
2246
- }
2247
- xyz[0] = sqrt$3(xyz[0]);
2248
- xyz[1] = sqrt$3(xyz[1]);
2249
- xyz[2] = sqrt$3(xyz[2]);
2250
- if (xyz[3] > 0.9999999) { xyz[3] = 1; }
2251
- return new Color_1(clip_rgb$2(xyz));
2252
- };
2253
-
2254
- // minimal multi-purpose interface
2255
-
2256
- // @requires utils color analyze
2257
-
2258
-
2259
- var type$j = utils.type;
2260
-
2261
- var pow$5 = Math.pow;
2262
-
2263
- var scale = function(colors) {
2264
-
2265
- // constructor
2266
- var _mode = 'rgb';
2267
- var _nacol = chroma_1('#ccc');
2268
- var _spread = 0;
2269
- // const _fixed = false;
2270
- var _domain = [0, 1];
2271
- var _pos = [];
2272
- var _padding = [0,0];
2273
- var _classes = false;
2274
- var _colors = [];
2275
- var _out = false;
2276
- var _min = 0;
2277
- var _max = 1;
2278
- var _correctLightness = false;
2279
- var _colorCache = {};
2280
- var _useCache = true;
2281
- var _gamma = 1;
2282
-
2283
- // private methods
2284
-
2285
- var setColors = function(colors) {
2286
- colors = colors || ['#fff', '#000'];
2287
- if (colors && type$j(colors) === 'string' && chroma_1.brewer &&
2288
- chroma_1.brewer[colors.toLowerCase()]) {
2289
- colors = chroma_1.brewer[colors.toLowerCase()];
2290
- }
2291
- if (type$j(colors) === 'array') {
2292
- // handle single color
2293
- if (colors.length === 1) {
2294
- colors = [colors[0], colors[0]];
2295
- }
2296
- // make a copy of the colors
2297
- colors = colors.slice(0);
2298
- // convert to chroma classes
2299
- for (var c=0; c<colors.length; c++) {
2300
- colors[c] = chroma_1(colors[c]);
2301
- }
2302
- // auto-fill color position
2303
- _pos.length = 0;
2304
- for (var c$1=0; c$1<colors.length; c$1++) {
2305
- _pos.push(c$1/(colors.length-1));
2306
- }
2307
- }
2308
- resetCache();
2309
- return _colors = colors;
2310
- };
2311
-
2312
- var getClass = function(value) {
2313
- if (_classes != null) {
2314
- var n = _classes.length-1;
2315
- var i = 0;
2316
- while (i < n && value >= _classes[i]) {
2317
- i++;
2318
- }
2319
- return i-1;
2320
- }
2321
- return 0;
2322
- };
2323
-
2324
- var tMapLightness = function (t) { return t; };
2325
- var tMapDomain = function (t) { return t; };
2326
-
2327
- // const classifyValue = function(value) {
2328
- // let val = value;
2329
- // if (_classes.length > 2) {
2330
- // const n = _classes.length-1;
2331
- // const i = getClass(value);
2332
- // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class
2333
- // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class
2334
- // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));
2335
- // }
2336
- // return val;
2337
- // };
2338
-
2339
- var getColor = function(val, bypassMap) {
2340
- var col, t;
2341
- if (bypassMap == null) { bypassMap = false; }
2342
- if (isNaN(val) || (val === null)) { return _nacol; }
2343
- if (!bypassMap) {
2344
- if (_classes && (_classes.length > 2)) {
2345
- // find the class
2346
- var c = getClass(val);
2347
- t = c / (_classes.length-2);
2348
- } else if (_max !== _min) {
2349
- // just interpolate between min/max
2350
- t = (val - _min) / (_max - _min);
2351
- } else {
2352
- t = 1;
2353
- }
2354
- } else {
2355
- t = val;
2356
- }
2357
-
2358
- // domain map
2359
- t = tMapDomain(t);
2360
-
2361
- if (!bypassMap) {
2362
- t = tMapLightness(t); // lightness correction
2363
- }
2364
-
2365
- if (_gamma !== 1) { t = pow$5(t, _gamma); }
2366
-
2367
- t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));
2368
-
2369
- t = Math.min(1, Math.max(0, t));
2370
-
2371
- var k = Math.floor(t * 10000);
2372
-
2373
- if (_useCache && _colorCache[k]) {
2374
- col = _colorCache[k];
2375
- } else {
2376
- if (type$j(_colors) === 'array') {
2377
- //for i in [0.._pos.length-1]
2378
- for (var i=0; i<_pos.length; i++) {
2379
- var p = _pos[i];
2380
- if (t <= p) {
2381
- col = _colors[i];
2382
- break;
2383
- }
2384
- if ((t >= p) && (i === (_pos.length-1))) {
2385
- col = _colors[i];
2386
- break;
2387
- }
2388
- if (t > p && t < _pos[i+1]) {
2389
- t = (t-p)/(_pos[i+1]-p);
2390
- col = chroma_1.interpolate(_colors[i], _colors[i+1], t, _mode);
2391
- break;
2392
- }
2393
- }
2394
- } else if (type$j(_colors) === 'function') {
2395
- col = _colors(t);
2396
- }
2397
- if (_useCache) { _colorCache[k] = col; }
2398
- }
2399
- return col;
2400
- };
2401
-
2402
- var resetCache = function () { return _colorCache = {}; };
2403
-
2404
- setColors(colors);
2405
-
2406
- // public interface
2407
-
2408
- var f = function(v) {
2409
- var c = chroma_1(getColor(v));
2410
- if (_out && c[_out]) { return c[_out](); } else { return c; }
2411
- };
2412
-
2413
- f.classes = function(classes) {
2414
- if (classes != null) {
2415
- if (type$j(classes) === 'array') {
2416
- _classes = classes;
2417
- _domain = [classes[0], classes[classes.length-1]];
2418
- } else {
2419
- var d = chroma_1.analyze(_domain);
2420
- if (classes === 0) {
2421
- _classes = [d.min, d.max];
2422
- } else {
2423
- _classes = chroma_1.limits(d, 'e', classes);
2424
- }
2425
- }
2426
- return f;
2427
- }
2428
- return _classes;
2429
- };
2430
-
2431
-
2432
- f.domain = function(domain) {
2433
- if (!arguments.length) {
2434
- return _domain;
2435
- }
2436
- _min = domain[0];
2437
- _max = domain[domain.length-1];
2438
- _pos = [];
2439
- var k = _colors.length;
2440
- if ((domain.length === k) && (_min !== _max)) {
2441
- // update positions
2442
- for (var i = 0, list = Array.from(domain); i < list.length; i += 1) {
2443
- var d = list[i];
2444
-
2445
- _pos.push((d-_min) / (_max-_min));
2446
- }
2447
- } else {
2448
- for (var c=0; c<k; c++) {
2449
- _pos.push(c/(k-1));
2450
- }
2451
- if (domain.length > 2) {
2452
- // set domain map
2453
- var tOut = domain.map(function (d,i) { return i/(domain.length-1); });
2454
- var tBreaks = domain.map(function (d) { return (d - _min) / (_max - _min); });
2455
- if (!tBreaks.every(function (val, i) { return tOut[i] === val; })) {
2456
- tMapDomain = function (t) {
2457
- if (t <= 0 || t >= 1) { return t; }
2458
- var i = 0;
2459
- while (t >= tBreaks[i+1]) { i++; }
2460
- var f = (t - tBreaks[i]) / (tBreaks[i+1] - tBreaks[i]);
2461
- var out = tOut[i] + f * (tOut[i+1] - tOut[i]);
2462
- return out;
2463
- };
2464
- }
2465
-
2466
- }
2467
- }
2468
- _domain = [_min, _max];
2469
- return f;
2470
- };
2471
-
2472
- f.mode = function(_m) {
2473
- if (!arguments.length) {
2474
- return _mode;
2475
- }
2476
- _mode = _m;
2477
- resetCache();
2478
- return f;
2479
- };
2480
-
2481
- f.range = function(colors, _pos) {
2482
- setColors(colors);
2483
- return f;
2484
- };
2485
-
2486
- f.out = function(_o) {
2487
- _out = _o;
2488
- return f;
2489
- };
2490
-
2491
- f.spread = function(val) {
2492
- if (!arguments.length) {
2493
- return _spread;
2494
- }
2495
- _spread = val;
2496
- return f;
2497
- };
2498
-
2499
- f.correctLightness = function(v) {
2500
- if (v == null) { v = true; }
2501
- _correctLightness = v;
2502
- resetCache();
2503
- if (_correctLightness) {
2504
- tMapLightness = function(t) {
2505
- var L0 = getColor(0, true).lab()[0];
2506
- var L1 = getColor(1, true).lab()[0];
2507
- var pol = L0 > L1;
2508
- var L_actual = getColor(t, true).lab()[0];
2509
- var L_ideal = L0 + ((L1 - L0) * t);
2510
- var L_diff = L_actual - L_ideal;
2511
- var t0 = 0;
2512
- var t1 = 1;
2513
- var max_iter = 20;
2514
- while ((Math.abs(L_diff) > 1e-2) && (max_iter-- > 0)) {
2515
- (function() {
2516
- if (pol) { L_diff *= -1; }
2517
- if (L_diff < 0) {
2518
- t0 = t;
2519
- t += (t1 - t) * 0.5;
2520
- } else {
2521
- t1 = t;
2522
- t += (t0 - t) * 0.5;
2523
- }
2524
- L_actual = getColor(t, true).lab()[0];
2525
- return L_diff = L_actual - L_ideal;
2526
- })();
2527
- }
2528
- return t;
2529
- };
2530
- } else {
2531
- tMapLightness = function (t) { return t; };
2532
- }
2533
- return f;
2534
- };
2535
-
2536
- f.padding = function(p) {
2537
- if (p != null) {
2538
- if (type$j(p) === 'number') {
2539
- p = [p,p];
2540
- }
2541
- _padding = p;
2542
- return f;
2543
- } else {
2544
- return _padding;
2545
- }
2546
- };
2547
-
2548
- f.colors = function(numColors, out) {
2549
- // If no arguments are given, return the original colors that were provided
2550
- if (arguments.length < 2) { out = 'hex'; }
2551
- var result = [];
2552
-
2553
- if (arguments.length === 0) {
2554
- result = _colors.slice(0);
2555
-
2556
- } else if (numColors === 1) {
2557
- result = [f(0.5)];
2558
-
2559
- } else if (numColors > 1) {
2560
- var dm = _domain[0];
2561
- var dd = _domain[1] - dm;
2562
- result = __range__(0, numColors, false).map(function (i) { return f( dm + ((i/(numColors-1)) * dd) ); });
2563
-
2564
- } else { // returns all colors based on the defined classes
2565
- colors = [];
2566
- var samples = [];
2567
- if (_classes && (_classes.length > 2)) {
2568
- for (var i = 1, end = _classes.length, asc = 1 <= end; asc ? i < end : i > end; asc ? i++ : i--) {
2569
- samples.push((_classes[i-1]+_classes[i])*0.5);
2570
- }
2571
- } else {
2572
- samples = _domain;
2573
- }
2574
- result = samples.map(function (v) { return f(v); });
2575
- }
2576
-
2577
- if (chroma_1[out]) {
2578
- result = result.map(function (c) { return c[out](); });
2579
- }
2580
- return result;
2581
- };
2582
-
2583
- f.cache = function(c) {
2584
- if (c != null) {
2585
- _useCache = c;
2586
- return f;
2587
- } else {
2588
- return _useCache;
2589
- }
2590
- };
2591
-
2592
- f.gamma = function(g) {
2593
- if (g != null) {
2594
- _gamma = g;
2595
- return f;
2596
- } else {
2597
- return _gamma;
2598
- }
2599
- };
2600
-
2601
- f.nodata = function(d) {
2602
- if (d != null) {
2603
- _nacol = chroma_1(d);
2604
- return f;
2605
- } else {
2606
- return _nacol;
2607
- }
2608
- };
2609
-
2610
- return f;
2611
- };
2612
-
2613
- function __range__(left, right, inclusive) {
2614
- var range = [];
2615
- var ascending = left < right;
2616
- var end = !inclusive ? right : ascending ? right + 1 : right - 1;
2617
- for (var i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {
2618
- range.push(i);
2619
- }
2620
- return range;
2621
- }
2622
-
2623
- //
2624
- // interpolates between a set of colors uzing a bezier spline
2625
- //
2626
-
2627
- // @requires utils lab
2628
-
2629
-
2630
-
2631
-
2632
- var bezier = function(colors) {
2633
- var assign, assign$1, assign$2;
2634
-
2635
- var I, lab0, lab1, lab2;
2636
- colors = colors.map(function (c) { return new Color_1(c); });
2637
- if (colors.length === 2) {
2638
- // linear interpolation
2639
- (assign = colors.map(function (c) { return c.lab(); }), lab0 = assign[0], lab1 = assign[1]);
2640
- I = function(t) {
2641
- var lab = ([0, 1, 2].map(function (i) { return lab0[i] + (t * (lab1[i] - lab0[i])); }));
2642
- return new Color_1(lab, 'lab');
2643
- };
2644
- } else if (colors.length === 3) {
2645
- // quadratic bezier interpolation
2646
- (assign$1 = colors.map(function (c) { return c.lab(); }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2]);
2647
- I = function(t) {
2648
- var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t) * lab0[i]) + (2 * (1-t) * t * lab1[i]) + (t * t * lab2[i]); }));
2649
- return new Color_1(lab, 'lab');
2650
- };
2651
- } else if (colors.length === 4) {
2652
- // cubic bezier interpolation
2653
- var lab3;
2654
- (assign$2 = colors.map(function (c) { return c.lab(); }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3]);
2655
- I = function(t) {
2656
- var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t)*(1-t) * lab0[i]) + (3 * (1-t) * (1-t) * t * lab1[i]) + (3 * (1-t) * t * t * lab2[i]) + (t*t*t * lab3[i]); }));
2657
- return new Color_1(lab, 'lab');
2658
- };
2659
- } else if (colors.length === 5) {
2660
- var I0 = bezier(colors.slice(0, 3));
2661
- var I1 = bezier(colors.slice(2, 5));
2662
- I = function(t) {
2663
- if (t < 0.5) {
2664
- return I0(t*2);
2665
- } else {
2666
- return I1((t-0.5)*2);
2667
- }
2668
- };
2669
- }
2670
- return I;
2671
- };
2672
-
2673
- var bezier_1 = function (colors) {
2674
- var f = bezier(colors);
2675
- f.scale = function () { return scale(f); };
2676
- return f;
2677
- };
2678
-
2679
- /*
2680
- * interpolates between a set of colors uzing a bezier spline
2681
- * blend mode formulas taken from http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/
2682
- */
2683
-
2684
-
2685
-
2686
-
2687
- var blend = function (bottom, top, mode) {
2688
- if (!blend[mode]) {
2689
- throw new Error('unknown blend mode ' + mode);
2690
- }
2691
- return blend[mode](bottom, top);
2692
- };
2693
-
2694
- var blend_f = function (f) { return function (bottom,top) {
2695
- var c0 = chroma_1(top).rgb();
2696
- var c1 = chroma_1(bottom).rgb();
2697
- return chroma_1.rgb(f(c0, c1));
2698
- }; };
2699
-
2700
- var each = function (f) { return function (c0, c1) {
2701
- var out = [];
2702
- out[0] = f(c0[0], c1[0]);
2703
- out[1] = f(c0[1], c1[1]);
2704
- out[2] = f(c0[2], c1[2]);
2705
- return out;
2706
- }; };
2707
-
2708
- var normal = function (a) { return a; };
2709
- var multiply = function (a,b) { return a * b / 255; };
2710
- var darken$1 = function (a,b) { return a > b ? b : a; };
2711
- var lighten = function (a,b) { return a > b ? a : b; };
2712
- var screen = function (a,b) { return 255 * (1 - (1-a/255) * (1-b/255)); };
2713
- var overlay = function (a,b) { return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255 ) * ( 1 - b / 255 )); };
2714
- var burn = function (a,b) { return 255 * (1 - (1 - b / 255) / (a/255)); };
2715
- var dodge = function (a,b) {
2716
- if (a === 255) { return 255; }
2717
- a = 255 * (b / 255) / (1 - a / 255);
2718
- return a > 255 ? 255 : a
2719
- };
2720
-
2721
- // # add = (a,b) ->
2722
- // # if (a + b > 255) then 255 else a + b
2723
-
2724
- blend.normal = blend_f(each(normal));
2725
- blend.multiply = blend_f(each(multiply));
2726
- blend.screen = blend_f(each(screen));
2727
- blend.overlay = blend_f(each(overlay));
2728
- blend.darken = blend_f(each(darken$1));
2729
- blend.lighten = blend_f(each(lighten));
2730
- blend.dodge = blend_f(each(dodge));
2731
- blend.burn = blend_f(each(burn));
2732
- // blend.add = blend_f(each(add));
2733
-
2734
- var blend_1 = blend;
2735
-
2736
- // cubehelix interpolation
2737
- // based on D.A. Green "A colour scheme for the display of astronomical intensity images"
2738
- // http://astron-soc.in/bulletin/11June/289392011.pdf
2739
-
2740
- var type$k = utils.type;
2741
- var clip_rgb$3 = utils.clip_rgb;
2742
- var TWOPI$2 = utils.TWOPI;
2743
- var pow$6 = Math.pow;
2744
- var sin$2 = Math.sin;
2745
- var cos$3 = Math.cos;
2746
-
2747
-
2748
- var cubehelix = function(start, rotations, hue, gamma, lightness) {
2749
- if ( start === void 0 ) start=300;
2750
- if ( rotations === void 0 ) rotations=-1.5;
2751
- if ( hue === void 0 ) hue=1;
2752
- if ( gamma === void 0 ) gamma=1;
2753
- if ( lightness === void 0 ) lightness=[0,1];
2754
-
2755
- var dh = 0, dl;
2756
- if (type$k(lightness) === 'array') {
2757
- dl = lightness[1] - lightness[0];
2758
- } else {
2759
- dl = 0;
2760
- lightness = [lightness, lightness];
2761
- }
2762
-
2763
- var f = function(fract) {
2764
- var a = TWOPI$2 * (((start+120)/360) + (rotations * fract));
2765
- var l = pow$6(lightness[0] + (dl * fract), gamma);
2766
- var h = dh !== 0 ? hue[0] + (fract * dh) : hue;
2767
- var amp = (h * l * (1-l)) / 2;
2768
- var cos_a = cos$3(a);
2769
- var sin_a = sin$2(a);
2770
- var r = l + (amp * ((-0.14861 * cos_a) + (1.78277* sin_a)));
2771
- var g = l + (amp * ((-0.29227 * cos_a) - (0.90649* sin_a)));
2772
- var b = l + (amp * (+1.97294 * cos_a));
2773
- return chroma_1(clip_rgb$3([r*255,g*255,b*255,1]));
2774
- };
2775
-
2776
- f.start = function(s) {
2777
- if ((s == null)) { return start; }
2778
- start = s;
2779
- return f;
2780
- };
2781
-
2782
- f.rotations = function(r) {
2783
- if ((r == null)) { return rotations; }
2784
- rotations = r;
2785
- return f;
2786
- };
2787
-
2788
- f.gamma = function(g) {
2789
- if ((g == null)) { return gamma; }
2790
- gamma = g;
2791
- return f;
2792
- };
2793
-
2794
- f.hue = function(h) {
2795
- if ((h == null)) { return hue; }
2796
- hue = h;
2797
- if (type$k(hue) === 'array') {
2798
- dh = hue[1] - hue[0];
2799
- if (dh === 0) { hue = hue[1]; }
2800
- } else {
2801
- dh = 0;
2802
- }
2803
- return f;
2804
- };
2805
-
2806
- f.lightness = function(h) {
2807
- if ((h == null)) { return lightness; }
2808
- if (type$k(h) === 'array') {
2809
- lightness = h;
2810
- dl = h[1] - h[0];
2811
- } else {
2812
- lightness = [h,h];
2813
- dl = 0;
2814
- }
2815
- return f;
2816
- };
2817
-
2818
- f.scale = function () { return chroma_1.scale(f); };
2819
-
2820
- f.hue(hue);
2821
-
2822
- return f;
2823
- };
2824
-
2825
- var digits = '0123456789abcdef';
2826
-
2827
- var floor$2 = Math.floor;
2828
- var random = Math.random;
2829
-
2830
- var random_1 = function () {
2831
- var code = '#';
2832
- for (var i=0; i<6; i++) {
2833
- code += digits.charAt(floor$2(random() * 16));
2834
- }
2835
- return new Color_1(code, 'hex');
2836
- };
2837
-
2838
- var log$1 = Math.log;
2839
- var pow$7 = Math.pow;
2840
- var floor$3 = Math.floor;
2841
- var abs = Math.abs;
2842
-
2843
-
2844
- var analyze = function (data, key) {
2845
- if ( key === void 0 ) key=null;
2846
-
2847
- var r = {
2848
- min: Number.MAX_VALUE,
2849
- max: Number.MAX_VALUE*-1,
2850
- sum: 0,
2851
- values: [],
2852
- count: 0
2853
- };
2854
- if (type(data) === 'object') {
2855
- data = Object.values(data);
2856
- }
2857
- data.forEach(function (val) {
2858
- if (key && type(val) === 'object') { val = val[key]; }
2859
- if (val !== undefined && val !== null && !isNaN(val)) {
2860
- r.values.push(val);
2861
- r.sum += val;
2862
- if (val < r.min) { r.min = val; }
2863
- if (val > r.max) { r.max = val; }
2864
- r.count += 1;
2865
- }
2866
- });
2867
-
2868
- r.domain = [r.min, r.max];
2869
-
2870
- r.limits = function (mode, num) { return limits(r, mode, num); };
2871
-
2872
- return r;
2873
- };
2874
-
2875
-
2876
- var limits = function (data, mode, num) {
2877
- if ( mode === void 0 ) mode='equal';
2878
- if ( num === void 0 ) num=7;
2879
-
2880
- if (type(data) == 'array') {
2881
- data = analyze(data);
2882
- }
2883
- var min = data.min;
2884
- var max = data.max;
2885
- var values = data.values.sort(function (a,b) { return a-b; });
2886
-
2887
- if (num === 1) { return [min,max]; }
2888
-
2889
- var limits = [];
2890
-
2891
- if (mode.substr(0,1) === 'c') { // continuous
2892
- limits.push(min);
2893
- limits.push(max);
2894
- }
2895
-
2896
- if (mode.substr(0,1) === 'e') { // equal interval
2897
- limits.push(min);
2898
- for (var i=1; i<num; i++) {
2899
- limits.push(min+((i/num)*(max-min)));
2900
- }
2901
- limits.push(max);
2902
- }
2903
-
2904
- else if (mode.substr(0,1) === 'l') { // log scale
2905
- if (min <= 0) {
2906
- throw new Error('Logarithmic scales are only possible for values > 0');
2907
- }
2908
- var min_log = Math.LOG10E * log$1(min);
2909
- var max_log = Math.LOG10E * log$1(max);
2910
- limits.push(min);
2911
- for (var i$1=1; i$1<num; i$1++) {
2912
- limits.push(pow$7(10, min_log + ((i$1/num) * (max_log - min_log))));
2913
- }
2914
- limits.push(max);
2915
- }
2916
-
2917
- else if (mode.substr(0,1) === 'q') { // quantile scale
2918
- limits.push(min);
2919
- for (var i$2=1; i$2<num; i$2++) {
2920
- var p = ((values.length-1) * i$2)/num;
2921
- var pb = floor$3(p);
2922
- if (pb === p) {
2923
- limits.push(values[pb]);
2924
- } else { // p > pb
2925
- var pr = p - pb;
2926
- limits.push((values[pb]*(1-pr)) + (values[pb+1]*pr));
2927
- }
2928
- }
2929
- limits.push(max);
2930
-
2931
- }
2932
-
2933
- else if (mode.substr(0,1) === 'k') { // k-means clustering
2934
- /*
2935
- implementation based on
2936
- http://code.google.com/p/figue/source/browse/trunk/figue.js#336
2937
- simplified for 1-d input values
2938
- */
2939
- var cluster;
2940
- var n = values.length;
2941
- var assignments = new Array(n);
2942
- var clusterSizes = new Array(num);
2943
- var repeat = true;
2944
- var nb_iters = 0;
2945
- var centroids = null;
2946
-
2947
- // get seed values
2948
- centroids = [];
2949
- centroids.push(min);
2950
- for (var i$3=1; i$3<num; i$3++) {
2951
- centroids.push(min + ((i$3/num) * (max-min)));
2952
- }
2953
- centroids.push(max);
2954
-
2955
- while (repeat) {
2956
- // assignment step
2957
- for (var j=0; j<num; j++) {
2958
- clusterSizes[j] = 0;
2959
- }
2960
- for (var i$4=0; i$4<n; i$4++) {
2961
- var value = values[i$4];
2962
- var mindist = Number.MAX_VALUE;
2963
- var best = (void 0);
2964
- for (var j$1=0; j$1<num; j$1++) {
2965
- var dist = abs(centroids[j$1]-value);
2966
- if (dist < mindist) {
2967
- mindist = dist;
2968
- best = j$1;
2969
- }
2970
- clusterSizes[best]++;
2971
- assignments[i$4] = best;
2972
- }
2973
- }
2974
-
2975
- // update centroids step
2976
- var newCentroids = new Array(num);
2977
- for (var j$2=0; j$2<num; j$2++) {
2978
- newCentroids[j$2] = null;
2979
- }
2980
- for (var i$5=0; i$5<n; i$5++) {
2981
- cluster = assignments[i$5];
2982
- if (newCentroids[cluster] === null) {
2983
- newCentroids[cluster] = values[i$5];
2984
- } else {
2985
- newCentroids[cluster] += values[i$5];
2986
- }
2987
- }
2988
- for (var j$3=0; j$3<num; j$3++) {
2989
- newCentroids[j$3] *= 1/clusterSizes[j$3];
2990
- }
2991
-
2992
- // check convergence
2993
- repeat = false;
2994
- for (var j$4=0; j$4<num; j$4++) {
2995
- if (newCentroids[j$4] !== centroids[j$4]) {
2996
- repeat = true;
2997
- break;
2998
- }
2999
- }
3000
-
3001
- centroids = newCentroids;
3002
- nb_iters++;
3003
-
3004
- if (nb_iters > 200) {
3005
- repeat = false;
3006
- }
3007
- }
3008
-
3009
- // finished k-means clustering
3010
- // the next part is borrowed from gabrielflor.it
3011
- var kClusters = {};
3012
- for (var j$5=0; j$5<num; j$5++) {
3013
- kClusters[j$5] = [];
3014
- }
3015
- for (var i$6=0; i$6<n; i$6++) {
3016
- cluster = assignments[i$6];
3017
- kClusters[cluster].push(values[i$6]);
3018
- }
3019
- var tmpKMeansBreaks = [];
3020
- for (var j$6=0; j$6<num; j$6++) {
3021
- tmpKMeansBreaks.push(kClusters[j$6][0]);
3022
- tmpKMeansBreaks.push(kClusters[j$6][kClusters[j$6].length-1]);
3023
- }
3024
- tmpKMeansBreaks = tmpKMeansBreaks.sort(function (a,b){ return a-b; });
3025
- limits.push(tmpKMeansBreaks[0]);
3026
- for (var i$7=1; i$7 < tmpKMeansBreaks.length; i$7+= 2) {
3027
- var v = tmpKMeansBreaks[i$7];
3028
- if (!isNaN(v) && (limits.indexOf(v) === -1)) {
3029
- limits.push(v);
3030
- }
3031
- }
3032
- }
3033
- return limits;
3034
- };
3035
-
3036
- var analyze_1 = {analyze: analyze, limits: limits};
3037
-
3038
- var contrast = function (a, b) {
3039
- // WCAG contrast ratio
3040
- // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
3041
- a = new Color_1(a);
3042
- b = new Color_1(b);
3043
- var l1 = a.luminance();
3044
- var l2 = b.luminance();
3045
- return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);
3046
- };
3047
-
3048
- var sqrt$4 = Math.sqrt;
3049
- var atan2$2 = Math.atan2;
3050
- var abs$1 = Math.abs;
3051
- var cos$4 = Math.cos;
3052
- var PI$2 = Math.PI;
3053
-
3054
- var deltaE = function(a, b, L, C) {
3055
- if ( L === void 0 ) L=1;
3056
- if ( C === void 0 ) C=1;
3057
-
3058
- // Delta E (CMC)
3059
- // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CMC.html
3060
- a = new Color_1(a);
3061
- b = new Color_1(b);
3062
- var ref = Array.from(a.lab());
3063
- var L1 = ref[0];
3064
- var a1 = ref[1];
3065
- var b1 = ref[2];
3066
- var ref$1 = Array.from(b.lab());
3067
- var L2 = ref$1[0];
3068
- var a2 = ref$1[1];
3069
- var b2 = ref$1[2];
3070
- var c1 = sqrt$4((a1 * a1) + (b1 * b1));
3071
- var c2 = sqrt$4((a2 * a2) + (b2 * b2));
3072
- var sl = L1 < 16.0 ? 0.511 : (0.040975 * L1) / (1.0 + (0.01765 * L1));
3073
- var sc = ((0.0638 * c1) / (1.0 + (0.0131 * c1))) + 0.638;
3074
- var h1 = c1 < 0.000001 ? 0.0 : (atan2$2(b1, a1) * 180.0) / PI$2;
3075
- while (h1 < 0) { h1 += 360; }
3076
- while (h1 >= 360) { h1 -= 360; }
3077
- var t = (h1 >= 164.0) && (h1 <= 345.0) ? (0.56 + abs$1(0.2 * cos$4((PI$2 * (h1 + 168.0)) / 180.0))) : (0.36 + abs$1(0.4 * cos$4((PI$2 * (h1 + 35.0)) / 180.0)));
3078
- var c4 = c1 * c1 * c1 * c1;
3079
- var f = sqrt$4(c4 / (c4 + 1900.0));
3080
- var sh = sc * (((f * t) + 1.0) - f);
3081
- var delL = L1 - L2;
3082
- var delC = c1 - c2;
3083
- var delA = a1 - a2;
3084
- var delB = b1 - b2;
3085
- var dH2 = ((delA * delA) + (delB * delB)) - (delC * delC);
3086
- var v1 = delL / (L * sl);
3087
- var v2 = delC / (C * sc);
3088
- var v3 = sh;
3089
- return sqrt$4((v1 * v1) + (v2 * v2) + (dH2 / (v3 * v3)));
3090
- };
3091
-
3092
- // simple Euclidean distance
3093
- var distance = function(a, b, mode) {
3094
- if ( mode === void 0 ) mode='lab';
3095
-
3096
- // Delta E (CIE 1976)
3097
- // see http://www.brucelindbloom.com/index.html?Equations.html
3098
- a = new Color_1(a);
3099
- b = new Color_1(b);
3100
- var l1 = a.get(mode);
3101
- var l2 = b.get(mode);
3102
- var sum_sq = 0;
3103
- for (var i in l1) {
3104
- var d = (l1[i] || 0) - (l2[i] || 0);
3105
- sum_sq += d*d;
3106
- }
3107
- return Math.sqrt(sum_sq);
3108
- };
3109
-
3110
- var valid = function () {
3111
- var args = [], len = arguments.length;
3112
- while ( len-- ) args[ len ] = arguments[ len ];
3113
-
3114
- try {
3115
- new (Function.prototype.bind.apply( Color_1, [ null ].concat( args) ));
3116
- return true;
3117
- } catch (e) {
3118
- return false;
3119
- }
3120
- };
3121
-
3122
- // some pre-defined color scales:
3123
-
3124
-
3125
-
3126
-
3127
- var scales = {
3128
- cool: function cool() { return scale([chroma_1.hsl(180,1,.9), chroma_1.hsl(250,.7,.4)]) },
3129
- hot: function hot() { return scale(['#000','#f00','#ff0','#fff']).mode('rgb') }
3130
- };
3131
-
3132
- /**
3133
- ColorBrewer colors for chroma.js
3134
-
3135
- Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The
3136
- Pennsylvania State University.
3137
-
3138
- Licensed under the Apache License, Version 2.0 (the "License");
3139
- you may not use this file except in compliance with the License.
3140
- You may obtain a copy of the License at
3141
- http://www.apache.org/licenses/LICENSE-2.0
3142
-
3143
- Unless required by applicable law or agreed to in writing, software distributed
3144
- under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
3145
- CONDITIONS OF ANY KIND, either express or implied. See the License for the
3146
- specific language governing permissions and limitations under the License.
3147
- */
3148
-
3149
- var colorbrewer = {
3150
- // sequential
3151
- OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],
3152
- PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],
3153
- BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],
3154
- Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],
3155
- BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],
3156
- YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],
3157
- YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],
3158
- Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],
3159
- RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],
3160
- Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],
3161
- YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],
3162
- Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],
3163
- GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],
3164
- Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],
3165
- YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],
3166
- PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],
3167
- Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],
3168
- PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],
3169
- Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],
3170
-
3171
- // diverging
3172
-
3173
- Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],
3174
- RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],
3175
- RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],
3176
- PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],
3177
- PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],
3178
- RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],
3179
- BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],
3180
- RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],
3181
- PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],
3182
-
3183
- // qualitative
3184
-
3185
- Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],
3186
- Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],
3187
- Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],
3188
- Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],
3189
- Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],
3190
- Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],
3191
- Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],
3192
- Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2'],
3193
- };
3194
-
3195
- // add lowercase aliases for case-insensitive matches
3196
- for (var i$1 = 0, list$1 = Object.keys(colorbrewer); i$1 < list$1.length; i$1 += 1) {
3197
- var key = list$1[i$1];
3198
-
3199
- colorbrewer[key.toLowerCase()] = colorbrewer[key];
3200
- }
3201
-
3202
- var colorbrewer_1 = colorbrewer;
3203
-
3204
- // feel free to comment out anything to rollup
3205
- // a smaller chroma.js built
3206
-
3207
- // io --> convert colors
3208
-
3209
-
3210
-
3211
-
3212
-
3213
-
3214
-
3215
-
3216
-
3217
-
3218
-
3219
-
3220
-
3221
-
3222
-
3223
- // operators --> modify existing Colors
3224
-
3225
-
3226
-
3227
-
3228
-
3229
-
3230
-
3231
-
3232
-
3233
-
3234
- // interpolators
3235
-
3236
-
3237
-
3238
-
3239
-
3240
-
3241
-
3242
-
3243
-
3244
-
3245
- // generators -- > create new colors
3246
- chroma_1.average = average;
3247
- chroma_1.bezier = bezier_1;
3248
- chroma_1.blend = blend_1;
3249
- chroma_1.cubehelix = cubehelix;
3250
- chroma_1.mix = chroma_1.interpolate = mix;
3251
- chroma_1.random = random_1;
3252
- chroma_1.scale = scale;
3253
-
3254
- // other utility methods
3255
- chroma_1.analyze = analyze_1.analyze;
3256
- chroma_1.contrast = contrast;
3257
- chroma_1.deltaE = deltaE;
3258
- chroma_1.distance = distance;
3259
- chroma_1.limits = analyze_1.limits;
3260
- chroma_1.valid = valid;
3261
-
3262
- // scale
3263
- chroma_1.scales = scales;
3264
-
3265
- // colors
3266
- chroma_1.colors = w3cx11_1;
3267
- chroma_1.brewer = colorbrewer_1;
3268
-
3269
- var chroma_js = chroma_1;
3270
-
3271
- return chroma_js;
3272
-
3273
- })));
3274
- });
3275
-
51
+ function t(t,n,r){return Math.min(Math.max(t,r),n)}class n extends Error{constructor(t){super(`Failed to parse color: "${t}"`);}}function r(r){if("string"!=typeof r)throw new n(r);if("transparent"===r.trim().toLowerCase())return [0,0,0,0];let e=r.trim();e=u.test(r)?function(t){const r=t.toLowerCase().trim(),e=o[function(t){let n=5381,r=t.length;for(;r;)n=33*n^t.charCodeAt(--r);return (n>>>0)%2341}(r)];if(!e)throw new n(t);return `#${e}`}(r):r;const f=s.exec(e);if(f){const t=Array.from(f).slice(1);return [...t.slice(0,3).map(t=>parseInt(_(t,2),16)),parseInt(_(t[3]||"f",2),16)/255]}const p=i.exec(e);if(p){const t=Array.from(p).slice(1);return [...t.slice(0,3).map(t=>parseInt(t,16)),parseInt(t[3]||"ff",16)/255]}const z=a.exec(e);if(z){const t=Array.from(z).slice(1);return [...t.slice(0,3).map(t=>parseInt(t,10)),parseFloat(t[3]||"1")]}const h=c.exec(e);if(h){const[e,o,_,s]=Array.from(h).slice(1).map(parseFloat);if(t(0,100,o)!==o)throw new n(r);if(t(0,100,_)!==_)throw new n(r);return [...l(e,o,_),s||1]}throw new n(r)}const e=t=>parseInt(t.replace(/_/g,""),36),o="1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((t,n)=>{const r=e(n.substring(0,3)),o=e(n.substring(3)).toString(16);let _="";for(let t=0;t<6-o.length;t++)_+="0";return t[r]=`${_}${o}`,t},{}),_=(t,n)=>Array.from(Array(n)).map(()=>t).join(""),s=new RegExp(`^#${_("([a-f0-9])",3)}([a-f0-9])?$`,"i"),i=new RegExp(`^#${_("([a-f0-9]{2})",3)}([a-f0-9]{2})?$`,"i"),a=new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${_(",\\s*(\\d+)\\s*",2)}(?:,\\s*([\\d.]+))?\\s*\\)$`,"i"),c=/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i,u=/^[a-z]+$/i,f=t=>Math.round(255*t),l=(t,n,r)=>{let e=r/100;if(0===n)return [e,e,e].map(f);const o=(t%360+360)%360/60,_=(1-Math.abs(2*e-1))*(n/100),s=_*(1-Math.abs(o%2-1));let i=0,a=0,c=0;o>=0&&o<1?(i=_,a=s):o>=1&&o<2?(i=s,a=_):o>=2&&o<3?(a=_,c=s):o>=3&&o<4?(a=s,c=_):o>=4&&o<5?(i=s,c=_):o>=5&&o<6&&(i=_,c=s);const u=e-_/2;return [i+u,a+u,c+u].map(f)};function p(t){const[n,e,o,_]=r(t).map((t,n)=>3===n?t:t/255),s=Math.max(n,e,o),i=Math.min(n,e,o),a=(s+i)/2;if(s===i)return [0,0,a,_];const c=s-i;return [60*(n===s?(e-o)/c+(e<o?6:0):e===s?(o-n)/c+2:(n-e)/c+4),a>.5?c/(2-s-i):c/(s+i),a,_]}function z(n,r,e,o){return `hsla(${(n%360).toFixed()}, ${t(0,100,100*r).toFixed()}%, ${t(0,100,100*e).toFixed()}%, ${parseFloat(t(0,1,o).toFixed(3))})`}
52
+
53
+ const colorScale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
54
+ const lScale = [
55
+ 0.95,
56
+ 0.84,
57
+ 0.73,
58
+ 0.62,
59
+ 0.49,
60
+ 0.35,
61
+ 0.23,
62
+ 0.15,
63
+ 0.1,
64
+ 0.05,
65
+ 0.02
66
+ ];
67
+ // https://github.com/ricokahler/color2k/blob/main/src/parseToRgba.ts
68
+ const hslaRegex = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i;
69
+ function niceParseToHsla(color) {
70
+ const normalizedColor = color.trim();
71
+ const hslaMatch = hslaRegex.exec(normalizedColor);
72
+ if (hslaMatch) {
73
+ const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);
74
+ if (t(0, 100, s) !== s)
75
+ throw new n(color);
76
+ if (t(0, 100, l) !== l)
77
+ throw new n(color);
78
+ return [h, s, l, a || 1];
79
+ }
80
+ // Warning -- converts to RGB first, so is lossy
81
+ return p(color);
82
+ }
83
+ function generateScale(color, name = "primary") {
84
+ const [h, s, l, a] = niceParseToHsla(color);
85
+ return lScale
86
+ .map((l) => z(h, s, l, a))
87
+ .map((color, index) => {
88
+ return `--sl-color-${name}-${colorScale[index]}: ${color};\n`;
89
+ });
90
+ }
3276
91
  /**
3277
92
  * Generated a Shoelace color scale css string from a base color
3278
93
  *
@@ -3281,33 +96,7 @@ var chroma = _extends.createCommonjsModule(function (module, exports) {
3281
96
  * @returns
3282
97
  */
3283
98
  function autoColorScaleCss(color, name = "primary") {
3284
- if (!chroma.valid(color)) {
3285
- return "";
3286
- }
3287
- const { scale, colorScale } = makeColorScale(color);
3288
- return scale
3289
- .map((color, index) => `--sl-color-${name}-${colorScale[index]}: ${chroma(color).hex()};`)
3290
- .join("\n");
3291
- }
3292
- function makeColorScale(color) {
3293
- const colorScale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
3294
- const hex = chroma(color).hex();
3295
- const scale = chroma
3296
- .scale([
3297
- chroma(hex).luminance(0.95),
3298
- chroma(hex).luminance(0.84),
3299
- chroma(hex).luminance(0.73),
3300
- chroma(hex).luminance(0.62),
3301
- chroma(hex).luminance(0.49),
3302
- chroma(hex).luminance(0.35),
3303
- chroma(hex).luminance(0.23),
3304
- chroma(hex).luminance(0.15),
3305
- chroma(hex).luminance(0.1),
3306
- chroma(hex).luminance(0.05),
3307
- chroma(hex).luminance(0.02),
3308
- ])
3309
- .colors(colorScale.length);
3310
- return { scale, colorScale };
99
+ return generateScale(color, name).join("\n");
3311
100
  }
3312
101
 
3313
102
  const BrandComponent = class {
@@ -18650,6 +15439,7 @@ function RewardExchangeView(props) {
18650
15439
  defaultMessage: (_b = (_a = states.content) === null || _a === void 0 ? void 0 : _a.text) === null || _b === void 0 ? void 0 : _b.notAvailableError,
18651
15440
  }, {
18652
15441
  unavailableReason: step.unavailableReasonCode,
15442
+ sourceUnit: item.sourceUnit,
18653
15443
  sourceValue: step.prettySourceValue || item.prettySourceMinValue,
18654
15444
  }))))));
18655
15445
  })));
@@ -18712,6 +15502,7 @@ function RewardExchangeView(props) {
18712
15502
  }, {
18713
15503
  unavailableReason: item.unavailableReason ||
18714
15504
  item.unavailableReasonCode,
15505
+ sourceUnit: item.sourceUnit,
18715
15506
  sourceValue: item.prettySourceValue ||
18716
15507
  item.prettySourceMinValue,
18717
15508
  }))))))));
@@ -19056,9 +15847,40 @@ const GET_REWARDS = sqmLeaderboardRankView.gql `
19056
15847
  fuelTankType
19057
15848
  currency
19058
15849
  prettyValue
15850
+ prettyValueNumber: prettyValue(formatType: NUMBER_FORMATTED)
15851
+ prettyAvailableNumber: prettyAvailableValue(
15852
+ formatType: NUMBER_FORMATTED
15853
+ )
15854
+ prettyRedeemedNumber: prettyRedeemedCredit(
15855
+ formatType: NUMBER_FORMATTED
15856
+ )
19059
15857
  statuses
19060
15858
  globalRewardKey
19061
15859
  programRewardKey
15860
+ rewardSource
15861
+ prettyRedeemedCredit
15862
+ prettyAssignedCredit
15863
+ prettyAvailableValue
15864
+ exchangedRewardRedemptionTransaction {
15865
+ id
15866
+ creditRedeemed
15867
+ prettyRedeemedCredit
15868
+ unit
15869
+ dateRedeemed
15870
+ }
15871
+ referral {
15872
+ id
15873
+ referrerUser {
15874
+ id
15875
+ firstName
15876
+ lastName
15877
+ }
15878
+ referredUser {
15879
+ id
15880
+ firstName
15881
+ lastName
15882
+ }
15883
+ }
19062
15884
  rewardRedemptionTransactions {
19063
15885
  data {
19064
15886
  exchangedRewards {
@@ -19190,12 +16012,7 @@ async function tryMethod$1(c, callback) {
19190
16012
  catch (e) {
19191
16013
  // renderLabel did not return a promise, so this method probably doesn't exist
19192
16014
  // therefore, we IGNORE the label
19193
- if (callback.name === "renderReferrerCell") {
19194
- console.error("column does not have a renderReferrerCell method.");
19195
- }
19196
- else {
19197
- console.error("label promise failed", e);
19198
- }
16015
+ console.error("label promise failed", e);
19199
16016
  return index.h("span", null);
19200
16017
  }
19201
16018
  try {
@@ -19267,6 +16084,57 @@ function useRewardsTableDemo(props) {
19267
16084
  }, props.demoData || {}, { arrayMerge: (_, a) => a });
19268
16085
  }
19269
16086
 
16087
+ const RewardTableDateCell = class {
16088
+ constructor(hostRef) {
16089
+ index.registerInstance(this, hostRef);
16090
+ this.ignored = true;
16091
+ _extends.h$1(this);
16092
+ }
16093
+ disconnectedCallback() { }
16094
+ render() {
16095
+ var _a;
16096
+ // needs hook to use locale
16097
+ const date = !this.date
16098
+ ? "-"
16099
+ : (_a = luxon.DateTime.fromMillis(this.date)) === null || _a === void 0 ? void 0 : _a.toLocaleString(luxon.DateTime.DATE_MED);
16100
+ return index.h(sqmTextSpanView.TextSpanView, { type: "p" }, date);
16101
+ }
16102
+ };
16103
+
16104
+ const RewardTableDateColumn = class {
16105
+ constructor(hostRef) {
16106
+ index.registerInstance(this, hostRef);
16107
+ /**
16108
+ * @uiName Date Column Title
16109
+ */
16110
+ this.columnTitle = "Date received";
16111
+ /**
16112
+ * @uiName Date Displayed
16113
+ * @uiType string
16114
+ * @uiEnum ["dateGiven",
16115
+ * "dateExpires",
16116
+ * "dateCancelled",
16117
+ * "dateRedeemed",
16118
+ * "dateScheduledFor"]
16119
+ */
16120
+ this.dateShown = "dateGiven";
16121
+ _extends.h$1(this);
16122
+ }
16123
+ disconnectedCallback() { }
16124
+ async renderCell(data) {
16125
+ const reward = data === null || data === void 0 ? void 0 : data[0];
16126
+ // TODO - Validate `dateShown` against a set of known values
16127
+ return (index.h("sqm-rewards-table-date-cell", { date: reward[this.dateShown] }));
16128
+ }
16129
+ async renderLabel() {
16130
+ return this.columnTitle;
16131
+ }
16132
+ render() {
16133
+ reRender.useRequestRerender([this.dateShown, this.columnTitle]);
16134
+ return index.h(index.Host, { style: { display: "none" } });
16135
+ }
16136
+ };
16137
+
19270
16138
  const RewardsTableColumn = class {
19271
16139
  constructor(hostRef) {
19272
16140
  index.registerInstance(this, hostRef);
@@ -19284,8 +16152,270 @@ const RewardsTableColumn = class {
19284
16152
  //@ts-ignore
19285
16153
  async renderCell(data) {
19286
16154
  // TODO: Do the right thing with many rewards, pending rewards, canceled rewards
19287
- console.log({ data });
19288
- return (index.h("sqm-referral-table-rewards-cell", { rewards: data, hideDetails: this.hideDetails }));
16155
+ return (index.h("sqm-rewards-table-rewards-cell", { reward: data === null || data === void 0 ? void 0 : data[0], hideDetails: this.hideDetails }));
16156
+ }
16157
+ async renderLabel() {
16158
+ return this.columnTitle;
16159
+ }
16160
+ render() {
16161
+ reRender.useRequestRerender([this.columnTitle]);
16162
+ return index.h(index.Host, { style: { display: "none" } });
16163
+ }
16164
+ };
16165
+
16166
+ const RewardTableRewardsCell = class {
16167
+ constructor(hostRef) {
16168
+ index.registerInstance(this, hostRef);
16169
+ }
16170
+ // TODO: value function from portalv2
16171
+ render() {
16172
+ const style = {
16173
+ DetailsContainer: {
16174
+ width: "100%",
16175
+ display: "flex",
16176
+ "align-items": "center",
16177
+ "justify-content": "space-between",
16178
+ "margin-right": "var(--sl-spacing-small)",
16179
+ "flex-wrap": "wrap",
16180
+ },
16181
+ Details: {
16182
+ "padding-bottom": "var(--sl-spacing-small)",
16183
+ "max-width": "500px",
16184
+ "padding-right": "var(--sl-spacing-x-small)",
16185
+ "&::part(header)": {
16186
+ padding: "var(--sl-spacing-x-small)",
16187
+ cursor: `${this.hideDetails ? "default" : "pointer"}`,
16188
+ },
16189
+ "&::part(content)": {
16190
+ padding: "var(--sl-spacing-x-small) var(--sl-spacing-medium)",
16191
+ },
16192
+ "&::part(base)": {
16193
+ opacity: "1",
16194
+ },
16195
+ "&::part(summary-icon)": {
16196
+ display: `${this.hideDetails ? "none" : "flex"}`,
16197
+ },
16198
+ },
16199
+ BadgeContainer: {
16200
+ "& > :not(:last-child)": {
16201
+ "margin-right": "var(--sl-spacing-x-small)",
16202
+ },
16203
+ },
16204
+ BoldText: {
16205
+ "font-weight": "var(--sl-font-weight-semibold)",
16206
+ },
16207
+ StatusBadge: {
16208
+ paddingLeft: "var(--sl-spacing-xxx-small)",
16209
+ },
16210
+ };
16211
+ jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
16212
+ const sheet = jssPresetDefault_esm.jss.createStyleSheet(style);
16213
+ const styleString = sheet.toString();
16214
+ function RewardValue({ reward }) {
16215
+ var _a;
16216
+ const pimpedPrettyValue = reward.unit === "CENTS"
16217
+ ? reward.prettyValue.replace(/USD/gi, "$")
16218
+ : (_a = reward.prettyValue) !== null && _a !== void 0 ? _a : "-";
16219
+ if (reward.type === "CREDIT") {
16220
+ const progress = Math.round(((parseFloat(reward.prettyValueNumber) -
16221
+ parseFloat(reward.prettyRedeemedNumber)) /
16222
+ parseFloat(reward.prettyValueNumber)) *
16223
+ 100);
16224
+ const progressBarSubtext = reward.statuses.includes("EXPIRED") ||
16225
+ reward.statuses.includes("CANCELLED") ? (index.h("div", null, reward.prettyRedeemedCredit, " redeemed")) : (index.h("div", null, reward.prettyAvailableValue, " available"));
16226
+ const style = {
16227
+ Progress: {
16228
+ background: "#e0e0e0",
16229
+ borderRadius: "4px",
16230
+ height: "3px",
16231
+ width: "80px",
16232
+ marginTop: "6px",
16233
+ marginBottom: "6px",
16234
+ "&:after": {
16235
+ content: '""',
16236
+ display: "block",
16237
+ background: "#222222",
16238
+ borderRadius: "4px",
16239
+ width: `${progress}%`,
16240
+ height: "100%",
16241
+ },
16242
+ },
16243
+ Ellipsis: {
16244
+ position: "relative",
16245
+ margin: "-8px",
16246
+ bottom: "1px",
16247
+ left: "8px",
16248
+ },
16249
+ };
16250
+ jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
16251
+ const sheet = jssPresetDefault_esm.jss.createStyleSheet(style);
16252
+ const styleString = sheet.toString();
16253
+ return (index.h("div", null, index.h("style", { type: "text/css" }, styleString), index.h("div", { style: {
16254
+ display: "inline-block",
16255
+ verticalAlign: "top",
16256
+ maxWidth: "100%",
16257
+ // maxHeight: "35px",
16258
+ maxHeight: "60px",
16259
+ whiteSpace: "nowrap",
16260
+ overflow: "hidden",
16261
+ textOverflow: "ellipsis",
16262
+ } }, index.h("span", { style: { color: "#232323" } }, pimpedPrettyValue), " ", index.h("br", null), " ", index.h("div", { class: sheet.classes.Progress }), progressBarSubtext)));
16263
+ }
16264
+ return index.h("span", { style: { color: "#232323" } }, pimpedPrettyValue);
16265
+ }
16266
+ return (index.h("div", { style: { display: "contents" } }, index.h("style", { type: "text/css" }, styleString), index.h("div", { slot: "summary", class: sheet.classes.DetailsContainer }, index.h(sqmTextSpanView.TextSpanView, { type: "p" }, index.h("span", { class: sheet.classes.BoldText }, index.h(RewardValue, { reward: this.reward }))))));
16267
+ }
16268
+ };
16269
+
16270
+ const RewardTableSourceCell = class {
16271
+ constructor(hostRef) {
16272
+ index.registerInstance(this, hostRef);
16273
+ }
16274
+ render() {
16275
+ function capitalize(str) {
16276
+ if (typeof str !== "string") {
16277
+ console.error(`Cannot capitalize parameter of type ${typeof str}`);
16278
+ return null;
16279
+ }
16280
+ return str.toLowerCase().replace(/\b\w/g, (l) => l.toUpperCase());
16281
+ }
16282
+ function RewardSource({ reward }) {
16283
+ var _a, _b;
16284
+ const rewardSource = (_b = capitalize(((_a = reward.rewardSource) === null || _a === void 0 ? void 0 : _a.replace("_", " ")) || "")) !== null && _b !== void 0 ? _b : "-";
16285
+ return index.h("span", null, rewardSource);
16286
+ }
16287
+ const SOURCE_COLUMN_LENGTH = 21;
16288
+ function RewardExchangeBadge({ reward }) {
16289
+ var _a;
16290
+ const rewardExchange = (index.h("div", null, "Reward Exchange", index.h("br", null), (_a = reward.exchangedRewardRedemptionTransaction) === null || _a === void 0 ? void 0 :
16291
+ _a.prettyRedeemedCredit, " → ", reward.prettyValue));
16292
+ return reward.exchangedRewardRedemptionTransaction.prettyRedeemedCredit
16293
+ .length +
16294
+ reward.prettyValue.length <
16295
+ SOURCE_COLUMN_LENGTH ? (rewardExchange) : (index.h("div", { style: {
16296
+ display: "inline-block",
16297
+ verticalAlign: "top",
16298
+ maxWidth: "120px",
16299
+ whiteSpace: "nowrap",
16300
+ overflow: "hidden",
16301
+ textOverflow: "ellipsis",
16302
+ } }, rewardExchange));
16303
+ }
16304
+ // TODO: user type
16305
+ function getFullName(user) {
16306
+ if (!user)
16307
+ return "Deleted User";
16308
+ if (!user.firstName && !user.lastName)
16309
+ return "Anonymous User";
16310
+ if (!user.firstName)
16311
+ return `${user.lastName}`;
16312
+ if (!user.lastName)
16313
+ return `${user.firstName}`;
16314
+ return `${user.firstName} ${user.lastName}`;
16315
+ }
16316
+ const source = () => this.reward.rewardSource === "FRIEND_SIGNUP" ||
16317
+ this.reward.rewardSource === "REFERRED" ? (index.h("div", null, this.reward.rewardSource === "FRIEND_SIGNUP" && "Referral to", this.reward.rewardSource === "REFERRED" && "Referred by", index.h("br", null), index.h("b", null, getFullName(this.reward.referral.referredUser)))) : this.reward.exchangedRewardRedemptionTransaction ? (index.h(RewardExchangeBadge, { reward: this.reward })) : (index.h(RewardSource, { reward: this.reward }));
16318
+ return index.h(sqmTextSpanView.TextSpanView, { type: "p" }, source());
16319
+ }
16320
+ };
16321
+
16322
+ const RewardTableUserColumn = class {
16323
+ constructor(hostRef) {
16324
+ index.registerInstance(this, hostRef);
16325
+ /**
16326
+ * @uiName User Column Title
16327
+ */
16328
+ this.columnTitle = "Source";
16329
+ /**
16330
+ * @uiName Name displayed for anonymous users
16331
+ */
16332
+ this.anonymousUser = "Anonymous User";
16333
+ /**
16334
+ * @uiName Name displayed for deleted users
16335
+ */
16336
+ this.deletedUser = "Deleted User";
16337
+ _extends.h$1(this);
16338
+ }
16339
+ disconnectedCallback() { }
16340
+ async renderCell(data) {
16341
+ return (index.h("sqm-rewards-table-source-cell", { reward: data === null || data === void 0 ? void 0 : data[0] }));
16342
+ }
16343
+ async renderLabel() {
16344
+ return this.columnTitle;
16345
+ }
16346
+ render() {
16347
+ reRender.useRequestRerender([
16348
+ this.deletedUser,
16349
+ this.anonymousUser,
16350
+ this.columnTitle,
16351
+ ]);
16352
+ return index.h(index.Host, { style: { display: "none" } });
16353
+ }
16354
+ };
16355
+
16356
+ const RewardTableStatusCell = class {
16357
+ constructor(hostRef) {
16358
+ index.registerInstance(this, hostRef);
16359
+ }
16360
+ rewardStatus(reward) {
16361
+ if (reward.dateCancelled)
16362
+ return "CANCELLED";
16363
+ if (reward.statuses && reward.statuses.includes("EXPIRED"))
16364
+ return "EXPIRED";
16365
+ if (reward.statuses && reward.statuses.includes("PENDING"))
16366
+ return "PENDING";
16367
+ if (reward.type === "CREDIT") {
16368
+ if (reward.statuses.includes("REDEEMED"))
16369
+ return "REDEEMED";
16370
+ return "AVAILABLE";
16371
+ }
16372
+ if (reward.type === "PCT_DISCOUNT") {
16373
+ if (reward.statuses.includes("AVAILABLE"))
16374
+ return "AVAILABLE";
16375
+ }
16376
+ if (reward.type === "INTEGRATION" || reward.type === "FUELTANK") {
16377
+ if (reward.statuses && reward.statuses.includes("PENDING"))
16378
+ return "PENDING";
16379
+ if (reward.statuses && reward.statuses.includes("CANCELLED"))
16380
+ return "CANCELLED";
16381
+ if (reward.statuses.includes("AVAILABLE"))
16382
+ return "AVAILABLE";
16383
+ }
16384
+ return "";
16385
+ }
16386
+ render() {
16387
+ const rewardStatus = this.rewardStatus(this.reward);
16388
+ const statusText = global.intl.formatMessage({ id: "statusMessage", defaultMessage: this.statusText }, {
16389
+ status: rewardStatus,
16390
+ });
16391
+ const badgeType = rewardStatus === "AVAILABLE"
16392
+ ? "success"
16393
+ : rewardStatus === "REDEEMED"
16394
+ ? "primary"
16395
+ : rewardStatus === "PENDING"
16396
+ ? "warning"
16397
+ : "error";
16398
+ return (index.h("sl-badge", { type: badgeType, pill: true }, statusText));
16399
+ }
16400
+ };
16401
+
16402
+ const RewardTableStatusColumn = class {
16403
+ constructor(hostRef) {
16404
+ index.registerInstance(this, hostRef);
16405
+ /**
16406
+ * @uiName Column Title
16407
+ */
16408
+ this.columnTitle = "Status";
16409
+ /**
16410
+ * @uiName Expired Status Text
16411
+ */
16412
+ this.statusText = "{status, select, AVAILABLE {Available} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }";
16413
+ _extends.h$1(this);
16414
+ }
16415
+ disconnectedCallback() { }
16416
+ async renderCell(data) {
16417
+ const rewardData = data === null || data === void 0 ? void 0 : data[0];
16418
+ return (index.h("sqm-rewards-table-status-cell", { statusText: this.statusText, reward: rewardData }));
19289
16419
  }
19290
16420
  async renderLabel() {
19291
16421
  return this.columnTitle;
@@ -20347,7 +17477,7 @@ var StyleSheet = /*#__PURE__*/function () {
20347
17477
  return StyleSheet;
20348
17478
  }();
20349
17479
 
20350
- var e="-ms-";var r="-moz-";var a="-webkit-";var c="comm";var n="rule";var t="decl";var i="@import";var p="@keyframes";var k=Math.abs;var d=String.fromCharCode;function m(e,r){return (((r<<2^z(e,0))<<2^z(e,1))<<2^z(e,2))<<2^z(e,3)}function g(e){return e.trim()}function x(e,r){return (e=r.exec(e))?e[0]:e}function y(e,r,a){return e.replace(r,a)}function j(e,r){return e.indexOf(r)}function z(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function A(e){return e.length}function M(e){return e.length}function O(e,r){return r.push(e),e}function S(e,r){return e.map(r).join("")}var q=1;var B=1;var D=0;var E=0;var F=0;var G="";function H(e,r,a,c,n,t,s){return {value:e,root:r,parent:a,type:c,props:n,children:t,line:q,column:B,length:s,return:""}}function I(e,r,a){return H(e,r.root,r.parent,a,r.props,r.children,0)}function J(){return F}function K(){F=E>0?z(G,--E):0;if(B--,F===10)B=1,q--;return F}function L(){F=E<D?z(G,E++):0;if(B++,F===10)B=1,q++;return F}function N(){return z(G,E)}function P(){return E}function Q(e,r){return C(G,e,r)}function R(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function T(e){return q=B=1,D=A(G=e),E=0,[]}function U(e){return G="",e}function V(e){return g(Q(E-1,_(e===91?e+2:e===40?e+1:e)))}function X(e){while(F=N())if(F<33)L();else break;return R(e)>2||R(F)>3?"":" "}function Z(e,r){while(--r&&L())if(F<48||F>102||F>57&&F<65||F>70&&F<97)break;return Q(e,P()+(r<6&&N()==32&&L()==32))}function _(e){while(L())switch(F){case e:return E;case 34:case 39:return _(e===34||e===39?e:F);case 40:if(e===41)_(e);break;case 92:L();break}return E}function ee(e,r){while(L())if(e+F===47+10)break;else if(e+F===42+42&&N()===47)break;return "/*"+Q(r,E-1)+"*"+d(e===47?e:L())}function re(e){while(!R(N()))L();return Q(e,E)}function ae(e){return U(ce("",null,null,null,[""],e=T(e),0,[0],e))}function ce(e,r,a,c,n,t,s,u,i){var f=0;var o=0;var l=s;var v=0;var h=0;var p=0;var b=1;var w=1;var $=1;var k=0;var m="";var g=n;var x=t;var j=c;var z=m;while(w)switch(p=k,k=L()){case 34:case 39:case 91:case 40:z+=V(k);break;case 9:case 10:case 13:case 32:z+=X(p);break;case 92:z+=Z(P()-1,7);continue;case 47:switch(N()){case 42:case 47:O(te(ee(L(),P()),r,a),i);break;default:z+="/";}break;case 123*b:u[f++]=A(z)*$;case 125*b:case 59:case 0:switch(k){case 0:case 125:w=0;case 59+o:if(h>0&&A(z)-l)O(h>32?se(z+";",c,a,l-1):se(y(z," ","")+";",c,a,l-2),i);break;case 59:z+=";";default:O(j=ne(z,r,a,f,o,n,u,m,g=[],x=[],l),t);if(k===123)if(o===0)ce(z,r,j,j,g,t,l,u,x);else switch(v){case 100:case 109:case 115:ce(e,j,j,c&&O(ne(e,j,j,0,0,n,u,m,n,g=[],l),x),n,x,l,u,c?g:x);break;default:ce(z,j,j,j,[""],x,l,u,x);}}f=o=h=0,b=$=1,m=z="",l=s;break;case 58:l=1+A(z),h=p;default:if(b<1)if(k==123)--b;else if(k==125&&b++==0&&K()==125)continue;switch(z+=d(k),k*b){case 38:$=o>0?1:(z+="\f",-1);break;case 44:u[f++]=(A(z)-1)*$,$=1;break;case 64:if(N()===45)z+=V(L());v=N(),o=A(m=z+=re(P())),k++;break;case 45:if(p===45&&A(z)==2)b=0;}}return t}function ne(e,r,a,c,t,s,u,i,f,o,l){var v=t-1;var h=t===0?s:[""];var p=M(h);for(var b=0,w=0,$=0;b<c;++b)for(var d=0,m=C(e,v+1,v=k(w=u[b])),x=e;d<p;++d)if(x=g(w>0?h[d]+" "+m:y(m,/&\f/g,h[d])))f[$++]=x;return H(e,r,a,t===0?n:i,f,o,l)}function te(e,r,a){return H(e,r,a,c,d(J()),C(e,2,-2),0)}function se(e,r,a,c){return H(e,r,a,t,C(e,0,c),C(e,c+1,-1),c)}function ue(c,n){switch(m(c,n)){case 5103:return a+"print-"+c+c;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return a+c+c;case 5349:case 4246:case 4810:case 6968:case 2756:return a+c+r+c+e+c+c;case 6828:case 4268:return a+c+e+c+c;case 6165:return a+c+e+"flex-"+c+c;case 5187:return a+c+y(c,/(\w+).+(:[^]+)/,a+"box-$1$2"+e+"flex-$1$2")+c;case 5443:return a+c+e+"flex-item-"+y(c,/flex-|-self/,"")+c;case 4675:return a+c+e+"flex-line-pack"+y(c,/align-content|flex-|-self/,"")+c;case 5548:return a+c+e+y(c,"shrink","negative")+c;case 5292:return a+c+e+y(c,"basis","preferred-size")+c;case 6060:return a+"box-"+y(c,"-grow","")+a+c+e+y(c,"grow","positive")+c;case 4554:return a+y(c,/([^-])(transform)/g,"$1"+a+"$2")+c;case 6187:return y(y(y(c,/(zoom-|grab)/,a+"$1"),/(image-set)/,a+"$1"),c,"")+c;case 5495:case 3959:return y(c,/(image-set\([^]*)/,a+"$1"+"$`$1");case 4968:return y(y(c,/(.+:)(flex-)?(.*)/,a+"box-pack:$3"+e+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+a+c+c;case 4095:case 3583:case 4068:case 2532:return y(c,/(.+)-inline(.+)/,a+"$1$2")+c;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(A(c)-1-n>6)switch(z(c,n+1)){case 109:if(z(c,n+4)!==45)break;case 102:return y(c,/(.+:)(.+)-([^]+)/,"$1"+a+"$2-$3"+"$1"+r+(z(c,n+3)==108?"$3":"$2-$3"))+c;case 115:return ~j(c,"stretch")?ue(y(c,"stretch","fill-available"),n)+c:c}break;case 4949:if(z(c,n+1)!==115)break;case 6444:switch(z(c,A(c)-3-(~j(c,"!important")&&10))){case 107:return y(c,":",":"+a)+c;case 101:return y(c,/(.+:)([^;!]+)(;|!.+)?/,"$1"+a+(z(c,14)===45?"inline-":"")+"box$3"+"$1"+a+"$2$3"+"$1"+e+"$2box$3")+c}break;case 5936:switch(z(c,n+11)){case 114:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"tb")+c;case 108:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"tb-rl")+c;case 45:return a+c+e+y(c,/[svh]\w+-[tblr]{2}/,"lr")+c}return a+c+e+c+c}return c}function ie(e,r){var a="";var c=M(e);for(var n=0;n<c;n++)a+=r(e[n],n,e,r)||"";return a}function fe(e,r,a,s){switch(e.type){case i:case t:return e.return=e.return||e.value;case c:return "";case n:e.value=e.props.join(",");}return A(a=ie(e.children,s))?e.return=e.value+"{"+a+"}":""}function oe(e){var r=M(e);return function(a,c,n,t){var s="";for(var u=0;u<r;u++)s+=e[u](a,c,n,t)||"";return s}}function le(e){return function(r){if(!r.root)if(r=r.return)e(r);}}function ve(c,s,u,i){if(!c.return)switch(c.type){case t:c.return=ue(c.value,c.length);break;case p:return ie([I(y(c.value,"@","@"+a),c,"")],i);case n:if(c.length)return S(c.props,(function(n){switch(x(n,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ie([I(y(n,/:(read-\w+)/,":"+r+"$1"),c,"")],i);case"::placeholder":return ie([I(y(n,/:(plac\w+)/,":"+a+"input-$1"),c,""),I(y(n,/:(plac\w+)/,":"+r+"$1"),c,""),I(y(n,/:(plac\w+)/,e+"input-$1"),c,"")],i)}return ""}))}}
17480
+ var e$1="-ms-";var r$1="-moz-";var a$1="-webkit-";var c$1="comm";var n$1="rule";var t$1="decl";var i$1="@import";var p$1="@keyframes";var k=Math.abs;var d=String.fromCharCode;function m(e,r){return (((r<<2^z$1(e,0))<<2^z$1(e,1))<<2^z$1(e,2))<<2^z$1(e,3)}function g(e){return e.trim()}function x(e,r){return (e=r.exec(e))?e[0]:e}function y(e,r,a){return e.replace(r,a)}function j(e,r){return e.indexOf(r)}function z$1(e,r){return e.charCodeAt(r)|0}function C(e,r,a){return e.slice(r,a)}function A(e){return e.length}function M(e){return e.length}function O(e,r){return r.push(e),e}function S(e,r){return e.map(r).join("")}var q=1;var B=1;var D=0;var E=0;var F=0;var G="";function H(e,r,a,c,n,t,s){return {value:e,root:r,parent:a,type:c,props:n,children:t,line:q,column:B,length:s,return:""}}function I(e,r,a){return H(e,r.root,r.parent,a,r.props,r.children,0)}function J(){return F}function K(){F=E>0?z$1(G,--E):0;if(B--,F===10)B=1,q--;return F}function L(){F=E<D?z$1(G,E++):0;if(B++,F===10)B=1,q++;return F}function N(){return z$1(G,E)}function P(){return E}function Q(e,r){return C(G,e,r)}function R(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function T(e){return q=B=1,D=A(G=e),E=0,[]}function U(e){return G="",e}function V(e){return g(Q(E-1,_$1(e===91?e+2:e===40?e+1:e)))}function X(e){while(F=N())if(F<33)L();else break;return R(e)>2||R(F)>3?"":" "}function Z(e,r){while(--r&&L())if(F<48||F>102||F>57&&F<65||F>70&&F<97)break;return Q(e,P()+(r<6&&N()==32&&L()==32))}function _$1(e){while(L())switch(F){case e:return E;case 34:case 39:return _$1(e===34||e===39?e:F);case 40:if(e===41)_$1(e);break;case 92:L();break}return E}function ee(e,r){while(L())if(e+F===47+10)break;else if(e+F===42+42&&N()===47)break;return "/*"+Q(r,E-1)+"*"+d(e===47?e:L())}function re(e){while(!R(N()))L();return Q(e,E)}function ae(e){return U(ce("",null,null,null,[""],e=T(e),0,[0],e))}function ce(e,r,a,c,n,t,s,u,i){var f=0;var o=0;var l=s;var v=0;var h=0;var p=0;var b=1;var w=1;var $=1;var k=0;var m="";var g=n;var x=t;var j=c;var z=m;while(w)switch(p=k,k=L()){case 34:case 39:case 91:case 40:z+=V(k);break;case 9:case 10:case 13:case 32:z+=X(p);break;case 92:z+=Z(P()-1,7);continue;case 47:switch(N()){case 42:case 47:O(te(ee(L(),P()),r,a),i);break;default:z+="/";}break;case 123*b:u[f++]=A(z)*$;case 125*b:case 59:case 0:switch(k){case 0:case 125:w=0;case 59+o:if(h>0&&A(z)-l)O(h>32?se(z+";",c,a,l-1):se(y(z," ","")+";",c,a,l-2),i);break;case 59:z+=";";default:O(j=ne(z,r,a,f,o,n,u,m,g=[],x=[],l),t);if(k===123)if(o===0)ce(z,r,j,j,g,t,l,u,x);else switch(v){case 100:case 109:case 115:ce(e,j,j,c&&O(ne(e,j,j,0,0,n,u,m,n,g=[],l),x),n,x,l,u,c?g:x);break;default:ce(z,j,j,j,[""],x,l,u,x);}}f=o=h=0,b=$=1,m=z="",l=s;break;case 58:l=1+A(z),h=p;default:if(b<1)if(k==123)--b;else if(k==125&&b++==0&&K()==125)continue;switch(z+=d(k),k*b){case 38:$=o>0?1:(z+="\f",-1);break;case 44:u[f++]=(A(z)-1)*$,$=1;break;case 64:if(N()===45)z+=V(L());v=N(),o=A(m=z+=re(P())),k++;break;case 45:if(p===45&&A(z)==2)b=0;}}return t}function ne(e,r,a,c,t,s,u,i,f,o,l){var v=t-1;var h=t===0?s:[""];var p=M(h);for(var b=0,w=0,$=0;b<c;++b)for(var d=0,m=C(e,v+1,v=k(w=u[b])),x=e;d<p;++d)if(x=g(w>0?h[d]+" "+m:y(m,/&\f/g,h[d])))f[$++]=x;return H(e,r,a,t===0?n$1:i,f,o,l)}function te(e,r,a){return H(e,r,a,c$1,d(J()),C(e,2,-2),0)}function se(e,r,a,c){return H(e,r,a,t$1,C(e,0,c),C(e,c+1,-1),c)}function ue(c,n){switch(m(c,n)){case 5103:return a$1+"print-"+c+c;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return a$1+c+c;case 5349:case 4246:case 4810:case 6968:case 2756:return a$1+c+r$1+c+e$1+c+c;case 6828:case 4268:return a$1+c+e$1+c+c;case 6165:return a$1+c+e$1+"flex-"+c+c;case 5187:return a$1+c+y(c,/(\w+).+(:[^]+)/,a$1+"box-$1$2"+e$1+"flex-$1$2")+c;case 5443:return a$1+c+e$1+"flex-item-"+y(c,/flex-|-self/,"")+c;case 4675:return a$1+c+e$1+"flex-line-pack"+y(c,/align-content|flex-|-self/,"")+c;case 5548:return a$1+c+e$1+y(c,"shrink","negative")+c;case 5292:return a$1+c+e$1+y(c,"basis","preferred-size")+c;case 6060:return a$1+"box-"+y(c,"-grow","")+a$1+c+e$1+y(c,"grow","positive")+c;case 4554:return a$1+y(c,/([^-])(transform)/g,"$1"+a$1+"$2")+c;case 6187:return y(y(y(c,/(zoom-|grab)/,a$1+"$1"),/(image-set)/,a$1+"$1"),c,"")+c;case 5495:case 3959:return y(c,/(image-set\([^]*)/,a$1+"$1"+"$`$1");case 4968:return y(y(c,/(.+:)(flex-)?(.*)/,a$1+"box-pack:$3"+e$1+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+a$1+c+c;case 4095:case 3583:case 4068:case 2532:return y(c,/(.+)-inline(.+)/,a$1+"$1$2")+c;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(A(c)-1-n>6)switch(z$1(c,n+1)){case 109:if(z$1(c,n+4)!==45)break;case 102:return y(c,/(.+:)(.+)-([^]+)/,"$1"+a$1+"$2-$3"+"$1"+r$1+(z$1(c,n+3)==108?"$3":"$2-$3"))+c;case 115:return ~j(c,"stretch")?ue(y(c,"stretch","fill-available"),n)+c:c}break;case 4949:if(z$1(c,n+1)!==115)break;case 6444:switch(z$1(c,A(c)-3-(~j(c,"!important")&&10))){case 107:return y(c,":",":"+a$1)+c;case 101:return y(c,/(.+:)([^;!]+)(;|!.+)?/,"$1"+a$1+(z$1(c,14)===45?"inline-":"")+"box$3"+"$1"+a$1+"$2$3"+"$1"+e$1+"$2box$3")+c}break;case 5936:switch(z$1(c,n+11)){case 114:return a$1+c+e$1+y(c,/[svh]\w+-[tblr]{2}/,"tb")+c;case 108:return a$1+c+e$1+y(c,/[svh]\w+-[tblr]{2}/,"tb-rl")+c;case 45:return a$1+c+e$1+y(c,/[svh]\w+-[tblr]{2}/,"lr")+c}return a$1+c+e$1+c+c}return c}function ie(e,r){var a="";var c=M(e);for(var n=0;n<c;n++)a+=r(e[n],n,e,r)||"";return a}function fe(e,r,a,s){switch(e.type){case i$1:case t$1:return e.return=e.return||e.value;case c$1:return "";case n$1:e.value=e.props.join(",");}return A(a=ie(e.children,s))?e.return=e.value+"{"+a+"}":""}function oe(e){var r=M(e);return function(a,c,n,t){var s="";for(var u=0;u<r;u++)s+=e[u](a,c,n,t)||"";return s}}function le(e){return function(r){if(!r.root)if(r=r.return)e(r);}}function ve(c,s,u,i){if(!c.return)switch(c.type){case t$1:c.return=ue(c.value,c.length);break;case p$1:return ie([I(y(c.value,"@","@"+a$1),c,"")],i);case n$1:if(c.length)return S(c.props,(function(n){switch(x(n,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ie([I(y(n,/:(read-\w+)/,":"+r$1+"$1"),c,"")],i);case"::placeholder":return ie([I(y(n,/:(plac\w+)/,":"+a$1+"input-$1"),c,""),I(y(n,/:(plac\w+)/,":"+r$1+"$1"),c,""),I(y(n,/:(plac\w+)/,e$1+"input-$1"),c,"")],i)}return ""}))}}
20351
17481
 
20352
17482
  function memoize(fn) {
20353
17483
  var cache = Object.create(null);
@@ -21054,7 +18184,7 @@ var _createEmotion = createEmotion({
21054
18184
  }),
21055
18185
  css = _createEmotion.css;
21056
18186
 
21057
- function i$1(){return (i$1=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r]);}return n}).apply(this,arguments)}function s(n,t){return t||(t=n.slice(0)),n.raw=t,n}var a$1,l,u,c$1=css(a$1||(a$1=s(['\n width: 100vw;\n height: 100vh;\n\n .story-book-outer-div {\n .story-div {\n font-family: "Arial", sans-serif;\n font-size: 12px;\n }\n padding-bottom: 500px;\n }\n\n .story-div {\n position: fixed;\n box-sizing: border-box;\n top: 0;\n width: 250px;\n height: 100vh;\n z-index: 999;\n overflow-y: scroll;\n background: white;\n margin-bottom: 32px;\n }\n\n .header {\n padding: 24px 0 16px 16px;\n margin-bottom: 24px;\n color: white;\n background: #333;\n cursor: pointer;\n\n h2 {\n letter-spacing: 3px;\n font-weight: 400;\n }\n }\n\n .parentStoryList {\n list-style: none;\n padding-left: 16px;\n\n summary {\n margin-bottom: 4px;\n }\n }\n .parentStory {\n cursor: pointer;\n }\n .parentStory.selected {\n font-weight: bold;\n }\n\n .subStory {\n font-size: 12px;\n cursor: pointer;\n line-height: 1.5em;\n margin-top: 4px;\n\n a {\n display: block;\n padding: 4px 4px 4px 16px;\n }\n }\n .subStory:hover {\n background-color: #eee;\n }\n .subStory.selected {\n background-color: lightgreen;\n }\n\n .component {\n padding: 24px 16px;\n }\n\n h4.group-header {\n margin: 8px 0;\n text-transform: uppercase;\n font-weight: 600;\n font-size: 14px;\n color: #575757;\n }\n\n .group-wrapper {\n margin-bottom: 24px;\n }\n\n .dynamic-display-wrapper {\n position: fixed;\n display: flex;\n flex-direction: column;\n bottom: 0;\n left: 100%;\n padding: 16px;\n z-index: 1000;\n background: white;\n transform: translateX(-100%);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n & > :not(:first-child) {\n margin-top: 12px;\n }\n\n p {\n font-size: 12px;\n margin: 0;\n padding: 0;\n }\n\n .button-wrapper {\n display: flex;\n\n & > :not(:first-child) {\n margin-left: 12px;\n }\n }\n\n & button {\n border: 1px solid #eaeaea;\n background: white;\n border-radius: 4px;\n color: #777;\n padding: 4px 12px;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n &.active {\n background: #555;\n border-color: #555;\n color: white;\n }\n }\n }\n'])));function p$1(n,t){var o,r=t.story.title.split("/"),e=r[1]?r[0]:"_";return i$1({},n,((o={})[e]=[].concat(n[e]||[],[{story:i$1({},t.story,{title:r[1]||r[0]}),subs:t.subs}]).sort(function(n,t){return n.story.title.localeCompare(t.story.title)}),o))}function d$1(n){return {story:n.default,subs:function(n,t){if(null==n)return {};var o,r,e={},i=Object.keys(n);for(r=0;r<i.length;r++)t.indexOf(o=i[r])>=0||(e[o]=n[o]);return e}(n,["default"])}}function f(a,f){var b=f.h,y=void 0===b?index.h:b,g=f.title,m=void 0===g?"Stencilbook":g,x=f.homepage,h=void 0===x?y("h3",null,"Select a story!"):x,v=f.addons,k=void 0===v?[]:v,w=_extends.useMemo(function(){return a.map(d$1).reduce(p$1,{_:[]})},a),S=_extends.useState(void 0),C=S[0],z=S[1],O=null==C?void 0:C.key,j=_extends.useState("desktop"),T=j[0],_=j[1],B=_extends.useState(!0),D=B[0],L=B[1],N=_extends.useState(!1),q=N[0],A=N[1],M=function(){return y("div",{class:"dynamic-display-wrapper"},y("div",{class:"button-wrapper"},y("button",{class:"desktop"===T?"active":"",onClick:function(){return _("desktop")}},"Desktop"),y("button",{class:"tablet"===T?"active":"",onClick:function(){return _("tablet")}},"Tablet"),y("button",{class:"mobile"===T?"active":"",onClick:function(){return _("mobile")}},"Mobile")),y("p",null,"Note: Currently doesn't test breakpoints, use the native tester for now"),y("hr",null),y("button",{class:q?"active":"",onClick:function(){return A(function(n){return !n})}},"Toggle Dark Background"),y("hr",null),y("button",{class:D?"active":"",onClick:function(){return L(function(n){return !n})}},"Toggle Sidebar"))},P="mobile"===T?"375px":"tablet"===T?"768px":"1124px",V=css(l||(l=s(["\n max-width: ",";\n margin-left: ",";\n "])),P,D?"250px":"0px"),X=css(u||(u=s(["\n display: none;\n "])));document.body.style.backgroundColor=q?"#232323":"#fafafa";var E=function(n){var t=n.selected,o=k.reduce(function(n,o){return function(){return y(o,{story:i$1({},t)},y(n,null))}},null==t?void 0:t.story);return y(o,null)},F=function(){return y("div",{class:"story-book-outer-div"},y("div",{class:"story-div "+(D?"":X)},y("div",{class:"header",onClick:function(){z(void 0);}},y("h2",null,m)),y("ul",{class:"parentStoryList"},Object.keys(w).sort().map(function(n){return y("div",{class:"group-wrapper"},"_"!==n&&y("h4",{class:"group-header"},n),w[n].map(function(t){return y("li",{class:"parentStory"},y("details",{style:{marginBottom:"10px"}},y("summary",{style:{outline:"none"}},t.story.title),t.subs&&Object.keys(t.subs).map(function(o){var e=n+"/"+o,i=t.subs[o],s=i.storyName||lodash_startcase(o);return y("div",{class:"subStory "+(O===e?"selected":"")},y("a",{onClick:function(){return function(n,t,o,r){z({key:t,story:n,parent:o,label:r});}(i,e,t.story,s)}},s))})))}))}))),y(M,null),y("div",{class:"component "+V},!O&&h,O&&y("div",null,y("h3",null,C.label),y(E,{selected:C}))))};return {class:c$1,children:y(F,null),View:F,selected:C}}
18187
+ function i$2(){return (i$2=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r]);}return n}).apply(this,arguments)}function s$1(n,t){return t||(t=n.slice(0)),n.raw=t,n}var a$2,l$1,u$1,c$2=css(a$2||(a$2=s$1(['\n width: 100vw;\n height: 100vh;\n\n .story-book-outer-div {\n .story-div {\n font-family: "Arial", sans-serif;\n font-size: 12px;\n }\n padding-bottom: 500px;\n }\n\n .story-div {\n position: fixed;\n box-sizing: border-box;\n top: 0;\n width: 250px;\n height: 100vh;\n z-index: 999;\n overflow-y: scroll;\n background: white;\n margin-bottom: 32px;\n }\n\n .header {\n padding: 24px 0 16px 16px;\n margin-bottom: 24px;\n color: white;\n background: #333;\n cursor: pointer;\n\n h2 {\n letter-spacing: 3px;\n font-weight: 400;\n }\n }\n\n .parentStoryList {\n list-style: none;\n padding-left: 16px;\n\n summary {\n margin-bottom: 4px;\n }\n }\n .parentStory {\n cursor: pointer;\n }\n .parentStory.selected {\n font-weight: bold;\n }\n\n .subStory {\n font-size: 12px;\n cursor: pointer;\n line-height: 1.5em;\n margin-top: 4px;\n\n a {\n display: block;\n padding: 4px 4px 4px 16px;\n }\n }\n .subStory:hover {\n background-color: #eee;\n }\n .subStory.selected {\n background-color: lightgreen;\n }\n\n .component {\n padding: 24px 16px;\n }\n\n h4.group-header {\n margin: 8px 0;\n text-transform: uppercase;\n font-weight: 600;\n font-size: 14px;\n color: #575757;\n }\n\n .group-wrapper {\n margin-bottom: 24px;\n }\n\n .dynamic-display-wrapper {\n position: fixed;\n display: flex;\n flex-direction: column;\n bottom: 0;\n left: 100%;\n padding: 16px;\n z-index: 1000;\n background: white;\n transform: translateX(-100%);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n & > :not(:first-child) {\n margin-top: 12px;\n }\n\n p {\n font-size: 12px;\n margin: 0;\n padding: 0;\n }\n\n .button-wrapper {\n display: flex;\n\n & > :not(:first-child) {\n margin-left: 12px;\n }\n }\n\n & button {\n border: 1px solid #eaeaea;\n background: white;\n border-radius: 4px;\n color: #777;\n padding: 4px 12px;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n &.active {\n background: #555;\n border-color: #555;\n color: white;\n }\n }\n }\n'])));function p$2(n,t){var o,r=t.story.title.split("/"),e=r[1]?r[0]:"_";return i$2({},n,((o={})[e]=[].concat(n[e]||[],[{story:i$2({},t.story,{title:r[1]||r[0]}),subs:t.subs}]).sort(function(n,t){return n.story.title.localeCompare(t.story.title)}),o))}function d$1(n){return {story:n.default,subs:function(n,t){if(null==n)return {};var o,r,e={},i=Object.keys(n);for(r=0;r<i.length;r++)t.indexOf(o=i[r])>=0||(e[o]=n[o]);return e}(n,["default"])}}function f$1(a,f){var b=f.h,y=void 0===b?index.h:b,g=f.title,m=void 0===g?"Stencilbook":g,x=f.homepage,h=void 0===x?y("h3",null,"Select a story!"):x,v=f.addons,k=void 0===v?[]:v,w=_extends.useMemo(function(){return a.map(d$1).reduce(p$2,{_:[]})},a),S=_extends.useState(void 0),C=S[0],z=S[1],O=null==C?void 0:C.key,j=_extends.useState("desktop"),T=j[0],_=j[1],B=_extends.useState(!0),D=B[0],L=B[1],N=_extends.useState(!1),q=N[0],A=N[1],M=function(){return y("div",{class:"dynamic-display-wrapper"},y("div",{class:"button-wrapper"},y("button",{class:"desktop"===T?"active":"",onClick:function(){return _("desktop")}},"Desktop"),y("button",{class:"tablet"===T?"active":"",onClick:function(){return _("tablet")}},"Tablet"),y("button",{class:"mobile"===T?"active":"",onClick:function(){return _("mobile")}},"Mobile")),y("p",null,"Note: Currently doesn't test breakpoints, use the native tester for now"),y("hr",null),y("button",{class:q?"active":"",onClick:function(){return A(function(n){return !n})}},"Toggle Dark Background"),y("hr",null),y("button",{class:D?"active":"",onClick:function(){return L(function(n){return !n})}},"Toggle Sidebar"))},P="mobile"===T?"375px":"tablet"===T?"768px":"1124px",V=css(l$1||(l$1=s$1(["\n max-width: ",";\n margin-left: ",";\n "])),P,D?"250px":"0px"),X=css(u$1||(u$1=s$1(["\n display: none;\n "])));document.body.style.backgroundColor=q?"#232323":"#fafafa";var E=function(n){var t=n.selected,o=k.reduce(function(n,o){return function(){return y(o,{story:i$2({},t)},y(n,null))}},null==t?void 0:t.story);return y(o,null)},F=function(){return y("div",{class:"story-book-outer-div"},y("div",{class:"story-div "+(D?"":X)},y("div",{class:"header",onClick:function(){z(void 0);}},y("h2",null,m)),y("ul",{class:"parentStoryList"},Object.keys(w).sort().map(function(n){return y("div",{class:"group-wrapper"},"_"!==n&&y("h4",{class:"group-header"},n),w[n].map(function(t){return y("li",{class:"parentStory"},y("details",{style:{marginBottom:"10px"}},y("summary",{style:{outline:"none"}},t.story.title),t.subs&&Object.keys(t.subs).map(function(o){var e=n+"/"+o,i=t.subs[o],s=i.storyName||lodash_startcase(o);return y("div",{class:"subStory "+(O===e?"selected":"")},y("a",{onClick:function(){return function(n,t,o,r){z({key:t,story:n,parent:o,label:r});}(i,e,t.story,s)}},s))})))}))}))),y(M,null),y("div",{class:"component "+V},!O&&h,O&&y("div",null,y("h3",null,C.label),y(E,{selected:C}))))};return {class:c$2,children:y(F,null),View:F,selected:C}}
21058
18188
 
21059
18189
  const ShareButton_stories = {
21060
18190
  title: "Components/Share Button",
@@ -22313,7 +19443,10 @@ const RewardsTableNoProgram = createHookStory(() => {
22313
19443
  setupGraphQL$7();
22314
19444
  index_module.A(undefined);
22315
19445
  return (index.h("sqm-rewards-table", null,
22316
- index.h("sqm-rewards-table-column", null)));
19446
+ index.h("sqm-rewards-table-reward-column", null),
19447
+ index.h("sqm-rewards-table-source-column", null),
19448
+ index.h("sqm-rewards-table-status-column", null),
19449
+ index.h("sqm-rewards-table-date-column", null)));
22317
19450
  });
22318
19451
 
22319
19452
  const UseRewardsTable = /*#__PURE__*/Object.freeze({
@@ -23807,6 +20940,7 @@ const baseReward = {
23807
20940
  dateScheduledFor: getDays(),
23808
20941
  dateExpires: getMonths(),
23809
20942
  dateCancelled: 134400,
20943
+ dateRedeemed: 0,
23810
20944
  fuelTankCode: "ABC",
23811
20945
  fuelTankType: "Code",
23812
20946
  currency: "null",
@@ -24058,6 +21192,7 @@ const baseReward$1 = {
24058
21192
  dateScheduledFor: 1628146800000,
24059
21193
  dateExpires: 1629010800000,
24060
21194
  dateCancelled: 134400,
21195
+ dateRedeemed: 0,
24061
21196
  fuelTankCode: "ABC",
24062
21197
  fuelTankType: "Code",
24063
21198
  currency: "null",
@@ -24547,6 +21682,7 @@ const rewardsData = {
24547
21682
  dateScheduledFor: 1628146800000,
24548
21683
  dateExpires: 1629010800000,
24549
21684
  dateCancelled: 134400,
21685
+ dateRedeemed: 0,
24550
21686
  fuelTankCode: "ABC",
24551
21687
  fuelTankType: "Code",
24552
21688
  currency: "null",
@@ -29344,6 +26480,18 @@ const baseResponse = (data, stage = "chooseReward", selectedItem = null, selecte
29344
26480
  states: {
29345
26481
  content: {
29346
26482
  text: {
26483
+ continueText: "Continue",
26484
+ cancelText: "Cancel",
26485
+ continueToConfirmationText: "Continue to confirmation",
26486
+ backText: "Back",
26487
+ redeemText: "Redeem",
26488
+ doneText: "Done",
26489
+ chooseRewardTitle: "Choose reward",
26490
+ chooseAmountTitle: "Amount",
26491
+ confirmationTitle: "Confirm",
26492
+ redeemTitle: "Confirm and redeem",
26493
+ rewardRedeemedText: "Reward redeemed",
26494
+ queryError: "An error occured trying to redeem this reward. Please try again.",
29347
26495
  notAvailableError: "{unavailableReason, select, US_TAX {US Tax limit} INSUFFICIENT_REDEEMABLE_CREDIT {Not enough points} other {Not available} }",
29348
26496
  },
29349
26497
  },
@@ -29610,10 +26758,12 @@ const ProgramExplainer_stories = {
29610
26758
  };
29611
26759
  const props$2 = {
29612
26760
  header: "Klip Rewards",
26761
+ headerColor: "black",
26762
+ headerBackground: "#F3F0EC",
29613
26763
  cardTitle: "Earn rewards with our loyalty program",
29614
- description: "Earn points by completing tasks like uploading your first video or sharing videos with friends. Use your points to redeem rewards like one free month of Klip Enterprise or two plane tickets to anywhere in North America.",
29615
- color: "black",
29616
- background: "#F3F0EC",
26764
+ cardDescription: "Earn points by completing tasks like uploading your first video or sharing videos with friends. Use your points to redeem rewards like one free month of Klip Enterprise or two plane tickets to anywhere in North America.",
26765
+ cardColor: "black",
26766
+ cardBackground: "var(--sl-color-primary-100)",
29617
26767
  };
29618
26768
  const steps1 = {
29619
26769
  cardTitle: "Invite your friends to Klip",
@@ -29672,14 +26822,7 @@ const Example1 = () => {
29672
26822
  icon: "person-plus-fill",
29673
26823
  };
29674
26824
  return index.h(sqmProgramExplainerStepView.ProgramExplainerStepView, Object.assign({}, props));
29675
- };
29676
- // export const ActiveItem = () => {
29677
- // const props = {
29678
- // title: "hello",
29679
- // description: "world",
29680
- // };
29681
- // return <ProgramExplainerStepView {...props} />;
29682
- // };
26825
+ };
29683
26826
 
29684
26827
  const ProgramExplainerStep = /*#__PURE__*/Object.freeze({
29685
26828
  __proto__: null,
@@ -29815,7 +26958,7 @@ const Netflix = `
29815
26958
  `;
29816
26959
  const SaaSquatchCorporate = `
29817
26960
  :root{
29818
- ${autoColorScaleCss("green")}
26961
+ ${autoColorScaleCss("#65bd60")}
29819
26962
  --sl-font-sans: Arial;
29820
26963
  }
29821
26964
  `;
@@ -29827,17 +26970,10 @@ const NYTimes = `
29827
26970
  `;
29828
26971
  const Klip = `
29829
26972
  :root{
29830
- --sl-color-primary-50: #E8E5F8;
29831
- --sl-color-primary-100: #C6BEED;
29832
- --sl-color-primary-200: #A192E2;
29833
- --sl-color-primary-300: #7B66D6;
29834
- --sl-color-primary-400: #5E46CD;
29835
- --sl-color-primary-500: #4225C4;
29836
- --sl-color-primary-600: #3C21BE;
29837
- --sl-color-primary-700: #331BB6;
29838
- --sl-color-primary-800: #2B16AF;
29839
- --sl-color-primary-900: #1D0DA2;
26973
+ ${autoColorScaleCss("#4225C4")};
26974
+ --sl-font-sans: Inter, sans;
29840
26975
  }
26976
+
29841
26977
  `;
29842
26978
 
29843
26979
  const Themes = /*#__PURE__*/Object.freeze({
@@ -32493,7 +29629,7 @@ const StencilStorybook = class {
32493
29629
  }
32494
29630
  disconnectedCallback() { }
32495
29631
  render() {
32496
- const { class: Style, children } = f(stories, {
29632
+ const { class: Style, children } = f$1(stories, {
32497
29633
  h: index.h,
32498
29634
  title: "Mint Components",
32499
29635
  addons: [CucumberAddon, ShadowViewAddon.ShadowViewAddon, HookStoryAddon],
@@ -32769,7 +29905,14 @@ exports.sqm_referral_table_status_cell = ReferralTableStatusCell;
32769
29905
  exports.sqm_referral_table_user_cell = ReferralTableUserCell;
32770
29906
  exports.sqm_reward_exchange_list = SqmRewardExchangeList;
32771
29907
  exports.sqm_rewards_table = RewardsTable;
32772
- exports.sqm_rewards_table_column = RewardsTableColumn;
29908
+ exports.sqm_rewards_table_date_cell = RewardTableDateCell;
29909
+ exports.sqm_rewards_table_date_column = RewardTableDateColumn;
29910
+ exports.sqm_rewards_table_reward_column = RewardsTableColumn;
29911
+ exports.sqm_rewards_table_rewards_cell = RewardTableRewardsCell;
29912
+ exports.sqm_rewards_table_source_cell = RewardTableSourceCell;
29913
+ exports.sqm_rewards_table_source_column = RewardTableUserColumn;
29914
+ exports.sqm_rewards_table_status_cell = RewardTableStatusCell;
29915
+ exports.sqm_rewards_table_status_column = RewardTableStatusColumn;
32773
29916
  exports.sqm_router = SqmRouter;
32774
29917
  exports.sqm_share_button = ShareButton;
32775
29918
  exports.sqm_share_link = ShareLink;