@hpcc-js/composite 3.4.0 → 3.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","names":["HTMLWidget","FAChar","Utility","Platform","Legend","SVGWidget","Database","Palette","ProgressBar","ToggleButton","Text","Button","Spacer","TitleBar","Table","IconBar","exports","obj: any","state: any"],"sources":["../src/__package__.ts","../../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 = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Button, Database, FAChar, HTMLWidget, IconBar, Palette, Platform, ProgressBar, SVGWidget, Spacer, Text, TitleBar, ToggleButton, Utility, d3Event, dispatch, drag, format, formatLocale, formatPrefix, formatSpecifier, scaleLinear, scaleOrdinal, select, selectAll, sum } from \"@hpcc-js/common\";\nimport { Table } from \"@hpcc-js/dgrid\";\nimport { instanceOfIHighlight } from \"@hpcc-js/api\";\n\n//#region rolldown:runtime\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\tkey = keys[i];\n\t\tif (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: ((k$1) => from[k$1]).bind(null, key),\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n//#region src/__package__.ts\nconst PKG_NAME = \"@hpcc-js/layout\";\nconst PKG_VERSION = \"3.4.0\";\nconst BUILD_VERSION = \"3.15.0\";\n\n//#endregion\n//#region src/AbsoluteSurface.ts\nvar AbsoluteSurface = class extends HTMLWidget {\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tlet xPos = 0;\n\t\tlet yPos = 0;\n\t\tlet width = this.clientWidth();\n\t\tlet height = this.clientHeight();\n\t\tswitch (this.units()) {\n\t\t\tcase \"pixels\":\n\t\t\t\txPos = this.widgetX();\n\t\t\t\tyPos = this.widgetY();\n\t\t\t\twidth = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth());\n\t\t\t\theight = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight());\n\t\t\t\tbreak;\n\t\t\tcase \"percent\":\n\t\t\t\txPos = this.widgetX() * width / 100;\n\t\t\t\tyPos = this.widgetY() * height / 100;\n\t\t\t\twidth = this.widgetWidth() === \"\" ? width - xPos : Number(this.widgetWidth()) * width / 100;\n\t\t\t\theight = this.widgetHeight() === \"\" ? height - yPos : Number(this.widgetHeight()) * height / 100;\n\t\t\t\tbreak;\n\t\t}\n\t\telement.style(\"opacity\", this.opacity());\n\t\tconst widgets = element.selectAll(\"#\" + this._id + \" > .placeholder\").data(this.widget() ? [this.widget()] : [], function(d) {\n\t\t\treturn d._id;\n\t\t});\n\t\twidgets.enter().append(\"div\").attr(\"class\", \"placeholder\").each(function(d) {\n\t\t\td.target(this);\n\t\t}).merge(widgets).style(\"left\", xPos + \"px\").style(\"top\", yPos + \"px\").style(\"width\", width + \"px\").style(\"bottom\", height + \"px\").each(function(d) {\n\t\t\td.resize({\n\t\t\t\twidth,\n\t\t\t\theight\n\t\t\t});\n\t\t});\n\t\twidgets.exit().each(function(d) {\n\t\t\td.target(null);\n\t\t}).remove();\n\t}\n\texit(domNode, element) {\n\t\tif (this.widget()) this.widget().target(null);\n\t\tsuper.exit(domNode, element);\n\t}\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\");\n\n//#endregion\n//#region src/Accordion.ts\nvar Accordion = class extends HTMLWidget {\n\t_isClosed;\n\ttitleSpan;\n\ticonDiv;\n\tul;\n\ticon;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._isClosed = false;\n\t}\n\tpushListItem(widget, prepend = false, protect = false) {\n\t\tconst contentArr = this.content();\n\t\twidget._protected = protect;\n\t\tif (prepend) contentArr.unshift(widget);\n\t\telse contentArr.push(widget);\n\t\tthis.content(contentArr);\n\t\treturn this;\n\t}\n\tclearListItems() {\n\t\tconst arr = [];\n\t\tfor (const i in this.content()) if (this.content()[i]._protected) arr.push(this.content()[i]);\n\t\tthis.content(arr);\n\t\treturn this;\n\t}\n\tcollapseClick(element) {\n\t\tif (element.classed(\"closed\")) {\n\t\t\tthis._isClosed = false;\n\t\t\telement.classed(\"open\", true);\n\t\t\telement.classed(\"closed\", false);\n\t\t} else {\n\t\t\tthis._isClosed = true;\n\t\t\telement.classed(\"open\", false);\n\t\t\telement.classed(\"closed\", true);\n\t\t}\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tconst context = this;\n\t\tthis._isClosed = this.defaultCollapsed();\n\t\telement.classed(this._isClosed ? \"closed\" : \"open\", true);\n\t\tthis.titleSpan = element.append(\"span\").classed(\"collapsible-title\", true);\n\t\tthis.iconDiv = element.append(\"div\").classed(\"collapsible-icon\", true);\n\t\tthis.ul = element.append(\"ul\");\n\t\tthis.icon = new FAChar().size({\n\t\t\theight: 24,\n\t\t\twidth: 24\n\t\t}).target(this.iconDiv.node());\n\t\tthis.iconDiv.on(\"click\", function() {\n\t\t\tcontext.collapseClick(element);\n\t\t\tcontext.render();\n\t\t});\n\t\tthis.titleSpan.on(\"click\", function() {\n\t\t\tcontext.collapseClick(element);\n\t\t\tcontext.render();\n\t\t});\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst context = this;\n\t\tthis.titleSpan.text(context.title().length > 0 ? context.title() + \"\" : \"Accordion [\" + context._id + \"]\");\n\t\tconst rows = this.ul.selectAll(\"#\" + context._id + \" > ul > li\").data(this.content(), function(d) {\n\t\t\treturn d._id;\n\t\t});\n\t\trows.enter().append(function(widget) {\n\t\t\tconst li = document.createElement(\"li\");\n\t\t\tif (widget._target === null) {\n\t\t\t\tconst wSize = widget.size();\n\t\t\t\tif (wSize.width === 0 || wSize.height === 0) {\n\t\t\t\t\tconst cSize = context.size();\n\t\t\t\t\twidget.size({\n\t\t\t\t\t\twidth: cSize.width,\n\t\t\t\t\t\theight: cSize.width\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twidget.target(li);\n\t\t\t} else return widget._target;\n\t\t\treturn li;\n\t\t});\n\t\trows.exit().remove();\n\t\tthis.icon.text_colorFill(this.titleFontColor()).char(this._isClosed ? this.closedIcon() : this.openIcon()).render();\n\t}\n\texit(domNode, element) {\n\t\tsuper.exit(domNode, element);\n\t}\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\", false, \"boolean\", \"Collapsed by default if true\", null, { tags: [\"Private\"] });\n\n//#endregion\n//#region src/Surface.ts\nvar Surface = class extends HTMLWidget {\n\t_surfaceButtons;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._surfaceButtons = [];\n\t}\n\twidgetSize(titleDiv, widgetDiv) {\n\t\tlet width = this.clientWidth();\n\t\tlet height = this.clientHeight();\n\t\tif (this.title()) height -= this.calcHeight(titleDiv);\n\t\theight -= this.calcFrameHeight(widgetDiv);\n\t\twidth -= this.calcFrameWidth(widgetDiv);\n\t\treturn {\n\t\t\twidth,\n\t\t\theight\n\t\t};\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t}\n\tupdate(domNode, element2) {\n\t\tsuper.update(domNode, element2);\n\t\tconst context = this;\n\t\telement2.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\t\tconst titles = element2.selectAll(\".surfaceTitle\").data(this.title() ? [this.title()] : []);\n\t\ttitles.enter().insert(\"h3\", \"div\").attr(\"class\", \"surfaceTitle\").merge(titles).text(function(d) {\n\t\t\treturn d;\n\t\t}).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);\n\t\ttitles.exit().remove();\n\t\tconst surfaceButtons = element2.select(\".surfaceTitle\").append(\"div\").attr(\"class\", \"html-button-container\").selectAll(\".surface-button\").data(this.buttonAnnotations());\n\t\tsurfaceButtons.enter().append(\"button\").classed(\"surface-button\", true).each(function(button, idx) {\n\t\t\tconst 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\t\t\tif (button.font === \"FontAwesome\") el.style(\"background\", \"transparent\").style(\"border\", \"none\").on(\"click\", function(d) {\n\t\t\t\tcontext.click(d);\n\t\t\t}).append(\"i\").attr(\"class\", \"fa\").text(function() {\n\t\t\t\treturn button.label;\n\t\t\t});\n\t\t\telse el.text(function() {\n\t\t\t\treturn button.label;\n\t\t\t}).on(\"click\", function(d) {\n\t\t\t\tcontext.click(d);\n\t\t\t});\n\t\t});\n\t\tsurfaceButtons.exit().each(function(_d, idx) {\n\t\t\tconst element = select(this);\n\t\t\tdelete context._surfaceButtons[idx];\n\t\t\telement.remove();\n\t\t});\n\t\tconst widgets = element2.selectAll(\"#\" + this._id + \" > .surfaceWidget\").data(this.widget() ? [this.widget()] : [], function(d) {\n\t\t\treturn d._id;\n\t\t});\n\t\twidgets.enter().append(\"div\").attr(\"class\", \"surfaceWidget\").each(function(d) {\n\t\t\tselect(context.element().node().parentElement).classed(\"content-icon content-icon-\" + d.classID().split(\"_\")[1], true);\n\t\t\td.target(this);\n\t\t}).merge(widgets).style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).each(function(d) {\n\t\t\tconst widgetSize = context.widgetSize(element2.select(\"h3\"), select(this));\n\t\t\tif (widgetSize.width < 0) widgetSize.width = 0;\n\t\t\tif (widgetSize.height < 0) widgetSize.height = 0;\n\t\t\td.resize({\n\t\t\t\twidth: widgetSize.width,\n\t\t\t\theight: widgetSize.height\n\t\t\t});\n\t\t});\n\t\twidgets.exit().each(function(d) {\n\t\t\td.target(null);\n\t\t}).remove();\n\t}\n\texit(domNode, element) {\n\t\tif (this.widget()) this.widget().target(null);\n\t\tsuper.exit(domNode, element);\n\t}\n\tclick(obj) {}\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: true });\nSurface.prototype.publish(\"surfaceTitlePadding\", null, \"number\", \"Title Padding (px)\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleFontSize\", null, \"number\", \"Title Font Size (px)\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleFontColor\", null, \"html-color\", \"Title Font Color\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleFontFamily\", null, \"string\", \"Title Font Family\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleFontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleBackgroundColor\", null, \"html-color\", \"Title Background Color\", null, {\n\ttags: [\"Advanced\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceTitleAlignment\", \"center\", \"set\", \"Title Alignment\", [\n\t\"left\",\n\t\"right\",\n\t\"center\"\n], {\n\ttags: [\"Basic\"],\n\tdisable: (w) => !w.title()\n});\nSurface.prototype.publish(\"surfaceShadow\", false, \"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\"] });\n\n//#endregion\n//#region src/Cell.ts\nvar Cell = class extends Surface {\n\t_indicateTheseIds;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._indicateTheseIds = [];\n\t}\n\tindicateTheseIds(_) {\n\t\tif (!arguments.length) return this._indicateTheseIds;\n\t\tthis._indicateTheseIds = _;\n\t\treturn this;\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tconst context = this;\n\t\telement.classed(\"layout_Surface\", true).on(\"mouseenter\", function() {\n\t\t\tcontext.onMouseEnter();\n\t\t}).on(\"mouseleave\", function() {\n\t\t\tcontext.onMouseLeave();\n\t\t});\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t}\n\tonMouseEnter() {\n\t\tconst arr = this.indicateTheseIds();\n\t\tconst opacity = this.indicatorOpacity();\n\t\tconst indicatorBorderColor = this.indicatorBorderColor();\n\t\tconst indicatorGlowColor = this.indicatorGlowColor();\n\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\tconst otherElement = select(\"#\" + arr[i]);\n\t\t\tconst otherWidget = otherElement.datum();\n\t\t\tif (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\t\t}\n\t}\n\tonMouseLeave() {\n\t\tconst arr = this.indicateTheseIds();\n\t\tfor (let i = 0; i < arr.length; i++) selectAll(\"#\" + arr[i] + \" > div.update-indicator\").remove();\n\t}\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\", .8, \"number\", \"Opacity of update-indicator\", null, { tags: [\"Basic\"] });\n\n//#endregion\n//#region src/Border.ts\nvar Border = class extends HTMLWidget {\n\t_colCount;\n\t_rowCount;\n\t_colSize;\n\t_rowSize;\n\t_shrinkWrapBoxes;\n\t_watch;\n\t_offsetX;\n\t_offsetY;\n\t_dragCell;\n\t_dragCellSize;\n\t_dragCellStartSize;\n\t_handleTop;\n\t_handleLeft;\n\t_dragPrevX;\n\t_dragPrevY;\n\t_cellSizes;\n\tcontentDiv;\n\t_scrollBarWidth;\n\t_borderHandles;\n\t_sectionTypeArr;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._colCount = 0;\n\t\tthis._rowCount = 0;\n\t\tthis._colSize = 0;\n\t\tthis._rowSize = 0;\n\t\tthis._shrinkWrapBoxes = {};\n\t\tthis.content([]);\n\t\tthis.sectionTypes([]);\n\t}\n\twatchWidget(widget) {\n\t\tif (this._watch === void 0) this._watch = {};\n\t\tif (this._watch[widget.id()]) {\n\t\t\tthis._watch[widget.id()].remove();\n\t\t\tdelete this._watch[widget.id()];\n\t\t}\n\t\tif (widget) {\n\t\t\tconst context = this;\n\t\t\tthis._watch[widget.id()] = widget.monitor(function(paramId, newVal, oldVal) {\n\t\t\t\tif (oldVal !== newVal) context.lazyPostUpdate();\n\t\t\t});\n\t\t}\n\t}\n\tlazyPostUpdate = Utility.debounce(function() {\n\t\tthis.postUpdate();\n\t}, 100);\n\tapplyLayoutType() {\n\t\tconst layoutObj = this.borderLayoutObject();\n\t\tthis.content().forEach(function(cell, i) {\n\t\t\tcell._fixedLeft = layoutObj[this.sectionTypes()[i]].left;\n\t\t\tcell._fixedTop = layoutObj[this.sectionTypes()[i]].top;\n\t\t\tcell._fixedWidth = layoutObj[this.sectionTypes()[i]].width;\n\t\t\tcell._fixedHeight = layoutObj[this.sectionTypes()[i]].height;\n\t\t\tcell._dragHandles = this.cellSpecificDragHandles(this.sectionTypes()[i]);\n\t\t}, this);\n\t}\n\tcellSpecificDragHandles(sectionType) {\n\t\tswitch (sectionType) {\n\t\t\tcase \"top\": return [\"s\"];\n\t\t\tcase \"right\": return [\"w\"];\n\t\t\tcase \"bottom\": return [\"n\"];\n\t\t\tcase \"left\": return [\"e\"];\n\t\t\tcase \"center\": return [];\n\t\t}\n\t}\n\tborderLayoutObject(layoutType) {\n\t\tconst retObj = {};\n\t\tconst context = this;\n\t\tlet topSize;\n\t\tlet topPerc;\n\t\tlet bottomSize;\n\t\tlet bottomPerc;\n\t\tlet leftSize;\n\t\tlet leftPerc;\n\t\tlet rightSize;\n\t\tlet rightPerc;\n\t\tconst bcRect = this.target().getBoundingClientRect();\n\t\tconst gridRect = {};\n\t\tgridRect.top = bcRect.top;\n\t\tgridRect.left = bcRect.left;\n\t\tgridRect.bottom = bcRect.bottom;\n\t\tgridRect.right = bcRect.right;\n\t\tif (this.target() instanceof SVGElement) {\n\t\t\tgridRect.width = parseFloat(this.target().getAttribute(\"width\"));\n\t\t\tgridRect.height = parseFloat(this.target().getAttribute(\"height\"));\n\t\t} else {\n\t\t\tgridRect.width = bcRect.width;\n\t\t\tgridRect.height = bcRect.height;\n\t\t}\n\t\tif (this.sectionTypes().indexOf(\"top\") !== -1) {\n\t\t\ttopSize = this.topSize();\n\t\t\ttopPerc = this.topPercentage();\n\t\t\tif (typeof this._shrinkWrapBoxes[\"top\"] !== \"undefined\") {\n\t\t\t\ttopSize = this._shrinkWrapBoxes[\"top\"].height + this.gutter();\n\t\t\t\ttopPerc = 0;\n\t\t\t}\n\t\t}\n\t\tif (this.sectionTypes().indexOf(\"bottom\") !== -1) {\n\t\t\tbottomSize = this.bottomSize();\n\t\t\tbottomPerc = this.bottomPercentage();\n\t\t\tif (typeof this._shrinkWrapBoxes[\"bottom\"] !== \"undefined\") {\n\t\t\t\tbottomSize = this._shrinkWrapBoxes[\"bottom\"].height + this.gutter();\n\t\t\t\tbottomPerc = 0;\n\t\t\t}\n\t\t}\n\t\tif (this.sectionTypes().indexOf(\"left\") !== -1) {\n\t\t\tleftSize = this.leftSize();\n\t\t\tleftPerc = this.leftPercentage();\n\t\t\tif (typeof this._shrinkWrapBoxes[\"left\"] !== \"undefined\") {\n\t\t\t\tleftSize = this._shrinkWrapBoxes[\"left\"].width + this.gutter();\n\t\t\t\tleftPerc = 0;\n\t\t\t}\n\t\t}\n\t\tif (this.sectionTypes().indexOf(\"right\") !== -1) {\n\t\t\trightSize = this.rightSize();\n\t\t\trightPerc = this.rightPercentage();\n\t\t\tif (typeof this._shrinkWrapBoxes[\"right\"] !== \"undefined\") {\n\t\t\t\trightSize = this._shrinkWrapBoxes[\"right\"].width + this.gutter();\n\t\t\t\trightPerc = 0;\n\t\t\t}\n\t\t}\n\t\tconst t = _sectionPlacementObject({\n\t\t\twidth: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\theight: {\n\t\t\t\t\"px\": topSize,\n\t\t\t\t\"%\": topPerc\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 0\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 0\n\t\t\t}\n\t\t});\n\t\tconst b = _sectionPlacementObject({\n\t\t\twidth: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\theight: {\n\t\t\t\t\"px\": bottomSize,\n\t\t\t\t\"%\": bottomPerc\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 0\n\t\t\t}\n\t\t});\n\t\tb.top -= b.height;\n\t\tconst l = _sectionPlacementObject({\n\t\t\twidth: {\n\t\t\t\t\"px\": leftSize,\n\t\t\t\t\"%\": leftPerc\n\t\t\t},\n\t\t\theight: {\n\t\t\t\t\"px\": -t.height - b.height,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\t\"px\": t.height,\n\t\t\t\t\"%\": 0\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 0\n\t\t\t}\n\t\t});\n\t\tconst r = _sectionPlacementObject({\n\t\t\twidth: {\n\t\t\t\t\"px\": rightSize,\n\t\t\t\t\"%\": rightPerc\n\t\t\t},\n\t\t\theight: {\n\t\t\t\t\"px\": -t.height - b.height,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\t\"px\": t.height,\n\t\t\t\t\"%\": 0\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\t\"px\": 0,\n\t\t\t\t\"%\": 100\n\t\t\t}\n\t\t});\n\t\tr.left -= r.width;\n\t\tconst c$1 = _sectionPlacementObject({\n\t\t\twidth: {\n\t\t\t\t\"px\": -r.width - l.width,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\theight: {\n\t\t\t\t\"px\": -t.height - b.height,\n\t\t\t\t\"%\": 100\n\t\t\t},\n\t\t\ttop: {\n\t\t\t\t\"px\": t.height,\n\t\t\t\t\"%\": 0\n\t\t\t},\n\t\t\tleft: {\n\t\t\t\t\"px\": l.width,\n\t\t\t\t\"%\": 0\n\t\t\t}\n\t\t});\n\t\tretObj[\"top\"] = t;\n\t\tretObj[\"bottom\"] = b;\n\t\tretObj[\"right\"] = r;\n\t\tretObj[\"left\"] = l;\n\t\tretObj[\"center\"] = c$1;\n\t\treturn retObj;\n\t\tfunction _sectionPlacementObject(obj) {\n\t\t\tobj.width[\"px\"] = typeof obj.width[\"px\"] !== \"undefined\" ? obj.width[\"px\"] : 0;\n\t\t\tobj.width[\"%\"] = typeof obj.width[\"%\"] !== \"undefined\" ? obj.width[\"%\"] : 0;\n\t\t\tobj.height[\"px\"] = typeof obj.height[\"px\"] !== \"undefined\" ? obj.height[\"px\"] : 0;\n\t\t\tobj.height[\"%\"] = typeof obj.height[\"%\"] !== \"undefined\" ? obj.height[\"%\"] : 0;\n\t\t\treturn {\n\t\t\t\twidth: obj.width[\"px\"] + obj.width[\"%\"] / 100 * context.width(),\n\t\t\t\theight: obj.height[\"px\"] + obj.height[\"%\"] / 100 * context.height(),\n\t\t\t\ttop: obj.top[\"px\"] + obj.top[\"%\"] / 100 * context.height() + context.gutter() / 2,\n\t\t\t\tleft: obj.left[\"px\"] + obj.left[\"%\"] / 100 * context.width() + context.gutter() / 2\n\t\t\t};\n\t\t}\n\t}\n\tclearContent(sectionType) {\n\t\tif (!sectionType) {\n\t\t\tthis.content().forEach(function(contentWidget) {\n\t\t\t\tcontentWidget.target(null);\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\tselect(\"#\" + this.id() + \" > div.borderHandle\").classed(\"borderHandleDisabled\", true);\n\t\t\tdelete this._watch;\n\t\t\tthis.content([]);\n\t\t\tthis.sectionTypes([]);\n\t\t} else {\n\t\t\tconst idx = this.sectionTypes().indexOf(sectionType);\n\t\t\tif (idx >= 0) {\n\t\t\t\tif (this._watch && this.content()[idx]) delete this._watch[this.content()[idx].id()];\n\t\t\t\tthis.content()[idx].target(null);\n\t\t\t\tselect(\"#\" + this.id() + \" > div.borderHandle_\" + sectionType).classed(\"borderHandleDisabled\", true);\n\t\t\t\tthis.content().splice(idx, 1);\n\t\t\t\tthis.sectionTypes().splice(idx, 1);\n\t\t\t}\n\t\t}\n\t}\n\thasContent(sectionType, widget, title) {\n\t\treturn this.sectionTypes().indexOf(sectionType) >= 0;\n\t}\n\tsetContent(sectionType, widget, title) {\n\t\tthis.clearContent(sectionType);\n\t\ttitle = typeof title !== \"undefined\" ? title : \"\";\n\t\tif (widget) {\n\t\t\tconst cell = new Cell().surfaceBorderWidth(0).widget(widget).title(title);\n\t\t\tthis.watchWidget(widget);\n\t\t\tthis.content().push(cell);\n\t\t\tthis.sectionTypes().push(sectionType);\n\t\t}\n\t\treturn this;\n\t}\n\tgetCell(id) {\n\t\tconst idx = this.sectionTypes().indexOf(id);\n\t\tif (idx >= 0) return this.content()[idx];\n\t\treturn null;\n\t}\n\tgetContent(id) {\n\t\tconst idx = this.sectionTypes().indexOf(id);\n\t\tif (idx >= 0) return this.content()[idx].widget();\n\t\treturn null;\n\t}\n\tsetLayoutOffsets() {\n\t\tthis._offsetX = this._element.node().getBoundingClientRect().left + this.gutter() / 2;\n\t\tthis._offsetY = this._element.node().getBoundingClientRect().top + this.gutter() / 2;\n\t}\n\tdragStart(handle) {\n\t\tconst event = d3Event();\n\t\tevent.sourceEvent.stopPropagation();\n\t\tconst context = this;\n\t\tthis._dragCell = handle;\n\t\tthis._dragCellStartSize = this[handle + \"Size\"]();\n\t\tif (this[handle + \"ShrinkWrap\"]()) {\n\t\t\tthis[handle + \"Percentage\"](0);\n\t\t\tthis[handle + \"ShrinkWrap\"](false);\n\t\t}\n\t\tconst handleElm = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle);\n\t\tcontext._handleTop = parseFloat(handleElm.style(\"top\").split(\"px\")[0]);\n\t\tcontext._handleLeft = parseFloat(handleElm.style(\"left\").split(\"px\")[0]);\n\t\tthis._dragPrevX = event.sourceEvent.clientX;\n\t\tthis._dragPrevY = event.sourceEvent.clientY;\n\t}\n\tdragTick(handle) {\n\t\tconst context = this;\n\t\tconst event = d3Event();\n\t\tconst xDelta = this._dragPrevX - event.sourceEvent.clientX;\n\t\tconst yDelta = this._dragPrevY - event.sourceEvent.clientY;\n\t\tswitch (handle) {\n\t\t\tcase \"top\":\n\t\t\tcase \"bottom\":\n\t\t\t\t_moveHandles(handle, yDelta);\n\t\t\t\tbreak;\n\t\t\tcase \"right\":\n\t\t\tcase \"left\":\n\t\t\t\t_moveHandles(handle, xDelta);\n\t\t\t\tbreak;\n\t\t}\n\t\tfunction _moveHandles(handle2, delta) {\n\t\t\tif (delta === 0) return;\n\t\t\tconst handles = selectAll(\"#\" + context.id() + \" > div.borderHandle\");\n\t\t\tconst grabbedHandle = select(\"#\" + context.id() + \" > div.borderHandle_\" + handle2);\n\t\t\tif (grabbedHandle.classed(\"borderHandle_top\")) {\n\t\t\t\tgrabbedHandle.style(\"top\", context._handleTop - delta + \"px\");\n\t\t\t\tcontext._cellSizes.topHeight = context._handleTop - delta;\n\t\t\t\tcontext._cellSizes.leftHeight = context._cellSizes.height;\n\t\t\t\tcontext._cellSizes.leftHeight -= context._cellSizes.topHeight;\n\t\t\t\tcontext._cellSizes.leftHeight -= context._cellSizes.bottomHeight;\n\t\t\t\tcontext._cellSizes.rightHeight = context._cellSizes.leftHeight;\n\t\t\t} else if (grabbedHandle.classed(\"borderHandle_right\")) {\n\t\t\t\tgrabbedHandle.style(\"left\", context._handleLeft - delta + \"px\");\n\t\t\t\tcontext._cellSizes.rightWidth = context._cellSizes.width - context._handleLeft + delta;\n\t\t\t} else if (grabbedHandle.classed(\"borderHandle_bottom\")) {\n\t\t\t\tgrabbedHandle.style(\"top\", context._handleTop - delta + \"px\");\n\t\t\t\tcontext._cellSizes.bottomHeight = context._cellSizes.height - context._handleTop + delta;\n\t\t\t\tcontext._cellSizes.leftHeight = context._cellSizes.height;\n\t\t\t\tcontext._cellSizes.leftHeight -= context._cellSizes.bottomHeight;\n\t\t\t\tcontext._cellSizes.leftHeight -= context._cellSizes.topHeight;\n\t\t\t\tcontext._cellSizes.rightHeight = context._cellSizes.leftHeight;\n\t\t\t} else if (grabbedHandle.classed(\"borderHandle_left\")) {\n\t\t\t\tgrabbedHandle.style(\"left\", context._handleLeft - delta + \"px\");\n\t\t\t\tcontext._cellSizes.leftWidth = context._handleLeft - delta;\n\t\t\t}\n\t\t\thandles.each(function() {\n\t\t\t\tconst handle3 = select(this);\n\t\t\t\tif (handle3.classed(\"borderHandle_top\")) {\n\t\t\t\t\thandle3.style(\"width\", context._cellSizes.width + \"px\");\n\t\t\t\t\thandle3.style(\"top\", context._cellSizes.topHeight - 3 + \"px\");\n\t\t\t\t} else if (handle3.classed(\"borderHandle_right\")) {\n\t\t\t\t\thandle3.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\");\n\t\t\t\t\thandle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\");\n\t\t\t\t\thandle3.style(\"height\", context._cellSizes.rightHeight + \"px\");\n\t\t\t\t} else if (handle3.classed(\"borderHandle_bottom\")) {\n\t\t\t\t\thandle3.style(\"width\", context._cellSizes.width + \"px\");\n\t\t\t\t\thandle3.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\");\n\t\t\t\t} else if (handle3.classed(\"borderHandle_left\")) {\n\t\t\t\t\thandle3.style(\"left\", context._cellSizes.leftWidth + \"px\");\n\t\t\t\t\thandle3.style(\"height\", context._cellSizes.leftHeight + \"px\");\n\t\t\t\t\thandle3.style(\"top\", context._cellSizes.topHeight + 3 + \"px\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tdragEnd(handle) {\n\t\tif (handle) {\n\t\t\tconst event = d3Event();\n\t\t\tconst xDelta = this._dragPrevX - event.sourceEvent.clientX;\n\t\t\tconst yDelta = this._dragPrevY - event.sourceEvent.clientY;\n\t\t\tswitch (handle) {\n\t\t\t\tcase \"top\":\n\t\t\t\t\tif (yDelta !== 0) {\n\t\t\t\t\t\tthis.topPercentage(0);\n\t\t\t\t\t\tthis.topSize(this.topSize() === 0 ? this.getContent(\"top\").getBBox().height - yDelta : this.topSize() - yDelta);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"right\":\n\t\t\t\t\tif (xDelta !== 0) {\n\t\t\t\t\t\tthis.rightPercentage(0);\n\t\t\t\t\t\tthis.rightSize(this.rightSize() === 0 ? this.getContent(\"right\").getBBox().width + xDelta : this.rightSize() + xDelta);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\tif (yDelta !== 0) {\n\t\t\t\t\t\tthis.bottomPercentage(0);\n\t\t\t\t\t\tthis.bottomSize(this.bottomSize() === 0 ? this.getContent(\"bottom\").getBBox().height + yDelta : this.bottomSize() + yDelta);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"left\":\n\t\t\t\t\tif (xDelta !== 0) {\n\t\t\t\t\t\tthis.leftPercentage(0);\n\t\t\t\t\t\tthis.leftSize(this.leftSize() === 0 ? this.getContent(\"left\").getBBox().width - xDelta : this.leftSize() - xDelta);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis._dragPrevX = event.sourceEvent.clientX;\n\t\t\tthis._dragPrevY = event.sourceEvent.clientY;\n\t\t}\n\t\tthis.render();\n\t}\n\tsize(_) {\n\t\tconst retVal = HTMLWidget.prototype.size.apply(this, arguments);\n\t\tif (arguments.length && this.contentDiv) this.contentDiv.style(\"width\", this._size.width + \"px\").style(\"height\", this._size.height + \"px\");\n\t\treturn retVal;\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tconst context = this;\n\t\telement.style(\"position\", \"relative\");\n\t\tthis.contentDiv = element.append(\"div\").classed(\"border-content\", true);\n\t\tthis._scrollBarWidth = Platform.getScrollbarWidth();\n\t\tthis._borderHandles = [\n\t\t\t\"top\",\n\t\t\t\"left\",\n\t\t\t\"right\",\n\t\t\t\"bottom\"\n\t\t];\n\t\telement.selectAll(\"div.borderHandle\").data(this._borderHandles).enter().append(\"div\").classed(\"borderHandle\", true).each(function(handle) {\n\t\t\tselect(this).classed(\"borderHandle_\" + handle, true).classed(\"borderHandleDisabled\", context.getContent(handle) === null);\n\t\t});\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tthis._sectionTypeArr = this.sectionTypes();\n\t\tconst context = this;\n\t\telement.classed(\"design-mode\", this.designMode());\n\t\tthis.setLayoutOffsets();\n\t\tconst rows = this.contentDiv.selectAll(\".cell_\" + this._id).data(this.content(), function(d) {\n\t\t\treturn d._id;\n\t\t});\n\t\tconst rowsUpdate = rows.enter().append(\"div\").classed(\"cell_\" + this._id, true).style(\"position\", \"absolute\").each(function(d, i) {\n\t\t\tselect(this).classed(\"border-cell border-cell-\" + context._sectionTypeArr[i], true);\n\t\t\td.target(this);\n\t\t\tselect(\"#\" + context.id() + \" > div.borderHandle_\" + context._sectionTypeArr[i]).classed(\"borderHandleDisabled\", false);\n\t\t}).merge(rows);\n\t\trowsUpdate.each(function(d, idx) {\n\t\t\tconst sectionType = context.sectionTypes()[idx];\n\t\t\tif (typeof context[sectionType + \"ShrinkWrap\"] !== \"undefined\" && context[sectionType + \"ShrinkWrap\"]()) {\n\t\t\t\td.render();\n\t\t\t\tcontext._shrinkWrapBoxes[sectionType] = d.widget().getBBox(true);\n\t\t\t} else delete context._shrinkWrapBoxes[sectionType];\n\t\t});\n\t\tconst drag$1 = drag().on(\"start\", function(d, i) {\n\t\t\tcontext.dragStart.call(context, d, i);\n\t\t}).on(\"drag\", function(d, i) {\n\t\t\tcontext.dragTick.call(context, d, i);\n\t\t}).on(\"end\", function(d, i) {\n\t\t\tcontext.dragEnd.call(context, d, i);\n\t\t});\n\t\tif (this.designMode()) element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").call(drag$1);\n\t\telse element.selectAll(\"#\" + this.id() + \" > div.borderHandle\").on(\".drag\", null);\n\t\tconst layoutObj = this.borderLayoutObject();\n\t\tthis.content().forEach(function(cell, i) {\n\t\t\tcell._fixedLeft = layoutObj[this.sectionTypes()[i]].left;\n\t\t\tcell._fixedTop = layoutObj[this.sectionTypes()[i]].top;\n\t\t\tcell._fixedWidth = layoutObj[this.sectionTypes()[i]].width;\n\t\t\tcell._fixedHeight = layoutObj[this.sectionTypes()[i]].height;\n\t\t\tcell._dragHandles = [];\n\t\t}, this);\n\t\trowsUpdate.style(\"left\", function(d) {\n\t\t\treturn d._fixedLeft + \"px\";\n\t\t}).style(\"top\", function(d) {\n\t\t\treturn d._fixedTop + \"px\";\n\t\t}).style(\"width\", function(d) {\n\t\t\treturn d._fixedWidth - context.gutter() + \"px\";\n\t\t}).style(\"height\", function(d) {\n\t\t\treturn d._fixedHeight - context.gutter() + \"px\";\n\t\t}).each(function(d) {\n\t\t\td._placeholderElement.attr(\"draggable\", context.designMode()).selectAll(\".dragHandle\").attr(\"draggable\", context.designMode());\n\t\t\td.surfacePadding(context.surfacePadding()).resize();\n\t\t});\n\t\trows.exit().each(function(d) {\n\t\t\td.target(null);\n\t\t}).remove();\n\t\tthis.getCellSizes();\n\t\telement.selectAll(\"#\" + this.id() + \" > div.borderHandle\").each(function() {\n\t\t\tconst handle = select(this);\n\t\t\tif (handle.classed(\"borderHandle_top\")) {\n\t\t\t\thandle.style(\"width\", context._cellSizes.width + \"px\");\n\t\t\t\thandle.style(\"top\", context._cellSizes.topHeight - 3 + \"px\");\n\t\t\t} else if (handle.classed(\"borderHandle_right\")) {\n\t\t\t\thandle.style(\"left\", context._cellSizes.width - context._cellSizes.rightWidth + \"px\");\n\t\t\t\thandle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\");\n\t\t\t\thandle.style(\"height\", context._cellSizes.rightHeight + \"px\");\n\t\t\t} else if (handle.classed(\"borderHandle_bottom\")) {\n\t\t\t\thandle.style(\"width\", context._cellSizes.width + \"px\");\n\t\t\t\thandle.style(\"top\", context._cellSizes.height - context._cellSizes.bottomHeight - 3 + \"px\");\n\t\t\t} else if (handle.classed(\"borderHandle_left\")) {\n\t\t\t\thandle.style(\"left\", context._cellSizes.leftWidth + \"px\");\n\t\t\t\thandle.style(\"height\", context._cellSizes.leftHeight + \"px\");\n\t\t\t\thandle.style(\"top\", context._cellSizes.topHeight + 3 + \"px\");\n\t\t\t}\n\t\t});\n\t}\n\tgetCellSizes() {\n\t\tconst context = this;\n\t\tcontext._cellSizes = {};\n\t\tconst contentRect = this.element().node().getBoundingClientRect();\n\t\tcontext._cellSizes.width = contentRect.width;\n\t\tcontext._cellSizes.height = contentRect.height;\n\t\tthis.element().selectAll(\"#\" + this.id() + \" > div > div.border-cell\").each(function() {\n\t\t\tconst cell = select(this);\n\t\t\tif (typeof cell.node === \"function\") {\n\t\t\t\tconst rect = cell.node().getBoundingClientRect();\n\t\t\t\tif (cell.classed(\"border-cell-top\")) context._cellSizes.topHeight = rect.height;\n\t\t\t\telse if (cell.classed(\"border-cell-left\")) {\n\t\t\t\t\tcontext._cellSizes.leftWidth = rect.width;\n\t\t\t\t\tcontext._cellSizes.leftHeight = rect.height;\n\t\t\t\t} else if (cell.classed(\"border-cell-right\")) {\n\t\t\t\t\tcontext._cellSizes.rightWidth = rect.width;\n\t\t\t\t\tcontext._cellSizes.rightHeight = rect.height;\n\t\t\t\t} else if (cell.classed(\"border-cell-bottom\")) context._cellSizes.bottomHeight = rect.height;\n\t\t\t}\n\t\t});\n\t\t[\n\t\t\t\"height\",\n\t\t\t\"width\",\n\t\t\t\"topHeight\",\n\t\t\t\"bottomHeight\",\n\t\t\t\"leftHeight\",\n\t\t\t\"rightHeight\",\n\t\t\t\"leftWidth\",\n\t\t\t\"rightWidth\"\n\t\t].forEach(function(size) {\n\t\t\tcontext._cellSizes[size] = context._cellSizes[size] === void 0 ? 0 : context._cellSizes[size];\n\t\t});\n\t}\n\tpostUpdate(domNode, element) {\n\t\tconst context = this;\n\t\tthis.content().forEach(function(n) {\n\t\t\tif (n._element.node() !== null && n.widget()) {\n\t\t\t\tconst prevBox = n.widget().getBBox(false, true);\n\t\t\t\tconst currBox = n.widget().getBBox(true, true);\n\t\t\t\tif (prevBox.width !== currBox.width || prevBox.height !== currBox.height) context.lazyRender();\n\t\t\t}\n\t\t});\n\t}\n\texit(domNode, element) {\n\t\tthis.content().forEach((w) => w.target(null));\n\t\tsuper.exit(domNode, element);\n\t}\n};\nBorder.prototype._class += \" layout_Border\";\nBorder.prototype.publish(\"designMode\", false, \"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\", false, \"boolean\", \"'Top' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"leftShrinkWrap\", false, \"boolean\", \"'Left' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"rightShrinkWrap\", false, \"boolean\", \"'Right' Cell shrinks to fit content\", null, { tags: [\"Intermediate\"] });\nBorder.prototype.publish(\"bottomShrinkWrap\", false, \"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\"] });\n\n//#endregion\n//#region src/Border2.ts\nvar WidgetDiv = class {\n\t_div;\n\t_overlay = false;\n\t_overflowX = \"visible\";\n\t_overflowY = \"visible\";\n\t_widget;\n\tconstructor(div) {\n\t\tthis._div = div;\n\t}\n\toverlay(_) {\n\t\tif (!arguments.length) return this._overlay;\n\t\tthis._overlay = _;\n\t\treturn this;\n\t}\n\toverflowX(_) {\n\t\tif (!arguments.length) return this._overflowX;\n\t\tthis._overflowX = _;\n\t\tthis._div.style(\"overflow-x\", _);\n\t\treturn this;\n\t}\n\toverflowY(_) {\n\t\tif (!arguments.length) return this._overflowY;\n\t\tthis._overflowY = _;\n\t\tthis._div.style(\"overflow-y\", _);\n\t\treturn this;\n\t}\n\telement() {\n\t\treturn this._div;\n\t}\n\tnode() {\n\t\treturn this._div.node();\n\t}\n\twidget(_) {\n\t\tif (!arguments.length) return this._widget;\n\t\tif (this._widget !== _) {\n\t\t\tif (this._widget) this._widget.target(null);\n\t\t\tthis._widget = _;\n\t\t\tif (this._widget) this._widget.target(this._div.node());\n\t\t}\n\t\treturn this;\n\t}\n\tresize(size) {\n\t\tif (this._widget) {\n\t\t\tthis._div.style(\"width\", `${size.width}px`).style(\"height\", `${size.height}px`);\n\t\t\tthis._widget.resize(size);\n\t\t}\n\t\treturn this;\n\t}\n\tasync render(getBBox, availableHeight, availableWidth) {\n\t\tlet overflowX = this.overflowX();\n\t\tif (!this.overlay() && overflowX === \"visible\") overflowX = null;\n\t\tlet overflowY = this.overflowY();\n\t\tif (!this.overlay() && overflowY === \"visible\") overflowY = null;\n\t\tthis._div.style(\"height\", this.overlay() ? \"0px\" : null).style(\"overflow-x\", overflowX).style(\"overflow-y\", overflowY);\n\t\tif (this._widget) return this._widget.renderPromise().then((w) => {\n\t\t\tif (getBBox && this._widget.visible()) {\n\t\t\t\tconst retVal = this._widget.getBBox();\n\t\t\t\tretVal.width += 8;\n\t\t\t\tif (availableHeight !== void 0 && retVal.height > availableHeight) retVal.width += Platform.getScrollbarWidth();\n\t\t\t\tif (availableWidth !== void 0 && retVal.width > availableWidth) retVal.height += Platform.getScrollbarWidth();\n\t\t\t\tif (this.overlay()) retVal.height = 0;\n\t\t\t\telse retVal.height += 4;\n\t\t\t\treturn retVal;\n\t\t\t}\n\t\t\treturn getBBox ? {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t} : void 0;\n\t\t});\n\t\telse return Promise.resolve(getBBox ? {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t} : void 0);\n\t}\n};\nvar Border2 = class extends HTMLWidget {\n\t_bodyElement;\n\t_topWA;\n\t_leftWA;\n\t_centerWA;\n\t_rightWA;\n\t_bottomWA;\n\t_topPrevOverflow;\n\t_leftPrevOverflow;\n\t_rightPrevOverflow;\n\t_bottomPrevOverflow;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tconst topElement = element.append(\"header\");\n\t\tthis._bodyElement = element.append(\"div\").attr(\"class\", \"body\");\n\t\tconst centerElement = this._bodyElement.append(\"div\").attr(\"class\", \"center\");\n\t\tconst leftElement = this._bodyElement.append(\"div\").attr(\"class\", \"lhs\");\n\t\tconst rightElement = this._bodyElement.append(\"div\").attr(\"class\", \"rhs\");\n\t\tconst bottomElement = element.append(\"div\").attr(\"class\", \"footer\");\n\t\tthis._topWA = new WidgetDiv(topElement);\n\t\tthis._centerWA = new WidgetDiv(centerElement);\n\t\tthis._leftWA = new WidgetDiv(leftElement);\n\t\tthis._rightWA = new WidgetDiv(rightElement);\n\t\tthis._bottomWA = new WidgetDiv(bottomElement);\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tthis._topWA.element().style(\"display\", this.showTop() ? null : \"none\");\n\t\tthis._rightWA.element().style(\"display\", this.showRight() ? null : \"none\");\n\t\tthis._bottomWA.element().style(\"display\", this.showBottom() ? null : \"none\");\n\t\tthis._leftWA.element().style(\"display\", this.showLeft() ? null : \"none\");\n\t\tif (this.topOverflowX() !== this._topWA.overflowX()) this._topWA.overflowX(this.topOverflowX());\n\t\tif (this.rightOverflowX() !== this._rightWA.overflowX()) this._rightWA.overflowX(this.rightOverflowX());\n\t\tif (this.bottomOverflowX() !== this._bottomWA.overflowX()) this._bottomWA.overflowX(this.bottomOverflowX());\n\t\tif (this.leftOverflowX() !== this._leftWA.overflowX()) this._leftWA.overflowX(this.leftOverflowX());\n\t\tif (this.topOverflowY() !== this._topWA.overflowY()) this._topWA.overflowY(this.topOverflowY());\n\t\tif (this.rightOverflowY() !== this._rightWA.overflowY()) this._rightWA.overflowY(this.rightOverflowY());\n\t\tif (this.bottomOverflowY() !== this._bottomWA.overflowY()) this._bottomWA.overflowY(this.bottomOverflowY());\n\t\tif (this.leftOverflowY() !== this._leftWA.overflowY()) this._leftWA.overflowY(this.leftOverflowY());\n\t\tthis.element().style(\"width\", `${this.width()}px`).style(\"height\", `${this.height()}px`);\n\t}\n\ttargetNull(w) {\n\t\tif (w) w.target(null);\n\t}\n\texit(domNode, element) {\n\t\tthis.targetNull(this.center());\n\t\tthis.targetNull(this.bottom());\n\t\tthis.targetNull(this.right());\n\t\tthis.targetNull(this.left());\n\t\tthis.targetNull(this.top());\n\t\tsuper.exit(domNode, element);\n\t}\n\tswap(sectionA, sectionB) {\n\t\tconst a$1 = this[sectionA]();\n\t\tconst b = this[sectionB]();\n\t\tthis.targetNull(a$1);\n\t\tthis.targetNull(b);\n\t\tthis[`_${sectionA}WA`].widget(null);\n\t\tthis[`_${sectionB}WA`].widget(null);\n\t\tthis[sectionA](b);\n\t\tthis[sectionB](a$1);\n\t\treturn this;\n\t}\n\trender(callback) {\n\t\treturn super.render((w) => {\n\t\t\tif (this._topWA) this._topWA.widget(this.top()).overlay(this.topOverlay()).render(true).then(async (topBBox) => {\n\t\t\t\tconst bottomBBox = await this._bottomWA.widget(this.bottom()).render(true, void 0, this.width());\n\t\t\t\tconst availableHeight = this.height() - (topBBox.height + bottomBBox.height);\n\t\t\t\tconst leftBBox = await this._leftWA.widget(this.left()).render(true, availableHeight);\n\t\t\t\tconst rightBBox = await this._rightWA.widget(this.right()).render(true, availableHeight);\n\t\t\t\tif (this.bottomHeight_exists()) bottomBBox.height = this.bottomHeight();\n\t\t\t\tconst bodyWidth = this.width() - (leftBBox.width + rightBBox.width);\n\t\t\t\tconst bodyHeight = this.height() - (topBBox.height + bottomBBox.height);\n\t\t\t\tconst centerOverflowX = this.centerOverflowX();\n\t\t\t\tconst centerOverflowY = this.centerOverflowY();\n\t\t\t\tconst scrollCenterX = [\"auto\", \"scroll\"].indexOf(centerOverflowX) !== -1;\n\t\t\t\tconst scrollCenterY = [\"auto\", \"scroll\"].indexOf(centerOverflowY) !== -1;\n\t\t\t\tif (scrollCenterX || scrollCenterY) this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n\t\t\t\t\twidth: bodyWidth,\n\t\t\t\t\theight: bodyHeight\n\t\t\t\t}).render();\n\t\t\t\tthis._bodyElement.style(\"height\", `${bodyHeight}px`);\n\t\t\t\tconst promises = [\n\t\t\t\t\tthis._topWA.overflowX(this.topOverflowX()).overflowY(this.topOverflowY()).resize({\n\t\t\t\t\t\twidth: this.width(),\n\t\t\t\t\t\theight: topBBox.height\n\t\t\t\t\t}).render(),\n\t\t\t\t\tthis._leftWA.overflowX(this.leftOverflowX()).overflowY(this.leftOverflowY()).resize({\n\t\t\t\t\t\twidth: leftBBox.width,\n\t\t\t\t\t\theight: bodyHeight\n\t\t\t\t\t}).render(),\n\t\t\t\t\tthis._rightWA.overflowX(this.rightOverflowX()).overflowY(this.rightOverflowY()).resize({\n\t\t\t\t\t\twidth: rightBBox.width,\n\t\t\t\t\t\theight: bodyHeight\n\t\t\t\t\t}).render(),\n\t\t\t\t\tthis._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({\n\t\t\t\t\t\twidth: bodyWidth,\n\t\t\t\t\t\theight: bodyHeight\n\t\t\t\t\t}).render(),\n\t\t\t\t\tthis._bottomWA.overflowX(this.bottomOverflowX()).overflowY(this.bottomOverflowY()).resize({\n\t\t\t\t\t\twidth: this.width(),\n\t\t\t\t\t\theight: bottomBBox.height\n\t\t\t\t\t}).render()\n\t\t\t\t];\n\t\t\t\tPromise.all(promises).then((promises$1) => {\n\t\t\t\t\tif (callback) callback(this);\n\t\t\t\t});\n\t\t\t});\n\t\t\telse if (callback) callback(this);\n\t\t});\n\t}\n};\nBorder2.prototype._class += \" layout_Border2\";\nBorder2.prototype.publish(\"showTop\", true, \"boolean\", \"If true, top widget adapter will display\");\nBorder2.prototype.publish(\"showRight\", true, \"boolean\", \"If true, right widget adapter will display\");\nBorder2.prototype.publish(\"showBottom\", true, \"boolean\", \"If true, bottom widget adapter will display\");\nBorder2.prototype.publish(\"showLeft\", true, \"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\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"rightOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the right widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"bottomOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the bottom widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"leftOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the left widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"centerOverflowX\", \"visible\", \"set\", \"Sets the overflow-x css style for the center widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"topOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the top widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"rightOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the right widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"bottomOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the bottom widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"leftOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the left widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"centerOverflowY\", \"visible\", \"set\", \"Sets the overflow-y css style for the center widget adapter\", [\n\t\"hidden\",\n\t\"scroll\",\n\t\"visible\",\n\t\"auto\"\n]);\nBorder2.prototype.publish(\"top\", null, \"widget\", \"Top Widget\", void 0, { render: false });\nBorder2.prototype.publish(\"topOverlay\", false, \"boolean\", \"Overlay Top Widget\");\nBorder2.prototype.publish(\"left\", null, \"widget\", \"Left Widget\", void 0, { render: false });\nBorder2.prototype.publish(\"center\", null, \"widget\", \"Center Widget\", void 0, { render: false });\nBorder2.prototype.publish(\"right\", null, \"widget\", \"Right Widget\", void 0, { render: false });\nBorder2.prototype.publish(\"bottom\", null, \"widget\", \"Bottom Widget\", void 0, { render: false });\nBorder2.prototype.publish(\"bottomHeight\", null, \"number\", \"Bottom Fixed Height\", void 0, { optional: true });\n\n//#endregion\n//#region src/Carousel.ts\nvar Carousel = class extends HTMLWidget {\n\t_prevActive = 0;\n\t_root;\n\tactiveWidget() {\n\t\treturn this.widgets()[this.active()];\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._root = element.append(\"div\").attr(\"id\", `${this.id()}_root`);\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst active = this.active();\n\t\tconst width = this.width();\n\t\tthis._root.style(\"width\", `${width}px`).style(\"height\", `${this.height()}px`);\n\t\tconst widgetElements = this._root.selectAll(`#${this.id()}_root > .carouselItem`).data(this.widgets(), (d) => d.id());\n\t\tconst update = widgetElements.enter().append(\"div\").attr(\"class\", \"carouselItem\").each(function(w) {\n\t\t\tw.target(this);\n\t\t}).merge(widgetElements).style(\"left\", (d, i) => `${(i - this._prevActive) * width}px`).style(\"width\", `${width}px`);\n\t\tif (this._prevActive !== active) {\n\t\t\tupdate.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\t\t\t\tselect(this).style(\"display\", () => i === active ? null : \"none\");\n\t\t\t});\n\t\t\tthis._prevActive = active;\n\t\t}\n\t\twidgetElements.exit().each(function(w) {\n\t\t\tw.target(null);\n\t\t}).remove();\n\t}\n\texit(domNode, element) {\n\t\tthis.widgets().forEach((w) => w.target(null));\n\t\tsuper.exit(domNode, element);\n\t}\n\trender(callback) {\n\t\treturn super.render((w) => {\n\t\t\tif (!this.visible() || this.isDOMHidden()) {\n\t\t\t\tif (callback) callback(w);\n\t\t\t} else {\n\t\t\t\tconst aw = this.activeWidget();\n\t\t\t\tif (aw) aw.resize(this.size()).render((w2) => {\n\t\t\t\t\tif (callback) callback(w);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\nCarousel.prototype._class += \" layout_Carousel\";\nCarousel.prototype.publish(\"widgets\", [], \"widgetArray\", \"Widgets\", null, { render: false });\nCarousel.prototype.publish(\"active\", 0, \"number\", \"Active widget\");\nCarousel.prototype.publish(\"transitionDuration\", 500, \"number\", \"Transition duration\");\n\n//#endregion\n//#region ../../node_modules/d3-path/src/path.js\nvar pi$1 = Math.PI, tau$1 = 2 * pi$1, epsilon = 1e-6, tauEpsilon = tau$1 - epsilon;\nfunction Path() {\n\tthis._x0 = this._y0 = this._x1 = this._y1 = null;\n\tthis._ = \"\";\n}\nfunction path() {\n\treturn new Path();\n}\nPath.prototype = path.prototype = {\n\tconstructor: Path,\n\tmoveTo: function(x, y) {\n\t\tthis._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n\t},\n\tclosePath: function() {\n\t\tif (this._x1 !== null) {\n\t\t\tthis._x1 = this._x0, this._y1 = this._y0;\n\t\t\tthis._ += \"Z\";\n\t\t}\n\t},\n\tlineTo: function(x, y) {\n\t\tthis._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n\t},\n\tquadraticCurveTo: function(x1, y1, x, y) {\n\t\tthis._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n\t},\n\tbezierCurveTo: function(x1, y1, x2, y2, x, y) {\n\t\tthis._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n\t},\n\tarcTo: function(x1, y1, x2, y2, r) {\n\t\tx1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\t\tvar 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\t\tif (r < 0) throw new Error(\"negative radius: \" + r);\n\t\tif (this._x1 === null) this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n\t\telse if (!(l01_2 > epsilon));\n\t\telse if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n\t\telse {\n\t\t\tvar 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\t\t\tif (Math.abs(t01 - 1) > epsilon) this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n\t\t\tthis._ += \"A\" + r + \",\" + r + \",0,0,\" + +(y01 * x20 > x01 * y20) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n\t\t}\n\t},\n\tarc: function(x, y, r, a0, a1, ccw) {\n\t\tx = +x, y = +y, r = +r, ccw = !!ccw;\n\t\tvar 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\t\tif (r < 0) throw new Error(\"negative radius: \" + r);\n\t\tif (this._x1 === null) this._ += \"M\" + x0 + \",\" + y0;\n\t\telse if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) this._ += \"L\" + x0 + \",\" + y0;\n\t\tif (!r) return;\n\t\tif (da < 0) da = da % tau$1 + tau$1;\n\t\tif (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);\n\t\telse if (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\t},\n\trect: function(x, y, w, h) {\n\t\tthis._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + +w + \"v\" + +h + \"h\" + -w + \"Z\";\n\t},\n\ttoString: function() {\n\t\treturn this._;\n\t}\n};\nvar path_default = path;\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/constant.js\nfunction constant_default(x) {\n\treturn function constant() {\n\t\treturn x;\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/math.js\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar tau = 2 * pi;\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/circle.js\nvar circle_default = { draw: function(context, size) {\n\tvar r = Math.sqrt(size / pi);\n\tcontext.moveTo(r, 0);\n\tcontext.arc(0, 0, r, 0, tau);\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/cross.js\nvar cross_default = { draw: function(context, size) {\n\tvar r = Math.sqrt(size / 5) / 2;\n\tcontext.moveTo(-3 * r, -r);\n\tcontext.lineTo(-r, -r);\n\tcontext.lineTo(-r, -3 * r);\n\tcontext.lineTo(r, -3 * r);\n\tcontext.lineTo(r, -r);\n\tcontext.lineTo(3 * r, -r);\n\tcontext.lineTo(3 * r, r);\n\tcontext.lineTo(r, r);\n\tcontext.lineTo(r, 3 * r);\n\tcontext.lineTo(-r, 3 * r);\n\tcontext.lineTo(-r, r);\n\tcontext.lineTo(-3 * r, r);\n\tcontext.closePath();\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/diamond.js\nvar tan30 = Math.sqrt(1 / 3), tan30_2 = tan30 * 2;\nvar diamond_default = { draw: function(context, size) {\n\tvar y = Math.sqrt(size / tan30_2), x = y * tan30;\n\tcontext.moveTo(0, -y);\n\tcontext.lineTo(x, 0);\n\tcontext.lineTo(0, y);\n\tcontext.lineTo(-x, 0);\n\tcontext.closePath();\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/star.js\nvar ka = .8908130915292852, kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10), kx = Math.sin(tau / 10) * kr, ky = -Math.cos(tau / 10) * kr;\nvar star_default = { draw: function(context, size) {\n\tvar r = Math.sqrt(size * ka), x = kx * r, y = ky * r;\n\tcontext.moveTo(0, -r);\n\tcontext.lineTo(x, y);\n\tfor (var i = 1; i < 5; ++i) {\n\t\tvar a$1 = tau * i / 5, c$1 = Math.cos(a$1), s$1 = Math.sin(a$1);\n\t\tcontext.lineTo(s$1 * r, -c$1 * r);\n\t\tcontext.lineTo(c$1 * x - s$1 * y, s$1 * x + c$1 * y);\n\t}\n\tcontext.closePath();\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/square.js\nvar square_default = { draw: function(context, size) {\n\tvar w = Math.sqrt(size), x = -w / 2;\n\tcontext.rect(x, x, w, w);\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/triangle.js\nvar sqrt3 = Math.sqrt(3);\nvar triangle_default = { draw: function(context, size) {\n\tvar y = -Math.sqrt(size / (sqrt3 * 3));\n\tcontext.moveTo(0, y * 2);\n\tcontext.lineTo(-sqrt3 * y, -y);\n\tcontext.lineTo(sqrt3 * y, -y);\n\tcontext.closePath();\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol/wye.js\nvar c = -.5, s = Math.sqrt(3) / 2, k = 1 / Math.sqrt(12), a = (k / 2 + 1) * 3;\nvar wye_default = { draw: function(context, size) {\n\tvar r = Math.sqrt(size / a), x0 = r / 2, y0 = r * k, x1 = x0, y1 = r * k + r, x2 = -x1, y2 = y1;\n\tcontext.moveTo(x0, y0);\n\tcontext.lineTo(x1, y1);\n\tcontext.lineTo(x2, y2);\n\tcontext.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n\tcontext.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n\tcontext.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n\tcontext.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n\tcontext.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n\tcontext.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n\tcontext.closePath();\n} };\n\n//#endregion\n//#region ../../node_modules/d3-shape/src/symbol.js\nfunction symbol_default() {\n\tvar type = constant_default(circle_default), size = constant_default(64), context = null;\n\tfunction symbol() {\n\t\tvar buffer;\n\t\tif (!context) context = buffer = path_default();\n\t\ttype.apply(this, arguments).draw(context, +size.apply(this, arguments));\n\t\tif (buffer) return context = null, buffer + \"\" || null;\n\t}\n\tsymbol.type = function(_) {\n\t\treturn arguments.length ? (type = typeof _ === \"function\" ? _ : constant_default(_), symbol) : type;\n\t};\n\tsymbol.size = function(_) {\n\t\treturn arguments.length ? (size = typeof _ === \"function\" ? _ : constant_default(+_), symbol) : size;\n\t};\n\tsymbol.context = function(_) {\n\t\treturn arguments.length ? (context = _ == null ? null : _, symbol) : context;\n\t};\n\treturn symbol;\n}\n\n//#endregion\n//#region ../../node_modules/d3-svg-legend/indexRollupNext.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function(obj) {\n\treturn typeof obj;\n} : function(obj) {\n\treturn obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nvar d3_identity = function d3_identity$1(d) {\n\treturn d;\n};\nvar d3_reverse = function d3_reverse$1(arr) {\n\tvar mirror = [];\n\tfor (var i = 0, l = arr.length; i < l; i++) mirror[i] = arr[l - i - 1];\n\treturn mirror;\n};\nvar d3_textWrapping = function d3_textWrapping$1(text, width) {\n\ttext.each(function() {\n\t\tvar text$1 = select(this), words = text$1.text().split(/\\s+/).reverse(), word, line = [], lineHeight = 1.2;\n\t\ttext$1.attr(\"y\");\n\t\tvar dy = parseFloat(text$1.attr(\"dy\")) || 0, tspan = text$1.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"dy\", dy + \"em\");\n\t\twhile (word = words.pop()) {\n\t\t\tline.push(word);\n\t\t\ttspan.text(line.join(\" \"));\n\t\t\tif (tspan.node().getComputedTextLength() > width && line.length > 1) {\n\t\t\t\tline.pop();\n\t\t\t\ttspan.text(line.join(\" \"));\n\t\t\t\tline = [word];\n\t\t\t\ttspan = text$1.append(\"tspan\").attr(\"x\", 0).attr(\"dy\", lineHeight + dy + \"em\").text(word);\n\t\t\t}\n\t\t}\n\t});\n};\nvar d3_mergeLabels = function d3_mergeLabels$1() {\n\tvar gen = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n\tvar labels = arguments[1];\n\tvar domain = arguments[2];\n\tvar range = arguments[3];\n\tvar labelDelimiter = arguments[4];\n\tif ((typeof labels === \"undefined\" ? \"undefined\" : _typeof(labels)) === \"object\") {\n\t\tif (labels.length === 0) return gen;\n\t\tvar i = labels.length;\n\t\tfor (; i < gen.length; i++) labels.push(gen[i]);\n\t\treturn labels;\n\t} else if (typeof labels === \"function\") {\n\t\tvar customLabels = [];\n\t\tvar genLength = gen.length;\n\t\tfor (var _i = 0; _i < genLength; _i++) customLabels.push(labels({\n\t\t\ti: _i,\n\t\t\tgenLength,\n\t\t\tgeneratedLabels: gen,\n\t\t\tdomain,\n\t\t\trange,\n\t\t\tlabelDelimiter\n\t\t}));\n\t\treturn customLabels;\n\t}\n\treturn gen;\n};\nvar d3_linearLegend = function d3_linearLegend$1(scale, cells, labelFormat) {\n\tvar data = [];\n\tif (cells.length > 1) data = cells;\n\telse {\n\t\tvar domain = scale.domain(), increment = (domain[domain.length - 1] - domain[0]) / (cells - 1);\n\t\tvar i = 0;\n\t\tfor (; i < cells; i++) data.push(domain[0] + i * increment);\n\t}\n\tvar labels = data.map(labelFormat);\n\treturn {\n\t\tdata,\n\t\tlabels,\n\t\tfeature: function feature(d) {\n\t\t\treturn scale(d);\n\t\t}\n\t};\n};\nvar d3_quantLegend = function d3_quantLegend$1(scale, labelFormat, labelDelimiter) {\n\tvar labels = scale.range().map(function(d) {\n\t\tvar invert = scale.invertExtent(d);\n\t\treturn labelFormat(invert[0]) + \" \" + labelDelimiter + \" \" + labelFormat(invert[1]);\n\t});\n\treturn {\n\t\tdata: scale.range(),\n\t\tlabels,\n\t\tfeature: d3_identity\n\t};\n};\nvar d3_ordinalLegend = function d3_ordinalLegend$1(scale) {\n\treturn {\n\t\tdata: scale.domain(),\n\t\tlabels: scale.domain(),\n\t\tfeature: function feature(d) {\n\t\t\treturn scale(d);\n\t\t}\n\t};\n};\nvar d3_cellOver = function d3_cellOver$1(cellDispatcher, d, obj) {\n\tcellDispatcher.call(\"cellover\", obj, d);\n};\nvar d3_cellOut = function d3_cellOut$1(cellDispatcher, d, obj) {\n\tcellDispatcher.call(\"cellout\", obj, d);\n};\nvar d3_cellClick = function d3_cellClick$1(cellDispatcher, d, obj) {\n\tcellDispatcher.call(\"cellclick\", obj, d);\n};\nvar helper = {\n\td3_drawShapes: function d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path$1) {\n\t\tif (shape === \"rect\") shapes.attr(\"height\", shapeHeight).attr(\"width\", shapeWidth);\n\t\telse if (shape === \"circle\") shapes.attr(\"r\", shapeRadius);\n\t\telse if (shape === \"line\") shapes.attr(\"x1\", 0).attr(\"x2\", shapeWidth).attr(\"y1\", 0).attr(\"y2\", 0);\n\t\telse if (shape === \"path\") shapes.attr(\"d\", path$1);\n\t},\n\td3_addText: function d3_addText(svg, enter, labels, classPrefix, labelWidth) {\n\t\tenter.append(\"text\").attr(\"class\", classPrefix + \"label\");\n\t\tvar text = svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").data(labels).text(d3_identity);\n\t\tif (labelWidth) svg.selectAll(\"g.\" + classPrefix + \"cell text.\" + classPrefix + \"label\").call(d3_textWrapping, labelWidth);\n\t\treturn text;\n\t},\n\td3_calcType: function d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter) {\n\t\tvar type = scale.invertExtent ? d3_quantLegend(scale, labelFormat, labelDelimiter) : scale.ticks ? d3_linearLegend(scale, cells, labelFormat) : d3_ordinalLegend(scale);\n\t\tvar range = scale.range && scale.range() || scale.domain();\n\t\ttype.labels = d3_mergeLabels(type.labels, labels, scale.domain(), range, labelDelimiter);\n\t\tif (ascending) {\n\t\t\ttype.labels = d3_reverse(type.labels);\n\t\t\ttype.data = d3_reverse(type.data);\n\t\t}\n\t\treturn type;\n\t},\n\td3_filterCells: function d3_filterCells(type, cellFilter) {\n\t\tvar filterCells = type.data.map(function(d, i) {\n\t\t\treturn {\n\t\t\t\tdata: d,\n\t\t\t\tlabel: type.labels[i]\n\t\t\t};\n\t\t}).filter(cellFilter);\n\t\tvar dataValues = filterCells.map(function(d) {\n\t\t\treturn d.data;\n\t\t});\n\t\tvar labelValues = filterCells.map(function(d) {\n\t\t\treturn d.label;\n\t\t});\n\t\ttype.data = type.data.filter(function(d) {\n\t\t\treturn dataValues.indexOf(d) !== -1;\n\t\t});\n\t\ttype.labels = type.labels.filter(function(d) {\n\t\t\treturn labelValues.indexOf(d) !== -1;\n\t\t});\n\t\treturn type;\n\t},\n\td3_placement: function d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign) {\n\t\tcell.attr(\"transform\", cellTrans);\n\t\ttext.attr(\"transform\", textTrans);\n\t\tif (orient === \"horizontal\") text.style(\"text-anchor\", labelAlign);\n\t},\n\td3_addEvents: function d3_addEvents(cells, dispatcher) {\n\t\tcells.on(\"mouseover.legend\", function(d) {\n\t\t\td3_cellOver(dispatcher, d, this);\n\t\t}).on(\"mouseout.legend\", function(d) {\n\t\t\td3_cellOut(dispatcher, d, this);\n\t\t}).on(\"click.legend\", function(d) {\n\t\t\td3_cellClick(dispatcher, d, this);\n\t\t});\n\t},\n\td3_title: function d3_title(svg, title, classPrefix, titleWidth) {\n\t\tif (title !== \"\") {\n\t\t\tsvg.selectAll(\"text.\" + classPrefix + \"legendTitle\").data([title]).enter().append(\"text\").attr(\"class\", classPrefix + \"legendTitle\");\n\t\t\tsvg.selectAll(\"text.\" + classPrefix + \"legendTitle\").text(title);\n\t\t\tif (titleWidth) svg.selectAll(\"text.\" + classPrefix + \"legendTitle\").call(d3_textWrapping, titleWidth);\n\t\t\tvar cellsSvg = svg.select(\".\" + classPrefix + \"legendCells\");\n\t\t\tvar yOffset = svg.select(\".\" + classPrefix + \"legendTitle\").nodes().map(function(d) {\n\t\t\t\treturn d.getBBox().height;\n\t\t\t})[0], xOffset = -cellsSvg.nodes().map(function(d) {\n\t\t\t\treturn d.getBBox().x;\n\t\t\t})[0];\n\t\t\tcellsSvg.attr(\"transform\", \"translate(\" + xOffset + \",\" + yOffset + \")\");\n\t\t}\n\t},\n\td3_defaultLocale: {\n\t\tformat,\n\t\tformatPrefix\n\t},\n\td3_defaultFormatSpecifier: \".01f\",\n\td3_defaultDelimiter: \"to\"\n};\nfunction color() {\n\tvar scale = scaleLinear(), shape = \"rect\", shapeWidth = 15, shapeHeight = 15, shapeRadius = 10, shapePadding = 2, cells = [5], cellFilter = void 0, labels = [], classPrefix = \"\", useClass = false, title = \"\", locale = helper.d3_defaultLocale, specifier = helper.d3_defaultFormatSpecifier, labelOffset = 10, labelAlign = \"middle\", labelDelimiter = helper.d3_defaultDelimiter, labelWrap = void 0, orient = \"vertical\", ascending = false, path$1 = void 0, titleWidth = void 0, legendDispatcher = dispatch(\"cellover\", \"cellout\", \"cellclick\");\n\tfunction legend(svg) {\n\t\tvar type = helper.d3_calcType(scale, ascending, cells, labels, locale.format(specifier), labelDelimiter);\n\t\tsvg.selectAll(\"g\").data([scale]).enter().append(\"g\").attr(\"class\", classPrefix + \"legendCells\");\n\t\tif (cellFilter) helper.d3_filterCells(type, cellFilter);\n\t\tvar cell = svg.select(\".\" + classPrefix + \"legendCells\").selectAll(\".\" + classPrefix + \"cell\").data(type.data);\n\t\tvar cellEnter = cell.enter().append(\"g\").attr(\"class\", classPrefix + \"cell\");\n\t\tcellEnter.append(shape).attr(\"class\", classPrefix + \"swatch\");\n\t\tvar shapes = svg.selectAll(\"g.\" + classPrefix + \"cell \" + shape + \".\" + classPrefix + \"swatch\").data(type.data);\n\t\thelper.d3_addEvents(cellEnter, legendDispatcher);\n\t\tcell.exit().transition().style(\"opacity\", 0).remove();\n\t\tshapes.exit().transition().style(\"opacity\", 0).remove();\n\t\tshapes = shapes.merge(shapes);\n\t\thelper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path$1);\n\t\tvar text = helper.d3_addText(svg, cellEnter, type.labels, classPrefix, labelWrap);\n\t\tcell = cellEnter.merge(cell);\n\t\tvar textSize = text.nodes().map(function(d) {\n\t\t\treturn d.getBBox();\n\t\t}), shapeSize = shapes.nodes().map(function(d) {\n\t\t\treturn d.getBBox();\n\t\t});\n\t\tif (!useClass) if (shape == \"line\") shapes.style(\"stroke\", type.feature);\n\t\telse shapes.style(\"fill\", type.feature);\n\t\telse shapes.attr(\"class\", function(d) {\n\t\t\treturn classPrefix + \"swatch \" + type.feature(d);\n\t\t});\n\t\tvar cellTrans = void 0, textTrans = void 0, textAlign = labelAlign == \"start\" ? 0 : labelAlign == \"middle\" ? .5 : 1;\n\t\tif (orient === \"vertical\") (function() {\n\t\t\tvar cellSize = textSize.map(function(d, i) {\n\t\t\t\treturn Math.max(d.height, shapeSize[i].height);\n\t\t\t});\n\t\t\tcellTrans = function cellTrans$1(d, i) {\n\t\t\t\treturn \"translate(0, \" + (sum(cellSize.slice(0, i)) + i * shapePadding) + \")\";\n\t\t\t};\n\t\t\ttextTrans = function textTrans$1(d, i) {\n\t\t\t\treturn \"translate( \" + (shapeSize[i].width + shapeSize[i].x + labelOffset) + \", \" + (shapeSize[i].y + shapeSize[i].height / 2 + 5) + \")\";\n\t\t\t};\n\t\t})();\n\t\telse if (orient === \"horizontal\") {\n\t\t\tcellTrans = function cellTrans$1(d, i) {\n\t\t\t\treturn \"translate(\" + i * (shapeSize[i].width + shapePadding) + \",0)\";\n\t\t\t};\n\t\t\ttextTrans = function textTrans$1(d, i) {\n\t\t\t\treturn \"translate(\" + (shapeSize[i].width * textAlign + shapeSize[i].x) + \",\\n \" + (shapeSize[i].height + shapeSize[i].y + labelOffset + 8) + \")\";\n\t\t\t};\n\t\t}\n\t\thelper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign);\n\t\thelper.d3_title(svg, title, classPrefix, titleWidth);\n\t\tcell.transition().style(\"opacity\", 1);\n\t}\n\tlegend.scale = function(_) {\n\t\tif (!arguments.length) return scale;\n\t\tscale = _;\n\t\treturn legend;\n\t};\n\tlegend.cells = function(_) {\n\t\tif (!arguments.length) return cells;\n\t\tif (_.length > 1 || _ >= 2) cells = _;\n\t\treturn legend;\n\t};\n\tlegend.cellFilter = function(_) {\n\t\tif (!arguments.length) return cellFilter;\n\t\tcellFilter = _;\n\t\treturn legend;\n\t};\n\tlegend.shape = function(_, d) {\n\t\tif (!arguments.length) return shape;\n\t\tif (_ == \"rect\" || _ == \"circle\" || _ == \"line\" || _ == \"path\" && typeof d === \"string\") {\n\t\t\tshape = _;\n\t\t\tpath$1 = d;\n\t\t}\n\t\treturn legend;\n\t};\n\tlegend.shapeWidth = function(_) {\n\t\tif (!arguments.length) return shapeWidth;\n\t\tshapeWidth = +_;\n\t\treturn legend;\n\t};\n\tlegend.shapeHeight = function(_) {\n\t\tif (!arguments.length) return shapeHeight;\n\t\tshapeHeight = +_;\n\t\treturn legend;\n\t};\n\tlegend.shapeRadius = function(_) {\n\t\tif (!arguments.length) return shapeRadius;\n\t\tshapeRadius = +_;\n\t\treturn legend;\n\t};\n\tlegend.shapePadding = function(_) {\n\t\tif (!arguments.length) return shapePadding;\n\t\tshapePadding = +_;\n\t\treturn legend;\n\t};\n\tlegend.labels = function(_) {\n\t\tif (!arguments.length) return labels;\n\t\tlabels = _;\n\t\treturn legend;\n\t};\n\tlegend.labelAlign = function(_) {\n\t\tif (!arguments.length) return labelAlign;\n\t\tif (_ == \"start\" || _ == \"end\" || _ == \"middle\") labelAlign = _;\n\t\treturn legend;\n\t};\n\tlegend.locale = function(_) {\n\t\tif (!arguments.length) return locale;\n\t\tlocale = formatLocale(_);\n\t\treturn legend;\n\t};\n\tlegend.labelFormat = function(_) {\n\t\tif (!arguments.length) return legend.locale().format(specifier);\n\t\tspecifier = formatSpecifier(_);\n\t\treturn legend;\n\t};\n\tlegend.labelOffset = function(_) {\n\t\tif (!arguments.length) return labelOffset;\n\t\tlabelOffset = +_;\n\t\treturn legend;\n\t};\n\tlegend.labelDelimiter = function(_) {\n\t\tif (!arguments.length) return labelDelimiter;\n\t\tlabelDelimiter = _;\n\t\treturn legend;\n\t};\n\tlegend.labelWrap = function(_) {\n\t\tif (!arguments.length) return labelWrap;\n\t\tlabelWrap = _;\n\t\treturn legend;\n\t};\n\tlegend.useClass = function(_) {\n\t\tif (!arguments.length) return useClass;\n\t\tif (_ === true || _ === false) useClass = _;\n\t\treturn legend;\n\t};\n\tlegend.orient = function(_) {\n\t\tif (!arguments.length) return orient;\n\t\t_ = _.toLowerCase();\n\t\tif (_ == \"horizontal\" || _ == \"vertical\") orient = _;\n\t\treturn legend;\n\t};\n\tlegend.ascending = function(_) {\n\t\tif (!arguments.length) return ascending;\n\t\tascending = !!_;\n\t\treturn legend;\n\t};\n\tlegend.classPrefix = function(_) {\n\t\tif (!arguments.length) return classPrefix;\n\t\tclassPrefix = _;\n\t\treturn legend;\n\t};\n\tlegend.title = function(_) {\n\t\tif (!arguments.length) return title;\n\t\ttitle = _;\n\t\treturn legend;\n\t};\n\tlegend.titleWidth = function(_) {\n\t\tif (!arguments.length) return titleWidth;\n\t\ttitleWidth = _;\n\t\treturn legend;\n\t};\n\tlegend.textWrap = function(_) {\n\t\tif (!arguments.length) return textWrap;\n\t\ttextWrap = _;\n\t\treturn legend;\n\t};\n\tlegend.on = function() {\n\t\tvar value = legendDispatcher.on.apply(legendDispatcher, arguments);\n\t\treturn value === legendDispatcher ? legend : value;\n\t};\n\treturn legend;\n}\n\n//#endregion\n//#region src/Legend.ts\nvar Legend = class extends SVGWidget {\n\t_owner;\n\t_targetWidget;\n\t_targetWidgetMonitor;\n\t_legendOrdinal;\n\t_disabled = [];\n\t_symbolTypeMap = {\n\t\t\"circle\": circle_default,\n\t\t\"cross\": cross_default,\n\t\t\"diamond\": diamond_default,\n\t\t\"square\": square_default,\n\t\t\"star\": star_default,\n\t\t\"triangle\": triangle_default,\n\t\t\"wye\": wye_default\n\t};\n\tconstructor(owner) {\n\t\tsuper();\n\t\tthis._owner = owner;\n\t\tthis._drawStartPos = \"origin\";\n\t\tconst context = this;\n\t\tthis._legendOrdinal = color().shape(\"path\", symbol_default().type(circle_default).size(150)()).shapePadding(10).shapeRadius(10).on(\"cellclick\", function(d) {\n\t\t\tcontext.onClick(d, this);\n\t\t}).on(\"cellover\", (d) => {\n\t\t\tcontext.onOver(d, this);\n\t\t}).on(\"cellout\", (d) => {\n\t\t\tcontext.onOut(d, this);\n\t\t});\n\t}\n\tisDisabled(d) {\n\t\tif (typeof d === \"undefined\") return false;\n\t\telse if (typeof d === \"string\") return d.indexOf(\"__\") === 0 || this._disabled.indexOf(d) >= 0;\n\t\telse if (d instanceof Database.Field) return d.id().indexOf(\"__\") === 0 || this._disabled.indexOf(d.id()) >= 0;\n\t\treturn this._disabled.indexOf(d) >= 0;\n\t}\n\tfilteredFields() {\n\t\tswitch (this.dataFamily()) {\n\t\t\tcase \"2D\": return this.fields();\n\t\t\tcase \"ND\": return this.fields().filter((d) => !this.isDisabled(d));\n\t\t}\n\t\treturn this.fields();\n\t}\n\tfilteredColumns() {\n\t\tswitch (this.dataFamily()) {\n\t\t\tcase \"2D\": return this.columns();\n\t\t\tcase \"ND\": return this.columns().filter((d) => !this.isDisabled(d));\n\t\t}\n\t\treturn this.columns();\n\t}\n\tfilteredData() {\n\t\tswitch (this.dataFamily()) {\n\t\t\tcase \"2D\": return this.data().filter((row) => !this.isDisabled(row[0]));\n\t\t\tcase \"ND\":\n\t\t\t\tconst disabledCols = {};\n\t\t\t\tlet anyDisabled = false;\n\t\t\t\tthis.columns().forEach((col, idx) => {\n\t\t\t\t\tconst disabled = this.isDisabled(col);\n\t\t\t\t\tdisabledCols[idx] = disabled;\n\t\t\t\t\tif (disabled) anyDisabled = true;\n\t\t\t\t});\n\t\t\t\treturn !anyDisabled ? this.data() : this.data().map((row) => {\n\t\t\t\t\treturn row.filter((cell, idx) => !disabledCols[idx]);\n\t\t\t\t});\n\t\t}\n\t\treturn this.data();\n\t}\n\tisRainbow() {\n\t\tconst widget = this.getWidget();\n\t\treturn widget && widget._palette && widget._palette.type() === \"rainbow\";\n\t}\n\ttargetWidget(_) {\n\t\tif (!arguments.length) return this._targetWidget;\n\t\tthis._targetWidget = _;\n\t\tif (this._targetWidgetMonitor) {\n\t\t\tthis._targetWidgetMonitor.remove();\n\t\t\tdelete this._targetWidgetMonitor;\n\t\t}\n\t\tif (this._targetWidget) {\n\t\t\tconst context = this;\n\t\t\tthis._targetWidgetMonitor = this._targetWidget.monitor(function(key, newProp, oldProp, source) {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase \"chart\":\n\t\t\t\t\tcase \"columns\":\n\t\t\t\t\tcase \"data\":\n\t\t\t\t\tcase \"paletteID\":\n\t\t\t\t\t\tcontext.lazyRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t}\n\tgetWidget() {\n\t\tif (this._targetWidget) switch (this._targetWidget.classID()) {\n\t\t\tcase \"composite_MultiChart\": return this._targetWidget.chart();\n\t\t}\n\t\treturn this._targetWidget;\n\t}\n\tgetPalette() {\n\t\tconst widget = this.getWidget();\n\t\tif (widget && widget._palette) switch (widget._palette.type()) {\n\t\t\tcase \"ordinal\": return Palette.ordinal(widget._palette.id());\n\t\t\tcase \"rainbow\": return Palette.rainbow(widget._palette.id());\n\t\t}\n\t\treturn Palette.ordinal(\"default\");\n\t}\n\tgetPaletteType() {\n\t\treturn this.getPalette().type();\n\t}\n\tfillColorFunc() {\n\t\tconst widget = this.getWidget();\n\t\tif (widget && widget.fillColor) {\n\t\t\tif (widget._palette && widget.paletteID && widget._palette.name !== widget.paletteID()) widget._palette = widget._palette.switch(widget.paletteID());\n\t\t\treturn (row, col, sel) => {\n\t\t\t\treturn widget.fillColor(row, col, sel);\n\t\t\t};\n\t\t}\n\t\tconst palette = Palette.ordinal(widget && widget.paletteID ? widget.paletteID() || \"default\" : \"default\");\n\t\treturn (row, col, sel) => {\n\t\t\treturn palette(col);\n\t\t};\n\t}\n\tfillColor(row, col, sel) {\n\t\treturn this.fillColorFunc()(row, col, sel);\n\t}\n\t_g;\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._g = element.append(\"g\").attr(\"class\", \"legendOrdinal\");\n\t}\n\tcalcMetaData() {\n\t\tlet dataArr = [];\n\t\tlet total = 0;\n\t\tlet maxLabelWidth = 0;\n\t\tconst colLength = this.columns().length;\n\t\tif (this._targetWidget) {\n\t\t\tconst columns = this.columns();\n\t\t\tswitch (this.getPaletteType()) {\n\t\t\t\tcase \"ordinal\":\n\t\t\t\t\tconst fillColor = this.fillColorFunc();\n\t\t\t\t\tlet val = 0;\n\t\t\t\t\tswitch (this.dataFamily()) {\n\t\t\t\t\t\tcase \"2D\":\n\t\t\t\t\t\t\tdataArr = this.data().map(function(n, i) {\n\t\t\t\t\t\t\t\tval = this.data()[i].slice(1, colLength).reduce((acc, n$1) => acc + n$1, 0);\n\t\t\t\t\t\t\t\tconst disabled = this.isDisabled(n[0]);\n\t\t\t\t\t\t\t\tif (!disabled) total += val;\n\t\t\t\t\t\t\t\tconst label = n[0] + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n\t\t\t\t\t\t\t\tconst textSize = this.textSize(label);\n\t\t\t\t\t\t\t\tif (maxLabelWidth < textSize.width) maxLabelWidth = textSize.width;\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tfillColor(n, n[0], false),\n\t\t\t\t\t\t\t\t\tn[0],\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"ND\":\n\t\t\t\t\t\t\tdataArr = this.columns().filter((col) => col.indexOf(\"__\") !== 0).filter(function(n, i) {\n\t\t\t\t\t\t\t\treturn i > 0;\n\t\t\t\t\t\t\t}).map(function(n, i) {\n\t\t\t\t\t\t\t\tval = this.data().reduce((acc, n$1) => acc + n$1[i + 1], 0);\n\t\t\t\t\t\t\t\tconst disabled = this.isDisabled(columns[i + 1]);\n\t\t\t\t\t\t\t\tconst label = n + (!disabled && this.showSeriesTotal() ? ` (${val})` : \"\");\n\t\t\t\t\t\t\t\tif (!disabled) total += val;\n\t\t\t\t\t\t\t\tconst textSize = this.textSize(label);\n\t\t\t\t\t\t\t\tif (maxLabelWidth < textSize.width) maxLabelWidth = textSize.width;\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tfillColor(void 0, n, false),\n\t\t\t\t\t\t\t\t\tn,\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tdataArr = this.columns().map(function(n) {\n\t\t\t\t\t\t\t\treturn [fillColor(void 0, n, false), n];\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"rainbow\":\n\t\t\t\t\tconst palette = this.getPalette();\n\t\t\t\t\tconst format$1 = format(this.rainbowFormat());\n\t\t\t\t\tconst widget = this.getWidget();\n\t\t\t\t\tconst steps = this.rainbowBins();\n\t\t\t\t\tconst weightMin = widget._dataMinWeight;\n\t\t\t\t\tconst weightMax = widget._dataMaxWeight;\n\t\t\t\t\tconst stepWeightDiff = (weightMax - weightMin) / (steps - 1);\n\t\t\t\t\tdataArr.push([palette(weightMin, weightMin, weightMax), format$1(weightMin)]);\n\t\t\t\t\tfor (let x = 1; x < steps - 1; ++x) {\n\t\t\t\t\t\tlet mid = stepWeightDiff * x;\n\t\t\t\t\t\tif (Math.floor(mid) > parseInt(dataArr[0][1])) mid = Math.floor(mid);\n\t\t\t\t\t\tdataArr.push([palette(mid, weightMin, weightMax), format$1(mid)]);\n\t\t\t\t\t}\n\t\t\t\t\tdataArr.push([palette(weightMax, weightMin, weightMax), format$1(weightMax)]);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tdataArr,\n\t\t\ttotal,\n\t\t\tmaxLabelWidth\n\t\t};\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst { dataArr, maxLabelWidth, total } = this.calcMetaData();\n\t\tconst radius = this.shapeRadius();\n\t\tconst size = this.radiusToSymbolSize(radius);\n\t\tconst strokeWidth = 1;\n\t\tlet shapePadding = this.itemPadding();\n\t\tif (this.orientation() === \"horizontal\") shapePadding += maxLabelWidth - radius * 2;\n\t\tconst ordinal = scaleOrdinal().domain(dataArr.map((row) => row[1])).range(dataArr.map((row) => row[0]));\n\t\tthis._legendOrdinal.shape(\"path\", symbol_default().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]);\n\t\tthis._g.call(this._legendOrdinal);\n\t\tthis.updateDisabled(element, dataArr);\n\t\tconst legendCellsBbox = this._g.select(\".legendCells\").node().getBBox();\n\t\tlet offsetX = Math.abs(legendCellsBbox.x);\n\t\tlet offsetY = Math.abs(legendCellsBbox.y) + strokeWidth;\n\t\tif (this.orientation() === \"horizontal\") {\n\t\t\tif (this.labelAlign() === \"start\") offsetX += strokeWidth;\n\t\t\telse if (this.labelAlign() === \"end\") offsetX -= strokeWidth;\n\t\t\tif (this.width() > legendCellsBbox.width) {\n\t\t\t\tconst extraWidth = this.width() - legendCellsBbox.width;\n\t\t\t\toffsetX += extraWidth / 2;\n\t\t\t}\n\t\t} else if (this.orientation() === \"vertical\") {\n\t\t\toffsetX += strokeWidth;\n\t\t\tif (this._containerSize.height > legendCellsBbox.height) {\n\t\t\t\tconst extraHeight = this.height() - legendCellsBbox.height;\n\t\t\t\toffsetY += extraHeight / 2;\n\t\t\t}\n\t\t}\n\t\tthis._g.attr(\"transform\", `translate(${offsetX}, ${offsetY})`);\n\t\tthis.pos({\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t});\n\t\tthis._legendOrdinal.labelOffset(this.itemPadding());\n\t\tconst legendTotal = this._g.selectAll(\".legendTotal\").data(dataArr.length && this.showLegendTotal() ? [total] : []);\n\t\tconst totalText = `Total: ${total}`;\n\t\tconst totalOffsetX = -offsetX;\n\t\tconst totalOffsetY = legendCellsBbox.height + this.itemPadding() + strokeWidth;\n\t\tthis.enableOverflowScroll(false);\n\t\tthis.enableOverflow(true);\n\t\tlegendTotal.enter().append(\"text\").classed(\"legendTotal\", true).merge(legendTotal).attr(\"transform\", `translate(${totalOffsetX}, ${totalOffsetY})`).text(totalText);\n\t\tlegendTotal.exit().remove();\n\t}\n\tupdateDisabled(element, dataArr) {\n\t\telement.style(\"cursor\", \"pointer\").selectAll(\"path.swatch\").filter((d, i) => i < dataArr.length).style(\"stroke\", (d, i) => dataArr[i][0]).style(\"fill\", (d, i) => this._disabled.indexOf(d) < 0 ? dataArr[i][0] : \"white\");\n\t}\n\tpostUpdate(domNode, element) {\n\t\tlet w;\n\t\tif (this._boundingBox) {\n\t\t\tw = this._boundingBox.width;\n\t\t\tthis._boundingBox.width = this._size.width;\n\t\t}\n\t\tsuper.postUpdate(domNode, element);\n\t\tif (w !== void 0) this._boundingBox.width = w;\n\t\tthis._parentRelativeDiv.style(\"overflow\", \"hidden\");\n\t}\n\texit(domNode, element) {\n\t\tsuper.exit(domNode, element);\n\t}\n\tradiusToSymbolSize(radius) {\n\t\tconst circleSize = Math.pow(radius, 2) * Math.PI;\n\t\tswitch (this.symbolType()) {\n\t\t\tcase \"star\": return circleSize * .45;\n\t\t\tcase \"triangle\": return circleSize * .65;\n\t\t\tcase \"cross\":\n\t\t\tcase \"diamond\":\n\t\t\tcase \"wye\": return circleSize * .75;\n\t\t\tcase \"circle\": return circleSize;\n\t\t\tcase \"square\": return circleSize * 1.3;\n\t\t}\n\t}\n\tonClick(d, domNode) {\n\t\tswitch (this.getPaletteType()) {\n\t\t\tcase \"ordinal\":\n\t\t\t\tswitch (this.dataFamily()) {\n\t\t\t\t\tcase \"2D\":\n\t\t\t\t\tcase \"ND\":\n\t\t\t\t\t\tconst disabledIdx = this._disabled.indexOf(d);\n\t\t\t\t\t\tif (disabledIdx < 0) this._disabled.push(d);\n\t\t\t\t\t\telse this._disabled.splice(disabledIdx, 1);\n\t\t\t\t\t\tthis._owner.refreshColumns();\n\t\t\t\t\t\tthis._owner.refreshData();\n\t\t\t\t\t\tthis._owner.render();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tonOver(d, domNode) {\n\t\tif (instanceOfIHighlight(this._owner)) switch (this.getPaletteType()) {\n\t\t\tcase \"ordinal\":\n\t\t\t\tswitch (this.dataFamily()) {\n\t\t\t\t\tcase \"2D\":\n\t\t\t\t\tcase \"ND\":\n\t\t\t\t\t\tif (this._disabled.indexOf(d) < 0) this._owner.highlightColumn(d);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tonOut(d, domNode) {\n\t\tif (instanceOfIHighlight(this._owner)) switch (this.getPaletteType()) {\n\t\t\tcase \"ordinal\":\n\t\t\t\tswitch (this.dataFamily()) {\n\t\t\t\t\tcase \"2D\":\n\t\t\t\t\tcase \"ND\":\n\t\t\t\t\t\tthis._owner.highlightColumn();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tonDblClick(rowData, rowIdx) {}\n\tonMouseOver(rowData, rowIdx) {}\n\t_containerSize;\n\tresize(_size) {\n\t\tlet retVal;\n\t\tif (this.fitToContent()) {\n\t\t\tthis._containerSize = _size;\n\t\t\tconst bbox = this.getBBox();\n\t\t\tif (_size.width > bbox.width) bbox.width = _size.width;\n\t\t\tif (_size.height > bbox.height) bbox.height = _size.height;\n\t\t\tretVal = super.resize.apply(this, [{ ...bbox }]);\n\t\t} else retVal = super.resize.apply(this, arguments);\n\t\treturn retVal;\n\t}\n};\nLegend.prototype._class += \" layout_Legend\";\nLegend.prototype.publish(\"title\", \"\", \"string\", \"Title\");\nLegend.prototype.publish(\"symbolType\", \"circle\", \"set\", \"Shape of each legend item\", [\n\t\"circle\",\n\t\"cross\",\n\t\"diamond\",\n\t\"square\",\n\t\"star\",\n\t\"triangle\",\n\t\"wye\"\n]);\nLegend.prototype.publish(\"labelMaxWidth\", null, \"number\", \"Max Label Width (pixels)\", null, { optional: true });\nLegend.prototype.publish(\"orientation\", \"vertical\", \"set\", \"Orientation of Legend rows\", [\"vertical\", \"horizontal\"], { tags: [\"Private\"] });\nLegend.prototype.publish(\"dataFamily\", \"ND\", \"set\", \"Type of data\", [\n\t\"1D\",\n\t\"2D\",\n\t\"ND\",\n\t\"map\",\n\t\"graph\",\n\t\"any\"\n], { tags: [\"Private\"] });\nLegend.prototype.publish(\"rainbowFormat\", \",\", \"string\", \"Rainbow number formatting\", null, {\n\ttags: [\"Private\"],\n\toptional: true,\n\tdisable: (w) => !w.isRainbow()\n});\nLegend.prototype.publish(\"rainbowBins\", 8, \"number\", \"Number of rainbow bins\", null, {\n\ttags: [\"Private\"],\n\tdisable: (w) => !w.isRainbow()\n});\nLegend.prototype.publish(\"showSeriesTotal\", false, \"boolean\", \"Show value next to series\");\nLegend.prototype.publish(\"showLegendTotal\", false, \"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\", true, \"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)\", [\n\t\"start\",\n\t\"middle\",\n\t\"end\"\n], {\n\toptional: true,\n\tdisable: (w) => w.orientation() === \"vertical\"\n});\n\n//#endregion\n//#region src/Modal.ts\nvar Modal = class extends HTMLWidget {\n\t_widget;\n\t_relativeTarget;\n\t_fade;\n\t_modal;\n\t_modalHeader;\n\t_modalBody;\n\t_modalHeaderAnnotations;\n\t_modalHeaderCloseButton;\n\t_close;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tcloseModal() {\n\t\tthis.visible(false);\n\t}\n\tgetRelativeTarget() {\n\t\tlet relativeTarget;\n\t\tif (this.relativeTargetId()) {\n\t\t\trelativeTarget = document.getElementById(this.relativeTargetId());\n\t\t\tif (relativeTarget) return relativeTarget;\n\t\t}\n\t\tif (!relativeTarget) {\n\t\t\trelativeTarget = this.locateAncestor(\"layout_Grid\");\n\t\t\tif (relativeTarget && relativeTarget.element) return relativeTarget.element().node();\n\t\t}\n\t\treturn document.body;\n\t}\n\tsetModalSize() {\n\t\tif (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);\n\t\telse if (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\t\tconst modalRect = this._modal.node().getBoundingClientRect();\n\t\tconst headerRect = this._modalHeader.node().getBoundingClientRect();\n\t\tthis._modalBody.style(\"height\", modalRect.height - headerRect.height + \"px\").style(\"width\", modalRect.width);\n\t\treturn modalRect;\n\t}\n\tsetFadePosition(rect) {\n\t\tthis._fade.style(\"top\", rect.top + \"px\").style(\"left\", rect.left + \"px\").style(\"width\", rect.width + \"px\").style(\"height\", rect.height + \"px\");\n\t}\n\tsetModalPosition(rect) {\n\t\tconst modalRect = this.setModalSize();\n\t\tif (this.fixedTop() !== null && this.fixedLeft() !== null) this._modal.style(\"top\", `calc(${this.fixedTop()} + ${rect.top}px)`).style(\"left\", `calc(${this.fixedLeft()} + ${rect.left}px)`);\n\t\telse if (this.fixedHeight() !== null && this.fixedWidth() !== null) 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\t\telse if (this.minHeight() || this.minWidth()) {\n\t\t\tconst contentRect = this._modal.node().getBoundingClientRect();\n\t\t\tthis._modal.style(\"top\", rect.top + rect.height / 2 - contentRect.height / 2 + \"px\").style(\"left\", rect.left + rect.width / 2 - contentRect.width / 2 + \"px\");\n\t\t}\n\t}\n\tresize(size) {\n\t\tsuper.resize();\n\t\tif (this._modal) this.setModalSize();\n\t\treturn this;\n\t}\n\tresizeBodySync(width, height) {\n\t\tconst headerRect = this._modalHeader.node().getBoundingClientRect();\n\t\tthis._modal.style(\"width\", width + \"px\").style(\"height\", height + headerRect.height + \"px\").style(\"min-width\", width + \"px\").style(\"min-height\", height + headerRect.height + \"px\");\n\t\tthis._modalHeader.style(\"width\", width + \"px\");\n\t\tthis._modalBody.style(\"width\", width + \"px\").style(\"height\", height + \"px\");\n\t\treturn this.minWidth(width + \"px\").minHeight(height + headerRect.height + \"px\").resize({\n\t\t\theight: height + headerRect.height,\n\t\t\twidth\n\t\t});\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._fade = element.append(\"div\").classed(\"layout_Modal-fade\", true).classed(\"layout_Modal-fadeClickable\", this.enableClickFadeToClose()).classed(\"layout_Modal-fade-hidden\", !this.showFade());\n\t\tconst header_h = this.titleFontSize() * 2;\n\t\tthis._modal = element.append(\"div\").classed(\"layout_Modal-content\", true);\n\t\tthis._modalHeader = this._modal.append(\"div\").classed(\"layout_Modal-header\", true).style(\"color\", this.titleFontColor()).style(\"font-size\", this.titleFontSize() + \"px\").style(\"height\", header_h + \"px\");\n\t\tthis._modalBody = this._modal.append(\"div\").classed(\"layout_Modal-body\", true).style(\"height\", `calc( 100% - ${header_h}px )`).style(\"overflow-x\", this.overflowX()).style(\"overflow-y\", this.overflowY());\n\t\tthis._modalHeader.append(\"div\").classed(\"layout_Modal-title\", true).style(\"line-height\", this.titleFontSize() + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\").style(\"left\", this.titleFontSize() / 2 + \"px\").text(this.formattedTitle());\n\t\tthis._modalHeaderAnnotations = this._modalHeader.append(\"div\").classed(\"layout_Modal-annotations\", true);\n\t\tthis._modalHeaderCloseButton = this._modalHeaderAnnotations.append(\"div\").classed(\"layout_Modal-closeButton\", true).html(\"<i class=\\\"fa fa-close\\\"></i>\");\n\t\tthis._modalHeaderAnnotations.style(\"line-height\", this.titleFontSize() + \"px\").style(\"right\", this.titleFontSize() / 2 + \"px\").style(\"top\", this.titleFontSize() / 2 + \"px\");\n\t\tthis._modalHeaderCloseButton.on(\"click\", () => {\n\t\t\tthis.closeModal();\n\t\t});\n\t\tthis._fade.on(\"click\", (n) => {\n\t\t\tif (this.enableClickFadeToClose()) this.closeModal();\n\t\t});\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\telement.style(\"display\", this.show() ? null : \"none\");\n\t\tthis._fade.classed(\"layout_Modal-fade-hidden\", !this.showFade());\n\t\tthis._relativeTarget = this.getRelativeTarget();\n\t\tthis.setModalSize();\n\t\tconst rect = this._relativeTarget.getBoundingClientRect();\n\t\tthis.setFadePosition(rect);\n\t\tthis.setModalPosition(rect);\n\t\tif (this.show()) {\n\t\t\tif (!this._widget.target()) this._widget.target(this._modalBody.node());\n\t\t\tthis._widget.resize().render();\n\t\t} else this._widget.target(null).render();\n\t}\n\texit(domNode, element) {\n\t\tif (this._widget) this._widget.target(null);\n\t\tsuper.exit(domNode, element);\n\t}\n\tformattedTitle() {\n\t\tconst title = this.title_exists() ? this.title().trim() : \"\";\n\t\tif (title.length > 0 && title.slice(0, 1) === \"(\" && title.slice(-1) === \")\") return title.slice(1, -1);\n\t\treturn this.title();\n\t}\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\", true, \"boolean\", \"show\");\nModal.prototype.publish(\"showFade\", true, \"boolean\", \"showFade\");\nModal.prototype.publish(\"enableClickFadeToClose\", true, \"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\");\n\n//#endregion\n//#region src/ChartPanel.ts\nvar ChartPanel = class extends Border2 {\n\t_legend = new Legend(this).enableOverflow(true);\n\t_progressBar = new ProgressBar();\n\t_autoScale = false;\n\t_resolutions = {\n\t\ttiny: {\n\t\t\twidth: 100,\n\t\t\theight: 100\n\t\t},\n\t\tsmall: {\n\t\t\twidth: 300,\n\t\t\theight: 300\n\t\t}\n\t};\n\t_modal = new Modal();\n\t_highlight;\n\t_scale;\n\t_orig_size;\n\t_toggleInfo = new ToggleButton().faChar(\"fa-info-circle\").tooltip(\".Description\").selected(false).on(\"enabled\", () => {\n\t\treturn this.description() !== \"\";\n\t}).on(\"click\", () => {\n\t\tif (this._toggleInfo.selected()) {\n\t\t\tthis._modal.title(this.title()).widget(new Text().text(this.description())).show(true).render();\n\t\t\tconst origCloseFunc = this._modal._close;\n\t\t\tthis._modal._close = () => {\n\t\t\t\tthis._toggleInfo.selected(false).render();\n\t\t\t\tthis._modal._close = origCloseFunc;\n\t\t\t};\n\t\t}\n\t}).on(\"mouseMove\", () => {}).on(\"mouseOut\", () => {});\n\t_toggleData = new ToggleButton().faChar(\"fa-table\").tooltip(\"Data\").on(\"click\", () => {\n\t\tthis.dataVisible(this._toggleData.selected());\n\t\tthis.render();\n\t});\n\t_buttonDownload = new Button().faChar(\"fa-download\").tooltip(\"Download\").on(\"click\", () => {\n\t\tthis.downloadCSV();\n\t});\n\t_buttonDownloadImage = new Button().faChar(\"fa-image\").tooltip(\"Download Image\").on(\"click\", () => {\n\t\tthis.downloadPNG();\n\t});\n\t_toggleLegend = new ToggleButton().faChar(\"fa-list-ul\").tooltip(\"Legend\").selected(false).on(\"click\", () => {\n\t\tconst selected = this._toggleLegend.selected();\n\t\tif (this.legendPosition() === \"bottom\") this.showBottom(selected);\n\t\telse if (this.legendPosition() === \"right\") this.showRight(selected);\n\t\tthis.legendVisible(selected);\n\t\tthis.render();\n\t});\n\t_spacer = new Spacer();\n\t_titleBar = new TitleBar().buttons([\n\t\tthis._toggleData,\n\t\tthis._buttonDownload,\n\t\tthis._buttonDownloadImage,\n\t\tthis._spacer,\n\t\tthis._toggleLegend\n\t]);\n\t_carousel = new Carousel();\n\t_table = new Table();\n\t_widget;\n\t_hideLegendToggleList = [\"dgrid_Table\"];\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tfields(_) {\n\t\tif (!arguments.length) return super.fields();\n\t\tsuper.fields(_);\n\t\tthis._legend.fields(_);\n\t\tthis.refreshFields();\n\t\treturn this;\n\t}\n\trefreshFields() {\n\t\tthis._widget.fields(this._legend.filteredFields());\n\t\tthis._table.fields(this._legend.filteredFields());\n\t\treturn this;\n\t}\n\tcolumns(_, asDefault) {\n\t\tif (!arguments.length) return super.columns();\n\t\tsuper.columns(_, asDefault);\n\t\tthis._legend.columns(_, asDefault);\n\t\tthis.refreshColumns();\n\t\treturn this;\n\t}\n\trefreshColumns() {\n\t\tthis._widget.columns(this._legend.filteredColumns());\n\t\tthis._table.columns(this._legend.filteredColumns());\n\t\treturn this;\n\t}\n\tdata(_) {\n\t\tif (!arguments.length) return super.data();\n\t\tsuper.data(_);\n\t\tthis._legend.data(_);\n\t\tthis.refreshData();\n\t\treturn this;\n\t}\n\trefreshData() {\n\t\tthis._widget.data(this._legend.filteredData());\n\t\tthis._table.data(this._legend.filteredData());\n\t\treturn this;\n\t}\n\thighlight(_) {\n\t\tif (!arguments.length) return this._highlight;\n\t\tthis._highlight = _;\n\t\treturn this;\n\t}\n\tstartProgress() {\n\t\tthis._progressBar.start();\n\t}\n\tfinishProgress() {\n\t\tthis._progressBar.finish();\n\t}\n\tbuttons(_) {\n\t\tif (!arguments.length) return this._titleBar.buttons();\n\t\tthis._titleBar.buttons(_);\n\t\treturn this;\n\t}\n\tdownloadCSV() {\n\t\tconst namePrefix = this.downloadTitle() ? this.downloadTitle() : this.title() ? this.title() : \"data\";\n\t\tconst nameSuffix = this.downloadTimestampSuffix() ? \"_\" + Utility.timestamp() : \"\";\n\t\tUtility.downloadString(\"CSV\", this._widget.export(\"CSV\"), namePrefix + nameSuffix);\n\t\treturn this;\n\t}\n\tdownloadPNG() {\n\t\tconst widget = this.widget();\n\t\tif (widget instanceof SVGWidget) if (!this.legendVisible()) widget.downloadPNG(this.title());\n\t\telse widget.downloadPNG(this.title(), void 0, this._legend);\n\t\treturn this;\n\t}\n\thighlightColumn(column) {\n\t\tif (column) {\n\t\t\tconst cssTag = `series-${this.cssTag(column)}`;\n\t\t\tthis._centerWA.element().selectAll(\".series\").each(function() {\n\t\t\t\tconst element = select(this);\n\t\t\t\tconst highlight = element.classed(cssTag);\n\t\t\t\telement.classed(\"highlight\", highlight).classed(\"lowlight\", !highlight);\n\t\t\t});\n\t\t} else this._centerWA.element().selectAll(\".series\").classed(\"highlight\", false).classed(\"lowlight\", false);\n\t\treturn this;\n\t}\n\tgetResponsiveMode() {\n\t\tif (!this.enableAutoscaling()) return \"none\";\n\t\tif (!this._autoScale) return \"regular\";\n\t\tif (this.size().width <= this._resolutions.tiny.width || this.size().height <= this._resolutions.tiny.height) return \"tiny\";\n\t\telse if (this.size().width <= this._resolutions.small.width || this.size().height <= this._resolutions.small.height) return \"small\";\n\t\treturn \"regular\";\n\t}\n\tsetOrigSize() {\n\t\tthis._orig_size = JSON.parse(JSON.stringify(this.size()));\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._modal.target(this.target()).relativeTargetId(this.id());\n\t\tthis.top(this._titleBar);\n\t\tthis.center(this._carousel);\n\t\tthis._legend.targetWidget(this._widget).orientation(\"vertical\").title(\"\").visible(false);\n\t\tthis._progressBar.enter(domNode, element);\n\t\tthis.setOrigSize();\n\t}\n\tpreUpdateTiny(element) {\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n\t}\n\tpreUpdateSmall(element) {\n\t\tconst scale_x = this._orig_size.width / this._resolutions.small.width;\n\t\tconst scale_y = this._orig_size.height / this._resolutions.small.height;\n\t\tthis._scale = Math.min(scale_x, scale_y);\n\t\tconst x_is_smaller = this._scale === scale_x;\n\t\tthis.size({\n\t\t\twidth: x_is_smaller ? this._resolutions.small.width : this._orig_size.width * (1 / this._scale),\n\t\t\theight: !x_is_smaller ? this._resolutions.small.height : this._orig_size.height * (1 / this._scale)\n\t\t});\n\t\telement.select(\"div.title-icon\").style(\"position\", \"static\");\n\t\telement.selectAll(\"lhs\").style(\"display\", \"none\");\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n\t\telement.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n\t\telement.style(\"transform\", `scale(${this._scale})`);\n\t}\n\tpreUpdateRegular(element) {\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n\t\telement.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n\t\telement.select(\"div.title-icon\").style(\"position\", \"static\");\n\t\telement.style(\"transform\", \"translate(0px,0px) scale(1)\");\n\t}\n\t_prevdataVisible;\n\t_prevlegendVisible;\n\t_prevLegendPosition;\n\t_prevChartDataFamily;\n\t_prevChart;\n\t_prevButtons;\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t}\n\tpreUpdate(domNode, element) {\n\t\tsuper.preUpdate(domNode, element);\n\t\tif (this._prevLegendPosition !== this.legendPosition()) {\n\t\t\tif (this._legend.target() !== null) this._legend.target(null);\n\t\t\tif (this._prevLegendPosition !== void 0) this.swap(this._prevLegendPosition, this.legendPosition());\n\t\t\telse this[this.legendPosition()](this._legend);\n\t\t\tif (this.legendPosition() === \"right\") {\n\t\t\t\tthis.rightOverflowX(\"hidden\");\n\t\t\t\tthis.rightOverflowY(\"auto\");\n\t\t\t\tthis.bottomOverflowX(\"visible\");\n\t\t\t\tthis.bottomOverflowY(\"visible\");\n\t\t\t} else {\n\t\t\t\tthis.rightOverflowX(\"visible\");\n\t\t\t\tthis.rightOverflowY(\"visible\");\n\t\t\t\tthis.bottomOverflowX(\"auto\");\n\t\t\t\tthis.bottomOverflowY(\"hidden\");\n\t\t\t}\n\t\t\tthis._prevLegendPosition = this.legendPosition();\n\t\t}\n\t\tif (this._prevdataVisible !== this.dataVisible()) {\n\t\t\tthis._prevdataVisible = this.dataVisible();\n\t\t\tthis._toggleData.selected(this._prevdataVisible);\n\t\t\tthis._legend.visible(this._prevlegendVisible && !this._prevdataVisible);\n\t\t\tthis._carousel.active(this._prevdataVisible ? 1 : 0);\n\t\t}\n\t\tif (this._prevlegendVisible !== this.legendVisible()) {\n\t\t\tthis._prevlegendVisible = this.legendVisible();\n\t\t\tthis._toggleLegend.selected(this._prevlegendVisible);\n\t\t\tthis._legend.visible(this._prevlegendVisible && !this._prevdataVisible);\n\t\t}\n\t\tthis._legend.orientation(this.legendPosition() === \"bottom\" ? \"horizontal\" : \"vertical\");\n\t\tthis.showLeft(!this.left());\n\t\tswitch (this.getResponsiveMode()) {\n\t\t\tcase \"tiny\":\n\t\t\t\tthis.preUpdateTiny(element);\n\t\t\t\tbreak;\n\t\t\tcase \"small\":\n\t\t\t\tthis.preUpdateSmall(element);\n\t\t\t\tbreak;\n\t\t\tcase \"regular\":\n\t\t\t\tthis.preUpdateRegular(element);\n\t\t\t\tbreak;\n\t\t}\n\t\tconst chart = this._widget.classID() === \"composite_MultiChart\" ? this._widget[\"chart\"]() : this._widget;\n\t\tthis._legend.dataFamily(chart._dataFamily || \"any\");\n\t\tif (this._prevChartDataFamily !== this._legend.dataFamily()) {\n\t\t\tthis._prevChartDataFamily = this._legend.dataFamily();\n\t\t\tswitch (this._prevChartDataFamily) {\n\t\t\t\tcase \"any\":\n\t\t\t\t\tthis._toggleLegend.selected(false);\n\t\t\t\t\tthis._legend.visible(false);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telement.style(\"box-shadow\", this.highlight() ? `inset 0px 0px 0px ${this.highlightSize()}px ${this.highlightColor()}` : \"none\");\n\t\tif (this._hideLegendToggleList.indexOf(chart.classID()) !== -1) {\n\t\t\tthis._spacer.visible(false);\n\t\t\tthis._toggleLegend.visible(false);\n\t\t} else {\n\t\t\tthis._spacer.visible(true);\n\t\t\tthis._toggleLegend.visible(true);\n\t\t}\n\t\tif (this._prevChart !== chart) {\n\t\t\tthis._prevChart = chart;\n\t\t\tconst widgetIconBar = chart ? chart[\"_titleBar\"] || chart[\"_iconBar\"] : void 0;\n\t\t\tif (widgetIconBar && widgetIconBar instanceof IconBar) {\n\t\t\t\tthis._prevButtons = this._prevButtons || [...this.buttons()];\n\t\t\t\tconst buttons = [\n\t\t\t\t\t...widgetIconBar.buttons(),\n\t\t\t\t\tnew Spacer(),\n\t\t\t\t\t...this._prevButtons\n\t\t\t\t];\n\t\t\t\twidgetIconBar.buttons([]).render();\n\t\t\t\tthis.buttons(buttons);\n\t\t\t} else if (this._prevButtons) this.buttons(this._prevButtons);\n\t\t}\n\t\tconst hiddenButtons = [];\n\t\tif (!this.dataButtonVisible()) hiddenButtons.push(this._toggleData);\n\t\tif (!this.downloadButtonVisible()) hiddenButtons.push(this._buttonDownload);\n\t\tif (!this.downloadImageButtonVisible()) hiddenButtons.push(this._buttonDownloadImage);\n\t\tif (!this.legendButtonVisible()) hiddenButtons.push(this._toggleLegend);\n\t\tthis._buttonDownloadImage.enabled(this.widget() instanceof SVGWidget);\n\t\tthis._titleBar.hiddenButtons(hiddenButtons).visible(this.titleVisible());\n\t\tthis.topOverlay(this.titleOverlay() || !this.titleVisible());\n\t}\n\tpostUpdate(domNode, element) {\n\t\tsuper.postUpdate(domNode, element);\n\t\tswitch (this.getResponsiveMode()) {\n\t\t\tcase \"tiny\":\n\t\t\t\tthis.postUpdateTiny(element);\n\t\t\t\tbreak;\n\t\t\tcase \"small\":\n\t\t\t\tthis.postUpdateSmall(element);\n\t\t\t\tbreak;\n\t\t\tcase \"regular\":\n\t\t\t\tthis.postUpdateRegular(element);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tpostUpdateTiny(element) {\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"none\");\n\t\telement.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);\n\t\telement.style(\"transform\", \"translate(0px,0px) scale(1)\");\n\t\tconst iconDiv = element.selectAll(\"div.title-icon\");\n\t\tconst _node = iconDiv.node();\n\t\tconst containerRect = element.node().parentElement.getBoundingClientRect();\n\t\tif (_node) {\n\t\t\tconst rect = iconDiv.node().getBoundingClientRect();\n\t\t\tconst icon_top = containerRect.height / 2;\n\t\t\ticonDiv.style(\"position\", \"absolute\").style(\"left\", `calc(50% - ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`);\n\t\t\telement.selectAll(\"div.data-count\").style(\"position\", \"absolute\").style(\"left\", `calc(50% + ${rect.width / 2}px)`).style(\"top\", `${icon_top - rect.height / 2}px`);\n\t\t}\n\t}\n\tpostUpdateSmall(element) {\n\t\telement.selectAll(\"lhs\").style(\"display\", \"none\");\n\t\telement.selectAll(\"div.title-icon\").style(\"position\", \"static\");\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n\t\telement.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n\t\tconst rect = element.node().getBoundingClientRect();\n\t\tconst parentRect = element.node().parentElement.getBoundingClientRect();\n\t\telement.style(\"transform\", `translate(${parentRect.x - rect.x}px, ${parentRect.y - rect.y}px) scale(${this._scale})`);\n\t}\n\tpostUpdateRegular(element) {\n\t\telement.selectAll(\"div.title-icon\").style(\"position\", \"static\");\n\t\telement.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\", \"\");\n\t\telement.selectAll(\"div.data-count\").style(\"visibility\", \"hidden\");\n\t}\n\texit(domNode, element) {\n\t\tthis._progressBar.exit(domNode, element);\n\t\tthis.right(null);\n\t\tthis._legend.target(null);\n\t\tthis.center(null);\n\t\tthis._carousel.target(null);\n\t\tthis.top(null);\n\t\tthis._titleBar.target(null);\n\t\tthis._modal.target(null);\n\t\tdelete this._prevChart;\n\t\tdelete this._prevButtons;\n\t\tdelete this._prevChartDataFamily;\n\t\tdelete this._prevPos;\n\t\tdelete this._prevdataVisible;\n\t\tdelete this._prevlegendVisible;\n\t\tsuper.exit(domNode, element);\n\t}\n\tclick(row, column, selected) {}\n\tdblclick(row, column, selected) {}\n\tvertex_click(row, col, sel, more) {\n\t\tif (more && more.vertex) {}\n\t}\n\tvertex_dblclick(row, col, sel, more) {\n\t\tif (more && more.vertex) {}\n\t}\n\tedge_click(row, col, sel, more) {\n\t\tif (more && more.edge) {}\n\t}\n\tedge_dblclick(row, col, sel, more) {\n\t\tif (more && more.edge) {}\n\t}\n};\nChartPanel.prototype._class += \" layout_ChartPanel\";\nChartPanel.prototype.publishReset();\nChartPanel.prototype.publishProxy(\"title\", \"_titleBar\");\nChartPanel.prototype.publish(\"titleVisible\", true, \"boolean\");\nChartPanel.prototype.publish(\"titleOverlay\", false, \"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\", false, \"boolean\", \"Show data table\");\nChartPanel.prototype.publish(\"dataButtonVisible\", true, \"boolean\", \"Show data table button\");\nChartPanel.prototype.publish(\"downloadButtonVisible\", true, \"boolean\", \"Show data download button\");\nChartPanel.prototype.publish(\"downloadImageButtonVisible\", false, \"boolean\", \"Show image download button\");\nChartPanel.prototype.publish(\"downloadTitle\", \"\", \"string\", \"File name when downloaded\");\nChartPanel.prototype.publish(\"downloadTimestampSuffix\", true, \"boolean\", \"Use timestamp as file name suffix\");\nChartPanel.prototype.publish(\"legendVisible\", false, \"boolean\", \"Show legend\");\nChartPanel.prototype.publish(\"legendButtonVisible\", true, \"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: false });\nChartPanel.prototype.publish(\"enableAutoscaling\", false, \"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\tif (!arguments.length) return this._widget;\n\tthis._carousel.widgets([_, this._table]);\n\tthis._widget = _;\n\tthis._widget.fields(this._legend.filteredFields()).data(this._legend.filteredData());\n\tconst context = this;\n\tconst tmpAny = this._widget;\n\ttmpAny.click = function() {\n\t\tcontext.click.apply(context, arguments);\n\t};\n\ttmpAny.dblclick = function() {\n\t\tcontext.dblclick.apply(context, arguments);\n\t};\n\ttmpAny.vertex_click = function() {\n\t\tcontext.vertex_click.apply(context, arguments);\n\t};\n\ttmpAny.vertex_dblclick = function() {\n\t\tcontext.vertex_dblclick.apply(context, arguments);\n\t};\n\ttmpAny.edge_click = function() {\n\t\tcontext.edge_click.apply(context, arguments);\n\t};\n\ttmpAny.edge_dblclick = function() {\n\t\tcontext.edge_dblclick.apply(context, arguments);\n\t};\n\treturn this;\n};\n\n//#endregion\n//#region src/FlexGrid.ts\nvar FlexGrid = class extends HTMLWidget {\n\tconstructor() {\n\t\tsuper();\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tselect(domNode.parentNode).style(\"height\", \"100%\").style(\"width\", \"100%\");\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst context = this;\n\t\tconst cachedSizes = [];\n\t\tthis.updateFlexParent(element);\n\t\tconst listItems = element.selectAll(\".FlexGrid-list-item\").data(this.widgets(), (w) => w.id());\n\t\tlistItems.enter().append(\"div\").classed(\"FlexGrid-list-item\", true).each(function(w) {\n\t\t\tw.target(this);\n\t\t}).merge(listItems).style(\"min-height\", this.itemMinHeight() + \"px\").style(\"min-width\", this.itemMinWidth() + \"px\").style(\"flex-basis\", (n, i) => {\n\t\t\tconst flexBasis = this.widgetsFlexBasis()[i];\n\t\t\treturn typeof flexBasis !== \"undefined\" ? flexBasis : this.flexBasis();\n\t\t}).style(\"flex-grow\", (n, i) => {\n\t\t\tconst flexGrow = this.widgetsFlexGrow()[i];\n\t\t\treturn typeof flexGrow !== \"undefined\" ? flexGrow : this.flexGrow();\n\t\t}).style(\"border-width\", this.borderWidth() + \"px\").style(\"border-color\", this.itemBorderColor()).each(function() {\n\t\t\tthis.firstChild.style.display = \"none\";\n\t\t}).each(function() {\n\t\t\tconst rect = this.getBoundingClientRect();\n\t\t\tcachedSizes.push([rect.width, rect.height]);\n\t\t}).each(function(w, i) {\n\t\t\tthis.firstChild.style.display = \"block\";\n\t\t\tw.resize({\n\t\t\t\twidth: cachedSizes[i][0] - 2 * context.borderWidth(),\n\t\t\t\theight: cachedSizes[i][1] - 2 * context.borderWidth()\n\t\t\t});\n\t\t});\n\t\tlistItems.exit().remove();\n\t}\n\texit(domNode, element) {\n\t\tsuper.exit(domNode, element);\n\t}\n\tupdateFlexParent(element) {\n\t\telement.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\", () => {\n\t\t\tif (this.forceXScroll() || this.orientation() === \"horizontal\" && this.flexWrap() === \"nowrap\" && !this.disableScroll()) return \"scroll\";\n\t\t\treturn \"hidden\";\n\t\t}).style(\"overflow-y\", () => {\n\t\t\tif (this.forceYScroll() || this.orientation() === \"vertical\" && this.flexWrap() === \"nowrap\" && !this.disableScroll()) return \"scroll\";\n\t\t\treturn \"hidden\";\n\t\t});\n\t}\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\", [\n\t\"nowrap\",\n\t\"wrap\",\n\t\"wrap-reverse\"\n]);\nFlexGrid.prototype.publish(\"disableScroll\", false, \"boolean\", \"If false, scrollbar will show (when flexWrap is set to 'nowrap')\", null, { disable: (w) => w.flexWrap() !== \"nowrap\" });\nFlexGrid.prototype.publish(\"forceXScroll\", false, \"boolean\", \"If true, horzontal scrollbar will show\");\nFlexGrid.prototype.publish(\"forceYScroll\", false, \"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\", [\n\t\"flex-start\",\n\t\"center\",\n\t\"flex-end\",\n\t\"stretch\"\n]);\nFlexGrid.prototype.publish(\"alignContent\", \"stretch\", \"set\", \"Controls normal alignment of item rows\", [\n\t\"flex-start\",\n\t\"center\",\n\t\"flex-end\",\n\t\"stretch\",\n\t\"space-between\",\n\t\"space-around\"\n]);\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\");\n\n//#endregion\n//#region ../../node_modules/grid-list/src/gridList.js\nvar require_gridList = /* @__PURE__ */ __commonJS({ \"../../node_modules/grid-list/src/gridList.js\": ((exports, module) => {\n\t(function(root, factory) {\n\t\tif (typeof define === \"function\" && define.amd) define([], factory);\n\t\telse if (typeof exports === \"object\") module.exports = factory();\n\t\telse root.GridList = factory();\n\t})(exports, function() {\n\t\tvar GridList$1 = function(items, options) {\n\t\t\t/**\n\t\t\t* A GridList manages the two-dimensional positions from a list of items,\n\t\t\t* within a virtual matrix.\n\t\t\t*\n\t\t\t* The GridList's main function is to convert the item positions from one\n\t\t\t* grid size to another, maintaining as much of their order as possible.\n\t\t\t*\n\t\t\t* The GridList's second function is to handle collisions when moving an item\n\t\t\t* over another.\n\t\t\t*\n\t\t\t* The positioning algorithm places items in columns. Starting from left to\n\t\t\t* right, going through each column top to bottom.\n\t\t\t*\n\t\t\t* The size of an item is expressed using the number of cols and rows it\n\t\t\t* takes up within the grid (w and h)\n\t\t\t*\n\t\t\t* The position of an item is express using the col and row position within\n\t\t\t* the grid (x and y)\n\t\t\t*\n\t\t\t* An item is an object of structure:\n\t\t\t* {\n\t\t\t* w: 3, h: 1,\n\t\t\t* x: 0, y: 1\n\t\t\t* }\n\t\t\t*/\n\t\t\tthis._options = options;\n\t\t\tfor (var k$1 in this.defaults) if (!this._options.hasOwnProperty(k$1)) this._options[k$1] = this.defaults[k$1];\n\t\t\tthis.items = items;\n\t\t\tthis._adjustSizeOfItems();\n\t\t\tthis.generateGrid();\n\t\t};\n\t\tGridList$1.cloneItems = function(items, _items) {\n\t\t\t/**\n\t\t\t* Clone items with a deep level of one. Items are not referenced but their\n\t\t\t* properties are\n\t\t\t*/\n\t\t\tvar i, k$1;\n\t\t\tif (_items === void 0) _items = [];\n\t\t\tfor (i = 0; i < items.length; i++) {\n\t\t\t\tif (!_items[i]) _items[i] = {};\n\t\t\t\tfor (k$1 in items[i]) _items[i][k$1] = items[i][k$1];\n\t\t\t}\n\t\t\treturn _items;\n\t\t};\n\t\tGridList$1.prototype = {\n\t\t\tdefaults: {\n\t\t\t\tlanes: 5,\n\t\t\t\tdirection: \"horizontal\"\n\t\t\t},\n\t\t\ttoString: function() {\n\t\t\t\tvar widthOfGrid = this.grid.length, output = \"\\n #|\", border = \"\\n --\", item, i, j;\n\t\t\t\tfor (i = 0; i < widthOfGrid; i++) {\n\t\t\t\t\toutput += \" \" + this._padNumber(i, \" \");\n\t\t\t\t\tborder += \"---\";\n\t\t\t\t}\n\t\t\t\toutput += border;\n\t\t\t\tfor (i = 0; i < this._options.lanes; i++) {\n\t\t\t\t\toutput += \"\\n\" + this._padNumber(i, \" \") + \"|\";\n\t\t\t\t\tfor (j = 0; j < widthOfGrid; j++) {\n\t\t\t\t\t\toutput += \" \";\n\t\t\t\t\t\titem = this.grid[j][i];\n\t\t\t\t\t\toutput += item ? this._padNumber(this.items.indexOf(item), \"0\") : \"--\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\toutput += \"\\n\";\n\t\t\t\treturn output;\n\t\t\t},\n\t\t\tgenerateGrid: function() {\n\t\t\t\t/**\n\t\t\t\t* Build the grid structure from scratch, with the current item positions\n\t\t\t\t*/\n\t\t\t\tvar i;\n\t\t\t\tthis._resetGrid();\n\t\t\t\tfor (i = 0; i < this.items.length; i++) this._markItemPositionToGrid(this.items[i]);\n\t\t\t},\n\t\t\tresizeGrid: function(lanes) {\n\t\t\t\tvar currentColumn = 0;\n\t\t\t\tthis._options.lanes = lanes;\n\t\t\t\tthis._adjustSizeOfItems();\n\t\t\t\tthis._sortItemsByPosition();\n\t\t\t\tthis._resetGrid();\n\t\t\t\tfor (var i = 0; i < this.items.length; i++) {\n\t\t\t\t\tvar item = this.items[i], position = this._getItemPosition(item);\n\t\t\t\t\tthis._updateItemPosition(item, this.findPositionForItem(item, {\n\t\t\t\t\t\tx: currentColumn,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t}));\n\t\t\t\t\tcurrentColumn = Math.max(currentColumn, position.x);\n\t\t\t\t}\n\t\t\t\tthis._pullItemsToLeft();\n\t\t\t},\n\t\t\tfindPositionForItem: function(item, start, fixedRow) {\n\t\t\t\t/**\n\t\t\t\t* This method has two options for the position we want for the item:\n\t\t\t\t* - Starting from a certain row/column number and only looking for\n\t\t\t\t* positions to its right\n\t\t\t\t* - Accepting positions for a certain row number only (use-case: items\n\t\t\t\t* being shifted to the left/right as a result of collisions)\n\t\t\t\t*\n\t\t\t\t* @param {Object<x:Number, y:Number, w:Number, h:Number} item\n\t\t\t\t* @param {Object<x:Number, y:Number} start Position from which to start\n\t\t\t\t* the search.\n\t\t\t\t* @param {Number} [fixedRow] If provided, we're going to try to find a\n\t\t\t\t* position for the new item on it. If doesn't fit there, we're going\n\t\t\t\t* to put it on the first row.\n\t\t\t\t*\n\t\t\t\t* @returns {Number[2]} x and y.\n\t\t\t\t*/\n\t\t\t\tvar x, y, position;\n\t\t\t\tfor (x = start.x; x < this.grid.length; x++) if (fixedRow !== void 0) {\n\t\t\t\t\tposition = [x, fixedRow];\n\t\t\t\t\tif (this._itemFitsAtPosition(item, position)) return position;\n\t\t\t\t} else for (y = start.y; y < this._options.lanes; y++) {\n\t\t\t\t\tposition = [x, y];\n\t\t\t\t\tif (this._itemFitsAtPosition(item, position)) return position;\n\t\t\t\t}\n\t\t\t\tvar newCol = this.grid.length, newRow = 0;\n\t\t\t\tif (fixedRow !== void 0 && this._itemFitsAtPosition(item, [newCol, fixedRow])) newRow = fixedRow;\n\t\t\t\treturn [newCol, newRow];\n\t\t\t},\n\t\t\tmoveItemToPosition: function(item, newPosition) {\n\t\t\t\tvar position = this._getItemPosition({\n\t\t\t\t\tx: newPosition[0],\n\t\t\t\t\ty: newPosition[1],\n\t\t\t\t\tw: item.w,\n\t\t\t\t\th: item.h\n\t\t\t\t});\n\t\t\t\tthis._updateItemPosition(item, [position.x, position.y]);\n\t\t\t\tthis._resolveCollisions(item);\n\t\t\t},\n\t\t\tresizeItem: function(item, size) {\n\t\t\t\t/**\n\t\t\t\t* Resize an item and resolve collisions.\n\t\t\t\t*\n\t\t\t\t* @param {Object} item A reference to an item that's part of the grid.\n\t\t\t\t* @param {Object} size\n\t\t\t\t* @param {Number} [size.w=item.w] The new width.\n\t\t\t\t* @param {Number} [size.h=item.h] The new height.\n\t\t\t\t*/\n\t\t\t\tvar width = size.w || item.w, height = size.h || item.h;\n\t\t\t\tthis._updateItemSize(item, width, height);\n\t\t\t\tthis._resolveCollisions(item);\n\t\t\t\tthis._pullItemsToLeft();\n\t\t\t},\n\t\t\tgetChangedItems: function(initialItems, idAttribute) {\n\t\t\t\t/**\n\t\t\t\t* Compare the current items against a previous snapshot and return only\n\t\t\t\t* the ones that changed their attributes in the meantime. This includes both\n\t\t\t\t* position (x, y) and size (w, h)\n\t\t\t\t*\n\t\t\t\t* Since both their position and size can change, the items need an\n\t\t\t\t* additional identifier attribute to match them with their previous state\n\t\t\t\t*/\n\t\t\t\tvar changedItems = [];\n\t\t\t\tfor (var i = 0; i < initialItems.length; i++) {\n\t\t\t\t\tvar item = this._getItemByAttribute(idAttribute, initialItems[i][idAttribute]);\n\t\t\t\t\tif (item.x !== initialItems[i].x || item.y !== initialItems[i].y || item.w !== initialItems[i].w || item.h !== initialItems[i].h) changedItems.push(item);\n\t\t\t\t}\n\t\t\t\treturn changedItems;\n\t\t\t},\n\t\t\t_sortItemsByPosition: function() {\n\t\t\t\tthis.items.sort(function(item1, item2) {\n\t\t\t\t\tvar position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n\t\t\t\t\tif (position1.x != position2.x) return position1.x - position2.x;\n\t\t\t\t\tif (position1.y != position2.y) return position1.y - position2.y;\n\t\t\t\t\treturn 0;\n\t\t\t\t}.bind(this));\n\t\t\t},\n\t\t\t_adjustSizeOfItems: function() {\n\t\t\t\t/**\n\t\t\t\t* Some items can have 100% height or 100% width. Those dimmensions are\n\t\t\t\t* expressed as 0. We need to ensure a valid width and height for each of\n\t\t\t\t* those items as the number of items per lane.\n\t\t\t\t*/\n\t\t\t\tfor (var i = 0; i < this.items.length; i++) {\n\t\t\t\t\tvar item = this.items[i];\n\t\t\t\t\tif (item.autoSize === void 0) item.autoSize = item.w === 0 || item.h === 0;\n\t\t\t\t\tif (item.autoSize) if (this._options.direction === \"horizontal\") item.h = this._options.lanes;\n\t\t\t\t\telse item.w = this._options.lanes;\n\t\t\t\t}\n\t\t\t},\n\t\t\t_resetGrid: function() {\n\t\t\t\tthis.grid = [];\n\t\t\t},\n\t\t\t_itemFitsAtPosition: function(item, newPosition) {\n\t\t\t\t/**\n\t\t\t\t* Check that an item wouldn't overlap with another one if placed at a\n\t\t\t\t* certain position within the grid\n\t\t\t\t*/\n\t\t\t\tvar position = this._getItemPosition(item), x, y;\n\t\t\t\tif (newPosition[0] < 0 || newPosition[1] < 0) return false;\n\t\t\t\tif (newPosition[1] + position.h > this._options.lanes) return false;\n\t\t\t\tfor (x = newPosition[0]; x < newPosition[0] + position.w; x++) {\n\t\t\t\t\tvar col = this.grid[x];\n\t\t\t\t\tif (!col) continue;\n\t\t\t\t\tfor (y = newPosition[1]; y < newPosition[1] + position.h; y++) if (col[y] && col[y] !== item) return false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\t_updateItemPosition: function(item, position) {\n\t\t\t\tif (item.x !== null && item.y !== null) this._deleteItemPositionFromGrid(item);\n\t\t\t\tthis._setItemPosition(item, position);\n\t\t\t\tthis._markItemPositionToGrid(item);\n\t\t\t},\n\t\t\t_updateItemSize: function(item, width, height) {\n\t\t\t\t/**\n\t\t\t\t* @param {Object} item A reference to a grid item.\n\t\t\t\t* @param {Number} width The new width.\n\t\t\t\t* @param {Number} height The new height.\n\t\t\t\t*/\n\t\t\t\tif (item.x !== null && item.y !== null) this._deleteItemPositionFromGrid(item);\n\t\t\t\titem.w = width;\n\t\t\t\titem.h = height;\n\t\t\t\tthis._markItemPositionToGrid(item);\n\t\t\t},\n\t\t\t_markItemPositionToGrid: function(item) {\n\t\t\t\t/**\n\t\t\t\t* Mark the grid cells that are occupied by an item. This prevents items\n\t\t\t\t* from overlapping in the grid\n\t\t\t\t*/\n\t\t\t\tvar position = this._getItemPosition(item), x, y;\n\t\t\t\tthis._ensureColumns(position.x + position.w);\n\t\t\t\tfor (x = position.x; x < position.x + position.w; x++) for (y = position.y; y < position.y + position.h; y++) this.grid[x][y] = item;\n\t\t\t},\n\t\t\t_deleteItemPositionFromGrid: function(item) {\n\t\t\t\tvar position = this._getItemPosition(item), x, y;\n\t\t\t\tfor (x = position.x; x < position.x + position.w; x++) {\n\t\t\t\t\tif (!this.grid[x]) continue;\n\t\t\t\t\tfor (y = position.y; y < position.y + position.h; y++) if (this.grid[x][y] == item) this.grid[x][y] = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\t_ensureColumns: function(N) {\n\t\t\t\t/**\n\t\t\t\t* Ensure that the grid has at least N columns available.\n\t\t\t\t*/\n\t\t\t\tvar i;\n\t\t\t\tfor (i = 0; i < N; i++) if (!this.grid[i]) this.grid.push(new GridCol(this._options.lanes));\n\t\t\t},\n\t\t\t_getItemsCollidingWithItem: function(item) {\n\t\t\t\tvar collidingItems = [];\n\t\t\t\tfor (var i = 0; i < this.items.length; i++) if (item != this.items[i] && this._itemsAreColliding(item, this.items[i])) collidingItems.push(i);\n\t\t\t\treturn collidingItems;\n\t\t\t},\n\t\t\t_itemsAreColliding: function(item1, item2) {\n\t\t\t\tvar position1 = this._getItemPosition(item1), position2 = this._getItemPosition(item2);\n\t\t\t\treturn !(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\t\t\t},\n\t\t\t_resolveCollisions: function(item) {\n\t\t\t\tif (!this._tryToResolveCollisionsLocally(item)) this._pullItemsToLeft(item);\n\t\t\t\tthis._pullItemsToLeft();\n\t\t\t},\n\t\t\t_tryToResolveCollisionsLocally: function(item) {\n\t\t\t\t/**\n\t\t\t\t* Attempt to resolve the collisions after moving a an item over one or more\n\t\t\t\t* other items within the grid, by shifting the position of the colliding\n\t\t\t\t* items around the moving one. This might result in subsequent collisions,\n\t\t\t\t* in which case we will revert all position permutations. To be able to\n\t\t\t\t* revert to the initial item positions, we create a virtual grid in the\n\t\t\t\t* process\n\t\t\t\t*/\n\t\t\t\tvar collidingItems = this._getItemsCollidingWithItem(item);\n\t\t\t\tif (!collidingItems.length) return true;\n\t\t\t\tvar _gridList = new GridList$1([], this._options), leftOfItem, rightOfItem, aboveOfItem, belowOfItem;\n\t\t\t\tGridList$1.cloneItems(this.items, _gridList.items);\n\t\t\t\t_gridList.generateGrid();\n\t\t\t\tfor (var i = 0; i < collidingItems.length; i++) {\n\t\t\t\t\tvar collidingItem = _gridList.items[collidingItems[i]], collidingPosition = this._getItemPosition(collidingItem);\n\t\t\t\t\tvar position = this._getItemPosition(item);\n\t\t\t\t\tleftOfItem = [position.x - collidingPosition.w, collidingPosition.y];\n\t\t\t\t\trightOfItem = [position.x + position.w, collidingPosition.y];\n\t\t\t\t\taboveOfItem = [collidingPosition.x, position.y - collidingPosition.h];\n\t\t\t\t\tbelowOfItem = [collidingPosition.x, position.y + position.h];\n\t\t\t\t\tif (_gridList._itemFitsAtPosition(collidingItem, leftOfItem)) _gridList._updateItemPosition(collidingItem, leftOfItem);\n\t\t\t\t\telse if (_gridList._itemFitsAtPosition(collidingItem, aboveOfItem)) _gridList._updateItemPosition(collidingItem, aboveOfItem);\n\t\t\t\t\telse if (_gridList._itemFitsAtPosition(collidingItem, belowOfItem)) _gridList._updateItemPosition(collidingItem, belowOfItem);\n\t\t\t\t\telse if (_gridList._itemFitsAtPosition(collidingItem, rightOfItem)) _gridList._updateItemPosition(collidingItem, rightOfItem);\n\t\t\t\t\telse return false;\n\t\t\t\t}\n\t\t\t\tGridList$1.cloneItems(_gridList.items, this.items);\n\t\t\t\tthis.generateGrid();\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\t_pullItemsToLeft: function(fixedItem) {\n\t\t\t\t/**\n\t\t\t\t* Build the grid from scratch, by using the current item positions and\n\t\t\t\t* pulling them as much to the left as possible, removing as space between\n\t\t\t\t* them as possible.\n\t\t\t\t*\n\t\t\t\t* If a \"fixed item\" is provided, its position will be kept intact and the\n\t\t\t\t* rest of the items will be layed around it.\n\t\t\t\t*/\n\t\t\t\tthis._sortItemsByPosition();\n\t\t\t\tthis._resetGrid();\n\t\t\t\tif (fixedItem) {\n\t\t\t\t\tvar fixedPosition = this._getItemPosition(fixedItem);\n\t\t\t\t\tthis._updateItemPosition(fixedItem, [fixedPosition.x, fixedPosition.y]);\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i < this.items.length; i++) {\n\t\t\t\t\tvar item = this.items[i], position = this._getItemPosition(item);\n\t\t\t\t\tif (fixedItem && item == fixedItem) continue;\n\t\t\t\t\tvar x = this._findLeftMostPositionForItem(item), newPosition = this.findPositionForItem(item, {\n\t\t\t\t\t\tx,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t}, position.y);\n\t\t\t\t\tthis._updateItemPosition(item, newPosition);\n\t\t\t\t}\n\t\t\t},\n\t\t\t_findLeftMostPositionForItem: function(item) {\n\t\t\t\t/**\n\t\t\t\t* When pulling items to the left, we need to find the leftmost position for\n\t\t\t\t* an item, with two considerations in mind:\n\t\t\t\t* - preserving its current row\n\t\t\t\t* - preserving the previous horizontal order between items\n\t\t\t\t*/\n\t\t\t\tvar tail = 0, position = this._getItemPosition(item);\n\t\t\t\tfor (var i = 0; i < this.grid.length; i++) for (var j = position.y; j < position.y + position.h; j++) {\n\t\t\t\t\tvar otherItem = this.grid[i][j];\n\t\t\t\t\tif (!otherItem) continue;\n\t\t\t\t\tvar otherPosition = this._getItemPosition(otherItem);\n\t\t\t\t\tif (this.items.indexOf(otherItem) < this.items.indexOf(item)) tail = otherPosition.x + otherPosition.w;\n\t\t\t\t}\n\t\t\t\treturn tail;\n\t\t\t},\n\t\t\t_getItemByAttribute: function(key, value) {\n\t\t\t\tfor (var i = 0; i < this.items.length; i++) if (this.items[i][key] === value) return this.items[i];\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\t_padNumber: function(nr, prefix) {\n\t\t\t\treturn nr >= 10 ? nr : prefix + nr;\n\t\t\t},\n\t\t\t_getItemPosition: function(item) {\n\t\t\t\t/**\n\t\t\t\t* If the direction is vertical we need to rotate the grid 90 deg to the\n\t\t\t\t* left. Thus, we simulate the fact that items are being pulled to the top.\n\t\t\t\t*\n\t\t\t\t* Since the items have widths and heights, if we apply the classic\n\t\t\t\t* counter-clockwise 90 deg rotation\n\t\t\t\t*\n\t\t\t\t* [0 -1]\n\t\t\t\t* [1 0]\n\t\t\t\t*\n\t\t\t\t* then the top left point of an item will become the bottom left point of\n\t\t\t\t* the rotated item. To adjust for this, we need to subtract from the y\n\t\t\t\t* position the height of the original item - the width of the rotated item.\n\t\t\t\t*\n\t\t\t\t* However, if we do this then we'll reverse some actions: resizing the\n\t\t\t\t* width of an item will stretch the item to the left instead of to the\n\t\t\t\t* right; resizing an item that doesn't fit into the grid will push the\n\t\t\t\t* items around it instead of going on a new row, etc.\n\t\t\t\t*\n\t\t\t\t* We found it better to do a vertical flip of the grid after rotating it.\n\t\t\t\t* This restores the direction of the actions and greatly simplifies the\n\t\t\t\t* transformations.\n\t\t\t\t*/\n\t\t\t\tif (this._options.direction === \"horizontal\") return item;\n\t\t\t\telse return {\n\t\t\t\t\tx: item.y,\n\t\t\t\t\ty: item.x,\n\t\t\t\t\tw: item.h,\n\t\t\t\t\th: item.w\n\t\t\t\t};\n\t\t\t},\n\t\t\t_setItemPosition: function(item, position) {\n\t\t\t\t/**\n\t\t\t\t* See _getItemPosition.\n\t\t\t\t*/\n\t\t\t\tif (this._options.direction === \"horizontal\") {\n\t\t\t\t\titem.x = position[0];\n\t\t\t\t\titem.y = position[1];\n\t\t\t\t} else {\n\t\t\t\t\titem.x = position[1];\n\t\t\t\t\titem.y = position[0];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tvar GridCol = function(lanes) {\n\t\t\tfor (var i = 0; i < lanes; i++) this.push(null);\n\t\t};\n\t\tGridCol.prototype = [];\n\t\treturn GridList$1;\n\t});\n}) });\n\n//#endregion\n//#region src/Grid.css\nvar import_gridList = /* @__PURE__ */ __toESM(require_gridList(), 1);\n\n//#endregion\n//#region src/Grid.ts\nvar GridList = import_gridList && import_gridList.default || import_gridList;\nvar Grid = class extends HTMLWidget {\n\tdivItems;\n\tgridList;\n\titems;\n\titemsMap;\n\torigItems;\n\tcellWidth;\n\tcellHeight;\n\tdragItem;\n\tdragItemPos;\n\t_d3Drag;\n\t_d3DragResize;\n\t_selectionBag;\n\t_scrollBarWidth;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._selectionBag = new Utility.Selection(this);\n\t\tthis.content([]);\n\t}\n\tgetDimensions() {\n\t\tconst size = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\t\tthis.content().forEach(function(cell) {\n\t\t\tif (size.width < cell.gridCol() + cell.gridColSpan()) size.width = cell.gridCol() + cell.gridColSpan();\n\t\t\tif (size.height < cell.gridRow() + cell.gridRowSpan()) size.height = cell.gridRow() + cell.gridRowSpan();\n\t\t}, this);\n\t\treturn size;\n\t}\n\tclearContent(widget) {\n\t\tthis.content(this.content().filter(function(contentWidget) {\n\t\t\tif (!widget) {\n\t\t\t\tcontentWidget.target(null);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tlet w = contentWidget;\n\t\t\twhile (w) {\n\t\t\t\tif (widget === w) {\n\t\t\t\t\tcontentWidget.target(null);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tw = w.widget ? w.widget() : null;\n\t\t\t}\n\t\t\treturn true;\n\t\t}));\n\t}\n\tsetContent(row, col, widget, title, rowSpan, colSpan) {\n\t\trowSpan = rowSpan || 1;\n\t\tcolSpan = colSpan || 1;\n\t\ttitle = title || \"\";\n\t\tthis.content(this.content().filter(function(contentWidget) {\n\t\t\tif (contentWidget.gridRow() === row && contentWidget.gridCol() === col) {\n\t\t\t\tcontentWidget.target(null);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}));\n\t\tif (widget) {\n\t\t\tconst cell = new Cell().gridRow(row).gridCol(col).widget(widget).title(title).gridRowSpan(rowSpan).gridColSpan(colSpan);\n\t\t\tthis.content().push(cell);\n\t\t}\n\t\treturn this;\n\t}\n\tsortedContent() {\n\t\treturn this.content().sort(function(l, r) {\n\t\t\tif (l.gridRow() === r.gridRow()) return l.gridCol() - r.gridCol();\n\t\t\treturn l.gridRow() - r.gridRow();\n\t\t});\n\t}\n\tgetCell(row, col) {\n\t\tlet retVal = null;\n\t\tthis.content().some(function(cell) {\n\t\t\tif (row >= cell.gridRow() && row < cell.gridRow() + cell.gridRowSpan() && col >= cell.gridCol() && col < cell.gridCol() + cell.gridColSpan()) {\n\t\t\t\tretVal = cell;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn retVal;\n\t}\n\tgetWidgetCell(id) {\n\t\tlet retVal = null;\n\t\tthis.content().some(function(cell) {\n\t\t\tif (cell.widget().id() === id) {\n\t\t\t\tretVal = cell;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn retVal;\n\t}\n\tgetContent(id) {\n\t\tlet retVal = null;\n\t\tthis.content().some(function(cell) {\n\t\t\tif (cell.widget().id() === id) {\n\t\t\t\tretVal = cell.widget();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn retVal;\n\t}\n\tcellToGridItem(cell) {\n\t\treturn {\n\t\t\tx: cell.gridCol(),\n\t\t\ty: cell.gridRow(),\n\t\t\tw: cell.gridColSpan(),\n\t\t\th: cell.gridRowSpan(),\n\t\t\tid: cell.id(),\n\t\t\tcell\n\t\t};\n\t}\n\tgridItemToCell(item) {\n\t\titem.cell.gridCol(item.x).gridRow(item.y).gridColSpan(item.w).gridRowSpan(item.h);\n\t}\n\tresetItemsPos() {\n\t\tthis.origItems.forEach(function(origItem) {\n\t\t\tconst item = this.itemsMap[origItem.id];\n\t\t\titem.x = origItem.x;\n\t\t\titem.y = origItem.y;\n\t\t}, this);\n\t}\n\tinitGridList() {\n\t\tthis.itemsMap = {};\n\t\tthis.items = this.content().map(function(cell) {\n\t\t\tconst retVal = this.cellToGridItem(cell);\n\t\t\tthis.itemsMap[retVal.id] = retVal;\n\t\t\treturn retVal;\n\t\t}, this);\n\t\tthis.origItems = this.content().map(this.cellToGridItem);\n\t\tthis.gridList = new GridList(this.items, {\n\t\t\tdirection: this.snapping(),\n\t\t\tlanes: this.snapping() === \"horizontal\" ? this.snappingRows() : this.snappingColumns()\n\t\t});\n\t}\n\tkillGridList() {\n\t\tthis.gridList = null;\n\t\tdelete this.items;\n\t\tdelete this.itemsMap;\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._scrollBarWidth = Platform.getScrollbarWidth();\n\t\tconst context = this;\n\t\tthis._d3Drag = drag().subject(function(_d) {\n\t\t\tconst d = context.cellToGridItem(_d);\n\t\t\treturn {\n\t\t\t\tx: d.x * context.cellWidth,\n\t\t\t\ty: d.y * context.cellHeight\n\t\t\t};\n\t\t}).on(\"start\", function(_d) {\n\t\t\tif (!context.designMode()) return;\n\t\t\td3Event().sourceEvent.stopPropagation();\n\t\t\tcontext.initGridList();\n\t\t\tconst d = context.itemsMap[_d.id()];\n\t\t\tcontext.dragItem = element.append(\"div\").attr(\"class\", \"dragging\").style(\"transform\", function() {\n\t\t\t\treturn \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n\t\t\t}).style(\"width\", function() {\n\t\t\t\treturn d.w * context.cellWidth - context.gutter() + \"px\";\n\t\t\t}).style(\"height\", function() {\n\t\t\t\treturn d.h * context.cellHeight - context.gutter() + \"px\";\n\t\t\t});\n\t\t\tcontext.selectionBagClick(_d);\n\t\t}).on(\"drag\", function(_d) {\n\t\t\tif (!context.designMode()) return;\n\t\t\tconst event = d3Event();\n\t\t\tevent.sourceEvent.stopPropagation();\n\t\t\tconst d = context.itemsMap[_d.id()];\n\t\t\tif (event.x < 0) event.x = 0;\n\t\t\tif (event.x + d.w * context.cellWidth > context.snappingColumns() * context.cellWidth) event.x = context.snappingColumns() * context.cellWidth - d.w * context.cellWidth;\n\t\t\tif (event.y < 0) event.y = 0;\n\t\t\tif (event.y + d.h * context.cellWidth > context.snappingRows() * context.cellWidth) event.y = context.snappingRows() * context.cellWidth - d.h * context.cellWidth;\n\t\t\tconst 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\t\t\tif (d.x !== pos[0] || d.y !== pos[1]) {\n\t\t\t\tif (context.snapping() !== \"none\") {\n\t\t\t\t\tcontext.resetItemsPos();\n\t\t\t\t\tcontext.gridList.moveItemToPosition(d, pos);\n\t\t\t\t} else {\n\t\t\t\t\td.x = pos[0];\n\t\t\t\t\td.y = pos[1];\n\t\t\t\t}\n\t\t\t\tif (_d.gridCol() !== d.x || _d.gridRow() !== d.y) {\n\t\t\t\t\tcontext.items.forEach(context.gridItemToCell);\n\t\t\t\t\tcontext.updateGrid(false, 100);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontext.dragItem.style(\"transform\", function() {\n\t\t\t\treturn \"translate(\" + event.x + \"px, \" + event.y + \"px)\";\n\t\t\t}).style(\"width\", function() {\n\t\t\t\treturn d.w * context.cellWidth + \"px\";\n\t\t\t}).style(\"height\", function() {\n\t\t\t\treturn d.h * context.cellHeight + \"px\";\n\t\t\t});\n\t\t}).on(\"end\", function() {\n\t\t\tif (!context.designMode()) return;\n\t\t\td3Event().sourceEvent.stopPropagation();\n\t\t\tcontext.dragItem.remove();\n\t\t\tcontext.dragItem = null;\n\t\t\tcontext.killGridList();\n\t\t});\n\t\tthis._d3DragResize = drag().subject(function(_d) {\n\t\t\tconst d = context.cellToGridItem(_d);\n\t\t\treturn {\n\t\t\t\tx: (d.x + d.w - 1) * context.cellWidth,\n\t\t\t\ty: (d.y + d.h - 1) * context.cellHeight\n\t\t\t};\n\t\t}).on(\"start\", function(_d) {\n\t\t\tif (!context.designMode()) return;\n\t\t\td3Event().sourceEvent.stopPropagation();\n\t\t\tcontext.initGridList();\n\t\t\tconst d = context.itemsMap[_d.id()];\n\t\t\tcontext.dragItem = element.append(\"div\").attr(\"class\", \"resizing\").style(\"transform\", function() {\n\t\t\t\treturn \"translate(\" + d.x * context.cellWidth + \"px, \" + d.y * context.cellHeight + \"px)\";\n\t\t\t}).style(\"width\", function() {\n\t\t\t\treturn d.w * context.cellWidth - context.gutter() + \"px\";\n\t\t\t}).style(\"height\", function() {\n\t\t\t\treturn d.h * context.cellHeight - context.gutter() + \"px\";\n\t\t\t});\n\t\t\tcontext.dragItemPos = {\n\t\t\t\tx: d.x,\n\t\t\t\ty: d.y\n\t\t\t};\n\t\t}).on(\"drag\", function(_d) {\n\t\t\tif (!context.designMode()) return;\n\t\t\tconst event = d3Event();\n\t\t\tevent.sourceEvent.stopPropagation();\n\t\t\tconst d = context.itemsMap[_d.id()];\n\t\t\tconst pos = [Math.max(0, Math.round(event.x / context.cellWidth)), Math.max(0, Math.round(event.y / context.cellHeight))];\n\t\t\tconst size = {\n\t\t\t\tw: Math.max(1, pos[0] - d.x + 1),\n\t\t\t\th: Math.max(1, pos[1] - d.y + 1)\n\t\t\t};\n\t\t\tif (d.w !== size.w || d.h !== size.h) {\n\t\t\t\tif (context.snapping() !== \"none\") {\n\t\t\t\t\tcontext.resetItemsPos();\n\t\t\t\t\tcontext.gridList.resizeItem(d, size);\n\t\t\t\t} else {\n\t\t\t\t\td.w = size.w;\n\t\t\t\t\td.h = size.h;\n\t\t\t\t}\n\t\t\t\tif (_d.gridColSpan() !== d.w || _d.gridRowSpan() !== d.h) {\n\t\t\t\t\tcontext.items.forEach(context.gridItemToCell);\n\t\t\t\t\tcontext.updateGrid(d.id, 100);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontext.dragItem.style(\"width\", function() {\n\t\t\t\treturn (-d.x + 1) * context.cellWidth + event.x - context.gutter() + \"px\";\n\t\t\t}).style(\"height\", function() {\n\t\t\t\treturn (-d.y + 1) * context.cellHeight + event.y - context.gutter() + \"px\";\n\t\t\t});\n\t\t}).on(\"end\", function() {\n\t\t\tif (!context.designMode()) return;\n\t\t\td3Event().sourceEvent.stopPropagation();\n\t\t\tcontext.dragItem.remove();\n\t\t\tcontext.dragItem = null;\n\t\t\tcontext.killGridList();\n\t\t});\n\t}\n\tupdateGrid(resize, transitionDuration = 0, _noRender = false) {\n\t\ttransitionDuration = transitionDuration || 0;\n\t\tconst context = this;\n\t\tthis.divItems.classed(\"draggable\", this.designMode()).transition().duration(transitionDuration).style(\"left\", function(d) {\n\t\t\treturn d.gridCol() * context.cellWidth + context.gutter() / 2 + \"px\";\n\t\t}).style(\"top\", function(d) {\n\t\t\treturn d.gridRow() * context.cellHeight + context.gutter() / 2 + \"px\";\n\t\t}).style(\"width\", function(d) {\n\t\t\treturn d.gridColSpan() * context.cellWidth - context.gutter() + \"px\";\n\t\t}).style(\"height\", function(d) {\n\t\t\treturn d.gridRowSpan() * context.cellHeight - context.gutter() + \"px\";\n\t\t}).on(\"end\", function(d) {\n\t\t\td.surfaceShadow_default(context.surfaceShadow()).surfacePadding_default(context.surfacePadding()).surfaceBorderWidth_default(context.surfaceBorderWidth()).surfaceBackgroundColor_default(context.surfaceBackgroundColor());\n\t\t\tif (resize === true || resize === d.id()) d.resize().lazyRender();\n\t\t});\n\t}\n\tupdate(domNode, element2) {\n\t\tsuper.update(domNode, element2);\n\t\tthis._placeholderElement.style(\"overflow-x\", this.fitTo() === \"width\" ? \"hidden\" : null);\n\t\tthis._placeholderElement.style(\"overflow-y\", this.fitTo() === \"width\" ? \"scroll\" : null);\n\t\tconst dimensions = this.getDimensions();\n\t\tthis.cellWidth = (this.width() - (this.fitTo() === \"width\" ? this._scrollBarWidth : 0)) / dimensions.width;\n\t\tthis.cellHeight = this.fitTo() === \"all\" ? this.height() / dimensions.height : this.cellWidth;\n\t\tif (this.designMode()) {\n\t\t\tconst cellLaneRatio = Math.min(this.width() / this.snappingColumns(), this.height() / this.snappingRows());\n\t\t\tthis.cellWidth = Math.floor(cellLaneRatio);\n\t\t\tthis.cellHeight = this.cellWidth;\n\t\t}\n\t\tconst context = this;\n\t\tconst divItems = element2.selectAll(\"#\" + this.id() + \" > .ddCell\").data(this.content(), function(d) {\n\t\t\treturn d.id();\n\t\t});\n\t\tthis.divItems = divItems.enter().append(\"div\").attr(\"class\", \"ddCell\").each(function(d) {\n\t\t\td.target(this);\n\t\t\td.__grid_watch = d.monitor(function(key, newVal, oldVal) {\n\t\t\t\tif (context._renderCount && (key === \"snapping\" || key.indexOf(\"grid\") === 0) && newVal !== oldVal) {\n\t\t\t\t\tif (!context.gridList) {\n\t\t\t\t\t\tcontext.initGridList();\n\t\t\t\t\t\tif (context.snapping() !== \"none\") context.gridList.resizeGrid(context.snapping() === \"horizontal\" ? context.snappingRows() : context.snappingColumns());\n\t\t\t\t\t\tcontext.items.forEach(context.gridItemToCell);\n\t\t\t\t\t\tcontext.updateGrid(d.id(), 100);\n\t\t\t\t\t\tcontext.killGridList();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tselect(this).append(\"div\").attr(\"class\", \"resizeHandle\").call(context._d3DragResize).append(\"div\").attr(\"class\", \"resizeHandleDisplay\");\n\t\t}).merge(divItems);\n\t\tthis.divItems.each(function(d) {\n\t\t\tconst element = select(this);\n\t\t\tif (context.designMode()) element.call(context._d3Drag);\n\t\t\telse element.on(\"mousedown.drag\", null).on(\"touchstart.drag\", null);\n\t\t});\n\t\tthis.divItems.select(\".resizeHandle\").style(\"display\", this.designMode() ? null : \"none\");\n\t\tthis.updateGrid(true);\n\t\tdivItems.exit().each(function(d) {\n\t\t\td.target(null);\n\t\t\tif (d.__grid_watch) d.__grid_watch.remove();\n\t\t}).remove();\n\t\tconst lanesBackground = element2.selectAll(\"#\" + this.id() + \" > .laneBackground\").data(this.designMode() ? [\"\"] : []);\n\t\tlanesBackground.enter().insert(\"div\", \":first-child\").attr(\"class\", \"laneBackground\").style(\"left\", \"1px\").style(\"top\", \"1px\").on(\"click\", function() {\n\t\t\tcontext.selectionBagClear();\n\t\t}).merge(lanesBackground).style(\"width\", this.snappingColumns() * this.cellWidth + \"px\").style(\"height\", this.snappingRows() * this.cellHeight + \"px\");\n\t\tlanesBackground.exit().each(function() {\n\t\t\tcontext.selectionBagClear();\n\t\t}).remove();\n\t\tconst lanes = element2.selectAll(\"#\" + this.id() + \" > .lane\").data(this.designMode() ? [\"\"] : []);\n\t\tlanes.enter().append(\"div\").attr(\"class\", \"lane\").style(\"left\", \"1px\").style(\"top\", \"1px\");\n\t\tlanes.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\");\n\t\tlanes.exit().remove();\n\t}\n\texit(domNode, element) {\n\t\tthis.content().forEach((w) => w.target(null));\n\t\tsuper.exit(domNode, element);\n\t}\n\t_createSelectionObject(d) {\n\t\treturn {\n\t\t\t_id: d._id,\n\t\t\telement: () => {\n\t\t\t\treturn d._element;\n\t\t\t},\n\t\t\twidget: d\n\t\t};\n\t}\n\tselection(_) {\n\t\tif (!arguments.length) return this._selectionBag.get().map(function(d) {\n\t\t\treturn d._id;\n\t\t});\n\t\tthis._selectionBag.set(_.map(function(row) {\n\t\t\treturn this._createSelectionObject(row);\n\t\t}, this));\n\t\treturn this;\n\t}\n\tselectionBagClear() {\n\t\tif (!this._selectionBag.isEmpty()) {\n\t\t\tthis._selectionBag.clear();\n\t\t\tthis.postSelectionChange();\n\t\t}\n\t}\n\tselectionBagClick(d) {\n\t\tif (d !== null) {\n\t\t\tconst selectionObj = this._createSelectionObject(d);\n\t\t\tif (d3Event().sourceEvent.ctrlKey) if (this._selectionBag.isSelected(selectionObj)) {\n\t\t\t\tthis._selectionBag.remove(selectionObj);\n\t\t\t\tthis.postSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._selectionBag.append(selectionObj);\n\t\t\t\tthis.postSelectionChange();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst selected = this._selectionBag.get();\n\t\t\t\tif (selected.length === 1 && selected[0]._id === selectionObj._id) this.selectionBagClear();\n\t\t\t\telse this._selectionBag.set([selectionObj]);\n\t\t\t\tthis.postSelectionChange();\n\t\t\t}\n\t\t}\n\t}\n\tpostSelectionChange() {}\n\tapplyLayout(layoutArr) {\n\t\tthis.divItems.each((d, i) => {\n\t\t\tif (layoutArr[i]) {\n\t\t\t\tconst [x, y, w, h] = layoutArr[i];\n\t\t\t\td.gridCol(x).gridRow(y).gridColSpan(w).gridRowSpan(h);\n\t\t\t}\n\t\t});\n\t\tthis.updateGrid(true);\n\t}\n\tvizActivation(elem) {}\n};\nGrid.prototype._class += \" layout_Grid\";\nGrid.prototype.publish(\"designMode\", false, \"boolean\", \"Design Mode\", null, { tags: [\"Basic\"] });\nGrid.prototype.publish(\"showLanes\", true, \"boolean\", \"Show snapping lanes when in design mode\", null, {\n\ttags: [\"Basic\"],\n\tdisable: (w) => !w.designMode()\n});\nGrid.prototype.publish(\"fitTo\", \"all\", \"set\", \"Sizing Strategy\", [\"all\", \"width\"], { tags: [\"Basic\"] });\nGrid.prototype.publish(\"snapping\", \"vertical\", \"set\", \"Snapping Strategy\", [\n\t\"vertical\",\n\t\"horizontal\",\n\t\"none\"\n]);\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\", true, \"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, {\n\ttags: [\"Basic\"],\n\trender: false\n});\n\n//#endregion\n//#region src/HorizontalList.ts\nvar HorizontalList = class extends FlexGrid {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.orientation_default(\"horizontal\");\n\t\tthis.flexWrap_default(\"nowrap\");\n\t}\n};\nHorizontalList.prototype._class += \" layout_HorizontalList\";\n\n//#endregion\n//#region src/Layered.ts\nvar Layered = class extends HTMLWidget {\n\t_contentContainer;\n\t_widgetPlacements;\n\t_widgetRatios;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._widgetPlacements = [];\n\t\tthis._widgetRatios = [];\n\t}\n\taddLayer(widget, placement = \"default\", widthRatio = 1, heightRatio = 1) {\n\t\tconst widgets = this.widgets();\n\t\twidgets.push(widget ? widget : new Text().text(\"No widget defined for layer.\"));\n\t\tthis.widgets(widgets);\n\t\tthis._widgetPlacements.push(placement);\n\t\tthis._widgetRatios.push([widthRatio, heightRatio]);\n\t\treturn this;\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._contentContainer = element.append(\"div\").attr(\"class\", \"container\");\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst context = this;\n\t\telement.style(\"padding\", this.surfacePadding() + \"px\");\n\t\tconst content = this._contentContainer.selectAll(\".content.id\" + this.id()).data(this.widgets(), function(d) {\n\t\t\treturn d.id();\n\t\t});\n\t\tcontent.enter().append(\"div\").attr(\"class\", \"content id\" + this.id()).each(function(widget, idx) {\n\t\t\twidget.target(this);\n\t\t}).merge(content).each(function(widget, idx) {\n\t\t\tconst clientSize = {\n\t\t\t\twidth: context.clientWidth(),\n\t\t\t\theight: context.clientHeight()\n\t\t\t};\n\t\t\tconst widgetSize = context.widgetSize(idx, clientSize);\n\t\t\tconst widgetPosition = context.widgetPosition(idx, clientSize, widgetSize);\n\t\t\tthis.style.top = widgetPosition.y + \"px\";\n\t\t\tthis.style.left = widgetPosition.x + \"px\";\n\t\t\twidget.resize(widgetSize).render();\n\t\t});\n\t\tcontent.exit().each(function(widget, idx) {\n\t\t\twidget.target(null);\n\t\t}).remove();\n\t\tcontent.order();\n\t}\n\twidgetSize(idx, clientSize) {\n\t\tif (this._widgetPlacements[idx] === \"default\") return {\n\t\t\twidth: clientSize.width * this._widgetRatios[idx][0],\n\t\t\theight: clientSize.height * this._widgetRatios[idx][1]\n\t\t};\n\t\telse return {\n\t\t\twidth: clientSize.width * this._widgetRatios[idx][0],\n\t\t\theight: clientSize.height * this._widgetRatios[idx][1]\n\t\t};\n\t}\n\twidgetPosition(idx, clientSize, widgetSize) {\n\t\tswitch (this._widgetPlacements[idx]) {\n\t\t\tdefault: return {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t};\n\t\t\tcase \"top\": return {\n\t\t\t\tx: clientSize.width / 2 - widgetSize.width / 2,\n\t\t\t\ty: 0\n\t\t\t};\n\t\t\tcase \"bottom\": return {\n\t\t\t\tx: clientSize.width / 2 - widgetSize.width / 2,\n\t\t\t\ty: clientSize.height - widgetSize.height\n\t\t\t};\n\t\t\tcase \"left\": return {\n\t\t\t\tx: 0,\n\t\t\t\ty: clientSize.height / 2 - widgetSize.height / 2\n\t\t\t};\n\t\t\tcase \"right\": return {\n\t\t\t\tx: clientSize.width - widgetSize.width,\n\t\t\t\ty: clientSize.height / 2 - widgetSize.height / 2\n\t\t\t};\n\t\t\tcase \"center\": return {\n\t\t\t\tx: clientSize.width / 2 - widgetSize.width / 2,\n\t\t\t\ty: clientSize.height / 2 - widgetSize.height / 2\n\t\t\t};\n\t\t}\n\t}\n};\nLayered.prototype._class += \" layout_Layered\";\nLayered.prototype.publish(\"surfacePadding\", 0, \"number\", \"Padding\");\nLayered.prototype.publish(\"widgets\", [], \"widgetArray\", \"widgets\", null, { tags: [\"Private\"] });\n\n//#endregion\n//#region src/Popup.ts\nvar Popup = class extends HTMLWidget {\n\t_surfaceButtons;\n\t_originalPosition;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t\tthis._surfaceButtons = [];\n\t}\n\tupdateState(visible) {\n\t\tvisible = visible || !this.popupState();\n\t\tthis.popupState(visible).render();\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis.widget().target(domNode);\n\t\tthis._originalPosition = this.position();\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\telement.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\");\n\t\tif (this.widget().size().height === 0) this.widget().resize(this.size());\n\t}\n\tpostUpdate(domNode, element) {\n\t\tlet left;\n\t\tlet top;\n\t\tswitch (this.centerPopup()) {\n\t\t\tcase \"container\":\n\t\t\t\tif (this._placeholderElement) {\n\t\t\t\t\tleft = parseInt(this._placeholderElement.style(\"width\")) / 2 - this.widget().width() / 2;\n\t\t\t\t\ttop = parseInt(this._placeholderElement.style(\"height\")) / 2 - this.widget().height() / 2;\n\t\t\t\t}\n\t\t\t\tthis.position(\"absolute\");\n\t\t\t\tbreak;\n\t\t\tcase \"window\":\n\t\t\t\tleft = window.innerWidth / 2 - this.widget().width() / 2;\n\t\t\t\ttop = window.innerHeight / 2 - this.widget().height() / 2;\n\t\t\t\tthis.position(\"fixed\");\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tleft = 0;\n\t\t\t\ttop = 0;\n\t\t\t\tthis.position(this._originalPosition);\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.pos({\n\t\t\tx: left,\n\t\t\ty: top\n\t\t});\n\t\tsuper.postUpdate(domNode, element);\n\t\telement.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\t}\n\texit(domNode, element) {\n\t\tif (this.widget()) this.widget().target(null);\n\t\tsuper.exit(domNode, element);\n\t}\n\tclick(obj) {}\n};\nPopup.prototype._class += \" layout_Popup\";\nPopup.prototype.publish(\"popupState\", false, \"boolean\", \"State of the popup, visible (true) or hidden (false)\", null, {});\nPopup.prototype.publish(\"shrinkWrap\", false, \"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\", [\n\t\"none\",\n\t\"container\",\n\t\"window\"\n], {});\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\", [\n\t\"absolute\",\n\t\"relative\",\n\t\"fixed\",\n\t\"static\",\n\t\"initial\",\n\t\"inherit\"\n], { tags: [\"Private\"] });\nPopup.prototype.publish(\"widget\", null, \"widget\", \"Widget\", null, { tags: [\"Private\"] });\n\n//#endregion\n//#region src/Tabbed.ts\nvar Tabbed = class extends HTMLWidget {\n\t_tabContainer;\n\t_contentContainer;\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tclearTabs() {\n\t\tthis.labels([]);\n\t\tthis.widgets([]);\n\t\treturn this;\n\t}\n\taddTab(widget, label, isActive, callback) {\n\t\tconst widgetSize = widget.size();\n\t\tif (widgetSize.width === 0 && widgetSize.height === 0) widget.size({\n\t\t\twidth: \"100%\",\n\t\t\theight: \"100%\"\n\t\t});\n\t\tconst labels = this.labels();\n\t\tconst widgets = this.widgets();\n\t\tif (isActive) this.activeTabIdx(this.widgets().length);\n\t\tlabels.push(label);\n\t\tconst surface = new Surface().widget(widget ? widget : new Text().text(\"No widget defined for tab\"));\n\t\twidgets.push(surface);\n\t\tthis.labels(labels);\n\t\tthis.widgets(widgets);\n\t\tif (callback) callback(surface);\n\t\treturn this;\n\t}\n\twidgetSize(widgetDiv) {\n\t\tconst width = this.clientWidth();\n\t\tlet height = this.clientHeight();\n\t\tconst tcBox = this._tabContainer.node().getBoundingClientRect();\n\t\tif (typeof tcBox.height !== \"undefined\") height -= tcBox.height;\n\t\treturn {\n\t\t\twidth,\n\t\t\theight\n\t\t};\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t\tthis._tabContainer = element.append(\"div\");\n\t\tthis._contentContainer = element.append(\"div\");\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst context = this;\n\t\telement.style(\"padding\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null);\n\t\tconst tabs = this._tabContainer.selectAll(\".tab-button.id\" + this.id()).data(this.showTabs() ? this.labels() : [], function(d) {\n\t\t\treturn d;\n\t\t});\n\t\ttabs.enter().append(\"span\").attr(\"class\", \"tab-button id\" + this.id()).style(\"cursor\", \"pointer\").on(\"click\", function(d, idx) {\n\t\t\tcontext.click(context.widgets()[idx].widget(), d, idx);\n\t\t\tcontext.activeTabIdx(idx).render();\n\t\t}).merge(tabs).classed(\"active\", function(d, idx) {\n\t\t\treturn context.activeTabIdx() === idx;\n\t\t}).text(function(d) {\n\t\t\treturn d;\n\t\t});\n\t\ttabs.exit().remove();\n\t\tconst content = this._contentContainer.selectAll(\".tab-content.id\" + this.id()).data(this.widgets(), function(d) {\n\t\t\treturn d.id();\n\t\t});\n\t\tcontent.enter().append(\"div\").attr(\"class\", \"tab-content id\" + this.id()).each(function(widget, idx) {\n\t\t\twidget.target(this);\n\t\t}).merge(content).classed(\"active\", function(d, idx) {\n\t\t\treturn context.activeTabIdx() === idx;\n\t\t}).style(\"display\", function(d, idx) {\n\t\t\treturn context.activeTabIdx() === idx ? \"block\" : \"none\";\n\t\t}).each(function(surface, idx) {\n\t\t\tsurface.visible(context.activeTabIdx() === idx);\n\t\t\tif (context.activeTabIdx() === idx) {\n\t\t\t\tconst wSize = context.widgetSize(select(this));\n\t\t\t\tsurface.surfaceBorderWidth(context.showTabs() ? null : 0).surfacePadding(context.showTabs() ? null : 0).resize(wSize);\n\t\t\t}\n\t\t});\n\t\tcontent.exit().each(function(widget, idx) {\n\t\t\twidget.target(null);\n\t\t}).remove();\n\t\tswitch (this.tabLocation()) {\n\t\t\tcase \"bottom\":\n\t\t\t\tthis._tabContainer.attr(\"class\", \"on_bottom\").style(\"top\", this._contentContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\");\n\t\t\t\tthis._contentContainer.style(\"top\", this.surfacePadding_exists() ? this.surfacePadding() + \"px\" : null).style(\"position\", \"absolute\");\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._tabContainer.attr(\"class\", \"on_top\").style(\"top\", null).style(\"position\", \"relative\");\n\t\t\t\tthis._contentContainer.style(\"top\", this._tabContainer.node().offsetHeight + this.surfacePadding() + \"px\").style(\"position\", \"absolute\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tclick(widget, column, idx) {}\n};\nTabbed.prototype._class += \" layout_Tabbed\";\nTabbed.prototype.publish(\"showTabs\", true, \"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\"] });\n\n//#endregion\n//#region src/Toolbar.ts\nvar Toolbar = class extends HTMLWidget {\n\tconstructor() {\n\t\tsuper();\n\t\tthis._tag = \"div\";\n\t}\n\tenter(domNode, element) {\n\t\tsuper.enter(domNode, element);\n\t}\n\tupdate(domNode, element) {\n\t\tsuper.update(domNode, element);\n\t\tconst context = this;\n\t\telement.attr(\"title\", context.title()).style(\"background-color\", this.backgroundColor());\n\t\tconst title = element.selectAll(\"div.toolbar-title\").data(this.title() ? [this.title()] : []);\n\t\ttitle.enter().append(\"div\").classed(\"toolbar-title\", true).append(\"span\");\n\t\ttitle.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());\n\t\ttitle.exit().remove();\n\t\tconst childWidgets = element.selectAll(\"div.toolbar-child\").data(this.widgets() !== null ? this.widgets() : [], function(d) {\n\t\t\treturn d.id();\n\t\t});\n\t\tchildWidgets.enter().insert(\"div\", \"div.toolbar-title\").each(function(d, i) {\n\t\t\tconst widgetClass = context.widgetClasses()[i] ? context.widgetClasses()[i] + \" toolbar-child\" : \"toolbar-child\";\n\t\t\tselect(this).classed(widgetClass, true);\n\t\t\td.target(this);\n\t\t});\n\t\tchildWidgets.exit().each(function(d) {\n\t\t\td.target(null);\n\t\t}).remove();\n\t\tchildWidgets.order();\n\t}\n\trender(callback) {\n\t\tconst context = this;\n\t\treturn super.render(function(w) {\n\t\t\tconst toolbarBBox = context.element().node().getBoundingClientRect();\n\t\t\tlet minX = toolbarBBox.left + toolbarBBox.width;\n\t\t\tcontext.element().selectAll(\"div.toolbar-child\").each(function(d, i) {\n\t\t\t\tconst childBBox = this.getBoundingClientRect();\n\t\t\t\tif (minX > childBBox.left) minX = childBBox.left;\n\t\t\t});\n\t\t\tcontext.element().select(\".toolbar-title\").style(\"width\", minX - toolbarBBox.left - 4 + \"px\");\n\t\t\tif (callback) callback(w);\n\t\t});\n\t}\n\texit(domNode, element) {\n\t\tthis.widgets().forEach(function(w) {\n\t\t\tw.target(null);\n\t\t});\n\t\tsuper.exit(domNode, element);\n\t}\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, {\n\ttags: [\"Advanced\"],\n\toptional: true\n});\nToolbar.prototype.publish(\"fontColor\", null, \"html-color\", \"Title Font Color\", null, {\n\ttags: [\"Advanced\"],\n\toptional: true\n});\nToolbar.prototype.publish(\"fontFamily\", null, \"string\", \"Title Font Family\", null, {\n\ttags: [\"Advanced\"],\n\toptional: true\n});\nToolbar.prototype.publish(\"fontBold\", true, \"boolean\", \"Enable Bold Title Font\", null, {\n\ttags: [\"Advanced\"],\n\toptional: true\n});\nToolbar.prototype.publish(\"backgroundColor\", null, \"html-color\", \"Background Color\", null, {\n\ttags: [\"Intermediate\"],\n\toptional: true\n});\nToolbar.prototype.publish(\"responsive\", true, \"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\"] });\n\n//#endregion\n//#region src/VerticalList.ts\nvar VerticalList = class extends FlexGrid {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.orientation_default(\"vertical\");\n\t\tthis.flexWrap_default(\"nowrap\");\n\t}\n};\nVerticalList.prototype._class += \" layout_VerticalList\";\n\n//#endregion\nexport { AbsoluteSurface, Accordion, BUILD_VERSION, Border, Border2, Carousel, Cell, ChartPanel, FlexGrid, Grid, HorizontalList, Layered, Legend, Modal, PKG_NAME, PKG_VERSION, Popup, Surface, Tabbed, Toolbar, VerticalList, WidgetDiv };\n//# sourceMappingURL=index.js.map!function(){try{if(\"undefined\"!=typeof document){var o=document.createElement(\"style\");o.appendChild(document.createTextNode('.layout_AbsoluteSurface{pointer-events:none!important}.layout_AbsoluteSurface>.placeholder{pointer-events:all;position:relative;overflow:hidden}.layout_Accordion>ul{position:relative}.layout_Accordion.open>span{font-style:italic}.layout_Accordion.closed>ul{height:0;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{color:#fff;width:100%;height:26px;padding:4px 8px;font-size:13px;display:block;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;top:0;left:0}.layout_Accordion>.collapsible-icon{color:#fff;width:24px;height:24px;position:absolute;top:0;right:0}.layout_Surface{box-sizing:border-box;border:1px solid #e5e5e5;width:100%;height:100%;margin:0;overflow:hidden}.layout_Surface.shadow2{box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0003,0 1px 5px #0000001f}.layout_Surface>h3{background-color:#e5e5e5;margin:0;padding:2px}.layout_Surface .html-button-container{position:absolute;top:3px;right:0}.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;font-size:100px;position:absolute;top:calc(50% - 74px);left:calc(50% - 56px)}div[draggable=true].hideDragCellContent.content-icon-Line:before{content:\"\"}div[draggable=true].hideDragCellContent.content-icon-Pie:before{content:\"\";top:calc(50% - 72px);left:calc(50% - 45px)}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,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;z-index:1000;pointer-events:none;border-style:solid;border-width:0;padding:0;position:absolute;top:0;left:0}.layout_Border{width:100%;height:100%}.layout_Border>.border-content{width:100%;height:100%;position:relative}.layout_Border>.borderHandle{opacity:.3;visibility:hidden;background-color:#444;width:6px;height:6px;position:absolute}.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:1px solid #e5e5e5;border-radius:5px;display:inline-block;overflow:hidden}.layout_Border .cell h2{-webkit-margin:0px;text-align:center;margin:0;padding-top:4px}.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{box-sizing:border-box;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px 8px);border:2px dashed #7f8c8d;border-radius:0;position:fixed}.layout_Border .grid-drop-target.drop-target-over{background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#119bd71a 6px 12px);border:2px dashed #179bd7}.layout_Border2{flex-direction:column;display:flex}.layout_Border2>.body{flex-flow:row;margin:0;padding:0;display:flex}.layout_Border2>.body>.center{flex:1}.layout_Border2>.header,.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:hidden scroll}.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{opacity:.5;z-index:10000;background-color:#000;position:fixed}.layout_Modal-content{z-index:10100;background-color:#fff;position:fixed}.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{border-style:solid;flex-grow:1;overflow:hidden}.layout_Grid>.ddCell{position:absolute}.layout_Grid>.laneBackground{background:#f5f5f5;border-style:solid;border-width:1px;position:absolute}.layout_Grid>.lane{opacity:.25;pointer-events:none;border-style:none;border-radius:0;position:absolute}.layout_Grid>.ddCell.draggable{cursor:move;background-color:#f8f8ff;border-style:solid;border-width:1px;border-radius:0}.layout_Grid>.ddCell.draggable>.resizeHandle{cursor:nwse-resize;border-style:none;width:8px;height:8px;position:absolute;bottom:0;right:0}.layout_Grid>.ddCell.draggable .resizeHandleDisplay{background-color:none;border:2px solid #a9a9a9;border-width:0 2px 2px 0;width:4px;height:4px;position:absolute;bottom:2px;right:2px}.layout_Grid>.ddCell.draggable .resizeHandleDisplay:hover{border-color:orange}.layout_Grid>.dragging{background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6464641a 4px 8px);border:1px solid gray;border-radius:0;position:absolute}.layout_Grid>.resizing{opacity:.3;background:repeating-linear-gradient(-45deg,#0000,#0000 4px,orange 4px 8px);border:1px solid gray;border-radius:0;position:absolute}.layout_Grid>.ddCell.draggable .common_Widget.selected{background:repeating-linear-gradient(-45deg,#0000,#0000 4px,#6400001a 4px 8px);border:1px solid red;border-radius:0;position:absolute}.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{background-color:#ccc;border-top:1px solid #ddd;border-left:1px solid #ddd;border-right:1px solid #ddd;margin-right:4px;padding:2px 2px 4px;display:inline-block;position:relative;top:1px}.layout_Tabbed .tab-button.active{z-index:999;background-color:#fff}.layout_Tabbed .on_bottom .tab-button{border-top:none;border-bottom:1px solid #ddd;top:-1px}.layout_Toolbar{white-space:nowrap;background-color:#ddd;height:100%;overflow:hidden}.layout_Toolbar .toolbar-title{text-overflow:ellipsis;white-space:nowrap;margin-left:4px;font-weight:700;display:inline-block;position:relative;top:50%;overflow:hidden;transform:translateY(-50%)}.layout_Toolbar .toolbar-child{float:right;margin-left:4px;margin-right:4px;line-height:16px;position:relative;top:50%;transform:translateY(-50%)}\\n/*$vite$:1*/')),document.head.appendChild(o)}}catch(e){console.error(\"vite-plugin-css-injected-by-js\",e)}}();","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"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.cjs","sources":["../../layout/dist/index.js","../src/Utility.ts","../src/MultiChart.ts","../src/ChartPanel.ts","../src/Dermatology.ts","../src/MegaChart.ts","../src/Persist.ts","../src/__package__.ts"],"sourcesContent":["var t=Object.defineProperty,e=(e,i)=>t(e,\"name\",{value:i,configurable:!0});import{HTMLWidget as i,FAChar as s,select as o,selectAll as l,Utility as n,d3Event as r,Platform as h,drag as a,scaleLinear as d,dispatch as p,formatPrefix as c,format as u,formatLocale as g,formatSpecifier as f,sum as _,SVGWidget as y,Database as b,Palette as w,scaleOrdinal as m,ProgressBar as v,ToggleButton as x,Text as S,Button as C,Spacer as P,TitleBar as T,IconBar as z}from\"@hpcc-js/common\";import{Table as W}from\"@hpcc-js/dgrid\";import{instanceOfIHighlight as B}from\"@hpcc-js/api\";function I(t,i){for(var s=0;s<i.length;s++){const o=i[s];if(\"string\"!=typeof o&&!Array.isArray(o))for(const i in o)if(\"default\"!==i&&!(i in t)){const s=Object.getOwnPropertyDescriptor(o,i);s&&Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:/* @__PURE__ */e(()=>o[i],\"get\")})}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}))}e(I,\"_mergeNamespaces\");const A=\"@hpcc-js/layout\",H=\"3.4.2\",M=\"3.16.0\",k=class _AbsoluteSurface extends i{constructor(){super(),this._tag=\"div\"}enter(t,e){super.enter(t,e)}update(t,e){super.update(t,e);let i=0,s=0,o=this.clientWidth(),l=this.clientHeight();switch(this.units()){case\"pixels\":i=this.widgetX(),s=this.widgetY(),o=\"\"===this.widgetWidth()?o-i:Number(this.widgetWidth()),l=\"\"===this.widgetHeight()?l-s:Number(this.widgetHeight());break;case\"percent\":i=this.widgetX()*o/100,s=this.widgetY()*l/100,o=\"\"===this.widgetWidth()?o-i:Number(this.widgetWidth())*o/100,l=\"\"===this.widgetHeight()?l-s:Number(this.widgetHeight())*l/100}e.style(\"opacity\",this.opacity());const n=e.selectAll(\"#\"+this._id+\" > .placeholder\").data(this.widget()?[this.widget()]:[],function(t){return t._id});n.enter().append(\"div\").attr(\"class\",\"placeholder\").each(function(t){t.target(this)}).merge(n).style(\"left\",i+\"px\").style(\"top\",s+\"px\").style(\"width\",o+\"px\").style(\"bottom\",l+\"px\").each(function(t){t.resize({width:o,height:l})}),n.exit().each(function(t){t.target(null)}).remove()}exit(t,e){this.widget()&&this.widget().target(null),super.exit(t,e)}};e(k,\"AbsoluteSurface\");let F=k;F.prototype._class+=\" layout_AbsoluteSurface\",F.prototype.publish(\"units\",\"percent\",\"set\",\"Units\",[\"pixels\",\"percent\"]),F.prototype.publish(\"widgetX\",0,\"number\",\"Widget XPos\"),F.prototype.publish(\"widgetY\",0,\"number\",\"Widget YPos\"),F.prototype.publish(\"widgetWidth\",\"100\",\"string\",\"Widget Width, omit for full\"),F.prototype.publish(\"widgetHeight\",\"100\",\"string\",\"Widget Height, omit for full\"),F.prototype.publish(\"widget\",null,\"widget\",\"Widget\",null,{tags:[\"Private\"]}),F.prototype.publish(\"opacity\",1,\"number\",\"Opacity\");const O=class _Accordion extends i{_isClosed;titleSpan;iconDiv;ul;icon;constructor(){super(),this._tag=\"div\",this._isClosed=!1}pushListItem(t,e=!1,i=!1){const s=this.content();return t._protected=i,e?s.unshift(t):s.push(t),this.content(s),this}clearListItems(){const t=[];for(const e in this.content())this.content()[e]._protected&&t.push(this.content()[e]);return this.content(t),this}collapseClick(t){t.classed(\"closed\")?(this._isClosed=!1,t.classed(\"open\",!0),t.classed(\"closed\",!1)):(this._isClosed=!0,t.classed(\"open\",!1),t.classed(\"closed\",!0))}enter(t,e){super.enter(t,e);const i=this;this._isClosed=this.defaultCollapsed(),e.classed(this._isClosed?\"closed\":\"open\",!0),this.titleSpan=e.append(\"span\").classed(\"collapsible-title\",!0),this.iconDiv=e.append(\"div\").classed(\"collapsible-icon\",!0),this.ul=e.append(\"ul\"),this.icon=(new s).size({height:24,width:24}).target(this.iconDiv.node()),this.iconDiv.on(\"click\",function(){i.collapseClick(e),i.render()}),this.titleSpan.on(\"click\",function(){i.collapseClick(e),i.render()})}update(t,e){super.update(t,e);const i=this;this.titleSpan.text(i.title().length>0?i.title()+\"\":\"Accordion [\"+i._id+\"]\");const s=this.ul.selectAll(\"#\"+i._id+\" > ul > li\").data(this.content(),function(t){return t._id});s.enter().append(function(t){const e=document.createElement(\"li\");if(null!==t._target)return t._target;{const s=t.size();if(0===s.width||0===s.height){const e=i.size();t.size({width:e.width,height:e.width})}t.target(e)}return e}),s.exit().remove(),this.icon.text_colorFill(this.titleFontColor()).char(this._isClosed?this.closedIcon():this.openIcon()).render()}exit(t,e){super.exit(t,e)}};e(O,\"Accordion\");let L=O;L.prototype._class+=\" layout_Accordion\",L.prototype.publish(\"content\",[],\"widgetArray\",\"Array of widgets\",null,{tags:[\"Basic\"]}),L.prototype.publish(\"title\",\"\",\"string\",\"Title of collapsible section\",null,{tags:[\"Private\"]}),L.prototype.publish(\"openIcon\",\"\",\"string\",\"Icon to display when list is open\",null,{tags:[\"Private\"]}),L.prototype.publish(\"closedIcon\",\"\",\"string\",\"Icon to display when list is closed\",null,{tags:[\"Private\"]}),L.prototype.publish(\"titleFontColor\",\"#FFFFFF\",\"html-color\",\"Title font color\",null,{tags:[\"Private\"]}),L.prototype.publish(\"titleBackgroundColor\",\"#333333\",\"html-color\",\"Title background color\",null,{tags:[\"Private\"]}),L.prototype.publish(\"defaultCollapsed\",!1,\"boolean\",\"Collapsed by default if true\",null,{tags:[\"Private\"]});const D=class _Surface extends i{_surfaceButtons;constructor(){super(),this._tag=\"div\",this._surfaceButtons=[]}widgetSize(t,e){let i=this.clientWidth(),s=this.clientHeight();return this.title()&&(s-=this.calcHeight(t)),s-=this.calcFrameHeight(e),i-=this.calcFrameWidth(e),{width:i,height:s}}enter(t,e){super.enter(t,e)}update(t,e){super.update(t,e);const i=this;e.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());const s=e.selectAll(\".surfaceTitle\").data(this.title()?[this.title()]:[]);s.enter().insert(\"h3\",\"div\").attr(\"class\",\"surfaceTitle\").merge(s).text(function(t){return t}).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),s.exit().remove();const l=e.select(\".surfaceTitle\").append(\"div\").attr(\"class\",\"html-button-container\").selectAll(\".surface-button\").data(this.buttonAnnotations());l.enter().append(\"button\").classed(\"surface-button\",!0).each(function(t,e){const s=i._surfaceButtons[e]=o(this).attr(\"class\",\"surface-button\"+(t.class?\" \"+t.class:\"\")).attr(\"id\",t.id).style(\"padding\",t.padding).style(\"width\",t.width).style(\"height\",t.height).style(\"cursor\",\"pointer\");\"FontAwesome\"===t.font?s.style(\"background\",\"transparent\").style(\"border\",\"none\").on(\"click\",function(t){i.click(t)}).append(\"i\").attr(\"class\",\"fa\").text(function(){return t.label}):s.text(function(){return t.label}).on(\"click\",function(t){i.click(t)})}),l.exit().each(function(t,e){const s=o(this);delete i._surfaceButtons[e],s.remove()});const n=e.selectAll(\"#\"+this._id+\" > .surfaceWidget\").data(this.widget()?[this.widget()]:[],function(t){return t._id});n.enter().append(\"div\").attr(\"class\",\"surfaceWidget\").each(function(t){o(i.element().node().parentElement).classed(\"content-icon content-icon-\"+t.classID().split(\"_\")[1],!0),t.target(this)}).merge(n).style(\"padding\",this.surfacePadding_exists()?this.surfacePadding()+\"px\":null).each(function(t){const s=i.widgetSize(e.select(\"h3\"),o(this));s.width<0&&(s.width=0),s.height<0&&(s.height=0),t.resize({width:s.width,height:s.height})}),n.exit().each(function(t){t.target(null)}).remove()}exit(t,e){this.widget()&&this.widget().target(null),super.exit(t,e)}click(t){}};e(D,\"Surface\");let R=D;R.prototype._class+=\" layout_Surface\",R.prototype.publish(\"title\",\"\",\"string\",\"Title\",null,{tags:[\"Intermediate\"]}),R.prototype.publish(\"altText\",null,\"string\",\"Alt text\",null,{optional:!0}),R.prototype.publish(\"surfaceTitlePadding\",null,\"number\",\"Title Padding (px)\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleFontSize\",null,\"number\",\"Title Font Size (px)\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleFontColor\",null,\"html-color\",\"Title Font Color\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleFontFamily\",null,\"string\",\"Title Font Family\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleFontBold\",!0,\"boolean\",\"Enable Bold Title Font\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleBackgroundColor\",null,\"html-color\",\"Title Background Color\",null,{tags:[\"Advanced\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceTitleAlignment\",\"center\",\"set\",\"Title Alignment\",[\"left\",\"right\",\"center\"],{tags:[\"Basic\"],disable:/* @__PURE__ */e(t=>!t.title(),\"disable\")}),R.prototype.publish(\"surfaceShadow\",!1,\"boolean\",\"3D Shadow\"),R.prototype.publish(\"surfacePadding\",null,\"string\",\"Surface Padding (px)\",null,{tags:[\"Intermediate\"]}),R.prototype.publish(\"surfaceBackgroundColor\",null,\"html-color\",\"Surface Background Color\",null,{tags:[\"Advanced\"]}),R.prototype.publish(\"surfaceBorderWidth\",null,\"number\",\"Surface Border Width (px)\",null,{tags:[\"Advanced\"]}),R.prototype.publish(\"surfaceBorderColor\",null,\"html-color\",\"Surface Border Color\",null,{tags:[\"Advanced\"]}),R.prototype.publish(\"surfaceBorderRadius\",null,\"number\",\"Surface Border Radius (px)\",null,{tags:[\"Advanced\"]}),R.prototype.publish(\"buttonAnnotations\",[],\"array\",\"Button Array\",null,{tags:[\"Private\"]}),R.prototype.publish(\"widget\",null,\"widget\",\"Widget\",null,{tags:[\"Basic\"]});const G=class _Cell extends R{_indicateTheseIds;constructor(){super(),this._indicateTheseIds=[]}indicateTheseIds(t){return arguments.length?(this._indicateTheseIds=t,this):this._indicateTheseIds}enter(t,e){super.enter(t,e);const i=this;e.classed(\"layout_Surface\",!0).on(\"mouseenter\",function(){i.onMouseEnter()}).on(\"mouseleave\",function(){i.onMouseLeave()})}update(t,e){super.update(t,e)}onMouseEnter(){const t=this.indicateTheseIds(),e=this.indicatorOpacity(),i=this.indicatorBorderColor(),s=this.indicatorGlowColor();for(let l=0;l<t.length;l++){const n=o(\"#\"+t[l]),r=n.datum();n&&r&&n.append(\"div\").attr(\"class\",\"update-indicator\").style(\"width\",r.width()+\"px\").style(\"height\",r.height()+\"px\").style(\"opacity\",e).style(\"border-color\",i).style(\"-webkit-box-shadow\",\"inset 0px 0px 30px 0px \"+s).style(\"-moz-box-shadow\",\"inset 0px 0px 30px 0px \"+s).style(\"box-shadow\",\"inset 0px 0px 30px 0px \"+s)}}onMouseLeave(){const t=this.indicateTheseIds();for(let e=0;e<t.length;e++)l(\"#\"+t[e]+\" > div.update-indicator\").remove()}};e(G,\"Cell\");let E=G;E.prototype._class+=\" layout_Cell\",E.prototype.publish(\"gridRow\",0,\"number\",\"Grid Row Position\",null,{tags:[\"Private\"]}),E.prototype.publish(\"gridCol\",0,\"number\",\"Grid Column Position\",null,{tags:[\"Private\"]}),E.prototype.publish(\"gridRowSpan\",1,\"number\",\"Grid Row Span\",null,{tags:[\"Private\"]}),E.prototype.publish(\"gridColSpan\",1,\"number\",\"Grid Column Span\",null,{tags:[\"Private\"]}),E.prototype.publish(\"indicatorGlowColor\",\"#EEEE11\",\"html-color\",\"Glow color of update-indicator\",null,{tags:[\"Basic\"]}),E.prototype.publish(\"indicatorBorderColor\",\"#F48A00\",\"html-color\",\"Border color of update-indicator\",null,{tags:[\"Basic\"]}),E.prototype.publish(\"indicatorOpacity\",.8,\"number\",\"Opacity of update-indicator\",null,{tags:[\"Basic\"]});const X=class _Border extends i{_colCount;_rowCount;_colSize;_rowSize;_shrinkWrapBoxes;_watch;_offsetX;_offsetY;_dragCell;_dragCellSize;_dragCellStartSize;_handleTop;_handleLeft;_dragPrevX;_dragPrevY;_cellSizes;contentDiv;_scrollBarWidth;_borderHandles;_sectionTypeArr;constructor(){super(),this._tag=\"div\",this._colCount=0,this._rowCount=0,this._colSize=0,this._rowSize=0,this._shrinkWrapBoxes={},this.content([]),this.sectionTypes([])}watchWidget(t){if(void 0===this._watch&&(this._watch={}),this._watch[t.id()]&&(this._watch[t.id()].remove(),delete this._watch[t.id()]),t){const e=this;this._watch[t.id()]=t.monitor(function(t,i,s){s!==i&&e.lazyPostUpdate()})}}lazyPostUpdate=n.debounce(function(){this.postUpdate()},100);applyLayoutType(){const t=this.borderLayoutObject();this.content().forEach(function(e,i){e._fixedLeft=t[this.sectionTypes()[i]].left,e._fixedTop=t[this.sectionTypes()[i]].top,e._fixedWidth=t[this.sectionTypes()[i]].width,e._fixedHeight=t[this.sectionTypes()[i]].height,e._dragHandles=this.cellSpecificDragHandles(this.sectionTypes()[i])},this)}cellSpecificDragHandles(t){switch(t){case\"top\":return[\"s\"];case\"right\":return[\"w\"];case\"bottom\":return[\"n\"];case\"left\":return[\"e\"];case\"center\":return[]}}borderLayoutObject(t){const e={},i=this;let s,o,l,n,r,h,a,d;const p=this.target().getBoundingClientRect();p.top,p.left,p.bottom,p.right,this.target()instanceof SVGElement?(parseFloat(this.target().getAttribute(\"width\")),parseFloat(this.target().getAttribute(\"height\"))):(p.width,p.height),-1!==this.sectionTypes().indexOf(\"top\")&&(s=this.topSize(),o=this.topPercentage(),void 0!==this._shrinkWrapBoxes.top&&(s=this._shrinkWrapBoxes.top.height+this.gutter(),o=0)),-1!==this.sectionTypes().indexOf(\"bottom\")&&(l=this.bottomSize(),n=this.bottomPercentage(),void 0!==this._shrinkWrapBoxes.bottom&&(l=this._shrinkWrapBoxes.bottom.height+this.gutter(),n=0)),-1!==this.sectionTypes().indexOf(\"left\")&&(r=this.leftSize(),h=this.leftPercentage(),void 0!==this._shrinkWrapBoxes.left&&(r=this._shrinkWrapBoxes.left.width+this.gutter(),h=0)),-1!==this.sectionTypes().indexOf(\"right\")&&(a=this.rightSize(),d=this.rightPercentage(),void 0!==this._shrinkWrapBoxes.right&&(a=this._shrinkWrapBoxes.right.width+this.gutter(),d=0));const c=y({width:{px:0,\"%\":100},height:{px:s,\"%\":o},top:{px:0,\"%\":0},left:{px:0,\"%\":0}}),u=y({width:{px:0,\"%\":100},height:{px:l,\"%\":n},top:{px:0,\"%\":100},left:{px:0,\"%\":0}});u.top-=u.height;const g=y({width:{px:r,\"%\":h},height:{px:-c.height-u.height,\"%\":100},top:{px:c.height,\"%\":0},left:{px:0,\"%\":0}}),f=y({width:{px:a,\"%\":d},height:{px:-c.height-u.height,\"%\":100},top:{px:c.height,\"%\":0},left:{px:0,\"%\":100}});f.left-=f.width;const _=y({width:{px:-f.width-g.width,\"%\":100},height:{px:-c.height-u.height,\"%\":100},top:{px:c.height,\"%\":0},left:{px:g.width,\"%\":0}});return e.top=c,e.bottom=u,e.right=f,e.left=g,e.center=_,e;function y(t){t.width.px=void 0!==t.width.px?t.width.px:0,t.width[\"%\"]=void 0!==t.width[\"%\"]?t.width[\"%\"]:0,t.height.px=void 0!==t.height.px?t.height.px:0,t.height[\"%\"]=void 0!==t.height[\"%\"]?t.height[\"%\"]:0;return{width:t.width.px+t.width[\"%\"]/100*i.width(),height:t.height.px+t.height[\"%\"]/100*i.height(),top:t.top.px+t.top[\"%\"]/100*i.height()+i.gutter()/2,left:t.left.px+t.left[\"%\"]/100*i.width()+i.gutter()/2}}}clearContent(t){if(t){const e=this.sectionTypes().indexOf(t);e>=0&&(this._watch&&this.content()[e]&&delete this._watch[this.content()[e].id()],this.content()[e].target(null),o(\"#\"+this.id()+\" > div.borderHandle_\"+t).classed(\"borderHandleDisabled\",!0),this.content().splice(e,1),this.sectionTypes().splice(e,1))}else this.content().forEach(function(t){return t.target(null),!1}),o(\"#\"+this.id()+\" > div.borderHandle\").classed(\"borderHandleDisabled\",!0),delete this._watch,this.content([]),this.sectionTypes([])}hasContent(t,e,i){return this.sectionTypes().indexOf(t)>=0}setContent(t,e,i){if(this.clearContent(t),i=void 0!==i?i:\"\",e){const s=(new E).surfaceBorderWidth(0).widget(e).title(i);this.watchWidget(e),this.content().push(s),this.sectionTypes().push(t)}return this}getCell(t){const e=this.sectionTypes().indexOf(t);return e>=0?this.content()[e]:null}getContent(t){const e=this.sectionTypes().indexOf(t);return e>=0?this.content()[e].widget():null}setLayoutOffsets(){this._offsetX=this._element.node().getBoundingClientRect().left+this.gutter()/2,this._offsetY=this._element.node().getBoundingClientRect().top+this.gutter()/2}dragStart(t){const e=r();e.sourceEvent.stopPropagation();const i=this;this._dragCell=t,this._dragCellStartSize=this[t+\"Size\"](),this[t+\"ShrinkWrap\"]()&&(this[t+\"Percentage\"](0),this[t+\"ShrinkWrap\"](!1));const s=o(\"#\"+i.id()+\" > div.borderHandle_\"+t);i._handleTop=parseFloat(s.style(\"top\").split(\"px\")[0]),i._handleLeft=parseFloat(s.style(\"left\").split(\"px\")[0]),this._dragPrevX=e.sourceEvent.clientX,this._dragPrevY=e.sourceEvent.clientY}dragTick(t){const i=this,s=r(),n=this._dragPrevX-s.sourceEvent.clientX,h=this._dragPrevY-s.sourceEvent.clientY;switch(t){case\"top\":case\"bottom\":a(t,h);break;case\"right\":case\"left\":a(t,n)}function a(t,e){if(0===e)return;const s=l(\"#\"+i.id()+\" > div.borderHandle\"),n=o(\"#\"+i.id()+\" > div.borderHandle_\"+t);n.classed(\"borderHandle_top\")?(n.style(\"top\",i._handleTop-e+\"px\"),i._cellSizes.topHeight=i._handleTop-e,i._cellSizes.leftHeight=i._cellSizes.height,i._cellSizes.leftHeight-=i._cellSizes.topHeight,i._cellSizes.leftHeight-=i._cellSizes.bottomHeight,i._cellSizes.rightHeight=i._cellSizes.leftHeight):n.classed(\"borderHandle_right\")?(n.style(\"left\",i._handleLeft-e+\"px\"),i._cellSizes.rightWidth=i._cellSizes.width-i._handleLeft+e):n.classed(\"borderHandle_bottom\")?(n.style(\"top\",i._handleTop-e+\"px\"),i._cellSizes.bottomHeight=i._cellSizes.height-i._handleTop+e,i._cellSizes.leftHeight=i._cellSizes.height,i._cellSizes.leftHeight-=i._cellSizes.bottomHeight,i._cellSizes.leftHeight-=i._cellSizes.topHeight,i._cellSizes.rightHeight=i._cellSizes.leftHeight):n.classed(\"borderHandle_left\")&&(n.style(\"left\",i._handleLeft-e+\"px\"),i._cellSizes.leftWidth=i._handleLeft-e),s.each(function(){const t=o(this);t.classed(\"borderHandle_top\")?(t.style(\"width\",i._cellSizes.width+\"px\"),t.style(\"top\",i._cellSizes.topHeight-3+\"px\")):t.classed(\"borderHandle_right\")?(t.style(\"left\",i._cellSizes.width-i._cellSizes.rightWidth+\"px\"),t.style(\"top\",i._cellSizes.topHeight+3+\"px\"),t.style(\"height\",i._cellSizes.rightHeight+\"px\")):t.classed(\"borderHandle_bottom\")?(t.style(\"width\",i._cellSizes.width+\"px\"),t.style(\"top\",i._cellSizes.height-i._cellSizes.bottomHeight-3+\"px\")):t.classed(\"borderHandle_left\")&&(t.style(\"left\",i._cellSizes.leftWidth+\"px\"),t.style(\"height\",i._cellSizes.leftHeight+\"px\"),t.style(\"top\",i._cellSizes.topHeight+3+\"px\"))})}e(a,\"_moveHandles\")}dragEnd(t){if(t){const e=r(),i=this._dragPrevX-e.sourceEvent.clientX,s=this._dragPrevY-e.sourceEvent.clientY;switch(t){case\"top\":0!==s&&(this.topPercentage(0),this.topSize(0===this.topSize()?this.getContent(\"top\").getBBox().height-s:this.topSize()-s));break;case\"right\":0!==i&&(this.rightPercentage(0),this.rightSize(0===this.rightSize()?this.getContent(\"right\").getBBox().width+i:this.rightSize()+i));break;case\"bottom\":0!==s&&(this.bottomPercentage(0),this.bottomSize(0===this.bottomSize()?this.getContent(\"bottom\").getBBox().height+s:this.bottomSize()+s));break;case\"left\":0!==i&&(this.leftPercentage(0),this.leftSize(0===this.leftSize()?this.getContent(\"left\").getBBox().width-i:this.leftSize()-i))}this._dragPrevX=e.sourceEvent.clientX,this._dragPrevY=e.sourceEvent.clientY}this.render()}size(t){const e=i.prototype.size.apply(this,arguments);return arguments.length&&this.contentDiv&&this.contentDiv.style(\"width\",this._size.width+\"px\").style(\"height\",this._size.height+\"px\"),e}enter(t,e){super.enter(t,e);const i=this;e.style(\"position\",\"relative\"),this.contentDiv=e.append(\"div\").classed(\"border-content\",!0),this._scrollBarWidth=h.getScrollbarWidth(),this._borderHandles=[\"top\",\"left\",\"right\",\"bottom\"];e.selectAll(\"div.borderHandle\").data(this._borderHandles).enter().append(\"div\").classed(\"borderHandle\",!0).each(function(t){o(this).classed(\"borderHandle_\"+t,!0).classed(\"borderHandleDisabled\",null===i.getContent(t))})}update(t,e){super.update(t,e),this._sectionTypeArr=this.sectionTypes();const i=this;e.classed(\"design-mode\",this.designMode()),this.setLayoutOffsets();const s=this.contentDiv.selectAll(\".cell_\"+this._id).data(this.content(),function(t){return t._id}),l=s.enter().append(\"div\").classed(\"cell_\"+this._id,!0).style(\"position\",\"absolute\").each(function(t,e){o(this).classed(\"border-cell border-cell-\"+i._sectionTypeArr[e],!0),t.target(this),o(\"#\"+i.id()+\" > div.borderHandle_\"+i._sectionTypeArr[e]).classed(\"borderHandleDisabled\",!1)}).merge(s);l.each(function(t,e){const s=i.sectionTypes()[e];void 0!==i[s+\"ShrinkWrap\"]&&i[s+\"ShrinkWrap\"]()?(t.render(),i._shrinkWrapBoxes[s]=t.widget().getBBox(!0)):delete i._shrinkWrapBoxes[s]});const n=a().on(\"start\",function(t,e){i.dragStart.call(i,t,e)}).on(\"drag\",function(t,e){i.dragTick.call(i,t,e)}).on(\"end\",function(t,e){i.dragEnd.call(i,t,e)});this.designMode()?e.selectAll(\"#\"+this.id()+\" > div.borderHandle\").call(n):e.selectAll(\"#\"+this.id()+\" > div.borderHandle\").on(\".drag\",null);const r=this.borderLayoutObject();this.content().forEach(function(t,e){t._fixedLeft=r[this.sectionTypes()[e]].left,t._fixedTop=r[this.sectionTypes()[e]].top,t._fixedWidth=r[this.sectionTypes()[e]].width,t._fixedHeight=r[this.sectionTypes()[e]].height,t._dragHandles=[]},this),l.style(\"left\",function(t){return t._fixedLeft+\"px\"}).style(\"top\",function(t){return t._fixedTop+\"px\"}).style(\"width\",function(t){return t._fixedWidth-i.gutter()+\"px\"}).style(\"height\",function(t){return t._fixedHeight-i.gutter()+\"px\"}).each(function(t){t._placeholderElement.attr(\"draggable\",i.designMode()).selectAll(\".dragHandle\").attr(\"draggable\",i.designMode()),t.surfacePadding(i.surfacePadding()).resize()}),s.exit().each(function(t){t.target(null)}).remove(),this.getCellSizes(),e.selectAll(\"#\"+this.id()+\" > div.borderHandle\").each(function(){const t=o(this);t.classed(\"borderHandle_top\")?(t.style(\"width\",i._cellSizes.width+\"px\"),t.style(\"top\",i._cellSizes.topHeight-3+\"px\")):t.classed(\"borderHandle_right\")?(t.style(\"left\",i._cellSizes.width-i._cellSizes.rightWidth+\"px\"),t.style(\"top\",i._cellSizes.topHeight+3+\"px\"),t.style(\"height\",i._cellSizes.rightHeight+\"px\")):t.classed(\"borderHandle_bottom\")?(t.style(\"width\",i._cellSizes.width+\"px\"),t.style(\"top\",i._cellSizes.height-i._cellSizes.bottomHeight-3+\"px\")):t.classed(\"borderHandle_left\")&&(t.style(\"left\",i._cellSizes.leftWidth+\"px\"),t.style(\"height\",i._cellSizes.leftHeight+\"px\"),t.style(\"top\",i._cellSizes.topHeight+3+\"px\"))})}getCellSizes(){const t=this;t._cellSizes={};const e=this.element().node().getBoundingClientRect();t._cellSizes.width=e.width,t._cellSizes.height=e.height,this.element().selectAll(\"#\"+this.id()+\" > div > div.border-cell\").each(function(){const e=o(this);if(\"function\"==typeof e.node){const i=e.node().getBoundingClientRect();e.classed(\"border-cell-top\")?t._cellSizes.topHeight=i.height:e.classed(\"border-cell-left\")?(t._cellSizes.leftWidth=i.width,t._cellSizes.leftHeight=i.height):e.classed(\"border-cell-right\")?(t._cellSizes.rightWidth=i.width,t._cellSizes.rightHeight=i.height):e.classed(\"border-cell-bottom\")&&(t._cellSizes.bottomHeight=i.height)}});[\"height\",\"width\",\"topHeight\",\"bottomHeight\",\"leftHeight\",\"rightHeight\",\"leftWidth\",\"rightWidth\"].forEach(function(e){t._cellSizes[e]=void 0===t._cellSizes[e]?0:t._cellSizes[e]})}postUpdate(t,e){const i=this;this.content().forEach(function(t){if(null!==t._element.node()&&t.widget()){const e=t.widget().getBBox(!1,!0),s=t.widget().getBBox(!0,!0);e.width===s.width&&e.height===s.height||i.lazyRender()}})}exit(t,e){this.content().forEach(t=>t.target(null)),super.exit(t,e)}};e(X,\"Border\");let Y=X;Y.prototype._class+=\" layout_Border\",Y.prototype.publish(\"designMode\",!1,\"boolean\",\"Design Mode\",null,{tags:[\"Basic\"]}),Y.prototype.publish(\"content\",[],\"widgetArray\",\"widgets\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"gutter\",0,\"number\",\"Gap Between Widgets\",null,{tags:[\"Basic\"]}),Y.prototype.publish(\"topShrinkWrap\",!1,\"boolean\",\"'Top' Cell shrinks to fit content\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"leftShrinkWrap\",!1,\"boolean\",\"'Left' Cell shrinks to fit content\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"rightShrinkWrap\",!1,\"boolean\",\"'Right' Cell shrinks to fit content\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"bottomShrinkWrap\",!1,\"boolean\",\"'Bottom' Cell shrinks to fit content\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"topSize\",0,\"number\",\"Height of the 'Top' Cell (px)\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"leftSize\",0,\"number\",\"Width of the 'Left' Cell (px)\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"rightSize\",0,\"number\",\"Width of the 'Right' Cell (px)\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"bottomSize\",0,\"number\",\"Height of the 'Bottom' Cell (px)\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"topPercentage\",20,\"number\",\"Percentage (of parent) Height of the 'Top' Cell\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"leftPercentage\",20,\"number\",\"Percentage (of parent) Width of the 'Left' Cell\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"rightPercentage\",20,\"number\",\"Percentage (of parent) Width of the 'Right' Cell\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"bottomPercentage\",20,\"number\",\"Percentage (of parent) Height of the 'Bottom' Cell\",null,{tags:[\"Private\"]}),Y.prototype.publish(\"surfacePadding\",0,\"number\",\"Cell Padding (px)\",null,{tags:[\"Intermediate\"]}),Y.prototype.publish(\"sectionTypes\",[],\"array\",\"Section Types sharing an index with 'content' - Used to determine position/size.\",null,{tags:[\"Private\"]});const V=class _WidgetDiv{_div;_overlay=!1;_overflowX=\"visible\";_overflowY=\"visible\";_widget;constructor(t){this._div=t}overlay(t){return arguments.length?(this._overlay=t,this):this._overlay}overflowX(t){return arguments.length?(this._overflowX=t,this._div.style(\"overflow-x\",t),this):this._overflowX}overflowY(t){return arguments.length?(this._overflowY=t,this._div.style(\"overflow-y\",t),this):this._overflowY}element(){return this._div}node(){return this._div.node()}widget(t){return arguments.length?(this._widget!==t&&(this._widget&&this._widget.target(null),this._widget=t,this._widget&&this._widget.target(this._div.node())),this):this._widget}resize(t){return this._widget&&(this._div.style(\"width\",`${t.width}px`).style(\"height\",`${t.height}px`),this._widget.resize(t)),this}async render(t,e,i){let s=this.overflowX();this.overlay()||\"visible\"!==s||(s=null);let o=this.overflowY();return this.overlay()||\"visible\"!==o||(o=null),this._div.style(\"height\",this.overlay()?\"0px\":null).style(\"overflow-x\",s).style(\"overflow-y\",o),this._widget?this._widget.renderPromise().then(s=>{if(t&&this._widget.visible()){const t=this._widget.getBBox();return t.width+=8,void 0!==e&&t.height>e&&(t.width+=h.getScrollbarWidth()),void 0!==i&&t.width>i&&(t.height+=h.getScrollbarWidth()),this.overlay()?t.height=0:t.height+=4,t}return t?{x:0,y:0,width:0,height:0}:void 0}):Promise.resolve(t?{x:0,y:0,width:0,height:0}:void 0)}};e(V,\"WidgetDiv\");let N=V;const $=class _Border2 extends i{_bodyElement;_topWA;_leftWA;_centerWA;_rightWA;_bottomWA;_topPrevOverflow;_leftPrevOverflow;_rightPrevOverflow;_bottomPrevOverflow;constructor(){super(),this._tag=\"div\"}enter(t,e){super.enter(t,e);const i=e.append(\"header\");this._bodyElement=e.append(\"div\").attr(\"class\",\"body\");const s=this._bodyElement.append(\"div\").attr(\"class\",\"center\"),o=this._bodyElement.append(\"div\").attr(\"class\",\"lhs\"),l=this._bodyElement.append(\"div\").attr(\"class\",\"rhs\"),n=e.append(\"div\").attr(\"class\",\"footer\");this._topWA=new N(i),this._centerWA=new N(s),this._leftWA=new N(o),this._rightWA=new N(l),this._bottomWA=new N(n)}update(t,e){super.update(t,e),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`)}targetNull(t){t&&t.target(null)}exit(t,e){this.targetNull(this.center()),this.targetNull(this.bottom()),this.targetNull(this.right()),this.targetNull(this.left()),this.targetNull(this.top()),super.exit(t,e)}swap(t,e){const i=this[t](),s=this[e]();return this.targetNull(i),this.targetNull(s),this[`_${t}WA`].widget(null),this[`_${e}WA`].widget(null),this[t](s),this[e](i),this}render(t){return super.render(e=>{this._topWA?this._topWA.widget(this.top()).overlay(this.topOverlay()).render(!0).then(async e=>{const i=await this._bottomWA.widget(this.bottom()).render(!0,void 0,this.width()),s=this.height()-(e.height+i.height),o=await this._leftWA.widget(this.left()).render(!0,s),l=await this._rightWA.widget(this.right()).render(!0,s);this.bottomHeight_exists()&&(i.height=this.bottomHeight());const n=this.width()-(o.width+l.width),r=this.height()-(e.height+i.height),h=this.centerOverflowX(),a=this.centerOverflowY(),d=-1!==[\"auto\",\"scroll\"].indexOf(h),p=-1!==[\"auto\",\"scroll\"].indexOf(a);(d||p)&&this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({width:n,height:r}).render(),this._bodyElement.style(\"height\",`${r}px`);const c=[this._topWA.overflowX(this.topOverflowX()).overflowY(this.topOverflowY()).resize({width:this.width(),height:e.height}).render(),this._leftWA.overflowX(this.leftOverflowX()).overflowY(this.leftOverflowY()).resize({width:o.width,height:r}).render(),this._rightWA.overflowX(this.rightOverflowX()).overflowY(this.rightOverflowY()).resize({width:l.width,height:r}).render(),this._centerWA.overflowX(this.centerOverflowX()).overflowY(this.centerOverflowY()).widget(this.center()).resize({width:n,height:r}).render(),this._bottomWA.overflowX(this.bottomOverflowX()).overflowY(this.bottomOverflowY()).resize({width:this.width(),height:i.height}).render()];Promise.all(c).then(e=>{t&&t(this)})}):t&&t(this)})}};e($,\"Border2\");let U=$;U.prototype._class+=\" layout_Border2\",U.prototype.publish(\"showTop\",!0,\"boolean\",\"If true, top widget adapter will display\"),U.prototype.publish(\"showRight\",!0,\"boolean\",\"If true, right widget adapter will display\"),U.prototype.publish(\"showBottom\",!0,\"boolean\",\"If true, bottom widget adapter will display\"),U.prototype.publish(\"showLeft\",!0,\"boolean\",\"If true, left widget adapter will display\"),U.prototype.publish(\"topOverflowX\",\"visible\",\"set\",\"Sets the overflow-x css style for the top widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"rightOverflowX\",\"visible\",\"set\",\"Sets the overflow-x css style for the right widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"bottomOverflowX\",\"visible\",\"set\",\"Sets the overflow-x css style for the bottom widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"leftOverflowX\",\"visible\",\"set\",\"Sets the overflow-x css style for the left widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"centerOverflowX\",\"visible\",\"set\",\"Sets the overflow-x css style for the center widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"topOverflowY\",\"visible\",\"set\",\"Sets the overflow-y css style for the top widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"rightOverflowY\",\"visible\",\"set\",\"Sets the overflow-y css style for the right widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"bottomOverflowY\",\"visible\",\"set\",\"Sets the overflow-y css style for the bottom widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"leftOverflowY\",\"visible\",\"set\",\"Sets the overflow-y css style for the left widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"centerOverflowY\",\"visible\",\"set\",\"Sets the overflow-y css style for the center widget adapter\",[\"hidden\",\"scroll\",\"visible\",\"auto\"]),U.prototype.publish(\"top\",null,\"widget\",\"Top Widget\",void 0,{render:!1}),U.prototype.publish(\"topOverlay\",!1,\"boolean\",\"Overlay Top Widget\"),U.prototype.publish(\"left\",null,\"widget\",\"Left Widget\",void 0,{render:!1}),U.prototype.publish(\"center\",null,\"widget\",\"Center Widget\",void 0,{render:!1}),U.prototype.publish(\"right\",null,\"widget\",\"Right Widget\",void 0,{render:!1}),U.prototype.publish(\"bottom\",null,\"widget\",\"Bottom Widget\",void 0,{render:!1}),U.prototype.publish(\"bottomHeight\",null,\"number\",\"Bottom Fixed Height\",void 0,{optional:!0});const j=class _Carousel extends i{_prevActive=0;_root;activeWidget(){return this.widgets()[this.active()]}enter(t,e){super.enter(t,e),this._root=e.append(\"div\").attr(\"id\",`${this.id()}_root`)}update(t,e){super.update(t,e);const i=this.active(),s=this.width();this._root.style(\"width\",`${s}px`).style(\"height\",`${this.height()}px`);const l=this._root.selectAll(`#${this.id()}_root > .carouselItem`).data(this.widgets(),t=>t.id()),n=l.enter().append(\"div\").attr(\"class\",\"carouselItem\").each(function(t){t.target(this)}).merge(l).style(\"left\",(t,e)=>(e-this._prevActive)*s+\"px\").style(\"width\",`${s}px`);this._prevActive!==i&&(n.style(\"display\",(t,e)=>e===this._prevActive||e===i?null:\"none\").transition().duration(this.transitionDuration()).style(\"left\",(t,e)=>(e-i)*s+\"px\").on(\"end\",function(t,e){o(this).style(\"display\",()=>e===i?null:\"none\")}),this._prevActive=i),l.exit().each(function(t){t.target(null)}).remove()}exit(t,e){this.widgets().forEach(t=>t.target(null)),super.exit(t,e)}render(t){return super.render(e=>{if(!this.visible()||this.isDOMHidden())t&&t(e);else{const i=this.activeWidget();i&&i.resize(this.size()).render(i=>{t&&t(e)})}})}};e(j,\"Carousel\");let q=j;q.prototype._class+=\" layout_Carousel\",q.prototype.publish(\"widgets\",[],\"widgetArray\",\"Widgets\",null,{render:!1}),q.prototype.publish(\"active\",0,\"number\",\"Active widget\"),q.prototype.publish(\"transitionDuration\",500,\"number\",\"Transition duration\");var J=Math.PI,Z=2*J,K=1e-6,Q=Z-K;function tt(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function et(){return new tt}function it(t){/* @__PURE__ */\nreturn e(function(){return t},\"constant\")}e(tt,\"Path\"),e(et,\"path\"),tt.prototype=et.prototype={constructor:tt,moveTo:/* @__PURE__ */e(function(t,e){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)},\"moveTo\"),closePath:/* @__PURE__ */e(function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},\"closePath\"),lineTo:/* @__PURE__ */e(function(t,e){this._+=\"L\"+(this._x1=+t)+\",\"+(this._y1=+e)},\"lineTo\"),quadraticCurveTo:/* @__PURE__ */e(function(t,e,i,s){this._+=\"Q\"+ +t+\",\"+ +e+\",\"+(this._x1=+i)+\",\"+(this._y1=+s)},\"quadraticCurveTo\"),bezierCurveTo:/* @__PURE__ */e(function(t,e,i,s,o,l){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +i+\",\"+ +s+\",\"+(this._x1=+o)+\",\"+(this._y1=+l)},\"bezierCurveTo\"),arcTo:/* @__PURE__ */e(function(t,e,i,s,o){t=+t,e=+e,i=+i,s=+s,o=+o;var l=this._x1,n=this._y1,r=i-t,h=s-e,a=l-t,d=n-e,p=a*a+d*d;if(o<0)throw new Error(\"negative radius: \"+o);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=e);else if(p>K)if(Math.abs(d*r-h*a)>K&&o){var c=i-l,u=s-n,g=r*r+h*h,f=c*c+u*u,_=Math.sqrt(g),y=Math.sqrt(p),b=o*Math.tan((J-Math.acos((g+p-f)/(2*_*y)))/2),w=b/y,m=b/_;Math.abs(w-1)>K&&(this._+=\"L\"+(t+w*a)+\",\"+(e+w*d)),this._+=\"A\"+o+\",\"+o+\",0,0,\"+ +(d*c>a*u)+\",\"+(this._x1=t+m*r)+\",\"+(this._y1=e+m*h)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=e);else;},\"arcTo\"),arc:/* @__PURE__ */e(function(t,e,i,s,o,l){t=+t,e=+e,l=!!l;var n=(i=+i)*Math.cos(s),r=i*Math.sin(s),h=t+n,a=e+r,d=1^l,p=l?s-o:o-s;if(i<0)throw new Error(\"negative radius: \"+i);null===this._x1?this._+=\"M\"+h+\",\"+a:(Math.abs(this._x1-h)>K||Math.abs(this._y1-a)>K)&&(this._+=\"L\"+h+\",\"+a),i&&(p<0&&(p=p%Z+Z),p>Q?this._+=\"A\"+i+\",\"+i+\",0,1,\"+d+\",\"+(t-n)+\",\"+(e-r)+\"A\"+i+\",\"+i+\",0,1,\"+d+\",\"+(this._x1=h)+\",\"+(this._y1=a):p>K&&(this._+=\"A\"+i+\",\"+i+\",0,\"+ +(p>=J)+\",\"+d+\",\"+(this._x1=t+i*Math.cos(o))+\",\"+(this._y1=e+i*Math.sin(o))))},\"arc\"),rect:/* @__PURE__ */e(function(t,e,i,s){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +i+\"v\"+ +s+\"h\"+-i+\"Z\"},\"rect\"),toString:/* @__PURE__ */e(function(){return this._},\"toString\")},e(it,\"constant\");var st=Math.PI,ot=2*st;const lt={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(e/st);t.moveTo(i,0),t.arc(0,0,i,0,ot)},\"draw\")},nt={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(e/5)/2;t.moveTo(-3*i,-i),t.lineTo(-i,-i),t.lineTo(-i,-3*i),t.lineTo(i,-3*i),t.lineTo(i,-i),t.lineTo(3*i,-i),t.lineTo(3*i,i),t.lineTo(i,i),t.lineTo(i,3*i),t.lineTo(-i,3*i),t.lineTo(-i,i),t.lineTo(-3*i,i),t.closePath()},\"draw\")};var rt=Math.sqrt(1/3),ht=2*rt;const at={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(e/ht),s=i*rt;t.moveTo(0,-i),t.lineTo(s,0),t.lineTo(0,i),t.lineTo(-s,0),t.closePath()},\"draw\")};var dt=Math.sin(st/10)/Math.sin(7*st/10),pt=Math.sin(ot/10)*dt,ct=-Math.cos(ot/10)*dt;const ut={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(.8908130915292852*e),s=pt*i,o=ct*i;t.moveTo(0,-i),t.lineTo(s,o);for(var l=1;l<5;++l){var n=ot*l/5,r=Math.cos(n),h=Math.sin(n);t.lineTo(h*i,-r*i),t.lineTo(r*s-h*o,h*s+r*o)}t.closePath()},\"draw\")},gt={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(e),s=-i/2;t.rect(s,s,i,i)},\"draw\")};var ft=Math.sqrt(3);const _t={draw:/* @__PURE__ */e(function(t,e){var i=-Math.sqrt(e/(3*ft));t.moveTo(0,2*i),t.lineTo(-ft*i,-i),t.lineTo(ft*i,-i),t.closePath()},\"draw\")};var yt=-.5,bt=Math.sqrt(3)/2,wt=1/Math.sqrt(12),mt=3*(wt/2+1);const vt={draw:/* @__PURE__ */e(function(t,e){var i=Math.sqrt(e/mt),s=i/2,o=i*wt,l=s,n=i*wt+i,r=-l,h=n;t.moveTo(s,o),t.lineTo(l,n),t.lineTo(r,h),t.lineTo(yt*s-bt*o,bt*s+yt*o),t.lineTo(yt*l-bt*n,bt*l+yt*n),t.lineTo(yt*r-bt*h,bt*r+yt*h),t.lineTo(yt*s+bt*o,yt*o-bt*s),t.lineTo(yt*l+bt*n,yt*n-bt*l),t.lineTo(yt*r+bt*h,yt*h-bt*r),t.closePath()},\"draw\")};function xt(){var t=it(lt),i=it(64),s=null;function o(){var e;if(s||(s=e=et()),t.apply(this,arguments).draw(s,+i.apply(this,arguments)),e)return s=null,e+\"\"||null}return e(o,\"symbol\"),o.type=function(e){return arguments.length?(t=\"function\"==typeof e?e:it(e),o):t},o.size=function(t){return arguments.length?(i=\"function\"==typeof t?t:it(+t),o):i},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o}e(xt,\"d3Symbol\");var St=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Ct=/* @__PURE__ */e(function(t){return t},\"d3_identity\"),Pt=/* @__PURE__ */e(function(t){for(var e=[],i=0,s=t.length;i<s;i++)e[i]=t[s-i-1];return e},\"d3_reverse\"),Tt=/* @__PURE__ */e(function(t,e){t.each(function(){var t,i=o(this),s=i.text().split(/\\s+/).reverse(),l=[];i.attr(\"y\");for(var n=parseFloat(i.attr(\"dy\"))||0,r=i.text(null).append(\"tspan\").attr(\"x\",0).attr(\"dy\",n+\"em\");t=s.pop();)l.push(t),r.text(l.join(\" \")),r.node().getComputedTextLength()>e&&l.length>1&&(l.pop(),r.text(l.join(\" \")),l=[t],r=i.append(\"tspan\").attr(\"x\",0).attr(\"dy\",1.2+n+\"em\").text(t))})},\"d3_textWrapping\"),zt=/* @__PURE__ */e(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=arguments[2],s=arguments[3],o=arguments[4];if(\"object\"===(void 0===e?\"undefined\":St(e))){if(0===e.length)return t;for(var l=e.length;l<t.length;l++)e.push(t[l]);return e}if(\"function\"==typeof e){for(var n=[],r=t.length,h=0;h<r;h++)n.push(e({i:h,genLength:r,generatedLabels:t,domain:i,range:s,labelDelimiter:o}));return n}return t},\"d3_mergeLabels\"),Wt=/* @__PURE__ */e(function(t,i,s){var o=[];if(i.length>1)o=i;else for(var l=t.domain(),n=(l[l.length-1]-l[0])/(i-1),r=0;r<i;r++)o.push(l[0]+r*n);var h=o.map(s);return{data:o,labels:h,feature:/* @__PURE__ */e(function(e){return t(e)},\"feature\")}},\"d3_linearLegend\"),Bt=/* @__PURE__ */e(function(t,e,i){var s=t.range().map(function(s){var o=t.invertExtent(s);return e(o[0])+\" \"+i+\" \"+e(o[1])});return{data:t.range(),labels:s,feature:Ct}},\"d3_quantLegend\"),It=/* @__PURE__ */e(function(t){return{data:t.domain(),labels:t.domain(),feature:/* @__PURE__ */e(function(e){return t(e)},\"feature\")}},\"d3_ordinalLegend\"),At=/* @__PURE__ */e(function(t,e,i){t.call(\"cellover\",i,e)},\"d3_cellOver\"),Ht=/* @__PURE__ */e(function(t,e,i){t.call(\"cellout\",i,e)},\"d3_cellOut\"),Mt=/* @__PURE__ */e(function(t,e,i){t.call(\"cellclick\",i,e)},\"d3_cellClick\"),kt={d3_drawShapes:/* @__PURE__ */e(function(t,e,i,s,o,l){\"rect\"===t?e.attr(\"height\",i).attr(\"width\",s):\"circle\"===t?e.attr(\"r\",o):\"line\"===t?e.attr(\"x1\",0).attr(\"x2\",s).attr(\"y1\",0).attr(\"y2\",0):\"path\"===t&&e.attr(\"d\",l)},\"d3_drawShapes\"),d3_addText:/* @__PURE__ */e(function(t,e,i,s,o){e.append(\"text\").attr(\"class\",s+\"label\");var l=t.selectAll(\"g.\"+s+\"cell text.\"+s+\"label\").data(i).text(Ct);return o&&t.selectAll(\"g.\"+s+\"cell text.\"+s+\"label\").call(Tt,o),l},\"d3_addText\"),d3_calcType:/* @__PURE__ */e(function(t,e,i,s,o,l){var n=t.invertExtent?Bt(t,o,l):t.ticks?Wt(t,i,o):It(t),r=t.range&&t.range()||t.domain();return n.labels=zt(n.labels,s,t.domain(),r,l),e&&(n.labels=Pt(n.labels),n.data=Pt(n.data)),n},\"d3_calcType\"),d3_filterCells:/* @__PURE__ */e(function(t,e){var i=t.data.map(function(e,i){return{data:e,label:t.labels[i]}}).filter(e),s=i.map(function(t){return t.data}),o=i.map(function(t){return t.label});return t.data=t.data.filter(function(t){return-1!==s.indexOf(t)}),t.labels=t.labels.filter(function(t){return-1!==o.indexOf(t)}),t},\"d3_filterCells\"),d3_placement:/* @__PURE__ */e(function(t,e,i,s,o,l){e.attr(\"transform\",i),s.attr(\"transform\",o),\"horizontal\"===t&&s.style(\"text-anchor\",l)},\"d3_placement\"),d3_addEvents:/* @__PURE__ */e(function(t,e){t.on(\"mouseover.legend\",function(t){At(e,t,this)}).on(\"mouseout.legend\",function(t){Ht(e,t,this)}).on(\"click.legend\",function(t){Mt(e,t,this)})},\"d3_addEvents\"),d3_title:/* @__PURE__ */e(function(t,e,i,s){if(\"\"!==e){t.selectAll(\"text.\"+i+\"legendTitle\").data([e]).enter().append(\"text\").attr(\"class\",i+\"legendTitle\"),t.selectAll(\"text.\"+i+\"legendTitle\").text(e),s&&t.selectAll(\"text.\"+i+\"legendTitle\").call(Tt,s);var o=t.select(\".\"+i+\"legendCells\"),l=t.select(\".\"+i+\"legendTitle\").nodes().map(function(t){return t.getBBox().height})[0],n=-o.nodes().map(function(t){return t.getBBox().x})[0];o.attr(\"transform\",\"translate(\"+n+\",\"+l+\")\")}},\"d3_title\"),d3_defaultLocale:{format:u,formatPrefix:c},d3_defaultFormatSpecifier:\".01f\",d3_defaultDelimiter:\"to\"};function Ft(){var t=d(),i=\"rect\",s=15,o=15,l=10,n=2,r=[5],h=void 0,a=[],c=\"\",u=!1,y=\"\",b=kt.d3_defaultLocale,w=kt.d3_defaultFormatSpecifier,m=10,v=\"middle\",x=kt.d3_defaultDelimiter,S=void 0,C=\"vertical\",P=!1,T=void 0,z=void 0,W=p(\"cellover\",\"cellout\",\"cellclick\");function B(d){var p=kt.d3_calcType(t,P,r,a,b.format(w),x);d.selectAll(\"g\").data([t]).enter().append(\"g\").attr(\"class\",c+\"legendCells\"),h&&kt.d3_filterCells(p,h);var g=d.select(\".\"+c+\"legendCells\").selectAll(\".\"+c+\"cell\").data(p.data),f=g.enter().append(\"g\").attr(\"class\",c+\"cell\");f.append(i).attr(\"class\",c+\"swatch\");var B=d.selectAll(\"g.\"+c+\"cell \"+i+\".\"+c+\"swatch\").data(p.data);kt.d3_addEvents(f,W),g.exit().transition().style(\"opacity\",0).remove(),B.exit().transition().style(\"opacity\",0).remove(),B=B.merge(B),kt.d3_drawShapes(i,B,o,s,l,T);var I=kt.d3_addText(d,f,p.labels,c,S);g=f.merge(g);var A=I.nodes().map(function(t){return t.getBBox()}),H=B.nodes().map(function(t){return t.getBBox()});u?B.attr(\"class\",function(t){return c+\"swatch \"+p.feature(t)}):\"line\"==i?B.style(\"stroke\",p.feature):B.style(\"fill\",p.feature);var M,k=void 0,F=void 0,O=\"start\"==v?0:\"middle\"==v?.5:1;\"vertical\"===C?(M=A.map(function(t,e){return Math.max(t.height,H[e].height)}),k=/* @__PURE__ */e(function(t,e){return\"translate(0, \"+(_(M.slice(0,e))+e*n)+\")\"},\"cellTrans\"),F=/* @__PURE__ */e(function(t,e){return\"translate( \"+(H[e].width+H[e].x+m)+\", \"+(H[e].y+H[e].height/2+5)+\")\"},\"textTrans\")):\"horizontal\"===C&&(k=/* @__PURE__ */e(function(t,e){return\"translate(\"+e*(H[e].width+n)+\",0)\"},\"cellTrans\"),F=/* @__PURE__ */e(function(t,e){return\"translate(\"+(H[e].width*O+H[e].x)+\",\\n \"+(H[e].height+H[e].y+m+8)+\")\"},\"textTrans\")),kt.d3_placement(C,g,k,I,F,v),kt.d3_title(d,y,c,z),g.transition().style(\"opacity\",1)}return e(B,\"legend\"),B.scale=function(e){return arguments.length?(t=e,B):t},B.cells=function(t){return arguments.length?((t.length>1||t>=2)&&(r=t),B):r},B.cellFilter=function(t){return arguments.length?(h=t,B):h},B.shape=function(t,e){return arguments.length?((\"rect\"==t||\"circle\"==t||\"line\"==t||\"path\"==t&&\"string\"==typeof e)&&(i=t,T=e),B):i},B.shapeWidth=function(t){return arguments.length?(s=+t,B):s},B.shapeHeight=function(t){return arguments.length?(o=+t,B):o},B.shapeRadius=function(t){return arguments.length?(l=+t,B):l},B.shapePadding=function(t){return arguments.length?(n=+t,B):n},B.labels=function(t){return arguments.length?(a=t,B):a},B.labelAlign=function(t){return arguments.length?(\"start\"!=t&&\"end\"!=t&&\"middle\"!=t||(v=t),B):v},B.locale=function(t){return arguments.length?(b=g(t),B):b},B.labelFormat=function(t){return arguments.length?(w=f(t),B):B.locale().format(w)},B.labelOffset=function(t){return arguments.length?(m=+t,B):m},B.labelDelimiter=function(t){return arguments.length?(x=t,B):x},B.labelWrap=function(t){return arguments.length?(S=t,B):S},B.useClass=function(t){return arguments.length?(!0!==t&&!1!==t||(u=t),B):u},B.orient=function(t){return arguments.length?(\"horizontal\"!=(t=t.toLowerCase())&&\"vertical\"!=t||(C=t),B):C},B.ascending=function(t){return arguments.length?(P=!!t,B):P},B.classPrefix=function(t){return arguments.length?(c=t,B):c},B.title=function(t){return arguments.length?(y=t,B):y},B.titleWidth=function(t){return arguments.length?(z=t,B):z},B.textWrap=function(t){return arguments.length?(textWrap=t,B):textWrap},B.on=function(){var t=W.on.apply(W,arguments);return t===W?B:t},B}e(Ft,\"color\");const Ot=class _Legend extends y{_owner;_targetWidget;_targetWidgetMonitor;_legendOrdinal;_disabled=[];_symbolTypeMap={circle:lt,cross:nt,diamond:at,square:gt,star:ut,triangle:_t,wye:vt};constructor(t){super(),this._owner=t,this._drawStartPos=\"origin\";const e=this;this._legendOrdinal=Ft().shape(\"path\",xt().type(lt).size(150)()).shapePadding(10).shapeRadius(10).on(\"cellclick\",function(t){e.onClick(t,this)}).on(\"cellover\",t=>{e.onOver(t,this)}).on(\"cellout\",t=>{e.onOut(t,this)})}isDisabled(t){return void 0!==t&&(\"string\"==typeof t?0===t.indexOf(\"__\")||this._disabled.indexOf(t)>=0:t instanceof b.Field?0===t.id().indexOf(\"__\")||this._disabled.indexOf(t.id())>=0:this._disabled.indexOf(t)>=0)}filteredFields(){switch(this.dataFamily()){case\"2D\":return this.fields();case\"ND\":return this.fields().filter(t=>!this.isDisabled(t))}return this.fields()}filteredColumns(){switch(this.dataFamily()){case\"2D\":return this.columns();case\"ND\":return this.columns().filter(t=>!this.isDisabled(t))}return this.columns()}filteredData(){switch(this.dataFamily()){case\"2D\":return this.data().filter(t=>!this.isDisabled(t[0]));case\"ND\":const t={};let e=!1;return this.columns().forEach((i,s)=>{const o=this.isDisabled(i);t[s]=o,o&&(e=!0)}),e?this.data().map(e=>e.filter((e,i)=>!t[i])):this.data()}return this.data()}isRainbow(){const t=this.getWidget();return t&&t._palette&&\"rainbow\"===t._palette.type()}targetWidget(t){if(!arguments.length)return this._targetWidget;if(this._targetWidget=t,this._targetWidgetMonitor&&(this._targetWidgetMonitor.remove(),delete this._targetWidgetMonitor),this._targetWidget){const t=this;this._targetWidgetMonitor=this._targetWidget.monitor(function(e,i,s,o){switch(e){case\"chart\":case\"columns\":case\"data\":case\"paletteID\":t.lazyRender()}})}return this}getWidget(){return this._targetWidget&&\"composite_MultiChart\"===this._targetWidget.classID()?this._targetWidget.chart():this._targetWidget}getPalette(){const t=this.getWidget();if(t&&t._palette)switch(t._palette.type()){case\"ordinal\":return w.ordinal(t._palette.id());case\"rainbow\":return w.rainbow(t._palette.id())}return w.ordinal(\"default\")}getPaletteType(){return this.getPalette().type()}fillColorFunc(){const t=this.getWidget();if(t&&t.fillColor)return t._palette&&t.paletteID&&t._palette.name!==t.paletteID()&&(t._palette=t._palette.switch(t.paletteID())),(e,i,s)=>t.fillColor(e,i,s);const e=w.ordinal(t&&t.paletteID&&t.paletteID()||\"default\");return(t,i,s)=>e(i)}fillColor(t,e,i){return this.fillColorFunc()(t,e,i)}_g;enter(t,e){super.enter(t,e),this._g=e.append(\"g\").attr(\"class\",\"legendOrdinal\")}calcMetaData(){let t=[],e=0,i=0;const s=this.columns().length;if(this._targetWidget){const o=this.columns();switch(this.getPaletteType()){case\"ordinal\":const l=this.fillColorFunc();let n=0;switch(this.dataFamily()){case\"2D\":t=this.data().map(function(t,o){n=this.data()[o].slice(1,s).reduce((t,e)=>t+e,0);const r=this.isDisabled(t[0]);r||(e+=n);const h=t[0]+(!r&&this.showSeriesTotal()?` (${n})`:\"\"),a=this.textSize(h);return i<a.width&&(i=a.width),[l(t,t[0],!1),t[0],h]},this);break;case\"ND\":t=this.columns().filter(t=>0!==t.indexOf(\"__\")).filter(function(t,e){return e>0}).map(function(t,s){n=this.data().reduce((t,e)=>t+e[s+1],0);const r=this.isDisabled(o[s+1]),h=t+(!r&&this.showSeriesTotal()?` (${n})`:\"\");r||(e+=n);const a=this.textSize(h);return i<a.width&&(i=a.width),[l(void 0,t,!1),t,h]},this);break;default:t=this.columns().map(function(t){return[l(void 0,t,!1),t]},this)}break;case\"rainbow\":const r=this.getPalette(),h=u(this.rainbowFormat()),a=this.getWidget(),d=this.rainbowBins(),p=a._dataMinWeight,c=a._dataMaxWeight,g=(c-p)/(d-1);t.push([r(p,p,c),h(p)]);for(let e=1;e<d-1;++e){let i=g*e;Math.floor(i)>parseInt(t[0][1])&&(i=Math.floor(i)),t.push([r(i,p,c),h(i)])}t.push([r(c,p,c),h(c)])}}return{dataArr:t,total:e,maxLabelWidth:i}}update(t,e){super.update(t,e);const{dataArr:i,maxLabelWidth:s,total:o}=this.calcMetaData(),l=this.shapeRadius(),n=this.radiusToSymbolSize(l);let r=this.itemPadding();\"horizontal\"===this.orientation()&&(r+=s-2*l);const h=m().domain(i.map(t=>t[1])).range(i.map(t=>t[0]));this._legendOrdinal.shape(\"path\",xt().type(this._symbolTypeMap[this.symbolType()]).size(n)()).orient(this.orientation()).title(this.title()).labelWrap(this.labelMaxWidth()).labelAlign(this.labelAlign()).shapePadding(r).scale(h).labels(t=>i[t.i][2]),this._g.call(this._legendOrdinal),this.updateDisabled(e,i);const a=this._g.select(\".legendCells\").node().getBBox();let d=Math.abs(a.x),p=Math.abs(a.y)+1;if(\"horizontal\"===this.orientation()){if(\"start\"===this.labelAlign()?d+=1:\"end\"===this.labelAlign()&&(d-=1),this.width()>a.width){d+=(this.width()-a.width)/2}}else if(\"vertical\"===this.orientation()&&(d+=1,this._containerSize.height>a.height)){p+=(this.height()-a.height)/2}this._g.attr(\"transform\",`translate(${d}, ${p})`),this.pos({x:0,y:0}),this._legendOrdinal.labelOffset(this.itemPadding());const c=this._g.selectAll(\".legendTotal\").data(i.length&&this.showLegendTotal()?[o]:[]),u=`Total: ${o}`,g=-d,f=a.height+this.itemPadding()+1;this.enableOverflowScroll(!1),this.enableOverflow(!0),c.enter().append(\"text\").classed(\"legendTotal\",!0).merge(c).attr(\"transform\",`translate(${g}, ${f})`).text(u),c.exit().remove()}updateDisabled(t,e){t.style(\"cursor\",\"pointer\").selectAll(\"path.swatch\").filter((t,i)=>i<e.length).style(\"stroke\",(t,i)=>e[i][0]).style(\"fill\",(t,i)=>this._disabled.indexOf(t)<0?e[i][0]:\"white\")}postUpdate(t,e){let i;this._boundingBox&&(i=this._boundingBox.width,this._boundingBox.width=this._size.width),super.postUpdate(t,e),void 0!==i&&(this._boundingBox.width=i),this._parentRelativeDiv.style(\"overflow\",\"hidden\")}exit(t,e){super.exit(t,e)}radiusToSymbolSize(t){const e=Math.pow(t,2)*Math.PI;switch(this.symbolType()){case\"star\":return.45*e;case\"triangle\":return.65*e;case\"cross\":case\"diamond\":case\"wye\":return.75*e;case\"circle\":return e;case\"square\":return 1.3*e}}onClick(t,e){if(\"ordinal\"===this.getPaletteType())switch(this.dataFamily()){case\"2D\":case\"ND\":const e=this._disabled.indexOf(t);e<0?this._disabled.push(t):this._disabled.splice(e,1),this._owner.refreshColumns(),this._owner.refreshData(),this._owner.render()}}onOver(t,e){if(B(this._owner)&&\"ordinal\"===this.getPaletteType())switch(this.dataFamily()){case\"2D\":case\"ND\":this._disabled.indexOf(t)<0&&this._owner.highlightColumn(t)}}onOut(t,e){if(B(this._owner)&&\"ordinal\"===this.getPaletteType())switch(this.dataFamily()){case\"2D\":case\"ND\":this._owner.highlightColumn()}}onDblClick(t,e){}onMouseOver(t,e){}_containerSize;resize(t){let e;if(this.fitToContent()){this._containerSize=t;const i=this.getBBox();t.width>i.width&&(i.width=t.width),t.height>i.height&&(i.height=t.height),e=super.resize.apply(this,[{...i}])}else e=super.resize.apply(this,arguments);return e}};e(Ot,\"Legend\");let Lt=Ot;Lt.prototype._class+=\" layout_Legend\",Lt.prototype.publish(\"title\",\"\",\"string\",\"Title\"),Lt.prototype.publish(\"symbolType\",\"circle\",\"set\",\"Shape of each legend item\",[\"circle\",\"cross\",\"diamond\",\"square\",\"star\",\"triangle\",\"wye\"]),Lt.prototype.publish(\"labelMaxWidth\",null,\"number\",\"Max Label Width (pixels)\",null,{optional:!0}),Lt.prototype.publish(\"orientation\",\"vertical\",\"set\",\"Orientation of Legend rows\",[\"vertical\",\"horizontal\"],{tags:[\"Private\"]}),Lt.prototype.publish(\"dataFamily\",\"ND\",\"set\",\"Type of data\",[\"1D\",\"2D\",\"ND\",\"map\",\"graph\",\"any\"],{tags:[\"Private\"]}),Lt.prototype.publish(\"rainbowFormat\",\",\",\"string\",\"Rainbow number formatting\",null,{tags:[\"Private\"],optional:!0,disable:/* @__PURE__ */e(t=>!t.isRainbow(),\"disable\")}),Lt.prototype.publish(\"rainbowBins\",8,\"number\",\"Number of rainbow bins\",null,{tags:[\"Private\"],disable:/* @__PURE__ */e(t=>!t.isRainbow(),\"disable\")}),Lt.prototype.publish(\"showSeriesTotal\",!1,\"boolean\",\"Show value next to series\"),Lt.prototype.publish(\"showLegendTotal\",!1,\"boolean\",\"Show a total of the series values under the legend\",null),Lt.prototype.publish(\"itemPadding\",8,\"number\",\"Padding between legend items (pixels)\"),Lt.prototype.publish(\"shapeRadius\",7,\"number\",\"Radius of legend shape (pixels)\"),Lt.prototype.publish(\"fitToContent\",!0,\"boolean\",\"If true, resize will simply reapply the bounding box dimensions\"),Lt.prototype.publish(\"labelAlign\",\"start\",\"set\",\"Horizontal alignment of legend item label (for horizontal orientation only)\",[\"start\",\"middle\",\"end\"],{optional:!0,disable:/* @__PURE__ */e(t=>\"vertical\"===t.orientation(),\"disable\")});const Dt=class _Modal extends i{_widget;_relativeTarget;_fade;_modal;_modalHeader;_modalBody;_modalHeaderAnnotations;_modalHeaderCloseButton;_close;constructor(){super(),this._tag=\"div\"}closeModal(){this.visible(!1)}getRelativeTarget(){let t;return this.relativeTargetId()&&(t=document.getElementById(this.relativeTargetId()),t)?t:!t&&(t=this.locateAncestor(\"layout_Grid\"),t&&t.element)?t.element().node():document.body}setModalSize(){null!==this.fixedHeight()&&null!==this.fixedWidth()?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());const t=this._modal.node().getBoundingClientRect(),e=this._modalHeader.node().getBoundingClientRect();return this._modalBody.style(\"height\",t.height-e.height+\"px\").style(\"width\",t.width),t}setFadePosition(t){this._fade.style(\"top\",t.top+\"px\").style(\"left\",t.left+\"px\").style(\"width\",t.width+\"px\").style(\"height\",t.height+\"px\")}setModalPosition(t){const e=this.setModalSize();if(null!==this.fixedTop()&&null!==this.fixedLeft())this._modal.style(\"top\",`calc(${this.fixedTop()} + ${t.top}px)`).style(\"left\",`calc(${this.fixedLeft()} + ${t.left}px)`);else if(null!==this.fixedHeight()&&null!==this.fixedWidth())this._modal.style(\"top\",t.top+t.height/2-e.height/2+\"px\").style(\"left\",t.left+t.width/2-e.width/2+\"px\");else if(this.minHeight()||this.minWidth()){const e=this._modal.node().getBoundingClientRect();this._modal.style(\"top\",t.top+t.height/2-e.height/2+\"px\").style(\"left\",t.left+t.width/2-e.width/2+\"px\")}}resize(t){return super.resize(),this._modal&&this.setModalSize(),this}resizeBodySync(t,e){const i=this._modalHeader.node().getBoundingClientRect();return this._modal.style(\"width\",t+\"px\").style(\"height\",e+i.height+\"px\").style(\"min-width\",t+\"px\").style(\"min-height\",e+i.height+\"px\"),this._modalHeader.style(\"width\",t+\"px\"),this._modalBody.style(\"width\",t+\"px\").style(\"height\",e+\"px\"),this.minWidth(t+\"px\").minHeight(e+i.height+\"px\").resize({height:e+i.height,width:t})}enter(t,e){super.enter(t,e),this._fade=e.append(\"div\").classed(\"layout_Modal-fade\",!0).classed(\"layout_Modal-fadeClickable\",this.enableClickFadeToClose()).classed(\"layout_Modal-fade-hidden\",!this.showFade());const i=2*this.titleFontSize();this._modal=e.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\",i+\"px\"),this._modalBody=this._modal.append(\"div\").classed(\"layout_Modal-body\",!0).style(\"height\",`calc( 100% - ${i}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\",()=>{this.closeModal()}),this._fade.on(\"click\",t=>{this.enableClickFadeToClose()&&this.closeModal()})}update(t,e){super.update(t,e),e.style(\"display\",this.show()?null:\"none\"),this._fade.classed(\"layout_Modal-fade-hidden\",!this.showFade()),this._relativeTarget=this.getRelativeTarget(),this.setModalSize();const i=this._relativeTarget.getBoundingClientRect();this.setFadePosition(i),this.setModalPosition(i),this.show()?(this._widget.target()||this._widget.target(this._modalBody.node()),this._widget.resize().render()):this._widget.target(null).render()}exit(t,e){this._widget&&this._widget.target(null),super.exit(t,e)}formattedTitle(){const t=this.title_exists()?this.title().trim():\"\";return t.length>0&&\"(\"===t.slice(0,1)&&\")\"===t.slice(-1)?t.slice(1,-1):this.title()}};e(Dt,\"Modal\");let Rt=Dt;Rt.prototype._class+=\" layout_Modal\",Rt.prototype.publish(\"title\",null,\"string\",\"title\"),Rt.prototype.publish(\"widget\",null,\"widget\",\"widget\"),Rt.prototype.publish(\"titleFontSize\",18,\"number\",\"titleFontSize (in pixels)\"),Rt.prototype.publish(\"titleFontColor\",\"#ffffff\",\"html-color\",\"titleFontColor\"),Rt.prototype.publish(\"relativeTargetId\",null,\"string\",\"relativeTargetId\"),Rt.prototype.publish(\"show\",!0,\"boolean\",\"show\"),Rt.prototype.publish(\"showFade\",!0,\"boolean\",\"showFade\"),Rt.prototype.publish(\"enableClickFadeToClose\",!0,\"boolean\",\"enableClickFadeToClose\"),Rt.prototype.publish(\"minWidth\",\"400px\",\"string\",\"minWidth\"),Rt.prototype.publish(\"minHeight\",\"400px\",\"string\",\"minHeight\"),Rt.prototype.publish(\"maxWidth\",\"800px\",\"string\",\"maxWidth\"),Rt.prototype.publish(\"maxHeight\",\"800px\",\"string\",\"maxHeight\"),Rt.prototype.publish(\"fixedWidth\",null,\"string\",\"fixedWidth\"),Rt.prototype.publish(\"fixedHeight\",null,\"string\",\"fixedHeight\"),Rt.prototype.publish(\"fixedTop\",null,\"string\",\"fixedTop\"),Rt.prototype.publish(\"fixedLeft\",null,\"string\",\"fixedLeft\"),Rt.prototype.publish(\"overflowX\",\"hidden\",\"string\",\"overflowX\"),Rt.prototype.publish(\"overflowY\",\"scroll\",\"string\",\"overflowY\");const Gt=class _ChartPanel extends U{_legend=new Lt(this).enableOverflow(!0);_progressBar=new v;_autoScale=!1;_resolutions={tiny:{width:100,height:100},small:{width:300,height:300}};_modal=new Rt;_highlight;_scale;_orig_size;_toggleInfo=(new x).faChar(\"fa-info-circle\").tooltip(\".Description\").selected(!1).on(\"enabled\",()=>\"\"!==this.description()).on(\"click\",()=>{if(this._toggleInfo.selected()){this._modal.title(this.title()).widget((new S).text(this.description())).show(!0).render();const t=this._modal._close;this._modal._close=()=>{this._toggleInfo.selected(!1).render(),this._modal._close=t}}}).on(\"mouseMove\",()=>{}).on(\"mouseOut\",()=>{});_toggleData=(new x).faChar(\"fa-table\").tooltip(\"Data\").on(\"click\",()=>{this.dataVisible(this._toggleData.selected()),this.render()});_buttonDownload=(new C).faChar(\"fa-download\").tooltip(\"Download\").on(\"click\",()=>{this.downloadCSV()});_buttonDownloadImage=(new C).faChar(\"fa-image\").tooltip(\"Download Image\").on(\"click\",()=>{this.downloadPNG()});_toggleLegend=(new x).faChar(\"fa-list-ul\").tooltip(\"Legend\").selected(!1).on(\"click\",()=>{const t=this._toggleLegend.selected();\"bottom\"===this.legendPosition()?this.showBottom(t):\"right\"===this.legendPosition()&&this.showRight(t),this.legendVisible(t),this.render()});_spacer=new P;_titleBar=(new T).buttons([this._toggleData,this._buttonDownload,this._buttonDownloadImage,this._spacer,this._toggleLegend]);_carousel=new q;_table=new W;_widget;_hideLegendToggleList=[\"dgrid_Table\"];constructor(){super(),this._tag=\"div\"}fields(t){return arguments.length?(super.fields(t),this._legend.fields(t),this.refreshFields(),this):super.fields()}refreshFields(){return this._widget.fields(this._legend.filteredFields()),this._table.fields(this._legend.filteredFields()),this}columns(t,e){return arguments.length?(super.columns(t,e),this._legend.columns(t,e),this.refreshColumns(),this):super.columns()}refreshColumns(){return this._widget.columns(this._legend.filteredColumns()),this._table.columns(this._legend.filteredColumns()),this}data(t){return arguments.length?(super.data(t),this._legend.data(t),this.refreshData(),this):super.data()}refreshData(){return this._widget.data(this._legend.filteredData()),this._table.data(this._legend.filteredData()),this}highlight(t){return arguments.length?(this._highlight=t,this):this._highlight}startProgress(){this._progressBar.start()}finishProgress(){this._progressBar.finish()}buttons(t){return arguments.length?(this._titleBar.buttons(t),this):this._titleBar.buttons()}downloadCSV(){const t=this.downloadTitle()?this.downloadTitle():this.title()?this.title():\"data\",e=this.downloadTimestampSuffix()?\"_\"+n.timestamp():\"\";return n.downloadString(\"CSV\",this._widget.export(\"CSV\"),t+e),this}downloadPNG(){const t=this.widget();return t instanceof y&&(this.legendVisible()?t.downloadPNG(this.title(),void 0,this._legend):t.downloadPNG(this.title())),this}highlightColumn(t){if(t){const e=`series-${this.cssTag(t)}`;this._centerWA.element().selectAll(\".series\").each(function(){const t=o(this),i=t.classed(e);t.classed(\"highlight\",i).classed(\"lowlight\",!i)})}else this._centerWA.element().selectAll(\".series\").classed(\"highlight\",!1).classed(\"lowlight\",!1);return this}getResponsiveMode(){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\"}setOrigSize(){this._orig_size=JSON.parse(JSON.stringify(this.size()))}enter(t,e){super.enter(t,e),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(t,e),this.setOrigSize()}preUpdateTiny(t){t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"none\")}preUpdateSmall(t){const e=this._orig_size.width/this._resolutions.small.width,i=this._orig_size.height/this._resolutions.small.height;this._scale=Math.min(e,i);const s=this._scale===e;this.size({width:s?this._resolutions.small.width:this._orig_size.width*(1/this._scale),height:s?this._orig_size.height*(1/this._scale):this._resolutions.small.height}),t.select(\"div.title-icon\").style(\"position\",\"static\"),t.selectAll(\"lhs\").style(\"display\",\"none\"),t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"\"),t.selectAll(\"div.data-count\").style(\"visibility\",\"hidden\"),t.style(\"transform\",`scale(${this._scale})`)}preUpdateRegular(t){t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"\"),t.selectAll(\"div.data-count\").style(\"visibility\",\"hidden\"),t.select(\"div.title-icon\").style(\"position\",\"static\"),t.style(\"transform\",\"translate(0px,0px) scale(1)\")}_prevdataVisible;_prevlegendVisible;_prevLegendPosition;_prevChartDataFamily;_prevChart;_prevButtons;update(t,e){super.update(t,e)}preUpdate(t,e){switch(super.preUpdate(t,e),this._prevLegendPosition!==this.legendPosition()&&(null!==this._legend.target()&&this._legend.target(null),void 0!==this._prevLegendPosition?this.swap(this._prevLegendPosition,this.legendPosition()):this[this.legendPosition()](this._legend),\"right\"===this.legendPosition()?(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(\"bottom\"===this.legendPosition()?\"horizontal\":\"vertical\"),this.showLeft(!this.left()),this.getResponsiveMode()){case\"tiny\":this.preUpdateTiny(e);break;case\"small\":this.preUpdateSmall(e);break;case\"regular\":this.preUpdateRegular(e)}const i=\"composite_MultiChart\"===this._widget.classID()?this._widget.chart():this._widget;if(this._legend.dataFamily(i._dataFamily||\"any\"),this._prevChartDataFamily!==this._legend.dataFamily()&&(this._prevChartDataFamily=this._legend.dataFamily(),\"any\"===this._prevChartDataFamily))this._toggleLegend.selected(!1),this._legend.visible(!1);if(e.style(\"box-shadow\",this.highlight()?`inset 0px 0px 0px ${this.highlightSize()}px ${this.highlightColor()}`:\"none\"),-1!==this._hideLegendToggleList.indexOf(i.classID())?(this._spacer.visible(!1),this._toggleLegend.visible(!1)):(this._spacer.visible(!0),this._toggleLegend.visible(!0)),this._prevChart!==i){this._prevChart=i;const t=i?i._titleBar||i._iconBar:void 0;if(t&&t instanceof z){this._prevButtons=this._prevButtons||[...this.buttons()];const e=[...t.buttons(),new P,...this._prevButtons];t.buttons([]).render(),this.buttons(e)}else this._prevButtons&&this.buttons(this._prevButtons)}const s=[];this.dataButtonVisible()||s.push(this._toggleData),this.downloadButtonVisible()||s.push(this._buttonDownload),this.downloadImageButtonVisible()||s.push(this._buttonDownloadImage),this.legendButtonVisible()||s.push(this._toggleLegend),this._buttonDownloadImage.enabled(this.widget()instanceof y),this._titleBar.hiddenButtons(s).visible(this.titleVisible()),this.topOverlay(this.titleOverlay()||!this.titleVisible())}postUpdate(t,e){switch(super.postUpdate(t,e),this.getResponsiveMode()){case\"tiny\":this.postUpdateTiny(e);break;case\"small\":this.postUpdateSmall(e);break;case\"regular\":this.postUpdateRegular(e)}}postUpdateTiny(t){t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"none\"),t.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),t.style(\"transform\",\"translate(0px,0px) scale(1)\");const e=t.selectAll(\"div.title-icon\"),i=e.node(),s=t.node().parentElement.getBoundingClientRect();if(i){const i=e.node().getBoundingClientRect(),o=s.height/2;e.style(\"position\",\"absolute\").style(\"left\",`calc(50% - ${i.width/2}px)`).style(\"top\",o-i.height/2+\"px\"),t.selectAll(\"div.data-count\").style(\"position\",\"absolute\").style(\"left\",`calc(50% + ${i.width/2}px)`).style(\"top\",o-i.height/2+\"px\")}}postUpdateSmall(t){t.selectAll(\"lhs\").style(\"display\",\"none\"),t.selectAll(\"div.title-icon\").style(\"position\",\"static\"),t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"\"),t.selectAll(\"div.data-count\").style(\"visibility\",\"hidden\");const e=t.node().getBoundingClientRect(),i=t.node().parentElement.getBoundingClientRect();t.style(\"transform\",`translate(${i.x-e.x}px, ${i.y-e.y}px) scale(${this._scale})`)}postUpdateRegular(t){t.selectAll(\"div.title-icon\").style(\"position\",\"static\"),t.selectAll(\"div.body,div.title-text,div.icon-bar\").style(\"display\",\"\"),t.selectAll(\"div.data-count\").style(\"visibility\",\"hidden\")}exit(t,e){this._progressBar.exit(t,e),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(t,e)}click(t,e,i){}dblclick(t,e,i){}vertex_click(t,e,i,s){s&&s.vertex}vertex_dblclick(t,e,i,s){s&&s.vertex}edge_click(t,e,i,s){s&&s.edge}edge_dblclick(t,e,i,s){s&&s.edge}};e(Gt,\"ChartPanel\");let Et=Gt;Et.prototype._class+=\" layout_ChartPanel\",Et.prototype.publishReset(),Et.prototype.publishProxy(\"title\",\"_titleBar\"),Et.prototype.publish(\"titleVisible\",!0,\"boolean\"),Et.prototype.publish(\"titleOverlay\",!1,\"boolean\"),Et.prototype.publishProxy(\"titleIcon\",\"_titleBar\"),Et.prototype.publishProxy(\"titleIconFont\",\"_titleBar\"),Et.prototype.publishProxy(\"titleFont\",\"_titleBar\"),Et.prototype.publishProxy(\"titleIconFontSize\",\"_titleBar\"),Et.prototype.publishProxy(\"titleFontSize\",\"_titleBar\"),Et.prototype.publishProxy(\"description\",\"_titleBar\"),Et.prototype.publishProxy(\"descriptionFont\",\"_titleBar\"),Et.prototype.publishProxy(\"descriptionFontSize\",\"_titleBar\"),Et.prototype.publish(\"dataVisible\",!1,\"boolean\",\"Show data table\"),Et.prototype.publish(\"dataButtonVisible\",!0,\"boolean\",\"Show data table button\"),Et.prototype.publish(\"downloadButtonVisible\",!0,\"boolean\",\"Show data download button\"),Et.prototype.publish(\"downloadImageButtonVisible\",!1,\"boolean\",\"Show image download button\"),Et.prototype.publish(\"downloadTitle\",\"\",\"string\",\"File name when downloaded\"),Et.prototype.publish(\"downloadTimestampSuffix\",!0,\"boolean\",\"Use timestamp as file name suffix\"),Et.prototype.publish(\"legendVisible\",!1,\"boolean\",\"Show legend\"),Et.prototype.publish(\"legendButtonVisible\",!0,\"boolean\",\"Show legend button\"),Et.prototype.publish(\"legendPosition\",\"right\",\"set\",\"Position of legend\",[\"right\",\"bottom\"]),Et.prototype.publishProxy(\"legend_labelMaxWidth\",\"_legend\",\"labelMaxWidth\"),Et.prototype.publishProxy(\"legend_showSeriesTotal\",\"_legend\",\"showSeriesTotal\"),Et.prototype.publishProxy(\"legend_showLegendTotal\",\"_legend\",\"showLegendTotal\"),Et.prototype.publishProxy(\"legend_itemPadding\",\"_legend\",\"itemPadding\"),Et.prototype.publishProxy(\"legend_shapeRadius\",\"_legend\",\"shapeRadius\"),Et.prototype.publishProxy(\"legend_symbolType\",\"_legend\",\"symbolType\"),Et.prototype.publishProxy(\"legend_labelAlign\",\"_legend\",\"labelAlign\"),Et.prototype.publish(\"widget\",null,\"widget\",\"Widget\",void 0,{render:!1}),Et.prototype.publish(\"enableAutoscaling\",!1,\"boolean\"),Et.prototype.publish(\"highlightSize\",4,\"number\"),Et.prototype.publish(\"highlightColor\",\"#e67e22\",\"html-color\"),Et.prototype.publishProxy(\"progress_halfLife\",\"_progressBar\",\"halfLife\"),Et.prototype.publishProxy(\"progress_decay\",\"_progressBar\",\"decay\"),Et.prototype.publishProxy(\"progress_size\",\"_progressBar\",\"size\"),Et.prototype.publishProxy(\"progress_color\",\"_progressBar\",\"color\"),Et.prototype.publishProxy(\"progress_blurBar\",\"_progressBar\",\"blurBar\"),Et.prototype.publishProxy(\"progress_blurSize\",\"_progressBar\",\"blurSize\"),Et.prototype.publishProxy(\"progress_blurColor\",\"_progressBar\",\"blurColor\"),Et.prototype.publishProxy(\"progress_blurOpacity\",\"_progressBar\",\"blurOpacity\"),Et.prototype.widget=function(t){if(!arguments.length)return this._widget;this._carousel.widgets([t,this._table]),this._widget=t,this._widget.fields(this._legend.filteredFields()).data(this._legend.filteredData());const e=this,i=this._widget;return i.click=function(){e.click.apply(e,arguments)},i.dblclick=function(){e.dblclick.apply(e,arguments)},i.vertex_click=function(){e.vertex_click.apply(e,arguments)},i.vertex_dblclick=function(){e.vertex_dblclick.apply(e,arguments)},i.edge_click=function(){e.edge_click.apply(e,arguments)},i.edge_dblclick=function(){e.edge_dblclick.apply(e,arguments)},this};const Xt=class _FlexGrid extends i{constructor(){super()}enter(t,e){super.enter(t,e),o(t.parentNode).style(\"height\",\"100%\").style(\"width\",\"100%\")}update(t,e){super.update(t,e);const i=this,s=[];this.updateFlexParent(e);const o=e.selectAll(\".FlexGrid-list-item\").data(this.widgets(),t=>t.id());o.enter().append(\"div\").classed(\"FlexGrid-list-item\",!0).each(function(t){t.target(this)}).merge(o).style(\"min-height\",this.itemMinHeight()+\"px\").style(\"min-width\",this.itemMinWidth()+\"px\").style(\"flex-basis\",(t,e)=>{const i=this.widgetsFlexBasis()[e];return void 0!==i?i:this.flexBasis()}).style(\"flex-grow\",(t,e)=>{const i=this.widgetsFlexGrow()[e];return void 0!==i?i:this.flexGrow()}).style(\"border-width\",this.borderWidth()+\"px\").style(\"border-color\",this.itemBorderColor()).each(function(){this.firstChild.style.display=\"none\"}).each(function(){const t=this.getBoundingClientRect();s.push([t.width,t.height])}).each(function(t,e){this.firstChild.style.display=\"block\",t.resize({width:s[e][0]-2*i.borderWidth(),height:s[e][1]-2*i.borderWidth()})}),o.exit().remove()}exit(t,e){super.exit(t,e)}updateFlexParent(t){t.style(\"height\",\"100%\").style(\"flex-direction\",\"horizontal\"===this.orientation()?\"row\":\"column\").style(\"flex-wrap\",this.flexWrap()).style(\"align-items\",this.alignItems()).style(\"align-content\",this.alignContent()).style(\"overflow-x\",()=>this.forceXScroll()||\"horizontal\"===this.orientation()&&\"nowrap\"===this.flexWrap()&&!this.disableScroll()?\"scroll\":\"hidden\").style(\"overflow-y\",()=>this.forceYScroll()||\"vertical\"===this.orientation()&&\"nowrap\"===this.flexWrap()&&!this.disableScroll()?\"scroll\":\"hidden\")}};e(Xt,\"FlexGrid\");let Yt=Xt;function Vt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}Yt.prototype._class+=\" layout_FlexGrid\",Yt.prototype.publish(\"itemBorderColor\",\"transparent\",\"html-color\",\"Color of list item borders\"),Yt.prototype.publish(\"borderWidth\",0,\"number\",\"Width of list item borders (pixels)\"),Yt.prototype.publish(\"orientation\",\"horizontal\",\"set\",\"Controls the flex-direction of the list items\",[\"horizontal\",\"vertical\"]),Yt.prototype.publish(\"flexWrap\",\"wrap\",\"set\",\"Controls the line wrap when overflow occurs\",[\"nowrap\",\"wrap\",\"wrap-reverse\"]),Yt.prototype.publish(\"disableScroll\",!1,\"boolean\",\"If false, scrollbar will show (when flexWrap is set to 'nowrap')\",null,{disable:/* @__PURE__ */e(t=>\"nowrap\"!==t.flexWrap(),\"disable\")}),Yt.prototype.publish(\"forceXScroll\",!1,\"boolean\",\"If true, horzontal scrollbar will show\"),Yt.prototype.publish(\"forceYScroll\",!1,\"boolean\",\"If true, vertical scrollbar will show\"),Yt.prototype.publish(\"itemMinHeight\",64,\"number\",\"Minimum height of a list item (pixels)\"),Yt.prototype.publish(\"itemMinWidth\",64,\"number\",\"Minimum width of a list item (pixels)\"),Yt.prototype.publish(\"alignItems\",\"stretch\",\"set\",\"Controls normal alignment of items\",[\"flex-start\",\"center\",\"flex-end\",\"stretch\"]),Yt.prototype.publish(\"alignContent\",\"stretch\",\"set\",\"Controls normal alignment of item rows\",[\"flex-start\",\"center\",\"flex-end\",\"stretch\",\"space-between\",\"space-around\"]),Yt.prototype.publish(\"flexGrow\",1,\"number\",\"Default flex-grow style for all list items\"),Yt.prototype.publish(\"flexBasis\",\"10%\",\"string\",\"Default flex-basis style for all list items\"),Yt.prototype.publish(\"widgetsFlexGrow\",[],\"array\",\"Array of flex-grow values keyed on the widgets array\"),Yt.prototype.publish(\"widgetsFlexBasis\",[],\"array\",\"Array of flex-basis values keyed on the widgets array\"),Yt.prototype.publish(\"widgets\",[],\"widgetArray\",\"Array of widgets to be rendered as list items\"),e(Vt,\"getDefaultExportFromCjs\");var Nt,$t={exports:{}};function Ut(){return Nt?$t.exports:(Nt=1,$t.exports=function(){var t=/* @__PURE__ */e(function(t,e){for(var i in this._options=e,this.defaults)this._options.hasOwnProperty(i)||(this._options[i]=this.defaults[i]);this.items=t,this._adjustSizeOfItems(),this.generateGrid()},\"GridList\");t.cloneItems=function(t,e){var i,s;for(void 0===e&&(e=[]),i=0;i<t.length;i++)for(s in e[i]||(e[i]={}),t[i])e[i][s]=t[i][s];return e},t.prototype={defaults:{lanes:5,direction:\"horizontal\"},toString:/* @__PURE__ */e(function(){var t,e,i,s=this.grid.length,o=\"\\n #|\",l=\"\\n --\";for(e=0;e<s;e++)o+=\" \"+this._padNumber(e,\" \"),l+=\"---\";for(o+=l,e=0;e<this._options.lanes;e++)for(o+=\"\\n\"+this._padNumber(e,\" \")+\"|\",i=0;i<s;i++)o+=\" \",o+=(t=this.grid[i][e])?this._padNumber(this.items.indexOf(t),\"0\"):\"--\";return o+=\"\\n\"},\"toString\"),generateGrid:/* @__PURE__ */e(function(){var t;for(this._resetGrid(),t=0;t<this.items.length;t++)this._markItemPositionToGrid(this.items[t])},\"generateGrid\"),resizeGrid:/* @__PURE__ */e(function(t){var e=0;this._options.lanes=t,this._adjustSizeOfItems(),this._sortItemsByPosition(),this._resetGrid();for(var i=0;i<this.items.length;i++){var s=this.items[i],o=this._getItemPosition(s);this._updateItemPosition(s,this.findPositionForItem(s,{x:e,y:0})),e=Math.max(e,o.x)}this._pullItemsToLeft()},\"resizeGrid\"),findPositionForItem:/* @__PURE__ */e(function(t,e,i){var s,o,l;for(s=e.x;s<this.grid.length;s++)if(void 0!==i){if(l=[s,i],this._itemFitsAtPosition(t,l))return l}else for(o=e.y;o<this._options.lanes;o++)if(l=[s,o],this._itemFitsAtPosition(t,l))return l;var n=this.grid.length,r=0;return void 0!==i&&this._itemFitsAtPosition(t,[n,i])&&(r=i),[n,r]},\"findPositionForItem\"),moveItemToPosition:/* @__PURE__ */e(function(t,e){var i=this._getItemPosition({x:e[0],y:e[1],w:t.w,h:t.h});this._updateItemPosition(t,[i.x,i.y]),this._resolveCollisions(t)},\"moveItemToPosition\"),resizeItem:/* @__PURE__ */e(function(t,e){var i=e.w||t.w,s=e.h||t.h;this._updateItemSize(t,i,s),this._resolveCollisions(t),this._pullItemsToLeft()},\"resizeItem\"),getChangedItems:/* @__PURE__ */e(function(t,e){for(var i=[],s=0;s<t.length;s++){var o=this._getItemByAttribute(e,t[s][e]);o.x===t[s].x&&o.y===t[s].y&&o.w===t[s].w&&o.h===t[s].h||i.push(o)}return i},\"getChangedItems\"),_sortItemsByPosition:/* @__PURE__ */e(function(){this.items.sort(function(t,e){var i=this._getItemPosition(t),s=this._getItemPosition(e);return i.x!=s.x?i.x-s.x:i.y!=s.y?i.y-s.y:0}.bind(this))},\"_sortItemsByPosition\"),_adjustSizeOfItems:/* @__PURE__ */e(function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];void 0===e.autoSize&&(e.autoSize=0===e.w||0===e.h),e.autoSize&&(\"horizontal\"===this._options.direction?e.h=this._options.lanes:e.w=this._options.lanes)}},\"_adjustSizeOfItems\"),_resetGrid:/* @__PURE__ */e(function(){this.grid=[]},\"_resetGrid\"),_itemFitsAtPosition:/* @__PURE__ */e(function(t,e){var i,s,o=this._getItemPosition(t);if(e[0]<0||e[1]<0)return!1;if(e[1]+o.h>this._options.lanes)return!1;for(i=e[0];i<e[0]+o.w;i++){var l=this.grid[i];if(l)for(s=e[1];s<e[1]+o.h;s++)if(l[s]&&l[s]!==t)return!1}return!0},\"_itemFitsAtPosition\"),_updateItemPosition:/* @__PURE__ */e(function(t,e){null!==t.x&&null!==t.y&&this._deleteItemPositionFromGrid(t),this._setItemPosition(t,e),this._markItemPositionToGrid(t)},\"_updateItemPosition\"),_updateItemSize:/* @__PURE__ */e(function(t,e,i){null!==t.x&&null!==t.y&&this._deleteItemPositionFromGrid(t),t.w=e,t.h=i,this._markItemPositionToGrid(t)},\"_updateItemSize\"),_markItemPositionToGrid:/* @__PURE__ */e(function(t){var e,i,s=this._getItemPosition(t);for(this._ensureColumns(s.x+s.w),e=s.x;e<s.x+s.w;e++)for(i=s.y;i<s.y+s.h;i++)this.grid[e][i]=t},\"_markItemPositionToGrid\"),_deleteItemPositionFromGrid:/* @__PURE__ */e(function(t){var e,i,s=this._getItemPosition(t);for(e=s.x;e<s.x+s.w;e++)if(this.grid[e])for(i=s.y;i<s.y+s.h;i++)this.grid[e][i]==t&&(this.grid[e][i]=null)},\"_deleteItemPositionFromGrid\"),_ensureColumns:/* @__PURE__ */e(function(t){var e;for(e=0;e<t;e++)this.grid[e]||this.grid.push(new i(this._options.lanes))},\"_ensureColumns\"),_getItemsCollidingWithItem:/* @__PURE__ */e(function(t){for(var e=[],i=0;i<this.items.length;i++)t!=this.items[i]&&this._itemsAreColliding(t,this.items[i])&&e.push(i);return e},\"_getItemsCollidingWithItem\"),_itemsAreColliding:/* @__PURE__ */e(function(t,e){var i=this._getItemPosition(t),s=this._getItemPosition(e);return!(s.x>=i.x+i.w||s.x+s.w<=i.x||s.y>=i.y+i.h||s.y+s.h<=i.y)},\"_itemsAreColliding\"),_resolveCollisions:/* @__PURE__ */e(function(t){this._tryToResolveCollisionsLocally(t)||this._pullItemsToLeft(t),this._pullItemsToLeft()},\"_resolveCollisions\"),_tryToResolveCollisionsLocally:/* @__PURE__ */e(function(e){var i=this._getItemsCollidingWithItem(e);if(!i.length)return!0;var s,o,l,n,r=new t([],this._options);t.cloneItems(this.items,r.items),r.generateGrid();for(var h=0;h<i.length;h++){var a=r.items[i[h]],d=this._getItemPosition(a),p=this._getItemPosition(e);if(s=[p.x-d.w,d.y],o=[p.x+p.w,d.y],l=[d.x,p.y-d.h],n=[d.x,p.y+p.h],r._itemFitsAtPosition(a,s))r._updateItemPosition(a,s);else if(r._itemFitsAtPosition(a,l))r._updateItemPosition(a,l);else if(r._itemFitsAtPosition(a,n))r._updateItemPosition(a,n);else{if(!r._itemFitsAtPosition(a,o))return!1;r._updateItemPosition(a,o)}}return t.cloneItems(r.items,this.items),this.generateGrid(),!0},\"_tryToResolveCollisionsLocally\"),_pullItemsToLeft:/* @__PURE__ */e(function(t){if(this._sortItemsByPosition(),this._resetGrid(),t){var e=this._getItemPosition(t);this._updateItemPosition(t,[e.x,e.y])}for(var i=0;i<this.items.length;i++){var s=this.items[i],o=this._getItemPosition(s);if(!t||s!=t){var l=this._findLeftMostPositionForItem(s),n=this.findPositionForItem(s,{x:l,y:0},o.y);this._updateItemPosition(s,n)}}},\"_pullItemsToLeft\"),_findLeftMostPositionForItem:/* @__PURE__ */e(function(t){for(var e=0,i=this._getItemPosition(t),s=0;s<this.grid.length;s++)for(var o=i.y;o<i.y+i.h;o++){var l=this.grid[s][o];if(l){var n=this._getItemPosition(l);this.items.indexOf(l)<this.items.indexOf(t)&&(e=n.x+n.w)}}return e},\"_findLeftMostPositionForItem\"),_getItemByAttribute:/* @__PURE__ */e(function(t,e){for(var i=0;i<this.items.length;i++)if(this.items[i][t]===e)return this.items[i];return null},\"_getItemByAttribute\"),_padNumber:/* @__PURE__ */e(function(t,e){return t>=10?t:e+t},\"_padNumber\"),_getItemPosition:/* @__PURE__ */e(function(t){return\"horizontal\"===this._options.direction?t:{x:t.y,y:t.x,w:t.h,h:t.w}},\"_getItemPosition\"),_setItemPosition:/* @__PURE__ */e(function(t,e){\"horizontal\"===this._options.direction?(t.x=e[0],t.y=e[1]):(t.x=e[1],t.y=e[0])},\"_setItemPosition\")};var i=/* @__PURE__ */e(function(t){for(var e=0;e<t;e++)this.push(null)},\"GridCol\");return i.prototype=[],t}())}e(Ut,\"requireGridList\");var jt=Ut();const qt=/* @__PURE__ */Vt(jt),Jt=/* @__PURE__ */I({__proto__:null,default:qt},[jt]),Zt=Jt&&qt||Jt,Kt=class _Grid extends i{divItems;gridList;items;itemsMap;origItems;cellWidth;cellHeight;dragItem;dragItemPos;_d3Drag;_d3DragResize;_selectionBag;_scrollBarWidth;constructor(){super(),this._tag=\"div\",this._selectionBag=new n.Selection(this),this.content([])}getDimensions(){const t={width:0,height:0};return this.content().forEach(function(e){t.width<e.gridCol()+e.gridColSpan()&&(t.width=e.gridCol()+e.gridColSpan()),t.height<e.gridRow()+e.gridRowSpan()&&(t.height=e.gridRow()+e.gridRowSpan())},this),t}clearContent(t){this.content(this.content().filter(function(e){if(!t)return e.target(null),!1;let i=e;for(;i;){if(t===i)return e.target(null),!1;i=i.widget?i.widget():null}return!0}))}setContent(t,e,i,s,o,l){if(o=o||1,l=l||1,s=s||\"\",this.content(this.content().filter(function(i){return i.gridRow()!==t||i.gridCol()!==e||(i.target(null),!1)})),i){const n=(new E).gridRow(t).gridCol(e).widget(i).title(s).gridRowSpan(o).gridColSpan(l);this.content().push(n)}return this}sortedContent(){return this.content().sort(function(t,e){return t.gridRow()===e.gridRow()?t.gridCol()-e.gridCol():t.gridRow()-e.gridRow()})}getCell(t,e){let i=null;return this.content().some(function(s){return t>=s.gridRow()&&t<s.gridRow()+s.gridRowSpan()&&e>=s.gridCol()&&e<s.gridCol()+s.gridColSpan()&&(i=s,!0)}),i}getWidgetCell(t){let e=null;return this.content().some(function(i){return i.widget().id()===t&&(e=i,!0)}),e}getContent(t){let e=null;return this.content().some(function(i){return i.widget().id()===t&&(e=i.widget(),!0)}),e}cellToGridItem(t){return{x:t.gridCol(),y:t.gridRow(),w:t.gridColSpan(),h:t.gridRowSpan(),id:t.id(),cell:t}}gridItemToCell(t){t.cell.gridCol(t.x).gridRow(t.y).gridColSpan(t.w).gridRowSpan(t.h)}resetItemsPos(){this.origItems.forEach(function(t){const e=this.itemsMap[t.id];e.x=t.x,e.y=t.y},this)}initGridList(){this.itemsMap={},this.items=this.content().map(function(t){const e=this.cellToGridItem(t);return this.itemsMap[e.id]=e,e},this),this.origItems=this.content().map(this.cellToGridItem),this.gridList=new Zt(this.items,{direction:this.snapping(),lanes:\"horizontal\"===this.snapping()?this.snappingRows():this.snappingColumns()})}killGridList(){this.gridList=null,delete this.items,delete this.itemsMap}enter(t,e){super.enter(t,e),this._scrollBarWidth=h.getScrollbarWidth();const i=this;this._d3Drag=a().subject(function(t){const e=i.cellToGridItem(t);return{x:e.x*i.cellWidth,y:e.y*i.cellHeight}}).on(\"start\",function(t){if(!i.designMode())return;r().sourceEvent.stopPropagation(),i.initGridList();const s=i.itemsMap[t.id()];i.dragItem=e.append(\"div\").attr(\"class\",\"dragging\").style(\"transform\",function(){return\"translate(\"+s.x*i.cellWidth+\"px, \"+s.y*i.cellHeight+\"px)\"}).style(\"width\",function(){return s.w*i.cellWidth-i.gutter()+\"px\"}).style(\"height\",function(){return s.h*i.cellHeight-i.gutter()+\"px\"}),i.selectionBagClick(t)}).on(\"drag\",function(t){if(!i.designMode())return;const e=r();e.sourceEvent.stopPropagation();const s=i.itemsMap[t.id()];e.x<0&&(e.x=0),e.x+s.w*i.cellWidth>i.snappingColumns()*i.cellWidth&&(e.x=i.snappingColumns()*i.cellWidth-s.w*i.cellWidth),e.y<0&&(e.y=0),e.y+s.h*i.cellWidth>i.snappingRows()*i.cellWidth&&(e.y=i.snappingRows()*i.cellWidth-s.h*i.cellWidth);const o=[Math.max(0,Math.floor((e.x+i.cellWidth/2)/i.cellWidth)),Math.max(0,Math.floor((e.y+i.cellHeight/2)/i.cellHeight))];s.x===o[0]&&s.y===o[1]||(\"none\"!==i.snapping()?(i.resetItemsPos(),i.gridList.moveItemToPosition(s,o)):(s.x=o[0],s.y=o[1]),t.gridCol()===s.x&&t.gridRow()===s.y||(i.items.forEach(i.gridItemToCell),i.updateGrid(!1,100))),i.dragItem.style(\"transform\",function(){return\"translate(\"+e.x+\"px, \"+e.y+\"px)\"}).style(\"width\",function(){return s.w*i.cellWidth+\"px\"}).style(\"height\",function(){return s.h*i.cellHeight+\"px\"})}).on(\"end\",function(){i.designMode()&&(r().sourceEvent.stopPropagation(),i.dragItem.remove(),i.dragItem=null,i.killGridList())}),this._d3DragResize=a().subject(function(t){const e=i.cellToGridItem(t);return{x:(e.x+e.w-1)*i.cellWidth,y:(e.y+e.h-1)*i.cellHeight}}).on(\"start\",function(t){if(!i.designMode())return;r().sourceEvent.stopPropagation(),i.initGridList();const s=i.itemsMap[t.id()];i.dragItem=e.append(\"div\").attr(\"class\",\"resizing\").style(\"transform\",function(){return\"translate(\"+s.x*i.cellWidth+\"px, \"+s.y*i.cellHeight+\"px)\"}).style(\"width\",function(){return s.w*i.cellWidth-i.gutter()+\"px\"}).style(\"height\",function(){return s.h*i.cellHeight-i.gutter()+\"px\"}),i.dragItemPos={x:s.x,y:s.y}}).on(\"drag\",function(t){if(!i.designMode())return;const e=r();e.sourceEvent.stopPropagation();const s=i.itemsMap[t.id()],o=[Math.max(0,Math.round(e.x/i.cellWidth)),Math.max(0,Math.round(e.y/i.cellHeight))],l={w:Math.max(1,o[0]-s.x+1),h:Math.max(1,o[1]-s.y+1)};s.w===l.w&&s.h===l.h||(\"none\"!==i.snapping()?(i.resetItemsPos(),i.gridList.resizeItem(s,l)):(s.w=l.w,s.h=l.h),t.gridColSpan()===s.w&&t.gridRowSpan()===s.h||(i.items.forEach(i.gridItemToCell),i.updateGrid(s.id,100))),i.dragItem.style(\"width\",function(){return(1-s.x)*i.cellWidth+e.x-i.gutter()+\"px\"}).style(\"height\",function(){return(1-s.y)*i.cellHeight+e.y-i.gutter()+\"px\"})}).on(\"end\",function(){i.designMode()&&(r().sourceEvent.stopPropagation(),i.dragItem.remove(),i.dragItem=null,i.killGridList())})}updateGrid(t,e=0,i=!1){e=e||0;const s=this;this.divItems.classed(\"draggable\",this.designMode()).transition().duration(e).style(\"left\",function(t){return t.gridCol()*s.cellWidth+s.gutter()/2+\"px\"}).style(\"top\",function(t){return t.gridRow()*s.cellHeight+s.gutter()/2+\"px\"}).style(\"width\",function(t){return t.gridColSpan()*s.cellWidth-s.gutter()+\"px\"}).style(\"height\",function(t){return t.gridRowSpan()*s.cellHeight-s.gutter()+\"px\"}).on(\"end\",function(e){e.surfaceShadow_default(s.surfaceShadow()).surfacePadding_default(s.surfacePadding()).surfaceBorderWidth_default(s.surfaceBorderWidth()).surfaceBackgroundColor_default(s.surfaceBackgroundColor()),!0!==t&&t!==e.id()||e.resize().lazyRender()})}update(t,e){super.update(t,e),this._placeholderElement.style(\"overflow-x\",\"width\"===this.fitTo()?\"hidden\":null),this._placeholderElement.style(\"overflow-y\",\"width\"===this.fitTo()?\"scroll\":null);const i=this.getDimensions(),s=this.width()-(\"width\"===this.fitTo()?this._scrollBarWidth:0);if(this.cellWidth=s/i.width,this.cellHeight=\"all\"===this.fitTo()?this.height()/i.height:this.cellWidth,this.designMode()){const t=Math.min(this.width()/this.snappingColumns(),this.height()/this.snappingRows()),e=Math.floor(t);this.cellWidth=e,this.cellHeight=this.cellWidth}const l=this,n=e.selectAll(\"#\"+this.id()+\" > .ddCell\").data(this.content(),function(t){return t.id()});this.divItems=n.enter().append(\"div\").attr(\"class\",\"ddCell\").each(function(t){t.target(this),t.__grid_watch=t.monitor(function(e,i,s){!l._renderCount||\"snapping\"!==e&&0!==e.indexOf(\"grid\")||i===s||l.gridList||(l.initGridList(),\"none\"!==l.snapping()&&l.gridList.resizeGrid(\"horizontal\"===l.snapping()?l.snappingRows():l.snappingColumns()),l.items.forEach(l.gridItemToCell),l.updateGrid(t.id(),100),l.killGridList())});o(this).append(\"div\").attr(\"class\",\"resizeHandle\").call(l._d3DragResize).append(\"div\").attr(\"class\",\"resizeHandleDisplay\")}).merge(n),this.divItems.each(function(t){const e=o(this);l.designMode()?e.call(l._d3Drag):e.on(\"mousedown.drag\",null).on(\"touchstart.drag\",null)}),this.divItems.select(\".resizeHandle\").style(\"display\",this.designMode()?null:\"none\"),this.updateGrid(!0),n.exit().each(function(t){t.target(null),t.__grid_watch&&t.__grid_watch.remove()}).remove();const r=e.selectAll(\"#\"+this.id()+\" > .laneBackground\").data(this.designMode()?[\"\"]:[]);r.enter().insert(\"div\",\":first-child\").attr(\"class\",\"laneBackground\").style(\"left\",\"1px\").style(\"top\",\"1px\").on(\"click\",function(){l.selectionBagClear()}).merge(r).style(\"width\",this.snappingColumns()*this.cellWidth+\"px\").style(\"height\",this.snappingRows()*this.cellHeight+\"px\"),r.exit().each(function(){l.selectionBagClear()}).remove();const h=e.selectAll(\"#\"+this.id()+\" > .lane\").data(this.designMode()?[\"\"]:[]);h.enter().append(\"div\").attr(\"class\",\"lane\").style(\"left\",\"1px\").style(\"top\",\"1px\"),h.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\"),h.exit().remove()}exit(t,e){this.content().forEach(t=>t.target(null)),super.exit(t,e)}_createSelectionObject(t){return{_id:t._id,element:/* @__PURE__ */e(()=>t._element,\"element\"),widget:t}}selection(t){return arguments.length?(this._selectionBag.set(t.map(function(t){return this._createSelectionObject(t)},this)),this):this._selectionBag.get().map(function(t){return t._id})}selectionBagClear(){this._selectionBag.isEmpty()||(this._selectionBag.clear(),this.postSelectionChange())}selectionBagClick(t){if(null!==t){const e=this._createSelectionObject(t);if(r().sourceEvent.ctrlKey)this._selectionBag.isSelected(e)?(this._selectionBag.remove(e),this.postSelectionChange()):(this._selectionBag.append(e),this.postSelectionChange());else{const t=this._selectionBag.get();1===t.length&&t[0]._id===e._id?this.selectionBagClear():this._selectionBag.set([e]),this.postSelectionChange()}}}postSelectionChange(){}applyLayout(t){this.divItems.each((e,i)=>{if(t[i]){const[s,o,l,n]=t[i];e.gridCol(s).gridRow(o).gridColSpan(l).gridRowSpan(n)}}),this.updateGrid(!0)}vizActivation(t){}};e(Kt,\"Grid\");let Qt=Kt;Qt.prototype._class+=\" layout_Grid\",Qt.prototype.publish(\"designMode\",!1,\"boolean\",\"Design Mode\",null,{tags:[\"Basic\"]}),Qt.prototype.publish(\"showLanes\",!0,\"boolean\",\"Show snapping lanes when in design mode\",null,{tags:[\"Basic\"],disable:/* @__PURE__ */e(t=>!t.designMode(),\"disable\")}),Qt.prototype.publish(\"fitTo\",\"all\",\"set\",\"Sizing Strategy\",[\"all\",\"width\"],{tags:[\"Basic\"]}),Qt.prototype.publish(\"snapping\",\"vertical\",\"set\",\"Snapping Strategy\",[\"vertical\",\"horizontal\",\"none\"]),Qt.prototype.publish(\"snappingColumns\",12,\"number\",\"Snapping Columns\"),Qt.prototype.publish(\"snappingRows\",16,\"number\",\"Snapping Rows\"),Qt.prototype.publish(\"gutter\",6,\"number\",\"Gap Between Widgets\",null,{tags:[\"Basic\"]}),Qt.prototype.publish(\"surfaceShadow\",!0,\"boolean\",\"3D Shadow\"),Qt.prototype.publish(\"surfacePadding\",null,\"string\",\"Cell Padding (px)\",null,{tags:[\"Intermediate\"]}),Qt.prototype.publish(\"surfaceBorderWidth\",1,\"number\",\"Width (px) of Cell Border\",null,{tags:[\"Intermediate\"]}),Qt.prototype.publish(\"surfaceBackgroundColor\",null,\"html-color\",\"Surface Background Color\",null,{tags:[\"Advanced\"]}),Qt.prototype.publish(\"content\",[],\"widgetArray\",\"widgets\",null,{tags:[\"Basic\"],render:!1});const te=class _HorizontalList extends Yt{constructor(){super(),this.orientation_default(\"horizontal\"),this.flexWrap_default(\"nowrap\")}};e(te,\"HorizontalList\");let ee=te;ee.prototype._class+=\" layout_HorizontalList\";const ie=class _Layered extends i{_contentContainer;_widgetPlacements;_widgetRatios;constructor(){super(),this._tag=\"div\",this._widgetPlacements=[],this._widgetRatios=[]}addLayer(t,e=\"default\",i=1,s=1){const o=this.widgets();return o.push(t||(new S).text(\"No widget defined for layer.\")),this.widgets(o),this._widgetPlacements.push(e),this._widgetRatios.push([i,s]),this}enter(t,e){super.enter(t,e),this._contentContainer=e.append(\"div\").attr(\"class\",\"container\")}update(t,e){super.update(t,e);const i=this;e.style(\"padding\",this.surfacePadding()+\"px\");const s=this._contentContainer.selectAll(\".content.id\"+this.id()).data(this.widgets(),function(t){return t.id()});s.enter().append(\"div\").attr(\"class\",\"content id\"+this.id()).each(function(t,e){t.target(this)}).merge(s).each(function(t,e){const s={width:i.clientWidth(),height:i.clientHeight()},o=i.widgetSize(e,s),l=i.widgetPosition(e,s,o);this.style.top=l.y+\"px\",this.style.left=l.x+\"px\",t.resize(o).render()}),s.exit().each(function(t,e){t.target(null)}).remove(),s.order()}widgetSize(t,e){return this._widgetPlacements[t],{width:e.width*this._widgetRatios[t][0],height:e.height*this._widgetRatios[t][1]}}widgetPosition(t,e,i){switch(this._widgetPlacements[t]){default:return{x:0,y:0};case\"top\":return{x:e.width/2-i.width/2,y:0};case\"bottom\":return{x:e.width/2-i.width/2,y:e.height-i.height};case\"left\":return{x:0,y:e.height/2-i.height/2};case\"right\":return{x:e.width-i.width,y:e.height/2-i.height/2};case\"center\":return{x:e.width/2-i.width/2,y:e.height/2-i.height/2}}}};e(ie,\"Layered\");let se=ie;se.prototype._class+=\" layout_Layered\",se.prototype.publish(\"surfacePadding\",0,\"number\",\"Padding\"),se.prototype.publish(\"widgets\",[],\"widgetArray\",\"widgets\",null,{tags:[\"Private\"]});const oe=class _Popup extends i{_surfaceButtons;_originalPosition;constructor(){super(),this._tag=\"div\",this._surfaceButtons=[]}updateState(t){t=t||!this.popupState(),this.popupState(t).render()}enter(t,e){super.enter(t,e),this.widget().target(t),this._originalPosition=this.position()}update(t,e){super.update(t,e),e.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\"),0===this.widget().size().height&&this.widget().resize(this.size())}postUpdate(t,e){let i,s;switch(this.centerPopup()){case\"container\":this._placeholderElement&&(i=parseInt(this._placeholderElement.style(\"width\"))/2-this.widget().width()/2,s=parseInt(this._placeholderElement.style(\"height\"))/2-this.widget().height()/2),this.position(\"absolute\");break;case\"window\":i=window.innerWidth/2-this.widget().width()/2,s=window.innerHeight/2-this.widget().height()/2,this.position(\"fixed\");break;default:i=0,s=0,this.position(this._originalPosition)}this.pos({x:i,y:s}),super.postUpdate(t,e),e.style(\"position\",this.position()).style(\"left\",this.left()+\"px\").style(\"right\",this.right()+\"px\").style(\"top\",this.top()+\"px\").style(\"bottom\",this.bottom()+\"px\")}exit(t,e){this.widget()&&this.widget().target(null),super.exit(t,e)}click(t){}};e(oe,\"Popup\");let le=oe;le.prototype._class+=\" layout_Popup\",le.prototype.publish(\"popupState\",!1,\"boolean\",\"State of the popup, visible (true) or hidden (false)\",null,{}),le.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,{}),le.prototype.publish(\"centerPopup\",\"none\",\"set\",\"Center the widget in its container element (target) or in the window\",[\"none\",\"container\",\"window\"],{}),le.prototype.publish(\"top\",null,\"number\",\"Top position property of popup\",null,{}),le.prototype.publish(\"bottom\",null,\"number\",\"Bottom position property of popup\",null,{}),le.prototype.publish(\"left\",null,\"number\",\"Left position property of popup\",null,{}),le.prototype.publish(\"right\",null,\"number\",\"Right position property of popup\",null,{}),le.prototype.publish(\"position\",\"relative\",\"set\",\"Value of the 'position' property\",[\"absolute\",\"relative\",\"fixed\",\"static\",\"initial\",\"inherit\"],{tags:[\"Private\"]}),le.prototype.publish(\"widget\",null,\"widget\",\"Widget\",null,{tags:[\"Private\"]});const ne=class _Tabbed extends i{_tabContainer;_contentContainer;constructor(){super(),this._tag=\"div\"}clearTabs(){return this.labels([]),this.widgets([]),this}addTab(t,e,i,s){const o=t.size();0===o.width&&0===o.height&&t.size({width:\"100%\",height:\"100%\"});const l=this.labels(),n=this.widgets();i&&this.activeTabIdx(this.widgets().length),l.push(e);const r=(new R).widget(t||(new S).text(\"No widget defined for tab\"));return n.push(r),this.labels(l),this.widgets(n),s&&s(r),this}widgetSize(t){const e=this.clientWidth();let i=this.clientHeight();const s=this._tabContainer.node().getBoundingClientRect();return void 0!==s.height&&(i-=s.height),{width:e,height:i}}enter(t,e){super.enter(t,e),this._tabContainer=e.append(\"div\"),this._contentContainer=e.append(\"div\")}update(t,e){super.update(t,e);const i=this;e.style(\"padding\",this.surfacePadding_exists()?this.surfacePadding()+\"px\":null);const s=this._tabContainer.selectAll(\".tab-button.id\"+this.id()).data(this.showTabs()?this.labels():[],function(t){return t});s.enter().append(\"span\").attr(\"class\",\"tab-button id\"+this.id()).style(\"cursor\",\"pointer\").on(\"click\",function(t,e){i.click(i.widgets()[e].widget(),t,e),i.activeTabIdx(e).render()}).merge(s).classed(\"active\",function(t,e){return i.activeTabIdx()===e}).text(function(t){return t}),s.exit().remove();const l=this._contentContainer.selectAll(\".tab-content.id\"+this.id()).data(this.widgets(),function(t){return t.id()});if(l.enter().append(\"div\").attr(\"class\",\"tab-content id\"+this.id()).each(function(t,e){t.target(this)}).merge(l).classed(\"active\",function(t,e){return i.activeTabIdx()===e}).style(\"display\",function(t,e){return i.activeTabIdx()===e?\"block\":\"none\"}).each(function(t,e){if(t.visible(i.activeTabIdx()===e),i.activeTabIdx()===e){const e=i.widgetSize(o(this));t.surfaceBorderWidth(i.showTabs()?null:0).surfacePadding(i.showTabs()?null:0).resize(e)}}),l.exit().each(function(t,e){t.target(null)}).remove(),\"bottom\"===this.tabLocation())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\");else 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\")}click(t,e,i){}};e(ne,\"Tabbed\");let re=ne;re.prototype._class+=\" layout_Tabbed\",re.prototype.publish(\"showTabs\",!0,\"boolean\",\"Show Tabs\",null,{}),re.prototype.publish(\"surfacePadding\",4,\"number\",\"Padding\"),re.prototype.publish(\"activeTabIdx\",0,\"number\",\"Index of active tab\",null,{}),re.prototype.publish(\"labels\",[],\"array\",\"Array of tab labels sharing an index with \",null,{tags:[\"Private\"]}),re.prototype.publish(\"tabLocation\",\"top\",\"set\",\"Position the tabs at the bottom of the widget\",[\"top\",\"bottom\"],{tags:[\"Private\"]}),re.prototype.publish(\"widgets\",[],\"widgetArray\",\"widgets\",null,{tags:[\"Private\"]});const he=class _Toolbar extends i{constructor(){super(),this._tag=\"div\"}enter(t,e){super.enter(t,e)}update(t,e){super.update(t,e);const i=this;e.attr(\"title\",i.title()).style(\"background-color\",this.backgroundColor());const s=e.selectAll(\"div.toolbar-title\").data(this.title()?[this.title()]:[]);s.enter().append(\"div\").classed(\"toolbar-title\",!0).append(\"span\"),s.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(i.title()),s.exit().remove();const l=e.selectAll(\"div.toolbar-child\").data(null!==this.widgets()?this.widgets():[],function(t){return t.id()});l.enter().insert(\"div\",\"div.toolbar-title\").each(function(t,e){const s=i.widgetClasses()[e]?i.widgetClasses()[e]+\" toolbar-child\":\"toolbar-child\";o(this).classed(s,!0),t.target(this)}),l.exit().each(function(t){t.target(null)}).remove(),l.order()}render(t){const e=this;return super.render(function(i){const s=e.element().node().getBoundingClientRect();let o=s.left+s.width;e.element().selectAll(\"div.toolbar-child\").each(function(t,e){const i=this.getBoundingClientRect();o>i.left&&(o=i.left)}),e.element().select(\".toolbar-title\").style(\"width\",o-s.left-4+\"px\"),t&&t(i)})}exit(t,e){this.widgets().forEach(function(t){t.target(null)}),super.exit(t,e)}};e(he,\"Toolbar\");let ae=he;ae.prototype._class+=\" layout_Toolbar\",ae.prototype.publish(\"title\",\"\",\"string\",\"Title\",null,{tags:[\"Intermediate\"]}),ae.prototype.publish(\"fontSize\",null,\"number\",\"Title Font Size (px)\",null,{tags:[\"Advanced\"],optional:!0}),ae.prototype.publish(\"fontColor\",null,\"html-color\",\"Title Font Color\",null,{tags:[\"Advanced\"],optional:!0}),ae.prototype.publish(\"fontFamily\",null,\"string\",\"Title Font Family\",null,{tags:[\"Advanced\"],optional:!0}),ae.prototype.publish(\"fontBold\",!0,\"boolean\",\"Enable Bold Title Font\",null,{tags:[\"Advanced\"],optional:!0}),ae.prototype.publish(\"backgroundColor\",null,\"html-color\",\"Background Color\",null,{tags:[\"Intermediate\"],optional:!0}),ae.prototype.publish(\"responsive\",!0,\"boolean\",\"Adapts to pixel width\",null,{tags:[\"Basic\"]}),ae.prototype.publish(\"widgets\",[],\"widgetArray\",\"Child widgets of the toolbar\",null,{tags:[\"Basic\"]}),ae.prototype.publish(\"widgetClasses\",[],\"array\",\"Array of Html Element classes to be assigned to the child widgets (shares index with widgets param)\",null,{tags:[\"Basic\"]});const de=class _VerticalList extends Yt{constructor(){super(),this.orientation_default(\"vertical\"),this.flexWrap_default(\"nowrap\")}};e(de,\"VerticalList\");let pe=de;pe.prototype._class+=\" layout_VerticalList\";export{F as AbsoluteSurface,L as Accordion,M as BUILD_VERSION,Y as Border,U as Border2,q as Carousel,E as Cell,Et as ChartPanel,Yt as FlexGrid,Qt as Grid,ee as HorizontalList,se as Layered,Lt as Legend,Rt as Modal,A as PKG_NAME,H as PKG_VERSION,le as Popup,R as Surface,re as Tabbed,ae as Toolbar,pe as VerticalList,N as WidgetDiv};\n//# sourceMappingURL=index.js.map\n!function(){\"use strict\";try{if(\"undefined\"!=typeof document){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 8px)}.layout_Border .grid-drop-target.drop-target-over{border:2px dashed #179BD7;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#119bd71a 6px 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 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 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 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)}}();\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","export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n"],"names":["t","Object","defineProperty","e","__name","i","value","configurable","I","s","length","o","Array","isArray","getOwnPropertyDescriptor","get","enumerable","freeze","Symbol","toStringTag","k","_a","constructor","super","this","_tag","enter","update","clientWidth","l","clientHeight","units","widgetX","widgetY","widgetWidth","Number","widgetHeight","style","opacity","n","selectAll","_id","data","widget","append","attr","each","target","merge","resize","width","height","exit","remove","F","prototype","_class","publish","tags","O","_b","_isClosed","titleSpan","iconDiv","ul","icon","pushListItem","content","_protected","unshift","push","clearListItems","collapseClick","classed","defaultCollapsed","size","node","on","render","text","title","document","createElement","_target","text_colorFill","titleFontColor","char","closedIcon","openIcon","L","D","_c","_surfaceButtons","widgetSize","calcHeight","calcFrameHeight","calcFrameWidth","surfaceShadow","surfaceBorderWidth_exists","surfaceBorderWidth","surfaceBorderColor","surfaceBorderRadius_exists","surfaceBorderRadius","surfaceBackgroundColor","insert","surfaceTitleAlignment","surfaceTitleFontColor","surfaceTitleFontSize_exists","surfaceTitleFontSize","surfaceTitleFontFamily","surfaceTitleFontBold","surfaceTitleBackgroundColor","surfaceTitlePadding_exists","surfaceTitlePadding","altText_exists","altText","select","buttonAnnotations","class","id","padding","font","click","label","element","parentElement","classID","split","surfacePadding_exists","surfacePadding","R","optional","disable","G","_d","_indicateTheseIds","indicateTheseIds","arguments","onMouseEnter","onMouseLeave","indicatorOpacity","indicatorBorderColor","indicatorGlowColor","r","datum","E","X","_e","_colCount","_rowCount","_colSize","_rowSize","_shrinkWrapBoxes","_watch","_offsetX","_offsetY","_dragCell","_dragCellSize","_dragCellStartSize","_handleTop","_handleLeft","_dragPrevX","_dragPrevY","_cellSizes","contentDiv","_scrollBarWidth","_borderHandles","_sectionTypeArr","sectionTypes","watchWidget","monitor","lazyPostUpdate","debounce","postUpdate","applyLayoutType","borderLayoutObject","forEach","_fixedLeft","left","_fixedTop","top","_fixedWidth","_fixedHeight","_dragHandles","cellSpecificDragHandles","h","a","d","p","getBoundingClientRect","bottom","right","SVGElement","parseFloat","getAttribute","indexOf","topSize","topPercentage","gutter","bottomSize","bottomPercentage","leftSize","leftPercentage","rightSize","rightPercentage","c","y","px","u","g","f","_","center","clearContent","splice","hasContent","setContent","getCell","getContent","setLayoutOffsets","_element","dragStart","sourceEvent","stopPropagation","clientX","clientY","dragTick","topHeight","leftHeight","bottomHeight","rightHeight","rightWidth","leftWidth","dragEnd","getBBox","apply","_size","getScrollbarWidth","designMode","call","_placeholderElement","getCellSizes","lazyRender","Y","V","_f","_div","_overlay","_overflowX","_overflowY","_widget","overlay","overflowX","overflowY","renderPromise","then","visible","x","Promise","resolve","N","$","_g","_bodyElement","_topWA","_leftWA","_centerWA","_rightWA","_bottomWA","_topPrevOverflow","_leftPrevOverflow","_rightPrevOverflow","_bottomPrevOverflow","showTop","showRight","showBottom","showLeft","topOverflowX","rightOverflowX","bottomOverflowX","leftOverflowX","topOverflowY","rightOverflowY","bottomOverflowY","leftOverflowY","targetNull","swap","topOverlay","async","bottomHeight_exists","centerOverflowX","centerOverflowY","all","U","j","_h","_prevActive","_root","activeWidget","widgets","active","transition","duration","transitionDuration","isDOMHidden","q","J","Math","PI","Z","K","Q","tt","_x0","_y0","_x1","_y1","et","it","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","Error","abs","sqrt","b","tan","acos","w","m","arc","cos","sin","rect","toString","st","ot","lt","draw","nt","rt","ht","at","dt","pt","ct","ut","gt","ft","_t","yt","bt","wt","mt","vt","xt","type","context","St","iterator","Ct","Pt","Tt","reverse","pop","join","getComputedTextLength","zt","genLength","generatedLabels","domain","range","labelDelimiter","Wt","map","labels","feature","Bt","invertExtent","It","At","Ht","Mt","kt","d3_drawShapes","d3_addText","d3_calcType","ticks","d3_filterCells","filter","d3_placement","d3_addEvents","d3_title","nodes","d3_defaultLocale","format","formatPrefix","d3_defaultFormatSpecifier","d3_defaultDelimiter","Ft","v","S","C","P","T","z","W","B","A","H","M","max","slice","scale","cells","cellFilter","shape","shapeWidth","shapeHeight","shapeRadius","shapePadding","labelAlign","locale","labelFormat","labelOffset","labelWrap","useClass","orient","toLowerCase","ascending","classPrefix","titleWidth","textWrap","Ot","_i","_owner","_targetWidget","_targetWidgetMonitor","_legendOrdinal","_disabled","_symbolTypeMap","circle","cross","diamond","square","star","triangle","wye","_drawStartPos","onClick","onOver","onOut","isDisabled","Field","filteredFields","dataFamily","fields","filteredColumns","columns","filteredData","isRainbow","getWidget","_palette","targetWidget","chart","getPalette","ordinal","rainbow","getPaletteType","fillColorFunc","fillColor","paletteID","name","switch","calcMetaData","reduce","showSeriesTotal","textSize","rainbowFormat","rainbowBins","_dataMinWeight","_dataMaxWeight","floor","parseInt","dataArr","total","maxLabelWidth","radiusToSymbolSize","itemPadding","orientation","symbolType","labelMaxWidth","updateDisabled","_containerSize","pos","showLegendTotal","enableOverflowScroll","enableOverflow","_boundingBox","_parentRelativeDiv","pow","refreshColumns","refreshData","highlightColumn","onDblClick","onMouseOver","fitToContent","Lt","Dt","_j","_relativeTarget","_fade","_modal","_modalHeader","_modalBody","_modalHeaderAnnotations","_modalHeaderCloseButton","_close","closeModal","getRelativeTarget","relativeTargetId","getElementById","locateAncestor","body","setModalSize","fixedHeight","fixedWidth","minHeight","minWidth","maxHeight","maxWidth","setFadePosition","setModalPosition","fixedTop","fixedLeft","resizeBodySync","enableClickFadeToClose","showFade","titleFontSize","formattedTitle","html","show","title_exists","trim","Rt","Gt","_k","_legend","_progressBar","_autoScale","_resolutions","tiny","small","_highlight","_scale","_orig_size","_toggleInfo","faChar","tooltip","selected","description","_toggleData","dataVisible","_buttonDownload","downloadCSV","_buttonDownloadImage","downloadPNG","_toggleLegend","legendPosition","legendVisible","_spacer","_titleBar","buttons","_carousel","_table","_hideLegendToggleList","refreshFields","highlight","startProgress","start","finishProgress","finish","downloadTitle","downloadTimestampSuffix","timestamp","downloadString","export","cssTag","getResponsiveMode","enableAutoscaling","setOrigSize","JSON","parse","stringify","preUpdateTiny","preUpdateSmall","min","preUpdateRegular","_prevdataVisible","_prevlegendVisible","_prevLegendPosition","_prevChartDataFamily","_prevChart","_prevButtons","preUpdate","_dataFamily","highlightSize","highlightColor","_iconBar","dataButtonVisible","downloadButtonVisible","downloadImageButtonVisible","legendButtonVisible","enabled","hiddenButtons","titleVisible","titleOverlay","postUpdateTiny","postUpdateSmall","postUpdateRegular","titleIconFontSize","_prevPos","dblclick","vertex_click","vertex","vertex_dblclick","edge_click","edge","edge_dblclick","Et","publishReset","publishProxy","Xt","_l","parentNode","updateFlexParent","itemMinHeight","itemMinWidth","widgetsFlexBasis","flexBasis","widgetsFlexGrow","flexGrow","borderWidth","itemBorderColor","firstChild","display","flexWrap","alignItems","alignContent","forceXScroll","disableScroll","forceYScroll","Yt","Vt","__esModule","hasOwnProperty","default","Nt","$t","exports","Ut","_options","defaults","items","_adjustSizeOfItems","generateGrid","cloneItems","lanes","direction","grid","_padNumber","_resetGrid","_markItemPositionToGrid","resizeGrid","_sortItemsByPosition","_getItemPosition","_updateItemPosition","findPositionForItem","_pullItemsToLeft","_itemFitsAtPosition","moveItemToPosition","_resolveCollisions","resizeItem","_updateItemSize","getChangedItems","_getItemByAttribute","sort","bind","autoSize","_deleteItemPositionFromGrid","_setItemPosition","_ensureColumns","_getItemsCollidingWithItem","_itemsAreColliding","_tryToResolveCollisionsLocally","_findLeftMostPositionForItem","jt","qt","Jt","__proto__","Zt","Kt","_m","divItems","gridList","itemsMap","origItems","cellWidth","cellHeight","dragItem","dragItemPos","_d3Drag","_d3DragResize","_selectionBag","Selection","getDimensions","gridCol","gridColSpan","gridRow","gridRowSpan","sortedContent","some","getWidgetCell","cellToGridItem","cell","gridItemToCell","resetItemsPos","initGridList","snapping","snappingRows","snappingColumns","killGridList","subject","selectionBagClick","updateGrid","round","surfaceShadow_default","surfacePadding_default","surfaceBorderWidth_default","surfaceBackgroundColor_default","fitTo","__grid_watch","_renderCount","selectionBagClear","showLanes","_createSelectionObject","selection","set","isEmpty","clear","postSelectionChange","ctrlKey","isSelected","applyLayout","vizActivation","Qt","te","_n","orientation_default","flexWrap_default","ie","_o","_contentContainer","_widgetPlacements","_widgetRatios","addLayer","widgetPosition","order","se","oe","_p","_originalPosition","updateState","popupState","position","shrinkWrap","centerPopup","window","innerWidth","innerHeight","le","ne","_q","_tabContainer","clearTabs","addTab","activeTabIdx","showTabs","tabLocation","offsetHeight","re","he","_r","backgroundColor","fontSize_exists","fontSize","fontColor_exists","fontColor","fontFamily_exists","fontFamily","fontBold_exists","fontBold","backgroundColor_exists","widgetClasses","ae","de","_s","requireWidget","_reject","parsedClassID","Utility","parseClassID","require","package","Package","Widget","widgetID","memberWidgetID","requireWidgets","classIDs","appendChild","createTextNode","head","console","error","_MultiChart","HTMLWidget","_allCharts","_chartTypeDefaults","_chartTypeProperties","_chartMonitor","_switchingTo","INDChart","IGraph","_allChartTypes","item","newItem","widgetClass","retVal","asDefault","hasOverlay","chartTypeDefaults","chartTypeProperties","getChartDataFamily","chartType","family","requireContent","callback","classInfo","import","mod","WidgetClass","switchChart","warn","oldContent","newContent","domNode","currChart","key","propKey","_callback","args","MultiChart","implements","_otherChartTypes","_graphChartTypes","_1DChartTypes","_2DChartTypes","_NDChartTypes","_mapChartTypes","_anyChartTypes","concat","_allMap","d3Map","_allFamilies","keys","_allChartTypesMap","_allChartTypesByClass","widgetPath","_origChart","_row","_column","_selected","row","column","more","newVal","oldVal","broadcast","_Summary","_MultiChartPanel","ChartPanel","multiChart","MultiChartPanel","_Dermatology","Border","_toolbar","_propEditor","_showProperties","_propsButton","_prevWidget","Toolbar","PropertyEditor","show_settings","showProperties","toggleProperties","OnOff","showToolbar","showToolbar_exists","widget_exists","Dermatology","_MegaChart","_chart","_valueTitle","Text","_domainTitle","Legend","_csvButton","_infoButton","_maximizeButton","_legendButton","_chartTypeSelect","_prevShowToolbar","_contentClasses","_dataCount","toolbarWidgets","topShrinkWrap","Html","Button","infoIcon","buttonWidget","isMaximized","d3Select","parentGrid","targetElement","targetParentBox","targetPaddingTop","getComputedStyle","getPropertyValue","replace","targetPaddingLeft","targetPaddingRight","targetPaddingBottom","__old_position","__old_zindex","__old_backgroundColor","__old_boxshadow","zIndex","boxShadow","gridTarget","gridBox","gridPaddingTop","gridPaddingLeft","gridPaddingRight","gridPaddingBottom","maximizedBackgroundColor","Input","inlineLabel","Select","selectOptions","change","fixedSize","valueAxisTitle","rotation","leftShrinkWrap","domainAxisTitle","bottomShrinkWrap","showHideButton","twArr2","button","idx","hideRowOnLegendClick","twArr","showCSV","showMaximize","toolbarShowLegend","showChartSelect","showInfoButton","showCount","titleFontFamily","titleFontBold","titleBackgroundColor","checked","getContentClasses","obj","serializeState","state","deserializeState","col","sel","hideRowOnLegendClick_exists","titleFontSize_exists","titleFontColor_exists","titleFontFamily_exists","titleFontBold_exists","titleBackgroundColor_exists","maximizedBackgroundColor_exists","showChartSelect_exists","showCSV_exists","showCount_exists","showMaximize_exists","toolbarShowLegend_exists","showInfoButton_exists","infoIcon_exists","legendPosition_exists","domainAxisTitle_exists","valueAxisTitle_exists","chartType_exists","chart_exists","MegaChart","retrofit_114_serialization","replacement_version","__version","state_version_obj","parseVersionString","target_version_obj","major","minor","info","_json_str","ret_obj","__properties","__id","__class","deserializeFromObject","promises","Persist","widgetPropertyWalker","widgetKey","create","w2","widgetArrayKey","widgetStateArray","arrPromises","widgetState","widgetItem","widgetArray","__data","HasOwnProperty","__state","deserialize","_idSeed","Platform","version","catch","clone","serializeToObject"],"mappings":"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"}