@storybook/components 6.5.9 → 7.0.0-alpha.10

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