UNPKG

node-red-contrib-ewelink-cube

Version:

Node-RED integration with eWeLink Cube

1,185 lines (1,182 loc) 63.6 kB
/*! * iro.js v5.5.2 * 2016-2021 James Daniel * Licensed under MPL 2.0 * github.com/jaames/iro.js */ !(function (t, n) { 'object' == typeof exports && 'undefined' != typeof module ? (module.exports = n()) : 'function' == typeof define && define.amd ? define(n) : ((t = t || self).iro = n()); })(this, function () { 'use strict'; var m, s, n, i, o, x = {}, j = [], r = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i; function M(t, n) { for (var i in n) t[i] = n[i]; return t; } function y(t) { var n = t.parentNode; n && n.removeChild(t); } function h(t, n, i) { var r, e, u, o, l = arguments; if (((n = M({}, n)), 3 < arguments.length)) for (i = [i], r = 3; r < arguments.length; r++) i.push(l[r]); if ((null != i && (n.children = i), null != t && null != t.defaultProps)) for (e in t.defaultProps) void 0 === n[e] && (n[e] = t.defaultProps[e]); return (o = n.key), null != (u = n.ref) && delete n.ref, null != o && delete n.key, c(t, n, o, u); } function c(t, n, i, r) { var e = { type: t, props: n, key: i, ref: r, n: null, i: null, e: 0, o: null, l: null, c: null, constructor: void 0 }; return m.vnode && m.vnode(e), e; } function O(t) { return t.children; } function I(t, n) { (this.props = t), (this.context = n); } function w(t, n) { if (null == n) return t.i ? w(t.i, t.i.n.indexOf(t) + 1) : null; for (var i; n < t.n.length; n++) if (null != (i = t.n[n]) && null != i.o) return i.o; return 'function' == typeof t.type ? w(t) : null; } function a(t) { var n, i; if (null != (t = t.i) && null != t.c) { for (t.o = t.c.base = null, n = 0; n < t.n.length; n++) if (null != (i = t.n[n]) && null != i.o) { t.o = t.c.base = i.o; break; } return a(t); } } function e(t) { ((!t.f && (t.f = !0) && 1 === s.push(t)) || i !== m.debounceRendering) && ((i = m.debounceRendering), (m.debounceRendering || n)(u)); } function u() { var t, n, i, r, e, u, o, l; for ( s.sort(function (t, n) { return n.d.e - t.d.e; }); (t = s.pop()); ) t.f && ((r = i = void 0), (u = (e = (n = t).d).o), (o = n.p), (l = n.u), (n.u = !1), o && ((i = []), (r = k(o, e, M({}, e), n.w, void 0 !== o.ownerSVGElement, null, i, l, null == u ? w(e) : u)), d(i, e), r != u && a(e))); } function S(n, i, t, r, e, u, o, l, s) { var c, a, f, h, v, d, g, b = (t && t.n) || j, p = b.length; if ( (l == x && (l = null != u ? u[0] : p ? w(t, 0) : null), (c = 0), (i.n = A(i.n, function (t) { if (null != t) { if (((t.i = i), (t.e = i.e + 1), null === (f = b[c]) || (f && t.key == f.key && t.type === f.type))) b[c] = void 0; else for (a = 0; a < p; a++) { if ((f = b[a]) && t.key == f.key && t.type === f.type) { b[a] = void 0; break; } f = null; } if (((h = k(n, t, (f = f || x), r, e, u, o, null, l, s)), (a = t.ref) && f.ref != a && (g = g || []).push(a, t.c || h, t), null != h)) { if ((null == d && (d = h), null != t.l)) (h = t.l), (t.l = null); else if (u == f || h != l || null == h.parentNode) { t: if (null == l || l.parentNode !== n) n.appendChild(h); else { for (v = l, a = 0; (v = v.nextSibling) && a < p; a += 2) if (v == h) break t; n.insertBefore(h, l); } 'option' == i.type && (n.value = ''); } (l = h.nextSibling), 'function' == typeof i.type && (i.l = h); } } return c++, t; })), (i.o = d), null != u && 'function' != typeof i.type) ) for (c = u.length; c--; ) null != u[c] && y(u[c]); for (c = p; c--; ) null != b[c] && N(b[c], b[c]); if (g) for (c = 0; c < g.length; c++) E(g[c], g[++c], g[++c]); } function A(t, n, i) { if ((null == i && (i = []), null == t || 'boolean' == typeof t)) n && i.push(n(null)); else if (Array.isArray(t)) for (var r = 0; r < t.length; r++) A(t[r], n, i); else i.push( n ? n( (function (t) { if (null == t || 'boolean' == typeof t) return null; if ('string' == typeof t || 'number' == typeof t) return c(null, t, null, null); if (null == t.o && null == t.c) return t; var n = c(t.type, t.props, t.key, null); return (n.o = t.o), n; })(t) ) : t ); return i; } function f(t, n, i) { '-' === n[0] ? t.setProperty(n, i) : (t[n] = 'number' == typeof i && !1 === r.test(n) ? i + 'px' : null == i ? '' : i); } function R(t, n, i, r, e) { var u, o, l, s, c; if ('key' === (n = e ? ('className' === n ? 'class' : n) : 'class' === n ? 'className' : n) || 'children' === n); else if ('style' === n) if (((u = t.style), 'string' == typeof i)) u.cssText = i; else { if (('string' == typeof r && ((u.cssText = ''), (r = null)), r)) for (o in r) (i && o in i) || f(u, o, ''); if (i) for (l in i) (r && i[l] === r[l]) || f(u, l, i[l]); } else 'o' === n[0] && 'n' === n[1] ? ((s = n !== (n = n.replace(/Capture$/, ''))), (n = ((c = n.toLowerCase()) in t ? c : n).slice(2)), i ? (r || t.addEventListener(n, v, s), ((t.t || (t.t = {}))[n] = i)) : t.removeEventListener(n, v, s)) : 'list' !== n && 'tagName' !== n && 'form' !== n && !e && n in t ? (t[n] = null == i ? '' : i) : 'function' != typeof i && 'dangerouslySetInnerHTML' !== n && (n !== (n = n.replace(/^xlink:?/, '')) ? null == i || !1 === i ? t.removeAttributeNS('http://www.w3.org/1999/xlink', n.toLowerCase()) : t.setAttributeNS('http://www.w3.org/1999/xlink', n.toLowerCase(), i) : null == i || !1 === i ? t.removeAttribute(n) : t.setAttribute(n, i)); } function v(t) { return this.t[t.type](m.event ? m.event(t) : t); } function k(t, n, i, r, e, u, o, l, s, c) { var a, f, h, v, d, g, b, p, y, w, k = n.type; if (void 0 !== n.constructor) return null; (a = m.e) && a(n); try { t: if ('function' == typeof k) { if ( ((p = n.props), (y = (a = k.contextType) && r[a.c]), (w = a ? (y ? y.props.value : a.i) : r), i.c ? (b = (f = n.c = i.c).i = f.k) : ('prototype' in k && k.prototype.render ? (n.c = f = new k(p, w)) : ((n.c = f = new I(p, w)), (f.constructor = k), (f.render = z)), y && y.sub(f), (f.props = p), f.state || (f.state = {}), (f.context = w), (f.w = r), (h = f.f = !0), (f.m = [])), null == f.j && (f.j = f.state), null != k.getDerivedStateFromProps && M(f.j == f.state ? (f.j = M({}, f.j)) : f.j, k.getDerivedStateFromProps(p, f.j)), h) ) null == k.getDerivedStateFromProps && null != f.componentWillMount && f.componentWillMount(), null != f.componentDidMount && o.push(f); else { if ( (null == k.getDerivedStateFromProps && null == l && null != f.componentWillReceiveProps && f.componentWillReceiveProps(p, w), !l && null != f.shouldComponentUpdate && !1 === f.shouldComponentUpdate(p, f.j, w)) ) { for (f.props = p, f.state = f.j, f.f = !1, (f.d = n).o = null != s ? (s !== i.o ? s : i.o) : null, n.n = i.n, a = 0; a < n.n.length; a++) n.n[a] && (n.n[a].i = n); break t; } null != f.componentWillUpdate && f.componentWillUpdate(p, f.j, w); } for ( v = f.props, d = f.state, f.context = w, f.props = p, f.state = f.j, (a = m.M) && a(n), f.f = !1, f.d = n, f.p = t, a = f.render(f.props, f.state, f.context), n.n = A(null != a && a.type == O && null == a.key ? a.props.children : a), null != f.getChildContext && (r = M(M({}, r), f.getChildContext())), h || null == f.getSnapshotBeforeUpdate || (g = f.getSnapshotBeforeUpdate(v, d)), S(t, n, i, r, e, u, o, s, c), f.base = n.o; (a = f.m.pop()); ) f.j && (f.state = f.j), a.call(f); h || null == v || null == f.componentDidUpdate || f.componentDidUpdate(v, d, g), b && (f.k = f.i = null); } else n.o = (function (t, n, i, r, e, u, o, l) { var s, c, a, f, h = i.props, v = n.props; if (((e = 'svg' === n.type || e), null == t && null != u)) for (s = 0; s < u.length; s++) if (null != (c = u[s]) && (null === n.type ? 3 === c.nodeType : c.localName === n.type)) { (t = c), (u[s] = null); break; } if (null == t) { if (null === n.type) return document.createTextNode(v); (t = e ? document.createElementNS('http://www.w3.org/2000/svg', n.type) : document.createElement(n.type)), (u = null); } return ( null === n.type ? h !== v && (null != u && (u[u.indexOf(t)] = null), (t.data = v)) : n !== i && (null != u && (u = j.slice.call(t.childNodes)), (a = (h = i.props || x).dangerouslySetInnerHTML), (f = v.dangerouslySetInnerHTML), l || ((f || a) && ((f && a && f.O == a.O) || (t.innerHTML = (f && f.O) || ''))), (function (t, n, i, r, e) { var u; for (u in i) u in n || R(t, u, null, i[u], r); for (u in n) (e && 'function' != typeof n[u]) || 'value' === u || 'checked' === u || i[u] === n[u] || R(t, u, n[u], i[u], r); })(t, v, h, e, l), (n.n = n.props.children), f || S(t, n, i, r, 'foreignObject' !== n.type && e, u, o, x, l), l || ('value' in v && void 0 !== v.value && v.value !== t.value && (t.value = null == v.value ? '' : v.value), 'checked' in v && void 0 !== v.checked && v.checked !== t.checked && (t.checked = v.checked))), t ); })(i.o, n, i, r, e, u, o, c); (a = m.diffed) && a(n); } catch (t) { m.o(t, n, i); } return n.o; } function d(t, n) { for (var i; (i = t.pop()); ) try { i.componentDidMount(); } catch (t) { m.o(t, i.d); } m.c && m.c(n); } function E(t, n, i) { try { 'function' == typeof t ? t(n) : (t.current = n); } catch (t) { m.o(t, i); } } function N(t, n, i) { var r, e, u; if ((m.unmount && m.unmount(t), (r = t.ref) && E(r, null, n), i || 'function' == typeof t.type || (i = null != (e = t.o)), (t.o = t.l = null), null != (r = t.c))) { if (r.componentWillUnmount) try { r.componentWillUnmount(); } catch (t) { m.o(t, n); } r.base = r.p = null; } if ((r = t.n)) for (u = 0; u < r.length; u++) r[u] && N(r[u], n, i); null != e && y(e); } function z(t, n, i) { return this.constructor(t, i); } function g(t, n) { for (var i = 0; i < n.length; i++) { var r = n[i]; (r.enumerable = r.enumerable || !1), (r.configurable = !0), 'value' in r && (r.writable = !0), Object.defineProperty(t, r.key, r); } } function b() { return (b = Object.assign || function (t) { for (var n = arguments, i = 1; i < arguments.length; i++) { var r = n[i]; for (var e in r) Object.prototype.hasOwnProperty.call(r, e) && (t[e] = r[e]); } return t; }).apply(this, arguments); } (m = {}), (I.prototype.setState = function (t, n) { var i = (this.j !== this.state && this.j) || (this.j = M({}, this.state)); ('function' == typeof t && !(t = t(i, this.props))) || M(i, t), null != t && this.d && ((this.u = !1), n && this.m.push(n), e(this)); }), (I.prototype.forceUpdate = function (t) { this.d && (t && this.m.push(t), (this.u = !0), e(this)); }), (I.prototype.render = O), (s = []), (n = 'function' == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout), (i = m.debounceRendering), (m.o = function (t, n, i) { for (var r; (n = n.i); ) if ((r = n.c) && !r.i) try { if (r.constructor && null != r.constructor.getDerivedStateFromError) r.setState(r.constructor.getDerivedStateFromError(t)); else { if (null == r.componentDidCatch) continue; r.componentDidCatch(t); } return e((r.k = r)); } catch (n) { t = n; } throw t; }), (o = x); var t = '(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)', l = '[\\s|\\(]+(' + t + ')[,|\\s]+(' + t + ')[,|\\s]+(' + t + ')\\s*\\)?', p = '[\\s|\\(]+(' + t + ')[,|\\s]+(' + t + ')[,|\\s]+(' + t + ')[,|\\s]+(' + t + ')\\s*\\)?', _ = new RegExp('rgb' + l), H = new RegExp('rgba' + p), P = new RegExp('hsl' + l), $ = new RegExp('hsla' + p), T = '^(?:#?|0x?)', W = '([0-9a-fA-F]{1})', C = '([0-9a-fA-F]{2})', D = new RegExp(T + W + W + W + '$'), F = new RegExp(T + W + W + W + W + '$'), L = new RegExp(T + C + C + C + '$'), B = new RegExp(T + C + C + C + C + '$'), q = Math.log, G = Math.round, Z = Math.floor; function J(t, n, i) { return Math.min(Math.max(t, n), i); } function K(t, n) { var i = -1 < t.indexOf('%'), r = parseFloat(t); return i ? (n / 100) * r : r; } function Q(t) { return parseInt(t, 16); } function U(t) { return t.toString(16).padStart(2, '0'); } var V = (function () { function l(t, n) { (this.$ = { h: 0, s: 0, v: 0, a: 1 }), t && this.set(t), (this.onChange = n), (this.initialValue = b({}, this.$)); } var t = l.prototype; return ( (t.set = function (t) { if ('string' == typeof t) /^(?:#?|0x?)[0-9a-fA-F]{3,8}$/.test(t) ? (this.hexString = t) : /^rgba?/.test(t) ? (this.rgbString = t) : /^hsla?/.test(t) && (this.hslString = t); else { if ('object' != typeof t) throw new Error('Invalid color value'); t instanceof l ? (this.hsva = t.hsva) : 'r' in t && 'g' in t && 'b' in t ? (this.rgb = t) : 'h' in t && 's' in t && 'v' in t ? (this.hsv = t) : 'h' in t && 's' in t && 'l' in t ? (this.hsl = t) : 'kelvin' in t && (this.kelvin = t.kelvin); } }), (t.setChannel = function (t, n, i) { var r; this[t] = b({}, this[t], (((r = {})[n] = i), r)); }), (t.reset = function () { this.hsva = this.initialValue; }), (t.clone = function () { return new l(this); }), (t.unbind = function () { this.onChange = void 0; }), (l.hsvToRgb = function (t) { var n = t.h / 60, i = t.s / 100, r = t.v / 100, e = Z(n), u = n - e, o = r * (1 - i), l = r * (1 - u * i), s = r * (1 - (1 - u) * i), c = e % 6, a = [s, r, r, l, o, o][c], f = [o, o, s, r, r, l][c]; return { r: J(255 * [r, l, o, o, s, r][c], 0, 255), g: J(255 * a, 0, 255), b: J(255 * f, 0, 255) }; }), (l.rgbToHsv = function (t) { var n = t.r / 255, i = t.g / 255, r = t.b / 255, e = Math.max(n, i, r), u = Math.min(n, i, r), o = e - u, l = 0, s = e, c = 0 === e ? 0 : o / e; switch (e) { case u: l = 0; break; case n: l = (i - r) / o + (i < r ? 6 : 0); break; case i: l = (r - n) / o + 2; break; case r: l = (n - i) / o + 4; } return { h: (60 * l) % 360, s: J(100 * c, 0, 100), v: J(100 * s, 0, 100) }; }), (l.hsvToHsl = function (t) { var n = t.s / 100, i = t.v / 100, r = (2 - n) * i, e = r <= 1 ? r : 2 - r, u = e < 1e-9 ? 0 : (n * i) / e; return { h: t.h, s: J(100 * u, 0, 100), l: J(50 * r, 0, 100) }; }), (l.hslToHsv = function (t) { var n = 2 * t.l, i = (t.s * (n <= 100 ? n : 200 - n)) / 100, r = n + i < 1e-9 ? 0 : (2 * i) / (n + i); return { h: t.h, s: J(100 * r, 0, 100), v: J((n + i) / 2, 0, 100) }; }), (l.kelvinToRgb = function (t) { var n, i, r, e = t / 100; return ( (r = e < 66 ? ((n = 255), (i = -155.25485562709179 - 0.44596950469579133 * (i = e - 2) + 104.49216199393888 * q(i)), e < 20 ? 0 : 0.8274096064007395 * (r = e - 10) - 254.76935184120902 + 115.67994401066147 * q(r)) : ((n = 351.97690566805693 + 0.114206453784165 * (n = e - 55) - 40.25366309332127 * q(n)), (i = 325.4494125711974 + 0.07943456536662342 * (i = e - 50) - 28.0852963507957 * q(i)), 255)), { r: J(Z(n), 0, 255), g: J(Z(i), 0, 255), b: J(Z(r), 0, 255) } ); }), (l.rgbToKelvin = function (t) { for (var n, i = t.r, r = t.b, e = 2e3, u = 4e4; 0.4 < u - e; ) { var o = l.kelvinToRgb((n = 0.5 * (u + e))); o.b / o.r >= r / i ? (u = n) : (e = n); } return n; }), (function (t, n, i) { n && g(t.prototype, n), i && g(t, i); })(l, [ { key: 'hsv', get: function () { var t = this.$; return { h: t.h, s: t.s, v: t.v }; }, set: function (t) { var n = this.$; if (((t = b({}, n, t)), this.onChange)) { var i = { h: !1, v: !1, s: !1, a: !1 }; for (var r in n) i[r] = t[r] != n[r]; (this.$ = t), (i.h || i.s || i.v || i.a) && this.onChange(this, i); } else this.$ = t; }, }, { key: 'hsva', get: function () { return b({}, this.$); }, set: function (t) { this.hsv = t; }, }, { key: 'hue', get: function () { return this.$.h; }, set: function (t) { this.hsv = { h: t }; }, }, { key: 'saturation', get: function () { return this.$.s; }, set: function (t) { this.hsv = { s: t }; }, }, { key: 'value', get: function () { return this.$.v; }, set: function (t) { this.hsv = { v: t }; }, }, { key: 'alpha', get: function () { return this.$.a; }, set: function (t) { this.hsv = b({}, this.hsv, { a: t }); }, }, { key: 'kelvin', get: function () { return l.rgbToKelvin(this.rgb); }, set: function (t) { this.rgb = l.kelvinToRgb(t); }, }, { key: 'red', get: function () { return this.rgb.r; }, set: function (t) { this.rgb = b({}, this.rgb, { r: t }); }, }, { key: 'green', get: function () { return this.rgb.g; }, set: function (t) { this.rgb = b({}, this.rgb, { g: t }); }, }, { key: 'blue', get: function () { return this.rgb.b; }, set: function (t) { this.rgb = b({}, this.rgb, { b: t }); }, }, { key: 'rgb', get: function () { var t = l.hsvToRgb(this.$), n = t.r, i = t.g, r = t.b; return { r: G(n), g: G(i), b: G(r) }; }, set: function (t) { this.hsv = b({}, l.rgbToHsv(t), { a: void 0 === t.a ? 1 : t.a }); }, }, { key: 'rgba', get: function () { return b({}, this.rgb, { a: this.alpha }); }, set: function (t) { this.rgb = t; }, }, { key: 'hsl', get: function () { var t = l.hsvToHsl(this.$), n = t.h, i = t.s, r = t.l; return { h: G(n), s: G(i), l: G(r) }; }, set: function (t) { this.hsv = b({}, l.hslToHsv(t), { a: void 0 === t.a ? 1 : t.a }); }, }, { key: 'hsla', get: function () { return b({}, this.hsl, { a: this.alpha }); }, set: function (t) { this.hsl = t; }, }, { key: 'rgbString', get: function () { var t = this.rgb; return 'rgb(' + t.r + ', ' + t.g + ', ' + t.b + ')'; }, set: function (t) { var n, i, r, e, u = 1; if ( ((n = _.exec(t)) ? ((i = K(n[1], 255)), (r = K(n[2], 255)), (e = K(n[3], 255))) : (n = H.exec(t)) && ((i = K(n[1], 255)), (r = K(n[2], 255)), (e = K(n[3], 255)), (u = K(n[4], 1))), !n) ) throw new Error('Invalid rgb string'); this.rgb = { r: i, g: r, b: e, a: u }; }, }, { key: 'rgbaString', get: function () { var t = this.rgba; return 'rgba(' + t.r + ', ' + t.g + ', ' + t.b + ', ' + t.a + ')'; }, set: function (t) { this.rgbString = t; }, }, { key: 'hexString', get: function () { var t = this.rgb; return '#' + U(t.r) + U(t.g) + U(t.b); }, set: function (t) { var n, i, r, e, u = 255; if ( ((n = D.exec(t)) ? ((i = 17 * Q(n[1])), (r = 17 * Q(n[2])), (e = 17 * Q(n[3]))) : (n = F.exec(t)) ? ((i = 17 * Q(n[1])), (r = 17 * Q(n[2])), (e = 17 * Q(n[3])), (u = 17 * Q(n[4]))) : (n = L.exec(t)) ? ((i = Q(n[1])), (r = Q(n[2])), (e = Q(n[3]))) : (n = B.exec(t)) && ((i = Q(n[1])), (r = Q(n[2])), (e = Q(n[3])), (u = Q(n[4]))), !n) ) throw new Error('Invalid hex string'); this.rgb = { r: i, g: r, b: e, a: u / 255 }; }, }, { key: 'hex8String', get: function () { var t = this.rgba; return '#' + U(t.r) + U(t.g) + U(t.b) + U(Z(255 * t.a)); }, set: function (t) { this.hexString = t; }, }, { key: 'hslString', get: function () { var t = this.hsl; return 'hsl(' + t.h + ', ' + t.s + '%, ' + t.l + '%)'; }, set: function (t) { var n, i, r, e, u = 1; if ( ((n = P.exec(t)) ? ((i = K(n[1], 360)), (r = K(n[2], 100)), (e = K(n[3], 100))) : (n = $.exec(t)) && ((i = K(n[1], 360)), (r = K(n[2], 100)), (e = K(n[3], 100)), (u = K(n[4], 1))), !n) ) throw new Error('Invalid hsl string'); this.hsl = { h: i, s: r, l: e, a: u }; }, }, { key: 'hslaString', get: function () { var t = this.hsla; return 'hsla(' + t.h + ', ' + t.s + '%, ' + t.l + '%, ' + t.a + ')'; }, set: function (t) { this.hslString = t; }, }, ]), l ); })(); function X(t) { var n, i = t.width, r = t.sliderSize, e = t.borderWidth, u = t.handleRadius, o = t.padding, l = t.sliderShape, s = 'horizontal' === t.layoutDirection; return ( (r = null != (n = r) ? n : 2 * o + 2 * u), 'circle' === l ? { handleStart: t.padding + t.handleRadius, handleRange: i - 2 * o - 2 * u, width: i, height: i, cx: i / 2, cy: i / 2, radius: i / 2 - e / 2 } : { handleStart: r / 2, handleRange: i - r, radius: r / 2, x: 0, y: 0, width: s ? r : i, height: s ? i : r } ); } function Y(t, n) { var i = X(t), r = i.width, e = i.height, u = i.handleRange, o = i.handleStart, l = 'horizontal' === t.layoutDirection, s = l ? r / 2 : e / 2, c = o + ((function (t, n) { var i = n.hsva, r = n.rgb; switch (t.sliderType) { case 'red': return r.r / 2.55; case 'green': return r.g / 2.55; case 'blue': return r.b / 2.55; case 'alpha': return 100 * i.a; case 'kelvin': var e = t.minTemperature, u = t.maxTemperature - e, o = ((n.kelvin - e) / u) * 100; return Math.max(0, Math.min(o, 100)); case 'hue': return (i.h /= 3.6); case 'saturation': return i.s; case 'value': default: return i.v; } })(t, n) / 100) * u; return l && (c = -1 * c + u + 2 * o), { x: l ? s : c, y: l ? c : s }; } var tt, nt = 2 * Math.PI, it = function (t, n) { return ((t % n) + n) % n; }, rt = function (t, n) { return Math.sqrt(t * t + n * n); }; function et(t) { return t.width / 2 - t.padding - t.handleRadius - t.borderWidth; } function ut(t) { var n = t.width / 2; return { width: t.width, radius: n - t.borderWidth, cx: n, cy: n }; } function ot(t, n, i) { var r = t.wheelAngle, e = t.wheelDirection; return ( i && 'clockwise' === e ? (n = r + n) : 'clockwise' === e ? (n = 360 - r + n) : i && 'anticlockwise' === e ? (n = r + 180 - n) : 'anticlockwise' === e && (n = r - n), it(n, 360) ); } function lt(t, n, i) { var r = ut(t), e = r.cx, u = r.cy, o = et(t); (n = e - n), (i = u - i); var l = ot(t, Math.atan2(-i, -n) * (360 / nt)), s = Math.min(rt(n, i), o); return { h: Math.round(l), s: Math.round((100 / o) * s) }; } function st(t) { var n = t.width, i = t.boxHeight; return { width: n, height: null != i ? i : n, radius: t.padding + t.handleRadius }; } function ct(t, n, i) { var r = st(t), e = r.width, u = r.height, o = r.radius, l = ((n - o) / (e - 2 * o)) * 100, s = ((i - o) / (u - 2 * o)) * 100; return { s: Math.max(0, Math.min(l, 100)), v: Math.max(0, Math.min(100 - s, 100)) }; } function at(t, n, i, r) { for (var e = 0; e < r.length; e++) { var u = r[e].x - n, o = r[e].y - i; if (Math.sqrt(u * u + o * o) < t.handleRadius) return e; } return null; } function ft(t) { return { boxSizing: 'border-box', border: t.borderWidth + 'px solid ' + t.borderColor }; } function ht(t, n, i) { return ( t + '-gradient(' + n + ', ' + i .map(function (t) { var n = t[0]; return t[1] + ' ' + n + '%'; }) .join(',') + ')' ); } function vt(t) { return 'string' == typeof t ? t : t + 'px'; } var dt = ['mousemove', 'touchmove', 'mouseup', 'touchend'], gt = (function (n) { function t(t) { n.call(this, t), (this.uid = (Math.random() + 1).toString(36).substring(5)); } return ( n && (t.__proto__ = n), (((t.prototype = Object.create(n && n.prototype)).constructor = t).prototype.render = function (t) { var n = this.handleEvent.bind(this), i = { onMouseDown: n, ontouchstart: n }, r = 'horizontal' === t.layoutDirection, e = null === t.margin ? t.sliderMargin : t.margin, u = { overflow: 'visible', display: r ? 'inline-block' : 'block' }; return 0 < t.index && (u[r ? 'marginLeft' : 'marginTop'] = e), h(O, null, t.children(this.uid, i, u)); }), (t.prototype.handleEvent = function (t) { var n = this, i = this.props.onInput, r = this.base.getBoundingClientRect(); t.preventDefault(); var e = t.touches ? t.changedTouches[0] : t, u = e.clientX - r.left, o = e.clientY - r.top; switch (t.type) { case 'mousedown': case 'touchstart': !1 !== i(u, o, 0) && dt.forEach(function (t) { document.addEventListener(t, n, { passive: !1 }); }); break; case 'mousemove': case 'touchmove': i(u, o, 1); break; case 'mouseup': case 'touchend': i(u, o, 2), dt.forEach(function (t) { document.removeEventListener(t, n, { passive: !1 }); }); } }), t ); })(I); function bt(t) { var n = t.r, i = t.url, r = n, e = n; return h( 'svg', { className: 'IroHandle IroHandle--' + t.index + ' ' + (t.isActive ? 'IroHandle--isActive' : ''), style: { '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0);', transform: 'translate(' + vt(t.x) + ', ' + vt(t.y) + ')', willChange: 'transform', top: vt(-n), left: vt(-n), width: vt(2 * n), height: vt(2 * n), position: 'absolute', overflow: 'visible', }, }, i && h( 'use', Object.assign( { xlinkHref: (function (t) { tt = tt || document.getElementsByTagName('base'); var n = window.navigator.userAgent, i = /^((?!chrome|android).)*safari/i.test(n), r = /iPhone|iPod|iPad/i.test(n), e = window.location; return (i || r) && 0 < tt.length ? e.protocol + '//' + e.host + e.pathname + e.search + t : t; })(i), }, t.props ) ), !i && h('circle', { cx: r, cy: e, r: n, fill: 'none', 'stroke-width': 2, stroke: '#000' }), !i && h('circle', { cx: r, cy: e, r: n - 2, fill: t.fill, 'stroke-width': 2, stroke: '#fff' }) ); } function pt(e) { var t = e.activeIndex, u = void 0 !== t && t < e.colors.length ? e.colors[t] : e.color, n = X(e), r = n.width, o = n.height, l = n.radius, s = Y(e, u), c = (function (t, n) { var i = n.hsv, r = n.rgb; switch (t.sliderType) { case 'red': return [ [0, 'rgb(0,' + r.g + ',' + r.b + ')'], [100, 'rgb(255,' + r.g + ',' + r.b + ')'], ]; case 'green': return [ [0, 'rgb(' + r.r + ',0,' + r.b + ')'], [100, 'rgb(' + r.r + ',255,' + r.b + ')'], ]; case 'blue': return [ [0, 'rgb(' + r.r + ',' + r.g + ',0)'], [100, 'rgb(' + r.r + ',' + r.g + ',255)'], ]; case 'alpha': return [ [0, 'rgba(' + r.r + ',' + r.g + ',' + r.b + ',0)'], [100, 'rgb(' + r.r + ',' + r.g + ',' + r.b + ')'], ]; case 'kelvin': for (var e = [], u = t.minTemperature, o = t.maxTemperature, l = o - u, s = u, c = 0; s < o; s += l / 8, c += 1) { var a = V.kelvinToRgb(s), f = a.r, h = a.g, v = a.b; e.push([12.5 * c, 'rgb(' + f + ',' + h + ',' + v + ')']); } return e; case 'hue': return [ [0, '#f00'], [16.666, '#ff0'], [33.333, '#0f0'], [50, '#0ff'], [66.666, '#00f'], [83.333, '#f0f'], [100, '#f00'], ]; case 'saturation': var d = V.hsvToHsl({ h: i.h, s: 0, v: i.v }), g = V.hsvToHsl({ h: i.h, s: 100, v: i.v }); return [ [0, 'hsl(' + d.h + ',' + d.s + '%,' + d.l + '%)'], [100, 'hsl(' + g.h + ',' + g.s + '%,' + g.l + '%)'], ]; case 'value': default: var b = V.hsvToHsl({ h: i.h, s: i.s, v: 100 }); return [ [0, '#000'], [100, 'hsl(' + b.h + ',' + b.s + '%,' + b.l + '%)'], ]; } })(e, u); return h( gt, Object.assign({}, e, { onInput: function (t, n, i) { var r = (function (t, n, i) { var r, e = X(t), u = e.handleRange, o = e.handleStart; (r = 'horizontal' === t.layoutDirection ? -1 * i + u + o : n - o), (r = Math.max(Math.min(r, u), 0)); var l = Math.round((100 / u) * r); switch (t.sliderType) { case 'kelvin': var s = t.minTemperature; return s + (l / 100) * (t.maxTemperature - s); case 'alpha': return l / 100; case 'hue': return 3.6 * l; case 'red': case 'blue': case 'green': return 2.55 * l; default: return l; } })(e, t, n); (e.parent.inputActive = !0), (u[e.sliderType] = r), e.onInput(i, e.id); }, }), function (t, n, i) { return h( 'div', Object.assign({}, n, { className: 'IroSlider', style: Object.assign( {}, { position: 'relative', width: vt(r), height: vt(o), borderRadius: vt(l), background: 'conic-gradient(#ccc 25%, #fff 0 50%, #ccc 0 75%, #fff 0)', backgroundSize: '8px 8px', }, i ), }), h('div', { className: 'IroSliderGradient', style: Object.assign( {}, { position: 'absolute', top: 0, left: 0, width: '100%', height: '100%', borderRadius: vt(l), background: ht('linear', 'horizontal' === e.layoutDirection ? 'to top' : 'to right', c), }, ft(e) ), }), h(bt, { isActive: !0, index: u.index, r: e.handleRadius, url: e.handleSvg, props: e.handleProps, x: s.x, y: s.y }) ); } ); } function yt(e) { var t = st(e), r = t.width, u = t.height, o = t.radius, l = e.colors, s = e.parent, n = e.activeIndex, c = void 0 !== n && n < e.colors.length ? e.colors[n] : e.color, a = (function (t, n) { return [ [ [0, '#fff'], [100, 'hsl(' + n.hue + ',100%,50%)'], ], [ [0, 'rgba(0,0,0,0)'], [100, '#000'], ], ]; })(0, c), f = l.map(function (t) { return (function (t, n) { var i = st(t), r = i.width, e = i.height, u = i.radius, o = n.hsv, l = u, s = r - 2 * u, c = e - 2 * u; return { x: l + (o.s / 100) * s, y: l + (c - (o.v / 100) * c) }; })(e, t); }); return h( gt, Object.assign({}, e, { onInput: function (t, n, i) { if (0 === i) { var r = at(e, t, n, f); null !== r ? s.setActiveColor(r) : ((s.inputActive = !0), (c.hsv = ct(e, t, n)), e.onInput(i, e.id)); } else 1 === i && ((s.inputActive = !0), (c.hsv = ct(e, t, n))); e.onInput(i, e.id); }, }), function (t, n, i) { return h( 'div', Object.assign({}, n, { className: 'IroBox', style: Object.assign({}, { width: vt(r), height: vt(u), position: 'relative' }, i) }), h('div', { className: 'IroBox', style: Object.assign({}, { width: '100%', height: '100%', borderRadius: vt(o) }, ft(e), { background: ht('linear', 'to bottom', a[1]) + ',' + ht('linear', 'to right', a[0]), }), }), l .filter(function (t) { return t !== c; }) .map(function (t) { return h(bt, { isActive: !1, index: t.index, fill: t.hslString, r: e.handleRadius, url: e.handleSvg, props: e.handleProps, x: f[t.index].x, y: f[t.index].y,