diff --git a/README.md b/README.md index af585f26..6c515056 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,64 @@ React.render( ) ``` +## Solo Filtering ## + +The `solo` prop allows you to filter data to show only specific values. It supports both single values and arrays for multi-value filtering. + +### Single Value Filtering (Original Behavior) + +```jsx + +``` + +### Array Value Filtering (New Feature) + +```jsx + +``` + +### Mixed Value Filtering + +```jsx + +``` + +### Filtering Logic + +- **Within arrays**: Uses OR logic (matches any value in the array) +- **Between properties**: Uses AND logic (all properties must match) +- **Empty arrays**: Filter out all rows for that property +- **Display**: Array values are shown as comma-separated strings + +### Example + +```jsx +// This configuration: +solo={{ + state: ['NY', 'CA'], + department: ['Sales', 'Marketing'] +}} + +// Would match rows where: +// (state === 'NY' OR state === 'CA') AND (department === 'Sales' OR department === 'Marketing') +``` + See it all together in [example/basic.jsx](https://github.com/davidguttman/react-pivot/blob/master/example/basic.jsx) ### Optional Arguments ### @@ -154,7 +212,7 @@ csvTemplateFormat | boolean | apply template formatting to data before csv expor defaultStyles | boolean | apply default styles from style.css | true hiddenColumns | array | columns that should not display | [] nPaginateRows | number | items per page setting | 25 -solo | object | item that should be displayed solo | null +solo | object | item that should be displayed solo. Values can be strings or arrays of strings for multi-value filtering | null sortBy | string | name of column to use for record sort | null sortDir | string | sort direction, either 'asc' or 'desc' | 'asc' tableClassName | string | assign css class to table containing react-pivot elements | '' diff --git a/dist/react-pivot.es.js b/dist/react-pivot.es.js index b551bc08..015fd26c 100644 --- a/dist/react-pivot.es.js +++ b/dist/react-pivot.es.js @@ -1,9 +1,9 @@ -import Hn from "react"; -var ce = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; -function Y(e) { +import kn from "react"; +var fe = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; +function H(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } -var fe = { exports: {} }, Q = {}; +var de = { exports: {} }, ee = {}; /** * @license React * react-jsx-runtime.production.js @@ -13,17 +13,17 @@ var fe = { exports: {} }, Q = {}; * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var ea; -function Ju() { - if (ea) return Q; - ea = 1; +var Jn; +function Vo() { + if (Jn) return ee; + Jn = 1; var e = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment"); function t(n, a, i) { var s = null; if (i !== void 0 && (s = "" + i), a.key !== void 0 && (s = "" + a.key), "key" in a) { i = {}; - for (var u in a) - u !== "key" && (i[u] = a[u]); + for (var o in a) + o !== "key" && (i[o] = a[o]); } else i = a; return a = i.ref, { $$typeof: e, @@ -33,9 +33,9 @@ function Ju() { props: i }; } - return Q.Fragment = r, Q.jsx = t, Q.jsxs = t, Q; + return ee.Fragment = r, ee.jsx = t, ee.jsxs = t, ee; } -var ee = {}; +var re = {}; /** * @license React * react-jsx-runtime.development.js @@ -45,488 +45,486 @@ var ee = {}; * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var ra; -function Xu() { - return ra || (ra = 1, process.env.NODE_ENV !== "production" && function() { - function e(h) { - if (h == null) return null; - if (typeof h == "function") - return h.$$typeof === B ? null : h.displayName || h.name || null; - if (typeof h == "string") return h; - switch (h) { - case y: +var Xn; +function Uo() { + return Xn || (Xn = 1, process.env.NODE_ENV !== "production" && (function() { + function e(l) { + if (l == null) return null; + if (typeof l == "function") + return l.$$typeof === O ? null : l.displayName || l.name || null; + if (typeof l == "string") return l; + switch (l) { + case g: return "Fragment"; - case E: + case y: return "Profiler"; - case g: + case x: return "StrictMode"; - case D: + case S: return "Suspense"; case P: return "SuspenseList"; - case M: + case G: return "Activity"; } - if (typeof h == "object") - switch (typeof h.tag == "number" && console.error( + if (typeof l == "object") + switch (typeof l.tag == "number" && console.error( "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." - ), h.$$typeof) { - case R: + ), l.$$typeof) { + case m: return "Portal"; - case O: - return (h.displayName || "Context") + ".Provider"; - case b: - return (h._context.displayName || "Context") + ".Consumer"; case C: - var q = h.render; - return h = h.displayName, h || (h = q.displayName || q.name || "", h = h !== "" ? "ForwardRef(" + h + ")" : "ForwardRef"), h; - case S: - return q = h.displayName || null, q !== null ? q : e(h.type) || "Memo"; - case j: - q = h._payload, h = h._init; + return l.displayName || "Context"; + case A: + return (l._context.displayName || "Context") + ".Consumer"; + case N: + var R = l.render; + return l = l.displayName, l || (l = R.displayName || R.name || "", l = l !== "" ? "ForwardRef(" + l + ")" : "ForwardRef"), l; + case M: + return R = l.displayName || null, R !== null ? R : e(l.type) || "Memo"; + case F: + R = l._payload, l = l._init; try { - return e(h(q)); + return e(l(R)); } catch { } } return null; } - function r(h) { - return "" + h; + function r(l) { + return "" + l; } - function t(h) { + function t(l) { try { - r(h); - var q = !1; + r(l); + var R = !1; } catch { - q = !0; + R = !0; } - if (q) { - q = console; - var N = q.error, F = typeof Symbol == "function" && Symbol.toStringTag && h[Symbol.toStringTag] || h.constructor.name || "Object"; - return N.call( - q, + if (R) { + R = console; + var T = R.error, w = typeof Symbol == "function" && Symbol.toStringTag && l[Symbol.toStringTag] || l.constructor.name || "Object"; + return T.call( + R, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", - F - ), r(h); + w + ), r(l); } } - function n(h) { - if (h === y) return "<>"; - if (typeof h == "object" && h !== null && h.$$typeof === j) + function n(l) { + if (l === g) return "<>"; + if (typeof l == "object" && l !== null && l.$$typeof === F) return "<...>"; try { - var q = e(h); - return q ? "<" + q + ">" : "<...>"; + var R = e(l); + return R ? "<" + R + ">" : "<...>"; } catch { return "<...>"; } } function a() { - var h = x.A; - return h === null ? null : h.getOwner(); + var l = B.A; + return l === null ? null : l.getOwner(); } function i() { return Error("react-stack-top-frame"); } - function s(h) { - if (v.call(h, "key")) { - var q = Object.getOwnPropertyDescriptor(h, "key").get; - if (q && q.isReactWarning) return !1; + function s(l) { + if (k.call(l, "key")) { + var R = Object.getOwnPropertyDescriptor(l, "key").get; + if (R && R.isReactWarning) return !1; } - return h.key !== void 0; + return l.key !== void 0; } - function u(h, q) { - function N() { - I || (I = !0, console.error( + function o(l, R) { + function T() { + h || (h = !0, console.error( "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", - q + R )); } - N.isReactWarning = !0, Object.defineProperty(h, "key", { - get: N, + T.isReactWarning = !0, Object.defineProperty(l, "key", { + get: T, configurable: !0 }); } - function o() { - var h = e(this.type); - return w[h] || (w[h] = !0, console.error( + function u() { + var l = e(this.type); + return q[l] || (q[l] = !0, console.error( "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." - )), h = this.props.ref, h !== void 0 ? h : null; + )), l = this.props.ref, l !== void 0 ? l : null; } - function c(h, q, N, F, H, U, be, qe) { - return N = U.ref, h = { - $$typeof: _, - type: h, - key: q, - props: U, - _owner: H - }, (N !== void 0 ? N : null) !== null ? Object.defineProperty(h, "ref", { + function c(l, R, T, w, $, Q) { + var I = T.ref; + return l = { + $$typeof: b, + type: l, + key: R, + props: T, + _owner: w + }, (I !== void 0 ? I : null) !== null ? Object.defineProperty(l, "ref", { enumerable: !1, - get: o - }) : Object.defineProperty(h, "ref", { enumerable: !1, value: null }), h._store = {}, Object.defineProperty(h._store, "validated", { + get: u + }) : Object.defineProperty(l, "ref", { enumerable: !1, value: null }), l._store = {}, Object.defineProperty(l._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: 0 - }), Object.defineProperty(h, "_debugInfo", { + }), Object.defineProperty(l, "_debugInfo", { configurable: !1, enumerable: !1, writable: !0, value: null - }), Object.defineProperty(h, "_debugStack", { + }), Object.defineProperty(l, "_debugStack", { configurable: !1, enumerable: !1, writable: !0, - value: be - }), Object.defineProperty(h, "_debugTask", { + value: $ + }), Object.defineProperty(l, "_debugTask", { configurable: !1, enumerable: !1, writable: !0, - value: qe - }), Object.freeze && (Object.freeze(h.props), Object.freeze(h)), h; + value: Q + }), Object.freeze && (Object.freeze(l.props), Object.freeze(l)), l; } - function f(h, q, N, F, H, U, be, qe) { - var k = q.children; - if (k !== void 0) - if (F) - if (l(k)) { - for (F = 0; F < k.length; F++) - d(k[F]); - Object.freeze && Object.freeze(k); + function f(l, R, T, w, $, Q) { + var I = R.children; + if (I !== void 0) + if (w) + if (W(I)) { + for (w = 0; w < I.length; w++) + d(I[w]); + Object.freeze && Object.freeze(I); } else console.error( "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." ); - else d(k); - if (v.call(q, "key")) { - k = e(h); - var J = Object.keys(q).filter(function($u) { - return $u !== "key"; + else d(I); + if (k.call(R, "key")) { + I = e(l); + var J = Object.keys(R).filter(function(Go) { + return Go !== "key"; }); - F = 0 < J.length ? "{key: someKey, " + J.join(": ..., ") + ": ...}" : "{key: someKey}", G[k + F] || (J = 0 < J.length ? "{" + J.join(": ..., ") + ": ...}" : "{}", console.error( + w = 0 < J.length ? "{key: someKey, " + J.join(": ..., ") + ": ...}" : "{key: someKey}", L[I + w] || (J = 0 < J.length ? "{" + J.join(": ..., ") + ": ...}" : "{}", console.error( `A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`, - F, - k, + w, + I, J, - k - ), G[k + F] = !0); + I + ), L[I + w] = !0); } - if (k = null, N !== void 0 && (t(N), k = "" + N), s(q) && (t(q.key), k = "" + q.key), "key" in q) { - N = {}; - for (var Re in q) - Re !== "key" && (N[Re] = q[Re]); - } else N = q; - return k && u( - N, - typeof h == "function" ? h.displayName || h.name || "Unknown" : h + if (I = null, T !== void 0 && (t(T), I = "" + T), s(R) && (t(R.key), I = "" + R.key), "key" in R) { + T = {}; + for (var qe in R) + qe !== "key" && (T[qe] = R[qe]); + } else T = R; + return I && o( + T, + typeof l == "function" ? l.displayName || l.name || "Unknown" : l ), c( - h, - k, - U, - H, + l, + I, + T, a(), - N, - be, - qe + $, + Q ); } - function d(h) { - typeof h == "object" && h !== null && h.$$typeof === _ && h._store && (h._store.validated = 1); + function d(l) { + v(l) ? l._store && (l._store.validated = 1) : typeof l == "object" && l !== null && l.$$typeof === F && (l._payload.status === "fulfilled" ? v(l._payload.value) && l._payload.value._store && (l._payload.value._store.validated = 1) : l._store && (l._store.validated = 1)); + } + function v(l) { + return typeof l == "object" && l !== null && l.$$typeof === b; } - var p = Hn, _ = Symbol.for("react.transitional.element"), R = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), g = Symbol.for("react.strict_mode"), E = Symbol.for("react.profiler"), b = Symbol.for("react.consumer"), O = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), D = Symbol.for("react.suspense"), P = Symbol.for("react.suspense_list"), S = Symbol.for("react.memo"), j = Symbol.for("react.lazy"), M = Symbol.for("react.activity"), B = Symbol.for("react.client.reference"), x = p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, v = Object.prototype.hasOwnProperty, l = Array.isArray, m = console.createTask ? console.createTask : function() { + var _ = kn, b = Symbol.for("react.transitional.element"), m = Symbol.for("react.portal"), g = Symbol.for("react.fragment"), x = Symbol.for("react.strict_mode"), y = Symbol.for("react.profiler"), A = Symbol.for("react.consumer"), C = Symbol.for("react.context"), N = Symbol.for("react.forward_ref"), S = Symbol.for("react.suspense"), P = Symbol.for("react.suspense_list"), M = Symbol.for("react.memo"), F = Symbol.for("react.lazy"), G = Symbol.for("react.activity"), O = Symbol.for("react.client.reference"), B = _.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, k = Object.prototype.hasOwnProperty, W = Array.isArray, p = console.createTask ? console.createTask : function() { return null; }; - p = { - "react-stack-bottom-frame": function(h) { - return h(); + _ = { + react_stack_bottom_frame: function(l) { + return l(); } }; - var I, w = {}, L = p["react-stack-bottom-frame"].bind( - p, + var h, q = {}, j = _.react_stack_bottom_frame.bind( + _, i - )(), T = m(n(i)), G = {}; - ee.Fragment = y, ee.jsx = function(h, q, N, F, H) { - var U = 1e4 > x.recentlyCreatedOwnerStacks++; + )(), D = p(n(i)), L = {}; + re.Fragment = g, re.jsx = function(l, R, T) { + var w = 1e4 > B.recentlyCreatedOwnerStacks++; return f( - h, - q, - N, + l, + R, + T, !1, - F, - H, - U ? Error("react-stack-top-frame") : L, - U ? m(n(h)) : T + w ? Error("react-stack-top-frame") : j, + w ? p(n(l)) : D ); - }, ee.jsxs = function(h, q, N, F, H) { - var U = 1e4 > x.recentlyCreatedOwnerStacks++; + }, re.jsxs = function(l, R, T) { + var w = 1e4 > B.recentlyCreatedOwnerStacks++; return f( - h, - q, - N, + l, + R, + T, !0, - F, - H, - U ? Error("react-stack-top-frame") : L, - U ? m(n(h)) : T + w ? Error("react-stack-top-frame") : j, + w ? p(n(l)) : D ); }; - }()), ee; + })()), re; } -var ta; -function Zu() { - return ta || (ta = 1, process.env.NODE_ENV === "production" ? fe.exports = Ju() : fe.exports = Xu()), fe.exports; +var Zn; +function Ho() { + return Zn || (Zn = 1, process.env.NODE_ENV === "production" ? de.exports = Vo() : de.exports = Uo()), de.exports; } -var A = Zu(), Ee, na; -function xu() { - if (na) return Ee; - na = 1; +var E = Ho(), Re, Qn; +function go() { + if (Qn) return Re; + Qn = 1; function e(r, t) { for (var n = -1, a = r == null ? 0 : r.length, i = 0, s = []; ++n < a; ) { - var u = r[n]; - t(u, n, r) && (s[i++] = u); + var o = r[n]; + t(o, n, r) && (s[i++] = o); } return s; } - return Ee = e, Ee; + return Re = e, Re; } -var Ce, aa; -function Qu() { - if (aa) return Ce; - aa = 1; +var Ee, ea; +function Yo() { + if (ea) return Ee; + ea = 1; function e(r) { return function(t, n, a) { - for (var i = -1, s = Object(t), u = a(t), o = u.length; o--; ) { - var c = u[r ? o : ++i]; + for (var i = -1, s = Object(t), o = a(t), u = o.length; u--; ) { + var c = o[r ? u : ++i]; if (n(s[c], c, s) === !1) break; } return t; }; } - return Ce = e, Ce; + return Ee = e, Ee; } -var xe, ia; -function eo() { - if (ia) return xe; - ia = 1; - var e = Qu(), r = e(); +var xe, ra; +function Wo() { + if (ra) return xe; + ra = 1; + var e = Yo(), r = e(); return xe = r, xe; } -var Se, sa; -function ro() { - if (sa) return Se; - sa = 1; +var Ce, ta; +function Ko() { + if (ta) return Ce; + ta = 1; function e(r, t) { for (var n = -1, a = Array(r); ++n < r; ) a[n] = t(n); return a; } - return Se = e, Se; + return Ce = e, Ce; } -var Ae, ua; -function Su() { - if (ua) return Ae; - ua = 1; - var e = typeof ce == "object" && ce && ce.Object === Object && ce; - return Ae = e, Ae; +var Se, na; +function mo() { + if (na) return Se; + na = 1; + var e = typeof fe == "object" && fe && fe.Object === Object && fe; + return Se = e, Se; } -var Pe, oa; -function W() { - if (oa) return Pe; - oa = 1; - var e = Su(), r = typeof self == "object" && self && self.Object === Object && self, t = e || r || Function("return this")(); - return Pe = t, Pe; +var Ae, aa; +function Y() { + if (aa) return Ae; + aa = 1; + var e = mo(), r = typeof self == "object" && self && self.Object === Object && self, t = e || r || Function("return this")(); + return Ae = t, Ae; } -var Te, ca; -function ae() { - if (ca) return Te; - ca = 1; - var e = W(), r = e.Symbol; - return Te = r, Te; +var Pe, ia; +function ie() { + if (ia) return Pe; + ia = 1; + var e = Y(), r = e.Symbol; + return Pe = r, Pe; } -var Oe, fa; -function to() { - if (fa) return Oe; - fa = 1; - var e = ae(), r = Object.prototype, t = r.hasOwnProperty, n = r.toString, a = e ? e.toStringTag : void 0; +var Oe, sa; +function zo() { + if (sa) return Oe; + sa = 1; + var e = ie(), r = Object.prototype, t = r.hasOwnProperty, n = r.toString, a = e ? e.toStringTag : void 0; function i(s) { - var u = t.call(s, a), o = s[a]; + var o = t.call(s, a), u = s[a]; try { s[a] = void 0; var c = !0; } catch { } var f = n.call(s); - return c && (u ? s[a] = o : delete s[a]), f; + return c && (o ? s[a] = u : delete s[a]), f; } return Oe = i, Oe; } -var Ie, la; -function no() { - if (la) return Ie; - la = 1; +var Te, oa; +function $o() { + if (oa) return Te; + oa = 1; var e = Object.prototype, r = e.toString; function t(n) { return r.call(n); } - return Ie = t, Ie; + return Te = t, Te; } -var we, da; -function ie() { - if (da) return we; - da = 1; - var e = ae(), r = to(), t = no(), n = "[object Null]", a = "[object Undefined]", i = e ? e.toStringTag : void 0; - function s(u) { - return u == null ? u === void 0 ? a : n : i && i in Object(u) ? r(u) : t(u); +var we, ua; +function se() { + if (ua) return we; + ua = 1; + var e = ie(), r = zo(), t = $o(), n = "[object Null]", a = "[object Undefined]", i = e ? e.toStringTag : void 0; + function s(o) { + return o == null ? o === void 0 ? a : n : i && i in Object(o) ? r(o) : t(o); } return we = s, we; } -var Ne, ha; +var Ie, ca; function X() { - if (ha) return Ne; - ha = 1; + if (ca) return Ie; + ca = 1; function e(r) { return r != null && typeof r == "object"; } - return Ne = e, Ne; + return Ie = e, Ie; } -var De, va; -function ao() { - if (va) return De; - va = 1; - var e = ie(), r = X(), t = "[object Arguments]"; +var Ne, la; +function Jo() { + if (la) return Ne; + la = 1; + var e = se(), r = X(), t = "[object Arguments]"; function n(a) { return r(a) && e(a) == t; } - return De = n, De; + return Ne = n, Ne; } -var je, pa; -function Kn() { - if (pa) return je; - pa = 1; - var e = ao(), r = X(), t = Object.prototype, n = t.hasOwnProperty, a = t.propertyIsEnumerable, i = e(/* @__PURE__ */ function() { +var De, fa; +function Bn() { + if (fa) return De; + fa = 1; + var e = Jo(), r = X(), t = Object.prototype, n = t.hasOwnProperty, a = t.propertyIsEnumerable, i = e(/* @__PURE__ */ (function() { return arguments; - }()) ? e : function(s) { + })()) ? e : function(s) { return r(s) && n.call(s, "callee") && !a.call(s, "callee"); }; - return je = i, je; + return De = i, De; } -var Me, _a; -function K() { - if (_a) return Me; - _a = 1; +var je, da; +function V() { + if (da) return je; + da = 1; var e = Array.isArray; - return Me = e, Me; + return je = e, je; } -var te = { exports: {} }, Fe, ga; -function io() { - if (ga) return Fe; - ga = 1; +var ne = { exports: {} }, Fe, ha; +function Xo() { + if (ha) return Fe; + ha = 1; function e() { return !1; } return Fe = e, Fe; } -te.exports; -var ma; -function Au() { - return ma || (ma = 1, function(e, r) { - var t = W(), n = io(), a = r && !r.nodeType && r, i = a && !0 && e && !e.nodeType && e, s = i && i.exports === a, u = s ? t.Buffer : void 0, o = u ? u.isBuffer : void 0, c = o || n; +ne.exports; +var va; +function bo() { + return va || (va = 1, (function(e, r) { + var t = Y(), n = Xo(), a = r && !r.nodeType && r, i = a && !0 && e && !e.nodeType && e, s = i && i.exports === a, o = s ? t.Buffer : void 0, u = o ? o.isBuffer : void 0, c = u || n; e.exports = c; - }(te, te.exports)), te.exports; + })(ne, ne.exports)), ne.exports; } -var ke, ya; -function Un() { - if (ya) return ke; - ya = 1; +var Me, pa; +function Ln() { + if (pa) return Me; + pa = 1; var e = 9007199254740991, r = /^(?:0|[1-9]\d*)$/; function t(n, a) { var i = typeof n; return a = a ?? e, !!a && (i == "number" || i != "symbol" && r.test(n)) && n > -1 && n % 1 == 0 && n < a; } - return ke = t, ke; + return Me = t, Me; } -var Be, ba; -function Yn() { - if (ba) return Be; - ba = 1; +var ke, _a; +function Gn() { + if (_a) return ke; + _a = 1; var e = 9007199254740991; function r(t) { return typeof t == "number" && t > -1 && t % 1 == 0 && t <= e; } - return Be = r, Be; + return ke = r, ke; } -var Le, qa; -function so() { - if (qa) return Le; - qa = 1; - var e = ie(), r = Yn(), t = X(), n = "[object Arguments]", a = "[object Array]", i = "[object Boolean]", s = "[object Date]", u = "[object Error]", o = "[object Function]", c = "[object Map]", f = "[object Number]", d = "[object Object]", p = "[object RegExp]", _ = "[object Set]", R = "[object String]", y = "[object WeakMap]", g = "[object ArrayBuffer]", E = "[object DataView]", b = "[object Float32Array]", O = "[object Float64Array]", C = "[object Int8Array]", D = "[object Int16Array]", P = "[object Int32Array]", S = "[object Uint8Array]", j = "[object Uint8ClampedArray]", M = "[object Uint16Array]", B = "[object Uint32Array]", x = {}; - x[b] = x[O] = x[C] = x[D] = x[P] = x[S] = x[j] = x[M] = x[B] = !0, x[n] = x[a] = x[g] = x[i] = x[E] = x[s] = x[u] = x[o] = x[c] = x[f] = x[d] = x[p] = x[_] = x[R] = x[y] = !1; - function v(l) { - return t(l) && r(l.length) && !!x[e(l)]; +var Be, ga; +function Zo() { + if (ga) return Be; + ga = 1; + var e = se(), r = Gn(), t = X(), n = "[object Arguments]", a = "[object Array]", i = "[object Boolean]", s = "[object Date]", o = "[object Error]", u = "[object Function]", c = "[object Map]", f = "[object Number]", d = "[object Object]", v = "[object RegExp]", _ = "[object Set]", b = "[object String]", m = "[object WeakMap]", g = "[object ArrayBuffer]", x = "[object DataView]", y = "[object Float32Array]", A = "[object Float64Array]", C = "[object Int8Array]", N = "[object Int16Array]", S = "[object Int32Array]", P = "[object Uint8Array]", M = "[object Uint8ClampedArray]", F = "[object Uint16Array]", G = "[object Uint32Array]", O = {}; + O[y] = O[A] = O[C] = O[N] = O[S] = O[P] = O[M] = O[F] = O[G] = !0, O[n] = O[a] = O[g] = O[i] = O[x] = O[s] = O[o] = O[u] = O[c] = O[f] = O[d] = O[v] = O[_] = O[b] = O[m] = !1; + function B(k) { + return t(k) && r(k.length) && !!O[e(k)]; } - return Le = v, Le; + return Be = B, Be; } -var Ge, Ra; -function Wn() { - if (Ra) return Ge; - Ra = 1; +var Le, ma; +function Vn() { + if (ma) return Le; + ma = 1; function e(r) { return function(t) { return r(t); }; } - return Ge = e, Ge; + return Le = e, Le; } -var ne = { exports: {} }; -ne.exports; -var Ea; -function uo() { - return Ea || (Ea = 1, function(e, r) { - var t = Su(), n = r && !r.nodeType && r, a = n && !0 && e && !e.nodeType && e, i = a && a.exports === n, s = i && t.process, u = function() { +var ae = { exports: {} }; +ae.exports; +var ba; +function Qo() { + return ba || (ba = 1, (function(e, r) { + var t = mo(), n = r && !r.nodeType && r, a = n && !0 && e && !e.nodeType && e, i = a && a.exports === n, s = i && t.process, o = (function() { try { - var o = a && a.require && a.require("util").types; - return o || s && s.binding && s.binding("util"); + var u = a && a.require && a.require("util").types; + return u || s && s.binding && s.binding("util"); } catch { } - }(); - e.exports = u; - }(ne, ne.exports)), ne.exports; + })(); + e.exports = o; + })(ae, ae.exports)), ae.exports; } -var He, Ca; -function Pu() { - if (Ca) return He; - Ca = 1; - var e = so(), r = Wn(), t = uo(), n = t && t.isTypedArray, a = n ? r(n) : e; - return He = a, He; +var Ge, ya; +function yo() { + if (ya) return Ge; + ya = 1; + var e = Zo(), r = Vn(), t = Qo(), n = t && t.isTypedArray, a = n ? r(n) : e; + return Ge = a, Ge; } -var Ke, xa; -function Tu() { - if (xa) return Ke; - xa = 1; - var e = ro(), r = Kn(), t = K(), n = Au(), a = Un(), i = Pu(), s = Object.prototype, u = s.hasOwnProperty; - function o(c, f) { - var d = t(c), p = !d && r(c), _ = !d && !p && n(c), R = !d && !p && !_ && i(c), y = d || p || _ || R, g = y ? e(c.length, String) : [], E = g.length; - for (var b in c) - (f || u.call(c, b)) && !(y && // Safari 9 has enumerable `arguments.length` in strict mode. - (b == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. - _ && (b == "offset" || b == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. - R && (b == "buffer" || b == "byteLength" || b == "byteOffset") || // Skip index properties. - a(b, E))) && g.push(b); +var Ve, qa; +function qo() { + if (qa) return Ve; + qa = 1; + var e = Ko(), r = Bn(), t = V(), n = bo(), a = Ln(), i = yo(), s = Object.prototype, o = s.hasOwnProperty; + function u(c, f) { + var d = t(c), v = !d && r(c), _ = !d && !v && n(c), b = !d && !v && !_ && i(c), m = d || v || _ || b, g = m ? e(c.length, String) : [], x = g.length; + for (var y in c) + (f || o.call(c, y)) && !(m && // Safari 9 has enumerable `arguments.length` in strict mode. + (y == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + _ && (y == "offset" || y == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + b && (y == "buffer" || y == "byteLength" || y == "byteOffset") || // Skip index properties. + a(y, x))) && g.push(y); return g; } - return Ke = o, Ke; + return Ve = u, Ve; } -var Ue, Sa; -function Ou() { - if (Sa) return Ue; - Sa = 1; +var Ue, Ra; +function Ro() { + if (Ra) return Ue; + Ra = 1; var e = Object.prototype; function r(t) { var n = t && t.constructor, a = typeof n == "function" && n.prototype || e; @@ -534,283 +532,283 @@ function Ou() { } return Ue = r, Ue; } -var Ye, Aa; -function oo() { - if (Aa) return Ye; - Aa = 1; +var He, Ea; +function eu() { + if (Ea) return He; + Ea = 1; function e(r, t) { return function(n) { return r(t(n)); }; } - return Ye = e, Ye; + return He = e, He; } -var We, Pa; -function co() { - if (Pa) return We; - Pa = 1; - var e = oo(), r = e(Object.keys, Object); - return We = r, We; +var Ye, xa; +function ru() { + if (xa) return Ye; + xa = 1; + var e = eu(), r = e(Object.keys, Object); + return Ye = r, Ye; } -var Ve, Ta; -function fo() { - if (Ta) return Ve; - Ta = 1; - var e = Ou(), r = co(), t = Object.prototype, n = t.hasOwnProperty; +var We, Ca; +function tu() { + if (Ca) return We; + Ca = 1; + var e = Ro(), r = ru(), t = Object.prototype, n = t.hasOwnProperty; function a(i) { if (!e(i)) return r(i); var s = []; - for (var u in Object(i)) - n.call(i, u) && u != "constructor" && s.push(u); + for (var o in Object(i)) + n.call(i, o) && o != "constructor" && s.push(o); return s; } - return Ve = a, Ve; + return We = a, We; } -var ze, Oa; +var Ke, Sa; function Z() { - if (Oa) return ze; - Oa = 1; + if (Sa) return Ke; + Sa = 1; function e(r) { var t = typeof r; return r != null && (t == "object" || t == "function"); } - return ze = e, ze; + return Ke = e, Ke; } -var $e, Ia; -function Iu() { - if (Ia) return $e; - Ia = 1; - var e = ie(), r = Z(), t = "[object AsyncFunction]", n = "[object Function]", a = "[object GeneratorFunction]", i = "[object Proxy]"; - function s(u) { - if (!r(u)) +var ze, Aa; +function Eo() { + if (Aa) return ze; + Aa = 1; + var e = se(), r = Z(), t = "[object AsyncFunction]", n = "[object Function]", a = "[object GeneratorFunction]", i = "[object Proxy]"; + function s(o) { + if (!r(o)) return !1; - var o = e(u); - return o == n || o == a || o == t || o == i; + var u = e(o); + return u == n || u == a || u == t || u == i; } - return $e = s, $e; + return ze = s, ze; } -var Je, wa; -function z() { - if (wa) return Je; - wa = 1; - var e = Iu(), r = Yn(); +var $e, Pa; +function K() { + if (Pa) return $e; + Pa = 1; + var e = Eo(), r = Gn(); function t(n) { return n != null && r(n.length) && !e(n); } - return Je = t, Je; + return $e = t, $e; } -var Xe, Na; -function le() { - if (Na) return Xe; - Na = 1; - var e = Tu(), r = fo(), t = z(); +var Je, Oa; +function he() { + if (Oa) return Je; + Oa = 1; + var e = qo(), r = tu(), t = K(); function n(a) { return t(a) ? e(a) : r(a); } - return Xe = n, Xe; + return Je = n, Je; } -var Ze, Da; -function lo() { - if (Da) return Ze; - Da = 1; - var e = eo(), r = le(); +var Xe, Ta; +function nu() { + if (Ta) return Xe; + Ta = 1; + var e = Wo(), r = he(); function t(n, a) { return n && e(n, a, r); } - return Ze = t, Ze; + return Xe = t, Xe; } -var Qe, ja; -function ho() { - if (ja) return Qe; - ja = 1; - var e = z(); +var Ze, wa; +function au() { + if (wa) return Ze; + wa = 1; + var e = K(); function r(t, n) { return function(a, i) { if (a == null) return a; if (!e(a)) return t(a, i); - for (var s = a.length, u = n ? s : -1, o = Object(a); (n ? u-- : ++u < s) && i(o[u], u, o) !== !1; ) + for (var s = a.length, o = n ? s : -1, u = Object(a); (n ? o-- : ++o < s) && i(u[o], o, u) !== !1; ) ; return a; }; } - return Qe = r, Qe; + return Ze = r, Ze; } -var er, Ma; -function Vn() { - if (Ma) return er; - Ma = 1; - var e = lo(), r = ho(), t = r(e); - return er = t, er; +var Qe, Ia; +function Un() { + if (Ia) return Qe; + Ia = 1; + var e = nu(), r = au(), t = r(e); + return Qe = t, Qe; } -var rr, Fa; -function vo() { - if (Fa) return rr; - Fa = 1; - var e = Vn(); +var er, Na; +function iu() { + if (Na) return er; + Na = 1; + var e = Un(); function r(t, n) { var a = []; - return e(t, function(i, s, u) { - n(i, s, u) && a.push(i); + return e(t, function(i, s, o) { + n(i, s, o) && a.push(i); }), a; } - return rr = r, rr; + return er = r, er; } -var tr, ka; -function po() { - if (ka) return tr; - ka = 1; +var rr, Da; +function su() { + if (Da) return rr; + Da = 1; function e() { this.__data__ = [], this.size = 0; } - return tr = e, tr; + return rr = e, rr; } -var nr, Ba; -function de() { - if (Ba) return nr; - Ba = 1; +var tr, ja; +function ve() { + if (ja) return tr; + ja = 1; function e(r, t) { return r === t || r !== r && t !== t; } - return nr = e, nr; + return tr = e, tr; } -var ar, La; -function he() { - if (La) return ar; - La = 1; - var e = de(); +var nr, Fa; +function pe() { + if (Fa) return nr; + Fa = 1; + var e = ve(); function r(t, n) { for (var a = t.length; a--; ) if (e(t[a][0], n)) return a; return -1; } - return ar = r, ar; + return nr = r, nr; } -var ir, Ga; -function _o() { - if (Ga) return ir; - Ga = 1; - var e = he(), r = Array.prototype, t = r.splice; +var ar, Ma; +function ou() { + if (Ma) return ar; + Ma = 1; + var e = pe(), r = Array.prototype, t = r.splice; function n(a) { var i = this.__data__, s = e(i, a); if (s < 0) return !1; - var u = i.length - 1; - return s == u ? i.pop() : t.call(i, s, 1), --this.size, !0; + var o = i.length - 1; + return s == o ? i.pop() : t.call(i, s, 1), --this.size, !0; } - return ir = n, ir; + return ar = n, ar; } -var sr, Ha; -function go() { - if (Ha) return sr; - Ha = 1; - var e = he(); +var ir, ka; +function uu() { + if (ka) return ir; + ka = 1; + var e = pe(); function r(t) { var n = this.__data__, a = e(n, t); return a < 0 ? void 0 : n[a][1]; } - return sr = r, sr; + return ir = r, ir; } -var ur, Ka; -function mo() { - if (Ka) return ur; - Ka = 1; - var e = he(); +var sr, Ba; +function cu() { + if (Ba) return sr; + Ba = 1; + var e = pe(); function r(t) { return e(this.__data__, t) > -1; } - return ur = r, ur; + return sr = r, sr; } -var or, Ua; -function yo() { - if (Ua) return or; - Ua = 1; - var e = he(); +var or, La; +function lu() { + if (La) return or; + La = 1; + var e = pe(); function r(t, n) { var a = this.__data__, i = e(a, t); return i < 0 ? (++this.size, a.push([t, n])) : a[i][1] = n, this; } return or = r, or; } -var cr, Ya; -function ve() { - if (Ya) return cr; - Ya = 1; - var e = po(), r = _o(), t = go(), n = mo(), a = yo(); +var ur, Ga; +function _e() { + if (Ga) return ur; + Ga = 1; + var e = su(), r = ou(), t = uu(), n = cu(), a = lu(); function i(s) { - var u = -1, o = s == null ? 0 : s.length; - for (this.clear(); ++u < o; ) { - var c = s[u]; + var o = -1, u = s == null ? 0 : s.length; + for (this.clear(); ++o < u; ) { + var c = s[o]; this.set(c[0], c[1]); } } - return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, cr = i, cr; + return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, ur = i, ur; } -var fr, Wa; -function bo() { - if (Wa) return fr; - Wa = 1; - var e = ve(); +var cr, Va; +function fu() { + if (Va) return cr; + Va = 1; + var e = _e(); function r() { this.__data__ = new e(), this.size = 0; } - return fr = r, fr; + return cr = r, cr; } -var lr, Va; -function qo() { - if (Va) return lr; - Va = 1; +var lr, Ua; +function du() { + if (Ua) return lr; + Ua = 1; function e(r) { var t = this.__data__, n = t.delete(r); return this.size = t.size, n; } return lr = e, lr; } -var dr, za; -function Ro() { - if (za) return dr; - za = 1; +var fr, Ha; +function hu() { + if (Ha) return fr; + Ha = 1; function e(r) { return this.__data__.get(r); } - return dr = e, dr; + return fr = e, fr; } -var hr, $a; -function Eo() { - if ($a) return hr; - $a = 1; +var dr, Ya; +function vu() { + if (Ya) return dr; + Ya = 1; function e(r) { return this.__data__.has(r); } - return hr = e, hr; + return dr = e, dr; } -var vr, Ja; -function Co() { - if (Ja) return vr; - Ja = 1; - var e = W(), r = e["__core-js_shared__"]; - return vr = r, vr; +var hr, Wa; +function pu() { + if (Wa) return hr; + Wa = 1; + var e = Y(), r = e["__core-js_shared__"]; + return hr = r, hr; } -var pr, Xa; -function xo() { - if (Xa) return pr; - Xa = 1; - var e = Co(), r = function() { +var vr, Ka; +function _u() { + if (Ka) return vr; + Ka = 1; + var e = pu(), r = (function() { var n = /[^.]+$/.exec(e && e.keys && e.keys.IE_PROTO || ""); return n ? "Symbol(src)_1." + n : ""; - }(); + })(); function t(n) { return !!r && r in n; } - return pr = t, pr; + return vr = t, vr; } -var _r, Za; -function wu() { - if (Za) return _r; - Za = 1; +var pr, za; +function xo() { + if (za) return pr; + za = 1; var e = Function.prototype, r = e.toString; function t(n) { if (n != null) { @@ -825,133 +823,133 @@ function wu() { } return ""; } - return _r = t, _r; + return pr = t, pr; } -var gr, Qa; -function So() { - if (Qa) return gr; - Qa = 1; - var e = Iu(), r = xo(), t = Z(), n = wu(), a = /[\\^$.*+?()[\]{}|]/g, i = /^\[object .+?Constructor\]$/, s = Function.prototype, u = Object.prototype, o = s.toString, c = u.hasOwnProperty, f = RegExp( - "^" + o.call(c).replace(a, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" +var _r, $a; +function gu() { + if ($a) return _r; + $a = 1; + var e = Eo(), r = _u(), t = Z(), n = xo(), a = /[\\^$.*+?()[\]{}|]/g, i = /^\[object .+?Constructor\]$/, s = Function.prototype, o = Object.prototype, u = s.toString, c = o.hasOwnProperty, f = RegExp( + "^" + u.call(c).replace(a, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); - function d(p) { - if (!t(p) || r(p)) + function d(v) { + if (!t(v) || r(v)) return !1; - var _ = e(p) ? f : i; - return _.test(n(p)); + var _ = e(v) ? f : i; + return _.test(n(v)); } - return gr = d, gr; + return _r = d, _r; } -var mr, ei; -function Ao() { - if (ei) return mr; - ei = 1; +var gr, Ja; +function mu() { + if (Ja) return gr; + Ja = 1; function e(r, t) { return r?.[t]; } - return mr = e, mr; + return gr = e, gr; } -var yr, ri; -function $() { - if (ri) return yr; - ri = 1; - var e = So(), r = Ao(); +var mr, Xa; +function z() { + if (Xa) return mr; + Xa = 1; + var e = gu(), r = mu(); function t(n, a) { var i = r(n, a); return e(i) ? i : void 0; } - return yr = t, yr; + return mr = t, mr; } -var br, ti; -function zn() { - if (ti) return br; - ti = 1; - var e = $(), r = W(), t = e(r, "Map"); +var br, Za; +function Hn() { + if (Za) return br; + Za = 1; + var e = z(), r = Y(), t = e(r, "Map"); return br = t, br; } -var qr, ni; -function pe() { - if (ni) return qr; - ni = 1; - var e = $(), r = e(Object, "create"); - return qr = r, qr; +var yr, Qa; +function ge() { + if (Qa) return yr; + Qa = 1; + var e = z(), r = e(Object, "create"); + return yr = r, yr; } -var Rr, ai; -function Po() { - if (ai) return Rr; - ai = 1; - var e = pe(); +var qr, ei; +function bu() { + if (ei) return qr; + ei = 1; + var e = ge(); function r() { this.__data__ = e ? e(null) : {}, this.size = 0; } - return Rr = r, Rr; + return qr = r, qr; } -var Er, ii; -function To() { - if (ii) return Er; - ii = 1; +var Rr, ri; +function yu() { + if (ri) return Rr; + ri = 1; function e(r) { var t = this.has(r) && delete this.__data__[r]; return this.size -= t ? 1 : 0, t; } - return Er = e, Er; + return Rr = e, Rr; } -var Cr, si; -function Oo() { - if (si) return Cr; - si = 1; - var e = pe(), r = "__lodash_hash_undefined__", t = Object.prototype, n = t.hasOwnProperty; +var Er, ti; +function qu() { + if (ti) return Er; + ti = 1; + var e = ge(), r = "__lodash_hash_undefined__", t = Object.prototype, n = t.hasOwnProperty; function a(i) { var s = this.__data__; if (e) { - var u = s[i]; - return u === r ? void 0 : u; + var o = s[i]; + return o === r ? void 0 : o; } return n.call(s, i) ? s[i] : void 0; } - return Cr = a, Cr; + return Er = a, Er; } -var xr, ui; -function Io() { - if (ui) return xr; - ui = 1; - var e = pe(), r = Object.prototype, t = r.hasOwnProperty; +var xr, ni; +function Ru() { + if (ni) return xr; + ni = 1; + var e = ge(), r = Object.prototype, t = r.hasOwnProperty; function n(a) { var i = this.__data__; return e ? i[a] !== void 0 : t.call(i, a); } return xr = n, xr; } -var Sr, oi; -function wo() { - if (oi) return Sr; - oi = 1; - var e = pe(), r = "__lodash_hash_undefined__"; +var Cr, ai; +function Eu() { + if (ai) return Cr; + ai = 1; + var e = ge(), r = "__lodash_hash_undefined__"; function t(n, a) { var i = this.__data__; return this.size += this.has(n) ? 0 : 1, i[n] = e && a === void 0 ? r : a, this; } - return Sr = t, Sr; + return Cr = t, Cr; } -var Ar, ci; -function No() { - if (ci) return Ar; - ci = 1; - var e = Po(), r = To(), t = Oo(), n = Io(), a = wo(); +var Sr, ii; +function xu() { + if (ii) return Sr; + ii = 1; + var e = bu(), r = yu(), t = qu(), n = Ru(), a = Eu(); function i(s) { - var u = -1, o = s == null ? 0 : s.length; - for (this.clear(); ++u < o; ) { - var c = s[u]; + var o = -1, u = s == null ? 0 : s.length; + for (this.clear(); ++o < u; ) { + var c = s[o]; this.set(c[0], c[1]); } } - return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, Ar = i, Ar; + return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, Sr = i, Sr; } -var Pr, fi; -function Do() { - if (fi) return Pr; - fi = 1; - var e = No(), r = ve(), t = zn(); +var Ar, si; +function Cu() { + if (si) return Ar; + si = 1; + var e = xu(), r = _e(), t = Hn(); function n() { this.size = 0, this.__data__ = { hash: new e(), @@ -959,528 +957,528 @@ function Do() { string: new e() }; } - return Pr = n, Pr; + return Ar = n, Ar; } -var Tr, li; -function jo() { - if (li) return Tr; - li = 1; +var Pr, oi; +function Su() { + if (oi) return Pr; + oi = 1; function e(r) { var t = typeof r; return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? r !== "__proto__" : r === null; } - return Tr = e, Tr; + return Pr = e, Pr; } -var Or, di; -function _e() { - if (di) return Or; - di = 1; - var e = jo(); +var Or, ui; +function me() { + if (ui) return Or; + ui = 1; + var e = Su(); function r(t, n) { var a = t.__data__; return e(n) ? a[typeof n == "string" ? "string" : "hash"] : a.map; } return Or = r, Or; } -var Ir, hi; -function Mo() { - if (hi) return Ir; - hi = 1; - var e = _e(); +var Tr, ci; +function Au() { + if (ci) return Tr; + ci = 1; + var e = me(); function r(t) { var n = e(this, t).delete(t); return this.size -= n ? 1 : 0, n; } - return Ir = r, Ir; + return Tr = r, Tr; } -var wr, vi; -function Fo() { - if (vi) return wr; - vi = 1; - var e = _e(); +var wr, li; +function Pu() { + if (li) return wr; + li = 1; + var e = me(); function r(t) { return e(this, t).get(t); } return wr = r, wr; } -var Nr, pi; -function ko() { - if (pi) return Nr; - pi = 1; - var e = _e(); +var Ir, fi; +function Ou() { + if (fi) return Ir; + fi = 1; + var e = me(); function r(t) { return e(this, t).has(t); } - return Nr = r, Nr; + return Ir = r, Ir; } -var Dr, _i; -function Bo() { - if (_i) return Dr; - _i = 1; - var e = _e(); +var Nr, di; +function Tu() { + if (di) return Nr; + di = 1; + var e = me(); function r(t, n) { var a = e(this, t), i = a.size; return a.set(t, n), this.size += a.size == i ? 0 : 1, this; } - return Dr = r, Dr; + return Nr = r, Nr; } -var jr, gi; -function $n() { - if (gi) return jr; - gi = 1; - var e = Do(), r = Mo(), t = Fo(), n = ko(), a = Bo(); +var Dr, hi; +function Yn() { + if (hi) return Dr; + hi = 1; + var e = Cu(), r = Au(), t = Pu(), n = Ou(), a = Tu(); function i(s) { - var u = -1, o = s == null ? 0 : s.length; - for (this.clear(); ++u < o; ) { - var c = s[u]; + var o = -1, u = s == null ? 0 : s.length; + for (this.clear(); ++o < u; ) { + var c = s[o]; this.set(c[0], c[1]); } } - return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, jr = i, jr; + return i.prototype.clear = e, i.prototype.delete = r, i.prototype.get = t, i.prototype.has = n, i.prototype.set = a, Dr = i, Dr; } -var Mr, mi; -function Lo() { - if (mi) return Mr; - mi = 1; - var e = ve(), r = zn(), t = $n(), n = 200; +var jr, vi; +function wu() { + if (vi) return jr; + vi = 1; + var e = _e(), r = Hn(), t = Yn(), n = 200; function a(i, s) { - var u = this.__data__; - if (u instanceof e) { - var o = u.__data__; - if (!r || o.length < n - 1) - return o.push([i, s]), this.size = ++u.size, this; - u = this.__data__ = new t(o); + var o = this.__data__; + if (o instanceof e) { + var u = o.__data__; + if (!r || u.length < n - 1) + return u.push([i, s]), this.size = ++o.size, this; + o = this.__data__ = new t(u); } - return u.set(i, s), this.size = u.size, this; + return o.set(i, s), this.size = o.size, this; } - return Mr = a, Mr; + return jr = a, jr; } -var Fr, yi; -function Nu() { - if (yi) return Fr; - yi = 1; - var e = ve(), r = bo(), t = qo(), n = Ro(), a = Eo(), i = Lo(); - function s(u) { - var o = this.__data__ = new e(u); - this.size = o.size; +var Fr, pi; +function Co() { + if (pi) return Fr; + pi = 1; + var e = _e(), r = fu(), t = du(), n = hu(), a = vu(), i = wu(); + function s(o) { + var u = this.__data__ = new e(o); + this.size = u.size; } return s.prototype.clear = r, s.prototype.delete = t, s.prototype.get = n, s.prototype.has = a, s.prototype.set = i, Fr = s, Fr; } -var kr, bi; -function Go() { - if (bi) return kr; - bi = 1; +var Mr, _i; +function Iu() { + if (_i) return Mr; + _i = 1; var e = "__lodash_hash_undefined__"; function r(t) { return this.__data__.set(t, e), this; } - return kr = r, kr; + return Mr = r, Mr; } -var Br, qi; -function Ho() { - if (qi) return Br; - qi = 1; +var kr, gi; +function Nu() { + if (gi) return kr; + gi = 1; function e(r) { return this.__data__.has(r); } - return Br = e, Br; + return kr = e, kr; } -var Lr, Ri; -function Du() { - if (Ri) return Lr; - Ri = 1; - var e = $n(), r = Go(), t = Ho(); +var Br, mi; +function So() { + if (mi) return Br; + mi = 1; + var e = Yn(), r = Iu(), t = Nu(); function n(a) { var i = -1, s = a == null ? 0 : a.length; for (this.__data__ = new e(); ++i < s; ) this.add(a[i]); } - return n.prototype.add = n.prototype.push = r, n.prototype.has = t, Lr = n, Lr; + return n.prototype.add = n.prototype.push = r, n.prototype.has = t, Br = n, Br; } -var Gr, Ei; -function Ko() { - if (Ei) return Gr; - Ei = 1; +var Lr, bi; +function Du() { + if (bi) return Lr; + bi = 1; function e(r, t) { for (var n = -1, a = r == null ? 0 : r.length; ++n < a; ) if (t(r[n], n, r)) return !0; return !1; } - return Gr = e, Gr; + return Lr = e, Lr; } -var Hr, Ci; -function ju() { - if (Ci) return Hr; - Ci = 1; +var Gr, yi; +function Ao() { + if (yi) return Gr; + yi = 1; function e(r, t) { return r.has(t); } - return Hr = e, Hr; + return Gr = e, Gr; } -var Kr, xi; -function Mu() { - if (xi) return Kr; - xi = 1; - var e = Du(), r = Ko(), t = ju(), n = 1, a = 2; - function i(s, u, o, c, f, d) { - var p = o & n, _ = s.length, R = u.length; - if (_ != R && !(p && R > _)) +var Vr, qi; +function Po() { + if (qi) return Vr; + qi = 1; + var e = So(), r = Du(), t = Ao(), n = 1, a = 2; + function i(s, o, u, c, f, d) { + var v = u & n, _ = s.length, b = o.length; + if (_ != b && !(v && b > _)) return !1; - var y = d.get(s), g = d.get(u); - if (y && g) - return y == u && g == s; - var E = -1, b = !0, O = o & a ? new e() : void 0; - for (d.set(s, u), d.set(u, s); ++E < _; ) { - var C = s[E], D = u[E]; + var m = d.get(s), g = d.get(o); + if (m && g) + return m == o && g == s; + var x = -1, y = !0, A = u & a ? new e() : void 0; + for (d.set(s, o), d.set(o, s); ++x < _; ) { + var C = s[x], N = o[x]; if (c) - var P = p ? c(D, C, E, u, s, d) : c(C, D, E, s, u, d); - if (P !== void 0) { - if (P) + var S = v ? c(N, C, x, o, s, d) : c(C, N, x, s, o, d); + if (S !== void 0) { + if (S) continue; - b = !1; + y = !1; break; } - if (O) { - if (!r(u, function(S, j) { - if (!t(O, j) && (C === S || f(C, S, o, c, d))) - return O.push(j); + if (A) { + if (!r(o, function(P, M) { + if (!t(A, M) && (C === P || f(C, P, u, c, d))) + return A.push(M); })) { - b = !1; + y = !1; break; } - } else if (!(C === D || f(C, D, o, c, d))) { - b = !1; + } else if (!(C === N || f(C, N, u, c, d))) { + y = !1; break; } } - return d.delete(s), d.delete(u), b; + return d.delete(s), d.delete(o), y; } - return Kr = i, Kr; + return Vr = i, Vr; } -var Ur, Si; -function Uo() { - if (Si) return Ur; - Si = 1; - var e = W(), r = e.Uint8Array; +var Ur, Ri; +function ju() { + if (Ri) return Ur; + Ri = 1; + var e = Y(), r = e.Uint8Array; return Ur = r, Ur; } -var Yr, Ai; -function Yo() { - if (Ai) return Yr; - Ai = 1; +var Hr, Ei; +function Fu() { + if (Ei) return Hr; + Ei = 1; function e(r) { var t = -1, n = Array(r.size); return r.forEach(function(a, i) { n[++t] = [i, a]; }), n; } - return Yr = e, Yr; + return Hr = e, Hr; } -var Wr, Pi; -function Wo() { - if (Pi) return Wr; - Pi = 1; +var Yr, xi; +function Mu() { + if (xi) return Yr; + xi = 1; function e(r) { var t = -1, n = Array(r.size); return r.forEach(function(a) { n[++t] = a; }), n; } - return Wr = e, Wr; + return Yr = e, Yr; } -var Vr, Ti; -function Vo() { - if (Ti) return Vr; - Ti = 1; - var e = ae(), r = Uo(), t = de(), n = Mu(), a = Yo(), i = Wo(), s = 1, u = 2, o = "[object Boolean]", c = "[object Date]", f = "[object Error]", d = "[object Map]", p = "[object Number]", _ = "[object RegExp]", R = "[object Set]", y = "[object String]", g = "[object Symbol]", E = "[object ArrayBuffer]", b = "[object DataView]", O = e ? e.prototype : void 0, C = O ? O.valueOf : void 0; - function D(P, S, j, M, B, x, v) { - switch (j) { - case b: - if (P.byteLength != S.byteLength || P.byteOffset != S.byteOffset) +var Wr, Ci; +function ku() { + if (Ci) return Wr; + Ci = 1; + var e = ie(), r = ju(), t = ve(), n = Po(), a = Fu(), i = Mu(), s = 1, o = 2, u = "[object Boolean]", c = "[object Date]", f = "[object Error]", d = "[object Map]", v = "[object Number]", _ = "[object RegExp]", b = "[object Set]", m = "[object String]", g = "[object Symbol]", x = "[object ArrayBuffer]", y = "[object DataView]", A = e ? e.prototype : void 0, C = A ? A.valueOf : void 0; + function N(S, P, M, F, G, O, B) { + switch (M) { + case y: + if (S.byteLength != P.byteLength || S.byteOffset != P.byteOffset) return !1; - P = P.buffer, S = S.buffer; - case E: - return !(P.byteLength != S.byteLength || !x(new r(P), new r(S))); - case o: + S = S.buffer, P = P.buffer; + case x: + return !(S.byteLength != P.byteLength || !O(new r(S), new r(P))); + case u: case c: - case p: - return t(+P, +S); + case v: + return t(+S, +P); case f: - return P.name == S.name && P.message == S.message; + return S.name == P.name && S.message == P.message; case _: - case y: - return P == S + ""; + case m: + return S == P + ""; case d: - var l = a; - case R: - var m = M & s; - if (l || (l = i), P.size != S.size && !m) + var k = a; + case b: + var W = F & s; + if (k || (k = i), S.size != P.size && !W) return !1; - var I = v.get(P); - if (I) - return I == S; - M |= u, v.set(P, S); - var w = n(l(P), l(S), M, B, x, v); - return v.delete(P), w; + var p = B.get(S); + if (p) + return p == P; + F |= o, B.set(S, P); + var h = n(k(S), k(P), F, G, O, B); + return B.delete(S), h; case g: if (C) - return C.call(P) == C.call(S); + return C.call(S) == C.call(P); } return !1; } - return Vr = D, Vr; + return Wr = N, Wr; } -var zr, Oi; -function Fu() { - if (Oi) return zr; - Oi = 1; +var Kr, Si; +function Oo() { + if (Si) return Kr; + Si = 1; function e(r, t) { for (var n = -1, a = t.length, i = r.length; ++n < a; ) r[i + n] = t[n]; return r; } - return zr = e, zr; + return Kr = e, Kr; } -var $r, Ii; -function zo() { - if (Ii) return $r; - Ii = 1; - var e = Fu(), r = K(); +var zr, Ai; +function Bu() { + if (Ai) return zr; + Ai = 1; + var e = Oo(), r = V(); function t(n, a, i) { var s = a(n); return r(n) ? s : e(s, i(n)); } - return $r = t, $r; + return zr = t, zr; } -var Jr, wi; -function $o() { - if (wi) return Jr; - wi = 1; +var $r, Pi; +function Lu() { + if (Pi) return $r; + Pi = 1; function e() { return []; } - return Jr = e, Jr; + return $r = e, $r; } -var Xr, Ni; -function Jo() { - if (Ni) return Xr; - Ni = 1; - var e = xu(), r = $o(), t = Object.prototype, n = t.propertyIsEnumerable, a = Object.getOwnPropertySymbols, i = a ? function(s) { - return s == null ? [] : (s = Object(s), e(a(s), function(u) { - return n.call(s, u); +var Jr, Oi; +function Gu() { + if (Oi) return Jr; + Oi = 1; + var e = go(), r = Lu(), t = Object.prototype, n = t.propertyIsEnumerable, a = Object.getOwnPropertySymbols, i = a ? function(s) { + return s == null ? [] : (s = Object(s), e(a(s), function(o) { + return n.call(s, o); })); } : r; - return Xr = i, Xr; + return Jr = i, Jr; } -var Zr, Di; -function Xo() { - if (Di) return Zr; - Di = 1; - var e = zo(), r = Jo(), t = le(); +var Xr, Ti; +function Vu() { + if (Ti) return Xr; + Ti = 1; + var e = Bu(), r = Gu(), t = he(); function n(a) { return e(a, t, r); } - return Zr = n, Zr; + return Xr = n, Xr; } -var Qr, ji; -function Zo() { - if (ji) return Qr; - ji = 1; - var e = Xo(), r = 1, t = Object.prototype, n = t.hasOwnProperty; - function a(i, s, u, o, c, f) { - var d = u & r, p = e(i), _ = p.length, R = e(s), y = R.length; - if (_ != y && !d) +var Zr, wi; +function Uu() { + if (wi) return Zr; + wi = 1; + var e = Vu(), r = 1, t = Object.prototype, n = t.hasOwnProperty; + function a(i, s, o, u, c, f) { + var d = o & r, v = e(i), _ = v.length, b = e(s), m = b.length; + if (_ != m && !d) return !1; for (var g = _; g--; ) { - var E = p[g]; - if (!(d ? E in s : n.call(s, E))) + var x = v[g]; + if (!(d ? x in s : n.call(s, x))) return !1; } - var b = f.get(i), O = f.get(s); - if (b && O) - return b == s && O == i; + var y = f.get(i), A = f.get(s); + if (y && A) + return y == s && A == i; var C = !0; f.set(i, s), f.set(s, i); - for (var D = d; ++g < _; ) { - E = p[g]; - var P = i[E], S = s[E]; - if (o) - var j = d ? o(S, P, E, s, i, f) : o(P, S, E, i, s, f); - if (!(j === void 0 ? P === S || c(P, S, u, o, f) : j)) { + for (var N = d; ++g < _; ) { + x = v[g]; + var S = i[x], P = s[x]; + if (u) + var M = d ? u(P, S, x, s, i, f) : u(S, P, x, i, s, f); + if (!(M === void 0 ? S === P || c(S, P, o, u, f) : M)) { C = !1; break; } - D || (D = E == "constructor"); + N || (N = x == "constructor"); } - if (C && !D) { - var M = i.constructor, B = s.constructor; - M != B && "constructor" in i && "constructor" in s && !(typeof M == "function" && M instanceof M && typeof B == "function" && B instanceof B) && (C = !1); + if (C && !N) { + var F = i.constructor, G = s.constructor; + F != G && "constructor" in i && "constructor" in s && !(typeof F == "function" && F instanceof F && typeof G == "function" && G instanceof G) && (C = !1); } return f.delete(i), f.delete(s), C; } - return Qr = a, Qr; + return Zr = a, Zr; } -var et, Mi; -function Qo() { - if (Mi) return et; - Mi = 1; - var e = $(), r = W(), t = e(r, "DataView"); +var Qr, Ii; +function Hu() { + if (Ii) return Qr; + Ii = 1; + var e = z(), r = Y(), t = e(r, "DataView"); + return Qr = t, Qr; +} +var et, Ni; +function Yu() { + if (Ni) return et; + Ni = 1; + var e = z(), r = Y(), t = e(r, "Promise"); return et = t, et; } -var rt, Fi; -function ec() { - if (Fi) return rt; - Fi = 1; - var e = $(), r = W(), t = e(r, "Promise"); +var rt, Di; +function Wu() { + if (Di) return rt; + Di = 1; + var e = z(), r = Y(), t = e(r, "Set"); return rt = t, rt; } -var tt, ki; -function rc() { - if (ki) return tt; - ki = 1; - var e = $(), r = W(), t = e(r, "Set"); +var tt, ji; +function Ku() { + if (ji) return tt; + ji = 1; + var e = z(), r = Y(), t = e(r, "WeakMap"); return tt = t, tt; } -var nt, Bi; -function tc() { - if (Bi) return nt; - Bi = 1; - var e = $(), r = W(), t = e(r, "WeakMap"); - return nt = t, nt; -} -var at, Li; -function nc() { - if (Li) return at; - Li = 1; - var e = Qo(), r = zn(), t = ec(), n = rc(), a = tc(), i = ie(), s = wu(), u = "[object Map]", o = "[object Object]", c = "[object Promise]", f = "[object Set]", d = "[object WeakMap]", p = "[object DataView]", _ = s(e), R = s(r), y = s(t), g = s(n), E = s(a), b = i; - return (e && b(new e(new ArrayBuffer(1))) != p || r && b(new r()) != u || t && b(t.resolve()) != c || n && b(new n()) != f || a && b(new a()) != d) && (b = function(O) { - var C = i(O), D = C == o ? O.constructor : void 0, P = D ? s(D) : ""; - if (P) - switch (P) { +var nt, Fi; +function zu() { + if (Fi) return nt; + Fi = 1; + var e = Hu(), r = Hn(), t = Yu(), n = Wu(), a = Ku(), i = se(), s = xo(), o = "[object Map]", u = "[object Object]", c = "[object Promise]", f = "[object Set]", d = "[object WeakMap]", v = "[object DataView]", _ = s(e), b = s(r), m = s(t), g = s(n), x = s(a), y = i; + return (e && y(new e(new ArrayBuffer(1))) != v || r && y(new r()) != o || t && y(t.resolve()) != c || n && y(new n()) != f || a && y(new a()) != d) && (y = function(A) { + var C = i(A), N = C == u ? A.constructor : void 0, S = N ? s(N) : ""; + if (S) + switch (S) { case _: - return p; - case R: - return u; - case y: + return v; + case b: + return o; + case m: return c; case g: return f; - case E: + case x: return d; } return C; - }), at = b, at; + }), nt = y, nt; } -var it, Gi; -function ac() { - if (Gi) return it; - Gi = 1; - var e = Nu(), r = Mu(), t = Vo(), n = Zo(), a = nc(), i = K(), s = Au(), u = Pu(), o = 1, c = "[object Arguments]", f = "[object Array]", d = "[object Object]", p = Object.prototype, _ = p.hasOwnProperty; - function R(y, g, E, b, O, C) { - var D = i(y), P = i(g), S = D ? f : a(y), j = P ? f : a(g); - S = S == c ? d : S, j = j == c ? d : j; - var M = S == d, B = j == d, x = S == j; - if (x && s(y)) { +var at, Mi; +function $u() { + if (Mi) return at; + Mi = 1; + var e = Co(), r = Po(), t = ku(), n = Uu(), a = zu(), i = V(), s = bo(), o = yo(), u = 1, c = "[object Arguments]", f = "[object Array]", d = "[object Object]", v = Object.prototype, _ = v.hasOwnProperty; + function b(m, g, x, y, A, C) { + var N = i(m), S = i(g), P = N ? f : a(m), M = S ? f : a(g); + P = P == c ? d : P, M = M == c ? d : M; + var F = P == d, G = M == d, O = P == M; + if (O && s(m)) { if (!s(g)) return !1; - D = !0, M = !1; + N = !0, F = !1; } - if (x && !M) - return C || (C = new e()), D || u(y) ? r(y, g, E, b, O, C) : t(y, g, S, E, b, O, C); - if (!(E & o)) { - var v = M && _.call(y, "__wrapped__"), l = B && _.call(g, "__wrapped__"); - if (v || l) { - var m = v ? y.value() : y, I = l ? g.value() : g; - return C || (C = new e()), O(m, I, E, b, C); + if (O && !F) + return C || (C = new e()), N || o(m) ? r(m, g, x, y, A, C) : t(m, g, P, x, y, A, C); + if (!(x & u)) { + var B = F && _.call(m, "__wrapped__"), k = G && _.call(g, "__wrapped__"); + if (B || k) { + var W = B ? m.value() : m, p = k ? g.value() : g; + return C || (C = new e()), A(W, p, x, y, C); } } - return x ? (C || (C = new e()), n(y, g, E, b, O, C)) : !1; + return O ? (C || (C = new e()), n(m, g, x, y, A, C)) : !1; } - return it = R, it; + return at = b, at; } -var st, Hi; -function ku() { - if (Hi) return st; - Hi = 1; - var e = ac(), r = X(); - function t(n, a, i, s, u) { - return n === a ? !0 : n == null || a == null || !r(n) && !r(a) ? n !== n && a !== a : e(n, a, i, s, t, u); +var it, ki; +function To() { + if (ki) return it; + ki = 1; + var e = $u(), r = X(); + function t(n, a, i, s, o) { + return n === a ? !0 : n == null || a == null || !r(n) && !r(a) ? n !== n && a !== a : e(n, a, i, s, t, o); } - return st = t, st; + return it = t, it; } -var ut, Ki; -function ic() { - if (Ki) return ut; - Ki = 1; - var e = Nu(), r = ku(), t = 1, n = 2; - function a(i, s, u, o) { - var c = u.length, f = c, d = !o; +var st, Bi; +function Ju() { + if (Bi) return st; + Bi = 1; + var e = Co(), r = To(), t = 1, n = 2; + function a(i, s, o, u) { + var c = o.length, f = c, d = !u; if (i == null) return !f; for (i = Object(i); c--; ) { - var p = u[c]; - if (d && p[2] ? p[1] !== i[p[0]] : !(p[0] in i)) + var v = o[c]; + if (d && v[2] ? v[1] !== i[v[0]] : !(v[0] in i)) return !1; } for (; ++c < f; ) { - p = u[c]; - var _ = p[0], R = i[_], y = p[1]; - if (d && p[2]) { - if (R === void 0 && !(_ in i)) + v = o[c]; + var _ = v[0], b = i[_], m = v[1]; + if (d && v[2]) { + if (b === void 0 && !(_ in i)) return !1; } else { var g = new e(); - if (o) - var E = o(R, y, _, i, s, g); - if (!(E === void 0 ? r(y, R, t | n, o, g) : E)) + if (u) + var x = u(b, m, _, i, s, g); + if (!(x === void 0 ? r(m, b, t | n, u, g) : x)) return !1; } } return !0; } - return ut = a, ut; + return st = a, st; } -var ot, Ui; -function Bu() { - if (Ui) return ot; - Ui = 1; +var ot, Li; +function wo() { + if (Li) return ot; + Li = 1; var e = Z(); function r(t) { return t === t && !e(t); } return ot = r, ot; } -var ct, Yi; -function sc() { - if (Yi) return ct; - Yi = 1; - var e = Bu(), r = le(); +var ut, Gi; +function Xu() { + if (Gi) return ut; + Gi = 1; + var e = wo(), r = he(); function t(n) { for (var a = r(n), i = a.length; i--; ) { - var s = a[i], u = n[s]; - a[i] = [s, u, e(u)]; + var s = a[i], o = n[s]; + a[i] = [s, o, e(o)]; } return a; } - return ct = t, ct; + return ut = t, ut; } -var ft, Wi; -function Lu() { - if (Wi) return ft; - Wi = 1; +var ct, Vi; +function Io() { + if (Vi) return ct; + Vi = 1; function e(r, t) { return function(n) { return n == null ? !1 : n[r] === t && (t !== void 0 || r in Object(n)); }; } - return ft = e, ft; + return ct = e, ct; } -var lt, Vi; -function uc() { - if (Vi) return lt; - Vi = 1; - var e = ic(), r = sc(), t = Lu(); +var lt, Ui; +function Zu() { + if (Ui) return lt; + Ui = 1; + var e = Ju(), r = Xu(), t = Io(); function n(a) { var i = r(a); return i.length == 1 && i[0][2] ? t(i[0][0], i[0][1]) : function(s) { @@ -1489,232 +1487,232 @@ function uc() { } return lt = n, lt; } -var dt, zi; -function se() { - if (zi) return dt; - zi = 1; - var e = ie(), r = X(), t = "[object Symbol]"; +var ft, Hi; +function oe() { + if (Hi) return ft; + Hi = 1; + var e = se(), r = X(), t = "[object Symbol]"; function n(a) { return typeof a == "symbol" || r(a) && e(a) == t; } - return dt = n, dt; + return ft = n, ft; } -var ht, $i; -function Jn() { - if ($i) return ht; - $i = 1; - var e = K(), r = se(), t = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, n = /^\w*$/; +var dt, Yi; +function Wn() { + if (Yi) return dt; + Yi = 1; + var e = V(), r = oe(), t = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, n = /^\w*$/; function a(i, s) { if (e(i)) return !1; - var u = typeof i; - return u == "number" || u == "symbol" || u == "boolean" || i == null || r(i) ? !0 : n.test(i) || !t.test(i) || s != null && i in Object(s); + var o = typeof i; + return o == "number" || o == "symbol" || o == "boolean" || i == null || r(i) ? !0 : n.test(i) || !t.test(i) || s != null && i in Object(s); } - return ht = a, ht; + return dt = a, dt; } -var vt, Ji; -function oc() { - if (Ji) return vt; - Ji = 1; - var e = $n(), r = "Expected a function"; +var ht, Wi; +function Qu() { + if (Wi) return ht; + Wi = 1; + var e = Yn(), r = "Expected a function"; function t(n, a) { if (typeof n != "function" || a != null && typeof a != "function") throw new TypeError(r); var i = function() { - var s = arguments, u = a ? a.apply(this, s) : s[0], o = i.cache; - if (o.has(u)) - return o.get(u); + var s = arguments, o = a ? a.apply(this, s) : s[0], u = i.cache; + if (u.has(o)) + return u.get(o); var c = n.apply(this, s); - return i.cache = o.set(u, c) || o, c; + return i.cache = u.set(o, c) || u, c; }; return i.cache = new (t.Cache || e)(), i; } - return t.Cache = e, vt = t, vt; + return t.Cache = e, ht = t, ht; } -var pt, Xi; -function cc() { - if (Xi) return pt; - Xi = 1; - var e = oc(), r = 500; +var vt, Ki; +function ec() { + if (Ki) return vt; + Ki = 1; + var e = Qu(), r = 500; function t(n) { var a = e(n, function(s) { return i.size === r && i.clear(), s; }), i = a.cache; return a; } - return pt = t, pt; + return vt = t, vt; } -var _t, Zi; -function fc() { - if (Zi) return _t; - Zi = 1; - var e = cc(), r = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, t = /\\(\\)?/g, n = e(function(a) { +var pt, zi; +function rc() { + if (zi) return pt; + zi = 1; + var e = ec(), r = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, t = /\\(\\)?/g, n = e(function(a) { var i = []; - return a.charCodeAt(0) === 46 && i.push(""), a.replace(r, function(s, u, o, c) { - i.push(o ? c.replace(t, "$1") : u || s); + return a.charCodeAt(0) === 46 && i.push(""), a.replace(r, function(s, o, u, c) { + i.push(u ? c.replace(t, "$1") : o || s); }), i; }); - return _t = n, _t; + return pt = n, pt; } -var gt, Qi; -function ge() { - if (Qi) return gt; - Qi = 1; +var _t, $i; +function be() { + if ($i) return _t; + $i = 1; function e(r, t) { for (var n = -1, a = r == null ? 0 : r.length, i = Array(a); ++n < a; ) i[n] = t(r[n], n, r); return i; } - return gt = e, gt; + return _t = e, _t; } -var mt, es; -function lc() { - if (es) return mt; - es = 1; - var e = ae(), r = ge(), t = K(), n = se(), a = e ? e.prototype : void 0, i = a ? a.toString : void 0; - function s(u) { - if (typeof u == "string") - return u; - if (t(u)) - return r(u, s) + ""; - if (n(u)) - return i ? i.call(u) : ""; - var o = u + ""; - return o == "0" && 1 / u == -1 / 0 ? "-0" : o; - } - return mt = s, mt; -} -var yt, rs; -function dc() { - if (rs) return yt; - rs = 1; - var e = lc(); +var gt, Ji; +function tc() { + if (Ji) return gt; + Ji = 1; + var e = ie(), r = be(), t = V(), n = oe(), a = e ? e.prototype : void 0, i = a ? a.toString : void 0; + function s(o) { + if (typeof o == "string") + return o; + if (t(o)) + return r(o, s) + ""; + if (n(o)) + return i ? i.call(o) : ""; + var u = o + ""; + return u == "0" && 1 / o == -1 / 0 ? "-0" : u; + } + return gt = s, gt; +} +var mt, Xi; +function nc() { + if (Xi) return mt; + Xi = 1; + var e = tc(); function r(t) { return t == null ? "" : e(t); } - return yt = r, yt; + return mt = r, mt; } -var bt, ts; -function Gu() { - if (ts) return bt; - ts = 1; - var e = K(), r = Jn(), t = fc(), n = dc(); +var bt, Zi; +function No() { + if (Zi) return bt; + Zi = 1; + var e = V(), r = Wn(), t = rc(), n = nc(); function a(i, s) { return e(i) ? i : r(i, s) ? [i] : t(n(i)); } return bt = a, bt; } -var qt, ns; -function me() { - if (ns) return qt; - ns = 1; - var e = se(); +var yt, Qi; +function ye() { + if (Qi) return yt; + Qi = 1; + var e = oe(); function r(t) { if (typeof t == "string" || e(t)) return t; var n = t + ""; return n == "0" && 1 / t == -1 / 0 ? "-0" : n; } - return qt = r, qt; + return yt = r, yt; } -var Rt, as; -function Xn() { - if (as) return Rt; - as = 1; - var e = Gu(), r = me(); +var qt, es; +function Kn() { + if (es) return qt; + es = 1; + var e = No(), r = ye(); function t(n, a) { a = e(a, n); for (var i = 0, s = a.length; n != null && i < s; ) n = n[r(a[i++])]; return i && i == s ? n : void 0; } - return Rt = t, Rt; + return qt = t, qt; } -var Et, is; -function hc() { - if (is) return Et; - is = 1; - var e = Xn(); +var Rt, rs; +function ac() { + if (rs) return Rt; + rs = 1; + var e = Kn(); function r(t, n, a) { var i = t == null ? void 0 : e(t, n); return i === void 0 ? a : i; } - return Et = r, Et; + return Rt = r, Rt; } -var Ct, ss; -function vc() { - if (ss) return Ct; - ss = 1; +var Et, ts; +function ic() { + if (ts) return Et; + ts = 1; function e(r, t) { return r != null && t in Object(r); } - return Ct = e, Ct; + return Et = e, Et; } -var xt, us; -function pc() { - if (us) return xt; - us = 1; - var e = Gu(), r = Kn(), t = K(), n = Un(), a = Yn(), i = me(); - function s(u, o, c) { - o = e(o, u); - for (var f = -1, d = o.length, p = !1; ++f < d; ) { - var _ = i(o[f]); - if (!(p = u != null && c(u, _))) +var xt, ns; +function sc() { + if (ns) return xt; + ns = 1; + var e = No(), r = Bn(), t = V(), n = Ln(), a = Gn(), i = ye(); + function s(o, u, c) { + u = e(u, o); + for (var f = -1, d = u.length, v = !1; ++f < d; ) { + var _ = i(u[f]); + if (!(v = o != null && c(o, _))) break; - u = u[_]; + o = o[_]; } - return p || ++f != d ? p : (d = u == null ? 0 : u.length, !!d && a(d) && n(_, d) && (t(u) || r(u))); + return v || ++f != d ? v : (d = o == null ? 0 : o.length, !!d && a(d) && n(_, d) && (t(o) || r(o))); } return xt = s, xt; } -var St, os; -function _c() { - if (os) return St; - os = 1; - var e = vc(), r = pc(); +var Ct, as; +function oc() { + if (as) return Ct; + as = 1; + var e = ic(), r = sc(); function t(n, a) { return n != null && r(n, a, e); } - return St = t, St; + return Ct = t, Ct; } -var At, cs; -function gc() { - if (cs) return At; - cs = 1; - var e = ku(), r = hc(), t = _c(), n = Jn(), a = Bu(), i = Lu(), s = me(), u = 1, o = 2; +var St, is; +function uc() { + if (is) return St; + is = 1; + var e = To(), r = ac(), t = oc(), n = Wn(), a = wo(), i = Io(), s = ye(), o = 1, u = 2; function c(f, d) { - return n(f) && a(d) ? i(s(f), d) : function(p) { - var _ = r(p, f); - return _ === void 0 && _ === d ? t(p, f) : e(d, _, u | o); + return n(f) && a(d) ? i(s(f), d) : function(v) { + var _ = r(v, f); + return _ === void 0 && _ === d ? t(v, f) : e(d, _, o | u); }; } - return At = c, At; + return St = c, St; } -var Pt, fs; +var At, ss; function ue() { - if (fs) return Pt; - fs = 1; + if (ss) return At; + ss = 1; function e(r) { return r; } - return Pt = e, Pt; + return At = e, At; } -var Tt, ls; -function mc() { - if (ls) return Tt; - ls = 1; +var Pt, os; +function cc() { + if (os) return Pt; + os = 1; function e(r) { return function(t) { return t?.[r]; }; } - return Tt = e, Tt; + return Pt = e, Pt; } -var Ot, ds; -function yc() { - if (ds) return Ot; - ds = 1; - var e = Xn(); +var Ot, us; +function lc() { + if (us) return Ot; + us = 1; + var e = Kn(); function r(t) { return function(n) { return e(n, t); @@ -1722,89 +1720,89 @@ function yc() { } return Ot = r, Ot; } -var It, hs; -function bc() { - if (hs) return It; - hs = 1; - var e = mc(), r = yc(), t = Jn(), n = me(); +var Tt, cs; +function fc() { + if (cs) return Tt; + cs = 1; + var e = cc(), r = lc(), t = Wn(), n = ye(); function a(i) { return t(i) ? e(n(i)) : r(i); } - return It = a, It; + return Tt = a, Tt; } -var wt, vs; -function oe() { - if (vs) return wt; - vs = 1; - var e = uc(), r = gc(), t = ue(), n = K(), a = bc(); +var wt, ls; +function ce() { + if (ls) return wt; + ls = 1; + var e = Zu(), r = uc(), t = ue(), n = V(), a = fc(); function i(s) { return typeof s == "function" ? s : s == null ? t : typeof s == "object" ? n(s) ? r(s[0], s[1]) : e(s) : a(s); } return wt = i, wt; } -var Nt, ps; -function qc() { - if (ps) return Nt; - ps = 1; - var e = xu(), r = vo(), t = oe(), n = K(); +var It, fs; +function dc() { + if (fs) return It; + fs = 1; + var e = go(), r = iu(), t = ce(), n = V(); function a(i, s) { - var u = n(i) ? e : r; - return u(i, t(s, 3)); + var o = n(i) ? e : r; + return o(i, t(s, 3)); } - return Nt = a, Nt; + return It = a, It; } -var Rc = qc(); -const Ec = /* @__PURE__ */ Y(Rc); -var Dt, _s; -function Hu() { - if (_s) return Dt; - _s = 1; - var e = Vn(), r = z(); +var hc = dc(); +const vc = /* @__PURE__ */ H(hc); +var Nt, ds; +function Do() { + if (ds) return Nt; + ds = 1; + var e = Un(), r = K(); function t(n, a) { var i = -1, s = r(n) ? Array(n.length) : []; - return e(n, function(u, o, c) { - s[++i] = a(u, o, c); + return e(n, function(o, u, c) { + s[++i] = a(o, u, c); }), s; } - return Dt = t, Dt; + return Nt = t, Nt; } -var jt, gs; -function Cc() { - if (gs) return jt; - gs = 1; - var e = ge(), r = oe(), t = Hu(), n = K(); +var Dt, hs; +function pc() { + if (hs) return Dt; + hs = 1; + var e = be(), r = ce(), t = Do(), n = V(); function a(i, s) { - var u = n(i) ? e : t; - return u(i, r(s, 3)); + var o = n(i) ? e : t; + return o(i, r(s, 3)); } - return jt = a, jt; + return Dt = a, Dt; } -var xc = Cc(); -const Sc = /* @__PURE__ */ Y(xc); -var Mt, ms; -function Ac() { - if (ms) return Mt; - ms = 1; - var e = oe(), r = z(), t = le(); +var _c = pc(); +const gc = /* @__PURE__ */ H(_c); +var jt, vs; +function mc() { + if (vs) return jt; + vs = 1; + var e = ce(), r = K(), t = he(); function n(a) { - return function(i, s, u) { - var o = Object(i); + return function(i, s, o) { + var u = Object(i); if (!r(i)) { var c = e(s, 3); i = t(i), s = function(d) { - return c(o[d], d, o); + return c(u[d], d, u); }; } - var f = a(i, s, u); - return f > -1 ? o[c ? i[f] : f] : void 0; + var f = a(i, s, o); + return f > -1 ? u[c ? i[f] : f] : void 0; }; } - return Mt = n, Mt; + return jt = n, jt; } -var Ft, ys; -function Ku() { - if (ys) return Ft; - ys = 1; +var Ft, ps; +function jo() { + if (ps) return Ft; + ps = 1; function e(r, t, n, a) { for (var i = r.length, s = n + (a ? 1 : -1); a ? s-- : ++s < i; ) if (t(r[s], s, r)) @@ -1813,34 +1811,34 @@ function Ku() { } return Ft = e, Ft; } -var kt, bs; -function Pc() { - if (bs) return kt; - bs = 1; +var Mt, _s; +function bc() { + if (_s) return Mt; + _s = 1; var e = /\s/; function r(t) { for (var n = t.length; n-- && e.test(t.charAt(n)); ) ; return n; } - return kt = r, kt; + return Mt = r, Mt; } -var Bt, qs; -function Tc() { - if (qs) return Bt; - qs = 1; - var e = Pc(), r = /^\s+/; +var kt, gs; +function yc() { + if (gs) return kt; + gs = 1; + var e = bc(), r = /^\s+/; function t(n) { return n && n.slice(0, e(n) + 1).replace(r, ""); } - return Bt = t, Bt; + return kt = t, kt; } -var Lt, Rs; -function Oc() { - if (Rs) return Lt; - Rs = 1; - var e = Tc(), r = Z(), t = se(), n = NaN, a = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, s = /^0o[0-7]+$/i, u = parseInt; - function o(c) { +var Bt, ms; +function qc() { + if (ms) return Bt; + ms = 1; + var e = yc(), r = Z(), t = oe(), n = NaN, a = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, s = /^0o[0-7]+$/i, o = parseInt; + function u(c) { if (typeof c == "number") return c; if (t(c)) @@ -1853,15 +1851,15 @@ function Oc() { return c === 0 ? c : +c; c = e(c); var d = i.test(c); - return d || s.test(c) ? u(c.slice(2), d ? 2 : 8) : a.test(c) ? n : +c; + return d || s.test(c) ? o(c.slice(2), d ? 2 : 8) : a.test(c) ? n : +c; } - return Lt = o, Lt; + return Bt = u, Bt; } -var Gt, Es; -function Uu() { - if (Es) return Gt; - Es = 1; - var e = Oc(), r = 1 / 0, t = 17976931348623157e292; +var Lt, bs; +function Fo() { + if (bs) return Lt; + bs = 1; + var e = qc(), r = 1 / 0, t = 17976931348623157e292; function n(a) { if (!a) return a === 0 ? a : 0; @@ -1871,51 +1869,51 @@ function Uu() { } return a === a ? a : 0; } - return Gt = n, Gt; + return Lt = n, Lt; } -var Ht, Cs; -function Ic() { - if (Cs) return Ht; - Cs = 1; - var e = Uu(); +var Gt, ys; +function Rc() { + if (ys) return Gt; + ys = 1; + var e = Fo(); function r(t) { var n = e(t), a = n % 1; return n === n ? a ? n - a : n : 0; } - return Ht = r, Ht; + return Gt = r, Gt; } -var Kt, xs; -function wc() { - if (xs) return Kt; - xs = 1; - var e = Ku(), r = oe(), t = Ic(), n = Math.max; - function a(i, s, u) { - var o = i == null ? 0 : i.length; - if (!o) +var Vt, qs; +function Ec() { + if (qs) return Vt; + qs = 1; + var e = jo(), r = ce(), t = Rc(), n = Math.max; + function a(i, s, o) { + var u = i == null ? 0 : i.length; + if (!u) return -1; - var c = u == null ? 0 : t(u); - return c < 0 && (c = n(o + c, 0)), e(i, r(s, 3), c); + var c = o == null ? 0 : t(o); + return c < 0 && (c = n(u + c, 0)), e(i, r(s, 3), c); } - return Kt = a, Kt; + return Vt = a, Vt; } -var Ut, Ss; -function Yu() { - if (Ss) return Ut; - Ss = 1; - var e = Ac(), r = wc(), t = e(r); +var Ut, Rs; +function Mo() { + if (Rs) return Ut; + Rs = 1; + var e = mc(), r = Ec(), t = e(r); return Ut = t, Ut; } -var Nc = Yu(); -const Dc = /* @__PURE__ */ Y(Nc); +var xc = Mo(); +const Cc = /* @__PURE__ */ H(xc); /* object-assign (c) Sindre Sorhus @license MIT */ -var Yt, As; -function jc() { - if (As) return Yt; - As = 1; +var Ht, Es; +function Sc() { + if (Es) return Ht; + Es = 1; var e = Object.getOwnPropertySymbols, r = Object.prototype.hasOwnProperty, t = Object.prototype.propertyIsEnumerable; function n(i) { if (i == null) @@ -1929,12 +1927,12 @@ function jc() { var i = new String("abc"); if (i[5] = "de", Object.getOwnPropertyNames(i)[0] === "5") return !1; - for (var s = {}, u = 0; u < 10; u++) - s["_" + String.fromCharCode(u)] = u; - var o = Object.getOwnPropertyNames(s).map(function(f) { + for (var s = {}, o = 0; o < 10; o++) + s["_" + String.fromCharCode(o)] = o; + var u = Object.getOwnPropertyNames(s).map(function(f) { return s[f]; }); - if (o.join("") !== "0123456789") + if (u.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(f) { @@ -1944,119 +1942,83 @@ function jc() { return !1; } } - return Yt = a() ? Object.assign : function(i, s) { - for (var u, o = n(i), c, f = 1; f < arguments.length; f++) { - u = Object(arguments[f]); - for (var d in u) - r.call(u, d) && (o[d] = u[d]); + return Ht = a() ? Object.assign : function(i, s) { + for (var o, u = n(i), c, f = 1; f < arguments.length; f++) { + o = Object(arguments[f]); + for (var d in o) + r.call(o, d) && (u[d] = o[d]); if (e) { - c = e(u); - for (var p = 0; p < c.length; p++) - t.call(u, c[p]) && (o[c[p]] = u[c[p]]); + c = e(o); + for (var v = 0; v < c.length; v++) + t.call(o, c[v]) && (u[c[v]] = o[c[v]]); } } - return o; - }, Yt; -} -var Wt, Ps; -function Mc() { - if (Ps) return Wt; - Ps = 1; - var e = {}; - return process.env.NODE_ENV !== "production" && Object.freeze(e), Wt = e, Wt; + return u; + }, Ht; } -var Vt, Ts; -function Fc() { - if (Ts) return Vt; - Ts = 1; - var e = function(n) { +var Yt, xs; +function Ac() { + if (xs) return Yt; + xs = 1; + var e = Sc(), r = {}; + process.env.NODE_ENV !== "production" && Object.freeze(r); + var t = function(d) { }; - process.env.NODE_ENV !== "production" && (e = function(n) { - if (n === void 0) + process.env.NODE_ENV !== "production" && (t = function(d) { + if (d === void 0) throw new Error("invariant requires an error message argument"); }); - function r(t, n, a, i, s, u, o, c) { - if (e(n), !t) { - var f; - if (n === void 0) - f = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); + function n(f, d, v, _, b, m, g, x) { + if (t(d), !f) { + var y; + if (d === void 0) + y = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); else { - var d = [a, i, s, u, o, c], p = 0; - f = new Error(n.replace(/%s/g, function() { - return d[p++]; - })), f.name = "Invariant Violation"; + var A = [v, _, b, m, g, x], C = 0; + y = new Error(d.replace(/%s/g, function() { + return A[C++]; + })), y.name = "Invariant Violation"; } - throw f.framesToPop = 1, f; + throw y.framesToPop = 1, y; } } - return Vt = r, Vt; -} -var zt, Os; -function kc() { - if (Os) return zt; - Os = 1; - function e(t) { - return function() { - return t; - }; - } - var r = function() { + var a = function() { }; - return r.thatReturns = e, r.thatReturnsFalse = e(!1), r.thatReturnsTrue = e(!0), r.thatReturnsNull = e(null), r.thatReturnsThis = function() { - return this; - }, r.thatReturnsArgument = function(t) { - return t; - }, zt = r, zt; -} -var $t, Is; -function Bc() { - if (Is) return $t; - Is = 1; - var e = kc(), r = e; if (process.env.NODE_ENV !== "production") { - var t = function(a) { - for (var i = arguments.length, s = Array(i > 1 ? i - 1 : 0), u = 1; u < i; u++) - s[u - 1] = arguments[u]; - var o = 0, c = "Warning: " + a.replace(/%s/g, function() { - return s[o++]; + var i = function(d) { + for (var v = arguments.length, _ = Array(v > 1 ? v - 1 : 0), b = 1; b < v; b++) + _[b - 1] = arguments[b]; + var m = 0, g = "Warning: " + d.replace(/%s/g, function() { + return _[m++]; }); - typeof console < "u" && console.error(c); + typeof console < "u" && console.error(g); try { - throw new Error(c); + throw new Error(g); } catch { } }; - r = function(a, i) { - if (i === void 0) + a = function(d, v) { + if (v === void 0) throw new Error("`warning(condition, format, ...args)` requires a warning message argument"); - if (i.indexOf("Failed Composite propType: ") !== 0 && !a) { - for (var s = arguments.length, u = Array(s > 2 ? s - 2 : 0), o = 2; o < s; o++) - u[o - 2] = arguments[o]; - t.apply(void 0, [i].concat(u)); + if (v.indexOf("Failed Composite propType: ") !== 0 && !d) { + for (var _ = arguments.length, b = Array(_ > 2 ? _ - 2 : 0), m = 2; m < _; m++) + b[m - 2] = arguments[m]; + i.apply(void 0, [v].concat(b)); } }; } - return $t = r, $t; -} -var Jt, ws; -function Lc() { - if (ws) return Jt; - ws = 1; - var e = jc(), r = Mc(), t = Fc(); - if (process.env.NODE_ENV !== "production") - var n = Bc(); - var a = "mixins"; - function i(o) { - return o; + var s = "mixins"; + function o(f) { + return f; } - var s; - process.env.NODE_ENV !== "production" ? s = { + var u; + process.env.NODE_ENV !== "production" ? u = { prop: "prop", context: "context", childContext: "child context" - } : s = {}; - function u(o, c, f) { - var d = [], p = { + } : u = {}; + function c(f, d, v) { + var _ = [], b = { /** * An array of Mixin objects to include when defining your component. * @@ -2243,6 +2205,24 @@ function Lc() { * @optional */ componentWillUnmount: "DEFINE_MANY", + /** + * Replacement for (deprecated) `componentWillMount`. + * + * @optional + */ + UNSAFE_componentWillMount: "DEFINE_MANY", + /** + * Replacement for (deprecated) `componentWillReceiveProps`. + * + * @optional + */ + UNSAFE_componentWillReceiveProps: "DEFINE_MANY", + /** + * Replacement for (deprecated) `componentWillUpdate`. + * + * @optional + */ + UNSAFE_componentWillUpdate: "DEFINE_MANY", // ==== Advanced methods ==== /** * Updates the component's currently mounted DOM representation. @@ -2255,210 +2235,227 @@ function Lc() { * @overridable */ updateComponent: "OVERRIDE_BASE" - }, _ = { - displayName: function(v, l) { - v.displayName = l; + }, m = { + /** + * This method is invoked after a component is instantiated and when it + * receives new props. Return an object to update state in response to + * prop changes. Return null to indicate no change to state. + * + * If an object is returned, its keys will be merged into the existing state. + * + * @return {object || null} + * @optional + */ + getDerivedStateFromProps: "DEFINE_MANY_MERGED" + }, g = { + displayName: function(p, h) { + p.displayName = h; }, - mixins: function(v, l) { - if (l) - for (var m = 0; m < l.length; m++) - g(v, l[m]); + mixins: function(p, h) { + if (h) + for (var q = 0; q < h.length; q++) + A(p, h[q]); }, - childContextTypes: function(v, l) { - process.env.NODE_ENV !== "production" && R(v, l, "childContext"), v.childContextTypes = e( + childContextTypes: function(p, h) { + process.env.NODE_ENV !== "production" && x(p, h, "childContext"), p.childContextTypes = e( {}, - v.childContextTypes, - l + p.childContextTypes, + h ); }, - contextTypes: function(v, l) { - process.env.NODE_ENV !== "production" && R(v, l, "context"), v.contextTypes = e( + contextTypes: function(p, h) { + process.env.NODE_ENV !== "production" && x(p, h, "context"), p.contextTypes = e( {}, - v.contextTypes, - l + p.contextTypes, + h ); }, /** * Special case getDefaultProps which should move into statics but requires * automatic merging. */ - getDefaultProps: function(v, l) { - v.getDefaultProps ? v.getDefaultProps = O( - v.getDefaultProps, - l - ) : v.getDefaultProps = l; + getDefaultProps: function(p, h) { + p.getDefaultProps ? p.getDefaultProps = S( + p.getDefaultProps, + h + ) : p.getDefaultProps = h; }, - propTypes: function(v, l) { - process.env.NODE_ENV !== "production" && R(v, l, "prop"), v.propTypes = e({}, v.propTypes, l); + propTypes: function(p, h) { + process.env.NODE_ENV !== "production" && x(p, h, "prop"), p.propTypes = e({}, p.propTypes, h); }, - statics: function(v, l) { - E(v, l); + statics: function(p, h) { + C(p, h); }, autobind: function() { } }; - function R(v, l, m) { - for (var I in l) - l.hasOwnProperty(I) && process.env.NODE_ENV !== "production" && n( - typeof l[I] == "function", + function x(p, h, q) { + for (var j in h) + h.hasOwnProperty(j) && process.env.NODE_ENV !== "production" && a( + typeof h[j] == "function", "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", - v.displayName || "ReactClass", - s[m], - I + p.displayName || "ReactClass", + u[q], + j ); } - function y(v, l) { - var m = p.hasOwnProperty(l) ? p[l] : null; - M.hasOwnProperty(l) && t( - m === "OVERRIDE_BASE", + function y(p, h) { + var q = b.hasOwnProperty(h) ? b[h] : null; + B.hasOwnProperty(h) && n( + q === "OVERRIDE_BASE", "ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", - l - ), v && t( - m === "DEFINE_MANY" || m === "DEFINE_MANY_MERGED", + h + ), p && n( + q === "DEFINE_MANY" || q === "DEFINE_MANY_MERGED", "ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", - l + h ); } - function g(v, l) { - if (!l) { + function A(p, h) { + if (!h) { if (process.env.NODE_ENV !== "production") { - var m = typeof l, I = m === "object" && l !== null; - process.env.NODE_ENV !== "production" && n( - I, + var q = typeof h, j = q === "object" && h !== null; + process.env.NODE_ENV !== "production" && a( + j, "%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.", - v.displayName || "ReactClass", - l === null ? null : m + p.displayName || "ReactClass", + h === null ? null : q ); } return; } - t( - typeof l != "function", + n( + typeof h != "function", "ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object." - ), t( - !c(l), + ), n( + !d(h), "ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object." ); - var w = v.prototype, L = w.__reactAutoBindPairs; - l.hasOwnProperty(a) && _.mixins(v, l.mixins); - for (var T in l) - if (l.hasOwnProperty(T) && T !== a) { - var G = l[T], h = w.hasOwnProperty(T); - if (y(h, T), _.hasOwnProperty(T)) - _[T](v, G); + var D = p.prototype, L = D.__reactAutoBindPairs; + h.hasOwnProperty(s) && g.mixins(p, h.mixins); + for (var l in h) + if (h.hasOwnProperty(l) && l !== s) { + var R = h[l], T = D.hasOwnProperty(l); + if (y(T, l), g.hasOwnProperty(l)) + g[l](p, R); else { - var q = p.hasOwnProperty(T), N = typeof G == "function", F = N && !q && !h && l.autobind !== !1; - if (F) - L.push(T, G), w[T] = G; - else if (h) { - var H = p[T]; - t( - q && (H === "DEFINE_MANY_MERGED" || H === "DEFINE_MANY"), + var w = b.hasOwnProperty(l), $ = typeof R == "function", Q = $ && !w && !T && h.autobind !== !1; + if (Q) + L.push(l, R), D[l] = R; + else if (T) { + var I = b[l]; + n( + w && (I === "DEFINE_MANY_MERGED" || I === "DEFINE_MANY"), "ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.", - H, - T - ), H === "DEFINE_MANY_MERGED" ? w[T] = O(w[T], G) : H === "DEFINE_MANY" && (w[T] = C(w[T], G)); + I, + l + ), I === "DEFINE_MANY_MERGED" ? D[l] = S(D[l], R) : I === "DEFINE_MANY" && (D[l] = P(D[l], R)); } else - w[T] = G, process.env.NODE_ENV !== "production" && typeof G == "function" && l.displayName && (w[T].displayName = l.displayName + "_" + T); + D[l] = R, process.env.NODE_ENV !== "production" && typeof R == "function" && h.displayName && (D[l].displayName = h.displayName + "_" + l); } } } - function E(v, l) { - if (l) - for (var m in l) { - var I = l[m]; - if (l.hasOwnProperty(m)) { - var w = m in _; - t( - !w, + function C(p, h) { + if (h) + for (var q in h) { + var j = h[q]; + if (h.hasOwnProperty(q)) { + var D = q in g; + n( + !D, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', - m + q ); - var L = m in v; - t( - !L, - "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", - m - ), v[m] = I; + var L = q in p; + if (L) { + var l = m.hasOwnProperty(q) ? m[q] : null; + n( + l === "DEFINE_MANY_MERGED", + "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", + q + ), p[q] = S(p[q], j); + return; + } + p[q] = j; } } } - function b(v, l) { - t( - v && l && typeof v == "object" && typeof l == "object", + function N(p, h) { + n( + p && h && typeof p == "object" && typeof h == "object", "mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects." ); - for (var m in l) - l.hasOwnProperty(m) && (t( - v[m] === void 0, + for (var q in h) + h.hasOwnProperty(q) && (n( + p[q] === void 0, "mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", - m - ), v[m] = l[m]); - return v; + q + ), p[q] = h[q]); + return p; } - function O(v, l) { + function S(p, h) { return function() { - var I = v.apply(this, arguments), w = l.apply(this, arguments); - if (I == null) - return w; - if (w == null) - return I; + var j = p.apply(this, arguments), D = h.apply(this, arguments); + if (j == null) + return D; + if (D == null) + return j; var L = {}; - return b(L, I), b(L, w), L; + return N(L, j), N(L, D), L; }; } - function C(v, l) { + function P(p, h) { return function() { - v.apply(this, arguments), l.apply(this, arguments); + p.apply(this, arguments), h.apply(this, arguments); }; } - function D(v, l) { - var m = l.bind(v); + function M(p, h) { + var q = h.bind(p); if (process.env.NODE_ENV !== "production") { - m.__reactBoundContext = v, m.__reactBoundMethod = l, m.__reactBoundArguments = null; - var I = v.constructor.displayName, w = m.bind; - m.bind = function(L) { - for (var T = arguments.length, G = Array(T > 1 ? T - 1 : 0), h = 1; h < T; h++) - G[h - 1] = arguments[h]; - if (L !== v && L !== null) - process.env.NODE_ENV !== "production" && n( + q.__reactBoundContext = p, q.__reactBoundMethod = h, q.__reactBoundArguments = null; + var j = p.constructor.displayName, D = q.bind; + q.bind = function(L) { + for (var l = arguments.length, R = Array(l > 1 ? l - 1 : 0), T = 1; T < l; T++) + R[T - 1] = arguments[T]; + if (L !== p && L !== null) + process.env.NODE_ENV !== "production" && a( !1, "bind(): React component methods may only be bound to the component instance. See %s", - I + j ); - else if (!G.length) - return process.env.NODE_ENV !== "production" && n( + else if (!R.length) + return process.env.NODE_ENV !== "production" && a( !1, "bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s", - I - ), m; - var q = w.apply(m, arguments); - return q.__reactBoundContext = v, q.__reactBoundMethod = l, q.__reactBoundArguments = G, q; + j + ), q; + var w = D.apply(q, arguments); + return w.__reactBoundContext = p, w.__reactBoundMethod = h, w.__reactBoundArguments = R, w; }; } - return m; + return q; } - function P(v) { - for (var l = v.__reactAutoBindPairs, m = 0; m < l.length; m += 2) { - var I = l[m], w = l[m + 1]; - v[I] = D(v, w); + function F(p) { + for (var h = p.__reactAutoBindPairs, q = 0; q < h.length; q += 2) { + var j = h[q], D = h[q + 1]; + p[j] = M(p, D); } } - var S = { + var G = { componentDidMount: function() { this.__isMounted = !0; } - }, j = { + }, O = { componentWillUnmount: function() { this.__isMounted = !1; } - }, M = { + }, B = { /** * TODO: This will be deprecated because state should always keep a consistent * type signature and the only use case for this, is to avoid that. */ - replaceState: function(v, l) { - this.updater.enqueueReplaceState(this, v, l); + replaceState: function(p, h) { + this.updater.enqueueReplaceState(this, p, h); }, /** * Checks whether or not this composite component is mounted. @@ -2467,88 +2464,92 @@ function Lc() { * @final */ isMounted: function() { - return process.env.NODE_ENV !== "production" && (n( + return process.env.NODE_ENV !== "production" && (a( this.__didWarnIsMounted, "%s: isMounted is deprecated. Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.", this.constructor && this.constructor.displayName || this.name || "Component" ), this.__didWarnIsMounted = !0), !!this.__isMounted; } - }, B = function() { + }, k = function() { }; e( - B.prototype, - o.prototype, - M + k.prototype, + f.prototype, + B ); - function x(v) { - var l = function(I, w, L) { - process.env.NODE_ENV !== "production" && n( - this instanceof l, + function W(p) { + var h = function(j, D, L) { + process.env.NODE_ENV !== "production" && a( + this instanceof h, "Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory" - ), this.__reactAutoBindPairs.length && P(this), this.props = I, this.context = w, this.refs = r, this.updater = L || f, this.state = null; - var T = this.getInitialState ? this.getInitialState() : null; - process.env.NODE_ENV !== "production" && T === void 0 && this.getInitialState._isMockFunction && (T = null), t( - typeof T == "object" && !Array.isArray(T), + ), this.__reactAutoBindPairs.length && F(this), this.props = j, this.context = D, this.refs = r, this.updater = L || v, this.state = null; + var l = this.getInitialState ? this.getInitialState() : null; + process.env.NODE_ENV !== "production" && l === void 0 && this.getInitialState._isMockFunction && (l = null), n( + typeof l == "object" && !Array.isArray(l), "%s.getInitialState(): must return an object or null", - l.displayName || "ReactCompositeComponent" - ), this.state = T; + h.displayName || "ReactCompositeComponent" + ), this.state = l; }; - l.prototype = new B(), l.prototype.constructor = l, l.prototype.__reactAutoBindPairs = [], d.forEach(g.bind(null, l)), g(l, S), g(l, v), g(l, j), l.getDefaultProps && (l.defaultProps = l.getDefaultProps()), process.env.NODE_ENV !== "production" && (l.getDefaultProps && (l.getDefaultProps.isReactClassApproved = {}), l.prototype.getInitialState && (l.prototype.getInitialState.isReactClassApproved = {})), t( - l.prototype.render, + h.prototype = new k(), h.prototype.constructor = h, h.prototype.__reactAutoBindPairs = [], _.forEach(A.bind(null, h)), A(h, G), A(h, p), A(h, O), h.getDefaultProps && (h.defaultProps = h.getDefaultProps()), process.env.NODE_ENV !== "production" && (h.getDefaultProps && (h.getDefaultProps.isReactClassApproved = {}), h.prototype.getInitialState && (h.prototype.getInitialState.isReactClassApproved = {})), n( + h.prototype.render, "createClass(...): Class specification must implement a `render` method." - ), process.env.NODE_ENV !== "production" && (n( - !l.prototype.componentShouldUpdate, + ), process.env.NODE_ENV !== "production" && (a( + !h.prototype.componentShouldUpdate, "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", - v.displayName || "A component" - ), n( - !l.prototype.componentWillRecieveProps, + p.displayName || "A component" + ), a( + !h.prototype.componentWillRecieveProps, "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", - v.displayName || "A component" + p.displayName || "A component" + ), a( + !h.prototype.UNSAFE_componentWillRecieveProps, + "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", + p.displayName || "A component" )); - for (var m in p) - l.prototype[m] || (l.prototype[m] = null); - return l; + for (var q in b) + h.prototype[q] || (h.prototype[q] = null); + return h; } - return x; + return W; } - return Jt = u, Jt; + return Yt = c, Yt; } -var Xt, Ns; -function Gc() { - if (Ns) return Xt; - Ns = 1; - var e = Hn, r = Lc(); +var Wt, Cs; +function Pc() { + if (Cs) return Wt; + Cs = 1; + var e = kn, r = Ac(); if (typeof e > "u") throw Error( "create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class." ); var t = new e.Component().updater; - return Xt = r( + return Wt = r( e.Component, e.isValidElement, t - ), Xt; + ), Wt; } -var Hc = Gc(); -const ye = /* @__PURE__ */ Y(Hc); -var Zt, Ds; -function Wu() { - if (Ds) return Zt; - Ds = 1; - var e = $(), r = function() { +var Oc = Pc(); +const le = /* @__PURE__ */ H(Oc); +var Kt, Ss; +function ko() { + if (Ss) return Kt; + Ss = 1; + var e = z(), r = (function() { try { var t = e(Object, "defineProperty"); return t({}, "", {}), t; } catch { } - }(); - return Zt = r, Zt; + })(); + return Kt = r, Kt; } -var Qt, js; -function Vu() { - if (js) return Qt; - js = 1; - var e = Wu(); +var zt, As; +function Bo() { + if (As) return zt; + As = 1; + var e = ko(); function r(t, n, a) { n == "__proto__" && e ? e(t, n, { configurable: !0, @@ -2557,39 +2558,39 @@ function Vu() { writable: !0 }) : t[n] = a; } - return Qt = r, Qt; + return zt = r, zt; } -var en, Ms; -function Kc() { - if (Ms) return en; - Ms = 1; - var e = Vu(), r = de(), t = Object.prototype, n = t.hasOwnProperty; - function a(i, s, u) { - var o = i[s]; - (!(n.call(i, s) && r(o, u)) || u === void 0 && !(s in i)) && e(i, s, u); +var $t, Ps; +function Tc() { + if (Ps) return $t; + Ps = 1; + var e = Bo(), r = ve(), t = Object.prototype, n = t.hasOwnProperty; + function a(i, s, o) { + var u = i[s]; + (!(n.call(i, s) && r(u, o)) || o === void 0 && !(s in i)) && e(i, s, o); } - return en = a, en; + return $t = a, $t; } -var rn, Fs; -function Uc() { - if (Fs) return rn; - Fs = 1; - var e = Kc(), r = Vu(); +var Jt, Os; +function wc() { + if (Os) return Jt; + Os = 1; + var e = Tc(), r = Bo(); function t(n, a, i, s) { - var u = !i; + var o = !i; i || (i = {}); - for (var o = -1, c = a.length; ++o < c; ) { - var f = a[o], d = s ? s(i[f], n[f], f, i, n) : void 0; - d === void 0 && (d = n[f]), u ? r(i, f, d) : e(i, f, d); + for (var u = -1, c = a.length; ++u < c; ) { + var f = a[u], d = s ? s(i[f], n[f], f, i, n) : void 0; + d === void 0 && (d = n[f]), o ? r(i, f, d) : e(i, f, d); } return i; } - return rn = t, rn; + return Jt = t, Jt; } -var tn, ks; -function Yc() { - if (ks) return tn; - ks = 1; +var Xt, Ts; +function Ic() { + if (Ts) return Xt; + Ts = 1; function e(r, t, n) { switch (n.length) { case 0: @@ -2603,41 +2604,41 @@ function Yc() { } return r.apply(t, n); } - return tn = e, tn; + return Xt = e, Xt; } -var nn, Bs; -function Wc() { - if (Bs) return nn; - Bs = 1; - var e = Yc(), r = Math.max; +var Zt, ws; +function Nc() { + if (ws) return Zt; + ws = 1; + var e = Ic(), r = Math.max; function t(n, a, i) { return a = r(a === void 0 ? n.length - 1 : a, 0), function() { - for (var s = arguments, u = -1, o = r(s.length - a, 0), c = Array(o); ++u < o; ) - c[u] = s[a + u]; - u = -1; - for (var f = Array(a + 1); ++u < a; ) - f[u] = s[u]; + for (var s = arguments, o = -1, u = r(s.length - a, 0), c = Array(u); ++o < u; ) + c[o] = s[a + o]; + o = -1; + for (var f = Array(a + 1); ++o < a; ) + f[o] = s[o]; return f[a] = i(c), e(n, this, f); }; } - return nn = t, nn; + return Zt = t, Zt; } -var an, Ls; -function Vc() { - if (Ls) return an; - Ls = 1; +var Qt, Is; +function Dc() { + if (Is) return Qt; + Is = 1; function e(r) { return function() { return r; }; } - return an = e, an; + return Qt = e, Qt; } -var sn, Gs; -function zc() { - if (Gs) return sn; - Gs = 1; - var e = Vc(), r = Wu(), t = ue(), n = r ? function(a, i) { +var en, Ns; +function jc() { + if (Ns) return en; + Ns = 1; + var e = Dc(), r = ko(), t = ue(), n = r ? function(a, i) { return r(a, "toString", { configurable: !0, enumerable: !1, @@ -2645,18 +2646,18 @@ function zc() { writable: !0 }); } : t; - return sn = n, sn; + return en = n, en; } -var un, Hs; -function $c() { - if (Hs) return un; - Hs = 1; +var rn, Ds; +function Fc() { + if (Ds) return rn; + Ds = 1; var e = 800, r = 16, t = Date.now; function n(a) { var i = 0, s = 0; return function() { - var u = t(), o = r - (u - s); - if (s = u, o > 0) { + var o = t(), u = r - (o - s); + if (s = o, u > 0) { if (++i >= e) return arguments[0]; } else @@ -2664,59 +2665,59 @@ function $c() { return a.apply(void 0, arguments); }; } - return un = n, un; + return rn = n, rn; } -var on, Ks; -function Jc() { - if (Ks) return on; - Ks = 1; - var e = zc(), r = $c(), t = r(e); - return on = t, on; -} -var cn, Us; -function Zn() { - if (Us) return cn; - Us = 1; - var e = ue(), r = Wc(), t = Jc(); +var tn, js; +function Mc() { + if (js) return tn; + js = 1; + var e = jc(), r = Fc(), t = r(e); + return tn = t, tn; +} +var nn, Fs; +function zn() { + if (Fs) return nn; + Fs = 1; + var e = ue(), r = Nc(), t = Mc(); function n(a, i) { return t(r(a, i, e), a + ""); } - return cn = n, cn; + return nn = n, nn; } -var fn, Ys; -function Qn() { - if (Ys) return fn; - Ys = 1; - var e = de(), r = z(), t = Un(), n = Z(); - function a(i, s, u) { - if (!n(u)) +var an, Ms; +function $n() { + if (Ms) return an; + Ms = 1; + var e = ve(), r = K(), t = Ln(), n = Z(); + function a(i, s, o) { + if (!n(o)) return !1; - var o = typeof s; - return (o == "number" ? r(u) && t(s, u.length) : o == "string" && s in u) ? e(u[s], i) : !1; + var u = typeof s; + return (u == "number" ? r(o) && t(s, o.length) : u == "string" && s in o) ? e(o[s], i) : !1; } - return fn = a, fn; + return an = a, an; } -var ln, Ws; -function Xc() { - if (Ws) return ln; - Ws = 1; - var e = Zn(), r = Qn(); +var sn, ks; +function kc() { + if (ks) return sn; + ks = 1; + var e = zn(), r = $n(); function t(n) { return e(function(a, i) { - var s = -1, u = i.length, o = u > 1 ? i[u - 1] : void 0, c = u > 2 ? i[2] : void 0; - for (o = n.length > 3 && typeof o == "function" ? (u--, o) : void 0, c && r(i[0], i[1], c) && (o = u < 3 ? void 0 : o, u = 1), a = Object(a); ++s < u; ) { + var s = -1, o = i.length, u = o > 1 ? i[o - 1] : void 0, c = o > 2 ? i[2] : void 0; + for (u = n.length > 3 && typeof u == "function" ? (o--, u) : void 0, c && r(i[0], i[1], c) && (u = o < 3 ? void 0 : u, o = 1), a = Object(a); ++s < o; ) { var f = i[s]; - f && n(a, f, s, o); + f && n(a, f, s, u); } return a; }); } - return ln = t, ln; + return sn = t, sn; } -var dn, Vs; -function Zc() { - if (Vs) return dn; - Vs = 1; +var on, Bs; +function Bc() { + if (Bs) return on; + Bs = 1; function e(r) { var t = []; if (r != null) @@ -2724,144 +2725,144 @@ function Zc() { t.push(n); return t; } - return dn = e, dn; + return on = e, on; } -var hn, zs; -function Qc() { - if (zs) return hn; - zs = 1; - var e = Z(), r = Ou(), t = Zc(), n = Object.prototype, a = n.hasOwnProperty; +var un, Ls; +function Lc() { + if (Ls) return un; + Ls = 1; + var e = Z(), r = Ro(), t = Bc(), n = Object.prototype, a = n.hasOwnProperty; function i(s) { if (!e(s)) return t(s); - var u = r(s), o = []; + var o = r(s), u = []; for (var c in s) - c == "constructor" && (u || !a.call(s, c)) || o.push(c); - return o; + c == "constructor" && (o || !a.call(s, c)) || u.push(c); + return u; } - return hn = i, hn; + return un = i, un; } -var vn, $s; -function ef() { - if ($s) return vn; - $s = 1; - var e = Tu(), r = Qc(), t = z(); +var cn, Gs; +function Gc() { + if (Gs) return cn; + Gs = 1; + var e = qo(), r = Lc(), t = K(); function n(a) { return t(a) ? e(a, !0) : r(a); } - return vn = n, vn; + return cn = n, cn; } -var pn, Js; -function rf() { - if (Js) return pn; - Js = 1; - var e = Uc(), r = Xc(), t = ef(), n = r(function(a, i) { +var ln, Vs; +function Vc() { + if (Vs) return ln; + Vs = 1; + var e = wc(), r = kc(), t = Gc(), n = r(function(a, i) { e(i, t(i), a); }); - return pn = n, pn; + return ln = n, ln; } -var _n, Xs; -function tf() { - return Xs || (Xs = 1, _n = rf()), _n; +var fn, Us; +function Uc() { + return Us || (Us = 1, fn = Vc()), fn; } -var gn, Zs; -function nf() { - if (Zs) return gn; - Zs = 1; +var dn, Hs; +function Hc() { + if (Hs) return dn; + Hs = 1; function e(r, t) { for (var n = -1, a = r == null ? 0 : r.length; ++n < a && t(r[n], n, r) !== !1; ) ; return r; } - return gn = e, gn; + return dn = e, dn; } -var mn, Qs; -function af() { - if (Qs) return mn; - Qs = 1; +var hn, Ys; +function Yc() { + if (Ys) return hn; + Ys = 1; var e = ue(); function r(t) { return typeof t == "function" ? t : e; } - return mn = r, mn; + return hn = r, hn; } -var yn, eu; -function sf() { - if (eu) return yn; - eu = 1; - var e = nf(), r = Vn(), t = af(), n = K(); +var vn, Ws; +function Wc() { + if (Ws) return vn; + Ws = 1; + var e = Hc(), r = Un(), t = Yc(), n = V(); function a(i, s) { - var u = n(i) ? e : r; - return u(i, t(s)); + var o = n(i) ? e : r; + return o(i, t(s)); } - return yn = a, yn; + return vn = a, vn; } -var bn, ru; -function uf() { - return ru || (ru = 1, bn = sf()), bn; +var pn, Ks; +function Kc() { + return Ks || (Ks = 1, pn = Wc()), pn; } -var qn, tu; -function of() { - if (tu) return qn; - tu = 1; - var e = ae(), r = Kn(), t = K(), n = e ? e.isConcatSpreadable : void 0; +var _n, zs; +function zc() { + if (zs) return _n; + zs = 1; + var e = ie(), r = Bn(), t = V(), n = e ? e.isConcatSpreadable : void 0; function a(i) { return t(i) || r(i) || !!(n && i && i[n]); } - return qn = a, qn; -} -var Rn, nu; -function cf() { - if (nu) return Rn; - nu = 1; - var e = Fu(), r = of(); - function t(n, a, i, s, u) { - var o = -1, c = n.length; - for (i || (i = r), u || (u = []); ++o < c; ) { - var f = n[o]; - a > 0 && i(f) ? a > 1 ? t(f, a - 1, i, s, u) : e(u, f) : s || (u[u.length] = f); + return _n = a, _n; +} +var gn, $s; +function $c() { + if ($s) return gn; + $s = 1; + var e = Oo(), r = zc(); + function t(n, a, i, s, o) { + var u = -1, c = n.length; + for (i || (i = r), o || (o = []); ++u < c; ) { + var f = n[u]; + a > 0 && i(f) ? a > 1 ? t(f, a - 1, i, s, o) : e(o, f) : s || (o[o.length] = f); } - return u; + return o; } - return Rn = t, Rn; + return gn = t, gn; } -var En, au; -function ff() { - if (au) return En; - au = 1; +var mn, Js; +function Jc() { + if (Js) return mn; + Js = 1; function e(r, t) { var n = r.length; for (r.sort(t); n--; ) r[n] = r[n].value; return r; } - return En = e, En; + return mn = e, mn; } -var Cn, iu; -function lf() { - if (iu) return Cn; - iu = 1; - var e = se(); +var bn, Xs; +function Xc() { + if (Xs) return bn; + Xs = 1; + var e = oe(); function r(t, n) { if (t !== n) { - var a = t !== void 0, i = t === null, s = t === t, u = e(t), o = n !== void 0, c = n === null, f = n === n, d = e(n); - if (!c && !d && !u && t > n || u && o && f && !c && !d || i && o && f || !a && f || !s) + var a = t !== void 0, i = t === null, s = t === t, o = e(t), u = n !== void 0, c = n === null, f = n === n, d = e(n); + if (!c && !d && !o && t > n || o && u && f && !c && !d || i && u && f || !a && f || !s) return 1; - if (!i && !u && !d && t < n || d && a && s && !i && !u || c && a && s || !o && s || !f) + if (!i && !o && !d && t < n || d && a && s && !i && !o || c && a && s || !u && s || !f) return -1; } return 0; } - return Cn = r, Cn; + return bn = r, bn; } -var xn, su; -function df() { - if (su) return xn; - su = 1; - var e = lf(); +var yn, Zs; +function Zc() { + if (Zs) return yn; + Zs = 1; + var e = Xc(); function r(t, n, a) { - for (var i = -1, s = t.criteria, u = n.criteria, o = s.length, c = a.length; ++i < o; ) { - var f = e(s[i], u[i]); + for (var i = -1, s = t.criteria, o = n.criteria, u = s.length, c = a.length; ++i < u; ) { + var f = e(s[i], o[i]); if (f) { if (i >= c) return f; @@ -2871,56 +2872,56 @@ function df() { } return t.index - n.index; } - return xn = r, xn; -} -var Sn, uu; -function hf() { - if (uu) return Sn; - uu = 1; - var e = ge(), r = Xn(), t = oe(), n = Hu(), a = ff(), i = Wn(), s = df(), u = ue(), o = K(); - function c(f, d, p) { - d.length ? d = e(d, function(y) { - return o(y) ? function(g) { - return r(g, y.length === 1 ? y[0] : y); - } : y; - }) : d = [u]; + return yn = r, yn; +} +var qn, Qs; +function Qc() { + if (Qs) return qn; + Qs = 1; + var e = be(), r = Kn(), t = ce(), n = Do(), a = Jc(), i = Vn(), s = Zc(), o = ue(), u = V(); + function c(f, d, v) { + d.length ? d = e(d, function(m) { + return u(m) ? function(g) { + return r(g, m.length === 1 ? m[0] : m); + } : m; + }) : d = [o]; var _ = -1; d = e(d, i(t)); - var R = n(f, function(y, g, E) { - var b = e(d, function(O) { - return O(y); + var b = n(f, function(m, g, x) { + var y = e(d, function(A) { + return A(m); }); - return { criteria: b, index: ++_, value: y }; + return { criteria: y, index: ++_, value: m }; }); - return a(R, function(y, g) { - return s(y, g, p); + return a(b, function(m, g) { + return s(m, g, v); }); } - return Sn = c, Sn; + return qn = c, qn; } -var An, ou; -function vf() { - if (ou) return An; - ou = 1; - var e = cf(), r = hf(), t = Zn(), n = Qn(), a = t(function(i, s) { +var Rn, eo; +function el() { + if (eo) return Rn; + eo = 1; + var e = $c(), r = Qc(), t = zn(), n = $n(), a = t(function(i, s) { if (i == null) return []; - var u = s.length; - return u > 1 && n(i, s[0], s[1]) ? s = [] : u > 2 && n(s[0], s[1], s[2]) && (s = [s[0]]), r(i, e(s, 1), []); + var o = s.length; + return o > 1 && n(i, s[0], s[1]) ? s = [] : o > 2 && n(s[0], s[1], s[2]) && (s = [s[0]]), r(i, e(s, 1), []); }); - return An = a, An; + return Rn = a, Rn; } -var Pn, cu; -function pf() { - if (cu) return Pn; - cu = 1; +var En, ro; +function rl() { + if (ro) return En; + ro = 1; var e = { - extend: tf(), - each: uf(), - sortBy: vf(), - find: Yu() + extend: Uc(), + each: Kc(), + sortBy: el(), + find: Mo() }; - Pn = function(a) { + En = function(a) { return new r(a); }; function r(a) { @@ -2933,70 +2934,70 @@ function pf() { }, r.prototype.getResults = function() { var a = this; this.getColumns(); - var i = this.activeDimensions, s = this.filter, u = this.reduce, o = {}, c = {}; + var i = this.activeDimensions, s = this.filter, o = this.reduce, u = {}, c = {}; return this.rows.forEach(function(f) { - var d = a.createSetKeys(i, f), p = t(d[d.length - 1]); - if (!(s && !s(p))) { - var _ = o; - d.forEach(function(R, y) { - _[R] || (_[R] = { value: {}, subDimensions: {}, key: R }); - var g = _[R].value; - if (s || !a.cache[R]) { - s || (c[R] = g), e.extend(g, u(f, g)); - var E = t(R); - e.extend(g, E); + var d = a.createSetKeys(i, f), v = t(d[d.length - 1]); + if (!(s && !s(v))) { + var _ = u; + d.forEach(function(b, m) { + _[b] || (_[b] = { value: {}, subDimensions: {}, key: b }); + var g = _[b].value; + if (s || !a.cache[b]) { + s || (c[b] = g), e.extend(g, o(f, g)); + var x = t(b); + e.extend(g, x); } else - _[R].value = a.cache[R]; - _ = _[R].subDimensions; + _[b].value = a.cache[b]; + _ = _[b].subDimensions; }); } }), e.each(c, function(f, d) { a.cache[d] = f; - }), o; - }, r.prototype.parseResults = function(a, u) { - var s = this, u = u || 0, o = [], c = e.sortBy(a, this.getSortValue.bind(this)); + }), u; + }, r.prototype.parseResults = function(a, o) { + var s = this, o = o || 0, u = [], c = e.sortBy(a, this.getSortValue.bind(this)); return this.sortDir === "desc" && c.reverse(), e.each(c, function(f) { var d = f.value; - d._level = u, d._key = f.key; - var p = Object.keys(f.subDimensions).length; - if (s.compact && p == 1 || o.push(d), p) { - var _ = s.compact && p == 1 ? u : u + 1, R = s.parseResults(f.subDimensions, _); - R.forEach(function(y) { - o.push(y); + d._level = o, d._key = f.key; + var v = Object.keys(f.subDimensions).length; + if (s.compact && v == 1 || u.push(d), v) { + var _ = s.compact && v == 1 ? o : o + 1, b = s.parseResults(f.subDimensions, _); + b.forEach(function(m) { + u.push(m); }); } - }), o; + }), u; }, r.prototype.getColumns = function() { var a = []; return this.dimensions.forEach(function(i) { a.push({ type: "dimension", title: i, value: i }); }), a; }, r.prototype.createSetKeys = function(a, i) { - for (var s = [], u = 0; u < a.length; u++) { - var o = a.slice(0, u + 1); - s.push(this.createSetKey(o, i)); + for (var s = [], o = 0; o < a.length; o++) { + var u = a.slice(0, o + 1); + s.push(this.createSetKey(u, i)); } return s; }, r.prototype.createSetKey = function(a, i) { - var s = this, u = ""; - return e.sortBy(a).forEach(function(o) { - var c = s.findDimension(o); - u += [o, n(c, i)].join("ÿ") + "ÿ"; - }), u; + var s = this, o = ""; + return e.sortBy(a).forEach(function(u) { + var c = s.findDimension(u); + o += [u, n(c, i)].join("ÿ") + "ÿ"; + }), o; }, r.prototype.findDimension = function(a) { return e.find(this.dimensions, function(i) { return i.title === a; }); }, r.prototype.getSortValue = function(a) { - var i = this.sortBy, s = this.getColumns(), u = e.find(s, function(c) { + var i = this.sortBy, s = this.getColumns(), o = e.find(s, function(c) { return c.title === i; - }) || i, o = n(u, a.value); - return typeof o > "u" ? a.key : !isNaN(parseFloat(o)) && isFinite(o) ? +o : typeof o == "string" ? o.toLowerCase() : o; + }) || i, u = n(o, a.value); + return typeof u > "u" ? a.key : !isNaN(parseFloat(u)) && isFinite(u) ? +u : typeof u == "string" ? u.toLowerCase() : u; }; function t(a) { - for (var i = {}, s = a.split("ÿ"), u = 0; u < s.length; u += 2) { - var o = s[u], c = s[u + 1]; - o && (i[o] = c); + for (var i = {}, s = a.split("ÿ"), o = 0; o < s.length; o += 2) { + var u = s[o], c = s[o + 1]; + u && (i[u] = c); } return i; } @@ -3012,48 +3013,48 @@ function pf() { var s = a.value(i); return s; } - return Pn; + return En; } -var _f = pf(); -const fu = /* @__PURE__ */ Y(_f); -var Tn, lu; -function gf() { - if (lu) return Tn; - lu = 1, Tn = e; +var tl = rl(); +const xn = /* @__PURE__ */ H(tl); +var Cn, to; +function nl() { + if (to) return Cn; + to = 1, Cn = e; function e() { } return e.mixin = function(r) { var t = r.prototype || r; t.isWildEmitter = !0, t.on = function(n, a, i) { this.callbacks = this.callbacks || {}; - var s = arguments.length === 3, u = s ? arguments[1] : void 0, o = s ? arguments[2] : arguments[1]; - return o._groupName = u, (this.callbacks[n] = this.callbacks[n] || []).push(o), this; + var s = arguments.length === 3, o = s ? arguments[1] : void 0, u = s ? arguments[2] : arguments[1]; + return u._groupName = o, (this.callbacks[n] = this.callbacks[n] || []).push(u), this; }, t.once = function(n, a, i) { - var s = this, u = arguments.length === 3, o = u ? arguments[1] : void 0, c = u ? arguments[2] : arguments[1]; + var s = this, o = arguments.length === 3, u = o ? arguments[1] : void 0, c = o ? arguments[2] : arguments[1]; function f() { s.off(n, f), c.apply(this, arguments); } - return this.on(n, o, f), this; + return this.on(n, u, f), this; }, t.releaseGroup = function(n) { this.callbacks = this.callbacks || {}; - var a, i, s, u; + var a, i, s, o; for (a in this.callbacks) - for (u = this.callbacks[a], i = 0, s = u.length; i < s; i++) - u[i]._groupName === n && (u.splice(i, 1), i--, s--); + for (o = this.callbacks[a], i = 0, s = o.length; i < s; i++) + o[i]._groupName === n && (o.splice(i, 1), i--, s--); return this; }, t.off = function(n, a) { this.callbacks = this.callbacks || {}; var i = this.callbacks[n], s; - return i ? arguments.length === 1 ? (delete this.callbacks[n], this) : (s = i.indexOf(a), i.splice(s, 1), i.length === 0 && delete this.callbacks[n], this) : this; + return i ? arguments.length === 1 ? (delete this.callbacks[n], this) : (s = i.indexOf(a), s !== -1 && (i.splice(s, 1), i.length === 0 && delete this.callbacks[n]), this) : this; }, t.emit = function(n) { this.callbacks = this.callbacks || {}; - var a = [].slice.call(arguments, 1), i = this.callbacks[n], s = this.getWildcardCallbacks(n), u, o, c; + var a = [].slice.call(arguments, 1), i = this.callbacks[n], s = this.getWildcardCallbacks(n), o, u, c; if (i) - for (c = i.slice(), u = 0, o = c.length; u < o && c[u]; ++u) - c[u].apply(this, a); + for (c = i.slice(), o = 0, u = c.length; o < u && c[o]; ++o) + c[o].apply(this, a); if (s) - for (o = s.length, c = s.slice(), u = 0, o = c.length; u < o && c[u]; ++u) - c[u].apply(this, [n].concat(a)); + for (u = s.length, c = s.slice(), o = 0, u = c.length; o < u && c[o]; ++o) + c[o].apply(this, [n].concat(a)); return this; }, t.getWildcardCallbacks = function(n) { this.callbacks = this.callbacks || {}; @@ -3062,17 +3063,17 @@ function gf() { i = a.split("*"), (a === "*" || i.length === 2 && n.slice(0, i[0].length) === i[0]) && (s = s.concat(this.callbacks[a])); return s; }; - }, e.mixin(e), Tn; + }, e.mixin(e), Cn; } -var mf = gf(); -const yf = /* @__PURE__ */ Y(mf), du = Array.prototype.slice; -function V(e) { - const r = du.call(arguments, 1); +var al = nl(); +const il = /* @__PURE__ */ H(al), no = Array.prototype.slice; +function U(e) { + const r = no.call(arguments, 1); return function() { - return e.apply(this, r.concat(du.call(arguments))); + return e.apply(this, r.concat(no.call(arguments))); }; } -function bf(e, r, t) { +function sl(e, r, t) { const n = new Blob([e], { type: t }), a = document.createElement("a"); a.download = r, a.href = window.URL.createObjectURL(n), a.dataset.downloadurl = [t, a.download, a.href].join(":"); const i = document.createEvent("MouseEvents"); @@ -3094,44 +3095,44 @@ function bf(e, r, t) { null ), a.dispatchEvent(i); } -function zu(e, r) { +function Lo(e, r) { if (e == null) return null; let t; return typeof e.value == "string" ? t = r[e.value] : t = e.value(r), t; } -var On, hu; -function qf() { - if (hu) return On; - hu = 1; +var Sn, ao; +function ol() { + if (ao) return Sn; + ao = 1; var e = Math.ceil, r = Math.max; function t(n, a, i, s) { - for (var u = -1, o = r(e((a - n) / (i || 1)), 0), c = Array(o); o--; ) - c[s ? o : ++u] = n, n += i; + for (var o = -1, u = r(e((a - n) / (i || 1)), 0), c = Array(u); u--; ) + c[s ? u : ++o] = n, n += i; return c; } - return On = t, On; + return Sn = t, Sn; } -var In, vu; -function Rf() { - if (vu) return In; - vu = 1; - var e = qf(), r = Qn(), t = Uu(); +var An, io; +function ul() { + if (io) return An; + io = 1; + var e = ol(), r = $n(), t = Fo(); function n(a) { - return function(i, s, u) { - return u && typeof u != "number" && r(i, s, u) && (s = u = void 0), i = t(i), s === void 0 ? (s = i, i = 0) : s = t(s), u = u === void 0 ? i < s ? 1 : -1 : t(u), e(i, s, u, a); + return function(i, s, o) { + return o && typeof o != "number" && r(i, s, o) && (s = o = void 0), i = t(i), s === void 0 ? (s = i, i = 0) : s = t(s), o = o === void 0 ? i < s ? 1 : -1 : t(o), e(i, s, o, a); }; } - return In = n, In; + return An = n, An; } -var wn, pu; -function Ef() { - if (pu) return wn; - pu = 1; - var e = Rf(), r = e(); - return wn = r, wn; +var Pn, so; +function cl() { + if (so) return Pn; + so = 1; + var e = ul(), r = e(); + return Pn = r, Pn; } -var Cf = Ef(); -const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ +var ll = cl(); +const fl = /* @__PURE__ */ H(ll), dl = { range: fl }, hl = le({ getDefaultProps: function() { return { columns: [], @@ -3154,8 +3155,8 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ }, render: function() { var e = this.props.rows, r = this.paginate(e), t = this.renderTableBody(this.props.columns, r.rows), n = this.renderTableHead(this.props.columns); - return /* @__PURE__ */ A.jsxs("div", { className: "reactPivot-results", children: [ - /* @__PURE__ */ A.jsxs("table", { className: this.props.tableClassName, children: [ + return /* @__PURE__ */ E.jsxs("div", { className: "reactPivot-results", children: [ + /* @__PURE__ */ E.jsxs("table", { className: this.props.tableClassName, children: [ n, t ] }), @@ -3164,22 +3165,22 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ }, renderTableHead: function(e) { var r = this, t = this.props.sortBy, n = this.props.sortDir; - return /* @__PURE__ */ A.jsx("thead", { children: /* @__PURE__ */ A.jsx("tr", { children: e.map(function(a) { + return /* @__PURE__ */ E.jsx("thead", { children: /* @__PURE__ */ E.jsx("tr", { children: e.map(function(a) { var i = a.className; a.title === t && (i += " " + n); var s = ""; - return a.type !== "dimension" && (s = /* @__PURE__ */ A.jsx( + return a.type !== "dimension" && (s = /* @__PURE__ */ E.jsx( "span", { className: "reactPivot-hideColumn", - onClick: V(r.props.onColumnHide, a.title), + onClick: U(r.props.onColumnHide, a.title), children: "×" } - )), /* @__PURE__ */ A.jsxs( + )), /* @__PURE__ */ E.jsxs( "th", { className: i, - onClick: V(r.props.onSort, a.title), + onClick: U(r.props.onSort, a.title), style: { cursor: "pointer" }, children: [ s, @@ -3192,9 +3193,9 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ }, renderTableBody: function(e, r) { var t = this; - return /* @__PURE__ */ A.jsx("tbody", { children: r.map(function(n) { - return /* @__PURE__ */ A.jsx("tr", { className: "reactPivot-level-" + n._level, children: e.map(function(a, i) { - return i < n._level ? /* @__PURE__ */ A.jsx("td", { className: "reactPivot-indent" }, i) : t.renderCell(a, n); + return /* @__PURE__ */ E.jsx("tbody", { children: r.map(function(n) { + return /* @__PURE__ */ E.jsx("tr", { className: "reactPivot-level-" + n._level, children: e.map(function(a, i) { + return i < n._level ? /* @__PURE__ */ E.jsx("td", { className: "reactPivot-indent" }, i) : t.renderCell(a, n); }) }, n._key); }) }); }, @@ -3203,28 +3204,28 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ var t = r[e.title], n = t, a = typeof t < "u"; e.template && a && (n = e.template(t, r)); } else { - var t = zu(e, r), n = t; + var t = Lo(e, r), n = t; e.template && (n = e.template(t, r)); } if (a) - var i = /* @__PURE__ */ A.jsx("span", { className: "reactPivot-solo", children: /* @__PURE__ */ A.jsx( + var i = /* @__PURE__ */ E.jsx("span", { className: "reactPivot-solo", children: /* @__PURE__ */ E.jsx( "a", { style: { cursor: "pointer" }, - onClick: V(this.props.onSolo, { + onClick: U(this.props.onSolo, { title: e.title, value: t }), children: this.props.soloText } ) }); - var s = Hn.isValidElement(n) ? /* @__PURE__ */ A.jsx("span", { children: n }) : /* @__PURE__ */ A.jsx( + var s = kn.isValidElement(n) ? /* @__PURE__ */ E.jsx("span", { children: n }) : /* @__PURE__ */ E.jsx( "span", { dangerouslySetInnerHTML: { __html: n || n === 0 && "0" || "" } } ); - return /* @__PURE__ */ A.jsxs( + return /* @__PURE__ */ E.jsxs( "td", { className: e.className, @@ -3239,9 +3240,9 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ }, renderPagination: function(e) { var r = this, t = e.nPages, n = e.curPage; - return t === 1 ? "" : /* @__PURE__ */ A.jsx("div", { className: "reactPivot-paginate", children: Sf.range(0, t).map(function(a) { + return t === 1 ? "" : /* @__PURE__ */ E.jsx("div", { className: "reactPivot-paginate", children: dl.range(0, t).map(function(a) { var i = "reactPivot-pageNumber"; - return a === n && (i += " is-selected"), /* @__PURE__ */ A.jsx("span", { className: i, children: /* @__PURE__ */ A.jsx("a", { onClick: V(r.setPaginatePage, a), children: a + 1 }) }, a); + return a === n && (i += " is-selected"), /* @__PURE__ */ E.jsx("span", { className: i, children: /* @__PURE__ */ E.jsx("a", { onClick: U(r.setPaginatePage, a), children: a + 1 }) }, a); }) }); }, paginate: function(e) { @@ -3252,19 +3253,19 @@ const xf = /* @__PURE__ */ Y(Cf), Sf = { range: xf }, Af = ye({ r >= n && (r = n - 1); var a = r * t, i = e[a]._level, s = []; if (i > 0) - for (var u = a - 1; u >= 0 && (e[u]._level < i && (s.unshift(e[u]), i = e[u]._level), e[u]._level !== 9); u--) + for (var o = a - 1; o >= 0 && (e[o]._level < i && (s.unshift(e[o]), i = e[o]._level), e[o]._level !== 9); o--) ; - var o = a + t, c = s.concat(e.slice(a, o)); + var u = a + t, c = s.concat(e.slice(a, u)); return { rows: c, nPages: n, curPage: r }; }, setPaginatePage: function(e) { this.setState({ paginatePage: e }); } }); -var Nn, _u; -function Pf() { - if (_u) return Nn; - _u = 1; +var On, oo; +function vl() { + if (oo) return On; + oo = 1; function e(r) { for (var t = -1, n = r == null ? 0 : r.length, a = 0, i = []; ++t < n; ) { var s = r[t]; @@ -3272,10 +3273,10 @@ function Pf() { } return i; } - return Nn = e, Nn; + return On = e, On; } -var Tf = Pf(); -const Of = /* @__PURE__ */ Y(Tf), If = { compact: Of }, wf = ye({ +var pl = vl(); +const _l = /* @__PURE__ */ H(pl), gl = { compact: _l }, ml = le({ getDefaultProps: function() { return { dimensions: [], @@ -3287,26 +3288,26 @@ const Of = /* @__PURE__ */ Y(Tf), If = { compact: Of }, wf = ye({ }, render: function() { var e = this, r = this.props.subDimensionText, t = this.props.selectedDimensions, n = t.length; - return /* @__PURE__ */ A.jsxs("div", { className: "reactPivot-dimensions", children: [ + return /* @__PURE__ */ E.jsxs("div", { className: "reactPivot-dimensions", children: [ t.map(this.renderDimension), - /* @__PURE__ */ A.jsxs("select", { value: "", onChange: V(e.toggleDimension, n), children: [ - /* @__PURE__ */ A.jsx("option", { value: "", children: r }), + /* @__PURE__ */ E.jsxs("select", { value: "", onChange: U(e.toggleDimension, n), children: [ + /* @__PURE__ */ E.jsx("option", { value: "", children: r }), e.props.dimensions.map(function(a) { - return /* @__PURE__ */ A.jsx("option", { children: a.title }, a.title); + return /* @__PURE__ */ E.jsx("option", { children: a.title }, a.title); }) ] }) ] }); }, renderDimension: function(e, r) { - return /* @__PURE__ */ A.jsxs( + return /* @__PURE__ */ E.jsxs( "select", { value: e, - onChange: V(this.toggleDimension, r), + onChange: U(this.toggleDimension, r), children: [ - /* @__PURE__ */ A.jsx("option", {}), + /* @__PURE__ */ E.jsx("option", {}), this.props.dimensions.map(function(t) { - return /* @__PURE__ */ A.jsx( + return /* @__PURE__ */ E.jsx( "option", { value: t.title, @@ -3323,109 +3324,109 @@ const Of = /* @__PURE__ */ Y(Tf), If = { compact: Of }, wf = ye({ toggleDimension: function(e, r) { var t = r.target.value, n = this.props.selectedDimensions, a = n.indexOf(t); a >= 0 && (n[a] = null), n[e] = t; - var i = If.compact(n); + var i = gl.compact(n); this.props.onChange(i); } }); -var Dn, gu; -function Nf() { - if (gu) return Dn; - gu = 1; +var Tn, uo; +function bl() { + if (uo) return Tn; + uo = 1; function e(r) { return r !== r; } - return Dn = e, Dn; + return Tn = e, Tn; } -var jn, mu; -function Df() { - if (mu) return jn; - mu = 1; +var wn, co; +function yl() { + if (co) return wn; + co = 1; function e(r, t, n) { for (var a = n - 1, i = r.length; ++a < i; ) if (r[a] === t) return a; return -1; } - return jn = e, jn; + return wn = e, wn; } -var Mn, yu; -function jf() { - if (yu) return Mn; - yu = 1; - var e = Ku(), r = Nf(), t = Df(); +var In, lo; +function ql() { + if (lo) return In; + lo = 1; + var e = jo(), r = bl(), t = yl(); function n(a, i, s) { return i === i ? t(a, i, s) : e(a, r, s); } - return Mn = n, Mn; + return In = n, In; } -var Fn, bu; -function Mf() { - if (bu) return Fn; - bu = 1; - var e = jf(); +var Nn, fo; +function Rl() { + if (fo) return Nn; + fo = 1; + var e = ql(); function r(t, n) { var a = t == null ? 0 : t.length; return !!a && e(t, n, 0) > -1; } - return Fn = r, Fn; + return Nn = r, Nn; } -var kn, qu; -function Ff() { - if (qu) return kn; - qu = 1; +var Dn, ho; +function El() { + if (ho) return Dn; + ho = 1; function e(r, t, n) { for (var a = -1, i = r == null ? 0 : r.length; ++a < i; ) if (n(t, r[a])) return !0; return !1; } - return kn = e, kn; + return Dn = e, Dn; } -var Bn, Ru; -function kf() { - if (Ru) return Bn; - Ru = 1; - var e = Du(), r = Mf(), t = Ff(), n = ge(), a = Wn(), i = ju(), s = 200; - function u(o, c, f, d) { - var p = -1, _ = r, R = !0, y = o.length, g = [], E = c.length; - if (!y) +var jn, vo; +function xl() { + if (vo) return jn; + vo = 1; + var e = So(), r = Rl(), t = El(), n = be(), a = Vn(), i = Ao(), s = 200; + function o(u, c, f, d) { + var v = -1, _ = r, b = !0, m = u.length, g = [], x = c.length; + if (!m) return g; - f && (c = n(c, a(f))), d ? (_ = t, R = !1) : c.length >= s && (_ = i, R = !1, c = new e(c)); + f && (c = n(c, a(f))), d ? (_ = t, b = !1) : c.length >= s && (_ = i, b = !1, c = new e(c)); e: - for (; ++p < y; ) { - var b = o[p], O = f == null ? b : f(b); - if (b = d || b !== 0 ? b : 0, R && O === O) { - for (var C = E; C--; ) - if (c[C] === O) + for (; ++v < m; ) { + var y = u[v], A = f == null ? y : f(y); + if (y = d || y !== 0 ? y : 0, b && A === A) { + for (var C = x; C--; ) + if (c[C] === A) continue e; - g.push(b); - } else _(c, O, d) || g.push(b); + g.push(y); + } else _(c, A, d) || g.push(y); } return g; } - return Bn = u, Bn; + return jn = o, jn; } -var Ln, Eu; -function Bf() { - if (Eu) return Ln; - Eu = 1; - var e = z(), r = X(); +var Fn, po; +function Cl() { + if (po) return Fn; + po = 1; + var e = K(), r = X(); function t(n) { return r(n) && e(n); } - return Ln = t, Ln; + return Fn = t, Fn; } -var Gn, Cu; -function Lf() { - if (Cu) return Gn; - Cu = 1; - var e = kf(), r = Zn(), t = Bf(), n = r(function(a, i) { +var Mn, _o; +function Sl() { + if (_o) return Mn; + _o = 1; + var e = xl(), r = zn(), t = Cl(), n = r(function(a, i) { return t(a) ? e(a, i) : []; }); - return Gn = n, Gn; + return Mn = n, Mn; } -var Gf = Lf(); -const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ +var Al = Sl(); +const Pl = /* @__PURE__ */ H(Al), Ol = { without: Pl }, Tl = le({ getDefaultProps: function() { return { hiddenColumns: [], @@ -3434,18 +3435,135 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ }; }, render: function() { - return /* @__PURE__ */ A.jsx("div", { className: "reactPivot-columnControl", children: this.props.hiddenColumns.length ? /* @__PURE__ */ A.jsxs("select", { value: "", onChange: this.showColumn, children: [ - /* @__PURE__ */ A.jsx("option", { value: "", children: "Hidden Columns" }), + return /* @__PURE__ */ E.jsx("div", { className: "reactPivot-columnControl", children: this.props.hiddenColumns.length ? /* @__PURE__ */ E.jsxs("select", { value: "", onChange: this.showColumn, children: [ + /* @__PURE__ */ E.jsx("option", { value: "", children: "Hidden Columns" }), this.props.hiddenColumns.map(function(e) { - return /* @__PURE__ */ A.jsx("option", { children: e }, e); + return /* @__PURE__ */ E.jsx("option", { children: e }, e); }) ] }) : "" }); }, showColumn: function(e) { - var r = e.target.value, t = Kf.without(this.props.hiddenColumns, r); + var r = e.target.value, t = Ol.without(this.props.hiddenColumns, r); this.props.onChange(t); } -}), re = { filter: Ec, map: Sc, find: Dc }, Vf = ye({ +}), wl = le({ + getDefaultProps: function() { + return { + dimensions: [], + solo: {}, + onChange: function() { + }, + soloText: "Add Filter..." + }; + }, + render: function() { + var e = Object.keys(this.props.solo); + return e.length === 0 ? null : /* @__PURE__ */ E.jsx("div", { className: "reactPivot-soloControl", children: e.map(this.renderSoloFilter) }); + }, + renderDropdown: function(e, r, t, n, a) { + return /* @__PURE__ */ E.jsxs("select", { value: e, onChange: r, id: a, children: [ + /* @__PURE__ */ E.jsx("option", { value: "", children: n }), + t.map(function(i) { + return /* @__PURE__ */ E.jsx("option", { value: i, children: i }, i); + }) + ] }); + }, + renderSoloFilter: function(e, r) { + var t = this, n = this.props.solo[e], a = this.props.dimensions.find(function(s) { + return s.title === e; + }); + if (!a) return null; + var i = this.getUniqueValuesForDimension(a); + return /* @__PURE__ */ E.jsx("div", { className: "reactPivot-soloFilter", children: /* @__PURE__ */ E.jsxs( + "div", + { + style: { clear: "both" }, + className: "reactPivot-soloDisplay", + children: [ + /* @__PURE__ */ E.jsx( + "span", + { + className: "reactPivot-clearSolo", + onClick: U(t.clearSoloKey, e), + children: "×" + } + ), + e, + /* @__PURE__ */ E.jsx("div", { className: "reactPivot-soloValues", children: Array.isArray(n) ? n.map((s, o) => /* @__PURE__ */ E.jsx("div", { className: "reactPivot-soloValueContainer", children: this.renderDropdown( + s, + U(t.changeSoloValue, e, o), + i, + "Remove value...", + `reactPivot-soloValueContainer-${o}-${e}` + ) }, o)) : /* @__PURE__ */ E.jsx("div", { className: "reactPivot-soloValueContainer", children: this.renderDropdown( + n, + U(t.changeSoloValue, e, 0), + i, + "Remove value...", + `reactPivot-soloValueContainer-${e}` + ) }) }), + /* @__PURE__ */ E.jsxs( + "select", + { + value: "", + id: `reactPivot-addSoloValue-${e}`, + onChange: U(t.addSoloValue, e), + className: "reactPivot-addSoloValue", + children: [ + /* @__PURE__ */ E.jsx("option", { value: "", children: "Add value..." }), + i.map(function(s) { + var o = Array.isArray(n) ? n.indexOf(s) !== -1 : n === s; + return o ? null : /* @__PURE__ */ E.jsx("option", { value: s, children: s }, s); + }) + ] + } + ) + ] + }, + "solo-" + e + ) }, e); + }, + getUniqueValuesForDimension: function(e) { + return this.props.uniqueValues ? this.props.uniqueValues[e.title] || [] : []; + }, + changeSoloDimension: function(e, r) { + var t = r.target.value; + if (!(!t || t === e)) { + var n = Object.assign({}, this.props.solo), a = n[e]; + delete n[e], n[t] = a || "", this.props.onChange(n); + } + }, + changeSoloValue: function(e, r, t) { + var n = t.target.value, a = Object.assign({}, this.props.solo), i = a[e]; + if (n) + if (Array.isArray(i)) { + var s = i.slice(); + s[r] = n, a[e] = s; + } else + a[e] = n; + else if (Array.isArray(i)) { + var s = i.slice(); + s.splice(r, 1), s.length === 0 ? delete a[e] : a[e] = s; + } else + delete a[e]; + this.props.onChange(a); + }, + addSoloValue: function(e, r) { + var t = r.target.value; + if (t) { + var n = Object.assign({}, this.props.solo), a = n[e]; + Array.isArray(a) ? n[e] = a.concat([t]) : a === "" ? n[e] = t : n[e] = [a, t], this.props.onChange(n); + } + }, + removeSoloFilter: function(e) { + var r = Object.assign({}, this.props.solo); + delete r[e], this.props.onChange(r); + }, + clearSoloKey: function(e) { + var r = Object.assign({}, this.props.solo); + delete r[e], this.props.onChange(r); + } +}), te = { filter: vc, map: gc, find: Cc }, Dl = le({ displayName: "ReactPivot", getDefaultProps: function() { return { @@ -3464,7 +3582,7 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ hideRows: null, sortBy: null, sortDir: "asc", - eventBus: new yf(), + eventBus: new il(), compact: !1, excludeSummaryFromExport: !1, onData: function() { @@ -3474,8 +3592,8 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ }; }, getInitialState: function() { - var e = this.props.dimensions, r = re.filter(this.props.activeDimensions, function(t) { - return re.find(e, function(n) { + var e = this.props.dimensions, r = te.filter(this.props.activeDimensions, function(t) { + return te.find(e, function(n) { return n.title === t; }); }); @@ -3491,23 +3609,42 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ }; }, componentDidMount: function() { - this.props.defaultStyles && Yf(), this.dataFrame = fu({ - rows: this.props.rows, + this.props.defaultStyles && Il(), this.dataFrame = xn({ + rows: this.getFilteredRows(), dimensions: this.props.dimensions, reduce: this.props.reduce }), this.updateRows(); }, componentDidUpdate: function(e) { - this.props.hiddenColumns !== e.hiddenColumns && this.setHiddenColumns(this.props.hiddenColumns), this.props.rows !== e.rows && (this.dataFrame = fu({ - rows: this.props.rows, + this.props.hiddenColumns !== e.hiddenColumns && this.setHiddenColumns(this.props.hiddenColumns), this.props.rows !== e.rows && (this.dataFrame = xn({ + rows: this.getFilteredRows(), dimensions: this.props.dimensions, reduce: this.props.reduce }), this.updateRows()); }, + getFilteredRows: function() { + var e = this, r = this.state.solo, t = this.props.rows; + return !r || Object.keys(r).length === 0 ? t : t.filter(function(n) { + var a = !0; + return Object.keys(r).forEach(function(i) { + var s = r[i], o, u = e.props.dimensions.find(function(c) { + return c.title === i; + }); + if (u ? typeof u.value == "function" ? o = u.value(n) : o = n[u.value] : o = n[i], Array.isArray(s)) { + if (s.length === 0) { + a = !1; + return; + } + s.indexOf(o) === -1 && (a = !1); + } else + o !== s && (a = !1); + }), a; + }); + }, getColumns: function() { var e = this, r = []; return this.state.dimensions.forEach(function(t) { - var n = re.find(e.props.dimensions, function(a) { + var n = te.find(e.props.dimensions, function(a) { return a.title === t; }); r.push({ @@ -3530,9 +3667,9 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ }), r; }, render: function() { - var e = this, r = /* @__PURE__ */ A.jsxs("div", { className: "reactPivot", children: [ - this.props.hideDimensionFilter ? "" : /* @__PURE__ */ A.jsx( - wf, + var e = /* @__PURE__ */ E.jsxs("div", { className: "reactPivot", children: [ + this.props.hideDimensionFilter ? "" : /* @__PURE__ */ E.jsx( + ml, { dimensions: this.props.dimensions, subDimensionText: this.props.subDimensionText, @@ -3540,40 +3677,25 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ onChange: this.setDimensions } ), - /* @__PURE__ */ A.jsx( - Uf, + /* @__PURE__ */ E.jsx( + Tl, { hiddenColumns: this.state.hiddenColumns, onChange: this.setHiddenColumns } ), - /* @__PURE__ */ A.jsx("div", { className: "reactPivot-csvExport", children: /* @__PURE__ */ A.jsx("button", { onClick: V(this.downloadCSV, this.state.rows), children: "Export CSV" }) }), - Object.keys(this.state.solo).map(function(t) { - var n = e.state.solo[t]; - return /* @__PURE__ */ A.jsxs( - "div", - { - style: { clear: "both" }, - className: "reactPivot-soloDisplay", - children: [ - /* @__PURE__ */ A.jsx( - "span", - { - className: "reactPivot-clearSolo", - onClick: V(e.clearSolo, t), - children: "×" - } - ), - t, - ": ", - n - ] - }, - "solo-" + t - ); - }), - /* @__PURE__ */ A.jsx( - Af, + /* @__PURE__ */ E.jsx("div", { className: "reactPivot-csvExport", children: /* @__PURE__ */ E.jsx("button", { onClick: U(this.downloadCSV, this.state.rows), children: "Export CSV" }) }), + /* @__PURE__ */ E.jsx( + wl, + { + dimensions: this.props.dimensions, + solo: this.state.solo, + onChange: this.setSoloFromControl, + uniqueValues: this.getUniqueValues() + } + ), + /* @__PURE__ */ E.jsx( + hl, { columns: this.getColumns(), rows: this.state.rows, @@ -3588,25 +3710,24 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ } ) ] }); - return r; + return e; }, updateRows: function() { - var e = this.getColumns(), r = this.state.sortBy, t = re.find(e, function(c) { - return c.title === r; - }) || {}, n = t.sortBy || (t.type === "dimension" ? t.title : t.value), a = this.state.sortDir, i = this.state.hideRows, s = { + var e = this.getColumns(), r = this.state.sortBy, t = te.find(e, function(u) { + return u.title === r; + }) || {}, n = t.sortBy || (t.type === "dimension" ? t.title : t.value), a = this.state.sortDir, i = this.state.hideRows; + this.dataFrame = xn({ + rows: this.getFilteredRows(), + dimensions: this.props.dimensions, + reduce: this.props.reduce + }); + var s = { dimensions: this.state.dimensions, sortBy: n, sortDir: a, compact: this.props.compact - }, u = this.state.solo; - u && (s.filter = function(c) { - var f = !0; - return Object.keys(u).forEach(function(d) { - c[d] !== u[d] && (f = !1); - }), f; - }); - var o = this.dataFrame.calculate(s).filter(function(c) { - return i ? !i(c) : !0; + }, o = this.dataFrame.calculate(s).filter(function(u) { + return i ? !i(u) : !0; }); this.setState({ rows: o }), this.props.onData(o); }, @@ -3621,8 +3742,26 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ r === e ? t = t === "asc" ? "desc" : "asc" : (r = e, t = "asc"), this.props.eventBus.emit("sortBy", r), this.props.eventBus.emit("sortDir", t), this.setState({ sortBy: r, sortDir: t }), setTimeout(this.updateRows, 0); }, setSolo: function(e) { - var r = this.state.solo; - r[e.title] = e.value, this.props.eventBus.emit("solo", r), this.setState({ solo: r }), setTimeout(this.updateRows, 0); + var r = this.state.solo, t = r[e.title]; + if (Array.isArray(t)) { + var n = t.indexOf(e.value); + n !== -1 ? (t.splice(n, 1), t.length === 0 && delete r[e.title]) : t.push(e.value); + } else + t === e.value ? delete r[e.title] : r[e.title] = e.value; + this.props.eventBus.emit("solo", r), this.setState({ solo: r }), setTimeout(this.updateRows, 0); + }, + setSoloFromControl: function(e) { + this.props.eventBus.emit("solo", e), this.setState({ solo: e }), setTimeout(this.updateRows, 0); + }, + getUniqueValues: function() { + var e = this, r = {}; + return this.props.dimensions.forEach(function(t) { + var n = /* @__PURE__ */ new Set(); + e.props.rows.forEach(function(a) { + var i; + typeof t.value == "function" ? i = t.value(a) : i = a[t.value], i != null && i !== "" && n.add(String(i)); + }), r[t.title] = Array.from(n).sort(); + }), r; }, clearSolo: function(e) { var r = this.state.solo, t = {}; @@ -3635,24 +3774,24 @@ const Hf = /* @__PURE__ */ Y(Gf), Kf = { without: Hf }, Uf = ye({ this.setHiddenColumns(r), setTimeout(this.updateRows, 0); }, downloadCSV: function(e) { - var r = this, t = this.getColumns(), n = re.map(t, "title").map(JSON.stringify.bind(JSON)).join(",") + ` + var r = this, t = this.getColumns(), n = te.map(t, "title").map(JSON.stringify.bind(JSON)).join(",") + ` `, a = this.state.dimensions.length - 1, i = this.props.excludeSummaryFromExport; e.forEach(function(s) { if (!(i && s._level < a)) { - var u = t.map(function(o) { - if (o.type === "dimension") - var c = s[o.title]; + var o = t.map(function(u) { + if (u.type === "dimension") + var c = s[u.title]; else - var c = zu(o, s); - return o.template && r.props.csvTemplateFormat && (c = o.template(c)), JSON.stringify(c); + var c = Lo(u, s); + return u.template && r.props.csvTemplateFormat && (c = u.template(c)), JSON.stringify(c); }); - n += u.join(",") + ` + n += o.join(",") + ` `; } - }), bf(n, this.props.csvDownloadFileName, "text/csv"); + }), sl(n, this.props.csvDownloadFileName, "text/csv"); } }); -function Yf() { +function Il() { if (typeof document > "u" || document.getElementById("react-pivot-styles")) return; const e = `.reactPivot { margin-top: 40px; @@ -3661,9 +3800,6 @@ function Yf() { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } -.reactPivot-soloDisplay { - padding: 5px; -} .reactPivot-clearSolo { opacity: 0.5; @@ -3746,6 +3882,87 @@ td:hover .reactPivot-solo {opacity: 0.5} text-align: left; } +.reactPivot-soloControl { + display: block; + text-align: left; + clear: both; +} + +.reactPivot-soloFilter { + display: block; + margin-right: 15px; +} + +.reactPivot-soloDimension { + font-size: 11px; + height: 24px; + margin-right: 5px; + font-weight: bold; + background: #e8f5e8; + border: 1px solid #4caf50; +} + +.reactPivot-soloValues { + display: inline-block; + margin-right: 5px; + margin-left: 5px; +} + +.reactPivot-soloValueContainer { + display: inline-block; + margin: 2px; + position: relative; + + select { + max-width: 150px; + } +} + +.reactPivot-soloValue { + display: inline-block; + background: #e3f2fd; + border: 1px solid #2196f3; + border-radius: 3px; + padding: 2px 6px; + margin: 2px; + font-size: 11px; + position: relative; +} + +.reactPivot-removeSoloValue { + margin-left: 5px; + cursor: pointer; + font-weight: bold; + color: #f44336; + opacity: 0.7; +} + +.reactPivot-removeSoloValue:hover { + opacity: 1; +} + +.reactPivot-addSoloValue { + font-size: 11px; + height: 24px; + margin-right: 5px; + max-width: 150px; +} + +.reactPivot-removeSoloFilter { + font-size: 10px; + padding: 2px 6px; + background: #ffebee; + border: 1px solid #f44336; + border-radius: 3px; + color: #f44336; + cursor: pointer; +} + +.reactPivot-removeSoloFilter:hover { + background: #f44336; + color: white; +} + .reactPivot-hideColumn { opacity: 0 } th:hover .reactPivot-hideColumn { @@ -3785,5 +4002,5 @@ th:hover .reactPivot-hideColumn { r.id = "react-pivot-styles", r.textContent = e, document.head.appendChild(r); } export { - Vf as default + Dl as default }; diff --git a/dist/react-pivot.umd.cjs b/dist/react-pivot.umd.cjs index 6952732e..8d6bd888 100644 --- a/dist/react-pivot.umd.cjs +++ b/dist/react-pivot.umd.cjs @@ -1,4 +1,4 @@ -(function(V,z){typeof exports=="object"&&typeof module<"u"?module.exports=z(require("react")):typeof define=="function"&&define.amd?define(["react"],z):(V=typeof globalThis<"u"?globalThis:V||self,V.ReactPivot=z(V.React))})(this,function(V){"use strict";var z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Y(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var le={exports:{}},re={};/** +(function(W,K){typeof exports=="object"&&typeof module<"u"?module.exports=K(require("react")):typeof define=="function"&&define.amd?define(["react"],K):(W=typeof globalThis<"u"?globalThis:W||self,W.ReactPivot=K(W.React))})(this,(function(W){"use strict";var K=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function H(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var he={exports:{}},re={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ea;function $u(){if(ea)return re;ea=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,a,i){var s=null;if(i!==void 0&&(s=""+i),a.key!==void 0&&(s=""+a.key),"key"in a){i={};for(var u in a)u!=="key"&&(i[u]=a[u])}else i=a;return a=i.ref,{$$typeof:e,type:n,key:s,ref:a!==void 0?a:null,props:i}}return re.Fragment=r,re.jsx=t,re.jsxs=t,re}var te={};/** + */var Jn;function Go(){if(Jn)return re;Jn=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,a,i){var s=null;if(i!==void 0&&(s=""+i),a.key!==void 0&&(s=""+a.key),"key"in a){i={};for(var o in a)o!=="key"&&(i[o]=a[o])}else i=a;return a=i.ref,{$$typeof:e,type:n,key:s,ref:a!==void 0?a:null,props:i}}return re.Fragment=r,re.jsx=t,re.jsxs=t,re}var te={};/** * @license React * react-jsx-runtime.development.js * @@ -14,27 +14,24 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ra;function Ju(){return ra||(ra=1,process.env.NODE_ENV!=="production"&&function(){function e(h){if(h==null)return null;if(typeof h=="function")return h.$$typeof===B?null:h.displayName||h.name||null;if(typeof h=="string")return h;switch(h){case y:return"Fragment";case E:return"Profiler";case g:return"StrictMode";case D:return"Suspense";case P:return"SuspenseList";case M:return"Activity"}if(typeof h=="object")switch(typeof h.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),h.$$typeof){case R:return"Portal";case O:return(h.displayName||"Context")+".Provider";case b:return(h._context.displayName||"Context")+".Consumer";case C:var q=h.render;return h=h.displayName,h||(h=q.displayName||q.name||"",h=h!==""?"ForwardRef("+h+")":"ForwardRef"),h;case A:return q=h.displayName||null,q!==null?q:e(h.type)||"Memo";case j:q=h._payload,h=h._init;try{return e(h(q))}catch{}}return null}function r(h){return""+h}function t(h){try{r(h);var q=!1}catch{q=!0}if(q){q=console;var N=q.error,F=typeof Symbol=="function"&&Symbol.toStringTag&&h[Symbol.toStringTag]||h.constructor.name||"Object";return N.call(q,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",F),r(h)}}function n(h){if(h===y)return"<>";if(typeof h=="object"&&h!==null&&h.$$typeof===j)return"<...>";try{var q=e(h);return q?"<"+q+">":"<...>"}catch{return"<...>"}}function a(){var h=x.A;return h===null?null:h.getOwner()}function i(){return Error("react-stack-top-frame")}function s(h){if(v.call(h,"key")){var q=Object.getOwnPropertyDescriptor(h,"key").get;if(q&&q.isReactWarning)return!1}return h.key!==void 0}function u(h,q){function N(){I||(I=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",q))}N.isReactWarning=!0,Object.defineProperty(h,"key",{get:N,configurable:!0})}function o(){var h=e(this.type);return w[h]||(w[h]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),h=this.props.ref,h!==void 0?h:null}function c(h,q,N,F,H,U,Xn,Zn){return N=U.ref,h={$$typeof:_,type:h,key:q,props:U,_owner:H},(N!==void 0?N:null)!==null?Object.defineProperty(h,"ref",{enumerable:!1,get:o}):Object.defineProperty(h,"ref",{enumerable:!1,value:null}),h._store={},Object.defineProperty(h._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(h,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(h,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Xn}),Object.defineProperty(h,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Zn}),Object.freeze&&(Object.freeze(h.props),Object.freeze(h)),h}function f(h,q,N,F,H,U,Xn,Zn){var k=q.children;if(k!==void 0)if(F)if(l(k)){for(F=0;F";if(typeof l=="object"&&l!==null&&l.$$typeof===F)return"<...>";try{var R=e(l);return R?"<"+R+">":"<...>"}catch{return"<...>"}}function a(){var l=B.A;return l===null?null:l.getOwner()}function i(){return Error("react-stack-top-frame")}function s(l){if(k.call(l,"key")){var R=Object.getOwnPropertyDescriptor(l,"key").get;if(R&&R.isReactWarning)return!1}return l.key!==void 0}function o(l,R){function T(){h||(h=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",R))}T.isReactWarning=!0,Object.defineProperty(l,"key",{get:T,configurable:!0})}function u(){var l=e(this.type);return q[l]||(q[l]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),l=this.props.ref,l!==void 0?l:null}function c(l,R,T,w,Q,de){var I=T.ref;return l={$$typeof:b,type:l,key:R,props:T,_owner:w},(I!==void 0?I:null)!==null?Object.defineProperty(l,"ref",{enumerable:!1,get:u}):Object.defineProperty(l,"ref",{enumerable:!1,value:null}),l._store={},Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(l,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(l,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Q}),Object.defineProperty(l,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:de}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}function f(l,R,T,w,Q,de){var I=R.children;if(I!==void 0)if(w)if(J(I)){for(w=0;w React keys must be passed directly to JSX without using spread: let props = %s; - <%s key={someKey} {...props} />`,F,k,ee,k),G[k+F]=!0)}if(k=null,N!==void 0&&(t(N),k=""+N),s(q)&&(t(q.key),k=""+q.key),"key"in q){N={};for(var Qn in q)Qn!=="key"&&(N[Qn]=q[Qn])}else N=q;return k&&u(N,typeof h=="function"?h.displayName||h.name||"Unknown":h),c(h,k,U,H,a(),N,Xn,Zn)}function d(h){typeof h=="object"&&h!==null&&h.$$typeof===_&&h._store&&(h._store.validated=1)}var p=V,_=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),O=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),M=Symbol.for("react.activity"),B=Symbol.for("react.client.reference"),x=p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=Object.prototype.hasOwnProperty,l=Array.isArray,m=console.createTask?console.createTask:function(){return null};p={"react-stack-bottom-frame":function(h){return h()}};var I,w={},L=p["react-stack-bottom-frame"].bind(p,i)(),T=m(n(i)),G={};te.Fragment=y,te.jsx=function(h,q,N,F,H){var U=1e4>x.recentlyCreatedOwnerStacks++;return f(h,q,N,!1,F,H,U?Error("react-stack-top-frame"):L,U?m(n(h)):T)},te.jsxs=function(h,q,N,F,H){var U=1e4>x.recentlyCreatedOwnerStacks++;return f(h,q,N,!0,F,H,U?Error("react-stack-top-frame"):L,U?m(n(h)):T)}}()),te}var ta;function Xu(){return ta||(ta=1,process.env.NODE_ENV==="production"?le.exports=$u():le.exports=Ju()),le.exports}var S=Xu(),qe,na;function aa(){if(na)return qe;na=1;function e(r,t){for(var n=-1,a=r==null?0:r.length,i=0,s=[];++n-1&&n%1==0&&n-1&&t%1==0&&t<=e}return Be=r,Be}var Ge,Ca;function io(){if(Ca)return Ge;Ca=1;var e=ae(),r=Le(),t=Z(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",s="[object Date]",u="[object Error]",o="[object Function]",c="[object Map]",f="[object Number]",d="[object Object]",p="[object RegExp]",_="[object Set]",R="[object String]",y="[object WeakMap]",g="[object ArrayBuffer]",E="[object DataView]",b="[object Float32Array]",O="[object Float64Array]",C="[object Int8Array]",D="[object Int16Array]",P="[object Int32Array]",A="[object Uint8Array]",j="[object Uint8ClampedArray]",M="[object Uint16Array]",B="[object Uint32Array]",x={};x[b]=x[O]=x[C]=x[D]=x[P]=x[A]=x[j]=x[M]=x[B]=!0,x[n]=x[a]=x[g]=x[i]=x[E]=x[s]=x[u]=x[o]=x[c]=x[f]=x[d]=x[p]=x[_]=x[R]=x[y]=!1;function v(l){return t(l)&&r(l.length)&&!!x[e(l)]}return Ge=v,Ge}var He,xa;function Ke(){if(xa)return He;xa=1;function e(r){return function(t){return r(t)}}return He=e,He}var se={exports:{}};se.exports;var Sa;function so(){return Sa||(Sa=1,function(e,r){var t=ca(),n=r&&!r.nodeType&&r,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i&&t.process,u=function(){try{var o=a&&a.require&&a.require("util").types;return o||s&&s.binding&&s.binding("util")}catch{}}();e.exports=u}(se,se.exports)),se.exports}var Ue,Aa;function Pa(){if(Aa)return Ue;Aa=1;var e=io(),r=Ke(),t=so(),n=t&&t.isTypedArray,a=n?r(n):e;return Ue=a,Ue}var Ye,Ta;function Oa(){if(Ta)return Ye;Ta=1;var e=eo(),r=De(),t=K(),n=qa(),a=ke(),i=Pa(),s=Object.prototype,u=s.hasOwnProperty;function o(c,f){var d=t(c),p=!d&&r(c),_=!d&&!p&&n(c),R=!d&&!p&&!_&&i(c),y=d||p||_||R,g=y?e(c.length,String):[],E=g.length;for(var b in c)(f||u.call(c,b))&&!(y&&(b=="length"||_&&(b=="offset"||b=="parent")||R&&(b=="buffer"||b=="byteLength"||b=="byteOffset")||a(b,E)))&&g.push(b);return g}return Ye=o,Ye}var We,Ia;function wa(){if(Ia)return We;Ia=1;var e=Object.prototype;function r(t){var n=t&&t.constructor,a=typeof n=="function"&&n.prototype||e;return t===a}return We=r,We}var Ve,Na;function uo(){if(Na)return Ve;Na=1;function e(r,t){return function(n){return r(t(n))}}return Ve=e,Ve}var ze,Da;function oo(){if(Da)return ze;Da=1;var e=uo(),r=e(Object.keys,Object);return ze=r,ze}var $e,ja;function co(){if(ja)return $e;ja=1;var e=wa(),r=oo(),t=Object.prototype,n=t.hasOwnProperty;function a(i){if(!e(i))return r(i);var s=[];for(var u in Object(i))n.call(i,u)&&u!="constructor"&&s.push(u);return s}return $e=a,$e}var Je,Ma;function Q(){if(Ma)return Je;Ma=1;function e(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}return Je=e,Je}var Xe,Fa;function ka(){if(Fa)return Xe;Fa=1;var e=ae(),r=Q(),t="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function s(u){if(!r(u))return!1;var o=e(u);return o==n||o==a||o==t||o==i}return Xe=s,Xe}var Ze,Ba;function J(){if(Ba)return Ze;Ba=1;var e=ka(),r=Le();function t(n){return n!=null&&r(n.length)&&!e(n)}return Ze=t,Ze}var Qe,La;function de(){if(La)return Qe;La=1;var e=Oa(),r=co(),t=J();function n(a){return t(a)?e(a):r(a)}return Qe=n,Qe}var er,Ga;function fo(){if(Ga)return er;Ga=1;var e=Qu(),r=de();function t(n,a){return n&&e(n,a,r)}return er=t,er}var rr,Ha;function lo(){if(Ha)return rr;Ha=1;var e=J();function r(t,n){return function(a,i){if(a==null)return a;if(!e(a))return t(a,i);for(var s=a.length,u=n?s:-1,o=Object(a);(n?u--:++u-1}return fr=r,fr}var lr,Xa;function mo(){if(Xa)return lr;Xa=1;var e=ve();function r(t,n){var a=this.__data__,i=e(a,t);return i<0?(++this.size,a.push([t,n])):a[i][1]=n,this}return lr=r,lr}var dr,Za;function pe(){if(Za)return dr;Za=1;var e=vo(),r=po(),t=_o(),n=go(),a=mo();function i(s){var u=-1,o=s==null?0:s.length;for(this.clear();++u_))return!1;var y=d.get(s),g=d.get(u);if(y&&g)return y==u&&g==s;var E=-1,b=!0,O=o&a?new e:void 0;for(d.set(s,u),d.set(u,s);++E<_;){var C=s[E],D=u[E];if(c)var P=p?c(D,C,E,u,s,d):c(C,D,E,s,u,d);if(P!==void 0){if(P)continue;b=!1;break}if(O){if(!r(u,function(A,j){if(!t(O,j)&&(C===A||f(C,A,o,c,d)))return O.push(j)})){b=!1;break}}else if(!(C===D||f(C,D,o,c,d))){b=!1;break}}return d.delete(s),d.delete(u),b}return zr=i,zr}var $r,ki;function Ko(){if(ki)return $r;ki=1;var e=W(),r=e.Uint8Array;return $r=r,$r}var Jr,Bi;function Uo(){if(Bi)return Jr;Bi=1;function e(r){var t=-1,n=Array(r.size);return r.forEach(function(a,i){n[++t]=[i,a]}),n}return Jr=e,Jr}var Xr,Li;function Yo(){if(Li)return Xr;Li=1;function e(r){var t=-1,n=Array(r.size);return r.forEach(function(a){n[++t]=a}),n}return Xr=e,Xr}var Zr,Gi;function Wo(){if(Gi)return Zr;Gi=1;var e=ne(),r=Ko(),t=he(),n=Fi(),a=Uo(),i=Yo(),s=1,u=2,o="[object Boolean]",c="[object Date]",f="[object Error]",d="[object Map]",p="[object Number]",_="[object RegExp]",R="[object Set]",y="[object String]",g="[object Symbol]",E="[object ArrayBuffer]",b="[object DataView]",O=e?e.prototype:void 0,C=O?O.valueOf:void 0;function D(P,A,j,M,B,x,v){switch(j){case b:if(P.byteLength!=A.byteLength||P.byteOffset!=A.byteOffset)return!1;P=P.buffer,A=A.buffer;case E:return!(P.byteLength!=A.byteLength||!x(new r(P),new r(A)));case o:case c:case p:return t(+P,+A);case f:return P.name==A.name&&P.message==A.message;case _:case y:return P==A+"";case d:var l=a;case R:var m=M&s;if(l||(l=i),P.size!=A.size&&!m)return!1;var I=v.get(P);if(I)return I==A;M|=u,v.set(P,A);var w=n(l(P),l(A),M,B,x,v);return v.delete(P),w;case g:if(C)return C.call(P)==C.call(A)}return!1}return Zr=D,Zr}var Qr,Hi;function Ki(){if(Hi)return Qr;Hi=1;function e(r,t){for(var n=-1,a=t.length,i=r.length;++n-1?o[c?i[f]:f]:void 0}}return Kt=n,Kt}var Ut,Fs;function ks(){if(Fs)return Ut;Fs=1;function e(r,t,n,a){for(var i=r.length,s=n+(a?1:-1);a?s--:++s`,w,I,ee,I),L[I+w]=!0)}if(I=null,T!==void 0&&(t(T),I=""+T),s(R)&&(t(R.key),I=""+R.key),"key"in R){T={};for(var $n in R)$n!=="key"&&(T[$n]=R[$n])}else T=R;return I&&o(T,typeof l=="function"?l.displayName||l.name||"Unknown":l),c(l,I,T,a(),Q,de)}function d(l){v(l)?l._store&&(l._store.validated=1):typeof l=="object"&&l!==null&&l.$$typeof===F&&(l._payload.status==="fulfilled"?v(l._payload.value)&&l._payload.value._store&&(l._payload.value._store.validated=1):l._store&&(l._store.validated=1))}function v(l){return typeof l=="object"&&l!==null&&l.$$typeof===b}var _=W,b=Symbol.for("react.transitional.element"),m=Symbol.for("react.portal"),g=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),C=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),S=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),G=Symbol.for("react.activity"),O=Symbol.for("react.client.reference"),B=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,k=Object.prototype.hasOwnProperty,J=Array.isArray,p=console.createTask?console.createTask:function(){return null};_={react_stack_bottom_frame:function(l){return l()}};var h,q={},j=_.react_stack_bottom_frame.bind(_,i)(),D=p(n(i)),L={};te.Fragment=g,te.jsx=function(l,R,T){var w=1e4>B.recentlyCreatedOwnerStacks++;return f(l,R,T,!1,w?Error("react-stack-top-frame"):j,w?p(n(l)):D)},te.jsxs=function(l,R,T){var w=1e4>B.recentlyCreatedOwnerStacks++;return f(l,R,T,!0,w?Error("react-stack-top-frame"):j,w?p(n(l)):D)}})()),te}var Zn;function Uo(){return Zn||(Zn=1,process.env.NODE_ENV==="production"?he.exports=Go():he.exports=Vo()),he.exports}var E=Uo(),Re,Qn;function ea(){if(Qn)return Re;Qn=1;function e(r,t){for(var n=-1,a=r==null?0:r.length,i=0,s=[];++n-1&&n%1==0&&n-1&&t%1==0&&t<=e}return Le=r,Le}var Ve,ya;function Xo(){if(ya)return Ve;ya=1;var e=ae(),r=Ge(),t=X(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",s="[object Date]",o="[object Error]",u="[object Function]",c="[object Map]",f="[object Number]",d="[object Object]",v="[object RegExp]",_="[object Set]",b="[object String]",m="[object WeakMap]",g="[object ArrayBuffer]",x="[object DataView]",y="[object Float32Array]",A="[object Float64Array]",C="[object Int8Array]",N="[object Int16Array]",S="[object Int32Array]",P="[object Uint8Array]",M="[object Uint8ClampedArray]",F="[object Uint16Array]",G="[object Uint32Array]",O={};O[y]=O[A]=O[C]=O[N]=O[S]=O[P]=O[M]=O[F]=O[G]=!0,O[n]=O[a]=O[g]=O[i]=O[x]=O[s]=O[o]=O[u]=O[c]=O[f]=O[d]=O[v]=O[_]=O[b]=O[m]=!1;function B(k){return t(k)&&r(k.length)&&!!O[e(k)]}return Ve=B,Ve}var Ue,qa;function He(){if(qa)return Ue;qa=1;function e(r){return function(t){return r(t)}}return Ue=e,Ue}var se={exports:{}};se.exports;var Ra;function Zo(){return Ra||(Ra=1,(function(e,r){var t=ia(),n=r&&!r.nodeType&&r,a=n&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===n,s=i&&t.process,o=(function(){try{var u=a&&a.require&&a.require("util").types;return u||s&&s.binding&&s.binding("util")}catch{}})();e.exports=o})(se,se.exports)),se.exports}var Ye,Ea;function xa(){if(Ea)return Ye;Ea=1;var e=Xo(),r=He(),t=Zo(),n=t&&t.isTypedArray,a=n?r(n):e;return Ye=a,Ye}var We,Ca;function Sa(){if(Ca)return We;Ca=1;var e=Wo(),r=je(),t=V(),n=ga(),a=Be(),i=xa(),s=Object.prototype,o=s.hasOwnProperty;function u(c,f){var d=t(c),v=!d&&r(c),_=!d&&!v&&n(c),b=!d&&!v&&!_&&i(c),m=d||v||_||b,g=m?e(c.length,String):[],x=g.length;for(var y in c)(f||o.call(c,y))&&!(m&&(y=="length"||_&&(y=="offset"||y=="parent")||b&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||a(y,x)))&&g.push(y);return g}return We=u,We}var Ke,Aa;function Pa(){if(Aa)return Ke;Aa=1;var e=Object.prototype;function r(t){var n=t&&t.constructor,a=typeof n=="function"&&n.prototype||e;return t===a}return Ke=r,Ke}var ze,Oa;function Qo(){if(Oa)return ze;Oa=1;function e(r,t){return function(n){return r(t(n))}}return ze=e,ze}var $e,Ta;function eu(){if(Ta)return $e;Ta=1;var e=Qo(),r=e(Object.keys,Object);return $e=r,$e}var Je,wa;function ru(){if(wa)return Je;wa=1;var e=Pa(),r=eu(),t=Object.prototype,n=t.hasOwnProperty;function a(i){if(!e(i))return r(i);var s=[];for(var o in Object(i))n.call(i,o)&&o!="constructor"&&s.push(o);return s}return Je=a,Je}var Xe,Ia;function Z(){if(Ia)return Xe;Ia=1;function e(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}return Xe=e,Xe}var Ze,Na;function Da(){if(Na)return Ze;Na=1;var e=ae(),r=Z(),t="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function s(o){if(!r(o))return!1;var u=e(o);return u==n||u==a||u==t||u==i}return Ze=s,Ze}var Qe,ja;function z(){if(ja)return Qe;ja=1;var e=Da(),r=Ge();function t(n){return n!=null&&r(n.length)&&!e(n)}return Qe=t,Qe}var er,Fa;function ve(){if(Fa)return er;Fa=1;var e=Sa(),r=ru(),t=z();function n(a){return t(a)?e(a):r(a)}return er=n,er}var rr,Ma;function tu(){if(Ma)return rr;Ma=1;var e=Yo(),r=ve();function t(n,a){return n&&e(n,a,r)}return rr=t,rr}var tr,ka;function nu(){if(ka)return tr;ka=1;var e=z();function r(t,n){return function(a,i){if(a==null)return a;if(!e(a))return t(a,i);for(var s=a.length,o=n?s:-1,u=Object(a);(n?o--:++o-1}return fr=r,fr}var dr,Ka;function cu(){if(Ka)return dr;Ka=1;var e=_e();function r(t,n){var a=this.__data__,i=e(a,t);return i<0?(++this.size,a.push([t,n])):a[i][1]=n,this}return dr=r,dr}var hr,za;function ge(){if(za)return hr;za=1;var e=iu(),r=su(),t=ou(),n=uu(),a=cu();function i(s){var o=-1,u=s==null?0:s.length;for(this.clear();++o_))return!1;var m=d.get(s),g=d.get(o);if(m&&g)return m==o&&g==s;var x=-1,y=!0,A=u&a?new e:void 0;for(d.set(s,o),d.set(o,s);++x<_;){var C=s[x],N=o[x];if(c)var S=v?c(N,C,x,o,s,d):c(C,N,x,s,o,d);if(S!==void 0){if(S)continue;y=!1;break}if(A){if(!r(o,function(P,M){if(!t(A,M)&&(C===P||f(C,P,u,c,d)))return A.push(M)})){y=!1;break}}else if(!(C===N||f(C,N,u,c,d))){y=!1;break}}return d.delete(s),d.delete(o),y}return $r=i,$r}var Jr,Di;function Du(){if(Di)return Jr;Di=1;var e=Y(),r=e.Uint8Array;return Jr=r,Jr}var Xr,ji;function ju(){if(ji)return Xr;ji=1;function e(r){var t=-1,n=Array(r.size);return r.forEach(function(a,i){n[++t]=[i,a]}),n}return Xr=e,Xr}var Zr,Fi;function Fu(){if(Fi)return Zr;Fi=1;function e(r){var t=-1,n=Array(r.size);return r.forEach(function(a){n[++t]=a}),n}return Zr=e,Zr}var Qr,Mi;function Mu(){if(Mi)return Qr;Mi=1;var e=ne(),r=Du(),t=pe(),n=Ni(),a=ju(),i=Fu(),s=1,o=2,u="[object Boolean]",c="[object Date]",f="[object Error]",d="[object Map]",v="[object Number]",_="[object RegExp]",b="[object Set]",m="[object String]",g="[object Symbol]",x="[object ArrayBuffer]",y="[object DataView]",A=e?e.prototype:void 0,C=A?A.valueOf:void 0;function N(S,P,M,F,G,O,B){switch(M){case y:if(S.byteLength!=P.byteLength||S.byteOffset!=P.byteOffset)return!1;S=S.buffer,P=P.buffer;case x:return!(S.byteLength!=P.byteLength||!O(new r(S),new r(P)));case u:case c:case v:return t(+S,+P);case f:return S.name==P.name&&S.message==P.message;case _:case m:return S==P+"";case d:var k=a;case b:var J=F&s;if(k||(k=i),S.size!=P.size&&!J)return!1;var p=B.get(S);if(p)return p==P;F|=o,B.set(S,P);var h=n(k(S),k(P),F,G,O,B);return B.delete(S),h;case g:if(C)return C.call(S)==C.call(P)}return!1}return Qr=N,Qr}var et,ki;function Bi(){if(ki)return et;ki=1;function e(r,t){for(var n=-1,a=t.length,i=r.length;++n-1?u[c?i[f]:f]:void 0}}return Ht=n,Ht}var Yt,Ns;function Ds(){if(Ns)return Yt;Ns=1;function e(r,t,n,a){for(var i=r.length,s=n+(a?1:-1);a?s--:++s1?i-1:0),u=1;u2?s-2:0),o=2;o1?T-1:0),h=1;h"u")throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var t=new e.Component().updater;return an=r(e.Component,e.isValidElement,t),an}var Gc=Lc();const be=Y(Gc);var sn,ru;function tu(){if(ru)return sn;ru=1;var e=X(),r=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}}();return sn=r,sn}var un,nu;function au(){if(nu)return un;nu=1;var e=tu();function r(t,n,a){n=="__proto__"&&e?e(t,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):t[n]=a}return un=r,un}var on,iu;function Hc(){if(iu)return on;iu=1;var e=au(),r=he(),t=Object.prototype,n=t.hasOwnProperty;function a(i,s,u){var o=i[s];(!(n.call(i,s)&&r(o,u))||u===void 0&&!(s in i))&&e(i,s,u)}return on=a,on}var cn,su;function Kc(){if(su)return cn;su=1;var e=Hc(),r=au();function t(n,a,i,s){var u=!i;i||(i={});for(var o=-1,c=a.length;++o0){if(++i>=e)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return vn=n,vn}var pn,du;function $c(){if(du)return pn;du=1;var e=Vc(),r=zc(),t=r(e);return pn=t,pn}var _n,hu;function gn(){if(hu)return _n;hu=1;var e=oe(),r=Yc(),t=$c();function n(a,i){return t(r(a,i,e),a+"")}return _n=n,_n}var mn,vu;function yn(){if(vu)return mn;vu=1;var e=he(),r=J(),t=ke(),n=Q();function a(i,s,u){if(!n(u))return!1;var o=typeof s;return(o=="number"?r(u)&&t(s,u.length):o=="string"&&s in u)?e(u[s],i):!1}return mn=a,mn}var bn,pu;function Jc(){if(pu)return bn;pu=1;var e=gn(),r=yn();function t(n){return e(function(a,i){var s=-1,u=i.length,o=u>1?i[u-1]:void 0,c=u>2?i[2]:void 0;for(o=n.length>3&&typeof o=="function"?(u--,o):void 0,c&&r(i[0],i[1],c)&&(o=u<3?void 0:o,u=1),a=Object(a);++s0&&i(f)?a>1?t(f,a-1,i,s,u):e(u,f):s||(u[u.length]=f)}return u}return In=t,In}var wn,Au;function cf(){if(Au)return wn;Au=1;function e(r,t){var n=r.length;for(r.sort(t);n--;)r[n]=r[n].value;return r}return wn=e,wn}var Nn,Pu;function ff(){if(Pu)return Nn;Pu=1;var e=ue();function r(t,n){if(t!==n){var a=t!==void 0,i=t===null,s=t===t,u=e(t),o=n!==void 0,c=n===null,f=n===n,d=e(n);if(!c&&!d&&!u&&t>n||u&&o&&f&&!c&&!d||i&&o&&f||!a&&f||!s)return 1;if(!i&&!u&&!d&&t=c)return f;var d=a[i];return f*(d=="desc"?-1:1)}}return t.index-n.index}return Dn=r,Dn}var jn,Ou;function df(){if(Ou)return jn;Ou=1;var e=me(),r=Tt(),t=ce(),n=Ds(),a=cf(),i=Ke(),s=lf(),u=oe(),o=K();function c(f,d,p){d.length?d=e(d,function(y){return o(y)?function(g){return r(g,y.length===1?y[0]:y)}:y}):d=[u];var _=-1;d=e(d,i(t));var R=n(f,function(y,g,E){var b=e(d,function(O){return O(y)});return{criteria:b,index:++_,value:y}});return a(R,function(y,g){return s(y,g,p)})}return jn=c,jn}var Mn,Iu;function hf(){if(Iu)return Mn;Iu=1;var e=of(),r=df(),t=gn(),n=yn(),a=t(function(i,s){if(i==null)return[];var u=s.length;return u>1&&n(i,s[0],s[1])?s=[]:u>2&&n(s[0],s[1],s[2])&&(s=[s[0]]),r(i,e(s,1),[])});return Mn=a,Mn}var Fn,wu;function vf(){if(wu)return Fn;wu=1;var e={extend:rf(),each:sf(),sortBy:hf(),find:Vs()};Fn=function(a){return new r(a)};function r(a){return this.rows=a.rows,this.dimensions=a.dimensions,this.reduce=a.reduce,this.cache={},this}r.prototype.calculate=function(a){this.activeDimensions=a.dimensions,this.activeDimensions.length<1&&(this.activeDimensions=[""]),this.sortBy=a.sortBy,this.sortDir=a.sortDir,this.filter=a.filter,this.compact=a.compact;var i=this.getResults(),s=this.parseResults(i);return s},r.prototype.getResults=function(){var a=this;this.getColumns();var i=this.activeDimensions,s=this.filter,u=this.reduce,o={},c={};return this.rows.forEach(function(f){var d=a.createSetKeys(i,f),p=t(d[d.length-1]);if(!(s&&!s(p))){var _=o;d.forEach(function(R,y){_[R]||(_[R]={value:{},subDimensions:{},key:R});var g=_[R].value;if(s||!a.cache[R]){s||(c[R]=g),e.extend(g,u(f,g));var E=t(R);e.extend(g,E)}else _[R].value=a.cache[R];_=_[R].subDimensions})}}),e.each(c,function(f,d){a.cache[d]=f}),o},r.prototype.parseResults=function(a,u){var s=this,u=u||0,o=[],c=e.sortBy(a,this.getSortValue.bind(this));return this.sortDir==="desc"&&c.reverse(),e.each(c,function(f){var d=f.value;d._level=u,d._key=f.key;var p=Object.keys(f.subDimensions).length;if(s.compact&&p==1||o.push(d),p){var _=s.compact&&p==1?u:u+1,R=s.parseResults(f.subDimensions,_);R.forEach(function(y){o.push(y)})}}),o},r.prototype.getColumns=function(){var a=[];return this.dimensions.forEach(function(i){a.push({type:"dimension",title:i,value:i})}),a},r.prototype.createSetKeys=function(a,i){for(var s=[],u=0;u"u"?a.key:!isNaN(parseFloat(o))&&isFinite(o)?+o:typeof o=="string"?o.toLowerCase():o};function t(a){for(var i={},s=a.split("ÿ"),u=0;u=n&&(r=n-1);var a=r*t,i=e[a]._level,s=[];if(i>0)for(var u=a-1;u>=0&&(e[u]._level=0&&(n[a]=null),n[e]=t;var i=Pf.compact(n);this.props.onChange(i)}});var Kn,Gu;function Of(){if(Gu)return Kn;Gu=1;function e(r){return r!==r}return Kn=e,Kn}var Un,Hu;function If(){if(Hu)return Un;Hu=1;function e(r,t,n){for(var a=n-1,i=r.length;++a-1}return Wn=r,Wn}var Vn,Yu;function Df(){if(Yu)return Vn;Yu=1;function e(r,t,n){for(var a=-1,i=r==null?0:r.length;++a=s&&(_=i,R=!1,c=new e(c));e:for(;++p=0||r.push({type:"calculation",title:t.title,template:t.template,value:t.value,className:t.className,sortBy:t.sortBy})}),r},render:function(){var e=this,r=S.jsxs("div",{className:"reactPivot",children:[this.props.hideDimensionFilter?"":S.jsx(Tf,{dimensions:this.props.dimensions,subDimensionText:this.props.subDimensionText,selectedDimensions:this.state.dimensions,onChange:this.setDimensions}),S.jsx(Lf,{hiddenColumns:this.state.hiddenColumns,onChange:this.setHiddenColumns}),S.jsx("div",{className:"reactPivot-csvExport",children:S.jsx("button",{onClick:$(this.downloadCSV,this.state.rows),children:"Export CSV"})}),Object.keys(this.state.solo).map(function(t){var n=e.state.solo[t];return S.jsxs("div",{style:{clear:"both"},className:"reactPivot-soloDisplay",children:[S.jsx("span",{className:"reactPivot-clearSolo",onClick:$(e.clearSolo,t),children:"×"}),t,": ",n]},"solo-"+t)}),S.jsx(xf,{columns:this.getColumns(),rows:this.state.rows,sortBy:this.state.sortBy,sortDir:this.state.sortDir,onSort:this.setSort,onColumnHide:this.hideColumn,nPaginateRows:this.props.nPaginateRows,tableClassName:this.props.tableClassName,onSolo:this.setSolo,soloText:this.props.soloText})]});return r},updateRows:function(){var e=this.getColumns(),r=this.state.sortBy,t=fe.find(e,function(c){return c.title===r})||{},n=t.sortBy||(t.type==="dimension"?t.title:t.value),a=this.state.sortDir,i=this.state.hideRows,s={dimensions:this.state.dimensions,sortBy:n,sortDir:a,compact:this.props.compact},u=this.state.solo;u&&(s.filter=function(c){var f=!0;return Object.keys(u).forEach(function(d){c[d]!==u[d]&&(f=!1)}),f});var o=this.dataFrame.calculate(s).filter(function(c){return i?!i(c):!0});this.setState({rows:o}),this.props.onData(o)},setDimensions:function(e){this.props.eventBus.emit("activeDimensions",e),this.setState({dimensions:e}),setTimeout(this.updateRows,0)},setHiddenColumns:function(e){this.props.eventBus.emit("hiddenColumns",e),this.setState({hiddenColumns:e}),setTimeout(this.updateRows,0)},setSort:function(e){var r=this.state.sortBy,t=this.state.sortDir;r===e?t=t==="asc"?"desc":"asc":(r=e,t="asc"),this.props.eventBus.emit("sortBy",r),this.props.eventBus.emit("sortDir",t),this.setState({sortBy:r,sortDir:t}),setTimeout(this.updateRows,0)},setSolo:function(e){var r=this.state.solo;r[e.title]=e.value,this.props.eventBus.emit("solo",r),this.setState({solo:r}),setTimeout(this.updateRows,0)},clearSolo:function(e){var r=this.state.solo,t={};Object.keys(r).forEach(function(n){n!==e&&(t[n]=r[n])}),this.props.eventBus.emit("solo",t),this.setState({solo:t}),setTimeout(this.updateRows,0)},hideColumn:function(e){var r=this.state.hiddenColumns.concat([e]);this.setHiddenColumns(r),setTimeout(this.updateRows,0)},downloadCSV:function(e){var r=this,t=this.getColumns(),n=fe.map(t,"title").map(JSON.stringify.bind(JSON)).join(",")+` -`,a=this.state.dimensions.length-1,i=this.props.excludeSummaryFromExport;e.forEach(function(s){if(!(i&&s._level"u"||document.getElementById("react-pivot-styles"))return;const e=`.reactPivot { +*/var Qt,Hs;function Cc(){if(Hs)return Qt;Hs=1;var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function n(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function a(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var s={},o=0;o<10;o++)s["_"+String.fromCharCode(o)]=o;var u=Object.getOwnPropertyNames(s).map(function(f){return s[f]});if(u.join("")!=="0123456789")return!1;var c={};return"abcdefghijklmnopqrst".split("").forEach(function(f){c[f]=f}),Object.keys(Object.assign({},c)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Qt=a()?Object.assign:function(i,s){for(var o,u=n(i),c,f=1;f1?v-1:0),b=1;b2?_-2:0),m=2;m<_;m++)b[m-2]=arguments[m];i.apply(void 0,[v].concat(b))}}}var s="mixins";function o(f){return f}var u;process.env.NODE_ENV!=="production"?u={prop:"prop",context:"context",childContext:"child context"}:u={};function c(f,d,v){var _=[],b={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},m={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},g={displayName:function(p,h){p.displayName=h},mixins:function(p,h){if(h)for(var q=0;q1?l-1:0),T=1;T"u")throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var t=new e.Component().updater;return rn=r(e.Component,e.isValidElement,t),rn}var Pc=Ac();const le=H(Pc);var tn,Ks;function zs(){if(Ks)return tn;Ks=1;var e=$(),r=(function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}})();return tn=r,tn}var nn,$s;function Js(){if($s)return nn;$s=1;var e=zs();function r(t,n,a){n=="__proto__"&&e?e(t,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):t[n]=a}return nn=r,nn}var an,Xs;function Oc(){if(Xs)return an;Xs=1;var e=Js(),r=pe(),t=Object.prototype,n=t.hasOwnProperty;function a(i,s,o){var u=i[s];(!(n.call(i,s)&&r(u,o))||o===void 0&&!(s in i))&&e(i,s,o)}return an=a,an}var sn,Zs;function Tc(){if(Zs)return sn;Zs=1;var e=Oc(),r=Js();function t(n,a,i,s){var o=!i;i||(i={});for(var u=-1,c=a.length;++u0){if(++i>=e)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return fn=n,fn}var dn,ao;function Fc(){if(ao)return dn;ao=1;var e=Dc(),r=jc(),t=r(e);return dn=t,dn}var hn,io;function vn(){if(io)return hn;io=1;var e=ue(),r=Ic(),t=Fc();function n(a,i){return t(r(a,i,e),a+"")}return hn=n,hn}var pn,so;function _n(){if(so)return pn;so=1;var e=pe(),r=z(),t=Be(),n=Z();function a(i,s,o){if(!n(o))return!1;var u=typeof s;return(u=="number"?r(o)&&t(s,o.length):u=="string"&&s in o)?e(o[s],i):!1}return pn=a,pn}var gn,oo;function Mc(){if(oo)return gn;oo=1;var e=vn(),r=_n();function t(n){return e(function(a,i){var s=-1,o=i.length,u=o>1?i[o-1]:void 0,c=o>2?i[2]:void 0;for(u=n.length>3&&typeof u=="function"?(o--,u):void 0,c&&r(i[0],i[1],c)&&(u=o<3?void 0:u,o=1),a=Object(a);++s0&&i(f)?a>1?t(f,a-1,i,s,o):e(o,f):s||(o[o.length]=f)}return o}return Pn=t,Pn}var On,yo;function $c(){if(yo)return On;yo=1;function e(r,t){var n=r.length;for(r.sort(t);n--;)r[n]=r[n].value;return r}return On=e,On}var Tn,qo;function Jc(){if(qo)return Tn;qo=1;var e=oe();function r(t,n){if(t!==n){var a=t!==void 0,i=t===null,s=t===t,o=e(t),u=n!==void 0,c=n===null,f=n===n,d=e(n);if(!c&&!d&&!o&&t>n||o&&u&&f&&!c&&!d||i&&u&&f||!a&&f||!s)return 1;if(!i&&!o&&!d&&t=c)return f;var d=a[i];return f*(d=="desc"?-1:1)}}return t.index-n.index}return wn=r,wn}var In,Eo;function Zc(){if(Eo)return In;Eo=1;var e=ye(),r=Tt(),t=ce(),n=Ts(),a=$c(),i=He(),s=Xc(),o=ue(),u=V();function c(f,d,v){d.length?d=e(d,function(m){return u(m)?function(g){return r(g,m.length===1?m[0]:m)}:m}):d=[o];var _=-1;d=e(d,i(t));var b=n(f,function(m,g,x){var y=e(d,function(A){return A(m)});return{criteria:y,index:++_,value:m}});return a(b,function(m,g){return s(m,g,v)})}return In=c,In}var Nn,xo;function Qc(){if(xo)return Nn;xo=1;var e=zc(),r=Zc(),t=vn(),n=_n(),a=t(function(i,s){if(i==null)return[];var o=s.length;return o>1&&n(i,s[0],s[1])?s=[]:o>2&&n(s[0],s[1],s[2])&&(s=[s[0]]),r(i,e(s,1),[])});return Nn=a,Nn}var Dn,Co;function el(){if(Co)return Dn;Co=1;var e={extend:Vc(),each:Wc(),sortBy:Qc(),find:Us()};Dn=function(a){return new r(a)};function r(a){return this.rows=a.rows,this.dimensions=a.dimensions,this.reduce=a.reduce,this.cache={},this}r.prototype.calculate=function(a){this.activeDimensions=a.dimensions,this.activeDimensions.length<1&&(this.activeDimensions=[""]),this.sortBy=a.sortBy,this.sortDir=a.sortDir,this.filter=a.filter,this.compact=a.compact;var i=this.getResults(),s=this.parseResults(i);return s},r.prototype.getResults=function(){var a=this;this.getColumns();var i=this.activeDimensions,s=this.filter,o=this.reduce,u={},c={};return this.rows.forEach(function(f){var d=a.createSetKeys(i,f),v=t(d[d.length-1]);if(!(s&&!s(v))){var _=u;d.forEach(function(b,m){_[b]||(_[b]={value:{},subDimensions:{},key:b});var g=_[b].value;if(s||!a.cache[b]){s||(c[b]=g),e.extend(g,o(f,g));var x=t(b);e.extend(g,x)}else _[b].value=a.cache[b];_=_[b].subDimensions})}}),e.each(c,function(f,d){a.cache[d]=f}),u},r.prototype.parseResults=function(a,o){var s=this,o=o||0,u=[],c=e.sortBy(a,this.getSortValue.bind(this));return this.sortDir==="desc"&&c.reverse(),e.each(c,function(f){var d=f.value;d._level=o,d._key=f.key;var v=Object.keys(f.subDimensions).length;if(s.compact&&v==1||u.push(d),v){var _=s.compact&&v==1?o:o+1,b=s.parseResults(f.subDimensions,_);b.forEach(function(m){u.push(m)})}}),u},r.prototype.getColumns=function(){var a=[];return this.dimensions.forEach(function(i){a.push({type:"dimension",title:i,value:i})}),a},r.prototype.createSetKeys=function(a,i){for(var s=[],o=0;o"u"?a.key:!isNaN(parseFloat(u))&&isFinite(u)?+u:typeof u=="string"?u.toLowerCase():u};function t(a){for(var i={},s=a.split("ÿ"),o=0;o=n&&(r=n-1);var a=r*t,i=e[a]._level,s=[];if(i>0)for(var o=a-1;o>=0&&(e[o]._level=0&&(n[a]=null),n[e]=t;var i=vl.compact(n);this.props.onChange(i)}});var Gn,No;function _l(){if(No)return Gn;No=1;function e(r){return r!==r}return Gn=e,Gn}var Vn,Do;function gl(){if(Do)return Vn;Do=1;function e(r,t,n){for(var a=n-1,i=r.length;++a-1}return Hn=r,Hn}var Yn,Mo;function yl(){if(Mo)return Yn;Mo=1;function e(r,t,n){for(var a=-1,i=r==null?0:r.length;++a=s&&(_=i,b=!1,c=new e(c));e:for(;++vE.jsx("div",{className:"reactPivot-soloValueContainer",children:this.renderDropdown(s,U(t.changeSoloValue,e,o),i,"Remove value...",`reactPivot-soloValueContainer-${o}-${e}`)},o)):E.jsx("div",{className:"reactPivot-soloValueContainer",children:this.renderDropdown(n,U(t.changeSoloValue,e,0),i,"Remove value...",`reactPivot-soloValueContainer-${e}`)})}),E.jsxs("select",{value:"",id:`reactPivot-addSoloValue-${e}`,onChange:U(t.addSoloValue,e),className:"reactPivot-addSoloValue",children:[E.jsx("option",{value:"",children:"Add value..."}),i.map(function(s){var o=Array.isArray(n)?n.indexOf(s)!==-1:n===s;return o?null:E.jsx("option",{value:s,children:s},s)})]})]},"solo-"+e)},e)},getUniqueValuesForDimension:function(e){return this.props.uniqueValues?this.props.uniqueValues[e.title]||[]:[]},changeSoloDimension:function(e,r){var t=r.target.value;if(!(!t||t===e)){var n=Object.assign({},this.props.solo),a=n[e];delete n[e],n[t]=a||"",this.props.onChange(n)}},changeSoloValue:function(e,r,t){var n=t.target.value,a=Object.assign({},this.props.solo),i=a[e];if(n)if(Array.isArray(i)){var s=i.slice();s[r]=n,a[e]=s}else a[e]=n;else if(Array.isArray(i)){var s=i.slice();s.splice(r,1),s.length===0?delete a[e]:a[e]=s}else delete a[e];this.props.onChange(a)},addSoloValue:function(e,r){var t=r.target.value;if(t){var n=Object.assign({},this.props.solo),a=n[e];Array.isArray(a)?n[e]=a.concat([t]):a===""?n[e]=t:n[e]=[a,t],this.props.onChange(n)}},removeSoloFilter:function(e){var r=Object.assign({},this.props.solo);delete r[e],this.props.onChange(r)},clearSoloKey:function(e){var r=Object.assign({},this.props.solo);delete r[e],this.props.onChange(r)}}),fe={filter:hc,map:_c,find:xc},Pl=le({displayName:"ReactPivot",getDefaultProps:function(){return{rows:[],dimensions:[],activeDimensions:[],reduce:function(){},tableClassName:"",csvDownloadFileName:"table.csv",csvTemplateFormat:!1,defaultStyles:!0,nPaginateRows:25,solo:{},hiddenColumns:[],hideRows:null,sortBy:null,sortDir:"asc",eventBus:new al,compact:!1,excludeSummaryFromExport:!1,onData:function(){},soloText:"solo",subDimensionText:"Sub Dimension..."}},getInitialState:function(){var e=this.props.dimensions,r=fe.filter(this.props.activeDimensions,function(t){return fe.find(e,function(n){return n.title===t})});return{dimensions:r,calculations:{},sortBy:this.props.sortBy,sortDir:this.props.sortDir,hiddenColumns:this.props.hiddenColumns,solo:this.props.solo,hideRows:this.props.hideRows,rows:[]}},componentDidMount:function(){this.props.defaultStyles&&Ol(),this.dataFrame=jn({rows:this.getFilteredRows(),dimensions:this.props.dimensions,reduce:this.props.reduce}),this.updateRows()},componentDidUpdate:function(e){this.props.hiddenColumns!==e.hiddenColumns&&this.setHiddenColumns(this.props.hiddenColumns),this.props.rows!==e.rows&&(this.dataFrame=jn({rows:this.getFilteredRows(),dimensions:this.props.dimensions,reduce:this.props.reduce}),this.updateRows())},getFilteredRows:function(){var e=this,r=this.state.solo,t=this.props.rows;return!r||Object.keys(r).length===0?t:t.filter(function(n){var a=!0;return Object.keys(r).forEach(function(i){var s=r[i],o,u=e.props.dimensions.find(function(c){return c.title===i});if(u?typeof u.value=="function"?o=u.value(n):o=n[u.value]:o=n[i],Array.isArray(s)){if(s.length===0){a=!1;return}s.indexOf(o)===-1&&(a=!1)}else o!==s&&(a=!1)}),a})},getColumns:function(){var e=this,r=[];return this.state.dimensions.forEach(function(t){var n=fe.find(e.props.dimensions,function(a){return a.title===t});r.push({type:"dimension",title:n.title,value:n.value,className:n.className,template:n.template,sortBy:n.sortBy})}),this.props.calculations.forEach(function(t){e.state.hiddenColumns.indexOf(t.title)>=0||r.push({type:"calculation",title:t.title,template:t.template,value:t.value,className:t.className,sortBy:t.sortBy})}),r},render:function(){var e=E.jsxs("div",{className:"reactPivot",children:[this.props.hideDimensionFilter?"":E.jsx(pl,{dimensions:this.props.dimensions,subDimensionText:this.props.subDimensionText,selectedDimensions:this.state.dimensions,onChange:this.setDimensions}),E.jsx(Sl,{hiddenColumns:this.state.hiddenColumns,onChange:this.setHiddenColumns}),E.jsx("div",{className:"reactPivot-csvExport",children:E.jsx("button",{onClick:U(this.downloadCSV,this.state.rows),children:"Export CSV"})}),E.jsx(Al,{dimensions:this.props.dimensions,solo:this.state.solo,onChange:this.setSoloFromControl,uniqueValues:this.getUniqueValues()}),E.jsx(fl,{columns:this.getColumns(),rows:this.state.rows,sortBy:this.state.sortBy,sortDir:this.state.sortDir,onSort:this.setSort,onColumnHide:this.hideColumn,nPaginateRows:this.props.nPaginateRows,tableClassName:this.props.tableClassName,onSolo:this.setSolo,soloText:this.props.soloText})]});return e},updateRows:function(){var e=this.getColumns(),r=this.state.sortBy,t=fe.find(e,function(u){return u.title===r})||{},n=t.sortBy||(t.type==="dimension"?t.title:t.value),a=this.state.sortDir,i=this.state.hideRows;this.dataFrame=jn({rows:this.getFilteredRows(),dimensions:this.props.dimensions,reduce:this.props.reduce});var s={dimensions:this.state.dimensions,sortBy:n,sortDir:a,compact:this.props.compact},o=this.dataFrame.calculate(s).filter(function(u){return i?!i(u):!0});this.setState({rows:o}),this.props.onData(o)},setDimensions:function(e){this.props.eventBus.emit("activeDimensions",e),this.setState({dimensions:e}),setTimeout(this.updateRows,0)},setHiddenColumns:function(e){this.props.eventBus.emit("hiddenColumns",e),this.setState({hiddenColumns:e}),setTimeout(this.updateRows,0)},setSort:function(e){var r=this.state.sortBy,t=this.state.sortDir;r===e?t=t==="asc"?"desc":"asc":(r=e,t="asc"),this.props.eventBus.emit("sortBy",r),this.props.eventBus.emit("sortDir",t),this.setState({sortBy:r,sortDir:t}),setTimeout(this.updateRows,0)},setSolo:function(e){var r=this.state.solo,t=r[e.title];if(Array.isArray(t)){var n=t.indexOf(e.value);n!==-1?(t.splice(n,1),t.length===0&&delete r[e.title]):t.push(e.value)}else t===e.value?delete r[e.title]:r[e.title]=e.value;this.props.eventBus.emit("solo",r),this.setState({solo:r}),setTimeout(this.updateRows,0)},setSoloFromControl:function(e){this.props.eventBus.emit("solo",e),this.setState({solo:e}),setTimeout(this.updateRows,0)},getUniqueValues:function(){var e=this,r={};return this.props.dimensions.forEach(function(t){var n=new Set;e.props.rows.forEach(function(a){var i;typeof t.value=="function"?i=t.value(a):i=a[t.value],i!=null&&i!==""&&n.add(String(i))}),r[t.title]=Array.from(n).sort()}),r},clearSolo:function(e){var r=this.state.solo,t={};Object.keys(r).forEach(function(n){n!==e&&(t[n]=r[n])}),this.props.eventBus.emit("solo",t),this.setState({solo:t}),setTimeout(this.updateRows,0)},hideColumn:function(e){var r=this.state.hiddenColumns.concat([e]);this.setHiddenColumns(r),setTimeout(this.updateRows,0)},downloadCSV:function(e){var r=this,t=this.getColumns(),n=fe.map(t,"title").map(JSON.stringify.bind(JSON)).join(",")+` +`,a=this.state.dimensions.length-1,i=this.props.excludeSummaryFromExport;e.forEach(function(s){if(!(i&&s._level"u"||document.getElementById("react-pivot-styles"))return;const e=`.reactPivot { margin-top: 40px; padding: 10px 20px 20px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } -.reactPivot-soloDisplay { - padding: 5px; -} .reactPivot-clearSolo { opacity: 0.5; @@ -117,6 +114,87 @@ td:hover .reactPivot-solo {opacity: 0.5} text-align: left; } +.reactPivot-soloControl { + display: block; + text-align: left; + clear: both; +} + +.reactPivot-soloFilter { + display: block; + margin-right: 15px; +} + +.reactPivot-soloDimension { + font-size: 11px; + height: 24px; + margin-right: 5px; + font-weight: bold; + background: #e8f5e8; + border: 1px solid #4caf50; +} + +.reactPivot-soloValues { + display: inline-block; + margin-right: 5px; + margin-left: 5px; +} + +.reactPivot-soloValueContainer { + display: inline-block; + margin: 2px; + position: relative; + + select { + max-width: 150px; + } +} + +.reactPivot-soloValue { + display: inline-block; + background: #e3f2fd; + border: 1px solid #2196f3; + border-radius: 3px; + padding: 2px 6px; + margin: 2px; + font-size: 11px; + position: relative; +} + +.reactPivot-removeSoloValue { + margin-left: 5px; + cursor: pointer; + font-weight: bold; + color: #f44336; + opacity: 0.7; +} + +.reactPivot-removeSoloValue:hover { + opacity: 1; +} + +.reactPivot-addSoloValue { + font-size: 11px; + height: 24px; + margin-right: 5px; + max-width: 150px; +} + +.reactPivot-removeSoloFilter { + font-size: 10px; + padding: 2px 6px; + background: #ffebee; + border: 1px solid #f44336; + border-radius: 3px; + color: #f44336; + cursor: pointer; +} + +.reactPivot-removeSoloFilter:hover { + background: #f44336; + color: white; +} + .reactPivot-hideColumn { opacity: 0 } th:hover .reactPivot-hideColumn { @@ -152,4 +230,4 @@ th:hover .reactPivot-hideColumn { .reactPivot-paginate { margin-top: 24px; -}`,r=document.createElement("style");r.id="react-pivot-styles",r.textContent=e,document.head.appendChild(r)}return Gf}); +}`,r=document.createElement("style");r.id="react-pivot-styles",r.textContent=e,document.head.appendChild(r)}return Pl})); diff --git a/docs/110-feat-solo-array-values-support.md b/docs/110-feat-solo-array-values-support.md new file mode 100644 index 00000000..b685b5ea --- /dev/null +++ b/docs/110-feat-solo-array-values-support.md @@ -0,0 +1,103 @@ +# feat: add string array support to solo object properties + +## Project Goals + +The goal of this feature is to enhance the filtering capabilities of the `ReactPivot` component by allowing the `solo` prop to accept arrays of strings. This enables multi-value filtering for a given dimension, providing more flexible and powerful data exploration for users. + +## Approaches + +### Approach 1 - Direct Implementation (Implemented Here) + +This approach involves modifying the core logic of the `ReactPivot` component to natively support array values in the `solo` prop. + +- **Core Logic Implementation:** + - A new function, `getFilteredRows`, was introduced to filter the raw data based on the `solo` prop before any calculations are performed. This function iterates through the `solo` object and applies the following logic: + - If a `solo` property value is an array, the function checks if the row's value for that dimension is present in the array (OR condition). + - If a `solo` property value is a single string, it performs a direct comparison (existing AND condition). + - The filtering combines multiple `solo` properties with AND logic. + - The `setSolo` function was updated to handle array manipulation. When a value is selected: + - If the existing `solo` value is an array, the new value is added or removed (toggled). + - If the existing `solo` value is a single value, it's converted to an array when a second value is added. + +- **UI Control for Solo Filters:** + - To make this new functionality user-friendly, a new component, `SoloControl`, was created. + - This new component provides a user interface for managing the `solo` filters. It displays each active filter and allows users to: + - **Add values:** A dropdown menu for each dimension shows the unique values from the dataset, allowing users to add them to the filter. + - **Remove values:** Each selected value in a filter can be individually removed. + - **Remove filters:** The entire filter for a dimension can be removed. + - The `SoloControl` component is rendered in the main `ReactPivot` component, and it communicates changes back to the parent component through the `onChange` prop. + +- **Unique Value Extraction:** + - To populate the dropdowns in the `SoloControl` component, a `getUniqueValues` function was added to `index.jsx`. + - This function iterates through the dataset and extracts all unique values for each dimension, which are then passed to the `SoloControl` component. + +#### Pros + +- **Integrated Solution:** The feature is built directly into the component, providing a seamless experience for the user. +- **High Performance:** Filtering is done in memory, and the `getFilteredRows` function is optimized for performance. +- **Good User Experience:** The `SoloControl` component provides an intuitive way to manage complex filters. + +#### Cons + +- **Increased Complexity:** The core component's logic is now more complex, which could make future maintenance more challenging. +- **Tightly Coupled:** The filtering logic is tightly coupled with the `ReactPivot` component, making it difficult to reuse in other contexts. + +### Approach 2 - Custom Patch Layer + +This approach involves creating a custom patch layer that intercepts the `rows` prop and applies the filtering logic before passing the data to the `ReactPivot` component. + +- **Patch Layer:** + - A higher-order component (HOC) would be created to wrap the `ReactPivot` component. + - This HOC would be responsible for managing the `solo` state and filtering the `rows` prop before passing it to the `ReactPivot` component. + - The `solo` prop of the `ReactPivot` component would not be used directly. + +#### Pros + +- **Separation of Concerns:** The filtering logic is decoupled from the `ReactPivot` component, making the code easier to maintain and reason about. +- **Reusability:** The patch layer could be reused with other components that need similar filtering capabilities. +- **Less Intrusive:** This approach does not require any changes to the core `ReactPivot` component. + +#### Cons + +- **Potential for Bugs:** The patch layer could introduce subtle bugs if it's not carefully implemented and tested. +- **Less Performant:** The patch layer would add an extra layer of processing, which could impact performance, especially with large datasets. +- **More Complex to Use:** Users would need to understand how to use the patch layer in addition to the `ReactPivot` component. + +### Approach 3 - Wrapper Component + +This approach involves creating a new wrapper component that encapsulates the `ReactPivot` component and provides the desired filtering functionality. + +- **Wrapper Component:** + - A new component, `FilterableReactPivot`, would be created. + - This component would render the `ReactPivot` component and provide its own `solo` prop that supports arrays. + - The `FilterableReactPivot` component would be responsible for managing the `solo` state and filtering the `rows` prop before passing it to the `ReactPivot` component. + +#### Pros + +- **Clear API:** The `FilterableReactPivot` component would provide a clear and concise API for users who need the filtering functionality. +- **Good for a library:** This approach is well-suited for a library, as it provides a clean separation between the core component and the new functionality. +- **Easy to maintain:** The filtering logic is contained within the `FilterableReactPivot` component, making it easy to maintain and update without affecting the core `ReactPivot` component. + +#### Cons + +- **Code Duplication:** The `FilterableReactPivot` component would duplicate some of the logic from the `ReactPivot` component, which could lead to maintenance issues. +- **Less Flexible:** The `FilterableReactPivot` component would be less flexible than the patch layer approach, as it would be tightly coupled with the `ReactPivot` component. +- **Increased Bundle Size:** The `FilterableReactPivot` component would add to the overall bundle size of the application. + + +## Approach Chosen (Approach 1) + +**Approach 1 (Direct Implementation)** was selected because it provides the best user experience with minimal complexity. + +### Why This Approach + +- **Simple for users**: No new components to learn - the existing `ReactPivot` API just works with arrays +- **Better performance**: No wrapper layers or extra processing overhead +- **Backward compatible**: Existing code continues to work without changes +- **Integrated UI**: The `SoloControl` component feels like a natural part of the component + +### Why Not the Others + +- **Approach 2**: Too complex for users and adds performance overhead +- **Approach 3**: Would require users to switch to a new component, fragmenting the API + diff --git a/example/demo.jsx b/example/demo.jsx index 9f12b455..f05c425d 100644 --- a/example/demo.jsx +++ b/example/demo.jsx @@ -58,7 +58,12 @@ var hideRows = row => row.amountTotal < 1000 var Demo = createReactClass({ getInitialState: function() { - return {showInput: false} + return { + showInput: false, + solo: { + 'Transaction Type': ['deposit','withdrawal'] + } + } }, toggleShow: function() { var showInput = this.state.showInput @@ -73,6 +78,11 @@ var Demo = createReactClass({ ReactPivot is a data-grid component with pivot-table-like functionality.

+

+ New Feature: Interactive Solo Control! When solo filters are applied, you can edit them using the dropdown interface. + Change the dimension using the green dropdown, add multiple values to create arrays with OR logic, and click × to remove individual values. +

+

Muggles will love you.

@@ -90,7 +100,8 @@ var Demo = createReactClass({ reduce={reduce} activeDimensions={['Transaction Type']} hideRows={hideRows} - nPaginateRows={20} /> + nPaginateRows={20} + solo={this.state.solo} />
diff --git a/index.jsx b/index.jsx index 779f4c3e..895eae59 100644 --- a/index.jsx +++ b/index.jsx @@ -12,6 +12,7 @@ import getValue from './lib/get-value' import PivotTable from './lib/pivot-table.jsx' import Dimensions from './lib/dimensions.jsx' import ColumnControl from './lib/column-control.jsx' +import SoloControl from './lib/solo-control.jsx' const _ = { filter, map, find } @@ -45,10 +46,10 @@ export default createReactClass({ getInitialState: function() { var allDimensions = this.props.dimensions var activeDimensions = _.filter(this.props.activeDimensions, function (title) { - return _.find(allDimensions, function(col) { - return col.title === title + return _.find(allDimensions, function(col) { + return col.title === title + }) }) - }) return { dimensions: activeDimensions, @@ -66,7 +67,7 @@ export default createReactClass({ if (this.props.defaultStyles) loadStyles() this.dataFrame = DataFrame({ - rows: this.props.rows, + rows: this.getFilteredRows(), dimensions: this.props.dimensions, reduce: this.props.reduce }) @@ -77,11 +78,11 @@ export default createReactClass({ componentDidUpdate: function(prevProps) { if(this.props.hiddenColumns !== prevProps.hiddenColumns) { this.setHiddenColumns(this.props.hiddenColumns); - } + } if(this.props.rows !== prevProps.rows) { this.dataFrame = DataFrame({ - rows: this.props.rows, + rows: this.getFilteredRows(), dimensions: this.props.dimensions, reduce: this.props.reduce }) @@ -90,6 +91,58 @@ export default createReactClass({ } }, + getFilteredRows: function () { + var self = this + var filter = this.state.solo + var rows = this.props.rows + + if (!filter || Object.keys(filter).length === 0) { + return rows + } + + return rows.filter(function (row) { + var pass = true + Object.keys(filter).forEach(function (title) { + var filterValue = filter[title] + var dataValue + + // Get the data value based on the dimension + var dimension = self.props.dimensions.find(function (d) { + return d.title === title + }) + + if (dimension) { + if (typeof dimension.value === 'function') { + dataValue = dimension.value(row) + } else { + dataValue = row[dimension.value] + } + } else { + dataValue = row[title] + } + + // Handle array values in solo filter + if (Array.isArray(filterValue)) { + // Empty array means "match nothing" for this property + if (filterValue.length === 0) { + pass = false + return + } + // Check if data value matches any value in the filter array + if (filterValue.indexOf(dataValue) === -1) { + pass = false + } + } else { + // Handle single values (existing behavior) + if (dataValue !== filterValue) { + pass = false + } + } + }) + return pass + }) + }, + getColumns: function() { var self = this var columns = [] @@ -122,13 +175,14 @@ export default createReactClass({ var html = (
- - { this.props.hideDimensionFilter ? '' : - + {this.props.hideDimensionFilter ? ( + '' + ) : ( + ) }
- { Object.keys(this.state.solo).map(function (title) { - var value = self.state.solo[title] - - return ( -
- - × - - {title}: {value} -
- ) - }) } + v !== value); + if (newExistingValue.length === 0) { + newSolo = { ...currentSolo }; + delete newSolo[title]; + } else { + newSolo = { ...currentSolo, [title]: newExistingValue }; + } + } else { + newSolo = { ...currentSolo, [title]: [...existingValue, value] }; + } + } else if (existingValue === value) { + newSolo = { ...currentSolo }; + delete newSolo[title]; + } else { + newSolo = { ...currentSolo, [title]: value }; + } + + this.props.eventBus.emit('solo', newSolo); + this.setState({ solo: newSolo }); + + setTimeout(this.updateRows, 0); + }, + + setSoloFromControl: function (newSolo) { this.props.eventBus.emit('solo', newSolo) this.setState({solo: newSolo }) setTimeout(this.updateRows, 0) }, - clearSolo: function(title) { + getUniqueValues: function () { + var self = this + var uniqueValues = {} + + this.props.dimensions.forEach(function (dimension) { + var values = new Set() + + self.props.rows.forEach(function (row) { + var value + if (typeof dimension.value === 'function') { + value = dimension.value(row) + } else { + value = row[dimension.value] + } + + if (value !== undefined && value !== null && value !== '') { + values.add(String(value)) + } + }) + + uniqueValues[dimension.title] = Array.from(values).sort() + }) + + return uniqueValues + }, + + clearSolo: function (title) { var oldSolo = this.state.solo var newSolo = {} Object.keys(oldSolo).forEach(function (k) { @@ -305,7 +399,7 @@ export default createReactClass({ function loadStyles() { if (typeof document === 'undefined') return // SSR safety if (document.getElementById('react-pivot-styles')) return // Already loaded - + const css = `.reactPivot { margin-top: 40px; padding: 10px 20px 20px; @@ -313,9 +407,6 @@ function loadStyles() { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } -.reactPivot-soloDisplay { - padding: 5px; -} .reactPivot-clearSolo { opacity: 0.5; @@ -398,6 +489,87 @@ td:hover .reactPivot-solo {opacity: 0.5} text-align: left; } +.reactPivot-soloControl { + display: block; + text-align: left; + clear: both; +} + +.reactPivot-soloFilter { + display: block; + margin-right: 15px; +} + +.reactPivot-soloDimension { + font-size: 11px; + height: 24px; + margin-right: 5px; + font-weight: bold; + background: #e8f5e8; + border: 1px solid #4caf50; +} + +.reactPivot-soloValues { + display: inline-block; + margin-right: 5px; + margin-left: 5px; +} + +.reactPivot-soloValueContainer { + display: inline-block; + margin: 2px; + position: relative; + + select { + max-width: 150px; + } +} + +.reactPivot-soloValue { + display: inline-block; + background: #e3f2fd; + border: 1px solid #2196f3; + border-radius: 3px; + padding: 2px 6px; + margin: 2px; + font-size: 11px; + position: relative; +} + +.reactPivot-removeSoloValue { + margin-left: 5px; + cursor: pointer; + font-weight: bold; + color: #f44336; + opacity: 0.7; +} + +.reactPivot-removeSoloValue:hover { + opacity: 1; +} + +.reactPivot-addSoloValue { + font-size: 11px; + height: 24px; + margin-right: 5px; + max-width: 150px; +} + +.reactPivot-removeSoloFilter { + font-size: 10px; + padding: 2px 6px; + background: #ffebee; + border: 1px solid #f44336; + border-radius: 3px; + color: #f44336; + cursor: pointer; +} + +.reactPivot-removeSoloFilter:hover { + background: #f44336; + color: white; +} + .reactPivot-hideColumn { opacity: 0 } th:hover .reactPivot-hideColumn { @@ -434,7 +606,7 @@ th:hover .reactPivot-hideColumn { .reactPivot-paginate { margin-top: 24px; }` - + const style = document.createElement('style') style.id = 'react-pivot-styles' style.textContent = css diff --git a/lib/solo-control.jsx b/lib/solo-control.jsx new file mode 100644 index 00000000..2e15f7cf --- /dev/null +++ b/lib/solo-control.jsx @@ -0,0 +1,213 @@ +import compact from 'lodash/compact' +import React from 'react' +import createReactClass from 'create-react-class' +import partial from './partial' + +const _ = { compact } + +export default createReactClass({ + getDefaultProps: function () { + return { + dimensions: [], + solo: {}, + onChange: function () {}, + soloText: 'Add Filter...' + } + }, + + render: function () { + var self = this + var soloKeys = Object.keys(this.props.solo) + + // Only render if there are existing solo filters + if (soloKeys.length === 0) { + return null + } + + return ( +
+ {soloKeys.map(this.renderSoloFilter)} +
+ ) + }, + + renderDropdown: function (value, onChange, options, placeholder, id) { + return ( + + ) + }, + + renderSoloFilter: function (soloKey, i) { + var self = this + var soloValue = this.props.solo[soloKey] + var dimension = this.props.dimensions.find(function (d) { + return d.title === soloKey + }) + + if (!dimension) return null + + // Get unique values for this dimension from the data + var uniqueValues = this.getUniqueValuesForDimension(dimension) + + return ( +
+
+ + × + + {soloKey} + +
+ {Array.isArray(soloValue) ? ( + soloValue.map((value, index) => ( +
+ {this.renderDropdown( + value, + partial(self.changeSoloValue, soloKey, index), + uniqueValues, + 'Remove value...', + `reactPivot-soloValueContainer-${index}-${soloKey}` + )} +
+ )) + ) : ( +
+ {this.renderDropdown( + soloValue, + partial(self.changeSoloValue, soloKey, 0), + uniqueValues, + 'Remove value...', + `reactPivot-soloValueContainer-${soloKey}` + )} +
+ )} +
+ + +
+
+ ) + }, + + getUniqueValuesForDimension: function (dimension) { + // This would need access to the actual data to get unique values + // For now, we'll return a placeholder - this should be passed as a prop + return this.props.uniqueValues + ? this.props.uniqueValues[dimension.title] || [] + : [] + }, + + changeSoloDimension: function (currentKey, evt) { + var newDimension = evt.target.value + if (!newDimension || newDimension === currentKey) return + + var newSolo = Object.assign({}, this.props.solo) + var currentValue = newSolo[currentKey] + + // Remove the current key and add the new one + delete newSolo[currentKey] + newSolo[newDimension] = currentValue || '' + + this.props.onChange(newSolo) + }, + + changeSoloValue: function (soloKey, index, evt) { + var newValue = evt.target.value + var newSolo = Object.assign({}, this.props.solo) + var currentValue = newSolo[soloKey] + + if (!newValue) { + if (Array.isArray(currentValue)) { + var newArray = currentValue.filter((_, i) => i !== index) + if (newArray.length === 0) { + delete newSolo[soloKey] + } else { + newSolo[soloKey] = newArray + } + } else { + delete newSolo[soloKey] + } + } else { + if (Array.isArray(currentValue)) { + var newArray = currentValue.slice() + newArray[index] = newValue + newSolo[soloKey] = newArray + } else { + newSolo[soloKey] = newValue + } + } + + this.props.onChange(newSolo) + }, + + addSoloValue: function (soloKey, evt) { + var value = evt.target.value + if (!value) return + + var newSolo = Object.assign({}, this.props.solo) + var currentValue = newSolo[soloKey] + + if (Array.isArray(currentValue)) { + // Add to existing array + newSolo[soloKey] = currentValue.concat([value]) + } else if (currentValue === '') { + // Set first value + newSolo[soloKey] = value + } else { + // Convert single value to array + newSolo[soloKey] = [currentValue, value] + } + + this.props.onChange(newSolo) + }, + + + removeSoloFilter: function (soloKey) { + var newSolo = Object.assign({}, this.props.solo) + delete newSolo[soloKey] + this.props.onChange(newSolo) + }, + + clearSoloKey: function (soloKey) { + var newSolo = Object.assign({}, this.props.solo) + delete newSolo[soloKey] + this.props.onChange(newSolo) + } +}) diff --git a/package.json b/package.json index 61195b46..9ad4d0ea 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "react-pivot", "description": "React-Pivot is a data-grid component with pivot-table-like functionality for data display, filtering, and exploration.", - "version": "5.0.0", + "version": "5.0.1", "type": "module", "author": "David Guttman (http://davidguttman.com/)", "main": "dist/react-pivot.umd.cjs", @@ -61,6 +61,7 @@ "example-basic": "vite example/basic.html --port ${PORT:-9966}", "example-persist": "vite example/persist.html --port ${PORT:-9966}", "build": "vite build", + "watch": "vite build --watch", "preview": "vite preview", "prepublishOnly": "npm run build" }