@hpcc-js/composite 3.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.cjs","sources":["../src/__package__.ts","../../dgrid2/dist/index.js","../../layout/dist/index.js","../src/Utility.ts","../src/MultiChart.ts","../src/ChartPanel.ts","../src/Dermatology.ts","../src/MegaChart.ts","../src/Persist.ts"],"sourcesContent":["export const PKG_NAME = \"@hpcc-js/composite\";\nexport const PKG_VERSION = \"3.1.1\";\nexport const BUILD_VERSION = \"3.2.1\";\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var r=document.createElement(\"style\");r.appendChild(document.createTextNode('@layer rdg{@layer Defaults,FocusSink,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.mlln6zg7-0-0-beta-47{contain:strict;grid-row:1;visibility:hidden}}@layer rdg.Cell{.cj343x07-0-0-beta-47{position:relative;padding-block:0;padding-inline:8px;border-inline-end:1px solid var(--rdg-border-color);border-block-end:1px solid var(--rdg-border-color);grid-row-start:var(--rdg-grid-row-start);align-content:center;background-color:inherit;white-space:nowrap;overflow:clip;text-overflow:ellipsis;outline:none}.cj343x07-0-0-beta-47[aria-selected=true]{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.Cell{.csofj7r7-0-0-beta-47{position:sticky;z-index:1}.csofj7r7-0-0-beta-47:nth-last-child(1 of.csofj7r7-0-0-beta-47){box-shadow:var(--rdg-cell-frozen-box-shadow)}}@layer rdg.CheckboxInput{.c1bn88vv7-0-0-beta-47{display:block;margin:auto;inline-size:20px;block-size:20px}.c1bn88vv7-0-0-beta-47:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.c1bn88vv7-0-0-beta-47:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.g1s9ylgp7-0-0-beta-47{outline:none}}@layer rdg.GroupCellCaret{.cz54e4y7-0-0-beta-47{margin-inline-start:4px;stroke:currentColor;stroke-width:1.5px;fill:transparent;vertical-align:middle}.cz54e4y7-0-0-beta-47>path{transition:d .1s}}@layer rdg.DragHandle{.c1w9bbhr7-0-0-beta-47{--rdg-drag-handle-size: 8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.c1w9bbhr7-0-0-beta-47:hover{--rdg-drag-handle-size: 16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.c1creorc7-0-0-beta-47{z-index:1;position:sticky}}@layer rdg.EditCell{.cis5rrm7-0-0-beta-47{padding:0}}@layer rdg.SortableHeaderCell{.h44jtk67-0-0-beta-47{display:flex}}@layer rdg.SortableHeaderCellName{.hcgkhxz7-0-0-beta-47{flex-grow:1;overflow:clip;text-overflow:ellipsis}}@layer rdg.HeaderCell{.c6l2wv17-0-0-beta-47{cursor:pointer}}@layer rdg.HeaderCell{.c1kqdw7y7-0-0-beta-47{touch-action:none}}@layer rdg.HeaderCell{.r1y6ywlx7-0-0-beta-47{cursor:col-resize;position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inline-size:10px}}.c1bezg5o7-0-0-beta-47{opacity:.5}.c1vc96037-0-0-beta-47{background-color:var(--rdg-header-draggable-background-color)}@layer rdg.Row{.r1upfr807-0-0-beta-47{display:contents;background-color:var(--rdg-background-color)}.r1upfr807-0-0-beta-47:hover{background-color:var(--rdg-row-hover-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.r1upfr807-0-0-beta-47[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.FocusSink{.r190mhd37-0-0-beta-47{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.FocusSink{.r139qu9m7-0-0-beta-47:before{content:\"\";display:inline-block;block-size:100%;position:sticky;inset-inline-start:0;border-inline-start:2px solid var(--rdg-selection-color)}}@layer rdg.HeaderRow{.h10tskcx7-0-0-beta-47{display:contents;background-color:var(--rdg-header-background-color);font-weight:700}.h10tskcx7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2;position:sticky}.h10tskcx7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.Cell{.c6ra8a37-0-0-beta-47{background-color:#ccf}}@layer rdg.Cell{.cq910m07-0-0-beta-47{background-color:#ccf}.cq910m07-0-0-beta-47.c6ra8a37-0-0-beta-47{background-color:#99f}}@layer rdg.SortIcon{.a3ejtar7-0-0-beta-47{fill:currentColor}.a3ejtar7-0-0-beta-47>path{transition:d .1s}}@layer rdg.Defaults{.rnvodz57-0-0-beta-47 *,.rnvodz57-0-0-beta-47 *:before,.rnvodz57-0-0-beta-47 *:after{box-sizing:inherit}}@layer rdg.Root{.rnvodz57-0-0-beta-47{--rdg-color: #000;--rdg-border-color: #ddd;--rdg-summary-border-color: #aaa;--rdg-background-color: hsl(0deg 0% 100%);--rdg-header-background-color: hsl(0deg 0% 97.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 90.5%);--rdg-row-hover-background-color: hsl(0deg 0% 96%);--rdg-row-selected-background-color: hsl(207deg 76% 92%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 88%);--rdg-checkbox-focus-color: hsl(207deg 100% 69%);--rdg-selection-color: #66afe9;--rdg-font-size: 14px;--rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, .3);display:grid;color-scheme:var(--rdg-color-scheme, light dark);accent-color:light-dark(hsl(207deg 100% 29%),hsl(207deg 100% 79%));contain:content;content-visibility:auto;block-size:350px;border:1px solid var(--rdg-border-color);box-sizing:border-box;overflow:auto;background-color:var(--rdg-background-color);color:var(--rdg-color);font-size:var(--rdg-font-size)}.rnvodz57-0-0-beta-47:dir(rtl){--rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, .3)}.rnvodz57-0-0-beta-47:before{content:\"\";grid-column:1/-1;grid-row:1/-1}.rnvodz57-0-0-beta-47.rdg-dark{--rdg-color-scheme: dark;--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}.rnvodz57-0-0-beta-47.rdg-light{--rdg-color-scheme: light}@media (prefers-color-scheme: dark){.rnvodz57-0-0-beta-47:not(.rdg-light){--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}}.rnvodz57-0-0-beta-47>:nth-last-child(1 of.rdg-top-summary-row)>.cj343x07-0-0-beta-47{border-block-end:2px solid var(--rdg-summary-border-color)}.rnvodz57-0-0-beta-47>:nth-child(1 of.rdg-bottom-summary-row)>.cj343x07-0-0-beta-47{border-block-start:2px solid var(--rdg-summary-border-color)}}@layer rdg.Root{.vlqv91k7-0-0-beta-47{-webkit-user-select:none;user-select:none}.vlqv91k7-0-0-beta-47 .r1upfr807-0-0-beta-47{cursor:move}}@layer rdg.FocusSink{.f1lsfrzw7-0-0-beta-47{grid-column:1/-1;pointer-events:none;z-index:1}}@layer rdg.FocusSink{.f1cte0lg7-0-0-beta-47{z-index:3}}@layer rdg.SummaryCell{.s8wc6fl7-0-0-beta-47{inset-block-start:var(--rdg-summary-row-top);inset-block-end:var(--rdg-summary-row-bottom)}}@layer rdg.SummaryRow{.skuhp557-0-0-beta-47>.cj343x07-0-0-beta-47{position:sticky}}@layer rdg.SummaryRow{.tf8l5ub7-0-0-beta-47>.cj343x07-0-0-beta-47{z-index:2}.tf8l5ub7-0-0-beta-47>.csofj7r7-0-0-beta-47{z-index:3}}@layer rdg.GroupedRow{.g1yxluv37-0-0-beta-47:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.g1yxluv37-0-0-beta-47>.cj343x07-0-0-beta-47:not(:last-child,.csofj7r7-0-0-beta-47),.g1yxluv37-0-0-beta-47>:nth-last-child(n+2 of.csofj7r7-0-0-beta-47){border-inline-end:none}}@layer rdg.TextEditor{.t7vyx3i7-0-0-beta-47{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;inline-size:100%;block-size:100%;padding-block:0;padding-inline:6px;border:2px solid #ccc;vertical-align:top;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size)}.t7vyx3i7-0-0-beta-47:focus{border-color:var(--rdg-selection-color);outline:none}.t7vyx3i7-0-0-beta-47::placeholder{color:#999;opacity:1}}.dgrid2_Table .rdg{font-family:monospace,Courier New,Courier}.dgrid2_Table .rdg-checkbox-label .rdg-checkbox{block-size:16px;inline-size:16px;border-width:2px;box-shadow:inset 0 0 0 3px var(--rdg-background-color)}')),document.head.appendChild(r)}}catch(e){console.error(\"vite-plugin-css-injected-by-js\",e)}})();\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != \"symbol\" ? key + \"\" : key, value);\nimport { format, timeParse, timeFormat, HTMLWidget } from \"@hpcc-js/common\";\nconst PKG_NAME = \"@hpcc-js/dgrid2\", PKG_VERSION = \"3.1.1\", BUILD_VERSION = \"3.2.1\";\nvar n, l$1, u$2, i$1, o$1, r$2, f$2, e$1, c$1, s$1, a$1, h$1 = {}, v$1 = [], p$1 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, y$1 = Array.isArray;\nfunction d$1(n2, l2) {\n for (var u2 in l2) n2[u2] = l2[u2];\n return n2;\n}\nfunction w$2(n2) {\n n2 && n2.parentNode && n2.parentNode.removeChild(n2);\n}\nfunction _$1(l2, u2, t2) {\n var i2, o2, r2, f2 = {};\n for (r2 in u2) r2 == \"key\" ? i2 = u2[r2] : r2 == \"ref\" ? o2 = u2[r2] : f2[r2] = u2[r2];\n if (arguments.length > 2 && (f2.children = arguments.length > 3 ? n.call(arguments, 2) : t2), typeof l2 == \"function\" && l2.defaultProps != null) for (r2 in l2.defaultProps) f2[r2] === void 0 && (f2[r2] = l2.defaultProps[r2]);\n return g$2(l2, f2, i2, o2, null);\n}\nfunction g$2(n2, t2, i2, o2, r2) {\n var f2 = { type: n2, props: t2, key: i2, ref: o2, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: r2 ?? ++u$2, __i: -1, __u: 0 };\n return r2 == null && l$1.vnode != null && l$1.vnode(f2), f2;\n}\nfunction m$1() {\n return { current: null };\n}\nfunction b(n2) {\n return n2.children;\n}\nfunction k$2(n2, l2) {\n this.props = n2, this.context = l2;\n}\nfunction x$2(n2, l2) {\n if (l2 == null) return n2.__ ? x$2(n2.__, n2.__i + 1) : null;\n for (var u2; l2 < n2.__k.length; l2++) if ((u2 = n2.__k[l2]) != null && u2.__e != null) return u2.__e;\n return typeof n2.type == \"function\" ? x$2(n2) : null;\n}\nfunction C$2(n2) {\n var l2, u2;\n if ((n2 = n2.__) != null && n2.__c != null) {\n for (n2.__e = n2.__c.base = null, l2 = 0; l2 < n2.__k.length; l2++) if ((u2 = n2.__k[l2]) != null && u2.__e != null) {\n n2.__e = n2.__c.base = u2.__e;\n break;\n }\n return C$2(n2);\n }\n}\nfunction S(n2) {\n (!n2.__d && (n2.__d = !0) && i$1.push(n2) && !M$1.__r++ || o$1 !== l$1.debounceRendering) && ((o$1 = l$1.debounceRendering) || r$2)(M$1);\n}\nfunction M$1() {\n var n2, u2, t2, o2, r2, e2, c2, s2;\n for (i$1.sort(f$2); n2 = i$1.shift(); ) n2.__d && (u2 = i$1.length, o2 = void 0, e2 = (r2 = (t2 = n2).__v).__e, c2 = [], s2 = [], t2.__P && ((o2 = d$1({}, r2)).__v = r2.__v + 1, l$1.vnode && l$1.vnode(o2), O$1(t2.__P, o2, r2, t2.__n, t2.__P.namespaceURI, 32 & r2.__u ? [e2] : null, c2, e2 ?? x$2(r2), !!(32 & r2.__u), s2), o2.__v = r2.__v, o2.__.__k[o2.__i] = o2, j$2(c2, o2, s2), o2.__e != e2 && C$2(o2)), i$1.length > u2 && i$1.sort(f$2));\n M$1.__r = 0;\n}\nfunction P$2(n2, l2, u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, p2, y2, d2, w2, _2 = t2 && t2.__k || v$1, g2 = l2.length;\n for (u2.__d = e2, $$1(u2, l2, _2), e2 = u2.__d, a2 = 0; a2 < g2; a2++) (y2 = u2.__k[a2]) != null && (p2 = y2.__i === -1 ? h$1 : _2[y2.__i] || h$1, y2.__i = a2, O$1(n2, y2, p2, i2, o2, r2, f2, e2, c2, s2), d2 = y2.__e, y2.ref && p2.ref != y2.ref && (p2.ref && E$1(p2.ref, null, y2), s2.push(y2.ref, y2.__c || d2, y2)), w2 == null && d2 != null && (w2 = d2), 65536 & y2.__u || p2.__k === y2.__k ? e2 = I$1(y2, e2, n2) : typeof y2.type == \"function\" && y2.__d !== void 0 ? e2 = y2.__d : d2 && (e2 = d2.nextSibling), y2.__d = void 0, y2.__u &= -196609);\n u2.__d = e2, u2.__e = w2;\n}\nfunction $$1(n2, l2, u2) {\n var t2, i2, o2, r2, f2, e2 = l2.length, c2 = u2.length, s2 = c2, a2 = 0;\n for (n2.__k = [], t2 = 0; t2 < e2; t2++) (i2 = l2[t2]) != null && typeof i2 != \"boolean\" && typeof i2 != \"function\" ? (r2 = t2 + a2, (i2 = n2.__k[t2] = typeof i2 == \"string\" || typeof i2 == \"number\" || typeof i2 == \"bigint\" || i2.constructor == String ? g$2(null, i2, null, null, null) : y$1(i2) ? g$2(b, { children: i2 }, null, null, null) : i2.constructor === void 0 && i2.__b > 0 ? g$2(i2.type, i2.props, i2.key, i2.ref ? i2.ref : null, i2.__v) : i2).__ = n2, i2.__b = n2.__b + 1, o2 = null, (f2 = i2.__i = L$1(i2, u2, r2, s2)) !== -1 && (s2--, (o2 = u2[f2]) && (o2.__u |= 131072)), o2 == null || o2.__v === null ? (f2 == -1 && a2--, typeof i2.type != \"function\" && (i2.__u |= 65536)) : f2 !== r2 && (f2 == r2 - 1 ? a2-- : f2 == r2 + 1 ? a2++ : (f2 > r2 ? a2-- : a2++, i2.__u |= 65536))) : i2 = n2.__k[t2] = null;\n if (s2) for (t2 = 0; t2 < c2; t2++) (o2 = u2[t2]) != null && !(131072 & o2.__u) && (o2.__e == n2.__d && (n2.__d = x$2(o2)), N$1(o2, o2));\n}\nfunction I$1(n2, l2, u2) {\n var t2, i2;\n if (typeof n2.type == \"function\") {\n for (t2 = n2.__k, i2 = 0; t2 && i2 < t2.length; i2++) t2[i2] && (t2[i2].__ = n2, l2 = I$1(t2[i2], l2, u2));\n return l2;\n }\n n2.__e != l2 && (l2 && n2.type && !u2.contains(l2) && (l2 = x$2(n2)), u2.insertBefore(n2.__e, l2 || null), l2 = n2.__e);\n do\n l2 = l2 && l2.nextSibling;\n while (l2 != null && l2.nodeType === 8);\n return l2;\n}\nfunction H$1(n2, l2) {\n return l2 = l2 || [], n2 == null || typeof n2 == \"boolean\" || (y$1(n2) ? n2.some(function(n3) {\n H$1(n3, l2);\n }) : l2.push(n2)), l2;\n}\nfunction L$1(n2, l2, u2, t2) {\n var i2 = n2.key, o2 = n2.type, r2 = u2 - 1, f2 = u2 + 1, e2 = l2[u2];\n if (e2 === null || e2 && i2 == e2.key && o2 === e2.type && !(131072 & e2.__u)) return u2;\n if ((typeof o2 != \"function\" || o2 === b || i2) && t2 > (e2 != null && !(131072 & e2.__u) ? 1 : 0)) for (; r2 >= 0 || f2 < l2.length; ) {\n if (r2 >= 0) {\n if ((e2 = l2[r2]) && !(131072 & e2.__u) && i2 == e2.key && o2 === e2.type) return r2;\n r2--;\n }\n if (f2 < l2.length) {\n if ((e2 = l2[f2]) && !(131072 & e2.__u) && i2 == e2.key && o2 === e2.type) return f2;\n f2++;\n }\n }\n return -1;\n}\nfunction T$2(n2, l2, u2) {\n l2[0] === \"-\" ? n2.setProperty(l2, u2 ?? \"\") : n2[l2] = u2 == null ? \"\" : typeof u2 != \"number\" || p$1.test(l2) ? u2 : u2 + \"px\";\n}\nfunction A$2(n2, l2, u2, t2, i2) {\n var o2;\n n: if (l2 === \"style\") if (typeof u2 == \"string\") n2.style.cssText = u2;\n else {\n if (typeof t2 == \"string\" && (n2.style.cssText = t2 = \"\"), t2) for (l2 in t2) u2 && l2 in u2 || T$2(n2.style, l2, \"\");\n if (u2) for (l2 in u2) t2 && u2[l2] === t2[l2] || T$2(n2.style, l2, u2[l2]);\n }\n else if (l2[0] === \"o\" && l2[1] === \"n\") o2 = l2 !== (l2 = l2.replace(/(PointerCapture)$|Capture$/i, \"$1\")), l2 = l2.toLowerCase() in n2 || l2 === \"onFocusOut\" || l2 === \"onFocusIn\" ? l2.toLowerCase().slice(2) : l2.slice(2), n2.l || (n2.l = {}), n2.l[l2 + o2] = u2, u2 ? t2 ? u2.u = t2.u : (u2.u = e$1, n2.addEventListener(l2, o2 ? s$1 : c$1, o2)) : n2.removeEventListener(l2, o2 ? s$1 : c$1, o2);\n else {\n if (i2 == \"http://www.w3.org/2000/svg\") l2 = l2.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (l2 != \"width\" && l2 != \"height\" && l2 != \"href\" && l2 != \"list\" && l2 != \"form\" && l2 != \"tabIndex\" && l2 != \"download\" && l2 != \"rowSpan\" && l2 != \"colSpan\" && l2 != \"role\" && l2 != \"popover\" && l2 in n2) try {\n n2[l2] = u2 ?? \"\";\n break n;\n } catch {\n }\n typeof u2 == \"function\" || (u2 == null || u2 === !1 && l2[4] !== \"-\" ? n2.removeAttribute(l2) : n2.setAttribute(l2, l2 == \"popover\" && u2 == 1 ? \"\" : u2));\n }\n}\nfunction F$2(n2) {\n return function(u2) {\n if (this.l) {\n var t2 = this.l[u2.type + n2];\n if (u2.t == null) u2.t = e$1++;\n else if (u2.t < t2.u) return;\n return l$1.event && (u2 = l$1.event(u2)), \"handleEvent\" in t2 ? t2.handleEvent(u2) : t2(u2);\n }\n };\n}\nfunction O$1(n2, u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, h2, v2, p2, w2, _2, g2, m2, x2, C2, S2, M2, $2, I2, H2, L2, T2 = u2.type;\n if (u2.constructor !== void 0) return null;\n 128 & t2.__u && (c2 = !!(32 & t2.__u), r2 = [e2 = u2.__e = t2.__e]), (a2 = l$1.__b) && a2(u2);\n n: if (typeof T2 == \"function\") try {\n if (m2 = u2.props, x2 = \"prototype\" in T2 && T2.prototype.render, C2 = (a2 = T2.contextType) && i2[a2.__c], S2 = a2 ? C2 ? C2.props.value : a2.__ : i2, t2.__c ? g2 = (h2 = u2.__c = t2.__c).__ = h2.__E : (x2 ? u2.__c = h2 = new T2(m2, S2) : (u2.__c = h2 = new k$2(m2, S2), h2.constructor = T2, h2.render = V$1), C2 && C2.sub(h2), h2.props = m2, h2.state || (h2.state = {}), h2.context = S2, h2.__n = i2, v2 = h2.__d = !0, h2.__h = [], h2._sb = []), x2 && h2.__s == null && (h2.__s = h2.state), x2 && T2.getDerivedStateFromProps != null && (h2.__s == h2.state && (h2.__s = d$1({}, h2.__s)), d$1(h2.__s, T2.getDerivedStateFromProps(m2, h2.__s))), p2 = h2.props, w2 = h2.state, h2.__v = u2, v2) x2 && T2.getDerivedStateFromProps == null && h2.componentWillMount != null && h2.componentWillMount(), x2 && h2.componentDidMount != null && h2.__h.push(h2.componentDidMount);\n else {\n if (x2 && T2.getDerivedStateFromProps == null && m2 !== p2 && h2.componentWillReceiveProps != null && h2.componentWillReceiveProps(m2, S2), !h2.__e && (h2.shouldComponentUpdate != null && h2.shouldComponentUpdate(m2, h2.__s, S2) === !1 || u2.__v === t2.__v)) {\n for (u2.__v !== t2.__v && (h2.props = m2, h2.state = h2.__s, h2.__d = !1), u2.__e = t2.__e, u2.__k = t2.__k, u2.__k.some(function(n3) {\n n3 && (n3.__ = u2);\n }), M2 = 0; M2 < h2._sb.length; M2++) h2.__h.push(h2._sb[M2]);\n h2._sb = [], h2.__h.length && f2.push(h2);\n break n;\n }\n h2.componentWillUpdate != null && h2.componentWillUpdate(m2, h2.__s, S2), x2 && h2.componentDidUpdate != null && h2.__h.push(function() {\n h2.componentDidUpdate(p2, w2, _2);\n });\n }\n if (h2.context = S2, h2.props = m2, h2.__P = n2, h2.__e = !1, $2 = l$1.__r, I2 = 0, x2) {\n for (h2.state = h2.__s, h2.__d = !1, $2 && $2(u2), a2 = h2.render(h2.props, h2.state, h2.context), H2 = 0; H2 < h2._sb.length; H2++) h2.__h.push(h2._sb[H2]);\n h2._sb = [];\n } else do\n h2.__d = !1, $2 && $2(u2), a2 = h2.render(h2.props, h2.state, h2.context), h2.state = h2.__s;\n while (h2.__d && ++I2 < 25);\n h2.state = h2.__s, h2.getChildContext != null && (i2 = d$1(d$1({}, i2), h2.getChildContext())), x2 && !v2 && h2.getSnapshotBeforeUpdate != null && (_2 = h2.getSnapshotBeforeUpdate(p2, w2)), P$2(n2, y$1(L2 = a2 != null && a2.type === b && a2.key == null ? a2.props.children : a2) ? L2 : [L2], u2, t2, i2, o2, r2, f2, e2, c2, s2), h2.base = u2.__e, u2.__u &= -161, h2.__h.length && f2.push(h2), g2 && (h2.__E = h2.__ = null);\n } catch (n3) {\n if (u2.__v = null, c2 || r2 != null) {\n for (u2.__u |= c2 ? 160 : 128; e2 && e2.nodeType === 8 && e2.nextSibling; ) e2 = e2.nextSibling;\n r2[r2.indexOf(e2)] = null, u2.__e = e2;\n } else u2.__e = t2.__e, u2.__k = t2.__k;\n l$1.__e(n3, u2, t2);\n }\n else r2 == null && u2.__v === t2.__v ? (u2.__k = t2.__k, u2.__e = t2.__e) : u2.__e = z$2(t2.__e, u2, t2, i2, o2, r2, f2, c2, s2);\n (a2 = l$1.diffed) && a2(u2);\n}\nfunction j$2(n2, u2, t2) {\n u2.__d = void 0;\n for (var i2 = 0; i2 < t2.length; i2++) E$1(t2[i2], t2[++i2], t2[++i2]);\n l$1.__c && l$1.__c(u2, n2), n2.some(function(u3) {\n try {\n n2 = u3.__h, u3.__h = [], n2.some(function(n3) {\n n3.call(u3);\n });\n } catch (n3) {\n l$1.__e(n3, u3.__v);\n }\n });\n}\nfunction z$2(u2, t2, i2, o2, r2, f2, e2, c2, s2) {\n var a2, v2, p2, d2, _2, g2, m2, b2 = i2.props, k2 = t2.props, C2 = t2.type;\n if (C2 === \"svg\" ? r2 = \"http://www.w3.org/2000/svg\" : C2 === \"math\" ? r2 = \"http://www.w3.org/1998/Math/MathML\" : r2 || (r2 = \"http://www.w3.org/1999/xhtml\"), f2 != null) {\n for (a2 = 0; a2 < f2.length; a2++) if ((_2 = f2[a2]) && \"setAttribute\" in _2 == !!C2 && (C2 ? _2.localName === C2 : _2.nodeType === 3)) {\n u2 = _2, f2[a2] = null;\n break;\n }\n }\n if (u2 == null) {\n if (C2 === null) return document.createTextNode(k2);\n u2 = document.createElementNS(r2, C2, k2.is && k2), c2 && (l$1.__m && l$1.__m(t2, f2), c2 = !1), f2 = null;\n }\n if (C2 === null) b2 === k2 || c2 && u2.data === k2 || (u2.data = k2);\n else {\n if (f2 = f2 && n.call(u2.childNodes), b2 = i2.props || h$1, !c2 && f2 != null) for (b2 = {}, a2 = 0; a2 < u2.attributes.length; a2++) b2[(_2 = u2.attributes[a2]).name] = _2.value;\n for (a2 in b2) if (_2 = b2[a2], a2 != \"children\") {\n if (a2 == \"dangerouslySetInnerHTML\") p2 = _2;\n else if (!(a2 in k2)) {\n if (a2 == \"value\" && \"defaultValue\" in k2 || a2 == \"checked\" && \"defaultChecked\" in k2) continue;\n A$2(u2, a2, null, _2, r2);\n }\n }\n for (a2 in k2) _2 = k2[a2], a2 == \"children\" ? d2 = _2 : a2 == \"dangerouslySetInnerHTML\" ? v2 = _2 : a2 == \"value\" ? g2 = _2 : a2 == \"checked\" ? m2 = _2 : c2 && typeof _2 != \"function\" || b2[a2] === _2 || A$2(u2, a2, _2, b2[a2], r2);\n if (v2) c2 || p2 && (v2.__html === p2.__html || v2.__html === u2.innerHTML) || (u2.innerHTML = v2.__html), t2.__k = [];\n else if (p2 && (u2.innerHTML = \"\"), P$2(u2, y$1(d2) ? d2 : [d2], t2, i2, o2, C2 === \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : r2, f2, e2, f2 ? f2[0] : i2.__k && x$2(i2, 0), c2, s2), f2 != null) for (a2 = f2.length; a2--; ) w$2(f2[a2]);\n c2 || (a2 = \"value\", C2 === \"progress\" && g2 == null ? u2.removeAttribute(\"value\") : g2 !== void 0 && (g2 !== u2[a2] || C2 === \"progress\" && !g2 || C2 === \"option\" && g2 !== b2[a2]) && A$2(u2, a2, g2, b2[a2], r2), a2 = \"checked\", m2 !== void 0 && m2 !== u2[a2] && A$2(u2, a2, m2, b2[a2], r2));\n }\n return u2;\n}\nfunction E$1(n2, u2, t2) {\n try {\n if (typeof n2 == \"function\") {\n var i2 = typeof n2.__u == \"function\";\n i2 && n2.__u(), i2 && u2 == null || (n2.__u = n2(u2));\n } else n2.current = u2;\n } catch (n3) {\n l$1.__e(n3, t2);\n }\n}\nfunction N$1(n2, u2, t2) {\n var i2, o2;\n if (l$1.unmount && l$1.unmount(n2), (i2 = n2.ref) && (i2.current && i2.current !== n2.__e || E$1(i2, null, u2)), (i2 = n2.__c) != null) {\n if (i2.componentWillUnmount) try {\n i2.componentWillUnmount();\n } catch (n3) {\n l$1.__e(n3, u2);\n }\n i2.base = i2.__P = null;\n }\n if (i2 = n2.__k) for (o2 = 0; o2 < i2.length; o2++) i2[o2] && N$1(i2[o2], u2, t2 || typeof n2.type != \"function\");\n t2 || w$2(n2.__e), n2.__c = n2.__ = n2.__e = n2.__d = void 0;\n}\nfunction V$1(n2, l2, u2) {\n return this.constructor(n2, u2);\n}\nfunction q$2(u2, t2, i2) {\n var o2, r2, f2, e2;\n l$1.__ && l$1.__(u2, t2), r2 = (o2 = typeof i2 == \"function\") ? null : i2 && i2.__k || t2.__k, f2 = [], e2 = [], O$1(t2, u2 = (!o2 && i2 || t2).__k = _$1(b, null, [u2]), r2 || h$1, h$1, t2.namespaceURI, !o2 && i2 ? [i2] : r2 ? null : t2.firstChild ? n.call(t2.childNodes) : null, f2, !o2 && i2 ? i2 : r2 ? r2.__e : t2.firstChild, o2, e2), j$2(f2, u2, e2);\n}\nfunction B$2(n2, l2) {\n q$2(n2, l2, B$2);\n}\nfunction D$2(l2, u2, t2) {\n var i2, o2, r2, f2, e2 = d$1({}, l2.props);\n for (r2 in l2.type && l2.type.defaultProps && (f2 = l2.type.defaultProps), u2) r2 == \"key\" ? i2 = u2[r2] : r2 == \"ref\" ? o2 = u2[r2] : e2[r2] = u2[r2] === void 0 && f2 !== void 0 ? f2[r2] : u2[r2];\n return arguments.length > 2 && (e2.children = arguments.length > 3 ? n.call(arguments, 2) : t2), g$2(l2.type, e2, i2 || l2.key, o2 || l2.ref, null);\n}\nfunction G$1(n2, l2) {\n var u2 = { __c: l2 = \"__cC\" + a$1++, __: n2, Consumer: function(n3, l3) {\n return n3.children(l3);\n }, Provider: function(n3) {\n var u3, t2;\n return this.getChildContext || (u3 = /* @__PURE__ */ new Set(), (t2 = {})[l2] = this, this.getChildContext = function() {\n return t2;\n }, this.componentWillUnmount = function() {\n u3 = null;\n }, this.shouldComponentUpdate = function(n4) {\n this.props.value !== n4.value && u3.forEach(function(n5) {\n n5.__e = !0, S(n5);\n });\n }, this.sub = function(n4) {\n u3.add(n4);\n var l3 = n4.componentWillUnmount;\n n4.componentWillUnmount = function() {\n u3 && u3.delete(n4), l3 && l3.call(n4);\n };\n }), n3.children;\n } };\n return u2.Provider.__ = u2.Consumer.contextType = u2;\n}\nn = v$1.slice, l$1 = { __e: function(n2, l2, u2, t2) {\n for (var i2, o2, r2; l2 = l2.__; ) if ((i2 = l2.__c) && !i2.__) try {\n if ((o2 = i2.constructor) && o2.getDerivedStateFromError != null && (i2.setState(o2.getDerivedStateFromError(n2)), r2 = i2.__d), i2.componentDidCatch != null && (i2.componentDidCatch(n2, t2 || {}), r2 = i2.__d), r2) return i2.__E = i2;\n } catch (l3) {\n n2 = l3;\n }\n throw n2;\n} }, u$2 = 0, k$2.prototype.setState = function(n2, l2) {\n var u2;\n u2 = this.__s != null && this.__s !== this.state ? this.__s : this.__s = d$1({}, this.state), typeof n2 == \"function\" && (n2 = n2(d$1({}, u2), this.props)), n2 && d$1(u2, n2), n2 != null && this.__v && (l2 && this._sb.push(l2), S(this));\n}, k$2.prototype.forceUpdate = function(n2) {\n this.__v && (this.__e = !0, n2 && this.__h.push(n2), S(this));\n}, k$2.prototype.render = b, i$1 = [], r$2 = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, f$2 = function(n2, l2) {\n return n2.__v.__b - l2.__v.__b;\n}, M$1.__r = 0, e$1 = 0, c$1 = F$2(!1), s$1 = F$2(!0), a$1 = 0;\nvar f$1 = 0;\nfunction u$1(e2, t2, n2, o2, i2, u2) {\n t2 || (t2 = {});\n var a2, c2, l2 = t2;\n \"ref\" in t2 && (a2 = t2.ref, delete t2.ref);\n var p2 = { type: e2, props: l2, key: n2, ref: a2, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: --f$1, __i: -1, __u: 0, __source: i2, __self: u2 };\n if (typeof e2 == \"function\" && (a2 = e2.defaultProps)) for (c2 in a2) l2[c2] === void 0 && (l2[c2] = a2[c2]);\n return l$1.vnode && l$1.vnode(p2), p2;\n}\nvar t, r$1, u, i, o = 0, f = [], c = l$1, e = c.__b, a = c.__r, v = c.diffed, l = c.__c, m = c.unmount, s = c.__;\nfunction d(n2, t2) {\n c.__h && c.__h(r$1, n2, o || t2), o = 0;\n var u2 = r$1.__H || (r$1.__H = { __: [], __h: [] });\n return n2 >= u2.__.length && u2.__.push({}), u2.__[n2];\n}\nfunction h(n2) {\n return o = 1, p(D$1, n2);\n}\nfunction p(n2, u2, i2) {\n var o2 = d(t++, 2);\n if (o2.t = n2, !o2.__c && (o2.__ = [i2 ? i2(u2) : D$1(void 0, u2), function(n3) {\n var t2 = o2.__N ? o2.__N[0] : o2.__[0], r2 = o2.t(t2, n3);\n t2 !== r2 && (o2.__N = [r2, o2.__[1]], o2.__c.setState({}));\n }], o2.__c = r$1, !r$1.u)) {\n var f2 = function(n3, t2, r2) {\n if (!o2.__c.__H) return !0;\n var u3 = o2.__c.__H.__.filter(function(n4) {\n return !!n4.__c;\n });\n if (u3.every(function(n4) {\n return !n4.__N;\n })) return !c2 || c2.call(this, n3, t2, r2);\n var i3 = o2.__c.props !== n3;\n return u3.forEach(function(n4) {\n if (n4.__N) {\n var t3 = n4.__[0];\n n4.__ = n4.__N, n4.__N = void 0, t3 !== n4.__[0] && (i3 = !0);\n }\n }), c2 && c2.call(this, n3, t2, r2) || i3;\n };\n r$1.u = !0;\n var c2 = r$1.shouldComponentUpdate, e2 = r$1.componentWillUpdate;\n r$1.componentWillUpdate = function(n3, t2, r2) {\n if (this.__e) {\n var u3 = c2;\n c2 = void 0, f2(n3, t2, r2), c2 = u3;\n }\n e2 && e2.call(this, n3, t2, r2);\n }, r$1.shouldComponentUpdate = f2;\n }\n return o2.__N || o2.__;\n}\nfunction y(n2, u2) {\n var i2 = d(t++, 3);\n !c.__s && C$1(i2.__H, u2) && (i2.__ = n2, i2.i = u2, r$1.__H.__h.push(i2));\n}\nfunction _(n2, u2) {\n var i2 = d(t++, 4);\n !c.__s && C$1(i2.__H, u2) && (i2.__ = n2, i2.i = u2, r$1.__h.push(i2));\n}\nfunction A$1(n2) {\n return o = 5, T$1(function() {\n return { current: n2 };\n }, []);\n}\nfunction F$1(n2, t2, r2) {\n o = 6, _(function() {\n return typeof n2 == \"function\" ? (n2(t2()), function() {\n return n2(null);\n }) : n2 ? (n2.current = t2(), function() {\n return n2.current = null;\n }) : void 0;\n }, r2 == null ? r2 : r2.concat(n2));\n}\nfunction T$1(n2, r2) {\n var u2 = d(t++, 7);\n return C$1(u2.__H, r2) && (u2.__ = n2(), u2.__H = r2, u2.__h = n2), u2.__;\n}\nfunction q$1(n2, t2) {\n return o = 8, T$1(function() {\n return n2;\n }, t2);\n}\nfunction x$1(n2) {\n var u2 = r$1.context[n2.__c], i2 = d(t++, 9);\n return i2.c = n2, u2 ? (i2.__ == null && (i2.__ = !0, u2.sub(r$1)), u2.props.value) : n2.__;\n}\nfunction P$1(n2, t2) {\n c.useDebugValue && c.useDebugValue(t2 ? t2(n2) : n2);\n}\nfunction g$1() {\n var n2 = d(t++, 11);\n if (!n2.__) {\n for (var u2 = r$1.__v; u2 !== null && !u2.__m && u2.__ !== null; ) u2 = u2.__;\n var i2 = u2.__m || (u2.__m = [0, 0]);\n n2.__ = \"P\" + i2[0] + \"-\" + i2[1]++;\n }\n return n2.__;\n}\nfunction j$1() {\n for (var n2; n2 = f.shift(); ) if (n2.__P && n2.__H) try {\n n2.__H.__h.forEach(z$1), n2.__H.__h.forEach(B$1), n2.__H.__h = [];\n } catch (t2) {\n n2.__H.__h = [], c.__e(t2, n2.__v);\n }\n}\nc.__b = function(n2) {\n r$1 = null, e && e(n2);\n}, c.__ = function(n2, t2) {\n n2 && t2.__k && t2.__k.__m && (n2.__m = t2.__k.__m), s && s(n2, t2);\n}, c.__r = function(n2) {\n a && a(n2), t = 0;\n var i2 = (r$1 = n2.__c).__H;\n i2 && (u === r$1 ? (i2.__h = [], r$1.__h = [], i2.__.forEach(function(n3) {\n n3.__N && (n3.__ = n3.__N), n3.i = n3.__N = void 0;\n })) : (i2.__h.forEach(z$1), i2.__h.forEach(B$1), i2.__h = [], t = 0)), u = r$1;\n}, c.diffed = function(n2) {\n v && v(n2);\n var t2 = n2.__c;\n t2 && t2.__H && (t2.__H.__h.length && (f.push(t2) !== 1 && i === c.requestAnimationFrame || ((i = c.requestAnimationFrame) || w$1)(j$1)), t2.__H.__.forEach(function(n3) {\n n3.i && (n3.__H = n3.i), n3.i = void 0;\n })), u = r$1 = null;\n}, c.__c = function(n2, t2) {\n t2.some(function(n3) {\n try {\n n3.__h.forEach(z$1), n3.__h = n3.__h.filter(function(n4) {\n return !n4.__ || B$1(n4);\n });\n } catch (r2) {\n t2.some(function(n4) {\n n4.__h && (n4.__h = []);\n }), t2 = [], c.__e(r2, n3.__v);\n }\n }), l && l(n2, t2);\n}, c.unmount = function(n2) {\n m && m(n2);\n var t2, r2 = n2.__c;\n r2 && r2.__H && (r2.__H.__.forEach(function(n3) {\n try {\n z$1(n3);\n } catch (n4) {\n t2 = n4;\n }\n }), r2.__H = void 0, t2 && c.__e(t2, r2.__v));\n};\nvar k$1 = typeof requestAnimationFrame == \"function\";\nfunction w$1(n2) {\n var t2, r2 = function() {\n clearTimeout(u2), k$1 && cancelAnimationFrame(t2), setTimeout(n2);\n }, u2 = setTimeout(r2, 100);\n k$1 && (t2 = requestAnimationFrame(r2));\n}\nfunction z$1(n2) {\n var t2 = r$1, u2 = n2.__c;\n typeof u2 == \"function\" && (n2.__c = void 0, u2()), r$1 = t2;\n}\nfunction B$1(n2) {\n var t2 = r$1;\n n2.__c = n2.__(), r$1 = t2;\n}\nfunction C$1(n2, t2) {\n return !n2 || n2.length !== t2.length || t2.some(function(t3, r2) {\n return t3 !== n2[r2];\n });\n}\nfunction D$1(n2, t2) {\n return typeof t2 == \"function\" ? t2(n2) : t2;\n}\nfunction g(n2, t2) {\n for (var e2 in n2) if (e2 !== \"__source\" && !(e2 in t2)) return !0;\n for (var r2 in t2) if (r2 !== \"__source\" && n2[r2] !== t2[r2]) return !0;\n return !1;\n}\nfunction E(n2, t2) {\n var e2 = t2(), r2 = h({ t: { __: e2, u: t2 } }), u2 = r2[0].t, o2 = r2[1];\n return _(function() {\n u2.__ = e2, u2.u = t2, C(u2) && o2({ t: u2 });\n }, [n2, e2, t2]), y(function() {\n return C(u2) && o2({ t: u2 }), n2(function() {\n C(u2) && o2({ t: u2 });\n });\n }, [n2]), e2;\n}\nfunction C(n2) {\n var t2, e2, r2 = n2.u, u2 = n2.__;\n try {\n var o2 = r2();\n return !((t2 = u2) === (e2 = o2) && (t2 !== 0 || 1 / t2 == 1 / e2) || t2 != t2 && e2 != e2);\n } catch {\n return !0;\n }\n}\nfunction x(n2) {\n n2();\n}\nfunction R(n2) {\n return n2;\n}\nfunction w() {\n return [!1, x];\n}\nvar k = _;\nfunction I(n2, t2) {\n this.props = n2, this.context = t2;\n}\nfunction N(n2, e2) {\n function r2(n3) {\n var t2 = this.props.ref, r3 = t2 == n3.ref;\n return !r3 && t2 && (t2.call ? t2(null) : t2.current = null), e2 ? !e2(this.props, n3) || !r3 : g(this.props, n3);\n }\n function u2(e3) {\n return this.shouldComponentUpdate = r2, _$1(n2, e3);\n }\n return u2.displayName = \"Memo(\" + (n2.displayName || n2.name) + \")\", u2.prototype.isReactComponent = !0, u2.__f = !0, u2;\n}\n(I.prototype = new k$2()).isPureReactComponent = !0, I.prototype.shouldComponentUpdate = function(n2, t2) {\n return g(this.props, n2) || g(this.state, t2);\n};\nvar M = l$1.__b;\nl$1.__b = function(n2) {\n n2.type && n2.type.__f && n2.ref && (n2.props.ref = n2.ref, n2.ref = null), M && M(n2);\n};\nvar T = typeof Symbol < \"u\" && Symbol.for && Symbol.for(\"react.forward_ref\") || 3911;\nfunction A(n2) {\n function t2(t3) {\n if (!(\"ref\" in t3)) return n2(t3, null);\n var e2 = t3.ref;\n delete t3.ref;\n var r2 = n2(t3, e2);\n return t3.ref = e2, r2;\n }\n return t2.$$typeof = T, t2.render = t2, t2.prototype.isReactComponent = t2.__f = !0, t2.displayName = \"ForwardRef(\" + (n2.displayName || n2.name) + \")\", t2;\n}\nvar D = function(n2, t2) {\n return n2 == null ? null : H$1(H$1(n2).map(t2));\n}, L = { map: D, forEach: D, count: function(n2) {\n return n2 ? H$1(n2).length : 0;\n}, only: function(n2) {\n var t2 = H$1(n2);\n if (t2.length !== 1) throw \"Children.only\";\n return t2[0];\n}, toArray: H$1 }, O = l$1.__e;\nl$1.__e = function(n2, t2, e2, r2) {\n if (n2.then) {\n for (var u2, o2 = t2; o2 = o2.__; ) if ((u2 = o2.__c) && u2.__c) return t2.__e == null && (t2.__e = e2.__e, t2.__k = e2.__k), u2.__c(n2, t2);\n }\n O(n2, t2, e2, r2);\n};\nvar F = l$1.unmount;\nfunction U(n2, t2, e2) {\n return n2 && (n2.__c && n2.__c.__H && (n2.__c.__H.__.forEach(function(n3) {\n typeof n3.__c == \"function\" && n3.__c();\n }), n2.__c.__H = null), (n2 = function(n3, t3) {\n for (var e3 in t3) n3[e3] = t3[e3];\n return n3;\n }({}, n2)).__c != null && (n2.__c.__P === e2 && (n2.__c.__P = t2), n2.__c = null), n2.__k = n2.__k && n2.__k.map(function(n3) {\n return U(n3, t2, e2);\n })), n2;\n}\nfunction V(n2, t2, e2) {\n return n2 && e2 && (n2.__v = null, n2.__k = n2.__k && n2.__k.map(function(n3) {\n return V(n3, t2, e2);\n }), n2.__c && n2.__c.__P === t2 && (n2.__e && e2.appendChild(n2.__e), n2.__c.__e = !0, n2.__c.__P = e2)), n2;\n}\nfunction W() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction P(n2) {\n var t2 = n2.__.__c;\n return t2 && t2.__a && t2.__a(n2);\n}\nfunction j(n2) {\n var e2, r2, u2;\n function o2(o3) {\n if (e2 || (e2 = n2()).then(function(n3) {\n r2 = n3.default || n3;\n }, function(n3) {\n u2 = n3;\n }), u2) throw u2;\n if (!r2) throw e2;\n return _$1(r2, o3);\n }\n return o2.displayName = \"Lazy\", o2.__f = !0, o2;\n}\nfunction z() {\n this.i = null, this.l = null;\n}\nl$1.unmount = function(n2) {\n var t2 = n2.__c;\n t2 && t2.__R && t2.__R(), t2 && 32 & n2.__u && (n2.type = null), F && F(n2);\n}, (W.prototype = new k$2()).__c = function(n2, t2) {\n var e2 = t2.__c, r2 = this;\n r2.o == null && (r2.o = []), r2.o.push(e2);\n var u2 = P(r2.__v), o2 = !1, i2 = function() {\n o2 || (o2 = !0, e2.__R = null, u2 ? u2(c2) : c2());\n };\n e2.__R = i2;\n var c2 = function() {\n if (!--r2.__u) {\n if (r2.state.__a) {\n var n3 = r2.state.__a;\n r2.__v.__k[0] = V(n3, n3.__c.__P, n3.__c.__O);\n }\n var t3;\n for (r2.setState({ __a: r2.__b = null }); t3 = r2.o.pop(); ) t3.forceUpdate();\n }\n };\n r2.__u++ || 32 & t2.__u || r2.setState({ __a: r2.__b = r2.__v.__k[0] }), n2.then(i2, i2);\n}, W.prototype.componentWillUnmount = function() {\n this.o = [];\n}, W.prototype.render = function(n2, e2) {\n if (this.__b) {\n if (this.__v.__k) {\n var r2 = document.createElement(\"div\"), o2 = this.__v.__k[0].__c;\n this.__v.__k[0] = U(this.__b, r2, o2.__O = o2.__P);\n }\n this.__b = null;\n }\n var i2 = e2.__a && _$1(b, null, n2.fallback);\n return i2 && (i2.__u &= -33), [_$1(b, null, e2.__a ? null : n2.children), i2];\n};\nvar B = function(n2, t2, e2) {\n if (++e2[1] === e2[0] && n2.l.delete(t2), n2.props.revealOrder && (n2.props.revealOrder[0] !== \"t\" || !n2.l.size)) for (e2 = n2.i; e2; ) {\n for (; e2.length > 3; ) e2.pop()();\n if (e2[1] < e2[0]) break;\n n2.i = e2 = e2[2];\n }\n};\nfunction H(n2) {\n return this.getChildContext = function() {\n return n2.context;\n }, n2.children;\n}\nfunction Z(n2) {\n var e2 = this, r2 = n2.h;\n e2.componentWillUnmount = function() {\n q$2(null, e2.v), e2.v = null, e2.h = null;\n }, e2.h && e2.h !== r2 && e2.componentWillUnmount(), e2.v || (e2.h = r2, e2.v = { nodeType: 1, parentNode: r2, childNodes: [], contains: function() {\n return !0;\n }, appendChild: function(n3) {\n this.childNodes.push(n3), e2.h.appendChild(n3);\n }, insertBefore: function(n3, t2) {\n this.childNodes.push(n3), e2.h.appendChild(n3);\n }, removeChild: function(n3) {\n this.childNodes.splice(this.childNodes.indexOf(n3) >>> 1, 1), e2.h.removeChild(n3);\n } }), q$2(_$1(H, { context: e2.context }, n2.__v), e2.v);\n}\nfunction Y(n2, e2) {\n var r2 = _$1(Z, { __v: n2, h: e2 });\n return r2.containerInfo = e2, r2;\n}\n(z.prototype = new k$2()).__a = function(n2) {\n var t2 = this, e2 = P(t2.__v), r2 = t2.l.get(n2);\n return r2[0]++, function(u2) {\n var o2 = function() {\n t2.props.revealOrder ? (r2.push(u2), B(t2, n2, r2)) : u2();\n };\n e2 ? e2(o2) : o2();\n };\n}, z.prototype.render = function(n2) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var t2 = H$1(n2.children);\n n2.revealOrder && n2.revealOrder[0] === \"b\" && t2.reverse();\n for (var e2 = t2.length; e2--; ) this.l.set(t2[e2], this.i = [1, 0, this.i]);\n return n2.children;\n}, z.prototype.componentDidUpdate = z.prototype.componentDidMount = function() {\n var n2 = this;\n this.l.forEach(function(t2, e2) {\n B(n2, e2, t2);\n });\n};\nvar $ = typeof Symbol < \"u\" && Symbol.for && Symbol.for(\"react.element\") || 60103, q = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, G = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, J = /[A-Z0-9]/g, K = typeof document < \"u\", Q = function(n2) {\n return (typeof Symbol < \"u\" && typeof Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(n2);\n};\nfunction X(n2, t2, e2) {\n return t2.__k == null && (t2.textContent = \"\"), q$2(n2, t2), typeof e2 == \"function\" && e2(), n2 ? n2.__c : null;\n}\nfunction nn(n2, t2, e2) {\n return B$2(n2, t2), typeof e2 == \"function\" && e2(), n2 ? n2.__c : null;\n}\nk$2.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t2) {\n Object.defineProperty(k$2.prototype, t2, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t2];\n }, set: function(n2) {\n Object.defineProperty(this, t2, { configurable: !0, writable: !0, value: n2 });\n } });\n});\nvar tn = l$1.event;\nfunction en() {\n}\nfunction rn() {\n return this.cancelBubble;\n}\nfunction un() {\n return this.defaultPrevented;\n}\nl$1.event = function(n2) {\n return tn && (n2 = tn(n2)), n2.persist = en, n2.isPropagationStopped = rn, n2.isDefaultPrevented = un, n2.nativeEvent = n2;\n};\nvar on, cn = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, fn = l$1.vnode;\nl$1.vnode = function(n2) {\n typeof n2.type == \"string\" && function(n3) {\n var t2 = n3.props, e2 = n3.type, u2 = {}, o2 = e2.indexOf(\"-\") === -1;\n for (var i2 in t2) {\n var c2 = t2[i2];\n if (!(i2 === \"value\" && \"defaultValue\" in t2 && c2 == null || K && i2 === \"children\" && e2 === \"noscript\" || i2 === \"class\" || i2 === \"className\")) {\n var f2 = i2.toLowerCase();\n i2 === \"defaultValue\" && \"value\" in t2 && t2.value == null ? i2 = \"value\" : i2 === \"download\" && c2 === !0 ? c2 = \"\" : f2 === \"translate\" && c2 === \"no\" ? c2 = !1 : f2[0] === \"o\" && f2[1] === \"n\" ? f2 === \"ondoubleclick\" ? i2 = \"ondblclick\" : f2 !== \"onchange\" || e2 !== \"input\" && e2 !== \"textarea\" || Q(t2.type) ? f2 === \"onfocus\" ? i2 = \"onfocusin\" : f2 === \"onblur\" ? i2 = \"onfocusout\" : G.test(i2) && (i2 = f2) : f2 = i2 = \"oninput\" : o2 && q.test(i2) ? i2 = i2.replace(J, \"-$&\").toLowerCase() : c2 === null && (c2 = void 0), f2 === \"oninput\" && u2[i2 = f2] && (i2 = \"oninputCapture\"), u2[i2] = c2;\n }\n }\n e2 == \"select\" && u2.multiple && Array.isArray(u2.value) && (u2.value = H$1(t2.children).forEach(function(n4) {\n n4.props.selected = u2.value.indexOf(n4.props.value) != -1;\n })), e2 == \"select\" && u2.defaultValue != null && (u2.value = H$1(t2.children).forEach(function(n4) {\n n4.props.selected = u2.multiple ? u2.defaultValue.indexOf(n4.props.value) != -1 : u2.defaultValue == n4.props.value;\n })), t2.class && !t2.className ? (u2.class = t2.class, Object.defineProperty(u2, \"className\", cn)) : (t2.className && !t2.class || t2.class && t2.className) && (u2.class = u2.className = t2.className), n3.props = u2;\n }(n2), n2.$$typeof = $, fn && fn(n2);\n};\nvar ln = l$1.__r;\nl$1.__r = function(n2) {\n ln && ln(n2), on = n2.__c;\n};\nvar an = l$1.diffed;\nl$1.diffed = function(n2) {\n an && an(n2);\n var t2 = n2.props, e2 = n2.__e;\n e2 != null && n2.type === \"textarea\" && \"value\" in t2 && t2.value !== e2.value && (e2.value = t2.value == null ? \"\" : t2.value), on = null;\n};\nvar sn = { ReactCurrentDispatcher: { current: { readContext: function(n2) {\n return on.__n[n2.__c].props.value;\n}, useCallback: q$1, useContext: x$1, useDebugValue: P$1, useDeferredValue: R, useEffect: y, useId: g$1, useImperativeHandle: F$1, useInsertionEffect: k, useLayoutEffect: _, useMemo: T$1, useReducer: p, useRef: A$1, useState: h, useSyncExternalStore: E, useTransition: w } } };\nfunction vn(n2) {\n return _$1.bind(null, n2);\n}\nfunction dn(n2) {\n return !!n2 && n2.$$typeof === $;\n}\nfunction pn(n2) {\n return dn(n2) && n2.type === b;\n}\nfunction mn(n2) {\n return !!n2 && !!n2.displayName && (typeof n2.displayName == \"string\" || n2.displayName instanceof String) && n2.displayName.startsWith(\"Memo(\");\n}\nfunction yn(n2) {\n return dn(n2) ? D$2.apply(null, arguments) : n2;\n}\nfunction _n(n2) {\n return !!n2.__k && (q$2(null, n2), !0);\n}\nfunction bn(n2) {\n return n2 && (n2.base || n2.nodeType === 1 && n2) || null;\n}\nvar Sn = function(n2, t2) {\n return n2(t2);\n}, gn = function(n2, t2) {\n return n2(t2);\n}, En = b, Cn = dn, xn = { useState: h, useId: g$1, useReducer: p, useEffect: y, useLayoutEffect: _, useInsertionEffect: k, useTransition: w, useDeferredValue: R, useSyncExternalStore: E, startTransition: x, useRef: A$1, useImperativeHandle: F$1, useMemo: T$1, useCallback: q$1, useContext: x$1, useDebugValue: P$1, version: \"18.3.1\", Children: L, render: X, hydrate: nn, unmountComponentAtNode: _n, createPortal: Y, createElement: _$1, createContext: G$1, createFactory: vn, cloneElement: yn, createRef: m$1, Fragment: b, isValidElement: dn, isElement: Cn, isFragment: pn, isMemo: mn, findDOMNode: bn, Component: k$2, PureComponent: I, memo: N, forwardRef: A, flushSync: gn, unstable_batchedUpdates: Sn, StrictMode: En, Suspense: W, SuspenseList: z, lazy: j, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: sn };\nfunction r(e2) {\n var t2, f2, n2 = \"\";\n if (typeof e2 == \"string\" || typeof e2 == \"number\") n2 += e2;\n else if (typeof e2 == \"object\") if (Array.isArray(e2)) {\n var o2 = e2.length;\n for (t2 = 0; t2 < o2; t2++) e2[t2] && (f2 = r(e2[t2])) && (n2 && (n2 += \" \"), n2 += f2);\n } else for (f2 in e2) e2[f2] && (n2 && (n2 += \" \"), n2 += f2);\n return n2;\n}\nfunction clsx() {\n for (var e2, t2, f2 = 0, n2 = \"\", o2 = arguments.length; f2 < o2; f2++) (e2 = arguments[f2]) && (t2 = r(e2)) && (n2 && (n2 += \" \"), n2 += t2);\n return n2;\n}\nfunction getColSpan(column, lastFrozenColumnIndex, args) {\n const colSpan = typeof column.colSpan == \"function\" ? column.colSpan(args) : 1;\n if (Number.isInteger(colSpan) && colSpan > 1 && (!column.frozen || column.idx + colSpan - 1 <= lastFrozenColumnIndex))\n return colSpan;\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\nfunction scrollIntoView(element) {\n element == null || element.scrollIntoView({\n inline: \"nearest\",\n block: \"nearest\"\n });\n}\nfunction createCellEvent(event) {\n let defaultPrevented = !1;\n const cellEvent = {\n ...event,\n preventGridDefault() {\n defaultPrevented = !0;\n },\n isGridDefaultPrevented() {\n return defaultPrevented;\n }\n };\n return Object.setPrototypeOf(cellEvent, Object.getPrototypeOf(event)), cellEvent;\n}\nconst nonInputKeys = /* @__PURE__ */ new Set([\"Unidentified\", \"Alt\", \"AltGraph\", \"CapsLock\", \"Control\", \"Fn\", \"FnLock\", \"Meta\", \"NumLock\", \"ScrollLock\", \"Shift\", \"Tab\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"End\", \"Home\", \"PageDown\", \"PageUp\", \"Insert\", \"ContextMenu\", \"Escape\", \"Pause\", \"Play\", \"PrintScreen\", \"F1\", \"F3\", \"F4\", \"F5\", \"F6\", \"F7\", \"F8\", \"F9\", \"F10\", \"F11\", \"F12\"]);\nfunction isCtrlKeyHeldDown(e2) {\n return (e2.ctrlKey || e2.metaKey) && e2.key !== \"Control\";\n}\nfunction isDefaultCellInput(event) {\n return isCtrlKeyHeldDown(event) && event.keyCode !== 86 ? !1 : !nonInputKeys.has(event.key);\n}\nfunction onEditorNavigation({\n key,\n target\n}) {\n var _a;\n return key === \"Tab\" && (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target instanceof HTMLSelectElement) ? ((_a = target.closest(\".rdg-editor-container\")) == null ? void 0 : _a.querySelectorAll(\"input, textarea, select\").length) === 1 : !1;\n}\nconst measuringCellClassname = \"mlln6zg7-0-0-beta-47\";\nfunction renderMeasuringCells(viewportColumns) {\n return viewportColumns.map(({\n key,\n idx,\n minWidth,\n maxWidth\n }) => /* @__PURE__ */ u$1(\"div\", {\n className: measuringCellClassname,\n style: {\n gridColumnStart: idx + 1,\n minWidth,\n maxWidth\n },\n \"data-measuring-cell-key\": key\n }, key));\n}\nfunction isSelectedCellEditable({\n selectedPosition,\n columns,\n rows\n}) {\n const column = columns[selectedPosition.idx], row2 = rows[selectedPosition.rowIdx];\n return isCellEditableUtil(column, row2);\n}\nfunction isCellEditableUtil(column, row2) {\n return column.renderEditCell != null && (typeof column.editable == \"function\" ? column.editable(row2) : column.editable) !== !1;\n}\nfunction getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n}) {\n const topSummaryRowsCount = (topSummaryRows == null ? void 0 : topSummaryRows.length) ?? 0;\n if (rowIdx === mainHeaderRowIdx)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n });\n if (topSummaryRows && rowIdx > mainHeaderRowIdx && rowIdx <= topSummaryRowsCount + mainHeaderRowIdx)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: topSummaryRows[rowIdx + topSummaryRowsCount]\n });\n if (rowIdx >= 0 && rowIdx < rows.length) {\n const row2 = rows[rowIdx];\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n });\n }\n if (bottomSummaryRows)\n return getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: bottomSummaryRows[rowIdx - rows.length]\n });\n}\nfunction getNextSelectedCellPosition({\n moveUp,\n moveNext,\n cellNavigationMode,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n currentPosition: {\n idx: currentIdx,\n rowIdx: currentRowIdx\n },\n nextPosition,\n lastFrozenColumnIndex,\n isCellWithinBounds\n}) {\n let {\n idx: nextIdx,\n rowIdx: nextRowIdx\n } = nextPosition;\n const columnsCount = columns.length, setColSpan = (moveNext2) => {\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx > nextIdx) break;\n const colSpan = getSelectedCellColSpan({\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowIdx: nextRowIdx,\n mainHeaderRowIdx,\n lastFrozenColumnIndex,\n column\n });\n if (colSpan && nextIdx > colIdx && nextIdx < colSpan + colIdx) {\n nextIdx = colIdx + (moveNext2 ? colSpan : 0);\n break;\n }\n }\n }, getParentRowIdx = (parent) => parent.level + mainHeaderRowIdx, setHeaderGroupColAndRowSpan = () => {\n if (moveNext) {\n let parent = columns[nextIdx].parent;\n for (; parent !== void 0; ) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx === parentRowIdx) {\n nextIdx = parent.idx + parent.colSpan;\n break;\n }\n parent = parent.parent;\n }\n } else if (moveUp) {\n let parent = columns[nextIdx].parent, found = !1;\n for (; parent !== void 0; ) {\n const parentRowIdx = getParentRowIdx(parent);\n if (nextRowIdx >= parentRowIdx) {\n nextIdx = parent.idx, nextRowIdx = parentRowIdx, found = !0;\n break;\n }\n parent = parent.parent;\n }\n found || (nextIdx = currentIdx, nextRowIdx = currentRowIdx);\n }\n };\n if (isCellWithinBounds(nextPosition) && (setColSpan(moveNext), nextRowIdx < mainHeaderRowIdx && setHeaderGroupColAndRowSpan()), cellNavigationMode === \"CHANGE_ROW\" && (nextIdx === columnsCount ? nextRowIdx === maxRowIdx || (nextIdx = 0, nextRowIdx += 1) : nextIdx === -1 && (nextRowIdx === minRowIdx || (nextRowIdx -= 1, nextIdx = columnsCount - 1), setColSpan(!1))), nextRowIdx < mainHeaderRowIdx) {\n let parent = columns[nextIdx].parent;\n const nextParentRowIdx = nextRowIdx;\n for (nextRowIdx = mainHeaderRowIdx; parent !== void 0; ) {\n const parentRowIdx = getParentRowIdx(parent);\n parentRowIdx >= nextParentRowIdx && (nextRowIdx = parentRowIdx, nextIdx = parent.idx), parent = parent.parent;\n }\n }\n return {\n idx: nextIdx,\n rowIdx: nextRowIdx\n };\n}\nfunction canExitGrid({\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition: {\n rowIdx,\n idx\n },\n shiftKey\n}) {\n return shiftKey ? idx === 0 && rowIdx === minRowIdx : idx === maxColIdx && rowIdx === maxRowIdx;\n}\nconst cell = \"cj343x07-0-0-beta-47\", cellClassname = `rdg-cell ${cell}`, cellFrozen = \"csofj7r7-0-0-beta-47\", cellFrozenClassname = `rdg-cell-frozen ${cellFrozen}`;\nfunction getRowStyle(rowIdx) {\n return {\n \"--rdg-grid-row-start\": rowIdx\n };\n}\nfunction getHeaderCellStyle(column, rowIdx, rowSpan) {\n const gridRowEnd = rowIdx + 1, paddingBlockStart = `calc(${rowSpan - 1} * var(--rdg-header-row-height))`;\n return column.parent === void 0 ? {\n insetBlockStart: 0,\n gridRowStart: 1,\n gridRowEnd,\n paddingBlockStart\n } : {\n insetBlockStart: `calc(${rowIdx - rowSpan} * var(--rdg-header-row-height))`,\n gridRowStart: gridRowEnd - rowSpan,\n gridRowEnd,\n paddingBlockStart\n };\n}\nfunction getCellStyle(column, colSpan = 1) {\n const index = column.idx + 1;\n return {\n gridColumnStart: index,\n gridColumnEnd: index + colSpan,\n insetInlineStart: column.frozen ? `var(--rdg-frozen-left-${column.idx})` : void 0\n };\n}\nfunction getCellClassname(column, ...extraClasses) {\n return clsx(cellClassname, ...extraClasses, column.frozen && cellFrozenClassname);\n}\nconst {\n min,\n max,\n floor,\n sign,\n abs\n} = Math;\nfunction assertIsValidKeyGetter(keyGetter) {\n if (typeof keyGetter != \"function\")\n throw new Error(\"Please specify the rowKeyGetter prop to use selection\");\n}\nfunction clampColumnWidth(width, {\n minWidth,\n maxWidth\n}) {\n return width = max(width, minWidth), typeof maxWidth == \"number\" && maxWidth >= minWidth ? min(width, maxWidth) : width;\n}\nfunction getHeaderCellRowSpan(column, rowIdx) {\n return column.parent === void 0 ? rowIdx : column.level - column.parent.level;\n}\nconst checkbox = \"c1bn88vv7-0-0-beta-47\", checkboxClassname = `rdg-checkbox-input ${checkbox}`;\nfunction renderCheckbox({\n onChange,\n indeterminate,\n ...props\n}) {\n function handleChange(e2) {\n onChange(e2.target.checked, e2.nativeEvent.shiftKey);\n }\n return /* @__PURE__ */ u$1(\"input\", {\n ref: (el) => {\n el && (el.indeterminate = indeterminate === !0);\n },\n type: \"checkbox\",\n className: checkboxClassname,\n onChange: handleChange,\n ...props\n });\n}\nfunction renderValue(props) {\n try {\n return props.row[props.column.key];\n } catch {\n return null;\n }\n}\nconst DataGridDefaultRenderersContext = /* @__PURE__ */ G$1(void 0), DataGridDefaultRenderersProvider = DataGridDefaultRenderersContext.Provider;\nfunction useDefaultRenderers() {\n return x$1(DataGridDefaultRenderersContext);\n}\nfunction SelectCellFormatter({\n value,\n tabIndex,\n indeterminate,\n disabled,\n onChange,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy\n}) {\n const renderCheckbox2 = useDefaultRenderers().renderCheckbox;\n return renderCheckbox2({\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n tabIndex,\n indeterminate,\n disabled,\n checked: value,\n onChange\n });\n}\nconst RowSelectionContext = /* @__PURE__ */ G$1(void 0), RowSelectionProvider = RowSelectionContext.Provider, RowSelectionChangeContext = /* @__PURE__ */ G$1(void 0), RowSelectionChangeProvider = RowSelectionChangeContext.Provider;\nfunction useRowSelection() {\n const rowSelectionContext = x$1(RowSelectionContext), rowSelectionChangeContext = x$1(RowSelectionChangeContext);\n if (rowSelectionContext === void 0 || rowSelectionChangeContext === void 0)\n throw new Error(\"useRowSelection must be used within DataGrid cells\");\n return {\n isRowSelectionDisabled: rowSelectionContext.isRowSelectionDisabled,\n isRowSelected: rowSelectionContext.isRowSelected,\n onRowSelectionChange: rowSelectionChangeContext\n };\n}\nconst HeaderRowSelectionContext = /* @__PURE__ */ G$1(void 0), HeaderRowSelectionProvider = HeaderRowSelectionContext.Provider, HeaderRowSelectionChangeContext = /* @__PURE__ */ G$1(void 0), HeaderRowSelectionChangeProvider = HeaderRowSelectionChangeContext.Provider;\nfunction useHeaderRowSelection() {\n const headerRowSelectionContext = x$1(HeaderRowSelectionContext), headerRowSelectionChangeContext = x$1(HeaderRowSelectionChangeContext);\n if (headerRowSelectionContext === void 0 || headerRowSelectionChangeContext === void 0)\n throw new Error(\"useHeaderRowSelection must be used within DataGrid cells\");\n return {\n isIndeterminate: headerRowSelectionContext.isIndeterminate,\n isRowSelected: headerRowSelectionContext.isRowSelected,\n onRowSelectionChange: headerRowSelectionChangeContext\n };\n}\nconst SELECT_COLUMN_KEY = \"rdg-select-column\";\nfunction HeaderRenderer(props) {\n const {\n isIndeterminate,\n isRowSelected,\n onRowSelectionChange\n } = useHeaderRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select All\",\n tabIndex: props.tabIndex,\n indeterminate: isIndeterminate,\n value: isRowSelected,\n onChange: (checked) => {\n onRowSelectionChange({\n checked: isIndeterminate ? !1 : checked\n });\n }\n });\n}\nfunction SelectFormatter(props) {\n const {\n isRowSelectionDisabled,\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select\",\n tabIndex: props.tabIndex,\n disabled: isRowSelectionDisabled,\n value: isRowSelected,\n onChange: (checked, isShiftClick) => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick\n });\n }\n });\n}\nfunction SelectGroupFormatter(props) {\n const {\n isRowSelected,\n onRowSelectionChange\n } = useRowSelection();\n return /* @__PURE__ */ u$1(SelectCellFormatter, {\n \"aria-label\": \"Select Group\",\n tabIndex: props.tabIndex,\n value: isRowSelected,\n onChange: (checked) => {\n onRowSelectionChange({\n row: props.row,\n checked,\n isShiftClick: !1\n });\n }\n });\n}\nconst SelectColumn = {\n key: SELECT_COLUMN_KEY,\n name: \"\",\n width: 35,\n minWidth: 35,\n maxWidth: 35,\n resizable: !1,\n sortable: !1,\n frozen: !0,\n renderHeaderCell(props) {\n return /* @__PURE__ */ u$1(HeaderRenderer, {\n ...props\n });\n },\n renderCell(props) {\n return /* @__PURE__ */ u$1(SelectFormatter, {\n ...props\n });\n },\n renderGroupCell(props) {\n return /* @__PURE__ */ u$1(SelectGroupFormatter, {\n ...props\n });\n }\n}, DEFAULT_COLUMN_WIDTH = \"auto\", DEFAULT_COLUMN_MIN_WIDTH = 50;\nfunction useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n viewportWidth,\n scrollLeft,\n enableVirtualization\n}) {\n const defaultWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.width) ?? DEFAULT_COLUMN_WIDTH, defaultMinWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.minWidth) ?? DEFAULT_COLUMN_MIN_WIDTH, defaultMaxWidth = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.maxWidth) ?? void 0, defaultCellRenderer = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.renderCell) ?? renderValue, defaultSortable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.sortable) ?? !1, defaultResizable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.resizable) ?? !1, defaultDraggable = (defaultColumnOptions == null ? void 0 : defaultColumnOptions.draggable) ?? !1, {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount\n } = T$1(() => {\n let lastFrozenColumnIndex2 = -1, headerRowsCount2 = 1;\n const columns2 = [];\n collectColumns(rawColumns, 1);\n function collectColumns(rawColumns2, level, parent) {\n for (const rawColumn of rawColumns2) {\n if (\"children\" in rawColumn) {\n const calculatedColumnParent = {\n name: rawColumn.name,\n parent,\n idx: -1,\n colSpan: 0,\n level: 0,\n headerCellClass: rawColumn.headerCellClass\n };\n collectColumns(rawColumn.children, level + 1, calculatedColumnParent);\n continue;\n }\n const frozen = rawColumn.frozen ?? !1, column = {\n ...rawColumn,\n parent,\n idx: 0,\n level: 0,\n frozen,\n width: rawColumn.width ?? defaultWidth,\n minWidth: rawColumn.minWidth ?? defaultMinWidth,\n maxWidth: rawColumn.maxWidth ?? defaultMaxWidth,\n sortable: rawColumn.sortable ?? defaultSortable,\n resizable: rawColumn.resizable ?? defaultResizable,\n draggable: rawColumn.draggable ?? defaultDraggable,\n renderCell: rawColumn.renderCell ?? defaultCellRenderer\n };\n columns2.push(column), frozen && lastFrozenColumnIndex2++, level > headerRowsCount2 && (headerRowsCount2 = level);\n }\n }\n columns2.sort(({\n key: aKey,\n frozen: frozenA\n }, {\n key: bKey,\n frozen: frozenB\n }) => aKey === SELECT_COLUMN_KEY ? -1 : bKey === SELECT_COLUMN_KEY ? 1 : frozenA ? frozenB ? 0 : -1 : frozenB ? 1 : 0);\n const colSpanColumns2 = [];\n return columns2.forEach((column, idx) => {\n column.idx = idx, updateColumnParent(column, idx, 0), column.colSpan != null && colSpanColumns2.push(column);\n }), {\n columns: columns2,\n colSpanColumns: colSpanColumns2,\n lastFrozenColumnIndex: lastFrozenColumnIndex2,\n headerRowsCount: headerRowsCount2\n };\n }, [rawColumns, defaultWidth, defaultMinWidth, defaultMaxWidth, defaultCellRenderer, defaultResizable, defaultSortable, defaultDraggable]), {\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth,\n columnMetrics\n } = T$1(() => {\n const columnMetrics2 = /* @__PURE__ */ new Map();\n let left = 0, totalFrozenColumnWidth2 = 0;\n const templateColumns2 = [];\n for (const column of columns) {\n let width = getColumnWidth(column);\n typeof width == \"number\" ? width = clampColumnWidth(width, column) : width = column.minWidth, templateColumns2.push(`${width}px`), columnMetrics2.set(column, {\n width,\n left\n }), left += width;\n }\n if (lastFrozenColumnIndex !== -1) {\n const columnMetric = columnMetrics2.get(columns[lastFrozenColumnIndex]);\n totalFrozenColumnWidth2 = columnMetric.left + columnMetric.width;\n }\n const layoutCssVars2 = {};\n for (let i2 = 0; i2 <= lastFrozenColumnIndex; i2++) {\n const column = columns[i2];\n layoutCssVars2[`--rdg-frozen-left-${column.idx}`] = `${columnMetrics2.get(column).left}px`;\n }\n return {\n templateColumns: templateColumns2,\n layoutCssVars: layoutCssVars2,\n totalFrozenColumnWidth: totalFrozenColumnWidth2,\n columnMetrics: columnMetrics2\n };\n }, [getColumnWidth, columns, lastFrozenColumnIndex]), [colOverscanStartIdx, colOverscanEndIdx] = T$1(() => {\n if (!enableVirtualization)\n return [0, columns.length - 1];\n const viewportLeft = scrollLeft + totalFrozenColumnWidth, viewportRight = scrollLeft + viewportWidth, lastColIdx = columns.length - 1, firstUnfrozenColumnIdx = min(lastFrozenColumnIndex + 1, lastColIdx);\n if (viewportLeft >= viewportRight)\n return [firstUnfrozenColumnIdx, firstUnfrozenColumnIdx];\n let colVisibleStartIdx = firstUnfrozenColumnIdx;\n for (; colVisibleStartIdx < lastColIdx; ) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleStartIdx]);\n if (left + width > viewportLeft)\n break;\n colVisibleStartIdx++;\n }\n let colVisibleEndIdx = colVisibleStartIdx;\n for (; colVisibleEndIdx < lastColIdx; ) {\n const {\n left,\n width\n } = columnMetrics.get(columns[colVisibleEndIdx]);\n if (left + width >= viewportRight)\n break;\n colVisibleEndIdx++;\n }\n const colOverscanStartIdx2 = max(firstUnfrozenColumnIdx, colVisibleStartIdx - 1), colOverscanEndIdx2 = min(lastColIdx, colVisibleEndIdx + 1);\n return [colOverscanStartIdx2, colOverscanEndIdx2];\n }, [columnMetrics, columns, lastFrozenColumnIndex, scrollLeft, totalFrozenColumnWidth, viewportWidth, enableVirtualization]);\n return {\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n headerRowsCount,\n lastFrozenColumnIndex,\n totalFrozenColumnWidth\n };\n}\nfunction updateColumnParent(column, index, level) {\n if (level < column.level && (column.level = level), column.parent !== void 0) {\n const {\n parent\n } = column;\n parent.idx === -1 && (parent.idx = index), parent.colSpan += 1, updateColumnParent(parent, index, level - 1);\n }\n}\nconst useLayoutEffect = typeof window > \"u\" ? y : _;\nfunction useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize) {\n const prevGridWidthRef = A$1(gridWidth), columnsCanFlex = columns.length === viewportColumns.length, ignorePreviouslyMeasuredColumns = columnsCanFlex && gridWidth !== prevGridWidthRef.current, newTemplateColumns = [...templateColumns], columnsToMeasure = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns)\n typeof width == \"string\" && (ignorePreviouslyMeasuredColumns || !measuredColumnWidths.has(key)) && !resizedColumnWidths.has(key) && (newTemplateColumns[idx] = width, columnsToMeasure.push(key));\n const gridTemplateColumns = newTemplateColumns.join(\" \");\n useLayoutEffect(() => {\n prevGridWidthRef.current = gridWidth, updateMeasuredWidths(columnsToMeasure);\n });\n function updateMeasuredWidths(columnsToMeasure2) {\n columnsToMeasure2.length !== 0 && setMeasuredColumnWidths((measuredColumnWidths2) => {\n const newMeasuredColumnWidths = new Map(measuredColumnWidths2);\n let hasChanges = !1;\n for (const key of columnsToMeasure2) {\n const measuredWidth = measureColumnWidth(gridRef, key);\n hasChanges || (hasChanges = measuredWidth !== measuredColumnWidths2.get(key)), measuredWidth === void 0 ? newMeasuredColumnWidths.delete(key) : newMeasuredColumnWidths.set(key, measuredWidth);\n }\n return hasChanges ? newMeasuredColumnWidths : measuredColumnWidths2;\n });\n }\n function handleColumnResize(column, nextWidth) {\n const {\n key: resizingKey\n } = column, newTemplateColumns2 = [...templateColumns], columnsToMeasure2 = [];\n for (const {\n key,\n idx,\n width\n } of viewportColumns)\n if (resizingKey === key) {\n const width2 = typeof nextWidth == \"number\" ? `${nextWidth}px` : nextWidth;\n newTemplateColumns2[idx] = width2;\n } else columnsCanFlex && typeof width == \"string\" && !resizedColumnWidths.has(key) && (newTemplateColumns2[idx] = width, columnsToMeasure2.push(key));\n gridRef.current.style.gridTemplateColumns = newTemplateColumns2.join(\" \");\n const measuredWidth = typeof nextWidth == \"number\" ? nextWidth : measureColumnWidth(gridRef, resizingKey);\n gn(() => {\n setResizedColumnWidths((resizedColumnWidths2) => {\n const newResizedColumnWidths = new Map(resizedColumnWidths2);\n return newResizedColumnWidths.set(resizingKey, measuredWidth), newResizedColumnWidths;\n }), updateMeasuredWidths(columnsToMeasure2);\n }), onColumnResize == null || onColumnResize(column.idx, measuredWidth);\n }\n return {\n gridTemplateColumns,\n handleColumnResize\n };\n}\nfunction measureColumnWidth(gridRef, key) {\n var _a;\n const selector = `[data-measuring-cell-key=\"${CSS.escape(key)}\"]`, measuringCell = (_a = gridRef.current) == null ? void 0 : _a.querySelector(selector);\n return measuringCell == null ? void 0 : measuringCell.getBoundingClientRect().width;\n}\nfunction useGridDimensions() {\n const gridRef = A$1(null), [inlineSize, setInlineSize] = h(1), [blockSize, setBlockSize] = h(1), [horizontalScrollbarHeight, setHorizontalScrollbarHeight] = h(0);\n return useLayoutEffect(() => {\n const {\n ResizeObserver\n } = window;\n if (ResizeObserver == null) return;\n const {\n clientWidth,\n clientHeight,\n offsetWidth,\n offsetHeight\n } = gridRef.current, {\n width,\n height\n } = gridRef.current.getBoundingClientRect(), initialHorizontalScrollbarHeight = offsetHeight - clientHeight, initialWidth = width - offsetWidth + clientWidth, initialHeight = height - initialHorizontalScrollbarHeight;\n setInlineSize(initialWidth), setBlockSize(initialHeight), setHorizontalScrollbarHeight(initialHorizontalScrollbarHeight);\n const resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].contentBoxSize[0], {\n clientHeight: clientHeight2,\n offsetHeight: offsetHeight2\n } = gridRef.current;\n gn(() => {\n setInlineSize(size.inlineSize), setBlockSize(size.blockSize), setHorizontalScrollbarHeight(offsetHeight2 - clientHeight2);\n });\n });\n return resizeObserver.observe(gridRef.current), () => {\n resizeObserver.disconnect();\n };\n }, []), [gridRef, inlineSize, blockSize, horizontalScrollbarHeight];\n}\nfunction useLatestFunc(fn2) {\n const ref = A$1(fn2);\n y(() => {\n ref.current = fn2;\n });\n const callbackFn = q$1((...args) => {\n ref.current(...args);\n }, []);\n return fn2 && callbackFn;\n}\nfunction useRovingTabIndex(isSelected) {\n const [isChildFocused, setIsChildFocused] = h(!1);\n isChildFocused && !isSelected && setIsChildFocused(!1);\n function onFocus(event) {\n event.target !== event.currentTarget && setIsChildFocused(!0);\n }\n return {\n tabIndex: isSelected && !isChildFocused ? 0 : -1,\n childTabIndex: isSelected ? 0 : -1,\n onFocus: isSelected ? onFocus : void 0\n };\n}\nfunction useViewportColumns({\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx\n}) {\n const startIdx = T$1(() => {\n if (colOverscanStartIdx === 0) return 0;\n let startIdx2 = colOverscanStartIdx;\n const updateStartIdx = (colIdx, colSpan) => colSpan !== void 0 && colIdx + colSpan > colOverscanStartIdx ? (startIdx2 = colIdx, !0) : !1;\n for (const column of colSpanColumns) {\n const colIdx = column.idx;\n if (colIdx >= startIdx2 || updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n })))\n break;\n for (let rowIdx = rowOverscanStartIdx; rowIdx <= rowOverscanEndIdx; rowIdx++) {\n const row2 = rows[rowIdx];\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n })))\n break;\n }\n if (topSummaryRows != null) {\n for (const row2 of topSummaryRows)\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n })))\n break;\n }\n if (bottomSummaryRows != null) {\n for (const row2 of bottomSummaryRows)\n if (updateStartIdx(colIdx, getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n })))\n break;\n }\n }\n return startIdx2;\n }, [rowOverscanStartIdx, rowOverscanEndIdx, rows, topSummaryRows, bottomSummaryRows, colOverscanStartIdx, lastFrozenColumnIndex, colSpanColumns]);\n return T$1(() => {\n const viewportColumns = [];\n for (let colIdx = 0; colIdx <= colOverscanEndIdx; colIdx++) {\n const column = columns[colIdx];\n colIdx < startIdx && !column.frozen || viewportColumns.push(column);\n }\n return viewportColumns;\n }, [startIdx, colOverscanEndIdx, columns]);\n}\nfunction useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n}) {\n const {\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = T$1(() => {\n if (typeof rowHeight == \"number\")\n return {\n totalRowHeight: rowHeight * rows.length,\n gridTemplateRows: ` repeat(${rows.length}, ${rowHeight}px)`,\n getRowTop: (rowIdx) => rowIdx * rowHeight,\n getRowHeight: () => rowHeight,\n findRowIdx: (offset) => floor(offset / rowHeight)\n };\n let totalRowHeight2 = 0, gridTemplateRows2 = \" \";\n const rowPositions = rows.map((row2) => {\n const currentRowHeight = rowHeight(row2), position = {\n top: totalRowHeight2,\n height: currentRowHeight\n };\n return gridTemplateRows2 += `${currentRowHeight}px `, totalRowHeight2 += currentRowHeight, position;\n }), validateRowIdx = (rowIdx) => max(0, min(rows.length - 1, rowIdx));\n return {\n totalRowHeight: totalRowHeight2,\n gridTemplateRows: gridTemplateRows2,\n getRowTop: (rowIdx) => rowPositions[validateRowIdx(rowIdx)].top,\n getRowHeight: (rowIdx) => rowPositions[validateRowIdx(rowIdx)].height,\n findRowIdx(offset) {\n let start = 0, end = rowPositions.length - 1;\n for (; start <= end; ) {\n const middle = start + floor((end - start) / 2), currentOffset = rowPositions[middle].top;\n if (currentOffset === offset) return middle;\n if (currentOffset < offset ? start = middle + 1 : currentOffset > offset && (end = middle - 1), start > end) return end;\n }\n return 0;\n }\n };\n }, [rowHeight, rows]);\n let rowOverscanStartIdx = 0, rowOverscanEndIdx = rows.length - 1;\n if (enableVirtualization) {\n const rowVisibleStartIdx = findRowIdx(scrollTop), rowVisibleEndIdx = findRowIdx(scrollTop + clientHeight);\n rowOverscanStartIdx = max(0, rowVisibleStartIdx - 4), rowOverscanEndIdx = min(rows.length - 1, rowVisibleEndIdx + 4);\n }\n return {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n };\n}\nconst cellDragHandle = \"c1w9bbhr7-0-0-beta-47\", cellDragHandleFrozenClassname = \"c1creorc7-0-0-beta-47\", cellDragHandleClassname = `rdg-cell-drag-handle ${cellDragHandle}`;\nfunction DragHandle({\n gridRowStart,\n rows,\n column,\n columnWidth,\n maxColIdx,\n isLastRow,\n selectedPosition,\n latestDraggedOverRowIdx,\n isCellEditable,\n onRowsChange,\n onFill,\n onClick,\n setDragging,\n setDraggedOverRowIdx\n}) {\n const {\n idx,\n rowIdx\n } = selectedPosition;\n function handleMouseDown(event) {\n if (event.preventDefault(), event.buttons !== 1) return;\n setDragging(!0), window.addEventListener(\"mouseover\", onMouseOver), window.addEventListener(\"mouseup\", onMouseUp);\n function onMouseOver(event2) {\n event2.buttons !== 1 && onMouseUp();\n }\n function onMouseUp() {\n window.removeEventListener(\"mouseover\", onMouseOver), window.removeEventListener(\"mouseup\", onMouseUp), setDragging(!1), handleDragEnd();\n }\n }\n function handleDragEnd() {\n const overRowIdx = latestDraggedOverRowIdx.current;\n if (overRowIdx === void 0) return;\n const startRowIndex = rowIdx < overRowIdx ? rowIdx + 1 : overRowIdx, endRowIndex = rowIdx < overRowIdx ? overRowIdx + 1 : rowIdx;\n updateRows(startRowIndex, endRowIndex), setDraggedOverRowIdx(void 0);\n }\n function handleDoubleClick(event) {\n event.stopPropagation(), updateRows(rowIdx + 1, rows.length);\n }\n function updateRows(startRowIdx, endRowIdx) {\n const sourceRow = rows[rowIdx], updatedRows = [...rows], indexes = [];\n for (let i2 = startRowIdx; i2 < endRowIdx; i2++)\n if (isCellEditable({\n rowIdx: i2,\n idx\n })) {\n const updatedRow = onFill({\n columnKey: column.key,\n sourceRow,\n targetRow: rows[i2]\n });\n updatedRow !== rows[i2] && (updatedRows[i2] = updatedRow, indexes.push(i2));\n }\n indexes.length > 0 && (onRowsChange == null || onRowsChange(updatedRows, {\n indexes,\n column\n }));\n }\n function getStyle() {\n var _a;\n const colSpan = ((_a = column.colSpan) == null ? void 0 : _a.call(column, {\n type: \"ROW\",\n row: rows[rowIdx]\n })) ?? 1, {\n insetInlineStart,\n ...style\n } = getCellStyle(column, colSpan), marginEnd = \"calc(var(--rdg-drag-handle-size) * -0.5 + 1px)\", isLastColumn = column.idx + colSpan - 1 === maxColIdx;\n return {\n ...style,\n gridRowStart,\n marginInlineEnd: isLastColumn ? void 0 : marginEnd,\n marginBlockEnd: isLastRow ? void 0 : marginEnd,\n insetInlineStart: insetInlineStart ? `calc(${insetInlineStart} + ${columnWidth}px + var(--rdg-drag-handle-size) * -0.5 - 1px)` : void 0\n };\n }\n return /* @__PURE__ */ u$1(\"div\", {\n style: getStyle(),\n className: clsx(cellDragHandleClassname, column.frozen && cellDragHandleFrozenClassname),\n onClick,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick\n });\n}\nconst cellEditing = \"cis5rrm7-0-0-beta-47\";\nfunction EditCell({\n column,\n colSpan,\n row: row2,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown,\n navigate\n}) {\n var _a, _b, _c;\n const frameRequestRef = A$1(void 0), commitOnOutsideClick = ((_a = column.editorOptions) == null ? void 0 : _a.commitOnOutsideClick) !== !1, commitOnOutsideMouseDown = useLatestFunc(() => {\n onClose(!0, !1);\n });\n y(() => {\n if (!commitOnOutsideClick) return;\n function onWindowCaptureMouseDown() {\n frameRequestRef.current = requestAnimationFrame(commitOnOutsideMouseDown);\n }\n return addEventListener(\"mousedown\", onWindowCaptureMouseDown, {\n capture: !0\n }), () => {\n removeEventListener(\"mousedown\", onWindowCaptureMouseDown, {\n capture: !0\n }), cancelFrameRequest();\n };\n }, [commitOnOutsideClick, commitOnOutsideMouseDown]);\n function cancelFrameRequest() {\n cancelAnimationFrame(frameRequestRef.current);\n }\n function handleKeyDown(event) {\n if (onKeyDown) {\n const cellEvent = createCellEvent(event);\n if (onKeyDown({\n mode: \"EDIT\",\n row: row2,\n column,\n rowIdx,\n navigate() {\n navigate(event);\n },\n onClose\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n event.key === \"Escape\" ? onClose() : event.key === \"Enter\" ? onClose(!0) : onEditorNavigation(event) && navigate(event);\n }\n function onClose(commitChanges = !1, shouldFocusCell = !0) {\n commitChanges ? onRowChange(row2, !0, shouldFocusCell) : closeEditor(shouldFocusCell);\n }\n function onEditorRowChange(row3, commitChangesAndFocus = !1) {\n onRowChange(row3, commitChangesAndFocus, commitChangesAndFocus);\n }\n const {\n cellClass\n } = column, className = getCellClassname(column, \"rdg-editor-container\", typeof cellClass == \"function\" ? cellClass(row2) : cellClass, !((_b = column.editorOptions) != null && _b.displayCellContent) && cellEditing);\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": !0,\n className,\n style: getCellStyle(column, colSpan),\n onKeyDown: handleKeyDown,\n onMouseDownCapture: cancelFrameRequest,\n children: column.renderEditCell != null && /* @__PURE__ */ u$1(b, {\n children: [column.renderEditCell({\n column,\n row: row2,\n rowIdx,\n onRowChange: onEditorRowChange,\n onClose\n }), ((_c = column.editorOptions) == null ? void 0 : _c.displayCellContent) && column.renderCell({\n column,\n row: row2,\n rowIdx,\n isCellEditable: !0,\n tabIndex: -1,\n onRowChange: onEditorRowChange\n })]\n })\n });\n}\nfunction GroupedColumnHeaderCell({\n column,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n const {\n tabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n colSpan\n } = column, rowSpan = getHeaderCellRowSpan(column, rowIdx), index = column.idx + 1;\n function onClick() {\n selectCell({\n idx: column.idx,\n rowIdx\n });\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"columnheader\",\n \"aria-colindex\": index,\n \"aria-colspan\": colSpan,\n \"aria-rowspan\": rowSpan,\n \"aria-selected\": isCellSelected,\n tabIndex,\n className: clsx(cellClassname, column.headerCellClass),\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n gridColumnStart: index,\n gridColumnEnd: index + colSpan\n },\n onFocus,\n onClick,\n children: column.name\n });\n}\nconst headerSortCellClassname = \"h44jtk67-0-0-beta-47\", headerSortName = \"hcgkhxz7-0-0-beta-47\", headerSortNameClassname = `rdg-header-sort-name ${headerSortName}`;\nfunction renderHeaderCell({\n column,\n sortDirection,\n priority\n}) {\n return column.sortable ? /* @__PURE__ */ u$1(SortableHeaderCell, {\n sortDirection,\n priority,\n children: column.name\n }) : column.name;\n}\nfunction SortableHeaderCell({\n sortDirection,\n priority,\n children\n}) {\n const renderSortStatus2 = useDefaultRenderers().renderSortStatus;\n return /* @__PURE__ */ u$1(\"span\", {\n className: headerSortCellClassname,\n children: [/* @__PURE__ */ u$1(\"span\", {\n className: headerSortNameClassname,\n children\n }), /* @__PURE__ */ u$1(\"span\", {\n children: renderSortStatus2({\n sortDirection,\n priority\n })\n })]\n });\n}\nconst cellSortableClassname = \"c6l2wv17-0-0-beta-47\", cellResizable = \"c1kqdw7y7-0-0-beta-47\", cellResizableClassname = `rdg-cell-resizable ${cellResizable}`, resizeHandleClassname = \"r1y6ywlx7-0-0-beta-47\", cellDraggableClassname = \"rdg-cell-draggable\", cellDragging = \"c1bezg5o7-0-0-beta-47\", cellDraggingClassname = `rdg-cell-dragging ${cellDragging}`, cellOver = \"c1vc96037-0-0-beta-47\", cellOverClassname = `rdg-cell-drag-over ${cellOver}`;\nfunction HeaderCell({\n column,\n colSpan,\n rowIdx,\n isCellSelected,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n selectCell,\n shouldFocusGrid,\n direction,\n dragDropKey\n}) {\n const [isDragging, setIsDragging] = h(!1), [isOver, setIsOver] = h(!1), isRtl = direction === \"rtl\", rowSpan = getHeaderCellRowSpan(column, rowIdx), {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), sortIndex = sortColumns == null ? void 0 : sortColumns.findIndex((sort) => sort.columnKey === column.key), sortColumn = sortIndex !== void 0 && sortIndex > -1 ? sortColumns[sortIndex] : void 0, sortDirection = sortColumn == null ? void 0 : sortColumn.direction, priority = sortColumn !== void 0 && sortColumns.length > 1 ? sortIndex + 1 : void 0, ariaSort = sortDirection && !priority ? sortDirection === \"ASC\" ? \"ascending\" : \"descending\" : void 0, {\n sortable,\n resizable,\n draggable\n } = column, className = getCellClassname(column, column.headerCellClass, sortable && cellSortableClassname, resizable && cellResizableClassname, draggable && cellDraggableClassname, isDragging && cellDraggingClassname, isOver && cellOverClassname), renderHeaderCell$1 = column.renderHeaderCell ?? renderHeaderCell;\n function onPointerDown(event) {\n if (event.pointerType === \"mouse\" && event.buttons !== 1)\n return;\n event.preventDefault();\n const {\n currentTarget,\n pointerId\n } = event, headerCell = currentTarget.parentElement, {\n right,\n left\n } = headerCell.getBoundingClientRect(), offset = isRtl ? event.clientX - left : right - event.clientX;\n let hasDoubleClicked = !1;\n function onPointerMove(event2) {\n const {\n width,\n right: right2,\n left: left2\n } = headerCell.getBoundingClientRect();\n let newWidth = isRtl ? right2 + offset - event2.clientX : event2.clientX + offset - left2;\n newWidth = clampColumnWidth(newWidth, column), width > 0 && newWidth !== width && onColumnResize(column, newWidth);\n }\n function onDoubleClick() {\n hasDoubleClicked = !0, onColumnResize(column, \"max-content\");\n }\n function onLostPointerCapture(event2) {\n hasDoubleClicked || onPointerMove(event2), currentTarget.removeEventListener(\"pointermove\", onPointerMove), currentTarget.removeEventListener(\"dblclick\", onDoubleClick), currentTarget.removeEventListener(\"lostpointercapture\", onLostPointerCapture);\n }\n currentTarget.setPointerCapture(pointerId), currentTarget.addEventListener(\"pointermove\", onPointerMove), currentTarget.addEventListener(\"dblclick\", onDoubleClick), currentTarget.addEventListener(\"lostpointercapture\", onLostPointerCapture);\n }\n function onSort(ctrlClick) {\n if (onSortColumnsChange == null) return;\n const {\n sortDescendingFirst\n } = column;\n if (sortColumn === void 0) {\n const nextSort = {\n columnKey: column.key,\n direction: sortDescendingFirst ? \"DESC\" : \"ASC\"\n };\n onSortColumnsChange(sortColumns && ctrlClick ? [...sortColumns, nextSort] : [nextSort]);\n } else {\n let nextSortColumn;\n if ((sortDescendingFirst === !0 && sortDirection === \"DESC\" || sortDescendingFirst !== !0 && sortDirection === \"ASC\") && (nextSortColumn = {\n columnKey: column.key,\n direction: sortDirection === \"ASC\" ? \"DESC\" : \"ASC\"\n }), ctrlClick) {\n const nextSortColumns = [...sortColumns];\n nextSortColumn ? nextSortColumns[sortIndex] = nextSortColumn : nextSortColumns.splice(sortIndex, 1), onSortColumnsChange(nextSortColumns);\n } else\n onSortColumnsChange(nextSortColumn ? [nextSortColumn] : []);\n }\n }\n function onClick(event) {\n selectCell({\n idx: column.idx,\n rowIdx\n }), sortable && onSort(event.ctrlKey || event.metaKey);\n }\n function handleFocus(event) {\n onFocus == null || onFocus(event), shouldFocusGrid && selectCell({\n idx: 0,\n rowIdx\n });\n }\n function onKeyDown(event) {\n (event.key === \" \" || event.key === \"Enter\") && (event.preventDefault(), onSort(event.ctrlKey || event.metaKey));\n }\n function onDragStart(event) {\n event.dataTransfer.setData(dragDropKey, column.key), event.dataTransfer.dropEffect = \"move\", setIsDragging(!0);\n }\n function onDragEnd() {\n setIsDragging(!1);\n }\n function onDragOver(event) {\n event.preventDefault(), event.dataTransfer.dropEffect = \"move\";\n }\n function onDrop(event) {\n if (setIsOver(!1), event.dataTransfer.types.includes(dragDropKey.toLowerCase())) {\n const sourceKey = event.dataTransfer.getData(dragDropKey.toLowerCase());\n sourceKey !== column.key && (event.preventDefault(), onColumnsReorder == null || onColumnsReorder(sourceKey, column.key));\n }\n }\n function onDragEnter(event) {\n isEventPertinent(event) && setIsOver(!0);\n }\n function onDragLeave(event) {\n isEventPertinent(event) && setIsOver(!1);\n }\n let draggableProps;\n return draggable && (draggableProps = {\n draggable: !0,\n onDragStart,\n onDragEnd,\n onDragOver,\n onDragEnter,\n onDragLeave,\n onDrop\n }), /* @__PURE__ */ u$1(\"div\", {\n role: \"columnheader\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-rowspan\": rowSpan,\n \"aria-selected\": isCellSelected,\n \"aria-sort\": ariaSort,\n tabIndex: shouldFocusGrid ? 0 : tabIndex,\n className,\n style: {\n ...getHeaderCellStyle(column, rowIdx, rowSpan),\n ...getCellStyle(column, colSpan)\n },\n onFocus: handleFocus,\n onClick,\n onKeyDown: sortable ? onKeyDown : void 0,\n ...draggableProps,\n children: [renderHeaderCell$1({\n column,\n sortDirection,\n priority,\n tabIndex: childTabIndex\n }), resizable && /* @__PURE__ */ u$1(\"div\", {\n className: resizeHandleClassname,\n onClick: stopPropagation,\n onPointerDown\n })]\n });\n}\nfunction isEventPertinent(event) {\n const relatedTarget = event.relatedTarget;\n return !event.currentTarget.contains(relatedTarget);\n}\nconst row = \"r1upfr807-0-0-beta-47\", rowClassname = `rdg-row ${row}`, rowSelected = \"r190mhd37-0-0-beta-47\", rowSelectedClassname = \"rdg-row-selected\", rowSelectedWithFrozenCell = \"r139qu9m7-0-0-beta-47\", topSummaryRowClassname = \"rdg-top-summary-row\", bottomSummaryRowClassname = \"rdg-bottom-summary-row\", headerRow = \"h10tskcx7-0-0-beta-47\", headerRowClassname = `rdg-header-row ${headerRow}`;\nfunction HeaderRow({\n rowIdx,\n columns,\n onColumnResize,\n onColumnsReorder,\n sortColumns,\n onSortColumnsChange,\n lastFrozenColumnIndex,\n selectedCellIdx,\n selectCell,\n shouldFocusGrid,\n direction\n}) {\n const dragDropKey = g$1(), cells = [];\n for (let index = 0; index < columns.length; index++) {\n const column = columns[index], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"HEADER\"\n });\n colSpan !== void 0 && (index += colSpan - 1), cells.push(/* @__PURE__ */ u$1(HeaderCell, {\n column,\n colSpan,\n rowIdx,\n isCellSelected: selectedCellIdx === column.idx,\n onColumnResize,\n onColumnsReorder,\n onSortColumnsChange,\n sortColumns,\n selectCell,\n shouldFocusGrid: shouldFocusGrid && index === 0,\n direction,\n dragDropKey\n }, column.key));\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: clsx(headerRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n children: cells\n });\n}\nconst HeaderRow$1 = /* @__PURE__ */ N(HeaderRow);\nfunction GroupedColumnHeaderRow({\n rowIdx,\n level,\n columns,\n selectedCellIdx,\n selectCell\n}) {\n const cells = [], renderedParents = /* @__PURE__ */ new Set();\n for (const column of columns) {\n let {\n parent\n } = column;\n if (parent !== void 0) {\n for (; parent.level > level && parent.parent !== void 0; )\n parent = parent.parent;\n if (parent.level === level && !renderedParents.has(parent)) {\n renderedParents.add(parent);\n const {\n idx\n } = parent;\n cells.push(/* @__PURE__ */ u$1(GroupedColumnHeaderCell, {\n column: parent,\n rowIdx,\n isCellSelected: selectedCellIdx === idx,\n selectCell\n }, idx));\n }\n }\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": rowIdx,\n className: headerRowClassname,\n children: cells\n });\n}\nconst GroupedColumnHeaderRow$1 = /* @__PURE__ */ N(GroupedColumnHeaderRow), cellCopied = \"c6ra8a37-0-0-beta-47\", cellCopiedClassname = `rdg-cell-copied ${cellCopied}`, cellDraggedOver = \"cq910m07-0-0-beta-47\", cellDraggedOverClassname = `rdg-cell-dragged-over ${cellDraggedOver}`;\nfunction Cell({\n column,\n colSpan,\n isCellSelected,\n isCopied,\n isDraggedOver,\n row: row2,\n rowIdx,\n onClick,\n onDoubleClick,\n onContextMenu,\n onRowChange,\n selectCell,\n ...props\n}) {\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n cellClass\n } = column, className = getCellClassname(column, typeof cellClass == \"function\" ? cellClass(row2) : cellClass, isCopied && cellCopiedClassname, isDraggedOver && cellDraggedOverClassname), isEditable = isCellEditableUtil(column, row2);\n function selectCellWrapper(openEditor) {\n selectCell({\n rowIdx,\n idx: column.idx\n }, openEditor);\n }\n function handleClick(event) {\n if (onClick) {\n const cellEvent = createCellEvent(event);\n if (onClick({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleContextMenu(event) {\n if (onContextMenu) {\n const cellEvent = createCellEvent(event);\n if (onContextMenu({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper();\n }\n function handleDoubleClick(event) {\n if (onDoubleClick) {\n const cellEvent = createCellEvent(event);\n if (onDoubleClick({\n row: row2,\n column,\n selectCell: selectCellWrapper\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n selectCellWrapper(!0);\n }\n function handleRowChange(newRow) {\n onRowChange(column, newRow);\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n \"aria-readonly\": !isEditable || void 0,\n tabIndex,\n className,\n style: getCellStyle(column, colSpan),\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onContextMenu: handleContextMenu,\n onFocus,\n ...props,\n children: column.renderCell({\n column,\n row: row2,\n rowIdx,\n isCellEditable: isEditable,\n tabIndex: childTabIndex,\n onRowChange: handleRowChange\n })\n });\n}\nconst Cell$1 = /* @__PURE__ */ N(Cell);\nfunction Row({\n className,\n rowIdx,\n gridRowStart,\n selectedCellIdx,\n isRowSelectionDisabled,\n isRowSelected,\n copiedCellIdx,\n draggedOverCellIdx,\n lastFrozenColumnIndex,\n row: row2,\n viewportColumns,\n selectedCellEditor,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n rowClass,\n setDraggedOverRowIdx,\n onMouseEnter,\n onRowChange,\n selectCell,\n ...props\n}, ref) {\n const handleRowChange = useLatestFunc((column, newRow) => {\n onRowChange(column, rowIdx, newRow);\n });\n function handleDragEnter(event) {\n setDraggedOverRowIdx == null || setDraggedOverRowIdx(rowIdx), onMouseEnter == null || onMouseEnter(event);\n }\n className = clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? \"even\" : \"odd\"}`, rowClass == null ? void 0 : rowClass(row2, rowIdx), className, selectedCellIdx === -1 && rowSelectedClassname);\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index], {\n idx\n } = column, colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n });\n colSpan !== void 0 && (index += colSpan - 1);\n const isCellSelected = selectedCellIdx === idx;\n isCellSelected && selectedCellEditor ? cells.push(selectedCellEditor) : cells.push(/* @__PURE__ */ u$1(Cell$1, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCopied: copiedCellIdx === idx,\n isDraggedOver: draggedOverCellIdx === idx,\n isCellSelected,\n onClick: onCellClick,\n onDoubleClick: onCellDoubleClick,\n onContextMenu: onCellContextMenu,\n onRowChange: handleRowChange,\n selectCell\n }, column.key));\n }\n const selectionValue = T$1(() => ({\n isRowSelected,\n isRowSelectionDisabled\n }), [isRowSelectionDisabled, isRowSelected]);\n return /* @__PURE__ */ u$1(RowSelectionProvider, {\n value: selectionValue,\n children: /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n ref,\n className,\n onMouseEnter: handleDragEnter,\n style: getRowStyle(gridRowStart),\n ...props,\n children: cells\n })\n });\n}\nconst RowComponent = /* @__PURE__ */ N(/* @__PURE__ */ A(Row));\nfunction defaultRenderRow(key, props) {\n return /* @__PURE__ */ u$1(RowComponent, {\n ...props\n }, key);\n}\nfunction ScrollToCell({\n scrollToPosition: {\n idx,\n rowIdx\n },\n gridElement,\n setScrollToCellPosition\n}) {\n const ref = A$1(null);\n return useLayoutEffect(() => {\n scrollIntoView(ref.current);\n }), useLayoutEffect(() => {\n function removeScrollToCell() {\n setScrollToCellPosition(null);\n }\n const observer = new IntersectionObserver(removeScrollToCell, {\n root: gridElement,\n threshold: 1\n });\n return observer.observe(ref.current), () => {\n observer.disconnect();\n };\n }, [gridElement, setScrollToCellPosition]), /* @__PURE__ */ u$1(\"div\", {\n ref,\n style: {\n gridColumn: idx === void 0 ? \"1/-1\" : idx + 1,\n gridRow: rowIdx === void 0 ? \"1/-1\" : rowIdx + 2\n }\n });\n}\nconst arrow = \"a3ejtar7-0-0-beta-47\", arrowClassname = `rdg-sort-arrow ${arrow}`;\nfunction renderSortStatus({\n sortDirection,\n priority\n}) {\n return /* @__PURE__ */ u$1(b, {\n children: [renderSortIcon({\n sortDirection\n }), renderSortPriority({\n priority\n })]\n });\n}\nfunction renderSortIcon({\n sortDirection\n}) {\n return sortDirection === void 0 ? null : /* @__PURE__ */ u$1(\"svg\", {\n viewBox: \"0 0 12 8\",\n width: \"12\",\n height: \"8\",\n className: arrowClassname,\n \"aria-hidden\": !0,\n children: /* @__PURE__ */ u$1(\"path\", {\n d: sortDirection === \"ASC\" ? \"M0 8 6 0 12 8\" : \"M0 0 6 8 12 0\"\n })\n });\n}\nfunction renderSortPriority({\n priority\n}) {\n return priority;\n}\nconst root = \"rnvodz57-0-0-beta-47\", rootClassname = `rdg ${root}`, viewportDragging = \"vlqv91k7-0-0-beta-47\", viewportDraggingClassname = `rdg-viewport-dragging ${viewportDragging}`, focusSinkClassname = \"f1lsfrzw7-0-0-beta-47\", focusSinkHeaderAndSummaryClassname = \"f1cte0lg7-0-0-beta-47\", summaryCellClassname = \"s8wc6fl7-0-0-beta-47\";\nfunction SummaryCell({\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCellSelected,\n selectCell\n}) {\n var _a;\n const {\n tabIndex,\n childTabIndex,\n onFocus\n } = useRovingTabIndex(isCellSelected), {\n summaryCellClass\n } = column, className = getCellClassname(column, summaryCellClassname, typeof summaryCellClass == \"function\" ? summaryCellClass(row2) : summaryCellClass);\n function onClick() {\n selectCell({\n rowIdx,\n idx: column.idx\n });\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"gridcell\",\n \"aria-colindex\": column.idx + 1,\n \"aria-colspan\": colSpan,\n \"aria-selected\": isCellSelected,\n tabIndex,\n className,\n style: getCellStyle(column, colSpan),\n onClick,\n onFocus,\n children: (_a = column.renderSummaryCell) == null ? void 0 : _a.call(column, {\n column,\n row: row2,\n tabIndex: childTabIndex\n })\n });\n}\nconst SummaryCell$1 = /* @__PURE__ */ N(SummaryCell), summaryRow = \"skuhp557-0-0-beta-47\", topSummaryRow = \"tf8l5ub7-0-0-beta-47\", summaryRowClassname = `rdg-summary-row ${summaryRow}`;\nfunction SummaryRow({\n rowIdx,\n gridRowStart,\n row: row2,\n viewportColumns,\n top,\n bottom,\n lastFrozenColumnIndex,\n selectedCellIdx,\n isTop,\n selectCell,\n \"aria-rowindex\": ariaRowIndex\n}) {\n const cells = [];\n for (let index = 0; index < viewportColumns.length; index++) {\n const column = viewportColumns[index], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"SUMMARY\",\n row: row2\n });\n colSpan !== void 0 && (index += colSpan - 1);\n const isCellSelected = selectedCellIdx === column.idx;\n cells.push(/* @__PURE__ */ u$1(SummaryCell$1, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n isCellSelected,\n selectCell\n }, column.key));\n }\n return /* @__PURE__ */ u$1(\"div\", {\n role: \"row\",\n \"aria-rowindex\": ariaRowIndex,\n className: clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? \"even\" : \"odd\"}`, summaryRowClassname, isTop ? `${topSummaryRowClassname} ${topSummaryRow}` : bottomSummaryRowClassname, selectedCellIdx === -1 && rowSelectedClassname),\n style: {\n ...getRowStyle(gridRowStart),\n \"--rdg-summary-row-top\": top !== void 0 ? `${top}px` : void 0,\n \"--rdg-summary-row-bottom\": bottom !== void 0 ? `${bottom}px` : void 0\n },\n children: cells\n });\n}\nconst SummaryRow$1 = /* @__PURE__ */ N(SummaryRow);\nfunction DataGrid(props, ref) {\n const {\n columns: rawColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n rowKeyGetter,\n onRowsChange,\n rowHeight: rawRowHeight,\n headerRowHeight: rawHeaderRowHeight,\n summaryRowHeight: rawSummaryRowHeight,\n selectedRows,\n isRowSelectionDisabled,\n onSelectedRowsChange,\n sortColumns,\n onSortColumnsChange,\n defaultColumnOptions,\n onCellClick,\n onCellDoubleClick,\n onCellContextMenu,\n onCellKeyDown,\n onSelectedCellChange,\n onScroll,\n onColumnResize,\n onColumnsReorder,\n onFill,\n onCopy,\n onPaste,\n enableVirtualization: rawEnableVirtualization,\n renderers,\n className,\n style,\n rowClass,\n direction: rawDirection,\n role: rawRole,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-rowcount\": rawAriaRowCount,\n \"data-testid\": testId\n } = props, defaultRenderers = useDefaultRenderers(), role = rawRole ?? \"grid\", rowHeight = rawRowHeight ?? 35, headerRowHeight = rawHeaderRowHeight ?? (typeof rowHeight == \"number\" ? rowHeight : 35), summaryRowHeight = rawSummaryRowHeight ?? (typeof rowHeight == \"number\" ? rowHeight : 35), renderRow = (renderers == null ? void 0 : renderers.renderRow) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderRow) ?? defaultRenderRow, renderSortStatus$1 = (renderers == null ? void 0 : renderers.renderSortStatus) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderSortStatus) ?? renderSortStatus, renderCheckbox$1 = (renderers == null ? void 0 : renderers.renderCheckbox) ?? (defaultRenderers == null ? void 0 : defaultRenderers.renderCheckbox) ?? renderCheckbox, noRowsFallback = (renderers == null ? void 0 : renderers.noRowsFallback) ?? (defaultRenderers == null ? void 0 : defaultRenderers.noRowsFallback), enableVirtualization = rawEnableVirtualization ?? !0, direction = rawDirection ?? \"ltr\", [scrollTop, setScrollTop] = h(0), [scrollLeft, setScrollLeft] = h(0), [resizedColumnWidths, setResizedColumnWidths] = h(() => /* @__PURE__ */ new Map()), [measuredColumnWidths, setMeasuredColumnWidths] = h(() => /* @__PURE__ */ new Map()), [copiedCell, setCopiedCell] = h(null), [isDragging, setDragging] = h(!1), [draggedOverRowIdx, setOverRowIdx] = h(void 0), [scrollToPosition, setScrollToPosition] = h(null), getColumnWidth = q$1((column) => resizedColumnWidths.get(column.key) ?? measuredColumnWidths.get(column.key) ?? column.width, [measuredColumnWidths, resizedColumnWidths]), [gridRef, gridWidth, gridHeight, horizontalScrollbarHeight] = useGridDimensions(), {\n columns,\n colSpanColumns,\n lastFrozenColumnIndex,\n headerRowsCount,\n colOverscanStartIdx,\n colOverscanEndIdx,\n templateColumns,\n layoutCssVars,\n totalFrozenColumnWidth\n } = useCalculatedColumns({\n rawColumns,\n defaultColumnOptions,\n getColumnWidth,\n scrollLeft,\n viewportWidth: gridWidth,\n enableVirtualization\n }), topSummaryRowsCount = (topSummaryRows == null ? void 0 : topSummaryRows.length) ?? 0, bottomSummaryRowsCount = (bottomSummaryRows == null ? void 0 : bottomSummaryRows.length) ?? 0, summaryRowsCount = topSummaryRowsCount + bottomSummaryRowsCount, headerAndTopSummaryRowsCount = headerRowsCount + topSummaryRowsCount, groupedColumnHeaderRowsCount = headerRowsCount - 1, minRowIdx = -headerAndTopSummaryRowsCount, mainHeaderRowIdx = minRowIdx + groupedColumnHeaderRowsCount, maxRowIdx = rows.length + bottomSummaryRowsCount - 1, [selectedPosition, setSelectedPosition] = h(() => ({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: \"SELECT\"\n })), prevSelectedPosition = A$1(selectedPosition), latestDraggedOverRowIdx = A$1(draggedOverRowIdx), lastSelectedRowIdx = A$1(-1), focusSinkRef = A$1(null), shouldFocusCellRef = A$1(!1), isTreeGrid = role === \"treegrid\", headerRowsHeight = headerRowsCount * headerRowHeight, summaryRowsHeight = summaryRowsCount * summaryRowHeight, clientHeight = gridHeight - headerRowsHeight - summaryRowsHeight, isSelectable = selectedRows != null && onSelectedRowsChange != null, isRtl = direction === \"rtl\", leftKey = isRtl ? \"ArrowRight\" : \"ArrowLeft\", rightKey = isRtl ? \"ArrowLeft\" : \"ArrowRight\", ariaRowCount = rawAriaRowCount ?? headerRowsCount + rows.length + summaryRowsCount, defaultGridComponents = T$1(() => ({\n renderCheckbox: renderCheckbox$1,\n renderSortStatus: renderSortStatus$1\n }), [renderCheckbox$1, renderSortStatus$1]), headerSelectionValue = T$1(() => {\n let hasSelectedRow = !1, hasUnselectedRow = !1;\n if (rowKeyGetter != null && selectedRows != null && selectedRows.size > 0) {\n for (const row2 of rows)\n if (selectedRows.has(rowKeyGetter(row2)) ? hasSelectedRow = !0 : hasUnselectedRow = !0, hasSelectedRow && hasUnselectedRow) break;\n }\n return {\n isRowSelected: hasSelectedRow && !hasUnselectedRow,\n isIndeterminate: hasSelectedRow && hasUnselectedRow\n };\n }, [rows, selectedRows, rowKeyGetter]), {\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n totalRowHeight,\n gridTemplateRows,\n getRowTop,\n getRowHeight,\n findRowIdx\n } = useViewportRows({\n rows,\n rowHeight,\n clientHeight,\n scrollTop,\n enableVirtualization\n }), viewportColumns = useViewportColumns({\n columns,\n colSpanColumns,\n colOverscanStartIdx,\n colOverscanEndIdx,\n lastFrozenColumnIndex,\n rowOverscanStartIdx,\n rowOverscanEndIdx,\n rows,\n topSummaryRows,\n bottomSummaryRows\n }), {\n gridTemplateColumns,\n handleColumnResize\n } = useColumnWidths(columns, viewportColumns, templateColumns, gridRef, gridWidth, resizedColumnWidths, measuredColumnWidths, setResizedColumnWidths, setMeasuredColumnWidths, onColumnResize), minColIdx = isTreeGrid ? -1 : 0, maxColIdx = columns.length - 1, selectedCellIsWithinSelectionBounds = isCellWithinSelectionBounds(selectedPosition), selectedCellIsWithinViewportBounds = isCellWithinViewportBounds(selectedPosition), scrollHeight = headerRowHeight + totalRowHeight + summaryRowsHeight + horizontalScrollbarHeight, handleColumnResizeLatest = useLatestFunc(handleColumnResize), onColumnsReorderLastest = useLatestFunc(onColumnsReorder), onSortColumnsChangeLatest = useLatestFunc(onSortColumnsChange), onCellClickLatest = useLatestFunc(onCellClick), onCellDoubleClickLatest = useLatestFunc(onCellDoubleClick), onCellContextMenuLatest = useLatestFunc(onCellContextMenu), selectHeaderRowLatest = useLatestFunc(selectHeaderRow), selectRowLatest = useLatestFunc(selectRow), handleFormatterRowChangeLatest = useLatestFunc(updateRow), selectCellLatest = useLatestFunc(selectCell), selectHeaderCellLatest = useLatestFunc(({\n idx,\n rowIdx\n }) => {\n selectCell({\n rowIdx: minRowIdx + rowIdx - 1,\n idx\n });\n });\n useLayoutEffect(() => {\n if (!selectedCellIsWithinSelectionBounds || isSamePosition(selectedPosition, prevSelectedPosition.current)) {\n prevSelectedPosition.current = selectedPosition;\n return;\n }\n prevSelectedPosition.current = selectedPosition, selectedPosition.idx === -1 && (focusSinkRef.current.focus({\n preventScroll: !0\n }), scrollIntoView(focusSinkRef.current));\n }), useLayoutEffect(() => {\n shouldFocusCellRef.current && (shouldFocusCellRef.current = !1, focusCellOrCellContent());\n }), F$1(ref, () => ({\n element: gridRef.current,\n scrollToCell({\n idx,\n rowIdx\n }) {\n const scrollToIdx = idx !== void 0 && idx > lastFrozenColumnIndex && idx < columns.length ? idx : void 0, scrollToRowIdx = rowIdx !== void 0 && isRowIdxWithinViewportBounds(rowIdx) ? rowIdx : void 0;\n (scrollToIdx !== void 0 || scrollToRowIdx !== void 0) && setScrollToPosition({\n idx: scrollToIdx,\n rowIdx: scrollToRowIdx\n });\n },\n selectCell\n }));\n const setDraggedOverRowIdx = q$1((rowIdx) => {\n setOverRowIdx(rowIdx), latestDraggedOverRowIdx.current = rowIdx;\n }, []);\n function selectHeaderRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const newSelectedRows = new Set(selectedRows);\n for (const row2 of rows) {\n if ((isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) === !0) continue;\n const rowKey = rowKeyGetter(row2);\n args.checked ? newSelectedRows.add(rowKey) : newSelectedRows.delete(rowKey);\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function selectRow(args) {\n if (!onSelectedRowsChange) return;\n assertIsValidKeyGetter(rowKeyGetter);\n const {\n row: row2,\n checked,\n isShiftClick\n } = args;\n if ((isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) === !0) return;\n const newSelectedRows = new Set(selectedRows), rowKey = rowKeyGetter(row2), previousRowIdx = lastSelectedRowIdx.current, rowIdx = rows.indexOf(row2);\n if (lastSelectedRowIdx.current = rowIdx, checked ? newSelectedRows.add(rowKey) : newSelectedRows.delete(rowKey), isShiftClick && previousRowIdx !== -1 && previousRowIdx !== rowIdx && previousRowIdx < rows.length) {\n const step = sign(rowIdx - previousRowIdx);\n for (let i2 = previousRowIdx + step; i2 !== rowIdx; i2 += step) {\n const row3 = rows[i2];\n (isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row3)) !== !0 && (checked ? newSelectedRows.add(rowKeyGetter(row3)) : newSelectedRows.delete(rowKeyGetter(row3)));\n }\n }\n onSelectedRowsChange(newSelectedRows);\n }\n function handleKeyDown(event) {\n var _a;\n const {\n idx,\n rowIdx,\n mode\n } = selectedPosition;\n if (mode === \"EDIT\") return;\n if (onCellKeyDown && isRowIdxWithinViewportBounds(rowIdx)) {\n const row2 = rows[rowIdx], cellEvent = createCellEvent(event);\n if (onCellKeyDown({\n mode: \"SELECT\",\n row: row2,\n column: columns[idx],\n rowIdx,\n selectCell\n }, cellEvent), cellEvent.isGridDefaultPrevented()) return;\n }\n if (!(event.target instanceof Element)) return;\n const isCellEvent = event.target.closest(\".rdg-cell\") !== null, isRowEvent = isTreeGrid && event.target === focusSinkRef.current;\n if (!isCellEvent && !isRowEvent) return;\n const {\n keyCode\n } = event;\n if (selectedCellIsWithinViewportBounds && (onPaste != null || onCopy != null) && isCtrlKeyHeldDown(event)) {\n if (keyCode === 67) {\n if (((_a = window.getSelection()) == null ? void 0 : _a.isCollapsed) === !1) return;\n handleCopy();\n return;\n }\n if (keyCode === 86) {\n handlePaste();\n return;\n }\n }\n switch (event.key) {\n case \"Escape\":\n setCopiedCell(null);\n return;\n case \"ArrowUp\":\n case \"ArrowDown\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n case \"Tab\":\n case \"Home\":\n case \"End\":\n case \"PageUp\":\n case \"PageDown\":\n navigate(event);\n break;\n default:\n handleCellInput(event);\n break;\n }\n }\n function handleScroll(event) {\n const {\n scrollTop: scrollTop2,\n scrollLeft: scrollLeft2\n } = event.currentTarget;\n gn(() => {\n setScrollTop(scrollTop2), setScrollLeft(abs(scrollLeft2));\n }), onScroll == null || onScroll(event);\n }\n function updateRow(column, rowIdx, row2) {\n if (typeof onRowsChange != \"function\" || row2 === rows[rowIdx]) return;\n const updatedRows = [...rows];\n updatedRows[rowIdx] = row2, onRowsChange(updatedRows, {\n indexes: [rowIdx],\n column\n });\n }\n function commitEditorChanges() {\n selectedPosition.mode === \"EDIT\" && updateRow(columns[selectedPosition.idx], selectedPosition.rowIdx, selectedPosition.row);\n }\n function handleCopy() {\n const {\n idx,\n rowIdx\n } = selectedPosition, sourceRow = rows[rowIdx], sourceColumnKey = columns[idx].key;\n setCopiedCell({\n row: sourceRow,\n columnKey: sourceColumnKey\n }), onCopy == null || onCopy({\n sourceRow,\n sourceColumnKey\n });\n }\n function handlePaste() {\n if (!onPaste || !onRowsChange || copiedCell === null || !isCellEditable(selectedPosition))\n return;\n const {\n idx,\n rowIdx\n } = selectedPosition, targetColumn = columns[idx], targetRow = rows[rowIdx], updatedTargetRow = onPaste({\n sourceRow: copiedCell.row,\n sourceColumnKey: copiedCell.columnKey,\n targetRow,\n targetColumnKey: targetColumn.key\n });\n updateRow(targetColumn, rowIdx, updatedTargetRow);\n }\n function handleCellInput(event) {\n if (!selectedCellIsWithinViewportBounds) return;\n const row2 = rows[selectedPosition.rowIdx], {\n key,\n shiftKey\n } = event;\n if (isSelectable && shiftKey && key === \" \") {\n assertIsValidKeyGetter(rowKeyGetter);\n const rowKey = rowKeyGetter(row2);\n selectRow({\n row: row2,\n checked: !selectedRows.has(rowKey),\n isShiftClick: !1\n }), event.preventDefault();\n return;\n }\n isCellEditable(selectedPosition) && isDefaultCellInput(event) && setSelectedPosition(({\n idx,\n rowIdx\n }) => ({\n idx,\n rowIdx,\n mode: \"EDIT\",\n row: row2,\n originalRow: row2\n }));\n }\n function isColIdxWithinSelectionBounds(idx) {\n return idx >= minColIdx && idx <= maxColIdx;\n }\n function isRowIdxWithinViewportBounds(rowIdx) {\n return rowIdx >= 0 && rowIdx < rows.length;\n }\n function isCellWithinSelectionBounds({\n idx,\n rowIdx\n }) {\n return rowIdx >= minRowIdx && rowIdx <= maxRowIdx && isColIdxWithinSelectionBounds(idx);\n }\n function isCellWithinEditBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && idx >= 0 && idx <= maxColIdx;\n }\n function isCellWithinViewportBounds({\n idx,\n rowIdx\n }) {\n return isRowIdxWithinViewportBounds(rowIdx) && isColIdxWithinSelectionBounds(idx);\n }\n function isCellEditable(position) {\n return isCellWithinEditBounds(position) && isSelectedCellEditable({\n columns,\n rows,\n selectedPosition: position\n });\n }\n function selectCell(position, enableEditor) {\n if (!isCellWithinSelectionBounds(position)) return;\n commitEditorChanges();\n const row2 = rows[position.rowIdx], samePosition = isSamePosition(selectedPosition, position);\n enableEditor && isCellEditable(position) ? setSelectedPosition({\n ...position,\n mode: \"EDIT\",\n row: row2,\n originalRow: row2\n }) : samePosition ? scrollIntoView(getCellToScroll(gridRef.current)) : (shouldFocusCellRef.current = !0, setSelectedPosition({\n ...position,\n mode: \"SELECT\"\n })), onSelectedCellChange && !samePosition && onSelectedCellChange({\n rowIdx: position.rowIdx,\n row: row2,\n column: columns[position.idx]\n });\n }\n function getNextPosition(key, ctrlKey, shiftKey) {\n const {\n idx,\n rowIdx\n } = selectedPosition, isRowSelected = selectedCellIsWithinSelectionBounds && idx === -1;\n switch (key) {\n case \"ArrowUp\":\n return {\n idx,\n rowIdx: rowIdx - 1\n };\n case \"ArrowDown\":\n return {\n idx,\n rowIdx: rowIdx + 1\n };\n case leftKey:\n return {\n idx: idx - 1,\n rowIdx\n };\n case rightKey:\n return {\n idx: idx + 1,\n rowIdx\n };\n case \"Tab\":\n return {\n idx: idx + (shiftKey ? -1 : 1),\n rowIdx\n };\n case \"Home\":\n return isRowSelected ? {\n idx,\n rowIdx: minRowIdx\n } : {\n idx: 0,\n rowIdx: ctrlKey ? minRowIdx : rowIdx\n };\n case \"End\":\n return isRowSelected ? {\n idx,\n rowIdx: maxRowIdx\n } : {\n idx: maxColIdx,\n rowIdx: ctrlKey ? maxRowIdx : rowIdx\n };\n case \"PageUp\": {\n if (selectedPosition.rowIdx === minRowIdx) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + getRowHeight(rowIdx) - clientHeight;\n return {\n idx,\n rowIdx: nextRowY > 0 ? findRowIdx(nextRowY) : 0\n };\n }\n case \"PageDown\": {\n if (selectedPosition.rowIdx >= rows.length) return selectedPosition;\n const nextRowY = getRowTop(rowIdx) + clientHeight;\n return {\n idx,\n rowIdx: nextRowY < totalRowHeight ? findRowIdx(nextRowY) : rows.length - 1\n };\n }\n default:\n return selectedPosition;\n }\n }\n function navigate(event) {\n const {\n key,\n shiftKey\n } = event;\n let cellNavigationMode = \"NONE\";\n if (key === \"Tab\") {\n if (canExitGrid({\n shiftKey,\n maxColIdx,\n minRowIdx,\n maxRowIdx,\n selectedPosition\n })) {\n commitEditorChanges();\n return;\n }\n cellNavigationMode = \"CHANGE_ROW\";\n }\n event.preventDefault();\n const ctrlKey = isCtrlKeyHeldDown(event), nextPosition = getNextPosition(key, ctrlKey, shiftKey);\n if (isSamePosition(selectedPosition, nextPosition)) return;\n const nextSelectedCellPosition = getNextSelectedCellPosition({\n moveUp: key === \"ArrowUp\",\n moveNext: key === rightKey || key === \"Tab\" && !shiftKey,\n columns,\n colSpanColumns,\n rows,\n topSummaryRows,\n bottomSummaryRows,\n minRowIdx,\n mainHeaderRowIdx,\n maxRowIdx,\n lastFrozenColumnIndex,\n cellNavigationMode,\n currentPosition: selectedPosition,\n nextPosition,\n isCellWithinBounds: isCellWithinSelectionBounds\n });\n selectCell(nextSelectedCellPosition);\n }\n function getDraggedOverCellIdx(currentRowIdx) {\n if (draggedOverRowIdx === void 0) return;\n const {\n rowIdx\n } = selectedPosition;\n return (rowIdx < draggedOverRowIdx ? rowIdx < currentRowIdx && currentRowIdx <= draggedOverRowIdx : rowIdx > currentRowIdx && currentRowIdx >= draggedOverRowIdx) ? selectedPosition.idx : void 0;\n }\n function focusCellOrCellContent() {\n const cell2 = getCellToScroll(gridRef.current);\n if (cell2 === null) return;\n scrollIntoView(cell2), (cell2.querySelector('[tabindex=\"0\"]') ?? cell2).focus({\n preventScroll: !0\n });\n }\n function renderDragHandle() {\n if (onFill == null || selectedPosition.mode === \"EDIT\" || !isCellWithinViewportBounds(selectedPosition))\n return;\n const {\n idx,\n rowIdx\n } = selectedPosition, column = columns[idx];\n if (column.renderEditCell == null || column.editable === !1)\n return;\n const columnWidth = getColumnWidth(column);\n return /* @__PURE__ */ u$1(DragHandle, {\n gridRowStart: headerAndTopSummaryRowsCount + rowIdx + 1,\n rows,\n column,\n columnWidth,\n maxColIdx,\n isLastRow: rowIdx === maxRowIdx,\n selectedPosition,\n isCellEditable,\n latestDraggedOverRowIdx,\n onRowsChange,\n onClick: focusCellOrCellContent,\n onFill,\n setDragging,\n setDraggedOverRowIdx\n });\n }\n function getCellEditor(rowIdx) {\n if (selectedPosition.rowIdx !== rowIdx || selectedPosition.mode === \"SELECT\") return;\n const {\n idx,\n row: row2\n } = selectedPosition, column = columns[idx], colSpan = getColSpan(column, lastFrozenColumnIndex, {\n type: \"ROW\",\n row: row2\n }), closeEditor = (shouldFocusCell) => {\n shouldFocusCellRef.current = shouldFocusCell, setSelectedPosition(({\n idx: idx2,\n rowIdx: rowIdx2\n }) => ({\n idx: idx2,\n rowIdx: rowIdx2,\n mode: \"SELECT\"\n }));\n }, onRowChange = (row3, commitChanges, shouldFocusCell) => {\n commitChanges ? gn(() => {\n updateRow(column, selectedPosition.rowIdx, row3), closeEditor(shouldFocusCell);\n }) : setSelectedPosition((position) => ({\n ...position,\n row: row3\n }));\n };\n return rows[selectedPosition.rowIdx] !== selectedPosition.originalRow && closeEditor(!1), /* @__PURE__ */ u$1(EditCell, {\n column,\n colSpan,\n row: row2,\n rowIdx,\n onRowChange,\n closeEditor,\n onKeyDown: onCellKeyDown,\n navigate\n }, column.key);\n }\n function getRowViewportColumns(rowIdx) {\n const selectedColumn = selectedPosition.idx === -1 ? void 0 : columns[selectedPosition.idx];\n return selectedColumn !== void 0 && selectedPosition.rowIdx === rowIdx && !viewportColumns.includes(selectedColumn) ? selectedPosition.idx > colOverscanEndIdx ? [...viewportColumns, selectedColumn] : [...viewportColumns.slice(0, lastFrozenColumnIndex + 1), selectedColumn, ...viewportColumns.slice(lastFrozenColumnIndex + 1)] : viewportColumns;\n }\n function getViewportRows() {\n const rowElements = [], {\n idx: selectedIdx,\n rowIdx: selectedRowIdx\n } = selectedPosition, startRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx < rowOverscanStartIdx ? rowOverscanStartIdx - 1 : rowOverscanStartIdx, endRowIdx = selectedCellIsWithinViewportBounds && selectedRowIdx > rowOverscanEndIdx ? rowOverscanEndIdx + 1 : rowOverscanEndIdx;\n for (let viewportRowIdx = startRowIdx; viewportRowIdx <= endRowIdx; viewportRowIdx++) {\n const isRowOutsideViewport = viewportRowIdx === rowOverscanStartIdx - 1 || viewportRowIdx === rowOverscanEndIdx + 1, rowIdx = isRowOutsideViewport ? selectedRowIdx : viewportRowIdx;\n let rowColumns = viewportColumns;\n const selectedColumn = selectedIdx === -1 ? void 0 : columns[selectedIdx];\n selectedColumn !== void 0 && (isRowOutsideViewport ? rowColumns = [selectedColumn] : rowColumns = getRowViewportColumns(rowIdx));\n const row2 = rows[rowIdx], gridRowStart = headerAndTopSummaryRowsCount + rowIdx + 1;\n let key = rowIdx, isRowSelected = !1;\n typeof rowKeyGetter == \"function\" && (key = rowKeyGetter(row2), isRowSelected = (selectedRows == null ? void 0 : selectedRows.has(key)) ?? !1), rowElements.push(renderRow(key, {\n \"aria-rowindex\": headerAndTopSummaryRowsCount + rowIdx + 1,\n \"aria-selected\": isSelectable ? isRowSelected : void 0,\n rowIdx,\n row: row2,\n viewportColumns: rowColumns,\n isRowSelectionDisabled: (isRowSelectionDisabled == null ? void 0 : isRowSelectionDisabled(row2)) ?? !1,\n isRowSelected,\n onCellClick: onCellClickLatest,\n onCellDoubleClick: onCellDoubleClickLatest,\n onCellContextMenu: onCellContextMenuLatest,\n rowClass,\n gridRowStart,\n copiedCellIdx: copiedCell !== null && copiedCell.row === row2 ? columns.findIndex((c2) => c2.key === copiedCell.columnKey) : void 0,\n selectedCellIdx: selectedRowIdx === rowIdx ? selectedIdx : void 0,\n draggedOverCellIdx: getDraggedOverCellIdx(rowIdx),\n setDraggedOverRowIdx: isDragging ? setDraggedOverRowIdx : void 0,\n lastFrozenColumnIndex,\n onRowChange: handleFormatterRowChangeLatest,\n selectCell: selectCellLatest,\n selectedCellEditor: getCellEditor(rowIdx)\n }));\n }\n return rowElements;\n }\n (selectedPosition.idx > maxColIdx || selectedPosition.rowIdx > maxRowIdx) && (setSelectedPosition({\n idx: -1,\n rowIdx: minRowIdx - 1,\n mode: \"SELECT\"\n }), setDraggedOverRowIdx(void 0));\n let templateRows = `repeat(${headerRowsCount}, ${headerRowHeight}px)`;\n topSummaryRowsCount > 0 && (templateRows += ` repeat(${topSummaryRowsCount}, ${summaryRowHeight}px)`), rows.length > 0 && (templateRows += gridTemplateRows), bottomSummaryRowsCount > 0 && (templateRows += ` repeat(${bottomSummaryRowsCount}, ${summaryRowHeight}px)`);\n const isGroupRowFocused = selectedPosition.idx === -1 && selectedPosition.rowIdx !== minRowIdx - 1;\n return /* @__PURE__ */ u$1(\"div\", {\n role,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-multiselectable\": isSelectable ? !0 : void 0,\n \"aria-colcount\": columns.length,\n \"aria-rowcount\": ariaRowCount,\n className: clsx(rootClassname, className, isDragging && viewportDraggingClassname),\n style: {\n ...style,\n scrollPaddingInlineStart: selectedPosition.idx > lastFrozenColumnIndex || (scrollToPosition == null ? void 0 : scrollToPosition.idx) !== void 0 ? `${totalFrozenColumnWidth}px` : void 0,\n scrollPaddingBlock: isRowIdxWithinViewportBounds(selectedPosition.rowIdx) || (scrollToPosition == null ? void 0 : scrollToPosition.rowIdx) !== void 0 ? `${headerRowsHeight + topSummaryRowsCount * summaryRowHeight}px ${bottomSummaryRowsCount * summaryRowHeight}px` : void 0,\n gridTemplateColumns,\n gridTemplateRows: templateRows,\n \"--rdg-header-row-height\": `${headerRowHeight}px`,\n \"--rdg-scroll-height\": `${scrollHeight}px`,\n ...layoutCssVars\n },\n dir: direction,\n ref: gridRef,\n onScroll: handleScroll,\n onKeyDown: handleKeyDown,\n \"data-testid\": testId,\n children: [/* @__PURE__ */ u$1(DataGridDefaultRenderersProvider, {\n value: defaultGridComponents,\n children: [/* @__PURE__ */ u$1(HeaderRowSelectionChangeProvider, {\n value: selectHeaderRowLatest,\n children: /* @__PURE__ */ u$1(HeaderRowSelectionProvider, {\n value: headerSelectionValue,\n children: [Array.from({\n length: groupedColumnHeaderRowsCount\n }, (_2, index) => /* @__PURE__ */ u$1(GroupedColumnHeaderRow$1, {\n rowIdx: index + 1,\n level: -groupedColumnHeaderRowsCount + index,\n columns: getRowViewportColumns(minRowIdx + index),\n selectedCellIdx: selectedPosition.rowIdx === minRowIdx + index ? selectedPosition.idx : void 0,\n selectCell: selectHeaderCellLatest\n }, index)), /* @__PURE__ */ u$1(HeaderRow$1, {\n rowIdx: headerRowsCount,\n columns: getRowViewportColumns(mainHeaderRowIdx),\n onColumnResize: handleColumnResizeLatest,\n onColumnsReorder: onColumnsReorderLastest,\n sortColumns,\n onSortColumnsChange: onSortColumnsChangeLatest,\n lastFrozenColumnIndex,\n selectedCellIdx: selectedPosition.rowIdx === mainHeaderRowIdx ? selectedPosition.idx : void 0,\n selectCell: selectHeaderCellLatest,\n shouldFocusGrid: !selectedCellIsWithinSelectionBounds,\n direction\n })]\n })\n }), rows.length === 0 && noRowsFallback ? noRowsFallback : /* @__PURE__ */ u$1(b, {\n children: [topSummaryRows == null ? void 0 : topSummaryRows.map((row2, rowIdx) => {\n const gridRowStart = headerRowsCount + 1 + rowIdx, summaryRowIdx = mainHeaderRowIdx + 1 + rowIdx, isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx, top = headerRowsHeight + summaryRowHeight * rowIdx;\n return /* @__PURE__ */ u$1(SummaryRow$1, {\n \"aria-rowindex\": gridRowStart,\n rowIdx: summaryRowIdx,\n gridRowStart,\n row: row2,\n top,\n bottom: void 0,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : void 0,\n isTop: !0,\n selectCell: selectCellLatest\n }, rowIdx);\n }), /* @__PURE__ */ u$1(RowSelectionChangeProvider, {\n value: selectRowLatest,\n children: getViewportRows()\n }), bottomSummaryRows == null ? void 0 : bottomSummaryRows.map((row2, rowIdx) => {\n const gridRowStart = headerAndTopSummaryRowsCount + rows.length + rowIdx + 1, summaryRowIdx = rows.length + rowIdx, isSummaryRowSelected = selectedPosition.rowIdx === summaryRowIdx, top = clientHeight > totalRowHeight ? gridHeight - summaryRowHeight * (bottomSummaryRows.length - rowIdx) : void 0, bottom = top === void 0 ? summaryRowHeight * (bottomSummaryRows.length - 1 - rowIdx) : void 0;\n return /* @__PURE__ */ u$1(SummaryRow$1, {\n \"aria-rowindex\": ariaRowCount - bottomSummaryRowsCount + rowIdx + 1,\n rowIdx: summaryRowIdx,\n gridRowStart,\n row: row2,\n top,\n bottom,\n viewportColumns: getRowViewportColumns(summaryRowIdx),\n lastFrozenColumnIndex,\n selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : void 0,\n isTop: !1,\n selectCell: selectCellLatest\n }, rowIdx);\n })]\n })]\n }), renderDragHandle(), renderMeasuringCells(viewportColumns), isTreeGrid && /* @__PURE__ */ u$1(\"div\", {\n ref: focusSinkRef,\n tabIndex: isGroupRowFocused ? 0 : -1,\n className: clsx(focusSinkClassname, isGroupRowFocused && [rowSelected, lastFrozenColumnIndex !== -1 && rowSelectedWithFrozenCell], !isRowIdxWithinViewportBounds(selectedPosition.rowIdx) && focusSinkHeaderAndSummaryClassname),\n style: {\n gridRowStart: selectedPosition.rowIdx + headerAndTopSummaryRowsCount + 1\n }\n }), scrollToPosition !== null && /* @__PURE__ */ u$1(ScrollToCell, {\n scrollToPosition,\n setScrollToCellPosition: setScrollToPosition,\n gridElement: gridRef.current\n })]\n });\n}\nfunction getCellToScroll(gridEl) {\n return gridEl.querySelector(':scope > [role=\"row\"] > [tabindex=\"0\"]');\n}\nfunction isSamePosition(p1, p2) {\n return p1.idx === p2.idx && p1.rowIdx === p2.rowIdx;\n}\nconst DataGrid$1 = /* @__PURE__ */ A(DataGrid);\nfunction useData(widget) {\n const columns = xn.useMemo(() => widget.columns(), [widget, widget.dataChecksum()]), data = xn.useMemo(() => widget.data(), [widget, widget.dataChecksum()]);\n return [columns, data];\n}\nfunction copyAndSort(items, attribute, descending) {\n const key = attribute;\n return [...items].sort((a2, b2) => a2[key] < b2[key] ? descending ? 1 : -1 : a2[key] > b2[key] ? descending ? -1 : 1 : 0);\n}\nconst EmptyRowsRenderer = ({\n message\n}) => /* @__PURE__ */ u$1(\"div\", { style: { textAlign: \"center\", gridColumn: \"1/-1\" }, children: message }), ReactTable = ({\n table,\n sort\n}) => {\n const [columns, data] = useData(table), multiSelect = table.multiSelect(), columnTypes = table.columnTypes(), columnPatterns = table.columnPatterns(), columnFormats = table.columnFormats(), [listColumns, setListColumns] = h([]), [sortColumn, setSortColumn] = h(), [rows, setRows] = h([]), [selectedRows, setSelectedRows] = h(/* @__PURE__ */ new Set());\n y(() => {\n setListColumns([\n ...multiSelect ? [SelectColumn] : [],\n ...columns.map((column) => {\n const type = columnTypes[column] ?? \"string\";\n let formatter, __hpcc_pattern, __hpcc_format;\n switch (type) {\n case \"time\":\n __hpcc_pattern = columnPatterns[column] !== void 0 ? timeParse(columnPatterns[column]) : void 0, __hpcc_format = columnFormats[column] !== void 0 ? timeFormat(columnFormats[column]) : void 0;\n break;\n case \"number\":\n formatter = (props) => /* @__PURE__ */ u$1(\"div\", { style: { textAlign: \"right\" }, children: props.row[props.column.key] });\n // eslint-disable-next-line no-fallthrough\n default:\n __hpcc_format = columnFormats[column] !== void 0 ? format(columnFormats[column]) : void 0;\n }\n return {\n key: column,\n name: column,\n resizable: !0,\n sortable: !0,\n minWidth: 80,\n renderCell: formatter,\n __hpcc_pattern,\n __hpcc_format\n };\n })\n ]);\n }, [columnFormats, columnPatterns, columnTypes, columns, multiSelect]);\n const onSortColumnsChange = q$1((sortColumns) => {\n const futureSortColumn = sortColumns.slice(-1)[0], sorted = futureSortColumn !== void 0, isSortedDescending = (futureSortColumn == null ? void 0 : futureSortColumn.direction) === \"DESC\";\n setSortColumn(futureSortColumn), setRows(copyAndSort(rows, sorted ? futureSortColumn.columnKey : \"key\", sorted ? isSortedDescending : !1));\n }, [rows]), rowKeyGetter = q$1((row2) => row2.key, []), onSelectedRowsChange = q$1((selectedRows2) => {\n setSelectedRows(selectedRows2);\n }, []), onCellClick = q$1((row2, column) => {\n table.onRowClickCallback(row2, column.key);\n }, [table]);\n return y(() => {\n let items = data.map((row2, index) => {\n const retVal = {\n key: index\n };\n return listColumns.forEach((column, index2) => {\n let val = row2[index2];\n column.__hpcc_pattern && column.__hpcc_format ? val = column.__hpcc_format(column.__hpcc_pattern(val)) : column.__hpcc_pattern ? val = column.__hpcc_pattern(val).toString() : column.__hpcc_format && (val = column.__hpcc_format(val)), retVal[column.key] = val;\n }), retVal;\n });\n sort != null && sort.attribute && (items = copyAndSort(items, sort.attribute, sort.descending)), setRows(items);\n }, [listColumns, data, sort]), /* @__PURE__ */ u$1(\n DataGrid$1,\n {\n columns: listColumns,\n headerRowHeight: 24,\n rows,\n rowKeyGetter,\n rowHeight: 20,\n renderers: { noRowsFallback: /* @__PURE__ */ u$1(EmptyRowsRenderer, { message: table.noDataMessage() }) },\n className: table.darkMode() ? \"rdg-dark\" : \"rdg-light\",\n sortColumns: sortColumn ? [sortColumn] : [],\n onSortColumnsChange,\n selectedRows,\n onSelectedRowsChange: multiSelect ? onSelectedRowsChange : void 0,\n onCellClick: multiSelect ? void 0 : (args, event) => onCellClick(args.row, args.column),\n \"aria-describedby\": \"\",\n \"aria-label\": \"\",\n \"aria-labelledby\": \"\",\n style: { height: \"100%\" }\n }\n );\n};\nclass Table extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_div\");\n __publicField(this, \"_prevRow\");\n __publicField(this, \"_prevColumn\");\n }\n columnType(column, type) {\n return arguments.length === 1 ? this.columnTypes()[column] : (this.columnTypes({ ...this.columnTypes(), [column]: type }), this);\n }\n columnPattern(column, pattern) {\n return arguments.length === 1 ? this.columnPatterns()[column] : (this.columnPatterns({ ...this.columnPatterns(), [column]: pattern }), this);\n }\n columnFormat(column, format2) {\n return arguments.length === 1 ? this.columnFormats()[column] : (this.columnFormats({ ...this.columnFormats(), [column]: format2 }), this);\n }\n onRowClickCallback(row2, column) {\n this._prevRow && JSON.stringify(this._prevRow) !== JSON.stringify(row2) && this.click(this._prevRow, this._prevColumn ?? \"\", !1), row2 && this.click(row2, column, !0), this._prevRow = row2, this._prevColumn = column;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._div = element.append(\"div\").style(\"display\", \"grid\");\n }\n update(domNode, element) {\n super.update(domNode, element), this._div.style(\"width\", this.width() + \"px\"), this._div.style(\"height\", this.height() + \"px\"), q$2(_$1(ReactTable, { table: this }), this._div.node());\n }\n exit(domNode, element) {\n this._div.remove(), super.exit(domNode, element);\n }\n // Events ---\n click(row2, col, sel) {\n }\n}\nTable.prototype._class += \" dgrid2_Table\";\nTable.prototype.publish(\"noDataMessage\", \"...empty...\", \"string\", \"No Data Message\");\nTable.prototype.publish(\"darkMode\", !1, \"boolean\", \"Dark Mode\");\nTable.prototype.publish(\"multiSelect\", !1, \"boolean\", \"Multiple Selection\");\nTable.prototype.publish(\"columnTypes\", {}, \"object\", 'Column Types (\"boolean\" | \"number\" | \"string\" | \"time\"');\nTable.prototype.publish(\"columnPatterns\", {}, \"object\", \"Column Patterns\");\nTable.prototype.publish(\"columnFormats\", {}, \"object\", \"Column Formats\");\nexport {\n BUILD_VERSION,\n PKG_NAME,\n PKG_VERSION,\n Table\n};\n//# sourceMappingURL=index.js.map\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var o=document.createElement(\"style\");o.appendChild(document.createTextNode('.layout_AbsoluteSurface{pointer-events:none!important}.layout_AbsoluteSurface>.placeholder{position:relative;overflow:hidden;pointer-events:all}.layout_Accordion>ul{position:relative}.layout_Accordion.open>span{font-style:italic}.layout_Accordion.closed>ul{height:0px;overflow:hidden}.layout_Accordion.open>ul{display:block}.layout_Accordion>.collapsible-icon,.layout_Accordion>.collapsible-title{cursor:pointer;box-sizing:border-box}.layout_Accordion>.collapsible-title{display:block;width:100%}.layout_Accordion>.collapsible-title{font-size:13px;color:#fff;padding:4px 8px;height:26px;-webkit-box-shadow:inset 0px -1px 1px 0px rgba(0,0,0,.2);-moz-box-shadow:inset 0px -1px 1px 0px rgba(0,0,0,.2);box-shadow:inset 0 -1px 1px #0003}.layout_Accordion li{background-color:#fff}.layout_Accordion>ul,.layout_Accordion>.collapsible-title{background-color:#333}.layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion>.collapsible-title{background-color:#555}.layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#777}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#999}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#bbb}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#ccc}.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion .layout_Accordion>.collapsible-title{background-color:#ddd}.layout_Accordion>ul,.layout_Accordion>span{padding-left:0}.layout_Accordion .layout_Accordion>ul,.layout_Accordion .layout_Accordion>span{padding-left:12px}.layout_Accordion>.collapsible-title:before{padding:4px 8px;position:absolute;left:0;top:0}.layout_Accordion>.collapsible-icon{position:absolute;top:0;right:0;width:24px;height:24px;color:#fff}.layout_Surface{box-sizing:border-box;margin:0;border:1px solid #e5e5e5;overflow:hidden;height:100%;width:100%}.layout_Surface.shadow2{box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f}.layout_Surface>h3{margin:0;padding:2px;background-color:#e5e5e5}.layout_Surface .html-button-container{position:absolute;right:0;top:3px}.layout_Surface>div{padding:8px}.layout_Surface .html-button-container .surface-button{margin-right:5px}.layout_Surface .html-button-container .surface-button i{opacity:.8}.layout_Surface .html-button-container .surface-button:hover{opacity:1}.layout_Surface .html-button-container .surface-button:active{opacity:.5}div[draggable=true].hideDragCellContent.content-icon:before{content:\"\";font-family:FontAwesome;position:absolute;top:calc(50% - 74px);left:calc(50% - 56px);font-size:100px}div[draggable=true].hideDragCellContent.content-icon-Line:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Pie:before{top:calc(50% - 72px);left:calc(50% - 45px);content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Area:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Gauge:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Table:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Form:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Grid:before,div[draggable=true].hideDragCellContent.content-icon-Graph:before,div[draggable=true].hideDragCellContent.content-icon-Border:before,div[draggable=true].hideDragCellContent.content-icon-Tabbed:before,div[draggable=true].hideDragCellContent.content-icon-Accordion:before,div[draggable=true].hideDragCellContent.content-icon-MultiChart:before,div[draggable=true].hideDragCellContent.content-icon-MultiChartSurface:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-ChoroplethStates:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethStatesHeat:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethCounties:before,div[draggable=true].hideDragCellContent.content-icon-ChoroplethCountries:before,div[draggable=true].hideDragCellContent.content-icon-GMap:before,div[draggable=true].hideDragCellContent.content-icon-GMapHeat:before,div[draggable=true].hideDragCellContent.content-icon-GMapGraph:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Text:before,div[draggable=true].hideDragCellContent.content-icon-TextBox:before,div[draggable=true].hideDragCellContent.content-icon-FAChar:before{content:\"\"}.layout_Cell .update-indicator{box-sizing:border-box;position:absolute;top:0;left:0;padding:0;z-index:1000;border-width:0px;border-style:solid;pointer-events:none}.layout_Border{width:100%;height:100%}.layout_Border>.border-content{width:100%;height:100%;position:relative}.layout_Border>.borderHandle{width:6px;height:6px;background-color:#444;opacity:.3;position:absolute;visibility:hidden}.layout_Border.design-mode>.borderHandle{visibility:visible}.layout_Border>.borderHandle:hover{background-color:#666}.layout_Border>.borderHandle.borderHandleDisabled{display:none}.layout_Border>.borderHandle_top,.layout_Border>.borderHandle_bottom{cursor:ns-resize}.layout_Border>.borderHandle_left,.layout_Border>.borderHandle_right{cursor:ew-resize}.layout_Border .cell{border-radius:5px;border:1px solid #e5e5e5;display:inline-block;overflow:hidden}.layout_Border .cell h2{margin:0;padding-top:4px;-webkit-margin:0px;text-align:center}.layout_Border .layout_BorderCell.over{border:2px dashed #000}.layout_Border .dragItem{z-index:-1;opacity:.33}.layout_Border .notDragItem{z-index:-1;opacity:1}.layout_Border div[draggable=true]{opacity:.75;cursor:default}.layout_Border div[draggable=true] .dragHandle{opacity:1}.layout_Border div[draggable=true] .dragHandle_n,.layout_Border div[draggable=true] .dragHandle_e,.layout_Border div[draggable=true] .dragHandle_s,.layout_Border div[draggable=true] .dragHandle_w{background-color:#aaa}.layout_Border div[draggable=true] .dragHandle_nw,.layout_Border div[draggable=true] .dragHandle_ne,.layout_Border div[draggable=true] .dragHandle_se,.layout_Border div[draggable=true] .dragHandle_sw{background-color:#333}.layout_Border div[draggable=true] .dragHandle_nw{cursor:nw-resize}.layout_Border div[draggable=true] .dragHandle_n{cursor:n-resize}.layout_Border div[draggable=true] .dragHandle_ne{cursor:ne-resize}.layout_Border div[draggable=true] .dragHandle_e{cursor:e-resize}.layout_Border div[draggable=true] .dragHandle_se{cursor:se-resize}.layout_Border div[draggable=true] .dragHandle_s{cursor:s-resize}.layout_Border div[draggable=true] .dragHandle_sw{cursor:sw-resize}.layout_Border div[draggable=true] .dragHandle_w{cursor:w-resize}.layout_Border div[draggable=false]>div>.dragHandle{display:none}.layout_Border .grid-drop-target{position:fixed;box-sizing:border-box;border:2px dashed #7f8c8d;border-radius:0;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px,#6464641a 8px)}.layout_Border .grid-drop-target.drop-target-over{border:2px dashed #179BD7;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#119bd71a 6px,#119bd71a 12px)}.layout_Border2{display:flex;flex-direction:column}.layout_Border2>.body{margin:0;padding:0;display:flex;flex-flow:row}.layout_Border2>.body>.center{flex:1}.layout_Border2>.header{display:block}.layout_Border2>.footer{display:block}.layout_Carousel>div{position:relative;overflow:hidden}.layout_Carousel>div>.carouselItem{position:absolute}.layout_Modal-header{background-color:#3f51b5;overflow:hidden}.layout_Modal-body{background-color:#fff;overflow-y:scroll;overflow-x:hidden}.layout_Modal-title,.layout_Modal-annotations{position:absolute}.layout_Modal-closeButton{cursor:pointer}.layout_Modal-closeButton:hover{opacity:.7}.layout_Modal-closeButton:active{opacity:.5}.layout_Modal-fade{position:fixed;background-color:#000;opacity:.5;z-index:10000}.layout_Modal-content{position:fixed;background-color:#fff;z-index:10100}.layout_Modal-fade-hidden{display:none}.layout_Modal-fadeClickable{cursor:pointer}.layout_ChartPanel .series.highlight{stroke-width:2px;opacity:1}.layout_ChartPanel .series.lowlight{opacity:.3!important}.layout_FlexGrid{display:flex}.FlexGrid-list-item{overflow:hidden;border-style:solid;flex-grow:1}.layout_Grid>.ddCell{position:absolute}.layout_Grid>.laneBackground{position:absolute;border-style:solid;border-width:1px;background:#f5f5f5}.layout_Grid>.lane{position:absolute;border-style:none;opacity:.25;border-radius:0;pointer-events:none}.layout_Grid>.ddCell.draggable{border-style:solid;border-width:1px;background-color:#f8f8ff;border-radius:0;cursor:move}.layout_Grid>.ddCell.draggable>.resizeHandle{bottom:0;right:0;width:8px;height:8px;border-style:none;position:absolute;cursor:nwse-resize}.layout_Grid>.ddCell.draggable .resizeHandleDisplay{bottom:2px;right:2px;width:4px;height:4px;border-style:solid;border-left-width:0px;border-top-width:0px;border-right-width:2px;border-bottom-width:2px;border-color:#a9a9a9;background-color:none;position:absolute}.layout_Grid>.ddCell.draggable .resizeHandleDisplay:hover{border-color:orange}.layout_Grid>.dragging{border-style:solid;border-width:1px;border-color:gray;border-radius:0;position:absolute;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px,#6464641a 8px)}.layout_Grid>.resizing{border-style:solid;border-width:1px;border-color:gray;background-color:orange;border-radius:0;position:absolute;opacity:.3;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,orange 4px,orange 8px)}.layout_Grid>.ddCell.draggable .common_Widget.selected{border-style:solid;border-width:1px;border-color:red;background-color:gray;border-radius:0;position:absolute;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6400001a 4px,#6400001a 8px)}.layout_Grid #drag-me:before{content:\"#\" attr(id);font-weight:700}.layout_Layered{pointer-events:none}.layout_Layered>.container>.content{position:absolute}.layout_Layered>.container>.content>div>.common_Widget,.layout_Layered>.container>.content>div>svg>.common_Widget{pointer-events:all}.layout_Tabbed .tab-button{position:relative;top:1px;display:inline-block;border-left:1px solid #ddd;border-top:1px solid #ddd;border-right:1px solid #ddd;background-color:transparent;margin-right:4px;padding:2px 2px 4px;background-color:#ccc}.layout_Tabbed .tab-button.active{background-color:#fff;z-index:999}.layout_Tabbed .on_bottom .tab-button{border-bottom:1px solid #ddd;border-top:none;top:-1px}.layout_Toolbar{height:100%;background-color:#ddd;white-space:nowrap;overflow:hidden}.layout_Toolbar .toolbar-title{display:inline-block;position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);margin-left:4px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layout_Toolbar .toolbar-child{position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);float:right;margin-left:4px;margin-right:4px;line-height:16px}')),document.head.appendChild(o)}}catch(e){console.error(\"vite-plugin-css-injected-by-js\",e)}})();\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != \"symbol\" ? key + \"\" : key, value);\nimport { HTMLWidget, FAChar, select, selectAll, Utility, d3Event, Platform, drag, scaleLinear, dispatch, formatLocale, formatSpecifier, format, formatPrefix, sum, SVGWidget, Database, Palette, scaleOrdinal, ProgressBar, ToggleButton, Text, Button, Spacer, TitleBar, IconBar } from \"@hpcc-js/common\";\nimport { Table } from \"@hpcc-js/dgrid2\";\nimport { instanceOfIHighlight } from \"@hpcc-js/api\";\nfunction _mergeNamespaces(n, m) {\n for (var i = 0; i < m.length; i++) {\n const e = m[i];\n if (typeof e != \"string\" && !Array.isArray(e)) {\n for (const k2 in e)\n if (k2 !== \"default\" && !(k2 in n)) {\n const d = Object.getOwnPropertyDescriptor(e, k2);\n d && Object.defineProperty(n, k2, d.get ? d : {\n enumerable: !0,\n get: () => e[k2]\n });\n }\n }\n }\n return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: \"Module\" }));\n}\nconst PKG_NAME = \"@hpcc-js/layout\", PKG_VERSION = \"3.1.1\", BUILD_VERSION = \"3.2.1\";\nclass AbsoluteSurface extends HTMLWidget {\n constructor() {\n super(), this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element) {\n super.update(domNode, element);\n let xPos = 0, yPos = 0, width = this.clientWidth(), height = this.clientHeight();\n switch (this.units()) {\n case \"pixels\":\n xPos = this.widgetX(), yPos = this.widgetY(), width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()), height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight());\n break;\n case \"percent\":\n xPos = this.widgetX() * width / 100, yPos = this.widgetY() * height / 100, width = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()) * width / 100, height = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight()) * height / 100;\n break;\n }\n element.style(\"opacity\", this.opacity());\n const widgets = element.selectAll(\"#\" + this._id + \" > .placeholder\").data(this.widget() ? [this.widget()] : [], function(d) {\n return d._id;\n });\n widgets.enter().append(\"div\").attr(\"class\", \"placeholder\").each(function(d) {\n d.target(this);\n }).merge(widgets).style(\"left\", xPos + \"px\").style(\"top\", yPos + \"px\").style(\"width\", width + \"px\").style(\"bottom\", height + \"px\").each(function(d) {\n d.resize({ width, height });\n }), widgets.exit().each(function(d) {\n d.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n}\nAbsoluteSurface.prototype._class += \" layout_AbsoluteSurface\";\nAbsoluteSurface.prototype.publish(\"units\", \"percent\", \"set\", \"Units\", [\"pixels\", \"percent\"]);\nAbsoluteSurface.prototype.publish(\"widgetX\", 0, \"number\", \"Widget XPos\");\nAbsoluteSurface.prototype.publish(\"widgetY\", 0, \"number\", \"Widget YPos\");\nAbsoluteSurface.prototype.publish(\"widgetWidth\", \"100\", \"string\", \"Widget Width, omit for full\");\nAbsoluteSurface.prototype.publish(\"widgetHeight\", \"100\", \"string\", \"Widget Height, omit for full\");\nAbsoluteSurface.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\nAbsoluteSurface.prototype.publish(\"opacity\", 1, \"number\", \"Opacity\");\nclass Accordion extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_isClosed\");\n __publicField(this, \"titleSpan\");\n __publicField(this, \"iconDiv\");\n __publicField(this, \"ul\");\n __publicField(this, \"icon\");\n this._tag = \"div\", this._isClosed = !1;\n }\n pushListItem(widget, prepend = !1, protect = !1) {\n const contentArr = this.content();\n return widget._protected = protect, prepend ? contentArr.unshift(widget) : contentArr.push(widget), this.content(contentArr), this;\n }\n clearListItems() {\n const arr = [];\n for (const i in this.content())\n this.content()[i]._protected && arr.push(this.content()[i]);\n return this.content(arr), this;\n }\n collapseClick(element) {\n element.classed(\"closed\") ? (this._isClosed = !1, element.classed(\"open\", !0), element.classed(\"closed\", !1)) : (this._isClosed = !0, element.classed(\"open\", !1), element.classed(\"closed\", !0));\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n this._isClosed = this.defaultCollapsed(), element.classed(this._isClosed ? \"closed\" : \"open\", !0), this.titleSpan = element.append(\"span\").classed(\"collapsible-title\", !0), this.iconDiv = element.append(\"div\").classed(\"collapsible-icon\", !0), this.ul = element.append(\"ul\"), this.icon = new FAChar().size({ height: 24, width: 24 }).target(this.iconDiv.node()), this.iconDiv.on(\"click\", function() {\n context.collapseClick(element), context.render();\n }), this.titleSpan.on(\"click\", function() {\n context.collapseClick(element), context.render();\n });\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this, this_id = \"\";\n this.titleSpan.text(context.title().length > 0 ? context.title() + this_id : \"Accordion [\" + context._id + \"]\" + this_id);\n const rows = this.ul.selectAll(\"#\" + context._id + \" > ul > li\").data(this.content(), function(d) {\n return d._id;\n });\n rows.enter().append(function(widget) {\n const li = document.createElement(\"li\");\n if (widget._target === null) {\n const wSize = widget.size();\n if (wSize.width === 0 || wSize.height === 0) {\n const cSize = context.size();\n widget.size({\n width: cSize.width,\n height: cSize.width\n });\n }\n widget.target(li);\n } else\n return widget._target;\n return li;\n }), rows.exit().remove(), this.icon.text_colorFill(this.titleFontColor()).char(this._isClosed ? this.closedIcon() : this.openIcon()).render();\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n}\nAccordion.prototype._class += \" layout_Accordion\";\nAccordion.prototype.publish(\"content\", [], \"widgetArray\", \"Array of widgets\", null, { tags: [\"Basic\"] });\nAccordion.prototype.publish(\"title\", \"\", \"string\", \"Title of collapsible section\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"openIcon\", \"\", \"string\", \"Icon to display when list is open\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"closedIcon\", \"\", \"string\", \"Icon to display when list is closed\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"titleFontColor\", \"#FFFFFF\", \"html-color\", \"Title font color\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"titleBackgroundColor\", \"#333333\", \"html-color\", \"Title background color\", null, { tags: [\"Private\"] });\nAccordion.prototype.publish(\"defaultCollapsed\", !1, \"boolean\", \"Collapsed by default if true\", null, { tags: [\"Private\"] });\nclass Surface extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_surfaceButtons\");\n this._tag = \"div\", this._surfaceButtons = [];\n }\n widgetSize(titleDiv, widgetDiv) {\n let width = this.clientWidth(), height = this.clientHeight();\n return this.title() && (height -= this.calcHeight(titleDiv)), height -= this.calcFrameHeight(widgetDiv), width -= this.calcFrameWidth(widgetDiv), { width, height };\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element2) {\n super.update(domNode, element2);\n const context = this;\n element2.classed(\"shadow2\", this.surfaceShadow()).style(\"border-width\", this.surfaceBorderWidth_exists() ? this.surfaceBorderWidth() + \"px\" : null).style(\"border-color\", this.surfaceBorderColor()).style(\"border-radius\", this.surfaceBorderRadius_exists() ? this.surfaceBorderRadius() + \"px\" : null).style(\"background-color\", this.surfaceBackgroundColor());\n const titles = element2.selectAll(\".surfaceTitle\").data(this.title() ? [this.title()] : []);\n titles.enter().insert(\"h3\", \"div\").attr(\"class\", \"surfaceTitle\").merge(titles).text(function(d) {\n return d;\n }).style(\"text-align\", this.surfaceTitleAlignment()).style(\"color\", this.surfaceTitleFontColor()).style(\"font-size\", this.surfaceTitleFontSize_exists() ? this.surfaceTitleFontSize() + \"px\" : null).style(\"font-family\", this.surfaceTitleFontFamily()).style(\"font-weight\", this.surfaceTitleFontBold() ? \"bold\" : \"normal\").style(\"background-color\", this.surfaceTitleBackgroundColor()).style(\"padding\", this.surfaceTitlePadding_exists() ? this.surfaceTitlePadding() + \"px\" : null).style(\"title\", this.altText_exists() ? this.altText() : null), titles.exit().remove();\n const surfaceButtons = element2.select(\".surfaceTitle\").append(\"div\").attr(\"class\", \"html-button-container\").selectAll(\".surface-button\").data(this.buttonAnnotations());\n surfaceButtons.enter().append(\"button\").classed(\"surface-button\", !0).each(function(button, idx) {\n const el = context._surfaceButtons[idx] = select(this).attr(\"class\", \"surface-button\" + (button.class ? \" \" + button.class : \"\")).attr(\"id\", button.id).style(\"padding\", button.padding).style(\"width\", button.width).style(\"height\", button.height).style(\"cursor\", \"pointer\");\n button.font === \"FontAwesome\" ? el.style(\"background\", \"transparent\").style(\"border\", \"none\").on(\"click\", function(d) {\n context.click(d);\n }).append(\"i\").attr(\"class\", \"fa\").text(function() {\n return button.label;\n }) : el.text(function() {\n return button.label;\n }).on(\"click\", function(d) {\n context.click(d);\n });\n }), surfaceButtons.exit().each(function(_d, idx) {\n const element = select(this);\n delete context._surfaceButtons[idx], element.remove();\n });\n const widgets = element2.selectAll(\"#\" + this._id + \" > .surfaceWidget\").data(this.widget() ? [this.widget()] : [], function(d) {\n return d._id;\n });\n widgets.enter().append(\"div\").attr(\"class\", \"surfaceWidget\").each(function(d) {\n select(context.element().node().parentElement).classed(\"content-icon content-icon-\" + d.classID().split(\"_\")[1], !0), d.target(this);\n }).merge(widgets).style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).each(function(d) {\n const widgetSize = context.widgetSize(element2.select(\"h3\"), select(this));\n widgetSize.width < 0 && (widgetSize.width = 0), widgetSize.height < 0 && (widgetSize.height = 0), d.resize({ width: widgetSize.width, height: widgetSize.height });\n }), widgets.exit().each(function(d) {\n d.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n // Events ---\n click(obj) {\n }\n}\nSurface.prototype._class += \" layout_Surface\";\nSurface.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\nSurface.prototype.publish(\"altText\", null, \"string\", \"Alt text\", null, { optional: !0 });\nSurface.prototype.publish(\"surfaceTitlePadding\", null, \"number\", \"Title Padding (px)\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleFontBold\", !0, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleBackgroundColor\", null, \"html-color\", \"Title Background Color\", null, { tags: [\"Advanced\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceTitleAlignment\", \"center\", \"set\", \"Title Alignment\", [\"left\", \"right\", \"center\"], { tags: [\"Basic\"], disable: (w) => !w.title() });\nSurface.prototype.publish(\"surfaceShadow\", !1, \"boolean\", \"3D Shadow\");\nSurface.prototype.publish(\"surfacePadding\", null, \"string\", \"Surface Padding (px)\", null, { tags: [\"Intermediate\"] });\nSurface.prototype.publish(\"surfaceBackgroundColor\", null, \"html-color\", \"Surface Background Color\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderWidth\", null, \"number\", \"Surface Border Width (px)\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderColor\", null, \"html-color\", \"Surface Border Color\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"surfaceBorderRadius\", null, \"number\", \"Surface Border Radius (px)\", null, { tags: [\"Advanced\"] });\nSurface.prototype.publish(\"buttonAnnotations\", [], \"array\", \"Button Array\", null, { tags: [\"Private\"] });\nSurface.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Basic\"] });\nclass Cell extends Surface {\n constructor() {\n super();\n __publicField(this, \"_indicateTheseIds\");\n this._indicateTheseIds = [];\n }\n indicateTheseIds(_) {\n return arguments.length ? (this._indicateTheseIds = _, this) : this._indicateTheseIds;\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element.classed(\"layout_Surface\", !0).on(\"mouseenter\", function() {\n context.onMouseEnter();\n }).on(\"mouseleave\", function() {\n context.onMouseLeave();\n });\n }\n update(domNode, element) {\n super.update(domNode, element);\n }\n onMouseEnter() {\n const arr = this.indicateTheseIds(), opacity = this.indicatorOpacity(), indicatorBorderColor = this.indicatorBorderColor(), indicatorGlowColor = this.indicatorGlowColor();\n for (let i = 0; i < arr.length; i++) {\n const otherElement = select(\"#\" + arr[i]), otherWidget = otherElement.datum();\n otherElement && otherWidget && otherElement.append(\"div\").attr(\"class\", \"update-indicator\").style(\"width\", otherWidget.width() + \"px\").style(\"height\", otherWidget.height() + \"px\").style(\"opacity\", opacity).style(\"border-color\", indicatorBorderColor).style(\"-webkit-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor).style(\"-moz-box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor).style(\"box-shadow\", \"inset 0px 0px 30px 0px \" + indicatorGlowColor);\n }\n }\n onMouseLeave() {\n const arr = this.indicateTheseIds();\n for (let i = 0; i < arr.length; i++)\n selectAll(\"#\" + arr[i] + \" > div.update-indicator\").remove();\n }\n}\nCell.prototype._class += \" layout_Cell\";\nCell.prototype.publish(\"gridRow\", 0, \"number\", \"Grid Row Position\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridCol\", 0, \"number\", \"Grid Column Position\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridRowSpan\", 1, \"number\", \"Grid Row Span\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"gridColSpan\", 1, \"number\", \"Grid Column Span\", null, { tags: [\"Private\"] });\nCell.prototype.publish(\"indicatorGlowColor\", \"#EEEE11\", \"html-color\", \"Glow color of update-indicator\", null, { tags: [\"Basic\"] });\nCell.prototype.publish(\"indicatorBorderColor\", \"#F48A00\", \"html-color\", \"Border color of update-indicator\", null, { tags: [\"Basic\"] });\nCell.prototype.publish(\"indicatorOpacity\", 0.8, \"number\", \"Opacity of update-indicator\", null, { tags: [\"Basic\"] });\nclass Border extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_colCount\");\n __publicField(this, \"_rowCount\");\n __publicField(this, \"_colSize\");\n __publicField(this, \"_rowSize\");\n __publicField(this, \"_shrinkWrapBoxes\");\n __publicField(this, \"_watch\");\n __publicField(this, \"_offsetX\");\n __publicField(this, \"_offsetY\");\n __publicField(this, \"_dragCell\");\n __publicField(this, \"_dragCellSize\");\n __publicField(this, \"_dragCellStartSize\");\n __publicField(this, \"_handleTop\");\n __publicField(this, \"_handleLeft\");\n __publicField(this, \"_dragPrevX\");\n __publicField(this, \"_dragPrevY\");\n __publicField(this, \"_cellSizes\");\n __publicField(this, \"contentDiv\");\n __publicField(this, \"_scrollBarWidth\");\n __publicField(this, \"_borderHandles\");\n __publicField(this, \"_sectionTypeArr\");\n __publicField(this, \"lazyPostUpdate\", Utility.debounce(function() {\n this.postUpdate();\n }, 100));\n this._tag = \"div\", this._colCount = 0, this._rowCount = 0, this._colSize = 0, this._rowSize = 0, this._shrinkWrapBoxes = {}, this.content([]), this.sectionTypes([]);\n }\n watchWidget(widget) {\n if (this._watch === void 0 && (this._watch = {}), this._watch[widget.id()] && (this._watch[widget.id()].remove(), delete this._watch[widget.id()]), widget) {\n const context = this;\n this._watch[widget.id()] = widget.monitor(function(paramId, newVal, oldVal) {\n oldVal !== newVal && context.lazyPostUpdate();\n });\n }\n }\n applyLayoutType() {\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function(cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left, cell._fixedTop = layoutObj[this.sectionTypes()[i]].top, cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width, cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height, cell._dragHandles = this.cellSpecificDragHandles(this.sectionTypes()[i]);\n }, this);\n }\n cellSpecificDragHandles(sectionType) {\n switch (sectionType) {\n case \"top\":\n return [\"s\"];\n case \"right\":\n return [\"w\"];\n case \"bottom\":\n return [\"n\"];\n case \"left\":\n return [\"e\"];\n case \"center\":\n return [];\n }\n }\n borderLayoutObject(layoutType) {\n const retObj = {}, context = this;\n let topSize, topPerc, bottomSize, bottomPerc, leftSize, leftPerc, rightSize, rightPerc;\n const bcRect = this.target().getBoundingClientRect();\n bcRect.top, bcRect.left, bcRect.bottom, bcRect.right, this.target() instanceof SVGElement ? (parseFloat(this.target().getAttribute(\"width\")), parseFloat(this.target().getAttribute(\"height\"))) : (bcRect.width, bcRect.height), this.sectionTypes().indexOf(\"top\") !== -1 && (topSize = this.topSize(), topPerc = this.topPercentage(), typeof this._shrinkWrapBoxes.top < \"u\" && (topSize = this._shrinkWrapBoxes.top.height + this.gutter(), topPerc = 0)), this.sectionTypes().indexOf(\"bottom\") !== -1 && (bottomSize = this.bottomSize(), bottomPerc = this.bottomPercentage(), typeof this._shrinkWrapBoxes.bottom < \"u\" && (bottomSize = this._shrinkWrapBoxes.bottom.height + this.gutter(), bottomPerc = 0)), this.sectionTypes().indexOf(\"left\") !== -1 && (leftSize = this.leftSize(), leftPerc = this.leftPercentage(), typeof this._shrinkWrapBoxes.left < \"u\" && (leftSize = this._shrinkWrapBoxes.left.width + this.gutter(), leftPerc = 0)), this.sectionTypes().indexOf(\"right\") !== -1 && (rightSize = this.rightSize(), rightPerc = this.rightPercentage(), typeof this._shrinkWrapBoxes.right < \"u\" && (rightSize = this._shrinkWrapBoxes.right.width + this.gutter(), rightPerc = 0));\n const t = _sectionPlacementObject({\n width: { px: 0, \"%\": 100 },\n height: { px: topSize, \"%\": topPerc },\n top: { px: 0, \"%\": 0 },\n left: { px: 0, \"%\": 0 }\n }), b = _sectionPlacementObject({\n width: { px: 0, \"%\": 100 },\n height: { px: bottomSize, \"%\": bottomPerc },\n top: { px: 0, \"%\": 100 },\n left: { px: 0, \"%\": 0 }\n });\n b.top -= b.height;\n const l = _sectionPlacementObject({\n width: { px: leftSize, \"%\": leftPerc },\n height: { px: -t.height - b.height, \"%\": 100 },\n top: { px: t.height, \"%\": 0 },\n left: { px: 0, \"%\": 0 }\n }), r = _sectionPlacementObject({\n width: { px: rightSize, \"%\": rightPerc },\n height: { px: -t.height - b.height, \"%\": 100 },\n top: { px: t.height, \"%\": 0 },\n left: { px: 0, \"%\": 100 }\n });\n r.left -= r.width;\n const c2 = _sectionPlacementObject({\n width: { px: -r.width - l.width, \"%\": 100 },\n height: { px: -t.height - b.height, \"%\": 100 },\n top: { px: t.height, \"%\": 0 },\n left: { px: l.width, \"%\": 0 }\n });\n return retObj.top = t, retObj.bottom = b, retObj.right = r, retObj.left = l, retObj.center = c2, retObj;\n function _sectionPlacementObject(obj) {\n return obj.width.px = typeof obj.width.px < \"u\" ? obj.width.px : 0, obj.width[\"%\"] = typeof obj.width[\"%\"] < \"u\" ? obj.width[\"%\"] : 0, obj.height.px = typeof obj.height.px < \"u\" ? obj.height.px : 0, obj.height[\"%\"] = typeof obj.height[\"%\"] < \"u\" ? obj.height[\"%\"] : 0, {\n width: obj.width.px + obj.width[\"%\"] / 100 * context.width(),\n height: obj.height.px + obj.height[\"%\"] / 100 * context.height(),\n top: obj.top.px + obj.top[\"%\"] / 100 * context.height() + context.gutter() / 2,\n left: obj.left.px + obj.left[\"%\"] / 100 * context.width() + context.gutter() / 2\n };\n }\n }\n clearContent(sectionType) {\n if (!sectionType)\n this.content().forEach(function(contentWidget) {\n return contentWidget.target(null), !1;\n }), select(\"#\" + this.id() + \" > div.borderHandle\").classed(\"borderHandleDisabled\", !0), delete this._watch, this.content([]), this.sectionTypes([]);\n else {\n const idx = this.sectionTypes().indexOf(sectionType);\n idx >= 0 && (this._watch && this.content()[idx] && delete this._watch[this.content()[idx].id()], this.content()[idx].target(null), select(\"#\" + this.id() + \" > div.borderHandle_\" + sectionType).classed(\"borderHandleDisabled\", !0), this.content().splice(idx, 1), this.sectionTypes().splice(idx, 1));\n }\n }\n hasContent(sectionType, widget, title) {\n return this.sectionTypes().indexOf(sectionType) >= 0;\n }\n setContent(sectionType, widget, title) {\n if (this.clearContent(sectionType), title = typeof title < \"u\" ? title : \"\", widget) {\n const cell = new Cell().surfaceBorderWidth(0).widget(widget).title(title);\n this.watchWidget(widget), this.content().push(cell), this.sectionTypes().push(sectionType);\n }\n return this;\n }\n getCell(id) {\n const idx = this.sectionTypes().indexOf(id);\n return idx >= 0 ? this.content()[idx] : null;\n }\n getContent(id) {\n const idx = this.sectionTypes().indexOf(id);\n return idx >= 0 ? this.content()[idx].widget() : null;\n }\n setLayoutOffsets() {\n this._offsetX = this._element.node().getBoundingClientRect().left + this.gutter() / 2, this._offsetY = this._element.node().getBoundingClientRect().top + this.gutter() / 2;\n }\n dragStart(handle) {\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const context = this;\n this._dragCell = handle, this._dragCellStartSize = this[handle + \"Size\"](), this[handle + \"ShrinkWrap\"]() && (this[handle + \"Percentage\"](0), this[handle + \"ShrinkWrap\"](!1));\n const handleElm = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle);\n context._handleTop = parseFloat(handleElm.style(\"top\").split(\"px\")[0]), context._handleLeft = parseFloat(handleElm.style(\"left\").split(\"px\")[0]), this._dragPrevX = event.sourceEvent.clientX, this._dragPrevY = event.sourceEvent.clientY;\n }\n dragTick(handle) {\n const context = this, event = d3Event(), xDelta = this._dragPrevX - event.sourceEvent.clientX, yDelta = this._dragPrevY - event.sourceEvent.clientY;\n switch (handle) {\n case \"top\":\n case \"bottom\":\n _moveHandles(handle, yDelta);\n break;\n case \"right\":\n case \"left\":\n _moveHandles(handle, xDelta);\n break;\n }\n function _moveHandles(handle2, delta) {\n if (delta === 0) return;\n const handles = selectAll(\"#\" + context.id() + \" > div.borderHandle\"), grabbedHandle = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle2);\n grabbedHandle.classed(\"borderHandle_top\") ? (grabbedHandle.style(\"top\", context._handleTop - delta + \"px\"), context._cellSizes.topHeight = context._handleTop - delta, context._cellSizes.leftHeight = context._cellSizes.height, context._cellSizes.leftHeight -= context._cellSizes.topHeight, context._cellSizes.leftHeight -= context._cellSizes.bottomHeight, context._cellSizes.rightHeight = context._cellSizes.leftHeight) : grabbedHandle.classed(\"borderHandle_right\") ? (grabbedHandle.style(\"left\", context._handleLeft - delta + \"px\"), context._cellSizes.rightWidth = context._cellSizes.width - context._handleLeft + delta) : grabbedHandle.classed(\"borderHandle_bottom\") ? (grabbedHandle.style(\"top\", context._handleTop - delta + \"px\"), context._cellSizes.bottomHeight = context._cellSizes.height - context._handleTop + delta, context._cellSizes.leftHeight = context._cellSizes.height, context._cellSizes.leftHeight -= context._cellSizes.bottomHeight, context._cellSizes.leftHeight -= context._cellSizes.topHeight, context._cellSizes.rightHeight = context._cellSizes.leftHeight) : grabbedHandle.classed(\"borderHandle_left\") && (grabbedHandle.style(\"left\", context._handleLeft - delta + \"px\"), context._cellSizes.leftWidth = context._handleLeft - delta), handles.each(function() {\n const handle3 = select(this);\n handle3.classed(\"borderHandle_top\") ? (handle3.style(\"width\", context._cellSizes.width + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight - 3 + \"px\")) : handle3.classed(\"borderHandle_right\") ? (handle3.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"), handle3.style(\"height\", context._cellSizes.rightHeight + \"px\")) : handle3.classed(\"borderHandle_bottom\") ? (handle3.style(\"width\", context._cellSizes.width + \"px\"), handle3.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\")) : handle3.classed(\"borderHandle_left\") && (handle3.style(\"left\", context._cellSizes.leftWidth + \"px\"), handle3.style(\"height\", context._cellSizes.leftHeight + \"px\"), handle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"));\n });\n }\n }\n dragEnd(handle) {\n if (handle) {\n const event = d3Event(), xDelta = this._dragPrevX - event.sourceEvent.clientX, yDelta = this._dragPrevY - event.sourceEvent.clientY;\n switch (handle) {\n case \"top\":\n yDelta !== 0 && (this.topPercentage(0), this.topSize(this.topSize() === 0 ? this.getContent(\"top\").getBBox().height - yDelta : this.topSize() - yDelta));\n break;\n case \"right\":\n xDelta !== 0 && (this.rightPercentage(0), this.rightSize(this.rightSize() === 0 ? this.getContent(\"right\").getBBox().width + xDelta : this.rightSize() + xDelta));\n break;\n case \"bottom\":\n yDelta !== 0 && (this.bottomPercentage(0), this.bottomSize(this.bottomSize() === 0 ? this.getContent(\"bottom\").getBBox().height + yDelta : this.bottomSize() + yDelta));\n break;\n case \"left\":\n xDelta !== 0 && (this.leftPercentage(0), this.leftSize(this.leftSize() === 0 ? this.getContent(\"left\").getBBox().width - xDelta : this.leftSize() - xDelta));\n break;\n }\n this._dragPrevX = event.sourceEvent.clientX, this._dragPrevY = event.sourceEvent.clientY;\n }\n this.render();\n }\n size(_) {\n const retVal = HTMLWidget.prototype.size.apply(this, arguments);\n return arguments.length && this.contentDiv && this.contentDiv.style(\"width\", this._size.width + \"px\").style(\"height\", this._size.height + \"px\"), retVal;\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n element.style(\"position\", \"relative\"), this.contentDiv = element.append(\"div\").classed(\"border-content\", !0), this._scrollBarWidth = Platform.getScrollbarWidth(), this._borderHandles = [\"top\", \"left\", \"right\", \"bottom\"], element.selectAll(\"div.borderHandle\").data(this._borderHandles).enter().append(\"div\").classed(\"borderHandle\", !0).each(function(handle) {\n select(this).classed(\"borderHandle_\" + handle, !0).classed(\"borderHandleDisabled\", context.getContent(handle) === null);\n });\n }\n update(domNode, element) {\n super.update(domNode, element), this._sectionTypeArr = this.sectionTypes();\n const context = this;\n element.classed(\"design-mode\", this.designMode()), this.setLayoutOffsets();\n const rows = this.contentDiv.selectAll(\".cell_\" + this._id).data(this.content(), function(d) {\n return d._id;\n }), rowsUpdate = rows.enter().append(\"div\").classed(\"cell_\" + this._id, !0).style(\"position\", \"absolute\").each(function(d, i) {\n select(this).classed(\"border-cell border-cell-\" + context._sectionTypeArr[i], !0), d.target(this), select(\"#\" + context.id() + \" > div.borderHandle_\" + context._sectionTypeArr[i]).classed(\"borderHandleDisabled\", !1);\n }).merge(rows);\n rowsUpdate.each(function(d, idx) {\n const sectionType = context.sectionTypes()[idx];\n typeof context[sectionType + \"ShrinkWrap\"] < \"u\" && context[sectionType + \"ShrinkWrap\"]() ? (d.render(), context._shrinkWrapBoxes[sectionType] = d.widget().getBBox(!0)) : delete context._shrinkWrapBoxes[sectionType];\n });\n const drag$1 = drag().on(\"start\", function(d, i) {\n context.dragStart.call(context, d, i);\n }).on(\"drag\", function(d, i) {\n context.dragTick.call(context, d, i);\n }).on(\"end\", function(d, i) {\n context.dragEnd.call(context, d, i);\n });\n this.designMode() ? element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").call(drag$1) : element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").on(\".drag\", null);\n const layoutObj = this.borderLayoutObject();\n this.content().forEach(function(cell, i) {\n cell._fixedLeft = layoutObj[this.sectionTypes()[i]].left, cell._fixedTop = layoutObj[this.sectionTypes()[i]].top, cell._fixedWidth = layoutObj[this.sectionTypes()[i]].width, cell._fixedHeight = layoutObj[this.sectionTypes()[i]].height, cell._dragHandles = [];\n }, this), rowsUpdate.style(\"left\", function(d) {\n return d._fixedLeft + \"px\";\n }).style(\"top\", function(d) {\n return d._fixedTop + \"px\";\n }).style(\"width\", function(d) {\n return d._fixedWidth - context.gutter() + \"px\";\n }).style(\"height\", function(d) {\n return d._fixedHeight - context.gutter() + \"px\";\n }).each(function(d) {\n d._placeholderElement.attr(\"draggable\", context.designMode()).selectAll(\".dragHandle\").attr(\"draggable\", context.designMode()), d.surfacePadding(context.surfacePadding()).resize();\n }), rows.exit().each(function(d) {\n d.target(null);\n }).remove(), this.getCellSizes(), element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").each(function() {\n const handle = select(this);\n handle.classed(\"borderHandle_top\") ? (handle.style(\"width\", context._cellSizes.width + \"px\"), handle.style(\"top\", context._cellSizes.topHeight - 3 + \"px\")) : handle.classed(\"borderHandle_right\") ? (handle.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\"), handle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"), handle.style(\"height\", context._cellSizes.rightHeight + \"px\")) : handle.classed(\"borderHandle_bottom\") ? (handle.style(\"width\", context._cellSizes.width + \"px\"), handle.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\")) : handle.classed(\"borderHandle_left\") && (handle.style(\"left\", context._cellSizes.leftWidth + \"px\"), handle.style(\"height\", context._cellSizes.leftHeight + \"px\"), handle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\"));\n });\n }\n getCellSizes() {\n const context = this;\n context._cellSizes = {};\n const contentRect = this.element().node().getBoundingClientRect();\n context._cellSizes.width = contentRect.width, context._cellSizes.height = contentRect.height, this.element().selectAll(\"#\" + this.id() + \" > div > div.border-cell\").each(function() {\n const cell = select(this);\n if (typeof cell.node == \"function\") {\n const rect = cell.node().getBoundingClientRect();\n cell.classed(\"border-cell-top\") ? context._cellSizes.topHeight = rect.height : cell.classed(\"border-cell-left\") ? (context._cellSizes.leftWidth = rect.width, context._cellSizes.leftHeight = rect.height) : cell.classed(\"border-cell-right\") ? (context._cellSizes.rightWidth = rect.width, context._cellSizes.rightHeight = rect.height) : cell.classed(\"border-cell-bottom\") && (context._cellSizes.bottomHeight = rect.height);\n }\n }), [\"height\", \"width\", \"topHeight\", \"bottomHeight\", \"leftHeight\", \"rightHeight\", \"leftWidth\", \"rightWidth\"].forEach(function(size) {\n context._cellSizes[size] = context._cellSizes[size] === void 0 ? 0 : context._cellSizes[size];\n });\n }\n postUpdate(domNode, element) {\n const context = this;\n this.content().forEach(function(n) {\n if (n._element.node() !== null && n.widget()) {\n const prevBox = n.widget().getBBox(!1, !0), currBox = n.widget().getBBox(!0, !0);\n (prevBox.width !== currBox.width || prevBox.height !== currBox.height) && context.lazyRender();\n }\n });\n }\n exit(domNode, element) {\n this.content().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n}\nBorder.prototype._class += \" layout_Border\";\nBorder.prototype.publish(\"designMode\", !1, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nBorder.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"gutter\", 0, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\nBorder.prototype.publish(\"topShrinkWrap\", !1, \"boolean\", \"'Top' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"leftShrinkWrap\", !1, \"boolean\", \"'Left' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"rightShrinkWrap\", !1, \"boolean\", \"'Right' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"bottomShrinkWrap\", !1, \"boolean\", \"'Bottom' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"topSize\", 0, \"number\", \"Height of the 'Top' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"leftSize\", 0, \"number\", \"Width of the 'Left' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"rightSize\", 0, \"number\", \"Width of the 'Right' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"bottomSize\", 0, \"number\", \"Height of the 'Bottom' Cell (px)\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"topPercentage\", 20, \"number\", \"Percentage (of parent) Height of the 'Top' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"leftPercentage\", 20, \"number\", \"Percentage (of parent) Width of the 'Left' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"rightPercentage\", 20, \"number\", \"Percentage (of parent) Width of the 'Right' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"bottomPercentage\", 20, \"number\", \"Percentage (of parent) Height of the 'Bottom' Cell\", null, { tags: [\"Private\"] });\nBorder.prototype.publish(\"surfacePadding\", 0, \"number\", \"Cell Padding (px)\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"sectionTypes\", [], \"array\", \"Section Types sharing an index with 'content' - Used to determine position/size.\", null, { tags: [\"Private\"] });\nclass WidgetDiv {\n constructor(div) {\n __publicField(this, \"_div\");\n __publicField(this, \"_overlay\", !1);\n __publicField(this, \"_overflowX\", \"visible\");\n __publicField(this, \"_overflowY\", \"visible\");\n __publicField(this, \"_widget\");\n this._div = div;\n }\n overlay(_) {\n return arguments.length ? (this._overlay = _, this) : this._overlay;\n }\n overflowX(_) {\n return arguments.length ? (this._overflowX = _, this._div.style(\"overflow-x\", _), this) : this._overflowX;\n }\n overflowY(_) {\n return arguments.length ? (this._overflowY = _, this._div.style(\"overflow-y\", _), this) : this._overflowY;\n }\n element() {\n return this._div;\n }\n node() {\n return this._div.node();\n }\n widget(_) {\n return arguments.length ? (this._widget !== _ && (this._widget && this._widget.target(null), this._widget = _, this._widget && this._widget.target(this._div.node())), this) : this._widget;\n }\n resize(size) {\n return this._widget && (this._div.style(\"width\", `${size.width}px`).style(\"height\", `${size.height}px`), this._widget.resize(size)), this;\n }\n async render(getBBox, availableHeight, availableWidth) {\n let overflowX = this.overflowX();\n !this.overlay() && overflowX === \"visible\" && (overflowX = null);\n let overflowY = this.overflowY();\n return !this.overlay() && overflowY === \"visible\" && (overflowY = null), this._div.style(\"height\", this.overlay() ? \"0px\" : null).style(\"overflow-x\", overflowX).style(\"overflow-y\", overflowY), this._widget ? this._widget.renderPromise().then((w) => {\n if (getBBox && this._widget.visible()) {\n const retVal = this._widget.getBBox();\n return retVal.width += 8, availableHeight !== void 0 && retVal.height > availableHeight && (retVal.width += Platform.getScrollbarWidth()), availableWidth !== void 0 && retVal.width > availableWidth && (retVal.height += Platform.getScrollbarWidth()), this.overlay() ? retVal.height = 0 : retVal.height += 4, retVal;\n }\n return getBBox ? { x: 0, y: 0, width: 0, height: 0 } : void 0;\n }) : Promise.resolve(getBBox ? { x: 0, y: 0, width: 0, height: 0 } : void 0);\n }\n}\nclass Border2 extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_bodyElement\");\n __publicField(this, \"_topWA\");\n __publicField(this, \"_leftWA\");\n __publicField(this, \"_centerWA\");\n __publicField(this, \"_rightWA\");\n __publicField(this, \"_bottomWA\");\n __publicField(this, \"_topPrevOverflow\");\n __publicField(this, \"_leftPrevOverflow\");\n __publicField(this, \"_rightPrevOverflow\");\n __publicField(this, \"_bottomPrevOverflow\");\n this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n const topElement = element.append(\"header\");\n this._bodyElement = element.append(\"div\").attr(\"class\", \"body\");\n const centerElement = this._bodyElement.append(\"div\").attr(\"class\", \"center\"), leftElement = this._bodyElement.append(\"div\").attr(\"class\", \"lhs\"), rightElement = this._bodyElement.append(\"div\").attr(\"class\", \"rhs\"), bottomElement = element.append(\"div\").attr(\"class\", \"footer\");\n this._topWA = new WidgetDiv(topElement), this._centerWA = new WidgetDiv(centerElement), this._leftWA = new WidgetDiv(leftElement), this._rightWA = new WidgetDiv(rightElement), this._bottomWA = new WidgetDiv(bottomElement);\n }\n update(domNode, element) {\n super.update(domNode, element), this._topWA.element().style(\"display\", this.showTop() ? null : \"none\"), this._rightWA.element().style(\"display\", this.showRight() ? null : \"none\"), this._bottomWA.element().style(\"display\", this.showBottom() ? null : \"none\"), this._leftWA.element().style(\"display\", this.showLeft() ? null : \"none\"), this.topOverflowX() !== this._topWA.overflowX() && this._topWA.overflowX(this.topOverflowX()), this.rightOverflowX() !== this._rightWA.overflowX() && this._rightWA.overflowX(this.rightOverflowX()), this.bottomOverflowX() !== this._bottomWA.overflowX() && this._bottomWA.overflowX(this.bottomOverflowX()), this.leftOverflowX() !== this._leftWA.overflowX() && this._leftWA.overflowX(this.leftOverflowX()), this.topOverflowY() !== this._topWA.overflowY() && this._topWA.overflowY(this.topOverflowY()), this.rightOverflowY() !== this._rightWA.overflowY() && this._rightWA.overflowY(this.rightOverflowY()), this.bottomOverflowY() !== this._bottomWA.overflowY() && this._bottomWA.overflowY(this.bottomOverflowY()), this.leftOverflowY() !== this._leftWA.overflowY() && this._leftWA.overflowY(this.leftOverflowY()), this.element().style(\"width\", `${this.width()}px`).style(\"height\", `${this.height()}px`);\n }\n targetNull(w) {\n w && w.target(null);\n }\n exit(domNode, element) {\n this.targetNull(this.center()), this.targetNull(this.bottom()), this.targetNull(this.right()), this.targetNull(this.left()), this.targetNull(this.top()), super.exit(domNode, element);\n }\n swap(sectionA, sectionB) {\n const a2 = this[sectionA](), b = this[sectionB]();\n return this.targetNull(a2), this.targetNull(b), this[`_${sectionA}WA`].widget(null), this[`_${sectionB}WA`].widget(null), this[sectionA](b), this[sectionB](a2), this;\n }\n render(callback) {\n return super.render((w) => {\n this._topWA ? this._topWA.widget(this.top()).overlay(this.topOverlay()).render(!0).then(async (topBBox) => {\n const bottomBBox = await this._bottomWA.widget(this.bottom()).render(!0, void 0, this.width()), availableHeight = this.height() - (topBBox.height + bottomBBox.height), leftBBox = await this._leftWA.widget(this.left()).render(!0, availableHeight), rightBBox = await this._rightWA.widget(this.right()).render(!0, availableHeight);\n this.bottomHeight_exists() && (bottomBBox.height = this.bottomHeight());\n const bodyWidth = this.width() - (leftBBox.width + rightBBox.width), bodyHeight = this.height() - (topBBox.height + bottomBBox.height), centerOverflowX = this.centerOverflowX(), centerOverflowY = this.centerOverflowY(), scrollCenterX = [\"auto\", \"scroll\"].indexOf(centerOverflowX) !== -1, scrollCenterY = [\"auto\", \"scroll\"].indexOf(centerOverflowY) !== -1;\n (scrollCenterX || scrollCenterY) && this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n width: bodyWidth,\n height: bodyHeight\n }).render(), this._bodyElement.style(\"height\", `${bodyHeight}px`);\n const promises = [\n this._topWA.overflowX(this.topOverflowX()).overflowY(this.topOverflowY()).resize({\n width: this.width(),\n height: topBBox.height\n }).render(),\n this._leftWA.overflowX(this.leftOverflowX()).overflowY(this.leftOverflowY()).resize({\n width: leftBBox.width,\n height: bodyHeight\n }).render(),\n this._rightWA.overflowX(this.rightOverflowX()).overflowY(this.rightOverflowY()).resize({\n width: rightBBox.width,\n height: bodyHeight\n }).render(),\n this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n width: bodyWidth,\n height: bodyHeight\n }).render(),\n this._bottomWA.overflowX(this.bottomOverflowX()).overflowY(this.bottomOverflowY()).resize({\n width: this.width(),\n height: bottomBBox.height\n }).render()\n ];\n Promise.all(promises).then((promises2) => {\n callback && callback(this);\n });\n }) : callback && callback(this);\n });\n }\n}\nBorder2.prototype._class += \" layout_Border2\";\nBorder2.prototype.publish(\"showTop\", !0, \"boolean\", \"If true, top widget adapter will display\");\nBorder2.prototype.publish(\"showRight\", !0, \"boolean\", \"If true, right widget adapter will display\");\nBorder2.prototype.publish(\"showBottom\", !0, \"boolean\", \"If true, bottom widget adapter will display\");\nBorder2.prototype.publish(\"showLeft\", !0, \"boolean\", \"If true, left widget adapter will display\");\nBorder2.prototype.publish(\"topOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the top widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"rightOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the right widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"bottomOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the bottom widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"leftOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the left widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"centerOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the center widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"topOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the top widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"rightOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the right widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"bottomOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the bottom widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"leftOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the left widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"centerOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the center widget adapter\", [\"hidden\", \"scroll\", \"visible\", \"auto\"]);\nBorder2.prototype.publish(\"top\", null, \"widget\", \"Top Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"topOverlay\", !1, \"boolean\", \"Overlay Top Widget\");\nBorder2.prototype.publish(\"left\", null, \"widget\", \"Left Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"center\", null, \"widget\", \"Center Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"right\", null, \"widget\", \"Right Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"bottom\", null, \"widget\", \"Bottom Widget\", void 0, { render: !1 });\nBorder2.prototype.publish(\"bottomHeight\", null, \"number\", \"Bottom Fixed Height\", void 0, { optional: !0 });\nclass Carousel extends HTMLWidget {\n constructor() {\n super(...arguments);\n __publicField(this, \"_prevActive\", 0);\n __publicField(this, \"_root\");\n }\n activeWidget() {\n return this.widgets()[this.active()];\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._root = element.append(\"div\").attr(\"id\", `${this.id()}_root`);\n }\n update(domNode, element) {\n super.update(domNode, element);\n const active = this.active(), width = this.width();\n this._root.style(\"width\", `${width}px`).style(\"height\", `${this.height()}px`);\n const widgetElements = this._root.selectAll(`#${this.id()}_root > .carouselItem`).data(this.widgets(), (d) => d.id()), update = widgetElements.enter().append(\"div\").attr(\"class\", \"carouselItem\").each(function(w) {\n w.target(this);\n }).merge(widgetElements).style(\"left\", (d, i) => `${(i - this._prevActive) * width}px`).style(\"width\", `${width}px`);\n this._prevActive !== active && (update.style(\"display\", (d, i) => i === this._prevActive || i === active ? null : \"none\").transition().duration(this.transitionDuration()).style(\"left\", (d, i) => `${(i - active) * width}px`).on(\"end\", function(d, i) {\n select(this).style(\"display\", () => i === active ? null : \"none\");\n }), this._prevActive = active), widgetElements.exit().each(function(w) {\n w.target(null);\n }).remove();\n }\n exit(domNode, element) {\n this.widgets().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n render(callback) {\n return super.render((w) => {\n if (!this.visible() || this.isDOMHidden())\n callback && callback(w);\n else {\n const aw = this.activeWidget();\n aw && aw.resize(this.size()).render((w2) => {\n callback && callback(w);\n });\n }\n });\n }\n}\nCarousel.prototype._class += \" layout_Carousel\";\nCarousel.prototype.publish(\"widgets\", [], \"widgetArray\", \"Widgets\", null, { render: !1 });\nCarousel.prototype.publish(\"active\", 0, \"number\", \"Active widget\");\nCarousel.prototype.publish(\"transitionDuration\", 500, \"number\", \"Transition duration\");\nvar pi$1 = Math.PI, tau$1 = 2 * pi$1, epsilon = 1e-6, tauEpsilon = tau$1 - epsilon;\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null, this._ = \"\";\n}\nfunction path() {\n return new Path();\n}\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += \"Z\");\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n if (r < 0) throw new Error(\"negative radius: \" + r);\n if (this._x1 === null)\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n else if (l01_2 > epsilon) if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r)\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n else {\n var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi$1 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\n Math.abs(t01 - 1) > epsilon && (this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01)), this._ += \"A\" + r + \",\" + r + \",0,0,\" + +(y01 * x20 > x01 * y20) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n if (r < 0) throw new Error(\"negative radius: \" + r);\n this._x1 === null ? this._ += \"M\" + x0 + \",\" + y0 : (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) && (this._ += \"L\" + x0 + \",\" + y0), r && (da < 0 && (da = da % tau$1 + tau$1), da > tauEpsilon ? this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0) : da > epsilon && (this._ += \"A\" + r + \",\" + r + \",0,\" + +(da >= pi$1) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1))));\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + +w + \"v\" + +h + \"h\" + -w + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\nfunction constant(x) {\n return function() {\n return x;\n };\n}\nvar pi = Math.PI, tau = 2 * pi;\nconst d3SymbolCircle = {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0), context.arc(0, 0, r, 0, tau);\n }\n}, d3SymbolCross = {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r), context.lineTo(-r, -r), context.lineTo(-r, -3 * r), context.lineTo(r, -3 * r), context.lineTo(r, -r), context.lineTo(3 * r, -r), context.lineTo(3 * r, r), context.lineTo(r, r), context.lineTo(r, 3 * r), context.lineTo(-r, 3 * r), context.lineTo(-r, r), context.lineTo(-3 * r, r), context.closePath();\n }\n};\nvar tan30 = Math.sqrt(1 / 3), tan30_2 = tan30 * 2;\nconst d3SymbolDiamond = {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2), x = y * tan30;\n context.moveTo(0, -y), context.lineTo(x, 0), context.lineTo(0, y), context.lineTo(-x, 0), context.closePath();\n }\n};\nvar ka = 0.8908130915292852, kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10), kx = Math.sin(tau / 10) * kr, ky = -Math.cos(tau / 10) * kr;\nconst d3SymbolStar = {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka), x = kx * r, y = ky * r;\n context.moveTo(0, -r), context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a2 = tau * i / 5, c2 = Math.cos(a2), s2 = Math.sin(a2);\n context.lineTo(s2 * r, -c2 * r), context.lineTo(c2 * x - s2 * y, s2 * x + c2 * y);\n }\n context.closePath();\n }\n}, d3SymbolSquare = {\n draw: function(context, size) {\n var w = Math.sqrt(size), x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\nvar sqrt3 = Math.sqrt(3);\nconst d3SymbolTriangle = {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2), context.lineTo(-sqrt3 * y, -y), context.lineTo(sqrt3 * y, -y), context.closePath();\n }\n};\nvar c = -0.5, s = Math.sqrt(3) / 2, k = 1 / Math.sqrt(12), a = (k / 2 + 1) * 3;\nconst d3SymbolWye = {\n draw: function(context, size) {\n var r = Math.sqrt(size / a), x0 = r / 2, y0 = r * k, x1 = x0, y1 = r * k + r, x2 = -x1, y2 = y1;\n context.moveTo(x0, y0), context.lineTo(x1, y1), context.lineTo(x2, y2), context.lineTo(c * x0 - s * y0, s * x0 + c * y0), context.lineTo(c * x1 - s * y1, s * x1 + c * y1), context.lineTo(c * x2 - s * y2, s * x2 + c * y2), context.lineTo(c * x0 + s * y0, c * y0 - s * x0), context.lineTo(c * x1 + s * y1, c * y1 - s * x1), context.lineTo(c * x2 + s * y2, c * y2 - s * x2), context.closePath();\n }\n};\nfunction d3Symbol() {\n var type = constant(d3SymbolCircle), size = constant(64), context = null;\n function symbol() {\n var buffer;\n if (context || (context = buffer = path()), type.apply(this, arguments).draw(context, +size.apply(this, arguments)), buffer) return context = null, buffer + \"\" || null;\n }\n return symbol.type = function(_) {\n return arguments.length ? (type = typeof _ == \"function\" ? _ : constant(_), symbol) : type;\n }, symbol.size = function(_) {\n return arguments.length ? (size = typeof _ == \"function\" ? _ : constant(+_), symbol) : size;\n }, symbol.context = function(_) {\n return arguments.length ? (context = _ ?? null, symbol) : context;\n }, symbol;\n}\nvar _typeof = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj) {\n return typeof obj;\n} : function(obj) {\n return obj && typeof Symbol == \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n}, d3_identity = function(d) {\n return d;\n}, d3_reverse = function(arr) {\n for (var mirror = [], i = 0, l = arr.length; i < l; i++)\n mirror[i] = arr[l - i - 1];\n return mirror;\n}, d3_textWrapping = function(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/\\s+/).reverse(), word, line = [], lineHeight = 1.2;\n text2.attr(\"y\");\n for (var dy = parseFloat(text2.attr(\"dy\")) || 0, tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"dy\", dy + \"em\"); word = words.pop(); )\n line.push(word), tspan.text(line.join(\" \")), tspan.node().getComputedTextLength() > width && line.length > 1 && (line.pop(), tspan.text(line.join(\" \")), line = [word], tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"dy\", lineHeight + dy + \"em\").text(word));\n });\n}, d3_mergeLabels = function() {\n var gen = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], labels = arguments[1], domain = arguments[2], range = arguments[3], labelDelimiter = arguments[4];\n if ((typeof labels > \"u\" ? \"undefined\" : _typeof(labels)) === \"object\") {\n if (labels.length === 0) return gen;\n for (var i = labels.length; i < gen.length; i++)\n labels.push(gen[i]);\n return labels;\n } else if (typeof labels == \"function\") {\n for (var customLabels = [], genLength = gen.length, _i = 0; _i < genLength; _i++)\n customLabels.push(labels({\n i: _i,\n genLength,\n generatedLabels: gen,\n domain,\n range,\n labelDelimiter\n }));\n return customLabels;\n }\n return gen;\n}, d3_linearLegend = function(scale, cells, labelFormat) {\n var data = [];\n if (cells.length > 1)\n data = cells;\n else\n for (var domain = scale.domain(), increment = (domain[domain.length - 1] - domain[0]) / (cells - 1), i = 0; i < cells; i++)\n data.push(domain[0] + i * increment);\n var labels = data.map(labelFormat);\n return {\n data,\n labels,\n feature: function(d) {\n return scale(d);\n }\n };\n}, d3_quantLegend = function(scale, labelFormat, labelDelimiter) {\n var labels = scale.range().map(function(d) {\n var invert = scale.invertExtent(d);\n return labelFormat(invert[0]) + \" \" + labelDelimiter + \" \" + labelFormat(invert[1]);\n });\n return {\n data: scale.range(),\n labels,\n feature: d3_identity\n };\n}, d3_ordinalLegend = function(scale) {\n return {\n data: scale.domain(),\n labels: scale.domain(),\n feature: function(d) {\n return scale(d);\n }\n };\n}, d3_cellOver = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellover\", obj, d);\n}, d3_cellOut = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellout\", obj, d);\n}, d3_cellClick = function(cellDispatcher, d, obj) {\n cellDispatcher.call(\"cellclick\", obj, d);\n}, helper = {\n d3_drawShapes: function(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path2) {\n shape === \"rect\" ? shapes.attr(\"height\", shapeHeight).attr(\"width\", shapeWidth) : shape === \"circle\" ? shapes.attr(\"r\", shapeRadius) : shape === \"line\" ? shapes.attr(\"x1\", 0).attr(\"x2\", shapeWidth).attr(\"y1\", 0).attr(\"y2\", 0) : shape === \"path\" && shapes.attr(\"d\", path2);\n },\n d3_addText: function(svg, enter, labels, classPrefix, labelWidth) {\n enter.append(\"text\").attr(\"class\", classPrefix + \"label\");\n var text = svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").data(labels).text(d3_identity);\n return labelWidth && svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").call(d3_textWrapping, labelWidth), text;\n },\n d3_calcType: function(scale, ascending, cells, labels, labelFormat, labelDelimiter) {\n var type = scale.invertExtent ? d3_quantLegend(scale, labelFormat, labelDelimiter) : scale.ticks ? d3_linearLegend(scale, cells, labelFormat) : d3_ordinalLegend(scale), range = scale.range && scale.range() || scale.domain();\n return type.labels = d3_mergeLabels(type.labels, labels, scale.domain(), range, labelDelimiter), ascending && (type.labels = d3_reverse(type.labels), type.data = d3_reverse(type.data)), type;\n },\n d3_filterCells: function(type, cellFilter) {\n var filterCells = type.data.map(function(d, i) {\n return { data: d, label: type.labels[i] };\n }).filter(cellFilter), dataValues = filterCells.map(function(d) {\n return d.data;\n }), labelValues = filterCells.map(function(d) {\n return d.label;\n });\n return type.data = type.data.filter(function(d) {\n return dataValues.indexOf(d) !== -1;\n }), type.labels = type.labels.filter(function(d) {\n return labelValues.indexOf(d) !== -1;\n }), type;\n },\n d3_placement: function(orient, cell, cellTrans, text, textTrans, labelAlign) {\n cell.attr(\"transform\", cellTrans), text.attr(\"transform\", textTrans), orient === \"horizontal\" && text.style(\"text-anchor\", labelAlign);\n },\n d3_addEvents: function(cells, dispatcher) {\n cells.on(\"mouseover.legend\", function(d) {\n d3_cellOver(dispatcher, d, this);\n }).on(\"mouseout.legend\", function(d) {\n d3_cellOut(dispatcher, d, this);\n }).on(\"click.legend\", function(d) {\n d3_cellClick(dispatcher, d, this);\n });\n },\n d3_title: function(svg, title, classPrefix, titleWidth) {\n if (title !== \"\") {\n var titleText = svg.selectAll(\"text.\" + classPrefix + \"legendTitle\");\n titleText.data([title]).enter().append(\"text\").attr(\"class\", classPrefix + \"legendTitle\"), svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").text(title), titleWidth && svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").call(d3_textWrapping, titleWidth);\n var cellsSvg = svg.select(\".\" + classPrefix + \"legendCells\"), yOffset = svg.select(\".\" + classPrefix + \"legendTitle\").nodes().map(function(d) {\n return d.getBBox().height;\n })[0], xOffset = -cellsSvg.nodes().map(function(d) {\n return d.getBBox().x;\n })[0];\n cellsSvg.attr(\"transform\", \"translate(\" + xOffset + \",\" + yOffset + \")\");\n }\n },\n d3_defaultLocale: {\n format,\n formatPrefix\n },\n d3_defaultFormatSpecifier: \".01f\",\n d3_defaultDelimiter: \"to\"\n};\nfunction color() {\n var scale = scaleLinear(), shape = \"rect\", shapeWidth = 15, shapeHeight = 15, shapeRadius = 10, shapePadding = 2, cells = [5], cellFilter = void 0, labels = [], classPrefix = \"\", useClass = !1, title = \"\", locale = helper.d3_defaultLocale, specifier = helper.d3_defaultFormatSpecifier, labelOffset = 10, labelAlign = \"middle\", labelDelimiter = helper.d3_defaultDelimiter, labelWrap = void 0, orient = \"vertical\", ascending = !1, path2 = void 0, titleWidth = void 0, legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n function legend(svg) {\n var type = helper.d3_calcType(scale, ascending, cells, labels, locale.format(specifier), labelDelimiter), legendG = svg.selectAll(\"g\").data([scale]);\n legendG.enter().append(\"g\").attr(\"class\", classPrefix + \"legendCells\"), cellFilter && helper.d3_filterCells(type, cellFilter);\n var cell = svg.select(\".\" + classPrefix + \"legendCells\").selectAll(\".\" + classPrefix + \"cell\").data(type.data), cellEnter = cell.enter().append(\"g\").attr(\"class\", classPrefix + \"cell\");\n cellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\");\n var shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\").data(type.data);\n helper.d3_addEvents(cellEnter, legendDispatcher), cell.exit().transition().style(\"opacity\", 0).remove(), shapes.exit().transition().style(\"opacity\", 0).remove(), shapes = shapes.merge(shapes), helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path2);\n var text = helper.d3_addText(svg, cellEnter, type.labels, classPrefix, labelWrap);\n cell = cellEnter.merge(cell);\n var textSize = text.nodes().map(function(d) {\n return d.getBBox();\n }), shapeSize = shapes.nodes().map(function(d) {\n return d.getBBox();\n });\n useClass ? shapes.attr(\"class\", function(d) {\n return classPrefix + \"swatch \" + type.feature(d);\n }) : shape == \"line\" ? shapes.style(\"stroke\", type.feature) : shapes.style(\"fill\", type.feature);\n var cellTrans = void 0, textTrans = void 0, textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? 0.5 : 1;\n orient === \"vertical\" ? function() {\n var cellSize = textSize.map(function(d, i) {\n return Math.max(d.height, shapeSize[i].height);\n });\n cellTrans = function(d, i) {\n var height = sum(cellSize.slice(0, i));\n return \"translate(0, \" + (height + i * shapePadding) + \")\";\n }, textTrans = function(d, i) {\n return \"translate( \" + (shapeSize[i].width + shapeSize[i].x + labelOffset) + \", \" + (shapeSize[i].y + shapeSize[i].height / 2 + 5) + \")\";\n };\n }() : orient === \"horizontal\" && (cellTrans = function(d, i) {\n return \"translate(\" + i * (shapeSize[i].width + shapePadding) + \",0)\";\n }, textTrans = function(d, i) {\n return \"translate(\" + (shapeSize[i].width * textAlign + shapeSize[i].x) + `,\n ` + (shapeSize[i].height + shapeSize[i].y + labelOffset + 8) + \")\";\n }), helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign), helper.d3_title(svg, title, classPrefix, titleWidth), cell.transition().style(\"opacity\", 1);\n }\n return legend.scale = function(_) {\n return arguments.length ? (scale = _, legend) : scale;\n }, legend.cells = function(_) {\n return arguments.length ? ((_.length > 1 || _ >= 2) && (cells = _), legend) : cells;\n }, legend.cellFilter = function(_) {\n return arguments.length ? (cellFilter = _, legend) : cellFilter;\n }, legend.shape = function(_, d) {\n return arguments.length ? ((_ == \"rect\" || _ == \"circle\" || _ == \"line\" || _ == \"path\" && typeof d == \"string\") && (shape = _, path2 = d), legend) : shape;\n }, legend.shapeWidth = function(_) {\n return arguments.length ? (shapeWidth = +_, legend) : shapeWidth;\n }, legend.shapeHeight = function(_) {\n return arguments.length ? (shapeHeight = +_, legend) : shapeHeight;\n }, legend.shapeRadius = function(_) {\n return arguments.length ? (shapeRadius = +_, legend) : shapeRadius;\n }, legend.shapePadding = function(_) {\n return arguments.length ? (shapePadding = +_, legend) : shapePadding;\n }, legend.labels = function(_) {\n return arguments.length ? (labels = _, legend) : labels;\n }, legend.labelAlign = function(_) {\n return arguments.length ? ((_ == \"start\" || _ == \"end\" || _ == \"middle\") && (labelAlign = _), legend) : labelAlign;\n }, legend.locale = function(_) {\n return arguments.length ? (locale = formatLocale(_), legend) : locale;\n }, legend.labelFormat = function(_) {\n return arguments.length ? (specifier = formatSpecifier(_), legend) : legend.locale().format(specifier);\n }, legend.labelOffset = function(_) {\n return arguments.length ? (labelOffset = +_, legend) : labelOffset;\n }, legend.labelDelimiter = function(_) {\n return arguments.length ? (labelDelimiter = _, legend) : labelDelimiter;\n }, legend.labelWrap = function(_) {\n return arguments.length ? (labelWrap = _, legend) : labelWrap;\n }, legend.useClass = function(_) {\n return arguments.length ? ((_ === !0 || _ === !1) && (useClass = _), legend) : useClass;\n }, legend.orient = function(_) {\n return arguments.length ? (_ = _.toLowerCase(), (_ == \"horizontal\" || _ == \"vertical\") && (orient = _), legend) : orient;\n }, legend.ascending = function(_) {\n return arguments.length ? (ascending = !!_, legend) : ascending;\n }, legend.classPrefix = function(_) {\n return arguments.length ? (classPrefix = _, legend) : classPrefix;\n }, legend.title = function(_) {\n return arguments.length ? (title = _, legend) : title;\n }, legend.titleWidth = function(_) {\n return arguments.length ? (titleWidth = _, legend) : titleWidth;\n }, legend.textWrap = function(_) {\n return arguments.length ? (textWrap = _, legend) : textWrap;\n }, legend.on = function() {\n var value = legendDispatcher.on.apply(legendDispatcher, arguments);\n return value === legendDispatcher ? legend : value;\n }, legend;\n}\nclass Legend extends SVGWidget {\n constructor(owner) {\n super();\n __publicField(this, \"_owner\");\n __publicField(this, \"_targetWidget\");\n __publicField(this, \"_targetWidgetMonitor\");\n __publicField(this, \"_legendOrdinal\");\n __publicField(this, \"_disabled\", []);\n __publicField(this, \"_symbolTypeMap\", {\n circle: d3SymbolCircle,\n cross: d3SymbolCross,\n diamond: d3SymbolDiamond,\n square: d3SymbolSquare,\n star: d3SymbolStar,\n triangle: d3SymbolTriangle,\n wye: d3SymbolWye\n });\n __publicField(this, \"_g\");\n __publicField(this, \"_containerSize\");\n this._owner = owner, this._drawStartPos = \"origin\";\n const context = this;\n this._legendOrdinal = color().shape(\"path\", d3Symbol().type(d3SymbolCircle).size(150)()).shapePadding(10).shapeRadius(10).on(\"cellclick\", function(d) {\n context.onClick(d, this);\n }).on(\"cellover\", (d) => {\n context.onOver(d, this);\n }).on(\"cellout\", (d) => {\n context.onOut(d, this);\n });\n }\n isDisabled(d) {\n return typeof d > \"u\" ? !1 : typeof d == \"string\" ? d.indexOf(\"__\") === 0 || this._disabled.indexOf(d) >= 0 : d instanceof Database.Field ? d.id().indexOf(\"__\") === 0 || this._disabled.indexOf(d.id()) >= 0 : this._disabled.indexOf(d) >= 0;\n }\n filteredFields() {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.fields();\n case \"ND\":\n return this.fields().filter((d) => !this.isDisabled(d));\n }\n return this.fields();\n }\n filteredColumns() {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.columns();\n case \"ND\":\n return this.columns().filter((d) => !this.isDisabled(d));\n }\n return this.columns();\n }\n filteredData() {\n switch (this.dataFamily()) {\n case \"2D\":\n return this.data().filter((row) => !this.isDisabled(row[0]));\n case \"ND\":\n const disabledCols = {};\n let anyDisabled = !1;\n return this.columns().forEach((col, idx) => {\n const disabled = this.isDisabled(col);\n disabledCols[idx] = disabled, disabled && (anyDisabled = !0);\n }), anyDisabled ? this.data().map((row) => row.filter((cell, idx) => !disabledCols[idx])) : this.data();\n }\n return this.data();\n }\n isRainbow() {\n const widget = this.getWidget();\n return widget && widget._palette && widget._palette.type() === \"rainbow\";\n }\n targetWidget(_) {\n if (!arguments.length) return this._targetWidget;\n if (this._targetWidget = _, this._targetWidgetMonitor && (this._targetWidgetMonitor.remove(), delete this._targetWidgetMonitor), this._targetWidget) {\n const context = this;\n this._targetWidgetMonitor = this._targetWidget.monitor(function(key, newProp, oldProp, source) {\n switch (key) {\n case \"chart\":\n case \"columns\":\n case \"data\":\n case \"paletteID\":\n context.lazyRender();\n break;\n }\n });\n }\n return this;\n }\n getWidget() {\n if (this._targetWidget)\n switch (this._targetWidget.classID()) {\n case \"composite_MultiChart\":\n return this._targetWidget.chart();\n }\n return this._targetWidget;\n }\n getPalette() {\n const widget = this.getWidget();\n if (widget && widget._palette)\n switch (widget._palette.type()) {\n case \"ordinal\":\n return Palette.ordinal(widget._palette.id());\n case \"rainbow\":\n return Palette.rainbow(widget._palette.id());\n }\n return Palette.ordinal(\"default\");\n }\n getPaletteType() {\n return this.getPalette().type();\n }\n fillColorFunc() {\n const widget = this.getWidget();\n if (widget && widget.fillColor)\n return widget._palette && widget.paletteID && widget._palette.name !== widget.paletteID() && (widget._palette = widget._palette.switch(widget.paletteID())), (row, col, sel) => widget.fillColor(row, col, sel);\n const palette = Palette.ordinal(widget && widget.paletteID && widget.paletteID() || \"default\");\n return (row, col, sel) => palette(col);\n }\n fillColor(row, col, sel) {\n return this.fillColorFunc()(row, col, sel);\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._g = element.append(\"g\").attr(\"class\", \"legendOrdinal\");\n }\n calcMetaData() {\n let dataArr = [], total = 0, maxLabelWidth = 0;\n const colLength = this.columns().length;\n if (this._targetWidget) {\n const columns = this.columns();\n switch (this.getPaletteType()) {\n case \"ordinal\":\n const fillColor = this.fillColorFunc();\n let val = 0;\n switch (this.dataFamily()) {\n case \"2D\":\n dataArr = this.data().map(function(n, i) {\n val = this.data()[i].slice(1, colLength).reduce((acc, n2) => acc + n2, 0);\n const disabled = this.isDisabled(n[0]);\n disabled || (total += val);\n const label = n[0] + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\"), textSize = this.textSize(label);\n return maxLabelWidth < textSize.width && (maxLabelWidth = textSize.width), [fillColor(n, n[0], !1), n[0], label];\n }, this);\n break;\n case \"ND\":\n dataArr = this.columns().filter((col) => col.indexOf(\"__\") !== 0).filter(function(n, i) {\n return i > 0;\n }).map(function(n, i) {\n val = this.data().reduce((acc, n2) => acc + n2[i + 1], 0);\n const disabled = this.isDisabled(columns[i + 1]), label = n + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n disabled || (total += val);\n const textSize = this.textSize(label);\n return maxLabelWidth < textSize.width && (maxLabelWidth = textSize.width), [fillColor(void 0, n, !1), n, label];\n }, this);\n break;\n default:\n dataArr = this.columns().map(function(n) {\n return [fillColor(void 0, n, !1), n];\n }, this);\n break;\n }\n break;\n case \"rainbow\":\n const palette = this.getPalette(), format$1 = format(this.rainbowFormat()), widget = this.getWidget(), steps = this.rainbowBins(), weightMin = widget._dataMinWeight, weightMax = widget._dataMaxWeight, stepWeightDiff = (weightMax - weightMin) / (steps - 1);\n dataArr.push([palette(weightMin, weightMin, weightMax), format$1(weightMin)]);\n for (let x = 1; x < steps - 1; ++x) {\n let mid = stepWeightDiff * x;\n Math.floor(mid) > parseInt(dataArr[0][1]) && (mid = Math.floor(mid)), dataArr.push([palette(mid, weightMin, weightMax), format$1(mid)]);\n }\n dataArr.push([palette(weightMax, weightMin, weightMax), format$1(weightMax)]);\n break;\n }\n }\n return {\n dataArr,\n total,\n maxLabelWidth\n };\n }\n update(domNode, element) {\n super.update(domNode, element);\n const { dataArr, maxLabelWidth, total } = this.calcMetaData(), radius = this.shapeRadius(), size = this.radiusToSymbolSize(radius), strokeWidth = 1;\n let shapePadding = this.itemPadding();\n this.orientation() === \"horizontal\" && (shapePadding += maxLabelWidth - radius * 2);\n const ordinal = scaleOrdinal().domain(dataArr.map((row) => row[1])).range(dataArr.map((row) => row[0]));\n this._legendOrdinal.shape(\"path\", d3Symbol().type(this._symbolTypeMap[this.symbolType()]).size(size)()).orient(this.orientation()).title(this.title()).labelWrap(this.labelMaxWidth()).labelAlign(this.labelAlign()).shapePadding(shapePadding).scale(ordinal).labels((d) => dataArr[d.i][2]), this._g.call(this._legendOrdinal), this.updateDisabled(element, dataArr);\n const legendCellsBbox = this._g.select(\".legendCells\").node().getBBox();\n let offsetX = Math.abs(legendCellsBbox.x), offsetY = Math.abs(legendCellsBbox.y) + strokeWidth;\n if (this.orientation() === \"horizontal\") {\n if (this.labelAlign() === \"start\" ? offsetX += strokeWidth : this.labelAlign() === \"end\" && (offsetX -= strokeWidth), this.width() > legendCellsBbox.width) {\n const extraWidth = this.width() - legendCellsBbox.width;\n offsetX += extraWidth / 2;\n }\n } else if (this.orientation() === \"vertical\" && (offsetX += strokeWidth, this._containerSize.height > legendCellsBbox.height)) {\n const extraHeight = this.height() - legendCellsBbox.height;\n offsetY += extraHeight / 2;\n }\n this._g.attr(\"transform\", `translate(${offsetX}, ${offsetY})`), this.pos({\n x: 0,\n y: 0\n }), this._legendOrdinal.labelOffset(this.itemPadding());\n const legendTotal = this._g.selectAll(\".legendTotal\").data(dataArr.length && this.showLegendTotal() ? [total] : []), totalText = `Total: ${total}`, totalOffsetX = -offsetX, totalOffsetY = legendCellsBbox.height + this.itemPadding() + strokeWidth;\n this.enableOverflowScroll(!1), this.enableOverflow(!0), legendTotal.enter().append(\"text\").classed(\"legendTotal\", !0).merge(legendTotal).attr(\"transform\", `translate(${totalOffsetX}, ${totalOffsetY})`).text(totalText), legendTotal.exit().remove();\n }\n updateDisabled(element, dataArr) {\n element.style(\"cursor\", \"pointer\").selectAll(\"path.swatch\").filter((d, i) => i < dataArr.length).style(\"stroke\", (d, i) => dataArr[i][0]).style(\n \"fill\",\n (d, i) => this._disabled.indexOf(d) < 0 ? dataArr[i][0] : \"white\"\n );\n }\n postUpdate(domNode, element) {\n let w;\n this._boundingBox && (w = this._boundingBox.width, this._boundingBox.width = this._size.width), super.postUpdate(domNode, element), w !== void 0 && (this._boundingBox.width = w), this._parentRelativeDiv.style(\"overflow\", \"hidden\");\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n radiusToSymbolSize(radius) {\n const circleSize = Math.pow(radius, 2) * Math.PI;\n switch (this.symbolType()) {\n case \"star\":\n return circleSize * 0.45;\n case \"triangle\":\n return circleSize * 0.65;\n case \"cross\":\n case \"diamond\":\n case \"wye\":\n return circleSize * 0.75;\n case \"circle\":\n return circleSize;\n case \"square\":\n return circleSize * 1.3;\n }\n }\n onClick(d, domNode) {\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n const disabledIdx = this._disabled.indexOf(d);\n disabledIdx < 0 ? this._disabled.push(d) : this._disabled.splice(disabledIdx, 1), this._owner.refreshColumns(), this._owner.refreshData(), this._owner.render();\n break;\n }\n break;\n }\n }\n onOver(d, domNode) {\n if (instanceOfIHighlight(this._owner))\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n this._disabled.indexOf(d) < 0 && this._owner.highlightColumn(d);\n break;\n }\n break;\n }\n }\n onOut(d, domNode) {\n if (instanceOfIHighlight(this._owner))\n switch (this.getPaletteType()) {\n case \"ordinal\":\n switch (this.dataFamily()) {\n case \"2D\":\n case \"ND\":\n this._owner.highlightColumn();\n break;\n }\n break;\n }\n }\n onDblClick(rowData, rowIdx) {\n }\n onMouseOver(rowData, rowIdx) {\n }\n resize(_size) {\n let retVal;\n if (this.fitToContent()) {\n this._containerSize = _size;\n const bbox = this.getBBox();\n _size.width > bbox.width && (bbox.width = _size.width), _size.height > bbox.height && (bbox.height = _size.height), retVal = super.resize.apply(this, [{ ...bbox }]);\n } else\n retVal = super.resize.apply(this, arguments);\n return retVal;\n }\n}\nLegend.prototype._class += \" layout_Legend\";\nLegend.prototype.publish(\"title\", \"\", \"string\", \"Title\");\nLegend.prototype.publish(\"symbolType\", \"circle\", \"set\", \"Shape of each legend item\", [\"circle\", \"cross\", \"diamond\", \"square\", \"star\", \"triangle\", \"wye\"]);\nLegend.prototype.publish(\"labelMaxWidth\", null, \"number\", \"Max Label Width (pixels)\", null, { optional: !0 });\nLegend.prototype.publish(\"orientation\", \"vertical\", \"set\", \"Orientation of Legend rows\", [\"vertical\", \"horizontal\"], { tags: [\"Private\"] });\nLegend.prototype.publish(\"dataFamily\", \"ND\", \"set\", \"Type of data\", [\"1D\", \"2D\", \"ND\", \"map\", \"graph\", \"any\"], { tags: [\"Private\"] });\nLegend.prototype.publish(\"rainbowFormat\", \",\", \"string\", \"Rainbow number formatting\", null, { tags: [\"Private\"], optional: !0, disable: (w) => !w.isRainbow() });\nLegend.prototype.publish(\"rainbowBins\", 8, \"number\", \"Number of rainbow bins\", null, { tags: [\"Private\"], disable: (w) => !w.isRainbow() });\nLegend.prototype.publish(\"showSeriesTotal\", !1, \"boolean\", \"Show value next to series\");\nLegend.prototype.publish(\"showLegendTotal\", !1, \"boolean\", \"Show a total of the series values under the legend\", null);\nLegend.prototype.publish(\"itemPadding\", 8, \"number\", \"Padding between legend items (pixels)\");\nLegend.prototype.publish(\"shapeRadius\", 7, \"number\", \"Radius of legend shape (pixels)\");\nLegend.prototype.publish(\"fitToContent\", !0, \"boolean\", \"If true, resize will simply reapply the bounding box dimensions\");\nLegend.prototype.publish(\"labelAlign\", \"start\", \"set\", \"Horizontal alignment of legend item label (for horizontal orientation only)\", [\"start\", \"middle\", \"end\"], { optional: !0, disable: (w) => w.orientation() === \"vertical\" });\nclass Modal extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_widget\");\n __publicField(this, \"_relativeTarget\");\n __publicField(this, \"_fade\");\n __publicField(this, \"_modal\");\n __publicField(this, \"_modalHeader\");\n __publicField(this, \"_modalBody\");\n __publicField(this, \"_modalHeaderAnnotations\");\n __publicField(this, \"_modalHeaderCloseButton\");\n __publicField(this, \"_close\");\n this._tag = \"div\";\n }\n closeModal() {\n this.visible(!1);\n }\n getRelativeTarget() {\n let relativeTarget;\n return this.relativeTargetId() && (relativeTarget = document.getElementById(this.relativeTargetId()), relativeTarget) ? relativeTarget : !relativeTarget && (relativeTarget = this.locateAncestor(\"layout_Grid\"), relativeTarget && relativeTarget.element) ? relativeTarget.element().node() : document.body;\n }\n setModalSize() {\n this.fixedHeight() !== null && this.fixedWidth() !== null ? this._modal.style(\"height\", this.fixedHeight()).style(\"width\", this.fixedWidth()).style(\"min-height\", null).style(\"min-width\", null).style(\"max-height\", null).style(\"max-width\", null) : (this.minHeight() || this.minWidth()) && this._modal.style(\"min-height\", this.minHeight()).style(\"min-width\", this.minWidth()).style(\"max-height\", this.maxHeight()).style(\"max-width\", this.maxWidth());\n const modalRect = this._modal.node().getBoundingClientRect(), headerRect = this._modalHeader.node().getBoundingClientRect();\n return this._modalBody.style(\"height\", modalRect.height - headerRect.height + \"px\").style(\"width\", modalRect.width), modalRect;\n }\n setFadePosition(rect) {\n this._fade.style(\"top\", rect.top + \"px\").style(\"left\", rect.left + \"px\").style(\"width\", rect.width + \"px\").style(\"height\", rect.height + \"px\");\n }\n setModalPosition(rect) {\n const modalRect = this.setModalSize();\n if (this.fixedTop() !== null && this.fixedLeft() !== null)\n this._modal.style(\"top\", `calc(${this.fixedTop()} + ${rect.top}px)`).style(\"left\", `calc(${this.fixedLeft()} + ${rect.left}px)`);\n else if (this.fixedHeight() !== null && this.fixedWidth() !== null)\n this._modal.style(\"top\", rect.top + rect.height / 2 - modalRect.height / 2 + \"px\").style(\"left\", rect.left + rect.width / 2 - modalRect.width / 2 + \"px\");\n else if (this.minHeight() || this.minWidth()) {\n const contentRect = this._modal.node().getBoundingClientRect();\n this._modal.style(\"top\", rect.top + rect.height / 2 - contentRect.height / 2 + \"px\").style(\"left\", rect.left + rect.width / 2 - contentRect.width / 2 + \"px\");\n }\n }\n resize(size) {\n return super.resize(), this._modal && this.setModalSize(), this;\n }\n resizeBodySync(width, height) {\n const headerRect = this._modalHeader.node().getBoundingClientRect();\n return this._modal.style(\"width\", width + \"px\").style(\"height\", height + headerRect.height + \"px\").style(\"min-width\", width + \"px\").style(\"min-height\", height + headerRect.height + \"px\"), this._modalHeader.style(\"width\", width + \"px\"), this._modalBody.style(\"width\", width + \"px\").style(\"height\", height + \"px\"), this.minWidth(width + \"px\").minHeight(height + headerRect.height + \"px\").resize({\n height: height + headerRect.height,\n width\n });\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._fade = element.append(\"div\").classed(\"layout_Modal-fade\", !0).classed(\"layout_Modal-fadeClickable\", this.enableClickFadeToClose()).classed(\"layout_Modal-fade-hidden\", !this.showFade());\n const header_h = this.titleFontSize() * 2;\n this._modal = element.append(\"div\").classed(\"layout_Modal-content\", !0), this._modalHeader = this._modal.append(\"div\").classed(\"layout_Modal-header\", !0).style(\"color\", this.titleFontColor()).style(\"font-size\", this.titleFontSize() + \"px\").style(\"height\", header_h + \"px\"), this._modalBody = this._modal.append(\"div\").classed(\"layout_Modal-body\", !0).style(\"height\", `calc( 100% - ${header_h}px )`).style(\"overflow-x\", this.overflowX()).style(\"overflow-y\", this.overflowY()), this._modalHeader.append(\"div\").classed(\"layout_Modal-title\", !0).style(\"line-height\", this.titleFontSize() + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\").style(\"left\", this.titleFontSize() / 2 + \"px\").text(this.formattedTitle()), this._modalHeaderAnnotations = this._modalHeader.append(\"div\").classed(\"layout_Modal-annotations\", !0), this._modalHeaderCloseButton = this._modalHeaderAnnotations.append(\"div\").classed(\"layout_Modal-closeButton\", !0).html('<i class=\"fa fa-close\"></i>'), this._modalHeaderAnnotations.style(\"line-height\", this.titleFontSize() + \"px\").style(\"right\", this.titleFontSize() / 2 + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\"), this._modalHeaderCloseButton.on(\"click\", () => {\n this.closeModal();\n }), this._fade.on(\"click\", (n) => {\n this.enableClickFadeToClose() && this.closeModal();\n });\n }\n update(domNode, element) {\n super.update(domNode, element), element.style(\"display\", this.show() ? null : \"none\"), this._fade.classed(\"layout_Modal-fade-hidden\", !this.showFade()), this._relativeTarget = this.getRelativeTarget(), this.setModalSize();\n const rect = this._relativeTarget.getBoundingClientRect();\n this.setFadePosition(rect), this.setModalPosition(rect), this.show() ? (this._widget.target() || this._widget.target(this._modalBody.node()), this._widget.resize().render()) : this._widget.target(null).render();\n }\n exit(domNode, element) {\n this._widget && this._widget.target(null), super.exit(domNode, element);\n }\n formattedTitle() {\n const title = this.title_exists() ? this.title().trim() : \"\";\n return title.length > 0 && title.slice(0, 1) === \"(\" && title.slice(-1) === \")\" ? title.slice(1, -1) : this.title();\n }\n}\nModal.prototype._class += \" layout_Modal\";\nModal.prototype.publish(\"title\", null, \"string\", \"title\");\nModal.prototype.publish(\"widget\", null, \"widget\", \"widget\");\nModal.prototype.publish(\"titleFontSize\", 18, \"number\", \"titleFontSize (in pixels)\");\nModal.prototype.publish(\"titleFontColor\", \"#ffffff\", \"html-color\", \"titleFontColor\");\nModal.prototype.publish(\"relativeTargetId\", null, \"string\", \"relativeTargetId\");\nModal.prototype.publish(\"show\", !0, \"boolean\", \"show\");\nModal.prototype.publish(\"showFade\", !0, \"boolean\", \"showFade\");\nModal.prototype.publish(\"enableClickFadeToClose\", !0, \"boolean\", \"enableClickFadeToClose\");\nModal.prototype.publish(\"minWidth\", \"400px\", \"string\", \"minWidth\");\nModal.prototype.publish(\"minHeight\", \"400px\", \"string\", \"minHeight\");\nModal.prototype.publish(\"maxWidth\", \"800px\", \"string\", \"maxWidth\");\nModal.prototype.publish(\"maxHeight\", \"800px\", \"string\", \"maxHeight\");\nModal.prototype.publish(\"fixedWidth\", null, \"string\", \"fixedWidth\");\nModal.prototype.publish(\"fixedHeight\", null, \"string\", \"fixedHeight\");\nModal.prototype.publish(\"fixedTop\", null, \"string\", \"fixedTop\");\nModal.prototype.publish(\"fixedLeft\", null, \"string\", \"fixedLeft\");\nModal.prototype.publish(\"overflowX\", \"hidden\", \"string\", \"overflowX\");\nModal.prototype.publish(\"overflowY\", \"scroll\", \"string\", \"overflowY\");\nclass ChartPanel extends Border2 {\n constructor() {\n super();\n __publicField(this, \"_legend\", new Legend(this).enableOverflow(!0));\n __publicField(this, \"_progressBar\", new ProgressBar());\n __publicField(this, \"_autoScale\", !1);\n __publicField(this, \"_resolutions\", {\n tiny: { width: 100, height: 100 },\n small: { width: 300, height: 300 }\n });\n __publicField(this, \"_modal\", new Modal());\n __publicField(this, \"_highlight\");\n __publicField(this, \"_scale\");\n __publicField(this, \"_orig_size\");\n __publicField(this, \"_toggleInfo\", new ToggleButton().faChar(\"fa-info-circle\").tooltip(\".Description\").selected(!1).on(\"enabled\", () => this.description() !== \"\").on(\"click\", () => {\n if (this._toggleInfo.selected()) {\n this._modal.title(this.title()).widget(new Text().text(this.description())).show(!0).render();\n const origCloseFunc = this._modal._close;\n this._modal._close = () => {\n this._toggleInfo.selected(!1).render(), this._modal._close = origCloseFunc;\n };\n }\n }).on(\"mouseMove\", () => {\n }).on(\"mouseOut\", () => {\n }));\n __publicField(this, \"_toggleData\", new ToggleButton().faChar(\"fa-table\").tooltip(\"Data\").on(\"click\", () => {\n this.dataVisible(this._toggleData.selected()), this.render();\n }));\n __publicField(this, \"_buttonDownload\", new Button().faChar(\"fa-download\").tooltip(\"Download\").on(\"click\", () => {\n this.downloadCSV();\n }));\n __publicField(this, \"_buttonDownloadImage\", new Button().faChar(\"fa-image\").tooltip(\"Download Image\").on(\"click\", () => {\n this.downloadPNG();\n }));\n __publicField(this, \"_toggleLegend\", new ToggleButton().faChar(\"fa-list-ul\").tooltip(\"Legend\").selected(!1).on(\"click\", () => {\n const selected = this._toggleLegend.selected();\n this.legendPosition() === \"bottom\" ? this.showBottom(selected) : this.legendPosition() === \"right\" && this.showRight(selected), this.legendVisible(selected), this.render();\n }));\n __publicField(this, \"_spacer\", new Spacer());\n __publicField(this, \"_titleBar\", new TitleBar().buttons([this._toggleData, this._buttonDownload, this._buttonDownloadImage, this._spacer, this._toggleLegend]));\n __publicField(this, \"_carousel\", new Carousel());\n __publicField(this, \"_table\", new Table());\n __publicField(this, \"_widget\");\n __publicField(this, \"_hideLegendToggleList\", [\"dgrid_Table\"]);\n __publicField(this, \"_prevdataVisible\");\n __publicField(this, \"_prevlegendVisible\");\n __publicField(this, \"_prevLegendPosition\");\n __publicField(this, \"_prevChartDataFamily\");\n __publicField(this, \"_prevChart\");\n __publicField(this, \"_prevButtons\");\n this._tag = \"div\";\n }\n fields(_) {\n return arguments.length ? (super.fields(_), this._legend.fields(_), this.refreshFields(), this) : super.fields();\n }\n refreshFields() {\n return this._widget.fields(this._legend.filteredFields()), this._table.fields(this._legend.filteredFields()), this;\n }\n columns(_, asDefault) {\n return arguments.length ? (super.columns(_, asDefault), this._legend.columns(_, asDefault), this.refreshColumns(), this) : super.columns();\n }\n refreshColumns() {\n return this._widget.columns(this._legend.filteredColumns()), this._table.columns(this._legend.filteredColumns()), this;\n }\n data(_) {\n return arguments.length ? (super.data(_), this._legend.data(_), this.refreshData(), this) : super.data();\n }\n refreshData() {\n return this._widget.data(this._legend.filteredData()), this._table.data(this._legend.filteredData()), this;\n }\n highlight(_) {\n return arguments.length ? (this._highlight = _, this) : this._highlight;\n }\n startProgress() {\n this._progressBar.start();\n }\n finishProgress() {\n this._progressBar.finish();\n }\n buttons(_) {\n return arguments.length ? (this._titleBar.buttons(_), this) : this._titleBar.buttons();\n }\n downloadCSV() {\n const namePrefix = this.downloadTitle() ? this.downloadTitle() : this.title() ? this.title() : \"data\", nameSuffix = this.downloadTimestampSuffix() ? \"_\" + Utility.timestamp() : \"\";\n return Utility.downloadString(\"CSV\", this._widget.export(\"CSV\"), namePrefix + nameSuffix), this;\n }\n downloadPNG() {\n const widget = this.widget();\n return widget instanceof SVGWidget && (this.legendVisible() ? widget.downloadPNG(this.title(), void 0, this._legend) : widget.downloadPNG(this.title())), this;\n }\n highlightColumn(column) {\n if (column) {\n const cssTag = `series-${this.cssTag(column)}`;\n this._centerWA.element().selectAll(\".series\").each(function() {\n const element = select(this), highlight = element.classed(cssTag);\n element.classed(\"highlight\", highlight).classed(\"lowlight\", !highlight);\n });\n } else\n this._centerWA.element().selectAll(\".series\").classed(\"highlight\", !1).classed(\"lowlight\", !1);\n return this;\n }\n getResponsiveMode() {\n return this.enableAutoscaling() ? this._autoScale ? this.size().width <= this._resolutions.tiny.width || this.size().height <= this._resolutions.tiny.height ? \"tiny\" : this.size().width <= this._resolutions.small.width || this.size().height <= this._resolutions.small.height ? \"small\" : \"regular\" : \"regular\" : \"none\";\n }\n setOrigSize() {\n this._orig_size = JSON.parse(JSON.stringify(this.size()));\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._modal.target(this.target()).relativeTargetId(this.id()), this.top(this._titleBar), this.center(this._carousel), this._legend.targetWidget(this._widget).orientation(\"vertical\").title(\"\").visible(!1), this._progressBar.enter(domNode, element), this.setOrigSize();\n }\n preUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n }\n preUpdateSmall(element) {\n const scale_x = this._orig_size.width / this._resolutions.small.width, scale_y = this._orig_size.height / this._resolutions.small.height;\n this._scale = Math.min(scale_x, scale_y);\n const x_is_smaller = this._scale === scale_x;\n this.size({\n width: x_is_smaller ? this._resolutions.small.width : this._orig_size.width * (1 / this._scale),\n height: x_is_smaller ? this._orig_size.height * (1 / this._scale) : this._resolutions.small.height\n }), element.select(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"lhs\").style(\"display\", \"none\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\"), element.style(\"transform\", `scale(${this._scale})`);\n }\n preUpdateRegular(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\"), element.select(\"div.title-icon\").style(\"position\", \"static\"), element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n }\n update(domNode, element) {\n if (super.update(domNode, element), this._table && this.widget_exists() && this.widget().class().indexOf(\"chart_XYAxis\") >= 0) {\n const chart = this.widget();\n this._table.columns().forEach((column, idx) => {\n switch (idx === 0 ? chart.xAxisType() : chart.yAxisType()) {\n case \"linear\":\n case \"log\":\n case \"pow\":\n this._table.columnType(column, \"number\");\n break;\n case \"time\":\n this._table.columnType(column, \"time\");\n break;\n case \"ordinal\":\n default:\n this._table.columnType(column, \"string\");\n }\n this._table.columnPattern(column, idx === 0 ? chart.xAxisTypeTimePattern() : chart.yAxisTypeTimePattern()), this._table.columnFormat(column, idx === 0 ? chart.xAxisTickFormat() : chart.yAxisTickFormat());\n });\n }\n }\n preUpdate(domNode, element) {\n switch (super.preUpdate(domNode, element), this._prevLegendPosition !== this.legendPosition() && (this._legend.target() !== null && this._legend.target(null), this._prevLegendPosition !== void 0 ? this.swap(this._prevLegendPosition, this.legendPosition()) : this[this.legendPosition()](this._legend), this.legendPosition() === \"right\" ? (this.rightOverflowX(\"hidden\"), this.rightOverflowY(\"auto\"), this.bottomOverflowX(\"visible\"), this.bottomOverflowY(\"visible\")) : (this.rightOverflowX(\"visible\"), this.rightOverflowY(\"visible\"), this.bottomOverflowX(\"auto\"), this.bottomOverflowY(\"hidden\")), this._prevLegendPosition = this.legendPosition()), this._prevdataVisible !== this.dataVisible() && (this._prevdataVisible = this.dataVisible(), this._toggleData.selected(this._prevdataVisible), this._legend.visible(this._prevlegendVisible && !this._prevdataVisible), this._carousel.active(this._prevdataVisible ? 1 : 0)), this._prevlegendVisible !== this.legendVisible() && (this._prevlegendVisible = this.legendVisible(), this._toggleLegend.selected(this._prevlegendVisible), this._legend.visible(this._prevlegendVisible && !this._prevdataVisible)), this._legend.orientation(this.legendPosition() === \"bottom\" ? \"horizontal\" : \"vertical\"), this.showLeft(!this.left()), this.getResponsiveMode()) {\n case \"tiny\":\n this.preUpdateTiny(element);\n break;\n case \"small\":\n this.preUpdateSmall(element);\n break;\n case \"regular\":\n this.preUpdateRegular(element);\n break;\n }\n const chart = this._widget.classID() === \"composite_MultiChart\" ? this._widget.chart() : this._widget;\n if (this._legend.dataFamily(chart._dataFamily || \"any\"), this._prevChartDataFamily !== this._legend.dataFamily())\n switch (this._prevChartDataFamily = this._legend.dataFamily(), this._prevChartDataFamily) {\n case \"any\":\n this._toggleLegend.selected(!1), this._legend.visible(!1);\n break;\n }\n if (element.style(\"box-shadow\", this.highlight() ? `inset 0px 0px 0px ${this.highlightSize()}px ${this.highlightColor()}` : \"none\"), this._hideLegendToggleList.indexOf(chart.classID()) !== -1 ? (this._spacer.visible(!1), this._toggleLegend.visible(!1)) : (this._spacer.visible(!0), this._toggleLegend.visible(!0)), this._prevChart !== chart) {\n this._prevChart = chart;\n const widgetIconBar = chart ? chart._titleBar || chart._iconBar : void 0;\n if (widgetIconBar && widgetIconBar instanceof IconBar) {\n this._prevButtons = this._prevButtons || [...this.buttons()];\n const buttons = [\n ...widgetIconBar.buttons(),\n new Spacer(),\n ...this._prevButtons\n ];\n widgetIconBar.buttons([]).render(), this.buttons(buttons);\n } else this._prevButtons && this.buttons(this._prevButtons);\n }\n const hiddenButtons = [];\n this.dataButtonVisible() || hiddenButtons.push(this._toggleData), this.downloadButtonVisible() || hiddenButtons.push(this._buttonDownload), this.downloadImageButtonVisible() || hiddenButtons.push(this._buttonDownloadImage), this.legendButtonVisible() || hiddenButtons.push(this._toggleLegend), this._buttonDownloadImage.enabled(this.widget() instanceof SVGWidget), this._titleBar.hiddenButtons(hiddenButtons).visible(this.titleVisible()), this.topOverlay(this.titleOverlay() || !this.titleVisible());\n }\n postUpdate(domNode, element) {\n switch (super.postUpdate(domNode, element), this.getResponsiveMode()) {\n case \"tiny\":\n this.postUpdateTiny(element);\n break;\n case \"small\":\n this.postUpdateSmall(element);\n break;\n case \"regular\":\n this.postUpdateRegular(element);\n break;\n }\n }\n postUpdateTiny(element) {\n element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"visible\").style(\"font-size\", this.titleIconFontSize() / 3 + \"px\").style(\"line-height\", this.titleIconFontSize() / 3 + \"px\").style(\"left\", this.titleIconFontSize() + \"px\").text(this.data().length), element.style(\"transform\", \"translate(0px,0px) scale(1)\");\n const iconDiv = element.selectAll(\"div.title-icon\"), _node = iconDiv.node(), containerRect = element.node().parentElement.getBoundingClientRect();\n if (_node) {\n const rect = iconDiv.node().getBoundingClientRect(), icon_top = containerRect.height / 2;\n iconDiv.style(\"position\", \"absolute\").style(\"left\", `calc(50% - ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`), element.selectAll(\"div.data-count\").style(\"position\", \"absolute\").style(\"left\", `calc(50% + ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`);\n }\n }\n postUpdateSmall(element) {\n element.selectAll(\"lhs\").style(\"display\", \"none\"), element.selectAll(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n const rect = element.node().getBoundingClientRect(), parentRect = element.node().parentElement.getBoundingClientRect();\n element.style(\"transform\", `translate(${parentRect.x - rect.x}px, ${parentRect.y - rect.y}px) scale(${this._scale})`);\n }\n postUpdateRegular(element) {\n element.selectAll(\"div.title-icon\").style(\"position\", \"static\"), element.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\"), element.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n }\n exit(domNode, element) {\n this._progressBar.exit(domNode, element), this.right(null), this._legend.target(null), this.center(null), this._carousel.target(null), this.top(null), this._titleBar.target(null), this._modal.target(null), delete this._prevChart, delete this._prevButtons, delete this._prevChartDataFamily, delete this._prevPos, delete this._prevdataVisible, delete this._prevlegendVisible, super.exit(domNode, element);\n }\n // Event Handlers ---\n // Events ---\n click(row, column, selected) {\n }\n dblclick(row, column, selected) {\n }\n vertex_click(row, col, sel, more) {\n more && more.vertex;\n }\n vertex_dblclick(row, col, sel, more) {\n more && more.vertex;\n }\n edge_click(row, col, sel, more) {\n more && more.edge;\n }\n edge_dblclick(row, col, sel, more) {\n more && more.edge;\n }\n}\nChartPanel.prototype._class += \" layout_ChartPanel\";\nChartPanel.prototype.publishReset();\nChartPanel.prototype.publishProxy(\"title\", \"_titleBar\");\nChartPanel.prototype.publish(\"titleVisible\", !0, \"boolean\");\nChartPanel.prototype.publish(\"titleOverlay\", !1, \"boolean\");\nChartPanel.prototype.publishProxy(\"titleIcon\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleIconFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleIconFontSize\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"titleFontSize\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"description\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"descriptionFont\", \"_titleBar\");\nChartPanel.prototype.publishProxy(\"descriptionFontSize\", \"_titleBar\");\nChartPanel.prototype.publish(\"dataVisible\", !1, \"boolean\", \"Show data table\");\nChartPanel.prototype.publish(\"dataButtonVisible\", !0, \"boolean\", \"Show data table button\");\nChartPanel.prototype.publish(\"downloadButtonVisible\", !0, \"boolean\", \"Show data download button\");\nChartPanel.prototype.publish(\"downloadImageButtonVisible\", !1, \"boolean\", \"Show image download button\");\nChartPanel.prototype.publish(\"downloadTitle\", \"\", \"string\", \"File name when downloaded\");\nChartPanel.prototype.publish(\"downloadTimestampSuffix\", !0, \"boolean\", \"Use timestamp as file name suffix\");\nChartPanel.prototype.publish(\"legendVisible\", !1, \"boolean\", \"Show legend\");\nChartPanel.prototype.publish(\"legendButtonVisible\", !0, \"boolean\", \"Show legend button\");\nChartPanel.prototype.publish(\"legendPosition\", \"right\", \"set\", \"Position of legend\", [\"right\", \"bottom\"]);\nChartPanel.prototype.publishProxy(\"legend_labelMaxWidth\", \"_legend\", \"labelMaxWidth\");\nChartPanel.prototype.publishProxy(\"legend_showSeriesTotal\", \"_legend\", \"showSeriesTotal\");\nChartPanel.prototype.publishProxy(\"legend_showLegendTotal\", \"_legend\", \"showLegendTotal\");\nChartPanel.prototype.publishProxy(\"legend_itemPadding\", \"_legend\", \"itemPadding\");\nChartPanel.prototype.publishProxy(\"legend_shapeRadius\", \"_legend\", \"shapeRadius\");\nChartPanel.prototype.publishProxy(\"legend_symbolType\", \"_legend\", \"symbolType\");\nChartPanel.prototype.publishProxy(\"legend_labelAlign\", \"_legend\", \"labelAlign\");\nChartPanel.prototype.publish(\"widget\", null, \"widget\", \"Widget\", void 0, { render: !1 });\nChartPanel.prototype.publish(\"enableAutoscaling\", !1, \"boolean\");\nChartPanel.prototype.publish(\"highlightSize\", 4, \"number\");\nChartPanel.prototype.publish(\"highlightColor\", \"#e67e22\", \"html-color\");\nChartPanel.prototype.publishProxy(\"progress_halfLife\", \"_progressBar\", \"halfLife\");\nChartPanel.prototype.publishProxy(\"progress_decay\", \"_progressBar\", \"decay\");\nChartPanel.prototype.publishProxy(\"progress_size\", \"_progressBar\", \"size\");\nChartPanel.prototype.publishProxy(\"progress_color\", \"_progressBar\", \"color\");\nChartPanel.prototype.publishProxy(\"progress_blurBar\", \"_progressBar\", \"blurBar\");\nChartPanel.prototype.publishProxy(\"progress_blurSize\", \"_progressBar\", \"blurSize\");\nChartPanel.prototype.publishProxy(\"progress_blurColor\", \"_progressBar\", \"blurColor\");\nChartPanel.prototype.publishProxy(\"progress_blurOpacity\", \"_progressBar\", \"blurOpacity\");\nChartPanel.prototype.widget = function(_) {\n if (!arguments.length) return this._widget;\n this._carousel.widgets([_, this._table]), this._widget = _, this._widget.fields(this._legend.filteredFields()).data(this._legend.filteredData());\n const context = this, tmpAny = this._widget;\n return tmpAny.click = function() {\n context.click.apply(context, arguments);\n }, tmpAny.dblclick = function() {\n context.dblclick.apply(context, arguments);\n }, tmpAny.vertex_click = function() {\n context.vertex_click.apply(context, arguments);\n }, tmpAny.vertex_dblclick = function() {\n context.vertex_dblclick.apply(context, arguments);\n }, tmpAny.edge_click = function() {\n context.edge_click.apply(context, arguments);\n }, tmpAny.edge_dblclick = function() {\n context.edge_dblclick.apply(context, arguments);\n }, this;\n};\nclass FlexGrid extends HTMLWidget {\n constructor() {\n super();\n }\n enter(domNode, element) {\n super.enter(domNode, element), select(domNode.parentNode).style(\"height\", \"100%\").style(\"width\", \"100%\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this, cachedSizes = [];\n this.updateFlexParent(element);\n const listItems = element.selectAll(\".FlexGrid-list-item\").data(this.widgets(), (w) => w.id());\n listItems.enter().append(\"div\").classed(\"FlexGrid-list-item\", !0).each(function(w) {\n w.target(this);\n }).merge(listItems).style(\"min-height\", this.itemMinHeight() + \"px\").style(\"min-width\", this.itemMinWidth() + \"px\").style(\"flex-basis\", (n, i) => {\n const flexBasis = this.widgetsFlexBasis()[i];\n return typeof flexBasis < \"u\" ? flexBasis : this.flexBasis();\n }).style(\"flex-grow\", (n, i) => {\n const flexGrow = this.widgetsFlexGrow()[i];\n return typeof flexGrow < \"u\" ? flexGrow : this.flexGrow();\n }).style(\"border-width\", this.borderWidth() + \"px\").style(\"border-color\", this.itemBorderColor()).each(function() {\n this.firstChild.style.display = \"none\";\n }).each(function() {\n const rect = this.getBoundingClientRect();\n cachedSizes.push([\n rect.width,\n rect.height\n ]);\n }).each(function(w, i) {\n this.firstChild.style.display = \"block\", w.resize({\n width: cachedSizes[i][0] - 2 * context.borderWidth(),\n height: cachedSizes[i][1] - 2 * context.borderWidth()\n });\n }), listItems.exit().remove();\n }\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n updateFlexParent(element) {\n element.style(\"height\", \"100%\").style(\"flex-direction\", this.orientation() === \"horizontal\" ? \"row\" : \"column\").style(\"flex-wrap\", this.flexWrap()).style(\"align-items\", this.alignItems()).style(\"align-content\", this.alignContent()).style(\"overflow-x\", () => this.forceXScroll() || this.orientation() === \"horizontal\" && this.flexWrap() === \"nowrap\" && !this.disableScroll() ? \"scroll\" : \"hidden\").style(\"overflow-y\", () => this.forceYScroll() || this.orientation() === \"vertical\" && this.flexWrap() === \"nowrap\" && !this.disableScroll() ? \"scroll\" : \"hidden\");\n }\n}\nFlexGrid.prototype._class += \" layout_FlexGrid\";\nFlexGrid.prototype.publish(\"itemBorderColor\", \"transparent\", \"html-color\", \"Color of list item borders\");\nFlexGrid.prototype.publish(\"borderWidth\", 0, \"number\", \"Width of list item borders (pixels)\");\nFlexGrid.prototype.publish(\"orientation\", \"horizontal\", \"set\", \"Controls the flex-direction of the list items\", [\"horizontal\", \"vertical\"]);\nFlexGrid.prototype.publish(\"flexWrap\", \"wrap\", \"set\", \"Controls the line wrap when overflow occurs\", [\"nowrap\", \"wrap\", \"wrap-reverse\"]);\nFlexGrid.prototype.publish(\"disableScroll\", !1, \"boolean\", \"If false, scrollbar will show (when flexWrap is set to 'nowrap')\", null, { disable: (w) => w.flexWrap() !== \"nowrap\" });\nFlexGrid.prototype.publish(\"forceXScroll\", !1, \"boolean\", \"If true, horzontal scrollbar will show\");\nFlexGrid.prototype.publish(\"forceYScroll\", !1, \"boolean\", \"If true, vertical scrollbar will show\");\nFlexGrid.prototype.publish(\"itemMinHeight\", 64, \"number\", \"Minimum height of a list item (pixels)\");\nFlexGrid.prototype.publish(\"itemMinWidth\", 64, \"number\", \"Minimum width of a list item (pixels)\");\nFlexGrid.prototype.publish(\"alignItems\", \"stretch\", \"set\", \"Controls normal alignment of items\", [\"flex-start\", \"center\", \"flex-end\", \"stretch\"]);\nFlexGrid.prototype.publish(\"alignContent\", \"stretch\", \"set\", \"Controls normal alignment of item rows\", [\"flex-start\", \"center\", \"flex-end\", \"stretch\", \"space-between\", \"space-around\"]);\nFlexGrid.prototype.publish(\"flexGrow\", 1, \"number\", \"Default flex-grow style for all list items\");\nFlexGrid.prototype.publish(\"flexBasis\", \"10%\", \"string\", \"Default flex-basis style for all list items\");\nFlexGrid.prototype.publish(\"widgetsFlexGrow\", [], \"array\", \"Array of flex-grow values keyed on the widgets array\");\nFlexGrid.prototype.publish(\"widgetsFlexBasis\", [], \"array\", \"Array of flex-basis values keyed on the widgets array\");\nFlexGrid.prototype.publish(\"widgets\", [], \"widgetArray\", \"Array of widgets to be rendered as list items\");\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x.default : x;\n}\nvar gridList$2 = { exports: {} }, gridList$1 = gridList$2.exports, hasRequiredGridList;\nfunction requireGridList() {\n return hasRequiredGridList || (hasRequiredGridList = 1, function(module, exports) {\n (function(root, factory) {\n module.exports = factory();\n })(gridList$1, function() {\n var GridList2 = function(items, options) {\n this._options = options;\n for (var k2 in this.defaults)\n this._options.hasOwnProperty(k2) || (this._options[k2] = this.defaults[k2]);\n this.items = items, this._adjustSizeOfItems(), this.generateGrid();\n };\n GridList2.cloneItems = function(items, _items) {\n var i, k2;\n for (_items === void 0 && (_items = []), i = 0; i < items.length; i++) {\n _items[i] || (_items[i] = {});\n for (k2 in items[i])\n _items[i][k2] = items[i][k2];\n }\n return _items;\n }, GridList2.prototype = {\n defaults: {\n lanes: 5,\n direction: \"horizontal\"\n },\n /**\n * Illustates grid as text-based table, using a number identifier for each\n * item. E.g.\n *\n * #| 0 1 2 3 4 5 6 7 8 9 10 11 12 13\n * --------------------------------------------\n * 0| 00 02 03 04 04 06 08 08 08 12 12 13 14 16\n * 1| 01 -- 03 05 05 07 09 10 11 11 -- 13 15 --\n *\n * Warn: Does not work if items don't have a width or height specified\n * besides their position in the grid.\n */\n toString: function() {\n var widthOfGrid = this.grid.length, output = `\n #|`, border = `\n --`, item, i, j;\n for (i = 0; i < widthOfGrid; i++)\n output += \" \" + this._padNumber(i, \" \"), border += \"---\";\n for (output += border, i = 0; i < this._options.lanes; i++)\n for (output += `\n` + this._padNumber(i, \" \") + \"|\", j = 0; j < widthOfGrid; j++)\n output += \" \", item = this.grid[j][i], output += item ? this._padNumber(this.items.indexOf(item), \"0\") : \"--\";\n return output += `\n`, output;\n },\n generateGrid: function() {\n var i;\n for (this._resetGrid(), i = 0; i < this.items.length; i++)\n this._markItemPositionToGrid(this.items[i]);\n },\n resizeGrid: function(lanes) {\n var currentColumn = 0;\n this._options.lanes = lanes, this._adjustSizeOfItems(), this._sortItemsByPosition(), this._resetGrid();\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i], position = this._getItemPosition(item);\n this._updateItemPosition(\n item,\n this.findPositionForItem(item, { x: currentColumn, y: 0 })\n ), currentColumn = Math.max(currentColumn, position.x);\n }\n this._pullItemsToLeft();\n },\n findPositionForItem: function(item, start, fixedRow) {\n var x, y, position;\n for (x = start.x; x < this.grid.length; x++)\n if (fixedRow !== void 0) {\n if (position = [x, fixedRow], this._itemFitsAtPosition(item, position))\n return position;\n } else\n for (y = start.y; y < this._options.lanes; y++)\n if (position = [x, y], this._itemFitsAtPosition(item, position))\n return position;\n var newCol = this.grid.length, newRow = 0;\n return fixedRow !== void 0 && this._itemFitsAtPosition(item, [newCol, fixedRow]) && (newRow = fixedRow), [newCol, newRow];\n },\n moveItemToPosition: function(item, newPosition) {\n var position = this._getItemPosition({\n x: newPosition[0],\n y: newPosition[1],\n w: item.w,\n h: item.h\n });\n this._updateItemPosition(item, [position.x, position.y]), this._resolveCollisions(item);\n },\n resizeItem: function(item, size) {\n var width = size.w || item.w, height = size.h || item.h;\n this._updateItemSize(item, width, height), this._resolveCollisions(item), this._pullItemsToLeft();\n },\n getChangedItems: function(initialItems, idAttribute) {\n for (var changedItems = [], i = 0; i < initialItems.length; i++) {\n var item = this._getItemByAttribute(\n idAttribute,\n initialItems[i][idAttribute]\n );\n (item.x !== initialItems[i].x || item.y !== initialItems[i].y || item.w !== initialItems[i].w || item.h !== initialItems[i].h) && changedItems.push(item);\n }\n return changedItems;\n },\n _sortItemsByPosition: function() {\n this.items.sort((function(item1, item2) {\n var position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n return position1.x != position2.x ? position1.x - position2.x : position1.y != position2.y ? position1.y - position2.y : 0;\n }).bind(this));\n },\n _adjustSizeOfItems: function() {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n item.autoSize === void 0 && (item.autoSize = item.w === 0 || item.h === 0), item.autoSize && (this._options.direction === \"horizontal\" ? item.h = this._options.lanes : item.w = this._options.lanes);\n }\n },\n _resetGrid: function() {\n this.grid = [];\n },\n _itemFitsAtPosition: function(item, newPosition) {\n var position = this._getItemPosition(item), x, y;\n if (newPosition[0] < 0 || newPosition[1] < 0 || newPosition[1] + position.h > this._options.lanes)\n return !1;\n for (x = newPosition[0]; x < newPosition[0] + position.w; x++) {\n var col = this.grid[x];\n if (col) {\n for (y = newPosition[1]; y < newPosition[1] + position.h; y++)\n if (col[y] && col[y] !== item)\n return !1;\n }\n }\n return !0;\n },\n _updateItemPosition: function(item, position) {\n item.x !== null && item.y !== null && this._deleteItemPositionFromGrid(item), this._setItemPosition(item, position), this._markItemPositionToGrid(item);\n },\n _updateItemSize: function(item, width, height) {\n item.x !== null && item.y !== null && this._deleteItemPositionFromGrid(item), item.w = width, item.h = height, this._markItemPositionToGrid(item);\n },\n _markItemPositionToGrid: function(item) {\n var position = this._getItemPosition(item), x, y;\n for (this._ensureColumns(position.x + position.w), x = position.x; x < position.x + position.w; x++)\n for (y = position.y; y < position.y + position.h; y++)\n this.grid[x][y] = item;\n },\n _deleteItemPositionFromGrid: function(item) {\n var position = this._getItemPosition(item), x, y;\n for (x = position.x; x < position.x + position.w; x++)\n if (this.grid[x])\n for (y = position.y; y < position.y + position.h; y++)\n this.grid[x][y] == item && (this.grid[x][y] = null);\n },\n _ensureColumns: function(N) {\n var i;\n for (i = 0; i < N; i++)\n this.grid[i] || this.grid.push(new GridCol(this._options.lanes));\n },\n _getItemsCollidingWithItem: function(item) {\n for (var collidingItems = [], i = 0; i < this.items.length; i++)\n item != this.items[i] && this._itemsAreColliding(item, this.items[i]) && collidingItems.push(i);\n return collidingItems;\n },\n _itemsAreColliding: function(item1, item2) {\n var position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n return !(position2.x >= position1.x + position1.w || position2.x + position2.w <= position1.x || position2.y >= position1.y + position1.h || position2.y + position2.h <= position1.y);\n },\n _resolveCollisions: function(item) {\n this._tryToResolveCollisionsLocally(item) || this._pullItemsToLeft(item), this._pullItemsToLeft();\n },\n _tryToResolveCollisionsLocally: function(item) {\n var collidingItems = this._getItemsCollidingWithItem(item);\n if (!collidingItems.length)\n return !0;\n var _gridList = new GridList2([], this._options), leftOfItem, rightOfItem, aboveOfItem, belowOfItem;\n GridList2.cloneItems(this.items, _gridList.items), _gridList.generateGrid();\n for (var i = 0; i < collidingItems.length; i++) {\n var collidingItem = _gridList.items[collidingItems[i]], collidingPosition = this._getItemPosition(collidingItem), position = this._getItemPosition(item);\n if (leftOfItem = [position.x - collidingPosition.w, collidingPosition.y], rightOfItem = [position.x + position.w, collidingPosition.y], aboveOfItem = [collidingPosition.x, position.y - collidingPosition.h], belowOfItem = [collidingPosition.x, position.y + position.h], _gridList._itemFitsAtPosition(collidingItem, leftOfItem))\n _gridList._updateItemPosition(collidingItem, leftOfItem);\n else if (_gridList._itemFitsAtPosition(collidingItem, aboveOfItem))\n _gridList._updateItemPosition(collidingItem, aboveOfItem);\n else if (_gridList._itemFitsAtPosition(collidingItem, belowOfItem))\n _gridList._updateItemPosition(collidingItem, belowOfItem);\n else if (_gridList._itemFitsAtPosition(collidingItem, rightOfItem))\n _gridList._updateItemPosition(collidingItem, rightOfItem);\n else\n return !1;\n }\n return GridList2.cloneItems(_gridList.items, this.items), this.generateGrid(), !0;\n },\n _pullItemsToLeft: function(fixedItem) {\n if (this._sortItemsByPosition(), this._resetGrid(), fixedItem) {\n var fixedPosition = this._getItemPosition(fixedItem);\n this._updateItemPosition(fixedItem, [fixedPosition.x, fixedPosition.y]);\n }\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i], position = this._getItemPosition(item);\n if (!(fixedItem && item == fixedItem)) {\n var x = this._findLeftMostPositionForItem(item), newPosition = this.findPositionForItem(\n item,\n { x, y: 0 },\n position.y\n );\n this._updateItemPosition(item, newPosition);\n }\n }\n },\n _findLeftMostPositionForItem: function(item) {\n for (var tail = 0, position = this._getItemPosition(item), i = 0; i < this.grid.length; i++)\n for (var j = position.y; j < position.y + position.h; j++) {\n var otherItem = this.grid[i][j];\n if (otherItem) {\n var otherPosition = this._getItemPosition(otherItem);\n this.items.indexOf(otherItem) < this.items.indexOf(item) && (tail = otherPosition.x + otherPosition.w);\n }\n }\n return tail;\n },\n _getItemByAttribute: function(key, value) {\n for (var i = 0; i < this.items.length; i++)\n if (this.items[i][key] === value)\n return this.items[i];\n return null;\n },\n _padNumber: function(nr, prefix) {\n return nr >= 10 ? nr : prefix + nr;\n },\n _getItemPosition: function(item) {\n return this._options.direction === \"horizontal\" ? item : {\n x: item.y,\n y: item.x,\n w: item.h,\n h: item.w\n };\n },\n _setItemPosition: function(item, position) {\n this._options.direction === \"horizontal\" ? (item.x = position[0], item.y = position[1]) : (item.x = position[1], item.y = position[0]);\n }\n };\n var GridCol = function(lanes) {\n for (var i = 0; i < lanes; i++)\n this.push(null);\n };\n return GridCol.prototype = [], GridList2;\n });\n }(gridList$2)), gridList$2.exports;\n}\nvar gridListExports = requireGridList();\nconst gridList = /* @__PURE__ */ getDefaultExportFromCjs(gridListExports), _GridList = /* @__PURE__ */ _mergeNamespaces({\n __proto__: null,\n default: gridList\n}, [gridListExports]), GridList = _GridList && gridList || _GridList;\nclass Grid extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"divItems\");\n __publicField(this, \"gridList\");\n __publicField(this, \"items\");\n __publicField(this, \"itemsMap\");\n __publicField(this, \"origItems\");\n __publicField(this, \"cellWidth\");\n __publicField(this, \"cellHeight\");\n __publicField(this, \"dragItem\");\n __publicField(this, \"dragItemPos\");\n __publicField(this, \"_d3Drag\");\n __publicField(this, \"_d3DragResize\");\n __publicField(this, \"_selectionBag\");\n __publicField(this, \"_scrollBarWidth\");\n this._tag = \"div\", this._selectionBag = new Utility.Selection(this), this.content([]);\n }\n getDimensions() {\n const size = { width: 0, height: 0 };\n return this.content().forEach(function(cell) {\n size.width < cell.gridCol() + cell.gridColSpan() && (size.width = cell.gridCol() + cell.gridColSpan()), size.height < cell.gridRow() + cell.gridRowSpan() && (size.height = cell.gridRow() + cell.gridRowSpan());\n }, this), size;\n }\n clearContent(widget) {\n this.content(this.content().filter(function(contentWidget) {\n if (!widget)\n return contentWidget.target(null), !1;\n let w = contentWidget;\n for (; w; ) {\n if (widget === w)\n return contentWidget.target(null), !1;\n w = w.widget ? w.widget() : null;\n }\n return !0;\n }));\n }\n setContent(row, col, widget, title, rowSpan, colSpan) {\n if (rowSpan = rowSpan || 1, colSpan = colSpan || 1, title = title || \"\", this.content(this.content().filter(function(contentWidget) {\n return contentWidget.gridRow() === row && contentWidget.gridCol() === col ? (contentWidget.target(null), !1) : !0;\n })), widget) {\n const cell = new Cell().gridRow(row).gridCol(col).widget(widget).title(title).gridRowSpan(rowSpan).gridColSpan(colSpan);\n this.content().push(cell);\n }\n return this;\n }\n sortedContent() {\n return this.content().sort(function(l, r) {\n return l.gridRow() === r.gridRow() ? l.gridCol() - r.gridCol() : l.gridRow() - r.gridRow();\n });\n }\n getCell(row, col) {\n let retVal = null;\n return this.content().some(function(cell) {\n return row >= cell.gridRow() && row < cell.gridRow() + cell.gridRowSpan() && col >= cell.gridCol() && col < cell.gridCol() + cell.gridColSpan() ? (retVal = cell, !0) : !1;\n }), retVal;\n }\n getWidgetCell(id) {\n let retVal = null;\n return this.content().some(function(cell) {\n return cell.widget().id() === id ? (retVal = cell, !0) : !1;\n }), retVal;\n }\n getContent(id) {\n let retVal = null;\n return this.content().some(function(cell) {\n return cell.widget().id() === id ? (retVal = cell.widget(), !0) : !1;\n }), retVal;\n }\n cellToGridItem(cell) {\n return {\n x: cell.gridCol(),\n y: cell.gridRow(),\n w: cell.gridColSpan(),\n h: cell.gridRowSpan(),\n id: cell.id(),\n cell\n };\n }\n gridItemToCell(item) {\n item.cell.gridCol(item.x).gridRow(item.y).gridColSpan(item.w).gridRowSpan(item.h);\n }\n resetItemsPos() {\n this.origItems.forEach(function(origItem) {\n const item = this.itemsMap[origItem.id];\n item.x = origItem.x, item.y = origItem.y;\n }, this);\n }\n initGridList() {\n this.itemsMap = {}, this.items = this.content().map(function(cell) {\n const retVal = this.cellToGridItem(cell);\n return this.itemsMap[retVal.id] = retVal, retVal;\n }, this), this.origItems = this.content().map(this.cellToGridItem), this.gridList = new GridList(this.items, {\n direction: this.snapping(),\n lanes: this.snapping() === \"horizontal\" ? this.snappingRows() : this.snappingColumns()\n });\n }\n killGridList() {\n this.gridList = null, delete this.items, delete this.itemsMap;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._scrollBarWidth = Platform.getScrollbarWidth();\n const context = this;\n this._d3Drag = drag().subject(function(_d) {\n const d = context.cellToGridItem(_d);\n return { x: d.x * context.cellWidth, y: d.y * context.cellHeight };\n }).on(\"start\", function(_d) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation(), context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\").attr(\"class\", \"dragging\").style(\"transform\", function() {\n return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight - context.gutter() + \"px\";\n }), context.selectionBagClick(_d);\n }).on(\"drag\", function(_d) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()];\n event.x < 0 && (event.x = 0), event.x + d.w * context.cellWidth > context.snappingColumns() * context.cellWidth && (event.x = context.snappingColumns() * context.cellWidth - d.w * context.cellWidth), event.y < 0 && (event.y = 0), event.y + d.h * context.cellWidth > context.snappingRows() * context.cellWidth && (event.y = context.snappingRows() * context.cellWidth - d.h * context.cellWidth);\n const pos = [Math.max(0, Math.floor((event.x + context.cellWidth / 2) / context.cellWidth)), Math.max(0, Math.floor((event.y + context.cellHeight / 2) / context.cellHeight))];\n (d.x !== pos[0] || d.y !== pos[1]) && (context.snapping() !== \"none\" ? (context.resetItemsPos(), context.gridList.moveItemToPosition(d, pos)) : (d.x = pos[0], d.y = pos[1]), (_d.gridCol() !== d.x || _d.gridRow() !== d.y) && (context.items.forEach(context.gridItemToCell), context.updateGrid(!1, 100))), context.dragItem.style(\"transform\", function() {\n return \"translate(\" + event.x + \"px, \" + event.y + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight + \"px\";\n });\n }).on(\"end\", function() {\n context.designMode() && (d3Event().sourceEvent.stopPropagation(), context.dragItem.remove(), context.dragItem = null, context.killGridList());\n }), this._d3DragResize = drag().subject(function(_d) {\n const d = context.cellToGridItem(_d);\n return { x: (d.x + d.w - 1) * context.cellWidth, y: (d.y + d.h - 1) * context.cellHeight };\n }).on(\"start\", function(_d) {\n if (!context.designMode()) return;\n d3Event().sourceEvent.stopPropagation(), context.initGridList();\n const d = context.itemsMap[_d.id()];\n context.dragItem = element.append(\"div\").attr(\"class\", \"resizing\").style(\"transform\", function() {\n return \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n }).style(\"width\", function() {\n return d.w * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return d.h * context.cellHeight - context.gutter() + \"px\";\n }), context.dragItemPos = { x: d.x, y: d.y };\n }).on(\"drag\", function(_d) {\n if (!context.designMode()) return;\n const event = d3Event();\n event.sourceEvent.stopPropagation();\n const d = context.itemsMap[_d.id()], pos = [Math.max(0, Math.round(event.x / context.cellWidth)), Math.max(0, Math.round(event.y / context.cellHeight))], size = {\n w: Math.max(1, pos[0] - d.x + 1),\n h: Math.max(1, pos[1] - d.y + 1)\n };\n (d.w !== size.w || d.h !== size.h) && (context.snapping() !== \"none\" ? (context.resetItemsPos(), context.gridList.resizeItem(d, size)) : (d.w = size.w, d.h = size.h), (_d.gridColSpan() !== d.w || _d.gridRowSpan() !== d.h) && (context.items.forEach(context.gridItemToCell), context.updateGrid(d.id, 100))), context.dragItem.style(\"width\", function() {\n return (-d.x + 1) * context.cellWidth + event.x - context.gutter() + \"px\";\n }).style(\"height\", function() {\n return (-d.y + 1) * context.cellHeight + event.y - context.gutter() + \"px\";\n });\n }).on(\"end\", function() {\n context.designMode() && (d3Event().sourceEvent.stopPropagation(), context.dragItem.remove(), context.dragItem = null, context.killGridList());\n });\n }\n updateGrid(resize, transitionDuration = 0, _noRender = !1) {\n transitionDuration = transitionDuration || 0;\n const context = this;\n this.divItems.classed(\"draggable\", this.designMode()).transition().duration(transitionDuration).style(\"left\", function(d) {\n return d.gridCol() * context.cellWidth + context.gutter() / 2 + \"px\";\n }).style(\"top\", function(d) {\n return d.gridRow() * context.cellHeight + context.gutter() / 2 + \"px\";\n }).style(\"width\", function(d) {\n return d.gridColSpan() * context.cellWidth - context.gutter() + \"px\";\n }).style(\"height\", function(d) {\n return d.gridRowSpan() * context.cellHeight - context.gutter() + \"px\";\n }).on(\"end\", function(d) {\n d.surfaceShadow_default(context.surfaceShadow()).surfacePadding_default(context.surfacePadding()).surfaceBorderWidth_default(context.surfaceBorderWidth()).surfaceBackgroundColor_default(context.surfaceBackgroundColor()), (resize === !0 || resize === d.id()) && d.resize().lazyRender();\n });\n }\n update(domNode, element2) {\n super.update(domNode, element2), this._placeholderElement.style(\"overflow-x\", this.fitTo() === \"width\" ? \"hidden\" : null), this._placeholderElement.style(\"overflow-y\", this.fitTo() === \"width\" ? \"scroll\" : null);\n const dimensions = this.getDimensions(), clientWidth = this.width() - (this.fitTo() === \"width\" ? this._scrollBarWidth : 0);\n if (this.cellWidth = clientWidth / dimensions.width, this.cellHeight = this.fitTo() === \"all\" ? this.height() / dimensions.height : this.cellWidth, this.designMode()) {\n const cellLaneRatio = Math.min(this.width() / this.snappingColumns(), this.height() / this.snappingRows()), laneWidth = Math.floor(cellLaneRatio);\n this.cellWidth = laneWidth, this.cellHeight = this.cellWidth;\n }\n const context = this, divItems = element2.selectAll(\"#\" + this.id() + \" > .ddCell\").data(this.content(), function(d) {\n return d.id();\n });\n this.divItems = divItems.enter().append(\"div\").attr(\"class\", \"ddCell\").each(function(d) {\n d.target(this), d.__grid_watch = d.monitor(function(key, newVal, oldVal) {\n context._renderCount && (key === \"snapping\" || key.indexOf(\"grid\") === 0) && newVal !== oldVal && (context.gridList || (context.initGridList(), context.snapping() !== \"none\" && context.gridList.resizeGrid(context.snapping() === \"horizontal\" ? context.snappingRows() : context.snappingColumns()), context.items.forEach(context.gridItemToCell), context.updateGrid(d.id(), 100), context.killGridList()));\n }), select(this).append(\"div\").attr(\"class\", \"resizeHandle\").call(context._d3DragResize).append(\"div\").attr(\"class\", \"resizeHandleDisplay\");\n }).merge(divItems), this.divItems.each(function(d) {\n const element = select(this);\n context.designMode() ? element.call(context._d3Drag) : element.on(\"mousedown.drag\", null).on(\"touchstart.drag\", null);\n }), this.divItems.select(\".resizeHandle\").style(\"display\", this.designMode() ? null : \"none\"), this.updateGrid(!0), divItems.exit().each(function(d) {\n d.target(null), d.__grid_watch && d.__grid_watch.remove();\n }).remove();\n const lanesBackground = element2.selectAll(\"#\" + this.id() + \" > .laneBackground\").data(this.designMode() ? [\"\"] : []);\n lanesBackground.enter().insert(\"div\", \":first-child\").attr(\"class\", \"laneBackground\").style(\"left\", \"1px\").style(\"top\", \"1px\").on(\"click\", function() {\n context.selectionBagClear();\n }).merge(lanesBackground).style(\"width\", this.snappingColumns() * this.cellWidth + \"px\").style(\"height\", this.snappingRows() * this.cellHeight + \"px\"), lanesBackground.exit().each(function() {\n context.selectionBagClear();\n }).remove();\n const lanes = element2.selectAll(\"#\" + this.id() + \" > .lane\").data(this.designMode() ? [\"\"] : []);\n lanes.enter().append(\"div\").attr(\"class\", \"lane\").style(\"left\", \"1px\").style(\"top\", \"1px\"), lanes.style(\"display\", this.showLanes() ? null : \"none\").style(\"width\", this.snappingColumns() * this.cellWidth + \"px\").style(\"height\", this.snappingRows() * this.cellHeight + \"px\").style(\"background-image\", \"linear-gradient(to right, grey 1px, transparent 1px), linear-gradient(to bottom, grey 1px, transparent 1px)\").style(\"background-size\", this.cellWidth + \"px \" + this.cellHeight + \"px\"), lanes.exit().remove();\n }\n exit(domNode, element) {\n this.content().forEach((w) => w.target(null)), super.exit(domNode, element);\n }\n _createSelectionObject(d) {\n return {\n _id: d._id,\n element: () => d._element,\n widget: d\n };\n }\n selection(_) {\n return arguments.length ? (this._selectionBag.set(_.map(function(row) {\n return this._createSelectionObject(row);\n }, this)), this) : this._selectionBag.get().map(function(d) {\n return d._id;\n });\n }\n selectionBagClear() {\n this._selectionBag.isEmpty() || (this._selectionBag.clear(), this.postSelectionChange());\n }\n selectionBagClick(d) {\n if (d !== null) {\n const selectionObj = this._createSelectionObject(d);\n if (d3Event().sourceEvent.ctrlKey)\n this._selectionBag.isSelected(selectionObj) ? (this._selectionBag.remove(selectionObj), this.postSelectionChange()) : (this._selectionBag.append(selectionObj), this.postSelectionChange());\n else {\n const selected = this._selectionBag.get();\n selected.length === 1 && selected[0]._id === selectionObj._id ? this.selectionBagClear() : this._selectionBag.set([selectionObj]), this.postSelectionChange();\n }\n }\n }\n postSelectionChange() {\n }\n applyLayout(layoutArr) {\n this.divItems.each((d, i) => {\n if (layoutArr[i]) {\n const [x, y, w, h] = layoutArr[i];\n d.gridCol(x).gridRow(y).gridColSpan(w).gridRowSpan(h);\n }\n }), this.updateGrid(!0);\n }\n vizActivation(elem) {\n }\n}\nGrid.prototype._class += \" layout_Grid\";\nGrid.prototype.publish(\"designMode\", !1, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"showLanes\", !0, \"boolean\", \"Show snapping lanes when in design mode\", null, { tags: [\"Basic\"], disable: (w) => !w.designMode() });\nGrid.prototype.publish(\"fitTo\", \"all\", \"set\", \"Sizing Strategy\", [\"all\", \"width\"], { tags: [\"Basic\"] });\nGrid.prototype.publish(\"snapping\", \"vertical\", \"set\", \"Snapping Strategy\", [\"vertical\", \"horizontal\", \"none\"]);\nGrid.prototype.publish(\"snappingColumns\", 12, \"number\", \"Snapping Columns\");\nGrid.prototype.publish(\"snappingRows\", 16, \"number\", \"Snapping Rows\");\nGrid.prototype.publish(\"gutter\", 6, \"number\", \"Gap Between Widgets\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"surfaceShadow\", !0, \"boolean\", \"3D Shadow\");\nGrid.prototype.publish(\"surfacePadding\", null, \"string\", \"Cell Padding (px)\", null, { tags: [\"Intermediate\"] });\nGrid.prototype.publish(\"surfaceBorderWidth\", 1, \"number\", \"Width (px) of Cell Border\", null, { tags: [\"Intermediate\"] });\nGrid.prototype.publish(\"surfaceBackgroundColor\", null, \"html-color\", \"Surface Background Color\", null, { tags: [\"Advanced\"] });\nGrid.prototype.publish(\"content\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Basic\"], render: !1 });\nclass HorizontalList extends FlexGrid {\n constructor() {\n super(), this.orientation_default(\"horizontal\"), this.flexWrap_default(\"nowrap\");\n }\n}\nHorizontalList.prototype._class += \" layout_HorizontalList\";\nclass Layered extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_contentContainer\");\n __publicField(this, \"_widgetPlacements\");\n __publicField(this, \"_widgetRatios\");\n this._tag = \"div\", this._widgetPlacements = [], this._widgetRatios = [];\n }\n addLayer(widget, placement = \"default\", widthRatio = 1, heightRatio = 1) {\n const widgets = this.widgets();\n return widgets.push(widget || new Text().text(\"No widget defined for layer.\")), this.widgets(widgets), this._widgetPlacements.push(placement), this._widgetRatios.push([widthRatio, heightRatio]), this;\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._contentContainer = element.append(\"div\").attr(\"class\", \"container\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.style(\"padding\", this.surfacePadding() + \"px\");\n const content = this._contentContainer.selectAll(\".content.id\" + this.id()).data(this.widgets(), function(d) {\n return d.id();\n });\n content.enter().append(\"div\").attr(\"class\", \"content id\" + this.id()).each(function(widget, idx) {\n widget.target(this);\n }).merge(content).each(function(widget, idx) {\n const clientSize = {\n width: context.clientWidth(),\n height: context.clientHeight()\n }, widgetSize = context.widgetSize(idx, clientSize), widgetPosition = context.widgetPosition(idx, clientSize, widgetSize);\n this.style.top = widgetPosition.y + \"px\", this.style.left = widgetPosition.x + \"px\", widget.resize(widgetSize).render();\n }), content.exit().each(function(widget, idx) {\n widget.target(null);\n }).remove(), content.order();\n }\n widgetSize(idx, clientSize) {\n return this._widgetPlacements[idx] === \"default\" ? {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\n } : {\n width: clientSize.width * this._widgetRatios[idx][0],\n height: clientSize.height * this._widgetRatios[idx][1]\n };\n }\n widgetPosition(idx, clientSize, widgetSize) {\n switch (this._widgetPlacements[idx]) {\n default:\n return {\n x: 0,\n y: 0\n };\n case \"top\":\n return {\n x: clientSize.width / 2 - widgetSize.width / 2,\n y: 0\n };\n case \"bottom\":\n return {\n x: clientSize.width / 2 - widgetSize.width / 2,\n y: clientSize.height - widgetSize.height\n };\n case \"left\":\n return {\n x: 0,\n y: clientSize.height / 2 - widgetSize.height / 2\n };\n case \"right\":\n return {\n x: clientSize.width - widgetSize.width,\n y: clientSize.height / 2 - widgetSize.height / 2\n };\n case \"center\":\n return {\n x: clientSize.width / 2 - widgetSize.width / 2,\n y: clientSize.height / 2 - widgetSize.height / 2\n };\n }\n }\n}\nLayered.prototype._class += \" layout_Layered\";\nLayered.prototype.publish(\"surfacePadding\", 0, \"number\", \"Padding\");\nLayered.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\nclass Popup extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_surfaceButtons\");\n __publicField(this, \"_originalPosition\");\n this._tag = \"div\", this._surfaceButtons = [];\n }\n updateState(visible) {\n visible = visible || !this.popupState(), this.popupState(visible).render();\n }\n enter(domNode, element) {\n super.enter(domNode, element), this.widget().target(domNode), this._originalPosition = this.position();\n }\n update(domNode, element) {\n super.update(domNode, element), element.style(\"visibility\", this.popupState() ? null : \"hidden\").style(\"opacity\", this.popupState() ? null : 0).style(\"width\", this.shrinkWrap() ? this.widget().width() + \"px\" : this._size.width + \"px\").style(\"height\", this.shrinkWrap() ? this.widget().height() + \"px\" : this._size.height + \"px\"), this.widget().size().height === 0 && this.widget().resize(this.size());\n }\n postUpdate(domNode, element) {\n let left, top;\n switch (this.centerPopup()) {\n case \"container\":\n this._placeholderElement && (left = parseInt(this._placeholderElement.style(\"width\")) / 2 - this.widget().width() / 2, top = parseInt(this._placeholderElement.style(\"height\")) / 2 - this.widget().height() / 2), this.position(\"absolute\");\n break;\n case \"window\":\n left = window.innerWidth / 2 - this.widget().width() / 2, top = window.innerHeight / 2 - this.widget().height() / 2, this.position(\"fixed\");\n break;\n default:\n left = 0, top = 0, this.position(this._originalPosition);\n break;\n }\n this.pos({ x: left, y: top }), super.postUpdate(domNode, element), element.style(\"position\", this.position()).style(\"left\", this.left() + \"px\").style(\"right\", this.right() + \"px\").style(\"top\", this.top() + \"px\").style(\"bottom\", this.bottom() + \"px\");\n }\n exit(domNode, element) {\n this.widget() && this.widget().target(null), super.exit(domNode, element);\n }\n click(obj) {\n }\n}\nPopup.prototype._class += \" layout_Popup\";\nPopup.prototype.publish(\"popupState\", !1, \"boolean\", \"State of the popup, visible (true) or hidden (false)\", null, {});\nPopup.prototype.publish(\"shrinkWrap\", !1, \"boolean\", \"The popup parent container either shrinks to the size of its contents (true) or expands to fit thge popup's parentDiv (false)\", null, {});\nPopup.prototype.publish(\"centerPopup\", \"none\", \"set\", \"Center the widget in its container element (target) or in the window\", [\"none\", \"container\", \"window\"], {});\nPopup.prototype.publish(\"top\", null, \"number\", \"Top position property of popup\", null, {});\nPopup.prototype.publish(\"bottom\", null, \"number\", \"Bottom position property of popup\", null, {});\nPopup.prototype.publish(\"left\", null, \"number\", \"Left position property of popup\", null, {});\nPopup.prototype.publish(\"right\", null, \"number\", \"Right position property of popup\", null, {});\nPopup.prototype.publish(\"position\", \"relative\", \"set\", \"Value of the 'position' property\", [\"absolute\", \"relative\", \"fixed\", \"static\", \"initial\", \"inherit\"], { tags: [\"Private\"] });\nPopup.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\nclass Tabbed extends HTMLWidget {\n constructor() {\n super();\n __publicField(this, \"_tabContainer\");\n __publicField(this, \"_contentContainer\");\n this._tag = \"div\";\n }\n clearTabs() {\n return this.labels([]), this.widgets([]), this;\n }\n addTab(widget, label, isActive, callback) {\n const widgetSize = widget.size();\n widgetSize.width === 0 && widgetSize.height === 0 && widget.size({ width: \"100%\", height: \"100%\" });\n const labels = this.labels(), widgets = this.widgets();\n isActive && this.activeTabIdx(this.widgets().length), labels.push(label);\n const surface = new Surface().widget(widget || new Text().text(\"No widget defined for tab\"));\n return widgets.push(surface), this.labels(labels), this.widgets(widgets), callback && callback(surface), this;\n }\n widgetSize(widgetDiv) {\n const width = this.clientWidth();\n let height = this.clientHeight();\n const tcBox = this._tabContainer.node().getBoundingClientRect();\n return typeof tcBox.height < \"u\" && (height -= tcBox.height), { width, height };\n }\n enter(domNode, element) {\n super.enter(domNode, element), this._tabContainer = element.append(\"div\"), this._contentContainer = element.append(\"div\");\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null);\n const tabs = this._tabContainer.selectAll(\".tab-button.id\" + this.id()).data(this.showTabs() ? this.labels() : [], function(d) {\n return d;\n });\n tabs.enter().append(\"span\").attr(\"class\", \"tab-button id\" + this.id()).style(\"cursor\", \"pointer\").on(\"click\", function(d, idx) {\n context.click(context.widgets()[idx].widget(), d, idx), context.activeTabIdx(idx).render();\n }).merge(tabs).classed(\"active\", function(d, idx) {\n return context.activeTabIdx() === idx;\n }).text(function(d) {\n return d;\n }), tabs.exit().remove();\n const content = this._contentContainer.selectAll(\".tab-content.id\" + this.id()).data(this.widgets(), function(d) {\n return d.id();\n });\n switch (content.enter().append(\"div\").attr(\"class\", \"tab-content id\" + this.id()).each(function(widget, idx) {\n widget.target(this);\n }).merge(content).classed(\"active\", function(d, idx) {\n return context.activeTabIdx() === idx;\n }).style(\"display\", function(d, idx) {\n return context.activeTabIdx() === idx ? \"block\" : \"none\";\n }).each(function(surface, idx) {\n if (surface.visible(context.activeTabIdx() === idx), context.activeTabIdx() === idx) {\n const wSize = context.widgetSize(select(this));\n surface.surfaceBorderWidth(context.showTabs() ? null : 0).surfacePadding(context.showTabs() ? null : 0).resize(wSize);\n }\n }), content.exit().each(function(widget, idx) {\n widget.target(null);\n }).remove(), this.tabLocation()) {\n case \"bottom\":\n this._tabContainer.attr(\"class\", \"on_bottom\").style(\"top\", this._contentContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\"), this._contentContainer.style(\"top\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).style(\"position\", \"absolute\");\n break;\n default:\n this._tabContainer.attr(\"class\", \"on_top\").style(\"top\", null).style(\"position\", \"relative\"), this._contentContainer.style(\"top\", this._tabContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\");\n break;\n }\n }\n click(widget, column, idx) {\n }\n}\nTabbed.prototype._class += \" layout_Tabbed\";\nTabbed.prototype.publish(\"showTabs\", !0, \"boolean\", \"Show Tabs\", null, {});\nTabbed.prototype.publish(\"surfacePadding\", 4, \"number\", \"Padding\");\nTabbed.prototype.publish(\"activeTabIdx\", 0, \"number\", \"Index of active tab\", null, {});\nTabbed.prototype.publish(\"labels\", [], \"array\", \"Array of tab labels sharing an index with \", null, { tags: [\"Private\"] });\nTabbed.prototype.publish(\"tabLocation\", \"top\", \"set\", \"Position the tabs at the bottom of the widget\", [\"top\", \"bottom\"], { tags: [\"Private\"] });\nTabbed.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\nclass Toolbar extends HTMLWidget {\n constructor() {\n super(), this._tag = \"div\";\n }\n enter(domNode, element) {\n super.enter(domNode, element);\n }\n update(domNode, element) {\n super.update(domNode, element);\n const context = this;\n element.attr(\"title\", context.title()).style(\"background-color\", this.backgroundColor());\n const title = element.selectAll(\"div.toolbar-title\").data(this.title() ? [this.title()] : []);\n title.enter().append(\"div\").classed(\"toolbar-title\", !0).append(\"span\"), title.selectAll(\"div.toolbar-title > span\").style(\"font-size\", this.fontSize_exists() ? this.fontSize() + \"px\" : null).style(\"color\", this.fontColor_exists() ? this.fontColor() : null).style(\"font-family\", this.fontFamily_exists() ? this.fontFamily() : null).style(\"font-weight\", this.fontBold_exists() ? this.fontBold() ? \"bold\" : \"normal\" : null).style(\"background-color\", this.backgroundColor_exists() ? this.backgroundColor() : null).text(context.title()), title.exit().remove();\n const childWidgets = element.selectAll(\"div.toolbar-child\").data(this.widgets() !== null ? this.widgets() : [], function(d) {\n return d.id();\n });\n childWidgets.enter().insert(\"div\", \"div.toolbar-title\").each(function(d, i) {\n const widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + \" toolbar-child\" : \"toolbar-child\";\n select(this).classed(widgetClass, !0), d.target(this);\n }), childWidgets.exit().each(function(d) {\n d.target(null);\n }).remove(), childWidgets.order();\n }\n render(callback) {\n const context = this;\n return super.render(function(w) {\n const toolbarBBox = context.element().node().getBoundingClientRect();\n let minX = toolbarBBox.left + toolbarBBox.width;\n context.element().selectAll(\"div.toolbar-child\").each(function(d, i) {\n const childBBox = this.getBoundingClientRect();\n minX > childBBox.left && (minX = childBBox.left);\n }), context.element().select(\".toolbar-title\").style(\"width\", minX - toolbarBBox.left - 4 + \"px\"), callback && callback(w);\n });\n }\n exit(domNode, element) {\n this.widgets().forEach(function(w) {\n w.target(null);\n }), super.exit(domNode, element);\n }\n}\nToolbar.prototype._class += \" layout_Toolbar\";\nToolbar.prototype.publish(\"title\", \"\", \"string\", \"Title\", null, { tags: [\"Intermediate\"] });\nToolbar.prototype.publish(\"fontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"fontBold\", !0, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: !0 });\nToolbar.prototype.publish(\"backgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: !0 });\nToolbar.prototype.publish(\"responsive\", !0, \"boolean\", \"Adapts to pixel width\", null, { tags: [\"Basic\"] });\nToolbar.prototype.publish(\"widgets\", [], \"widgetArray\", \"Child widgets of the toolbar\", null, { tags: [\"Basic\"] });\nToolbar.prototype.publish(\"widgetClasses\", [], \"array\", \"Array of Html Element classes to be assigned to the child widgets (shares index with widgets param)\", null, { tags: [\"Basic\"] });\nclass VerticalList extends FlexGrid {\n constructor() {\n super(), this.orientation_default(\"vertical\"), this.flexWrap_default(\"nowrap\");\n }\n}\nVerticalList.prototype._class += \" layout_VerticalList\";\nexport {\n AbsoluteSurface,\n Accordion,\n BUILD_VERSION,\n Border,\n Border2,\n Carousel,\n Cell,\n ChartPanel,\n FlexGrid,\n Grid,\n HorizontalList,\n Layered,\n Legend,\n Modal,\n PKG_NAME,\n PKG_VERSION,\n Popup,\n Surface,\n Tabbed,\n Toolbar,\n VerticalList,\n WidgetDiv\n};\n//# sourceMappingURL=index.js.map\n","import { Utility } from \"@hpcc-js/common\";\n\ndeclare const require: any;\nexport function requireWidget(classID) {\n return new Promise(function (resolve, _reject) {\n const parsedClassID = Utility.parseClassID(classID);\n if (require) {\n require([parsedClassID.package], function (Package) {\n let Widget = null;\n if (Package && Package[parsedClassID.widgetID]) {\n Widget = Package[parsedClassID.widgetID];\n }\n resolve(parsedClassID.memberWidgetID ? (Widget.prototype ? Widget.prototype[parsedClassID.memberWidgetID] : Widget[parsedClassID.memberWidgetID]) : Widget);\n });\n }\n });\n}\n\nexport function requireWidgets(classIDs) {\n return Promise.all(classIDs.map(requireWidget));\n}\n","import { IGraph, INDChart } from \"@hpcc-js/api\";\nimport { Database, HTMLWidget, Utility, Widget } from \"@hpcc-js/common\";\nimport { map as d3Map } from \"d3-collection\";\nimport { requireWidget } from \"./Utility.ts\";\n\ndeclare const require: any;\nexport class MultiChart extends HTMLWidget {\n _allCharts = {};\n _chartTypeDefaults;\n _chartTypeProperties;\n _chartMonitor;\n _switchingTo;\n\n constructor() {\n super();\n INDChart.call(this);\n IGraph.call(this);\n\n this._tag = \"div\";\n\n this._allCharts = {};\n this._allChartTypes.forEach(function (item) {\n const newItem = JSON.parse(JSON.stringify(item));\n newItem.widget = null;\n this._allCharts[item.id] = newItem;\n this._allCharts[item.display] = newItem;\n this._allCharts[item.widgetClass] = newItem;\n }, this);\n this._chartTypeDefaults = {};\n this._chartTypeProperties = {};\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n const retVal = super.fields.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().fields();\n this.chart().fields(_);\n }\n return retVal;\n }\n\n columns(): string[];\n columns(_, asDefault?: boolean): this;\n columns(_?, asDefault?: boolean) {\n const retVal = HTMLWidget.prototype.columns.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().columns();\n this.chart().columns(_, asDefault);\n }\n return retVal;\n }\n\n data(_?) {\n const retVal = HTMLWidget.prototype.data.apply(this, arguments);\n if (this.chart()) {\n if (!arguments.length) return this.chart().data();\n this.chart().data(_);\n }\n return retVal;\n }\n\n hasOverlay() {\n return this.chart() && this.chart().hasOverlay();\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return this.chart() && this.chart().visible();\n if (this.chart()) {\n this.chart().visible(_);\n }\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): object | this {\n if (!arguments.length) return this._chartTypeDefaults;\n this._chartTypeDefaults = _;\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): object | this {\n if (!arguments.length) return this._chartTypeProperties;\n this._chartTypeProperties = _;\n return this;\n }\n\n getChartDataFamily() {\n return this._allCharts[this.chartType()].family;\n }\n\n requireContent(chartType, callback) {\n const classInfo = Utility.parseClassID(this._allCharts[chartType].widgetClass);\n switch (classInfo.package) {\n case \"@hpcc-js/chart\":\n import(\"@hpcc-js/chart\").then(mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n case \"@hpcc-js/dgrid\":\n import(\"@hpcc-js/dgrid\").then(mod => {\n callback(new mod[classInfo.widgetID]());\n });\n break;\n default:\n requireWidget(this._allCharts[chartType].widgetClass).then(function (WidgetClass: any) {\n callback(new WidgetClass());\n });\n }\n }\n\n switchChart(callback) {\n if (this._switchingTo === this.chartType()) {\n if (callback) {\n callback(this);\n }\n return;\n } else if (this._switchingTo) {\n console.warn(\"Attempting switch to: \" + this.chartType() + \", before previous switch is complete (\" + this._switchingTo + \")\");\n }\n this._switchingTo = this.chartType();\n const oldContent = this.chart();\n const context = this;\n this.requireContent(this.chartType(), function (newContent) {\n if (newContent !== oldContent) {\n const size = context.size();\n newContent\n .fields(context.fields())\n .data(context.data())\n .size(size)\n ;\n\n context.chart(newContent);\n if (oldContent) {\n oldContent\n .size({ width: 1, height: 1 })\n .render()\n ;\n }\n }\n delete context._switchingTo;\n if (callback) {\n callback(this);\n }\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n const content = element.selectAll(\".multiChart\").data(this.chart() ? [this.chart()] : [], function (d) { return d._id; });\n content.enter().append(\"div\")\n .attr(\"class\", \"multiChart\")\n .each(function (d) {\n d.target(this);\n })\n ;\n\n const currChart = this.chart();\n if (currChart) {\n for (const key in this._chartTypeDefaults) {\n if (currChart[key + \"_default\"]) {\n try {\n currChart[key + \"_default\"](this._chartTypeDefaults[key]);\n } catch (e) {\n console.warn(\"Exception Setting Default: \" + key);\n }\n } else {\n console.warn(\"Unknown Default: \" + key);\n }\n }\n this._chartTypeDefaults = {};\n for (const propKey in this._chartTypeProperties) {\n if (currChart[propKey]) {\n try {\n currChart[propKey](this._chartTypeProperties[propKey]);\n } catch (e) {\n console.warn(\"Exception Setting Property: \" + propKey);\n }\n } else {\n console.warn(\"Unknown Property: \" + propKey);\n }\n }\n this._chartTypeProperties = {};\n }\n\n const context = this;\n content\n .each(function (d) { d.resize(context.size()); })\n ;\n\n content.exit().transition()\n .each(function (d) { d.target(null); })\n .remove()\n ;\n }\n\n exit(domNode, element) {\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n if (this.chart()) {\n this.chart().target(null);\n }\n super.exit(domNode, element);\n }\n\n render(_callback?) {\n if (this.chartType() && (!this.chart() || (this.chart().classID() !== this._allCharts[this.chartType()].widgetClass))) {\n const context = this;\n const args = arguments;\n this.switchChart(function () {\n HTMLWidget.prototype.render.apply(context, args);\n });\n return this;\n }\n return HTMLWidget.prototype.render.apply(this, arguments);\n }\n}\nMultiChart.prototype._class += \" composite_MultiChart\";\nMultiChart.prototype.implements(INDChart.prototype);\nMultiChart.prototype.implements(IGraph.prototype);\nexport interface ChartMeta {\n id: string;\n display: string;\n widgetClass: string;\n widgetPath?: string;\n}\nexport interface MultiChart {\n _otherChartTypes: ChartMeta[];\n _graphChartTypes: ChartMeta[];\n _1DChartTypes: ChartMeta[];\n _2DChartTypes: ChartMeta[];\n _NDChartTypes: ChartMeta[];\n _mapChartTypes: ChartMeta[];\n _anyChartTypes: ChartMeta[];\n _allChartTypes: ChartMeta[];\n _allMap;\n _allFamilies: string[];\n _allChartTypesMap;\n _allChartTypesByClass;\n\n hideRowOnLegendClick(): boolean;\n hideRowOnLegendClick(_: boolean): this;\n chartType(): string;\n chartType(_: string): this;\n chart(): Widget;\n chart(_: Widget): this;\n chart_access(): Widget;\n chart_access(_: Widget): this;\n\n click(_row, _column, _selected): void;\n dblclick(_row, _column, _selected): void;\n vertex_click(row, column, selected, more): void;\n vertex_dblclick(row, column, selected, more): void;\n edge_click(row, column, selected, more): void;\n edge_dblclick(row, column, selected, more): void;\n}\n\nMultiChart.prototype._otherChartTypes = [\n { id: \"FORM\", display: \"Form\", widgetClass: \"form_FieldForm\" }\n].map(function (item: any) { item.family = \"other\"; return item; });\nMultiChart.prototype._graphChartTypes = [\n { id: \"GRAPH\", display: \"Graph\", widgetClass: \"graph_Graph\" },\n { id: \"ADJACENCY_GRAPH\", display: \"Graph\", widgetClass: \"graph_AdjacencyGraph\" },\n { id: \"GRAPHC\", display: \"GraphC\", widgetClass: \"graph_GraphC\" }\n].map(function (item: any) { item.family = \"GRAPH\"; return item; });\nMultiChart.prototype._1DChartTypes = [\n].map(function (item: any) { item.family = \"1D\"; return item; });\nMultiChart.prototype._2DChartTypes = [\n { id: \"SUMMARY\", display: \"Summary\", widgetClass: \"chart_Summary\" },\n { id: \"BUBBLE\", display: \"Bubble\", widgetClass: \"chart_Bubble\" },\n { id: \"PIE\", display: \"Pie\", widgetClass: \"chart_Pie\" },\n { id: \"WORD_CLOUD\", display: \"Word Cloud\", widgetClass: \"other_WordCloud\" }\n].map(function (item: any) { item.family = \"2D\"; return item; });\nMultiChart.prototype._NDChartTypes = [\n { id: \"COLUMN\", display: \"Column\", widgetClass: \"chart_Column\" },\n { id: \"BAR\", display: \"Bar\", widgetClass: \"chart_Bar\" },\n { id: \"LINE\", display: \"Line\", widgetClass: \"chart_Line\" },\n { id: \"AREA\", display: \"Area\", widgetClass: \"chart_Area\" },\n { id: \"STEP\", display: \"Step\", widgetClass: \"chart_Step\" },\n { id: \"SCATTER\", display: \"Scatter\", widgetClass: \"chart_Scatter\" },\n { id: \"HEXBIN\", display: \"Hex Bin\", widgetClass: \"chart_HexBin\" }\n].map(function (item: any) { item.family = \"ND\"; return item; });\nMultiChart.prototype._mapChartTypes = [\n { id: \"CHORO_USSTATES\", display: \"US State Choropleth\", widgetClass: \"map_ChoroplethStates\" },\n { id: \"CHORO_USCOUNTIES\", display: \"US County Choropleth\", widgetClass: \"map_ChoroplethCounties\" },\n { id: \"CHORO_COUNTRIES\", display: \"Country Choropleth\", widgetClass: \"map_ChoroplethCountries\" },\n { id: \"GMAP_CHORO_USCOUNTIES\", display: \"Google Map US County Choropleth\", widgetClass: \"map_GMapCounties\" },\n { id: \"GOOGLE_MAP\", display: \"Google Map\", widgetClass: \"map_GMapLayered\" },\n { id: \"OPENSTREET\", display: \"Open Street Map\", widgetClass: \"map_OpenStreet\" }\n].map(function (item: any) { item.family = \"map\"; return item; });\nMultiChart.prototype._anyChartTypes = [\n { id: \"TABLE\", display: \"Table\", widgetClass: \"dgrid_Table\" },\n { id: \"TABLE_LEGACY\", display: \"Table (legacy)\", widgetClass: \"other_Table\" },\n { id: \"TABLE_NESTED\", display: \"Nested Table\", widgetClass: \"other_NestedTable\" },\n { id: \"TABLE_CALENDAR\", display: \"Table driven Calendar Heat Map\", widgetClass: \"other_CalendarHeatMap\" },\n { id: \"TABLE_BULLET\", display: \"Table driven bullet chart\", widgetClass: \"chart_Bullet\" },\n { id: \"TABLE_SELECT\", display: \"Table driven select\", widgetClass: \"other_Select\" },\n { id: \"TABLE_AUTOCOMPLETE\", display: \"Table driven auto complete\", widgetClass: \"other_AutoCompleteText\" },\n { id: \"TABLE_OPPORTUNITY\", display: \"Table driven opportunity widget\", widgetClass: \"graph_Opportunity\" },\n { id: \"TABLE_TREE\", display: \"Table driven tree\", widgetClass: \"tree_Dendrogram\" },\n { id: \"TABLE_TREEMAP\", display: \"Table driven Treemap\", widgetClass: \"tree_Treemap\" },\n { id: \"TABLE_SANKEY\", display: \"Table driven Sankey\", widgetClass: \"graph_Sankey\" },\n { id: \"TABLE_GMAP_PIN\", display: \"Table driven Google Map (pins)\", widgetClass: \"map_GMapPin\" },\n { id: \"TABLE_GMAP_PINLINE\", display: \"Table driven Google Map (pins/lines)\", widgetClass: \"map_GMapPinLine\" },\n { id: \"TABLE_XML_TREE\", display: \"Table driven XML Tree\", widgetClass: \"tree_Indented\" }\n].map(function (item: any) { item.family = \"any\"; return item; });\nMultiChart.prototype._allChartTypes =\n MultiChart.prototype._otherChartTypes.concat(\n MultiChart.prototype._graphChartTypes.concat(\n MultiChart.prototype._1DChartTypes.concat(\n MultiChart.prototype._2DChartTypes.concat(\n MultiChart.prototype._NDChartTypes.concat(\n MultiChart.prototype._mapChartTypes.concat(\n MultiChart.prototype._anyChartTypes\n ))))));\nMultiChart.prototype._allMap = d3Map(MultiChart.prototype._allChartTypes, function (item: any) { return item.family; });\nMultiChart.prototype._allFamilies = MultiChart.prototype._allMap.keys();\nMultiChart.prototype._allChartTypesMap = {};\nMultiChart.prototype._allChartTypesByClass = {};\nMultiChart.prototype._allChartTypes.forEach(function (item) {\n item.widgetPath = Utility.widgetPath(item.widgetClass);\n MultiChart.prototype._allChartTypesMap[item.id] = item;\n MultiChart.prototype._allChartTypesByClass[item.widgetClass] = item;\n});\n\nMultiChart.prototype.publishReset();\nMultiChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chartType\", \"BUBBLE\", \"set\", \"Chart Type\", MultiChart.prototype._allChartTypes.map(function (item) { return item.id; }), { tags: [\"Basic\"] });\nMultiChart.prototype.publish(\"chart\", null, \"widget\", \"Chart\", null, { tags: [\"Basic\"] });\n\nconst _origChart = MultiChart.prototype.chart;\nMultiChart.prototype.chart = function (_?) {\n const retVal = _origChart.apply(this, arguments);\n if (arguments.length) {\n const context = this;\n if (this._allChartTypesByClass[_.classID()]) {\n this.chartType(this._allChartTypesByClass[_.classID()].id);\n } else {\n console.warn(\"Unknown Class ID: \" + _.classID());\n }\n _.click = function (_row, _column, _selected) {\n context.click.apply(context, arguments);\n };\n _.dblclick = function (_row, _column, _selected) {\n context.dblclick.apply(context, arguments);\n };\n _.vertex_click = function (row, column, selected, more) {\n context.vertex_click.apply(context, arguments);\n };\n _.vertex_dblclick = function (row, column, selected, more) {\n context.vertex_dblclick.apply(context, arguments);\n };\n _.edge_click = function (row, column, selected, more) {\n context.edge_click.apply(context, arguments);\n };\n _.edge_dblclick = function (row, column, selected, more) {\n context.edge_dblclick.apply(context, arguments);\n };\n if (this._chartMonitor) {\n this._chartMonitor.remove();\n delete this._chartMonitor;\n }\n this._chartMonitor = _.monitor(function (key, newVal, oldVal) {\n context.broadcast(key, newVal, oldVal, _);\n });\n }\n return retVal;\n};\n","import { HTMLWidget, Widget } from \"@hpcc-js/common\";\nimport { ChartPanel } from \"@hpcc-js/layout\";\nimport { MultiChart } from \"./MultiChart.ts\";\n\nimport \"../src/ChartPanel.css\";\n\nclass Summary extends HTMLWidget {\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element.append(\"p\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n element.select(\"p\").text(this.text());\n }\n}\ninterface Summary {\n text(): string;\n text(_: string): this;\n}\nSummary.prototype.publish(\"text\", \"\", \"string\");\n\nexport class MultiChartPanel extends ChartPanel<MultiChart> {\n\n constructor() {\n super();\n this.widget(new MultiChart().chartType(\"COLUMN\"));\n }\n\n multiChart(): MultiChart {\n return this._widget;\n }\n\n chartType(): string;\n chartType(_: string): this;\n chartType(_?: string): string | this {\n if (!arguments.length) return this._widget.chartType();\n this._widget.chartType(_);\n return this;\n }\n\n chart(): Widget;\n chart(_: Widget): this;\n chart(_?: Widget): Widget | this {\n if (!arguments.length) return this._widget.chart();\n this._widget.chart(_);\n return this;\n }\n\n chartTypeDefaults(): object;\n chartTypeDefaults(_: object): this;\n chartTypeDefaults(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeDefaults();\n this._widget.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(): object;\n chartTypeProperties(_: object): this;\n chartTypeProperties(_?: object): this | object {\n if (!arguments.length) return this._widget.chartTypeProperties();\n this._widget.chartTypeProperties(_);\n return this;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n if (this._widget instanceof MultiChart) {\n this._legend.dataFamily(this._widget.getChartDataFamily());\n }\n super.update(domNode, element);\n }\n}\nMultiChartPanel.prototype._class += \" composite_MultiChartPanel\";\n","import { OnOff } from \"@hpcc-js/form\";\nimport { Border, Toolbar } from \"@hpcc-js/layout\";\nimport { PropertyEditor } from \"@hpcc-js/other\";\n\nimport \"../src/Dermatology.css\";\n\nexport class Dermatology extends Border {\n _toolbar;\n _propEditor;\n _showProperties;\n _propsButton;\n _prevWidget;\n\n constructor() {\n super();\n\n this._toolbar = new Toolbar()\n .title(\"Dermatology\")\n ;\n this._propEditor = new PropertyEditor()\n .show_settings(true)\n ;\n }\n\n showProperties(_?) {\n if (!arguments.length) return this._showProperties;\n this._showProperties = _;\n this\n .rightPercentage(0)\n .rightSize(this._showProperties ? 360 : 0)\n .setContent(\"right\", this._showProperties ? this._propEditor : null)\n ;\n const widget = this.widget();\n if (widget && widget.designMode) {\n widget.designMode(this._showProperties);\n }\n return this;\n }\n\n toggleProperties() {\n return this.showProperties(!this.showProperties());\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this\n .topPercentage(0)\n .topSize(0)\n .setContent(\"top\", this._toolbar)\n ;\n this.getCell(\"top\").surfaceShadow(true);\n\n const context = this;\n this._propsButton = new OnOff()\n .id(this.id() + \"_props\")\n .value(\"Properties\")\n .on(\"click\", function () {\n context\n .toggleProperties()\n .render()\n ;\n })\n ;\n this._toolbar.widgets([this._propsButton]);\n }\n\n update(domNode, element) {\n this\n .topPercentage(0)\n .topSize(this.showToolbar() ? 32 : 0)\n ;\n\n super.update(domNode, element);\n\n const widget = this.widget();\n element.style(\"background-color\", widget && widget.surfaceShadow ? null : \"white\");\n }\n\n render(callback) {\n const widget = this.widget();\n if (widget !== this._prevWidget) {\n if (widget && widget.surfaceShadow) {\n widget.surfaceBackgroundColor_default(\"white\");\n }\n this.setContent(\"center\", widget);\n this._propEditor.widget(widget);\n this._prevWidget = widget;\n }\n return super.render(callback);\n }\n\n showToolbar: { (): boolean; (_: boolean): Dermatology };\n showToolbar_exists: () => boolean;\n widget: { (): any; (_: any): Dermatology };\n widget_exists: () => boolean;\n}\nDermatology.prototype._class += \" composite_Dermatology\";\n\nDermatology.prototype.publish(\"showToolbar\", true, \"boolean\", \"Show Toolbar\");\nDermatology.prototype.publish(\"widget\", null, \"widget\", \"Widget\");\n","import { Database, Text, Utility } from \"@hpcc-js/common\";\nimport { Button, Input, Select } from \"@hpcc-js/form\";\nimport { Border, Grid, Toolbar } from \"@hpcc-js/layout\";\nimport { Html, Legend } from \"@hpcc-js/other\";\nimport { select as d3Select } from \"d3-selection\";\nimport \"d3-transition\";\nimport { MultiChart } from \"./MultiChart.ts\";\n\nimport \"../src/MegaChart.css\";\n\nexport class MegaChart extends Border {\n _chart = new MultiChart();\n _toolbar = new Toolbar();\n _valueTitle = new Text();\n _domainTitle = new Text();\n _legend: Legend = new Legend();\n _csvButton;\n _infoButton;\n _maximizeButton;\n _legendButton;\n _chartTypeSelect;\n _prevLegendPosition;\n _prevShowToolbar;\n _1DChartTypes;\n _2DChartTypes;\n _NDChartTypes;\n _anyChartTypes;\n _allChartTypes;\n _contentClasses;\n _dataCount;\n\n constructor() {\n super();\n this._tag = \"div\";\n const context = this;\n this._chart.click = function () {\n context.click.apply(context, arguments);\n };\n this._chart.dblclick = function () {\n context.dblclick.apply(context, arguments);\n };\n this._chart.vertex_click = function () {\n context.vertex_click.apply(context, arguments);\n };\n this._chart.vertex_dblclick = function () {\n context.vertex_dblclick.apply(context, arguments);\n };\n this._chart.edge_click = function () {\n context.edge_click.apply(context, arguments);\n };\n this._chart.edge_dblclick = function () {\n context.edge_dblclick.apply(context, arguments);\n };\n }\n\n toolbarWidgets(_?) {\n if (!arguments.length) return this._toolbar.widgets();\n this._toolbar.widgets(_);\n return this;\n }\n\n chartTypeDefaults(_?) {\n if (!arguments.length) return this._chart.chartTypeDefaults();\n this._chart.chartTypeDefaults(_);\n return this;\n }\n\n chartTypeProperties(_?) {\n if (!arguments.length) return this._chart.chartTypeProperties();\n this._chart.chartTypeProperties(_);\n return this;\n }\n\n fields(): Database.Field[];\n fields(_: Database.Field[]): this;\n fields(_?: Database.Field[]): Database.Field[] | this {\n if (!arguments.length) return this._chart.fields();\n this._chart.fields(_);\n return this;\n }\n\n columns(): string[];\n columns(_: string[], asDefault?: boolean): this;\n columns(_?: string[], asDefault?: boolean): string[] | this {\n if (!arguments.length) return this._chart.columns();\n this._chart.columns(_, asDefault);\n return this;\n }\n\n data(_?) {\n if (!arguments.length) return this._chart.data();\n this._chart.data(_);\n return this;\n }\n\n downloadCSV() {\n Utility.downloadString(\"CSV\", this._chart.export(\"CSV\"));\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const context = this;\n\n this.topShrinkWrap(false).topPercentage(0).topSize(30);\n this._dataCount = new Html()\n .classed({ \"composite_MegaChart-dataCount\": true })\n .id(this.id() + \"_dataCount\")\n .html('<span class=\"MegaChart-dataCount-label\">Count:</span>&nbsp;<span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\")\n .overflowX(\"visible\")\n .overflowY(\"visible\")\n ;\n\n this._csvButton = new Button()\n .classed({ \"composite_MegaChart-CSV\": true })\n .id(this.id() + \"_csv\")\n .value(\"CSV\")\n ;\n this._csvButton.click = function (a) {\n context.downloadCSV();\n };\n\n this._infoButton = new Button()\n .classed({ \"composite_MegaChart-Info\": true })\n .id(this.id() + \"_info\")\n .value(this.infoIcon())\n ;\n\n this._maximizeButton = new Button()\n .classed({ \"composite_MegaChart-Maximize\": true })\n .id(this.id() + \"_maximize\")\n .value(\"\\uf2d0\")\n ;\n this._maximizeButton.click = function (buttonWidget) {\n const target = context.target() as any;\n let node = target;\n const isMaximized = d3Select(target).classed(\"__hpccisMaximized\");\n\n // Find the layout_Grid ancestor\n const parentGrid = context.locateAncestor(\"layout_Grid\");\n if (parentGrid) {\n node = parentGrid.element().node();\n } else {\n node = document.body;\n }\n\n const targetElement = d3Select(context.target()) as any;\n if (isMaximized) {\n // Restore from maximized to natural size/position\n const targetParentBox = target.parentElement.getBoundingClientRect();\n const targetPaddingTop = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const targetPaddingLeft = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const targetPaddingRight = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const targetPaddingBottom = parseInt(getComputedStyle(target, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement.transition()// .duration(3000)\n .style(\"top\", targetParentBox.top + \"px\")\n .style(\"left\", targetParentBox.left + \"px\")\n .style(\"width\", (targetParentBox.width - targetPaddingLeft - targetPaddingRight) + \"px\")\n .style(\"height\", (targetParentBox.height - targetPaddingTop - targetPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"position\", target.__old_position);\n targetElement.style(\"z-index\", target.__old_zindex);\n targetElement.style(\"background-color\", target.__old_backgroundColor);\n targetElement.style(\"box-shadow\", target.__old_boxshadow);\n context\n .resize({\n width: targetParentBox.width - targetPaddingLeft - targetPaddingRight,\n height: targetParentBox.height - targetPaddingTop - targetPaddingBottom\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d0\").render();\n });\n } else {\n // Maximize this MegaChart\n target.__old_position = target.style.position;\n target.__old_zindex = target.style.zIndex;\n target.__old_boxshadow = target.style.boxShadow;\n target.__old_backgroundColor = context.element().style(\"background-color\");\n const grid = d3Select(node).datum() as Grid;\n const gridTarget = grid.target();\n const gridBox = grid ? gridTarget.getBoundingClientRect() : node.getBoundingClientRect();\n const gridPaddingTop = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-top\").replace(\"px\", \"\"));\n const gridPaddingLeft = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-left\").replace(\"px\", \"\"));\n const gridPaddingRight = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-right\").replace(\"px\", \"\"));\n const gridPaddingBottom = parseInt(getComputedStyle(gridTarget, null).getPropertyValue(\"padding-bottom\").replace(\"px\", \"\"));\n context.contentDiv.style(\"opacity\", 0).transition(100);\n targetElement\n .style(\"position\", \"fixed\")\n .style(\"z-index\", 999999)\n .style(\"box-shadow\", \"0 8px 8px 0 rgba(0,0,0,.14),0 12px 4px -8px rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.12)\")\n .style(\"background-color\", target.__old_backgroundColor)\n .transition()// .duration(3000)\n .style(\"top\", (gridBox.top + gridPaddingTop) + \"px\")\n .style(\"left\", (gridBox.left + gridPaddingLeft) + \"px\")\n .style(\"width\", (gridBox.width - gridPaddingLeft - gridPaddingRight) + \"px\")\n .style(\"height\", (gridBox.height - gridPaddingTop - gridPaddingBottom) + \"px\")\n .each(\"end\", function () {\n targetElement.style(\"background-color\", context.maximizedBackgroundColor());\n context\n .resize({\n width: (gridBox.width - gridPaddingLeft - gridPaddingRight),\n height: (gridBox.height - gridPaddingTop - gridPaddingBottom)\n })\n .render(function () {\n context.contentDiv.transition()\n .style(\"opacity\", 1);\n });\n buttonWidget.value(\"\\uf2d1\").render();\n });\n }\n\n d3Select(target).classed(\"__hpccisMaximized\", !isMaximized);\n };\n\n this._legendButton = new Input()\n .classed({ \"composite_MegaChart-legend\": true })\n .id(this.id() + \"_legend\")\n .type(\"checkbox\")\n .inlineLabel(\"Legend: \")\n ;\n this._legendButton.click = function (a) {\n context.render();\n };\n\n this._chartTypeSelect = new Select()\n .classed({ \"composite_MegaChart-chartType\": true })\n .id(this.id() + \"_chartType\")\n .selectOptions(this._allChartTypes.map(function (a) { return [a.id, a.display]; }))\n .value(this.chartType())\n ;\n this._chartTypeSelect.change = function (a) {\n context.chartType(a.value()).render();\n };\n\n this.setContent(\"center\", this._chart);\n\n this._legend\n .targetWidget(this._chart)\n .orientation([\"top\", \"bottom\"].indexOf(this.legendPosition()) !== -1 ? \"horizontal\" : \"vertical\")\n .fixedSize(true)\n ;\n\n this._prevLegendPosition = this.legendPosition();\n\n if (this.valueAxisTitle()) {\n this.setContent(\"left\", this._valueTitle.rotation(-90)).leftShrinkWrap(true);\n }\n if (this.domainAxisTitle()) {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n\n if (this.legendPosition() !== \"none\") {\n this.setContent(this.legendPosition(), this._legend)[this.legendPosition() + \"ShrinkWrap\"](true);\n }\n }\n\n update(domNode, element) {\n function showHideButton(twArr2, button, show) {\n if (show && twArr2.indexOf(button) === -1) {\n twArr2.push(button);\n } else if (!show) {\n const idx = twArr2.indexOf(button);\n if (idx >= 0) {\n twArr2.splice(idx, 1);\n }\n }\n }\n\n if (this._chart && typeof this._chart.hideRowOnLegendClick === \"function\") {\n this._chart.hideRowOnLegendClick(this.hideRowOnLegendClick());\n }\n\n this._dataCount.html('<span class=\"MegaChart-dataCount-label\">Count:</span>&nbsp;<span class=\"MegaChart-dataCount-value\">' + (this.data() ? this.data().length : \"0\") + \"</span>\");\n\n this._chartTypeSelect.value(this.chartType());\n const twArr = this.toolbarWidgets();\n showHideButton(twArr, this._csvButton, this.showCSV());\n showHideButton(twArr, this._maximizeButton, this.showMaximize());\n showHideButton(twArr, this._legendButton, this.toolbarShowLegend());\n showHideButton(twArr, this._chartTypeSelect, this.showChartSelect());\n showHideButton(twArr, this._infoButton, this.showInfoButton());\n showHideButton(twArr, this._dataCount, this.showCount());\n this.toolbarWidgets(twArr);\n\n if (this._prevShowToolbar !== this.showToolbar()) {\n this.setContent(\"top\", this.showToolbar() ? this._toolbar : null);\n this._prevShowToolbar = this.showToolbar();\n }\n\n // TODO: Proxy + themes not working...\n this._toolbar\n .fontSize(this.titleFontSize())\n .fontColor(this.titleFontColor())\n .fontFamily(this.titleFontFamily())\n .fontBold(this.titleFontBold())\n .backgroundColor(this.titleBackgroundColor())\n ;\n\n this._chart\n .data(this.data());\n\n if (this._chart.chartType() !== this.chartType()) {\n this._chart.chartType(this.chartType());\n }\n\n let legendPosition = this.legendPosition();\n if (this.toolbarShowLegend() && !this._legendButton.checked()) {\n legendPosition = \"none\";\n }\n if (this._prevLegendPosition !== legendPosition) {\n if (this._prevLegendPosition !== \"none\") {\n this.clearContent(this._prevLegendPosition);\n }\n this._prevLegendPosition = legendPosition;\n if (legendPosition !== \"none\") {\n this._legend = new Legend().targetWidget(this.getContent(\"center\").fixedSize(true));\n this.setContent(legendPosition, this._legend);\n this._legend.orientation([\"top\", \"bottom\"].indexOf(legendPosition) !== -1 ? \"horizontal\" : \"vertical\");\n }\n }\n this._contentClasses = this.getContentClasses();\n\n if (this.valueAxisTitle() && this._contentClasses.left !== \"common_Text\") {\n if (legendPosition !== \"left\") {\n this.setContent(\"left\", this._valueTitle.rotation(-90));\n }\n }\n if (this.domainAxisTitle() && this._contentClasses.bottom !== \"common_Text\") {\n if (legendPosition !== \"bottom\") {\n this.setContent(\"bottom\", this._domainTitle).bottomShrinkWrap(true);\n }\n }\n\n this._legend.dataFamily(this._chart.getChartDataFamily());\n\n super.update(domNode, element);\n }\n\n exit(domNode, element) {\n super.exit(domNode, element);\n }\n\n getContentClasses() {\n const obj: any = {};\n const t = this.getContent(\"top\");\n const r = this.getContent(\"right\");\n const b = this.getContent(\"bottom\");\n const l = this.getContent(\"left\");\n obj.top = t !== null ? t.classID() : undefined;\n obj.right = r !== null ? r.classID() : undefined;\n obj.bottom = b !== null ? b.classID() : undefined;\n obj.left = l !== null ? l.classID() : undefined;\n return obj;\n }\n\n serializeState() {\n const state: any = {\n title: this.title(),\n data: this.data()\n };\n const chart = this.chart();\n if (chart) {\n if (chart.serializeState) {\n state.chart = chart.serializeState();\n delete state.chart.data;\n }\n }\n return state;\n }\n\n deserializeState(state) {\n if (state) {\n this\n .title(state.title)\n .data(state.data)\n ;\n const chart = this.chart();\n if (chart && state.chart) {\n if (chart.serializeState) {\n chart.deserializeState(state.chart);\n }\n }\n }\n return this;\n }\n\n // Events ---\n click(row, column, selected) {\n }\n\n dblclick(row, column, selected) {\n }\n vertex_click(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex click: \" + more.vertex.id());\n }\n }\n\n vertex_dblclick(row, col, sel, more) {\n if (more && more.vertex) {\n // console.log(\"Vertex double click: \" + more.vertex.id());\n }\n }\n\n edge_click(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge click: \" + more.edge.id());\n }\n }\n\n edge_dblclick(row, col, sel, more) {\n if (more && more.edge) {\n // console.log(\"Edge double click: \" + more.edge.id());\n }\n }\n\n hideRowOnLegendClick: { (): boolean; (_: boolean): MegaChart };\n hideRowOnLegendClick_exists: () => boolean;\n showToolbar: { (): boolean; (_: boolean): MegaChart };\n showToolbar_exists: () => boolean;\n titleFontSize: { (): number; (_: number): MegaChart };\n titleFontSize_exists: () => boolean;\n titleFontColor: { (): string; (_: string): MegaChart };\n titleFontColor_exists: () => boolean;\n titleFontFamily: { (): string; (_: string): MegaChart };\n titleFontFamily_exists: () => boolean;\n titleFontBold: { (): boolean; (_: boolean): MegaChart };\n titleFontBold_exists: () => boolean;\n titleBackgroundColor: { (): string; (_: string): MegaChart };\n titleBackgroundColor_exists: () => boolean;\n maximizedBackgroundColor: { (): string; (_: string): MegaChart };\n maximizedBackgroundColor_exists: () => boolean;\n showChartSelect: { (): boolean; (_: boolean): MegaChart };\n showChartSelect_exists: () => boolean;\n showCSV: { (): boolean; (_: boolean): MegaChart };\n showCSV_exists: () => boolean;\n showCount: { (): boolean; (_: boolean): MegaChart };\n showCount_exists: () => boolean;\n showMaximize: { (): boolean; (_: boolean): MegaChart };\n showMaximize_exists: () => boolean;\n toolbarShowLegend: { (): boolean; (_: boolean): MegaChart };\n toolbarShowLegend_exists: () => boolean;\n showInfoButton: { (): boolean; (_: boolean): MegaChart };\n showInfoButton_exists: () => boolean;\n infoIcon: { (): string; (_: string): MegaChart };\n infoIcon_exists: () => boolean;\n legendPosition: { (): string; (_: string): MegaChart };\n legendPosition_exists: () => boolean;\n\n title: { (): string; (_: string): MegaChart };\n title_exists: () => boolean;\n\n domainAxisTitle: { (): string; (_: string): MegaChart };\n domainAxisTitle_exists: () => boolean;\n valueAxisTitle: { (): string; (_: string): MegaChart };\n valueAxisTitle_exists: () => boolean;\n\n chartType: { (): string; (_: string): MegaChart };\n chartType_exists: () => boolean;\n chart: { (): any; (_: any): MegaChart };\n chart_exists: () => boolean;\n}\nMegaChart.prototype._class += \" composite_MegaChart\";\n\nMegaChart.prototype._1DChartTypes = MultiChart.prototype._1DChartTypes;\nMegaChart.prototype._2DChartTypes = MultiChart.prototype._2DChartTypes;\nMegaChart.prototype._NDChartTypes = MultiChart.prototype._NDChartTypes;\nMegaChart.prototype._anyChartTypes = MultiChart.prototype._anyChartTypes;\nMegaChart.prototype._allChartTypes = MultiChart.prototype._allChartTypes;\n\nMegaChart.prototype.publishReset();\n\nMegaChart.prototype.publish(\"hideRowOnLegendClick\", false, \"boolean\", \"Enable/Disable hiding row on legend clicks\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showToolbar\", true, \"boolean\", \"Enable/Disable Toolbar widget\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"title\", \"_toolbar\", \"title\");\nMegaChart.prototype.publish(\"ddlParamsFormat\", \"\", \"string\", \"DDL Param Format '{fname}, {lname}'\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontSize\", null, \"number\", \"Title Font Size (px)\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontColor\", null, \"html-color\", \"Title Font Color\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontFamily\", null, \"string\", \"Title Font Family\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleFontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, { tags: [\"Advanced\"], optional: true });\nMegaChart.prototype.publish(\"titleBackgroundColor\", null, \"html-color\", \"Background Color\", null, { tags: [\"Intermediate\"], optional: true });\nMegaChart.prototype.publish(\"maximizedBackgroundColor\", \"#FFFFFF\", \"html-color\", \"Background Color while maximized\", null, { tags: [\"Intermediate\"], optional: true });\n\nMegaChart.prototype.publish(\"showChartSelect\", true, \"boolean\", \"Show/Hide the chartType dropdown in the toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCSV\", true, \"boolean\", \"Show/Hide CSV button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showCount\", false, \"boolean\", \"Show/Hide Data Count\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showMaximize\", false, \"boolean\", \"Show/Hide Maximize button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"toolbarShowLegend\", false, \"boolean\", \"Show/Hide Legend button\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"showInfoButton\", false, \"boolean\", \"Show/Hide Info button in toolbar\", null, { tags: [\"Basic\"] });\nMegaChart.prototype.publish(\"infoIcon\", \"\\uf05a\", \"string\", \"Help Icon\", null, { tags: [\"Basic\"] });\n\nMegaChart.prototype.publish(\"legendPosition\", \"none\", \"set\", \"Position of the Legend widget\", [\"none\", \"top\", \"right\", \"bottom\", \"left\"], { tags: [\"Basic\"] });\nMegaChart.prototype.publishProxy(\"legendFormat\", \"_legend\", \"rainbowFormat\");\nMegaChart.prototype.publishProxy(\"legendBins\", \"_legend\", \"rainbowBins\");\n\nMegaChart.prototype.publishProxy(\"domainAxisTitle\", \"_domainTitle\", \"text\");\nMegaChart.prototype.publishProxy(\"valueAxisTitle\", \"_valueTitle\", \"text\");\n\nMegaChart.prototype.publishProxy(\"chartType\", \"_chart\", \"chartType\");\nMegaChart.prototype.publishProxy(\"chart\", \"_chart\", \"chart\");\n","import { Platform, Utility, Widget } from \"@hpcc-js/common\";\nimport { Persist } from \"@hpcc-js/other\";\nimport { requireWidget } from \"./Utility.ts\";\n\nexport function retrofit_114_serialization(state, replacement_version) {\n replacement_version = !replacement_version || replacement_version === \"1.14.2-dev\" ? \"1.18.0\" : replacement_version;\n if (!state.__version) return state;\n const state_version_obj = Utility.parseVersionString(state.__version);\n const target_version_obj = Utility.parseVersionString(replacement_version);\n if (state_version_obj.major === 1 && state_version_obj.minor === 14) {\n console.info(\"Upgrading old persist from \" + state.__version + \" to \" + replacement_version);\n let _json_str = JSON.stringify(state);\n _json_str = _json_str.split('\"' + state.__version).join('\"' + replacement_version);\n\n const ret_obj = JSON.parse(_json_str);\n if (ret_obj.__properties && ret_obj.__properties.content) {\n ret_obj.__properties.content.forEach(function (n) {// FOR EACH top tier layout_Cell\n if (JSON.stringify(n).split(\"graph_Graph\").length > 1 && target_version_obj.minor >= 16) {\n n.__properties.widget.__id = n.__properties.widget.__properties.widget.__id;\n n.__properties.widget.__class = \"composite_MegaChart\";\n n.__properties.widget.__properties.showCSV = false;\n n.__properties.widget.__properties.chartType = \"GRAPH\";\n n.__properties.widget.__properties.chart = n.__properties.widget.__properties.widget;\n delete n.__properties.widget.__properties.chart.__id;\n delete n.__properties.widget.__properties.widget;\n }\n if (\"undefined\" === typeof n.__properties.fields) {\n n.__properties.fields = [];\n }\n });\n }\n return ret_obj;\n } else {\n return state;\n }\n}\n\nexport function deserializeFromObject(widget, state) {\n const promises = [];\n Persist.widgetPropertyWalker(widget, null, (w, item) => {\n w[item.id + \"_reset\"]();\n if (state.__properties[item.id] !== undefined) {\n switch (item.type) {\n case \"widget\":\n const widgetKey = item.id;\n promises.push(create(state.__properties[item.id]).then((w2: any) => {\n w2._owner = w;\n w[widgetKey](w2);\n return w2;\n }));\n break;\n case \"widgetArray\":\n case \"propertyArray\":\n const widgetArrayKey = item.id;\n const widgetStateArray = state.__properties[item.id];\n if (widgetStateArray.length) {\n const arrPromises = [];\n for (const widgetState of widgetStateArray) {\n arrPromises.push(create(widgetState).then((widgetItem: any) => {\n widgetItem._owner = w;\n return widgetItem;\n }));\n }\n promises.push(Promise.all(arrPromises).then(widgetArray => {\n w[widgetArrayKey](widgetArray);\n }));\n }\n break;\n default:\n w[item.id](state.__properties[item.id]);\n break;\n }\n }\n });\n return Promise.all(promises).then(widgets => {\n if (state.__data) {\n for (const key in state.__data) {\n if (state.__data.HasOwnProperty(key)) {\n switch (key) {\n case \"data\":\n widget.data(state.__data[key]);\n break;\n default:\n console.warn(\"Unexpected __data item: \" + key);\n widget[key](state.__data[key]);\n break;\n }\n }\n }\n }\n if (state.__state) {\n if (widget.deserializeState) {\n widget.deserializeState(state.__state);\n } else if (state.__state.data && widget.data) {\n widget.data(state.__state.data);\n }\n }\n return widget;\n });\n}\n\nexport function deserialize(widget, state) {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && widget._id !== state.__id) {\n console.warn(\"Deserialize: IDs do not match - \" + widget._id);\n }\n deserializeFromObject(widget, state);\n}\n\nexport function create(state: any): Promise<Widget> {\n if (typeof state === \"string\") {\n state = JSON.parse(state);\n }\n state = retrofit_114_serialization(state, Platform.version());\n return requireWidget(state.__class).then((WidgetClass: any) => {\n const widget = new WidgetClass();\n if (state.__id && state.__id.indexOf(widget._idSeed) !== 0 && state.__id.indexOf(\"_pe\") !== 0) {\n widget._id = state.__id;\n }\n return deserializeFromObject(widget, state);\n }).catch(function (e) {\n console.error(\"Persist.create: ***exception***\");\n console.error(e);\n });\n}\n\nexport function clone(widget) {\n create(Persist.serializeToObject(widget, undefined, true, true));\n}\n"],"names":["r","e","__defProp","__defNormalProp","__publicField","c","a","s","k","Cell","Cell$1","timeParse","timeFormat","format","HTMLWidget","o","_mergeNamespaces","n","m","i","d","FAChar","select","w","_","selectAll","Utility","cell","t","b","l","d3Event","Platform","drag","w2","x","y","h","formatPrefix","scaleLinear","dispatch","sum","formatLocale","formatSpecifier","SVGWidget","Database","row","Palette","n2","scaleOrdinal","instanceOfIHighlight","ProgressBar","ToggleButton","Text","Button","Spacer","TitleBar","IconBar","module","exports","root","j","N","INDChart","IGraph","d3Map","PropertyEditor","OnOff","Legend","Html","d3Select","Input","Select","Persist"],"mappings":"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"}