@hpcc-js/api 3.4.18 → 3.4.20

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
@@ -1,3 +1,345 @@
1
- var t=Object.defineProperty,o=(o,e)=>t(o,"name",{value:e,configurable:!0});import{Palette as e,hsl as l,Widget as i,selection as n,map as r,select as p,format as s}from"@hpcc-js/common";const a="@hpcc-js/api",u="3.4.18",c="3.23.0";function f(){}function h(){}function y(){}function d(){}function b(t){return"function"==typeof t.highlightColumn}function m(){}function g(){}function v(){let t=h,e=y,l=d,i=I(document.body),s=E(),a=null,u=null,c=null;const f=/* @__PURE__ */o(function(t){if(a=T(t),!a)return;u=a.createSVGPoint();const o=i();o&&s&&o.appendChild(s)},"tip2");function h(){return"n"}function y(){return[0,0]}function d(){return" "}f.show=function(t,o,n){c=n[o];const r=Array.prototype.slice.call(arguments),p=l.apply(this,r);if(null===p)return f;const s=e.apply(this,r),a=V();let u,h=m.length;const y=i().getBoundingClientRect();for(a.html(p).style("opacity",1).style("pointer-events","all");h--;)a.classed(m[h],!1);let d=!1;const g={};let v=m[0];for(let e=0;e<m.length&&(d=C(m[e]),!d);e++);if(d)a.classed("notick",!1);else{a.classed("notick",!0);const t=w(g[v]),o=x(g[v]);C(v,t,o)}return f;function x(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}function w(t){return t.top>t.bottom?t.top>0?-t.top:0:t.bottom}function C(t,o,e){o=o||0,e=e||0,a.style("white-space","nowrap"),u=b.get(t).apply(this),a.classed(t,!0).style("top",u.top+s[0]-o+"px").style("left",u.left+s[1]-e+"px");const l=a.node().getBoundingClientRect(),i=l.top>y.top&&l.left>y.left&&l.bottom<y.bottom&&l.right<y.right;return g[t]={top:y.top-l.top,right:l.right-y.right,bottom:l.bottom-y.bottom,left:y.left-l.left},a.style("white-space","normal"),g[t].total_overflow=Object.keys(g[t]).filter(o=>g[t][o]>0).reduce((o,e)=>o+g[t][e],0),g[v].total_overflow>g[t].total_overflow&&(v=t),i||a.classed(t,!1),i}},f.hide=function(){return V().style("opacity",0).style("pointer-events","none"),f},f.attr=function(t,o){if(arguments.length<2&&"string"==typeof t)return V().attr(t);const e=Array.prototype.slice.call(arguments);return n.prototype.attr.apply(V(),e),f},f.style=function(t,o){if(arguments.length<2&&"string"==typeof t)return V().style(t);const e=Array.prototype.slice.call(arguments);return n.prototype.style.apply(V(),e),f},f.direction=function(o){return arguments.length?(t=null==o?o:I(o),f):t},f.offset=function(t){return arguments.length?(e=null==t?t:I(t),f):e},f.html=function(t){return arguments.length?(l=null==t?t:I(t),f):l},f.rootElement=function(t){return arguments.length?(i=I(t),f):i},f.destroy=function(){return s&&(V().remove(),s=null),f},o(h,"d3TipDirection"),o(y,"d3TipOffset"),o(d,"d3TipHTML");const b=r({n:g,s:v,e:x,w:w,nw:C,ne:_,sw:k,se:F}),m=b.keys();function g(){const t=S(window);return{top:t.n.y-s.offsetHeight,left:t.n.x-s.offsetWidth/2}}function v(){const t=S(window);return{top:t.s.y+8,left:t.s.x-s.offsetWidth/2}}function x(){const t=S(window);return{top:t.e.y-s.offsetHeight/2,left:t.e.x+8}}function w(){const t=S(window);return{top:t.w.y-s.offsetHeight/2,left:t.w.x-s.offsetWidth-8}}function C(){const t=S(window);return{top:t.nw.y-s.offsetHeight,left:t.nw.x-s.offsetWidth}}function _(){const t=S(window);return{top:t.ne.y-s.offsetHeight,left:t.ne.x}}function k(){const t=S(window);return{top:t.sw.y,left:t.sw.x-s.offsetWidth}}function F(){const t=S(window);return{top:t.se.y,left:t.se.x}}function E(){const t=p(document.createElement("div"));return t.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function T(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}function V(){return null==s&&(s=E(),i().appendChild(s)),p(s)}function S(t){let o=c||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),i=o.getBBox(),n=i.width,r=i.height,p=i.x,s=i.y;return u.x=p,u.y=s,e.nw=u.matrixTransform(l),u.x+=n,e.ne=u.matrixTransform(l),u.y+=r,e.se=u.matrixTransform(l),u.x-=n,e.sw=u.matrixTransform(l),u.y-=r/2,e.w=u.matrixTransform(l),u.x+=n,e.e=u.matrixTransform(l),u.x-=n/2,u.y-=r/2,e.n=u.matrixTransform(l),u.y+=r,e.s=u.matrixTransform(l),e}function I(t){return"function"==typeof t?t:function(){return t}}return o(g,"directionNorth"),o(v,"directionSouth"),o(x,"directionEast"),o(w,"directionWest"),o(C,"directionNorthWest"),o(_,"directionNorthEast"),o(k,"directionSouthWest"),o(F,"directionSouthEast"),o(E,"initNode"),o(T,"getSVGNode"),o(V,"getNodeEl"),o(S,"getScreenBBox"),o(I,"functor"),f}function x(){if(this.tooltip=v(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=s(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=s(this.tooltipValueFormat())),this.layerEnter){const t=this.layerEnter;this.layerEnter=function(o,e,l){this._parentOverlay||(this._parentOverlay=o._parentOverlay),this.tooltipEnter(e),t.apply(this,arguments)};const o=this.layerUpdate;this.layerUpdate=function(t){o.apply(this,arguments),this.tooltipUpdate()};const e=this.layerExit;this.layerExit=function(t){this.tooltipExit(),e.apply(this,arguments)}}else{const t=this.enter;this.enter=function(o,e){this.tooltipEnter(e),t.apply(this,arguments)};const o=this.update;this.update=function(t,e){o.apply(this,arguments),this.tooltipUpdate()};const e=this.exit;this.exit=function(t,o){this.tooltipExit(),e.apply(this,arguments)}}}o(f,"I1DChart"),f.prototype._dataFamily="1D",f.prototype._palette=e.rainbow("default"),f.prototype.click=function(t,o,e){},f.prototype.dblclick=function(t,o,e){},o(h,"I2DChart"),h.prototype._dataFamily="2D",h.prototype._palette=e.ordinal("default"),h.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},h.prototype.strokeColor=function(t,o,e,i){return l(this.fillColor(t,o,e,i)).darker().toString()},h.prototype.textColor=function(t,o,l,i){return e.textColor(this.fillColor(t,o,l,i))},h.prototype.click=function(t,o,e){},h.prototype.dblclick=function(t,o,e){},o(y,"I2DAggrChart"),y.prototype._palette=e.rainbow("default"),y.prototype.fillColor=function(t,o,e){return this._palette(t.length)},y.prototype.strokeColor=function(t,o,e){return l(this.fillColor(t,o,e)).darker().toString()},y.prototype.textColor=function(t,o,l){return e.textColor(this.fillColor(t,o,l))},y.prototype.click=function(t,o,e){},y.prototype.dblclick=function(t,o,e){},o(d,"IGraph"),d.prototype._dataFamily="graph",d.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},d.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},d.prototype.edge_click=function(t,o,e,l){l&&l.edge},d.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},o(b,"instanceOfIHighlight"),o(m,"IInput"),m.prototype=Object.create(i.prototype),m.prototype.constructor=m,m.prototype.isValid=function(){if(this.validate()){if(!new RegExp(this.validate()).test(this.value()))return!1}return!0},m.prototype.hasValue=function(){if("function"==typeof this.type){switch(this.type()){case"radio":case"checkbox":if(this.value()&&"false"!==this.value())return!0;break;default:if(this.value())return!0}return!1}return""!==this.value()},m.prototype.blur=function(t){},m.prototype.keyup=function(t){},m.prototype.focus=function(t){},m.prototype.click=function(t){},m.prototype.dblclick=function(t){},m.prototype.change=function(t,o){},m.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},m.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},m.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},m.prototype.publish("name","","string","HTML name for the input"),m.prototype.publish("label","","string","Descriptive label"),m.prototype.publish("value","","string","Input Current Value"),m.prototype.publish("validate",null,"string","Input Validation"),o(g,"INDChart"),g.prototype._dataFamily="ND",g.prototype._palette=e.ordinal("default"),g.prototype.fillColor=function(t,o,e,l){return this._palette(o)},g.prototype.strokeColor=function(t,o,e,i){return l(this.fillColor(t,o,e,i)).darker().toString()},g.prototype.textColor=function(t,o,l,i){return e.textColor(this.fillColor(t,o,l,i))},g.prototype.click=function(t,o,e){},g.prototype.dblclick=function(t,o,e){},o(v,"tip"),o(x,"ITooltip"),x.prototype=Object.create(i.prototype),x.prototype.constructor=x,x.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},x.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const t=document.querySelector(".d3-tip");return t.style.display="block",t.style.left=this.tooltipOffset()+event.clientX+"px",t.style.top=event.clientY+"px",[]}return"e"===this.tooltip.direction()()?[0,this.tooltipOffset()]:[-this.tooltipOffset(),0]});let t=this.tooltip.attr("class");t&&(t=t.split(" notick").join("")+(this.tooltipTick()?"":" notick")+("none"===this.tooltipStyle()?" hidden":""),t=t.split(" ").filter(function(t){return 0!==t.indexOf("ITooltip-tooltipStyle-")}).join(" "),t+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",t))},x.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},x.prototype._tooltipHTML=function(t){return t},x.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},x.prototype.tooltipFormat=function(t={}){switch(t.label=void 0===t.label?"":t.label,this._labelFormatter?t.label=this._labelFormatter(t.label)||"":this.formatData&&this.parseData&&(t.label=this.formatData(this.parseData(t.label))),t.series=t.series||"",t.value instanceof Date?t.value=t.value||"":this._valueFormatter?t.value=this._valueFormatter(t.value)||"":this.formatValue&&this.parseValue&&(t.value=this.formatValue(this.parseValue(t.value))),this.tooltipStyle()){case"none":break;case"series-table":let o='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+t.label+"</th></tr></thead><tbody>";return t.arr.forEach(function(t){o+="<tr>",o+="<td>",o+='<div class="series-table-row-color" style="background-color:'+t.color+'"></div>',o+='<div class="series-table-row-label">'+t.label+"</div>",o+="</td>",o+='<td><div class="series-table-row-value">'+t.value+"</div></td>",o+="</tr>"}),o+="</tbody>",o+="</table>",o;default:return t.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+t.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":""!==t.label?"<span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>"}},x.prototype.tooltipKeyValueFormat=function(t,o){let e="";for(const l in o)if(l!==t){const t=o&&o[l]?o[l]:"";e+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${l}</td><td style="font-weight:normal">${t}</td></tr>`}return`<table>\n <thead>\n <tr><th colspan="2" style="font-weight:bold;font-size:16px">${o[t]}</th></tr>\n </thead>\n <tbody>\n ${e}\n </tbody>\n </table>`},x.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),x.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),x.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),x.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),x.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),x.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),x.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),x.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),x.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});const w=x.prototype.tooltipLabelFormat;x.prototype.tooltipLabelFormat=function(t){const o=w.apply(this,arguments);return arguments.length&&(this._labelFormatter=s(t)),o};const C=x.prototype.tooltipValueFormat;function _(){}x.prototype.tooltipValueFormat=function(t){const o=C.apply(this,arguments);return arguments.length&&(this._valueFormatter=s(t)),o},o(_,"ITree"),_.prototype.constructor=_,_.prototype.click=function(t,o,e){},_.prototype.dblclick=function(t,o,e){},_.prototype._palette=e.ordinal("default");export{c as BUILD_VERSION,f as I1DChart,y as I2DAggrChart,h as I2DChart,d as IGraph,m as IInput,g as INDChart,x as ITooltip,_ as ITree,a as PKG_NAME,u as PKG_VERSION,b as instanceOfIHighlight};
1
+ import { Palette as e, Widget as t, format as n, hsl as r, map as i, select as a, selection as o } from "@hpcc-js/common";
2
+ //#region \0rolldown/runtime.js
3
+ var s = "@hpcc-js/api", c = "3.4.20", l = "3.25.1";
4
+ //#endregion
5
+ //#region src/I1DChart.ts
6
+ function I1DChart() {}
7
+ I1DChart.prototype._dataFamily = "1D", I1DChart.prototype._palette = e.rainbow("default"), I1DChart.prototype.click = function(e, t, n) {}, I1DChart.prototype.dblclick = function(e, t, n) {};
8
+ //#endregion
9
+ //#region src/I2DChart.ts
10
+ function I2DChart() {}
11
+ I2DChart.prototype._dataFamily = "2D", I2DChart.prototype._palette = e.ordinal("default"), I2DChart.prototype.fillColor = function(e, t, n, r) {
12
+ return this._palette(e[0]);
13
+ }, I2DChart.prototype.strokeColor = function(e, t, n, i) {
14
+ return r(this.fillColor(e, t, n, i)).darker().toString();
15
+ }, I2DChart.prototype.textColor = function(t, n, r, i) {
16
+ return e.textColor(this.fillColor(t, n, r, i));
17
+ }, I2DChart.prototype.click = function(e, t, n) {}, I2DChart.prototype.dblclick = function(e, t, n) {};
18
+ //#endregion
19
+ //#region src/I2DAggrChart.ts
20
+ function I2DAggrChart() {}
21
+ I2DAggrChart.prototype._palette = e.rainbow("default"), I2DAggrChart.prototype.fillColor = function(e, t, n) {
22
+ return this._palette(e.length);
23
+ }, I2DAggrChart.prototype.strokeColor = function(e, t, n) {
24
+ return r(this.fillColor(e, t, n)).darker().toString();
25
+ }, I2DAggrChart.prototype.textColor = function(t, n, r) {
26
+ return e.textColor(this.fillColor(t, n, r));
27
+ }, I2DAggrChart.prototype.click = function(e, t, n) {}, I2DAggrChart.prototype.dblclick = function(e, t, n) {};
28
+ //#endregion
29
+ //#region src/IGraph.ts
30
+ function IGraph() {}
31
+ IGraph.prototype._dataFamily = "graph", IGraph.prototype.vertex_click = function(e, t, n, r) {
32
+ r && r.vertex;
33
+ }, IGraph.prototype.vertex_dblclick = function(e, t, n, r) {
34
+ r && r.vertex;
35
+ }, IGraph.prototype.edge_click = function(e, t, n, r) {
36
+ r && r.edge;
37
+ }, IGraph.prototype.edge_dblclick = function(e, t, n, r) {
38
+ r && r.edge;
39
+ };
40
+ //#endregion
41
+ //#region src/IHighlight.ts
42
+ function instanceOfIHighlight(e) {
43
+ return typeof e.highlightColumn == "function";
44
+ }
45
+ //#endregion
46
+ //#region src/IInput.ts
47
+ function IInput() {}
48
+ IInput.prototype = Object.create(t.prototype), IInput.prototype.constructor = IInput, IInput.prototype.isValid = function() {
49
+ return !(this.validate() && !new RegExp(this.validate()).test(this.value()));
50
+ }, IInput.prototype.hasValue = function() {
51
+ if (typeof this.type == "function") {
52
+ switch (this.type()) {
53
+ case "radio":
54
+ case "checkbox":
55
+ if (this.value() && this.value() !== "false") return !0;
56
+ break;
57
+ default:
58
+ if (this.value()) return !0;
59
+ break;
60
+ }
61
+ return !1;
62
+ }
63
+ return this.value() !== "";
64
+ }, IInput.prototype.blur = function(e) {}, IInput.prototype.keyup = function(e) {}, IInput.prototype.focus = function(e) {}, IInput.prototype.click = function(e) {}, IInput.prototype.dblclick = function(e) {}, IInput.prototype.change = function(e, t) {}, IInput.prototype.resetValue = function(e) {
65
+ e.value(e._inputElement[0].node().value);
66
+ }, IInput.prototype.disable = function(e) {
67
+ this._inputElement.forEach(function(t, n) {
68
+ t.attr("disabled", e ? "disabled" : null);
69
+ });
70
+ }, IInput.prototype.setFocus = function() {
71
+ this._inputElement.length && this._inputElement[0].node().focus();
72
+ }, IInput.prototype.publish("name", "", "string", "HTML name for the input"), IInput.prototype.publish("label", "", "string", "Descriptive label"), IInput.prototype.publish("value", "", "string", "Input Current Value"), IInput.prototype.publish("validate", null, "string", "Input Validation");
73
+ //#endregion
74
+ //#region src/INDChart.ts
75
+ function INDChart() {}
76
+ INDChart.prototype._dataFamily = "ND", INDChart.prototype._palette = e.ordinal("default"), INDChart.prototype.fillColor = function(e, t, n, r) {
77
+ return this._palette(t);
78
+ }, INDChart.prototype.strokeColor = function(e, t, n, i) {
79
+ return r(this.fillColor(e, t, n, i)).darker().toString();
80
+ }, INDChart.prototype.textColor = function(t, n, r, i) {
81
+ return e.textColor(this.fillColor(t, n, r, i));
82
+ }, INDChart.prototype.click = function(e, t, n) {}, INDChart.prototype.dblclick = function(e, t, n) {};
83
+ //#endregion
84
+ //#region src/Tooltip.ts
85
+ function tip() {
86
+ let e = d3TipDirection, t = d3TipOffset, n = d3TipHTML, r = functor(document.body), s = initNode(), c = null, l = null, u = null, tip = function(e) {
87
+ if (c = getSVGNode(e), !c) return;
88
+ l = c.createSVGPoint();
89
+ let t = r();
90
+ t && s && t.appendChild(s);
91
+ };
92
+ tip.show = function(e, i, a) {
93
+ u = a[i];
94
+ let o = Array.prototype.slice.call(arguments), s = n.apply(this, o);
95
+ if (s === null) return tip;
96
+ let c = t.apply(this, o), l = getNodeEl(), p = f.length, m, h = r().getBoundingClientRect();
97
+ for (l.html(s).style("opacity", 1).style("pointer-events", "all"); p--;) l.classed(f[p], !1);
98
+ let g = !1, _ = {}, v = f[0];
99
+ for (let e = 0; e < f.length && (g = _placement_attempt(f[e]), !g); e++);
100
+ if (g) l.classed("notick", !1);
101
+ else {
102
+ l.classed("notick", !0);
103
+ let e = _vertical_adjustment(_[v]), t = _horizontal_adjustment(_[v]);
104
+ _placement_attempt(v, e, t);
105
+ }
106
+ return tip;
107
+ function _horizontal_adjustment(e) {
108
+ return e.left > e.right ? e.left > 0 ? -e.left : 0 : e.right > 0 ? e.right : 0;
109
+ }
110
+ function _vertical_adjustment(e) {
111
+ return e.top > e.bottom ? e.top > 0 ? -e.top : 0 : e.bottom;
112
+ }
113
+ function _placement_attempt(e, t, n) {
114
+ t ||= 0, n ||= 0, l.style("white-space", "nowrap"), m = d.get(e).apply(this), l.classed(e, !0).style("top", m.top + c[0] - t + "px").style("left", m.left + c[1] - n + "px");
115
+ let r = l.node().getBoundingClientRect(), i = r.top > h.top && r.left > h.left && r.bottom < h.bottom && r.right < h.right;
116
+ return _[e] = {
117
+ top: h.top - r.top,
118
+ right: r.right - h.right,
119
+ bottom: r.bottom - h.bottom,
120
+ left: h.left - r.left
121
+ }, l.style("white-space", "normal"), _[e].total_overflow = Object.keys(_[e]).filter((t) => _[e][t] > 0).reduce((t, n) => t + _[e][n], 0), _[v].total_overflow > _[e].total_overflow && (v = e), i || l.classed(e, !1), i;
122
+ }
123
+ }, tip.hide = function() {
124
+ return getNodeEl().style("opacity", 0).style("pointer-events", "none"), tip;
125
+ }, tip.attr = function(e, t) {
126
+ if (arguments.length < 2 && typeof e == "string") return getNodeEl().attr(e);
127
+ let n = Array.prototype.slice.call(arguments);
128
+ return o.prototype.attr.apply(getNodeEl(), n), tip;
129
+ }, tip.style = function(e, t) {
130
+ if (arguments.length < 2 && typeof e == "string") return getNodeEl().style(e);
131
+ let n = Array.prototype.slice.call(arguments);
132
+ return o.prototype.style.apply(getNodeEl(), n), tip;
133
+ }, tip.direction = function(t) {
134
+ return arguments.length ? (e = t == null ? t : functor(t), tip) : e;
135
+ }, tip.offset = function(e) {
136
+ return arguments.length ? (t = e == null ? e : functor(e), tip) : t;
137
+ }, tip.html = function(e) {
138
+ return arguments.length ? (n = e == null ? e : functor(e), tip) : n;
139
+ }, tip.rootElement = function(e) {
140
+ return arguments.length ? (r = functor(e), tip) : r;
141
+ }, tip.destroy = function() {
142
+ return s &&= (getNodeEl().remove(), null), tip;
143
+ };
144
+ function d3TipDirection() {
145
+ return "n";
146
+ }
147
+ function d3TipOffset() {
148
+ return [0, 0];
149
+ }
150
+ function d3TipHTML() {
151
+ return " ";
152
+ }
153
+ let d = i({
154
+ n: directionNorth,
155
+ s: directionSouth,
156
+ e: directionEast,
157
+ w: directionWest,
158
+ nw: directionNorthWest,
159
+ ne: directionNorthEast,
160
+ sw: directionSouthWest,
161
+ se: directionSouthEast
162
+ }), f = d.keys();
163
+ function directionNorth() {
164
+ let e = getScreenBBox(window);
165
+ return {
166
+ top: e.n.y - s.offsetHeight,
167
+ left: e.n.x - s.offsetWidth / 2
168
+ };
169
+ }
170
+ function directionSouth() {
171
+ let e = getScreenBBox(window);
172
+ return {
173
+ top: e.s.y + 8,
174
+ left: e.s.x - s.offsetWidth / 2
175
+ };
176
+ }
177
+ function directionEast() {
178
+ let e = getScreenBBox(window);
179
+ return {
180
+ top: e.e.y - s.offsetHeight / 2,
181
+ left: e.e.x + 8
182
+ };
183
+ }
184
+ function directionWest() {
185
+ let e = getScreenBBox(window);
186
+ return {
187
+ top: e.w.y - s.offsetHeight / 2,
188
+ left: e.w.x - s.offsetWidth - 8
189
+ };
190
+ }
191
+ function directionNorthWest() {
192
+ let e = getScreenBBox(window);
193
+ return {
194
+ top: e.nw.y - s.offsetHeight,
195
+ left: e.nw.x - s.offsetWidth
196
+ };
197
+ }
198
+ function directionNorthEast() {
199
+ let e = getScreenBBox(window);
200
+ return {
201
+ top: e.ne.y - s.offsetHeight,
202
+ left: e.ne.x
203
+ };
204
+ }
205
+ function directionSouthWest() {
206
+ let e = getScreenBBox(window);
207
+ return {
208
+ top: e.sw.y,
209
+ left: e.sw.x - s.offsetWidth
210
+ };
211
+ }
212
+ function directionSouthEast() {
213
+ let e = getScreenBBox(window);
214
+ return {
215
+ top: e.se.y,
216
+ left: e.se.x
217
+ };
218
+ }
219
+ function initNode() {
220
+ let e = a(document.createElement("div"));
221
+ return e.attr("class", "d3-tip").style("position", "absolute").style("top", "0px").style("opacity", 0).style("pointer-events", "none").style("box-sizing", "border-box"), e.node();
222
+ }
223
+ function getSVGNode(e) {
224
+ let t = e.node();
225
+ return t ? t.tagName.toLowerCase() === "svg" ? t : t.ownerSVGElement : null;
226
+ }
227
+ function getNodeEl() {
228
+ return s ?? (s = initNode(), r().appendChild(s)), a(s);
229
+ }
230
+ function getScreenBBox(e) {
231
+ let t = u || e;
232
+ for (; t.getCTM == null && t.parentNode != null;) t = t.parentNode;
233
+ let n = {}, r = t.getCTM(), i = t.getBBox(), a = i.width, o = i.height, s = i.x, c = i.y;
234
+ return l.x = s, l.y = c, n.nw = l.matrixTransform(r), l.x += a, n.ne = l.matrixTransform(r), l.y += o, n.se = l.matrixTransform(r), l.x -= a, n.sw = l.matrixTransform(r), l.y -= o / 2, n.w = l.matrixTransform(r), l.x += a, n.e = l.matrixTransform(r), l.x -= a / 2, l.y -= o / 2, n.n = l.matrixTransform(r), l.y += o, n.s = l.matrixTransform(r), n;
235
+ }
236
+ function functor(e) {
237
+ return typeof e == "function" ? e : function() {
238
+ return e;
239
+ };
240
+ }
241
+ return tip;
242
+ }
243
+ //#endregion
244
+ //#region src/ITooltip.ts
245
+ function ITooltip() {
246
+ if (this.tooltip = tip(), this.tooltipLabelFormat_exists() && (this._labelFormatter = n(this.tooltipLabelFormat())), this.tooltipValueFormat_exists() && (this._valueFormatter = n(this.tooltipValueFormat())), this.layerEnter) {
247
+ let e = this.layerEnter;
248
+ this.layerEnter = function(t, n, r) {
249
+ this._parentOverlay ||= t._parentOverlay, this.tooltipEnter(n), e.apply(this, arguments);
250
+ };
251
+ let t = this.layerUpdate;
252
+ this.layerUpdate = function(e) {
253
+ t.apply(this, arguments), this.tooltipUpdate();
254
+ };
255
+ let n = this.layerExit;
256
+ this.layerExit = function(e) {
257
+ this.tooltipExit(), n.apply(this, arguments);
258
+ };
259
+ } else {
260
+ let e = this.enter;
261
+ this.enter = function(t, n) {
262
+ this.tooltipEnter(n), e.apply(this, arguments);
263
+ };
264
+ let t = this.update;
265
+ this.update = function(e, n) {
266
+ t.apply(this, arguments), this.tooltipUpdate();
267
+ };
268
+ let n = this.exit;
269
+ this.exit = function(e, t) {
270
+ this.tooltipExit(), n.apply(this, arguments);
271
+ };
272
+ }
273
+ }
274
+ ITooltip.prototype = Object.create(t.prototype), ITooltip.prototype.constructor = ITooltip, ITooltip.prototype.tooltipEnter = function(e) {
275
+ let t = this.parentOverlay();
276
+ t.empty() || this.tooltip.rootElement(t.node().parentNode), e.call(this.tooltip);
277
+ }, ITooltip.prototype.tooltipUpdate = function() {
278
+ this.tooltip.offset(() => {
279
+ if (event && this.tooltipFollowMouse()) {
280
+ let e = document.querySelector(".d3-tip");
281
+ return e.style.display = "block", e.style.left = this.tooltipOffset() + event.clientX + "px", e.style.top = event.clientY + "px", [];
282
+ }
283
+ switch (this.tooltip.direction()()) {
284
+ case "e": return [0, this.tooltipOffset()];
285
+ default: return [-this.tooltipOffset(), 0];
286
+ }
287
+ });
288
+ let e = this.tooltip.attr("class");
289
+ e && (e = e.split(" notick").join("") + (this.tooltipTick() ? "" : " notick") + (this.tooltipStyle() === "none" ? " hidden" : ""), e = e.split(" ").filter(function(e) {
290
+ return e.indexOf("ITooltip-tooltipStyle-") !== 0;
291
+ }).join(" "), e += " ITooltip-tooltipStyle-" + this.tooltipStyle(), this.tooltip.attr("class", e));
292
+ }, ITooltip.prototype.tooltipExit = function() {
293
+ this.tooltip && this.tooltip.destroy();
294
+ }, ITooltip.prototype._tooltipHTML = function(e) {
295
+ return e;
296
+ }, ITooltip.prototype.tooltipHTML = function(e) {
297
+ return this.tooltip.html(e);
298
+ }, ITooltip.prototype.tooltipFormat = function(e = {}) {
299
+ switch (e.label = e.label === void 0 ? "" : e.label, this._labelFormatter ? e.label = this._labelFormatter(e.label) || "" : this.formatData && this.parseData && (e.label = this.formatData(this.parseData(e.label))), e.series = e.series || "", e.value instanceof Date ? e.value = e.value || "" : this._valueFormatter ? e.value = this._valueFormatter(e.value) || "" : this.formatValue && this.parseValue && (e.value = this.formatValue(this.parseValue(e.value))), this.tooltipStyle()) {
300
+ case "none": break;
301
+ case "series-table":
302
+ let t = "<table class=\"ITooltip-series-table\"><thead><tr><th colspan=\"2\">" + e.label + "</th></tr></thead><tbody>";
303
+ return e.arr.forEach(function(e) {
304
+ t += "<tr>", t += "<td>", t += "<div class=\"series-table-row-color\" style=\"background-color:" + e.color + "\"></div>", t += "<div class=\"series-table-row-label\">" + e.label + "</div>", t += "</td>", t += "<td><div class=\"series-table-row-value\">" + e.value + "</div></td>", t += "</tr>";
305
+ }), t += "</tbody>", t += "</table>", t;
306
+ default: return e.series ? "<span style='color:" + this.tooltipSeriesColor() + "'>" + e.series + "</span> / <span style='color:" + this.tooltipLabelColor() + "'>" + e.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + e.value + "</span>" : e.label === "" ? "<span style='color:" + this.tooltipValueColor() + "'>" + e.value + "</span>" : "<span style='color:" + this.tooltipLabelColor() + "'>" + e.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + e.value + "</span>";
307
+ }
308
+ }, ITooltip.prototype.tooltipKeyValueFormat = function(e, t) {
309
+ let n = "";
310
+ for (let r in t) if (r !== e) {
311
+ let e = t && t[r] ? t[r] : "";
312
+ n += `<tr><td style="${this.tooltipLabelColor_exists() ? "color:" + this.tooltipLabelColor() : ""}">${r}</td><td style="font-weight:normal">${e}</td></tr>`;
313
+ }
314
+ return `<table>
315
+ <thead>
316
+ <tr><th colspan="2" style="font-weight:bold;font-size:16px">${t[e]}</th></tr>
317
+ </thead>
318
+ <tbody>
319
+ ${n}
320
+ </tbody>
321
+ </table>`;
322
+ }, ITooltip.prototype.publish("tooltipStyle", "default", "set", "Style mode", [
323
+ "default",
324
+ "none",
325
+ "series-table"
326
+ ], {}), ITooltip.prototype.publish("tooltipFollowMouse", !1, "boolean", "If true, the tooltip will follow mouse movement", null, {}), ITooltip.prototype.publish("tooltipLabelFormat", void 0, "string", "Format of tooltip label(s) (the domain axis)", null, {}), ITooltip.prototype.publish("tooltipValueFormat", void 0, "string", "Number format of tooltip value(s)", null, {}), ITooltip.prototype.publish("tooltipSeriesColor", "#EAFFFF", "html-color", "Color of tooltip series text", null, {}), ITooltip.prototype.publish("tooltipLabelColor", "#CCFFFF", "html-color", "Color of tooltip label text (the domain axis)", null, {}), ITooltip.prototype.publish("tooltipValueColor", "white", "html-color", "Color of tooltip value(s)", null, {}), ITooltip.prototype.publish("tooltipTick", !0, "boolean", "Show tooltip tick", null, {}), ITooltip.prototype.publish("tooltipOffset", 8, "number", "Offset from the cursor", null, {});
327
+ var u = ITooltip.prototype.tooltipLabelFormat;
328
+ ITooltip.prototype.tooltipLabelFormat = function(e) {
329
+ let t = u.apply(this, arguments);
330
+ return arguments.length && (this._labelFormatter = n(e)), t;
331
+ };
332
+ var d = ITooltip.prototype.tooltipValueFormat;
333
+ ITooltip.prototype.tooltipValueFormat = function(e) {
334
+ let t = d.apply(this, arguments);
335
+ return arguments.length && (this._valueFormatter = n(e)), t;
336
+ };
337
+ //#endregion
338
+ //#region src/ITree.ts
339
+ function ITree() {}
340
+ ITree.prototype.constructor = ITree, ITree.prototype.click = function(e, t, n) {}, ITree.prototype.dblclick = function(e, t, n) {}, ITree.prototype._palette = e.ordinal("default");
341
+ //#endregion
342
+ export { l as BUILD_VERSION, I1DChart, I2DAggrChart, I2DChart, IGraph, IInput, INDChart, ITooltip, ITree, s as PKG_NAME, c as PKG_VERSION, instanceOfIHighlight };
343
+
2
344
  //# sourceMappingURL=index.js.map
3
- !function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.d3-tip{line-height:1;font-weight:700;padding:12px;background:#000000a8;color:#fff;border-radius:2px;pointer-events:none!important;z-index:10}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;display:inline-block;border:4px solid rgba(0,0,0,.66);position:absolute;pointer-events:none!important;width:8px;height:8px;margin:0}.d3-tip.n:after{top:100%;left:calc(50% - 4px);border-top-width:8px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.e:after{top:calc(50% - 4px);left:-12px;border-top-color:transparent;border-right-width:8px;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.s{margin-top:8px}.d3-tip.s:after{top:-12px;left:calc(50% - 4px);border-top-color:transparent;border-right-color:transparent;border-bottom-width:8px;border-left-color:transparent}.d3-tip.w:after{top:calc(50% - 4px);left:100%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-width:8px}.d3-tip.notick:after{border-color:transparent!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{padding:6px;text-align:left;border:1px solid #D1D1D1}.d3-tip .ITooltip-series-table .series-table-row-color{display:inline-block;height:10px;width:10px;margin-right:10px}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{background-color:#fff;color:#555;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #A3A3A3}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
345
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.d3-tip{color:#fff;z-index:10;background:#000000a8;border-radius:2px;padding:12px;font-weight:700;line-height:1;pointer-events:none!important}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;border:4px solid #000000a8;width:8px;height:8px;margin:0;display:inline-block;position:absolute;pointer-events:none!important}.d3-tip.n:after{border-top-width:8px;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%;left:calc(50% - 4px)}.d3-tip.e:after{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;border-right-width:8px;top:calc(50% - 4px);left:-12px}.d3-tip.s{margin-top:8px}.d3-tip.s:after{border-top-color:#0000;border-bottom-width:8px;border-left-color:#0000;border-right-color:#0000;top:-12px;left:calc(50% - 4px)}.d3-tip.w:after{border-top-color:#0000;border-bottom-color:#0000;border-left-width:8px;border-right-color:#0000;top:calc(50% - 4px);left:100%}.d3-tip.notick:after{border-color:#0000!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{text-align:left;border:1px solid #d1d1d1;padding:6px}.d3-tip .ITooltip-series-table .series-table-row-color{width:10px;height:10px;margin-right:10px;display:inline-block}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{color:#555;background-color:#fff;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #a3a3a3}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"names":["PKG_NAME","PKG_VERSION","BUILD_VERSION","I1DChart","I2DChart","I2DAggrChart","IGraph","instanceOfIHighlight","w","highlightColumn","IInput","INDChart","tip","direction","d3TipDirection","offset","d3TipOffset","html","d3TipHTML","rootElement","functor","document","body","node","initNode","svg","point","target","vis","getSVGNode","createSVGPoint","re","appendChild","show","d","idx","arr","args","Array","prototype","slice","call","arguments","content","apply","this","poffset","nodel","getNodeEl","coords","i","directions","length","root_bbox","getBoundingClientRect","style","classed","placement_success","placement_overflow","least_overflow_direction","_placement_attempt","top_offset","_vertical_adjustment","left_offset","_horizontal_adjustment","overflow_obj","left","right","top","bottom","_dir","_top_offset","_left_offset","directionCallbacks","get","nodel_bbox","ret","total_overflow","Object","keys","filter","side","reduce","sum","hide","attr","n","v","selection","destroy","remove","__name","map","directionNorth","s","directionSouth","e","directionEast","directionWest","nw","directionNorthWest","ne","directionNorthEast","sw","directionSouthWest","se","directionSouthEast","bbox","getScreenBBox","window","y","offsetHeight","x","offsetWidth","div","select","createElement","element","svgNode","tagName","toLowerCase","ownerSVGElement","targetShape","targetel","getCTM","parentNode","matrix","tbbox","getBBox","width","height","matrixTransform","ITooltip","tooltip","tooltipLabelFormat_exists","_labelFormatter","d3Format","tooltipLabelFormat","tooltipValueFormat_exists","_valueFormatter","tooltipValueFormat","layerEnter","_base","svgElement","_domElement","_parentOverlay","tooltipEnter","layerUpdate","tooltipUpdate","layerExit","tooltipExit","enter","_domNode","update","_element","exit","_dataFamily","_palette","Palette","rainbow","click","row","column","selected","dblclick","ordinal","fillColor","value","origRow","strokeColor","d3Hsl","darker","toString","textColor","vertex_click","_row","_col","_sel","more","vertex","vertex_dblclick","edge_click","edge","edge_dblclick","create","Widget","constructor","isValid","validate","RegExp","test","hasValue","type","blur","_w","keyup","focus","change","complete","resetValue","_inputElement","disable","forEach","setFocus","publish","overlayElement","parentOverlay","empty","event","tooltipFollowMouse","d3tipElement","querySelector","display","tooltipOffset","clientX","clientY","split","join","tooltipTick","tooltipStyle","_class","indexOf","_tooltipHTML","tooltipHTML","_","tooltipFormat","opts","label","formatData","parseData","series","Date","formatValue","parseValue","color","tooltipSeriesColor","tooltipLabelColor","tooltipValueColor","tooltipKeyValueFormat","titleKey","obj","key","tooltipLabelColor_exists","retVal","ITree"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"mappings":";;IAAa,IAAW,gBACX,IAAc,UACd,IAAgB;;;ACA7B,SAAgB,WAAW,CAC3B;AACA,SAAS,UAAU,cAAc,MACjC,SAAS,UAAU,WAAW,EAAQ,QAAQ,SAAS,GAGvD,SAAS,UAAU,QAAQ,SAAU,GAAK,GAAQ,GAAU,CAC5D,GAEA,SAAS,UAAU,WAAW,SAAU,GAAK,GAAQ,GAAU,CAC/D;;;ACTA,SAAgB,WAAW,CAC3B;AACA,SAAS,UAAU,cAAc,MACjC,SAAS,UAAU,WAAW,EAAQ,QAAQ,SAAS,GAEvD,SAAS,UAAU,YAAY,SAAU,GAAY,GAAQ,GAAO,GAAiB;CACjF,OAAO,KAAK,SAAS,EAAI,EAAE;AAC/B,GAEA,SAAS,UAAU,cAAc,SAAU,GAAY,GAAQ,GAAO,GAAiB;CACnF,OAAO,EAAM,KAAK,UAAU,GAAK,GAAQ,GAAO,CAAO,CAAC,EAAE,OAAO,EAAE,SAAS;AAChF,GAEA,SAAS,UAAU,YAAY,SAAU,GAAY,GAAQ,GAAO,GAAiB;CACjF,OAAO,EAAQ,UAAU,KAAK,UAAU,GAAK,GAAQ,GAAO,CAAO,CAAC;AACxE,GAGA,SAAS,UAAU,QAAQ,SAAU,GAAa,GAAQ,GAAU,CACpE,GAEA,SAAS,UAAU,WAAW,SAAU,GAAa,GAAQ,GAAU,CACvE;;;ACtBA,SAAgB,eAAe,CAC/B;AACA,aAAa,UAAU,WAAW,EAAQ,QAAQ,SAAS,GAE3D,aAAa,UAAU,YAAY,SAAU,GAAc,GAAQ,GAAe;CAC9E,OAAO,KAAK,SAAS,EAAI,MAAM;AACnC,GAEA,aAAa,UAAU,cAAc,SAAU,GAAc,GAAQ,GAAe;CAChF,OAAO,EAAM,KAAK,UAAU,GAAK,GAAQ,CAAK,CAAC,EAAE,OAAO,EAAE,SAAS;AACvE,GAEA,aAAa,UAAU,YAAY,SAAU,GAAc,GAAQ,GAAe;CAC9E,OAAO,EAAQ,UAAU,KAAK,UAAU,GAAK,GAAQ,CAAK,CAAC;AAC/D,GAGA,aAAa,UAAU,QAAQ,SAAU,GAAe,GAAQ,GAAU,CAC1E,GAEA,aAAa,UAAU,WAAW,SAAU,GAAe,GAAQ,GAAU,CAC7E;;;ACxBA,SAAgB,SAAS,CACzB;AACA,OAAO,UAAU,cAAc,SAG/B,OAAO,UAAU,eAAe,SAAU,GAAM,GAAM,GAAM,GAAM;CAC9D,AAAI,KAAQ,EAAK;AAErB,GAEA,OAAO,UAAU,kBAAkB,SAAU,GAAM,GAAM,GAAM,GAAM;CACjE,AAAI,KAAQ,EAAK;AAErB,GAEA,OAAO,UAAU,aAAa,SAAU,GAAM,GAAM,GAAM,GAAM;CAC5D,AAAI,KAAQ,EAAK;AAErB,GAEA,OAAO,UAAU,gBAAgB,SAAU,GAAM,GAAM,GAAM,GAAM;CAC/D,AAAI,KAAQ,EAAK;AAErB;;;ACnBA,SAAgB,qBAAqB,GAAyB;CAC1D,OAAO,OAAQ,EAAU,mBAAoB;AACjD;;;ACHA,SAAgB,SAAS,CACzB;AACA,OAAO,YAAY,OAAO,OAAO,EAAO,SAAS,GACjD,OAAO,UAAU,cAAc,QAM/B,OAAO,UAAU,UAAU,WAAY;CAOnC,OANA,EAAI,KAAK,SAAS,KAEV,CAAC,IADU,OAAO,KAAK,SAAS,CAC/B,EAAG,KAAK,KAAK,MAAM,CAAC;AAKjC,GAEA,OAAO,UAAU,WAAW,WAAY;CACpC,IAAI,OAAQ,KAAa,QAAS,YAAY;EAC1C,QAAS,KAAa,KAAK,GAA3B;GACI,KAAK;GAEL,KAAK;IACD,IAAI,KAAK,MAAM,KAAK,KAAK,MAAM,MAAM,SACjC,OAAO;IAEX;GACJ;IACI,IAAI,KAAK,MAAM,GACX,OAAO;IAEX;EACR;EACA,OAAO;CACX;CACA,OAAO,KAAK,MAAM,MAAM;AAC5B,GAGA,OAAO,UAAU,OAAO,SAAU,GAAI,CACtC,GACA,OAAO,UAAU,QAAQ,SAAU,GAAI,CACvC,GACA,OAAO,UAAU,QAAQ,SAAU,GAAI,CACvC,GACA,OAAO,UAAU,QAAQ,SAAU,GAAI,CACvC,GACA,OAAO,UAAU,WAAW,SAAU,GAAI,CAC1C,GACA,OAAO,UAAU,SAAS,SAAU,GAAI,GAAmB,CAC3D,GAEA,OAAO,UAAU,aAAa,SAAU,GAAG;CACvC,EAAE,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE,KAAK;AAC3C,GAEA,OAAO,UAAU,UAAU,SAAU,GAAS;CAC1C,KAAK,cAAc,QAAQ,SAAU,GAAG,GAAK;EACzC,EAAE,KAAK,YAAY,IAAU,aAAa,IAAI;CAClD,CAAC;AACL,GAEA,OAAO,UAAU,WAAW,WAAY;CACpC,AAAI,KAAK,cAAc,UACnB,KAAK,cAAc,GAAG,KAAK,EAAE,MAAM;AAE3C,GAYA,OAAO,UAAU,QAAQ,QAAQ,IAAI,UAAU,yBAAyB,GACxE,OAAO,UAAU,QAAQ,SAAS,IAAI,UAAU,mBAAmB,GACnE,OAAO,UAAU,QAAQ,SAAS,IAAI,UAAU,qBAAqB,GACrE,OAAO,UAAU,QAAQ,YAAY,MAAM,UAAU,kBAAkB;;;ACnFvE,SAAgB,WAAW,CAC3B;AACA,SAAS,UAAU,cAAc,MACjC,SAAS,UAAU,WAAW,EAAQ,QAAQ,SAAS,GAEvD,SAAS,UAAU,YAAY,SAAU,GAAY,GAAgB,GAAe,GAAsB;CACtG,OAAO,KAAK,SAAS,CAAM;AAC/B,GAEA,SAAS,UAAU,cAAc,SAAU,GAAY,GAAgB,GAAe,GAAsB;CACxG,OAAO,EAAM,KAAK,UAAU,GAAK,GAAQ,GAAO,CAAO,CAAC,EAAE,OAAO,EAAE,SAAS;AAChF,GAEA,SAAS,UAAU,YAAY,SAAU,GAAY,GAAgB,GAAe,GAAsB;CACtG,OAAO,EAAQ,UAAU,KAAK,UAAU,GAAK,GAAQ,GAAO,CAAO,CAAC;AACxE,GAGA,SAAS,UAAU,QAAQ,SAAU,GAAK,GAAQ,GAAU,CAC5D,GAEA,SAAS,UAAU,WAAW,SAAU,GAAK,GAAQ,GAAU,CAC/D;;;ACpBA,SAAgB,MAAM;CAClB,IAAI,IAAY,gBACZ,IAAS,aACT,IAAO,WACP,IAAc,QAAQ,SAAS,IAAI,GACnC,IAAO,SAAS,GAChB,IAAM,MACN,IAAQ,MACR,IAAS,MAEP,MAAW,SAAU,GAAK;EAE5B,IADA,IAAM,WAAW,CAAG,GAChB,CAAC,GAAK;EACV,IAAQ,EAAI,eAAe;EAC3B,IAAM,IAAK,EAAY;EAClB,KACA,KACL,EAAG,YAAY,CAAI;CACvB;CAyLA,AApLA,IAAI,OAAO,SAAU,GAAG,GAAK,GAAK;EAC9B,IAAS,EAAI;EACb,IAAM,IAAO,MAAM,UAAU,MAAM,KAAK,SAAS,GAC3C,IAAU,EAAK,MAAM,MAAM,CAAI;EACrC,IAAI,MAAY,MACZ,OAAO;EAEX,IAAM,IAAU,EAAO,MAAM,MAAM,CAAI,GACjC,IAAQ,UAAU,GACpB,IAAI,EAAW,QACf,GACE,IAAY,EAAY,EAAE,sBAAsB;EAItD,KAHA,EAAM,KAAK,CAAO,EACb,MAAM,WAAW,CAAC,EAAE,MAAM,kBAAkB,KAAK,GAE/C,MAAK,EAAM,QAAQ,EAAW,IAAI,EAAK;EAC9C,IAAI,IAAoB,IAClB,IAAqB,CAAC,GACxB,IAA2B,EAAW;EAC1C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAW,WAC3B,IAAoB,mBAAmB,EAAW,EAAE,GAChD,KAF+B;EAIvC,IAAK,GAMD,EAAM,QAAQ,UAAU,EAAK;OANT;GACpB,EAAM,QAAQ,UAAU,EAAI;GAC5B,IAAM,IAAa,qBAAqB,EAAmB,EAAyB,GAC9E,IAAc,uBAAuB,EAAmB,EAAyB;GACvF,mBAAmB,GAA0B,GAAY,CAAW;EACxE;EAGA,OAAO;EAEP,SAAS,uBAAuB,GAAc;GAItC,OAHA,EAAa,OAAO,EAAa,QAC1B,EAAa,OAAO,IAAI,CAAC,EAAa,OAAO,IAE7C,EAAa,QAAQ,IAAI,EAAa,QAAQ;EAE7D;EACA,SAAS,qBAAqB,GAAc;GAIpC,OAHA,EAAa,MAAM,EAAa,SACzB,EAAa,MAAM,IAAI,CAAC,EAAa,MAAM,IAE3C,EAAa;EAE5B;EAEA,SAAS,mBAA8B,GAAM,GAAc,GAAe;GAKtE,AAJA,MAA0C,GAC1C,MAA6C,GAC7C,EAAM,MAAM,eAAe,QAAQ,GACnC,IAAS,EAAmB,IAAI,CAAI,EAAE,MAAM,IAAI,GAChD,EAAM,QAAQ,GAAM,EAAI,EACnB,MAAM,OAAQ,EAAO,MAAM,EAAQ,KAAK,IAAe,IAAI,EAC3D,MAAM,QAAS,EAAO,OAAO,EAAQ,KAAK,IAAgB,IAAI;GACnE,IAAM,IAAa,EAAM,KAAK,EAAE,sBAAsB,GAChD,IAAM,EAAW,MAAM,EAAU,OAChC,EAAW,OAAO,EAAU,QAC5B,EAAW,SAAS,EAAU,UAC9B,EAAW,QAAQ,EAAU;GAqBpC,OAnBA,EAAmB,KAAQ;IACvB,KAAK,EAAU,MAAM,EAAW;IAChC,OAAO,EAAW,QAAQ,EAAU;IACpC,QAAQ,EAAW,SAAS,EAAU;IACtC,MAAM,EAAU,OAAO,EAAW;GACtC,GACA,EAAM,MAAM,eAAe,QAAQ,GACnC,EAAmB,GAAM,iBAAiB,OAAO,KAAK,EAAmB,EAAK,EACzE,QAAO,MAAQ,EAAmB,GAAM,KAAQ,CAAC,EACjD,QAAQ,GAAK,MAEH,IADe,EAAmB,GAAM,IAEhD,CAAC,GACJ,EAAmB,GAA0B,iBAAiB,EAAmB,GAAM,mBACvF,IAA2B,IAE1B,KACD,EAAM,QAAQ,GAAM,EAAK,GAEtB;EACX;CACJ,GAKA,IAAI,OAAO,WAAY;EAGnB,OADA,UAAA,EAAM,MAAM,WAAW,CAAC,EAAE,MAAM,kBAAkB,MAAM,GACjD;CACX,GASA,IAAI,OAAO,SAAU,GAAG,GAAG;EACvB,IAAI,UAAU,SAAS,KAAK,OAAO,KAAM,UACrC,OAAO,UAAU,EAAE,KAAK,CAAC;EAG7B,IAAM,IAAO,MAAM,UAAU,MAAM,KAAK,SAAS;EAEjD,OADA,EAAU,UAAU,KAAK,MAAM,UAAU,GAAG,CAAI,GACzC;CACX,GASA,IAAI,QAAQ,SAAU,GAAG,GAAG;EACxB,IAAI,UAAU,SAAS,KAAK,OAAO,KAAM,UACrC,OAAO,UAAU,EAAE,MAAM,CAAC;EAG9B,IAAM,IAAO,MAAM,UAAU,MAAM,KAAK,SAAS;EAEjD,OADA,EAAU,UAAU,MAAM,MAAM,UAAU,GAAG,CAAI,GAC1C;CACX,GAQA,IAAI,YAAY,SAAU,GAAG;EAIzB,OAHK,UAAU,UACf,IAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,GAE9B,OAHuB;CAIlC,GAOA,IAAI,SAAS,SAAU,GAAG;EAItB,OAHK,UAAU,UACf,IAAS,KAAK,OAAO,IAAI,QAAQ,CAAC,GAE3B,OAHuB;CAIlC,GAOA,IAAI,OAAO,SAAU,GAAG;EAIpB,OAHK,UAAU,UACf,IAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,GAEzB,OAHuB;CAIlC,GAOA,IAAI,cAAc,SAAU,GAAG;EAI3B,OAHK,UAAU,UACf,IAAc,QAAQ,CAAC,GAEhB,OAHuB;CAIlC,GAKA,IAAI,UAAU,WAAY;EAKtB,OAJA,AAEI,OADA,UAAU,EAAE,OAAO,GACZ,OAEJ;CACX;CAEA,SAAS,iBAAiB;EAAE,OAAO;CAAK;CACxC,SAAS,cAAc;EAAE,OAAO,CAAC,GAAG,CAAC;CAAG;CACxC,SAAS,YAAY;EAAE,OAAO;CAAK;CAEnC,IAAM,IAAqB,EAAI;EAC3B,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACR,CAAC,GACK,IAAa,EAAmB,KAAK;CAE3C,SAAS,iBAAiB;EACtB,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,EAAE,IAAI,EAAK;GACrB,MAAM,EAAK,EAAE,IAAI,EAAK,cAAc;EACxC;CACJ;CAEA,SAAS,iBAAiB;EACtB,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,EAAE,IAAI;GAChB,MAAM,EAAK,EAAE,IAAI,EAAK,cAAc;EACxC;CACJ;CAEA,SAAS,gBAAgB;EACrB,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,EAAE,IAAI,EAAK,eAAe;GACpC,MAAM,EAAK,EAAE,IAAI;EACrB;CACJ;CAEA,SAAS,gBAAgB;EACrB,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,EAAE,IAAI,EAAK,eAAe;GACpC,MAAM,EAAK,EAAE,IAAI,EAAK,cAAc;EACxC;CACJ;CAEA,SAAS,qBAAqB;EAC1B,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,GAAG,IAAI,EAAK;GACtB,MAAM,EAAK,GAAG,IAAI,EAAK;EAC3B;CACJ;CAEA,SAAS,qBAAqB;EAC1B,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,GAAG,IAAI,EAAK;GACtB,MAAM,EAAK,GAAG;EAClB;CACJ;CAEA,SAAS,qBAAqB;EAC1B,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,GAAG;GACb,MAAM,EAAK,GAAG,IAAI,EAAK;EAC3B;CACJ;CAEA,SAAS,qBAAqB;EAC1B,IAAM,IAAO,cAAc,MAAM;EACjC,OAAO;GACH,KAAK,EAAK,GAAG;GACb,MAAM,EAAK,GAAG;EAClB;CACJ;CAEA,SAAS,WAAW;EAChB,IAAM,IAAM,EAAO,SAAS,cAAc,KAAK,CAAC;EAShD,OARA,EACK,KAAK,SAAS,QAAQ,EACtB,MAAM,YAAY,UAAU,EAC5B,MAAM,OAAO,KAAK,EAClB,MAAM,WAAW,CAAC,EAClB,MAAM,kBAAkB,MAAM,EAC9B,MAAM,cAAc,YAAY,GAE9B,EAAI,KAAK;CACpB;CAEA,SAAS,WAAW,GAAS;EACzB,IAAM,IAAU,EAAQ,KAAK;EAG7B,OAFK,IACD,EAAQ,QAAQ,YAAY,MAAM,QAAc,IAC7C,EAAQ,kBAFM;CAGzB;CAEA,SAAS,YAAY;EAMjB,OALI,MACA,IAAO,SAAS,GAEhB,EAAY,EAAE,YAAY,CAAI,IAE3B,EAAO,CAAI;CACtB;CAeA,SAAS,cAAc,GAAa;EAChC,IAAI,IAAW,KAAU;EAEzB,OAAO,EAAS,UAAU,QAAQ,EAAS,cAAc,OACrD,IAAW,EAAS;EAGxB,IAAM,IAAY,CAAC,GACb,IAAS,EAAS,OAAO,GACzB,IAAQ,EAAS,QAAQ,GACzB,IAAQ,EAAM,OACd,IAAS,EAAM,QACf,IAAI,EAAM,GACV,IAAI,EAAM;EAqBhB,OAnBA,EAAM,IAAI,GACV,EAAM,IAAI,GACV,EAAK,KAAK,EAAM,gBAAgB,CAAM,GACtC,EAAM,KAAK,GACX,EAAK,KAAK,EAAM,gBAAgB,CAAM,GACtC,EAAM,KAAK,GACX,EAAK,KAAK,EAAM,gBAAgB,CAAM,GACtC,EAAM,KAAK,GACX,EAAK,KAAK,EAAM,gBAAgB,CAAM,GACtC,EAAM,KAAK,IAAS,GACpB,EAAK,IAAI,EAAM,gBAAgB,CAAM,GACrC,EAAM,KAAK,GACX,EAAK,IAAI,EAAM,gBAAgB,CAAM,GACrC,EAAM,KAAK,IAAQ,GACnB,EAAM,KAAK,IAAS,GACpB,EAAK,IAAI,EAAM,gBAAgB,CAAM,GACrC,EAAM,KAAK,GACX,EAAK,IAAI,EAAM,gBAAgB,CAAM,GAE9B;CACX;CAGA,SAAS,QAAQ,GAAG;EAChB,OAAO,OAAO,KAAM,aAAa,IAAI,WAAY;GAC7C,OAAO;EACX;CACJ;CAEA,OAAO;AACX;;;ACtXA,SAAgB,WAAoB;CAWhC,IAVA,KAAK,UAAU,IAAI,GAEf,KAAK,0BAA0B,MAC/B,KAAK,kBAAkB,EAAS,KAAK,mBAAmB,CAAW,IAGnE,KAAK,0BAA0B,MAC/B,KAAK,kBAAkB,EAAS,KAAK,mBAAmB,CAAW,IAGnE,KAAK,YAAY;EACjB,IAAM,IAAa,KAAK;EACxB,KAAK,aAAa,SAAU,GAAO,GAAY,GAAa;GAKxD,AAJA,AACI,KAAK,mBAAiB,EAAM,gBAEhC,KAAK,aAAa,CAAU,GAC5B,EAAW,MAAM,MAAM,SAAS;EACpC;EACA,IAAM,IAAc,KAAK;EACzB,KAAK,cAAc,SAAU,GAAO;GAEhC,AADA,EAAY,MAAM,MAAM,SAAS,GACjC,KAAK,cAAc;EACvB;EACA,IAAM,IAAY,KAAK;EACvB,KAAK,YAAY,SAAU,GAAO;GAE9B,AADA,KAAK,YAAY,GACjB,EAAU,MAAM,MAAM,SAAS;EACnC;CACJ,OAAO;EACH,IAAM,IAAQ,KAAK;EACnB,KAAK,QAAQ,SAAU,GAAU,GAAS;GAEtC,AADA,KAAK,aAAa,CAAO,GACzB,EAAM,MAAM,MAAM,SAAS;EAC/B;EACA,IAAM,IAAS,KAAK;EACpB,KAAK,SAAS,SAAU,GAAU,GAAU;GAExC,AADA,EAAO,MAAM,MAAM,SAAS,GAC5B,KAAK,cAAc;EACvB;EACA,IAAM,IAAO,KAAK;EAClB,KAAK,OAAO,SAAU,GAAU,GAAU;GAEtC,AADA,KAAK,YAAY,GACjB,EAAK,MAAM,MAAM,SAAS;EAC9B;CACJ;AACJ;AACA,SAAS,YAAY,OAAO,OAAO,EAAO,SAAS,GACnD,SAAS,UAAU,cAAc,UAKjC,SAAS,UAAU,eAAe,SAAU,GAAS;CACjD,IAAM,IAAiB,KAAK,cAAc;CAI1C,AAHK,EAAe,MAAM,KACtB,KAAK,QAAQ,YAAY,EAAe,KAAK,EAAE,UAAU,GAE7D,EAAQ,KAAK,KAAK,OAAO;AAC7B,GAEA,SAAS,UAAU,gBAAgB,WAAY;CAC3C,KAAK,QAAQ,aAAa;EACtB,IAAI,SAAS,KAAK,mBAAmB,GAAG;GACpC,IAAM,IAA+B,SAAS,cAAc,SAAS;GAIrE,OAHA,EAAa,MAAM,UAAU,SAC7B,EAAa,MAAM,OAAO,KAAK,cAAc,IAAM,MAAc,UAAW,MAC5E,EAAa,MAAM,MAAO,MAAc,UAAU,MAC3C,CAAC;EACZ;EACA,QAAQ,KAAK,QAAQ,UAAU,EAAE,GAAjC;GACI,KAAK,KACD,OAAO,CAAC,GAAG,KAAK,cAAc,CAAC;GACnC,SACI,OAAO,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC;EACxC;CACJ,CAAC;CAED,IAAI,IAAU,KAAK,QAAQ,KAAK,OAAO;CACvC,AAAI,MACA,IAAU,EAAQ,MAAM,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc,KAAK,aAAa,MAAM,SAAS,YAAY,KACpI,IAAU,EAAQ,MAAM,GAAG,EACtB,OAAO,SAAU,GAAQ;EACtB,OAAO,EAAO,QAAQ,wBAAwB,MAAM;CACxD,CAAC,EACA,KAAK,GAAG,GAEb,KAAW,4BAA4B,KAAK,aAAa,GACzD,KAAK,QACA,KAAK,SAAS,CAAO;AAGlC,GAEA,SAAS,UAAU,cAAc,WAAY;CACzC,AAAI,KAAK,WACL,KAAK,QAAQ,QAAQ;AAE7B,GAEA,SAAS,UAAU,eAAe,SAAU,GAAG;CAC3C,OAAO;AACX,GAEA,SAAS,UAAU,cAAc,SAAU,GAAG;CAC1C,OAAO,KAAK,QAAQ,KAAK,CAAC;AAC9B,GAEA,SAAS,UAAU,gBAAgB,SAAU,IAA4J,CAAC,GAAG;CAezM,QAdA,EAAK,QAAQ,EAAK,UAAU,KAAA,IAAY,KAAK,EAAK,OAC9C,KAAK,kBACL,EAAK,QAAQ,KAAK,gBAAgB,EAAK,KAAK,KAAK,KAC1C,KAAK,cAAc,KAAK,cAC/B,EAAK,QAAQ,KAAK,WAAW,KAAK,UAAU,EAAK,KAAK,CAAC,IAE3D,EAAK,SAAS,EAAK,UAAU,IACzB,EAAK,iBAAiB,OACtB,EAAK,QAAQ,EAAK,SAAS,KACpB,KAAK,kBACZ,EAAK,QAAQ,KAAK,gBAAgB,EAAK,KAAK,KAAK,KAC1C,KAAK,eAAe,KAAK,eAChC,EAAK,QAAQ,KAAK,YAAY,KAAK,WAAW,EAAK,KAAK,CAAC,IAErD,KAAK,aAAa,GAA1B;EACI,KAAK,QACD;EACJ,KAAK;GACD,IAAI,IAAO,yEAEoB,EAAK,QAAQ;GAc5C,OAXA,EAAK,IAAI,QAAQ,SAAU,GAAK;IAO5B,AANA,KAAQ,QACR,KAAQ,QACR,KAAQ,oEAAiE,EAAI,QAAQ,aACrF,KAAQ,2CAAyC,EAAI,QAAQ,UAC7D,KAAQ,SACR,KAAQ,+CAA6C,EAAI,QAAQ,eACjE,KAAQ;GACZ,CAAC,GACD,KAAQ,YACR,KAAQ,YACD;EACX,SAOI,OANI,EAAK,SACE,wBAAwB,KAAK,mBAAmB,IAAI,OAAO,EAAK,SAAS,kCAAkC,KAAK,kBAAkB,IAAI,OAAO,EAAK,QAAQ,kCAAkC,KAAK,kBAAkB,IAAI,OAAO,EAAK,QAAQ,YAElP,EAAK,UAAU,KAGZ,wBAAwB,KAAK,kBAAkB,IAAI,OAAO,EAAK,QAAQ,YAFnE,wBAAwB,KAAK,kBAAkB,IAAI,OAAO,EAAK,QAAQ,kCAAkC,KAAK,kBAAkB,IAAI,OAAO,EAAK,QAAQ;CAG3K;AACJ,GAEA,SAAS,UAAU,wBAAwB,SAAU,GAAkB,GAAqB;CACxF,IAAI,IAAO;CACX,KAAK,IAAM,KAAO,GACd,IAAI,MAAQ,GAAU;EAClB,IAAM,IAAQ,KAAO,EAAI,KAAO,EAAI,KAAO;EAC3C,KAAQ,kBAAkB,KAAK,yBAAyB,IAAI,WAAW,KAAK,kBAAkB,IAAI,GAAG,IAAI,EAAI,sCAAsC,EAAM;CAC7J;CAEJ,OAAO;;sFAE2E,EAAI,GAAU;;;0BAG1E,EAAK;;;AAG/B,GAiBA,SAAS,UAAU,QAAQ,gBAAgB,WAAW,OAAO,cAAc;CAAC;CAAW;CAAQ;AAAc,GAAG,CAAC,CAAC,GAClH,SAAS,UAAU,QAAQ,sBAAsB,IAAO,WAAW,mDAAmD,MAAM,CAAC,CAAC,GAC9H,SAAS,UAAU,QAAQ,sBAAsB,KAAA,GAAW,UAAU,gDAAgD,MAAM,CAAC,CAAC,GAC9H,SAAS,UAAU,QAAQ,sBAAsB,KAAA,GAAW,UAAU,qCAAqC,MAAM,CAAC,CAAC,GACnH,SAAS,UAAU,QAAQ,sBAAsB,WAAW,cAAc,gCAAgC,MAAM,CAAC,CAAC,GAClH,SAAS,UAAU,QAAQ,qBAAqB,WAAW,cAAc,iDAAiD,MAAM,CAAC,CAAC,GAClI,SAAS,UAAU,QAAQ,qBAAqB,SAAS,cAAc,6BAA6B,MAAM,CAAC,CAAC,GAC5G,SAAS,UAAU,QAAQ,eAAe,IAAM,WAAW,qBAAqB,MAAM,CAAC,CAAC,GACxF,SAAS,UAAU,QAAQ,iBAAiB,GAAG,UAAU,0BAA0B,MAAM,CAAC,CAAC;AAE3F,IAAM,IAAqB,SAAS,UAAU;AAC9C,SAAS,UAAU,qBAAqB,SAAU,GAAuB;CACrE,IAAM,IAAS,EAAmB,MAAM,MAAM,SAAS;CAIvD,OAHI,UAAU,WACV,KAAK,kBAAkB,EAAS,CAAC,IAE9B;AACX;AAEA,IAAM,IAAqB,SAAS,UAAU;AAC9C,SAAS,UAAU,qBAAqB,SAAU,GAAuB;CACrE,IAAM,IAAS,EAAmB,MAAM,MAAM,SAAS;CAIvD,OAHI,UAAU,WACV,KAAK,kBAAkB,EAAS,CAAC,IAE9B;AACX;;;AC7NA,SAAgB,QAAQ,CACxB;AACA,MAAM,UAAU,cAAc,OAG9B,MAAM,UAAU,QAAQ,SAAU,GAAK,GAAQ,GAAU,CACzD,GAEA,MAAM,UAAU,WAAW,SAAU,GAAK,GAAQ,GAAU,CAC5D,GAEA,MAAM,UAAU,WAAW,EAAQ,QAAQ,SAAS"}
@@ -1,3 +1,10 @@
1
- !function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@hpcc-js/common")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common"],o):o((t="undefined"!=typeof globalThis?globalThis:t||self)["@hpcc-js/api"]={},t["@hpcc-js/common"])}(this,function(t,o){"use strict";var e=Object.defineProperty,l=(t,o)=>e(t,"name",{value:o,configurable:!0});function i(){}function n(){}function r(){}function p(){}function s(t){return"function"==typeof t.highlightColumn}function a(){}function u(){}function c(){let t=c,e=f,i=h,n=T(document.body),r=k(),p=null,s=null,a=null;const u=l(function(t){if(p=F(t),!p)return;s=p.createSVGPoint();const o=n();o&&r&&o.appendChild(r)},"tip2");function c(){return"n"}function f(){return[0,0]}function h(){return" "}u.show=function(t,o,l){a=l[o];const r=Array.prototype.slice.call(arguments),p=i.apply(this,r);if(null===p)return u;const s=e.apply(this,r),c=E();let f,h=d.length;const b=n().getBoundingClientRect();for(c.html(p).style("opacity",1).style("pointer-events","all");h--;)c.classed(d[h],!1);let m=!1;const g={};let v=d[0];for(let e=0;e<d.length&&(m=C(d[e]),!m);e++);if(m)c.classed("notick",!1);else{c.classed("notick",!0);const t=w(g[v]),o=x(g[v]);C(v,t,o)}return u;function x(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}function w(t){return t.top>t.bottom?t.top>0?-t.top:0:t.bottom}function C(t,o,e){o=o||0,e=e||0,c.style("white-space","nowrap"),f=y.get(t).apply(this),c.classed(t,!0).style("top",f.top+s[0]-o+"px").style("left",f.left+s[1]-e+"px");const l=c.node().getBoundingClientRect(),i=l.top>b.top&&l.left>b.left&&l.bottom<b.bottom&&l.right<b.right;return g[t]={top:b.top-l.top,right:l.right-b.right,bottom:l.bottom-b.bottom,left:b.left-l.left},c.style("white-space","normal"),g[t].total_overflow=Object.keys(g[t]).filter(o=>g[t][o]>0).reduce((o,e)=>o+g[t][e],0),g[v].total_overflow>g[t].total_overflow&&(v=t),i||c.classed(t,!1),i}},u.hide=function(){return E().style("opacity",0).style("pointer-events","none"),u},u.attr=function(t,e){if(arguments.length<2&&"string"==typeof t)return E().attr(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.attr.apply(E(),l),u},u.style=function(t,e){if(arguments.length<2&&"string"==typeof t)return E().style(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.style.apply(E(),l),u},u.direction=function(o){return arguments.length?(t=null==o?o:T(o),u):t},u.offset=function(t){return arguments.length?(e=null==t?t:T(t),u):e},u.html=function(t){return arguments.length?(i=null==t?t:T(t),u):i},u.rootElement=function(t){return arguments.length?(n=T(t),u):n},u.destroy=function(){return r&&(E().remove(),r=null),u},l(c,"d3TipDirection"),l(f,"d3TipOffset"),l(h,"d3TipHTML");const y=o.map({n:b,s:m,e:g,w:v,nw:x,ne:w,sw:C,se:_}),d=y.keys();function b(){const t=I(window);return{top:t.n.y-r.offsetHeight,left:t.n.x-r.offsetWidth/2}}function m(){const t=I(window);return{top:t.s.y+8,left:t.s.x-r.offsetWidth/2}}function g(){const t=I(window);return{top:t.e.y-r.offsetHeight/2,left:t.e.x+8}}function v(){const t=I(window);return{top:t.w.y-r.offsetHeight/2,left:t.w.x-r.offsetWidth-8}}function x(){const t=I(window);return{top:t.nw.y-r.offsetHeight,left:t.nw.x-r.offsetWidth}}function w(){const t=I(window);return{top:t.ne.y-r.offsetHeight,left:t.ne.x}}function C(){const t=I(window);return{top:t.sw.y,left:t.sw.x-r.offsetWidth}}function _(){const t=I(window);return{top:t.se.y,left:t.se.x}}function k(){const t=o.select(document.createElement("div"));return t.attr("class","d3-tip").style("position","absolute").style("top","0px").style("opacity",0).style("pointer-events","none").style("box-sizing","border-box"),t.node()}function F(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}function E(){return null==r&&(r=k(),n().appendChild(r)),o.select(r)}function I(t){let o=a||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),i=o.getBBox(),n=i.width,r=i.height,p=i.x,u=i.y;return s.x=p,s.y=u,e.nw=s.matrixTransform(l),s.x+=n,e.ne=s.matrixTransform(l),s.y+=r,e.se=s.matrixTransform(l),s.x-=n,e.sw=s.matrixTransform(l),s.y-=r/2,e.w=s.matrixTransform(l),s.x+=n,e.e=s.matrixTransform(l),s.x-=n/2,s.y-=r/2,e.n=s.matrixTransform(l),s.y+=r,e.s=s.matrixTransform(l),e}function T(t){return"function"==typeof t?t:function(){return t}}return l(b,"directionNorth"),l(m,"directionSouth"),l(g,"directionEast"),l(v,"directionWest"),l(x,"directionNorthWest"),l(w,"directionNorthEast"),l(C,"directionSouthWest"),l(_,"directionSouthEast"),l(k,"initNode"),l(F,"getSVGNode"),l(E,"getNodeEl"),l(I,"getScreenBBox"),l(T,"functor"),u}function f(){if(this.tooltip=c(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=o.format(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=o.format(this.tooltipValueFormat())),this.layerEnter){const t=this.layerEnter;this.layerEnter=function(o,e,l){this._parentOverlay||(this._parentOverlay=o._parentOverlay),this.tooltipEnter(e),t.apply(this,arguments)};const o=this.layerUpdate;this.layerUpdate=function(t){o.apply(this,arguments),this.tooltipUpdate()};const e=this.layerExit;this.layerExit=function(t){this.tooltipExit(),e.apply(this,arguments)}}else{const t=this.enter;this.enter=function(o,e){this.tooltipEnter(e),t.apply(this,arguments)};const o=this.update;this.update=function(t,e){o.apply(this,arguments),this.tooltipUpdate()};const e=this.exit;this.exit=function(t,o){this.tooltipExit(),e.apply(this,arguments)}}}l(i,"I1DChart"),i.prototype._dataFamily="1D",i.prototype._palette=o.Palette.rainbow("default"),i.prototype.click=function(t,o,e){},i.prototype.dblclick=function(t,o,e){},l(n,"I2DChart"),n.prototype._dataFamily="2D",n.prototype._palette=o.Palette.ordinal("default"),n.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},n.prototype.strokeColor=function(t,e,l,i){return o.hsl(this.fillColor(t,e,l,i)).darker().toString()},n.prototype.textColor=function(t,e,l,i){return o.Palette.textColor(this.fillColor(t,e,l,i))},n.prototype.click=function(t,o,e){},n.prototype.dblclick=function(t,o,e){},l(r,"I2DAggrChart"),r.prototype._palette=o.Palette.rainbow("default"),r.prototype.fillColor=function(t,o,e){return this._palette(t.length)},r.prototype.strokeColor=function(t,e,l){return o.hsl(this.fillColor(t,e,l)).darker().toString()},r.prototype.textColor=function(t,e,l){return o.Palette.textColor(this.fillColor(t,e,l))},r.prototype.click=function(t,o,e){},r.prototype.dblclick=function(t,o,e){},l(p,"IGraph"),p.prototype._dataFamily="graph",p.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},p.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},p.prototype.edge_click=function(t,o,e,l){l&&l.edge},p.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},l(s,"instanceOfIHighlight"),l(a,"IInput"),a.prototype=Object.create(o.Widget.prototype),a.prototype.constructor=a,a.prototype.isValid=function(){if(this.validate()){if(!new RegExp(this.validate()).test(this.value()))return!1}return!0},a.prototype.hasValue=function(){if("function"==typeof this.type){switch(this.type()){case"radio":case"checkbox":if(this.value()&&"false"!==this.value())return!0;break;default:if(this.value())return!0}return!1}return""!==this.value()},a.prototype.blur=function(t){},a.prototype.keyup=function(t){},a.prototype.focus=function(t){},a.prototype.click=function(t){},a.prototype.dblclick=function(t){},a.prototype.change=function(t,o){},a.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},a.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},a.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},a.prototype.publish("name","","string","HTML name for the input"),a.prototype.publish("label","","string","Descriptive label"),a.prototype.publish("value","","string","Input Current Value"),a.prototype.publish("validate",null,"string","Input Validation"),l(u,"INDChart"),u.prototype._dataFamily="ND",u.prototype._palette=o.Palette.ordinal("default"),u.prototype.fillColor=function(t,o,e,l){return this._palette(o)},u.prototype.strokeColor=function(t,e,l,i){return o.hsl(this.fillColor(t,e,l,i)).darker().toString()},u.prototype.textColor=function(t,e,l,i){return o.Palette.textColor(this.fillColor(t,e,l,i))},u.prototype.click=function(t,o,e){},u.prototype.dblclick=function(t,o,e){},l(c,"tip"),l(f,"ITooltip"),f.prototype=Object.create(o.Widget.prototype),f.prototype.constructor=f,f.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},f.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){const t=document.querySelector(".d3-tip");return t.style.display="block",t.style.left=this.tooltipOffset()+event.clientX+"px",t.style.top=event.clientY+"px",[]}return"e"===this.tooltip.direction()()?[0,this.tooltipOffset()]:[-this.tooltipOffset(),0]});let t=this.tooltip.attr("class");t&&(t=t.split(" notick").join("")+(this.tooltipTick()?"":" notick")+("none"===this.tooltipStyle()?" hidden":""),t=t.split(" ").filter(function(t){return 0!==t.indexOf("ITooltip-tooltipStyle-")}).join(" "),t+=" ITooltip-tooltipStyle-"+this.tooltipStyle(),this.tooltip.attr("class",t))},f.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},f.prototype._tooltipHTML=function(t){return t},f.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},f.prototype.tooltipFormat=function(t={}){switch(t.label=void 0===t.label?"":t.label,this._labelFormatter?t.label=this._labelFormatter(t.label)||"":this.formatData&&this.parseData&&(t.label=this.formatData(this.parseData(t.label))),t.series=t.series||"",t.value instanceof Date?t.value=t.value||"":this._valueFormatter?t.value=this._valueFormatter(t.value)||"":this.formatValue&&this.parseValue&&(t.value=this.formatValue(this.parseValue(t.value))),this.tooltipStyle()){case"none":break;case"series-table":let o='<table class="ITooltip-series-table"><thead><tr><th colspan="2">'+t.label+"</th></tr></thead><tbody>";return t.arr.forEach(function(t){o+="<tr>",o+="<td>",o+='<div class="series-table-row-color" style="background-color:'+t.color+'"></div>',o+='<div class="series-table-row-label">'+t.label+"</div>",o+="</td>",o+='<td><div class="series-table-row-value">'+t.value+"</div></td>",o+="</tr>"}),o+="</tbody>",o+="</table>",o;default:return t.series?"<span style='color:"+this.tooltipSeriesColor()+"'>"+t.series+"</span> / <span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":""!==t.label?"<span style='color:"+this.tooltipLabelColor()+"'>"+t.label+"</span>: <span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>":"<span style='color:"+this.tooltipValueColor()+"'>"+t.value+"</span>"}},f.prototype.tooltipKeyValueFormat=function(t,o){let e="";for(const l in o)if(l!==t){const t=o&&o[l]?o[l]:"";e+=`<tr><td style="${this.tooltipLabelColor_exists()?"color:"+this.tooltipLabelColor():""}">${l}</td><td style="font-weight:normal">${t}</td></tr>`}return`<table>\n <thead>\n <tr><th colspan="2" style="font-weight:bold;font-size:16px">${o[t]}</th></tr>\n </thead>\n <tbody>\n ${e}\n </tbody>\n </table>`},f.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),f.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),f.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),f.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),f.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),f.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),f.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),f.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),f.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});const h=f.prototype.tooltipLabelFormat;f.prototype.tooltipLabelFormat=function(t){const e=h.apply(this,arguments);return arguments.length&&(this._labelFormatter=o.format(t)),e};const y=f.prototype.tooltipValueFormat;function d(){}f.prototype.tooltipValueFormat=function(t){const e=y.apply(this,arguments);return arguments.length&&(this._valueFormatter=o.format(t)),e},l(d,"ITree"),d.prototype.constructor=d,d.prototype.click=function(t,o,e){},d.prototype.dblclick=function(t,o,e){},d.prototype._palette=o.Palette.ordinal("default"),t.BUILD_VERSION="3.23.0",t.I1DChart=i,t.I2DAggrChart=r,t.I2DChart=n,t.IGraph=p,t.IInput=a,t.INDChart=u,t.ITooltip=f,t.ITree=d,t.PKG_NAME="@hpcc-js/api",t.PKG_VERSION="3.4.18",t.instanceOfIHighlight=s,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@hpcc-js/common")):typeof define==`function`&&define.amd?define([`exports`,`@hpcc-js/common`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`@hpcc-js/api`]={},e[`@hpcc-js/common`]))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=`@hpcc-js/api`,r=`3.4.20`,i=`3.25.1`;function I1DChart(){}I1DChart.prototype._dataFamily=`1D`,I1DChart.prototype._palette=t.Palette.rainbow(`default`),I1DChart.prototype.click=function(e,t,n){},I1DChart.prototype.dblclick=function(e,t,n){};function I2DChart(){}I2DChart.prototype._dataFamily=`2D`,I2DChart.prototype._palette=t.Palette.ordinal(`default`),I2DChart.prototype.fillColor=function(e,t,n,r){return this._palette(e[0])},I2DChart.prototype.strokeColor=function(e,n,r,i){return(0,t.hsl)(this.fillColor(e,n,r,i)).darker().toString()},I2DChart.prototype.textColor=function(e,n,r,i){return t.Palette.textColor(this.fillColor(e,n,r,i))},I2DChart.prototype.click=function(e,t,n){},I2DChart.prototype.dblclick=function(e,t,n){};function I2DAggrChart(){}I2DAggrChart.prototype._palette=t.Palette.rainbow(`default`),I2DAggrChart.prototype.fillColor=function(e,t,n){return this._palette(e.length)},I2DAggrChart.prototype.strokeColor=function(e,n,r){return(0,t.hsl)(this.fillColor(e,n,r)).darker().toString()},I2DAggrChart.prototype.textColor=function(e,n,r){return t.Palette.textColor(this.fillColor(e,n,r))},I2DAggrChart.prototype.click=function(e,t,n){},I2DAggrChart.prototype.dblclick=function(e,t,n){};function IGraph(){}IGraph.prototype._dataFamily=`graph`,IGraph.prototype.vertex_click=function(e,t,n,r){r&&r.vertex},IGraph.prototype.vertex_dblclick=function(e,t,n,r){r&&r.vertex},IGraph.prototype.edge_click=function(e,t,n,r){r&&r.edge},IGraph.prototype.edge_dblclick=function(e,t,n,r){r&&r.edge};function instanceOfIHighlight(e){return typeof e.highlightColumn==`function`}function IInput(){}IInput.prototype=Object.create(t.Widget.prototype),IInput.prototype.constructor=IInput,IInput.prototype.isValid=function(){return!(this.validate()&&!new RegExp(this.validate()).test(this.value()))},IInput.prototype.hasValue=function(){if(typeof this.type==`function`){switch(this.type()){case`radio`:case`checkbox`:if(this.value()&&this.value()!==`false`)return!0;break;default:if(this.value())return!0;break}return!1}return this.value()!==``},IInput.prototype.blur=function(e){},IInput.prototype.keyup=function(e){},IInput.prototype.focus=function(e){},IInput.prototype.click=function(e){},IInput.prototype.dblclick=function(e){},IInput.prototype.change=function(e,t){},IInput.prototype.resetValue=function(e){e.value(e._inputElement[0].node().value)},IInput.prototype.disable=function(e){this._inputElement.forEach(function(t,n){t.attr(`disabled`,e?`disabled`:null)})},IInput.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},IInput.prototype.publish(`name`,``,`string`,`HTML name for the input`),IInput.prototype.publish(`label`,``,`string`,`Descriptive label`),IInput.prototype.publish(`value`,``,`string`,`Input Current Value`),IInput.prototype.publish(`validate`,null,`string`,`Input Validation`);function INDChart(){}INDChart.prototype._dataFamily=`ND`,INDChart.prototype._palette=t.Palette.ordinal(`default`),INDChart.prototype.fillColor=function(e,t,n,r){return this._palette(t)},INDChart.prototype.strokeColor=function(e,n,r,i){return(0,t.hsl)(this.fillColor(e,n,r,i)).darker().toString()},INDChart.prototype.textColor=function(e,n,r,i){return t.Palette.textColor(this.fillColor(e,n,r,i))},INDChart.prototype.click=function(e,t,n){},INDChart.prototype.dblclick=function(e,t,n){};function tip(){let e=d3TipDirection,n=d3TipOffset,r=d3TipHTML,i=functor(document.body),a=initNode(),o=null,s=null,c=null,tip=function(e){if(o=getSVGNode(e),!o)return;s=o.createSVGPoint();let t=i();t&&a&&t.appendChild(a)};tip.show=function(e,t,a){c=a[t];let o=Array.prototype.slice.call(arguments),s=r.apply(this,o);if(s===null)return tip;let d=n.apply(this,o),f=getNodeEl(),p=u.length,m,h=i().getBoundingClientRect();for(f.html(s).style(`opacity`,1).style(`pointer-events`,`all`);p--;)f.classed(u[p],!1);let g=!1,_={},v=u[0];for(let e=0;e<u.length&&(g=_placement_attempt(u[e]),!g);e++);if(g)f.classed(`notick`,!1);else{f.classed(`notick`,!0);let e=_vertical_adjustment(_[v]),t=_horizontal_adjustment(_[v]);_placement_attempt(v,e,t)}return tip;function _horizontal_adjustment(e){return e.left>e.right?e.left>0?-e.left:0:e.right>0?e.right:0}function _vertical_adjustment(e){return e.top>e.bottom?e.top>0?-e.top:0:e.bottom}function _placement_attempt(e,t,n){t||=0,n||=0,f.style(`white-space`,`nowrap`),m=l.get(e).apply(this),f.classed(e,!0).style(`top`,m.top+d[0]-t+`px`).style(`left`,m.left+d[1]-n+`px`);let r=f.node().getBoundingClientRect(),i=r.top>h.top&&r.left>h.left&&r.bottom<h.bottom&&r.right<h.right;return _[e]={top:h.top-r.top,right:r.right-h.right,bottom:r.bottom-h.bottom,left:h.left-r.left},f.style(`white-space`,`normal`),_[e].total_overflow=Object.keys(_[e]).filter(t=>_[e][t]>0).reduce((t,n)=>t+_[e][n],0),_[v].total_overflow>_[e].total_overflow&&(v=e),i||f.classed(e,!1),i}},tip.hide=function(){return getNodeEl().style(`opacity`,0).style(`pointer-events`,`none`),tip},tip.attr=function(e,n){if(arguments.length<2&&typeof e==`string`)return getNodeEl().attr(e);let r=Array.prototype.slice.call(arguments);return t.selection.prototype.attr.apply(getNodeEl(),r),tip},tip.style=function(e,n){if(arguments.length<2&&typeof e==`string`)return getNodeEl().style(e);let r=Array.prototype.slice.call(arguments);return t.selection.prototype.style.apply(getNodeEl(),r),tip},tip.direction=function(t){return arguments.length?(e=t==null?t:functor(t),tip):e},tip.offset=function(e){return arguments.length?(n=e==null?e:functor(e),tip):n},tip.html=function(e){return arguments.length?(r=e==null?e:functor(e),tip):r},tip.rootElement=function(e){return arguments.length?(i=functor(e),tip):i},tip.destroy=function(){return a&&=(getNodeEl().remove(),null),tip};function d3TipDirection(){return`n`}function d3TipOffset(){return[0,0]}function d3TipHTML(){return` `}let l=(0,t.map)({n:directionNorth,s:directionSouth,e:directionEast,w:directionWest,nw:directionNorthWest,ne:directionNorthEast,sw:directionSouthWest,se:directionSouthEast}),u=l.keys();function directionNorth(){let e=getScreenBBox(window);return{top:e.n.y-a.offsetHeight,left:e.n.x-a.offsetWidth/2}}function directionSouth(){let e=getScreenBBox(window);return{top:e.s.y+8,left:e.s.x-a.offsetWidth/2}}function directionEast(){let e=getScreenBBox(window);return{top:e.e.y-a.offsetHeight/2,left:e.e.x+8}}function directionWest(){let e=getScreenBBox(window);return{top:e.w.y-a.offsetHeight/2,left:e.w.x-a.offsetWidth-8}}function directionNorthWest(){let e=getScreenBBox(window);return{top:e.nw.y-a.offsetHeight,left:e.nw.x-a.offsetWidth}}function directionNorthEast(){let e=getScreenBBox(window);return{top:e.ne.y-a.offsetHeight,left:e.ne.x}}function directionSouthWest(){let e=getScreenBBox(window);return{top:e.sw.y,left:e.sw.x-a.offsetWidth}}function directionSouthEast(){let e=getScreenBBox(window);return{top:e.se.y,left:e.se.x}}function initNode(){let e=(0,t.select)(document.createElement(`div`));return e.attr(`class`,`d3-tip`).style(`position`,`absolute`).style(`top`,`0px`).style(`opacity`,0).style(`pointer-events`,`none`).style(`box-sizing`,`border-box`),e.node()}function getSVGNode(e){let t=e.node();return t?t.tagName.toLowerCase()===`svg`?t:t.ownerSVGElement:null}function getNodeEl(){return a??(a=initNode(),i().appendChild(a)),(0,t.select)(a)}function getScreenBBox(e){let t=c||e;for(;t.getCTM==null&&t.parentNode!=null;)t=t.parentNode;let n={},r=t.getCTM(),i=t.getBBox(),a=i.width,o=i.height,l=i.x,u=i.y;return s.x=l,s.y=u,n.nw=s.matrixTransform(r),s.x+=a,n.ne=s.matrixTransform(r),s.y+=o,n.se=s.matrixTransform(r),s.x-=a,n.sw=s.matrixTransform(r),s.y-=o/2,n.w=s.matrixTransform(r),s.x+=a,n.e=s.matrixTransform(r),s.x-=a/2,s.y-=o/2,n.n=s.matrixTransform(r),s.y+=o,n.s=s.matrixTransform(r),n}function functor(e){return typeof e==`function`?e:function(){return e}}return tip}function ITooltip(){if(this.tooltip=tip(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=(0,t.format)(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=(0,t.format)(this.tooltipValueFormat())),this.layerEnter){let e=this.layerEnter;this.layerEnter=function(t,n,r){this._parentOverlay||=t._parentOverlay,this.tooltipEnter(n),e.apply(this,arguments)};let t=this.layerUpdate;this.layerUpdate=function(e){t.apply(this,arguments),this.tooltipUpdate()};let n=this.layerExit;this.layerExit=function(e){this.tooltipExit(),n.apply(this,arguments)}}else{let e=this.enter;this.enter=function(t,n){this.tooltipEnter(n),e.apply(this,arguments)};let t=this.update;this.update=function(e,n){t.apply(this,arguments),this.tooltipUpdate()};let n=this.exit;this.exit=function(e,t){this.tooltipExit(),n.apply(this,arguments)}}}ITooltip.prototype=Object.create(t.Widget.prototype),ITooltip.prototype.constructor=ITooltip,ITooltip.prototype.tooltipEnter=function(e){let t=this.parentOverlay();t.empty()||this.tooltip.rootElement(t.node().parentNode),e.call(this.tooltip)},ITooltip.prototype.tooltipUpdate=function(){this.tooltip.offset(()=>{if(event&&this.tooltipFollowMouse()){let e=document.querySelector(`.d3-tip`);return e.style.display=`block`,e.style.left=this.tooltipOffset()+event.clientX+`px`,e.style.top=event.clientY+`px`,[]}switch(this.tooltip.direction()()){case`e`:return[0,this.tooltipOffset()];default:return[-this.tooltipOffset(),0]}});let e=this.tooltip.attr(`class`);e&&(e=e.split(` notick`).join(``)+(this.tooltipTick()?``:` notick`)+(this.tooltipStyle()===`none`?` hidden`:``),e=e.split(` `).filter(function(e){return e.indexOf(`ITooltip-tooltipStyle-`)!==0}).join(` `),e+=` ITooltip-tooltipStyle-`+this.tooltipStyle(),this.tooltip.attr(`class`,e))},ITooltip.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},ITooltip.prototype._tooltipHTML=function(e){return e},ITooltip.prototype.tooltipHTML=function(e){return this.tooltip.html(e)},ITooltip.prototype.tooltipFormat=function(e={}){switch(e.label=e.label===void 0?``:e.label,this._labelFormatter?e.label=this._labelFormatter(e.label)||``:this.formatData&&this.parseData&&(e.label=this.formatData(this.parseData(e.label))),e.series=e.series||``,e.value instanceof Date?e.value=e.value||``:this._valueFormatter?e.value=this._valueFormatter(e.value)||``:this.formatValue&&this.parseValue&&(e.value=this.formatValue(this.parseValue(e.value))),this.tooltipStyle()){case`none`:break;case`series-table`:let t=`<table class="ITooltip-series-table"><thead><tr><th colspan="2">`+e.label+`</th></tr></thead><tbody>`;return e.arr.forEach(function(e){t+=`<tr>`,t+=`<td>`,t+=`<div class="series-table-row-color" style="background-color:`+e.color+`"></div>`,t+=`<div class="series-table-row-label">`+e.label+`</div>`,t+=`</td>`,t+=`<td><div class="series-table-row-value">`+e.value+`</div></td>`,t+=`</tr>`}),t+=`</tbody>`,t+=`</table>`,t;default:return e.series?`<span style='color:`+this.tooltipSeriesColor()+`'>`+e.series+`</span> / <span style='color:`+this.tooltipLabelColor()+`'>`+e.label+`</span>: <span style='color:`+this.tooltipValueColor()+`'>`+e.value+`</span>`:e.label===``?`<span style='color:`+this.tooltipValueColor()+`'>`+e.value+`</span>`:`<span style='color:`+this.tooltipLabelColor()+`'>`+e.label+`</span>: <span style='color:`+this.tooltipValueColor()+`'>`+e.value+`</span>`}},ITooltip.prototype.tooltipKeyValueFormat=function(e,t){let n=``;for(let r in t)if(r!==e){let e=t&&t[r]?t[r]:``;n+=`<tr><td style="${this.tooltipLabelColor_exists()?`color:`+this.tooltipLabelColor():``}">${r}</td><td style="font-weight:normal">${e}</td></tr>`}return`<table>
2
+ <thead>
3
+ <tr><th colspan="2" style="font-weight:bold;font-size:16px">${t[e]}</th></tr>
4
+ </thead>
5
+ <tbody>
6
+ ${n}
7
+ </tbody>
8
+ </table>`},ITooltip.prototype.publish(`tooltipStyle`,`default`,`set`,`Style mode`,[`default`,`none`,`series-table`],{}),ITooltip.prototype.publish(`tooltipFollowMouse`,!1,`boolean`,`If true, the tooltip will follow mouse movement`,null,{}),ITooltip.prototype.publish(`tooltipLabelFormat`,void 0,`string`,`Format of tooltip label(s) (the domain axis)`,null,{}),ITooltip.prototype.publish(`tooltipValueFormat`,void 0,`string`,`Number format of tooltip value(s)`,null,{}),ITooltip.prototype.publish(`tooltipSeriesColor`,`#EAFFFF`,`html-color`,`Color of tooltip series text`,null,{}),ITooltip.prototype.publish(`tooltipLabelColor`,`#CCFFFF`,`html-color`,`Color of tooltip label text (the domain axis)`,null,{}),ITooltip.prototype.publish(`tooltipValueColor`,`white`,`html-color`,`Color of tooltip value(s)`,null,{}),ITooltip.prototype.publish(`tooltipTick`,!0,`boolean`,`Show tooltip tick`,null,{}),ITooltip.prototype.publish(`tooltipOffset`,8,`number`,`Offset from the cursor`,null,{});var a=ITooltip.prototype.tooltipLabelFormat;ITooltip.prototype.tooltipLabelFormat=function(e){let n=a.apply(this,arguments);return arguments.length&&(this._labelFormatter=(0,t.format)(e)),n};var o=ITooltip.prototype.tooltipValueFormat;ITooltip.prototype.tooltipValueFormat=function(e){let n=o.apply(this,arguments);return arguments.length&&(this._valueFormatter=(0,t.format)(e)),n};function ITree(){}ITree.prototype.constructor=ITree,ITree.prototype.click=function(e,t,n){},ITree.prototype.dblclick=function(e,t,n){},ITree.prototype._palette=t.Palette.ordinal(`default`),e.BUILD_VERSION=i,e.I1DChart=I1DChart,e.I2DAggrChart=I2DAggrChart,e.I2DChart=I2DChart,e.IGraph=IGraph,e.IInput=IInput,e.INDChart=INDChart,e.ITooltip=ITooltip,e.ITree=ITree,e.PKG_NAME=n,e.PKG_VERSION=r,e.instanceOfIHighlight=instanceOfIHighlight});
2
9
  //# sourceMappingURL=index.umd.cjs.map
3
- !function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('.d3-tip{line-height:1;font-weight:700;padding:12px;background:#000000a8;color:#fff;border-radius:2px;pointer-events:none!important;z-index:10}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;display:inline-block;border:4px solid rgba(0,0,0,.66);position:absolute;pointer-events:none!important;width:8px;height:8px;margin:0}.d3-tip.n:after{top:100%;left:calc(50% - 4px);border-top-width:8px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.e:after{top:calc(50% - 4px);left:-12px;border-top-color:transparent;border-right-width:8px;border-bottom-color:transparent;border-left-color:transparent}.d3-tip.s{margin-top:8px}.d3-tip.s:after{top:-12px;left:calc(50% - 4px);border-top-color:transparent;border-right-color:transparent;border-bottom-width:8px;border-left-color:transparent}.d3-tip.w:after{top:calc(50% - 4px);left:100%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;border-left-width:8px}.d3-tip.notick:after{border-color:transparent!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{padding:6px;text-align:left;border:1px solid #D1D1D1}.d3-tip .ITooltip-series-table .series-table-row-color{display:inline-block;height:10px;width:10px;margin-right:10px}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{background-color:#fff;color:#555;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #A3A3A3}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
10
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.d3-tip{color:#fff;z-index:10;background:#000000a8;border-radius:2px;padding:12px;font-weight:700;line-height:1;pointer-events:none!important}.d3-tip.hidden{visibility:hidden}.d3-tip:after{content:" ";box-sizing:border-box;border:4px solid #000000a8;width:8px;height:8px;margin:0;display:inline-block;position:absolute;pointer-events:none!important}.d3-tip.n:after{border-top-width:8px;border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%;left:calc(50% - 4px)}.d3-tip.e:after{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;border-right-width:8px;top:calc(50% - 4px);left:-12px}.d3-tip.s{margin-top:8px}.d3-tip.s:after{border-top-color:#0000;border-bottom-width:8px;border-left-color:#0000;border-right-color:#0000;top:-12px;left:calc(50% - 4px)}.d3-tip.w:after{border-top-color:#0000;border-bottom-color:#0000;border-left-width:8px;border-right-color:#0000;top:calc(50% - 4px);left:100%}.d3-tip.notick:after{border-color:#0000!important}.common_Widget .over{stroke:#000000a8;opacity:.66}.d3-tip.ITooltip-tooltipStyle-series-table{padding:0}.d3-tip .ITooltip-series-table th,.d3-tip .ITooltip-series-table td{text-align:left;border:1px solid #d1d1d1;padding:6px}.d3-tip .ITooltip-series-table .series-table-row-color{width:10px;height:10px;margin-right:10px;display:inline-block}.d3-tip .ITooltip-series-table .series-table-row-label{display:inline-block}.d3-tip .ITooltip-series-table th{background-color:#b3b3b3}.d3-tip .ITooltip-series-table td{color:#555;background-color:#fff;font-weight:400}.d3-tip .ITooltip-series-table td:first-child{border-right:0}table.ITooltip-series-table td:last-child{border-left:1px dotted #a3a3a3}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","sources":["../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts","../src/__package__.ts"],"sourcesContent":["import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n","export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n"],"names":["I1DChart","I2DChart","I2DAggrChart","IGraph","instanceOfIHighlight","w","highlightColumn","IInput","INDChart","tip","direction","d3TipDirection","offset","d3TipOffset","html","d3TipHTML","rootElement","functor","document","body","node","initNode","svg","point","target","vis","getSVGNode","createSVGPoint","re","appendChild","show","d","idx","arr","args","Array","prototype","slice","call","arguments","content","apply","this","poffset","nodel","getNodeEl","coords","i","directions","length","root_bbox","getBoundingClientRect","style","classed","placement_success","placement_overflow","least_overflow_direction","_placement_attempt","top_offset","_vertical_adjustment","left_offset","_horizontal_adjustment","overflow_obj","left","right","top","bottom","_dir","_top_offset","_left_offset","directionCallbacks","get","nodel_bbox","ret","total_overflow","Object","keys","filter","side","reduce","sum","hide","attr","n","v","selection","destroy","remove","__name","map","directionNorth","s","directionSouth","e","directionEast","directionWest","nw","directionNorthWest","ne","directionNorthEast","sw","directionSouthWest","se","directionSouthEast","bbox","getScreenBBox","window","y","offsetHeight","x","offsetWidth","div","select","createElement","element","svgNode","tagName","toLowerCase","ownerSVGElement","targetShape","targetel","getCTM","parentNode","matrix","tbbox","getBBox","width","height","matrixTransform","ITooltip","tooltip","tooltipLabelFormat_exists","_labelFormatter","d3Format","tooltipLabelFormat","tooltipValueFormat_exists","_valueFormatter","tooltipValueFormat","layerEnter","_base","svgElement","_domElement","_parentOverlay","tooltipEnter","layerUpdate","tooltipUpdate","layerExit","tooltipExit","enter","_domNode","update","_element","exit","_dataFamily","_palette","Palette","rainbow","click","row","column","selected","dblclick","ordinal","fillColor","value","origRow","strokeColor","d3Hsl","darker","toString","textColor","vertex_click","_row","_col","_sel","more","vertex","vertex_dblclick","edge_click","edge","edge_dblclick","create","Widget","constructor","isValid","validate","RegExp","test","hasValue","type","blur","_w","keyup","focus","change","complete","resetValue","_inputElement","disable","forEach","setFocus","publish","overlayElement","parentOverlay","empty","event","tooltipFollowMouse","d3tipElement","querySelector","display","tooltipOffset","clientX","clientY","split","join","tooltipTick","tooltipStyle","_class","indexOf","_tooltipHTML","tooltipHTML","_","tooltipFormat","opts","label","formatData","parseData","series","Date","formatValue","parseValue","color","tooltipSeriesColor","tooltipLabelColor","tooltipValueColor","tooltipKeyValueFormat","titleKey","obj","key","tooltipLabelColor_exists","retVal","ITree"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.cjs","names":[],"sources":["../src/__package__.ts","../src/I1DChart.ts","../src/I2DChart.ts","../src/I2DAggrChart.ts","../src/IGraph.ts","../src/IHighlight.ts","../src/IInput.ts","../src/INDChart.ts","../src/Tooltip.ts","../src/ITooltip.ts","../src/ITree.ts"],"sourcesContent":["export const PKG_NAME = \"__PACKAGE_NAME__\";\nexport const PKG_VERSION = \"__PACKAGE_VERSION__\";\nexport const BUILD_VERSION = \"__BUILD_VERSION__\";\n","import { Palette } from \"@hpcc-js/common\";\n\nexport function I1DChart() {\n}\nI1DChart.prototype._dataFamily = \"1D\";\nI1DChart.prototype._palette = Palette.rainbow(\"default\");\n\n// Events ---\nI1DChart.prototype.click = function (row, column, selected) {\n};\n\nI1DChart.prototype.dblclick = function (row, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DChart() {\n}\nI2DChart.prototype._dataFamily = \"2D\";\nI2DChart.prototype._palette = Palette.ordinal(\"default\");\n\nI2DChart.prototype.fillColor = function (row: any[], column, value, origRow): string {\n return this._palette(row[0]);\n};\n\nI2DChart.prototype.strokeColor = function (row: any[], column, value, origRow): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nI2DChart.prototype.textColor = function (row: any[], column, value, origRow): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nI2DChart.prototype.click = function (row: object, column, selected) {\n};\n\nI2DChart.prototype.dblclick = function (row: object, column, selected) {\n};\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function I2DAggrChart() {\n}\nI2DAggrChart.prototype._palette = Palette.rainbow(\"default\");\n\nI2DAggrChart.prototype.fillColor = function (row: any[][], column, value): string {\n return this._palette(row.length);\n};\n\nI2DAggrChart.prototype.strokeColor = function (row: any[][], column, value): string {\n return d3Hsl(this.fillColor(row, column, value)).darker().toString();\n};\n\nI2DAggrChart.prototype.textColor = function (row: any[][], column, value): string {\n return Palette.textColor(this.fillColor(row, column, value));\n};\n\n// Events ---\nI2DAggrChart.prototype.click = function (row: object[], column, selected) {\n};\n\nI2DAggrChart.prototype.dblclick = function (row: object[], column, selected) {\n};\n","export function IGraph() {\n}\nIGraph.prototype._dataFamily = \"graph\";\n\n// Events ---\nIGraph.prototype.vertex_click = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.vertex_dblclick = function (_row, _col, _sel, more) {\n if (more && more.vertex) {\n }\n};\n\nIGraph.prototype.edge_click = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n\nIGraph.prototype.edge_dblclick = function (_row, _col, _sel, more) {\n if (more && more.edge) {\n }\n};\n","export interface IHighlight {\n highlightColumn(column: string): this;\n}\n\nexport function instanceOfIHighlight(w: any): w is IHighlight {\n return typeof (w as any).highlightColumn === \"function\";\n}\n","import { Widget } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function IInput() {\n}\nIInput.prototype = Object.create(Widget.prototype);\nIInput.prototype.constructor = IInput;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\n// Implementation ---\nIInput.prototype.isValid = function () {\n if (this.validate()) {\n const re = new RegExp(this.validate());\n if (!re.test(this.value())) {\n return false;\n }\n }\n return true;\n};\n\nIInput.prototype.hasValue = function () {\n if (typeof (this as any).type === \"function\") {\n switch ((this as any).type()) {\n case \"radio\":\n /* falls through */\n case \"checkbox\":\n if (this.value() && this.value() !== \"false\") {\n return true;\n }\n break;\n default:\n if (this.value()) {\n return true;\n }\n break;\n }\n return false;\n }\n return this.value() !== \"\";\n};\n\n// Events ---\nIInput.prototype.blur = function (_w) {\n};\nIInput.prototype.keyup = function (_w) {\n};\nIInput.prototype.focus = function (_w) {\n};\nIInput.prototype.click = function (_w) {\n};\nIInput.prototype.dblclick = function (_w) {\n};\nIInput.prototype.change = function (_w, complete: boolean) {\n};\n\nIInput.prototype.resetValue = function (w) {\n w.value(w._inputElement[0].node().value);\n};\n\nIInput.prototype.disable = function (disable) {\n this._inputElement.forEach(function (e, idx) {\n e.attr(\"disabled\", disable ? \"disabled\" : null);\n });\n};\n\nIInput.prototype.setFocus = function () {\n if (this._inputElement.length) {\n this._inputElement[0].node().focus();\n }\n};\n\nexport interface IInput {\n name: { (): string; (_: string): IInput };\n name_exists: () => boolean;\n label: { (): string; (_: string): IInput };\n label_exists: () => boolean;\n value: { (): any; (_: any): IInput };\n value_exists: () => boolean;\n validate: { (): string; (_: string): IInput };\n validate_exists: () => boolean;\n}\nIInput.prototype.publish(\"name\", \"\", \"string\", \"HTML name for the input\");\nIInput.prototype.publish(\"label\", \"\", \"string\", \"Descriptive label\");\nIInput.prototype.publish(\"value\", \"\", \"string\", \"Input Current Value\");\nIInput.prototype.publish(\"validate\", null, \"string\", \"Input Validation\");\n","import { Palette } from \"@hpcc-js/common\";\nimport { hsl as d3Hsl } from \"d3-color\";\n\nexport function INDChart() {\n}\nINDChart.prototype._dataFamily = \"ND\";\nINDChart.prototype._palette = Palette.ordinal(\"default\");\n\nINDChart.prototype.fillColor = function (row: any[], column: string, value: number, origRow: any): string {\n return this._palette(column);\n};\n\nINDChart.prototype.strokeColor = function (row: any[], column: string, value: number, origRow: any): string {\n return d3Hsl(this.fillColor(row, column, value, origRow)).darker().toString();\n};\n\nINDChart.prototype.textColor = function (row: any[], column: string, value: number, origRow: any): string {\n return Palette.textColor(this.fillColor(row, column, value, origRow));\n};\n\n// Events ---\nINDChart.prototype.click = function (row, column, selected) {\n};\n\nINDChart.prototype.dblclick = function (row, column, selected) {\n};\n","// Based on https://github.com/GordonSmith/d3-tip forked from https://github.com/Caged/d3-tip\n\nimport { map } from \"d3-collection\";\nimport { select, selection } from \"d3-selection\";\n\nexport function tip() {\n let direction = d3TipDirection;\n let offset = d3TipOffset;\n let html = d3TipHTML;\n let rootElement = functor(document.body);\n let node = initNode();\n let svg = null;\n let point = null;\n let target = null;\n\n const tip: any = function (vis) {\n svg = getSVGNode(vis);\n if (!svg) return;\n point = svg.createSVGPoint();\n const re = rootElement();\n if (!re) return;\n if (!node) return;\n re.appendChild(node);\n };\n\n // Public - show the tooltip on the screen\n //\n // Returns a tip\n tip.show = function (d, idx, arr) {\n target = arr[idx];\n const args = Array.prototype.slice.call(arguments) as [];\n const content = html.apply(this, args);\n if (content === null) {\n return tip;\n }\n const poffset = offset.apply(this, args);\n const nodel = getNodeEl();\n let i = directions.length;\n let coords;\n const root_bbox = rootElement().getBoundingClientRect();\n nodel.html(content)\n .style(\"opacity\", 1).style(\"pointer-events\", \"all\");\n\n while (i--) nodel.classed(directions[i], false);\n let placement_success = false;\n const placement_overflow = {};\n let least_overflow_direction = directions[0];\n for (let i = 0; i < directions.length; i++) {\n placement_success = _placement_attempt(directions[i]);\n if (placement_success) break;\n }\n if (!placement_success) {\n nodel.classed(\"notick\", true);\n const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);\n const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);\n _placement_attempt(least_overflow_direction, top_offset, left_offset);\n } else {\n nodel.classed(\"notick\", false);\n }\n return tip;\n\n function _horizontal_adjustment(overflow_obj) {\n if (overflow_obj.left > overflow_obj.right) {\n return overflow_obj.left > 0 ? -overflow_obj.left : 0;\n } else {\n return overflow_obj.right > 0 ? overflow_obj.right : 0;\n }\n }\n function _vertical_adjustment(overflow_obj) {\n if (overflow_obj.top > overflow_obj.bottom) {\n return overflow_obj.top > 0 ? -overflow_obj.top : 0;\n } else {\n return overflow_obj.bottom;\n }\n }\n\n function _placement_attempt(this: any, _dir, _top_offset?, _left_offset?) {\n _top_offset = _top_offset ? _top_offset : 0;\n _left_offset = _left_offset ? _left_offset : 0;\n nodel.style(\"white-space\", \"nowrap\");\n coords = directionCallbacks.get(_dir).apply(this);\n nodel.classed(_dir, true)\n .style(\"top\", (coords.top + poffset[0] - _top_offset) + \"px\")\n .style(\"left\", (coords.left + poffset[1] - _left_offset) + \"px\");\n const nodel_bbox = nodel.node().getBoundingClientRect();\n const ret = nodel_bbox.top > root_bbox.top\n && nodel_bbox.left > root_bbox.left\n && nodel_bbox.bottom < root_bbox.bottom\n && nodel_bbox.right < root_bbox.right\n ;\n placement_overflow[_dir] = {\n top: root_bbox.top - nodel_bbox.top,\n right: nodel_bbox.right - root_bbox.right,\n bottom: nodel_bbox.bottom - root_bbox.bottom,\n left: root_bbox.left - nodel_bbox.left\n };\n nodel.style(\"white-space\", \"normal\");\n placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir])\n .filter(side => placement_overflow[_dir][side] > 0)\n .reduce((sum, side) => {\n const side_overflow = placement_overflow[_dir][side];\n return sum + side_overflow;\n }, 0);\n if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) {\n least_overflow_direction = _dir;\n }\n if (!ret) {\n nodel.classed(_dir, false);\n }\n return ret;\n }\n };\n\n // Public - hide the tooltip\n //\n // Returns a tip\n tip.hide = function () {\n const nodel = getNodeEl();\n nodel.style(\"opacity\", 0).style(\"pointer-events\", \"none\");\n return tip;\n };\n\n // Public: Proxy attr calls to the d3 tip container.\n // Sets or gets attribute value.\n //\n // n - name of the attribute\n // v - value of the attribute\n //\n // Returns tip or attribute value\n tip.attr = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().attr(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.attr.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Proxy style calls to the d3 tip container.\n // Sets or gets a style value.\n //\n // n - name of the property\n // v - value of the property\n //\n // Returns tip or style property value \n tip.style = function (n, v) {\n if (arguments.length < 2 && typeof n === \"string\") {\n return getNodeEl().style(n);\n }\n\n const args = Array.prototype.slice.call(arguments);\n selection.prototype.style.apply(getNodeEl(), args);\n return tip;\n };\n\n // Public: Set or get the direction of the tooltip\n //\n // v - One of n(north), s(south), e(east), or w(west), nw(northwest),\n // sw(southwest), ne(northeast) or se(southeast)\n //\n // Returns tip or direction\n tip.direction = function (v) {\n if (!arguments.length) return direction;\n direction = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: Sets or gets the offset of the tip\n //\n // v - Array of [x, y] offset\n //\n // Returns offset or\n tip.offset = function (v) {\n if (!arguments.length) return offset;\n offset = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the html value of the tooltip\n //\n // v - String value of the tip\n //\n // Returns html value or tip\n tip.html = function (v) {\n if (!arguments.length) return html;\n html = v == null ? v : functor(v);\n\n return tip;\n };\n\n // Public: sets or gets the root element anchor of the tooltip\n //\n // v - root element of the tooltip\n //\n // Returns root node of tip\n tip.rootElement = function (v) {\n if (!arguments.length) return rootElement;\n rootElement = functor(v);\n\n return tip;\n };\n\n // Public: destroys the tooltip and removes it from the DOM\n //\n // Returns a tip\n tip.destroy = function () {\n if (node) {\n getNodeEl().remove();\n node = null;\n }\n return tip;\n };\n\n function d3TipDirection() { return \"n\"; }\n function d3TipOffset() { return [0, 0]; }\n function d3TipHTML() { return \" \"; }\n\n const directionCallbacks = map({\n n: directionNorth,\n s: directionSouth,\n e: directionEast,\n w: directionWest,\n nw: directionNorthWest,\n ne: directionNorthEast,\n sw: directionSouthWest,\n se: directionSouthEast\n });\n const directions = directionCallbacks.keys();\n\n function directionNorth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.n.y - node.offsetHeight,\n left: bbox.n.x - node.offsetWidth / 2\n };\n }\n\n function directionSouth() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.s.y + 8,\n left: bbox.s.x - node.offsetWidth / 2\n };\n }\n\n function directionEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.e.y - node.offsetHeight / 2,\n left: bbox.e.x + 8\n };\n }\n\n function directionWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.w.y - node.offsetHeight / 2,\n left: bbox.w.x - node.offsetWidth - 8\n };\n }\n\n function directionNorthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.nw.y - node.offsetHeight,\n left: bbox.nw.x - node.offsetWidth\n };\n }\n\n function directionNorthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.ne.y - node.offsetHeight,\n left: bbox.ne.x\n };\n }\n\n function directionSouthWest() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.sw.y,\n left: bbox.sw.x - node.offsetWidth\n };\n }\n\n function directionSouthEast() {\n const bbox = getScreenBBox(window);\n return {\n top: bbox.se.y,\n left: bbox.se.x\n };\n }\n\n function initNode() {\n const div = select(document.createElement(\"div\"));\n div\n .attr(\"class\", \"d3-tip\")\n .style(\"position\", \"absolute\")\n .style(\"top\", \"0px\")\n .style(\"opacity\", 0)\n .style(\"pointer-events\", \"none\")\n .style(\"box-sizing\", \"border-box\");\n\n return div.node();\n }\n\n function getSVGNode(element) {\n const svgNode = element.node();\n if (!svgNode) return null;\n if (svgNode.tagName.toLowerCase() === \"svg\") return svgNode;\n return svgNode.ownerSVGElement;\n }\n\n function getNodeEl() {\n if (node == null) {\n node = initNode();\n // re-add node to DOM\n rootElement().appendChild(node);\n }\n return select(node);\n }\n\n // Private - gets the screen coordinates of a shape\n //\n // Given a shape on the screen, will return an SVGPoint for the directions\n // n(north), s(south), e(east), w(west), ne(northeast), se(southeast),\n // nw(northwest), sw(southwest).\n //\n // +-+-+\n // | |\n // + +\n // | |\n // +-+-+\n //\n // Returns an Object {n, s, e, w, nw, sw, ne, se}\n function getScreenBBox(targetShape) {\n let targetel = target || targetShape;\n\n while (targetel.getCTM == null && targetel.parentNode != null) {\n targetel = targetel.parentNode;\n }\n\n const bbox: any = {};\n const matrix = targetel.getCTM();\n const tbbox = targetel.getBBox();\n const width = tbbox.width;\n const height = tbbox.height;\n const x = tbbox.x;\n const y = tbbox.y;\n\n point.x = x;\n point.y = y;\n bbox.nw = point.matrixTransform(matrix);\n point.x += width;\n bbox.ne = point.matrixTransform(matrix);\n point.y += height;\n bbox.se = point.matrixTransform(matrix);\n point.x -= width;\n bbox.sw = point.matrixTransform(matrix);\n point.y -= height / 2;\n bbox.w = point.matrixTransform(matrix);\n point.x += width;\n bbox.e = point.matrixTransform(matrix);\n point.x -= width / 2;\n point.y -= height / 2;\n bbox.n = point.matrixTransform(matrix);\n point.y += height;\n bbox.s = point.matrixTransform(matrix);\n\n return bbox;\n }\n\n // Private - replace D3JS 3.X d3.functor() function\n function functor(v) {\n return typeof v === \"function\" ? v : function () {\n return v;\n };\n }\n\n return tip;\n}\n","import { Widget } from \"@hpcc-js/common\";\nimport { format as d3Format } from \"d3-format\";\nimport { tip } from \"./Tooltip.ts\";\n\nimport \"../src/ITooltip.css\";\n\ndeclare const event: object;\n\n// Use old school class declaration as this is a mixin ---\nexport function ITooltip(this: any) {\n this.tooltip = tip();\n\n if (this.tooltipLabelFormat_exists()) {\n this._labelFormatter = d3Format(this.tooltipLabelFormat() as string);\n }\n\n if (this.tooltipValueFormat_exists()) {\n this._valueFormatter = d3Format(this.tooltipValueFormat() as string);\n }\n\n if (this.layerEnter) {\n const layerEnter = this.layerEnter;\n this.layerEnter = function (_base, svgElement, _domElement) {\n if (!this._parentOverlay) {\n this._parentOverlay = _base._parentOverlay;\n }\n this.tooltipEnter(svgElement);\n layerEnter.apply(this, arguments);\n };\n const layerUpdate = this.layerUpdate;\n this.layerUpdate = function (_base) {\n layerUpdate.apply(this, arguments);\n this.tooltipUpdate();\n };\n const layerExit = this.layerExit;\n this.layerExit = function (_base) {\n this.tooltipExit();\n layerExit.apply(this, arguments);\n };\n } else {\n const enter = this.enter;\n this.enter = function (_domNode, element) {\n this.tooltipEnter(element);\n enter.apply(this, arguments);\n };\n const update = this.update;\n this.update = function (_domNode, _element) {\n update.apply(this, arguments);\n this.tooltipUpdate();\n };\n const exit = this.exit;\n this.exit = function (_domNode, _element) {\n this.tooltipExit();\n exit.apply(this, arguments);\n };\n }\n}\nITooltip.prototype = Object.create(Widget.prototype);\nITooltip.prototype.constructor = ITooltip;\n\n// abstract target(): any;\n// abstract target(_: any): this;\n\nITooltip.prototype.tooltipEnter = function (element) {\n const overlayElement = this.parentOverlay();\n if (!overlayElement.empty()) {\n this.tooltip.rootElement(overlayElement.node().parentNode);\n }\n element.call(this.tooltip);\n};\n\nITooltip.prototype.tooltipUpdate = function () {\n this.tooltip.offset(() => {\n if (event && this.tooltipFollowMouse()) {\n const d3tipElement: HTMLDivElement = document.querySelector(\".d3-tip\"); // d3Tip offers no reference to the '.d3-tip' element...?\n d3tipElement.style.display = \"block\";\n d3tipElement.style.left = this.tooltipOffset() + ((event as any).clientX) + \"px\";\n d3tipElement.style.top = (event as any).clientY + \"px\";\n return [];\n }\n switch (this.tooltip.direction()()) {\n case \"e\":\n return [0, this.tooltipOffset()];\n default:\n return [-this.tooltipOffset(), 0];\n }\n });\n\n let classed = this.tooltip.attr(\"class\");\n if (classed) {\n classed = classed.split(\" notick\").join(\"\") + (this.tooltipTick() ? \"\" : \" notick\") + (this.tooltipStyle() === \"none\" ? \" hidden\" : \"\");\n classed = classed.split(\" \")\n .filter(function (_class) {\n return _class.indexOf(\"ITooltip-tooltipStyle-\") !== 0;\n })\n .join(\" \")\n ;\n classed += \" ITooltip-tooltipStyle-\" + this.tooltipStyle();\n this.tooltip\n .attr(\"class\", classed)\n ;\n }\n};\n\nITooltip.prototype.tooltipExit = function () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n};\n\nITooltip.prototype._tooltipHTML = function (d) {\n return d;\n};\n\nITooltip.prototype.tooltipHTML = function (_) {\n return this.tooltip.html(_);\n};\n\nITooltip.prototype.tooltipFormat = function (opts: { label?: string | number, series?: string | number, value?: Date | string | number, arr?: Array<{ color: string, label: string, value: string }> } = {}) {\n opts.label = opts.label === undefined ? \"\" : opts.label;\n if (this._labelFormatter) {\n opts.label = this._labelFormatter(opts.label) || \"\";\n } else if (this.formatData && this.parseData) {\n opts.label = this.formatData(this.parseData(opts.label));\n }\n opts.series = opts.series || \"\";\n if (opts.value instanceof Date) {\n opts.value = opts.value || \"\";\n } else if (this._valueFormatter) {\n opts.value = this._valueFormatter(opts.value) || \"\";\n } else if (this.formatValue && this.parseValue) {\n opts.value = this.formatValue(this.parseValue(opts.value));\n }\n switch (this.tooltipStyle()) {\n case \"none\":\n break;\n case \"series-table\":\n let html = '<table class=\"ITooltip-series-table\">'\n + \"<thead>\"\n + '<tr><th colspan=\"2\">' + opts.label + \"</th></tr>\"\n + \"</thead>\"\n + \"<tbody>\";\n opts.arr.forEach(function (row) {\n html += \"<tr>\";\n html += \"<td>\";\n html += '<div class=\"series-table-row-color\" style=\"background-color:' + row.color + '\"></div>';\n html += '<div class=\"series-table-row-label\">' + row.label + \"</div>\";\n html += \"</td>\";\n html += '<td><div class=\"series-table-row-value\">' + row.value + \"</div></td>\";\n html += \"</tr>\";\n });\n html += \"</tbody>\";\n html += \"</table>\";\n return html;\n default:\n if (opts.series) {\n return \"<span style='color:\" + this.tooltipSeriesColor() + \"'>\" + opts.series + \"</span> / <span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n if (opts.label !== \"\") {\n return \"<span style='color:\" + this.tooltipLabelColor() + \"'>\" + opts.label + \"</span>: <span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n return \"<span style='color:\" + this.tooltipValueColor() + \"'>\" + opts.value + \"</span>\";\n }\n};\n\nITooltip.prototype.tooltipKeyValueFormat = function (titleKey: string, obj: object): string {\n let body = \"\";\n for (const key in obj) {\n if (key !== titleKey) {\n const value = obj && obj[key] ? obj[key] : \"\";\n body += `<tr><td style=\"${this.tooltipLabelColor_exists() ? \"color:\" + this.tooltipLabelColor() : \"\"}\">${key}</td><td style=\"font-weight:normal\">${value}</td></tr>`;\n }\n }\n return `<table>\n <thead>\n <tr><th colspan=\"2\" style=\"font-weight:bold;font-size:16px\">${obj[titleKey]}</th></tr>\n </thead>\n <tbody>\n ${body}\n </tbody>\n </table>`;\n};\n\nexport interface ITooltip {\n tooltipStyle: { (): \"default\" | \"none\" | \"series-table\"; (_: \"default\" | \"none\" | \"series-table\"): ITooltip; };\n tooltipFollowMouse: { (): boolean; (_: boolean): ITooltip; };\n tooltipLabelFormat: (_?) => string | ITooltip;\n tooltipLabelFormat_exists: () => boolean;\n tooltipValueFormat: (_?) => string | ITooltip;\n tooltipValueFormat_exists: () => boolean;\n tooltipSeriesColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor: { (): string; (_: string): ITooltip; };\n tooltipLabelColor_exists: () => boolean;\n tooltipValueColor: { (): string; (_: string): ITooltip; };\n tooltipTick: { (): boolean; (_: boolean): ITooltip; };\n tooltipOffset: { (): number; (_: number): ITooltip; };\n tooltipOffset_default: { (): number; (_: number): ITooltip; };\n}\nITooltip.prototype.publish(\"tooltipStyle\", \"default\", \"set\", \"Style mode\", [\"default\", \"none\", \"series-table\"], {});\nITooltip.prototype.publish(\"tooltipFollowMouse\", false, \"boolean\", \"If true, the tooltip will follow mouse movement\", null, {});\nITooltip.prototype.publish(\"tooltipLabelFormat\", undefined, \"string\", \"Format of tooltip label(s) (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueFormat\", undefined, \"string\", \"Number format of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipSeriesColor\", \"#EAFFFF\", \"html-color\", \"Color of tooltip series text\", null, {});\nITooltip.prototype.publish(\"tooltipLabelColor\", \"#CCFFFF\", \"html-color\", \"Color of tooltip label text (the domain axis)\", null, {});\nITooltip.prototype.publish(\"tooltipValueColor\", \"white\", \"html-color\", \"Color of tooltip value(s)\", null, {});\nITooltip.prototype.publish(\"tooltipTick\", true, \"boolean\", \"Show tooltip tick\", null, {});\nITooltip.prototype.publish(\"tooltipOffset\", 8, \"number\", \"Offset from the cursor\", null, {});\n\nconst tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;\nITooltip.prototype.tooltipLabelFormat = function (_?): string | ITooltip {\n const retVal = tooltipLabelFormat.apply(this, arguments);\n if (arguments.length) {\n this._labelFormatter = d3Format(_);\n }\n return retVal;\n};\n\nconst tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;\nITooltip.prototype.tooltipValueFormat = function (_?): string | ITooltip {\n const retVal = tooltipValueFormat.apply(this, arguments);\n if (arguments.length) {\n this._valueFormatter = d3Format(_);\n }\n return retVal;\n};\n","import { Palette } from \"@hpcc-js/common\";\n\n// Use old school class declaration as this is a mixin ---\nexport function ITree() {\n}\nITree.prototype.constructor = ITree;\n\n// Events ---\nITree.prototype.click = function (row, column, selected) {\n};\n\nITree.prototype.dblclick = function (row, column, selected) {\n};\n\nITree.prototype._palette = Palette.ordinal(\"default\");\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/api",
3
- "version": "3.4.18",
3
+ "version": "3.4.20",
4
4
  "description": "hpcc-js - Viz api",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.cjs",
@@ -39,10 +39,10 @@
39
39
  "update-major": "npx --yes npm-check-updates -u"
40
40
  },
41
41
  "dependencies": {
42
- "@hpcc-js/common": "^3.7.8"
42
+ "@hpcc-js/common": "^3.7.10"
43
43
  },
44
44
  "devDependencies": {
45
- "@hpcc-js/esbuild-plugins": "^1.8.9",
45
+ "@hpcc-js/esbuild-plugins": "^1.8.11",
46
46
  "d3-collection": "^1",
47
47
  "d3-color": "3.1.0",
48
48
  "d3-format": "^1",
@@ -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": "6695c9be7e44c9a4dd50e36fad2044b287685e2e"
62
+ "gitHead": "1c0e8862859769465f70f384183f1399191d76e6"
63
63
  }