@splunk/visualizations 26.2.1 → 26.4.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 (150) hide show
  1. package/Area.config.js +92 -595
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +296 -801
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +93 -562
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +299 -770
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +84 -483
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +286 -687
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +77 -202
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +272 -400
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +93 -600
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +299 -808
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -200
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +233 -356
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +62 -283
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +326 -530
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +91 -220
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +267 -401
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +61 -157
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +217 -327
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +92 -607
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +297 -814
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +75 -257
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +1755 -17415
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +6 -0
  46. package/Map.config.js +128 -1123
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +470 -782
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +62 -189
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +272 -401
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +138 -298
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +309 -470
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +72 -192
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +333 -442
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +77 -241
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +336 -471
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +72 -306
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +356 -583
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +211 -347
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +371 -509
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +72 -214
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +343 -475
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +86 -464
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +1118 -1493
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +124 -411
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +522 -789
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +73 -61
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +123 -380
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +508 -745
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +121 -385
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1642 -1885
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +39 -39
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +82 -496
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +416 -825
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +37 -57
  103. package/common/Charting.js.map +1 -1
  104. package/common/DocExampleWithVizSandbox.js +21 -21
  105. package/common/DocExampleWithVizSandbox.js.map +1 -1
  106. package/common/EventsDoc.js +18 -18
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +4 -4
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +2 -2
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +4 -4
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +39 -40
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +2 -2
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +2 -2
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +19 -19
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +2 -2
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/gaugeUtils.js +10 -10
  125. package/common/gaugeUtils.js.map +1 -1
  126. package/common/shapeUtils.js +10 -10
  127. package/common/shapeUtils.js.map +1 -1
  128. package/common/utils/configUtils.js +25 -155
  129. package/common/utils/configUtils.js.map +1 -1
  130. package/common/utils/dataUtils.js +87 -105
  131. package/common/utils/dataUtils.js.map +1 -1
  132. package/common/utils/featureFlagUtils.js +4 -4
  133. package/common/utils/featureFlagUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +2 -2
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/mapUtils.js +51 -54
  137. package/common/utils/mapUtils.js.map +1 -1
  138. package/common/utils/singleValueUtils.js +30 -18
  139. package/common/utils/singleValueUtils.js.map +1 -1
  140. package/common/utils/testHelper.js +7 -36
  141. package/common/utils/testHelper.js.map +1 -1
  142. package/common/utils/trellisUtils.js +7 -6
  143. package/common/utils/trellisUtils.js.map +1 -1
  144. package/common/utils/urlUtils.js +2 -2
  145. package/common/utils/urlUtils.js.map +1 -1
  146. package/common/withDashboardViz.js +93 -101
  147. package/common/withDashboardViz.js.map +1 -1
  148. package/package.json +48 -50
  149. package/common/utils/layoutUtils.js +0 -115
  150. package/common/utils/layoutUtils.js.map +0 -1
package/Scatter.js CHANGED
@@ -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 = 486);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 474);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -95,686 +95,236 @@ module.exports =
95
95
  /***/ 0:
96
96
  /***/ (function(module, exports) {
97
97
 
98
- module.exports = require("react");
98
+ module.exports = require("prop-types");
99
99
 
100
100
  /***/ }),
101
101
 
102
102
  /***/ 1:
103
103
  /***/ (function(module, exports) {
104
104
 
105
- module.exports = require("prop-types");
105
+ module.exports = require("react");
106
106
 
107
107
  /***/ }),
108
108
 
109
109
  /***/ 10:
110
110
  /***/ (function(module, exports) {
111
111
 
112
- module.exports = require("@babel/runtime/helpers/classCallCheck");
112
+ module.exports = require("@splunk/visualizations-shared/numberUtils");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 11:
117
+ /***/ (function(module, exports) {
118
+
119
+ module.exports = require("@splunk/visualizations-shared/Message");
120
+
121
+ /***/ }),
122
+
123
+ /***/ 12:
124
+ /***/ (function(module, exports) {
125
+
126
+ module.exports = require("@babel/runtime/helpers/defineProperty");
127
+
128
+ /***/ }),
129
+
130
+ /***/ 13:
131
+ /***/ (function(module, exports) {
132
+
133
+ module.exports = require("@splunk/themes/variables");
113
134
 
114
135
  /***/ }),
115
136
 
116
- /***/ 100:
137
+ /***/ 14:
117
138
  /***/ (function(module, exports, __webpack_require__) {
118
139
 
119
140
  "use strict";
120
141
 
121
142
 
122
- var _toConsumableArray = __webpack_require__(8);
123
-
124
143
  Object.defineProperty(exports, "__esModule", {
125
144
  value: true
126
145
  });
127
- exports.AxesChartXGridAndLabelsBubbleScatter = exports.AxesChartXGridAndLabelsCommon = void 0;
146
+ exports.downsampleDataSources = exports.calculateDownsamplingThreshold = exports.calculateThresholdOnRangeSelect = exports.isDownsamplingEnabledForViz = exports.convertToArrOfObjects = void 0;
128
147
 
129
- var i18n_1 = __webpack_require__(2);
148
+ var numberUtils_1 = __webpack_require__(10);
130
149
 
131
- var configUtils_1 = __webpack_require__(27);
150
+ var interfaces_1 = __webpack_require__(39); // TODO: utilize this fn in ParallelCoordinates
132
151
 
133
- exports.AxesChartXGridAndLabelsCommon = {
134
- label: (0, i18n_1._)('X-axis grid and labels'),
135
- layout: [[{
136
- label: (0, i18n_1._)('Axis title'),
137
- option: 'xAxisTitleVisibility',
138
- editor: 'editor.toggle'
139
- }], [{
140
- label: (0, i18n_1._)('Axis title text'),
141
- option: 'xAxisTitleText',
142
- editor: 'editor.text',
143
- showEditor: function showEditor(_ref) {
144
- var options = _ref.options;
145
- return options.xAxisTitleVisibility === 'show' || options.xAxisTitleVisibility === undefined;
146
- }
147
- }], [{
148
- label: (0, i18n_1._)('Label visibility'),
149
- option: 'xAxisLabelVisibility',
150
- editor: 'editor.radioBar',
151
- editorProps: {
152
- values: [{
153
- label: (0, i18n_1._)('Auto'),
154
- value: 'auto'
155
- }, {
156
- label: (0, i18n_1._)('Show'),
157
- value: 'show'
158
- }, {
159
- label: (0, i18n_1._)('Hide'),
160
- value: 'hide'
161
- }]
152
+
153
+ var convertToArrOfObjects = function convertToArrOfObjects(columns, fields) {
154
+ if (!columns || !columns[0] || !columns[0].length) return [];
155
+ var data = [];
156
+
157
+ var _loop = function _loop(i) {
158
+ var newObj = {};
159
+ fields.forEach(function (field, index) {
160
+ var fieldName = typeof field === 'string' ? field : field.name;
161
+
162
+ if (columns[index][i] === '') {
163
+ newObj[fieldName] = null;
164
+ } else {
165
+ newObj[fieldName] = columns[index][i];
166
+ }
167
+ });
168
+ data.push(newObj);
169
+ };
170
+
171
+ for (var i = 0; i < columns[0].length; i += 1) {
172
+ _loop(i);
173
+ }
174
+
175
+ return data;
176
+ };
177
+
178
+ exports.convertToArrOfObjects = convertToArrOfObjects; // LTTB algorithm which can be used to downsample time series data while striving to maintain
179
+ // the spikes and overall shape of the chart
180
+ // Copied from https://github.com/sveinn-steinarsson/flot-downsample/blob/0815010016fc94b1bbc6a010afb8aad13ada6d0d/jquery.flot.downsample.js
181
+ // Modifications include:
182
+ // 1) Convert to modern JavaScript(use const, let, and use array.push to push to last element of array)
183
+ // 2) Convert to camel case
184
+ // 3) Convert to TS and also return the indices of the points that are in the downsampled result.
185
+ // 4) Add a new parameter preferredDownsampleIndices that correspond to the indices of points
186
+ // that should be used in case of a tie of the max area in a bucket
187
+
188
+ var largestTriangleThreeBuckets = function largestTriangleThreeBuckets(data, threshold, preferredDownsampleIndices) {
189
+ var dataLength = data.length;
190
+ var downsampledIndices = [];
191
+
192
+ if (threshold >= dataLength || threshold === 0) {
193
+ var allIndices = data.map(function (values, index) {
194
+ return index;
195
+ });
196
+ return {
197
+ downsampledData: data,
198
+ downsampledIndices: allIndices
199
+ }; // Nothing to do
200
+ }
201
+
202
+ var sampled = [];
203
+ var sampledIndex = 0; // Bucket size. Leave room for start and end data points
204
+
205
+ var every = (dataLength - 2) / (threshold - 2);
206
+ var a = 0; // Initially a is the first point in the triangle
207
+
208
+ var maxAreaPoint;
209
+ var maxArea;
210
+ var area;
211
+ var nextA;
212
+ sampled.push(data[a]); // Always add the first point
213
+
214
+ downsampledIndices.push(0); // eslint-disable-next-line no-plusplus
215
+
216
+ for (var i = 0; i < threshold - 2; i++) {
217
+ // Calculate point average for next bucket (containing c)
218
+ var avgX = 0;
219
+ var avgY = 0;
220
+ var avgRangeStart = Math.floor((i + 1) * every) + 1;
221
+ var avgRangeEnd = Math.floor((i + 2) * every) + 1;
222
+ avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
223
+ var avgRangeLength = avgRangeEnd - avgRangeStart; // eslint-disable-next-line no-plusplus
224
+
225
+ for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
226
+ avgX += Number(data[avgRangeStart][0]); // * 1 enforces Number (value may be Date)
227
+
228
+ avgY += data[avgRangeStart][1] * 1;
162
229
  }
163
- }]]
230
+
231
+ avgX /= avgRangeLength;
232
+ avgY /= avgRangeLength; // Get the range for this bucket
233
+
234
+ var rangeOffs = Math.floor((i + 0) * every) + 1;
235
+ var rangeTo = Math.floor((i + 1) * every) + 1; // Point a
236
+
237
+ var pointAX = Number(data[a][0]); // Enforce Number (value may be Date)
238
+
239
+ var pointAY = data[a][1] * 1; // eslint-disable-next-line no-multi-assign
240
+
241
+ maxArea = area = -1;
242
+ var maxAreaIndex = rangeOffs; // eslint-disable-next-line no-plusplus
243
+
244
+ for (; rangeOffs < rangeTo; rangeOffs++) {
245
+ // Calculate triangle area over three buckets
246
+ area = Math.abs((pointAX - avgX) * (data[rangeOffs][1] - pointAY) - (pointAX - Number(data[rangeOffs][0])) * (avgY - pointAY)) * 0.5; // Modification: try to downsample the least amount of points possible when there are multiple series
247
+ // If all points in a bucket have the same area, prioritize the one with an x index
248
+ // that also existed from another series so we don't add another point unnecessarily.
249
+ // By default LTTB picks the leftmost point in the bucket
250
+
251
+ if (area > maxArea || area === maxArea && preferredDownsampleIndices.has(rangeOffs)) {
252
+ maxArea = area;
253
+ maxAreaPoint = data[rangeOffs];
254
+ nextA = rangeOffs; // Next a is this b
255
+ // Modification: save the index of the point with the most area
256
+
257
+ maxAreaIndex = rangeOffs;
258
+ }
259
+ } // eslint-disable-next-line no-plusplus
260
+
261
+
262
+ sampled[sampledIndex++] = maxAreaPoint; // Pick this point from the bucket
263
+
264
+ downsampledIndices.push(maxAreaIndex);
265
+ a = nextA; // This a is the next a (chosen b)
266
+ } // eslint-disable-next-line no-plusplus
267
+
268
+
269
+ sampled[sampledIndex++] = data[dataLength - 1]; // Always add last
270
+
271
+ downsampledIndices.push(dataLength - 1);
272
+ return {
273
+ downsampledData: sampled,
274
+ downsampledIndices: downsampledIndices
275
+ };
164
276
  };
165
- var AxesChartXGridAndLabels = {
166
- label: exports.AxesChartXGridAndLabelsCommon.label,
167
- layout: [].concat(_toConsumableArray(exports.AxesChartXGridAndLabelsCommon.layout), [[{
168
- label: (0, i18n_1._)('Label rotation'),
169
- option: 'xAxisLabelRotation',
170
- editor: 'editor.select',
171
- editorProps: {
172
- values: [{
173
- label: (0, i18n_1._)('-90'),
174
- value: -90
175
- }, {
176
- label: (0, i18n_1._)('-45'),
177
- value: -45
178
- }, {
179
- label: (0, i18n_1._)('0'),
180
- value: 0
181
- }, {
182
- label: (0, i18n_1._)('45'),
183
- value: 45
184
- }, {
185
- label: (0, i18n_1._)('90'),
186
- value: 90
187
- }]
188
- },
189
- showEditor: function showEditor(_ref2) {
190
- var options = _ref2.options;
191
- return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
192
- }
193
- }], [{
194
- label: (0, i18n_1._)('Number of time label parts'),
195
- option: 'xAxisMaxLabelParts',
196
- editor: 'editor.number',
197
- editorProps: {
198
- min: 1,
199
- max: 3
200
- },
201
- showEditor: function showEditor(_ref3) {
202
- var options = _ref3.options;
203
- return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
204
- }
205
- }], [{
206
- label: (0, i18n_1._)('Axis line visibility'),
207
- option: 'xAxisLineVisibility',
208
- editor: 'editor.checkbox'
209
- }], [{
210
- label: (0, i18n_1._)('Major gridlines'),
211
- option: 'showXMajorGridLines',
212
- editor: 'editor.checkbox'
213
- }], [{
214
- label: (0, i18n_1._)('Major tick visibility'),
215
- option: 'xAxisMajorTickVisibility',
216
- editor: 'editor.radioBar',
217
- editorProps: {
218
- values: [{
219
- label: (0, i18n_1._)('Auto'),
220
- value: 'auto'
221
- }, {
222
- label: (0, i18n_1._)('Show'),
223
- value: 'show'
224
- }, {
225
- label: (0, i18n_1._)('Hide'),
226
- value: 'hide'
227
- }]
228
- }
229
- }], [{
230
- label: (0, i18n_1._)('Major tick size (px)'),
231
- option: 'xAxisMajorTickSize',
232
- editor: 'editor.slider',
233
- editorProps: {
234
- min: 0,
235
- max: 10,
236
- step: 1
237
- },
238
- showEditor: function showEditor(_ref4) {
239
- var options = _ref4.options;
240
- return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
241
- }
242
- }]])
243
- };
244
- exports.AxesChartXGridAndLabelsBubbleScatter = {
245
- label: exports.AxesChartXGridAndLabelsCommon.label,
246
- layout: [].concat(_toConsumableArray((0, configUtils_1.insertLayout)(exports.AxesChartXGridAndLabelsCommon.layout, 2, [{
247
- label: (0, i18n_1._)('Axis scale'),
248
- option: 'xAxisScale',
249
- editor: 'editor.radioBar',
250
- editorProps: {
251
- values: [{
252
- label: (0, i18n_1._)('Linear'),
253
- value: 'linear'
254
- }, {
255
- label: (0, i18n_1._)('Log'),
256
- value: 'log'
257
- }]
258
- }
259
- }])), [[{
260
- label: (0, i18n_1._)('Label rotation'),
261
- option: 'xAxisLabelRotation',
262
- editor: 'editor.select',
263
- editorProps: {
264
- values: [{
265
- label: (0, i18n_1._)('-90'),
266
- value: -90
267
- }, {
268
- label: (0, i18n_1._)('-45'),
269
- value: -45
270
- }, {
271
- label: (0, i18n_1._)('0'),
272
- value: 0
273
- }, {
274
- label: (0, i18n_1._)('45'),
275
- value: 45
276
- }, {
277
- label: (0, i18n_1._)('90'),
278
- value: 90
279
- }]
280
- },
281
- showEditor: function showEditor(_ref5) {
282
- var options = _ref5.options;
283
- return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
284
- }
285
- }], [{
286
- label: (0, i18n_1._)('Round axis labels'),
287
- option: 'showRoundedXAxisLabels',
288
- editor: 'editor.checkbox',
289
- showEditor: function showEditor(_ref6) {
290
- var options = _ref6.options;
291
- return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
292
- }
293
- }], [{
294
- label: (0, i18n_1._)('SI prefix abbreviation for labels'),
295
- option: 'xAxisAbbreviation',
296
- editor: 'editor.checkbox',
297
- showEditor: function showEditor(_ref7) {
298
- var options = _ref7.options;
299
- return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
300
- }
301
- }], [{
302
- label: (0, i18n_1._)('Include zero'),
303
- option: 'showXAxisWithZero',
304
- editor: 'editor.checkbox'
305
- }], [{
306
- label: (0, i18n_1._)('Extend to whole grid'),
307
- option: 'showXAxisExtendedRange',
308
- editor: 'editor.checkbox'
309
- }], [{
310
- label: (0, i18n_1._)('Minimum axis value'),
311
- option: 'xAxisMin',
312
- editor: 'editor.number'
313
- }, {
314
- label: (0, i18n_1._)('Maximum axis value'),
315
- option: 'xAxisMax',
316
- editor: 'editor.number'
317
- }], [{
318
- label: (0, i18n_1._)('Axis line visibility'),
319
- option: 'xAxisLineVisibility',
320
- editor: 'editor.checkbox'
321
- }], // this option is disabled for bubble and scatter
322
- // [
323
- // {
324
- // label: _('Major gridlines'),
325
- // option: 'showXMajorGridLines',
326
- // editor: 'editor.checkbox',
327
- // },
328
- // ],
329
- [{
330
- label: (0, i18n_1._)('Major tick visibility'),
331
- option: 'xAxisMajorTickVisibility',
332
- editor: 'editor.radioBar',
333
- editorProps: {
334
- values: [{
335
- label: (0, i18n_1._)('Auto'),
336
- value: 'auto'
337
- }, {
338
- label: (0, i18n_1._)('Show'),
339
- value: 'show'
340
- }, {
341
- label: (0, i18n_1._)('Hide'),
342
- value: 'hide'
343
- }]
344
- }
345
- }], [{
346
- label: (0, i18n_1._)('Major tick size (px)'),
347
- option: 'xAxisMajorTickSize',
348
- editor: 'editor.slider',
349
- editorProps: {
350
- min: 0,
351
- max: 10,
352
- step: 1
353
- },
354
- showEditor: function showEditor(_ref8) {
355
- var options = _ref8.options;
356
- return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
357
- }
358
- }], [{
359
- label: (0, i18n_1._)('Major tick interval spacing'),
360
- option: 'xAxisMajorTickInterval',
361
- editor: 'editor.number',
362
- showEditor: function showEditor(_ref9) {
363
- var options = _ref9.options;
364
- return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
365
- }
366
- }], [{
367
- label: (0, i18n_1._)('Minor gridlines'),
368
- option: 'showXMinorGridLines',
369
- editor: 'editor.checkbox'
370
- }], [{
371
- label: (0, i18n_1._)('Minor tick visibility'),
372
- option: 'xAxisMinorTickVisibility',
373
- editor: 'editor.radioBar',
374
- editorProps: {
375
- values: [{
376
- label: (0, i18n_1._)('Auto'),
377
- value: 'auto'
378
- }, {
379
- label: (0, i18n_1._)('Show'),
380
- value: 'show'
381
- }, {
382
- label: (0, i18n_1._)('Hide'),
383
- value: 'hide'
384
- }]
385
- }
386
- }], [{
387
- label: (0, i18n_1._)('Minor tick size (px)'),
388
- option: 'xAxisMinorTickSize',
389
- editor: 'editor.slider',
390
- editorProps: {
391
- min: 0,
392
- max: 10,
393
- step: 1
394
- },
395
- showEditor: function showEditor(_ref10) {
396
- var options = _ref10.options;
397
- return options.xAxisMinorTickVisibility === 'show' || options.xAxisMinorTickVisibility === 'auto' || options.xAxisMinorTickVisibility === undefined;
398
- }
399
- }]])
400
- };
401
- exports.default = AxesChartXGridAndLabels;
402
-
403
- /***/ }),
404
-
405
- /***/ 101:
406
- /***/ (function(module, exports, __webpack_require__) {
407
-
408
- "use strict";
409
-
410
-
411
- Object.defineProperty(exports, "__esModule", {
412
- value: true
413
- });
414
-
415
- var i18n_1 = __webpack_require__(2);
416
-
417
- var AxesChartYGridAndLabels = {
418
- label: (0, i18n_1._)('Y-axis grid and labels'),
419
- layout: [[{
420
- label: (0, i18n_1._)('Axis title'),
421
- option: 'yAxisTitleVisibility',
422
- editor: 'editor.toggle'
423
- }], [{
424
- label: (0, i18n_1._)('Axis title text'),
425
- option: 'yAxisTitleText',
426
- editor: 'editor.text',
427
- showEditor: function showEditor(_ref) {
428
- var options = _ref.options;
429
- return options.yAxisTitleVisibility === 'show' || options.yAxisTitleVisibility === undefined;
430
- }
431
- }], [{
432
- label: (0, i18n_1._)('Scale'),
433
- option: 'yAxisScale',
434
- editor: 'editor.radioBar',
435
- editorProps: {
436
- values: [{
437
- label: (0, i18n_1._)('Linear'),
438
- value: 'linear'
439
- }, {
440
- label: (0, i18n_1._)('Log'),
441
- value: 'log'
442
- }]
443
- }
444
- }], [{
445
- label: (0, i18n_1._)('Label visibility'),
446
- option: 'yAxisLabelVisibility',
447
- editor: 'editor.radioBar',
448
- editorProps: {
449
- values: [{
450
- label: (0, i18n_1._)('Auto'),
451
- value: 'auto'
452
- }, {
453
- label: (0, i18n_1._)('Show'),
454
- value: 'show'
455
- }, {
456
- label: (0, i18n_1._)('Hide'),
457
- value: 'hide'
458
- }]
459
- }
460
- }], [{
461
- label: (0, i18n_1._)('SI prefix abbreviation for labels'),
462
- option: 'yAxisAbbreviation',
463
- editor: 'editor.checkbox',
464
- showEditor: function showEditor(_ref2) {
465
- var options = _ref2.options;
466
- return options.yAxisLabelVisibility === 'show' || options.yAxisLabelVisibility === 'auto' || options.yAxisLabelVisibility === undefined;
467
- }
468
- }], [{
469
- label: (0, i18n_1._)('Include zero'),
470
- option: 'showYAxisWithZero',
471
- editor: 'editor.checkbox'
472
- }], [{
473
- label: (0, i18n_1._)('Extend to whole grid'),
474
- option: 'showYAxisExtendedRange',
475
- editor: 'editor.checkbox'
476
- }], [{
477
- label: (0, i18n_1._)('Minimum axis value'),
478
- option: 'yAxisMin',
479
- editor: 'editor.number'
480
- }, {
481
- label: (0, i18n_1._)('Maximum axis value'),
482
- option: 'yAxisMax',
483
- editor: 'editor.number'
484
- }], [{
485
- label: (0, i18n_1._)('Axis line visibility'),
486
- option: 'yAxisLineVisibility',
487
- editor: 'editor.checkbox'
488
- }], [{
489
- label: (0, i18n_1._)('Major gridlines'),
490
- option: 'showYMajorGridLines',
491
- editor: 'editor.checkbox'
492
- }], [{
493
- label: (0, i18n_1._)('Major tick visibility'),
494
- option: 'yAxisMajorTickVisibility',
495
- editor: 'editor.radioBar',
496
- editorProps: {
497
- values: [{
498
- label: (0, i18n_1._)('Auto'),
499
- value: 'auto'
500
- }, {
501
- label: (0, i18n_1._)('Show'),
502
- value: 'show'
503
- }, {
504
- label: (0, i18n_1._)('Hide'),
505
- value: 'hide'
506
- }]
507
- }
508
- }], [{
509
- label: (0, i18n_1._)('Major tick size (px)'),
510
- option: 'yAxisMajorTickSize',
511
- editor: 'editor.slider',
512
- editorProps: {
513
- min: 0,
514
- max: 10,
515
- step: 1
516
- },
517
- showEditor: function showEditor(_ref3) {
518
- var options = _ref3.options;
519
- return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
520
- }
521
- }], [{
522
- label: (0, i18n_1._)('Major tick interval spacing'),
523
- option: 'yAxisMajorTickInterval',
524
- editor: 'editor.number',
525
- showEditor: function showEditor(_ref4) {
526
- var options = _ref4.options;
527
- return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
528
- }
529
- }], [{
530
- label: (0, i18n_1._)('Minor gridlines'),
531
- option: 'showYMinorGridLines',
532
- editor: 'editor.checkbox'
533
- }], [{
534
- label: (0, i18n_1._)('Minor tick visibility'),
535
- option: 'yAxisMinorTickVisibility',
536
- editor: 'editor.radioBar',
537
- editorProps: {
538
- values: [{
539
- label: (0, i18n_1._)('Auto'),
540
- value: 'auto'
541
- }, {
542
- label: (0, i18n_1._)('Show'),
543
- value: 'show'
544
- }, {
545
- label: (0, i18n_1._)('Hide'),
546
- value: 'hide'
547
- }]
548
- }
549
- }], [{
550
- label: (0, i18n_1._)('Minor tick size (px)'),
551
- option: 'yAxisMinorTickSize',
552
- editor: 'editor.slider',
553
- editorProps: {
554
- min: 0,
555
- max: 10,
556
- step: 1
557
- },
558
- showEditor: function showEditor(_ref5) {
559
- var options = _ref5.options;
560
- return options.yAxisMinorTickVisibility === 'show' || options.yAxisMinorTickVisibility === 'auto' || options.yAxisMinorTickVisibility === undefined;
561
- }
562
- }]]
563
- };
564
- exports.default = AxesChartYGridAndLabels;
565
-
566
- /***/ }),
567
-
568
- /***/ 11:
569
- /***/ (function(module, exports) {
570
-
571
- module.exports = require("@splunk/visualizations-shared/numberUtils");
572
-
573
- /***/ }),
574
-
575
- /***/ 12:
576
- /***/ (function(module, exports) {
577
-
578
- module.exports = require("@splunk/visualizations-shared/Message");
579
-
580
- /***/ }),
581
-
582
- /***/ 13:
583
- /***/ (function(module, exports) {
584
-
585
- module.exports = require("@splunk/themes/variables");
586
-
587
- /***/ }),
588
-
589
- /***/ 14:
590
- /***/ (function(module, exports, __webpack_require__) {
591
-
592
- "use strict";
593
-
594
-
595
- Object.defineProperty(exports, "__esModule", {
596
- value: true
597
- });
598
- exports.downsampleDataSources = exports.calculateDownsamplingThreshold = exports.calculateThresholdOnRangeSelect = exports.isDownsamplingEnabledForViz = exports.convertToArrOfObjects = void 0;
599
-
600
- var numberUtils_1 = __webpack_require__(11);
601
-
602
- var interfaces_1 = __webpack_require__(40); // TODO: utilize this fn in ParallelCoordinates
603
-
604
-
605
- var convertToArrOfObjects = function convertToArrOfObjects(columns, fields) {
606
- if (!columns || !columns[0] || !columns[0].length) return [];
607
- var data = [];
608
-
609
- var _loop = function _loop(i) {
610
- var newObj = {};
611
- fields.forEach(function (field, index) {
612
- var fieldName = typeof field === 'string' ? field : field.name;
613
-
614
- if (columns[index][i] === '') {
615
- newObj[fieldName] = null;
616
- } else {
617
- newObj[fieldName] = columns[index][i];
618
- }
619
- });
620
- data.push(newObj);
621
- };
622
-
623
- for (var i = 0; i < columns[0].length; i += 1) {
624
- _loop(i);
625
- }
626
-
627
- return data;
628
- };
629
-
630
- exports.convertToArrOfObjects = convertToArrOfObjects; // LTTB algorithm which can be used to downsample time series data while striving to maintain
631
- // the spikes and overall shape of the chart
632
- // Copied from https://github.com/sveinn-steinarsson/flot-downsample/blob/0815010016fc94b1bbc6a010afb8aad13ada6d0d/jquery.flot.downsample.js
633
- // Modifications include:
634
- // 1) Convert to modern JavaScript(use const, let, and use array.push to push to last element of array)
635
- // 2) Convert to camel case
636
- // 3) Convert to TS and also return the indices of the points that are in the downsampled result.
637
- // 4) Add a new parameter preferredDownsampleIndices that correspond to the indices of points
638
- // that should be used in case of a tie of the max area in a bucket
639
-
640
- var largestTriangleThreeBuckets = function largestTriangleThreeBuckets(data, threshold, preferredDownsampleIndices) {
641
- var dataLength = data.length;
642
- var downsampledIndices = [];
643
-
644
- if (threshold >= dataLength || threshold === 0) {
645
- var allIndices = data.map(function (values, index) {
646
- return index;
647
- });
648
- return {
649
- downsampledData: data,
650
- downsampledIndices: allIndices
651
- }; // Nothing to do
652
- }
653
-
654
- var sampled = [];
655
- var sampledIndex = 0; // Bucket size. Leave room for start and end data points
656
-
657
- var every = (dataLength - 2) / (threshold - 2);
658
- var a = 0; // Initially a is the first point in the triangle
659
-
660
- var maxAreaPoint;
661
- var maxArea;
662
- var area;
663
- var nextA;
664
- sampled.push(data[a]); // Always add the first point
665
-
666
- downsampledIndices.push(0); // eslint-disable-next-line no-plusplus
667
-
668
- for (var i = 0; i < threshold - 2; i++) {
669
- // Calculate point average for next bucket (containing c)
670
- var avgX = 0;
671
- var avgY = 0;
672
- var avgRangeStart = Math.floor((i + 1) * every) + 1;
673
- var avgRangeEnd = Math.floor((i + 2) * every) + 1;
674
- avgRangeEnd = avgRangeEnd < dataLength ? avgRangeEnd : dataLength;
675
- var avgRangeLength = avgRangeEnd - avgRangeStart; // eslint-disable-next-line no-plusplus
676
-
677
- for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
678
- avgX += Number(data[avgRangeStart][0]); // * 1 enforces Number (value may be Date)
679
-
680
- avgY += data[avgRangeStart][1] * 1;
681
- }
682
-
683
- avgX /= avgRangeLength;
684
- avgY /= avgRangeLength; // Get the range for this bucket
685
-
686
- var rangeOffs = Math.floor((i + 0) * every) + 1;
687
- var rangeTo = Math.floor((i + 1) * every) + 1; // Point a
688
-
689
- var pointAX = Number(data[a][0]); // Enforce Number (value may be Date)
690
-
691
- var pointAY = data[a][1] * 1; // eslint-disable-next-line no-multi-assign
692
-
693
- maxArea = area = -1;
694
- var maxAreaIndex = rangeOffs; // eslint-disable-next-line no-plusplus
695
-
696
- for (; rangeOffs < rangeTo; rangeOffs++) {
697
- // Calculate triangle area over three buckets
698
- area = Math.abs((pointAX - avgX) * (data[rangeOffs][1] - pointAY) - (pointAX - Number(data[rangeOffs][0])) * (avgY - pointAY)) * 0.5; // Modification: try to downsample the least amount of points possible when there are multiple series
699
- // If all points in a bucket have the same area, prioritize the one with an x index
700
- // that also existed from another series so we don't add another point unnecessarily.
701
- // By default LTTB picks the leftmost point in the bucket
702
-
703
- if (area > maxArea || area === maxArea && preferredDownsampleIndices.has(rangeOffs)) {
704
- maxArea = area;
705
- maxAreaPoint = data[rangeOffs];
706
- nextA = rangeOffs; // Next a is this b
707
- // Modification: save the index of the point with the most area
708
-
709
- maxAreaIndex = rangeOffs;
710
- }
711
- } // eslint-disable-next-line no-plusplus
712
-
713
-
714
- sampled[sampledIndex++] = maxAreaPoint; // Pick this point from the bucket
715
-
716
- downsampledIndices.push(maxAreaIndex);
717
- a = nextA; // This a is the next a (chosen b)
718
- } // eslint-disable-next-line no-plusplus
719
-
720
-
721
- sampled[sampledIndex++] = data[dataLength - 1]; // Always add last
722
-
723
- downsampledIndices.push(dataLength - 1);
724
- return {
725
- downsampledData: sampled,
726
- downsampledIndices: downsampledIndices
727
- };
728
- };
729
- /**
730
- * Strictly coerces the entire column to numbers if it only consists of numeric strings or numbers. Also determines
731
- * if at least one of the values in the column can be loosely coerced to a number.
732
- * If the column cannot be strictly downsampled (if it contains nulls or non-numeric strings), returns an empty array and
733
- * returns that it cannot downsample the column.
734
- */
735
-
736
-
737
- var strictlyCoerceYColumn = function strictlyCoerceYColumn(column) {
738
- // Splunk charting allows for numbers in formats such as negative hex that
739
- // Number() does not support and also allows loose coercion of hex numbers (but not other formats)
740
- // We want to identify columns which contain at least one value that can be loosely coerced
741
- var canLooselyCoerceSomeValues = column.findIndex(function (value) {
742
- return (0, numberUtils_1.startsWithNumber)("".concat(value));
743
- }) >= 0; // If not all values in column can be strictly coerced to a number, we do not downsample
744
-
745
- var coercedColumn = [];
746
- var canDownsampleColumn = !column.some(function (value) {
747
- var coercedValue = Number(value); // if it can't be parsed or isn't safe, fail
748
-
749
- if (Number.isNaN(coercedValue) || coercedValue <= Number.MIN_SAFE_INTEGER || coercedValue >= Number.MAX_SAFE_INTEGER || typeof value !== 'string' && typeof value !== 'number') {
750
- return true;
751
- } // save value and continue to next
752
-
753
-
754
- coercedColumn.push(coercedValue);
755
- return false;
756
- });
757
- return {
758
- canDownsampleColumn: canDownsampleColumn,
759
- canLooselyCoerceSomeValues: canLooselyCoerceSomeValues,
760
- coercedColumn: canDownsampleColumn ? coercedColumn : []
761
- };
762
- };
763
- /**
764
- * Tries to coerce the x-column to numbers or dates, if it is eligible for downsampling.
765
- * Only strictly increasing x-columns are eligible for downsampling.
766
- * If the column is not eligible for downsampling, returns an empty array.
767
- */
768
-
769
-
770
- var strictlyCoerceXColumn = function strictlyCoerceXColumn(column, fieldType) {
771
- if (fieldType === 'number') {
772
- var coercedXColumn = column.map(function (xValue) {
773
- return Number(xValue);
774
- });
775
-
776
- if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
777
- return coercedXColumn;
277
+ /**
278
+ * Strictly coerces the entire column to numbers if it only consists of numeric strings or numbers. Also determines
279
+ * if at least one of the values in the column can be loosely coerced to a number.
280
+ * If the column cannot be strictly downsampled (if it contains nulls or non-numeric strings), returns an empty array and
281
+ * returns that it cannot downsample the column.
282
+ */
283
+
284
+
285
+ var strictlyCoerceYColumn = function strictlyCoerceYColumn(column, options) {
286
+ var isNullCoercionEnabled = options.nullValueDisplay === 'zero'; // Splunk charting allows for numbers in formats such as negative hex that
287
+ // Number() does not support and also allows loose coercion of hex numbers (but not other formats)
288
+ // We want to identify columns which contain at least one value that can be loosely coerced
289
+
290
+ var canLooselyCoerceSomeValues = column.findIndex(function (value) {
291
+ return (0, numberUtils_1.startsWithNumber)("".concat(value)) || isNullCoercionEnabled && value === null;
292
+ }) >= 0; // If not all values in column can be strictly coerced to a number, we do not downsample
293
+
294
+ var coercedColumn = [];
295
+ var canDownsampleColumn = !column.some(function (value) {
296
+ var coercedValue = Number(value);
297
+ var coerceValueToZero = isNullCoercionEnabled && value === null; // if it can't be parsed or isn't safe, fail
298
+
299
+ if (Number.isNaN(coercedValue) || coercedValue <= Number.MIN_SAFE_INTEGER || coercedValue >= Number.MAX_SAFE_INTEGER || typeof value !== 'string' && typeof value !== 'number' && !coerceValueToZero) {
300
+ return true;
301
+ } // save value and continue to next
302
+
303
+
304
+ coercedColumn.push(coercedValue);
305
+ return false;
306
+ });
307
+ return {
308
+ canDownsampleColumn: canDownsampleColumn,
309
+ canLooselyCoerceSomeValues: canLooselyCoerceSomeValues,
310
+ coercedColumn: canDownsampleColumn ? coercedColumn : []
311
+ };
312
+ };
313
+ /**
314
+ * Tries to coerce the x-column to numbers or dates, if it is eligible for downsampling.
315
+ * Only strictly increasing x-columns are eligible for downsampling.
316
+ * If the column is not eligible for downsampling, returns an empty array.
317
+ */
318
+
319
+
320
+ var strictlyCoerceXColumn = function strictlyCoerceXColumn(column, fieldType) {
321
+ if (fieldType === 'number') {
322
+ var coercedXColumn = column.map(function (xValue) {
323
+ return Number(xValue);
324
+ });
325
+
326
+ if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
327
+ return coercedXColumn;
778
328
  }
779
329
  } else if (fieldType === 'time') {
780
330
  var _coercedXColumn = column.map(function (xValue) {
@@ -827,8 +377,7 @@ var calculateDownsamplingThreshold = function calculateDownsamplingThreshold(_re
827
377
  dataSources = _ref3.dataSources,
828
378
  selectChartEvent = _ref3.selectChartEvent,
829
379
  width = _ref3.width,
830
- xField = _ref3.xField,
831
- y2Fields = _ref3.y2Fields;
380
+ xField = _ref3.xField;
832
381
 
833
382
  var _a, _b, _c;
834
383
 
@@ -865,14 +414,7 @@ var calculateDownsamplingThreshold = function calculateDownsamplingThreshold(_re
865
414
  });
866
415
  var lastIndex = fullSeries.findIndex(function (x) {
867
416
  return downsampledSeries[endXIndex] === x;
868
- }); // For charts with categorical x-axis (charts with an xField that isn't _time), do not support
869
- // re-calculating downsampling threshold if the chart is zoomed in until SPL-259458 is fixed
870
- // Also do not support re-calculating downsampling threshold for zoomed-in charts with y2
871
- // until SPL-259611 is fixed
872
-
873
- if (xField !== '_time' || (y2Fields === null || y2Fields === void 0 ? void 0 : y2Fields.length)) {
874
- return firstIndex === 0 && lastIndex === fullSeries.length - 1 ? width : null;
875
- }
417
+ });
876
418
 
877
419
  if (firstIndex >= 0 && lastIndex >= 0 && firstIndex <= lastIndex) {
878
420
  return (0, exports.calculateThresholdOnRangeSelect)({
@@ -883,6 +425,7 @@ var calculateDownsamplingThreshold = function calculateDownsamplingThreshold(_re
883
425
  });
884
426
  }
885
427
  } catch (e) {
428
+ // eslint-disable-next-line no-console
886
429
  console.error('Error occurred while setting downsample threshold on range select event', e);
887
430
  }
888
431
 
@@ -921,7 +464,7 @@ var isColumnStrictlyIncreasing = function isColumnStrictlyIncreasing(column, fie
921
464
  */
922
465
 
923
466
 
924
- var tryToCoerceAllDisplayedFields = function tryToCoerceAllDisplayedFields(ds, xField, yFields, fieldTypes) {
467
+ var tryToCoerceAllDisplayedFields = function tryToCoerceAllDisplayedFields(ds, xField, yFields, fieldTypes, options) {
925
468
  var xColumn = [];
926
469
  var yColumns = [];
927
470
  var canDownsample = !ds.data.fields.some(function (field, index) {
@@ -935,7 +478,7 @@ var tryToCoerceAllDisplayedFields = function tryToCoerceAllDisplayedFields(ds, x
935
478
  if (fieldName === xField) {
936
479
  xColumn = strictlyCoerceXColumn(column, fieldType);
937
480
  } else if (yFields.has(fieldName)) {
938
- var _strictlyCoerceYColum = strictlyCoerceYColumn(ds.data.columns[index]),
481
+ var _strictlyCoerceYColum = strictlyCoerceYColumn(ds.data.columns[index], options),
939
482
  coercedColumn = _strictlyCoerceYColum.coercedColumn,
940
483
  canLooselyCoerceSomeValues = _strictlyCoerceYColum.canLooselyCoerceSomeValues,
941
484
  canDownsampleColumn = _strictlyCoerceYColum.canDownsampleColumn; // do not perform downsampling if a column can possibly be displayed but cannot
@@ -1025,7 +568,7 @@ var downsampleDataSources = function downsampleDataSources(_ref4) {
1025
568
  return dataSources;
1026
569
  }
1027
570
 
1028
- var _tryToCoerceAllDispla = tryToCoerceAllDisplayedFields(primaryDS, xField, nonInternalYFields, fieldTypes),
571
+ var _tryToCoerceAllDispla = tryToCoerceAllDisplayedFields(primaryDS, xField, nonInternalYFields, fieldTypes, options),
1029
572
  xColumn = _tryToCoerceAllDispla.xColumn,
1030
573
  yColumns = _tryToCoerceAllDispla.yColumns;
1031
574
 
@@ -1049,6 +592,7 @@ var downsampleDataSources = function downsampleDataSources(_ref4) {
1049
592
  return downsampledIndices.add(downsampleIndex);
1050
593
  });
1051
594
  } catch (e) {
595
+ // eslint-disable-next-line no-console
1052
596
  console.error("Error occurred while downsampling column ".concat(columnIndex), e);
1053
597
  }
1054
598
  }); // update data columns with downsampled columns
@@ -1081,13 +625,13 @@ module.exports = require("@splunk/visualization-encoding/Options");
1081
625
  "use strict";
1082
626
 
1083
627
 
1084
- var _slicedToArray = __webpack_require__(7);
628
+ var _slicedToArray = __webpack_require__(5);
1085
629
 
1086
630
  Object.defineProperty(exports, "__esModule", {
1087
631
  value: true
1088
632
  });
1089
633
 
1090
- var React = __webpack_require__(0);
634
+ var React = __webpack_require__(1);
1091
635
 
1092
636
  var styled_components_1 = __webpack_require__(4);
1093
637
 
@@ -1095,7 +639,7 @@ var style_1 = __webpack_require__(18);
1095
639
 
1096
640
  var colorUtils_1 = __webpack_require__(15);
1097
641
 
1098
- var SizeAwareWrapper_1 = __webpack_require__(26);
642
+ var SizeAwareWrapper_1 = __webpack_require__(25);
1099
643
 
1100
644
  var Item = styled_components_1.default.div.attrs(function (_ref) {
1101
645
  var width = _ref.width;
@@ -1166,7 +710,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
1166
710
 
1167
711
  return React.createElement(FixSizeItem, {
1168
712
  "data-test": "fix-size-item",
1169
- "data-splunk-visualization-version": "26.2.1 - 714383dbb",
713
+ "data-splunk-visualization-version": "26.4.0 - 04078274d",
1170
714
  width: width,
1171
715
  height: height,
1172
716
  backgroundColor: backgroundColor
@@ -1195,23 +739,7 @@ module.exports = require("@splunk/visualizations-shared/style");
1195
739
 
1196
740
  /***/ }),
1197
741
 
1198
- /***/ 19:
1199
- /***/ (function(module, exports, __webpack_require__) {
1200
-
1201
- "use strict";
1202
-
1203
-
1204
- Object.defineProperty(exports, "__esModule", {
1205
- value: true
1206
- });
1207
- exports.validOutputModes = exports.validSegmentationModes = exports.validSortDirs = void 0;
1208
- exports.validSortDirs = ['asc', 'desc', 'none'];
1209
- exports.validSegmentationModes = ['none', 'inner'];
1210
- exports.validOutputModes = ['json_cols', 'json'];
1211
-
1212
- /***/ }),
1213
-
1214
- /***/ 190:
742
+ /***/ 185:
1215
743
  /***/ (function(module, exports, __webpack_require__) {
1216
744
 
1217
745
  "use strict";
@@ -1235,25 +763,25 @@ Object.defineProperty(exports, "__esModule", {
1235
763
  });
1236
764
  exports.config = exports.themes = exports.computeVizProps = void 0;
1237
765
 
1238
- var lodash_1 = __webpack_require__(3); // Charting imports i18n which needs to be run to instantiate window globals in the tests
766
+ var lodash_1 = __webpack_require__(2); // Charting imports i18n which needs to be run to instantiate window globals in the tests
1239
767
  // eslint-disable-next-line import/order
1240
768
 
1241
769
 
1242
- var Charting_1 = __webpack_require__(87);
770
+ var Charting_1 = __webpack_require__(84);
1243
771
 
1244
- var charting_bundle_1 = __webpack_require__(77);
772
+ var charting_bundle_1 = __webpack_require__(75);
1245
773
 
1246
- var simpleXMLOptions_1 = __webpack_require__(93);
774
+ var simpleXMLOptions_1 = __webpack_require__(90);
1247
775
 
1248
- var config_1 = __webpack_require__(487);
776
+ var config_1 = __webpack_require__(475);
1249
777
 
1250
778
  exports.config = config_1.default;
1251
779
 
1252
- var withDashboardViz_1 = __webpack_require__(56);
780
+ var withDashboardViz_1 = __webpack_require__(54);
1253
781
 
1254
- var scatterUtils_1 = __webpack_require__(488);
782
+ var scatterUtils_1 = __webpack_require__(476);
1255
783
 
1256
- var chartingUtils_1 = __webpack_require__(79);
784
+ var chartingUtils_1 = __webpack_require__(77);
1257
785
 
1258
786
  var validOptions = Object.keys(config_1.default.optionsSchema);
1259
787
 
@@ -1334,7 +862,22 @@ exports.default = Column;
1334
862
  /***/ 2:
1335
863
  /***/ (function(module, exports) {
1336
864
 
1337
- module.exports = require("@splunk/ui-utils/i18n");
865
+ module.exports = require("lodash");
866
+
867
+ /***/ }),
868
+
869
+ /***/ 20:
870
+ /***/ (function(module, exports, __webpack_require__) {
871
+
872
+ "use strict";
873
+
874
+
875
+ Object.defineProperty(exports, "__esModule", {
876
+ value: true
877
+ });
878
+ exports.validOutputModes = exports.validSortDirs = void 0;
879
+ exports.validSortDirs = ['asc', 'desc', 'none'];
880
+ exports.validOutputModes = ['json_cols', 'json'];
1338
881
 
1339
882
  /***/ }),
1340
883
 
@@ -1344,9 +887,9 @@ module.exports = require("@splunk/ui-utils/i18n");
1344
887
  "use strict";
1345
888
 
1346
889
 
1347
- var _classCallCheck = __webpack_require__(10);
890
+ var _classCallCheck = __webpack_require__(8);
1348
891
 
1349
- var _createClass = __webpack_require__(25);
892
+ var _createClass = __webpack_require__(24);
1350
893
 
1351
894
  Object.defineProperty(exports, "__esModule", {
1352
895
  value: true
@@ -1441,123 +984,41 @@ exports.extendStaticWrapperProps = extendStaticWrapperProps;
1441
984
  /***/ 24:
1442
985
  /***/ (function(module, exports) {
1443
986
 
1444
- module.exports = require("@splunk/visualizations-shared/schemaUtils");
1445
-
1446
- /***/ }),
1447
-
1448
- /***/ 25:
1449
- /***/ (function(module, exports) {
1450
-
1451
987
  module.exports = require("@babel/runtime/helpers/createClass");
1452
988
 
1453
989
  /***/ }),
1454
990
 
1455
- /***/ 26:
991
+ /***/ 25:
1456
992
  /***/ (function(module, exports) {
1457
993
 
1458
994
  module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
1459
995
 
1460
996
  /***/ }),
1461
997
 
1462
- /***/ 27:
998
+ /***/ 26:
1463
999
  /***/ (function(module, exports, __webpack_require__) {
1464
1000
 
1465
1001
  "use strict";
1466
1002
 
1467
1003
 
1468
- var _toConsumableArray = __webpack_require__(8);
1469
-
1470
- var _defineProperty = __webpack_require__(9);
1471
-
1472
- var __rest = this && this.__rest || function (s, e) {
1473
- var t = {};
1474
-
1475
- for (var p in s) {
1476
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
1477
- }
1478
-
1479
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1480
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
1481
- }
1482
- return t;
1483
- };
1004
+ var _toConsumableArray = __webpack_require__(6);
1484
1005
 
1485
1006
  Object.defineProperty(exports, "__esModule", {
1486
1007
  value: true
1487
1008
  });
1488
- exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
1009
+ exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceConfig = exports.enhanceOptionsSchemaWithDynamicOptions = void 0;
1489
1010
 
1490
- var lodash_1 = __webpack_require__(3);
1491
-
1492
- var schemaUtils_1 = __webpack_require__(24);
1493
-
1494
- var VizBehavior_1 = __webpack_require__(6);
1495
-
1496
- var dynamicOptionsDSLType = {
1497
- type: 'string',
1498
- pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
1499
- };
1500
- /**
1501
- * Helper function to extend an options schema with dynamic options DSL
1502
- * @param optionsSchema a visualization's options schema
1503
- * @returns an updated options schema that additionally allows strings starting with > for each option
1504
- */
1505
-
1506
- function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
1507
- var enhancedOptionsSchema = {};
1508
- Object.keys(optionsSchema).forEach(function (key) {
1509
- var _a = optionsSchema[key],
1510
- title = _a.title,
1511
- description = _a.description,
1512
- readOnly = _a.readOnly,
1513
- writeOnly = _a.writeOnly,
1514
- examples = _a.examples,
1515
- defaultValue = _a.default,
1516
- type = _a.type,
1517
- properties = _a.properties,
1518
- patternProperties = _a.patternProperties,
1519
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
1520
-
1521
- var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
1522
- title: title
1523
- }), description !== undefined && {
1524
- description: description
1525
- }), readOnly !== undefined && {
1526
- readOnly: readOnly
1527
- }), writeOnly !== undefined && {
1528
- writeOnly: writeOnly
1529
- }), examples !== undefined && {
1530
- examples: examples
1531
- }), defaultValue !== undefined && {
1532
- default: defaultValue
1533
- });
1011
+ var lodash_1 = __webpack_require__(2); // included for backwards compatibility
1534
1012
 
1535
- if (type === 'object') {
1536
- enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
1537
- type: type
1538
- }), properties && {
1539
- properties: enhanceOptionsSchemaWithDynamicOptions(properties)
1540
- });
1541
1013
 
1542
- if (patternProperties) {
1543
- var enhancedPatternProperties = {};
1544
- Object.keys(patternProperties).forEach(function (opt) {
1545
- enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
1546
- });
1547
- enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
1548
- }
1549
- } else {
1550
- enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
1551
- anyOf: [Object.assign(Object.assign({}, type !== undefined && {
1552
- type: type
1553
- }), remainingSchemaEntry), dynamicOptionsDSLType]
1554
- });
1555
- }
1556
- });
1557
- return enhancedOptionsSchema;
1558
- }
1014
+ var visualization_schemas_1 = __webpack_require__(9);
1559
1015
 
1560
- exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
1016
+ Object.defineProperty(exports, "enhanceOptionsSchemaWithDynamicOptions", {
1017
+ enumerable: true,
1018
+ get: function get() {
1019
+ return visualization_schemas_1.enhanceOptionsSchemaWithDynamicOptions;
1020
+ }
1021
+ });
1561
1022
  /**
1562
1023
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
1563
1024
  * this function also collapse all editor panels
@@ -1568,11 +1029,6 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
1568
1029
 
1569
1030
  function enhanceConfig(vizConfig) {
1570
1031
  var enhancedConfig = Object.assign({}, vizConfig);
1571
-
1572
- if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
1573
- enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
1574
- }
1575
-
1576
1032
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
1577
1033
  return Object.assign(Object.assign({}, config), {
1578
1034
  open: config.open || false
@@ -1696,42 +1152,42 @@ exports.insertLayout = insertLayout;
1696
1152
 
1697
1153
  /***/ }),
1698
1154
 
1699
- /***/ 28:
1155
+ /***/ 27:
1700
1156
  /***/ (function(module, exports) {
1701
1157
 
1702
1158
  module.exports = require("@splunk/visualization-context/FeatureFlagContext");
1703
1159
 
1704
1160
  /***/ }),
1705
1161
 
1706
- /***/ 3:
1162
+ /***/ 29:
1707
1163
  /***/ (function(module, exports) {
1708
1164
 
1709
- module.exports = require("lodash");
1165
+ module.exports = require("@splunk/themes/pick");
1710
1166
 
1711
1167
  /***/ }),
1712
1168
 
1713
- /***/ 30:
1169
+ /***/ 3:
1714
1170
  /***/ (function(module, exports) {
1715
1171
 
1716
- module.exports = require("@splunk/themes/pick");
1172
+ module.exports = require("@splunk/ui-utils/i18n");
1717
1173
 
1718
1174
  /***/ }),
1719
1175
 
1720
- /***/ 31:
1176
+ /***/ 30:
1721
1177
  /***/ (function(module, exports) {
1722
1178
 
1723
1179
  module.exports = require("@splunk/ui-utils/id");
1724
1180
 
1725
1181
  /***/ }),
1726
1182
 
1727
- /***/ 32:
1183
+ /***/ 31:
1728
1184
  /***/ (function(module, exports) {
1729
1185
 
1730
1186
  module.exports = require("@splunk/visualization-context/TimezoneContext");
1731
1187
 
1732
1188
  /***/ }),
1733
1189
 
1734
- /***/ 33:
1190
+ /***/ 32:
1735
1191
  /***/ (function(module, exports, __webpack_require__) {
1736
1192
 
1737
1193
  "use strict";
@@ -1741,7 +1197,7 @@ Object.defineProperty(exports, "__esModule", {
1741
1197
  value: true
1742
1198
  });
1743
1199
 
1744
- var react_1 = __webpack_require__(0);
1200
+ var react_1 = __webpack_require__(1);
1745
1201
 
1746
1202
  function usePrevious(value) {
1747
1203
  var ref = (0, react_1.useRef)();
@@ -1755,28 +1211,28 @@ exports.default = usePrevious;
1755
1211
 
1756
1212
  /***/ }),
1757
1213
 
1758
- /***/ 34:
1214
+ /***/ 33:
1759
1215
  /***/ (function(module, exports) {
1760
1216
 
1761
1217
  module.exports = require("@splunk/visualizations-shared/hocUtils");
1762
1218
 
1763
1219
  /***/ }),
1764
1220
 
1765
- /***/ 35:
1221
+ /***/ 34:
1766
1222
  /***/ (function(module, exports) {
1767
1223
 
1768
1224
  module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
1769
1225
 
1770
1226
  /***/ }),
1771
1227
 
1772
- /***/ 36:
1228
+ /***/ 35:
1773
1229
  /***/ (function(module, exports) {
1774
1230
 
1775
1231
  module.exports = require("@splunk/visualizations-shared/propUtils");
1776
1232
 
1777
1233
  /***/ }),
1778
1234
 
1779
- /***/ 37:
1235
+ /***/ 36:
1780
1236
  /***/ (function(module, exports, __webpack_require__) {
1781
1237
 
1782
1238
  "use strict";
@@ -1787,15 +1243,15 @@ Object.defineProperty(exports, "__esModule", {
1787
1243
  });
1788
1244
  exports.shouldShowIconPlaceholder = void 0;
1789
1245
 
1790
- var React = __webpack_require__(0);
1246
+ var React = __webpack_require__(1);
1791
1247
 
1792
- var T = __webpack_require__(1);
1248
+ var T = __webpack_require__(0);
1793
1249
 
1794
- var lodash_1 = __webpack_require__(3);
1250
+ var lodash_1 = __webpack_require__(2);
1795
1251
 
1796
- var i18n_1 = __webpack_require__(2);
1252
+ var i18n_1 = __webpack_require__(3);
1797
1253
 
1798
- var Message_1 = __webpack_require__(12);
1254
+ var Message_1 = __webpack_require__(11);
1799
1255
 
1800
1256
  var FixedSizeContainer_1 = __webpack_require__(17);
1801
1257
  /**
@@ -1869,24 +1325,24 @@ exports.default = (0, FixedSizeContainer_1.default)(IconPlaceholder);
1869
1325
 
1870
1326
  /***/ }),
1871
1327
 
1872
- /***/ 38:
1328
+ /***/ 37:
1873
1329
  /***/ (function(module, exports, __webpack_require__) {
1874
1330
 
1875
1331
  "use strict";
1876
1332
 
1877
1333
 
1878
- var _defineProperty = __webpack_require__(9);
1334
+ var _defineProperty = __webpack_require__(12);
1879
1335
 
1880
1336
  Object.defineProperty(exports, "__esModule", {
1881
1337
  value: true
1882
1338
  });
1883
1339
  exports.getSortingParams = exports.SortParamsPropTypes = void 0;
1884
1340
 
1885
- var T = __webpack_require__(1);
1341
+ var T = __webpack_require__(0);
1886
1342
 
1887
- var lodash_1 = __webpack_require__(3);
1343
+ var lodash_1 = __webpack_require__(2);
1888
1344
 
1889
- var DataSource_1 = __webpack_require__(19);
1345
+ var DataSource_1 = __webpack_require__(20);
1890
1346
 
1891
1347
  exports.SortParamsPropTypes = T.shape({
1892
1348
  currentSortKey: T.string,
@@ -1940,7 +1396,7 @@ exports.getSortingParams = getSortingParams;
1940
1396
 
1941
1397
  /***/ }),
1942
1398
 
1943
- /***/ 39:
1399
+ /***/ 38:
1944
1400
  /***/ (function(module, exports, __webpack_require__) {
1945
1401
 
1946
1402
  "use strict";
@@ -1951,9 +1407,9 @@ Object.defineProperty(exports, "__esModule", {
1951
1407
  });
1952
1408
  exports.getPaginationParams = exports.PaginatorParamsPropTypes = void 0;
1953
1409
 
1954
- var T = __webpack_require__(1);
1410
+ var T = __webpack_require__(0);
1955
1411
 
1956
- var lodash_1 = __webpack_require__(3);
1412
+ var lodash_1 = __webpack_require__(2);
1957
1413
 
1958
1414
  exports.PaginatorParamsPropTypes = T.shape({
1959
1415
  isPaging: T.bool,
@@ -2001,18 +1457,11 @@ var getPaginationParams = function getPaginationParams(_ref) {
2001
1457
  };
2002
1458
  };
2003
1459
 
2004
- exports.getPaginationParams = getPaginationParams;
2005
-
2006
- /***/ }),
2007
-
2008
- /***/ 4:
2009
- /***/ (function(module, exports) {
2010
-
2011
- module.exports = require("styled-components");
1460
+ exports.getPaginationParams = getPaginationParams;
2012
1461
 
2013
1462
  /***/ }),
2014
1463
 
2015
- /***/ 40:
1464
+ /***/ 39:
2016
1465
  /***/ (function(module, exports, __webpack_require__) {
2017
1466
 
2018
1467
  "use strict";
@@ -2047,11 +1496,13 @@ Object.defineProperty(exports, "__esModule", {
2047
1496
  value: true
2048
1497
  });
2049
1498
 
1499
+ __exportStar(__webpack_require__(40), exports);
1500
+
2050
1501
  __exportStar(__webpack_require__(41), exports);
2051
1502
 
2052
- __exportStar(__webpack_require__(42), exports);
1503
+ __exportStar(__webpack_require__(20), exports);
2053
1504
 
2054
- __exportStar(__webpack_require__(19), exports);
1505
+ __exportStar(__webpack_require__(42), exports);
2055
1506
 
2056
1507
  __exportStar(__webpack_require__(43), exports);
2057
1508
 
@@ -2063,16 +1514,16 @@ __exportStar(__webpack_require__(46), exports);
2063
1514
 
2064
1515
  __exportStar(__webpack_require__(47), exports);
2065
1516
 
2066
- __exportStar(__webpack_require__(48), exports);
2067
-
2068
- __exportStar(__webpack_require__(49), exports);
2069
-
2070
1517
  __exportStar(__webpack_require__(21), exports);
2071
1518
 
2072
- __exportStar(__webpack_require__(6), exports);
1519
+ __exportStar(__webpack_require__(7), exports);
2073
1520
 
2074
1521
  __exportStar(__webpack_require__(22), exports);
2075
1522
 
1523
+ __exportStar(__webpack_require__(48), exports);
1524
+
1525
+ __exportStar(__webpack_require__(49), exports);
1526
+
2076
1527
  __exportStar(__webpack_require__(50), exports);
2077
1528
 
2078
1529
  __exportStar(__webpack_require__(51), exports);
@@ -2081,13 +1532,16 @@ __exportStar(__webpack_require__(52), exports);
2081
1532
 
2082
1533
  __exportStar(__webpack_require__(53), exports);
2083
1534
 
2084
- __exportStar(__webpack_require__(54), exports);
1535
+ /***/ }),
1536
+
1537
+ /***/ 4:
1538
+ /***/ (function(module, exports) {
2085
1539
 
2086
- __exportStar(__webpack_require__(55), exports);
1540
+ module.exports = require("styled-components");
2087
1541
 
2088
1542
  /***/ }),
2089
1543
 
2090
- /***/ 41:
1544
+ /***/ 40:
2091
1545
  /***/ (function(module, exports, __webpack_require__) {
2092
1546
 
2093
1547
  "use strict";
@@ -2099,7 +1553,7 @@ Object.defineProperty(exports, "__esModule", {
2099
1553
 
2100
1554
  /***/ }),
2101
1555
 
2102
- /***/ 42:
1556
+ /***/ 41:
2103
1557
  /***/ (function(module, exports, __webpack_require__) {
2104
1558
 
2105
1559
  "use strict";
@@ -2114,7 +1568,7 @@ Object.defineProperty(exports, "__esModule", {
2114
1568
 
2115
1569
  /***/ }),
2116
1570
 
2117
- /***/ 43:
1571
+ /***/ 42:
2118
1572
  /***/ (function(module, exports, __webpack_require__) {
2119
1573
 
2120
1574
  "use strict";
@@ -2126,7 +1580,7 @@ Object.defineProperty(exports, "__esModule", {
2126
1580
 
2127
1581
  /***/ }),
2128
1582
 
2129
- /***/ 44:
1583
+ /***/ 43:
2130
1584
  /***/ (function(module, exports, __webpack_require__) {
2131
1585
 
2132
1586
  "use strict";
@@ -2138,7 +1592,7 @@ Object.defineProperty(exports, "__esModule", {
2138
1592
 
2139
1593
  /***/ }),
2140
1594
 
2141
- /***/ 45:
1595
+ /***/ 44:
2142
1596
  /***/ (function(module, exports, __webpack_require__) {
2143
1597
 
2144
1598
  "use strict";
@@ -2150,7 +1604,7 @@ Object.defineProperty(exports, "__esModule", {
2150
1604
 
2151
1605
  /***/ }),
2152
1606
 
2153
- /***/ 46:
1607
+ /***/ 45:
2154
1608
  /***/ (function(module, exports, __webpack_require__) {
2155
1609
 
2156
1610
  "use strict";
@@ -2162,7 +1616,7 @@ Object.defineProperty(exports, "__esModule", {
2162
1616
 
2163
1617
  /***/ }),
2164
1618
 
2165
- /***/ 47:
1619
+ /***/ 46:
2166
1620
  /***/ (function(module, exports, __webpack_require__) {
2167
1621
 
2168
1622
  "use strict";
@@ -2174,7 +1628,7 @@ Object.defineProperty(exports, "__esModule", {
2174
1628
 
2175
1629
  /***/ }),
2176
1630
 
2177
- /***/ 48:
1631
+ /***/ 47:
2178
1632
  /***/ (function(module, exports, __webpack_require__) {
2179
1633
 
2180
1634
  "use strict";
@@ -2186,7 +1640,7 @@ Object.defineProperty(exports, "__esModule", {
2186
1640
 
2187
1641
  /***/ }),
2188
1642
 
2189
- /***/ 486:
1643
+ /***/ 474:
2190
1644
  /***/ (function(module, exports, __webpack_require__) {
2191
1645
 
2192
1646
  "use strict";
@@ -2222,9 +1676,9 @@ Object.defineProperty(exports, "__esModule", {
2222
1676
  });
2223
1677
  exports.default = void 0;
2224
1678
 
2225
- __exportStar(__webpack_require__(190), exports);
1679
+ __exportStar(__webpack_require__(185), exports);
2226
1680
 
2227
- var Scatter_1 = __webpack_require__(190);
1681
+ var Scatter_1 = __webpack_require__(185);
2228
1682
 
2229
1683
  Object.defineProperty(exports, "default", {
2230
1684
  enumerable: true,
@@ -2235,48 +1689,45 @@ Object.defineProperty(exports, "default", {
2235
1689
 
2236
1690
  /***/ }),
2237
1691
 
2238
- /***/ 487:
1692
+ /***/ 475:
2239
1693
  /***/ (function(module, exports, __webpack_require__) {
2240
1694
 
2241
1695
  "use strict";
2242
1696
 
2243
1697
 
2244
- var _toConsumableArray = __webpack_require__(8);
1698
+ var _toConsumableArray = __webpack_require__(6);
2245
1699
 
2246
1700
  Object.defineProperty(exports, "__esModule", {
2247
1701
  value: true
2248
1702
  });
2249
- exports.optionsSchema = void 0;
2250
1703
 
2251
- var visualization_icons_1 = __webpack_require__(74);
1704
+ var visualization_icons_1 = __webpack_require__(71);
2252
1705
 
2253
- var placeholders_1 = __webpack_require__(72);
1706
+ var placeholders_1 = __webpack_require__(70);
2254
1707
 
2255
- var pick_1 = __webpack_require__(30);
1708
+ var pick_1 = __webpack_require__(29);
2256
1709
 
2257
1710
  var variables_1 = __webpack_require__(13);
2258
1711
 
2259
- var schemaUtils_1 = __webpack_require__(24);
2260
-
2261
- var visualization_color_palettes_1 = __webpack_require__(73);
1712
+ var visualization_schemas_1 = __webpack_require__(9);
2262
1713
 
2263
- var i18n_1 = __webpack_require__(2);
1714
+ var i18n_1 = __webpack_require__(3);
2264
1715
 
2265
- var VizBehavior_1 = __webpack_require__(6);
1716
+ var VizBehavior_1 = __webpack_require__(7);
2266
1717
 
2267
1718
  var VizCategory_1 = __webpack_require__(22);
2268
1719
 
2269
- var configUtils_1 = __webpack_require__(27);
1720
+ var configUtils_1 = __webpack_require__(26);
2270
1721
 
2271
- var AxesChartDataConfig_1 = __webpack_require__(97);
1722
+ var AxesChartDataConfig_1 = __webpack_require__(94);
2272
1723
 
2273
- var AxesChartXGridAndLabels_1 = __webpack_require__(100);
1724
+ var AxesChartXGridAndLabels_1 = __webpack_require__(97);
2274
1725
 
2275
- var AxesChartColorAndStyle_1 = __webpack_require__(98);
1726
+ var AxesChartColorAndStyle_1 = __webpack_require__(95);
2276
1727
 
2277
- var AxesChartLegend_1 = __webpack_require__(99);
1728
+ var AxesChartLegend_1 = __webpack_require__(96);
2278
1729
 
2279
- var AxesChartYGridAndLabels_1 = __webpack_require__(101);
1730
+ var AxesChartYGridAndLabels_1 = __webpack_require__(98);
2280
1731
 
2281
1732
  var dataContract = {
2282
1733
  requiredDataSources: [{
@@ -2305,287 +1756,6 @@ var size = {
2305
1756
  initialHeight: 300
2306
1757
  };
2307
1758
  var defaultContext = {};
2308
- exports.optionsSchema = {
2309
- x: {
2310
- default: '> primary | seriesByIndex(0)',
2311
- description: 'Specify the dataSource applied to the x-axis.',
2312
- type: 'array',
2313
- items: {
2314
- type: ['string', 'number']
2315
- }
2316
- },
2317
- y: {
2318
- default: '> primary | seriesByIndex(1)',
2319
- description: 'Specify the dataSource applied to the y-axis.',
2320
- type: 'array',
2321
- items: {
2322
- type: ['string', 'number']
2323
- }
2324
- },
2325
- category: {
2326
- description: 'Specify a sequence of dataSource events to be plotted on the chart.',
2327
- type: 'array',
2328
- items: {
2329
- type: ['string', 'number']
2330
- },
2331
- default: '> primary | seriesByIndex(2)'
2332
- },
2333
- xField: {
2334
- default: '> x | getField()',
2335
- description: 'Specify the field that should be mapped to the x-axis.',
2336
- type: 'string'
2337
- },
2338
- yField: {
2339
- default: '> y | getField()',
2340
- description: 'Specify the field that should be mapped to the y-axis.',
2341
- type: 'string'
2342
- },
2343
- categoryField: {
2344
- default: '> category | getField()',
2345
- description: 'Specify the field that should be mapped to the series categories.',
2346
- type: 'string'
2347
- },
2348
- backgroundColor: {
2349
- default: '> themes.defaultBackgroundColor',
2350
- description: 'Specify the color used for the background. The default for enterprise light is "#ffffff". The default for enterprise dark is "#000000". The default for prisma dark is "#0b0c0e".',
2351
- pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
2352
- type: 'string'
2353
- },
2354
- legendDisplay: {
2355
- default: 'right',
2356
- description: 'Specify the location of the legend on the panel.',
2357
- pattern: (0, schemaUtils_1.getPattern)(['right', 'left', 'top', 'bottom', 'off']),
2358
- type: 'string'
2359
- },
2360
- legendTruncation: {
2361
- default: 'ellipsisEnd',
2362
- description: 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',
2363
- pattern: (0, schemaUtils_1.getPattern)(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),
2364
- type: 'string'
2365
- },
2366
- markerSize: {
2367
- description: 'Specify, in pixels, the size of each scatter marker.',
2368
- type: 'number',
2369
- default: 4
2370
- },
2371
- resultLimit: {
2372
- default: 50000,
2373
- description: 'Specify the number of data points rendered in a chart.',
2374
- type: 'number'
2375
- },
2376
- seriesColors: {
2377
- default: visualization_color_palettes_1.VIZ_CATEGORICAL,
2378
- description: 'Specify the colors used for a series. For example, ["#FF0000", "#0000FF", "#008000"].',
2379
- type: 'array',
2380
- items: {
2381
- type: 'string'
2382
- }
2383
- },
2384
- seriesColorsByField: {
2385
- description: 'Specify the colors to use for specific categories, or series names, derived from distinct values in the selected category field. For example, {"user1": "#008000", "user2": "#FFA500"}.',
2386
- type: 'object'
2387
- },
2388
- showXAxisExtendedRange: {
2389
- default: true,
2390
- description: 'Specify whether the x-axis should be extended to snap to whole major tick marks.',
2391
- type: 'boolean'
2392
- },
2393
- showYAxisExtendedRange: {
2394
- default: true,
2395
- description: 'Specify whether the y-axis should be extended to snap to whole major tick marks.',
2396
- type: 'boolean'
2397
- },
2398
- showXAxisWithZero: {
2399
- default: false,
2400
- description: 'Specify whether the x-axis range includes zero.',
2401
- type: 'boolean'
2402
- },
2403
- showYAxisWithZero: {
2404
- default: false,
2405
- description: 'Specify whether the y-axis range includes zero.',
2406
- type: 'boolean'
2407
- },
2408
- showRoundedXAxisLabels: {
2409
- default: false,
2410
- description: 'Specify whether to round x-axis values to the nearest integer.',
2411
- type: 'boolean'
2412
- },
2413
- // TODO: figure out if we want to change splunk-charting behavior for Bubble/Scatter, which hardcodes XMajorGridlines to false
2414
- // showXMajorGridLines: {
2415
- // default: false,
2416
- // description: 'Specify whether major grid lines are visible on the x-axis.',
2417
- // type: 'boolean',
2418
- // },
2419
- showYMajorGridLines: {
2420
- default: true,
2421
- description: 'Specify whether major grid lines are visible on the y-axis.',
2422
- type: 'boolean'
2423
- },
2424
- showXMinorGridLines: {
2425
- default: false,
2426
- description: 'Specify whether minor grid lines are visible on the x-axis.',
2427
- type: 'boolean'
2428
- },
2429
- showYMinorGridLines: {
2430
- default: false,
2431
- description: 'Specify whether minor grid lines are visible on the y-axis.',
2432
- type: 'boolean'
2433
- },
2434
- xAxisLabelRotation: {
2435
- default: 0,
2436
- description: 'Specify the rotation of the x-axis labels in degrees.',
2437
- type: 'number',
2438
- enum: [-90, -45, 0, 45, 90]
2439
- },
2440
- xAxisAbbreviation: {
2441
- default: 'off',
2442
- description: 'Specify whether to abbreviate large x-axis values with the closest SI prefix.',
2443
- enum: ['off', 'auto'],
2444
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'off']),
2445
- type: 'string'
2446
- },
2447
- yAxisAbbreviation: {
2448
- default: 'auto',
2449
- description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',
2450
- enum: ['off', 'auto'],
2451
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'off']),
2452
- type: 'string'
2453
- },
2454
- xAxisLabelVisibility: {
2455
- default: 'auto',
2456
- description: 'Specify whether to show or hide labels on the x-axis.',
2457
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2458
- type: 'string'
2459
- },
2460
- yAxisLabelVisibility: {
2461
- default: 'auto',
2462
- description: 'Specify whether to show or hide labels on the y-axis.',
2463
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2464
- type: 'string'
2465
- },
2466
- xAxisLineVisibility: {
2467
- default: 'hide',
2468
- description: 'Specify whether to show or hide the x-axis line.',
2469
- enum: ['hide', 'show'],
2470
- pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
2471
- type: 'string'
2472
- },
2473
- yAxisLineVisibility: {
2474
- default: 'hide',
2475
- description: 'Specify whether to show or hide the y-axis line.',
2476
- enum: ['hide', 'show'],
2477
- pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
2478
- type: 'string'
2479
- },
2480
- xAxisMajorTickInterval: {
2481
- default: 'auto',
2482
- description: 'Specify the spacing interval at which to place major tick marks along the numeric x-axis. By default, this value is automatically calculated based on the scale of the related axis.',
2483
- type: ['string', 'number']
2484
- },
2485
- yAxisMajorTickInterval: {
2486
- default: 'auto',
2487
- description: 'Specify the spacing interval at which to place major tick marks along the numeric y-axis. By default, this value is automatically calculated based on the scale of the related axis.',
2488
- type: ['string', 'number']
2489
- },
2490
- xAxisMajorTickSize: {
2491
- default: 6,
2492
- description: 'Specify the size, in pixels, of major tick marks on the x-axis.',
2493
- type: 'number'
2494
- },
2495
- yAxisMajorTickSize: {
2496
- default: 6,
2497
- description: 'Specify the size, in pixels, of major tick marks on the y-axis.',
2498
- type: 'number'
2499
- },
2500
- xAxisMinorTickSize: {
2501
- default: 6,
2502
- description: 'Specify the size, in pixels, of minor tick marks on the x-axis.',
2503
- type: 'number'
2504
- },
2505
- yAxisMinorTickSize: {
2506
- default: 6,
2507
- description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',
2508
- type: 'number'
2509
- },
2510
- xAxisMajorTickVisibility: {
2511
- default: 'auto',
2512
- description: 'Specify whether to show or hide major tick marks on the x-axis.',
2513
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2514
- type: 'string'
2515
- },
2516
- yAxisMajorTickVisibility: {
2517
- default: 'auto',
2518
- description: 'Specify whether to show or hide major tick marks on the y-axis.',
2519
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2520
- type: 'string'
2521
- },
2522
- xAxisMinorTickVisibility: {
2523
- default: 'auto',
2524
- description: 'Specify whether to show or hide minor tick marks on the x-axis .',
2525
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2526
- type: 'string'
2527
- },
2528
- yAxisMinorTickVisibility: {
2529
- default: 'auto',
2530
- description: 'Specify whether to show or hide minor tick marks on the y-axis.',
2531
- pattern: (0, schemaUtils_1.getPattern)(['auto', 'show', 'hide']),
2532
- type: 'string'
2533
- },
2534
- xAxisMax: {
2535
- default: 'auto',
2536
- description: 'Specify the maximum number for the range of the visible x-axis.',
2537
- type: ['string', 'number']
2538
- },
2539
- yAxisMax: {
2540
- default: 'auto',
2541
- description: 'Specify the maximum number for the range of the visible y-axis.',
2542
- type: ['string', 'number']
2543
- },
2544
- xAxisMin: {
2545
- default: 'auto',
2546
- description: 'Specify the minimum number for the range of the visible x-axis.',
2547
- type: ['string', 'number']
2548
- },
2549
- yAxisMin: {
2550
- default: 'auto',
2551
- description: 'Specify the minimum number for the range of the visible y-axis.',
2552
- type: ['string', 'number']
2553
- },
2554
- xAxisScale: {
2555
- default: 'linear',
2556
- description: 'Specify the type of scale that applies to a numerical x-axis.',
2557
- pattern: (0, schemaUtils_1.getPattern)(['linear', 'log']),
2558
- type: 'string'
2559
- },
2560
- yAxisScale: {
2561
- default: 'linear',
2562
- description: 'Specify the type of scale that applies to a numerical y-axis.',
2563
- pattern: (0, schemaUtils_1.getPattern)(['linear', 'log']),
2564
- type: 'string'
2565
- },
2566
- xAxisTitleText: {
2567
- description: 'Specify the title of the x-axis.',
2568
- type: 'string'
2569
- },
2570
- yAxisTitleText: {
2571
- description: 'Specify the title of the y-axis.',
2572
- type: 'string'
2573
- },
2574
- xAxisTitleVisibility: {
2575
- default: 'show',
2576
- description: 'Specify whether to show or hide the title of the x-axis.',
2577
- enum: ['hide', 'show'],
2578
- pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
2579
- type: 'string'
2580
- },
2581
- yAxisTitleVisibility: {
2582
- default: 'show',
2583
- description: 'Specify whether to show or hide the title of the y-axis.',
2584
- enum: ['hide', 'show'],
2585
- pattern: (0, schemaUtils_1.getPattern)(['show', 'hide']),
2586
- type: 'string'
2587
- }
2588
- };
2589
1759
  var themes = {
2590
1760
  defaultBackgroundColor: function defaultBackgroundColor(props) {
2591
1761
  return (0, pick_1.default)({
@@ -2641,7 +1811,7 @@ var config = {
2641
1811
  dataContract: dataContract,
2642
1812
  size: size,
2643
1813
  defaultContext: defaultContext,
2644
- optionsSchema: exports.optionsSchema,
1814
+ optionsSchema: visualization_schemas_1.scatterOptionsSchema,
2645
1815
  editorConfig: editorConfig,
2646
1816
  events: {
2647
1817
  'legend.click': {
@@ -2658,7 +1828,7 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
2658
1828
 
2659
1829
  /***/ }),
2660
1830
 
2661
- /***/ 488:
1831
+ /***/ 476:
2662
1832
  /***/ (function(module, exports, __webpack_require__) {
2663
1833
 
2664
1834
  "use strict";
@@ -2669,11 +1839,11 @@ Object.defineProperty(exports, "__esModule", {
2669
1839
  });
2670
1840
  exports.convertToScatterSCProperties = exports.mapToOldKey = exports.convertToStringValues = exports.scatterOptionValuesSCMapping = void 0;
2671
1841
 
2672
- var lodash_1 = __webpack_require__(3);
1842
+ var lodash_1 = __webpack_require__(2);
2673
1843
 
2674
- var propUtils_1 = __webpack_require__(36);
1844
+ var propUtils_1 = __webpack_require__(35);
2675
1845
 
2676
- var chartingUtils_1 = __webpack_require__(79); // map for key names which are either new or not present in SimpleXML options mapping
1846
+ var chartingUtils_1 = __webpack_require__(77); // map for key names which are either new or not present in SimpleXML options mapping
2677
1847
 
2678
1848
 
2679
1849
  var scatterOptionsSCMapping = {
@@ -2767,7 +1937,7 @@ exports.convertToScatterSCProperties = convertToScatterSCProperties;
2767
1937
 
2768
1938
  /***/ }),
2769
1939
 
2770
- /***/ 49:
1940
+ /***/ 48:
2771
1941
  /***/ (function(module, exports, __webpack_require__) {
2772
1942
 
2773
1943
  "use strict";
@@ -2779,7 +1949,7 @@ Object.defineProperty(exports, "__esModule", {
2779
1949
 
2780
1950
  /***/ }),
2781
1951
 
2782
- /***/ 50:
1952
+ /***/ 49:
2783
1953
  /***/ (function(module, exports, __webpack_require__) {
2784
1954
 
2785
1955
  "use strict";
@@ -2791,19 +1961,14 @@ Object.defineProperty(exports, "__esModule", {
2791
1961
 
2792
1962
  /***/ }),
2793
1963
 
2794
- /***/ 51:
2795
- /***/ (function(module, exports, __webpack_require__) {
2796
-
2797
- "use strict";
2798
-
1964
+ /***/ 5:
1965
+ /***/ (function(module, exports) {
2799
1966
 
2800
- Object.defineProperty(exports, "__esModule", {
2801
- value: true
2802
- });
1967
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
2803
1968
 
2804
1969
  /***/ }),
2805
1970
 
2806
- /***/ 52:
1971
+ /***/ 50:
2807
1972
  /***/ (function(module, exports, __webpack_require__) {
2808
1973
 
2809
1974
  "use strict";
@@ -2815,7 +1980,7 @@ Object.defineProperty(exports, "__esModule", {
2815
1980
 
2816
1981
  /***/ }),
2817
1982
 
2818
- /***/ 53:
1983
+ /***/ 51:
2819
1984
  /***/ (function(module, exports, __webpack_require__) {
2820
1985
 
2821
1986
  "use strict";
@@ -2827,7 +1992,7 @@ Object.defineProperty(exports, "__esModule", {
2827
1992
 
2828
1993
  /***/ }),
2829
1994
 
2830
- /***/ 54:
1995
+ /***/ 52:
2831
1996
  /***/ (function(module, exports, __webpack_require__) {
2832
1997
 
2833
1998
  "use strict";
@@ -2839,7 +2004,7 @@ Object.defineProperty(exports, "__esModule", {
2839
2004
 
2840
2005
  /***/ }),
2841
2006
 
2842
- /***/ 55:
2007
+ /***/ 53:
2843
2008
  /***/ (function(module, exports, __webpack_require__) {
2844
2009
 
2845
2010
  "use strict";
@@ -2851,65 +2016,65 @@ Object.defineProperty(exports, "__esModule", {
2851
2016
 
2852
2017
  /***/ }),
2853
2018
 
2854
- /***/ 56:
2019
+ /***/ 54:
2855
2020
  /***/ (function(module, exports, __webpack_require__) {
2856
2021
 
2857
2022
  "use strict";
2858
2023
 
2859
2024
 
2860
- var _slicedToArray = __webpack_require__(7);
2025
+ var _slicedToArray = __webpack_require__(5);
2861
2026
 
2862
2027
  Object.defineProperty(exports, "__esModule", {
2863
2028
  value: true
2864
2029
  });
2865
2030
 
2866
- var React = __webpack_require__(0);
2031
+ var React = __webpack_require__(1);
2867
2032
 
2868
- var lodash_1 = __webpack_require__(3);
2033
+ var lodash_1 = __webpack_require__(2);
2869
2034
 
2870
- var getSettingsFromThemedProps_1 = __webpack_require__(57);
2035
+ var getSettingsFromThemedProps_1 = __webpack_require__(55);
2871
2036
 
2872
2037
  var Options_1 = __webpack_require__(16);
2873
2038
 
2874
- var SanitizeProps_1 = __webpack_require__(58);
2039
+ var SanitizeProps_1 = __webpack_require__(56);
2875
2040
 
2876
- var TimezoneContext_1 = __webpack_require__(32);
2041
+ var TimezoneContext_1 = __webpack_require__(31);
2877
2042
 
2878
- var moment_1 = __webpack_require__(59);
2043
+ var moment_1 = __webpack_require__(57);
2879
2044
 
2880
- var FeatureFlagContext_1 = __webpack_require__(28);
2045
+ var FeatureFlagContext_1 = __webpack_require__(27);
2881
2046
 
2882
2047
  var styled_components_1 = __webpack_require__(4);
2883
2048
 
2884
- var hocUtils_1 = __webpack_require__(34);
2049
+ var hocUtils_1 = __webpack_require__(33);
2885
2050
 
2886
- var JSONSchemaUtils_1 = __webpack_require__(35);
2051
+ var JSONSchemaUtils_1 = __webpack_require__(34);
2887
2052
 
2888
- var async_dynamic_options_evaluator_1 = __webpack_require__(60);
2053
+ var async_dynamic_options_evaluator_1 = __webpack_require__(58);
2889
2054
 
2890
- var id_1 = __webpack_require__(31);
2055
+ var id_1 = __webpack_require__(30);
2891
2056
 
2892
- var SplunkVisualization_1 = __webpack_require__(61);
2057
+ var SplunkVisualization_1 = __webpack_require__(59);
2893
2058
 
2894
- var VizBehavior_1 = __webpack_require__(6);
2059
+ var VizBehavior_1 = __webpack_require__(7);
2895
2060
 
2896
- var getSorting_1 = __webpack_require__(38);
2061
+ var getSorting_1 = __webpack_require__(37);
2897
2062
 
2898
- var getPagination_1 = __webpack_require__(39);
2063
+ var getPagination_1 = __webpack_require__(38);
2899
2064
 
2900
- var useDeepMemo_1 = __webpack_require__(62);
2065
+ var useDeepMemo_1 = __webpack_require__(60);
2901
2066
 
2902
- var MissingPropsMessage_1 = __webpack_require__(63);
2067
+ var MissingPropsMessage_1 = __webpack_require__(61);
2903
2068
 
2904
- var withEditModeCover_1 = __webpack_require__(64);
2069
+ var withEditModeCover_1 = __webpack_require__(62);
2905
2070
 
2906
- var withPlaceholder_1 = __webpack_require__(65);
2071
+ var withPlaceholder_1 = __webpack_require__(63);
2907
2072
 
2908
- var useDownsampleDataSources_1 = __webpack_require__(66);
2073
+ var useDownsampleDataSources_1 = __webpack_require__(64);
2909
2074
 
2910
2075
  var dataUtils_1 = __webpack_require__(14);
2911
2076
 
2912
- var featureFlagUtils_1 = __webpack_require__(68);
2077
+ var featureFlagUtils_1 = __webpack_require__(66);
2913
2078
  /**
2914
2079
  * hoc that wraps a pure react visualization in a Dashboard visualization
2915
2080
  * @param {DashboardVizOpts} opts
@@ -3242,81 +2407,41 @@ exports.default = withDashboardViz;
3242
2407
 
3243
2408
  /***/ }),
3244
2409
 
3245
- /***/ 57:
2410
+ /***/ 55:
3246
2411
  /***/ (function(module, exports) {
3247
2412
 
3248
2413
  module.exports = require("@splunk/themes/getSettingsFromThemedProps");
3249
2414
 
3250
2415
  /***/ }),
3251
2416
 
3252
- /***/ 58:
2417
+ /***/ 56:
3253
2418
  /***/ (function(module, exports) {
3254
2419
 
3255
2420
  module.exports = require("@splunk/visualizations-shared/SanitizeProps");
3256
2421
 
3257
2422
  /***/ }),
3258
2423
 
3259
- /***/ 59:
2424
+ /***/ 57:
3260
2425
  /***/ (function(module, exports) {
3261
2426
 
3262
2427
  module.exports = require("@splunk/moment");
3263
2428
 
3264
2429
  /***/ }),
3265
2430
 
3266
- /***/ 6:
3267
- /***/ (function(module, exports, __webpack_require__) {
3268
-
3269
- "use strict";
3270
-
3271
-
3272
- Object.defineProperty(exports, "__esModule", {
3273
- value: true
3274
- });
3275
- exports.VizBehavior = void 0;
3276
- var VizBehavior;
3277
-
3278
- (function (VizBehavior) {
3279
- /**
3280
- * Dynamic Options Behavior.
3281
- * This allows visualization options to be powered by data
3282
- *
3283
- * **Example**
3284
- *
3285
- * sparklineValues: ">primary|seriesByIndex(0)"
3286
- * would configure sparklineValues with an array of data points
3287
- * coming from the first series in the primary datasource
3288
- *
3289
- */
3290
- VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
3291
- VizBehavior["EVENTS"] = "events";
3292
- VizBehavior["DOWNSAMPLING"] = "downsampling";
3293
- /**
3294
- * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
3295
- * missing.
3296
- * @type {string}
3297
- */
3298
-
3299
- VizBehavior["PLACEHOLDER"] = "placeholder";
3300
- VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
3301
- VizBehavior["TRELLIS"] = "trellis";
3302
- })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
3303
-
3304
- /***/ }),
3305
-
3306
- /***/ 60:
2431
+ /***/ 58:
3307
2432
  /***/ (function(module, exports) {
3308
2433
 
3309
2434
  module.exports = require("@splunk/async-dynamic-options-evaluator");
3310
2435
 
3311
2436
  /***/ }),
3312
2437
 
3313
- /***/ 61:
2438
+ /***/ 59:
3314
2439
  /***/ (function(module, exports, __webpack_require__) {
3315
2440
 
3316
2441
  "use strict";
3317
2442
 
3318
2443
 
3319
- var _classCallCheck = __webpack_require__(10);
2444
+ var _classCallCheck = __webpack_require__(8);
3320
2445
 
3321
2446
  Object.defineProperty(exports, "__esModule", {
3322
2447
  value: true
@@ -3324,9 +2449,9 @@ Object.defineProperty(exports, "__esModule", {
3324
2449
  exports.INITIAL_HEIGHT = exports.INITIAL_WIDTH = void 0;
3325
2450
  /* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */
3326
2451
 
3327
- var T = __webpack_require__(1);
2452
+ var T = __webpack_require__(0);
3328
2453
 
3329
- var lodash_1 = __webpack_require__(3);
2454
+ var lodash_1 = __webpack_require__(2);
3330
2455
 
3331
2456
  var VizActionHandler_1 = __webpack_require__(21); // this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations
3332
2457
 
@@ -3462,7 +2587,14 @@ exports.default = SplunkVisualization;
3462
2587
 
3463
2588
  /***/ }),
3464
2589
 
3465
- /***/ 62:
2590
+ /***/ 6:
2591
+ /***/ (function(module, exports) {
2592
+
2593
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
2594
+
2595
+ /***/ }),
2596
+
2597
+ /***/ 60:
3466
2598
  /***/ (function(module, exports, __webpack_require__) {
3467
2599
 
3468
2600
  "use strict";
@@ -3473,9 +2605,9 @@ Object.defineProperty(exports, "__esModule", {
3473
2605
  });
3474
2606
  exports.useDeepMemo = void 0;
3475
2607
 
3476
- var react_1 = __webpack_require__(0);
2608
+ var react_1 = __webpack_require__(1);
3477
2609
 
3478
- var lodash_1 = __webpack_require__(3);
2610
+ var lodash_1 = __webpack_require__(2);
3479
2611
  /**
3480
2612
  * This hook evaluates and stores the result of a passed function and only
3481
2613
  * re-evaluates the function when passed dependencies change.
@@ -3508,7 +2640,7 @@ exports.useDeepMemo = useDeepMemo;
3508
2640
 
3509
2641
  /***/ }),
3510
2642
 
3511
- /***/ 63:
2643
+ /***/ 61:
3512
2644
  /***/ (function(module, exports, __webpack_require__) {
3513
2645
 
3514
2646
  "use strict";
@@ -3519,13 +2651,13 @@ Object.defineProperty(exports, "__esModule", {
3519
2651
  });
3520
2652
  exports.MissingPropsMessage = exports.missingKeys = exports.isMissing = void 0;
3521
2653
 
3522
- var React = __webpack_require__(0);
2654
+ var React = __webpack_require__(1);
3523
2655
 
3524
- var T = __webpack_require__(1);
2656
+ var T = __webpack_require__(0);
3525
2657
 
3526
- var i18n_1 = __webpack_require__(2);
2658
+ var i18n_1 = __webpack_require__(3);
3527
2659
 
3528
- var Message_1 = __webpack_require__(12);
2660
+ var Message_1 = __webpack_require__(11);
3529
2661
 
3530
2662
  var FixedSizeContainer_1 = __webpack_require__(17);
3531
2663
  /**
@@ -3589,7 +2721,7 @@ exports.default = (0, FixedSizeContainer_1.default)(exports.MissingPropsMessage)
3589
2721
 
3590
2722
  /***/ }),
3591
2723
 
3592
- /***/ 64:
2724
+ /***/ 62:
3593
2725
  /***/ (function(module, exports, __webpack_require__) {
3594
2726
 
3595
2727
  "use strict";
@@ -3599,7 +2731,7 @@ Object.defineProperty(exports, "__esModule", {
3599
2731
  value: true
3600
2732
  });
3601
2733
 
3602
- var React = __webpack_require__(0);
2734
+ var React = __webpack_require__(1);
3603
2735
 
3604
2736
  var styled_components_1 = __webpack_require__(4);
3605
2737
 
@@ -3610,7 +2742,7 @@ var Cover = styled_components_1.default.div.withConfig({
3610
2742
  componentId: "sc-1gsbnxb-0"
3611
2743
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
3612
2744
  var Blocker = styled_components_1.default.div.attrs({
3613
- 'data-splunk-visualization-version': "26.2.1 - 714383dbb"
2745
+ 'data-splunk-visualization-version': "26.4.0 - 04078274d"
3614
2746
  }).withConfig({
3615
2747
  displayName: "withEditModeCover__Blocker",
3616
2748
  componentId: "sc-1gsbnxb-1"
@@ -3642,7 +2774,7 @@ exports.default = withEditModeCover;
3642
2774
 
3643
2775
  /***/ }),
3644
2776
 
3645
- /***/ 65:
2777
+ /***/ 63:
3646
2778
  /***/ (function(module, exports, __webpack_require__) {
3647
2779
 
3648
2780
  "use strict";
@@ -3652,15 +2784,15 @@ Object.defineProperty(exports, "__esModule", {
3652
2784
  value: true
3653
2785
  });
3654
2786
 
3655
- var React = __webpack_require__(0);
2787
+ var React = __webpack_require__(1);
3656
2788
 
3657
2789
  var colorUtils_1 = __webpack_require__(15);
3658
2790
 
3659
2791
  var variables_1 = __webpack_require__(13);
3660
2792
 
3661
- var IconPlaceholder_1 = __webpack_require__(37);
2793
+ var IconPlaceholder_1 = __webpack_require__(36);
3662
2794
 
3663
- var VizBehavior_1 = __webpack_require__(6);
2795
+ var VizBehavior_1 = __webpack_require__(7);
3664
2796
 
3665
2797
  var hocUtils_1 = __webpack_require__(23);
3666
2798
 
@@ -3707,27 +2839,30 @@ exports.default = withPlaceholder;
3707
2839
 
3708
2840
  /***/ }),
3709
2841
 
3710
- /***/ 66:
2842
+ /***/ 64:
3711
2843
  /***/ (function(module, exports, __webpack_require__) {
3712
2844
 
3713
2845
  "use strict";
3714
2846
 
3715
2847
 
3716
- var _slicedToArray = __webpack_require__(7);
2848
+ var _slicedToArray = __webpack_require__(5);
3717
2849
 
3718
2850
  Object.defineProperty(exports, "__esModule", {
3719
2851
  value: true
3720
2852
  });
3721
2853
 
3722
- var react_1 = __webpack_require__(0);
2854
+ var react_1 = __webpack_require__(1);
3723
2855
 
3724
- var lodash_1 = __webpack_require__(3);
2856
+ var lodash_1 = __webpack_require__(2);
3725
2857
 
3726
2858
  var dataUtils_1 = __webpack_require__(14);
3727
2859
 
3728
- var usePrevious_1 = __webpack_require__(33);
2860
+ var usePrevious_1 = __webpack_require__(32);
2861
+
2862
+ var useGetXAndYFields_1 = __webpack_require__(65); // Options properties which impact/require re-downsample on change.
3729
2863
 
3730
- var useGetXAndYFields_1 = __webpack_require__(67);
2864
+
2865
+ var downsampleVizOptionProperties = ['nullValueDisplay'];
3731
2866
 
3732
2867
  var useDownsampleDataSources = function useDownsampleDataSources(_ref) {
3733
2868
  var dataSources = _ref.dataSources,
@@ -3741,8 +2876,15 @@ var useDownsampleDataSources = function useDownsampleDataSources(_ref) {
3741
2876
  options: options,
3742
2877
  context: context,
3743
2878
  dataSources: dataSources
3744
- });
3745
- var previousXAndYFieldsWithTypes = (0, usePrevious_1.default)(xAndYFieldsWithTypes);
2879
+ }); // Extract viz options that impact downsampling.
2880
+
2881
+ var downsampleVizOptions = (0, react_1.useMemo)(function () {
2882
+ return (0, lodash_1.pick)(options, downsampleVizOptionProperties);
2883
+ }, [options]);
2884
+ var downsampleDSOptions = (0, react_1.useMemo)(function () {
2885
+ return Object.assign(Object.assign({}, downsampleVizOptions), xAndYFieldsWithTypes);
2886
+ }, [xAndYFieldsWithTypes, downsampleVizOptions]);
2887
+ var previousDownsampleDSOptions = (0, usePrevious_1.default)(downsampleDSOptions);
3746
2888
  var previousDataSources = (0, usePrevious_1.default)(dataSources);
3747
2889
  var previousThreshold = (0, usePrevious_1.default)(threshold);
3748
2890
 
@@ -3750,7 +2892,7 @@ var useDownsampleDataSources = function useDownsampleDataSources(_ref) {
3750
2892
  return isDownsamplingEnabled ? (0, dataUtils_1.downsampleDataSources)({
3751
2893
  dataSources: dataSources,
3752
2894
  threshold: threshold,
3753
- options: xAndYFieldsWithTypes
2895
+ options: downsampleDSOptions
3754
2896
  }) : dataSources;
3755
2897
  }),
3756
2898
  _ref3 = _slicedToArray(_ref2, 2),
@@ -3778,7 +2920,7 @@ var useDownsampleDataSources = function useDownsampleDataSources(_ref) {
3778
2920
  return;
3779
2921
  }
3780
2922
 
3781
- if ((0, lodash_1.isEqual)(previousXAndYFieldsWithTypes, xAndYFieldsWithTypes) && previousDataSources === dataSources && previousThreshold === threshold) {
2923
+ if ((0, lodash_1.isEqual)(previousDownsampleDSOptions, downsampleDSOptions) && previousDataSources === dataSources && previousThreshold === threshold) {
3782
2924
  return;
3783
2925
  } // Debounce the downsampling so we don't have to downsample and execute DSL multiple times
3784
2926
  // while the viz is being resized
@@ -3786,10 +2928,10 @@ var useDownsampleDataSources = function useDownsampleDataSources(_ref) {
3786
2928
 
3787
2929
  debouncedDownsampleDataSources({
3788
2930
  dataSources: dataSources,
3789
- options: xAndYFieldsWithTypes,
2931
+ options: downsampleDSOptions,
3790
2932
  threshold: threshold
3791
2933
  }); // need to detect if this runs as part of the initial render
3792
- }, [dataSources, debouncedDownsampleDataSources, xAndYFieldsWithTypes, threshold, isDownsamplingEnabled, previousXAndYFieldsWithTypes, previousDataSources, previousThreshold]);
2934
+ }, [dataSources, downsampleDSOptions, debouncedDownsampleDataSources, xAndYFieldsWithTypes, threshold, isDownsamplingEnabled, previousDataSources, previousThreshold, previousDownsampleDSOptions]);
3793
2935
  return downsampledDataSources;
3794
2936
  };
3795
2937
 
@@ -3797,19 +2939,19 @@ exports.default = useDownsampleDataSources;
3797
2939
 
3798
2940
  /***/ }),
3799
2941
 
3800
- /***/ 67:
2942
+ /***/ 65:
3801
2943
  /***/ (function(module, exports, __webpack_require__) {
3802
2944
 
3803
2945
  "use strict";
3804
2946
 
3805
2947
 
3806
- var _toConsumableArray = __webpack_require__(8);
2948
+ var _toConsumableArray = __webpack_require__(6);
3807
2949
 
3808
2950
  Object.defineProperty(exports, "__esModule", {
3809
2951
  value: true
3810
2952
  });
3811
2953
 
3812
- var react_1 = __webpack_require__(0);
2954
+ var react_1 = __webpack_require__(1);
3813
2955
 
3814
2956
  var Options_1 = __webpack_require__(16);
3815
2957
  /**
@@ -3912,7 +3054,7 @@ exports.default = useGetXAndYFields;
3912
3054
 
3913
3055
  /***/ }),
3914
3056
 
3915
- /***/ 68:
3057
+ /***/ 66:
3916
3058
  /***/ (function(module, exports, __webpack_require__) {
3917
3059
 
3918
3060
  "use strict";
@@ -3923,7 +3065,7 @@ Object.defineProperty(exports, "__esModule", {
3923
3065
  });
3924
3066
  exports.getFeatureFlag = void 0;
3925
3067
 
3926
- var FeatureFlags_1 = __webpack_require__(69);
3068
+ var FeatureFlags_1 = __webpack_require__(67);
3927
3069
 
3928
3070
  var getFeatureFlag = function getFeatureFlag(context, flagName) {
3929
3071
  // look for feature flag in context first
@@ -3948,7 +3090,7 @@ exports.getFeatureFlag = getFeatureFlag;
3948
3090
 
3949
3091
  /***/ }),
3950
3092
 
3951
- /***/ 69:
3093
+ /***/ 67:
3952
3094
  /***/ (function(module, exports) {
3953
3095
 
3954
3096
  module.exports = require("@splunk/visualization-context/FeatureFlags");
@@ -3956,34 +3098,60 @@ module.exports = require("@splunk/visualization-context/FeatureFlags");
3956
3098
  /***/ }),
3957
3099
 
3958
3100
  /***/ 7:
3959
- /***/ (function(module, exports) {
3101
+ /***/ (function(module, exports, __webpack_require__) {
3960
3102
 
3961
- module.exports = require("@babel/runtime/helpers/slicedToArray");
3103
+ "use strict";
3962
3104
 
3963
- /***/ }),
3964
3105
 
3965
- /***/ 72:
3966
- /***/ (function(module, exports) {
3106
+ Object.defineProperty(exports, "__esModule", {
3107
+ value: true
3108
+ });
3109
+ exports.VizBehavior = void 0;
3110
+ var VizBehavior;
3967
3111
 
3968
- module.exports = require("@splunk/visualization-icons/placeholders");
3112
+ (function (VizBehavior) {
3113
+ /**
3114
+ * Dynamic Options Behavior.
3115
+ * This allows visualization options to be powered by data
3116
+ *
3117
+ * **Example**
3118
+ *
3119
+ * sparklineValues: ">primary|seriesByIndex(0)"
3120
+ * would configure sparklineValues with an array of data points
3121
+ * coming from the first series in the primary datasource
3122
+ *
3123
+ */
3124
+ VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
3125
+ VizBehavior["EVENTS"] = "events";
3126
+ VizBehavior["DOWNSAMPLING"] = "downsampling";
3127
+ /**
3128
+ * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
3129
+ * missing.
3130
+ * @type {string}
3131
+ */
3132
+
3133
+ VizBehavior["PLACEHOLDER"] = "placeholder";
3134
+ VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
3135
+ VizBehavior["TRELLIS"] = "trellis";
3136
+ })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
3969
3137
 
3970
3138
  /***/ }),
3971
3139
 
3972
- /***/ 73:
3140
+ /***/ 70:
3973
3141
  /***/ (function(module, exports) {
3974
3142
 
3975
- module.exports = require("@splunk/visualization-color-palettes");
3143
+ module.exports = require("@splunk/visualization-icons/placeholders");
3976
3144
 
3977
3145
  /***/ }),
3978
3146
 
3979
- /***/ 74:
3147
+ /***/ 71:
3980
3148
  /***/ (function(module, exports) {
3981
3149
 
3982
3150
  module.exports = require("@splunk/visualization-icons");
3983
3151
 
3984
3152
  /***/ }),
3985
3153
 
3986
- /***/ 75:
3154
+ /***/ 72:
3987
3155
  /***/ (function(module, exports, __webpack_require__) {
3988
3156
 
3989
3157
  "use strict";
@@ -3993,14 +3161,14 @@ Object.defineProperty(exports, "__esModule", {
3993
3161
  value: true
3994
3162
  });
3995
3163
 
3996
- var i18n_1 = __webpack_require__(2);
3164
+ var i18n_1 = __webpack_require__(3);
3997
3165
 
3998
3166
  var background = function background(_ref) {
3999
3167
  var label = _ref.label,
4000
3168
  themes = _ref.themes,
4001
3169
  labelPosition = _ref.labelPosition;
4002
3170
  return [{
4003
- label: (0, i18n_1._)(label || 'Background'),
3171
+ label: (0, i18n_1._)(label || 'Background color'),
4004
3172
  option: 'backgroundColor',
4005
3173
  editor: 'editor.color',
4006
3174
  editorProps: {
@@ -4014,27 +3182,34 @@ exports.default = background;
4014
3182
 
4015
3183
  /***/ }),
4016
3184
 
4017
- /***/ 77:
3185
+ /***/ 74:
3186
+ /***/ (function(module, exports) {
3187
+
3188
+ module.exports = require("@splunk/visualization-color-palettes");
3189
+
3190
+ /***/ }),
3191
+
3192
+ /***/ 75:
4018
3193
  /***/ (function(module, exports) {
4019
3194
 
4020
3195
  module.exports = require("@splunk/charting-bundle");
4021
3196
 
4022
3197
  /***/ }),
4023
3198
 
4024
- /***/ 78:
3199
+ /***/ 76:
4025
3200
  /***/ (function(module, exports) {
4026
3201
 
4027
3202
  module.exports = require("@splunk/themes/useSplunkTheme");
4028
3203
 
4029
3204
  /***/ }),
4030
3205
 
4031
- /***/ 79:
3206
+ /***/ 77:
4032
3207
  /***/ (function(module, exports, __webpack_require__) {
4033
3208
 
4034
3209
  "use strict";
4035
3210
 
4036
3211
 
4037
- var _toConsumableArray = __webpack_require__(8);
3212
+ var _toConsumableArray = __webpack_require__(6);
4038
3213
 
4039
3214
  var __rest = this && this.__rest || function (s, e) {
4040
3215
  var t = {};
@@ -4054,7 +3229,7 @@ Object.defineProperty(exports, "__esModule", {
4054
3229
  });
4055
3230
  exports.shouldEnableSearchZoom = exports.constructFieldsAndColumns = exports.toArrayForSeries = exports.isMultiSeriesData = exports.convertOverlayFields = exports.convertY2AxisOptions = exports.mapToValues = exports.truncateData = exports.getAnnotations = void 0;
4056
3231
 
4057
- var lodash_1 = __webpack_require__(3);
3232
+ var lodash_1 = __webpack_require__(2);
4058
3233
  /**
4059
3234
  * Get formatted annotations
4060
3235
  * @method getAnnotations
@@ -4269,11 +3444,11 @@ exports.shouldEnableSearchZoom = shouldEnableSearchZoom;
4269
3444
  /***/ 8:
4270
3445
  /***/ (function(module, exports) {
4271
3446
 
4272
- module.exports = require("@babel/runtime/helpers/toConsumableArray");
3447
+ module.exports = require("@babel/runtime/helpers/classCallCheck");
4273
3448
 
4274
3449
  /***/ }),
4275
3450
 
4276
- /***/ 87:
3451
+ /***/ 84:
4277
3452
  /***/ (function(module, exports, __webpack_require__) {
4278
3453
 
4279
3454
  "use strict";
@@ -4285,42 +3460,42 @@ Object.defineProperty(exports, "__esModule", {
4285
3460
  exports.updateRowPayload = exports.canUpdateInPlace = exports.changedOptions = exports.NO_INPLACE_PROPS = void 0;
4286
3461
  /* eslint-disable react/no-unused-prop-types */
4287
3462
 
4288
- var lodash_1 = __webpack_require__(3);
3463
+ var lodash_1 = __webpack_require__(2);
4289
3464
 
4290
- var i18n_1 = __webpack_require__(2);
3465
+ var i18n_1 = __webpack_require__(3);
4291
3466
 
4292
- var visualization_color_palettes_1 = __webpack_require__(73);
3467
+ var visualization_color_palettes_1 = __webpack_require__(74);
4293
3468
 
4294
- var react_1 = __webpack_require__(0);
3469
+ var react_1 = __webpack_require__(1);
4295
3470
 
4296
- var React = __webpack_require__(0);
3471
+ var React = __webpack_require__(1);
4297
3472
 
4298
- var T = __webpack_require__(1);
3473
+ var T = __webpack_require__(0);
4299
3474
 
4300
- var react_event_listener_1 = __webpack_require__(88);
3475
+ var react_event_listener_1 = __webpack_require__(85);
4301
3476
 
4302
- __webpack_require__(89); // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions
3477
+ __webpack_require__(86); // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions
4303
3478
 
4304
3479
 
4305
- var charting_bundle_1 = __webpack_require__(77);
3480
+ var charting_bundle_1 = __webpack_require__(75);
4306
3481
 
4307
- var TimezoneContext_1 = __webpack_require__(32);
3482
+ var TimezoneContext_1 = __webpack_require__(31);
4308
3483
 
4309
3484
  var style_1 = __webpack_require__(18);
4310
3485
 
4311
3486
  var styled_components_1 = __webpack_require__(4);
4312
3487
 
4313
- var Message_1 = __webpack_require__(12);
3488
+ var Message_1 = __webpack_require__(11);
4314
3489
 
4315
- var useSplunkTheme_1 = __webpack_require__(78);
3490
+ var useSplunkTheme_1 = __webpack_require__(76);
4316
3491
 
4317
- var themeUtils_1 = __webpack_require__(90);
3492
+ var themeUtils_1 = __webpack_require__(87);
4318
3493
 
4319
- var ChartingApi_1 = __webpack_require__(91);
3494
+ var ChartingApi_1 = __webpack_require__(88);
4320
3495
 
4321
- var usePrevious_1 = __webpack_require__(33);
3496
+ var usePrevious_1 = __webpack_require__(32);
4322
3497
 
4323
- var useEventCallback_1 = __webpack_require__(92);
3498
+ var useEventCallback_1 = __webpack_require__(89);
4324
3499
 
4325
3500
  var dataUtils_1 = __webpack_require__(14);
4326
3501
 
@@ -4447,8 +3622,7 @@ var Charting = function Charting(props) {
4447
3622
  onEventTrigger = props.onEventTrigger,
4448
3623
  originalDataSources = props.originalDataSources,
4449
3624
  onDownsamplingThresholdChange = props.onDownsamplingThresholdChange,
4450
- xField = props.xField,
4451
- y2Fields = props.y2Fields;
3625
+ xField = props.xField;
4452
3626
  var prevOptions = (0, usePrevious_1.default)(options);
4453
3627
  var prevTimezone = (0, usePrevious_1.default)(timezone);
4454
3628
 
@@ -4491,14 +3665,13 @@ var Charting = function Charting(props) {
4491
3665
  dataSources: originalDataSources,
4492
3666
  width: Number(width),
4493
3667
  selectChartEvent: selectChartEvent.current,
4494
- xField: xField,
4495
- y2Fields: y2Fields
3668
+ xField: xField
4496
3669
  });
4497
3670
 
4498
3671
  if (Number.isFinite(newThreshold)) {
4499
3672
  onDownsamplingThresholdChange(newThreshold);
4500
3673
  }
4501
- }, [enableSearchZoom, originalDataSources, onDownsamplingThresholdChange, width, xField, y2Fields]);
3674
+ }, [enableSearchZoom, originalDataSources, onDownsamplingThresholdChange, width, xField]);
4502
3675
  React.useEffect(function () {
4503
3676
  recalculateDownsamplingThreshold();
4504
3677
  }, [recalculateDownsamplingThreshold]); // useEventCallback is used for these handlers to make sure that they are a stable reference and
@@ -4737,43 +3910,36 @@ exports.default = withEmptyChartMessage(Charting);
4737
3910
 
4738
3911
  /***/ }),
4739
3912
 
4740
- /***/ 88:
3913
+ /***/ 85:
4741
3914
  /***/ (function(module, exports) {
4742
3915
 
4743
3916
  module.exports = require("react-event-listener");
4744
3917
 
4745
3918
  /***/ }),
4746
3919
 
4747
- /***/ 89:
3920
+ /***/ 86:
4748
3921
  /***/ (function(module, exports) {
4749
3922
 
4750
3923
  module.exports = require("@splunk/visualizations-shared/i18n");
4751
3924
 
4752
3925
  /***/ }),
4753
3926
 
4754
- /***/ 9:
4755
- /***/ (function(module, exports) {
4756
-
4757
- module.exports = require("@babel/runtime/helpers/defineProperty");
4758
-
4759
- /***/ }),
4760
-
4761
- /***/ 90:
3927
+ /***/ 87:
4762
3928
  /***/ (function(module, exports) {
4763
3929
 
4764
3930
  module.exports = require("@splunk/visualizations-shared/themeUtils");
4765
3931
 
4766
3932
  /***/ }),
4767
3933
 
4768
- /***/ 91:
3934
+ /***/ 88:
4769
3935
  /***/ (function(module, exports, __webpack_require__) {
4770
3936
 
4771
3937
  "use strict";
4772
3938
 
4773
3939
 
4774
- var _classCallCheck = __webpack_require__(10);
3940
+ var _classCallCheck = __webpack_require__(8);
4775
3941
 
4776
- var _createClass = __webpack_require__(25);
3942
+ var _createClass = __webpack_require__(24);
4777
3943
 
4778
3944
  Object.defineProperty(exports, "__esModule", {
4779
3945
  value: true
@@ -4834,7 +4000,7 @@ exports.ChartingApiFunctional = ChartingApiFunctional;
4834
4000
 
4835
4001
  /***/ }),
4836
4002
 
4837
- /***/ 92:
4003
+ /***/ 89:
4838
4004
  /***/ (function(module, exports, __webpack_require__) {
4839
4005
 
4840
4006
  "use strict";
@@ -4844,7 +4010,7 @@ Object.defineProperty(exports, "__esModule", {
4844
4010
  value: true
4845
4011
  });
4846
4012
 
4847
- var react_1 = __webpack_require__(0);
4013
+ var react_1 = __webpack_require__(1);
4848
4014
 
4849
4015
  var useEventCallback = function useEventCallback(fn) {
4850
4016
  var ref = (0, react_1.useRef)(fn);
@@ -4860,29 +4026,36 @@ exports.default = useEventCallback;
4860
4026
 
4861
4027
  /***/ }),
4862
4028
 
4863
- /***/ 93:
4029
+ /***/ 9:
4030
+ /***/ (function(module, exports) {
4031
+
4032
+ module.exports = require("@splunk/visualization-schemas");
4033
+
4034
+ /***/ }),
4035
+
4036
+ /***/ 90:
4864
4037
  /***/ (function(module, exports) {
4865
4038
 
4866
4039
  module.exports = require("@splunk/visualizations-shared/simpleXMLOptions");
4867
4040
 
4868
4041
  /***/ }),
4869
4042
 
4870
- /***/ 97:
4043
+ /***/ 94:
4871
4044
  /***/ (function(module, exports, __webpack_require__) {
4872
4045
 
4873
4046
  "use strict";
4874
4047
 
4875
4048
 
4876
- var _toConsumableArray = __webpack_require__(8);
4049
+ var _toConsumableArray = __webpack_require__(6);
4877
4050
 
4878
4051
  Object.defineProperty(exports, "__esModule", {
4879
4052
  value: true
4880
4053
  });
4881
4054
  exports.AxesChartDataConfigAreaColumnLine = exports.AxesChartDataConfigBubble = exports.AxesChartDataConfigScatter = exports.AxesChartDataConfigBar = void 0;
4882
4055
 
4883
- var i18n_1 = __webpack_require__(2);
4056
+ var i18n_1 = __webpack_require__(3);
4884
4057
 
4885
- var configUtils_1 = __webpack_require__(27);
4058
+ var configUtils_1 = __webpack_require__(26);
4886
4059
 
4887
4060
  var AxesChartDataConfig = {
4888
4061
  label: (0, i18n_1._)('Data configurations'),
@@ -4896,115 +4069,516 @@ var AxesChartDataConfig = {
4896
4069
  expectedDataPrimitive: ['series']
4897
4070
  }
4898
4071
  }], [{
4899
- label: (0, i18n_1._)('Y'),
4900
- option: 'y',
4901
- editor: 'editor.columnMultiSelector',
4072
+ label: (0, i18n_1._)('Y'),
4073
+ option: 'y',
4074
+ editor: 'editor.columnMultiSelector',
4075
+ editorProps: {
4076
+ dataSourceKey: 'primary',
4077
+ filterByTypes: ['number'],
4078
+ supportsDSL: true,
4079
+ expectedDataPrimitive: ['series', 'frame']
4080
+ }
4081
+ }], [{
4082
+ label: (0, i18n_1._)('Result limit'),
4083
+ option: 'resultLimit',
4084
+ editor: 'editor.number',
4085
+ editorProps: {
4086
+ dataSourceKey: 'primary'
4087
+ }
4088
+ }]]
4089
+ };
4090
+ exports.AxesChartDataConfigBar = {
4091
+ label: AxesChartDataConfig.label,
4092
+ // insert Y2 after Y
4093
+ layout: (0, configUtils_1.insertLayout)(AxesChartDataConfig.layout, 2, [{
4094
+ label: (0, i18n_1._)('Y2'),
4095
+ option: 'y2',
4096
+ editor: 'editor.columnMultiSelector',
4097
+ editorProps: {
4098
+ dataSourceKey: 'primary',
4099
+ filterByTypes: ['number'],
4100
+ supportsDSL: true,
4101
+ expectedDataPrimitive: ['series', 'frame']
4102
+ }
4103
+ }])
4104
+ };
4105
+ exports.AxesChartDataConfigScatter = {
4106
+ label: AxesChartDataConfig.label,
4107
+ layout: [[{
4108
+ label: (0, i18n_1._)('X'),
4109
+ option: 'x',
4110
+ editor: 'editor.columnSelector',
4111
+ editorProps: {
4112
+ dataSourceKey: 'primary',
4113
+ supportsDSL: true,
4114
+ expectedDataPrimitive: ['series']
4115
+ }
4116
+ }], [{
4117
+ label: (0, i18n_1._)('Y'),
4118
+ option: 'y',
4119
+ editor: 'editor.columnSelector',
4120
+ editorProps: {
4121
+ dataSourceKey: 'primary',
4122
+ filterByTypes: ['number'],
4123
+ supportsDSL: true,
4124
+ expectedDataPrimitive: ['series']
4125
+ }
4126
+ }], [{
4127
+ label: (0, i18n_1._)('Category'),
4128
+ option: 'category',
4129
+ editor: 'editor.columnSelector',
4130
+ editorProps: {
4131
+ dataSourceKey: 'primary',
4132
+ supportsDSL: true,
4133
+ expectedDataPrimitive: ['series']
4134
+ }
4135
+ }], [{
4136
+ label: (0, i18n_1._)('Result limit'),
4137
+ option: 'resultLimit',
4138
+ editor: 'editor.number',
4139
+ editorProps: {
4140
+ dataSourceKey: 'primary'
4141
+ }
4142
+ }]]
4143
+ };
4144
+ exports.AxesChartDataConfigBubble = {
4145
+ label: exports.AxesChartDataConfigScatter.label,
4146
+ // layout: insert Size after Category
4147
+ layout: (0, configUtils_1.insertLayout)(exports.AxesChartDataConfigScatter.layout, 3, [{
4148
+ label: (0, i18n_1._)('Size'),
4149
+ option: 'size',
4150
+ editor: 'editor.columnSelector',
4151
+ editorProps: {
4152
+ dataSourceKey: 'primary',
4153
+ supportsDSL: true,
4154
+ expectedDataPrimitive: ['series']
4155
+ }
4156
+ }])
4157
+ };
4158
+ exports.AxesChartDataConfigAreaColumnLine = {
4159
+ label: exports.AxesChartDataConfigBar.label,
4160
+ layout: [].concat(_toConsumableArray(exports.AxesChartDataConfigBar.layout), [[{
4161
+ label: (0, i18n_1._)('Annotation x'),
4162
+ option: 'annotationX',
4163
+ editor: 'editor.columnSelector',
4164
+ editorProps: {
4165
+ dataSourceKey: 'annotation',
4166
+ supportsDSL: true,
4167
+ expectedDataPrimitive: ['series']
4168
+ }
4169
+ }], [{
4170
+ label: (0, i18n_1._)('Annotation labels'),
4171
+ option: 'annotationLabel',
4172
+ editor: 'editor.columnSelector',
4173
+ editorProps: {
4174
+ dataSourceKey: 'annotation',
4175
+ supportsDSL: true,
4176
+ expectedDataPrimitive: ['series']
4177
+ }
4178
+ }]])
4179
+ };
4180
+ exports.default = AxesChartDataConfig;
4181
+
4182
+ /***/ }),
4183
+
4184
+ /***/ 95:
4185
+ /***/ (function(module, exports, __webpack_require__) {
4186
+
4187
+ "use strict";
4188
+
4189
+
4190
+ Object.defineProperty(exports, "__esModule", {
4191
+ value: true
4192
+ });
4193
+
4194
+ var i18n_1 = __webpack_require__(3);
4195
+
4196
+ var pick_1 = __webpack_require__(29);
4197
+
4198
+ var variables_1 = __webpack_require__(13);
4199
+
4200
+ var BackgroundColor_1 = __webpack_require__(72);
4201
+
4202
+ var themes = {
4203
+ defaultBackgroundColor: function defaultBackgroundColor(props) {
4204
+ return (0, pick_1.default)({
4205
+ enterprise: {
4206
+ dark: variables_1.default.black(props),
4207
+ light: variables_1.default.backgroundColor(props)
4208
+ },
4209
+ prisma: variables_1.default.backgroundColorSidebar(props)
4210
+ })(props);
4211
+ }
4212
+ };
4213
+ var AxesChartColorAndStyle = {
4214
+ label: (0, i18n_1._)('Color and style'),
4215
+ layout: [(0, BackgroundColor_1.default)({
4216
+ themes: themes
4217
+ }), [{
4218
+ label: (0, i18n_1._)('Series colors'),
4219
+ option: 'seriesColors',
4220
+ editor: 'editor.seriesColors'
4221
+ }], [{
4222
+ label: (0, i18n_1._)('Series colors by field name'),
4223
+ option: 'seriesColorsByField',
4224
+ editor: 'editor.seriesColorsByField'
4225
+ }]]
4226
+ };
4227
+ exports.default = AxesChartColorAndStyle;
4228
+
4229
+ /***/ }),
4230
+
4231
+ /***/ 96:
4232
+ /***/ (function(module, exports, __webpack_require__) {
4233
+
4234
+ "use strict";
4235
+
4236
+
4237
+ Object.defineProperty(exports, "__esModule", {
4238
+ value: true
4239
+ });
4240
+
4241
+ var i18n_1 = __webpack_require__(3);
4242
+
4243
+ var AxesChartLegend = {
4244
+ label: (0, i18n_1._)('Legend'),
4245
+ layout: [[{
4246
+ label: (0, i18n_1._)('Legend display'),
4247
+ option: 'legendDisplay',
4248
+ editor: 'editor.select',
4249
+ editorProps: {
4250
+ values: [{
4251
+ label: (0, i18n_1._)('Right'),
4252
+ value: 'right'
4253
+ }, {
4254
+ label: (0, i18n_1._)('Left'),
4255
+ value: 'left'
4256
+ }, {
4257
+ label: (0, i18n_1._)('Top'),
4258
+ value: 'top'
4259
+ }, {
4260
+ label: (0, i18n_1._)('Bottom'),
4261
+ value: 'bottom'
4262
+ }, {
4263
+ label: (0, i18n_1._)('Off'),
4264
+ value: 'off'
4265
+ }]
4266
+ }
4267
+ }], [{
4268
+ label: (0, i18n_1._)('Legend truncation'),
4269
+ option: 'legendTruncation',
4270
+ editor: 'editor.radioBar',
4271
+ editorProps: {
4272
+ values: [{
4273
+ label: (0, i18n_1._)('A...'),
4274
+ value: 'ellipsisEnd'
4275
+ }, {
4276
+ label: (0, i18n_1._)('A...Z'),
4277
+ value: 'ellipsisMiddle'
4278
+ }, {
4279
+ label: (0, i18n_1._)('...Z'),
4280
+ value: 'ellipsisStart'
4281
+ }, {
4282
+ label: (0, i18n_1._)('Off'),
4283
+ value: 'ellipsisOff'
4284
+ }]
4285
+ },
4286
+ showEditor: function showEditor(_ref) {
4287
+ var options = _ref.options;
4288
+ return options.legendDisplay === 'left' || options.legendDisplay === 'right' || options.legendDisplay === 'top' || options.legendDisplay === 'bottom' || options.legendDisplay === undefined;
4289
+ }
4290
+ }]]
4291
+ };
4292
+ exports.default = AxesChartLegend;
4293
+
4294
+ /***/ }),
4295
+
4296
+ /***/ 97:
4297
+ /***/ (function(module, exports, __webpack_require__) {
4298
+
4299
+ "use strict";
4300
+
4301
+
4302
+ var _toConsumableArray = __webpack_require__(6);
4303
+
4304
+ Object.defineProperty(exports, "__esModule", {
4305
+ value: true
4306
+ });
4307
+ exports.AxesChartXGridAndLabelsBubbleScatter = exports.AxesChartXGridAndLabelsCommon = void 0;
4308
+
4309
+ var i18n_1 = __webpack_require__(3);
4310
+
4311
+ var configUtils_1 = __webpack_require__(26);
4312
+
4313
+ exports.AxesChartXGridAndLabelsCommon = {
4314
+ label: (0, i18n_1._)('X-axis grid and labels'),
4315
+ layout: [[{
4316
+ label: (0, i18n_1._)('Axis title'),
4317
+ option: 'xAxisTitleVisibility',
4318
+ editor: 'editor.toggle'
4319
+ }], [{
4320
+ label: (0, i18n_1._)('Axis title text'),
4321
+ option: 'xAxisTitleText',
4322
+ editor: 'editor.text',
4323
+ showEditor: function showEditor(_ref) {
4324
+ var options = _ref.options;
4325
+ return options.xAxisTitleVisibility === 'show' || options.xAxisTitleVisibility === undefined;
4326
+ }
4327
+ }], [{
4328
+ label: (0, i18n_1._)('Label visibility'),
4329
+ option: 'xAxisLabelVisibility',
4330
+ editor: 'editor.radioBar',
4902
4331
  editorProps: {
4903
- dataSourceKey: 'primary',
4904
- filterByTypes: ['number'],
4905
- supportsDSL: true,
4906
- expectedDataPrimitive: ['series', 'frame']
4332
+ values: [{
4333
+ label: (0, i18n_1._)('Auto'),
4334
+ value: 'auto'
4335
+ }, {
4336
+ label: (0, i18n_1._)('Show'),
4337
+ value: 'show'
4338
+ }, {
4339
+ label: (0, i18n_1._)('Hide'),
4340
+ value: 'hide'
4341
+ }]
4342
+ }
4343
+ }]]
4344
+ };
4345
+ var AxesChartXGridAndLabels = {
4346
+ label: exports.AxesChartXGridAndLabelsCommon.label,
4347
+ layout: [].concat(_toConsumableArray(exports.AxesChartXGridAndLabelsCommon.layout), [[{
4348
+ label: (0, i18n_1._)('Label rotation'),
4349
+ option: 'xAxisLabelRotation',
4350
+ editor: 'editor.select',
4351
+ editorProps: {
4352
+ values: [{
4353
+ label: (0, i18n_1._)('-90'),
4354
+ value: -90
4355
+ }, {
4356
+ label: (0, i18n_1._)('-45'),
4357
+ value: -45
4358
+ }, {
4359
+ label: (0, i18n_1._)('0'),
4360
+ value: 0
4361
+ }, {
4362
+ label: (0, i18n_1._)('45'),
4363
+ value: 45
4364
+ }, {
4365
+ label: (0, i18n_1._)('90'),
4366
+ value: 90
4367
+ }]
4368
+ },
4369
+ showEditor: function showEditor(_ref2) {
4370
+ var options = _ref2.options;
4371
+ return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
4907
4372
  }
4908
4373
  }], [{
4909
- label: (0, i18n_1._)('Result limit'),
4910
- option: 'resultLimit',
4374
+ label: (0, i18n_1._)('Number of time label parts'),
4375
+ option: 'xAxisMaxLabelParts',
4911
4376
  editor: 'editor.number',
4912
4377
  editorProps: {
4913
- dataSourceKey: 'primary'
4378
+ min: 1,
4379
+ max: 3
4380
+ },
4381
+ showEditor: function showEditor(_ref3) {
4382
+ var options = _ref3.options;
4383
+ return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
4914
4384
  }
4915
- }]]
4916
- };
4917
- exports.AxesChartDataConfigBar = {
4918
- label: AxesChartDataConfig.label,
4919
- // insert Y2 after Y
4920
- layout: (0, configUtils_1.insertLayout)(AxesChartDataConfig.layout, 2, [{
4921
- label: (0, i18n_1._)('Y2'),
4922
- option: 'y2',
4923
- editor: 'editor.columnMultiSelector',
4385
+ }], [{
4386
+ label: (0, i18n_1._)('Axis line visibility'),
4387
+ option: 'xAxisLineVisibility',
4388
+ editor: 'editor.checkbox'
4389
+ }], [{
4390
+ label: (0, i18n_1._)('Major gridlines'),
4391
+ option: 'showXMajorGridLines',
4392
+ editor: 'editor.checkbox'
4393
+ }], [{
4394
+ label: (0, i18n_1._)('Major tick visibility'),
4395
+ option: 'xAxisMajorTickVisibility',
4396
+ editor: 'editor.radioBar',
4924
4397
  editorProps: {
4925
- dataSourceKey: 'primary',
4926
- filterByTypes: ['number'],
4927
- supportsDSL: true,
4928
- expectedDataPrimitive: ['series', 'frame']
4398
+ values: [{
4399
+ label: (0, i18n_1._)('Auto'),
4400
+ value: 'auto'
4401
+ }, {
4402
+ label: (0, i18n_1._)('Show'),
4403
+ value: 'show'
4404
+ }, {
4405
+ label: (0, i18n_1._)('Hide'),
4406
+ value: 'hide'
4407
+ }]
4929
4408
  }
4930
- }])
4409
+ }], [{
4410
+ label: (0, i18n_1._)('Major tick size (px)'),
4411
+ option: 'xAxisMajorTickSize',
4412
+ editor: 'editor.slider',
4413
+ editorProps: {
4414
+ min: 0,
4415
+ max: 10,
4416
+ step: 1
4417
+ },
4418
+ showEditor: function showEditor(_ref4) {
4419
+ var options = _ref4.options;
4420
+ return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
4421
+ }
4422
+ }]])
4931
4423
  };
4932
- exports.AxesChartDataConfigScatter = {
4933
- label: AxesChartDataConfig.label,
4934
- layout: [[{
4935
- label: (0, i18n_1._)('X'),
4936
- option: 'x',
4937
- editor: 'editor.columnSelector',
4424
+ exports.AxesChartXGridAndLabelsBubbleScatter = {
4425
+ label: exports.AxesChartXGridAndLabelsCommon.label,
4426
+ layout: [].concat(_toConsumableArray((0, configUtils_1.insertLayout)(exports.AxesChartXGridAndLabelsCommon.layout, 2, [{
4427
+ label: (0, i18n_1._)('Axis scale'),
4428
+ option: 'xAxisScale',
4429
+ editor: 'editor.radioBar',
4938
4430
  editorProps: {
4939
- dataSourceKey: 'primary',
4940
- supportsDSL: true,
4941
- expectedDataPrimitive: ['series']
4431
+ values: [{
4432
+ label: (0, i18n_1._)('Linear'),
4433
+ value: 'linear'
4434
+ }, {
4435
+ label: (0, i18n_1._)('Log'),
4436
+ value: 'log'
4437
+ }]
4942
4438
  }
4943
- }], [{
4944
- label: (0, i18n_1._)('Y'),
4945
- option: 'y',
4946
- editor: 'editor.columnSelector',
4439
+ }])), [[{
4440
+ label: (0, i18n_1._)('Label rotation'),
4441
+ option: 'xAxisLabelRotation',
4442
+ editor: 'editor.select',
4947
4443
  editorProps: {
4948
- dataSourceKey: 'primary',
4949
- filterByTypes: ['number'],
4950
- supportsDSL: true,
4951
- expectedDataPrimitive: ['series']
4444
+ values: [{
4445
+ label: (0, i18n_1._)('-90'),
4446
+ value: -90
4447
+ }, {
4448
+ label: (0, i18n_1._)('-45'),
4449
+ value: -45
4450
+ }, {
4451
+ label: (0, i18n_1._)('0'),
4452
+ value: 0
4453
+ }, {
4454
+ label: (0, i18n_1._)('45'),
4455
+ value: 45
4456
+ }, {
4457
+ label: (0, i18n_1._)('90'),
4458
+ value: 90
4459
+ }]
4460
+ },
4461
+ showEditor: function showEditor(_ref5) {
4462
+ var options = _ref5.options;
4463
+ return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
4952
4464
  }
4953
4465
  }], [{
4954
- label: (0, i18n_1._)('Category'),
4955
- option: 'category',
4956
- editor: 'editor.columnSelector',
4957
- editorProps: {
4958
- dataSourceKey: 'primary',
4959
- supportsDSL: true,
4960
- expectedDataPrimitive: ['series']
4466
+ label: (0, i18n_1._)('Round axis labels'),
4467
+ option: 'showRoundedXAxisLabels',
4468
+ editor: 'editor.checkbox',
4469
+ showEditor: function showEditor(_ref6) {
4470
+ var options = _ref6.options;
4471
+ return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
4961
4472
  }
4962
4473
  }], [{
4963
- label: (0, i18n_1._)('Result limit'),
4964
- option: 'resultLimit',
4965
- editor: 'editor.number',
4474
+ label: (0, i18n_1._)('SI prefix abbreviation for labels'),
4475
+ option: 'xAxisAbbreviation',
4476
+ editor: 'editor.checkbox',
4477
+ showEditor: function showEditor(_ref7) {
4478
+ var options = _ref7.options;
4479
+ return options.xAxisLabelVisibility === 'show' || options.xAxisLabelVisibility === 'auto' || options.xAxisLabelVisibility === undefined;
4480
+ }
4481
+ }], [{
4482
+ label: (0, i18n_1._)('Include zero'),
4483
+ option: 'showXAxisWithZero',
4484
+ editor: 'editor.checkbox'
4485
+ }], [{
4486
+ label: (0, i18n_1._)('Extend to whole grid'),
4487
+ option: 'showXAxisExtendedRange',
4488
+ editor: 'editor.checkbox'
4489
+ }], [{
4490
+ label: (0, i18n_1._)('Minimum axis value'),
4491
+ option: 'xAxisMin',
4492
+ editor: 'editor.number'
4493
+ }, {
4494
+ label: (0, i18n_1._)('Maximum axis value'),
4495
+ option: 'xAxisMax',
4496
+ editor: 'editor.number'
4497
+ }], [{
4498
+ label: (0, i18n_1._)('Axis line visibility'),
4499
+ option: 'xAxisLineVisibility',
4500
+ editor: 'editor.checkbox'
4501
+ }], // this option is disabled for bubble and scatter
4502
+ // [
4503
+ // {
4504
+ // label: _('Major gridlines'),
4505
+ // option: 'showXMajorGridLines',
4506
+ // editor: 'editor.checkbox',
4507
+ // },
4508
+ // ],
4509
+ [{
4510
+ label: (0, i18n_1._)('Major tick visibility'),
4511
+ option: 'xAxisMajorTickVisibility',
4512
+ editor: 'editor.radioBar',
4966
4513
  editorProps: {
4967
- dataSourceKey: 'primary'
4514
+ values: [{
4515
+ label: (0, i18n_1._)('Auto'),
4516
+ value: 'auto'
4517
+ }, {
4518
+ label: (0, i18n_1._)('Show'),
4519
+ value: 'show'
4520
+ }, {
4521
+ label: (0, i18n_1._)('Hide'),
4522
+ value: 'hide'
4523
+ }]
4968
4524
  }
4969
- }]]
4970
- };
4971
- exports.AxesChartDataConfigBubble = {
4972
- label: exports.AxesChartDataConfigScatter.label,
4973
- // layout: insert Size after Category
4974
- layout: (0, configUtils_1.insertLayout)(exports.AxesChartDataConfigScatter.layout, 3, [{
4975
- label: (0, i18n_1._)('Size'),
4976
- option: 'size',
4977
- editor: 'editor.columnSelector',
4525
+ }], [{
4526
+ label: (0, i18n_1._)('Major tick size (px)'),
4527
+ option: 'xAxisMajorTickSize',
4528
+ editor: 'editor.slider',
4978
4529
  editorProps: {
4979
- dataSourceKey: 'primary',
4980
- supportsDSL: true,
4981
- expectedDataPrimitive: ['series']
4530
+ min: 0,
4531
+ max: 10,
4532
+ step: 1
4533
+ },
4534
+ showEditor: function showEditor(_ref8) {
4535
+ var options = _ref8.options;
4536
+ return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
4982
4537
  }
4983
- }])
4984
- };
4985
- exports.AxesChartDataConfigAreaColumnLine = {
4986
- label: exports.AxesChartDataConfigBar.label,
4987
- layout: [].concat(_toConsumableArray(exports.AxesChartDataConfigBar.layout), [[{
4988
- label: (0, i18n_1._)('Annotation x'),
4989
- option: 'annotationX',
4990
- editor: 'editor.columnSelector',
4538
+ }], [{
4539
+ label: (0, i18n_1._)('Major tick interval spacing'),
4540
+ option: 'xAxisMajorTickInterval',
4541
+ editor: 'editor.number',
4542
+ showEditor: function showEditor(_ref9) {
4543
+ var options = _ref9.options;
4544
+ return options.xAxisMajorTickVisibility === 'show' || options.xAxisMajorTickVisibility === 'auto' || options.xAxisMajorTickVisibility === undefined;
4545
+ }
4546
+ }], [{
4547
+ label: (0, i18n_1._)('Minor gridlines'),
4548
+ option: 'showXMinorGridLines',
4549
+ editor: 'editor.checkbox'
4550
+ }], [{
4551
+ label: (0, i18n_1._)('Minor tick visibility'),
4552
+ option: 'xAxisMinorTickVisibility',
4553
+ editor: 'editor.radioBar',
4991
4554
  editorProps: {
4992
- dataSourceKey: 'annotation',
4993
- supportsDSL: true,
4994
- expectedDataPrimitive: ['series']
4555
+ values: [{
4556
+ label: (0, i18n_1._)('Auto'),
4557
+ value: 'auto'
4558
+ }, {
4559
+ label: (0, i18n_1._)('Show'),
4560
+ value: 'show'
4561
+ }, {
4562
+ label: (0, i18n_1._)('Hide'),
4563
+ value: 'hide'
4564
+ }]
4995
4565
  }
4996
4566
  }], [{
4997
- label: (0, i18n_1._)('Annotation labels'),
4998
- option: 'annotationLabel',
4999
- editor: 'editor.columnSelector',
4567
+ label: (0, i18n_1._)('Minor tick size (px)'),
4568
+ option: 'xAxisMinorTickSize',
4569
+ editor: 'editor.slider',
5000
4570
  editorProps: {
5001
- dataSourceKey: 'annotation',
5002
- supportsDSL: true,
5003
- expectedDataPrimitive: ['series']
4571
+ min: 0,
4572
+ max: 10,
4573
+ step: 1
4574
+ },
4575
+ showEditor: function showEditor(_ref10) {
4576
+ var options = _ref10.options;
4577
+ return options.xAxisMinorTickVisibility === 'show' || options.xAxisMinorTickVisibility === 'auto' || options.xAxisMinorTickVisibility === undefined;
5004
4578
  }
5005
4579
  }]])
5006
4580
  };
5007
- exports.default = AxesChartDataConfig;
4581
+ exports.default = AxesChartXGridAndLabels;
5008
4582
 
5009
4583
  /***/ }),
5010
4584
 
@@ -5018,105 +4592,156 @@ Object.defineProperty(exports, "__esModule", {
5018
4592
  value: true
5019
4593
  });
5020
4594
 
5021
- var i18n_1 = __webpack_require__(2);
5022
-
5023
- var pick_1 = __webpack_require__(30);
5024
-
5025
- var variables_1 = __webpack_require__(13);
5026
-
5027
- var BackgroundColor_1 = __webpack_require__(75);
5028
-
5029
- var themes = {
5030
- defaultBackgroundColor: function defaultBackgroundColor(props) {
5031
- return (0, pick_1.default)({
5032
- enterprise: {
5033
- dark: variables_1.default.black(props),
5034
- light: variables_1.default.backgroundColor(props)
5035
- },
5036
- prisma: variables_1.default.backgroundColorSidebar(props)
5037
- })(props);
5038
- }
5039
- };
5040
- var AxesChartColorAndStyle = {
5041
- label: (0, i18n_1._)('Color and style'),
5042
- layout: [(0, BackgroundColor_1.default)({
5043
- themes: themes
5044
- }), [{
5045
- label: (0, i18n_1._)('Series colors'),
5046
- option: 'seriesColors',
5047
- editor: 'editor.seriesColors'
5048
- }], [{
5049
- label: (0, i18n_1._)('Series colors by field name'),
5050
- option: 'seriesColorsByField',
5051
- editor: 'editor.seriesColorsByField'
5052
- }]]
5053
- };
5054
- exports.default = AxesChartColorAndStyle;
5055
-
5056
- /***/ }),
5057
-
5058
- /***/ 99:
5059
- /***/ (function(module, exports, __webpack_require__) {
5060
-
5061
- "use strict";
5062
-
5063
-
5064
- Object.defineProperty(exports, "__esModule", {
5065
- value: true
5066
- });
5067
-
5068
- var i18n_1 = __webpack_require__(2);
4595
+ var i18n_1 = __webpack_require__(3);
5069
4596
 
5070
- var AxesChartLegend = {
5071
- label: (0, i18n_1._)('Legend'),
4597
+ var AxesChartYGridAndLabels = {
4598
+ label: (0, i18n_1._)('Y-axis grid and labels'),
5072
4599
  layout: [[{
5073
- label: (0, i18n_1._)('Legend display'),
5074
- option: 'legendDisplay',
5075
- editor: 'editor.select',
4600
+ label: (0, i18n_1._)('Axis title'),
4601
+ option: 'yAxisTitleVisibility',
4602
+ editor: 'editor.toggle'
4603
+ }], [{
4604
+ label: (0, i18n_1._)('Axis title text'),
4605
+ option: 'yAxisTitleText',
4606
+ editor: 'editor.text',
4607
+ showEditor: function showEditor(_ref) {
4608
+ var options = _ref.options;
4609
+ return options.yAxisTitleVisibility === 'show' || options.yAxisTitleVisibility === undefined;
4610
+ }
4611
+ }], [{
4612
+ label: (0, i18n_1._)('Scale'),
4613
+ option: 'yAxisScale',
4614
+ editor: 'editor.radioBar',
5076
4615
  editorProps: {
5077
4616
  values: [{
5078
- label: (0, i18n_1._)('Right'),
5079
- value: 'right'
5080
- }, {
5081
- label: (0, i18n_1._)('Left'),
5082
- value: 'left'
4617
+ label: (0, i18n_1._)('Linear'),
4618
+ value: 'linear'
5083
4619
  }, {
5084
- label: (0, i18n_1._)('Top'),
5085
- value: 'top'
4620
+ label: (0, i18n_1._)('Log'),
4621
+ value: 'log'
4622
+ }]
4623
+ }
4624
+ }], [{
4625
+ label: (0, i18n_1._)('Label visibility'),
4626
+ option: 'yAxisLabelVisibility',
4627
+ editor: 'editor.radioBar',
4628
+ editorProps: {
4629
+ values: [{
4630
+ label: (0, i18n_1._)('Auto'),
4631
+ value: 'auto'
5086
4632
  }, {
5087
- label: (0, i18n_1._)('Bottom'),
5088
- value: 'bottom'
4633
+ label: (0, i18n_1._)('Show'),
4634
+ value: 'show'
5089
4635
  }, {
5090
- label: (0, i18n_1._)('Off'),
5091
- value: 'off'
4636
+ label: (0, i18n_1._)('Hide'),
4637
+ value: 'hide'
5092
4638
  }]
5093
4639
  }
5094
4640
  }], [{
5095
- label: (0, i18n_1._)('Legend truncation'),
5096
- option: 'legendTruncation',
4641
+ label: (0, i18n_1._)('SI prefix abbreviation for labels'),
4642
+ option: 'yAxisAbbreviation',
4643
+ editor: 'editor.checkbox',
4644
+ showEditor: function showEditor(_ref2) {
4645
+ var options = _ref2.options;
4646
+ return options.yAxisLabelVisibility === 'show' || options.yAxisLabelVisibility === 'auto' || options.yAxisLabelVisibility === undefined;
4647
+ }
4648
+ }], [{
4649
+ label: (0, i18n_1._)('Include zero'),
4650
+ option: 'showYAxisWithZero',
4651
+ editor: 'editor.checkbox'
4652
+ }], [{
4653
+ label: (0, i18n_1._)('Extend to whole grid'),
4654
+ option: 'showYAxisExtendedRange',
4655
+ editor: 'editor.checkbox'
4656
+ }], [{
4657
+ label: (0, i18n_1._)('Minimum axis value'),
4658
+ option: 'yAxisMin',
4659
+ editor: 'editor.number'
4660
+ }, {
4661
+ label: (0, i18n_1._)('Maximum axis value'),
4662
+ option: 'yAxisMax',
4663
+ editor: 'editor.number'
4664
+ }], [{
4665
+ label: (0, i18n_1._)('Axis line visibility'),
4666
+ option: 'yAxisLineVisibility',
4667
+ editor: 'editor.checkbox'
4668
+ }], [{
4669
+ label: (0, i18n_1._)('Major gridlines'),
4670
+ option: 'showYMajorGridLines',
4671
+ editor: 'editor.checkbox'
4672
+ }], [{
4673
+ label: (0, i18n_1._)('Major tick visibility'),
4674
+ option: 'yAxisMajorTickVisibility',
5097
4675
  editor: 'editor.radioBar',
5098
4676
  editorProps: {
5099
4677
  values: [{
5100
- label: (0, i18n_1._)('A...'),
5101
- value: 'ellipsisEnd'
4678
+ label: (0, i18n_1._)('Auto'),
4679
+ value: 'auto'
5102
4680
  }, {
5103
- label: (0, i18n_1._)('A...Z'),
5104
- value: 'ellipsisMiddle'
4681
+ label: (0, i18n_1._)('Show'),
4682
+ value: 'show'
5105
4683
  }, {
5106
- label: (0, i18n_1._)('...Z'),
5107
- value: 'ellipsisStart'
4684
+ label: (0, i18n_1._)('Hide'),
4685
+ value: 'hide'
4686
+ }]
4687
+ }
4688
+ }], [{
4689
+ label: (0, i18n_1._)('Major tick size (px)'),
4690
+ option: 'yAxisMajorTickSize',
4691
+ editor: 'editor.slider',
4692
+ editorProps: {
4693
+ min: 0,
4694
+ max: 10,
4695
+ step: 1
4696
+ },
4697
+ showEditor: function showEditor(_ref3) {
4698
+ var options = _ref3.options;
4699
+ return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
4700
+ }
4701
+ }], [{
4702
+ label: (0, i18n_1._)('Major tick interval spacing'),
4703
+ option: 'yAxisMajorTickInterval',
4704
+ editor: 'editor.number',
4705
+ showEditor: function showEditor(_ref4) {
4706
+ var options = _ref4.options;
4707
+ return options.yAxisMajorTickVisibility === 'show' || options.yAxisMajorTickVisibility === 'auto' || options.yAxisMajorTickVisibility === undefined;
4708
+ }
4709
+ }], [{
4710
+ label: (0, i18n_1._)('Minor gridlines'),
4711
+ option: 'showYMinorGridLines',
4712
+ editor: 'editor.checkbox'
4713
+ }], [{
4714
+ label: (0, i18n_1._)('Minor tick visibility'),
4715
+ option: 'yAxisMinorTickVisibility',
4716
+ editor: 'editor.radioBar',
4717
+ editorProps: {
4718
+ values: [{
4719
+ label: (0, i18n_1._)('Auto'),
4720
+ value: 'auto'
5108
4721
  }, {
5109
- label: (0, i18n_1._)('Off'),
5110
- value: 'ellipsisOff'
4722
+ label: (0, i18n_1._)('Show'),
4723
+ value: 'show'
4724
+ }, {
4725
+ label: (0, i18n_1._)('Hide'),
4726
+ value: 'hide'
5111
4727
  }]
4728
+ }
4729
+ }], [{
4730
+ label: (0, i18n_1._)('Minor tick size (px)'),
4731
+ option: 'yAxisMinorTickSize',
4732
+ editor: 'editor.slider',
4733
+ editorProps: {
4734
+ min: 0,
4735
+ max: 10,
4736
+ step: 1
5112
4737
  },
5113
- showEditor: function showEditor(_ref) {
5114
- var options = _ref.options;
5115
- return options.legendDisplay === 'left' || options.legendDisplay === 'right' || options.legendDisplay === 'top' || options.legendDisplay === 'bottom' || options.legendDisplay === undefined;
4738
+ showEditor: function showEditor(_ref5) {
4739
+ var options = _ref5.options;
4740
+ return options.yAxisMinorTickVisibility === 'show' || options.yAxisMinorTickVisibility === 'auto' || options.yAxisMinorTickVisibility === undefined;
5116
4741
  }
5117
4742
  }]]
5118
4743
  };
5119
- exports.default = AxesChartLegend;
4744
+ exports.default = AxesChartYGridAndLabels;
5120
4745
 
5121
4746
  /***/ })
5122
4747