@hpcc-js/api 3.4.0 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,551 +1,3 @@
1
- import { Palette, Widget, format, hsl, map, select, selection } from "@hpcc-js/common";
2
-
3
- //#region src/__package__.ts
4
- const PKG_NAME = "@hpcc-js/api";
5
- const PKG_VERSION = "3.4.0";
6
- const BUILD_VERSION = "3.15.0";
7
-
8
- //#endregion
9
- //#region src/I1DChart.ts
10
- function I1DChart() {}
11
- I1DChart.prototype._dataFamily = "1D";
12
- I1DChart.prototype._palette = Palette.rainbow("default");
13
- I1DChart.prototype.click = function(row, column, selected) {};
14
- I1DChart.prototype.dblclick = function(row, column, selected) {};
15
-
16
- //#endregion
17
- //#region src/I2DChart.ts
18
- function I2DChart() {}
19
- I2DChart.prototype._dataFamily = "2D";
20
- I2DChart.prototype._palette = Palette.ordinal("default");
21
- I2DChart.prototype.fillColor = function(row, column, value, origRow) {
22
- return this._palette(row[0]);
23
- };
24
- I2DChart.prototype.strokeColor = function(row, column, value, origRow) {
25
- return hsl(this.fillColor(row, column, value, origRow)).darker().toString();
26
- };
27
- I2DChart.prototype.textColor = function(row, column, value, origRow) {
28
- return Palette.textColor(this.fillColor(row, column, value, origRow));
29
- };
30
- I2DChart.prototype.click = function(row, column, selected) {};
31
- I2DChart.prototype.dblclick = function(row, column, selected) {};
32
-
33
- //#endregion
34
- //#region src/I2DAggrChart.ts
35
- function I2DAggrChart() {}
36
- I2DAggrChart.prototype._palette = Palette.rainbow("default");
37
- I2DAggrChart.prototype.fillColor = function(row, column, value) {
38
- return this._palette(row.length);
39
- };
40
- I2DAggrChart.prototype.strokeColor = function(row, column, value) {
41
- return hsl(this.fillColor(row, column, value)).darker().toString();
42
- };
43
- I2DAggrChart.prototype.textColor = function(row, column, value) {
44
- return Palette.textColor(this.fillColor(row, column, value));
45
- };
46
- I2DAggrChart.prototype.click = function(row, column, selected) {};
47
- I2DAggrChart.prototype.dblclick = function(row, column, selected) {};
48
-
49
- //#endregion
50
- //#region src/IGraph.ts
51
- function IGraph() {}
52
- IGraph.prototype._dataFamily = "graph";
53
- IGraph.prototype.vertex_click = function(_row, _col, _sel, more) {
54
- if (more && more.vertex) {}
55
- };
56
- IGraph.prototype.vertex_dblclick = function(_row, _col, _sel, more) {
57
- if (more && more.vertex) {}
58
- };
59
- IGraph.prototype.edge_click = function(_row, _col, _sel, more) {
60
- if (more && more.edge) {}
61
- };
62
- IGraph.prototype.edge_dblclick = function(_row, _col, _sel, more) {
63
- if (more && more.edge) {}
64
- };
65
-
66
- //#endregion
67
- //#region src/IHighlight.ts
68
- function instanceOfIHighlight(w) {
69
- return typeof w.highlightColumn === "function";
70
- }
71
-
72
- //#endregion
73
- //#region src/IInput.ts
74
- function IInput() {}
75
- IInput.prototype = Object.create(Widget.prototype);
76
- IInput.prototype.constructor = IInput;
77
- IInput.prototype.isValid = function() {
78
- if (this.validate()) {
79
- if (!new RegExp(this.validate()).test(this.value())) return false;
80
- }
81
- return true;
82
- };
83
- IInput.prototype.hasValue = function() {
84
- if (typeof this.type === "function") {
85
- switch (this.type()) {
86
- case "radio":
87
- case "checkbox":
88
- if (this.value() && this.value() !== "false") return true;
89
- break;
90
- default:
91
- if (this.value()) return true;
92
- break;
93
- }
94
- return false;
95
- }
96
- return this.value() !== "";
97
- };
98
- IInput.prototype.blur = function(_w) {};
99
- IInput.prototype.keyup = function(_w) {};
100
- IInput.prototype.focus = function(_w) {};
101
- IInput.prototype.click = function(_w) {};
102
- IInput.prototype.dblclick = function(_w) {};
103
- IInput.prototype.change = function(_w, complete) {};
104
- IInput.prototype.resetValue = function(w) {
105
- w.value(w._inputElement[0].node().value);
106
- };
107
- IInput.prototype.disable = function(disable) {
108
- this._inputElement.forEach(function(e, idx) {
109
- e.attr("disabled", disable ? "disabled" : null);
110
- });
111
- };
112
- IInput.prototype.setFocus = function() {
113
- if (this._inputElement.length) this._inputElement[0].node().focus();
114
- };
115
- IInput.prototype.publish("name", "", "string", "HTML name for the input");
116
- IInput.prototype.publish("label", "", "string", "Descriptive label");
117
- IInput.prototype.publish("value", "", "string", "Input Current Value");
118
- IInput.prototype.publish("validate", null, "string", "Input Validation");
119
-
120
- //#endregion
121
- //#region src/INDChart.ts
122
- function INDChart() {}
123
- INDChart.prototype._dataFamily = "ND";
124
- INDChart.prototype._palette = Palette.ordinal("default");
125
- INDChart.prototype.fillColor = function(row, column, value, origRow) {
126
- return this._palette(column);
127
- };
128
- INDChart.prototype.strokeColor = function(row, column, value, origRow) {
129
- return hsl(this.fillColor(row, column, value, origRow)).darker().toString();
130
- };
131
- INDChart.prototype.textColor = function(row, column, value, origRow) {
132
- return Palette.textColor(this.fillColor(row, column, value, origRow));
133
- };
134
- INDChart.prototype.click = function(row, column, selected) {};
135
- INDChart.prototype.dblclick = function(row, column, selected) {};
136
-
137
- //#endregion
138
- //#region src/Tooltip.ts
139
- function tip() {
140
- let direction = d3TipDirection;
141
- let offset = d3TipOffset;
142
- let html = d3TipHTML;
143
- let rootElement = functor(document.body);
144
- let node = initNode();
145
- let svg = null;
146
- let point = null;
147
- let target = null;
148
- const tip$1 = function(vis) {
149
- svg = getSVGNode(vis);
150
- if (!svg) return;
151
- point = svg.createSVGPoint();
152
- const re = rootElement();
153
- if (!re) return;
154
- if (!node) return;
155
- re.appendChild(node);
156
- };
157
- tip$1.show = function(d, idx, arr) {
158
- target = arr[idx];
159
- const args = Array.prototype.slice.call(arguments);
160
- const content = html.apply(this, args);
161
- if (content === null) return tip$1;
162
- const poffset = offset.apply(this, args);
163
- const nodel = getNodeEl();
164
- let i = directions.length;
165
- let coords;
166
- const root_bbox = rootElement().getBoundingClientRect();
167
- nodel.html(content).style("opacity", 1).style("pointer-events", "all");
168
- while (i--) nodel.classed(directions[i], false);
169
- let placement_success = false;
170
- const placement_overflow = {};
171
- let least_overflow_direction = directions[0];
172
- for (let i$1 = 0; i$1 < directions.length; i$1++) {
173
- placement_success = _placement_attempt(directions[i$1]);
174
- if (placement_success) break;
175
- }
176
- if (!placement_success) {
177
- nodel.classed("notick", true);
178
- const top_offset = _vertical_adjustment(placement_overflow[least_overflow_direction]);
179
- const left_offset = _horizontal_adjustment(placement_overflow[least_overflow_direction]);
180
- _placement_attempt(least_overflow_direction, top_offset, left_offset);
181
- } else nodel.classed("notick", false);
182
- return tip$1;
183
- function _horizontal_adjustment(overflow_obj) {
184
- if (overflow_obj.left > overflow_obj.right) return overflow_obj.left > 0 ? -overflow_obj.left : 0;
185
- else return overflow_obj.right > 0 ? overflow_obj.right : 0;
186
- }
187
- function _vertical_adjustment(overflow_obj) {
188
- if (overflow_obj.top > overflow_obj.bottom) return overflow_obj.top > 0 ? -overflow_obj.top : 0;
189
- else return overflow_obj.bottom;
190
- }
191
- function _placement_attempt(_dir, _top_offset, _left_offset) {
192
- _top_offset = _top_offset ? _top_offset : 0;
193
- _left_offset = _left_offset ? _left_offset : 0;
194
- nodel.style("white-space", "nowrap");
195
- coords = directionCallbacks.get(_dir).apply(this);
196
- nodel.classed(_dir, true).style("top", coords.top + poffset[0] - _top_offset + "px").style("left", coords.left + poffset[1] - _left_offset + "px");
197
- const nodel_bbox = nodel.node().getBoundingClientRect();
198
- const ret = nodel_bbox.top > root_bbox.top && nodel_bbox.left > root_bbox.left && nodel_bbox.bottom < root_bbox.bottom && nodel_bbox.right < root_bbox.right;
199
- placement_overflow[_dir] = {
200
- top: root_bbox.top - nodel_bbox.top,
201
- right: nodel_bbox.right - root_bbox.right,
202
- bottom: nodel_bbox.bottom - root_bbox.bottom,
203
- left: root_bbox.left - nodel_bbox.left
204
- };
205
- nodel.style("white-space", "normal");
206
- placement_overflow[_dir].total_overflow = Object.keys(placement_overflow[_dir]).filter((side) => placement_overflow[_dir][side] > 0).reduce((sum, side) => {
207
- return sum + placement_overflow[_dir][side];
208
- }, 0);
209
- if (placement_overflow[least_overflow_direction].total_overflow > placement_overflow[_dir].total_overflow) least_overflow_direction = _dir;
210
- if (!ret) nodel.classed(_dir, false);
211
- return ret;
212
- }
213
- };
214
- tip$1.hide = function() {
215
- getNodeEl().style("opacity", 0).style("pointer-events", "none");
216
- return tip$1;
217
- };
218
- tip$1.attr = function(n, v) {
219
- if (arguments.length < 2 && typeof n === "string") return getNodeEl().attr(n);
220
- const args = Array.prototype.slice.call(arguments);
221
- selection.prototype.attr.apply(getNodeEl(), args);
222
- return tip$1;
223
- };
224
- tip$1.style = function(n, v) {
225
- if (arguments.length < 2 && typeof n === "string") return getNodeEl().style(n);
226
- const args = Array.prototype.slice.call(arguments);
227
- selection.prototype.style.apply(getNodeEl(), args);
228
- return tip$1;
229
- };
230
- tip$1.direction = function(v) {
231
- if (!arguments.length) return direction;
232
- direction = v == null ? v : functor(v);
233
- return tip$1;
234
- };
235
- tip$1.offset = function(v) {
236
- if (!arguments.length) return offset;
237
- offset = v == null ? v : functor(v);
238
- return tip$1;
239
- };
240
- tip$1.html = function(v) {
241
- if (!arguments.length) return html;
242
- html = v == null ? v : functor(v);
243
- return tip$1;
244
- };
245
- tip$1.rootElement = function(v) {
246
- if (!arguments.length) return rootElement;
247
- rootElement = functor(v);
248
- return tip$1;
249
- };
250
- tip$1.destroy = function() {
251
- if (node) {
252
- getNodeEl().remove();
253
- node = null;
254
- }
255
- return tip$1;
256
- };
257
- function d3TipDirection() {
258
- return "n";
259
- }
260
- function d3TipOffset() {
261
- return [0, 0];
262
- }
263
- function d3TipHTML() {
264
- return " ";
265
- }
266
- const directionCallbacks = map({
267
- n: directionNorth,
268
- s: directionSouth,
269
- e: directionEast,
270
- w: directionWest,
271
- nw: directionNorthWest,
272
- ne: directionNorthEast,
273
- sw: directionSouthWest,
274
- se: directionSouthEast
275
- });
276
- const directions = directionCallbacks.keys();
277
- function directionNorth() {
278
- const bbox = getScreenBBox(window);
279
- return {
280
- top: bbox.n.y - node.offsetHeight,
281
- left: bbox.n.x - node.offsetWidth / 2
282
- };
283
- }
284
- function directionSouth() {
285
- const bbox = getScreenBBox(window);
286
- return {
287
- top: bbox.s.y + 8,
288
- left: bbox.s.x - node.offsetWidth / 2
289
- };
290
- }
291
- function directionEast() {
292
- const bbox = getScreenBBox(window);
293
- return {
294
- top: bbox.e.y - node.offsetHeight / 2,
295
- left: bbox.e.x + 8
296
- };
297
- }
298
- function directionWest() {
299
- const bbox = getScreenBBox(window);
300
- return {
301
- top: bbox.w.y - node.offsetHeight / 2,
302
- left: bbox.w.x - node.offsetWidth - 8
303
- };
304
- }
305
- function directionNorthWest() {
306
- const bbox = getScreenBBox(window);
307
- return {
308
- top: bbox.nw.y - node.offsetHeight,
309
- left: bbox.nw.x - node.offsetWidth
310
- };
311
- }
312
- function directionNorthEast() {
313
- const bbox = getScreenBBox(window);
314
- return {
315
- top: bbox.ne.y - node.offsetHeight,
316
- left: bbox.ne.x
317
- };
318
- }
319
- function directionSouthWest() {
320
- const bbox = getScreenBBox(window);
321
- return {
322
- top: bbox.sw.y,
323
- left: bbox.sw.x - node.offsetWidth
324
- };
325
- }
326
- function directionSouthEast() {
327
- const bbox = getScreenBBox(window);
328
- return {
329
- top: bbox.se.y,
330
- left: bbox.se.x
331
- };
332
- }
333
- function initNode() {
334
- const div = select(document.createElement("div"));
335
- div.attr("class", "d3-tip").style("position", "absolute").style("top", "0px").style("opacity", 0).style("pointer-events", "none").style("box-sizing", "border-box");
336
- return div.node();
337
- }
338
- function getSVGNode(element) {
339
- const svgNode = element.node();
340
- if (!svgNode) return null;
341
- if (svgNode.tagName.toLowerCase() === "svg") return svgNode;
342
- return svgNode.ownerSVGElement;
343
- }
344
- function getNodeEl() {
345
- if (node == null) {
346
- node = initNode();
347
- rootElement().appendChild(node);
348
- }
349
- return select(node);
350
- }
351
- function getScreenBBox(targetShape) {
352
- let targetel = target || targetShape;
353
- while (targetel.getCTM == null && targetel.parentNode != null) targetel = targetel.parentNode;
354
- const bbox = {};
355
- const matrix = targetel.getCTM();
356
- const tbbox = targetel.getBBox();
357
- const width = tbbox.width;
358
- const height = tbbox.height;
359
- const x = tbbox.x;
360
- const y = tbbox.y;
361
- point.x = x;
362
- point.y = y;
363
- bbox.nw = point.matrixTransform(matrix);
364
- point.x += width;
365
- bbox.ne = point.matrixTransform(matrix);
366
- point.y += height;
367
- bbox.se = point.matrixTransform(matrix);
368
- point.x -= width;
369
- bbox.sw = point.matrixTransform(matrix);
370
- point.y -= height / 2;
371
- bbox.w = point.matrixTransform(matrix);
372
- point.x += width;
373
- bbox.e = point.matrixTransform(matrix);
374
- point.x -= width / 2;
375
- point.y -= height / 2;
376
- bbox.n = point.matrixTransform(matrix);
377
- point.y += height;
378
- bbox.s = point.matrixTransform(matrix);
379
- return bbox;
380
- }
381
- function functor(v) {
382
- return typeof v === "function" ? v : function() {
383
- return v;
384
- };
385
- }
386
- return tip$1;
387
- }
388
-
389
- //#endregion
390
- //#region src/ITooltip.ts
391
- function ITooltip() {
392
- this.tooltip = tip();
393
- if (this.tooltipLabelFormat_exists()) this._labelFormatter = format(this.tooltipLabelFormat());
394
- if (this.tooltipValueFormat_exists()) this._valueFormatter = format(this.tooltipValueFormat());
395
- if (this.layerEnter) {
396
- const layerEnter = this.layerEnter;
397
- this.layerEnter = function(_base, svgElement, _domElement) {
398
- if (!this._parentOverlay) this._parentOverlay = _base._parentOverlay;
399
- this.tooltipEnter(svgElement);
400
- layerEnter.apply(this, arguments);
401
- };
402
- const layerUpdate = this.layerUpdate;
403
- this.layerUpdate = function(_base) {
404
- layerUpdate.apply(this, arguments);
405
- this.tooltipUpdate();
406
- };
407
- const layerExit = this.layerExit;
408
- this.layerExit = function(_base) {
409
- this.tooltipExit();
410
- layerExit.apply(this, arguments);
411
- };
412
- } else {
413
- const enter = this.enter;
414
- this.enter = function(_domNode, element) {
415
- this.tooltipEnter(element);
416
- enter.apply(this, arguments);
417
- };
418
- const update = this.update;
419
- this.update = function(_domNode, _element) {
420
- update.apply(this, arguments);
421
- this.tooltipUpdate();
422
- };
423
- const exit = this.exit;
424
- this.exit = function(_domNode, _element) {
425
- this.tooltipExit();
426
- exit.apply(this, arguments);
427
- };
428
- }
429
- }
430
- ITooltip.prototype = Object.create(Widget.prototype);
431
- ITooltip.prototype.constructor = ITooltip;
432
- ITooltip.prototype.tooltipEnter = function(element) {
433
- const overlayElement = this.parentOverlay();
434
- if (!overlayElement.empty()) this.tooltip.rootElement(overlayElement.node().parentNode);
435
- element.call(this.tooltip);
436
- };
437
- ITooltip.prototype.tooltipUpdate = function() {
438
- this.tooltip.offset(() => {
439
- if (event && this.tooltipFollowMouse()) {
440
- const d3tipElement = document.querySelector(".d3-tip");
441
- d3tipElement.style.display = "block";
442
- d3tipElement.style.left = this.tooltipOffset() + event.clientX + "px";
443
- d3tipElement.style.top = event.clientY + "px";
444
- return [];
445
- }
446
- switch (this.tooltip.direction()()) {
447
- case "e": return [0, this.tooltipOffset()];
448
- default: return [-this.tooltipOffset(), 0];
449
- }
450
- });
451
- let classed = this.tooltip.attr("class");
452
- if (classed) {
453
- classed = classed.split(" notick").join("") + (this.tooltipTick() ? "" : " notick") + (this.tooltipStyle() === "none" ? " hidden" : "");
454
- classed = classed.split(" ").filter(function(_class) {
455
- return _class.indexOf("ITooltip-tooltipStyle-") !== 0;
456
- }).join(" ");
457
- classed += " ITooltip-tooltipStyle-" + this.tooltipStyle();
458
- this.tooltip.attr("class", classed);
459
- }
460
- };
461
- ITooltip.prototype.tooltipExit = function() {
462
- if (this.tooltip) this.tooltip.destroy();
463
- };
464
- ITooltip.prototype._tooltipHTML = function(d) {
465
- return d;
466
- };
467
- ITooltip.prototype.tooltipHTML = function(_) {
468
- return this.tooltip.html(_);
469
- };
470
- ITooltip.prototype.tooltipFormat = function(opts = {}) {
471
- opts.label = opts.label === void 0 ? "" : opts.label;
472
- if (this._labelFormatter) opts.label = this._labelFormatter(opts.label) || "";
473
- else if (this.formatData && this.parseData) opts.label = this.formatData(this.parseData(opts.label));
474
- opts.series = opts.series || "";
475
- if (opts.value instanceof Date) opts.value = opts.value || "";
476
- else if (this._valueFormatter) opts.value = this._valueFormatter(opts.value) || "";
477
- else if (this.formatValue && this.parseValue) opts.value = this.formatValue(this.parseValue(opts.value));
478
- switch (this.tooltipStyle()) {
479
- case "none": break;
480
- case "series-table":
481
- let html = "<table class=\"ITooltip-series-table\"><thead><tr><th colspan=\"2\">" + opts.label + "</th></tr></thead><tbody>";
482
- opts.arr.forEach(function(row) {
483
- html += "<tr>";
484
- html += "<td>";
485
- html += "<div class=\"series-table-row-color\" style=\"background-color:" + row.color + "\"></div>";
486
- html += "<div class=\"series-table-row-label\">" + row.label + "</div>";
487
- html += "</td>";
488
- html += "<td><div class=\"series-table-row-value\">" + row.value + "</div></td>";
489
- html += "</tr>";
490
- });
491
- html += "</tbody>";
492
- html += "</table>";
493
- return html;
494
- default:
495
- if (opts.series) 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>";
496
- if (opts.label !== "") return "<span style='color:" + this.tooltipLabelColor() + "'>" + opts.label + "</span>: <span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
497
- return "<span style='color:" + this.tooltipValueColor() + "'>" + opts.value + "</span>";
498
- }
499
- };
500
- ITooltip.prototype.tooltipKeyValueFormat = function(titleKey, obj) {
501
- let body = "";
502
- for (const key in obj) if (key !== titleKey) {
503
- const value = obj && obj[key] ? obj[key] : "";
504
- body += `<tr><td style="${this.tooltipLabelColor_exists() ? "color:" + this.tooltipLabelColor() : ""}">${key}</td><td style="font-weight:normal">${value}</td></tr>`;
505
- }
506
- return `<table>
507
- <thead>
508
- <tr><th colspan="2" style="font-weight:bold;font-size:16px">${obj[titleKey]}</th></tr>
509
- </thead>
510
- <tbody>
511
- ${body}
512
- </tbody>
513
- </table>`;
514
- };
515
- ITooltip.prototype.publish("tooltipStyle", "default", "set", "Style mode", [
516
- "default",
517
- "none",
518
- "series-table"
519
- ], {});
520
- ITooltip.prototype.publish("tooltipFollowMouse", false, "boolean", "If true, the tooltip will follow mouse movement", null, {});
521
- ITooltip.prototype.publish("tooltipLabelFormat", void 0, "string", "Format of tooltip label(s) (the domain axis)", null, {});
522
- ITooltip.prototype.publish("tooltipValueFormat", void 0, "string", "Number format of tooltip value(s)", null, {});
523
- ITooltip.prototype.publish("tooltipSeriesColor", "#EAFFFF", "html-color", "Color of tooltip series text", null, {});
524
- ITooltip.prototype.publish("tooltipLabelColor", "#CCFFFF", "html-color", "Color of tooltip label text (the domain axis)", null, {});
525
- ITooltip.prototype.publish("tooltipValueColor", "white", "html-color", "Color of tooltip value(s)", null, {});
526
- ITooltip.prototype.publish("tooltipTick", true, "boolean", "Show tooltip tick", null, {});
527
- ITooltip.prototype.publish("tooltipOffset", 8, "number", "Offset from the cursor", null, {});
528
- var tooltipLabelFormat = ITooltip.prototype.tooltipLabelFormat;
529
- ITooltip.prototype.tooltipLabelFormat = function(_) {
530
- const retVal = tooltipLabelFormat.apply(this, arguments);
531
- if (arguments.length) this._labelFormatter = format(_);
532
- return retVal;
533
- };
534
- var tooltipValueFormat = ITooltip.prototype.tooltipValueFormat;
535
- ITooltip.prototype.tooltipValueFormat = function(_) {
536
- const retVal = tooltipValueFormat.apply(this, arguments);
537
- if (arguments.length) this._valueFormatter = format(_);
538
- return retVal;
539
- };
540
-
541
- //#endregion
542
- //#region src/ITree.ts
543
- function ITree() {}
544
- ITree.prototype.constructor = ITree;
545
- ITree.prototype.click = function(row, column, selected) {};
546
- ITree.prototype.dblclick = function(row, column, selected) {};
547
- ITree.prototype._palette = Palette.ordinal("default");
548
-
549
- //#endregion
550
- export { BUILD_VERSION, I1DChart, I2DAggrChart, I2DChart, IGraph, IInput, INDChart, ITooltip, ITree, PKG_NAME, PKG_VERSION, instanceOfIHighlight };
551
- //# sourceMappingURL=index.js.map!function(){try{if("undefined"!=typeof document){var t=document.createElement("style");t.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}\n/*$vite$:1*/')),document.head.appendChild(t)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
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,map as n,selection as r,select as p,format as s}from"@hpcc-js/common";const a="@hpcc-js/api",u="3.4.2",c="3.16.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 r.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 r.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=n({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};
2
+ //# 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)}}();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["tip: any","bbox: any","d3tipElement: HTMLDivElement"],"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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"}
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,2 +1,3 @@
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){var e,l,n,i=Object.create,r=Object.defineProperty,p=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;n=null!=(e=o)?i(a(e)):{},o=((t,o,e,l)=>{if(o&&"object"==typeof o||"function"==typeof o)for(var n,i=s(o),a=0,c=i.length;a<c;a++)n=i[a],u.call(t,n)||n===e||r(t,n,{get:(t=>o[t]).bind(null,n),enumerable:!(l=p(o,n))||l.enumerable});return t})(!l&&e&&e.__esModule?n:r(n,"default",{value:e,enumerable:!0}),e);function c(){}function f(){}function h(){}function y(){}function d(){}function b(){}function m(){if(this.tooltip=function(){let t=function(){return"n"},e=function(){return[0,0]},l=function(){return" "},n=d(document.body),i=f(),r=null,p=null,s=null;const a=function(t){if(r=function(t){const o=t.node();return o?"svg"===o.tagName.toLowerCase()?o:o.ownerSVGElement:null}(t),!r)return;p=r.createSVGPoint();const o=n();o&&i&&o.appendChild(i)};a.show=function(t,o,i){s=i[o];const r=Array.prototype.slice.call(arguments),p=l.apply(this,r);if(null===p)return a;const f=e.apply(this,r),y=h();let d,b=c.length;const m=n().getBoundingClientRect();for(y.html(p).style("opacity",1).style("pointer-events","all");b--;)y.classed(c[b],!1);let g=!1;const v={};let x=c[0];for(let e=0;e<c.length&&(g=C(c[e]),!g);e++);if(g)y.classed("notick",!1);else{y.classed("notick",!0);const t=(w=v[x]).top>w.bottom?w.top>0?-w.top:0:w.bottom,o=function(t){return t.left>t.right?t.left>0?-t.left:0:t.right>0?t.right:0}(v[x]);C(x,t,o)}var w;return a;function C(t,o,e){o=o||0,e=e||0,y.style("white-space","nowrap"),d=u.get(t).apply(this),y.classed(t,!0).style("top",d.top+f[0]-o+"px").style("left",d.left+f[1]-e+"px");const l=y.node().getBoundingClientRect(),n=l.top>m.top&&l.left>m.left&&l.bottom<m.bottom&&l.right<m.right;return v[t]={top:m.top-l.top,right:l.right-m.right,bottom:l.bottom-m.bottom,left:m.left-l.left},y.style("white-space","normal"),v[t].total_overflow=Object.keys(v[t]).filter(o=>v[t][o]>0).reduce((o,e)=>o+v[t][e],0),v[x].total_overflow>v[t].total_overflow&&(x=t),n||y.classed(t,!1),n}},a.hide=function(){return h().style("opacity",0).style("pointer-events","none"),a},a.attr=function(t,e){if(arguments.length<2&&"string"==typeof t)return h().attr(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.attr.apply(h(),l),a},a.style=function(t,e){if(arguments.length<2&&"string"==typeof t)return h().style(t);const l=Array.prototype.slice.call(arguments);return o.selection.prototype.style.apply(h(),l),a},a.direction=function(o){return arguments.length?(t=null==o?o:d(o),a):t},a.offset=function(t){return arguments.length?(e=null==t?t:d(t),a):e},a.html=function(t){return arguments.length?(l=null==t?t:d(t),a):l},a.rootElement=function(t){return arguments.length?(n=d(t),a):n},a.destroy=function(){return i&&(h().remove(),i=null),a};const u=(0,o.map)({n:function(){const t=y(window);return{top:t.n.y-i.offsetHeight,left:t.n.x-i.offsetWidth/2}},s:function(){const t=y(window);return{top:t.s.y+8,left:t.s.x-i.offsetWidth/2}},e:function(){const t=y(window);return{top:t.e.y-i.offsetHeight/2,left:t.e.x+8}},w:function(){const t=y(window);return{top:t.w.y-i.offsetHeight/2,left:t.w.x-i.offsetWidth-8}},nw:function(){const t=y(window);return{top:t.nw.y-i.offsetHeight,left:t.nw.x-i.offsetWidth}},ne:function(){const t=y(window);return{top:t.ne.y-i.offsetHeight,left:t.ne.x}},sw:function(){const t=y(window);return{top:t.sw.y,left:t.sw.x-i.offsetWidth}},se:function(){const t=y(window);return{top:t.se.y,left:t.se.x}}}),c=u.keys();function f(){const t=(0,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 h(){return null==i&&(i=f(),n().appendChild(i)),(0,o.select)(i)}function y(t){let o=s||t;for(;null==o.getCTM&&null!=o.parentNode;)o=o.parentNode;const e={},l=o.getCTM(),n=o.getBBox(),i=n.width,r=n.height,a=n.x,u=n.y;return p.x=a,p.y=u,e.nw=p.matrixTransform(l),p.x+=i,e.ne=p.matrixTransform(l),p.y+=r,e.se=p.matrixTransform(l),p.x-=i,e.sw=p.matrixTransform(l),p.y-=r/2,e.w=p.matrixTransform(l),p.x+=i,e.e=p.matrixTransform(l),p.x-=i/2,p.y-=r/2,e.n=p.matrixTransform(l),p.y+=r,e.s=p.matrixTransform(l),e}function d(t){return"function"==typeof t?t:function(){return t}}return a}(),this.tooltipLabelFormat_exists()&&(this._labelFormatter=(0,o.format)(this.tooltipLabelFormat())),this.tooltipValueFormat_exists()&&(this._valueFormatter=(0,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)}}}c.prototype._dataFamily="1D",c.prototype._palette=o.Palette.rainbow("default"),c.prototype.click=function(t,o,e){},c.prototype.dblclick=function(t,o,e){},f.prototype._dataFamily="2D",f.prototype._palette=o.Palette.ordinal("default"),f.prototype.fillColor=function(t,o,e,l){return this._palette(t[0])},f.prototype.strokeColor=function(t,e,l,n){return(0,o.hsl)(this.fillColor(t,e,l,n)).darker().toString()},f.prototype.textColor=function(t,e,l,n){return o.Palette.textColor(this.fillColor(t,e,l,n))},f.prototype.click=function(t,o,e){},f.prototype.dblclick=function(t,o,e){},h.prototype._palette=o.Palette.rainbow("default"),h.prototype.fillColor=function(t,o,e){return this._palette(t.length)},h.prototype.strokeColor=function(t,e,l){return(0,o.hsl)(this.fillColor(t,e,l)).darker().toString()},h.prototype.textColor=function(t,e,l){return o.Palette.textColor(this.fillColor(t,e,l))},h.prototype.click=function(t,o,e){},h.prototype.dblclick=function(t,o,e){},y.prototype._dataFamily="graph",y.prototype.vertex_click=function(t,o,e,l){l&&l.vertex},y.prototype.vertex_dblclick=function(t,o,e,l){l&&l.vertex},y.prototype.edge_click=function(t,o,e,l){l&&l.edge},y.prototype.edge_dblclick=function(t,o,e,l){l&&l.edge},d.prototype=Object.create(o.Widget.prototype),d.prototype.constructor=d,d.prototype.isValid=function(){return!(this.validate()&&!new RegExp(this.validate()).test(this.value()))},d.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()},d.prototype.blur=function(t){},d.prototype.keyup=function(t){},d.prototype.focus=function(t){},d.prototype.click=function(t){},d.prototype.dblclick=function(t){},d.prototype.change=function(t,o){},d.prototype.resetValue=function(t){t.value(t._inputElement[0].node().value)},d.prototype.disable=function(t){this._inputElement.forEach(function(o,e){o.attr("disabled",t?"disabled":null)})},d.prototype.setFocus=function(){this._inputElement.length&&this._inputElement[0].node().focus()},d.prototype.publish("name","","string","HTML name for the input"),d.prototype.publish("label","","string","Descriptive label"),d.prototype.publish("value","","string","Input Current Value"),d.prototype.publish("validate",null,"string","Input Validation"),b.prototype._dataFamily="ND",b.prototype._palette=o.Palette.ordinal("default"),b.prototype.fillColor=function(t,o,e,l){return this._palette(o)},b.prototype.strokeColor=function(t,e,l,n){return(0,o.hsl)(this.fillColor(t,e,l,n)).darker().toString()},b.prototype.textColor=function(t,e,l,n){return o.Palette.textColor(this.fillColor(t,e,l,n))},b.prototype.click=function(t,o,e){},b.prototype.dblclick=function(t,o,e){},m.prototype=Object.create(o.Widget.prototype),m.prototype.constructor=m,m.prototype.tooltipEnter=function(t){const o=this.parentOverlay();o.empty()||this.tooltip.rootElement(o.node().parentNode),t.call(this.tooltip)},m.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))},m.prototype.tooltipExit=function(){this.tooltip&&this.tooltip.destroy()},m.prototype._tooltipHTML=function(t){return t},m.prototype.tooltipHTML=function(t){return this.tooltip.html(t)},m.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>"}},m.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>`},m.prototype.publish("tooltipStyle","default","set","Style mode",["default","none","series-table"],{}),m.prototype.publish("tooltipFollowMouse",!1,"boolean","If true, the tooltip will follow mouse movement",null,{}),m.prototype.publish("tooltipLabelFormat",void 0,"string","Format of tooltip label(s) (the domain axis)",null,{}),m.prototype.publish("tooltipValueFormat",void 0,"string","Number format of tooltip value(s)",null,{}),m.prototype.publish("tooltipSeriesColor","#EAFFFF","html-color","Color of tooltip series text",null,{}),m.prototype.publish("tooltipLabelColor","#CCFFFF","html-color","Color of tooltip label text (the domain axis)",null,{}),m.prototype.publish("tooltipValueColor","white","html-color","Color of tooltip value(s)",null,{}),m.prototype.publish("tooltipTick",!0,"boolean","Show tooltip tick",null,{}),m.prototype.publish("tooltipOffset",8,"number","Offset from the cursor",null,{});var g=m.prototype.tooltipLabelFormat;m.prototype.tooltipLabelFormat=function(t){const e=g.apply(this,arguments);return arguments.length&&(this._labelFormatter=(0,o.format)(t)),e};var v=m.prototype.tooltipValueFormat;function x(){}m.prototype.tooltipValueFormat=function(t){const e=v.apply(this,arguments);return arguments.length&&(this._valueFormatter=(0,o.format)(t)),e},x.prototype.constructor=x,x.prototype.click=function(t,o,e){},x.prototype.dblclick=function(t,o,e){},x.prototype._palette=o.Palette.ordinal("default"),t.BUILD_VERSION="3.15.0",t.I1DChart=c,t.I2DAggrChart=h,t.I2DChart=f,t.IGraph=y,t.IInput=d,t.INDChart=b,t.ITooltip=m,t.ITree=x,t.PKG_NAME="@hpcc-js/api",t.PKG_VERSION="3.4.0",t.instanceOfIHighlight=function(t){return"function"==typeof t.highlightColumn}});
2
- //# sourceMappingURL=index.umd.cjs.map!function(){try{if("undefined"!=typeof document){var t=document.createElement("style");t.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}\n/*$vite$:1*/')),document.head.appendChild(t)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}}();
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.16.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.2",t.instanceOfIHighlight=s,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
2
+ //# 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)}}();
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","names":["tip: any","bbox: any","d3tipElement: HTMLDivElement"],"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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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/api",
3
- "version": "3.4.0",
3
+ "version": "3.4.2",
4
4
  "description": "hpcc-js - Viz api",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.cjs",
@@ -37,10 +37,10 @@
37
37
  "update-major": "npx --yes npm-check-updates -u"
38
38
  },
39
39
  "dependencies": {
40
- "@hpcc-js/common": "^3.5.0"
40
+ "@hpcc-js/common": "^3.5.2"
41
41
  },
42
42
  "devDependencies": {
43
- "@hpcc-js/esbuild-plugins": "^1.6.0",
43
+ "@hpcc-js/esbuild-plugins": "^1.7.0",
44
44
  "d3-collection": "^1",
45
45
  "d3-color": "3.1.0",
46
46
  "d3-format": "^1",
@@ -57,5 +57,5 @@
57
57
  "url": "https://github.com/hpcc-systems/Visualization/issues"
58
58
  },
59
59
  "homepage": "https://github.com/hpcc-systems/Visualization",
60
- "gitHead": "bfefa70bf4e4232dcdaaa8498a2985a4e9aaadb5"
60
+ "gitHead": "5e5fc8d746e6a42c58da2ec4f55f2f7cbaeff611"
61
61
  }