@storybook/components 6.5.6 → 7.0.0-alpha.0

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 (93) hide show
  1. package/dist/Color-GC2EERLU.mjs +1 -0
  2. package/dist/GlobalScrollAreaStyles-SBQA32UJ.mjs +1 -0
  3. package/dist/OverlayScrollbars-XXHHIFRP.mjs +6 -0
  4. package/dist/WithTooltip-2JKU54KI.mjs +9 -0
  5. package/dist/chunk-4HFE7HIP.mjs +6 -0
  6. package/dist/chunk-B5E6VV27.mjs +1 -0
  7. package/dist/chunk-HK5F4PFQ.mjs +1 -0
  8. package/dist/chunk-IE3SZHMD.mjs +1 -0
  9. package/dist/chunk-MGIUKE7Y.mjs +149 -0
  10. package/dist/chunk-SEEBCDLS.mjs +5 -0
  11. package/dist/chunk-X32VMURG.mjs +73 -0
  12. package/dist/chunk-XFP3TTPB.mjs +1 -0
  13. package/dist/chunk-YLDU3KBJ.mjs +1 -0
  14. package/dist/formatter-5ZDRIBVE.mjs +184 -0
  15. package/dist/html.d.ts +6 -0
  16. package/dist/html.js +352 -0
  17. package/dist/html.mjs +5 -0
  18. package/dist/index.d.ts +1144 -0
  19. package/dist/index.js +432 -0
  20. package/dist/index.mjs +1 -0
  21. package/dist/syntaxhighlighter-RDO7V73N.mjs +7 -0
  22. package/html.d.ts +1 -1
  23. package/html.js +1 -2
  24. package/package.json +31 -22
  25. package/dist/cjs/Color-90d9da2c.js +0 -2459
  26. package/dist/cjs/GlobalScrollAreaStyles-ff4bd929.js +0 -463
  27. package/dist/cjs/OverlayScrollbars-82979310.js +0 -6620
  28. package/dist/cjs/WithTooltip-60d59c62.js +0 -3166
  29. package/dist/cjs/formatter-adb74648.js +0 -128
  30. package/dist/cjs/index-97a2a5a9.js +0 -2060
  31. package/dist/cjs/index.js +0 -131
  32. package/dist/cjs/syntaxhighlighter-bc65a250.js +0 -211
  33. package/dist/esm/Color-01c31ae2.js +0 -2575
  34. package/dist/esm/GlobalScrollAreaStyles-8793ce4a.js +0 -461
  35. package/dist/esm/OverlayScrollbars-9b821cbe.js +0 -6709
  36. package/dist/esm/WithTooltip-2fc4c925.js +0 -3194
  37. package/dist/esm/formatter-9bb0ae57.js +0 -128
  38. package/dist/esm/index-3ae04fda.js +0 -2003
  39. package/dist/esm/index.js +0 -6
  40. package/dist/esm/syntaxhighlighter-b09267a2.js +0 -229
  41. package/dist/modern/Color-adcd690c.js +0 -2443
  42. package/dist/modern/GlobalScrollAreaStyles-8793ce4a.js +0 -450
  43. package/dist/modern/OverlayScrollbars-2dbee1e7.js +0 -6603
  44. package/dist/modern/WithTooltip-e676f2b3.js +0 -3125
  45. package/dist/modern/formatter-409edac5.js +0 -128
  46. package/dist/modern/index-377367fa.js +0 -2060
  47. package/dist/modern/index.js +0 -6
  48. package/dist/modern/syntaxhighlighter-a425409f.js +0 -157
  49. package/dist/ts-tmp/index.d.ts +0 -928
  50. package/dist/ts3.4/_modules/@popperjs-core-index.d.ts +0 -1
  51. package/dist/ts3.4/_modules/@popperjs-core-lib-createPopper.d.ts +0 -9
  52. package/dist/ts3.4/_modules/@popperjs-core-lib-enums.d.ts +0 -34
  53. package/dist/ts3.4/_modules/@popperjs-core-lib-index.d.ts +0 -6
  54. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-applyStyles.d.ts +0 -4
  55. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-arrow.d.ts +0 -13
  56. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-computeStyles.d.ts +0 -38
  57. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-eventListeners.d.ts +0 -8
  58. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-flip.d.ts +0 -16
  59. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-hide.d.ts +0 -4
  60. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-index.d.ts +0 -9
  61. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-offset.d.ts +0 -24
  62. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-popperOffsets.d.ts +0 -4
  63. package/dist/ts3.4/_modules/@popperjs-core-lib-modifiers-preventOverflow.d.ts +0 -30
  64. package/dist/ts3.4/_modules/@popperjs-core-lib-popper-lite.d.ts +0 -5
  65. package/dist/ts3.4/_modules/@popperjs-core-lib-popper.d.ts +0 -7
  66. package/dist/ts3.4/_modules/@popperjs-core-lib-types.d.ts +0 -167
  67. package/dist/ts3.4/_modules/@popperjs-core-lib-utils-detectOverflow.d.ts +0 -11
  68. package/dist/ts3.4/_modules/@types-prettier-index.d.ts +0 -641
  69. package/dist/ts3.4/_modules/react-textarea-autosize-dist-declarations-src-index.d.ts +0 -17
  70. package/dist/ts3.4/_modules/react-textarea-autosize-dist-react-textarea-autosize.cjs.d.ts +0 -2
  71. package/dist/ts3.4/index.d.ts +0 -926
  72. package/dist/ts3.9/_modules/@popperjs-core-index.d.ts +0 -1
  73. package/dist/ts3.9/_modules/@popperjs-core-lib-createPopper.d.ts +0 -9
  74. package/dist/ts3.9/_modules/@popperjs-core-lib-enums.d.ts +0 -34
  75. package/dist/ts3.9/_modules/@popperjs-core-lib-index.d.ts +0 -6
  76. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-applyStyles.d.ts +0 -4
  77. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-arrow.d.ts +0 -13
  78. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-computeStyles.d.ts +0 -38
  79. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-eventListeners.d.ts +0 -8
  80. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-flip.d.ts +0 -16
  81. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-hide.d.ts +0 -4
  82. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-index.d.ts +0 -9
  83. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-offset.d.ts +0 -18
  84. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-popperOffsets.d.ts +0 -4
  85. package/dist/ts3.9/_modules/@popperjs-core-lib-modifiers-preventOverflow.d.ts +0 -30
  86. package/dist/ts3.9/_modules/@popperjs-core-lib-popper-lite.d.ts +0 -5
  87. package/dist/ts3.9/_modules/@popperjs-core-lib-popper.d.ts +0 -7
  88. package/dist/ts3.9/_modules/@popperjs-core-lib-types.d.ts +0 -167
  89. package/dist/ts3.9/_modules/@popperjs-core-lib-utils-detectOverflow.d.ts +0 -11
  90. package/dist/ts3.9/_modules/@types-prettier-index.d.ts +0 -641
  91. package/dist/ts3.9/_modules/react-textarea-autosize-dist-declarations-src-index.d.ts +0 -17
  92. package/dist/ts3.9/_modules/react-textarea-autosize-dist-react-textarea-autosize.cjs.d.ts +0 -2
  93. package/dist/ts3.9/index.d.ts +0 -926
@@ -1,2575 +0,0 @@
1
- var _ColorPicker, _fallbackColor;
2
-
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
6
-
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
-
9
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
-
11
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
-
13
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
14
-
15
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
16
-
17
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
-
19
- import "core-js/modules/es.object.assign.js";
20
- import "core-js/modules/es.object.keys.js";
21
- import "core-js/modules/es.array.join.js";
22
- import "core-js/modules/es.array.filter.js";
23
- import "core-js/modules/es.object.to-string.js";
24
- import "core-js/modules/es.number.constructor.js";
25
- import "core-js/modules/es.regexp.exec.js";
26
- import "core-js/modules/es.regexp.to-string.js";
27
- import "core-js/modules/es.string.replace.js";
28
- import "core-js/modules/es.array.iterator.js";
29
- import "core-js/modules/es.map.js";
30
- import "core-js/modules/es.string.iterator.js";
31
- import "core-js/modules/web.dom-collections.iterator.js";
32
- import "core-js/modules/es.string.match.js";
33
- import "core-js/modules/es.array.map.js";
34
- import "core-js/modules/es.string.split.js";
35
- import "core-js/modules/web.dom-collections.for-each.js";
36
- import "core-js/modules/es.array.slice.js";
37
- import "core-js/modules/es.array.concat.js";
38
- import "core-js/modules/es.object.values.js";
39
- import "core-js/modules/es.string.starts-with.js";
40
- import "core-js/modules/es.function.name.js";
41
- import "core-js/modules/es.symbol.js";
42
- import "core-js/modules/es.symbol.description.js";
43
- import "core-js/modules/es.symbol.iterator.js";
44
- import "core-js/modules/es.array.from.js";
45
- import { x as _root, y as isObject_1, z as isSymbol_1, W as WithTooltip, T as TooltipNote, F as Form, I as Icons, B as getControlId, a as __rest } from './index-3ae04fda.js';
46
- import React__default, { useRef, useMemo, useEffect, useState, useCallback, useLayoutEffect } from 'react';
47
- import { styled } from '@storybook/theming';
48
- import '@storybook/csf';
49
- import 'qs';
50
- import '@storybook/client-logger';
51
-
52
- function u() {
53
- return (u = Object.assign || function (e) {
54
- for (var r = 1; r < arguments.length; r++) {
55
- var t = arguments[r];
56
-
57
- for (var n in t) {
58
- Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
59
- }
60
- }
61
-
62
- return e;
63
- }).apply(this, arguments);
64
- }
65
-
66
- function c(e, r) {
67
- if (null == e) return {};
68
- var t,
69
- n,
70
- o = {},
71
- a = Object.keys(e);
72
-
73
- for (n = 0; n < a.length; n++) {
74
- r.indexOf(t = a[n]) >= 0 || (o[t] = e[t]);
75
- }
76
-
77
- return o;
78
- }
79
-
80
- function i(e) {
81
- var t = useRef(e),
82
- n = useRef(function (e) {
83
- t.current && t.current(e);
84
- });
85
- return t.current = e, n.current;
86
- }
87
-
88
- var s = function s(e, r, t) {
89
- return void 0 === r && (r = 0), void 0 === t && (t = 1), e > t ? t : e < r ? r : e;
90
- },
91
- f = function f(e) {
92
- return "touches" in e;
93
- },
94
- v = function v(e) {
95
- return e && e.ownerDocument.defaultView || self;
96
- },
97
- d = function d(e, r, t) {
98
- var n = e.getBoundingClientRect(),
99
- o = f(r) ? function (e, r) {
100
- for (var t = 0; t < e.length; t++) {
101
- if (e[t].identifier === r) return e[t];
102
- }
103
-
104
- return e[0];
105
- }(r.touches, t) : r;
106
- return {
107
- left: s((o.pageX - (n.left + v(e).pageXOffset)) / n.width),
108
- top: s((o.pageY - (n.top + v(e).pageYOffset)) / n.height)
109
- };
110
- },
111
- h = function h(e) {
112
- !f(e) && e.preventDefault();
113
- },
114
- m = React__default.memo(function (o) {
115
- var a = o.onMove,
116
- l = o.onKey,
117
- s = c(o, ["onMove", "onKey"]),
118
- m = useRef(null),
119
- g = i(a),
120
- p = i(l),
121
- b = useRef(null),
122
- _ = useRef(!1),
123
- x = useMemo(function () {
124
- var e = function e(_e) {
125
- h(_e), (f(_e) ? _e.touches.length > 0 : _e.buttons > 0) && m.current ? g(d(m.current, _e, b.current)) : t(!1);
126
- },
127
- r = function r() {
128
- return t(!1);
129
- };
130
-
131
- function t(t) {
132
- var n = _.current,
133
- o = v(m.current),
134
- a = t ? o.addEventListener : o.removeEventListener;
135
- a(n ? "touchmove" : "mousemove", e), a(n ? "touchend" : "mouseup", r);
136
- }
137
-
138
- return [function (e) {
139
- var r = e.nativeEvent,
140
- n = m.current;
141
-
142
- if (n && (h(r), !function (e, r) {
143
- return r && !f(e);
144
- }(r, _.current) && n)) {
145
- if (f(r)) {
146
- _.current = !0;
147
- var o = r.changedTouches || [];
148
- o.length && (b.current = o[0].identifier);
149
- }
150
-
151
- n.focus(), g(d(n, r, b.current)), t(!0);
152
- }
153
- }, function (e) {
154
- var r = e.which || e.keyCode;
155
- r < 37 || r > 40 || (e.preventDefault(), p({
156
- left: 39 === r ? .05 : 37 === r ? -.05 : 0,
157
- top: 40 === r ? .05 : 38 === r ? -.05 : 0
158
- }));
159
- }, t];
160
- }, [p, g]),
161
- C = x[0],
162
- E = x[1],
163
- H = x[2];
164
-
165
- return useEffect(function () {
166
- return H;
167
- }, [H]), React__default.createElement("div", u({}, s, {
168
- onTouchStart: C,
169
- onMouseDown: C,
170
- className: "react-colorful__interactive",
171
- ref: m,
172
- onKeyDown: E,
173
- tabIndex: 0,
174
- role: "slider"
175
- }));
176
- }),
177
- g = function g(e) {
178
- return e.filter(Boolean).join(" ");
179
- },
180
- p = function p(r) {
181
- var t = r.color,
182
- n = r.left,
183
- o = r.top,
184
- a = void 0 === o ? .5 : o,
185
- l = g(["react-colorful__pointer", r.className]);
186
- return React__default.createElement("div", {
187
- className: l,
188
- style: {
189
- top: 100 * a + "%",
190
- left: 100 * n + "%"
191
- }
192
- }, React__default.createElement("div", {
193
- className: "react-colorful__pointer-fill",
194
- style: {
195
- backgroundColor: t
196
- }
197
- }));
198
- },
199
- b = function b(e, r, t) {
200
- return void 0 === r && (r = 0), void 0 === t && (t = Math.pow(10, r)), Math.round(t * e) / t;
201
- },
202
- _ = {
203
- grad: .9,
204
- turn: 360,
205
- rad: 360 / (2 * Math.PI)
206
- },
207
- x = function x(e) {
208
- return "#" === e[0] && (e = e.substr(1)), e.length < 6 ? {
209
- r: parseInt(e[0] + e[0], 16),
210
- g: parseInt(e[1] + e[1], 16),
211
- b: parseInt(e[2] + e[2], 16),
212
- a: 1
213
- } : {
214
- r: parseInt(e.substr(0, 2), 16),
215
- g: parseInt(e.substr(2, 2), 16),
216
- b: parseInt(e.substr(4, 2), 16),
217
- a: 1
218
- };
219
- },
220
- C = function C(e, r) {
221
- return void 0 === r && (r = "deg"), Number(e) * (_[r] || 1);
222
- },
223
- E = function E(e) {
224
- var r = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);
225
- return r ? M({
226
- h: C(r[1], r[2]),
227
- s: Number(r[3]),
228
- l: Number(r[4]),
229
- a: void 0 === r[5] ? 1 : Number(r[5]) / (r[6] ? 100 : 1)
230
- }) : {
231
- h: 0,
232
- s: 0,
233
- v: 0,
234
- a: 1
235
- };
236
- },
237
- M = function M(e) {
238
- var r = e.s,
239
- t = e.l;
240
- return {
241
- h: e.h,
242
- s: (r *= (t < 50 ? t : 100 - t) / 100) > 0 ? 2 * r / (t + r) * 100 : 0,
243
- v: t + r,
244
- a: e.a
245
- };
246
- },
247
- N = function N(e) {
248
- var r = e.s,
249
- t = e.v,
250
- n = e.a,
251
- o = (200 - r) * t / 100;
252
- return {
253
- h: b(e.h),
254
- s: b(o > 0 && o < 200 ? r * t / 100 / (o <= 100 ? o : 200 - o) * 100 : 0),
255
- l: b(o / 2),
256
- a: b(n, 2)
257
- };
258
- },
259
- w = function w(e) {
260
- var r = N(e);
261
- return "hsl(" + r.h + ", " + r.s + "%, " + r.l + "%)";
262
- },
263
- y = function y(e) {
264
- var r = N(e);
265
- return "hsla(" + r.h + ", " + r.s + "%, " + r.l + "%, " + r.a + ")";
266
- },
267
- q = function q(e) {
268
- var r = e.h,
269
- t = e.s,
270
- n = e.v,
271
- o = e.a;
272
- r = r / 360 * 6, t /= 100, n /= 100;
273
- var a = Math.floor(r),
274
- l = n * (1 - t),
275
- u = n * (1 - (r - a) * t),
276
- c = n * (1 - (1 - r + a) * t),
277
- i = a % 6;
278
- return {
279
- r: b(255 * [n, u, l, l, c, n][i]),
280
- g: b(255 * [c, n, n, u, l, l][i]),
281
- b: b(255 * [l, l, c, n, n, u][i]),
282
- a: b(o, 2)
283
- };
284
- },
285
- I = function I(e) {
286
- var r = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);
287
- return r ? B({
288
- r: Number(r[1]) / (r[2] ? 100 / 255 : 1),
289
- g: Number(r[3]) / (r[4] ? 100 / 255 : 1),
290
- b: Number(r[5]) / (r[6] ? 100 / 255 : 1),
291
- a: void 0 === r[7] ? 1 : Number(r[7]) / (r[8] ? 100 : 1)
292
- }) : {
293
- h: 0,
294
- s: 0,
295
- v: 0,
296
- a: 1
297
- };
298
- },
299
- z = function z(e) {
300
- var r = e.toString(16);
301
- return r.length < 2 ? "0" + r : r;
302
- },
303
- B = function B(e) {
304
- var r = e.r,
305
- t = e.g,
306
- n = e.b,
307
- o = e.a,
308
- a = Math.max(r, t, n),
309
- l = a - Math.min(r, t, n),
310
- u = l ? a === r ? (t - n) / l : a === t ? 2 + (n - r) / l : 4 + (r - t) / l : 0;
311
- return {
312
- h: b(60 * (u < 0 ? u + 6 : u)),
313
- s: b(a ? l / a * 100 : 0),
314
- v: b(a / 255 * 100),
315
- a: o
316
- };
317
- },
318
- K = React__default.memo(function (r) {
319
- var t = r.hue,
320
- n = r.onChange,
321
- o = g(["react-colorful__hue", r.className]);
322
- return React__default.createElement("div", {
323
- className: o
324
- }, React__default.createElement(m, {
325
- onMove: function onMove(e) {
326
- n({
327
- h: 360 * e.left
328
- });
329
- },
330
- onKey: function onKey(e) {
331
- n({
332
- h: s(t + 360 * e.left, 0, 360)
333
- });
334
- },
335
- "aria-label": "Hue",
336
- "aria-valuetext": b(t)
337
- }, React__default.createElement(p, {
338
- className: "react-colorful__hue-pointer",
339
- left: t / 360,
340
- color: w({
341
- h: t,
342
- s: 100,
343
- v: 100,
344
- a: 1
345
- })
346
- })));
347
- }),
348
- L = React__default.memo(function (r) {
349
- var t = r.hsva,
350
- n = r.onChange,
351
- o = {
352
- backgroundColor: w({
353
- h: t.h,
354
- s: 100,
355
- v: 100,
356
- a: 1
357
- })
358
- };
359
- return React__default.createElement("div", {
360
- className: "react-colorful__saturation",
361
- style: o
362
- }, React__default.createElement(m, {
363
- onMove: function onMove(e) {
364
- n({
365
- s: 100 * e.left,
366
- v: 100 - 100 * e.top
367
- });
368
- },
369
- onKey: function onKey(e) {
370
- n({
371
- s: s(t.s + 100 * e.left, 0, 100),
372
- v: s(t.v - 100 * e.top, 0, 100)
373
- });
374
- },
375
- "aria-label": "Color",
376
- "aria-valuetext": "Saturation " + b(t.s) + "%, Brightness " + b(t.v) + "%"
377
- }, React__default.createElement(p, {
378
- className: "react-colorful__saturation-pointer",
379
- top: 1 - t.v / 100,
380
- left: t.s / 100,
381
- color: w(t)
382
- })));
383
- }),
384
- A = function A(e, r) {
385
- if (e === r) return !0;
386
-
387
- for (var t in e) {
388
- if (e[t] !== r[t]) return !1;
389
- }
390
-
391
- return !0;
392
- },
393
- S = function S(e, r) {
394
- return e.replace(/\s/g, "") === r.replace(/\s/g, "");
395
- };
396
-
397
- function T(e, t, l) {
398
- var u = i(l),
399
- c = useState(function () {
400
- return e.toHsva(t);
401
- }),
402
- s = c[0],
403
- f = c[1],
404
- v = useRef({
405
- color: t,
406
- hsva: s
407
- });
408
- useEffect(function () {
409
- if (!e.equal(t, v.current.color)) {
410
- var r = e.toHsva(t);
411
- v.current = {
412
- hsva: r,
413
- color: t
414
- }, f(r);
415
- }
416
- }, [t, e]), useEffect(function () {
417
- var r;
418
- A(s, v.current.hsva) || e.equal(r = e.fromHsva(s), v.current.color) || (v.current = {
419
- hsva: s,
420
- color: r
421
- }, u(r));
422
- }, [s, e, u]);
423
- var d = useCallback(function (e) {
424
- f(function (r) {
425
- return Object.assign({}, r, e);
426
- });
427
- }, []);
428
- return [s, d];
429
- }
430
-
431
- var P = "undefined" != typeof window ? useLayoutEffect : useEffect,
432
- X = function X() {
433
- return "undefined" != typeof __webpack_nonce__ ? __webpack_nonce__ : void 0;
434
- },
435
- R = new Map(),
436
- V = function V(e) {
437
- P(function () {
438
- var r = e.current ? e.current.ownerDocument : document;
439
-
440
- if (void 0 !== r && !R.has(r)) {
441
- var t = r.createElement("style");
442
- t.innerHTML = '.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}', R.set(r, t);
443
- var n = X();
444
- n && t.setAttribute("nonce", n), r.head.appendChild(t);
445
- }
446
- }, []);
447
- },
448
- $ = function $(t) {
449
- var n = t.className,
450
- o = t.colorModel,
451
- a = t.color,
452
- l = void 0 === a ? o.defaultColor : a,
453
- i = t.onChange,
454
- s = c(t, ["className", "colorModel", "color", "onChange"]),
455
- f = useRef(null);
456
- V(f);
457
- var v = T(o, l, i),
458
- d = v[0],
459
- h = v[1],
460
- m = g(["react-colorful", n]);
461
- return React__default.createElement("div", u({}, s, {
462
- ref: f,
463
- className: m
464
- }), React__default.createElement(L, {
465
- hsva: d,
466
- onChange: h
467
- }), React__default.createElement(K, {
468
- hue: d.h,
469
- onChange: h,
470
- className: "react-colorful__last-control"
471
- }));
472
- },
473
- G = {
474
- defaultColor: "000",
475
- toHsva: function toHsva(e) {
476
- return B(x(e));
477
- },
478
- fromHsva: function fromHsva(e) {
479
- return t = (r = q(e)).g, n = r.b, "#" + z(r.r) + z(t) + z(n);
480
- var r, t, n;
481
- },
482
- equal: function equal(e, r) {
483
- return e.toLowerCase() === r.toLowerCase() || A(x(e), x(r));
484
- }
485
- },
486
- J = function J(r) {
487
- return React__default.createElement($, u({}, r, {
488
- colorModel: G
489
- }));
490
- },
491
- Q = function Q(r) {
492
- var t = r.className,
493
- n = r.hsva,
494
- o = r.onChange,
495
- a = {
496
- backgroundImage: "linear-gradient(90deg, " + y(Object.assign({}, n, {
497
- a: 0
498
- })) + ", " + y(Object.assign({}, n, {
499
- a: 1
500
- })) + ")"
501
- },
502
- l = g(["react-colorful__alpha", t]);
503
- return React__default.createElement("div", {
504
- className: l
505
- }, React__default.createElement("div", {
506
- className: "react-colorful__alpha-gradient",
507
- style: a
508
- }), React__default.createElement(m, {
509
- onMove: function onMove(e) {
510
- o({
511
- a: e.left
512
- });
513
- },
514
- onKey: function onKey(e) {
515
- o({
516
- a: s(n.a + e.left)
517
- });
518
- },
519
- "aria-label": "Alpha",
520
- "aria-valuetext": b(100 * n.a) + "%"
521
- }, React__default.createElement(p, {
522
- className: "react-colorful__alpha-pointer",
523
- left: n.a,
524
- color: y(n)
525
- })));
526
- },
527
- U = function U(t) {
528
- var n = t.className,
529
- o = t.colorModel,
530
- a = t.color,
531
- l = void 0 === a ? o.defaultColor : a,
532
- i = t.onChange,
533
- s = c(t, ["className", "colorModel", "color", "onChange"]),
534
- f = useRef(null);
535
- V(f);
536
- var v = T(o, l, i),
537
- d = v[0],
538
- h = v[1],
539
- m = g(["react-colorful", n]);
540
- return React__default.createElement("div", u({}, s, {
541
- ref: f,
542
- className: m
543
- }), React__default.createElement(L, {
544
- hsva: d,
545
- onChange: h
546
- }), React__default.createElement(K, {
547
- hue: d.h,
548
- onChange: h
549
- }), React__default.createElement(Q, {
550
- hsva: d,
551
- onChange: h,
552
- className: "react-colorful__last-control"
553
- }));
554
- },
555
- ee = {
556
- defaultColor: "hsla(0, 0%, 0%, 1)",
557
- toHsva: E,
558
- fromHsva: y,
559
- equal: S
560
- },
561
- re = function re(r) {
562
- return React__default.createElement(U, u({}, r, {
563
- colorModel: ee
564
- }));
565
- },
566
- ge = {
567
- defaultColor: "rgba(0, 0, 0, 1)",
568
- toHsva: I,
569
- fromHsva: function fromHsva(e) {
570
- var r = q(e);
571
- return "rgba(" + r.r + ", " + r.g + ", " + r.b + ", " + r.a + ")";
572
- },
573
- equal: S
574
- },
575
- pe = function pe(r) {
576
- return React__default.createElement(U, u({}, r, {
577
- colorModel: ge
578
- }));
579
- };
580
-
581
- var colorName = {
582
- "aliceblue": [240, 248, 255],
583
- "antiquewhite": [250, 235, 215],
584
- "aqua": [0, 255, 255],
585
- "aquamarine": [127, 255, 212],
586
- "azure": [240, 255, 255],
587
- "beige": [245, 245, 220],
588
- "bisque": [255, 228, 196],
589
- "black": [0, 0, 0],
590
- "blanchedalmond": [255, 235, 205],
591
- "blue": [0, 0, 255],
592
- "blueviolet": [138, 43, 226],
593
- "brown": [165, 42, 42],
594
- "burlywood": [222, 184, 135],
595
- "cadetblue": [95, 158, 160],
596
- "chartreuse": [127, 255, 0],
597
- "chocolate": [210, 105, 30],
598
- "coral": [255, 127, 80],
599
- "cornflowerblue": [100, 149, 237],
600
- "cornsilk": [255, 248, 220],
601
- "crimson": [220, 20, 60],
602
- "cyan": [0, 255, 255],
603
- "darkblue": [0, 0, 139],
604
- "darkcyan": [0, 139, 139],
605
- "darkgoldenrod": [184, 134, 11],
606
- "darkgray": [169, 169, 169],
607
- "darkgreen": [0, 100, 0],
608
- "darkgrey": [169, 169, 169],
609
- "darkkhaki": [189, 183, 107],
610
- "darkmagenta": [139, 0, 139],
611
- "darkolivegreen": [85, 107, 47],
612
- "darkorange": [255, 140, 0],
613
- "darkorchid": [153, 50, 204],
614
- "darkred": [139, 0, 0],
615
- "darksalmon": [233, 150, 122],
616
- "darkseagreen": [143, 188, 143],
617
- "darkslateblue": [72, 61, 139],
618
- "darkslategray": [47, 79, 79],
619
- "darkslategrey": [47, 79, 79],
620
- "darkturquoise": [0, 206, 209],
621
- "darkviolet": [148, 0, 211],
622
- "deeppink": [255, 20, 147],
623
- "deepskyblue": [0, 191, 255],
624
- "dimgray": [105, 105, 105],
625
- "dimgrey": [105, 105, 105],
626
- "dodgerblue": [30, 144, 255],
627
- "firebrick": [178, 34, 34],
628
- "floralwhite": [255, 250, 240],
629
- "forestgreen": [34, 139, 34],
630
- "fuchsia": [255, 0, 255],
631
- "gainsboro": [220, 220, 220],
632
- "ghostwhite": [248, 248, 255],
633
- "gold": [255, 215, 0],
634
- "goldenrod": [218, 165, 32],
635
- "gray": [128, 128, 128],
636
- "green": [0, 128, 0],
637
- "greenyellow": [173, 255, 47],
638
- "grey": [128, 128, 128],
639
- "honeydew": [240, 255, 240],
640
- "hotpink": [255, 105, 180],
641
- "indianred": [205, 92, 92],
642
- "indigo": [75, 0, 130],
643
- "ivory": [255, 255, 240],
644
- "khaki": [240, 230, 140],
645
- "lavender": [230, 230, 250],
646
- "lavenderblush": [255, 240, 245],
647
- "lawngreen": [124, 252, 0],
648
- "lemonchiffon": [255, 250, 205],
649
- "lightblue": [173, 216, 230],
650
- "lightcoral": [240, 128, 128],
651
- "lightcyan": [224, 255, 255],
652
- "lightgoldenrodyellow": [250, 250, 210],
653
- "lightgray": [211, 211, 211],
654
- "lightgreen": [144, 238, 144],
655
- "lightgrey": [211, 211, 211],
656
- "lightpink": [255, 182, 193],
657
- "lightsalmon": [255, 160, 122],
658
- "lightseagreen": [32, 178, 170],
659
- "lightskyblue": [135, 206, 250],
660
- "lightslategray": [119, 136, 153],
661
- "lightslategrey": [119, 136, 153],
662
- "lightsteelblue": [176, 196, 222],
663
- "lightyellow": [255, 255, 224],
664
- "lime": [0, 255, 0],
665
- "limegreen": [50, 205, 50],
666
- "linen": [250, 240, 230],
667
- "magenta": [255, 0, 255],
668
- "maroon": [128, 0, 0],
669
- "mediumaquamarine": [102, 205, 170],
670
- "mediumblue": [0, 0, 205],
671
- "mediumorchid": [186, 85, 211],
672
- "mediumpurple": [147, 112, 219],
673
- "mediumseagreen": [60, 179, 113],
674
- "mediumslateblue": [123, 104, 238],
675
- "mediumspringgreen": [0, 250, 154],
676
- "mediumturquoise": [72, 209, 204],
677
- "mediumvioletred": [199, 21, 133],
678
- "midnightblue": [25, 25, 112],
679
- "mintcream": [245, 255, 250],
680
- "mistyrose": [255, 228, 225],
681
- "moccasin": [255, 228, 181],
682
- "navajowhite": [255, 222, 173],
683
- "navy": [0, 0, 128],
684
- "oldlace": [253, 245, 230],
685
- "olive": [128, 128, 0],
686
- "olivedrab": [107, 142, 35],
687
- "orange": [255, 165, 0],
688
- "orangered": [255, 69, 0],
689
- "orchid": [218, 112, 214],
690
- "palegoldenrod": [238, 232, 170],
691
- "palegreen": [152, 251, 152],
692
- "paleturquoise": [175, 238, 238],
693
- "palevioletred": [219, 112, 147],
694
- "papayawhip": [255, 239, 213],
695
- "peachpuff": [255, 218, 185],
696
- "peru": [205, 133, 63],
697
- "pink": [255, 192, 203],
698
- "plum": [221, 160, 221],
699
- "powderblue": [176, 224, 230],
700
- "purple": [128, 0, 128],
701
- "rebeccapurple": [102, 51, 153],
702
- "red": [255, 0, 0],
703
- "rosybrown": [188, 143, 143],
704
- "royalblue": [65, 105, 225],
705
- "saddlebrown": [139, 69, 19],
706
- "salmon": [250, 128, 114],
707
- "sandybrown": [244, 164, 96],
708
- "seagreen": [46, 139, 87],
709
- "seashell": [255, 245, 238],
710
- "sienna": [160, 82, 45],
711
- "silver": [192, 192, 192],
712
- "skyblue": [135, 206, 235],
713
- "slateblue": [106, 90, 205],
714
- "slategray": [112, 128, 144],
715
- "slategrey": [112, 128, 144],
716
- "snow": [255, 250, 250],
717
- "springgreen": [0, 255, 127],
718
- "steelblue": [70, 130, 180],
719
- "tan": [210, 180, 140],
720
- "teal": [0, 128, 128],
721
- "thistle": [216, 191, 216],
722
- "tomato": [255, 99, 71],
723
- "turquoise": [64, 224, 208],
724
- "violet": [238, 130, 238],
725
- "wheat": [245, 222, 179],
726
- "white": [255, 255, 255],
727
- "whitesmoke": [245, 245, 245],
728
- "yellow": [255, 255, 0],
729
- "yellowgreen": [154, 205, 50]
730
- };
731
- /* MIT license */
732
-
733
- /* eslint-disable no-mixed-operators */
734
-
735
- var cssKeywords = colorName; // NOTE: conversions should only return primitive values (i.e. arrays, or
736
- // values that give correct `typeof` results).
737
- // do not use box values types (i.e. Number(), String(), etc.)
738
-
739
- var reverseKeywords = {};
740
-
741
- for (var _i = 0, _Object$keys = Object.keys(cssKeywords); _i < _Object$keys.length; _i++) {
742
- var key = _Object$keys[_i];
743
- reverseKeywords[cssKeywords[key]] = key;
744
- }
745
-
746
- var convert$1 = {
747
- rgb: {
748
- channels: 3,
749
- labels: 'rgb'
750
- },
751
- hsl: {
752
- channels: 3,
753
- labels: 'hsl'
754
- },
755
- hsv: {
756
- channels: 3,
757
- labels: 'hsv'
758
- },
759
- hwb: {
760
- channels: 3,
761
- labels: 'hwb'
762
- },
763
- cmyk: {
764
- channels: 4,
765
- labels: 'cmyk'
766
- },
767
- xyz: {
768
- channels: 3,
769
- labels: 'xyz'
770
- },
771
- lab: {
772
- channels: 3,
773
- labels: 'lab'
774
- },
775
- lch: {
776
- channels: 3,
777
- labels: 'lch'
778
- },
779
- hex: {
780
- channels: 1,
781
- labels: ['hex']
782
- },
783
- keyword: {
784
- channels: 1,
785
- labels: ['keyword']
786
- },
787
- ansi16: {
788
- channels: 1,
789
- labels: ['ansi16']
790
- },
791
- ansi256: {
792
- channels: 1,
793
- labels: ['ansi256']
794
- },
795
- hcg: {
796
- channels: 3,
797
- labels: ['h', 'c', 'g']
798
- },
799
- apple: {
800
- channels: 3,
801
- labels: ['r16', 'g16', 'b16']
802
- },
803
- gray: {
804
- channels: 1,
805
- labels: ['gray']
806
- }
807
- };
808
- var conversions$2 = convert$1; // Hide .channels and .labels properties
809
-
810
- for (var _i2 = 0, _Object$keys2 = Object.keys(convert$1); _i2 < _Object$keys2.length; _i2++) {
811
- var model = _Object$keys2[_i2];
812
-
813
- if (!('channels' in convert$1[model])) {
814
- throw new Error('missing channels property: ' + model);
815
- }
816
-
817
- if (!('labels' in convert$1[model])) {
818
- throw new Error('missing channel labels property: ' + model);
819
- }
820
-
821
- if (convert$1[model].labels.length !== convert$1[model].channels) {
822
- throw new Error('channel and label counts mismatch: ' + model);
823
- }
824
-
825
- var _convert$1$model = convert$1[model],
826
- channels = _convert$1$model.channels,
827
- labels = _convert$1$model.labels;
828
- delete convert$1[model].channels;
829
- delete convert$1[model].labels;
830
- Object.defineProperty(convert$1[model], 'channels', {
831
- value: channels
832
- });
833
- Object.defineProperty(convert$1[model], 'labels', {
834
- value: labels
835
- });
836
- }
837
-
838
- convert$1.rgb.hsl = function (rgb) {
839
- var r = rgb[0] / 255;
840
- var g = rgb[1] / 255;
841
- var b = rgb[2] / 255;
842
- var min = Math.min(r, g, b);
843
- var max = Math.max(r, g, b);
844
- var delta = max - min;
845
- var h;
846
- var s;
847
-
848
- if (max === min) {
849
- h = 0;
850
- } else if (r === max) {
851
- h = (g - b) / delta;
852
- } else if (g === max) {
853
- h = 2 + (b - r) / delta;
854
- } else if (b === max) {
855
- h = 4 + (r - g) / delta;
856
- }
857
-
858
- h = Math.min(h * 60, 360);
859
-
860
- if (h < 0) {
861
- h += 360;
862
- }
863
-
864
- var l = (min + max) / 2;
865
-
866
- if (max === min) {
867
- s = 0;
868
- } else if (l <= 0.5) {
869
- s = delta / (max + min);
870
- } else {
871
- s = delta / (2 - max - min);
872
- }
873
-
874
- return [h, s * 100, l * 100];
875
- };
876
-
877
- convert$1.rgb.hsv = function (rgb) {
878
- var rdif;
879
- var gdif;
880
- var bdif;
881
- var h;
882
- var s;
883
- var r = rgb[0] / 255;
884
- var g = rgb[1] / 255;
885
- var b = rgb[2] / 255;
886
- var v = Math.max(r, g, b);
887
- var diff = v - Math.min(r, g, b);
888
-
889
- var diffc = function diffc(c) {
890
- return (v - c) / 6 / diff + 1 / 2;
891
- };
892
-
893
- if (diff === 0) {
894
- h = 0;
895
- s = 0;
896
- } else {
897
- s = diff / v;
898
- rdif = diffc(r);
899
- gdif = diffc(g);
900
- bdif = diffc(b);
901
-
902
- if (r === v) {
903
- h = bdif - gdif;
904
- } else if (g === v) {
905
- h = 1 / 3 + rdif - bdif;
906
- } else if (b === v) {
907
- h = 2 / 3 + gdif - rdif;
908
- }
909
-
910
- if (h < 0) {
911
- h += 1;
912
- } else if (h > 1) {
913
- h -= 1;
914
- }
915
- }
916
-
917
- return [h * 360, s * 100, v * 100];
918
- };
919
-
920
- convert$1.rgb.hwb = function (rgb) {
921
- var r = rgb[0];
922
- var g = rgb[1];
923
- var b = rgb[2];
924
- var h = convert$1.rgb.hsl(rgb)[0];
925
- var w = 1 / 255 * Math.min(r, Math.min(g, b));
926
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
927
- return [h, w * 100, b * 100];
928
- };
929
-
930
- convert$1.rgb.cmyk = function (rgb) {
931
- var r = rgb[0] / 255;
932
- var g = rgb[1] / 255;
933
- var b = rgb[2] / 255;
934
- var k = Math.min(1 - r, 1 - g, 1 - b);
935
- var c = (1 - r - k) / (1 - k) || 0;
936
- var m = (1 - g - k) / (1 - k) || 0;
937
- var y = (1 - b - k) / (1 - k) || 0;
938
- return [c * 100, m * 100, y * 100, k * 100];
939
- };
940
-
941
- function comparativeDistance(x, y) {
942
- /*
943
- See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
944
- */
945
- return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
946
- }
947
-
948
- convert$1.rgb.keyword = function (rgb) {
949
- var reversed = reverseKeywords[rgb];
950
-
951
- if (reversed) {
952
- return reversed;
953
- }
954
-
955
- var currentClosestDistance = Infinity;
956
- var currentClosestKeyword;
957
-
958
- for (var _i3 = 0, _Object$keys3 = Object.keys(cssKeywords); _i3 < _Object$keys3.length; _i3++) {
959
- var keyword = _Object$keys3[_i3];
960
- var value = cssKeywords[keyword]; // Compute comparative distance
961
-
962
- var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest
963
-
964
- if (distance < currentClosestDistance) {
965
- currentClosestDistance = distance;
966
- currentClosestKeyword = keyword;
967
- }
968
- }
969
-
970
- return currentClosestKeyword;
971
- };
972
-
973
- convert$1.keyword.rgb = function (keyword) {
974
- return cssKeywords[keyword];
975
- };
976
-
977
- convert$1.rgb.xyz = function (rgb) {
978
- var r = rgb[0] / 255;
979
- var g = rgb[1] / 255;
980
- var b = rgb[2] / 255; // Assume sRGB
981
-
982
- r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
983
- g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
984
- b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
985
- var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
986
- var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
987
- var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
988
- return [x * 100, y * 100, z * 100];
989
- };
990
-
991
- convert$1.rgb.lab = function (rgb) {
992
- var xyz = convert$1.rgb.xyz(rgb);
993
- var x = xyz[0];
994
- var y = xyz[1];
995
- var z = xyz[2];
996
- x /= 95.047;
997
- y /= 100;
998
- z /= 108.883;
999
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
1000
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
1001
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
1002
- var l = 116 * y - 16;
1003
- var a = 500 * (x - y);
1004
- var b = 200 * (y - z);
1005
- return [l, a, b];
1006
- };
1007
-
1008
- convert$1.hsl.rgb = function (hsl) {
1009
- var h = hsl[0] / 360;
1010
- var s = hsl[1] / 100;
1011
- var l = hsl[2] / 100;
1012
- var t2;
1013
- var t3;
1014
- var val;
1015
-
1016
- if (s === 0) {
1017
- val = l * 255;
1018
- return [val, val, val];
1019
- }
1020
-
1021
- if (l < 0.5) {
1022
- t2 = l * (1 + s);
1023
- } else {
1024
- t2 = l + s - l * s;
1025
- }
1026
-
1027
- var t1 = 2 * l - t2;
1028
- var rgb = [0, 0, 0];
1029
-
1030
- for (var _i4 = 0; _i4 < 3; _i4++) {
1031
- t3 = h + 1 / 3 * -(_i4 - 1);
1032
-
1033
- if (t3 < 0) {
1034
- t3++;
1035
- }
1036
-
1037
- if (t3 > 1) {
1038
- t3--;
1039
- }
1040
-
1041
- if (6 * t3 < 1) {
1042
- val = t1 + (t2 - t1) * 6 * t3;
1043
- } else if (2 * t3 < 1) {
1044
- val = t2;
1045
- } else if (3 * t3 < 2) {
1046
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
1047
- } else {
1048
- val = t1;
1049
- }
1050
-
1051
- rgb[_i4] = val * 255;
1052
- }
1053
-
1054
- return rgb;
1055
- };
1056
-
1057
- convert$1.hsl.hsv = function (hsl) {
1058
- var h = hsl[0];
1059
- var s = hsl[1] / 100;
1060
- var l = hsl[2] / 100;
1061
- var smin = s;
1062
- var lmin = Math.max(l, 0.01);
1063
- l *= 2;
1064
- s *= l <= 1 ? l : 2 - l;
1065
- smin *= lmin <= 1 ? lmin : 2 - lmin;
1066
- var v = (l + s) / 2;
1067
- var sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
1068
- return [h, sv * 100, v * 100];
1069
- };
1070
-
1071
- convert$1.hsv.rgb = function (hsv) {
1072
- var h = hsv[0] / 60;
1073
- var s = hsv[1] / 100;
1074
- var v = hsv[2] / 100;
1075
- var hi = Math.floor(h) % 6;
1076
- var f = h - Math.floor(h);
1077
- var p = 255 * v * (1 - s);
1078
- var q = 255 * v * (1 - s * f);
1079
- var t = 255 * v * (1 - s * (1 - f));
1080
- v *= 255;
1081
-
1082
- switch (hi) {
1083
- case 0:
1084
- return [v, t, p];
1085
-
1086
- case 1:
1087
- return [q, v, p];
1088
-
1089
- case 2:
1090
- return [p, v, t];
1091
-
1092
- case 3:
1093
- return [p, q, v];
1094
-
1095
- case 4:
1096
- return [t, p, v];
1097
-
1098
- case 5:
1099
- return [v, p, q];
1100
- }
1101
- };
1102
-
1103
- convert$1.hsv.hsl = function (hsv) {
1104
- var h = hsv[0];
1105
- var s = hsv[1] / 100;
1106
- var v = hsv[2] / 100;
1107
- var vmin = Math.max(v, 0.01);
1108
- var sl;
1109
- var l;
1110
- l = (2 - s) * v;
1111
- var lmin = (2 - s) * vmin;
1112
- sl = s * vmin;
1113
- sl /= lmin <= 1 ? lmin : 2 - lmin;
1114
- sl = sl || 0;
1115
- l /= 2;
1116
- return [h, sl * 100, l * 100];
1117
- }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
1118
-
1119
-
1120
- convert$1.hwb.rgb = function (hwb) {
1121
- var h = hwb[0] / 360;
1122
- var wh = hwb[1] / 100;
1123
- var bl = hwb[2] / 100;
1124
- var ratio = wh + bl;
1125
- var f; // Wh + bl cant be > 1
1126
-
1127
- if (ratio > 1) {
1128
- wh /= ratio;
1129
- bl /= ratio;
1130
- }
1131
-
1132
- var i = Math.floor(6 * h);
1133
- var v = 1 - bl;
1134
- f = 6 * h - i;
1135
-
1136
- if ((i & 0x01) !== 0) {
1137
- f = 1 - f;
1138
- }
1139
-
1140
- var n = wh + f * (v - wh); // Linear interpolation
1141
-
1142
- var r;
1143
- var g;
1144
- var b;
1145
- /* eslint-disable max-statements-per-line,no-multi-spaces */
1146
-
1147
- switch (i) {
1148
- default:
1149
- case 6:
1150
- case 0:
1151
- r = v;
1152
- g = n;
1153
- b = wh;
1154
- break;
1155
-
1156
- case 1:
1157
- r = n;
1158
- g = v;
1159
- b = wh;
1160
- break;
1161
-
1162
- case 2:
1163
- r = wh;
1164
- g = v;
1165
- b = n;
1166
- break;
1167
-
1168
- case 3:
1169
- r = wh;
1170
- g = n;
1171
- b = v;
1172
- break;
1173
-
1174
- case 4:
1175
- r = n;
1176
- g = wh;
1177
- b = v;
1178
- break;
1179
-
1180
- case 5:
1181
- r = v;
1182
- g = wh;
1183
- b = n;
1184
- break;
1185
- }
1186
- /* eslint-enable max-statements-per-line,no-multi-spaces */
1187
-
1188
-
1189
- return [r * 255, g * 255, b * 255];
1190
- };
1191
-
1192
- convert$1.cmyk.rgb = function (cmyk) {
1193
- var c = cmyk[0] / 100;
1194
- var m = cmyk[1] / 100;
1195
- var y = cmyk[2] / 100;
1196
- var k = cmyk[3] / 100;
1197
- var r = 1 - Math.min(1, c * (1 - k) + k);
1198
- var g = 1 - Math.min(1, m * (1 - k) + k);
1199
- var b = 1 - Math.min(1, y * (1 - k) + k);
1200
- return [r * 255, g * 255, b * 255];
1201
- };
1202
-
1203
- convert$1.xyz.rgb = function (xyz) {
1204
- var x = xyz[0] / 100;
1205
- var y = xyz[1] / 100;
1206
- var z = xyz[2] / 100;
1207
- var r;
1208
- var g;
1209
- var b;
1210
- r = x * 3.2406 + y * -1.5372 + z * -0.4986;
1211
- g = x * -0.9689 + y * 1.8758 + z * 0.0415;
1212
- b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB
1213
-
1214
- r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
1215
- g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
1216
- b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
1217
- r = Math.min(Math.max(0, r), 1);
1218
- g = Math.min(Math.max(0, g), 1);
1219
- b = Math.min(Math.max(0, b), 1);
1220
- return [r * 255, g * 255, b * 255];
1221
- };
1222
-
1223
- convert$1.xyz.lab = function (xyz) {
1224
- var x = xyz[0];
1225
- var y = xyz[1];
1226
- var z = xyz[2];
1227
- x /= 95.047;
1228
- y /= 100;
1229
- z /= 108.883;
1230
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
1231
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
1232
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
1233
- var l = 116 * y - 16;
1234
- var a = 500 * (x - y);
1235
- var b = 200 * (y - z);
1236
- return [l, a, b];
1237
- };
1238
-
1239
- convert$1.lab.xyz = function (lab) {
1240
- var l = lab[0];
1241
- var a = lab[1];
1242
- var b = lab[2];
1243
- var x;
1244
- var y;
1245
- var z;
1246
- y = (l + 16) / 116;
1247
- x = a / 500 + y;
1248
- z = y - b / 200;
1249
- var y2 = Math.pow(y, 3);
1250
- var x2 = Math.pow(x, 3);
1251
- var z2 = Math.pow(z, 3);
1252
- y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
1253
- x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
1254
- z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
1255
- x *= 95.047;
1256
- y *= 100;
1257
- z *= 108.883;
1258
- return [x, y, z];
1259
- };
1260
-
1261
- convert$1.lab.lch = function (lab) {
1262
- var l = lab[0];
1263
- var a = lab[1];
1264
- var b = lab[2];
1265
- var h;
1266
- var hr = Math.atan2(b, a);
1267
- h = hr * 360 / 2 / Math.PI;
1268
-
1269
- if (h < 0) {
1270
- h += 360;
1271
- }
1272
-
1273
- var c = Math.sqrt(a * a + b * b);
1274
- return [l, c, h];
1275
- };
1276
-
1277
- convert$1.lch.lab = function (lch) {
1278
- var l = lch[0];
1279
- var c = lch[1];
1280
- var h = lch[2];
1281
- var hr = h / 360 * 2 * Math.PI;
1282
- var a = c * Math.cos(hr);
1283
- var b = c * Math.sin(hr);
1284
- return [l, a, b];
1285
- };
1286
-
1287
- convert$1.rgb.ansi16 = function (args) {
1288
- var saturation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1289
-
1290
- var _args = _slicedToArray(args, 3),
1291
- r = _args[0],
1292
- g = _args[1],
1293
- b = _args[2];
1294
-
1295
- var value = saturation === null ? convert$1.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization
1296
-
1297
- value = Math.round(value / 50);
1298
-
1299
- if (value === 0) {
1300
- return 30;
1301
- }
1302
-
1303
- var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
1304
-
1305
- if (value === 2) {
1306
- ansi += 60;
1307
- }
1308
-
1309
- return ansi;
1310
- };
1311
-
1312
- convert$1.hsv.ansi16 = function (args) {
1313
- // Optimization here; we already know the value and don't need to get
1314
- // it converted for us.
1315
- return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]);
1316
- };
1317
-
1318
- convert$1.rgb.ansi256 = function (args) {
1319
- var r = args[0];
1320
- var g = args[1];
1321
- var b = args[2]; // We use the extended greyscale palette here, with the exception of
1322
- // black and white. normal palette only has 4 greyscale shades.
1323
-
1324
- if (r === g && g === b) {
1325
- if (r < 8) {
1326
- return 16;
1327
- }
1328
-
1329
- if (r > 248) {
1330
- return 231;
1331
- }
1332
-
1333
- return Math.round((r - 8) / 247 * 24) + 232;
1334
- }
1335
-
1336
- var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
1337
- return ansi;
1338
- };
1339
-
1340
- convert$1.ansi16.rgb = function (args) {
1341
- var color = args % 10; // Handle greyscale
1342
-
1343
- if (color === 0 || color === 7) {
1344
- if (args > 50) {
1345
- color += 3.5;
1346
- }
1347
-
1348
- color = color / 10.5 * 255;
1349
- return [color, color, color];
1350
- }
1351
-
1352
- var mult = (~~(args > 50) + 1) * 0.5;
1353
- var r = (color & 1) * mult * 255;
1354
- var g = (color >> 1 & 1) * mult * 255;
1355
- var b = (color >> 2 & 1) * mult * 255;
1356
- return [r, g, b];
1357
- };
1358
-
1359
- convert$1.ansi256.rgb = function (args) {
1360
- // Handle greyscale
1361
- if (args >= 232) {
1362
- var _c = (args - 232) * 10 + 8;
1363
-
1364
- return [_c, _c, _c];
1365
- }
1366
-
1367
- args -= 16;
1368
- var rem;
1369
- var r = Math.floor(args / 36) / 5 * 255;
1370
- var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
1371
- var b = rem % 6 / 5 * 255;
1372
- return [r, g, b];
1373
- };
1374
-
1375
- convert$1.rgb.hex = function (args) {
1376
- var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
1377
- var string = integer.toString(16).toUpperCase();
1378
- return '000000'.substring(string.length) + string;
1379
- };
1380
-
1381
- convert$1.hex.rgb = function (args) {
1382
- var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
1383
-
1384
- if (!match) {
1385
- return [0, 0, 0];
1386
- }
1387
-
1388
- var colorString = match[0];
1389
-
1390
- if (match[0].length === 3) {
1391
- colorString = colorString.split('').map(function (char) {
1392
- return char + char;
1393
- }).join('');
1394
- }
1395
-
1396
- var integer = parseInt(colorString, 16);
1397
- var r = integer >> 16 & 0xFF;
1398
- var g = integer >> 8 & 0xFF;
1399
- var b = integer & 0xFF;
1400
- return [r, g, b];
1401
- };
1402
-
1403
- convert$1.rgb.hcg = function (rgb) {
1404
- var r = rgb[0] / 255;
1405
- var g = rgb[1] / 255;
1406
- var b = rgb[2] / 255;
1407
- var max = Math.max(Math.max(r, g), b);
1408
- var min = Math.min(Math.min(r, g), b);
1409
- var chroma = max - min;
1410
- var grayscale;
1411
- var hue;
1412
-
1413
- if (chroma < 1) {
1414
- grayscale = min / (1 - chroma);
1415
- } else {
1416
- grayscale = 0;
1417
- }
1418
-
1419
- if (chroma <= 0) {
1420
- hue = 0;
1421
- } else if (max === r) {
1422
- hue = (g - b) / chroma % 6;
1423
- } else if (max === g) {
1424
- hue = 2 + (b - r) / chroma;
1425
- } else {
1426
- hue = 4 + (r - g) / chroma;
1427
- }
1428
-
1429
- hue /= 6;
1430
- hue %= 1;
1431
- return [hue * 360, chroma * 100, grayscale * 100];
1432
- };
1433
-
1434
- convert$1.hsl.hcg = function (hsl) {
1435
- var s = hsl[1] / 100;
1436
- var l = hsl[2] / 100;
1437
- var c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l);
1438
- var f = 0;
1439
-
1440
- if (c < 1.0) {
1441
- f = (l - 0.5 * c) / (1.0 - c);
1442
- }
1443
-
1444
- return [hsl[0], c * 100, f * 100];
1445
- };
1446
-
1447
- convert$1.hsv.hcg = function (hsv) {
1448
- var s = hsv[1] / 100;
1449
- var v = hsv[2] / 100;
1450
- var c = s * v;
1451
- var f = 0;
1452
-
1453
- if (c < 1.0) {
1454
- f = (v - c) / (1 - c);
1455
- }
1456
-
1457
- return [hsv[0], c * 100, f * 100];
1458
- };
1459
-
1460
- convert$1.hcg.rgb = function (hcg) {
1461
- var h = hcg[0] / 360;
1462
- var c = hcg[1] / 100;
1463
- var g = hcg[2] / 100;
1464
-
1465
- if (c === 0.0) {
1466
- return [g * 255, g * 255, g * 255];
1467
- }
1468
-
1469
- var pure = [0, 0, 0];
1470
- var hi = h % 1 * 6;
1471
- var v = hi % 1;
1472
- var w = 1 - v;
1473
- var mg = 0;
1474
- /* eslint-disable max-statements-per-line */
1475
-
1476
- switch (Math.floor(hi)) {
1477
- case 0:
1478
- pure[0] = 1;
1479
- pure[1] = v;
1480
- pure[2] = 0;
1481
- break;
1482
-
1483
- case 1:
1484
- pure[0] = w;
1485
- pure[1] = 1;
1486
- pure[2] = 0;
1487
- break;
1488
-
1489
- case 2:
1490
- pure[0] = 0;
1491
- pure[1] = 1;
1492
- pure[2] = v;
1493
- break;
1494
-
1495
- case 3:
1496
- pure[0] = 0;
1497
- pure[1] = w;
1498
- pure[2] = 1;
1499
- break;
1500
-
1501
- case 4:
1502
- pure[0] = v;
1503
- pure[1] = 0;
1504
- pure[2] = 1;
1505
- break;
1506
-
1507
- default:
1508
- pure[0] = 1;
1509
- pure[1] = 0;
1510
- pure[2] = w;
1511
- }
1512
- /* eslint-enable max-statements-per-line */
1513
-
1514
-
1515
- mg = (1.0 - c) * g;
1516
- return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
1517
- };
1518
-
1519
- convert$1.hcg.hsv = function (hcg) {
1520
- var c = hcg[1] / 100;
1521
- var g = hcg[2] / 100;
1522
- var v = c + g * (1.0 - c);
1523
- var f = 0;
1524
-
1525
- if (v > 0.0) {
1526
- f = c / v;
1527
- }
1528
-
1529
- return [hcg[0], f * 100, v * 100];
1530
- };
1531
-
1532
- convert$1.hcg.hsl = function (hcg) {
1533
- var c = hcg[1] / 100;
1534
- var g = hcg[2] / 100;
1535
- var l = g * (1.0 - c) + 0.5 * c;
1536
- var s = 0;
1537
-
1538
- if (l > 0.0 && l < 0.5) {
1539
- s = c / (2 * l);
1540
- } else if (l >= 0.5 && l < 1.0) {
1541
- s = c / (2 * (1 - l));
1542
- }
1543
-
1544
- return [hcg[0], s * 100, l * 100];
1545
- };
1546
-
1547
- convert$1.hcg.hwb = function (hcg) {
1548
- var c = hcg[1] / 100;
1549
- var g = hcg[2] / 100;
1550
- var v = c + g * (1.0 - c);
1551
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
1552
- };
1553
-
1554
- convert$1.hwb.hcg = function (hwb) {
1555
- var w = hwb[1] / 100;
1556
- var b = hwb[2] / 100;
1557
- var v = 1 - b;
1558
- var c = v - w;
1559
- var g = 0;
1560
-
1561
- if (c < 1) {
1562
- g = (v - c) / (1 - c);
1563
- }
1564
-
1565
- return [hwb[0], c * 100, g * 100];
1566
- };
1567
-
1568
- convert$1.apple.rgb = function (apple) {
1569
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
1570
- };
1571
-
1572
- convert$1.rgb.apple = function (rgb) {
1573
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
1574
- };
1575
-
1576
- convert$1.gray.rgb = function (args) {
1577
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
1578
- };
1579
-
1580
- convert$1.gray.hsl = function (args) {
1581
- return [0, 0, args[0]];
1582
- };
1583
-
1584
- convert$1.gray.hsv = convert$1.gray.hsl;
1585
-
1586
- convert$1.gray.hwb = function (gray) {
1587
- return [0, 100, gray[0]];
1588
- };
1589
-
1590
- convert$1.gray.cmyk = function (gray) {
1591
- return [0, 0, 0, gray[0]];
1592
- };
1593
-
1594
- convert$1.gray.lab = function (gray) {
1595
- return [gray[0], 0, 0];
1596
- };
1597
-
1598
- convert$1.gray.hex = function (gray) {
1599
- var val = Math.round(gray[0] / 100 * 255) & 0xFF;
1600
- var integer = (val << 16) + (val << 8) + val;
1601
- var string = integer.toString(16).toUpperCase();
1602
- return '000000'.substring(string.length) + string;
1603
- };
1604
-
1605
- convert$1.rgb.gray = function (rgb) {
1606
- var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
1607
- return [val / 255 * 100];
1608
- };
1609
-
1610
- var conversions$1 = conversions$2;
1611
- /*
1612
- This function routes a model to all other models.
1613
-
1614
- all functions that are routed have a property `.conversion` attached
1615
- to the returned synthetic function. This property is an array
1616
- of strings, each with the steps in between the 'from' and 'to'
1617
- color models (inclusive).
1618
-
1619
- conversions that are not possible simply are not included.
1620
- */
1621
-
1622
- function buildGraph() {
1623
- var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3
1624
-
1625
- var models = Object.keys(conversions$1);
1626
-
1627
- for (var len = models.length, _i5 = 0; _i5 < len; _i5++) {
1628
- graph[models[_i5]] = {
1629
- // http://jsperf.com/1-vs-infinity
1630
- // micro-opt, but this is simple.
1631
- distance: -1,
1632
- parent: null
1633
- };
1634
- }
1635
-
1636
- return graph;
1637
- } // https://en.wikipedia.org/wiki/Breadth-first_search
1638
-
1639
-
1640
- function deriveBFS(fromModel) {
1641
- var graph = buildGraph();
1642
- var queue = [fromModel]; // Unshift -> queue -> pop
1643
-
1644
- graph[fromModel].distance = 0;
1645
-
1646
- while (queue.length) {
1647
- var current = queue.pop();
1648
- var adjacents = Object.keys(conversions$1[current]);
1649
-
1650
- for (var len = adjacents.length, _i6 = 0; _i6 < len; _i6++) {
1651
- var adjacent = adjacents[_i6];
1652
- var node = graph[adjacent];
1653
-
1654
- if (node.distance === -1) {
1655
- node.distance = graph[current].distance + 1;
1656
- node.parent = current;
1657
- queue.unshift(adjacent);
1658
- }
1659
- }
1660
- }
1661
-
1662
- return graph;
1663
- }
1664
-
1665
- function link(from, to) {
1666
- return function (args) {
1667
- return to(from(args));
1668
- };
1669
- }
1670
-
1671
- function wrapConversion(toModel, graph) {
1672
- var path = [graph[toModel].parent, toModel];
1673
- var fn = conversions$1[graph[toModel].parent][toModel];
1674
- var cur = graph[toModel].parent;
1675
-
1676
- while (graph[cur].parent) {
1677
- path.unshift(graph[cur].parent);
1678
- fn = link(conversions$1[graph[cur].parent][cur], fn);
1679
- cur = graph[cur].parent;
1680
- }
1681
-
1682
- fn.conversion = path;
1683
- return fn;
1684
- }
1685
-
1686
- var route$1 = function route$1(fromModel) {
1687
- var graph = deriveBFS(fromModel);
1688
- var conversion = {};
1689
- var models = Object.keys(graph);
1690
-
1691
- for (var len = models.length, _i7 = 0; _i7 < len; _i7++) {
1692
- var toModel = models[_i7];
1693
- var node = graph[toModel];
1694
-
1695
- if (node.parent === null) {
1696
- // No possible conversion, or this node is the source model.
1697
- continue;
1698
- }
1699
-
1700
- conversion[toModel] = wrapConversion(toModel, graph);
1701
- }
1702
-
1703
- return conversion;
1704
- };
1705
-
1706
- var conversions = conversions$2;
1707
- var route = route$1;
1708
- var convert = {};
1709
- var models = Object.keys(conversions);
1710
-
1711
- function wrapRaw(fn) {
1712
- var wrappedFn = function wrappedFn() {
1713
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1714
- args[_key] = arguments[_key];
1715
- }
1716
-
1717
- var arg0 = args[0];
1718
-
1719
- if (arg0 === undefined || arg0 === null) {
1720
- return arg0;
1721
- }
1722
-
1723
- if (arg0.length > 1) {
1724
- args = arg0;
1725
- }
1726
-
1727
- return fn(args);
1728
- }; // Preserve .conversion property if there is one
1729
-
1730
-
1731
- if ('conversion' in fn) {
1732
- wrappedFn.conversion = fn.conversion;
1733
- }
1734
-
1735
- return wrappedFn;
1736
- }
1737
-
1738
- function wrapRounded(fn) {
1739
- var wrappedFn = function wrappedFn() {
1740
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1741
- args[_key2] = arguments[_key2];
1742
- }
1743
-
1744
- var arg0 = args[0];
1745
-
1746
- if (arg0 === undefined || arg0 === null) {
1747
- return arg0;
1748
- }
1749
-
1750
- if (arg0.length > 1) {
1751
- args = arg0;
1752
- }
1753
-
1754
- var result = fn(args); // We're assuming the result is an array here.
1755
- // see notice in conversions.js; don't use box types
1756
- // in conversion functions.
1757
-
1758
- if (_typeof(result) === 'object') {
1759
- for (var len = result.length, _i8 = 0; _i8 < len; _i8++) {
1760
- result[_i8] = Math.round(result[_i8]);
1761
- }
1762
- }
1763
-
1764
- return result;
1765
- }; // Preserve .conversion property if there is one
1766
-
1767
-
1768
- if ('conversion' in fn) {
1769
- wrappedFn.conversion = fn.conversion;
1770
- }
1771
-
1772
- return wrappedFn;
1773
- }
1774
-
1775
- models.forEach(function (fromModel) {
1776
- convert[fromModel] = {};
1777
- Object.defineProperty(convert[fromModel], 'channels', {
1778
- value: conversions[fromModel].channels
1779
- });
1780
- Object.defineProperty(convert[fromModel], 'labels', {
1781
- value: conversions[fromModel].labels
1782
- });
1783
- var routes = route(fromModel);
1784
- var routeModels = Object.keys(routes);
1785
- routeModels.forEach(function (toModel) {
1786
- var fn = routes[toModel];
1787
- convert[fromModel][toModel] = wrapRounded(fn);
1788
- convert[fromModel][toModel].raw = wrapRaw(fn);
1789
- });
1790
- });
1791
- var colorConvert = convert;
1792
- var root = _root;
1793
- /**
1794
- * Gets the timestamp of the number of milliseconds that have elapsed since
1795
- * the Unix epoch (1 January 1970 00:00:00 UTC).
1796
- *
1797
- * @static
1798
- * @memberOf _
1799
- * @since 2.4.0
1800
- * @category Date
1801
- * @returns {number} Returns the timestamp.
1802
- * @example
1803
- *
1804
- * _.defer(function(stamp) {
1805
- * console.log(_.now() - stamp);
1806
- * }, _.now());
1807
- * // => Logs the number of milliseconds it took for the deferred invocation.
1808
- */
1809
-
1810
- var now$1 = function now$1() {
1811
- return root.Date.now();
1812
- };
1813
-
1814
- var now_1 = now$1;
1815
- /** Used to match a single whitespace character. */
1816
-
1817
- var reWhitespace = /\s/;
1818
- /**
1819
- * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
1820
- * character of `string`.
1821
- *
1822
- * @private
1823
- * @param {string} string The string to inspect.
1824
- * @returns {number} Returns the index of the last non-whitespace character.
1825
- */
1826
-
1827
- function trimmedEndIndex$1(string) {
1828
- var index = string.length;
1829
-
1830
- while (index-- && reWhitespace.test(string.charAt(index))) {}
1831
-
1832
- return index;
1833
- }
1834
-
1835
- var _trimmedEndIndex = trimmedEndIndex$1;
1836
- var trimmedEndIndex = _trimmedEndIndex;
1837
- /** Used to match leading whitespace. */
1838
-
1839
- var reTrimStart = /^\s+/;
1840
- /**
1841
- * The base implementation of `_.trim`.
1842
- *
1843
- * @private
1844
- * @param {string} string The string to trim.
1845
- * @returns {string} Returns the trimmed string.
1846
- */
1847
-
1848
- function baseTrim$1(string) {
1849
- return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string;
1850
- }
1851
-
1852
- var _baseTrim = baseTrim$1;
1853
- var baseTrim = _baseTrim,
1854
- isObject$2 = isObject_1,
1855
- isSymbol = isSymbol_1;
1856
- /** Used as references for various `Number` constants. */
1857
-
1858
- var NAN = 0 / 0;
1859
- /** Used to detect bad signed hexadecimal string values. */
1860
-
1861
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
1862
- /** Used to detect binary string values. */
1863
-
1864
- var reIsBinary = /^0b[01]+$/i;
1865
- /** Used to detect octal string values. */
1866
-
1867
- var reIsOctal = /^0o[0-7]+$/i;
1868
- /** Built-in method references without a dependency on `root`. */
1869
-
1870
- var freeParseInt = parseInt;
1871
- /**
1872
- * Converts `value` to a number.
1873
- *
1874
- * @static
1875
- * @memberOf _
1876
- * @since 4.0.0
1877
- * @category Lang
1878
- * @param {*} value The value to process.
1879
- * @returns {number} Returns the number.
1880
- * @example
1881
- *
1882
- * _.toNumber(3.2);
1883
- * // => 3.2
1884
- *
1885
- * _.toNumber(Number.MIN_VALUE);
1886
- * // => 5e-324
1887
- *
1888
- * _.toNumber(Infinity);
1889
- * // => Infinity
1890
- *
1891
- * _.toNumber('3.2');
1892
- * // => 3.2
1893
- */
1894
-
1895
- function toNumber$1(value) {
1896
- if (typeof value == 'number') {
1897
- return value;
1898
- }
1899
-
1900
- if (isSymbol(value)) {
1901
- return NAN;
1902
- }
1903
-
1904
- if (isObject$2(value)) {
1905
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
1906
- value = isObject$2(other) ? other + '' : other;
1907
- }
1908
-
1909
- if (typeof value != 'string') {
1910
- return value === 0 ? value : +value;
1911
- }
1912
-
1913
- value = baseTrim(value);
1914
- var isBinary = reIsBinary.test(value);
1915
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
1916
- }
1917
-
1918
- var toNumber_1 = toNumber$1;
1919
- var isObject$1 = isObject_1,
1920
- now = now_1,
1921
- toNumber = toNumber_1;
1922
- /** Error message constants. */
1923
-
1924
- var FUNC_ERROR_TEXT$1 = 'Expected a function';
1925
- /* Built-in method references for those with the same name as other `lodash` methods. */
1926
-
1927
- var nativeMax = Math.max,
1928
- nativeMin = Math.min;
1929
- /**
1930
- * Creates a debounced function that delays invoking `func` until after `wait`
1931
- * milliseconds have elapsed since the last time the debounced function was
1932
- * invoked. The debounced function comes with a `cancel` method to cancel
1933
- * delayed `func` invocations and a `flush` method to immediately invoke them.
1934
- * Provide `options` to indicate whether `func` should be invoked on the
1935
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
1936
- * with the last arguments provided to the debounced function. Subsequent
1937
- * calls to the debounced function return the result of the last `func`
1938
- * invocation.
1939
- *
1940
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
1941
- * invoked on the trailing edge of the timeout only if the debounced function
1942
- * is invoked more than once during the `wait` timeout.
1943
- *
1944
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
1945
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
1946
- *
1947
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
1948
- * for details over the differences between `_.debounce` and `_.throttle`.
1949
- *
1950
- * @static
1951
- * @memberOf _
1952
- * @since 0.1.0
1953
- * @category Function
1954
- * @param {Function} func The function to debounce.
1955
- * @param {number} [wait=0] The number of milliseconds to delay.
1956
- * @param {Object} [options={}] The options object.
1957
- * @param {boolean} [options.leading=false]
1958
- * Specify invoking on the leading edge of the timeout.
1959
- * @param {number} [options.maxWait]
1960
- * The maximum time `func` is allowed to be delayed before it's invoked.
1961
- * @param {boolean} [options.trailing=true]
1962
- * Specify invoking on the trailing edge of the timeout.
1963
- * @returns {Function} Returns the new debounced function.
1964
- * @example
1965
- *
1966
- * // Avoid costly calculations while the window size is in flux.
1967
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
1968
- *
1969
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
1970
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
1971
- * 'leading': true,
1972
- * 'trailing': false
1973
- * }));
1974
- *
1975
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
1976
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
1977
- * var source = new EventSource('/stream');
1978
- * jQuery(source).on('message', debounced);
1979
- *
1980
- * // Cancel the trailing debounced invocation.
1981
- * jQuery(window).on('popstate', debounced.cancel);
1982
- */
1983
-
1984
- function debounce$1(func, wait, options) {
1985
- var lastArgs,
1986
- lastThis,
1987
- maxWait,
1988
- result,
1989
- timerId,
1990
- lastCallTime,
1991
- lastInvokeTime = 0,
1992
- leading = false,
1993
- maxing = false,
1994
- trailing = true;
1995
-
1996
- if (typeof func != 'function') {
1997
- throw new TypeError(FUNC_ERROR_TEXT$1);
1998
- }
1999
-
2000
- wait = toNumber(wait) || 0;
2001
-
2002
- if (isObject$1(options)) {
2003
- leading = !!options.leading;
2004
- maxing = 'maxWait' in options;
2005
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
2006
- trailing = 'trailing' in options ? !!options.trailing : trailing;
2007
- }
2008
-
2009
- function invokeFunc(time) {
2010
- var args = lastArgs,
2011
- thisArg = lastThis;
2012
- lastArgs = lastThis = undefined;
2013
- lastInvokeTime = time;
2014
- result = func.apply(thisArg, args);
2015
- return result;
2016
- }
2017
-
2018
- function leadingEdge(time) {
2019
- // Reset any `maxWait` timer.
2020
- lastInvokeTime = time; // Start the timer for the trailing edge.
2021
-
2022
- timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.
2023
-
2024
- return leading ? invokeFunc(time) : result;
2025
- }
2026
-
2027
- function remainingWait(time) {
2028
- var timeSinceLastCall = time - lastCallTime,
2029
- timeSinceLastInvoke = time - lastInvokeTime,
2030
- timeWaiting = wait - timeSinceLastCall;
2031
- return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
2032
- }
2033
-
2034
- function shouldInvoke(time) {
2035
- var timeSinceLastCall = time - lastCallTime,
2036
- timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the
2037
- // trailing edge, the system time has gone backwards and we're treating
2038
- // it as the trailing edge, or we've hit the `maxWait` limit.
2039
-
2040
- return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
2041
- }
2042
-
2043
- function timerExpired() {
2044
- var time = now();
2045
-
2046
- if (shouldInvoke(time)) {
2047
- return trailingEdge(time);
2048
- } // Restart the timer.
2049
-
2050
-
2051
- timerId = setTimeout(timerExpired, remainingWait(time));
2052
- }
2053
-
2054
- function trailingEdge(time) {
2055
- timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been
2056
- // debounced at least once.
2057
-
2058
- if (trailing && lastArgs) {
2059
- return invokeFunc(time);
2060
- }
2061
-
2062
- lastArgs = lastThis = undefined;
2063
- return result;
2064
- }
2065
-
2066
- function cancel() {
2067
- if (timerId !== undefined) {
2068
- clearTimeout(timerId);
2069
- }
2070
-
2071
- lastInvokeTime = 0;
2072
- lastArgs = lastCallTime = lastThis = timerId = undefined;
2073
- }
2074
-
2075
- function flush() {
2076
- return timerId === undefined ? result : trailingEdge(now());
2077
- }
2078
-
2079
- function debounced() {
2080
- var time = now(),
2081
- isInvoking = shouldInvoke(time);
2082
- lastArgs = arguments;
2083
- lastThis = this;
2084
- lastCallTime = time;
2085
-
2086
- if (isInvoking) {
2087
- if (timerId === undefined) {
2088
- return leadingEdge(lastCallTime);
2089
- }
2090
-
2091
- if (maxing) {
2092
- // Handle invocations in a tight loop.
2093
- clearTimeout(timerId);
2094
- timerId = setTimeout(timerExpired, wait);
2095
- return invokeFunc(lastCallTime);
2096
- }
2097
- }
2098
-
2099
- if (timerId === undefined) {
2100
- timerId = setTimeout(timerExpired, wait);
2101
- }
2102
-
2103
- return result;
2104
- }
2105
-
2106
- debounced.cancel = cancel;
2107
- debounced.flush = flush;
2108
- return debounced;
2109
- }
2110
-
2111
- var debounce_1 = debounce$1;
2112
- var debounce = debounce_1,
2113
- isObject = isObject_1;
2114
- /** Error message constants. */
2115
-
2116
- var FUNC_ERROR_TEXT = 'Expected a function';
2117
- /**
2118
- * Creates a throttled function that only invokes `func` at most once per
2119
- * every `wait` milliseconds. The throttled function comes with a `cancel`
2120
- * method to cancel delayed `func` invocations and a `flush` method to
2121
- * immediately invoke them. Provide `options` to indicate whether `func`
2122
- * should be invoked on the leading and/or trailing edge of the `wait`
2123
- * timeout. The `func` is invoked with the last arguments provided to the
2124
- * throttled function. Subsequent calls to the throttled function return the
2125
- * result of the last `func` invocation.
2126
- *
2127
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
2128
- * invoked on the trailing edge of the timeout only if the throttled function
2129
- * is invoked more than once during the `wait` timeout.
2130
- *
2131
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
2132
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
2133
- *
2134
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
2135
- * for details over the differences between `_.throttle` and `_.debounce`.
2136
- *
2137
- * @static
2138
- * @memberOf _
2139
- * @since 0.1.0
2140
- * @category Function
2141
- * @param {Function} func The function to throttle.
2142
- * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
2143
- * @param {Object} [options={}] The options object.
2144
- * @param {boolean} [options.leading=true]
2145
- * Specify invoking on the leading edge of the timeout.
2146
- * @param {boolean} [options.trailing=true]
2147
- * Specify invoking on the trailing edge of the timeout.
2148
- * @returns {Function} Returns the new throttled function.
2149
- * @example
2150
- *
2151
- * // Avoid excessively updating the position while scrolling.
2152
- * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
2153
- *
2154
- * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
2155
- * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
2156
- * jQuery(element).on('click', throttled);
2157
- *
2158
- * // Cancel the trailing throttled invocation.
2159
- * jQuery(window).on('popstate', throttled.cancel);
2160
- */
2161
-
2162
- function throttle(func, wait, options) {
2163
- var leading = true,
2164
- trailing = true;
2165
-
2166
- if (typeof func != 'function') {
2167
- throw new TypeError(FUNC_ERROR_TEXT);
2168
- }
2169
-
2170
- if (isObject(options)) {
2171
- leading = 'leading' in options ? !!options.leading : leading;
2172
- trailing = 'trailing' in options ? !!options.trailing : trailing;
2173
- }
2174
-
2175
- return debounce(func, wait, {
2176
- 'leading': leading,
2177
- 'maxWait': wait,
2178
- 'trailing': trailing
2179
- });
2180
- }
2181
-
2182
- var throttle_1 = throttle;
2183
- var Wrapper = styled.div({
2184
- position: 'relative',
2185
- maxWidth: 250
2186
- });
2187
- var PickerTooltip = styled(WithTooltip)({
2188
- position: 'absolute',
2189
- zIndex: 1,
2190
- top: 4,
2191
- left: 4
2192
- });
2193
- var TooltipContent = styled.div({
2194
- width: 200,
2195
- margin: 5,
2196
- '.react-colorful__saturation': {
2197
- borderRadius: '4px 4px 0 0'
2198
- },
2199
- '.react-colorful__hue': {
2200
- boxShadow: 'inset 0 0 0 1px rgb(0 0 0 / 5%)'
2201
- },
2202
- '.react-colorful__last-control': {
2203
- borderRadius: '0 0 4px 4px'
2204
- }
2205
- });
2206
- var Note = styled(TooltipNote)(function (_ref) {
2207
- var theme = _ref.theme;
2208
- return {
2209
- fontFamily: theme.typography.fonts.base
2210
- };
2211
- });
2212
- var Swatches = styled.div({
2213
- display: 'grid',
2214
- gridTemplateColumns: 'repeat(9, 16px)',
2215
- gap: 6,
2216
- padding: 3,
2217
- marginTop: 5,
2218
- width: 200
2219
- });
2220
- var SwatchColor = styled.div(function (_ref2) {
2221
- var theme = _ref2.theme,
2222
- active = _ref2.active;
2223
- return {
2224
- width: 16,
2225
- height: 16,
2226
- boxShadow: active ? "".concat(theme.appBorderColor, " 0 0 0 1px inset, ").concat(theme.color.mediumdark, "50 0 0 0 4px") : "".concat(theme.appBorderColor, " 0 0 0 1px inset"),
2227
- borderRadius: theme.appBorderRadius
2228
- };
2229
- });
2230
- var swatchBackground = "url('data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill-opacity=\".05\"><path d=\"M8 0h8v8H8zM0 8h8v8H0z\"/></svg>')";
2231
-
2232
- var Swatch = function Swatch(_a) {
2233
- var value = _a.value,
2234
- active = _a.active,
2235
- onClick = _a.onClick,
2236
- style = _a.style,
2237
- props = __rest(_a, ["value", "active", "onClick", "style"]);
2238
-
2239
- var backgroundImage = "linear-gradient(".concat(value, ", ").concat(value, "), ").concat(swatchBackground, ", linear-gradient(#fff, #fff)");
2240
- return React__default.createElement(SwatchColor, Object.assign({}, props, {
2241
- active: active,
2242
- onClick: onClick
2243
- }, {
2244
- style: Object.assign(Object.assign({}, style), {
2245
- backgroundImage: backgroundImage
2246
- })
2247
- }));
2248
- };
2249
-
2250
- var Input = styled(Form.Input)(function (_ref3) {
2251
- var theme = _ref3.theme;
2252
- return {
2253
- width: '100%',
2254
- paddingLeft: 30,
2255
- paddingRight: 30,
2256
- boxSizing: 'border-box',
2257
- fontFamily: theme.typography.fonts.base
2258
- };
2259
- });
2260
- var ToggleIcon = styled(Icons)(function (_ref4) {
2261
- var theme = _ref4.theme;
2262
- return {
2263
- position: 'absolute',
2264
- zIndex: 1,
2265
- top: 6,
2266
- right: 7,
2267
- width: 20,
2268
- height: 20,
2269
- padding: 4,
2270
- boxSizing: 'border-box',
2271
- cursor: 'pointer',
2272
- color: theme.input.color
2273
- };
2274
- });
2275
- var ColorSpace;
2276
-
2277
- (function (ColorSpace) {
2278
- ColorSpace["RGB"] = "rgb";
2279
- ColorSpace["HSL"] = "hsl";
2280
- ColorSpace["HEX"] = "hex";
2281
- })(ColorSpace || (ColorSpace = {}));
2282
-
2283
- var COLOR_SPACES = Object.values(ColorSpace);
2284
- var COLOR_REGEXP = /\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/;
2285
- var RGB_REGEXP = /^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i;
2286
- var HSL_REGEXP = /^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i;
2287
- var HEX_REGEXP = /^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i;
2288
- var SHORTHEX_REGEXP = /^\s*#?([0-9a-f]{3})\s*$/i;
2289
- var ColorPicker = (_ColorPicker = {}, _defineProperty(_ColorPicker, ColorSpace.HEX, J), _defineProperty(_ColorPicker, ColorSpace.RGB, pe), _defineProperty(_ColorPicker, ColorSpace.HSL, re), _ColorPicker);
2290
- var fallbackColor = (_fallbackColor = {}, _defineProperty(_fallbackColor, ColorSpace.HEX, 'transparent'), _defineProperty(_fallbackColor, ColorSpace.RGB, 'rgba(0, 0, 0, 0)'), _defineProperty(_fallbackColor, ColorSpace.HSL, 'hsla(0, 0%, 0%, 0)'), _fallbackColor);
2291
-
2292
- var stringToArgs = function stringToArgs(value) {
2293
- var match = value === null || value === void 0 ? void 0 : value.match(COLOR_REGEXP);
2294
- if (!match) return [0, 0, 0, 1];
2295
-
2296
- var _match = _slicedToArray(match, 5),
2297
- x = _match[1],
2298
- y = _match[2],
2299
- z = _match[3],
2300
- _match$ = _match[4],
2301
- a = _match$ === void 0 ? 1 : _match$;
2302
-
2303
- return [x, y, z, a].map(Number);
2304
- };
2305
-
2306
- var parseValue = function parseValue(value) {
2307
- var _ref11;
2308
-
2309
- if (!value) return undefined;
2310
- var valid = true;
2311
-
2312
- if (RGB_REGEXP.test(value)) {
2313
- var _ref7;
2314
-
2315
- var _stringToArgs = stringToArgs(value),
2316
- _stringToArgs2 = _slicedToArray(_stringToArgs, 4),
2317
- r = _stringToArgs2[0],
2318
- _g = _stringToArgs2[1],
2319
- _b = _stringToArgs2[2],
2320
- a = _stringToArgs2[3];
2321
-
2322
- var _ref5 = colorConvert.rgb.hsl([r, _g, _b]) || [0, 0, 0],
2323
- _ref6 = _slicedToArray(_ref5, 3),
2324
- _h = _ref6[0],
2325
- _s2 = _ref6[1],
2326
- l = _ref6[2];
2327
-
2328
- return _ref7 = {
2329
- valid: valid,
2330
- value: value,
2331
- keyword: colorConvert.rgb.keyword([r, _g, _b]),
2332
- colorSpace: ColorSpace.RGB
2333
- }, _defineProperty(_ref7, ColorSpace.RGB, value), _defineProperty(_ref7, ColorSpace.HSL, "hsla(".concat(_h, ", ").concat(_s2, "%, ").concat(l, "%, ").concat(a, ")")), _defineProperty(_ref7, ColorSpace.HEX, "#".concat(colorConvert.rgb.hex([r, _g, _b]).toLowerCase())), _ref7;
2334
- }
2335
-
2336
- if (HSL_REGEXP.test(value)) {
2337
- var _ref10;
2338
-
2339
- var _stringToArgs3 = stringToArgs(value),
2340
- _stringToArgs4 = _slicedToArray(_stringToArgs3, 4),
2341
- _h2 = _stringToArgs4[0],
2342
- _s3 = _stringToArgs4[1],
2343
- _l = _stringToArgs4[2],
2344
- _a2 = _stringToArgs4[3];
2345
-
2346
- var _ref8 = colorConvert.hsl.rgb([_h2, _s3, _l]) || [0, 0, 0],
2347
- _ref9 = _slicedToArray(_ref8, 3),
2348
- _r = _ref9[0],
2349
- _g2 = _ref9[1],
2350
- _b2 = _ref9[2];
2351
-
2352
- return _ref10 = {
2353
- valid: valid,
2354
- value: value,
2355
- keyword: colorConvert.hsl.keyword([_h2, _s3, _l]),
2356
- colorSpace: ColorSpace.HSL
2357
- }, _defineProperty(_ref10, ColorSpace.RGB, "rgba(".concat(_r, ", ").concat(_g2, ", ").concat(_b2, ", ").concat(_a2, ")")), _defineProperty(_ref10, ColorSpace.HSL, value), _defineProperty(_ref10, ColorSpace.HEX, "#".concat(colorConvert.hsl.hex([_h2, _s3, _l]).toLowerCase())), _ref10;
2358
- }
2359
-
2360
- var plain = value.replace('#', '');
2361
- var rgb = colorConvert.keyword.rgb(plain) || colorConvert.hex.rgb(plain);
2362
- var hsl = colorConvert.rgb.hsl(rgb);
2363
- var mapped = value;
2364
- if (/[^#a-f0-9]/i.test(value)) mapped = plain;else if (HEX_REGEXP.test(value)) mapped = "#".concat(plain);
2365
-
2366
- if (mapped.startsWith('#')) {
2367
- valid = HEX_REGEXP.test(mapped);
2368
- } else {
2369
- try {
2370
- colorConvert.keyword.hex(mapped);
2371
- } catch (e) {
2372
- valid = false;
2373
- }
2374
- }
2375
-
2376
- return _ref11 = {
2377
- valid: valid,
2378
- value: mapped,
2379
- keyword: colorConvert.rgb.keyword(rgb),
2380
- colorSpace: ColorSpace.HEX
2381
- }, _defineProperty(_ref11, ColorSpace.RGB, "rgba(".concat(rgb[0], ", ").concat(rgb[1], ", ").concat(rgb[2], ", 1)")), _defineProperty(_ref11, ColorSpace.HSL, "hsla(".concat(hsl[0], ", ").concat(hsl[1], "%, ").concat(hsl[2], "%, 1)")), _defineProperty(_ref11, ColorSpace.HEX, mapped), _ref11;
2382
- };
2383
-
2384
- var getRealValue = function getRealValue(value, color, colorSpace) {
2385
- if (!value || !(color === null || color === void 0 ? void 0 : color.valid)) return fallbackColor[colorSpace];
2386
- if (colorSpace !== ColorSpace.HEX) return (color === null || color === void 0 ? void 0 : color[colorSpace]) || fallbackColor[colorSpace];
2387
-
2388
- if (!color.hex.startsWith('#')) {
2389
- try {
2390
- return "#".concat(colorConvert.keyword.hex(color.hex));
2391
- } catch (e) {
2392
- return fallbackColor.hex;
2393
- }
2394
- }
2395
-
2396
- var short = color.hex.match(SHORTHEX_REGEXP);
2397
- if (!short) return HEX_REGEXP.test(color.hex) ? color.hex : fallbackColor.hex;
2398
-
2399
- var _short$1$split = short[1].split(''),
2400
- _short$1$split2 = _slicedToArray(_short$1$split, 3),
2401
- r = _short$1$split2[0],
2402
- g = _short$1$split2[1],
2403
- b = _short$1$split2[2];
2404
-
2405
- return "#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b);
2406
- };
2407
-
2408
- var useColorInput = function useColorInput(initialValue, onChange) {
2409
- var _useState = useState(initialValue || ''),
2410
- _useState2 = _slicedToArray(_useState, 2),
2411
- value = _useState2[0],
2412
- setValue = _useState2[1];
2413
-
2414
- var _useState3 = useState(function () {
2415
- return parseValue(value);
2416
- }),
2417
- _useState4 = _slicedToArray(_useState3, 2),
2418
- color = _useState4[0],
2419
- setColor = _useState4[1];
2420
-
2421
- var _useState5 = useState((color === null || color === void 0 ? void 0 : color.colorSpace) || ColorSpace.HEX),
2422
- _useState6 = _slicedToArray(_useState5, 2),
2423
- colorSpace = _useState6[0],
2424
- setColorSpace = _useState6[1]; // Reset state when initialValue becomes undefined (when resetting controls)
2425
-
2426
-
2427
- useEffect(function () {
2428
- if (initialValue !== undefined) return;
2429
- setValue('');
2430
- setColor(undefined);
2431
- setColorSpace(ColorSpace.HEX);
2432
- }, [initialValue]);
2433
- var realValue = useMemo(function () {
2434
- return getRealValue(value, color, colorSpace).toLowerCase();
2435
- }, [value, color, colorSpace]);
2436
- var updateValue = useCallback(function (update) {
2437
- var parsed = parseValue(update);
2438
- setValue((parsed === null || parsed === void 0 ? void 0 : parsed.value) || update || '');
2439
- if (!parsed) return;
2440
- setColor(parsed);
2441
- setColorSpace(parsed.colorSpace);
2442
- onChange(parsed.value);
2443
- }, [onChange]);
2444
- var cycleColorSpace = useCallback(function () {
2445
- var next = COLOR_SPACES.indexOf(colorSpace) + 1;
2446
- if (next >= COLOR_SPACES.length) next = 0;
2447
- setColorSpace(COLOR_SPACES[next]);
2448
- var update = (color === null || color === void 0 ? void 0 : color[COLOR_SPACES[next]]) || '';
2449
- setValue(update);
2450
- onChange(update);
2451
- }, [color, colorSpace, onChange]);
2452
- return {
2453
- value: value,
2454
- realValue: realValue,
2455
- updateValue: updateValue,
2456
- color: color,
2457
- colorSpace: colorSpace,
2458
- cycleColorSpace: cycleColorSpace
2459
- };
2460
- };
2461
-
2462
- var id = function id(value) {
2463
- return value.replace(/\s*/, '').toLowerCase();
2464
- };
2465
-
2466
- var usePresets = function usePresets(presetColors, currentColor, colorSpace) {
2467
- var _useState7 = useState((currentColor === null || currentColor === void 0 ? void 0 : currentColor.valid) ? [currentColor] : []),
2468
- _useState8 = _slicedToArray(_useState7, 2),
2469
- selectedColors = _useState8[0],
2470
- setSelectedColors = _useState8[1]; // Reset state when currentColor becomes undefined (when resetting controls)
2471
-
2472
-
2473
- useEffect(function () {
2474
- if (currentColor !== undefined) return;
2475
- setSelectedColors([]);
2476
- }, [currentColor]);
2477
- var presets = useMemo(function () {
2478
- var initialPresets = (presetColors || []).map(function (preset) {
2479
- if (typeof preset === 'string') return parseValue(preset);
2480
- if (preset.title) return Object.assign(Object.assign({}, parseValue(preset.color)), {
2481
- keyword: preset.title
2482
- });
2483
- return parseValue(preset.color);
2484
- });
2485
- return initialPresets.concat(selectedColors).filter(Boolean).slice(-27);
2486
- }, [presetColors, selectedColors]);
2487
- var addPreset = useCallback(function (color) {
2488
- if (!(color === null || color === void 0 ? void 0 : color.valid)) return;
2489
- if (presets.some(function (preset) {
2490
- return id(preset[colorSpace]) === id(color[colorSpace]);
2491
- })) return;
2492
- setSelectedColors(function (arr) {
2493
- return arr.concat(color);
2494
- });
2495
- }, [colorSpace, presets]);
2496
- return {
2497
- presets: presets,
2498
- addPreset: addPreset
2499
- };
2500
- };
2501
-
2502
- var ColorControl = function ColorControl(_ref12) {
2503
- var name = _ref12.name,
2504
- initialValue = _ref12.value,
2505
- onChange = _ref12.onChange,
2506
- onFocus = _ref12.onFocus,
2507
- onBlur = _ref12.onBlur,
2508
- presetColors = _ref12.presetColors,
2509
- startOpen = _ref12.startOpen;
2510
-
2511
- var _useColorInput = useColorInput(initialValue, throttle_1(onChange, 200)),
2512
- value = _useColorInput.value,
2513
- realValue = _useColorInput.realValue,
2514
- updateValue = _useColorInput.updateValue,
2515
- color = _useColorInput.color,
2516
- colorSpace = _useColorInput.colorSpace,
2517
- cycleColorSpace = _useColorInput.cycleColorSpace;
2518
-
2519
- var _usePresets = usePresets(presetColors, color, colorSpace),
2520
- presets = _usePresets.presets,
2521
- addPreset = _usePresets.addPreset;
2522
-
2523
- var Picker = ColorPicker[colorSpace];
2524
- return React__default.createElement(Wrapper, null, React__default.createElement(PickerTooltip, {
2525
- trigger: "click",
2526
- startOpen: startOpen,
2527
- closeOnClick: true,
2528
- onVisibilityChange: function onVisibilityChange() {
2529
- return addPreset(color);
2530
- },
2531
- tooltip: React__default.createElement(TooltipContent, null, React__default.createElement(Picker, Object.assign({
2532
- color: realValue === 'transparent' ? '#000000' : realValue
2533
- }, {
2534
- onChange: updateValue,
2535
- onFocus: onFocus,
2536
- onBlur: onBlur
2537
- })), presets.length > 0 && React__default.createElement(Swatches, null, presets.map(function (preset, index) {
2538
- return React__default.createElement(WithTooltip // eslint-disable-next-line react/no-array-index-key
2539
- , {
2540
- // eslint-disable-next-line react/no-array-index-key
2541
- key: "".concat(preset.value, "-").concat(index),
2542
- hasChrome: false,
2543
- tooltip: React__default.createElement(Note, {
2544
- note: preset.keyword || preset.value
2545
- })
2546
- }, React__default.createElement(Swatch, {
2547
- value: preset[colorSpace],
2548
- active: color && id(preset[colorSpace]) === id(color[colorSpace]),
2549
- onClick: function onClick() {
2550
- return updateValue(preset.value);
2551
- }
2552
- }));
2553
- })))
2554
- }, React__default.createElement(Swatch, {
2555
- value: realValue,
2556
- style: {
2557
- margin: 4
2558
- }
2559
- })), React__default.createElement(Input, {
2560
- id: getControlId(name),
2561
- value: value,
2562
- onChange: function onChange(e) {
2563
- return updateValue(e.target.value);
2564
- },
2565
- onFocus: function onFocus(e) {
2566
- return e.target.select();
2567
- },
2568
- placeholder: "Choose color..."
2569
- }), value ? React__default.createElement(ToggleIcon, {
2570
- icon: "markup",
2571
- onClick: cycleColorSpace
2572
- }) : null);
2573
- };
2574
-
2575
- export { ColorControl, ColorControl as default };