@splunk/visualizations 28.3.0 → 28.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/Area/Area.d.ts.map +1 -1
  2. package/Area.config.js +28 -8
  3. package/Area.config.js.map +2 -2
  4. package/Area.js +583 -120
  5. package/Area.js.map +3 -3
  6. package/Bar/Bar.d.ts.map +1 -1
  7. package/Bar.config.js +28 -8
  8. package/Bar.config.js.map +2 -2
  9. package/Bar.js +593 -120
  10. package/Bar.js.map +3 -3
  11. package/Bubble.config.js +4 -5
  12. package/Bubble.config.js.map +2 -2
  13. package/Bubble.js +554 -98
  14. package/Bubble.js.map +3 -3
  15. package/CHANGELOG.external.md +165 -0
  16. package/ChoroplethSvg/ChoroplethSvg.d.ts +4 -3
  17. package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -1
  18. package/ChoroplethSvg.config.js +1 -3
  19. package/ChoroplethSvg.config.js.map +2 -2
  20. package/ChoroplethSvg.js +595 -111
  21. package/ChoroplethSvg.js.map +4 -4
  22. package/Column/Column.d.ts.map +1 -1
  23. package/Column.config.js +28 -8
  24. package/Column.config.js.map +2 -2
  25. package/Column.js +583 -120
  26. package/Column.js.map +3 -3
  27. package/Ellipse/config.d.ts.map +1 -1
  28. package/Ellipse.config.js +14 -5
  29. package/Ellipse.config.js.map +4 -4
  30. package/Ellipse.js +640 -159
  31. package/Ellipse.js.map +4 -4
  32. package/Events/PureEvents/PureEvents.d.ts.map +1 -1
  33. package/Events.js +668 -157
  34. package/Events.js.map +4 -4
  35. package/FillerGauge/FillerGauge.d.ts.map +1 -1
  36. package/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +1 -1
  37. package/FillerGauge.js +751 -169
  38. package/FillerGauge.js.map +4 -4
  39. package/Image/Image.d.ts.map +1 -1
  40. package/Image.js +620 -116
  41. package/Image.js.map +4 -4
  42. package/Line/Line.d.ts.map +1 -1
  43. package/Line/lineUtils.d.ts.map +1 -1
  44. package/Line/mockdata/LineData.d.ts +154 -0
  45. package/Line/mockdata/LineData.d.ts.map +1 -1
  46. package/Line.config.js +28 -8
  47. package/Line.config.js.map +2 -2
  48. package/Line.js +704 -122
  49. package/Line.js.map +3 -3
  50. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +5 -0
  51. package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -1
  52. package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
  53. package/LinkGraph/PureLinkGraph/components/Graph.d.ts +9 -1
  54. package/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +1 -1
  55. package/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +1 -1
  56. package/LinkGraph/PureLinkGraph/components/Node.d.ts +1 -0
  57. package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -1
  58. package/LinkGraph/PureLinkGraph/components/Nodes.d.ts +1 -0
  59. package/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +1 -1
  60. package/LinkGraph/PureLinkGraph/measurementUtils.d.ts +16 -0
  61. package/LinkGraph/PureLinkGraph/measurementUtils.d.ts.map +1 -0
  62. package/LinkGraph/PureLinkGraph/utils/iconLoader.d.ts.map +1 -1
  63. package/LinkGraph/config.d.ts.map +1 -1
  64. package/LinkGraph.config.js +15 -1
  65. package/LinkGraph.config.js.map +2 -2
  66. package/LinkGraph.js +1411 -662
  67. package/LinkGraph.js.map +4 -4
  68. package/Map/Map.d.ts +2 -2
  69. package/Map/Map.d.ts.map +1 -1
  70. package/Map/PureMap/BubbleLayer.d.ts +5 -0
  71. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  72. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  73. package/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -1
  74. package/Map/PureMap/MapUtils.d.ts +2 -2
  75. package/Map/PureMap/MapUtils.d.ts.map +1 -1
  76. package/Map/PureMap/PureMap.d.ts.map +1 -1
  77. package/Map/PureMap/PureMapContainer.d.ts.map +1 -1
  78. package/Map/PureMap/Tooltip.d.ts.map +1 -1
  79. package/Map/config.d.ts.map +1 -1
  80. package/Map.config.js +0 -1
  81. package/Map.config.js.map +2 -2
  82. package/Map.js +831 -247
  83. package/Map.js.map +4 -4
  84. package/Markdown/Markdown.d.ts.map +1 -1
  85. package/Markdown/config.d.ts.map +1 -1
  86. package/Markdown.config.js +14 -5
  87. package/Markdown.config.js.map +4 -4
  88. package/Markdown.js +619 -109
  89. package/Markdown.js.map +4 -4
  90. package/MarkerGauge/MarkerGauge.d.ts +5 -1
  91. package/MarkerGauge/MarkerGauge.d.ts.map +1 -1
  92. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +4 -0
  93. package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -1
  94. package/MarkerGauge/config.d.ts.map +1 -1
  95. package/MarkerGauge.config.js +121 -3
  96. package/MarkerGauge.config.js.map +3 -3
  97. package/MarkerGauge.js +1535 -172
  98. package/MarkerGauge.js.map +4 -4
  99. package/NetworkGraph/NetworkGraph.d.ts +22 -0
  100. package/NetworkGraph/NetworkGraph.d.ts.map +1 -0
  101. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts +60 -0
  102. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -0
  103. package/NetworkGraph/PureNetworkGraph/components/Link.d.ts +19 -0
  104. package/NetworkGraph/PureNetworkGraph/components/Link.d.ts.map +1 -0
  105. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +29 -0
  106. package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -0
  107. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +27 -0
  108. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -0
  109. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts +12 -0
  110. package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts.map +1 -0
  111. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts +13 -0
  112. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -0
  113. package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts +140 -0
  114. package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts.map +1 -0
  115. package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts +89 -0
  116. package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts.map +1 -0
  117. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts +78 -0
  118. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts.map +1 -0
  119. package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts +47 -0
  120. package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts.map +1 -0
  121. package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts +78 -0
  122. package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts.map +1 -0
  123. package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts +111 -0
  124. package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts.map +1 -0
  125. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +122 -0
  126. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -0
  127. package/NetworkGraph/config.d.ts +4 -0
  128. package/NetworkGraph/config.d.ts.map +1 -0
  129. package/NetworkGraph/index.d.ts +3 -0
  130. package/NetworkGraph/index.d.ts.map +1 -0
  131. package/NetworkGraph.config.js +938 -0
  132. package/NetworkGraph.config.js.map +7 -0
  133. package/NetworkGraph.js +7053 -0
  134. package/NetworkGraph.js.map +7 -0
  135. package/PERFORMANCE.md +23 -0
  136. package/ParallelCoordinates/ParallelCoordinates.d.ts +1 -46
  137. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  138. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +12 -58
  139. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -1
  140. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +1 -0
  141. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -1
  142. package/ParallelCoordinates.js +664 -228
  143. package/ParallelCoordinates.js.map +4 -4
  144. package/Pie/Pie.d.ts.map +1 -1
  145. package/Pie/config.d.ts.map +1 -1
  146. package/Pie/pieUtils.d.ts +4 -0
  147. package/Pie/pieUtils.d.ts.map +1 -1
  148. package/Pie.config.js +16 -0
  149. package/Pie.config.js.map +2 -2
  150. package/Pie.js +610 -118
  151. package/Pie.js.map +3 -3
  152. package/Punchcard.js +579 -92
  153. package/Punchcard.js.map +4 -4
  154. package/Rectangle/config.d.ts.map +1 -1
  155. package/Rectangle.config.js +14 -5
  156. package/Rectangle.config.js.map +4 -4
  157. package/Rectangle.js +611 -130
  158. package/Rectangle.js.map +4 -4
  159. package/Sankey/PureSankey/PureSankey.d.ts +26 -72
  160. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  161. package/Sankey/PureSankey/SankeyLink.d.ts +3 -19
  162. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  163. package/Sankey/PureSankey/SankeyNode.d.ts +3 -20
  164. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  165. package/Sankey/PureSankey/SankeyTooltip.d.ts +3 -24
  166. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  167. package/Sankey.js +814 -429
  168. package/Sankey.js.map +4 -4
  169. package/Scatter/Scatter.d.ts.map +1 -1
  170. package/Scatter.config.js +168 -148
  171. package/Scatter.config.js.map +4 -4
  172. package/Scatter.js +733 -260
  173. package/Scatter.js.map +4 -4
  174. package/SingleValue/SingleValue.d.ts.map +1 -1
  175. package/SingleValue/config.d.ts.map +1 -1
  176. package/SingleValue.config.js +15 -2
  177. package/SingleValue.config.js.map +2 -2
  178. package/SingleValue.js +733 -229
  179. package/SingleValue.js.map +3 -3
  180. package/SingleValueBasic.js.map +1 -1
  181. package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
  182. package/SingleValueIcon/config.d.ts.map +1 -1
  183. package/SingleValueIcon.config.js +14 -6
  184. package/SingleValueIcon.config.js.map +4 -4
  185. package/SingleValueIcon.js +612 -182
  186. package/SingleValueIcon.js.map +4 -4
  187. package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -1
  188. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
  189. package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -1
  190. package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -1
  191. package/SingleValueRadial.config.js +0 -1
  192. package/SingleValueRadial.config.js.map +2 -2
  193. package/SingleValueRadial.js +594 -182
  194. package/SingleValueRadial.js.map +4 -4
  195. package/SparkLine.js +46 -8
  196. package/SparkLine.js.map +2 -2
  197. package/Table/PureTable.d.ts +10 -0
  198. package/Table/PureTable.d.ts.map +1 -1
  199. package/Table/Table.d.ts.map +1 -1
  200. package/Table/cells/SparklineCell.d.ts.map +1 -1
  201. package/Table/config.d.ts.map +1 -1
  202. package/Table/hooks.d.ts +6 -0
  203. package/Table/hooks.d.ts.map +1 -1
  204. package/Table.config.js +1 -1
  205. package/Table.config.js.map +2 -2
  206. package/Table.js +836 -253
  207. package/Table.js.map +4 -4
  208. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  209. package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -1
  210. package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -1
  211. package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -1
  212. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  213. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +2 -1
  214. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  215. package/Timeline/config.d.ts.map +1 -1
  216. package/Timeline.config.js +31 -12
  217. package/Timeline.config.js.map +4 -4
  218. package/Timeline.js +785 -247
  219. package/Timeline.js.map +4 -4
  220. package/common/Charting.d.ts +5 -0
  221. package/common/Charting.d.ts.map +1 -1
  222. package/common/Charting.js +12 -0
  223. package/common/Charting.js.map +2 -2
  224. package/common/GaugeMajorTicks.js +150 -13
  225. package/common/GaugeMajorTicks.js.map +4 -4
  226. package/common/GaugeValueMarker.js +84 -17
  227. package/common/GaugeValueMarker.js.map +4 -4
  228. package/common/OptionsDoc.js.map +1 -1
  229. package/common/OverviewDoc.d.ts.map +1 -1
  230. package/common/OverviewDoc.js +2 -2
  231. package/common/OverviewDoc.js.map +2 -2
  232. package/common/ThemesDoc.js +0 -1
  233. package/common/ThemesDoc.js.map +2 -2
  234. package/common/TimeSeriesChartWrapper.d.ts +24 -11
  235. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  236. package/common/TimeSeriesChartWrapper.js +617 -91
  237. package/common/TimeSeriesChartWrapper.js.map +4 -4
  238. package/common/chartingUtils.d.ts +52 -6
  239. package/common/chartingUtils.d.ts.map +1 -1
  240. package/common/chartingUtils.js +116 -17
  241. package/common/chartingUtils.js.map +3 -3
  242. package/common/editorConfig/AxesChartDataConfig.d.ts +3 -3
  243. package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -1
  244. package/common/editorConfig/AxesChartDataDisplay.d.ts +4 -0
  245. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  246. package/common/editorConfig/AxesChartLegend.d.ts.map +1 -1
  247. package/common/gaugeUtils.d.ts +37 -0
  248. package/common/gaugeUtils.d.ts.map +1 -1
  249. package/common/gaugeUtils.js +152 -2
  250. package/common/gaugeUtils.js.map +4 -4
  251. package/common/hocs/mockdata/trellisData.d.ts +119 -0
  252. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  253. package/common/hocs/withTrellis.d.ts.map +1 -1
  254. package/common/interfaces/DashboardVizProps.d.ts +0 -3
  255. package/common/interfaces/DashboardVizProps.d.ts.map +1 -1
  256. package/common/interfaces/DataSource.d.ts +1 -1
  257. package/common/interfaces/DataSource.d.ts.map +1 -1
  258. package/common/interfaces/Overview.d.ts +1 -0
  259. package/common/interfaces/Overview.d.ts.map +1 -1
  260. package/common/interfaces/VizConfig.d.ts +2 -1
  261. package/common/interfaces/VizConfig.d.ts.map +1 -1
  262. package/common/shapeUtils.js +5 -20
  263. package/common/shapeUtils.js.map +2 -2
  264. package/common/utils/dataUtils.d.ts.map +1 -1
  265. package/common/utils/dataUtils.js +5 -4
  266. package/common/utils/dataUtils.js.map +2 -2
  267. package/common/utils/mapUtils.js +16 -9
  268. package/common/utils/mapUtils.js.map +2 -2
  269. package/common/utils/singleValueUtils.js +17 -18
  270. package/common/utils/singleValueUtils.js.map +2 -2
  271. package/common/utils/textUtils.d.ts +20 -0
  272. package/common/utils/textUtils.d.ts.map +1 -0
  273. package/common/utils/textUtils.js +76 -0
  274. package/common/utils/textUtils.js.map +7 -0
  275. package/common/utils/trellisUtils.d.ts.map +1 -1
  276. package/common/utils/trellisUtils.js +16 -20
  277. package/common/utils/trellisUtils.js.map +2 -2
  278. package/common/withDashboardViz.d.ts.map +1 -1
  279. package/common/withDashboardViz.js +600 -92
  280. package/common/withDashboardViz.js.map +4 -4
  281. package/package.json +46 -39
  282. package/common/utils/styleUtils.d.ts +0 -2
  283. package/common/utils/styleUtils.d.ts.map +0 -1
  284. package/common/utils/styleUtils.js +0 -30
  285. package/common/utils/styleUtils.js.map +0 -7
package/SparkLine.js CHANGED
@@ -124,6 +124,8 @@ var StyledSvg = styled_components_default.svg`
124
124
  var StyledTooltip = styled_components_default.div`
125
125
  padding: 3px 8px;
126
126
  font-size: 12px;
127
+ text-align: center;
128
+ min-width: 20px;
127
129
  `;
128
130
  var preventDefault = (e) => e.preventDefault();
129
131
  var _SparkLine = class _SparkLine extends react_exports.Component {
@@ -260,16 +262,19 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
260
262
  * @method getSegmentSets
261
263
  * @param {Array} data
262
264
  * @param {Array} points
263
- * @returns {Array} List of datapoint sets used for drawing lines
265
+ * @returns {Object} Object containing lines (arrays of points for polylines) and isolatedPoints (single points surrounded by nulls)
264
266
  */
265
267
  getSegmentSets(data, points) {
266
268
  const { acceptNull } = this.props;
267
269
  const lines = [];
270
+ const isolatedPoints = [];
268
271
  let currentLine = [];
269
272
  for (const [idx, p] of data.entries()) {
270
273
  if (!acceptNull && (0, lodash_exports.isNull)(p)) {
271
274
  if (currentLine.length > 1) {
272
275
  lines.push(currentLine);
276
+ } else if (currentLine.length === 1) {
277
+ isolatedPoints.push(currentLine[0]);
273
278
  }
274
279
  currentLine = [];
275
280
  } else {
@@ -278,8 +283,10 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
278
283
  }
279
284
  if (currentLine.length > 1) {
280
285
  lines.push(currentLine);
286
+ } else if (currentLine.length === 1) {
287
+ isolatedPoints.push(currentLine[0]);
281
288
  }
282
- return lines;
289
+ return { lines, isolatedPoints };
283
290
  }
284
291
  /**
285
292
  * Utility for fill null value with number 0.
@@ -347,8 +354,8 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
347
354
  if (!isArea || points.length === 0) {
348
355
  return null;
349
356
  }
350
- let segments = this.getSegmentSets(data, points);
351
- segments = segments.map(
357
+ const { lines } = this.getSegmentSets(data, points);
358
+ const segments = lines.map(
352
359
  (s) => s.concat([
353
360
  [s.at(-1)[0], height],
354
361
  // down to bottom of graph
@@ -394,6 +401,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
394
401
  }
395
402
  renderTooltip(tooltipValue, isOpen) {
396
403
  const { anchor } = this.state;
404
+ const displayValue = tooltipValue === null ? "-" : tooltipValue;
397
405
  return /* @__PURE__ */ react_default.createElement(
398
406
  Popover_default,
399
407
  {
@@ -405,7 +413,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
405
413
  defaultPlacement: "above",
406
414
  animation: false
407
415
  },
408
- /* @__PURE__ */ react_default.createElement(StyledTooltip, null, tooltipValue)
416
+ /* @__PURE__ */ react_default.createElement(StyledTooltip, null, displayValue)
409
417
  );
410
418
  }
411
419
  /**
@@ -435,16 +443,46 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
435
443
  }
436
444
  )));
437
445
  }
446
+ /**
447
+ * Renders circles for isolated points (single data points surrounded by nulls)
448
+ * These would otherwise be invisible since a line requires at least 2 points
449
+ * @method renderIsolatedPoints
450
+ * @param {Array} isolatedPoints - Array of [x, y] coordinates for isolated points
451
+ * @returns {Object} SVG Group of circles
452
+ */
453
+ renderIsolatedPoints(isolatedPoints) {
454
+ const { lineColor, lineStrokeWidth } = this.props;
455
+ if (!isolatedPoints || isolatedPoints.length === 0) {
456
+ return null;
457
+ }
458
+ const radius = lineStrokeWidth + 0.5;
459
+ return /* @__PURE__ */ react_default.createElement("g", { "data-test": "isolated-points" }, isolatedPoints.map((point) => /* @__PURE__ */ react_default.createElement(
460
+ "circle",
461
+ {
462
+ key: `isolated-${point[0]}-${point[1]}`,
463
+ "data-test": "isolated-point",
464
+ cx: point[0],
465
+ cy: point[1],
466
+ r: radius,
467
+ style: {
468
+ fill: lineColor
469
+ }
470
+ }
471
+ )));
472
+ }
438
473
  /**
439
474
  * Renders the line(s) above the area graph
440
475
  * @method renderPolyline
441
476
  * @param {Array} points
442
- * @returns {Object} SVG Group of polylines
477
+ * @returns {Object} SVG Group of polylines and isolated points
443
478
  */
444
479
  renderPolyline(points) {
445
480
  const { data, lineColor, lineLength, lineStrokeWidth } = this.props;
446
481
  const linePoints = (0, lodash_exports.isFinite)(lineLength) && lineLength > 0 ? lineLength : points.length;
447
- const lines = this.getSegmentSets(data.slice(-linePoints), points.slice(-linePoints));
482
+ const { lines, isolatedPoints } = this.getSegmentSets(
483
+ data.slice(-linePoints),
484
+ points.slice(-linePoints)
485
+ );
448
486
  return /* @__PURE__ */ react_default.createElement("g", { "data-test": "sparkline" }, lines.map((lineData) => /* @__PURE__ */ react_default.createElement(
449
487
  "polyline",
450
488
  {
@@ -459,7 +497,7 @@ var _SparkLine = class _SparkLine extends react_exports.Component {
459
497
  },
460
498
  points: lineData.join(" ")
461
499
  }
462
- )));
500
+ )), this.renderIsolatedPoints(isolatedPoints));
463
501
  }
464
502
  getInteractionState({ data, points, showTooltip, activeIndex, hoveredIndex, componentIsFocused }) {
465
503
  if (!showTooltip) {
package/SparkLine.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/SparkLine/index.ts", "esm-externals:prop-types", "esm-externals:react", "esm-externals:lodash", "esm-externals:styled-components", "esm-externals:@splunk/react-ui/Popover", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/ui-utils/id", "src/SparkLine/SparkLine.jsx"],
4
- "sourcesContent": ["export { default } from './SparkLine.jsx';\n", "\nimport * as defaultImport from \"prop-types\";\nexport * from \"prop-types\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Popover\";\nexport * from \"@splunk/react-ui/Popover\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/id\";\nexport * from \"@splunk/ui-utils/id\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { isArray, isFinite, isNull, keys, max, min, omit } from 'lodash';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { createDOMID } from '@splunk/ui-utils/id';\n\nconst StyledSvg = styled.svg`\n /* For fixing IE11 shows overflow part line issue */\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled.div`\n padding: 3px 8px;\n font-size: 12px;\n`;\n\nconst preventDefault = e => e.preventDefault();\n\nclass SparkLine extends Component {\n static propTypes = {\n /**\n * If true, data can contain `null` as a value and is treated as `0`. If false, this throws error when data contains `null`.\n */\n acceptNull: PropTypes.bool,\n /** Array of numbers. These data numbers are converted to points and show on sparkline. */\n data: props => {\n if (!isArray(props.data)) {\n return new Error('Data provided to Sparkline must be an array.');\n }\n\n if (props.acceptNull && !props.data.every(value => isNull(value) || isFinite(value))) {\n return new Error('Data provided to Sparkline must be finite numbers or null.');\n }\n\n if (!props.acceptNull && !props.data.every(value => isFinite(value))) {\n return new Error('Data provided to Sparkline must be finite numbers.');\n }\n return null;\n },\n /** A React ref which is set to the DOM element when the component mounts and `null` when it unmounts. */\n elementRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n /** Sets the number of end dots to display. When showEndDot is set to `true`, endDotCount is at least 1. If set to a positive value, this overrides showEndDot. */\n endDotCount: PropTypes.number,\n /** Fills color to the end dot. */\n endDotFillColor: PropTypes.string,\n /**\n * Sets end dot radius. End dot radius must be less than or equal to the margin. By default, its value equals the margin.\n */\n endDotRadius: PropTypes.number,\n /** Sets end dot circle stroke color. */\n endDotStroke: PropTypes.string,\n /** Sets end dot circle stroke width in pixels. */\n endDotStrokeWidth: PropTypes.number,\n /** Fills color to area. */\n fillColor: PropTypes.string,\n /** Fills opacity to area. Value must be in 0 ~ 1. */\n fillOpacity: PropTypes.string,\n /** Sets cursor stroke color. */\n cursorStroke: PropTypes.string,\n /** Sets cursor stroke width in pixels. */\n cursorStrokeWidth: PropTypes.number,\n /** Sets cursor line cap style. */\n cursorStrokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n /** Sets cursor dash array style. */\n cursorStrokeDasharray: PropTypes.string,\n /**\n * Container height. If this value is specified, sparkline calculates the size using this height. If height isn't specified,\n * sparkline figures out the container height by itself.\n */\n height: PropTypes.number.isRequired,\n /** When set to `true`, sparkline shows as area. */\n isArea: PropTypes.bool,\n /** The sparkline line color. */\n lineColor: PropTypes.string,\n /** Allows user to draw only the last data points for the line. */\n lineLength: PropTypes.number,\n /** The sparkline line stroke width in pixels. */\n lineStrokeWidth: PropTypes.number,\n /** Enable to show end dot. */\n showEndDot: PropTypes.bool,\n /** Enable to show tooltip. */\n showTooltip: PropTypes.bool,\n /** Sets the data value range and maximum value shown on sparkline. */\n yMax: PropTypes.number,\n /** Sets the data value range and minimum value shown on sparkline. */\n yMin: PropTypes.number,\n /**\n * The width of the container.\n */\n width: PropTypes.number.isRequired,\n /** Sets the a11y title text on sparkline. */\n title: PropTypes.string,\n };\n\n static defaultProps = {\n acceptNull: false,\n data: [],\n showTooltip: true,\n endDotCount: 0,\n showEndDot: false,\n endDotRadius: 0,\n endDotFillColor: 'white',\n endDotStroke: 'black',\n endDotStrokeWidth: 0,\n fillColor: '#65a637',\n fillOpacity: '.1',\n cursorStroke: '#5184AF',\n cursorStrokeWidth: 3,\n cursorStrokeLinecap: 'square',\n cursorStrokeDasharray: '1, 5',\n isArea: false,\n lineColor: '#65a637',\n lineStrokeWidth: 1,\n };\n\n constructor(props, ...rest) {\n super(props, ...rest);\n this.state = {\n anchor: null,\n activeIndex: 0,\n hoveredIndex: null,\n componentIsFocused: false,\n };\n this.titleId = createDOMID('sparkline-title');\n this.pointRefs = [];\n this.containerRef = React.createRef();\n\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseOver = this.handleMouseOver.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n }\n\n handleFocus(event) {\n const { target } = event;\n const { pointIndex: pointIndexStr } = target.dataset || {};\n const { activeIndex, componentIsFocused, hoveredIndex } = this.state;\n\n if (pointIndexStr !== undefined) {\n // focus event propagated from a datapoint\n const pointIndex = Number.parseInt(pointIndexStr, 10);\n if (activeIndex !== pointIndex || !componentIsFocused || hoveredIndex !== null) {\n this.setState({\n activeIndex: pointIndex,\n hoveredIndex: null,\n componentIsFocused: true,\n });\n }\n } else if (this.pointRefs.length > 0) {\n // focus set programmatically or by user agent\n const indexToFocus = activeIndex ? Math.min(this.pointRefs.length - 1, activeIndex) : 0;\n this.pointRefs[indexToFocus].focus();\n }\n }\n\n handleBlur(event) {\n if (this.containerRef.current && !this.containerRef.current.contains(event.relatedTarget)) {\n this.setState({ componentIsFocused: false });\n }\n }\n\n handleKeyDown(event) {\n const { data } = this.props;\n const { activeIndex } = this.state;\n const numPoints = data.length;\n\n if (numPoints === 0) {\n return;\n }\n\n const allowedKeys = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\n if (!allowedKeys.includes(event.key)) {\n return;\n }\n\n let newIndex;\n\n switch (event.key) {\n case 'Home':\n newIndex = 0;\n break;\n case 'End':\n newIndex = numPoints - 1;\n break;\n case 'ArrowLeft':\n newIndex = Math.max(0, activeIndex - 1);\n break;\n case 'ArrowRight':\n newIndex = Math.min(numPoints - 1, activeIndex + 1);\n break;\n default:\n return;\n }\n\n if (newIndex !== activeIndex) {\n event.preventDefault();\n if (this.pointRefs[newIndex]) {\n this.pointRefs[newIndex].focus();\n }\n }\n }\n\n handleMouseOver(event) {\n const pointIndexStr = event.target.dataset && event.target.dataset.pointIndex;\n if (pointIndexStr !== undefined) {\n const pointIndex = Number.parseInt(pointIndexStr, 10);\n if (this.state.hoveredIndex !== pointIndex) {\n this.setState({ hoveredIndex: pointIndex });\n }\n }\n }\n\n handleMouseLeave() {\n if (this.state.hoveredIndex !== null) {\n this.setState({ hoveredIndex: null });\n }\n }\n\n getMax() {\n const { data, acceptNull, yMax } = this.props;\n const dataMax = () => (acceptNull ? max(this.fillNull()) : max(data));\n return yMax === undefined ? dataMax() : yMax;\n }\n\n getMin() {\n const { data, acceptNull, yMin } = this.props;\n const dataMin = () => (acceptNull ? min(this.fillNull()) : min(data));\n return yMin === undefined ? dataMin() : yMin;\n }\n\n /**\n * Gets unit value of x axis.\n * @param {Number} xMargin - margin of x axis.\n * @return {Number} unit value of x axis.\n * @private\n */\n getXUnit(xMargin) {\n const { data, width } = this.props;\n // Calculate xUnit. Width substract the left margin and right margin, then divide by data length.\n const xUnit = (width - xMargin * 2) / (data.length > 1 ? data.length - 1 : 1);\n return Math.max(0, xUnit);\n }\n\n /**\n * Gets unit value of y axis.\n * @param {String} yMargin - margin of y axis.\n * @return {Number} unit value of y axis.\n * @private\n */\n getYUnit(yMargin) {\n const { height } = this.props;\n const maxValue = this.getMax();\n const minValue = this.getMin();\n\n // Calculate yUnit. Height substract the upper margin and bottom margin, then divide by value range of values in data.\n // if the maxValue equals minValue, means all values in data are the same, then, we need to set the YUnit at the mid value of Height.\n // So, draws sparkline right in the mid of the container.\n const yUnit = (height - yMargin * 2) / (maxValue - minValue || 2);\n return Math.max(0, yUnit);\n }\n\n /**\n * Get a list of arrays of points for drawing lines, based on acceptNull property\n * @method getSegmentSets\n * @param {Array} data\n * @param {Array} points\n * @returns {Array} List of datapoint sets used for drawing lines\n */\n getSegmentSets(data, points) {\n const { acceptNull } = this.props;\n const lines = [];\n let currentLine = [];\n // eslint-disable-next-line\n for (const [idx, p] of data.entries()) {\n // Found null data\n if (!acceptNull && isNull(p)) {\n // need at least 2 points to draw a segment\n if (currentLine.length > 1) {\n lines.push(currentLine);\n }\n // reset for the next segment\n currentLine = [];\n } else {\n // data is good, add point data\n currentLine.push(points[idx]);\n }\n }\n\n // Add the last line\n if (currentLine.length > 1) {\n lines.push(currentLine);\n }\n\n return lines;\n }\n\n handleCursorMount = el => {\n this.setState({\n anchor: el,\n });\n };\n\n /**\n * Utility for fill null value with number 0.\n * @private\n */\n fillNull() {\n const { data } = this.props;\n return data.map(value => (value === null ? 0 : value));\n }\n\n /**\n * Converts data to points in svg\n * @param {Number} xMargin - margin of x axis.\n * @param {Number} yMargin - margin of x axis.\n * @return {Array} points coordination.\n * @private\n */\n dataToPoints(xMargin, yMargin) {\n const { data } = this.props;\n const xUnit = this.getXUnit(xMargin);\n const yUnit = this.getYUnit(yMargin);\n const maxValue = this.getMax();\n const minValue = this.getMin();\n return data\n .map((val, idx) => ({\n x: idx * xUnit + xMargin,\n y: maxValue === minValue ? yUnit + yMargin : (maxValue - val) * yUnit + yMargin,\n }))\n .map(p => [p.x, p.y]);\n }\n\n /**\n * Renders rect area for each datapoint for interactions and screen reader support\n * @param {Array} points - array of points coordination.\n * @param {Number} xMargin - margin of x axis.\n * @return {Array} array of svg rect objects\n * @private\n */\n renderRect(points, xMargin) {\n const { data, height, showTooltip } = this.props;\n const xUnit = this.getXUnit(xMargin);\n\n return points.map((p, i) => (\n /* eslint-disable react/no-array-index-key */\n <rect\n key={`${i}_${p[0]}`}\n role=\"graphics-symbol\"\n aria-label={`Value: ${data[i] === null ? 'N/A' : data[i]}, point ${i + 1} of ${data.length}`}\n data-test={`rect-${i}`}\n data-point-index={i}\n tabIndex={showTooltip && this.state.activeIndex === i ? 0 : -1}\n ref={el => {\n this.pointRefs[i] = el;\n }}\n x={Math.max(0, p[0] - xUnit / 2)}\n y={0}\n width={i === 0 && data.length !== 1 ? xUnit / 2 : xUnit}\n height={height}\n style={{ fillOpacity: 0 }}\n onMouseDown={preventDefault} // do not take focus on click\n />\n /* eslint-enable react/no-array-index-key */\n ));\n }\n\n // Renders area chart\n renderArea(points) {\n const { data, fillColor, fillOpacity, height, isArea } = this.props;\n\n if (!isArea || points.length === 0) {\n return null;\n }\n\n let segments = this.getSegmentSets(data, points);\n segments = segments.map(s =>\n s.concat([\n [s.at(-1)[0], height], // down to bottom of graph\n [s[0][0], height], // over to below first data point\n s[0], // up to first data point to close the box\n ])\n );\n\n return (\n <g data-test=\"area\">\n {segments.map(s => (\n <polyline\n key={`area${s.join('')}`}\n points={s.join(' ')}\n data-test=\"area-line\"\n style={{\n fill: fillColor,\n fillOpacity,\n strokeWidth: '0',\n }}\n />\n ))}\n </g>\n );\n }\n\n renderCursor(currentPointX, shouldRender) {\n const { cursorStroke, cursorStrokeWidth, cursorStrokeLinecap, cursorStrokeDasharray, height } =\n this.props;\n\n return (\n shouldRender && (\n <line\n data-test=\"cursor\"\n ref={this.handleCursorMount}\n x1={currentPointX}\n y1={0}\n x2={currentPointX}\n y2={height}\n style={{\n stroke: cursorStroke,\n strokeWidth: cursorStrokeWidth,\n strokeLinecap: cursorStrokeLinecap,\n strokeDasharray: cursorStrokeDasharray,\n }}\n />\n )\n );\n }\n\n renderTooltip(tooltipValue, isOpen) {\n const { anchor } = this.state;\n\n return (\n <Popover\n data-test=\"tooltip\"\n open={isOpen}\n anchor={anchor}\n data-test-value={tooltipValue}\n appearance=\"inverted\"\n defaultPlacement=\"above\"\n animation={false}\n >\n <StyledTooltip>{tooltipValue}</StyledTooltip>\n </Popover>\n );\n }\n\n /**\n * Renders one or more svg circles to highlight values on the sparkline\n * @method renderEndDots\n * @param {Array[Array[Number]]} points // x,y coordinates of values\n * @param {Number} dotsToShow // number of end dots to display\n * @param {Number} xMargin // used when calculating the dot radius\n * @returns {Object} React representation of SVG group\n * @private\n */\n renderEndDots(points, dotsToShow, xMargin) {\n const { endDotFillColor, endDotRadius, endDotStroke, endDotStrokeWidth } = this.props;\n\n return (\n <g>\n {points.slice(-dotsToShow).map(point => (\n <circle\n key={`end-dot${point[0]}${point[1]}`}\n data-test=\"end-dot\"\n cx={point[0]}\n cy={point[1]}\n r={endDotRadius === 0 ? xMargin : endDotRadius}\n style={{\n fill: endDotFillColor,\n stroke: endDotStroke,\n strokeWidth: endDotStrokeWidth,\n }}\n />\n ))}\n </g>\n );\n }\n\n /**\n * Renders the line(s) above the area graph\n * @method renderPolyline\n * @param {Array} points\n * @returns {Object} SVG Group of polylines\n */\n renderPolyline(points) {\n const { data, lineColor, lineLength, lineStrokeWidth } = this.props;\n\n const linePoints = isFinite(lineLength) && lineLength > 0 ? lineLength : points.length;\n const lines = this.getSegmentSets(data.slice(-linePoints), points.slice(-linePoints));\n\n return (\n <g data-test=\"sparkline\">\n {lines.map(lineData => (\n <polyline\n key={`line${lineData.join('')}`}\n data-test=\"polyline\"\n style={{\n fill: 'none',\n stroke: lineColor,\n strokeWidth: lineStrokeWidth,\n strokeLinejoin: 'round',\n strokeLinecap: 'round',\n }}\n points={lineData.join(' ')}\n />\n ))}\n </g>\n );\n }\n\n getInteractionState({ data, points, showTooltip, activeIndex, hoveredIndex, componentIsFocused }) {\n if (!showTooltip) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps: {},\n };\n }\n\n const interactiveProps = {\n onKeyDown: this.handleKeyDown,\n onMouseOver: this.handleMouseOver,\n onMouseLeave: this.handleMouseLeave,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const isHovered = hoveredIndex !== null;\n const shouldDisplayInteractiveElements = (isHovered || componentIsFocused) && data.length > 0;\n\n if (!shouldDisplayInteractiveElements) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps,\n };\n }\n\n const displayIndex = isHovered ? hoveredIndex : activeIndex;\n const isValidIndex = displayIndex !== null && displayIndex >= 0;\n const withinBounds = isValidIndex && displayIndex < data.length && displayIndex < points.length;\n\n if (!withinBounds) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps,\n };\n }\n\n const displayPointCoords = points[displayIndex];\n const currentPointX = displayPointCoords ? displayPointCoords[0] : null;\n const tooltipValue = data[displayIndex];\n\n return {\n currentPointX,\n tooltipValue,\n showCursorAndTooltip: currentPointX !== null,\n interactiveProps,\n };\n }\n\n render() {\n const {\n data,\n elementRef,\n showTooltip,\n showEndDot,\n endDotRadius,\n endDotStrokeWidth,\n endDotCount,\n height,\n isArea,\n lineStrokeWidth,\n width,\n title,\n } = this.props;\n const { activeIndex, hoveredIndex, componentIsFocused } = this.state;\n\n if (data.length === 0) {\n return null;\n }\n\n if (this.pointRefs.length !== data.length) {\n // remove stale point refs when data changes\n this.pointRefs.length = data.length;\n }\n\n // Calculate horizontal and vertical margin so that fit line or end dot.\n const xMargin = endDotRadius + endDotStrokeWidth / 2;\n const yMargin = Math.max(lineStrokeWidth / 2, endDotRadius + endDotStrokeWidth / 2);\n\n const points = this.dataToPoints(xMargin, yMargin);\n\n const dotsToShow = Math.max(showEndDot && 1, isFinite(endDotCount) && endDotCount > 0 && endDotCount);\n\n const { currentPointX, tooltipValue, showCursorAndTooltip, interactiveProps } =\n this.getInteractionState({\n data,\n points,\n showTooltip,\n activeIndex,\n hoveredIndex,\n componentIsFocused,\n });\n\n const ariaLabel = title || _('Source count over time sparkline trend');\n\n return (\n <div\n data-test=\"line\"\n data-test-type={isArea ? 'area' : 'line'}\n ref={el => {\n this.containerRef.current = el;\n if (typeof elementRef === 'function') {\n elementRef(el);\n } else if (elementRef && typeof elementRef === 'object') {\n elementRef.current = el;\n }\n }}\n {...interactiveProps}\n {...omit(this.props, keys(SparkLine.propTypes))}\n >\n <StyledSvg\n height={height}\n width={width}\n aria-labelledby={this.titleId}\n data-test=\"sparkline-svg\"\n >\n <title id={this.titleId} data-test=\"sparkline-title\">\n {ariaLabel}\n </title>\n <g>\n {showTooltip ? this.renderCursor(currentPointX, showCursorAndTooltip) : null}\n {this.renderPolyline(points)}\n {this.renderArea(points)}\n {dotsToShow ? this.renderEndDots(points, dotsToShow, xMargin) : null}\n {this.renderRect(points, xMargin)}\n {showTooltip ? this.renderTooltip(tooltipValue, showCursorAndTooltip) : null}\n </g>\n </StyledSvg>\n </div>\n );\n }\n}\n\nexport default SparkLine;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { default } from './SparkLine.jsx';\n", "\nimport * as defaultImport from \"prop-types\";\nexport * from \"prop-types\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Popover\";\nexport * from \"@splunk/react-ui/Popover\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/id\";\nexport * from \"@splunk/ui-utils/id\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { isArray, isFinite, isNull, keys, max, min, omit } from 'lodash';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { createDOMID } from '@splunk/ui-utils/id';\n\nconst StyledSvg = styled.svg`\n /* For fixing IE11 shows overflow part line issue */\n overflow: hidden;\n`;\n\nconst StyledTooltip = styled.div`\n padding: 3px 8px;\n font-size: 12px;\n text-align: center;\n min-width: 20px;\n`;\n\nconst preventDefault = e => e.preventDefault();\n\nclass SparkLine extends Component {\n static propTypes = {\n /**\n * If true, data can contain `null` as a value and is treated as `0`. If false, this throws error when data contains `null`.\n */\n acceptNull: PropTypes.bool,\n /** Array of numbers. These data numbers are converted to points and show on sparkline. */\n data: props => {\n if (!isArray(props.data)) {\n return new Error('Data provided to Sparkline must be an array.');\n }\n\n if (props.acceptNull && !props.data.every(value => isNull(value) || isFinite(value))) {\n return new Error('Data provided to Sparkline must be finite numbers or null.');\n }\n\n if (!props.acceptNull && !props.data.every(value => isFinite(value))) {\n return new Error('Data provided to Sparkline must be finite numbers.');\n }\n return null;\n },\n /** A React ref which is set to the DOM element when the component mounts and `null` when it unmounts. */\n elementRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n /** Sets the number of end dots to display. When showEndDot is set to `true`, endDotCount is at least 1. If set to a positive value, this overrides showEndDot. */\n endDotCount: PropTypes.number,\n /** Fills color to the end dot. */\n endDotFillColor: PropTypes.string,\n /**\n * Sets end dot radius. End dot radius must be less than or equal to the margin. By default, its value equals the margin.\n */\n endDotRadius: PropTypes.number,\n /** Sets end dot circle stroke color. */\n endDotStroke: PropTypes.string,\n /** Sets end dot circle stroke width in pixels. */\n endDotStrokeWidth: PropTypes.number,\n /** Fills color to area. */\n fillColor: PropTypes.string,\n /** Fills opacity to area. Value must be in 0 ~ 1. */\n fillOpacity: PropTypes.string,\n /** Sets cursor stroke color. */\n cursorStroke: PropTypes.string,\n /** Sets cursor stroke width in pixels. */\n cursorStrokeWidth: PropTypes.number,\n /** Sets cursor line cap style. */\n cursorStrokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n /** Sets cursor dash array style. */\n cursorStrokeDasharray: PropTypes.string,\n /**\n * Container height. If this value is specified, sparkline calculates the size using this height. If height isn't specified,\n * sparkline figures out the container height by itself.\n */\n height: PropTypes.number.isRequired,\n /** When set to `true`, sparkline shows as area. */\n isArea: PropTypes.bool,\n /** The sparkline line color. */\n lineColor: PropTypes.string,\n /** Allows user to draw only the last data points for the line. */\n lineLength: PropTypes.number,\n /** The sparkline line stroke width in pixels. */\n lineStrokeWidth: PropTypes.number,\n /** Enable to show end dot. */\n showEndDot: PropTypes.bool,\n /** Enable to show tooltip. */\n showTooltip: PropTypes.bool,\n /** Sets the data value range and maximum value shown on sparkline. */\n yMax: PropTypes.number,\n /** Sets the data value range and minimum value shown on sparkline. */\n yMin: PropTypes.number,\n /**\n * The width of the container.\n */\n width: PropTypes.number.isRequired,\n /** Sets the a11y title text on sparkline. */\n title: PropTypes.string,\n };\n\n static defaultProps = {\n acceptNull: false,\n data: [],\n showTooltip: true,\n endDotCount: 0,\n showEndDot: false,\n endDotRadius: 0,\n endDotFillColor: 'white',\n endDotStroke: 'black',\n endDotStrokeWidth: 0,\n fillColor: '#65a637',\n fillOpacity: '.1',\n cursorStroke: '#5184AF',\n cursorStrokeWidth: 3,\n cursorStrokeLinecap: 'square',\n cursorStrokeDasharray: '1, 5',\n isArea: false,\n lineColor: '#65a637',\n lineStrokeWidth: 1,\n };\n\n constructor(props, ...rest) {\n super(props, ...rest);\n this.state = {\n anchor: null,\n activeIndex: 0,\n hoveredIndex: null,\n componentIsFocused: false,\n };\n this.titleId = createDOMID('sparkline-title');\n this.pointRefs = [];\n this.containerRef = React.createRef();\n\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseOver = this.handleMouseOver.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n }\n\n handleFocus(event) {\n const { target } = event;\n const { pointIndex: pointIndexStr } = target.dataset || {};\n const { activeIndex, componentIsFocused, hoveredIndex } = this.state;\n\n if (pointIndexStr !== undefined) {\n // focus event propagated from a datapoint\n const pointIndex = Number.parseInt(pointIndexStr, 10);\n if (activeIndex !== pointIndex || !componentIsFocused || hoveredIndex !== null) {\n this.setState({\n activeIndex: pointIndex,\n hoveredIndex: null,\n componentIsFocused: true,\n });\n }\n } else if (this.pointRefs.length > 0) {\n // focus set programmatically or by user agent\n const indexToFocus = activeIndex ? Math.min(this.pointRefs.length - 1, activeIndex) : 0;\n this.pointRefs[indexToFocus].focus();\n }\n }\n\n handleBlur(event) {\n if (this.containerRef.current && !this.containerRef.current.contains(event.relatedTarget)) {\n this.setState({ componentIsFocused: false });\n }\n }\n\n handleKeyDown(event) {\n const { data } = this.props;\n const { activeIndex } = this.state;\n const numPoints = data.length;\n\n if (numPoints === 0) {\n return;\n }\n\n const allowedKeys = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\n if (!allowedKeys.includes(event.key)) {\n return;\n }\n\n let newIndex;\n\n switch (event.key) {\n case 'Home':\n newIndex = 0;\n break;\n case 'End':\n newIndex = numPoints - 1;\n break;\n case 'ArrowLeft':\n newIndex = Math.max(0, activeIndex - 1);\n break;\n case 'ArrowRight':\n newIndex = Math.min(numPoints - 1, activeIndex + 1);\n break;\n default:\n return;\n }\n\n if (newIndex !== activeIndex) {\n event.preventDefault();\n if (this.pointRefs[newIndex]) {\n this.pointRefs[newIndex].focus();\n }\n }\n }\n\n handleMouseOver(event) {\n const pointIndexStr = event.target.dataset && event.target.dataset.pointIndex;\n if (pointIndexStr !== undefined) {\n const pointIndex = Number.parseInt(pointIndexStr, 10);\n if (this.state.hoveredIndex !== pointIndex) {\n this.setState({ hoveredIndex: pointIndex });\n }\n }\n }\n\n handleMouseLeave() {\n if (this.state.hoveredIndex !== null) {\n this.setState({ hoveredIndex: null });\n }\n }\n\n getMax() {\n const { data, acceptNull, yMax } = this.props;\n const dataMax = () => (acceptNull ? max(this.fillNull()) : max(data));\n return yMax === undefined ? dataMax() : yMax;\n }\n\n getMin() {\n const { data, acceptNull, yMin } = this.props;\n const dataMin = () => (acceptNull ? min(this.fillNull()) : min(data));\n return yMin === undefined ? dataMin() : yMin;\n }\n\n /**\n * Gets unit value of x axis.\n * @param {Number} xMargin - margin of x axis.\n * @return {Number} unit value of x axis.\n * @private\n */\n getXUnit(xMargin) {\n const { data, width } = this.props;\n // Calculate xUnit. Width substract the left margin and right margin, then divide by data length.\n const xUnit = (width - xMargin * 2) / (data.length > 1 ? data.length - 1 : 1);\n return Math.max(0, xUnit);\n }\n\n /**\n * Gets unit value of y axis.\n * @param {String} yMargin - margin of y axis.\n * @return {Number} unit value of y axis.\n * @private\n */\n getYUnit(yMargin) {\n const { height } = this.props;\n const maxValue = this.getMax();\n const minValue = this.getMin();\n\n // Calculate yUnit. Height substract the upper margin and bottom margin, then divide by value range of values in data.\n // if the maxValue equals minValue, means all values in data are the same, then, we need to set the YUnit at the mid value of Height.\n // So, draws sparkline right in the mid of the container.\n const yUnit = (height - yMargin * 2) / (maxValue - minValue || 2);\n return Math.max(0, yUnit);\n }\n\n /**\n * Get a list of arrays of points for drawing lines, based on acceptNull property\n * @method getSegmentSets\n * @param {Array} data\n * @param {Array} points\n * @returns {Object} Object containing lines (arrays of points for polylines) and isolatedPoints (single points surrounded by nulls)\n */\n getSegmentSets(data, points) {\n const { acceptNull } = this.props;\n const lines = [];\n const isolatedPoints = [];\n let currentLine = [];\n // eslint-disable-next-line\n for (const [idx, p] of data.entries()) {\n // Found null data\n if (!acceptNull && isNull(p)) {\n // need at least 2 points to draw a segment\n if (currentLine.length > 1) {\n lines.push(currentLine);\n } else if (currentLine.length === 1) {\n // Single point surrounded by nulls - this is an isolated point\n isolatedPoints.push(currentLine[0]);\n }\n // reset for the next segment\n currentLine = [];\n } else {\n // data is good, add point data\n currentLine.push(points[idx]);\n }\n }\n\n // Add the last line or isolated point\n if (currentLine.length > 1) {\n lines.push(currentLine);\n } else if (currentLine.length === 1) {\n isolatedPoints.push(currentLine[0]);\n }\n\n return { lines, isolatedPoints };\n }\n\n handleCursorMount = el => {\n this.setState({\n anchor: el,\n });\n };\n\n /**\n * Utility for fill null value with number 0.\n * @private\n */\n fillNull() {\n const { data } = this.props;\n return data.map(value => (value === null ? 0 : value));\n }\n\n /**\n * Converts data to points in svg\n * @param {Number} xMargin - margin of x axis.\n * @param {Number} yMargin - margin of x axis.\n * @return {Array} points coordination.\n * @private\n */\n dataToPoints(xMargin, yMargin) {\n const { data } = this.props;\n const xUnit = this.getXUnit(xMargin);\n const yUnit = this.getYUnit(yMargin);\n const maxValue = this.getMax();\n const minValue = this.getMin();\n return data\n .map((val, idx) => ({\n x: idx * xUnit + xMargin,\n y: maxValue === minValue ? yUnit + yMargin : (maxValue - val) * yUnit + yMargin,\n }))\n .map(p => [p.x, p.y]);\n }\n\n /**\n * Renders rect area for each datapoint for interactions and screen reader support\n * @param {Array} points - array of points coordination.\n * @param {Number} xMargin - margin of x axis.\n * @return {Array} array of svg rect objects\n * @private\n */\n renderRect(points, xMargin) {\n const { data, height, showTooltip } = this.props;\n const xUnit = this.getXUnit(xMargin);\n\n return points.map((p, i) => (\n /* eslint-disable react/no-array-index-key */\n <rect\n key={`${i}_${p[0]}`}\n role=\"graphics-symbol\"\n aria-label={`Value: ${data[i] === null ? 'N/A' : data[i]}, point ${i + 1} of ${data.length}`}\n data-test={`rect-${i}`}\n data-point-index={i}\n tabIndex={showTooltip && this.state.activeIndex === i ? 0 : -1}\n ref={el => {\n this.pointRefs[i] = el;\n }}\n x={Math.max(0, p[0] - xUnit / 2)}\n y={0}\n width={i === 0 && data.length !== 1 ? xUnit / 2 : xUnit}\n height={height}\n style={{ fillOpacity: 0 }}\n onMouseDown={preventDefault} // do not take focus on click\n />\n /* eslint-enable react/no-array-index-key */\n ));\n }\n\n // Renders area chart\n renderArea(points) {\n const { data, fillColor, fillOpacity, height, isArea } = this.props;\n\n if (!isArea || points.length === 0) {\n return null;\n }\n\n const { lines } = this.getSegmentSets(data, points);\n const segments = lines.map(s =>\n s.concat([\n [s.at(-1)[0], height], // down to bottom of graph\n [s[0][0], height], // over to below first data point\n s[0], // up to first data point to close the box\n ])\n );\n\n return (\n <g data-test=\"area\">\n {segments.map(s => (\n <polyline\n key={`area${s.join('')}`}\n points={s.join(' ')}\n data-test=\"area-line\"\n style={{\n fill: fillColor,\n fillOpacity,\n strokeWidth: '0',\n }}\n />\n ))}\n </g>\n );\n }\n\n renderCursor(currentPointX, shouldRender) {\n const { cursorStroke, cursorStrokeWidth, cursorStrokeLinecap, cursorStrokeDasharray, height } =\n this.props;\n\n return (\n shouldRender && (\n <line\n data-test=\"cursor\"\n ref={this.handleCursorMount}\n x1={currentPointX}\n y1={0}\n x2={currentPointX}\n y2={height}\n style={{\n stroke: cursorStroke,\n strokeWidth: cursorStrokeWidth,\n strokeLinecap: cursorStrokeLinecap,\n strokeDasharray: cursorStrokeDasharray,\n }}\n />\n )\n );\n }\n\n renderTooltip(tooltipValue, isOpen) {\n const { anchor } = this.state;\n // Display '-' for null values, consistent with canvas chart tooltips\n const displayValue = tooltipValue === null ? '-' : tooltipValue;\n\n return (\n <Popover\n data-test=\"tooltip\"\n open={isOpen}\n anchor={anchor}\n data-test-value={tooltipValue}\n appearance=\"inverted\"\n defaultPlacement=\"above\"\n animation={false}\n >\n <StyledTooltip>{displayValue}</StyledTooltip>\n </Popover>\n );\n }\n\n /**\n * Renders one or more svg circles to highlight values on the sparkline\n * @method renderEndDots\n * @param {Array[Array[Number]]} points // x,y coordinates of values\n * @param {Number} dotsToShow // number of end dots to display\n * @param {Number} xMargin // used when calculating the dot radius\n * @returns {Object} React representation of SVG group\n * @private\n */\n renderEndDots(points, dotsToShow, xMargin) {\n const { endDotFillColor, endDotRadius, endDotStroke, endDotStrokeWidth } = this.props;\n\n return (\n <g>\n {points.slice(-dotsToShow).map(point => (\n <circle\n key={`end-dot${point[0]}${point[1]}`}\n data-test=\"end-dot\"\n cx={point[0]}\n cy={point[1]}\n r={endDotRadius === 0 ? xMargin : endDotRadius}\n style={{\n fill: endDotFillColor,\n stroke: endDotStroke,\n strokeWidth: endDotStrokeWidth,\n }}\n />\n ))}\n </g>\n );\n }\n\n /**\n * Renders circles for isolated points (single data points surrounded by nulls)\n * These would otherwise be invisible since a line requires at least 2 points\n * @method renderIsolatedPoints\n * @param {Array} isolatedPoints - Array of [x, y] coordinates for isolated points\n * @returns {Object} SVG Group of circles\n */\n renderIsolatedPoints(isolatedPoints) {\n const { lineColor, lineStrokeWidth } = this.props;\n\n if (!isolatedPoints || isolatedPoints.length === 0) {\n return null;\n }\n\n // Use a radius slightly larger than line width for visibility\n const radius = lineStrokeWidth + 0.5;\n\n return (\n <g data-test=\"isolated-points\">\n {isolatedPoints.map(point => (\n <circle\n key={`isolated-${point[0]}-${point[1]}`}\n data-test=\"isolated-point\"\n cx={point[0]}\n cy={point[1]}\n r={radius}\n style={{\n fill: lineColor,\n }}\n />\n ))}\n </g>\n );\n }\n\n /**\n * Renders the line(s) above the area graph\n * @method renderPolyline\n * @param {Array} points\n * @returns {Object} SVG Group of polylines and isolated points\n */\n renderPolyline(points) {\n const { data, lineColor, lineLength, lineStrokeWidth } = this.props;\n\n const linePoints = isFinite(lineLength) && lineLength > 0 ? lineLength : points.length;\n const { lines, isolatedPoints } = this.getSegmentSets(\n data.slice(-linePoints),\n points.slice(-linePoints)\n );\n\n return (\n <g data-test=\"sparkline\">\n {lines.map(lineData => (\n <polyline\n key={`line${lineData.join('')}`}\n data-test=\"polyline\"\n style={{\n fill: 'none',\n stroke: lineColor,\n strokeWidth: lineStrokeWidth,\n strokeLinejoin: 'round',\n strokeLinecap: 'round',\n }}\n points={lineData.join(' ')}\n />\n ))}\n {this.renderIsolatedPoints(isolatedPoints)}\n </g>\n );\n }\n\n getInteractionState({ data, points, showTooltip, activeIndex, hoveredIndex, componentIsFocused }) {\n if (!showTooltip) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps: {},\n };\n }\n\n const interactiveProps = {\n onKeyDown: this.handleKeyDown,\n onMouseOver: this.handleMouseOver,\n onMouseLeave: this.handleMouseLeave,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const isHovered = hoveredIndex !== null;\n const shouldDisplayInteractiveElements = (isHovered || componentIsFocused) && data.length > 0;\n\n if (!shouldDisplayInteractiveElements) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps,\n };\n }\n\n const displayIndex = isHovered ? hoveredIndex : activeIndex;\n const isValidIndex = displayIndex !== null && displayIndex >= 0;\n const withinBounds = isValidIndex && displayIndex < data.length && displayIndex < points.length;\n\n if (!withinBounds) {\n return {\n currentPointX: null,\n tooltipValue: null,\n showCursorAndTooltip: false,\n interactiveProps,\n };\n }\n\n const displayPointCoords = points[displayIndex];\n const currentPointX = displayPointCoords ? displayPointCoords[0] : null;\n const tooltipValue = data[displayIndex];\n\n return {\n currentPointX,\n tooltipValue,\n showCursorAndTooltip: currentPointX !== null,\n interactiveProps,\n };\n }\n\n render() {\n const {\n data,\n elementRef,\n showTooltip,\n showEndDot,\n endDotRadius,\n endDotStrokeWidth,\n endDotCount,\n height,\n isArea,\n lineStrokeWidth,\n width,\n title,\n } = this.props;\n const { activeIndex, hoveredIndex, componentIsFocused } = this.state;\n\n if (data.length === 0) {\n return null;\n }\n\n if (this.pointRefs.length !== data.length) {\n // remove stale point refs when data changes\n this.pointRefs.length = data.length;\n }\n\n // Calculate horizontal and vertical margin so that fit line or end dot.\n const xMargin = endDotRadius + endDotStrokeWidth / 2;\n const yMargin = Math.max(lineStrokeWidth / 2, endDotRadius + endDotStrokeWidth / 2);\n\n const points = this.dataToPoints(xMargin, yMargin);\n\n const dotsToShow = Math.max(showEndDot && 1, isFinite(endDotCount) && endDotCount > 0 && endDotCount);\n\n const { currentPointX, tooltipValue, showCursorAndTooltip, interactiveProps } =\n this.getInteractionState({\n data,\n points,\n showTooltip,\n activeIndex,\n hoveredIndex,\n componentIsFocused,\n });\n\n const ariaLabel = title || _('Source count over time sparkline trend');\n\n return (\n <div\n data-test=\"line\"\n data-test-type={isArea ? 'area' : 'line'}\n ref={el => {\n this.containerRef.current = el;\n if (typeof elementRef === 'function') {\n elementRef(el);\n } else if (elementRef && typeof elementRef === 'object') {\n elementRef.current = el;\n }\n }}\n {...interactiveProps}\n {...omit(this.props, keys(SparkLine.propTypes))}\n >\n <StyledSvg\n height={height}\n width={width}\n aria-labelledby={this.titleId}\n data-test=\"sparkline-svg\"\n >\n <title id={this.titleId} data-test=\"sparkline-title\">\n {ariaLabel}\n </title>\n <g>\n {showTooltip ? this.renderCursor(currentPointX, showCursorAndTooltip) : null}\n {this.renderPolyline(points)}\n {this.renderArea(points)}\n {dotsToShow ? this.renderEndDots(points, dotsToShow, xMargin) : null}\n {this.renderRect(points, xMargin)}\n {showTooltip ? this.renderTooltip(tooltipValue, showCursorAndTooltip) : null}\n </g>\n </StyledSvg>\n </div>\n );\n }\n}\n\nexport default SparkLine;\n"],
5
+ "mappings": "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",
6
6
  "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
7
7
  }
@@ -5,6 +5,7 @@ import { PaginatorParams } from '../common/hooks/usePagination';
5
5
  import { SortParams } from '../common/hooks/useSorting';
6
6
  export declare const MINIMUM_COLUMN_SIZE = 60;
7
7
  export declare const INITIAL_UNSET_COLUMN_WIDTH = 90;
8
+ export declare const COMPACT_PAGINATOR_WIDTH_THRESHOLD = 350;
8
9
  interface TableCellClickPayload {
9
10
  value: string | number;
10
11
  cellIndex: number;
@@ -44,7 +45,16 @@ export interface PureTableProps {
44
45
  onColumnFormatChange?: (columnFormat: Partial<ColumnFormat>) => void;
45
46
  font?: string;
46
47
  fontSize?: string;
48
+ eventHandlers?: Array<{
49
+ type: string;
50
+ options: {
51
+ url?: string;
52
+ fields: string[];
53
+ };
54
+ }>;
55
+ hasEventHandlers?: boolean;
47
56
  }
57
+ export declare const getUseMouseOverEffect: (props: any, header: string) => boolean;
48
58
  declare const _default: any;
49
59
  export default _default;
50
60
  //# sourceMappingURL=PureTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PureTable.d.ts","sourceRoot":"","sources":["../src/Table/PureTable.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKH,qBAAqB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EACH,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAA4B,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,UAAU,qBAAqB;IAE3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAIvB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,kBAAkB,CAAC;IAG9B,YAAY,EAAE,kBAAkB,CAAC;IAGjC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;wBAyqB0E,GAAG;AAA9E,wBAA+E"}
1
+ {"version":3,"file":"PureTable.d.ts","sourceRoot":"","sources":["../src/Table/PureTable.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKH,qBAAqB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EACH,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAA4B,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,UAAU,qBAAqB;IAE3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAIvB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,kBAAkB,CAAC;IAG9B,YAAY,EAAE,kBAAkB,CAAC;IAGjC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACL,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACL,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA0QD,eAAO,MAAM,qBAAqB,GAAI,UAAK,EAAE,QAAQ,MAAM,KAAG,OAmB7D,CAAC;wBAyayE,GAAG;AAA9E,wBAA+E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,MAAM,MAAM,UAAU,CAAC;AAG9B,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,eAAO,MAAM,eAAe,GAAI;;CAAY,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAuEpE,CAAC;AA8EF,QAAA,MAAM,KAAK;8CAtEJ;QACC,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC;;;CA0EJ,CAAC;AACF,QAAA,MAAQ,MAAM,KAAW,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACrC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,MAAM,MAAM,UAAU,CAAC;AAG9B,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,eAAO,MAAM,eAAe,GAAI;;CAAY,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA6DpE,CAAC;AA8EF,QAAA,MAAM,KAAK;8CAtEJ;QACC,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC;;;CA0EJ,CAAC;AACF,QAAA,MAAQ,MAAM,KAAW,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACrC,eAAe,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SparklineCell.d.ts","sourceRoot":"","sources":["../../src/Table/cells/SparklineCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAC;AAE5D,UAAU,kBAAkB;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAcD,eAAO,MAAM,aAAa;2CAIvB,kBAAkB,GAAG,KAAK,CAAC,YAAY;;CA8DzC,CAAC"}
1
+ {"version":3,"file":"SparklineCell.d.ts","sourceRoot":"","sources":["../../src/Table/cells/SparklineCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAiD,MAAM,UAAU,CAAC;AAEvF,UAAU,kBAAkB;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAiCD,eAAO,MAAM,aAAa;2CAIvB,kBAAkB,GAAG,KAAK,CAAC,YAAY;;CAmEzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/Table/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;;AAklB3D,wBAAqC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/Table/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;;AAilB3D,wBAAqC"}
package/Table/hooks.d.ts CHANGED
@@ -43,6 +43,7 @@ interface TableRowStyles extends TextOverFlowStyles {
43
43
  color?: string;
44
44
  width?: number | 'auto';
45
45
  }
46
+ export type SparklineNullValueDisplay = 'gaps' | 'zero' | 'connect';
46
47
  export interface TableRowCell {
47
48
  key: string;
48
49
  value: TableCellValueType;
@@ -54,6 +55,7 @@ export interface TableRowCell {
54
55
  sparklineAreaColor?: string;
55
56
  sparklineColor?: string;
56
57
  sparklineType: SparklineType;
58
+ sparklineNullValueDisplay: SparklineNullValueDisplay;
57
59
  header: string;
58
60
  style: TableRowStyles;
59
61
  showCell: boolean;
@@ -83,6 +85,7 @@ export interface TableFormat {
83
85
  sparklineAreaColors: string[][];
84
86
  sparklineColors: string[][];
85
87
  sparklineTypes: SparklineType[][];
88
+ sparklineNullValueDisplay?: SparklineNullValueDisplay;
86
89
  textOverflow?: TextOverflow;
87
90
  }
88
91
  interface ColumnFormatter {
@@ -95,6 +98,7 @@ interface ColumnFormatter {
95
98
  sparklineAreaColors: string[];
96
99
  sparklineColors: string[];
97
100
  sparklineTypes: SparklineType[];
101
+ sparklineNullValueDisplay?: SparklineNullValueDisplay;
98
102
  width: number | 'auto';
99
103
  textOverflow: TextOverflow;
100
104
  footer: string[];
@@ -102,6 +106,7 @@ interface ColumnFormatter {
102
106
  export interface ColumnFormat {
103
107
  [k: string]: Partial<ColumnFormatter>;
104
108
  }
109
+ export type ThemeFunc = (themeVar: string) => string | undefined;
105
110
  export interface UseTableArgs {
106
111
  headers?: string[];
107
112
  headersMetadata?: FieldEntry[];
@@ -116,6 +121,7 @@ export interface UseTableArgs {
116
121
  columnFormat?: Partial<ColumnFormat>;
117
122
  paginationOffset?: number;
118
123
  count?: number;
124
+ themeFunc?: ThemeFunc;
119
125
  }
120
126
  interface GetOverflowStylesArgs {
121
127
  textOverflow: TextOverflow;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/Table/hooks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/Table/hooks.tsx"],"names":[],"mappings":"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"}
package/Table.config.js CHANGED
@@ -679,8 +679,8 @@ var editorConfig = [
679
679
  }
680
680
  ]
681
681
  ],
682
- // TODO(fkurniawan): fill in with proper editor components
683
682
  sparkline: [],
683
+ // Configure via columnFormat.sparklineNullValueDisplay
684
684
  string: [
685
685
  [
686
686
  __spreadValues({}, unitPositionConfig),