@splunk/visualizations 23.2.0 → 23.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 (132) hide show
  1. package/Area.config.js +36 -30
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +243 -203
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +29 -23
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +233 -193
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +36 -23
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +247 -196
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +15 -12
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +201 -148
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +29 -23
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +235 -194
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +23 -20
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +176 -123
  24. package/Ellipse.js.map +1 -1
  25. package/FillerGauge.config.js +803 -0
  26. package/FillerGauge.config.js.map +1 -0
  27. package/FillerGauge.js +3634 -0
  28. package/FillerGauge.js.map +1 -0
  29. package/Image.config.js +13 -6
  30. package/Image.config.js.map +1 -1
  31. package/Image.js +260 -200
  32. package/Image.js.map +1 -1
  33. package/LICENSE.md +14 -0
  34. package/Line.config.js +40 -31
  35. package/Line.config.js.map +1 -1
  36. package/Line.js +248 -202
  37. package/Line.js.map +1 -1
  38. package/LinkGraph.config.js +107 -123
  39. package/LinkGraph.config.js.map +1 -1
  40. package/LinkGraph.js +241 -193
  41. package/LinkGraph.js.map +1 -1
  42. package/Markdown.config.js +95 -3
  43. package/Markdown.config.js.map +1 -1
  44. package/Markdown.js +272 -118
  45. package/Markdown.js.map +1 -1
  46. package/MarkerGauge.config.js +750 -0
  47. package/MarkerGauge.config.js.map +1 -0
  48. package/MarkerGauge.js +3758 -0
  49. package/MarkerGauge.js.map +1 -0
  50. package/ParallelCoordinates.config.js +52 -46
  51. package/ParallelCoordinates.config.js.map +1 -1
  52. package/ParallelCoordinates.js +257 -164
  53. package/ParallelCoordinates.js.map +1 -1
  54. package/Pie.config.js +61 -46
  55. package/Pie.config.js.map +1 -1
  56. package/Pie.js +254 -186
  57. package/Pie.js.map +1 -1
  58. package/Punchcard.config.js +279 -39
  59. package/Punchcard.config.js.map +1 -1
  60. package/Punchcard.js +825 -193
  61. package/Punchcard.js.map +1 -1
  62. package/README.external.md +45 -0
  63. package/README.md +18 -3
  64. package/Rectangle.config.js +89 -107
  65. package/Rectangle.config.js.map +1 -1
  66. package/Rectangle.js +204 -145
  67. package/Rectangle.js.map +1 -1
  68. package/Sankey.config.js +29 -22
  69. package/Sankey.config.js.map +1 -1
  70. package/Sankey.js +250 -186
  71. package/Sankey.js.map +1 -1
  72. package/Scatter.config.js +39 -28
  73. package/Scatter.config.js.map +1 -1
  74. package/Scatter.js +2375 -2434
  75. package/Scatter.js.map +1 -1
  76. package/SingleValue.config.js +37 -29
  77. package/SingleValue.config.js.map +1 -1
  78. package/SingleValue.js +3108 -3174
  79. package/SingleValue.js.map +1 -1
  80. package/SingleValueBasic.js +37 -23
  81. package/SingleValueBasic.js.map +1 -1
  82. package/SingleValueIcon.config.js +36 -28
  83. package/SingleValueIcon.config.js.map +1 -1
  84. package/SingleValueIcon.js +279 -210
  85. package/SingleValueIcon.js.map +1 -1
  86. package/SingleValueRadial.config.js +15 -13
  87. package/SingleValueRadial.config.js.map +1 -1
  88. package/SingleValueRadial.js +299 -253
  89. package/SingleValueRadial.js.map +1 -1
  90. package/Table.config.js +26 -10
  91. package/Table.config.js.map +1 -1
  92. package/Table.js +382 -265
  93. package/Table.js.map +1 -1
  94. package/common/Charting.js +33 -30
  95. package/common/Charting.js.map +1 -1
  96. package/common/ChartingApi.js +4 -4
  97. package/common/ChartingApi.js.map +1 -1
  98. package/common/EventsDoc.js +36 -34
  99. package/common/EventsDoc.js.map +1 -1
  100. package/common/GaugeMajorTicks.js +386 -0
  101. package/common/GaugeMajorTicks.js.map +1 -0
  102. package/common/GaugeValueMarker.js +333 -0
  103. package/common/GaugeValueMarker.js.map +1 -0
  104. package/common/OptionsDoc.js +47 -33
  105. package/common/OptionsDoc.js.map +1 -1
  106. package/common/OverviewDoc.js +376 -0
  107. package/common/OverviewDoc.js.map +1 -0
  108. package/common/SplunkVisualization.js +6 -6
  109. package/common/SplunkVisualization.js.map +1 -1
  110. package/common/SplunkVisualizationApi.js +10 -10
  111. package/common/SplunkVisualizationApi.js.map +1 -1
  112. package/common/ThemesDoc.js +55 -72
  113. package/common/ThemesDoc.js.map +1 -1
  114. package/common/chartingUtils.js +15 -13
  115. package/common/chartingUtils.js.map +1 -1
  116. package/common/docUtils.js +4 -4
  117. package/common/docUtils.js.map +1 -1
  118. package/common/gaugeUtils.js +893 -0
  119. package/common/gaugeUtils.js.map +1 -0
  120. package/common/shapeUtils.js +8 -8
  121. package/common/shapeUtils.js.map +1 -1
  122. package/common/utils/JSONSchemaUtils.js.map +1 -1
  123. package/common/utils/configUtils.js.map +1 -1
  124. package/common/utils/hocUtils.js +57 -3
  125. package/common/utils/hocUtils.js.map +1 -1
  126. package/common/utils/singleValueUtils.js +24 -10
  127. package/common/utils/singleValueUtils.js.map +1 -1
  128. package/common/withDashboardViz.js +158 -95
  129. package/common/withDashboardViz.js.map +1 -1
  130. package/package.json +18 -14
  131. package/common/utils/eventUtils.js +0 -115
  132. package/common/utils/eventUtils.js.map +0 -1
@@ -0,0 +1,333 @@
1
+ /*!
2
+ * Copyright © 2018 Splunk Inc.
3
+ * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
+ * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
+ */
6
+ module.exports =
7
+ /******/ (function(modules) { // webpackBootstrap
8
+ /******/ // The module cache
9
+ /******/ var installedModules = {};
10
+ /******/
11
+ /******/ // The require function
12
+ /******/ function __webpack_require__(moduleId) {
13
+ /******/
14
+ /******/ // Check if module is in cache
15
+ /******/ if(installedModules[moduleId]) {
16
+ /******/ return installedModules[moduleId].exports;
17
+ /******/ }
18
+ /******/ // Create a new module (and put it into the cache)
19
+ /******/ var module = installedModules[moduleId] = {
20
+ /******/ i: moduleId,
21
+ /******/ l: false,
22
+ /******/ exports: {}
23
+ /******/ };
24
+ /******/
25
+ /******/ // Execute the module function
26
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
27
+ /******/
28
+ /******/ // Flag the module as loaded
29
+ /******/ module.l = true;
30
+ /******/
31
+ /******/ // Return the exports of the module
32
+ /******/ return module.exports;
33
+ /******/ }
34
+ /******/
35
+ /******/
36
+ /******/ // expose the modules object (__webpack_modules__)
37
+ /******/ __webpack_require__.m = modules;
38
+ /******/
39
+ /******/ // expose the module cache
40
+ /******/ __webpack_require__.c = installedModules;
41
+ /******/
42
+ /******/ // define getter function for harmony exports
43
+ /******/ __webpack_require__.d = function(exports, name, getter) {
44
+ /******/ if(!__webpack_require__.o(exports, name)) {
45
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
46
+ /******/ }
47
+ /******/ };
48
+ /******/
49
+ /******/ // define __esModule on exports
50
+ /******/ __webpack_require__.r = function(exports) {
51
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
52
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
53
+ /******/ }
54
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
55
+ /******/ };
56
+ /******/
57
+ /******/ // create a fake namespace object
58
+ /******/ // mode & 1: value is a module id, require it
59
+ /******/ // mode & 2: merge all properties of value into the ns
60
+ /******/ // mode & 4: return value when already ns object
61
+ /******/ // mode & 8|1: behave like require
62
+ /******/ __webpack_require__.t = function(value, mode) {
63
+ /******/ if(mode & 1) value = __webpack_require__(value);
64
+ /******/ if(mode & 8) return value;
65
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
66
+ /******/ var ns = Object.create(null);
67
+ /******/ __webpack_require__.r(ns);
68
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
69
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
70
+ /******/ return ns;
71
+ /******/ };
72
+ /******/
73
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
74
+ /******/ __webpack_require__.n = function(module) {
75
+ /******/ var getter = module && module.__esModule ?
76
+ /******/ function getDefault() { return module['default']; } :
77
+ /******/ function getModuleExports() { return module; };
78
+ /******/ __webpack_require__.d(getter, 'a', getter);
79
+ /******/ return getter;
80
+ /******/ };
81
+ /******/
82
+ /******/ // Object.prototype.hasOwnProperty.call
83
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
84
+ /******/
85
+ /******/ // __webpack_public_path__
86
+ /******/ __webpack_require__.p = "";
87
+ /******/
88
+ /******/
89
+ /******/ // Load entry module and return exports
90
+ /******/ return __webpack_require__(__webpack_require__.s = 48);
91
+ /******/ })
92
+ /************************************************************************/
93
+ /******/ ({
94
+
95
+ /***/ 0:
96
+ /***/ (function(module, exports) {
97
+
98
+ module.exports = require("react");
99
+
100
+ /***/ }),
101
+
102
+ /***/ 1:
103
+ /***/ (function(module, exports) {
104
+
105
+ module.exports = require("prop-types");
106
+
107
+ /***/ }),
108
+
109
+ /***/ 13:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("@splunk/visualizations-shared/numberUtils");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 2:
117
+ /***/ (function(module, exports) {
118
+
119
+ module.exports = require("styled-components");
120
+
121
+ /***/ }),
122
+
123
+ /***/ 48:
124
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
125
+
126
+ "use strict";
127
+ __webpack_require__.r(__webpack_exports__);
128
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionValueMarkerRect", function() { return positionValueMarkerRect; });
129
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionLabel", function() { return positionLabel; });
130
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
131
+ /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
132
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
133
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
134
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
135
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
136
+ /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
137
+ /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_3__);
138
+ /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13);
139
+ /* harmony import */ var _splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__);
140
+
141
+
142
+
143
+
144
+
145
+ var MARKER_THICKNESS = 15;
146
+ var MARKER_INNER_LENGTH = 30;
147
+ var MARKER_LABEL_WIDTH = 60;
148
+ var MARKER_LABEL_HEIGHT = 25;
149
+ var RADIUS = 2;
150
+ var DELTA_LENGTH = 12;
151
+ var ValueMarkerRect = styled_components__WEBPACK_IMPORTED_MODULE_3___default.a.path.withConfig({
152
+ displayName: "GaugeValueMarker__ValueMarkerRect",
153
+ componentId: "sc-1bxkeao-0"
154
+ })(["stroke-width:2px;fill:", ";"], function (props) {
155
+ return props.valueMarkerFillColor;
156
+ });
157
+ var ValueMarkerLabelRect = styled_components__WEBPACK_IMPORTED_MODULE_3___default.a.rect.withConfig({
158
+ displayName: "GaugeValueMarker__ValueMarkerLabelRect",
159
+ componentId: "sc-1bxkeao-1"
160
+ })(["fill:", ";"], function (props) {
161
+ return props.valueMarkerFillColor;
162
+ });
163
+ var ValueMarkerLabel = styled_components__WEBPACK_IMPORTED_MODULE_3___default.a.text.withConfig({
164
+ displayName: "GaugeValueMarker__ValueMarkerLabel",
165
+ componentId: "sc-1bxkeao-2"
166
+ })(["fill:", ";font-size:14px;font-family:Splunk Platform Sans,sans-serif;line-height:16px;text-anchor:middle;text-align:center;dominant-baseline:middle;"], function (props) {
167
+ return props.valueMarkerLabelFillColor;
168
+ });
169
+ /**
170
+ * calculate the path of Value Marker shape
171
+ * @method positionValueMarkerRect
172
+ * @param {Object} input
173
+ * @param {Number} input.x
174
+ * @param {Number} input.y
175
+ * @param {String} input.orientation
176
+ * @param {Number} input.valueMarkerRectLength
177
+ * @return {String} d containing a series of path commands that define the path to be
178
+ */
179
+
180
+ var positionValueMarkerRect = function positionValueMarkerRect(_ref) {
181
+ var x = _ref.x,
182
+ y = _ref.y,
183
+ orientation = _ref.orientation,
184
+ valueMarkerRectLength = _ref.valueMarkerRectLength;
185
+ var hLength = MARKER_THICKNESS;
186
+ var vLength = valueMarkerRectLength;
187
+ var markerStartX = x - MARKER_THICKNESS;
188
+ var markerStartY = y;
189
+ var innerHLength = hLength / 3;
190
+ var innerVLength = MARKER_INNER_LENGTH;
191
+ var innerStartX = markerStartX + innerHLength;
192
+ var innerStartY = markerStartY + 7;
193
+
194
+ if (orientation === 'vertical') {
195
+ hLength = valueMarkerRectLength;
196
+ vLength = MARKER_THICKNESS;
197
+ markerStartX = x;
198
+ innerHLength = MARKER_INNER_LENGTH;
199
+ innerVLength = vLength / 3;
200
+ innerStartX = markerStartX + 7;
201
+ innerStartY = markerStartY + innerVLength;
202
+ }
203
+
204
+ return "M".concat(markerStartX, ",").concat(markerStartY, "h").concat(hLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(RADIUS, ",").concat(RADIUS, "v").concat(vLength - 2 * RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(-RADIUS, ",").concat(RADIUS, "h").concat(-hLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(-RADIUS, ",").concat(-RADIUS, "v").concat(2 * RADIUS - vLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 1 ").concat(RADIUS, ",").concat(-RADIUS, "z") + "M".concat(innerStartX, ",").concat(innerStartY, "v").concat(innerVLength - RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(RADIUS, ",").concat(RADIUS, "h").concat(innerHLength - 2 * RADIUS, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(RADIUS, ",").concat(-RADIUS, "v").concat(RADIUS - innerVLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(-RADIUS, ",").concat(-RADIUS, "h").concat(2 * RADIUS - innerHLength, "a").concat(RADIUS, ",").concat(RADIUS, " 0 0 0 ").concat(-RADIUS, ",").concat(RADIUS, "z");
205
+ };
206
+ /**
207
+ * calculate the position of value marker label
208
+ * @method positionLabel
209
+ * @param {Object} input
210
+ * @param {Number} input.x
211
+ * @param {Number} input.y
212
+ * @param {Number} input.length gauge thickness
213
+ * @param {String} input.orientation
214
+ * @return {Object} positions
215
+ * @return {Number} positions.labelRectX x of value marker label rect
216
+ * @return {Number} positions.labelRectY y of value marker label rect
217
+ * @return {Number} positions.labelX x of value marker label text
218
+ * @return {Number} positions.labelY y of value marker label text
219
+ */
220
+
221
+ var positionLabel = function positionLabel(_ref2) {
222
+ var x = _ref2.x,
223
+ y = _ref2.y,
224
+ length = _ref2.length,
225
+ orientation = _ref2.orientation; // for horizontal view
226
+
227
+ var labelRectX = x - MARKER_THICKNESS / 2 - MARKER_LABEL_WIDTH / 2;
228
+ var labelRectY = y + length;
229
+
230
+ if (orientation === 'vertical') {
231
+ labelRectX = x + length;
232
+ labelRectY = y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;
233
+ }
234
+
235
+ var labelX = labelRectX + MARKER_LABEL_WIDTH / 2;
236
+ var labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;
237
+ return {
238
+ labelRectX: labelRectX,
239
+ labelRectY: labelRectY,
240
+ labelX: labelX,
241
+ labelY: labelY
242
+ };
243
+ };
244
+
245
+ var ValueMarker = function ValueMarker(_ref3) {
246
+ var props = _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _ref3);
247
+
248
+ var x = props.x,
249
+ y = props.y,
250
+ length = props.length,
251
+ min = props.min,
252
+ max = props.max,
253
+ value = props.value,
254
+ orientation = props.orientation,
255
+ showValue = props.showValue,
256
+ usePercentageValue = props.usePercentageValue,
257
+ valueMarkerFillColor = props.valueMarkerFillColor,
258
+ valueMarkerLabelFillColor = props.valueMarkerLabelFillColor;
259
+ var valueMarkerRectLength = length + DELTA_LENGTH;
260
+
261
+ var _positionLabel = positionLabel({
262
+ x: x,
263
+ y: y,
264
+ length: length,
265
+ orientation: orientation
266
+ }),
267
+ labelRectX = _positionLabel.labelRectX,
268
+ labelRectY = _positionLabel.labelRectY,
269
+ labelX = _positionLabel.labelX,
270
+ labelY = _positionLabel.labelY;
271
+
272
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("g", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ValueMarkerRect, {
273
+ "data-test": "value-marker-rect",
274
+ d: positionValueMarkerRect({
275
+ x: x,
276
+ y: y,
277
+ orientation: orientation,
278
+ valueMarkerRectLength: valueMarkerRectLength
279
+ }),
280
+ valueMarkerFillColor: valueMarkerFillColor
281
+ }), showValue && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("g", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ValueMarkerLabelRect, {
282
+ "data-test": "value-marker-label-rect",
283
+ x: labelRectX,
284
+ y: labelRectY,
285
+ width: MARKER_LABEL_WIDTH,
286
+ height: MARKER_LABEL_HEIGHT,
287
+ rx: RADIUS,
288
+ ry: RADIUS,
289
+ valueMarkerFillColor: valueMarkerFillColor
290
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ValueMarkerLabel, {
291
+ "data-test": "value-marker-label",
292
+ x: labelX,
293
+ y: labelY,
294
+ valueMarkerLabelFillColor: valueMarkerLabelFillColor
295
+ }, usePercentageValue ? "".concat((value / (max - min) * 100).toFixed(2), "%") : Object(_splunk_visualizations_shared_numberUtils__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(value, 0, {
296
+ useThousandSeparators: true,
297
+ useTrendUnits: true
298
+ }))));
299
+ };
300
+
301
+ ValueMarker.propTypes = {
302
+ x: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
303
+ y: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
304
+ length: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
305
+ min: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
306
+ max: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
307
+ value: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number,
308
+ orientation: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,
309
+ showValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
310
+ usePercentageValue: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool,
311
+ valueMarkerFillColor: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string,
312
+ valueMarkerLabelFillColor: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string
313
+ };
314
+ ValueMarker.defaultProps = {
315
+ min: 0,
316
+ max: 100,
317
+ orientation: 'horizontal',
318
+ showValue: true,
319
+ usePercentageValue: false
320
+ };
321
+ /* harmony default export */ __webpack_exports__["default"] = (ValueMarker);
322
+
323
+ /***/ }),
324
+
325
+ /***/ 9:
326
+ /***/ (function(module, exports) {
327
+
328
+ module.exports = require("@babel/runtime/helpers/extends");
329
+
330
+ /***/ })
331
+
332
+ /******/ });
333
+ //# sourceMappingURL=GaugeValueMarker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/visualizations-shared/numberUtils\"","webpack:///external \"styled-components\"","webpack:///./src/common/GaugeValueMarker.jsx","webpack:///external \"@babel/runtime/helpers/extends\""],"names":["MARKER_THICKNESS","MARKER_INNER_LENGTH","MARKER_LABEL_WIDTH","MARKER_LABEL_HEIGHT","RADIUS","DELTA_LENGTH","ValueMarkerRect","styled","props","ValueMarkerLabelRect","ValueMarkerLabel","positionValueMarkerRect","x","y","orientation","valueMarkerRectLength","hLength","vLength","markerStartX","markerStartY","innerHLength","innerVLength","innerStartX","innerStartY","positionLabel","length","labelRectX","labelRectY","labelX","labelY","ValueMarker","min","max","value","showValue","usePercentageValue","valueMarkerFillColor","valueMarkerLabelFillColor","formatNumber","useThousandSeparators","useTrendUnits","T","string"],"mappings":"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","file":"GaugeValueMarker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/visualizations-shared/numberUtils\");","module.exports = require(\"styled-components\");","import React from 'react';\nimport T from 'prop-types';\nimport styled from 'styled-components';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\n\nconst MARKER_THICKNESS = 15;\nconst MARKER_INNER_LENGTH = 30;\n\nconst MARKER_LABEL_WIDTH = 60;\nconst MARKER_LABEL_HEIGHT = 25;\nconst RADIUS = 2;\nconst DELTA_LENGTH = 12;\n\nconst ValueMarkerRect = styled.path`\n stroke-width: 2px;\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabelRect = styled.rect`\n fill: ${props => props.valueMarkerFillColor};\n`;\n\nconst ValueMarkerLabel = styled.text`\n fill: ${props => props.valueMarkerLabelFillColor};\n font-size: 14px;\n font-family: Splunk Platform Sans, sans-serif;\n line-height: 16px;\n text-anchor: middle;\n text-align: center;\n dominant-baseline: middle;\n`;\n\n/**\n * calculate the path of Value Marker shape\n * @method positionValueMarkerRect\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {String} input.orientation\n * @param {Number} input.valueMarkerRectLength\n * @return {String} d containing a series of path commands that define the path to be\n */\nexport const positionValueMarkerRect = ({ x, y, orientation, valueMarkerRectLength }) => {\n let hLength = MARKER_THICKNESS;\n let vLength = valueMarkerRectLength;\n let markerStartX = x - MARKER_THICKNESS;\n const markerStartY = y;\n\n let innerHLength = hLength / 3;\n let innerVLength = MARKER_INNER_LENGTH;\n let innerStartX = markerStartX + innerHLength;\n let innerStartY = markerStartY + 7;\n\n if (orientation === 'vertical') {\n hLength = valueMarkerRectLength;\n vLength = MARKER_THICKNESS;\n markerStartX = x;\n\n innerHLength = MARKER_INNER_LENGTH;\n innerVLength = vLength / 3;\n innerStartX = markerStartX + 7;\n innerStartY = markerStartY + innerVLength;\n }\n\n return (\n `M${markerStartX},${markerStartY}h${hLength}a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${RADIUS}v${\n vLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${RADIUS}h${-hLength}a${RADIUS},${RADIUS} 0 0 1 ${-RADIUS},${-RADIUS}v${\n 2 * RADIUS - vLength\n }a${RADIUS},${RADIUS} 0 0 1 ${RADIUS},${-RADIUS}z` +\n `M${innerStartX},${innerStartY}v${\n innerVLength - RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${RADIUS}h${\n innerHLength - 2 * RADIUS\n }a${RADIUS},${RADIUS} 0 0 0 ${RADIUS},${-RADIUS}v${\n RADIUS - innerVLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${-RADIUS}h${\n 2 * RADIUS - innerHLength\n }a${RADIUS},${RADIUS} 0 0 0 ${-RADIUS},${RADIUS}z`\n );\n};\n\n/**\n * calculate the position of value marker label\n * @method positionLabel\n * @param {Object} input\n * @param {Number} input.x\n * @param {Number} input.y\n * @param {Number} input.length gauge thickness\n * @param {String} input.orientation\n * @return {Object} positions\n * @return {Number} positions.labelRectX x of value marker label rect\n * @return {Number} positions.labelRectY y of value marker label rect\n * @return {Number} positions.labelX x of value marker label text\n * @return {Number} positions.labelY y of value marker label text\n */\nexport const positionLabel = ({ x, y, length, orientation }) => {\n // for horizontal view\n let labelRectX = x - MARKER_THICKNESS / 2 - MARKER_LABEL_WIDTH / 2;\n let labelRectY = y + length;\n if (orientation === 'vertical') {\n labelRectX = x + length;\n labelRectY = y - (MARKER_LABEL_HEIGHT - MARKER_THICKNESS) / 2;\n }\n const labelX = labelRectX + MARKER_LABEL_WIDTH / 2;\n const labelY = labelRectY + MARKER_LABEL_HEIGHT / 2;\n return { labelRectX, labelRectY, labelX, labelY };\n};\n\nconst ValueMarker = ({ ...props }) => {\n const {\n x,\n y,\n length,\n min,\n max,\n value,\n orientation,\n showValue,\n usePercentageValue,\n valueMarkerFillColor,\n valueMarkerLabelFillColor,\n } = props;\n\n const valueMarkerRectLength = length + DELTA_LENGTH;\n const { labelRectX, labelRectY, labelX, labelY } = positionLabel({\n x,\n y,\n length,\n orientation,\n });\n\n return (\n <g>\n <ValueMarkerRect\n data-test=\"value-marker-rect\"\n d={positionValueMarkerRect({ x, y, orientation, valueMarkerRectLength })}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n {showValue && (\n <g>\n <ValueMarkerLabelRect\n data-test=\"value-marker-label-rect\"\n x={labelRectX}\n y={labelRectY}\n width={MARKER_LABEL_WIDTH}\n height={MARKER_LABEL_HEIGHT}\n rx={RADIUS}\n ry={RADIUS}\n valueMarkerFillColor={valueMarkerFillColor}\n />\n <ValueMarkerLabel\n data-test=\"value-marker-label\"\n x={labelX}\n y={labelY}\n valueMarkerLabelFillColor={valueMarkerLabelFillColor}\n >\n {usePercentageValue\n ? `${((value / (max - min)) * 100).toFixed(2)}%`\n : formatNumber(value, 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n })}\n </ValueMarkerLabel>\n </g>\n )}\n </g>\n );\n};\n\nValueMarker.propTypes = {\n x: T.number,\n y: T.number,\n length: T.number,\n min: T.number,\n max: T.number,\n value: T.number,\n orientation: T.string,\n showValue: T.bool,\n usePercentageValue: T.bool,\n valueMarkerFillColor: T.string,\n valueMarkerLabelFillColor: T.string,\n};\n\nValueMarker.defaultProps = {\n min: 0,\n max: 100,\n orientation: 'horizontal',\n showValue: true,\n usePercentageValue: false,\n};\n\nexport default ValueMarker;\n","module.exports = require(\"@babel/runtime/helpers/extends\");"],"sourceRoot":""}
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 45);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 49);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -116,13 +116,13 @@ module.exports = require("lodash");
116
116
 
117
117
  /***/ }),
118
118
  /* 4 */,
119
- /* 5 */,
120
- /* 6 */
119
+ /* 5 */
121
120
  /***/ (function(module, exports) {
122
121
 
123
122
  module.exports = require("@splunk/react-ui/Heading");
124
123
 
125
124
  /***/ }),
125
+ /* 6 */,
126
126
  /* 7 */
127
127
  /***/ (function(module, exports) {
128
128
 
@@ -140,28 +140,36 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
140
140
  /* 11 */
141
141
  /***/ (function(module, exports) {
142
142
 
143
+ module.exports = require("@babel/runtime/helpers/typeof");
144
+
145
+ /***/ }),
146
+ /* 12 */,
147
+ /* 13 */,
148
+ /* 14 */
149
+ /***/ (function(module, exports) {
150
+
143
151
  module.exports = require("@babel/runtime/helpers/slicedToArray");
144
152
 
145
153
  /***/ }),
146
- /* 12 */
154
+ /* 15 */
147
155
  /***/ (function(module, exports) {
148
156
 
149
157
  module.exports = require("@splunk/react-ui/Markdown");
150
158
 
151
159
  /***/ }),
152
- /* 13 */
160
+ /* 16 */
153
161
  /***/ (function(module, exports) {
154
162
 
155
163
  module.exports = require("lodash/isEmpty");
156
164
 
157
165
  /***/ }),
158
- /* 14 */
166
+ /* 17 */
159
167
  /***/ (function(module, exports, __webpack_require__) {
160
168
 
161
169
  "use strict";
162
170
 
163
171
 
164
- var _typeof = __webpack_require__(17);
172
+ var _typeof = __webpack_require__(11);
165
173
 
166
174
  Object.defineProperty(exports, "__esModule", {
167
175
  value: true
@@ -170,7 +178,7 @@ exports.componentStoriesToInclude = exports.getStoriesToInclude = exports.flatte
170
178
 
171
179
  var lodash_1 = __webpack_require__(3);
172
180
 
173
- var configUtils_1 = __webpack_require__(46);
181
+ var configUtils_1 = __webpack_require__(50);
174
182
  /**
175
183
  * Returns type options from pattern
176
184
  * @example
@@ -402,7 +410,9 @@ var transformOptionType = function transformOptionType(value) {
402
410
  return value;
403
411
  };
404
412
 
405
- exports.transformOptionType = transformOptionType;
413
+ exports.transformOptionType = transformOptionType; // stringify these fields for storybook controls' support
414
+
415
+ var FieldsToStringify = ['legendLabels', 'lineDashStylesByField', 'seriesColors', 'seriesColorsByField', 'seriesColorsByValue'];
406
416
  /**
407
417
  * Helper which returns platform visualization options from Storybook controls
408
418
  * Utilizes argTypes to determine valid and nested options
@@ -420,6 +430,15 @@ var getOptionsFromArgTypes = function getOptionsFromArgTypes(args, argTypes) {
420
430
  var controlledOption = exports.transformOptionType(lodash_1.get(args, option), optionType); // filter options from react & json if set to default value or is undefined
421
431
 
422
432
  if (optionType && controlledOption != null && controlledOption !== defaultValue) {
433
+ // parse the value if option is stringified as part of flattenVizOptions
434
+ if (FieldsToStringify.includes(option)) {
435
+ try {
436
+ controlledOption = JSON.parse(controlledOption);
437
+ } catch (e) {
438
+ controlledOption = null;
439
+ }
440
+ }
441
+
423
442
  if (subcategory) {
424
443
  if (!accum[subcategory]) accum[subcategory] = {};
425
444
  accum[subcategory][option] = controlledOption;
@@ -438,11 +457,10 @@ exports.getOptionsFromArgTypes = getOptionsFromArgTypes;
438
457
  */
439
458
 
440
459
  var flattenVizOptions = function flattenVizOptions(options) {
441
- var nonFlattenOptions = new Set(['y2Fields', 'overlayFields']);
442
- var fieldsToStringify = ['legendLabels', 'lineDashStylesByField', 'seriesColors', 'seriesColorsByField', 'seriesColorsByValue'];
460
+ var nonFlattenOptions = new Set(['y2Fields', 'overlayFields', 'gaugeRanges']);
443
461
  return lodash_1.reduce(options, function (accum, val, option) {
444
462
  if (!exports.platformOptionArgTypes[option]) {
445
- if (_typeof(val) === 'object' && fieldsToStringify.includes(option)) accum[option] = JSON.stringify(val);else if (_typeof(val) === 'object' && !nonFlattenOptions.has(option)) accum = Object.assign(Object.assign({}, accum), val);else accum[option] = val;
463
+ if (_typeof(val) === 'object' && FieldsToStringify.includes(option)) accum[option] = JSON.stringify(val);else if (_typeof(val) === 'object' && !nonFlattenOptions.has(option)) accum = Object.assign(Object.assign({}, accum), val);else accum[option] = val;
446
464
  }
447
465
 
448
466
  return accum;
@@ -477,8 +495,8 @@ var componentStoriesToInclude = function componentStoriesToInclude(stories) {
477
495
  exports.componentStoriesToInclude = componentStoriesToInclude;
478
496
 
479
497
  /***/ }),
480
- /* 15 */,
481
- /* 16 */
498
+ /* 18 */,
499
+ /* 19 */
482
500
  /***/ (function(module, exports, __webpack_require__) {
483
501
 
484
502
  "use strict";
@@ -515,14 +533,6 @@ var VizBehavior;
515
533
  })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
516
534
 
517
535
  /***/ }),
518
- /* 17 */
519
- /***/ (function(module, exports) {
520
-
521
- module.exports = require("@babel/runtime/helpers/typeof");
522
-
523
- /***/ }),
524
- /* 18 */,
525
- /* 19 */,
526
536
  /* 20 */,
527
537
  /* 21 */,
528
538
  /* 22 */,
@@ -548,7 +558,11 @@ module.exports = require("@babel/runtime/helpers/typeof");
548
558
  /* 42 */,
549
559
  /* 43 */,
550
560
  /* 44 */,
551
- /* 45 */
561
+ /* 45 */,
562
+ /* 46 */,
563
+ /* 47 */,
564
+ /* 48 */,
565
+ /* 49 */
552
566
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
553
567
 
554
568
  "use strict";
@@ -556,23 +570,23 @@ __webpack_require__.r(__webpack_exports__);
556
570
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getType", function() { return getType; });
557
571
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
558
572
  /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
559
- /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11);
573
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14);
560
574
  /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__);
561
575
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
562
576
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
563
577
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);
564
578
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);
565
- /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13);
579
+ /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
566
580
  /* harmony import */ var lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_isEmpty__WEBPACK_IMPORTED_MODULE_4__);
567
581
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7);
568
582
  /* harmony import */ var _splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_5__);
569
- /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6);
583
+ /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5);
570
584
  /* harmony import */ var _splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_6__);
571
- /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12);
585
+ /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(15);
572
586
  /* harmony import */ var _splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_7__);
573
587
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
574
588
  /* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(styled_components__WEBPACK_IMPORTED_MODULE_8__);
575
- /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(14);
589
+ /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(17);
576
590
  /* harmony import */ var _storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_9__);
577
591
 
578
592
 
@@ -779,7 +793,7 @@ var getDefaultValue = function getDefaultValue(defaultValue) {
779
793
 
780
794
  if (Array.isArray(defaultValue)) {
781
795
  var values = defaultValue.map(function (v) {
782
- return "\"".concat(v, "\"");
796
+ return JSON.stringify(v);
783
797
  }).join(', ');
784
798
  return "[".concat(values, "]");
785
799
  }
@@ -990,7 +1004,7 @@ OptionsDoc.propTypes = {
990
1004
  /* harmony default export */ __webpack_exports__["default"] = (OptionsDoc);
991
1005
 
992
1006
  /***/ }),
993
- /* 46 */
1007
+ /* 50 */
994
1008
  /***/ (function(module, exports, __webpack_require__) {
995
1009
 
996
1010
  "use strict";
@@ -1018,9 +1032,9 @@ exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOp
1018
1032
 
1019
1033
  var lodash_1 = __webpack_require__(3);
1020
1034
 
1021
- var schemaUtils_1 = __webpack_require__(47);
1035
+ var schemaUtils_1 = __webpack_require__(51);
1022
1036
 
1023
- var VizBehavior_1 = __webpack_require__(16);
1037
+ var VizBehavior_1 = __webpack_require__(19);
1024
1038
 
1025
1039
  var dynamicOptionsDSLType = {
1026
1040
  type: 'string',
@@ -1181,7 +1195,7 @@ function generatePrecisionValues(numPrecisionValues) {
1181
1195
  exports.generatePrecisionValues = generatePrecisionValues;
1182
1196
 
1183
1197
  /***/ }),
1184
- /* 47 */
1198
+ /* 51 */
1185
1199
  /***/ (function(module, exports) {
1186
1200
 
1187
1201
  module.exports = require("@splunk/visualizations-shared/schemaUtils");