@splunk/visualizations 26.0.0 → 26.1.1

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 (152) hide show
  1. package/Area.config.js +103 -19
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +646 -243
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +105 -21
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +653 -237
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +95 -21
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +635 -229
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +66 -15
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +589 -211
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +104 -19
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +666 -239
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +83 -18
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +444 -156
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +101 -19
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +792 -322
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +97 -28
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +786 -390
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +63 -19
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +439 -164
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +107 -23
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +841 -456
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +73 -23
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +653 -230
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +244 -99
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1223 -612
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +71 -21
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +477 -202
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +80 -22
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +819 -418
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +73 -19
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +870 -491
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +76 -23
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +643 -233
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +82 -30
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +863 -387
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +86 -20
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +449 -159
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +85 -23
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +895 -349
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +97 -23
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +639 -234
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +95 -25
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1198 -656
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +287 -226
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +93 -23
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +991 -522
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +100 -27
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1185 -624
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +127 -68
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +74 -21
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +827 -329
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +152 -69
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +25 -14
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/DocExampleWithVizSandbox.js +530 -0
  107. package/common/DocExampleWithVizSandbox.js.map +1 -0
  108. package/common/EventsDoc.js +139 -104
  109. package/common/EventsDoc.js.map +1 -1
  110. package/common/GaugeMajorTicks.js +79 -69
  111. package/common/GaugeMajorTicks.js.map +1 -1
  112. package/common/GaugeValueMarker.js +54 -45
  113. package/common/GaugeValueMarker.js.map +1 -1
  114. package/common/OptionsDoc.js +178 -87
  115. package/common/OptionsDoc.js.map +1 -1
  116. package/common/OverviewDoc.js +530 -68
  117. package/common/OverviewDoc.js.map +1 -1
  118. package/common/SplunkVisualization.js +47 -20
  119. package/common/SplunkVisualization.js.map +1 -1
  120. package/common/SplunkVisualizationApi.js +15 -9
  121. package/common/SplunkVisualizationApi.js.map +1 -1
  122. package/common/ThemesDoc.js +57 -44
  123. package/common/ThemesDoc.js.map +1 -1
  124. package/common/chartingUtils.js +52 -20
  125. package/common/chartingUtils.js.map +1 -1
  126. package/common/docUtils.js +139 -7
  127. package/common/docUtils.js.map +1 -1
  128. package/common/gaugeUtils.js +185 -102
  129. package/common/gaugeUtils.js.map +1 -1
  130. package/common/shapeUtils.js +28 -16
  131. package/common/shapeUtils.js.map +1 -1
  132. package/common/utils/configUtils.js +50 -15
  133. package/common/utils/configUtils.js.map +1 -1
  134. package/common/utils/dataUtils.js +8 -3
  135. package/common/utils/dataUtils.js.map +1 -1
  136. package/common/utils/hocUtils.js +4 -2
  137. package/common/utils/hocUtils.js.map +1 -1
  138. package/common/utils/layoutUtils.js +2 -1
  139. package/common/utils/layoutUtils.js.map +1 -1
  140. package/common/utils/mapUtils.js +288 -128
  141. package/common/utils/mapUtils.js.map +1 -1
  142. package/common/utils/singleValueUtils.js +242 -197
  143. package/common/utils/singleValueUtils.js.map +1 -1
  144. package/common/utils/testHelper.js +10 -1
  145. package/common/utils/testHelper.js.map +1 -1
  146. package/common/utils/trellisUtils.js +62 -1
  147. package/common/utils/trellisUtils.js.map +1 -1
  148. package/common/utils/urlUtils.js +3 -1
  149. package/common/utils/urlUtils.js.map +1 -1
  150. package/common/withDashboardViz.js +389 -192
  151. package/common/withDashboardViz.js.map +1 -1
  152. package/package.json +18 -26
package/Ellipse.config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Copyright © 2018 Splunk Inc.
2
+ * Copyright © 2024 Splunk Inc.
3
3
  * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
4
  * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
5
  */
@@ -114,6 +114,7 @@ Object.defineProperty(exports, "__esModule", {
114
114
  });
115
115
  exports.VizBehavior = void 0;
116
116
  var VizBehavior;
117
+
117
118
  (function (VizBehavior) {
118
119
  /**
119
120
  * Dynamic Options Behavior.
@@ -133,6 +134,7 @@ var VizBehavior;
133
134
  * missing.
134
135
  * @type {string}
135
136
  */
137
+
136
138
  VizBehavior["PLACEHOLDER"] = "placeholder";
137
139
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
138
140
  VizBehavior["TRELLIS"] = "trellis";
@@ -152,24 +154,33 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
152
154
 
153
155
 
154
156
  var _toConsumableArray = __webpack_require__(1);
157
+
155
158
  var _defineProperty = __webpack_require__(7);
159
+
156
160
  var __rest = this && this.__rest || function (s, e) {
157
161
  var t = {};
162
+
158
163
  for (var p in s) {
159
164
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
160
165
  }
166
+
161
167
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
162
168
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
163
169
  }
164
170
  return t;
165
171
  };
172
+
166
173
  Object.defineProperty(exports, "__esModule", {
167
174
  value: true
168
175
  });
169
176
  exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
177
+
170
178
  var lodash_1 = __webpack_require__(6);
179
+
171
180
  var schemaUtils_1 = __webpack_require__(3);
181
+
172
182
  var VizBehavior_1 = __webpack_require__(2);
183
+
173
184
  var dynamicOptionsDSLType = {
174
185
  type: 'string',
175
186
  pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
@@ -179,20 +190,22 @@ var dynamicOptionsDSLType = {
179
190
  * @param optionsSchema a visualization's options schema
180
191
  * @returns an updated options schema that additionally allows strings starting with > for each option
181
192
  */
193
+
182
194
  function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
183
195
  var enhancedOptionsSchema = {};
184
196
  Object.keys(optionsSchema).forEach(function (key) {
185
197
  var _a = optionsSchema[key],
186
- title = _a.title,
187
- description = _a.description,
188
- readOnly = _a.readOnly,
189
- writeOnly = _a.writeOnly,
190
- examples = _a.examples,
191
- defaultValue = _a.default,
192
- type = _a.type,
193
- properties = _a.properties,
194
- patternProperties = _a.patternProperties,
195
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
198
+ title = _a.title,
199
+ description = _a.description,
200
+ readOnly = _a.readOnly,
201
+ writeOnly = _a.writeOnly,
202
+ examples = _a.examples,
203
+ defaultValue = _a.default,
204
+ type = _a.type,
205
+ properties = _a.properties,
206
+ patternProperties = _a.patternProperties,
207
+ remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
208
+
196
209
  var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
197
210
  title: title
198
211
  }), description !== undefined && {
@@ -206,12 +219,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
206
219
  }), defaultValue !== undefined && {
207
220
  default: defaultValue
208
221
  });
222
+
209
223
  if (type === 'object') {
210
224
  enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
211
225
  type: type
212
226
  }), properties && {
213
227
  properties: enhanceOptionsSchemaWithDynamicOptions(properties)
214
228
  });
229
+
215
230
  if (patternProperties) {
216
231
  var enhancedPatternProperties = {};
217
232
  Object.keys(patternProperties).forEach(function (opt) {
@@ -229,6 +244,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
229
244
  });
230
245
  return enhancedOptionsSchema;
231
246
  }
247
+
232
248
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
233
249
  /**
234
250
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
@@ -237,11 +253,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
237
253
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
238
254
  * and containing `open: false` for all editor panels in editorConfig
239
255
  */
256
+
240
257
  function enhanceConfig(vizConfig) {
241
258
  var enhancedConfig = Object.assign({}, vizConfig);
259
+
242
260
  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
243
261
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
244
262
  }
263
+
245
264
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
246
265
  return Object.assign(Object.assign({}, config), {
247
266
  open: config.open || false
@@ -249,6 +268,7 @@ function enhanceConfig(vizConfig) {
249
268
  });
250
269
  return enhancedConfig;
251
270
  }
271
+
252
272
  exports.enhanceConfig = enhanceConfig;
253
273
  /**
254
274
  * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
@@ -256,6 +276,7 @@ exports.enhanceConfig = enhanceConfig;
256
276
  * @param vizConfig a Visualization Config
257
277
  * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
258
278
  */
279
+
259
280
  function uncollapseEditorConfig(vizConfig) {
260
281
  var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
261
282
  editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
@@ -265,13 +286,16 @@ function uncollapseEditorConfig(vizConfig) {
265
286
  });
266
287
  return editorPanelUncollapsedConfig;
267
288
  }
289
+
268
290
  exports.uncollapseEditorConfig = uncollapseEditorConfig;
291
+
269
292
  function isDynamicOption(option) {
270
293
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
271
294
  }
272
- exports.isDynamicOption = isDynamicOption;
273
- // private helpers to improve readability of getInitialPreset
295
+
296
+ exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
274
297
  // this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
298
+
275
299
  /**
276
300
  * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
277
301
  * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset
@@ -280,6 +304,7 @@ exports.isDynamicOption = isDynamicOption;
280
304
  *
281
305
  * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
282
306
  */
307
+
283
308
  function hasCompatibleContexts(vizContext, presetContext) {
284
309
  var presetContextKeys = Object.keys(presetContext);
285
310
  return presetContextKeys.every(function (contextKey) {
@@ -289,6 +314,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
289
314
  /**
290
315
  * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
291
316
  */
317
+
318
+
292
319
  function hasCompatibleOptions(vizOptions, presetOptions) {
293
320
  var presetOptionKeys = Object.keys(presetOptions);
294
321
  return presetOptionKeys.every(function (optionKey) {
@@ -303,18 +330,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
303
330
  * @param {Object} vizOptions - the current vizOptions definition
304
331
  * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
305
332
  */
333
+
334
+
306
335
  function getInitialPreset(vizContext, vizOptions, presets) {
307
336
  return presets.find(function (preset) {
308
337
  var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
309
338
  var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
310
339
  var presetContextKeys = Object.keys(presetContext);
311
- var presetOptionKeys = Object.keys(presetOptions);
312
- // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
340
+ var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
313
341
  // if not, then the preset is invalid in config.ts
342
+
314
343
  if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
315
344
  return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
316
345
  });
317
346
  }
347
+
318
348
  exports.getInitialPreset = getInitialPreset;
319
349
  /**
320
350
  * generates number precision values for a Select editor
@@ -322,6 +352,7 @@ exports.getInitialPreset = getInitialPreset;
322
352
  * @param {Number} numPrecisionValues - number of integer precision values to generate
323
353
  * @returns {{ label: string; value; string }[]} array of { label, value } tuples
324
354
  */
355
+
325
356
  function generatePrecisionValues(numPrecisionValues) {
326
357
  return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
327
358
  return {
@@ -330,6 +361,7 @@ function generatePrecisionValues(numPrecisionValues) {
330
361
  };
331
362
  });
332
363
  }
364
+
333
365
  exports.generatePrecisionValues = generatePrecisionValues;
334
366
  /**
335
367
  * insert layout in layout array, return a new layout array instead of updating the original
@@ -339,12 +371,15 @@ exports.generatePrecisionValues = generatePrecisionValues;
339
371
  * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
340
372
  * @returns {EditorLayoutConfig[][]} new editor layout with insertion
341
373
  */
374
+
342
375
  var insertLayout = function insertLayout(layout, index) {
343
376
  for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
344
377
  layoutItems[_key - 2] = arguments[_key];
345
378
  }
379
+
346
380
  return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
347
381
  };
382
+
348
383
  exports.insertLayout = insertLayout;
349
384
 
350
385
  /***/ }),
@@ -377,6 +412,7 @@ Object.defineProperty(exports, "__esModule", {
377
412
  });
378
413
  exports.VizCategory = void 0;
379
414
  var VizCategory;
415
+
380
416
  (function (VizCategory) {
381
417
  VizCategory["SINGLE_VALUE"] = "Single Value";
382
418
  VizCategory["TRENDS"] = "Trends";
@@ -444,11 +480,14 @@ Object.defineProperty(exports, "__esModule", {
444
480
  value: true
445
481
  });
446
482
  exports.getDynamicFillColorEditor = void 0;
483
+
447
484
  var i18n_1 = __webpack_require__(0);
485
+
448
486
  var configUtils_1 = __webpack_require__(5);
487
+
449
488
  var getDynamicFillColorEditor = function getDynamicFillColorEditor(_ref) {
450
489
  var defaultContext = _ref.defaultContext,
451
- defaultPalettesConfig = _ref.defaultPalettesConfig;
490
+ defaultPalettesConfig = _ref.defaultPalettesConfig;
452
491
  return {
453
492
  label: (0, i18n_1._)('Fill'),
454
493
  option: 'fillColor',
@@ -482,6 +521,7 @@ var getDynamicFillColorEditor = function getDynamicFillColorEditor(_ref) {
482
521
  }
483
522
  };
484
523
  };
524
+
485
525
  exports.getDynamicFillColorEditor = getDynamicFillColorEditor;
486
526
 
487
527
  /***/ }),
@@ -495,11 +535,14 @@ Object.defineProperty(exports, "__esModule", {
495
535
  value: true
496
536
  });
497
537
  exports.getDynamicStrokeColorEditor = void 0;
538
+
498
539
  var i18n_1 = __webpack_require__(0);
540
+
499
541
  var configUtils_1 = __webpack_require__(5);
542
+
500
543
  var getDynamicStrokeColorEditor = function getDynamicStrokeColorEditor(_ref) {
501
544
  var defaultContext = _ref.defaultContext,
502
- defaultPalettesConfig = _ref.defaultPalettesConfig;
545
+ defaultPalettesConfig = _ref.defaultPalettesConfig;
503
546
  return {
504
547
  label: (0, i18n_1._)('Stroke'),
505
548
  option: 'strokeColor',
@@ -533,6 +576,7 @@ var getDynamicStrokeColorEditor = function getDynamicStrokeColorEditor(_ref) {
533
576
  }
534
577
  };
535
578
  };
579
+
536
580
  exports.getDynamicStrokeColorEditor = getDynamicStrokeColorEditor;
537
581
 
538
582
  /***/ }),
@@ -545,8 +589,11 @@ exports.getDynamicStrokeColorEditor = getDynamicStrokeColorEditor;
545
589
  Object.defineProperty(exports, "__esModule", {
546
590
  value: true
547
591
  });
592
+
548
593
  var i18n_1 = __webpack_require__(0);
594
+
549
595
  var configUtils_1 = __webpack_require__(5);
596
+
550
597
  var StaticFillColorEditor = {
551
598
  label: (0, i18n_1._)('Fill'),
552
599
  option: 'fillColor',
@@ -568,8 +615,11 @@ exports.default = StaticFillColorEditor;
568
615
  Object.defineProperty(exports, "__esModule", {
569
616
  value: true
570
617
  });
618
+
571
619
  var i18n_1 = __webpack_require__(0);
620
+
572
621
  var configUtils_1 = __webpack_require__(5);
622
+
573
623
  var StaticStrokeColorEditor = {
574
624
  label: (0, i18n_1._)('Stroke'),
575
625
  option: 'strokeColor',
@@ -599,17 +649,29 @@ exports.default = StaticStrokeColorEditor;
599
649
  Object.defineProperty(exports, "__esModule", {
600
650
  value: true
601
651
  });
652
+
602
653
  var i18n_1 = __webpack_require__(0);
654
+
603
655
  var PresetPalettes_1 = __webpack_require__(15);
656
+
604
657
  var pick_1 = __webpack_require__(9);
658
+
605
659
  var variables_1 = __webpack_require__(10);
660
+
606
661
  var VizBehavior_1 = __webpack_require__(2);
662
+
607
663
  var VizCategory_1 = __webpack_require__(8);
664
+
608
665
  var configUtils_1 = __webpack_require__(4);
666
+
609
667
  var DynamicFillColorEditor_1 = __webpack_require__(35);
668
+
610
669
  var DynamicStrokeColorEditor_1 = __webpack_require__(36);
670
+
611
671
  var StaticFillColorEditor_1 = __webpack_require__(37);
672
+
612
673
  var StaticStrokeColorEditor_1 = __webpack_require__(38);
674
+
613
675
  var dataContract = {
614
676
  requiredDataSources: [],
615
677
  optionalDataSources: [{
@@ -809,7 +871,7 @@ var editorConfig = [{
809
871
  presets: presets,
810
872
  value: function value(_ref) {
811
873
  var context = _ref.context,
812
- options = _ref.options;
874
+ options = _ref.options;
813
875
  var initialPreset = (0, configUtils_1.getInitialPreset)(context, options, presets);
814
876
  return initialPreset && initialPreset.label || null;
815
877
  }
@@ -861,16 +923,19 @@ var editorConfig = [{
861
923
  /**
862
924
  * visualization configuration
863
925
  */
926
+
864
927
  var config = {
865
928
  /**
866
929
  * unique viz key
867
930
  */
868
931
  key: 'splunk.ellipse',
932
+
869
933
  /**
870
934
  * viz name
871
935
  */
872
936
  name: (0, i18n_1._)('Ellipse'),
873
937
  category: VizCategory_1.VizCategory.SHAPES,
938
+
874
939
  /**
875
940
  * viz icon
876
941
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":["VizBehavior","exports","lodash_1","require","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","default","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","VizCategory","i18n_1","configUtils_1","getDynamicFillColorEditor","_ref","defaultContext","defaultPalettesConfig","_","context","editor","showEditor","_ref2","options","fillColor","editorProps","labelPosition","flyoutTitle","formatters","defaults","fillDataValue","fillColorConfig","fillColorMatchConfig","dataSelectors","getDynamicStrokeColorEditor","strokeColor","strokeDataValue","strokeColorConfig","strokeColorMatchConfig","StaticFillColorEditor","StaticStrokeColorEditor","PresetPalettes_1","pick_1","variables_1","VizCategory_1","DynamicFillColorEditor_1","DynamicStrokeColorEditor_1","StaticFillColorEditor_1","StaticStrokeColorEditor_1","dataContract","requiredDataSources","optionalDataSources","name","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","from","to","match","fillOpacity","strokeDashStyle","strokeOpacity","strokeWidth","themes","defaultFillColor","props","enterprise","dark","gray25","light","gray80","prisma","backgroundColorSidebar","defaultStrokeColor","gray30","neutral500","basePresetContext","fillColorEditorConfig","strokeColorEditorConfig","basePresetOptions","initialPreset","min","category","SHAPES","icon","events","payloadKeys","EVENTS"],"mappings":"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","file":"Ellipse.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 47);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n label: _('Fill opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke dash style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: _('Ellipse'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":[],"mappings":"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","file":"Ellipse.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 47);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n label: _('Fill opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke dash style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: _('Ellipse'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}