@hpcc-js/html 3.3.20 → 3.4.1

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.
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { HTMLWidget as t, format as n, select as r } from "@hpcc-js/common";
2
2
  import { scopedLogger as i } from "@hpcc-js/util";
3
3
  import { React as a } from "@hpcc-js/react";
4
4
  //#region \0rolldown/runtime.js
5
- var o = "@hpcc-js/html", s = "3.3.20", c = "3.25.1", HTMLTooltip = class extends t {
5
+ var o = "@hpcc-js/html", s = "3.4.1", c = "3.26.1", HTMLTooltip = class extends t {
6
6
  _triggerElement;
7
7
  _contentNode;
8
8
  _prevContentNode;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["u","i","f","l","r"],"sources":["../src/__package__.ts","../src/HTMLTooltip.ts","../src/SimpleTable.ts","../src/StyledTable.ts","../src/BreakdownTable.ts","../src/JSXWidget.ts","../src/reactD3.ts","../../../node_modules/preact/dist/preact.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../src/VizComponent.tsx","../src/VizInstance.tsx","../src/StatsTable.ts","../src/TitleBar.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\nimport { scopedLogger, ScopedLogging } from \"@hpcc-js/util\";\n\ntype Direction = \"n\" | \"s\" | \"e\" | \"w\" | \"ne\" | \"nw\" | \"se\" | \"sw\";\ntype Position = { x: number, y: number };\ntype DirectionalBBox = { [key in Direction]: Position; };\n\ntype Rectangle = { top: number, left: number, width: number, height: number };\nexport class HTMLTooltip extends HTMLWidget {\n\n public _triggerElement;\n public _contentNode;\n protected _prevContentNode;\n\n protected _tooltipElement;\n protected _arrowElement;\n protected _tooltipHTMLCallback = (data?) => \"<b>_tooltipHTMLCallback is undefined</b>\";\n protected _logger: ScopedLogging = scopedLogger(\"html/HTMLTooltip\");\n constructor() {\n super();\n this.visible(false);\n }\n\n tooltipHTML(_: (data?) => string): this {\n this._tooltipHTMLCallback = _;\n return this;\n }\n\n tooltipContent(_): this {\n if (!arguments.length) return this._contentNode;\n this._contentNode = _;\n return this;\n }\n\n triggerElement(_): this {\n this._triggerElement = _;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const body = d3Select(\"body\");\n this._tooltipElement = body.append(\"div\")\n .attr(\"class\", \"tooltip-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n this._arrowElement = body.append(\"div\")\n .attr(\"class\", \"arrow-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n if (this._contentNode !== this._prevContentNode) {\n const node = this._tooltipElement.node();\n [...node.querySelectorAll(\"*\")]\n .map(n => n.__data__)\n .filter(n => n)\n .forEach(w => {\n if (typeof w.target === \"function\") {\n w.target(null);\n }\n if (typeof w.exit === \"function\") {\n w.exit();\n }\n });\n node.innerHTML = \"\";\n node.appendChild(this._contentNode);\n this._prevContentNode = this._contentNode;\n }\n\n if (this._contentNode) {\n this.onShowContent(this._contentNode);\n } else {\n this._tooltipElement\n .html(() => {\n return this._tooltipHTMLCallback(this.data());\n });\n }\n if (this.fitContent()) {\n this._tooltipElement\n .style(\"width\", \"auto\")\n .style(\"height\", \"auto\")\n .style(\"padding\", \"0px\")\n .style(\"box-sizing\", \"content-box\")\n ;\n const rect = this._tooltipElement.node().getBoundingClientRect();\n this.tooltipWidth_default(rect.width);\n this.tooltipHeight_default(rect.height);\n }\n this._closing = false;\n this._tooltipElement\n .style(\"background-color\", this.tooltipColor())\n .style(\"color\", this.fontColor())\n .style(\"width\", this.tooltipWidth() + \"px\")\n .style(\"height\", this.tooltipHeight() + \"px\")\n .style(\"opacity\", 1)\n .style(\"padding\", this.padding() + \"px\")\n .style(\"pointer-events\", this.enablePointerEvents() ? \"all\" : \"none\")\n .style(\"box-sizing\", \"content-box\")\n ;\n this._arrowElement\n .style(\"opacity\", 1)\n .style(\"pointer-events\", \"none\")\n ;\n this.updateTooltipPosition();\n }\n\n onShowContent(node) {\n\n }\n\n protected updateTooltipPosition(): Position {\n const bbox = this.calcReferenceBBox();\n const direction = this.calcTooltipDirection(bbox);\n const box = bbox[direction];\n this._tooltipElement\n .style(\"top\", box.y + \"px\")\n .style(\"left\", box.x + \"px\")\n ;\n this.setArrowPosition(box, direction);\n return box;\n }\n\n protected calcTooltipDirection(bbox: DirectionalBBox): Direction {\n const directions: Direction[] = Object.keys(bbox) as Direction[];\n\n const defaultDirection = this.direction();\n directions.sort((a, b) => a === defaultDirection ? -1 : 1);\n const windowRect = {\n top: 0,\n left: 0,\n width: window.innerWidth,\n height: window.innerHeight\n };\n for (let i = 0; i < directions.length; i++) {\n const tooltipRect = {\n top: bbox[directions[i]].y,\n left: bbox[directions[i]].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n };\n if (this.rectFits(tooltipRect, windowRect)) {\n return directions[i];\n }\n }\n this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${defaultDirection}'`);\n this._logger.debug(windowRect);\n this._logger.debug({\n top: bbox[defaultDirection].y,\n left: bbox[defaultDirection].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n });\n return defaultDirection;\n }\n\n protected rectFits(innerRect: Rectangle, outerRect: Rectangle): boolean {\n return (\n innerRect.top >= outerRect.top &&\n innerRect.left >= outerRect.left &&\n innerRect.width + innerRect.left <= outerRect.width + outerRect.left &&\n innerRect.height + innerRect.top <= outerRect.height + outerRect.top\n );\n }\n\n protected setArrowPosition(point: Position, direction: Direction) {\n let top;\n let left;\n let visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border\", `${this.arrowHeight()}px solid ${this.tooltipColor()}`)\n .style(\"border-top-color\", \"transparent\")\n .style(\"border-right-color\", \"transparent\")\n .style(\"border-bottom-color\", \"transparent\")\n .style(\"border-left-color\", \"transparent\")\n ;\n switch (direction) {\n case \"n\":\n top = point.y + this.tooltipHeight() + (this.padding() * 2);\n left = point.x + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2) + this.padding();\n visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowHeight()}px`)\n .style(\"border-bottom-width\", \"0px\")\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"s\":\n top = point.y - this.arrowHeight();\n left = point.x + this.padding() + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2);\n visibleBorderStyle = \"border-bottom-color\";\n this._arrowElement\n .style(\"border-top-width\", \"0px\")\n .style(\"border-bottom-width\", `${this.arrowHeight()}px`)\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"e\":\n top = point.y + (this.tooltipHeight() / 2) + this.padding() - (this.arrowWidth() / 2);\n left = point.x - this.arrowHeight();\n visibleBorderStyle = \"border-right-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", \"0px\")\n .style(\"border-right-width\", `${this.arrowHeight()}px`)\n ;\n break;\n case \"w\":\n top = point.y + (this.tooltipHeight() / 2) - (this.arrowWidth() / 2) + this.padding();\n left = point.x + this.tooltipWidth() + (this.padding() * 2);\n visibleBorderStyle = \"border-left-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", `${this.arrowHeight()}px`)\n .style(\"border-right-width\", \"0px\")\n ;\n break;\n }\n if (typeof top !== \"undefined\" && typeof left !== \"undefined\") {\n this._arrowElement\n .style(\"top\", top + \"px\")\n .style(\"left\", left + \"px\")\n .style(visibleBorderStyle, this.tooltipColor())\n .style(\"opacity\", 1)\n ;\n } else {\n this._arrowElement\n .style(\"opacity\", 0)\n ;\n }\n return point;\n }\n\n protected getReferenceNode() {\n if (!this._triggerElement) {\n return this.element().node().parentNode.parentNode;\n }\n return this._triggerElement.node();\n }\n public _cursorLoc;\n protected calcReferenceBBox() {\n const node = this.getReferenceNode();\n let { top, left, width, height } = node.getBoundingClientRect();\n const wholeW = this.tooltipWidth();\n const wholeH = this.tooltipHeight();\n const halfW = wholeW / 2;\n const halfH = wholeH / 2;\n const arrowH = this.arrowHeight();\n const p = this.padding();\n const p2 = p * 2;\n\n if (this.followCursor() && this._cursorLoc) {\n\n left = this._cursorLoc[0];\n top = this._cursorLoc[1];\n width = 1;\n height = 1;\n }\n const bbox = {\n n: {\n x: left + (width / 2) - halfW - p,\n y: top - wholeH - arrowH - p2\n },\n e: {\n x: left + width + arrowH,\n y: top + (height / 2) - halfH - p\n },\n s: {\n x: left + (width / 2) - halfW - p,\n y: top + height + arrowH\n },\n w: {\n x: left - wholeW - arrowH - p2,\n y: top + (height / 2) - halfH - p\n },\n nw: {\n x: left - wholeW - p2,\n y: top - wholeH - p2\n },\n ne: {\n x: left + width,\n y: top - wholeH - p2\n },\n se: {\n x: left + width,\n y: top + height\n },\n sw: {\n x: left - wholeW - p2,\n y: top + height\n }\n };\n return bbox;\n }\n\n private _closing = false;\n mouseout() {\n this._closing = true;\n this._tooltipElement.on(\"mouseover\", () => {\n this._closing = false;\n });\n this._tooltipElement.on(\"mouseout\", () => {\n this.mouseout();\n });\n setTimeout(() => {\n if (this._closing) {\n this.visible(false);\n }\n }, this.closeDelay());\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return super.visible();\n if (this._arrowElement) {\n this._arrowElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n this._tooltipElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n }\n super.visible(_);\n return this;\n }\n\n exit(domNode, element) {\n if (this._arrowElement) {\n this._arrowElement.remove();\n this._tooltipElement.remove();\n }\n super.exit(domNode, element);\n }\n}\nHTMLTooltip.prototype._class += \" html_HTMLTooltip\";\n\nexport interface HTMLTooltip {\n padding(): number;\n padding(_: number): this;\n direction(): Direction;\n direction(_: Direction): this;\n arrowHeight(): number;\n arrowHeight(_: number): this;\n arrowWidth(): number;\n arrowWidth(_: number): this;\n fontColor(): string;\n fontColor(_: string): this;\n tooltipColor(): string;\n tooltipColor(_: string): this;\n tooltipWidth(): number;\n tooltipWidth(_: number): this;\n tooltipWidth_default(_: number);\n tooltipHeight(): number;\n tooltipHeight(_: number): this;\n tooltipHeight_default(_: number);\n followCursor(): boolean;\n followCursor(_: boolean): this;\n enablePointerEvents(): boolean;\n enablePointerEvents(_: boolean): this;\n closeDelay(): number;\n closeDelay(_: number): this;\n fitContent(): boolean;\n fitContent(_: boolean): this;\n\n}\n\nHTMLTooltip.prototype.publish(\"fitContent\", false, \"boolean\", \"If true, tooltip will grow to fit its html content\");\nHTMLTooltip.prototype.publish(\"followCursor\", false, \"boolean\", \"If true, tooltip will display relative to cursor location\");\nHTMLTooltip.prototype.publish(\"closeDelay\", 400, \"number\", \"Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)\");\nHTMLTooltip.prototype.publish(\"direction\", \"n\", \"set\", \"Direction in which to display the tooltip\", [\"n\", \"s\", \"e\", \"w\", \"ne\", \"nw\", \"se\", \"sw\"]);\nHTMLTooltip.prototype.publish(\"padding\", 8, \"number\", \"Padding (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowWidth\", 16, \"number\", \"Width (or height depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowHeight\", 8, \"number\", \"Height (or width depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"fontColor\", \"#FFF\", \"html-color\", \"The default font color for text in the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipColor\", \"#000000EE\", \"html-color\", \"Background color of the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipWidth\", 200, \"number\", \"Width of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"tooltipHeight\", 200, \"number\", \"Height of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"enablePointerEvents\", false, \"boolean\", \"If true, the 'pointer-events: all' style will be used\");\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\n\nexport class SimpleTable extends HTMLWidget {\n protected _table;\n protected _tbody;\n protected _thead;\n protected _theadRow;\n constructor() {\n super();\n }\n\n protected transformData() {\n return this.data();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._table = element.append(\"table\");\n this._thead = this._table.append(\"thead\");\n this._theadRow = this._thead.append(\"tr\");\n this._tbody = this._table.append(\"tbody\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._table\n .style(\"width\", this.autoWidth() ? \"auto\" : \"100%\")\n ;\n const theadTrSelection = this._theadRow.selectAll(\"th\").data(this.columns());\n theadTrSelection.enter()\n .append(\"th\")\n .attr(\"class\", (n, i) => `th-${i}`)\n .merge(theadTrSelection)\n .text(_d => (_d).toString())\n ;\n theadTrSelection.exit().remove();\n const trSelection = this._tbody.selectAll(\"tr\").data(this.transformData());\n trSelection.enter()\n .append(\"tr\")\n .merge(trSelection)\n .each(function (this, d) {\n const tr = d3Select(this);\n const tdSelection = tr.selectAll(\"td\").data(d);\n tdSelection.enter()\n .append(\"td\")\n .attr(\"class\", (n, i) => `col-${i}`)\n .merge(tdSelection as any)\n .text(_d => (_d).toString())\n ;\n tdSelection.exit().remove();\n })\n ;\n trSelection.exit().remove();\n }\n}\nSimpleTable.prototype._class += \" html_SimpleTable\";\n\nexport interface SimpleTable {\n autoWidth(): boolean;\n autoWidth(_: boolean): this;\n}\nSimpleTable.prototype.publish(\"autoWidth\", false, \"boolean\", \"If true, table width will be set to 'auto'. If false, the width is set to '100%'\");\n","import { SimpleTable } from \"./SimpleTable.ts\";\n\nexport class StyledTable extends SimpleTable {\n constructor() {\n super();\n }\n\n protected applyStyleObject(selection, styleObject) {\n Object.keys(styleObject).forEach(styleName => {\n selection.style(styleName, styleObject[styleName]);\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n element.selectAll(\"tr,th,td\")\n .attr(\"style\", \"\")\n .style(\"font-family\", this.fontFamily())\n .style(\"color\", this.fontColor())\n ;\n\n this.theadColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.select(`.th-${i}`), styleObj);\n });\n this.tbodyColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.selectAll(`.col-${i}`), styleObj);\n });\n const evenRowStylesExist = Object.keys(this.evenRowStyles()).length > 0;\n const lastRowStylesExist = Object.keys(this.lastRowStyles()).length > 0;\n const tbodyRows = element.selectAll(\"tbody > tr\");\n if (evenRowStylesExist) {\n const tbodyEvenRows = tbodyRows.select(function (this: HTMLElement, d, i) { return i % 2 ? this : null; });\n this.applyStyleObject(tbodyEvenRows, this.evenRowStyles());\n }\n if (lastRowStylesExist) {\n const tbodyLastRow = tbodyRows.select(function (this: HTMLElement, d, i, arr) { return i === arr.length - 1 ? this : null; });\n this.applyStyleObject(tbodyLastRow, this.lastRowStyles());\n }\n }\n}\nStyledTable.prototype._class += \" html_StyledTable\";\n\nexport interface StyledTable {\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n tbodyColumnStyles(): Array<{ [styleID: string]: any }>;\n tbodyColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n tbodyColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles(): Array<{ [styleID: string]: any }>;\n theadColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n lastRowStyles(): { [styleID: string]: any };\n lastRowStyles(_: { [styleID: string]: any }): this;\n lastRowStyles_default(_: { [styleID: string]: any }): this;\n evenRowStyles(): { [styleID: string]: any };\n evenRowStyles(_: { [styleID: string]: any }): this;\n evenRowStyles_default(_: { [styleID: string]: any }): this;\n}\n\nStyledTable.prototype.publish(\"fontFamily\", \"Verdana\", \"string\", \"Base font-family used within the table\");\nStyledTable.prototype.publish(\"fontColor\", \"#333\", \"string\", \"Base font color used within the table\");\nStyledTable.prototype.publish(\"theadColumnStyles\", [], \"array\", 'Array of objects containing styles for the thead columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"tbodyColumnStyles\", [], \"array\", 'Array of objects containing styles for the tbody columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"lastRowStyles\", {}, \"object\", 'Object containing styles for the last row (ex: {\"color\":\"red\"})');\nStyledTable.prototype.publish(\"evenRowStyles\", {}, \"object\", 'Object containing styles for even rows (ex: {\"background-color\":\"#AAA\"})');\n","import { HTMLTooltip } from \"./HTMLTooltip.ts\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class BreakdownTable extends StyledTable {\n // protected _table;\n // protected _tbody;\n protected _tooltip: HTMLTooltip;\n constructor() {\n super();\n }\n\n protected transformData() {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n return this.breakdownData(rowCount);\n }\n\n protected breakdownData(limit: number): any[] {\n const len = this.data().length;\n const sum = this.data().reduce((acc, row) => acc + row[1], 0);\n const data = [];\n let percSum = 0;\n this.data().sort((a, b) => a[1] > b[1] ? -1 : 1);\n const hiddenRowCount = len - limit;\n const showOther = hiddenRowCount > 0;\n this.data()\n .filter((_, i) => showOther ? i < limit - 1 : true)\n .forEach(row => {\n const perc = Math.round((row[1] / sum) * 100);\n percSum += perc;\n data.push([row[0], perc + \"%\"]);\n });\n if (showOther) {\n const otherLabel = `${this.otherLabel()} (${len - limit + 1})`;\n const otherPercentage = \"~\" + (100 - percSum) + \"%\";\n data.push([otherLabel, otherPercentage]);\n }\n return data;\n }\n\n protected calculateRowCount(): number {\n const theadRowHeight = this.columns().length > 0 ? this.thFontSize() + 5 : 0;\n const tbodyRowHeight = this.fontSize() + 5;\n const tbodyAvailableHeight = this.height() - theadRowHeight;\n const rowCount = Math.floor(tbodyAvailableHeight / tbodyRowHeight);\n return rowCount;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._tooltip = new HTMLTooltip()\n .target(domNode)\n ;\n this._tooltip\n .tooltipHTML(data => {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n const rowHeight = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).height)) ?? this.fontSize();\n const widestLabel = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).width));\n const widestPerc = 30;\n const colCount = 2;\n const w = colCount * (widestLabel + widestPerc) + (this._tooltip.padding() * 2);\n const h = rowHeight * Math.ceil((data.length - rowCount) / colCount) + (this._tooltip.padding() * 2);\n this._tooltip.tooltipWidth(w);\n this._tooltip.tooltipHeight(h);\n const otherData = this.breakdownData(this.data().length).slice(rowCount - 1);\n return `<div style=\"\n width: 100%;\n height: 100%;\n font-size: ${this.fontSize()}px;\n \">${otherData.map(row =>\n `<div style=\"\n float:left;\n width:${Math.floor(99 / colCount)}%;\n \">${row[0]}: ${row[1]}</div>`\n ).join(\"\")\n }</div>`;\n })\n ;\n }\n\n update(domNode, element) {\n this.theadColumnStyles_default([\n {\n \"color\": this.thFirstColor(),\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"width\": \"1%\",\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.percentageAlignment(),\n \"padding\": \"0px\"\n }\n ]);\n this.tbodyColumnStyles_default([\n {\n \"color\": this.topLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.topPercentageColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n this.lastRowStyles_default([\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherLabelBold() ? \"bold\" : \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherPercentageBold() ? \"bold\" : \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n\n super.update(domNode, element);\n\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n if (rowCount < this.data().length) {\n const lastRow = element.select(\"tbody > tr:last-child\");\n const context = this;\n lastRow\n .on(\"mouseout.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .visible(false)\n .render()\n ;\n })\n .on(\"mouseenter.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .direction(\"n\")\n .data(context.data())\n .visible(true)\n .render()\n ;\n })\n ;\n }\n }\n\n}\nBreakdownTable.prototype._class += \" html_BreakdownTable\";\n\nexport interface BreakdownTable {\n useCalculatedRowCount(): boolean;\n useCalculatedRowCount(_: boolean): this;\n rowCount(): number;\n rowCount(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n thFirstColor(): string;\n thFirstColor(_: string): this;\n thLastColor(): string;\n thLastColor(_: string): this;\n thFontSize(): number;\n thFontSize(_: number): this;\n thFontWeight(): string;\n thFontWeight(_: string): this;\n labelAlignment(): \"left\" | \"center\" | \"right\";\n labelAlignment(_: \"left\" | \"center\" | \"right\"): this;\n percentageAlignment(): \"left\" | \"center\" | \"right\";\n percentageAlignment(_: \"left\" | \"center\" | \"right\"): this;\n topLabelColor(): string;\n topLabelColor(_: string): this;\n topPercentageColor(): string;\n topPercentageColor(_: string): this;\n topPercentageBold(): boolean;\n topPercentageBold(_: boolean): this;\n otherLabel(): string;\n otherLabel(_: string): this;\n otherLabelColor(): string;\n otherLabelColor(_: string): this;\n otherLabelBold(): boolean;\n otherLabelBold(_: boolean): this;\n otherPercentageColor(): string;\n otherPercentageColor(_: string): this;\n otherPercentageBold(): boolean;\n otherPercentageBold(_: boolean): this;\n}\n\nBreakdownTable.prototype.publish(\"useCalculatedRowCount\", true, \"boolean\", \"If true, rowCount will be calculated and its default will be overwritten\");\nBreakdownTable.prototype.publish(\"rowCount\", 5, \"number\", \"Number of total rows to display (including the 'other' row)\", undefined, { disable: w => w.useCalculatedRowCount() });\nBreakdownTable.prototype.publish(\"fontSize\", 14, \"number\", \"Font size (pixels)\");\nBreakdownTable.prototype.publish(\"labelAlignment\", \"left\", \"set\", \"Alignment of the label column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"percentageAlignment\", \"center\", \"set\", \"Alignment of the percentage column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"topLabelColor\", \"#333\", \"html-color\", \"Color of displayed 'top' labels\");\nBreakdownTable.prototype.publish(\"topPercentageColor\", \"#1A99D5\", \"html-color\", \"Color of displayed 'top' percentages\");\nBreakdownTable.prototype.publish(\"topPercentageBold\", true, \"html-color\", \"If true, the 'top' percentages will be bold\");\nBreakdownTable.prototype.publish(\"otherLabel\", \"Other\", \"string\", \"Label text for the 'other' row\");\nBreakdownTable.prototype.publish(\"otherLabelColor\", \"#AAA\", \"html-color\", \"Color of the 'other' label\");\nBreakdownTable.prototype.publish(\"otherLabelBold\", false, \"html-color\", \"If true, the 'other' label will be bold\");\nBreakdownTable.prototype.publish(\"otherPercentageColor\", \"#AAA\", \"html-color\", \"Color of the 'other' percentage\");\nBreakdownTable.prototype.publish(\"otherPercentageBold\", false, \"html-color\", \"If true, the 'other' percentage will be bold\");\nBreakdownTable.prototype.publish(\"thFontWeight\", \"bold\", \"string\", \"Font weight for th elements\");\nBreakdownTable.prototype.publish(\"thFontSize\", 26, \"number\", \"Font size for th elements\");\nBreakdownTable.prototype.publish(\"thFirstColor\", \"#333\", \"html-color\", \"Text color of the first th element\");\nBreakdownTable.prototype.publish(\"thLastColor\", \"#333\", \"html-color\", \"Text color of the last th element\");\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { React } from \"@hpcc-js/react\";\n\nexport class JSXWidget extends HTMLWidget {\n static Component = React.Component;\n static createElement = React.createElement;\n protected rootNode;\n\n jsxRender(jsx, domNode) {\n this.rootNode = React.render(jsx, domNode, this.rootNode);\n }\n}\nJSXWidget.prototype._class += \" html_JSXWidget\";\n","import { select as d3Select } from \"@hpcc-js/common\";\n\nexport type ReactFn = (attrs: { [key: string]: string }) => VNode;\n\nexport type IVNode = new (attrs: { [key: string]: string }, children: VNode[]) => VNode;\n\nexport class VNode {\n protected _attrs: { [key: string]: string };\n protected _children: VNode[];\n\n constructor(attrs: { [key: string]: string }, children: VNode[]) {\n this._attrs = attrs;\n this._children = children;\n }\n\n type(): string {\n return \"div\";\n }\n\n attrs(): { [key: string]: string } {\n return this._attrs;\n }\n\n attr(key) {\n return this._attrs[key];\n }\n\n children(): VNode[] {\n return this._children;\n }\n\n update(targetElement) {\n for (const key in this._attrs) {\n targetElement.attr(key, this._attrs[key]);\n }\n }\n\n render(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data([this]);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(this.type())\n .attr(\"reactd3\", 0)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n\n renderChildren(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data(this._children);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(d => document.createElement(d.type()))\n .attr(\"reactd3\", (_d, i) => i)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n}\n\nclass ConstVNode extends VNode {\n protected _type: string;\n\n constructor(type: string, attrs: { [key: string]: string }, children: VNode[]) {\n super(attrs, children);\n this._type = type;\n }\n\n type(): string {\n return this._type;\n }\n}\n\nclass TextVNode extends VNode {\n protected _text: string;\n\n constructor(text: string) {\n super({}, []);\n this._text = text;\n }\n\n type(): string {\n return \"span\";\n }\n\n update(targetElement) {\n super.update(targetElement);\n targetElement.text(this._text);\n }\n}\n\nfunction isReactFn(_): _ is ReactFn {\n return typeof _ === \"function\";\n}\n\nfunction isIVNode(_: any): _ is IVNode {\n return _.prototype && _.prototype instanceof VNode;\n}\n\nexport class ReactD3 {\n // static createElementXXX(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n static createElement(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n if (isIVNode(type)) {\n return new (type as any)(attrs);\n } else if (isReactFn(type)) {\n return type(attrs);\n }\n return new ConstVNode(type, attrs, children.map(child => {\n if (typeof child === \"string\") {\n return new TextVNode(child);\n }\n return child;\n }));\n }\n\n static render(vdom: VNode, targetElement) {\n vdom.render(targetElement);\n }\n}\n","var n,l,u,t,i,r,o,e,f,c,a,s,h,p,v,y,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function k(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function M(){return{current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o)}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H)}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n)}finally{i.length=H.__r=0}}function L(n,l,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),s=0;s<b;s++)null!=(p=u.__k[s])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=s,_=q(n,p,h,i,r,o,e,f,c,a),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),a.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):\"function\"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,a=u.length,s=a,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,s))&&(s--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>a?h--:i<a&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(s)for(r=0;r<a;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(g(n)?n.some(function(n){F(n,l)}):l.push(n)),l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],a=null!=c&&0==(2&c.__u);if(null===c&&null==e||a&&e==c.key&&f==c.type)return u;if(t>(a?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function z(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||_.test(l)?u:u+\"px\"}function N(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||z(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(s,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[a]=t[a]:(u[a]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[a])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(s=l.__b)&&s(u);n:if(\"function\"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(s=T.contextType)&&i[s.__c],$=s?M?M.props.value:s.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d)})}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=s&&s.type===S&&null==s.key?E(s.props.children):s,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,a),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(H=o.length;H--;)b(o[H]);B(u)}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,a);return(s=l.diffed)&&s(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B))}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function E(n){return\"object\"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):void 0!==n.constructor?null:m({},n)}function G(u,t,i,r,o,e,f,c,a){var s,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(s=0;s<e.length;s++)if((y=e[s])&&\"setAttribute\"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[s]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)m===k||c&&u.data==k||(u.data=k);else{if(e=\"textarea\"==x&&null!=k.defaultValue?null:e&&n.call(u.childNodes),!c&&null!=e)for(m={},s=0;s<u.attributes.length;s++)m[(y=u.attributes[s]).name]=y.value;for(s in m)y=m[s],\"dangerouslySetInnerHTML\"==s?p=y:\"children\"==s||s in k||\"value\"==s&&\"defaultValue\"in k||\"checked\"==s&&\"defaultChecked\"in k||N(u,s,null,y,o);for(s in k)y=k[s],\"children\"==s?v=y:\"dangerouslySetInnerHTML\"==s?h=y:\"value\"==s?w=y:\"checked\"==s?_=y:c&&\"function\"!=typeof y||m[s]===y||N(u,s,y,m[s],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),L(\"template\"==t.type?u.content:u,g(v)?v:[v],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&$(i,0),c,a),null!=e)for(s=e.length;s--;)b(e[s]);c&&\"textarea\"!=x||(s=\"value\",\"progress\"==x&&null==w?u.removeAttribute(\"value\"):null!=w&&(w!==u[s]||\"progress\"==x&&!w||\"option\"==x&&w!=m[s])&&N(u,s,w,m[s],o),s=\"checked\",null!=_&&_!=u[s]&&N(u,s,_,m[s],o))}return u}function J(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||\"function\"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q(t,u=(!r&&i||t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f)}function U(n,l){R(n,l,U)}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=w.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),\"function\"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this))},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this))},C.prototype.render=S,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c=\"__d\"+f,a=\"__a\"+f,s=/(PointerCapture)$|Capture$/i,h=0,p=V(!1),v=V(!0),y=0;export{C as Component,S as Fragment,W as cloneElement,X as createContext,k as createElement,M as createRef,k as h,U as hydrate,t as isValidElement,l as options,R as render,F as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizComponent extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = new (this as any).props.type()\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizInstance extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = (this as any).props.instance\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { format as d3Format } from \"d3-format\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class StatsTable extends StyledTable {\n\n protected transformData() {\n const totalRow = [[\"Total\", 0, 0]];\n const data = this.data();\n data.forEach(row => {\n totalRow[0][1] += row[1];\n totalRow[0][2] += row[2];\n });\n return data\n .concat(totalRow)\n .map(row => {\n return [\n row[0],\n this.secondColumnFormat_exists() ? d3Format(this.secondColumnFormat())(row[1]) : row[1],\n this.thirdColumnFormat_exists() ? d3Format(this.thirdColumnFormat())(row[2]) : row[2]\n ];\n })\n ;\n }\n\n update(domNode, element) {\n this.tbodyColumnStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\"\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\"\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\"\n }\n ]);\n this.evenRowStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n }\n ]);\n this.lastRowStyles_default({\n \"font-weight\": \"bold\"\n });\n super.update(domNode, element);\n }\n}\nStatsTable.prototype._class += \" html_StatsTable\";\n\nexport interface StatsTable {\n labelColor(): string;\n labelColor(_: string): this;\n primaryValueColor(): string;\n primaryValueColor(_: string): this;\n secondaryValueColor(): string;\n secondaryValueColor(_: string): this;\n evenRowFontColor(): string;\n evenRowFontColor(_: string): this;\n evenRowBackgroundColor(): string;\n evenRowBackgroundColor(_: string): this;\n firstColumnWidth(): string;\n firstColumnWidth(_: string): this;\n secondColumnWidth(): string;\n secondColumnWidth(_: string): this;\n thirdColumnWidth(): string;\n thirdColumnWidth(_: string): this;\n secondColumnFormat(): string;\n secondColumnFormat(_: string): this;\n secondColumnFormat_exists(): boolean;\n thirdColumnFormat(): string;\n thirdColumnFormat(_: string): this;\n thirdColumnFormat_exists(): boolean;\n}\nStatsTable.prototype.publish(\"labelColor\", \"#333\", \"html-color\", \"Color of the text in the first column\");\nStatsTable.prototype.publish(\"primaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the second column\");\nStatsTable.prototype.publish(\"secondaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the third column\");\nStatsTable.prototype.publish(\"evenRowBackgroundColor\", \"#333\", \"html-color\", \"Background color of the even rows\");\nStatsTable.prototype.publish(\"evenRowFontColor\", \"#333\", \"html-color\", \"Font color of the even rows\");\nStatsTable.prototype.publish(\"firstColumnWidth\", \"auto\", \"string\", \"CSS style applied as the 'width' for the first column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the second column (ex: 40px)\");\nStatsTable.prototype.publish(\"thirdColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the third column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnFormat\", \"$,.0f\", \"string\", \"d3-format specifier applied to the second column's values\", undefined, { optional: true });\nStatsTable.prototype.publish(\"thirdColumnFormat\", null, \"string\", \"d3-format specifier applied to the third column's values\", undefined, { optional: true });\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { JSXWidget } from \"./JSXWidget.ts\";\n\nimport \"../src/TitleBar.css\";\n\nexport interface IClickHandler {\n titleBarClick(src: Item, d, idx: number, groups): void;\n}\n\nexport class Item extends HTMLWidget {\n protected _owner: IClickHandler;\n\n constructor(owner: IClickHandler) {\n super();\n this._owner = owner;\n this._tag = \"a\";\n }\n}\nItem.prototype._class += \" html_Item\";\n\nexport class Button extends Item {\n private _icon: string;\n\n constructor(owner: IClickHandler, icon: string) {\n super(owner);\n this._icon = icon;\n }\n\n icon() {\n return this._icon;\n }\n\n enter(domNode: HTMLElement, element) {\n super.enter(domNode, element);\n element\n .attr(\"href\", \"#\")\n .on(\"click\", (d, idx, groups) => this._owner.titleBarClick(this, d, idx, groups))\n .append(\"i\")\n .attr(\"class\", `fa ${this._icon} fa-lg fa-fw`)\n ;\n }\n}\nButton.prototype._class += \" html_Button\";\n\nexport class ToggleButton extends Button {\n\n enter(domNode: HTMLElement, element) {\n element.on(\"click.sel\", (d, idx, groups) => {\n this.selected(!this.selected());\n this.render();\n });\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._element.classed(\"selected\", this.selected());\n }\n}\nToggleButton.prototype._class += \" html_ToggleButton\";\nexport interface ToggleButton {\n selected(): boolean;\n selected(_: boolean): this;\n}\nToggleButton.prototype.publish(\"selected\", false, \"boolean\");\n\nexport class Spacer extends Item {\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element\n .attr(\"class\", \"spacer\")\n .attr(\"href\", \"#\")\n .append(\"i\")\n ;\n }\n}\nSpacer.prototype._class += \" html_Spacer\";\n\nexport class TitleBar extends JSXWidget {\n protected _divMain;\n protected _divIconBar;\n protected _divTitle;\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._divMain = element.append(\"div\")\n .attr(\"class\", \"main\")\n ;\n this._divIconBar = this._divMain.append(\"div\")\n .attr(\"class\", \"icon-bar\")\n ;\n this._divTitle = this._divMain.append(\"div\")\n .attr(\"class\", \"title\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._divTitle.text(this.title());\n\n const icons = this._divIconBar.selectAll(\".icon-bar-item\").data(this.buttons());\n icons.enter().append(\"div\")\n .attr(\"class\", \"icon-bar-item\")\n .each(function (this: HTMLElement, d: Item) {\n d.target(this);\n })\n .merge(icons)\n .each(function (d: Item) {\n d.render();\n })\n ;\n icons.exit()\n .each(function (d: Item) {\n d.target(null);\n })\n .remove()\n ;\n icons.order();\n }\n}\nTitleBar.prototype._class += \" html_TitleBar\";\n\nexport interface TitleBar {\n title(): string;\n title(_: string): this;\n buttons(): Item[];\n buttons(items: Item[]): this;\n}\nTitleBar.prototype.publish(\"title\", \"\", \"string\");\nTitleBar.prototype.publish(\"buttons\", [], \"widgetArray\");\n"],"x_google_ignoreList":[7,8],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["u","i","f","l","r"],"sources":["../src/__package__.ts","../src/HTMLTooltip.ts","../src/SimpleTable.ts","../src/StyledTable.ts","../src/BreakdownTable.ts","../src/JSXWidget.ts","../src/reactD3.ts","../../../node_modules/preact/dist/preact.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../src/VizComponent.tsx","../src/VizInstance.tsx","../src/StatsTable.ts","../src/TitleBar.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\nimport { scopedLogger, ScopedLogging } from \"@hpcc-js/util\";\n\ntype Direction = \"n\" | \"s\" | \"e\" | \"w\" | \"ne\" | \"nw\" | \"se\" | \"sw\";\ntype Position = { x: number, y: number };\ntype DirectionalBBox = { [key in Direction]: Position; };\n\ntype Rectangle = { top: number, left: number, width: number, height: number };\nexport class HTMLTooltip extends HTMLWidget {\n\n public _triggerElement;\n public _contentNode;\n protected _prevContentNode;\n\n protected _tooltipElement;\n protected _arrowElement;\n protected _tooltipHTMLCallback = (data?) => \"<b>_tooltipHTMLCallback is undefined</b>\";\n protected _logger: ScopedLogging = scopedLogger(\"html/HTMLTooltip\");\n constructor() {\n super();\n this.visible(false);\n }\n\n tooltipHTML(_: (data?) => string): this {\n this._tooltipHTMLCallback = _;\n return this;\n }\n\n tooltipContent(_): this {\n if (!arguments.length) return this._contentNode;\n this._contentNode = _;\n return this;\n }\n\n triggerElement(_): this {\n this._triggerElement = _;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const body = d3Select(\"body\");\n this._tooltipElement = body.append(\"div\")\n .attr(\"class\", \"tooltip-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n this._arrowElement = body.append(\"div\")\n .attr(\"class\", \"arrow-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n if (this._contentNode !== this._prevContentNode) {\n const node = this._tooltipElement.node();\n [...node.querySelectorAll(\"*\")]\n .map(n => n.__data__)\n .filter(n => n)\n .forEach(w => {\n if (typeof w.target === \"function\") {\n w.target(null);\n }\n if (typeof w.exit === \"function\") {\n w.exit();\n }\n });\n node.innerHTML = \"\";\n node.appendChild(this._contentNode);\n this._prevContentNode = this._contentNode;\n }\n\n if (this._contentNode) {\n this.onShowContent(this._contentNode);\n } else {\n this._tooltipElement\n .html(() => {\n return this._tooltipHTMLCallback(this.data());\n });\n }\n if (this.fitContent()) {\n this._tooltipElement\n .style(\"width\", \"auto\")\n .style(\"height\", \"auto\")\n .style(\"padding\", \"0px\")\n .style(\"box-sizing\", \"content-box\")\n ;\n const rect = this._tooltipElement.node().getBoundingClientRect();\n this.tooltipWidth_default(rect.width);\n this.tooltipHeight_default(rect.height);\n }\n this._closing = false;\n this._tooltipElement\n .style(\"background-color\", this.tooltipColor())\n .style(\"color\", this.fontColor())\n .style(\"width\", this.tooltipWidth() + \"px\")\n .style(\"height\", this.tooltipHeight() + \"px\")\n .style(\"opacity\", 1)\n .style(\"padding\", this.padding() + \"px\")\n .style(\"pointer-events\", this.enablePointerEvents() ? \"all\" : \"none\")\n .style(\"box-sizing\", \"content-box\")\n ;\n this._arrowElement\n .style(\"opacity\", 1)\n .style(\"pointer-events\", \"none\")\n ;\n this.updateTooltipPosition();\n }\n\n onShowContent(node) {\n\n }\n\n protected updateTooltipPosition(): Position {\n const bbox = this.calcReferenceBBox();\n const direction = this.calcTooltipDirection(bbox);\n const box = bbox[direction];\n this._tooltipElement\n .style(\"top\", box.y + \"px\")\n .style(\"left\", box.x + \"px\")\n ;\n this.setArrowPosition(box, direction);\n return box;\n }\n\n protected calcTooltipDirection(bbox: DirectionalBBox): Direction {\n const directions: Direction[] = Object.keys(bbox) as Direction[];\n\n const defaultDirection = this.direction();\n directions.sort((a, b) => a === defaultDirection ? -1 : 1);\n const windowRect = {\n top: 0,\n left: 0,\n width: window.innerWidth,\n height: window.innerHeight\n };\n for (let i = 0; i < directions.length; i++) {\n const tooltipRect = {\n top: bbox[directions[i]].y,\n left: bbox[directions[i]].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n };\n if (this.rectFits(tooltipRect, windowRect)) {\n return directions[i];\n }\n }\n this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${defaultDirection}'`);\n this._logger.debug(windowRect);\n this._logger.debug({\n top: bbox[defaultDirection].y,\n left: bbox[defaultDirection].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n });\n return defaultDirection;\n }\n\n protected rectFits(innerRect: Rectangle, outerRect: Rectangle): boolean {\n return (\n innerRect.top >= outerRect.top &&\n innerRect.left >= outerRect.left &&\n innerRect.width + innerRect.left <= outerRect.width + outerRect.left &&\n innerRect.height + innerRect.top <= outerRect.height + outerRect.top\n );\n }\n\n protected setArrowPosition(point: Position, direction: Direction) {\n let top;\n let left;\n let visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border\", `${this.arrowHeight()}px solid ${this.tooltipColor()}`)\n .style(\"border-top-color\", \"transparent\")\n .style(\"border-right-color\", \"transparent\")\n .style(\"border-bottom-color\", \"transparent\")\n .style(\"border-left-color\", \"transparent\")\n ;\n switch (direction) {\n case \"n\":\n top = point.y + this.tooltipHeight() + (this.padding() * 2);\n left = point.x + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2) + this.padding();\n visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowHeight()}px`)\n .style(\"border-bottom-width\", \"0px\")\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"s\":\n top = point.y - this.arrowHeight();\n left = point.x + this.padding() + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2);\n visibleBorderStyle = \"border-bottom-color\";\n this._arrowElement\n .style(\"border-top-width\", \"0px\")\n .style(\"border-bottom-width\", `${this.arrowHeight()}px`)\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"e\":\n top = point.y + (this.tooltipHeight() / 2) + this.padding() - (this.arrowWidth() / 2);\n left = point.x - this.arrowHeight();\n visibleBorderStyle = \"border-right-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", \"0px\")\n .style(\"border-right-width\", `${this.arrowHeight()}px`)\n ;\n break;\n case \"w\":\n top = point.y + (this.tooltipHeight() / 2) - (this.arrowWidth() / 2) + this.padding();\n left = point.x + this.tooltipWidth() + (this.padding() * 2);\n visibleBorderStyle = \"border-left-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", `${this.arrowHeight()}px`)\n .style(\"border-right-width\", \"0px\")\n ;\n break;\n }\n if (typeof top !== \"undefined\" && typeof left !== \"undefined\") {\n this._arrowElement\n .style(\"top\", top + \"px\")\n .style(\"left\", left + \"px\")\n .style(visibleBorderStyle, this.tooltipColor())\n .style(\"opacity\", 1)\n ;\n } else {\n this._arrowElement\n .style(\"opacity\", 0)\n ;\n }\n return point;\n }\n\n protected getReferenceNode() {\n if (!this._triggerElement) {\n return this.element().node().parentNode.parentNode;\n }\n return this._triggerElement.node();\n }\n public _cursorLoc;\n protected calcReferenceBBox() {\n const node = this.getReferenceNode();\n let { top, left, width, height } = node.getBoundingClientRect();\n const wholeW = this.tooltipWidth();\n const wholeH = this.tooltipHeight();\n const halfW = wholeW / 2;\n const halfH = wholeH / 2;\n const arrowH = this.arrowHeight();\n const p = this.padding();\n const p2 = p * 2;\n\n if (this.followCursor() && this._cursorLoc) {\n\n left = this._cursorLoc[0];\n top = this._cursorLoc[1];\n width = 1;\n height = 1;\n }\n const bbox = {\n n: {\n x: left + (width / 2) - halfW - p,\n y: top - wholeH - arrowH - p2\n },\n e: {\n x: left + width + arrowH,\n y: top + (height / 2) - halfH - p\n },\n s: {\n x: left + (width / 2) - halfW - p,\n y: top + height + arrowH\n },\n w: {\n x: left - wholeW - arrowH - p2,\n y: top + (height / 2) - halfH - p\n },\n nw: {\n x: left - wholeW - p2,\n y: top - wholeH - p2\n },\n ne: {\n x: left + width,\n y: top - wholeH - p2\n },\n se: {\n x: left + width,\n y: top + height\n },\n sw: {\n x: left - wholeW - p2,\n y: top + height\n }\n };\n return bbox;\n }\n\n private _closing = false;\n mouseout() {\n this._closing = true;\n this._tooltipElement.on(\"mouseover\", () => {\n this._closing = false;\n });\n this._tooltipElement.on(\"mouseout\", () => {\n this.mouseout();\n });\n setTimeout(() => {\n if (this._closing) {\n this.visible(false);\n }\n }, this.closeDelay());\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return super.visible();\n if (this._arrowElement) {\n this._arrowElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n this._tooltipElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n }\n super.visible(_);\n return this;\n }\n\n exit(domNode, element) {\n if (this._arrowElement) {\n this._arrowElement.remove();\n this._tooltipElement.remove();\n }\n super.exit(domNode, element);\n }\n}\nHTMLTooltip.prototype._class += \" html_HTMLTooltip\";\n\nexport interface HTMLTooltip {\n padding(): number;\n padding(_: number): this;\n direction(): Direction;\n direction(_: Direction): this;\n arrowHeight(): number;\n arrowHeight(_: number): this;\n arrowWidth(): number;\n arrowWidth(_: number): this;\n fontColor(): string;\n fontColor(_: string): this;\n tooltipColor(): string;\n tooltipColor(_: string): this;\n tooltipWidth(): number;\n tooltipWidth(_: number): this;\n tooltipWidth_default(_: number);\n tooltipHeight(): number;\n tooltipHeight(_: number): this;\n tooltipHeight_default(_: number);\n followCursor(): boolean;\n followCursor(_: boolean): this;\n enablePointerEvents(): boolean;\n enablePointerEvents(_: boolean): this;\n closeDelay(): number;\n closeDelay(_: number): this;\n fitContent(): boolean;\n fitContent(_: boolean): this;\n\n}\n\nHTMLTooltip.prototype.publish(\"fitContent\", false, \"boolean\", \"If true, tooltip will grow to fit its html content\");\nHTMLTooltip.prototype.publish(\"followCursor\", false, \"boolean\", \"If true, tooltip will display relative to cursor location\");\nHTMLTooltip.prototype.publish(\"closeDelay\", 400, \"number\", \"Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)\");\nHTMLTooltip.prototype.publish(\"direction\", \"n\", \"set\", \"Direction in which to display the tooltip\", [\"n\", \"s\", \"e\", \"w\", \"ne\", \"nw\", \"se\", \"sw\"]);\nHTMLTooltip.prototype.publish(\"padding\", 8, \"number\", \"Padding (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowWidth\", 16, \"number\", \"Width (or height depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowHeight\", 8, \"number\", \"Height (or width depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"fontColor\", \"#FFF\", \"html-color\", \"The default font color for text in the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipColor\", \"#000000EE\", \"html-color\", \"Background color of the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipWidth\", 200, \"number\", \"Width of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"tooltipHeight\", 200, \"number\", \"Height of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"enablePointerEvents\", false, \"boolean\", \"If true, the 'pointer-events: all' style will be used\");\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\n\nexport class SimpleTable extends HTMLWidget {\n protected _table;\n protected _tbody;\n protected _thead;\n protected _theadRow;\n constructor() {\n super();\n }\n\n protected transformData() {\n return this.data();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._table = element.append(\"table\");\n this._thead = this._table.append(\"thead\");\n this._theadRow = this._thead.append(\"tr\");\n this._tbody = this._table.append(\"tbody\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._table\n .style(\"width\", this.autoWidth() ? \"auto\" : \"100%\")\n ;\n const theadTrSelection = this._theadRow.selectAll(\"th\").data(this.columns());\n theadTrSelection.enter()\n .append(\"th\")\n .attr(\"class\", (n, i) => `th-${i}`)\n .merge(theadTrSelection)\n .text(_d => (_d).toString())\n ;\n theadTrSelection.exit().remove();\n const trSelection = this._tbody.selectAll(\"tr\").data(this.transformData());\n trSelection.enter()\n .append(\"tr\")\n .merge(trSelection)\n .each(function (this, d) {\n const tr = d3Select(this);\n const tdSelection = tr.selectAll(\"td\").data(d);\n tdSelection.enter()\n .append(\"td\")\n .attr(\"class\", (n, i) => `col-${i}`)\n .merge(tdSelection as any)\n .text(_d => (_d).toString())\n ;\n tdSelection.exit().remove();\n })\n ;\n trSelection.exit().remove();\n }\n}\nSimpleTable.prototype._class += \" html_SimpleTable\";\n\nexport interface SimpleTable {\n autoWidth(): boolean;\n autoWidth(_: boolean): this;\n}\nSimpleTable.prototype.publish(\"autoWidth\", false, \"boolean\", \"If true, table width will be set to 'auto'. If false, the width is set to '100%'\");\n","import { SimpleTable } from \"./SimpleTable.ts\";\n\nexport class StyledTable extends SimpleTable {\n constructor() {\n super();\n }\n\n protected applyStyleObject(selection, styleObject) {\n Object.keys(styleObject).forEach(styleName => {\n selection.style(styleName, styleObject[styleName]);\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n element.selectAll(\"tr,th,td\")\n .attr(\"style\", \"\")\n .style(\"font-family\", this.fontFamily())\n .style(\"color\", this.fontColor())\n ;\n\n this.theadColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.select(`.th-${i}`), styleObj);\n });\n this.tbodyColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.selectAll(`.col-${i}`), styleObj);\n });\n const evenRowStylesExist = Object.keys(this.evenRowStyles()).length > 0;\n const lastRowStylesExist = Object.keys(this.lastRowStyles()).length > 0;\n const tbodyRows = element.selectAll(\"tbody > tr\");\n if (evenRowStylesExist) {\n const tbodyEvenRows = tbodyRows.select(function (this: HTMLElement, d, i) { return i % 2 ? this : null; });\n this.applyStyleObject(tbodyEvenRows, this.evenRowStyles());\n }\n if (lastRowStylesExist) {\n const tbodyLastRow = tbodyRows.select(function (this: HTMLElement, d, i, arr) { return i === arr.length - 1 ? this : null; });\n this.applyStyleObject(tbodyLastRow, this.lastRowStyles());\n }\n }\n}\nStyledTable.prototype._class += \" html_StyledTable\";\n\nexport interface StyledTable {\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n tbodyColumnStyles(): Array<{ [styleID: string]: any }>;\n tbodyColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n tbodyColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles(): Array<{ [styleID: string]: any }>;\n theadColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n lastRowStyles(): { [styleID: string]: any };\n lastRowStyles(_: { [styleID: string]: any }): this;\n lastRowStyles_default(_: { [styleID: string]: any }): this;\n evenRowStyles(): { [styleID: string]: any };\n evenRowStyles(_: { [styleID: string]: any }): this;\n evenRowStyles_default(_: { [styleID: string]: any }): this;\n}\n\nStyledTable.prototype.publish(\"fontFamily\", \"Verdana\", \"string\", \"Base font-family used within the table\");\nStyledTable.prototype.publish(\"fontColor\", \"#333\", \"string\", \"Base font color used within the table\");\nStyledTable.prototype.publish(\"theadColumnStyles\", [], \"array\", 'Array of objects containing styles for the thead columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"tbodyColumnStyles\", [], \"array\", 'Array of objects containing styles for the tbody columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"lastRowStyles\", {}, \"object\", 'Object containing styles for the last row (ex: {\"color\":\"red\"})');\nStyledTable.prototype.publish(\"evenRowStyles\", {}, \"object\", 'Object containing styles for even rows (ex: {\"background-color\":\"#AAA\"})');\n","import { HTMLTooltip } from \"./HTMLTooltip.ts\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class BreakdownTable extends StyledTable {\n // protected _table;\n // protected _tbody;\n protected _tooltip: HTMLTooltip;\n constructor() {\n super();\n }\n\n protected transformData() {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n return this.breakdownData(rowCount);\n }\n\n protected breakdownData(limit: number): any[] {\n const len = this.data().length;\n const sum = this.data().reduce((acc, row) => acc + row[1], 0);\n const data = [];\n let percSum = 0;\n this.data().sort((a, b) => a[1] > b[1] ? -1 : 1);\n const hiddenRowCount = len - limit;\n const showOther = hiddenRowCount > 0;\n this.data()\n .filter((_, i) => showOther ? i < limit - 1 : true)\n .forEach(row => {\n const perc = Math.round((row[1] / sum) * 100);\n percSum += perc;\n data.push([row[0], perc + \"%\"]);\n });\n if (showOther) {\n const otherLabel = `${this.otherLabel()} (${len - limit + 1})`;\n const otherPercentage = \"~\" + (100 - percSum) + \"%\";\n data.push([otherLabel, otherPercentage]);\n }\n return data;\n }\n\n protected calculateRowCount(): number {\n const theadRowHeight = this.columns().length > 0 ? this.thFontSize() + 5 : 0;\n const tbodyRowHeight = this.fontSize() + 5;\n const tbodyAvailableHeight = this.height() - theadRowHeight;\n const rowCount = Math.floor(tbodyAvailableHeight / tbodyRowHeight);\n return rowCount;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._tooltip = new HTMLTooltip()\n .target(domNode)\n ;\n this._tooltip\n .tooltipHTML(data => {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n const rowHeight = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).height)) ?? this.fontSize();\n const widestLabel = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).width));\n const widestPerc = 30;\n const colCount = 2;\n const w = colCount * (widestLabel + widestPerc) + (this._tooltip.padding() * 2);\n const h = rowHeight * Math.ceil((data.length - rowCount) / colCount) + (this._tooltip.padding() * 2);\n this._tooltip.tooltipWidth(w);\n this._tooltip.tooltipHeight(h);\n const otherData = this.breakdownData(this.data().length).slice(rowCount - 1);\n return `<div style=\"\n width: 100%;\n height: 100%;\n font-size: ${this.fontSize()}px;\n \">${otherData.map(row =>\n `<div style=\"\n float:left;\n width:${Math.floor(99 / colCount)}%;\n \">${row[0]}: ${row[1]}</div>`\n ).join(\"\")\n }</div>`;\n })\n ;\n }\n\n update(domNode, element) {\n this.theadColumnStyles_default([\n {\n \"color\": this.thFirstColor(),\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"width\": \"1%\",\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.percentageAlignment(),\n \"padding\": \"0px\"\n }\n ]);\n this.tbodyColumnStyles_default([\n {\n \"color\": this.topLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.topPercentageColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n this.lastRowStyles_default([\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherLabelBold() ? \"bold\" : \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherPercentageBold() ? \"bold\" : \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n\n super.update(domNode, element);\n\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n if (rowCount < this.data().length) {\n const lastRow = element.select(\"tbody > tr:last-child\");\n const context = this;\n lastRow\n .on(\"mouseout.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .visible(false)\n .render()\n ;\n })\n .on(\"mouseenter.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .direction(\"n\")\n .data(context.data())\n .visible(true)\n .render()\n ;\n })\n ;\n }\n }\n\n}\nBreakdownTable.prototype._class += \" html_BreakdownTable\";\n\nexport interface BreakdownTable {\n useCalculatedRowCount(): boolean;\n useCalculatedRowCount(_: boolean): this;\n rowCount(): number;\n rowCount(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n thFirstColor(): string;\n thFirstColor(_: string): this;\n thLastColor(): string;\n thLastColor(_: string): this;\n thFontSize(): number;\n thFontSize(_: number): this;\n thFontWeight(): string;\n thFontWeight(_: string): this;\n labelAlignment(): \"left\" | \"center\" | \"right\";\n labelAlignment(_: \"left\" | \"center\" | \"right\"): this;\n percentageAlignment(): \"left\" | \"center\" | \"right\";\n percentageAlignment(_: \"left\" | \"center\" | \"right\"): this;\n topLabelColor(): string;\n topLabelColor(_: string): this;\n topPercentageColor(): string;\n topPercentageColor(_: string): this;\n topPercentageBold(): boolean;\n topPercentageBold(_: boolean): this;\n otherLabel(): string;\n otherLabel(_: string): this;\n otherLabelColor(): string;\n otherLabelColor(_: string): this;\n otherLabelBold(): boolean;\n otherLabelBold(_: boolean): this;\n otherPercentageColor(): string;\n otherPercentageColor(_: string): this;\n otherPercentageBold(): boolean;\n otherPercentageBold(_: boolean): this;\n}\n\nBreakdownTable.prototype.publish(\"useCalculatedRowCount\", true, \"boolean\", \"If true, rowCount will be calculated and its default will be overwritten\");\nBreakdownTable.prototype.publish(\"rowCount\", 5, \"number\", \"Number of total rows to display (including the 'other' row)\", undefined, { disable: w => w.useCalculatedRowCount() });\nBreakdownTable.prototype.publish(\"fontSize\", 14, \"number\", \"Font size (pixels)\");\nBreakdownTable.prototype.publish(\"labelAlignment\", \"left\", \"set\", \"Alignment of the label column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"percentageAlignment\", \"center\", \"set\", \"Alignment of the percentage column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"topLabelColor\", \"#333\", \"html-color\", \"Color of displayed 'top' labels\");\nBreakdownTable.prototype.publish(\"topPercentageColor\", \"#1A99D5\", \"html-color\", \"Color of displayed 'top' percentages\");\nBreakdownTable.prototype.publish(\"topPercentageBold\", true, \"html-color\", \"If true, the 'top' percentages will be bold\");\nBreakdownTable.prototype.publish(\"otherLabel\", \"Other\", \"string\", \"Label text for the 'other' row\");\nBreakdownTable.prototype.publish(\"otherLabelColor\", \"#AAA\", \"html-color\", \"Color of the 'other' label\");\nBreakdownTable.prototype.publish(\"otherLabelBold\", false, \"html-color\", \"If true, the 'other' label will be bold\");\nBreakdownTable.prototype.publish(\"otherPercentageColor\", \"#AAA\", \"html-color\", \"Color of the 'other' percentage\");\nBreakdownTable.prototype.publish(\"otherPercentageBold\", false, \"html-color\", \"If true, the 'other' percentage will be bold\");\nBreakdownTable.prototype.publish(\"thFontWeight\", \"bold\", \"string\", \"Font weight for th elements\");\nBreakdownTable.prototype.publish(\"thFontSize\", 26, \"number\", \"Font size for th elements\");\nBreakdownTable.prototype.publish(\"thFirstColor\", \"#333\", \"html-color\", \"Text color of the first th element\");\nBreakdownTable.prototype.publish(\"thLastColor\", \"#333\", \"html-color\", \"Text color of the last th element\");\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { React } from \"@hpcc-js/react\";\n\nexport class JSXWidget extends HTMLWidget {\n static Component = React.Component;\n static createElement = React.createElement;\n protected rootNode;\n\n jsxRender(jsx, domNode) {\n this.rootNode = React.render(jsx, domNode, this.rootNode);\n }\n}\nJSXWidget.prototype._class += \" html_JSXWidget\";\n","import { select as d3Select } from \"@hpcc-js/common\";\n\nexport type ReactFn = (attrs: { [key: string]: string }) => VNode;\n\nexport type IVNode = new (attrs: { [key: string]: string }, children: VNode[]) => VNode;\n\nexport class VNode {\n protected _attrs: { [key: string]: string };\n protected _children: VNode[];\n\n constructor(attrs: { [key: string]: string }, children: VNode[]) {\n this._attrs = attrs;\n this._children = children;\n }\n\n type(): string {\n return \"div\";\n }\n\n attrs(): { [key: string]: string } {\n return this._attrs;\n }\n\n attr(key) {\n return this._attrs[key];\n }\n\n children(): VNode[] {\n return this._children;\n }\n\n update(targetElement) {\n for (const key in this._attrs) {\n targetElement.attr(key, this._attrs[key]);\n }\n }\n\n render(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data([this]);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(this.type())\n .attr(\"reactd3\", 0)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n\n renderChildren(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data(this._children);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(d => document.createElement(d.type()))\n .attr(\"reactd3\", (_d, i) => i)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n}\n\nclass ConstVNode extends VNode {\n protected _type: string;\n\n constructor(type: string, attrs: { [key: string]: string }, children: VNode[]) {\n super(attrs, children);\n this._type = type;\n }\n\n type(): string {\n return this._type;\n }\n}\n\nclass TextVNode extends VNode {\n protected _text: string;\n\n constructor(text: string) {\n super({}, []);\n this._text = text;\n }\n\n type(): string {\n return \"span\";\n }\n\n update(targetElement) {\n super.update(targetElement);\n targetElement.text(this._text);\n }\n}\n\nfunction isReactFn(_): _ is ReactFn {\n return typeof _ === \"function\";\n}\n\nfunction isIVNode(_: any): _ is IVNode {\n return _.prototype && _.prototype instanceof VNode;\n}\n\nexport class ReactD3 {\n // static createElementXXX(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n static createElement(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n if (isIVNode(type)) {\n return new (type as any)(attrs);\n } else if (isReactFn(type)) {\n return type(attrs);\n }\n return new ConstVNode(type, attrs, children.map(child => {\n if (typeof child === \"string\") {\n return new TextVNode(child);\n }\n return child;\n }));\n }\n\n static render(vdom: VNode, targetElement) {\n vdom.render(targetElement);\n }\n}\n","var n,l,u,t,i,r,o,e,f,c,a,s,h,p,v,y,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function k(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function M(){return{current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o)}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H)}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n)}finally{i.length=H.__r=0}}function L(n,l,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),s=0;s<b;s++)null!=(p=u.__k[s])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=s,_=q(n,p,h,i,r,o,e,f,c,a),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),a.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):\"function\"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,a=u.length,s=a,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,s))&&(s--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>a?h--:i<a&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(s)for(r=0;r<a;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(g(n)?n.some(function(n){F(n,l)}):l.push(n)),l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],a=null!=c&&0==(2&c.__u);if(null===c&&null==e||a&&e==c.key&&f==c.type)return u;if(t>(a?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function z(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||_.test(l)?u:u+\"px\"}function N(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||z(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(s,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[a]=t[a]:(u[a]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[a])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(s=l.__b)&&s(u);n:if(\"function\"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(s=T.contextType)&&i[s.__c],$=s?M?M.props.value:s.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d)})}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=s&&s.type===S&&null==s.key?E(s.props.children):s,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,a),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(H=o.length;H--;)b(o[H]);B(u)}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,a);return(s=l.diffed)&&s(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B))}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function E(n){return\"object\"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):void 0!==n.constructor?null:m({},n)}function G(u,t,i,r,o,e,f,c,a){var s,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(s=0;s<e.length;s++)if((y=e[s])&&\"setAttribute\"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[s]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)m===k||c&&u.data==k||(u.data=k);else{if(e=\"textarea\"==x&&null!=k.defaultValue?null:e&&n.call(u.childNodes),!c&&null!=e)for(m={},s=0;s<u.attributes.length;s++)m[(y=u.attributes[s]).name]=y.value;for(s in m)y=m[s],\"dangerouslySetInnerHTML\"==s?p=y:\"children\"==s||s in k||\"value\"==s&&\"defaultValue\"in k||\"checked\"==s&&\"defaultChecked\"in k||N(u,s,null,y,o);for(s in k)y=k[s],\"children\"==s?v=y:\"dangerouslySetInnerHTML\"==s?h=y:\"value\"==s?w=y:\"checked\"==s?_=y:c&&\"function\"!=typeof y||m[s]===y||N(u,s,y,m[s],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),L(\"template\"==t.type?u.content:u,g(v)?v:[v],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&$(i,0),c,a),null!=e)for(s=e.length;s--;)b(e[s]);c&&\"textarea\"!=x||(s=\"value\",\"progress\"==x&&null==w?u.removeAttribute(\"value\"):null!=w&&(w!==u[s]||\"progress\"==x&&!w||\"option\"==x&&w!=m[s])&&N(u,s,w,m[s],o),s=\"checked\",null!=_&&_!=u[s]&&N(u,s,_,m[s],o))}return u}function J(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||\"function\"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q(t,u=(!r&&i||t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f)}function U(n,l){R(n,l,U)}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=w.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),\"function\"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this))},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this))},C.prototype.render=S,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c=\"__d\"+f,a=\"__a\"+f,s=/(PointerCapture)$|Capture$/i,h=0,p=V(!1),v=V(!0),y=0;export{C as Component,S as Fragment,W as cloneElement,X as createContext,k as createElement,M as createRef,k as h,U as hydrate,t as isValidElement,l as options,R as render,F as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizComponent extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = new (this as any).props.type()\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizInstance extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = (this as any).props.instance\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { format as d3Format } from \"d3-format\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class StatsTable extends StyledTable {\n\n protected transformData() {\n const totalRow = [[\"Total\", 0, 0]];\n const data = this.data();\n data.forEach(row => {\n totalRow[0][1] += row[1];\n totalRow[0][2] += row[2];\n });\n return data\n .concat(totalRow)\n .map(row => {\n return [\n row[0],\n this.secondColumnFormat_exists() ? d3Format(this.secondColumnFormat())(row[1]) : row[1],\n this.thirdColumnFormat_exists() ? d3Format(this.thirdColumnFormat())(row[2]) : row[2]\n ];\n })\n ;\n }\n\n update(domNode, element) {\n this.tbodyColumnStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\"\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\"\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\"\n }\n ]);\n this.evenRowStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n }\n ]);\n this.lastRowStyles_default({\n \"font-weight\": \"bold\"\n });\n super.update(domNode, element);\n }\n}\nStatsTable.prototype._class += \" html_StatsTable\";\n\nexport interface StatsTable {\n labelColor(): string;\n labelColor(_: string): this;\n primaryValueColor(): string;\n primaryValueColor(_: string): this;\n secondaryValueColor(): string;\n secondaryValueColor(_: string): this;\n evenRowFontColor(): string;\n evenRowFontColor(_: string): this;\n evenRowBackgroundColor(): string;\n evenRowBackgroundColor(_: string): this;\n firstColumnWidth(): string;\n firstColumnWidth(_: string): this;\n secondColumnWidth(): string;\n secondColumnWidth(_: string): this;\n thirdColumnWidth(): string;\n thirdColumnWidth(_: string): this;\n secondColumnFormat(): string;\n secondColumnFormat(_: string): this;\n secondColumnFormat_exists(): boolean;\n thirdColumnFormat(): string;\n thirdColumnFormat(_: string): this;\n thirdColumnFormat_exists(): boolean;\n}\nStatsTable.prototype.publish(\"labelColor\", \"#333\", \"html-color\", \"Color of the text in the first column\");\nStatsTable.prototype.publish(\"primaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the second column\");\nStatsTable.prototype.publish(\"secondaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the third column\");\nStatsTable.prototype.publish(\"evenRowBackgroundColor\", \"#333\", \"html-color\", \"Background color of the even rows\");\nStatsTable.prototype.publish(\"evenRowFontColor\", \"#333\", \"html-color\", \"Font color of the even rows\");\nStatsTable.prototype.publish(\"firstColumnWidth\", \"auto\", \"string\", \"CSS style applied as the 'width' for the first column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the second column (ex: 40px)\");\nStatsTable.prototype.publish(\"thirdColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the third column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnFormat\", \"$,.0f\", \"string\", \"d3-format specifier applied to the second column's values\", undefined, { optional: true });\nStatsTable.prototype.publish(\"thirdColumnFormat\", null, \"string\", \"d3-format specifier applied to the third column's values\", undefined, { optional: true });\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { JSXWidget } from \"./JSXWidget.ts\";\n\nimport \"../src/TitleBar.css\";\n\nexport interface IClickHandler {\n titleBarClick(src: Item, d, idx: number, groups): void;\n}\n\nexport class Item extends HTMLWidget {\n protected _owner: IClickHandler;\n\n constructor(owner: IClickHandler) {\n super();\n this._owner = owner;\n this._tag = \"a\";\n }\n}\nItem.prototype._class += \" html_Item\";\n\nexport class Button extends Item {\n private _icon: string;\n\n constructor(owner: IClickHandler, icon: string) {\n super(owner);\n this._icon = icon;\n }\n\n icon() {\n return this._icon;\n }\n\n enter(domNode: HTMLElement, element) {\n super.enter(domNode, element);\n element\n .attr(\"href\", \"#\")\n .on(\"click\", (d, idx, groups) => this._owner.titleBarClick(this, d, idx, groups))\n .append(\"i\")\n .attr(\"class\", `fa ${this._icon} fa-lg fa-fw`)\n ;\n }\n}\nButton.prototype._class += \" html_Button\";\n\nexport class ToggleButton extends Button {\n\n enter(domNode: HTMLElement, element) {\n element.on(\"click.sel\", (d, idx, groups) => {\n this.selected(!this.selected());\n this.render();\n });\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._element.classed(\"selected\", this.selected());\n }\n}\nToggleButton.prototype._class += \" html_ToggleButton\";\nexport interface ToggleButton {\n selected(): boolean;\n selected(_: boolean): this;\n}\nToggleButton.prototype.publish(\"selected\", false, \"boolean\");\n\nexport class Spacer extends Item {\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element\n .attr(\"class\", \"spacer\")\n .attr(\"href\", \"#\")\n .append(\"i\")\n ;\n }\n}\nSpacer.prototype._class += \" html_Spacer\";\n\nexport class TitleBar extends JSXWidget {\n protected _divMain;\n protected _divIconBar;\n protected _divTitle;\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._divMain = element.append(\"div\")\n .attr(\"class\", \"main\")\n ;\n this._divIconBar = this._divMain.append(\"div\")\n .attr(\"class\", \"icon-bar\")\n ;\n this._divTitle = this._divMain.append(\"div\")\n .attr(\"class\", \"title\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._divTitle.text(this.title());\n\n const icons = this._divIconBar.selectAll(\".icon-bar-item\").data(this.buttons());\n icons.enter().append(\"div\")\n .attr(\"class\", \"icon-bar-item\")\n .each(function (this: HTMLElement, d: Item) {\n d.target(this);\n })\n .merge(icons)\n .each(function (d: Item) {\n d.render();\n })\n ;\n icons.exit()\n .each(function (d: Item) {\n d.target(null);\n })\n .remove()\n ;\n icons.order();\n }\n}\nTitleBar.prototype._class += \" html_TitleBar\";\n\nexport interface TitleBar {\n title(): string;\n title(_: string): this;\n buttons(): Item[];\n buttons(items: Item[]): this;\n}\nTitleBar.prototype.publish(\"title\", \"\", \"string\");\nTitleBar.prototype.publish(\"buttons\", [], \"widgetArray\");\n"],"x_google_ignoreList":[7,8],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- (function(t,n){typeof exports==`object`&&typeof module<`u`?n(exports,require("@hpcc-js/common"),require("@hpcc-js/util"),require("@hpcc-js/react")):typeof define==`function`&&define.amd?define([`exports`,`@hpcc-js/common`,`@hpcc-js/util`,`@hpcc-js/react`],n):(t=typeof globalThis<`u`?globalThis:t||self,n(t[`@hpcc-js/html`]={},t[`@hpcc-js/common`],t[`@hpcc-js/util`],t[`@hpcc-js/react`]))})(this,function(t,n,r,i){Object.defineProperty(t,Symbol.toStringTag,{value:`Module`});var a=`@hpcc-js/html`,o=`3.3.20`,s=`3.25.1`,HTMLTooltip=class extends n.HTMLWidget{_triggerElement;_contentNode;_prevContentNode;_tooltipElement;_arrowElement;_tooltipHTMLCallback=t=>`<b>_tooltipHTMLCallback is undefined</b>`;_logger=(0,r.scopedLogger)(`html/HTMLTooltip`);constructor(){super(),this.visible(!1)}tooltipHTML(t){return this._tooltipHTMLCallback=t,this}tooltipContent(t){return arguments.length?(this._contentNode=t,this):this._contentNode}triggerElement(t){return this._triggerElement=t,this}enter(t,r){super.enter(t,r);let i=(0,n.select)(`body`);this._tooltipElement=i.append(`div`).attr(`class`,`tooltip-div`).style(`z-index`,`2147483638`).style(`position`,`fixed`),this._arrowElement=i.append(`div`).attr(`class`,`arrow-div`).style(`z-index`,`2147483638`).style(`position`,`fixed`)}update(t,n){if(super.update(t,n),this._contentNode!==this._prevContentNode){let t=this._tooltipElement.node();[...t.querySelectorAll(`*`)].map(t=>t.__data__).filter(t=>t).forEach(t=>{typeof t.target==`function`&&t.target(null),typeof t.exit==`function`&&t.exit()}),t.innerHTML=``,t.appendChild(this._contentNode),this._prevContentNode=this._contentNode}if(this._contentNode?this.onShowContent(this._contentNode):this._tooltipElement.html(()=>this._tooltipHTMLCallback(this.data())),this.fitContent()){this._tooltipElement.style(`width`,`auto`).style(`height`,`auto`).style(`padding`,`0px`).style(`box-sizing`,`content-box`);let t=this._tooltipElement.node().getBoundingClientRect();this.tooltipWidth_default(t.width),this.tooltipHeight_default(t.height)}this._closing=!1,this._tooltipElement.style(`background-color`,this.tooltipColor()).style(`color`,this.fontColor()).style(`width`,this.tooltipWidth()+`px`).style(`height`,this.tooltipHeight()+`px`).style(`opacity`,1).style(`padding`,this.padding()+`px`).style(`pointer-events`,this.enablePointerEvents()?`all`:`none`).style(`box-sizing`,`content-box`),this._arrowElement.style(`opacity`,1).style(`pointer-events`,`none`),this.updateTooltipPosition()}onShowContent(t){}updateTooltipPosition(){let t=this.calcReferenceBBox(),n=this.calcTooltipDirection(t),r=t[n];return this._tooltipElement.style(`top`,r.y+`px`).style(`left`,r.x+`px`),this.setArrowPosition(r,n),r}calcTooltipDirection(t){let n=Object.keys(t),r=this.direction();n.sort((t,n)=>t===r?-1:1);let i={top:0,left:0,width:window.innerWidth,height:window.innerHeight};for(let r=0;r<n.length;r++){let a={top:t[n[r]].y,left:t[n[r]].x,width:this.tooltipWidth(),height:this.tooltipHeight()};if(this.rectFits(a,i))return n[r]}return this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${r}'`),this._logger.debug(i),this._logger.debug({top:t[r].y,left:t[r].x,width:this.tooltipWidth(),height:this.tooltipHeight()}),r}rectFits(t,n){return t.top>=n.top&&t.left>=n.left&&t.width+t.left<=n.width+n.left&&t.height+t.top<=n.height+n.top}setArrowPosition(t,n){let r,i,a=`border-top-color`;switch(this._arrowElement.style(`border`,`${this.arrowHeight()}px solid ${this.tooltipColor()}`).style(`border-top-color`,`transparent`).style(`border-right-color`,`transparent`).style(`border-bottom-color`,`transparent`).style(`border-left-color`,`transparent`),n){case`n`:r=t.y+this.tooltipHeight()+this.padding()*2,i=t.x+this.tooltipWidth()/2-this.arrowWidth()/2+this.padding(),a=`border-top-color`,this._arrowElement.style(`border-top-width`,`${this.arrowHeight()}px`).style(`border-bottom-width`,`0px`).style(`border-left-width`,`${this.arrowWidth()/2}px`).style(`border-right-width`,`${this.arrowWidth()/2}px`);break;case`s`:r=t.y-this.arrowHeight(),i=t.x+this.padding()+this.tooltipWidth()/2-this.arrowWidth()/2,a=`border-bottom-color`,this._arrowElement.style(`border-top-width`,`0px`).style(`border-bottom-width`,`${this.arrowHeight()}px`).style(`border-left-width`,`${this.arrowWidth()/2}px`).style(`border-right-width`,`${this.arrowWidth()/2}px`);break;case`e`:r=t.y+this.tooltipHeight()/2+this.padding()-this.arrowWidth()/2,i=t.x-this.arrowHeight(),a=`border-right-color`,this._arrowElement.style(`border-top-width`,`${this.arrowWidth()/2}px`).style(`border-bottom-width`,`${this.arrowWidth()/2}px`).style(`border-left-width`,`0px`).style(`border-right-width`,`${this.arrowHeight()}px`);break;case`w`:r=t.y+this.tooltipHeight()/2-this.arrowWidth()/2+this.padding(),i=t.x+this.tooltipWidth()+this.padding()*2,a=`border-left-color`,this._arrowElement.style(`border-top-width`,`${this.arrowWidth()/2}px`).style(`border-bottom-width`,`${this.arrowWidth()/2}px`).style(`border-left-width`,`${this.arrowHeight()}px`).style(`border-right-width`,`0px`);break}return r!==void 0&&i!==void 0?this._arrowElement.style(`top`,r+`px`).style(`left`,i+`px`).style(a,this.tooltipColor()).style(`opacity`,1):this._arrowElement.style(`opacity`,0),t}getReferenceNode(){return this._triggerElement?this._triggerElement.node():this.element().node().parentNode.parentNode}_cursorLoc;calcReferenceBBox(){let{top:t,left:n,width:r,height:i}=this.getReferenceNode().getBoundingClientRect(),a=this.tooltipWidth(),o=this.tooltipHeight(),s=a/2,c=o/2,l=this.arrowHeight(),d=this.padding(),f=d*2;return this.followCursor()&&this._cursorLoc&&(n=this._cursorLoc[0],t=this._cursorLoc[1],r=1,i=1),{n:{x:n+r/2-s-d,y:t-o-l-f},e:{x:n+r+l,y:t+i/2-c-d},s:{x:n+r/2-s-d,y:t+i+l},w:{x:n-a-l-f,y:t+i/2-c-d},nw:{x:n-a-f,y:t-o-f},ne:{x:n+r,y:t-o-f},se:{x:n+r,y:t+i},sw:{x:n-a-f,y:t+i}}}_closing=!1;mouseout(){this._closing=!0,this._tooltipElement.on(`mouseover`,()=>{this._closing=!1}),this._tooltipElement.on(`mouseout`,()=>{this.mouseout()}),setTimeout(()=>{this._closing&&this.visible(!1)},this.closeDelay())}visible(t){return arguments.length?(this._arrowElement&&(this._arrowElement.style(`visibility`,t?`visible`:`hidden`),this._tooltipElement.style(`visibility`,t?`visible`:`hidden`)),super.visible(t),this):super.visible()}exit(t,n){this._arrowElement&&(this._arrowElement.remove(),this._tooltipElement.remove()),super.exit(t,n)}};HTMLTooltip.prototype._class+=` html_HTMLTooltip`,HTMLTooltip.prototype.publish(`fitContent`,!1,`boolean`,`If true, tooltip will grow to fit its html content`),HTMLTooltip.prototype.publish(`followCursor`,!1,`boolean`,`If true, tooltip will display relative to cursor location`),HTMLTooltip.prototype.publish(`closeDelay`,400,`number`,`Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)`),HTMLTooltip.prototype.publish(`direction`,`n`,`set`,`Direction in which to display the tooltip`,[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`]),HTMLTooltip.prototype.publish(`padding`,8,`number`,`Padding (pixels)`),HTMLTooltip.prototype.publish(`arrowWidth`,16,`number`,`Width (or height depending on direction) of the tooltip arrow (pixels)`),HTMLTooltip.prototype.publish(`arrowHeight`,8,`number`,`Height (or width depending on direction) of the tooltip arrow (pixels)`),HTMLTooltip.prototype.publish(`fontColor`,`#FFF`,`html-color`,`The default font color for text in the tooltip`),HTMLTooltip.prototype.publish(`tooltipColor`,`#000000EE`,`html-color`,`Background color of the tooltip`),HTMLTooltip.prototype.publish(`tooltipWidth`,200,`number`,`Width of the tooltip (not including arrow) (pixels)`),HTMLTooltip.prototype.publish(`tooltipHeight`,200,`number`,`Height of the tooltip (not including arrow) (pixels)`),HTMLTooltip.prototype.publish(`enablePointerEvents`,!1,`boolean`,`If true, the 'pointer-events: all' style will be used`);var SimpleTable=class extends n.HTMLWidget{_table;_tbody;_thead;_theadRow;constructor(){super()}transformData(){return this.data()}enter(t,n){super.enter(t,n),this._table=n.append(`table`),this._thead=this._table.append(`thead`),this._theadRow=this._thead.append(`tr`),this._tbody=this._table.append(`tbody`)}update(t,r){super.update(t,r),this._table.style(`width`,this.autoWidth()?`auto`:`100%`);let i=this._theadRow.selectAll(`th`).data(this.columns());i.enter().append(`th`).attr(`class`,(t,n)=>`th-${n}`).merge(i).text(t=>t.toString()),i.exit().remove();let a=this._tbody.selectAll(`tr`).data(this.transformData());a.enter().append(`tr`).merge(a).each(function(t){let r=(0,n.select)(this).selectAll(`td`).data(t);r.enter().append(`td`).attr(`class`,(t,n)=>`col-${n}`).merge(r).text(t=>t.toString()),r.exit().remove()}),a.exit().remove()}};SimpleTable.prototype._class+=` html_SimpleTable`,SimpleTable.prototype.publish(`autoWidth`,!1,`boolean`,`If true, table width will be set to 'auto'. If false, the width is set to '100%'`);var StyledTable=class extends SimpleTable{constructor(){super()}applyStyleObject(t,n){Object.keys(n).forEach(r=>{t.style(r,n[r])})}update(t,n){super.update(t,n),n.selectAll(`tr,th,td`).attr(`style`,``).style(`font-family`,this.fontFamily()).style(`color`,this.fontColor()),this.theadColumnStyles().forEach((t,r)=>{this.applyStyleObject(n.select(`.th-${r}`),t)}),this.tbodyColumnStyles().forEach((t,r)=>{this.applyStyleObject(n.selectAll(`.col-${r}`),t)});let r=Object.keys(this.evenRowStyles()).length>0,i=Object.keys(this.lastRowStyles()).length>0,a=n.selectAll(`tbody > tr`);if(r){let t=a.select(function(t,n){return n%2?this:null});this.applyStyleObject(t,this.evenRowStyles())}if(i){let t=a.select(function(t,n,r){return n===r.length-1?this:null});this.applyStyleObject(t,this.lastRowStyles())}}};StyledTable.prototype._class+=` html_StyledTable`,StyledTable.prototype.publish(`fontFamily`,`Verdana`,`string`,`Base font-family used within the table`),StyledTable.prototype.publish(`fontColor`,`#333`,`string`,`Base font color used within the table`),StyledTable.prototype.publish(`theadColumnStyles`,[],`array`,`Array of objects containing styles for the thead columns (ex: [{"color":"red"},{"color":"blue"}])`),StyledTable.prototype.publish(`tbodyColumnStyles`,[],`array`,`Array of objects containing styles for the tbody columns (ex: [{"color":"red"},{"color":"blue"}])`),StyledTable.prototype.publish(`lastRowStyles`,{},`object`,`Object containing styles for the last row (ex: {"color":"red"})`),StyledTable.prototype.publish(`evenRowStyles`,{},`object`,`Object containing styles for even rows (ex: {"background-color":"#AAA"})`);var BreakdownTable=class extends StyledTable{_tooltip;constructor(){super()}transformData(){let t=this.useCalculatedRowCount()?this.calculateRowCount():this.rowCount();return this.breakdownData(t)}breakdownData(t){let n=this.data().length,r=this.data().reduce((t,n)=>t+n[1],0),i=[],a=0;this.data().sort((t,n)=>t[1]>n[1]?-1:1);let o=n-t>0;if(this.data().filter((n,r)=>o?r<t-1:!0).forEach(t=>{let n=Math.round(t[1]/r*100);a+=n,i.push([t[0],n+`%`])}),o){let r=`${this.otherLabel()} (${n-t+1})`,o=`~`+(100-a)+`%`;i.push([r,o])}return i}calculateRowCount(){let t=this.columns().length>0?this.thFontSize()+5:0,n=this.fontSize()+5,r=this.height()-t;return Math.floor(r/n)}enter(t,n){super.enter(t,n),this._tooltip=new HTMLTooltip().target(t),this._tooltip.tooltipHTML(t=>{let n=this.useCalculatedRowCount()?this.calculateRowCount():this.rowCount(),r=Math.max(...t.map(t=>this.textSize(t[0],this.fontFamily(),this.fontSize()).height))??this.fontSize(),i=2*(Math.max(...t.map(t=>this.textSize(t[0],this.fontFamily(),this.fontSize()).width))+30)+this._tooltip.padding()*2,a=r*Math.ceil((t.length-n)/2)+this._tooltip.padding()*2;this._tooltip.tooltipWidth(i),this._tooltip.tooltipHeight(a);let o=this.breakdownData(this.data().length).slice(n-1);return`<div style="
1
+ (function(t,n){typeof exports==`object`&&typeof module<`u`?n(exports,require("@hpcc-js/common"),require("@hpcc-js/util"),require("@hpcc-js/react")):typeof define==`function`&&define.amd?define([`exports`,`@hpcc-js/common`,`@hpcc-js/util`,`@hpcc-js/react`],n):(t=typeof globalThis<`u`?globalThis:t||self,n(t[`@hpcc-js/html`]={},t[`@hpcc-js/common`],t[`@hpcc-js/util`],t[`@hpcc-js/react`]))})(this,function(t,n,r,i){Object.defineProperty(t,Symbol.toStringTag,{value:`Module`});var a=`@hpcc-js/html`,o=`3.4.1`,s=`3.26.1`,HTMLTooltip=class extends n.HTMLWidget{_triggerElement;_contentNode;_prevContentNode;_tooltipElement;_arrowElement;_tooltipHTMLCallback=t=>`<b>_tooltipHTMLCallback is undefined</b>`;_logger=(0,r.scopedLogger)(`html/HTMLTooltip`);constructor(){super(),this.visible(!1)}tooltipHTML(t){return this._tooltipHTMLCallback=t,this}tooltipContent(t){return arguments.length?(this._contentNode=t,this):this._contentNode}triggerElement(t){return this._triggerElement=t,this}enter(t,r){super.enter(t,r);let i=(0,n.select)(`body`);this._tooltipElement=i.append(`div`).attr(`class`,`tooltip-div`).style(`z-index`,`2147483638`).style(`position`,`fixed`),this._arrowElement=i.append(`div`).attr(`class`,`arrow-div`).style(`z-index`,`2147483638`).style(`position`,`fixed`)}update(t,n){if(super.update(t,n),this._contentNode!==this._prevContentNode){let t=this._tooltipElement.node();[...t.querySelectorAll(`*`)].map(t=>t.__data__).filter(t=>t).forEach(t=>{typeof t.target==`function`&&t.target(null),typeof t.exit==`function`&&t.exit()}),t.innerHTML=``,t.appendChild(this._contentNode),this._prevContentNode=this._contentNode}if(this._contentNode?this.onShowContent(this._contentNode):this._tooltipElement.html(()=>this._tooltipHTMLCallback(this.data())),this.fitContent()){this._tooltipElement.style(`width`,`auto`).style(`height`,`auto`).style(`padding`,`0px`).style(`box-sizing`,`content-box`);let t=this._tooltipElement.node().getBoundingClientRect();this.tooltipWidth_default(t.width),this.tooltipHeight_default(t.height)}this._closing=!1,this._tooltipElement.style(`background-color`,this.tooltipColor()).style(`color`,this.fontColor()).style(`width`,this.tooltipWidth()+`px`).style(`height`,this.tooltipHeight()+`px`).style(`opacity`,1).style(`padding`,this.padding()+`px`).style(`pointer-events`,this.enablePointerEvents()?`all`:`none`).style(`box-sizing`,`content-box`),this._arrowElement.style(`opacity`,1).style(`pointer-events`,`none`),this.updateTooltipPosition()}onShowContent(t){}updateTooltipPosition(){let t=this.calcReferenceBBox(),n=this.calcTooltipDirection(t),r=t[n];return this._tooltipElement.style(`top`,r.y+`px`).style(`left`,r.x+`px`),this.setArrowPosition(r,n),r}calcTooltipDirection(t){let n=Object.keys(t),r=this.direction();n.sort((t,n)=>t===r?-1:1);let i={top:0,left:0,width:window.innerWidth,height:window.innerHeight};for(let r=0;r<n.length;r++){let a={top:t[n[r]].y,left:t[n[r]].x,width:this.tooltipWidth(),height:this.tooltipHeight()};if(this.rectFits(a,i))return n[r]}return this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${r}'`),this._logger.debug(i),this._logger.debug({top:t[r].y,left:t[r].x,width:this.tooltipWidth(),height:this.tooltipHeight()}),r}rectFits(t,n){return t.top>=n.top&&t.left>=n.left&&t.width+t.left<=n.width+n.left&&t.height+t.top<=n.height+n.top}setArrowPosition(t,n){let r,i,a=`border-top-color`;switch(this._arrowElement.style(`border`,`${this.arrowHeight()}px solid ${this.tooltipColor()}`).style(`border-top-color`,`transparent`).style(`border-right-color`,`transparent`).style(`border-bottom-color`,`transparent`).style(`border-left-color`,`transparent`),n){case`n`:r=t.y+this.tooltipHeight()+this.padding()*2,i=t.x+this.tooltipWidth()/2-this.arrowWidth()/2+this.padding(),a=`border-top-color`,this._arrowElement.style(`border-top-width`,`${this.arrowHeight()}px`).style(`border-bottom-width`,`0px`).style(`border-left-width`,`${this.arrowWidth()/2}px`).style(`border-right-width`,`${this.arrowWidth()/2}px`);break;case`s`:r=t.y-this.arrowHeight(),i=t.x+this.padding()+this.tooltipWidth()/2-this.arrowWidth()/2,a=`border-bottom-color`,this._arrowElement.style(`border-top-width`,`0px`).style(`border-bottom-width`,`${this.arrowHeight()}px`).style(`border-left-width`,`${this.arrowWidth()/2}px`).style(`border-right-width`,`${this.arrowWidth()/2}px`);break;case`e`:r=t.y+this.tooltipHeight()/2+this.padding()-this.arrowWidth()/2,i=t.x-this.arrowHeight(),a=`border-right-color`,this._arrowElement.style(`border-top-width`,`${this.arrowWidth()/2}px`).style(`border-bottom-width`,`${this.arrowWidth()/2}px`).style(`border-left-width`,`0px`).style(`border-right-width`,`${this.arrowHeight()}px`);break;case`w`:r=t.y+this.tooltipHeight()/2-this.arrowWidth()/2+this.padding(),i=t.x+this.tooltipWidth()+this.padding()*2,a=`border-left-color`,this._arrowElement.style(`border-top-width`,`${this.arrowWidth()/2}px`).style(`border-bottom-width`,`${this.arrowWidth()/2}px`).style(`border-left-width`,`${this.arrowHeight()}px`).style(`border-right-width`,`0px`);break}return r!==void 0&&i!==void 0?this._arrowElement.style(`top`,r+`px`).style(`left`,i+`px`).style(a,this.tooltipColor()).style(`opacity`,1):this._arrowElement.style(`opacity`,0),t}getReferenceNode(){return this._triggerElement?this._triggerElement.node():this.element().node().parentNode.parentNode}_cursorLoc;calcReferenceBBox(){let{top:t,left:n,width:r,height:i}=this.getReferenceNode().getBoundingClientRect(),a=this.tooltipWidth(),o=this.tooltipHeight(),s=a/2,c=o/2,l=this.arrowHeight(),d=this.padding(),f=d*2;return this.followCursor()&&this._cursorLoc&&(n=this._cursorLoc[0],t=this._cursorLoc[1],r=1,i=1),{n:{x:n+r/2-s-d,y:t-o-l-f},e:{x:n+r+l,y:t+i/2-c-d},s:{x:n+r/2-s-d,y:t+i+l},w:{x:n-a-l-f,y:t+i/2-c-d},nw:{x:n-a-f,y:t-o-f},ne:{x:n+r,y:t-o-f},se:{x:n+r,y:t+i},sw:{x:n-a-f,y:t+i}}}_closing=!1;mouseout(){this._closing=!0,this._tooltipElement.on(`mouseover`,()=>{this._closing=!1}),this._tooltipElement.on(`mouseout`,()=>{this.mouseout()}),setTimeout(()=>{this._closing&&this.visible(!1)},this.closeDelay())}visible(t){return arguments.length?(this._arrowElement&&(this._arrowElement.style(`visibility`,t?`visible`:`hidden`),this._tooltipElement.style(`visibility`,t?`visible`:`hidden`)),super.visible(t),this):super.visible()}exit(t,n){this._arrowElement&&(this._arrowElement.remove(),this._tooltipElement.remove()),super.exit(t,n)}};HTMLTooltip.prototype._class+=` html_HTMLTooltip`,HTMLTooltip.prototype.publish(`fitContent`,!1,`boolean`,`If true, tooltip will grow to fit its html content`),HTMLTooltip.prototype.publish(`followCursor`,!1,`boolean`,`If true, tooltip will display relative to cursor location`),HTMLTooltip.prototype.publish(`closeDelay`,400,`number`,`Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)`),HTMLTooltip.prototype.publish(`direction`,`n`,`set`,`Direction in which to display the tooltip`,[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`]),HTMLTooltip.prototype.publish(`padding`,8,`number`,`Padding (pixels)`),HTMLTooltip.prototype.publish(`arrowWidth`,16,`number`,`Width (or height depending on direction) of the tooltip arrow (pixels)`),HTMLTooltip.prototype.publish(`arrowHeight`,8,`number`,`Height (or width depending on direction) of the tooltip arrow (pixels)`),HTMLTooltip.prototype.publish(`fontColor`,`#FFF`,`html-color`,`The default font color for text in the tooltip`),HTMLTooltip.prototype.publish(`tooltipColor`,`#000000EE`,`html-color`,`Background color of the tooltip`),HTMLTooltip.prototype.publish(`tooltipWidth`,200,`number`,`Width of the tooltip (not including arrow) (pixels)`),HTMLTooltip.prototype.publish(`tooltipHeight`,200,`number`,`Height of the tooltip (not including arrow) (pixels)`),HTMLTooltip.prototype.publish(`enablePointerEvents`,!1,`boolean`,`If true, the 'pointer-events: all' style will be used`);var SimpleTable=class extends n.HTMLWidget{_table;_tbody;_thead;_theadRow;constructor(){super()}transformData(){return this.data()}enter(t,n){super.enter(t,n),this._table=n.append(`table`),this._thead=this._table.append(`thead`),this._theadRow=this._thead.append(`tr`),this._tbody=this._table.append(`tbody`)}update(t,r){super.update(t,r),this._table.style(`width`,this.autoWidth()?`auto`:`100%`);let i=this._theadRow.selectAll(`th`).data(this.columns());i.enter().append(`th`).attr(`class`,(t,n)=>`th-${n}`).merge(i).text(t=>t.toString()),i.exit().remove();let a=this._tbody.selectAll(`tr`).data(this.transformData());a.enter().append(`tr`).merge(a).each(function(t){let r=(0,n.select)(this).selectAll(`td`).data(t);r.enter().append(`td`).attr(`class`,(t,n)=>`col-${n}`).merge(r).text(t=>t.toString()),r.exit().remove()}),a.exit().remove()}};SimpleTable.prototype._class+=` html_SimpleTable`,SimpleTable.prototype.publish(`autoWidth`,!1,`boolean`,`If true, table width will be set to 'auto'. If false, the width is set to '100%'`);var StyledTable=class extends SimpleTable{constructor(){super()}applyStyleObject(t,n){Object.keys(n).forEach(r=>{t.style(r,n[r])})}update(t,n){super.update(t,n),n.selectAll(`tr,th,td`).attr(`style`,``).style(`font-family`,this.fontFamily()).style(`color`,this.fontColor()),this.theadColumnStyles().forEach((t,r)=>{this.applyStyleObject(n.select(`.th-${r}`),t)}),this.tbodyColumnStyles().forEach((t,r)=>{this.applyStyleObject(n.selectAll(`.col-${r}`),t)});let r=Object.keys(this.evenRowStyles()).length>0,i=Object.keys(this.lastRowStyles()).length>0,a=n.selectAll(`tbody > tr`);if(r){let t=a.select(function(t,n){return n%2?this:null});this.applyStyleObject(t,this.evenRowStyles())}if(i){let t=a.select(function(t,n,r){return n===r.length-1?this:null});this.applyStyleObject(t,this.lastRowStyles())}}};StyledTable.prototype._class+=` html_StyledTable`,StyledTable.prototype.publish(`fontFamily`,`Verdana`,`string`,`Base font-family used within the table`),StyledTable.prototype.publish(`fontColor`,`#333`,`string`,`Base font color used within the table`),StyledTable.prototype.publish(`theadColumnStyles`,[],`array`,`Array of objects containing styles for the thead columns (ex: [{"color":"red"},{"color":"blue"}])`),StyledTable.prototype.publish(`tbodyColumnStyles`,[],`array`,`Array of objects containing styles for the tbody columns (ex: [{"color":"red"},{"color":"blue"}])`),StyledTable.prototype.publish(`lastRowStyles`,{},`object`,`Object containing styles for the last row (ex: {"color":"red"})`),StyledTable.prototype.publish(`evenRowStyles`,{},`object`,`Object containing styles for even rows (ex: {"background-color":"#AAA"})`);var BreakdownTable=class extends StyledTable{_tooltip;constructor(){super()}transformData(){let t=this.useCalculatedRowCount()?this.calculateRowCount():this.rowCount();return this.breakdownData(t)}breakdownData(t){let n=this.data().length,r=this.data().reduce((t,n)=>t+n[1],0),i=[],a=0;this.data().sort((t,n)=>t[1]>n[1]?-1:1);let o=n-t>0;if(this.data().filter((n,r)=>o?r<t-1:!0).forEach(t=>{let n=Math.round(t[1]/r*100);a+=n,i.push([t[0],n+`%`])}),o){let r=`${this.otherLabel()} (${n-t+1})`,o=`~`+(100-a)+`%`;i.push([r,o])}return i}calculateRowCount(){let t=this.columns().length>0?this.thFontSize()+5:0,n=this.fontSize()+5,r=this.height()-t;return Math.floor(r/n)}enter(t,n){super.enter(t,n),this._tooltip=new HTMLTooltip().target(t),this._tooltip.tooltipHTML(t=>{let n=this.useCalculatedRowCount()?this.calculateRowCount():this.rowCount(),r=Math.max(...t.map(t=>this.textSize(t[0],this.fontFamily(),this.fontSize()).height))??this.fontSize(),i=2*(Math.max(...t.map(t=>this.textSize(t[0],this.fontFamily(),this.fontSize()).width))+30)+this._tooltip.padding()*2,a=r*Math.ceil((t.length-n)/2)+this._tooltip.padding()*2;this._tooltip.tooltipWidth(i),this._tooltip.tooltipHeight(a);let o=this.breakdownData(this.data().length).slice(n-1);return`<div style="
2
2
  width: 100%;
3
3
  height: 100%;
4
4
  font-size: ${this.fontSize()}px;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","names":["u","i","f","l","r"],"sources":["../src/__package__.ts","../src/HTMLTooltip.ts","../src/SimpleTable.ts","../src/StyledTable.ts","../src/BreakdownTable.ts","../src/JSXWidget.ts","../src/reactD3.ts","../../../node_modules/preact/dist/preact.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../src/VizComponent.tsx","../src/VizInstance.tsx","../src/StatsTable.ts","../src/TitleBar.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\nimport { scopedLogger, ScopedLogging } from \"@hpcc-js/util\";\n\ntype Direction = \"n\" | \"s\" | \"e\" | \"w\" | \"ne\" | \"nw\" | \"se\" | \"sw\";\ntype Position = { x: number, y: number };\ntype DirectionalBBox = { [key in Direction]: Position; };\n\ntype Rectangle = { top: number, left: number, width: number, height: number };\nexport class HTMLTooltip extends HTMLWidget {\n\n public _triggerElement;\n public _contentNode;\n protected _prevContentNode;\n\n protected _tooltipElement;\n protected _arrowElement;\n protected _tooltipHTMLCallback = (data?) => \"<b>_tooltipHTMLCallback is undefined</b>\";\n protected _logger: ScopedLogging = scopedLogger(\"html/HTMLTooltip\");\n constructor() {\n super();\n this.visible(false);\n }\n\n tooltipHTML(_: (data?) => string): this {\n this._tooltipHTMLCallback = _;\n return this;\n }\n\n tooltipContent(_): this {\n if (!arguments.length) return this._contentNode;\n this._contentNode = _;\n return this;\n }\n\n triggerElement(_): this {\n this._triggerElement = _;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const body = d3Select(\"body\");\n this._tooltipElement = body.append(\"div\")\n .attr(\"class\", \"tooltip-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n this._arrowElement = body.append(\"div\")\n .attr(\"class\", \"arrow-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n if (this._contentNode !== this._prevContentNode) {\n const node = this._tooltipElement.node();\n [...node.querySelectorAll(\"*\")]\n .map(n => n.__data__)\n .filter(n => n)\n .forEach(w => {\n if (typeof w.target === \"function\") {\n w.target(null);\n }\n if (typeof w.exit === \"function\") {\n w.exit();\n }\n });\n node.innerHTML = \"\";\n node.appendChild(this._contentNode);\n this._prevContentNode = this._contentNode;\n }\n\n if (this._contentNode) {\n this.onShowContent(this._contentNode);\n } else {\n this._tooltipElement\n .html(() => {\n return this._tooltipHTMLCallback(this.data());\n });\n }\n if (this.fitContent()) {\n this._tooltipElement\n .style(\"width\", \"auto\")\n .style(\"height\", \"auto\")\n .style(\"padding\", \"0px\")\n .style(\"box-sizing\", \"content-box\")\n ;\n const rect = this._tooltipElement.node().getBoundingClientRect();\n this.tooltipWidth_default(rect.width);\n this.tooltipHeight_default(rect.height);\n }\n this._closing = false;\n this._tooltipElement\n .style(\"background-color\", this.tooltipColor())\n .style(\"color\", this.fontColor())\n .style(\"width\", this.tooltipWidth() + \"px\")\n .style(\"height\", this.tooltipHeight() + \"px\")\n .style(\"opacity\", 1)\n .style(\"padding\", this.padding() + \"px\")\n .style(\"pointer-events\", this.enablePointerEvents() ? \"all\" : \"none\")\n .style(\"box-sizing\", \"content-box\")\n ;\n this._arrowElement\n .style(\"opacity\", 1)\n .style(\"pointer-events\", \"none\")\n ;\n this.updateTooltipPosition();\n }\n\n onShowContent(node) {\n\n }\n\n protected updateTooltipPosition(): Position {\n const bbox = this.calcReferenceBBox();\n const direction = this.calcTooltipDirection(bbox);\n const box = bbox[direction];\n this._tooltipElement\n .style(\"top\", box.y + \"px\")\n .style(\"left\", box.x + \"px\")\n ;\n this.setArrowPosition(box, direction);\n return box;\n }\n\n protected calcTooltipDirection(bbox: DirectionalBBox): Direction {\n const directions: Direction[] = Object.keys(bbox) as Direction[];\n\n const defaultDirection = this.direction();\n directions.sort((a, b) => a === defaultDirection ? -1 : 1);\n const windowRect = {\n top: 0,\n left: 0,\n width: window.innerWidth,\n height: window.innerHeight\n };\n for (let i = 0; i < directions.length; i++) {\n const tooltipRect = {\n top: bbox[directions[i]].y,\n left: bbox[directions[i]].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n };\n if (this.rectFits(tooltipRect, windowRect)) {\n return directions[i];\n }\n }\n this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${defaultDirection}'`);\n this._logger.debug(windowRect);\n this._logger.debug({\n top: bbox[defaultDirection].y,\n left: bbox[defaultDirection].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n });\n return defaultDirection;\n }\n\n protected rectFits(innerRect: Rectangle, outerRect: Rectangle): boolean {\n return (\n innerRect.top >= outerRect.top &&\n innerRect.left >= outerRect.left &&\n innerRect.width + innerRect.left <= outerRect.width + outerRect.left &&\n innerRect.height + innerRect.top <= outerRect.height + outerRect.top\n );\n }\n\n protected setArrowPosition(point: Position, direction: Direction) {\n let top;\n let left;\n let visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border\", `${this.arrowHeight()}px solid ${this.tooltipColor()}`)\n .style(\"border-top-color\", \"transparent\")\n .style(\"border-right-color\", \"transparent\")\n .style(\"border-bottom-color\", \"transparent\")\n .style(\"border-left-color\", \"transparent\")\n ;\n switch (direction) {\n case \"n\":\n top = point.y + this.tooltipHeight() + (this.padding() * 2);\n left = point.x + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2) + this.padding();\n visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowHeight()}px`)\n .style(\"border-bottom-width\", \"0px\")\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"s\":\n top = point.y - this.arrowHeight();\n left = point.x + this.padding() + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2);\n visibleBorderStyle = \"border-bottom-color\";\n this._arrowElement\n .style(\"border-top-width\", \"0px\")\n .style(\"border-bottom-width\", `${this.arrowHeight()}px`)\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"e\":\n top = point.y + (this.tooltipHeight() / 2) + this.padding() - (this.arrowWidth() / 2);\n left = point.x - this.arrowHeight();\n visibleBorderStyle = \"border-right-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", \"0px\")\n .style(\"border-right-width\", `${this.arrowHeight()}px`)\n ;\n break;\n case \"w\":\n top = point.y + (this.tooltipHeight() / 2) - (this.arrowWidth() / 2) + this.padding();\n left = point.x + this.tooltipWidth() + (this.padding() * 2);\n visibleBorderStyle = \"border-left-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", `${this.arrowHeight()}px`)\n .style(\"border-right-width\", \"0px\")\n ;\n break;\n }\n if (typeof top !== \"undefined\" && typeof left !== \"undefined\") {\n this._arrowElement\n .style(\"top\", top + \"px\")\n .style(\"left\", left + \"px\")\n .style(visibleBorderStyle, this.tooltipColor())\n .style(\"opacity\", 1)\n ;\n } else {\n this._arrowElement\n .style(\"opacity\", 0)\n ;\n }\n return point;\n }\n\n protected getReferenceNode() {\n if (!this._triggerElement) {\n return this.element().node().parentNode.parentNode;\n }\n return this._triggerElement.node();\n }\n public _cursorLoc;\n protected calcReferenceBBox() {\n const node = this.getReferenceNode();\n let { top, left, width, height } = node.getBoundingClientRect();\n const wholeW = this.tooltipWidth();\n const wholeH = this.tooltipHeight();\n const halfW = wholeW / 2;\n const halfH = wholeH / 2;\n const arrowH = this.arrowHeight();\n const p = this.padding();\n const p2 = p * 2;\n\n if (this.followCursor() && this._cursorLoc) {\n\n left = this._cursorLoc[0];\n top = this._cursorLoc[1];\n width = 1;\n height = 1;\n }\n const bbox = {\n n: {\n x: left + (width / 2) - halfW - p,\n y: top - wholeH - arrowH - p2\n },\n e: {\n x: left + width + arrowH,\n y: top + (height / 2) - halfH - p\n },\n s: {\n x: left + (width / 2) - halfW - p,\n y: top + height + arrowH\n },\n w: {\n x: left - wholeW - arrowH - p2,\n y: top + (height / 2) - halfH - p\n },\n nw: {\n x: left - wholeW - p2,\n y: top - wholeH - p2\n },\n ne: {\n x: left + width,\n y: top - wholeH - p2\n },\n se: {\n x: left + width,\n y: top + height\n },\n sw: {\n x: left - wholeW - p2,\n y: top + height\n }\n };\n return bbox;\n }\n\n private _closing = false;\n mouseout() {\n this._closing = true;\n this._tooltipElement.on(\"mouseover\", () => {\n this._closing = false;\n });\n this._tooltipElement.on(\"mouseout\", () => {\n this.mouseout();\n });\n setTimeout(() => {\n if (this._closing) {\n this.visible(false);\n }\n }, this.closeDelay());\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return super.visible();\n if (this._arrowElement) {\n this._arrowElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n this._tooltipElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n }\n super.visible(_);\n return this;\n }\n\n exit(domNode, element) {\n if (this._arrowElement) {\n this._arrowElement.remove();\n this._tooltipElement.remove();\n }\n super.exit(domNode, element);\n }\n}\nHTMLTooltip.prototype._class += \" html_HTMLTooltip\";\n\nexport interface HTMLTooltip {\n padding(): number;\n padding(_: number): this;\n direction(): Direction;\n direction(_: Direction): this;\n arrowHeight(): number;\n arrowHeight(_: number): this;\n arrowWidth(): number;\n arrowWidth(_: number): this;\n fontColor(): string;\n fontColor(_: string): this;\n tooltipColor(): string;\n tooltipColor(_: string): this;\n tooltipWidth(): number;\n tooltipWidth(_: number): this;\n tooltipWidth_default(_: number);\n tooltipHeight(): number;\n tooltipHeight(_: number): this;\n tooltipHeight_default(_: number);\n followCursor(): boolean;\n followCursor(_: boolean): this;\n enablePointerEvents(): boolean;\n enablePointerEvents(_: boolean): this;\n closeDelay(): number;\n closeDelay(_: number): this;\n fitContent(): boolean;\n fitContent(_: boolean): this;\n\n}\n\nHTMLTooltip.prototype.publish(\"fitContent\", false, \"boolean\", \"If true, tooltip will grow to fit its html content\");\nHTMLTooltip.prototype.publish(\"followCursor\", false, \"boolean\", \"If true, tooltip will display relative to cursor location\");\nHTMLTooltip.prototype.publish(\"closeDelay\", 400, \"number\", \"Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)\");\nHTMLTooltip.prototype.publish(\"direction\", \"n\", \"set\", \"Direction in which to display the tooltip\", [\"n\", \"s\", \"e\", \"w\", \"ne\", \"nw\", \"se\", \"sw\"]);\nHTMLTooltip.prototype.publish(\"padding\", 8, \"number\", \"Padding (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowWidth\", 16, \"number\", \"Width (or height depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowHeight\", 8, \"number\", \"Height (or width depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"fontColor\", \"#FFF\", \"html-color\", \"The default font color for text in the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipColor\", \"#000000EE\", \"html-color\", \"Background color of the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipWidth\", 200, \"number\", \"Width of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"tooltipHeight\", 200, \"number\", \"Height of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"enablePointerEvents\", false, \"boolean\", \"If true, the 'pointer-events: all' style will be used\");\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\n\nexport class SimpleTable extends HTMLWidget {\n protected _table;\n protected _tbody;\n protected _thead;\n protected _theadRow;\n constructor() {\n super();\n }\n\n protected transformData() {\n return this.data();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._table = element.append(\"table\");\n this._thead = this._table.append(\"thead\");\n this._theadRow = this._thead.append(\"tr\");\n this._tbody = this._table.append(\"tbody\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._table\n .style(\"width\", this.autoWidth() ? \"auto\" : \"100%\")\n ;\n const theadTrSelection = this._theadRow.selectAll(\"th\").data(this.columns());\n theadTrSelection.enter()\n .append(\"th\")\n .attr(\"class\", (n, i) => `th-${i}`)\n .merge(theadTrSelection)\n .text(_d => (_d).toString())\n ;\n theadTrSelection.exit().remove();\n const trSelection = this._tbody.selectAll(\"tr\").data(this.transformData());\n trSelection.enter()\n .append(\"tr\")\n .merge(trSelection)\n .each(function (this, d) {\n const tr = d3Select(this);\n const tdSelection = tr.selectAll(\"td\").data(d);\n tdSelection.enter()\n .append(\"td\")\n .attr(\"class\", (n, i) => `col-${i}`)\n .merge(tdSelection as any)\n .text(_d => (_d).toString())\n ;\n tdSelection.exit().remove();\n })\n ;\n trSelection.exit().remove();\n }\n}\nSimpleTable.prototype._class += \" html_SimpleTable\";\n\nexport interface SimpleTable {\n autoWidth(): boolean;\n autoWidth(_: boolean): this;\n}\nSimpleTable.prototype.publish(\"autoWidth\", false, \"boolean\", \"If true, table width will be set to 'auto'. If false, the width is set to '100%'\");\n","import { SimpleTable } from \"./SimpleTable.ts\";\n\nexport class StyledTable extends SimpleTable {\n constructor() {\n super();\n }\n\n protected applyStyleObject(selection, styleObject) {\n Object.keys(styleObject).forEach(styleName => {\n selection.style(styleName, styleObject[styleName]);\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n element.selectAll(\"tr,th,td\")\n .attr(\"style\", \"\")\n .style(\"font-family\", this.fontFamily())\n .style(\"color\", this.fontColor())\n ;\n\n this.theadColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.select(`.th-${i}`), styleObj);\n });\n this.tbodyColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.selectAll(`.col-${i}`), styleObj);\n });\n const evenRowStylesExist = Object.keys(this.evenRowStyles()).length > 0;\n const lastRowStylesExist = Object.keys(this.lastRowStyles()).length > 0;\n const tbodyRows = element.selectAll(\"tbody > tr\");\n if (evenRowStylesExist) {\n const tbodyEvenRows = tbodyRows.select(function (this: HTMLElement, d, i) { return i % 2 ? this : null; });\n this.applyStyleObject(tbodyEvenRows, this.evenRowStyles());\n }\n if (lastRowStylesExist) {\n const tbodyLastRow = tbodyRows.select(function (this: HTMLElement, d, i, arr) { return i === arr.length - 1 ? this : null; });\n this.applyStyleObject(tbodyLastRow, this.lastRowStyles());\n }\n }\n}\nStyledTable.prototype._class += \" html_StyledTable\";\n\nexport interface StyledTable {\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n tbodyColumnStyles(): Array<{ [styleID: string]: any }>;\n tbodyColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n tbodyColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles(): Array<{ [styleID: string]: any }>;\n theadColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n lastRowStyles(): { [styleID: string]: any };\n lastRowStyles(_: { [styleID: string]: any }): this;\n lastRowStyles_default(_: { [styleID: string]: any }): this;\n evenRowStyles(): { [styleID: string]: any };\n evenRowStyles(_: { [styleID: string]: any }): this;\n evenRowStyles_default(_: { [styleID: string]: any }): this;\n}\n\nStyledTable.prototype.publish(\"fontFamily\", \"Verdana\", \"string\", \"Base font-family used within the table\");\nStyledTable.prototype.publish(\"fontColor\", \"#333\", \"string\", \"Base font color used within the table\");\nStyledTable.prototype.publish(\"theadColumnStyles\", [], \"array\", 'Array of objects containing styles for the thead columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"tbodyColumnStyles\", [], \"array\", 'Array of objects containing styles for the tbody columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"lastRowStyles\", {}, \"object\", 'Object containing styles for the last row (ex: {\"color\":\"red\"})');\nStyledTable.prototype.publish(\"evenRowStyles\", {}, \"object\", 'Object containing styles for even rows (ex: {\"background-color\":\"#AAA\"})');\n","import { HTMLTooltip } from \"./HTMLTooltip.ts\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class BreakdownTable extends StyledTable {\n // protected _table;\n // protected _tbody;\n protected _tooltip: HTMLTooltip;\n constructor() {\n super();\n }\n\n protected transformData() {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n return this.breakdownData(rowCount);\n }\n\n protected breakdownData(limit: number): any[] {\n const len = this.data().length;\n const sum = this.data().reduce((acc, row) => acc + row[1], 0);\n const data = [];\n let percSum = 0;\n this.data().sort((a, b) => a[1] > b[1] ? -1 : 1);\n const hiddenRowCount = len - limit;\n const showOther = hiddenRowCount > 0;\n this.data()\n .filter((_, i) => showOther ? i < limit - 1 : true)\n .forEach(row => {\n const perc = Math.round((row[1] / sum) * 100);\n percSum += perc;\n data.push([row[0], perc + \"%\"]);\n });\n if (showOther) {\n const otherLabel = `${this.otherLabel()} (${len - limit + 1})`;\n const otherPercentage = \"~\" + (100 - percSum) + \"%\";\n data.push([otherLabel, otherPercentage]);\n }\n return data;\n }\n\n protected calculateRowCount(): number {\n const theadRowHeight = this.columns().length > 0 ? this.thFontSize() + 5 : 0;\n const tbodyRowHeight = this.fontSize() + 5;\n const tbodyAvailableHeight = this.height() - theadRowHeight;\n const rowCount = Math.floor(tbodyAvailableHeight / tbodyRowHeight);\n return rowCount;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._tooltip = new HTMLTooltip()\n .target(domNode)\n ;\n this._tooltip\n .tooltipHTML(data => {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n const rowHeight = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).height)) ?? this.fontSize();\n const widestLabel = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).width));\n const widestPerc = 30;\n const colCount = 2;\n const w = colCount * (widestLabel + widestPerc) + (this._tooltip.padding() * 2);\n const h = rowHeight * Math.ceil((data.length - rowCount) / colCount) + (this._tooltip.padding() * 2);\n this._tooltip.tooltipWidth(w);\n this._tooltip.tooltipHeight(h);\n const otherData = this.breakdownData(this.data().length).slice(rowCount - 1);\n return `<div style=\"\n width: 100%;\n height: 100%;\n font-size: ${this.fontSize()}px;\n \">${otherData.map(row =>\n `<div style=\"\n float:left;\n width:${Math.floor(99 / colCount)}%;\n \">${row[0]}: ${row[1]}</div>`\n ).join(\"\")\n }</div>`;\n })\n ;\n }\n\n update(domNode, element) {\n this.theadColumnStyles_default([\n {\n \"color\": this.thFirstColor(),\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"width\": \"1%\",\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.percentageAlignment(),\n \"padding\": \"0px\"\n }\n ]);\n this.tbodyColumnStyles_default([\n {\n \"color\": this.topLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.topPercentageColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n this.lastRowStyles_default([\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherLabelBold() ? \"bold\" : \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherPercentageBold() ? \"bold\" : \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n\n super.update(domNode, element);\n\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n if (rowCount < this.data().length) {\n const lastRow = element.select(\"tbody > tr:last-child\");\n const context = this;\n lastRow\n .on(\"mouseout.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .visible(false)\n .render()\n ;\n })\n .on(\"mouseenter.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .direction(\"n\")\n .data(context.data())\n .visible(true)\n .render()\n ;\n })\n ;\n }\n }\n\n}\nBreakdownTable.prototype._class += \" html_BreakdownTable\";\n\nexport interface BreakdownTable {\n useCalculatedRowCount(): boolean;\n useCalculatedRowCount(_: boolean): this;\n rowCount(): number;\n rowCount(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n thFirstColor(): string;\n thFirstColor(_: string): this;\n thLastColor(): string;\n thLastColor(_: string): this;\n thFontSize(): number;\n thFontSize(_: number): this;\n thFontWeight(): string;\n thFontWeight(_: string): this;\n labelAlignment(): \"left\" | \"center\" | \"right\";\n labelAlignment(_: \"left\" | \"center\" | \"right\"): this;\n percentageAlignment(): \"left\" | \"center\" | \"right\";\n percentageAlignment(_: \"left\" | \"center\" | \"right\"): this;\n topLabelColor(): string;\n topLabelColor(_: string): this;\n topPercentageColor(): string;\n topPercentageColor(_: string): this;\n topPercentageBold(): boolean;\n topPercentageBold(_: boolean): this;\n otherLabel(): string;\n otherLabel(_: string): this;\n otherLabelColor(): string;\n otherLabelColor(_: string): this;\n otherLabelBold(): boolean;\n otherLabelBold(_: boolean): this;\n otherPercentageColor(): string;\n otherPercentageColor(_: string): this;\n otherPercentageBold(): boolean;\n otherPercentageBold(_: boolean): this;\n}\n\nBreakdownTable.prototype.publish(\"useCalculatedRowCount\", true, \"boolean\", \"If true, rowCount will be calculated and its default will be overwritten\");\nBreakdownTable.prototype.publish(\"rowCount\", 5, \"number\", \"Number of total rows to display (including the 'other' row)\", undefined, { disable: w => w.useCalculatedRowCount() });\nBreakdownTable.prototype.publish(\"fontSize\", 14, \"number\", \"Font size (pixels)\");\nBreakdownTable.prototype.publish(\"labelAlignment\", \"left\", \"set\", \"Alignment of the label column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"percentageAlignment\", \"center\", \"set\", \"Alignment of the percentage column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"topLabelColor\", \"#333\", \"html-color\", \"Color of displayed 'top' labels\");\nBreakdownTable.prototype.publish(\"topPercentageColor\", \"#1A99D5\", \"html-color\", \"Color of displayed 'top' percentages\");\nBreakdownTable.prototype.publish(\"topPercentageBold\", true, \"html-color\", \"If true, the 'top' percentages will be bold\");\nBreakdownTable.prototype.publish(\"otherLabel\", \"Other\", \"string\", \"Label text for the 'other' row\");\nBreakdownTable.prototype.publish(\"otherLabelColor\", \"#AAA\", \"html-color\", \"Color of the 'other' label\");\nBreakdownTable.prototype.publish(\"otherLabelBold\", false, \"html-color\", \"If true, the 'other' label will be bold\");\nBreakdownTable.prototype.publish(\"otherPercentageColor\", \"#AAA\", \"html-color\", \"Color of the 'other' percentage\");\nBreakdownTable.prototype.publish(\"otherPercentageBold\", false, \"html-color\", \"If true, the 'other' percentage will be bold\");\nBreakdownTable.prototype.publish(\"thFontWeight\", \"bold\", \"string\", \"Font weight for th elements\");\nBreakdownTable.prototype.publish(\"thFontSize\", 26, \"number\", \"Font size for th elements\");\nBreakdownTable.prototype.publish(\"thFirstColor\", \"#333\", \"html-color\", \"Text color of the first th element\");\nBreakdownTable.prototype.publish(\"thLastColor\", \"#333\", \"html-color\", \"Text color of the last th element\");\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { React } from \"@hpcc-js/react\";\n\nexport class JSXWidget extends HTMLWidget {\n static Component = React.Component;\n static createElement = React.createElement;\n protected rootNode;\n\n jsxRender(jsx, domNode) {\n this.rootNode = React.render(jsx, domNode, this.rootNode);\n }\n}\nJSXWidget.prototype._class += \" html_JSXWidget\";\n","import { select as d3Select } from \"@hpcc-js/common\";\n\nexport type ReactFn = (attrs: { [key: string]: string }) => VNode;\n\nexport type IVNode = new (attrs: { [key: string]: string }, children: VNode[]) => VNode;\n\nexport class VNode {\n protected _attrs: { [key: string]: string };\n protected _children: VNode[];\n\n constructor(attrs: { [key: string]: string }, children: VNode[]) {\n this._attrs = attrs;\n this._children = children;\n }\n\n type(): string {\n return \"div\";\n }\n\n attrs(): { [key: string]: string } {\n return this._attrs;\n }\n\n attr(key) {\n return this._attrs[key];\n }\n\n children(): VNode[] {\n return this._children;\n }\n\n update(targetElement) {\n for (const key in this._attrs) {\n targetElement.attr(key, this._attrs[key]);\n }\n }\n\n render(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data([this]);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(this.type())\n .attr(\"reactd3\", 0)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n\n renderChildren(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data(this._children);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(d => document.createElement(d.type()))\n .attr(\"reactd3\", (_d, i) => i)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n}\n\nclass ConstVNode extends VNode {\n protected _type: string;\n\n constructor(type: string, attrs: { [key: string]: string }, children: VNode[]) {\n super(attrs, children);\n this._type = type;\n }\n\n type(): string {\n return this._type;\n }\n}\n\nclass TextVNode extends VNode {\n protected _text: string;\n\n constructor(text: string) {\n super({}, []);\n this._text = text;\n }\n\n type(): string {\n return \"span\";\n }\n\n update(targetElement) {\n super.update(targetElement);\n targetElement.text(this._text);\n }\n}\n\nfunction isReactFn(_): _ is ReactFn {\n return typeof _ === \"function\";\n}\n\nfunction isIVNode(_: any): _ is IVNode {\n return _.prototype && _.prototype instanceof VNode;\n}\n\nexport class ReactD3 {\n // static createElementXXX(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n static createElement(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n if (isIVNode(type)) {\n return new (type as any)(attrs);\n } else if (isReactFn(type)) {\n return type(attrs);\n }\n return new ConstVNode(type, attrs, children.map(child => {\n if (typeof child === \"string\") {\n return new TextVNode(child);\n }\n return child;\n }));\n }\n\n static render(vdom: VNode, targetElement) {\n vdom.render(targetElement);\n }\n}\n","var n,l,u,t,i,r,o,e,f,c,a,s,h,p,v,y,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function k(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function M(){return{current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o)}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H)}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n)}finally{i.length=H.__r=0}}function L(n,l,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),s=0;s<b;s++)null!=(p=u.__k[s])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=s,_=q(n,p,h,i,r,o,e,f,c,a),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),a.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):\"function\"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,a=u.length,s=a,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,s))&&(s--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>a?h--:i<a&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(s)for(r=0;r<a;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(g(n)?n.some(function(n){F(n,l)}):l.push(n)),l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],a=null!=c&&0==(2&c.__u);if(null===c&&null==e||a&&e==c.key&&f==c.type)return u;if(t>(a?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function z(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||_.test(l)?u:u+\"px\"}function N(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||z(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(s,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[a]=t[a]:(u[a]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[a])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(s=l.__b)&&s(u);n:if(\"function\"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(s=T.contextType)&&i[s.__c],$=s?M?M.props.value:s.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d)})}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=s&&s.type===S&&null==s.key?E(s.props.children):s,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,a),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(H=o.length;H--;)b(o[H]);B(u)}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,a);return(s=l.diffed)&&s(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B))}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function E(n){return\"object\"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):void 0!==n.constructor?null:m({},n)}function G(u,t,i,r,o,e,f,c,a){var s,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(s=0;s<e.length;s++)if((y=e[s])&&\"setAttribute\"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[s]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)m===k||c&&u.data==k||(u.data=k);else{if(e=\"textarea\"==x&&null!=k.defaultValue?null:e&&n.call(u.childNodes),!c&&null!=e)for(m={},s=0;s<u.attributes.length;s++)m[(y=u.attributes[s]).name]=y.value;for(s in m)y=m[s],\"dangerouslySetInnerHTML\"==s?p=y:\"children\"==s||s in k||\"value\"==s&&\"defaultValue\"in k||\"checked\"==s&&\"defaultChecked\"in k||N(u,s,null,y,o);for(s in k)y=k[s],\"children\"==s?v=y:\"dangerouslySetInnerHTML\"==s?h=y:\"value\"==s?w=y:\"checked\"==s?_=y:c&&\"function\"!=typeof y||m[s]===y||N(u,s,y,m[s],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),L(\"template\"==t.type?u.content:u,g(v)?v:[v],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&$(i,0),c,a),null!=e)for(s=e.length;s--;)b(e[s]);c&&\"textarea\"!=x||(s=\"value\",\"progress\"==x&&null==w?u.removeAttribute(\"value\"):null!=w&&(w!==u[s]||\"progress\"==x&&!w||\"option\"==x&&w!=m[s])&&N(u,s,w,m[s],o),s=\"checked\",null!=_&&_!=u[s]&&N(u,s,_,m[s],o))}return u}function J(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||\"function\"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q(t,u=(!r&&i||t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f)}function U(n,l){R(n,l,U)}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=w.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),\"function\"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this))},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this))},C.prototype.render=S,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c=\"__d\"+f,a=\"__a\"+f,s=/(PointerCapture)$|Capture$/i,h=0,p=V(!1),v=V(!0),y=0;export{C as Component,S as Fragment,W as cloneElement,X as createContext,k as createElement,M as createRef,k as h,U as hydrate,t as isValidElement,l as options,R as render,F as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizComponent extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = new (this as any).props.type()\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizInstance extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = (this as any).props.instance\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { format as d3Format } from \"d3-format\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class StatsTable extends StyledTable {\n\n protected transformData() {\n const totalRow = [[\"Total\", 0, 0]];\n const data = this.data();\n data.forEach(row => {\n totalRow[0][1] += row[1];\n totalRow[0][2] += row[2];\n });\n return data\n .concat(totalRow)\n .map(row => {\n return [\n row[0],\n this.secondColumnFormat_exists() ? d3Format(this.secondColumnFormat())(row[1]) : row[1],\n this.thirdColumnFormat_exists() ? d3Format(this.thirdColumnFormat())(row[2]) : row[2]\n ];\n })\n ;\n }\n\n update(domNode, element) {\n this.tbodyColumnStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\"\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\"\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\"\n }\n ]);\n this.evenRowStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n }\n ]);\n this.lastRowStyles_default({\n \"font-weight\": \"bold\"\n });\n super.update(domNode, element);\n }\n}\nStatsTable.prototype._class += \" html_StatsTable\";\n\nexport interface StatsTable {\n labelColor(): string;\n labelColor(_: string): this;\n primaryValueColor(): string;\n primaryValueColor(_: string): this;\n secondaryValueColor(): string;\n secondaryValueColor(_: string): this;\n evenRowFontColor(): string;\n evenRowFontColor(_: string): this;\n evenRowBackgroundColor(): string;\n evenRowBackgroundColor(_: string): this;\n firstColumnWidth(): string;\n firstColumnWidth(_: string): this;\n secondColumnWidth(): string;\n secondColumnWidth(_: string): this;\n thirdColumnWidth(): string;\n thirdColumnWidth(_: string): this;\n secondColumnFormat(): string;\n secondColumnFormat(_: string): this;\n secondColumnFormat_exists(): boolean;\n thirdColumnFormat(): string;\n thirdColumnFormat(_: string): this;\n thirdColumnFormat_exists(): boolean;\n}\nStatsTable.prototype.publish(\"labelColor\", \"#333\", \"html-color\", \"Color of the text in the first column\");\nStatsTable.prototype.publish(\"primaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the second column\");\nStatsTable.prototype.publish(\"secondaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the third column\");\nStatsTable.prototype.publish(\"evenRowBackgroundColor\", \"#333\", \"html-color\", \"Background color of the even rows\");\nStatsTable.prototype.publish(\"evenRowFontColor\", \"#333\", \"html-color\", \"Font color of the even rows\");\nStatsTable.prototype.publish(\"firstColumnWidth\", \"auto\", \"string\", \"CSS style applied as the 'width' for the first column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the second column (ex: 40px)\");\nStatsTable.prototype.publish(\"thirdColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the third column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnFormat\", \"$,.0f\", \"string\", \"d3-format specifier applied to the second column's values\", undefined, { optional: true });\nStatsTable.prototype.publish(\"thirdColumnFormat\", null, \"string\", \"d3-format specifier applied to the third column's values\", undefined, { optional: true });\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { JSXWidget } from \"./JSXWidget.ts\";\n\nimport \"../src/TitleBar.css\";\n\nexport interface IClickHandler {\n titleBarClick(src: Item, d, idx: number, groups): void;\n}\n\nexport class Item extends HTMLWidget {\n protected _owner: IClickHandler;\n\n constructor(owner: IClickHandler) {\n super();\n this._owner = owner;\n this._tag = \"a\";\n }\n}\nItem.prototype._class += \" html_Item\";\n\nexport class Button extends Item {\n private _icon: string;\n\n constructor(owner: IClickHandler, icon: string) {\n super(owner);\n this._icon = icon;\n }\n\n icon() {\n return this._icon;\n }\n\n enter(domNode: HTMLElement, element) {\n super.enter(domNode, element);\n element\n .attr(\"href\", \"#\")\n .on(\"click\", (d, idx, groups) => this._owner.titleBarClick(this, d, idx, groups))\n .append(\"i\")\n .attr(\"class\", `fa ${this._icon} fa-lg fa-fw`)\n ;\n }\n}\nButton.prototype._class += \" html_Button\";\n\nexport class ToggleButton extends Button {\n\n enter(domNode: HTMLElement, element) {\n element.on(\"click.sel\", (d, idx, groups) => {\n this.selected(!this.selected());\n this.render();\n });\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._element.classed(\"selected\", this.selected());\n }\n}\nToggleButton.prototype._class += \" html_ToggleButton\";\nexport interface ToggleButton {\n selected(): boolean;\n selected(_: boolean): this;\n}\nToggleButton.prototype.publish(\"selected\", false, \"boolean\");\n\nexport class Spacer extends Item {\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element\n .attr(\"class\", \"spacer\")\n .attr(\"href\", \"#\")\n .append(\"i\")\n ;\n }\n}\nSpacer.prototype._class += \" html_Spacer\";\n\nexport class TitleBar extends JSXWidget {\n protected _divMain;\n protected _divIconBar;\n protected _divTitle;\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._divMain = element.append(\"div\")\n .attr(\"class\", \"main\")\n ;\n this._divIconBar = this._divMain.append(\"div\")\n .attr(\"class\", \"icon-bar\")\n ;\n this._divTitle = this._divMain.append(\"div\")\n .attr(\"class\", \"title\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._divTitle.text(this.title());\n\n const icons = this._divIconBar.selectAll(\".icon-bar-item\").data(this.buttons());\n icons.enter().append(\"div\")\n .attr(\"class\", \"icon-bar-item\")\n .each(function (this: HTMLElement, d: Item) {\n d.target(this);\n })\n .merge(icons)\n .each(function (d: Item) {\n d.render();\n })\n ;\n icons.exit()\n .each(function (d: Item) {\n d.target(null);\n })\n .remove()\n ;\n icons.order();\n }\n}\nTitleBar.prototype._class += \" html_TitleBar\";\n\nexport interface TitleBar {\n title(): string;\n title(_: string): this;\n buttons(): Item[];\n buttons(items: Item[]): this;\n}\nTitleBar.prototype.publish(\"title\", \"\", \"string\");\nTitleBar.prototype.publish(\"buttons\", [], \"widgetArray\");\n"],"x_google_ignoreList":[7,8],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.cjs","names":["u","i","f","l","r"],"sources":["../src/__package__.ts","../src/HTMLTooltip.ts","../src/SimpleTable.ts","../src/StyledTable.ts","../src/BreakdownTable.ts","../src/JSXWidget.ts","../src/reactD3.ts","../../../node_modules/preact/dist/preact.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../src/VizComponent.tsx","../src/VizInstance.tsx","../src/StatsTable.ts","../src/TitleBar.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\nimport { scopedLogger, ScopedLogging } from \"@hpcc-js/util\";\n\ntype Direction = \"n\" | \"s\" | \"e\" | \"w\" | \"ne\" | \"nw\" | \"se\" | \"sw\";\ntype Position = { x: number, y: number };\ntype DirectionalBBox = { [key in Direction]: Position; };\n\ntype Rectangle = { top: number, left: number, width: number, height: number };\nexport class HTMLTooltip extends HTMLWidget {\n\n public _triggerElement;\n public _contentNode;\n protected _prevContentNode;\n\n protected _tooltipElement;\n protected _arrowElement;\n protected _tooltipHTMLCallback = (data?) => \"<b>_tooltipHTMLCallback is undefined</b>\";\n protected _logger: ScopedLogging = scopedLogger(\"html/HTMLTooltip\");\n constructor() {\n super();\n this.visible(false);\n }\n\n tooltipHTML(_: (data?) => string): this {\n this._tooltipHTMLCallback = _;\n return this;\n }\n\n tooltipContent(_): this {\n if (!arguments.length) return this._contentNode;\n this._contentNode = _;\n return this;\n }\n\n triggerElement(_): this {\n this._triggerElement = _;\n return this;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n const body = d3Select(\"body\");\n this._tooltipElement = body.append(\"div\")\n .attr(\"class\", \"tooltip-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n this._arrowElement = body.append(\"div\")\n .attr(\"class\", \"arrow-div\")\n .style(\"z-index\", \"2147483638\")\n .style(\"position\", \"fixed\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n if (this._contentNode !== this._prevContentNode) {\n const node = this._tooltipElement.node();\n [...node.querySelectorAll(\"*\")]\n .map(n => n.__data__)\n .filter(n => n)\n .forEach(w => {\n if (typeof w.target === \"function\") {\n w.target(null);\n }\n if (typeof w.exit === \"function\") {\n w.exit();\n }\n });\n node.innerHTML = \"\";\n node.appendChild(this._contentNode);\n this._prevContentNode = this._contentNode;\n }\n\n if (this._contentNode) {\n this.onShowContent(this._contentNode);\n } else {\n this._tooltipElement\n .html(() => {\n return this._tooltipHTMLCallback(this.data());\n });\n }\n if (this.fitContent()) {\n this._tooltipElement\n .style(\"width\", \"auto\")\n .style(\"height\", \"auto\")\n .style(\"padding\", \"0px\")\n .style(\"box-sizing\", \"content-box\")\n ;\n const rect = this._tooltipElement.node().getBoundingClientRect();\n this.tooltipWidth_default(rect.width);\n this.tooltipHeight_default(rect.height);\n }\n this._closing = false;\n this._tooltipElement\n .style(\"background-color\", this.tooltipColor())\n .style(\"color\", this.fontColor())\n .style(\"width\", this.tooltipWidth() + \"px\")\n .style(\"height\", this.tooltipHeight() + \"px\")\n .style(\"opacity\", 1)\n .style(\"padding\", this.padding() + \"px\")\n .style(\"pointer-events\", this.enablePointerEvents() ? \"all\" : \"none\")\n .style(\"box-sizing\", \"content-box\")\n ;\n this._arrowElement\n .style(\"opacity\", 1)\n .style(\"pointer-events\", \"none\")\n ;\n this.updateTooltipPosition();\n }\n\n onShowContent(node) {\n\n }\n\n protected updateTooltipPosition(): Position {\n const bbox = this.calcReferenceBBox();\n const direction = this.calcTooltipDirection(bbox);\n const box = bbox[direction];\n this._tooltipElement\n .style(\"top\", box.y + \"px\")\n .style(\"left\", box.x + \"px\")\n ;\n this.setArrowPosition(box, direction);\n return box;\n }\n\n protected calcTooltipDirection(bbox: DirectionalBBox): Direction {\n const directions: Direction[] = Object.keys(bbox) as Direction[];\n\n const defaultDirection = this.direction();\n directions.sort((a, b) => a === defaultDirection ? -1 : 1);\n const windowRect = {\n top: 0,\n left: 0,\n width: window.innerWidth,\n height: window.innerHeight\n };\n for (let i = 0; i < directions.length; i++) {\n const tooltipRect = {\n top: bbox[directions[i]].y,\n left: bbox[directions[i]].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n };\n if (this.rectFits(tooltipRect, windowRect)) {\n return directions[i];\n }\n }\n this._logger.warning(`Tooltip doesn't fit in the window for any of the directions. Defaulting to '${defaultDirection}'`);\n this._logger.debug(windowRect);\n this._logger.debug({\n top: bbox[defaultDirection].y,\n left: bbox[defaultDirection].x,\n width: this.tooltipWidth(),\n height: this.tooltipHeight()\n });\n return defaultDirection;\n }\n\n protected rectFits(innerRect: Rectangle, outerRect: Rectangle): boolean {\n return (\n innerRect.top >= outerRect.top &&\n innerRect.left >= outerRect.left &&\n innerRect.width + innerRect.left <= outerRect.width + outerRect.left &&\n innerRect.height + innerRect.top <= outerRect.height + outerRect.top\n );\n }\n\n protected setArrowPosition(point: Position, direction: Direction) {\n let top;\n let left;\n let visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border\", `${this.arrowHeight()}px solid ${this.tooltipColor()}`)\n .style(\"border-top-color\", \"transparent\")\n .style(\"border-right-color\", \"transparent\")\n .style(\"border-bottom-color\", \"transparent\")\n .style(\"border-left-color\", \"transparent\")\n ;\n switch (direction) {\n case \"n\":\n top = point.y + this.tooltipHeight() + (this.padding() * 2);\n left = point.x + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2) + this.padding();\n visibleBorderStyle = \"border-top-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowHeight()}px`)\n .style(\"border-bottom-width\", \"0px\")\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"s\":\n top = point.y - this.arrowHeight();\n left = point.x + this.padding() + (this.tooltipWidth() / 2) - (this.arrowWidth() / 2);\n visibleBorderStyle = \"border-bottom-color\";\n this._arrowElement\n .style(\"border-top-width\", \"0px\")\n .style(\"border-bottom-width\", `${this.arrowHeight()}px`)\n .style(\"border-left-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-right-width\", `${this.arrowWidth() / 2}px`)\n ;\n break;\n case \"e\":\n top = point.y + (this.tooltipHeight() / 2) + this.padding() - (this.arrowWidth() / 2);\n left = point.x - this.arrowHeight();\n visibleBorderStyle = \"border-right-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", \"0px\")\n .style(\"border-right-width\", `${this.arrowHeight()}px`)\n ;\n break;\n case \"w\":\n top = point.y + (this.tooltipHeight() / 2) - (this.arrowWidth() / 2) + this.padding();\n left = point.x + this.tooltipWidth() + (this.padding() * 2);\n visibleBorderStyle = \"border-left-color\";\n this._arrowElement\n .style(\"border-top-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-bottom-width\", `${this.arrowWidth() / 2}px`)\n .style(\"border-left-width\", `${this.arrowHeight()}px`)\n .style(\"border-right-width\", \"0px\")\n ;\n break;\n }\n if (typeof top !== \"undefined\" && typeof left !== \"undefined\") {\n this._arrowElement\n .style(\"top\", top + \"px\")\n .style(\"left\", left + \"px\")\n .style(visibleBorderStyle, this.tooltipColor())\n .style(\"opacity\", 1)\n ;\n } else {\n this._arrowElement\n .style(\"opacity\", 0)\n ;\n }\n return point;\n }\n\n protected getReferenceNode() {\n if (!this._triggerElement) {\n return this.element().node().parentNode.parentNode;\n }\n return this._triggerElement.node();\n }\n public _cursorLoc;\n protected calcReferenceBBox() {\n const node = this.getReferenceNode();\n let { top, left, width, height } = node.getBoundingClientRect();\n const wholeW = this.tooltipWidth();\n const wholeH = this.tooltipHeight();\n const halfW = wholeW / 2;\n const halfH = wholeH / 2;\n const arrowH = this.arrowHeight();\n const p = this.padding();\n const p2 = p * 2;\n\n if (this.followCursor() && this._cursorLoc) {\n\n left = this._cursorLoc[0];\n top = this._cursorLoc[1];\n width = 1;\n height = 1;\n }\n const bbox = {\n n: {\n x: left + (width / 2) - halfW - p,\n y: top - wholeH - arrowH - p2\n },\n e: {\n x: left + width + arrowH,\n y: top + (height / 2) - halfH - p\n },\n s: {\n x: left + (width / 2) - halfW - p,\n y: top + height + arrowH\n },\n w: {\n x: left - wholeW - arrowH - p2,\n y: top + (height / 2) - halfH - p\n },\n nw: {\n x: left - wholeW - p2,\n y: top - wholeH - p2\n },\n ne: {\n x: left + width,\n y: top - wholeH - p2\n },\n se: {\n x: left + width,\n y: top + height\n },\n sw: {\n x: left - wholeW - p2,\n y: top + height\n }\n };\n return bbox;\n }\n\n private _closing = false;\n mouseout() {\n this._closing = true;\n this._tooltipElement.on(\"mouseover\", () => {\n this._closing = false;\n });\n this._tooltipElement.on(\"mouseout\", () => {\n this.mouseout();\n });\n setTimeout(() => {\n if (this._closing) {\n this.visible(false);\n }\n }, this.closeDelay());\n }\n\n visible(): boolean;\n visible(_: boolean): this;\n visible(_?: boolean): boolean | this {\n if (!arguments.length) return super.visible();\n if (this._arrowElement) {\n this._arrowElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n this._tooltipElement.style(\"visibility\", _ ? \"visible\" : \"hidden\");\n }\n super.visible(_);\n return this;\n }\n\n exit(domNode, element) {\n if (this._arrowElement) {\n this._arrowElement.remove();\n this._tooltipElement.remove();\n }\n super.exit(domNode, element);\n }\n}\nHTMLTooltip.prototype._class += \" html_HTMLTooltip\";\n\nexport interface HTMLTooltip {\n padding(): number;\n padding(_: number): this;\n direction(): Direction;\n direction(_: Direction): this;\n arrowHeight(): number;\n arrowHeight(_: number): this;\n arrowWidth(): number;\n arrowWidth(_: number): this;\n fontColor(): string;\n fontColor(_: string): this;\n tooltipColor(): string;\n tooltipColor(_: string): this;\n tooltipWidth(): number;\n tooltipWidth(_: number): this;\n tooltipWidth_default(_: number);\n tooltipHeight(): number;\n tooltipHeight(_: number): this;\n tooltipHeight_default(_: number);\n followCursor(): boolean;\n followCursor(_: boolean): this;\n enablePointerEvents(): boolean;\n enablePointerEvents(_: boolean): this;\n closeDelay(): number;\n closeDelay(_: number): this;\n fitContent(): boolean;\n fitContent(_: boolean): this;\n\n}\n\nHTMLTooltip.prototype.publish(\"fitContent\", false, \"boolean\", \"If true, tooltip will grow to fit its html content\");\nHTMLTooltip.prototype.publish(\"followCursor\", false, \"boolean\", \"If true, tooltip will display relative to cursor location\");\nHTMLTooltip.prototype.publish(\"closeDelay\", 400, \"number\", \"Number of milliseconds to wait before closing tooltip (cancelled on tooltip mouseover event)\");\nHTMLTooltip.prototype.publish(\"direction\", \"n\", \"set\", \"Direction in which to display the tooltip\", [\"n\", \"s\", \"e\", \"w\", \"ne\", \"nw\", \"se\", \"sw\"]);\nHTMLTooltip.prototype.publish(\"padding\", 8, \"number\", \"Padding (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowWidth\", 16, \"number\", \"Width (or height depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"arrowHeight\", 8, \"number\", \"Height (or width depending on direction) of the tooltip arrow (pixels)\");\nHTMLTooltip.prototype.publish(\"fontColor\", \"#FFF\", \"html-color\", \"The default font color for text in the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipColor\", \"#000000EE\", \"html-color\", \"Background color of the tooltip\");\nHTMLTooltip.prototype.publish(\"tooltipWidth\", 200, \"number\", \"Width of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"tooltipHeight\", 200, \"number\", \"Height of the tooltip (not including arrow) (pixels)\");\nHTMLTooltip.prototype.publish(\"enablePointerEvents\", false, \"boolean\", \"If true, the 'pointer-events: all' style will be used\");\n","import { HTMLWidget, select as d3Select } from \"@hpcc-js/common\";\n\nexport class SimpleTable extends HTMLWidget {\n protected _table;\n protected _tbody;\n protected _thead;\n protected _theadRow;\n constructor() {\n super();\n }\n\n protected transformData() {\n return this.data();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n\n this._table = element.append(\"table\");\n this._thead = this._table.append(\"thead\");\n this._theadRow = this._thead.append(\"tr\");\n this._tbody = this._table.append(\"tbody\");\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._table\n .style(\"width\", this.autoWidth() ? \"auto\" : \"100%\")\n ;\n const theadTrSelection = this._theadRow.selectAll(\"th\").data(this.columns());\n theadTrSelection.enter()\n .append(\"th\")\n .attr(\"class\", (n, i) => `th-${i}`)\n .merge(theadTrSelection)\n .text(_d => (_d).toString())\n ;\n theadTrSelection.exit().remove();\n const trSelection = this._tbody.selectAll(\"tr\").data(this.transformData());\n trSelection.enter()\n .append(\"tr\")\n .merge(trSelection)\n .each(function (this, d) {\n const tr = d3Select(this);\n const tdSelection = tr.selectAll(\"td\").data(d);\n tdSelection.enter()\n .append(\"td\")\n .attr(\"class\", (n, i) => `col-${i}`)\n .merge(tdSelection as any)\n .text(_d => (_d).toString())\n ;\n tdSelection.exit().remove();\n })\n ;\n trSelection.exit().remove();\n }\n}\nSimpleTable.prototype._class += \" html_SimpleTable\";\n\nexport interface SimpleTable {\n autoWidth(): boolean;\n autoWidth(_: boolean): this;\n}\nSimpleTable.prototype.publish(\"autoWidth\", false, \"boolean\", \"If true, table width will be set to 'auto'. If false, the width is set to '100%'\");\n","import { SimpleTable } from \"./SimpleTable.ts\";\n\nexport class StyledTable extends SimpleTable {\n constructor() {\n super();\n }\n\n protected applyStyleObject(selection, styleObject) {\n Object.keys(styleObject).forEach(styleName => {\n selection.style(styleName, styleObject[styleName]);\n });\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n element.selectAll(\"tr,th,td\")\n .attr(\"style\", \"\")\n .style(\"font-family\", this.fontFamily())\n .style(\"color\", this.fontColor())\n ;\n\n this.theadColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.select(`.th-${i}`), styleObj);\n });\n this.tbodyColumnStyles().forEach((styleObj, i) => {\n this.applyStyleObject(element.selectAll(`.col-${i}`), styleObj);\n });\n const evenRowStylesExist = Object.keys(this.evenRowStyles()).length > 0;\n const lastRowStylesExist = Object.keys(this.lastRowStyles()).length > 0;\n const tbodyRows = element.selectAll(\"tbody > tr\");\n if (evenRowStylesExist) {\n const tbodyEvenRows = tbodyRows.select(function (this: HTMLElement, d, i) { return i % 2 ? this : null; });\n this.applyStyleObject(tbodyEvenRows, this.evenRowStyles());\n }\n if (lastRowStylesExist) {\n const tbodyLastRow = tbodyRows.select(function (this: HTMLElement, d, i, arr) { return i === arr.length - 1 ? this : null; });\n this.applyStyleObject(tbodyLastRow, this.lastRowStyles());\n }\n }\n}\nStyledTable.prototype._class += \" html_StyledTable\";\n\nexport interface StyledTable {\n fontFamily(): string;\n fontFamily(_: string): this;\n fontColor(): string;\n fontColor(_: string): this;\n tbodyColumnStyles(): Array<{ [styleID: string]: any }>;\n tbodyColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n tbodyColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles(): Array<{ [styleID: string]: any }>;\n theadColumnStyles(_: Array<{ [styleID: string]: any }>): this;\n theadColumnStyles_default(_: Array<{ [styleID: string]: any }>): this;\n lastRowStyles(): { [styleID: string]: any };\n lastRowStyles(_: { [styleID: string]: any }): this;\n lastRowStyles_default(_: { [styleID: string]: any }): this;\n evenRowStyles(): { [styleID: string]: any };\n evenRowStyles(_: { [styleID: string]: any }): this;\n evenRowStyles_default(_: { [styleID: string]: any }): this;\n}\n\nStyledTable.prototype.publish(\"fontFamily\", \"Verdana\", \"string\", \"Base font-family used within the table\");\nStyledTable.prototype.publish(\"fontColor\", \"#333\", \"string\", \"Base font color used within the table\");\nStyledTable.prototype.publish(\"theadColumnStyles\", [], \"array\", 'Array of objects containing styles for the thead columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"tbodyColumnStyles\", [], \"array\", 'Array of objects containing styles for the tbody columns (ex: [{\"color\":\"red\"},{\"color\":\"blue\"}])');\nStyledTable.prototype.publish(\"lastRowStyles\", {}, \"object\", 'Object containing styles for the last row (ex: {\"color\":\"red\"})');\nStyledTable.prototype.publish(\"evenRowStyles\", {}, \"object\", 'Object containing styles for even rows (ex: {\"background-color\":\"#AAA\"})');\n","import { HTMLTooltip } from \"./HTMLTooltip.ts\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class BreakdownTable extends StyledTable {\n // protected _table;\n // protected _tbody;\n protected _tooltip: HTMLTooltip;\n constructor() {\n super();\n }\n\n protected transformData() {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n return this.breakdownData(rowCount);\n }\n\n protected breakdownData(limit: number): any[] {\n const len = this.data().length;\n const sum = this.data().reduce((acc, row) => acc + row[1], 0);\n const data = [];\n let percSum = 0;\n this.data().sort((a, b) => a[1] > b[1] ? -1 : 1);\n const hiddenRowCount = len - limit;\n const showOther = hiddenRowCount > 0;\n this.data()\n .filter((_, i) => showOther ? i < limit - 1 : true)\n .forEach(row => {\n const perc = Math.round((row[1] / sum) * 100);\n percSum += perc;\n data.push([row[0], perc + \"%\"]);\n });\n if (showOther) {\n const otherLabel = `${this.otherLabel()} (${len - limit + 1})`;\n const otherPercentage = \"~\" + (100 - percSum) + \"%\";\n data.push([otherLabel, otherPercentage]);\n }\n return data;\n }\n\n protected calculateRowCount(): number {\n const theadRowHeight = this.columns().length > 0 ? this.thFontSize() + 5 : 0;\n const tbodyRowHeight = this.fontSize() + 5;\n const tbodyAvailableHeight = this.height() - theadRowHeight;\n const rowCount = Math.floor(tbodyAvailableHeight / tbodyRowHeight);\n return rowCount;\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._tooltip = new HTMLTooltip()\n .target(domNode)\n ;\n this._tooltip\n .tooltipHTML(data => {\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n const rowHeight = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).height)) ?? this.fontSize();\n const widestLabel = Math.max(...data.map(row => this.textSize(row[0], this.fontFamily(), this.fontSize()).width));\n const widestPerc = 30;\n const colCount = 2;\n const w = colCount * (widestLabel + widestPerc) + (this._tooltip.padding() * 2);\n const h = rowHeight * Math.ceil((data.length - rowCount) / colCount) + (this._tooltip.padding() * 2);\n this._tooltip.tooltipWidth(w);\n this._tooltip.tooltipHeight(h);\n const otherData = this.breakdownData(this.data().length).slice(rowCount - 1);\n return `<div style=\"\n width: 100%;\n height: 100%;\n font-size: ${this.fontSize()}px;\n \">${otherData.map(row =>\n `<div style=\"\n float:left;\n width:${Math.floor(99 / colCount)}%;\n \">${row[0]}: ${row[1]}</div>`\n ).join(\"\")\n }</div>`;\n })\n ;\n }\n\n update(domNode, element) {\n this.theadColumnStyles_default([\n {\n \"color\": this.thFirstColor(),\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"width\": \"1%\",\n \"font-size\": this.thFontSize() + \"px\",\n \"font-weight\": this.thFontWeight(),\n \"text-align\": this.percentageAlignment(),\n \"padding\": \"0px\"\n }\n ]);\n this.tbodyColumnStyles_default([\n {\n \"color\": this.topLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.topPercentageColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n this.lastRowStyles_default([\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherLabelBold() ? \"bold\" : \"normal\",\n \"text-align\": this.labelAlignment(),\n \"width\": \"auto\",\n \"padding\": \"0px\"\n },\n {\n \"color\": this.otherLabelColor(),\n \"font-size\": this.fontSize() + \"px\",\n \"font-weight\": this.otherPercentageBold() ? \"bold\" : \"normal\",\n \"text-align\": this.percentageAlignment(),\n \"width\": \"1%\",\n \"padding\": \"0px\"\n }\n ]);\n\n super.update(domNode, element);\n\n const rowCount = this.useCalculatedRowCount() ? this.calculateRowCount() : this.rowCount();\n if (rowCount < this.data().length) {\n const lastRow = element.select(\"tbody > tr:last-child\");\n const context = this;\n lastRow\n .on(\"mouseout.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .visible(false)\n .render()\n ;\n })\n .on(\"mouseenter.tooltip\", d => {\n context._tooltip._triggerElement = lastRow;\n context._tooltip\n .direction(\"n\")\n .data(context.data())\n .visible(true)\n .render()\n ;\n })\n ;\n }\n }\n\n}\nBreakdownTable.prototype._class += \" html_BreakdownTable\";\n\nexport interface BreakdownTable {\n useCalculatedRowCount(): boolean;\n useCalculatedRowCount(_: boolean): this;\n rowCount(): number;\n rowCount(_: number): this;\n fontSize(): number;\n fontSize(_: number): this;\n thFirstColor(): string;\n thFirstColor(_: string): this;\n thLastColor(): string;\n thLastColor(_: string): this;\n thFontSize(): number;\n thFontSize(_: number): this;\n thFontWeight(): string;\n thFontWeight(_: string): this;\n labelAlignment(): \"left\" | \"center\" | \"right\";\n labelAlignment(_: \"left\" | \"center\" | \"right\"): this;\n percentageAlignment(): \"left\" | \"center\" | \"right\";\n percentageAlignment(_: \"left\" | \"center\" | \"right\"): this;\n topLabelColor(): string;\n topLabelColor(_: string): this;\n topPercentageColor(): string;\n topPercentageColor(_: string): this;\n topPercentageBold(): boolean;\n topPercentageBold(_: boolean): this;\n otherLabel(): string;\n otherLabel(_: string): this;\n otherLabelColor(): string;\n otherLabelColor(_: string): this;\n otherLabelBold(): boolean;\n otherLabelBold(_: boolean): this;\n otherPercentageColor(): string;\n otherPercentageColor(_: string): this;\n otherPercentageBold(): boolean;\n otherPercentageBold(_: boolean): this;\n}\n\nBreakdownTable.prototype.publish(\"useCalculatedRowCount\", true, \"boolean\", \"If true, rowCount will be calculated and its default will be overwritten\");\nBreakdownTable.prototype.publish(\"rowCount\", 5, \"number\", \"Number of total rows to display (including the 'other' row)\", undefined, { disable: w => w.useCalculatedRowCount() });\nBreakdownTable.prototype.publish(\"fontSize\", 14, \"number\", \"Font size (pixels)\");\nBreakdownTable.prototype.publish(\"labelAlignment\", \"left\", \"set\", \"Alignment of the label column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"percentageAlignment\", \"center\", \"set\", \"Alignment of the percentage column text\", [\"left\", \"center\", \"right\"]);\nBreakdownTable.prototype.publish(\"topLabelColor\", \"#333\", \"html-color\", \"Color of displayed 'top' labels\");\nBreakdownTable.prototype.publish(\"topPercentageColor\", \"#1A99D5\", \"html-color\", \"Color of displayed 'top' percentages\");\nBreakdownTable.prototype.publish(\"topPercentageBold\", true, \"html-color\", \"If true, the 'top' percentages will be bold\");\nBreakdownTable.prototype.publish(\"otherLabel\", \"Other\", \"string\", \"Label text for the 'other' row\");\nBreakdownTable.prototype.publish(\"otherLabelColor\", \"#AAA\", \"html-color\", \"Color of the 'other' label\");\nBreakdownTable.prototype.publish(\"otherLabelBold\", false, \"html-color\", \"If true, the 'other' label will be bold\");\nBreakdownTable.prototype.publish(\"otherPercentageColor\", \"#AAA\", \"html-color\", \"Color of the 'other' percentage\");\nBreakdownTable.prototype.publish(\"otherPercentageBold\", false, \"html-color\", \"If true, the 'other' percentage will be bold\");\nBreakdownTable.prototype.publish(\"thFontWeight\", \"bold\", \"string\", \"Font weight for th elements\");\nBreakdownTable.prototype.publish(\"thFontSize\", 26, \"number\", \"Font size for th elements\");\nBreakdownTable.prototype.publish(\"thFirstColor\", \"#333\", \"html-color\", \"Text color of the first th element\");\nBreakdownTable.prototype.publish(\"thLastColor\", \"#333\", \"html-color\", \"Text color of the last th element\");\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { React } from \"@hpcc-js/react\";\n\nexport class JSXWidget extends HTMLWidget {\n static Component = React.Component;\n static createElement = React.createElement;\n protected rootNode;\n\n jsxRender(jsx, domNode) {\n this.rootNode = React.render(jsx, domNode, this.rootNode);\n }\n}\nJSXWidget.prototype._class += \" html_JSXWidget\";\n","import { select as d3Select } from \"@hpcc-js/common\";\n\nexport type ReactFn = (attrs: { [key: string]: string }) => VNode;\n\nexport type IVNode = new (attrs: { [key: string]: string }, children: VNode[]) => VNode;\n\nexport class VNode {\n protected _attrs: { [key: string]: string };\n protected _children: VNode[];\n\n constructor(attrs: { [key: string]: string }, children: VNode[]) {\n this._attrs = attrs;\n this._children = children;\n }\n\n type(): string {\n return \"div\";\n }\n\n attrs(): { [key: string]: string } {\n return this._attrs;\n }\n\n attr(key) {\n return this._attrs[key];\n }\n\n children(): VNode[] {\n return this._children;\n }\n\n update(targetElement) {\n for (const key in this._attrs) {\n targetElement.attr(key, this._attrs[key]);\n }\n }\n\n render(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data([this]);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(this.type())\n .attr(\"reactd3\", 0)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n\n renderChildren(targetElement) {\n const thisElement = targetElement.selectAll(`${targetElement.node().tagName} > *`).data(this._children);\n thisElement.exit()\n .remove();\n return thisElement.enter().append(d => document.createElement(d.type()))\n .attr(\"reactd3\", (_d, i) => i)\n .merge(thisElement)\n .each(function (this: HTMLElement, d: VNode) {\n const element = d3Select(this);\n d.update(element);\n d.renderChildren(element);\n })\n ;\n }\n}\n\nclass ConstVNode extends VNode {\n protected _type: string;\n\n constructor(type: string, attrs: { [key: string]: string }, children: VNode[]) {\n super(attrs, children);\n this._type = type;\n }\n\n type(): string {\n return this._type;\n }\n}\n\nclass TextVNode extends VNode {\n protected _text: string;\n\n constructor(text: string) {\n super({}, []);\n this._text = text;\n }\n\n type(): string {\n return \"span\";\n }\n\n update(targetElement) {\n super.update(targetElement);\n targetElement.text(this._text);\n }\n}\n\nfunction isReactFn(_): _ is ReactFn {\n return typeof _ === \"function\";\n}\n\nfunction isIVNode(_: any): _ is IVNode {\n return _.prototype && _.prototype instanceof VNode;\n}\n\nexport class ReactD3 {\n // static createElementXXX(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n static createElement(type: string | ReactFn | IVNode, attrs: { [key: string]: string }, ...children: Array<string | VNode>): VNode {\n if (isIVNode(type)) {\n return new (type as any)(attrs);\n } else if (isReactFn(type)) {\n return type(attrs);\n }\n return new ConstVNode(type, attrs, children.map(child => {\n if (typeof child === \"string\") {\n return new TextVNode(child);\n }\n return child;\n }));\n }\n\n static render(vdom: VNode, targetElement) {\n vdom.render(targetElement);\n }\n}\n","var n,l,u,t,i,r,o,e,f,c,a,s,h,p,v,y,d={},w=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function m(n,l){for(var u in l)n[u]=l[u];return n}function b(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function k(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return x(l,e,i,r,null)}function x(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function M(){return{current:null}}function S(n){return n.children}function C(n,l){this.props=n,this.context=l}function $(n,l){if(null==l)return n.__?$(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?$(n):null}function I(n){if(n.__P&&n.__d){var u=n.__v,t=u.__e,i=[],r=[],o=m({},u);o.__v=u.__v+1,l.vnode&&l.vnode(o),q(n.__P,o,u,n.__n,n.__P.namespaceURI,32&u.__u?[t]:null,i,null==t?$(u):t,!!(32&u.__u),r),o.__v=u.__v,o.__.__k[o.__i]=o,D(i,o,r),u.__e=u.__=null,o.__e!=t&&P(o)}}function P(n){if(null!=(n=n.__)&&null!=n.__c)return n.__e=n.__c.base=null,n.__k.some(function(l){if(null!=l&&null!=l.__e)return n.__e=n.__c.base=l.__e}),P(n)}function A(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!H.__r++||r!=l.debounceRendering)&&((r=l.debounceRendering)||o)(H)}function H(){try{for(var n,l=1;i.length;)i.length>l&&i.sort(e),n=i.shift(),l=i.length,I(n)}finally{i.length=H.__r=0}}function L(n,l,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,_,g,m=t&&t.__k||w,b=l.length;for(f=T(u,l,m,f,b),s=0;s<b;s++)null!=(p=u.__k[s])&&(h=-1!=p.__i&&m[p.__i]||d,p.__i=s,_=q(n,p,h,i,r,o,e,f,c,a),v=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&J(h.ref,null,p),a.push(p.ref,p.__c||v,p)),null==y&&null!=v&&(y=v),(g=!!(4&p.__u))||h.__k===p.__k?(f=j(p,f,n,g),g&&h.__e&&(h.__e=null)):\"function\"==typeof p.type&&void 0!==_?f=_:v&&(f=v.nextSibling),p.__u&=-7);return u.__e=y,f}function T(n,l,u,t,i){var r,o,e,f,c,a=u.length,s=a,h=0;for(n.__k=new Array(i),r=0;r<i;r++)null!=(o=l[r])&&\"boolean\"!=typeof o&&\"function\"!=typeof o?(\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||o.constructor==String?o=n.__k[r]=x(null,o,null,null,null):g(o)?o=n.__k[r]=x(S,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?o=n.__k[r]=x(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):n.__k[r]=o,f=r+h,o.__=n,o.__b=n.__b+1,e=null,-1!=(c=o.__i=O(o,u,f,s))&&(s--,(e=u[c])&&(e.__u|=2)),null==e||null==e.__v?(-1==c&&(i>a?h--:i<a&&h++),\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(s)for(r=0;r<a;r++)null!=(e=u[r])&&0==(2&e.__u)&&(e.__e==t&&(t=$(e)),K(e,e));return t}function j(n,l,u,t){var i,r;if(\"function\"==typeof n.type){for(i=n.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=n,l=j(i[r],l,u,t));return l}n.__e!=l&&(t&&(l&&n.type&&!l.parentNode&&(l=$(n)),u.insertBefore(n.__e,l||null)),l=n.__e);do{l=l&&l.nextSibling}while(null!=l&&8==l.nodeType);return l}function F(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(g(n)?n.some(function(n){F(n,l)}):l.push(n)),l}function O(n,l,u,t){var i,r,o,e=n.key,f=n.type,c=l[u],a=null!=c&&0==(2&c.__u);if(null===c&&null==e||a&&e==c.key&&f==c.type)return u;if(t>(a?1:0))for(i=u-1,r=u+1;i>=0||r<l.length;)if(null!=(c=l[o=i>=0?i--:r++])&&0==(2&c.__u)&&e==c.key&&f==c.type)return o;return-1}function z(n,l,u){\"-\"==l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||_.test(l)?u:u+\"px\"}function N(n,l,u,t,i){var r,o;n:if(\"style\"==l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof t&&(n.style.cssText=t=\"\"),t)for(l in t)u&&l in u||z(n.style,l,\"\");if(u)for(l in u)t&&u[l]==t[l]||z(n.style,l,u[l])}else if(\"o\"==l[0]&&\"n\"==l[1])r=l!=(l=l.replace(s,\"$1\")),o=l.toLowerCase(),l=o in n||\"onFocusOut\"==l||\"onFocusIn\"==l?o.slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?t?u[a]=t[a]:(u[a]=h,n.addEventListener(l,r?v:p,r)):n.removeEventListener(l,r?v:p,r);else{if(\"http://www.w3.org/2000/svg\"==i)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!=l&&\"height\"!=l&&\"href\"!=l&&\"list\"!=l&&\"form\"!=l&&\"tabIndex\"!=l&&\"download\"!=l&&\"rowSpan\"!=l&&\"colSpan\"!=l&&\"role\"!=l&&\"popover\"!=l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!=l[4]?n.removeAttribute(l):n.setAttribute(l,\"popover\"==l&&1==u?\"\":u))}}function V(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u[c])u[c]=h++;else if(u[c]<t[a])return;return t(l.event?l.event(u):u)}}}function q(n,u,t,i,r,o,e,f,c,a){var s,h,p,v,y,d,_,k,x,M,$,I,P,A,H,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),o=[f=u.__e=t.__e]),(s=l.__b)&&s(u);n:if(\"function\"==typeof T)try{if(k=u.props,x=T.prototype&&T.prototype.render,M=(s=T.contextType)&&i[s.__c],$=s?M?M.props.value:s.__:i,t.__c?_=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(k,$):(u.__c=h=new C(k,$),h.constructor=T,h.render=Q),M&&M.sub(h),h.state||(h.state={}),h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=m({},h.__s)),m(h.__s,T.getDerivedStateFromProps(k,h.__s))),v=h.props,y=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(x&&null==T.getDerivedStateFromProps&&k!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(k,$),u.__v==t.__v||!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(k,h.__s,$)){u.__v!=t.__v&&(h.props=k,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.some(function(n){n&&(n.__=u)}),w.push.apply(h.__h,h._sb),h._sb=[],h.__h.length&&e.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(k,h.__s,$),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,y,d)})}if(h.context=$,h.props=k,h.__P=n,h.__e=!1,I=l.__r,P=0,x)h.state=h.__s,h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),w.push.apply(h.__h,h._sb),h._sb=[];else do{h.__d=!1,I&&I(u),s=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++P<25);h.state=h.__s,null!=h.getChildContext&&(i=m(m({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(d=h.getSnapshotBeforeUpdate(v,y)),A=null!=s&&s.type===S&&null==s.key?E(s.props.children):s,f=L(n,g(A)?A:[A],u,t,i,r,o,e,f,c,a),h.base=u.__e,u.__u&=-161,h.__h.length&&e.push(h),_&&(h.__E=h.__=null)}catch(n){if(u.__v=null,c||null!=o)if(n.then){for(u.__u|=c?160:128;f&&8==f.nodeType&&f.nextSibling;)f=f.nextSibling;o[o.indexOf(f)]=null,u.__e=f}else{for(H=o.length;H--;)b(o[H]);B(u)}else u.__e=t.__e,u.__k=t.__k,n.then||B(u);l.__e(n,u,t)}else null==o&&u.__v==t.__v?(u.__k=t.__k,u.__e=t.__e):f=u.__e=G(t.__e,u,t,i,r,o,e,c,a);return(s=l.diffed)&&s(u),128&u.__u?void 0:f}function B(n){n&&(n.__c&&(n.__c.__e=!0),n.__k&&n.__k.some(B))}function D(n,u,t){for(var i=0;i<t.length;i++)J(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function E(n){return\"object\"!=typeof n||null==n||n.__b>0?n:g(n)?n.map(E):void 0!==n.constructor?null:m({},n)}function G(u,t,i,r,o,e,f,c,a){var s,h,p,v,y,w,_,m=i.props||d,k=t.props,x=t.type;if(\"svg\"==x?o=\"http://www.w3.org/2000/svg\":\"math\"==x?o=\"http://www.w3.org/1998/Math/MathML\":o||(o=\"http://www.w3.org/1999/xhtml\"),null!=e)for(s=0;s<e.length;s++)if((y=e[s])&&\"setAttribute\"in y==!!x&&(x?y.localName==x:3==y.nodeType)){u=y,e[s]=null;break}if(null==u){if(null==x)return document.createTextNode(k);u=document.createElementNS(o,x,k.is&&k),c&&(l.__m&&l.__m(t,e),c=!1),e=null}if(null==x)m===k||c&&u.data==k||(u.data=k);else{if(e=\"textarea\"==x&&null!=k.defaultValue?null:e&&n.call(u.childNodes),!c&&null!=e)for(m={},s=0;s<u.attributes.length;s++)m[(y=u.attributes[s]).name]=y.value;for(s in m)y=m[s],\"dangerouslySetInnerHTML\"==s?p=y:\"children\"==s||s in k||\"value\"==s&&\"defaultValue\"in k||\"checked\"==s&&\"defaultChecked\"in k||N(u,s,null,y,o);for(s in k)y=k[s],\"children\"==s?v=y:\"dangerouslySetInnerHTML\"==s?h=y:\"value\"==s?w=y:\"checked\"==s?_=y:c&&\"function\"!=typeof y||m[s]===y||N(u,s,y,m[s],o);if(h)c||p&&(h.__html==p.__html||h.__html==u.innerHTML)||(u.innerHTML=h.__html),t.__k=[];else if(p&&(u.innerHTML=\"\"),L(\"template\"==t.type?u.content:u,g(v)?v:[v],t,i,r,\"foreignObject\"==x?\"http://www.w3.org/1999/xhtml\":o,e,f,e?e[0]:i.__k&&$(i,0),c,a),null!=e)for(s=e.length;s--;)b(e[s]);c&&\"textarea\"!=x||(s=\"value\",\"progress\"==x&&null==w?u.removeAttribute(\"value\"):null!=w&&(w!==u[s]||\"progress\"==x&&!w||\"option\"==x&&w!=m[s])&&N(u,s,w,m[s],o),s=\"checked\",null!=_&&_!=u[s]&&N(u,s,_,m[s],o))}return u}function J(n,u,t){try{if(\"function\"==typeof n){var i=\"function\"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u))}else n.current=u}catch(n){l.__e(n,t)}}function K(n,u,t){var i,r;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!=n.__e||J(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){l.__e(n,u)}i.base=i.__P=null}if(i=n.__k)for(r=0;r<i.length;r++)i[r]&&K(i[r],u,t||\"function\"!=typeof n.type);t||b(n.__e),n.__c=n.__=n.__e=void 0}function Q(n,l,u){return this.constructor(n,u)}function R(u,t,i){var r,o,e,f;t==document&&(t=document.documentElement),l.__&&l.__(u,t),o=(r=\"function\"==typeof i)?null:i&&i.__k||t.__k,e=[],f=[],q(t,u=(!r&&i||t).__k=k(S,null,[u]),o||d,d,t.namespaceURI,!r&&i?[i]:o?null:t.firstChild?n.call(t.childNodes):null,e,!r&&i?i:o?o.__e:t.firstChild,r,f),D(e,u,f)}function U(n,l){R(n,l,U)}function W(l,u,t){var i,r,o,e,f=m({},l.props);for(o in l.type&&l.type.defaultProps&&(e=l.type.defaultProps),u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:f[o]=void 0===u[o]&&null!=e?e[o]:u[o];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),x(l.type,f,i||l.key,r||l.ref,null)}function X(n){function l(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l.__c]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!=n.value&&u.forEach(function(n){n.__e=!0,A(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}return l.__c=\"__cC\"+y++,l.__=n,l.Provider=l.__l=(l.Consumer=function(n,l){return n.children(l)}).contextType=l,l}n=w.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},C.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=m({},this.state),\"function\"==typeof n&&(n=n(m({},u),this.props)),n&&m(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),A(this))},C.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),A(this))},C.prototype.render=S,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},H.__r=0,f=Math.random().toString(8),c=\"__d\"+f,a=\"__a\"+f,s=/(PointerCapture)$|Capture$/i,h=0,p=V(!1),v=V(!0),y=0;export{C as Component,S as Fragment,W as cloneElement,X as createContext,k as createElement,M as createRef,k as h,U as hydrate,t as isValidElement,l as options,R as render,F as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(t=function(r){return null!==r&&\"object\"==typeof r&&\"function\"==typeof r.valueOf?r.valueOf():r}(t),\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),s=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(s=\"px;\"),i=i+l+\":\"+a+s}}return e+'=\"'+n(i)+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(\"\"+t)+'\"'}function s(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=s(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,s as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizComponent extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = new (this as any).props.type()\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { JSXWidget } from \"./JSXWidget.ts\";\n\nexport class VizInstance extends JSXWidget.Component<any, any> {\n widget;\n\n refreshProps() {\n for (const key in (this as any).props) {\n if (this.widget[key] && typeof this.widget[key] === \"function\") {\n this.widget[key]((this as any).props[key]);\n }\n }\n }\n\n componentDidMount() {\n this.widget = (this as any).props.instance\n .target((this as any).base)\n ;\n this.refreshProps();\n this.widget\n .render()\n ;\n }\n\n componentWillUnmount() {\n this.widget\n .target(null)\n .render()\n ;\n }\n\n render() {\n return <div style={(this as any).props.style} />;\n }\n\n componentDidUpdate() {\n this.refreshProps();\n this.widget.render();\n }\n}\n","import { format as d3Format } from \"d3-format\";\nimport { StyledTable } from \"./StyledTable.ts\";\n\nexport class StatsTable extends StyledTable {\n\n protected transformData() {\n const totalRow = [[\"Total\", 0, 0]];\n const data = this.data();\n data.forEach(row => {\n totalRow[0][1] += row[1];\n totalRow[0][2] += row[2];\n });\n return data\n .concat(totalRow)\n .map(row => {\n return [\n row[0],\n this.secondColumnFormat_exists() ? d3Format(this.secondColumnFormat())(row[1]) : row[1],\n this.thirdColumnFormat_exists() ? d3Format(this.thirdColumnFormat())(row[2]) : row[2]\n ];\n })\n ;\n }\n\n update(domNode, element) {\n this.tbodyColumnStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\"\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\"\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\"\n }\n ]);\n this.evenRowStyles_default([\n {\n \"font-weight\": \"bold\",\n \"width\": this.firstColumnWidth(),\n \"text-align\": \"left\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.secondColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n },\n {\n \"width\": this.thirdColumnWidth(),\n \"text-align\": \"right\",\n \"font-color\": this.evenRowFontColor(),\n \"background-color\": this.evenRowBackgroundColor()\n }\n ]);\n this.lastRowStyles_default({\n \"font-weight\": \"bold\"\n });\n super.update(domNode, element);\n }\n}\nStatsTable.prototype._class += \" html_StatsTable\";\n\nexport interface StatsTable {\n labelColor(): string;\n labelColor(_: string): this;\n primaryValueColor(): string;\n primaryValueColor(_: string): this;\n secondaryValueColor(): string;\n secondaryValueColor(_: string): this;\n evenRowFontColor(): string;\n evenRowFontColor(_: string): this;\n evenRowBackgroundColor(): string;\n evenRowBackgroundColor(_: string): this;\n firstColumnWidth(): string;\n firstColumnWidth(_: string): this;\n secondColumnWidth(): string;\n secondColumnWidth(_: string): this;\n thirdColumnWidth(): string;\n thirdColumnWidth(_: string): this;\n secondColumnFormat(): string;\n secondColumnFormat(_: string): this;\n secondColumnFormat_exists(): boolean;\n thirdColumnFormat(): string;\n thirdColumnFormat(_: string): this;\n thirdColumnFormat_exists(): boolean;\n}\nStatsTable.prototype.publish(\"labelColor\", \"#333\", \"html-color\", \"Color of the text in the first column\");\nStatsTable.prototype.publish(\"primaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the second column\");\nStatsTable.prototype.publish(\"secondaryValueColor\", \"#333\", \"html-color\", \"Color of the text in the third column\");\nStatsTable.prototype.publish(\"evenRowBackgroundColor\", \"#333\", \"html-color\", \"Background color of the even rows\");\nStatsTable.prototype.publish(\"evenRowFontColor\", \"#333\", \"html-color\", \"Font color of the even rows\");\nStatsTable.prototype.publish(\"firstColumnWidth\", \"auto\", \"string\", \"CSS style applied as the 'width' for the first column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the second column (ex: 40px)\");\nStatsTable.prototype.publish(\"thirdColumnWidth\", \"1%\", \"string\", \"CSS style applied as the 'width' for the third column (ex: 40px)\");\nStatsTable.prototype.publish(\"secondColumnFormat\", \"$,.0f\", \"string\", \"d3-format specifier applied to the second column's values\", undefined, { optional: true });\nStatsTable.prototype.publish(\"thirdColumnFormat\", null, \"string\", \"d3-format specifier applied to the third column's values\", undefined, { optional: true });\n","import { HTMLWidget } from \"@hpcc-js/common\";\nimport { JSXWidget } from \"./JSXWidget.ts\";\n\nimport \"../src/TitleBar.css\";\n\nexport interface IClickHandler {\n titleBarClick(src: Item, d, idx: number, groups): void;\n}\n\nexport class Item extends HTMLWidget {\n protected _owner: IClickHandler;\n\n constructor(owner: IClickHandler) {\n super();\n this._owner = owner;\n this._tag = \"a\";\n }\n}\nItem.prototype._class += \" html_Item\";\n\nexport class Button extends Item {\n private _icon: string;\n\n constructor(owner: IClickHandler, icon: string) {\n super(owner);\n this._icon = icon;\n }\n\n icon() {\n return this._icon;\n }\n\n enter(domNode: HTMLElement, element) {\n super.enter(domNode, element);\n element\n .attr(\"href\", \"#\")\n .on(\"click\", (d, idx, groups) => this._owner.titleBarClick(this, d, idx, groups))\n .append(\"i\")\n .attr(\"class\", `fa ${this._icon} fa-lg fa-fw`)\n ;\n }\n}\nButton.prototype._class += \" html_Button\";\n\nexport class ToggleButton extends Button {\n\n enter(domNode: HTMLElement, element) {\n element.on(\"click.sel\", (d, idx, groups) => {\n this.selected(!this.selected());\n this.render();\n });\n super.enter(domNode, element);\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n this._element.classed(\"selected\", this.selected());\n }\n}\nToggleButton.prototype._class += \" html_ToggleButton\";\nexport interface ToggleButton {\n selected(): boolean;\n selected(_: boolean): this;\n}\nToggleButton.prototype.publish(\"selected\", false, \"boolean\");\n\nexport class Spacer extends Item {\n\n enter(domNode, element) {\n super.enter(domNode, element);\n element\n .attr(\"class\", \"spacer\")\n .attr(\"href\", \"#\")\n .append(\"i\")\n ;\n }\n}\nSpacer.prototype._class += \" html_Spacer\";\n\nexport class TitleBar extends JSXWidget {\n protected _divMain;\n protected _divIconBar;\n protected _divTitle;\n\n constructor() {\n super();\n }\n\n enter(domNode, element) {\n super.enter(domNode, element);\n this._divMain = element.append(\"div\")\n .attr(\"class\", \"main\")\n ;\n this._divIconBar = this._divMain.append(\"div\")\n .attr(\"class\", \"icon-bar\")\n ;\n this._divTitle = this._divMain.append(\"div\")\n .attr(\"class\", \"title\")\n ;\n }\n\n update(domNode, element) {\n super.update(domNode, element);\n\n this._divTitle.text(this.title());\n\n const icons = this._divIconBar.selectAll(\".icon-bar-item\").data(this.buttons());\n icons.enter().append(\"div\")\n .attr(\"class\", \"icon-bar-item\")\n .each(function (this: HTMLElement, d: Item) {\n d.target(this);\n })\n .merge(icons)\n .each(function (d: Item) {\n d.render();\n })\n ;\n icons.exit()\n .each(function (d: Item) {\n d.target(null);\n })\n .remove()\n ;\n icons.order();\n }\n}\nTitleBar.prototype._class += \" html_TitleBar\";\n\nexport interface TitleBar {\n title(): string;\n title(_: string): this;\n buttons(): Item[];\n buttons(items: Item[]): this;\n}\nTitleBar.prototype.publish(\"title\", \"\", \"string\");\nTitleBar.prototype.publish(\"buttons\", [], \"widgetArray\");\n"],"x_google_ignoreList":[7,8],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/html",
3
- "version": "3.3.20",
3
+ "version": "3.4.1",
4
4
  "description": "hpcc-js - Viz HTML",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.cjs",
@@ -21,11 +21,11 @@
21
21
  "types/*"
22
22
  ],
23
23
  "scripts": {
24
- "clean": "rimraf --glob lib* types dist *.tsbuildinfo .turbo",
24
+ "clean": "rimraf --glob lib* types types-3.4 dist *.tsbuildinfo .turbo",
25
25
  "bundle": "vite build",
26
26
  "bundle-watch": "vite build --watch",
27
27
  "bundle-serve": "vite --port 5510",
28
- "gen-types": "tsc --project tsconfig.json",
28
+ "gen-types": "tsgo --project tsconfig.json",
29
29
  "gen-types-watch": "npm run gen-types -- --watch",
30
30
  "build": "run-p gen-types bundle",
31
31
  "watch": "run-p gen-types-watch bundle-watch",
@@ -39,12 +39,12 @@
39
39
  "update-major": "npx --yes npm-check-updates -u"
40
40
  },
41
41
  "dependencies": {
42
- "@hpcc-js/common": "^3.7.10",
43
- "@hpcc-js/react": "^3.4.20",
44
- "@hpcc-js/util": "^3.5.9"
42
+ "@hpcc-js/common": "^3.8.1",
43
+ "@hpcc-js/react": "^3.5.1",
44
+ "@hpcc-js/util": "^3.6.1"
45
45
  },
46
46
  "devDependencies": {
47
- "@hpcc-js/esbuild-plugins": "^1.8.11",
47
+ "@hpcc-js/esbuild-plugins": "^1.9.1",
48
48
  "d3-format": "^1",
49
49
  "d3-selection": "^1"
50
50
  },
@@ -59,5 +59,5 @@
59
59
  "url": "https://github.com/hpcc-systems/Visualization/issues"
60
60
  },
61
61
  "homepage": "https://github.com/hpcc-systems/Visualization",
62
- "gitHead": "1c0e8862859769465f70f384183f1399191d76e6"
62
+ "gitHead": "0cfcae9b4ccbd0b3c9f21381f4581bf121392585"
63
63
  }