@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
@@ -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
  */
@@ -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 = 66);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 67);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -136,11 +136,13 @@ module.exports = require("@splunk/visualization-icons");
136
136
  Object.defineProperty(exports, "__esModule", {
137
137
  value: true
138
138
  });
139
+
139
140
  var i18n_1 = __webpack_require__(0);
141
+
140
142
  var background = function background(_ref) {
141
143
  var label = _ref.label,
142
- themes = _ref.themes,
143
- labelPosition = _ref.labelPosition;
144
+ themes = _ref.themes,
145
+ labelPosition = _ref.labelPosition;
144
146
  return [{
145
147
  label: (0, i18n_1._)(label || 'Background'),
146
148
  option: 'backgroundColor',
@@ -151,6 +153,7 @@ var background = function background(_ref) {
151
153
  }
152
154
  }];
153
155
  };
156
+
154
157
  exports.default = background;
155
158
 
156
159
  /***/ }),
@@ -173,6 +176,7 @@ Object.defineProperty(exports, "__esModule", {
173
176
  });
174
177
  exports.VizBehavior = void 0;
175
178
  var VizBehavior;
179
+
176
180
  (function (VizBehavior) {
177
181
  /**
178
182
  * Dynamic Options Behavior.
@@ -192,6 +196,7 @@ var VizBehavior;
192
196
  * missing.
193
197
  * @type {string}
194
198
  */
199
+
195
200
  VizBehavior["PLACEHOLDER"] = "placeholder";
196
201
  VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
197
202
  VizBehavior["TRELLIS"] = "trellis";
@@ -213,24 +218,33 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
213
218
 
214
219
 
215
220
  var _toConsumableArray = __webpack_require__(1);
221
+
216
222
  var _defineProperty = __webpack_require__(7);
223
+
217
224
  var __rest = this && this.__rest || function (s, e) {
218
225
  var t = {};
226
+
219
227
  for (var p in s) {
220
228
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
221
229
  }
230
+
222
231
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
223
232
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
224
233
  }
225
234
  return t;
226
235
  };
236
+
227
237
  Object.defineProperty(exports, "__esModule", {
228
238
  value: true
229
239
  });
230
240
  exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
241
+
231
242
  var lodash_1 = __webpack_require__(6);
243
+
232
244
  var schemaUtils_1 = __webpack_require__(3);
245
+
233
246
  var VizBehavior_1 = __webpack_require__(2);
247
+
234
248
  var dynamicOptionsDSLType = {
235
249
  type: 'string',
236
250
  pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
@@ -240,20 +254,22 @@ var dynamicOptionsDSLType = {
240
254
  * @param optionsSchema a visualization's options schema
241
255
  * @returns an updated options schema that additionally allows strings starting with > for each option
242
256
  */
257
+
243
258
  function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
244
259
  var enhancedOptionsSchema = {};
245
260
  Object.keys(optionsSchema).forEach(function (key) {
246
261
  var _a = optionsSchema[key],
247
- title = _a.title,
248
- description = _a.description,
249
- readOnly = _a.readOnly,
250
- writeOnly = _a.writeOnly,
251
- examples = _a.examples,
252
- defaultValue = _a.default,
253
- type = _a.type,
254
- properties = _a.properties,
255
- patternProperties = _a.patternProperties,
256
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
262
+ title = _a.title,
263
+ description = _a.description,
264
+ readOnly = _a.readOnly,
265
+ writeOnly = _a.writeOnly,
266
+ examples = _a.examples,
267
+ defaultValue = _a.default,
268
+ type = _a.type,
269
+ properties = _a.properties,
270
+ patternProperties = _a.patternProperties,
271
+ remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
272
+
257
273
  var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
258
274
  title: title
259
275
  }), description !== undefined && {
@@ -267,12 +283,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
267
283
  }), defaultValue !== undefined && {
268
284
  default: defaultValue
269
285
  });
286
+
270
287
  if (type === 'object') {
271
288
  enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
272
289
  type: type
273
290
  }), properties && {
274
291
  properties: enhanceOptionsSchemaWithDynamicOptions(properties)
275
292
  });
293
+
276
294
  if (patternProperties) {
277
295
  var enhancedPatternProperties = {};
278
296
  Object.keys(patternProperties).forEach(function (opt) {
@@ -290,6 +308,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
290
308
  });
291
309
  return enhancedOptionsSchema;
292
310
  }
311
+
293
312
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
294
313
  /**
295
314
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
@@ -298,11 +317,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
298
317
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
299
318
  * and containing `open: false` for all editor panels in editorConfig
300
319
  */
320
+
301
321
  function enhanceConfig(vizConfig) {
302
322
  var enhancedConfig = Object.assign({}, vizConfig);
323
+
303
324
  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
304
325
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
305
326
  }
327
+
306
328
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
307
329
  return Object.assign(Object.assign({}, config), {
308
330
  open: config.open || false
@@ -310,6 +332,7 @@ function enhanceConfig(vizConfig) {
310
332
  });
311
333
  return enhancedConfig;
312
334
  }
335
+
313
336
  exports.enhanceConfig = enhanceConfig;
314
337
  /**
315
338
  * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
@@ -317,6 +340,7 @@ exports.enhanceConfig = enhanceConfig;
317
340
  * @param vizConfig a Visualization Config
318
341
  * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
319
342
  */
343
+
320
344
  function uncollapseEditorConfig(vizConfig) {
321
345
  var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
322
346
  editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
@@ -326,13 +350,16 @@ function uncollapseEditorConfig(vizConfig) {
326
350
  });
327
351
  return editorPanelUncollapsedConfig;
328
352
  }
353
+
329
354
  exports.uncollapseEditorConfig = uncollapseEditorConfig;
355
+
330
356
  function isDynamicOption(option) {
331
357
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
332
358
  }
333
- exports.isDynamicOption = isDynamicOption;
334
- // private helpers to improve readability of getInitialPreset
359
+
360
+ exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
335
361
  // this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
362
+
336
363
  /**
337
364
  * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
338
365
  * 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
@@ -341,6 +368,7 @@ exports.isDynamicOption = isDynamicOption;
341
368
  *
342
369
  * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
343
370
  */
371
+
344
372
  function hasCompatibleContexts(vizContext, presetContext) {
345
373
  var presetContextKeys = Object.keys(presetContext);
346
374
  return presetContextKeys.every(function (contextKey) {
@@ -350,6 +378,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
350
378
  /**
351
379
  * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
352
380
  */
381
+
382
+
353
383
  function hasCompatibleOptions(vizOptions, presetOptions) {
354
384
  var presetOptionKeys = Object.keys(presetOptions);
355
385
  return presetOptionKeys.every(function (optionKey) {
@@ -364,18 +394,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
364
394
  * @param {Object} vizOptions - the current vizOptions definition
365
395
  * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
366
396
  */
397
+
398
+
367
399
  function getInitialPreset(vizContext, vizOptions, presets) {
368
400
  return presets.find(function (preset) {
369
401
  var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
370
402
  var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
371
403
  var presetContextKeys = Object.keys(presetContext);
372
- var presetOptionKeys = Object.keys(presetOptions);
373
- // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
404
+ var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
374
405
  // if not, then the preset is invalid in config.ts
406
+
375
407
  if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
376
408
  return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
377
409
  });
378
410
  }
411
+
379
412
  exports.getInitialPreset = getInitialPreset;
380
413
  /**
381
414
  * generates number precision values for a Select editor
@@ -383,6 +416,7 @@ exports.getInitialPreset = getInitialPreset;
383
416
  * @param {Number} numPrecisionValues - number of integer precision values to generate
384
417
  * @returns {{ label: string; value; string }[]} array of { label, value } tuples
385
418
  */
419
+
386
420
  function generatePrecisionValues(numPrecisionValues) {
387
421
  return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
388
422
  return {
@@ -391,6 +425,7 @@ function generatePrecisionValues(numPrecisionValues) {
391
425
  };
392
426
  });
393
427
  }
428
+
394
429
  exports.generatePrecisionValues = generatePrecisionValues;
395
430
  /**
396
431
  * insert layout in layout array, return a new layout array instead of updating the original
@@ -400,12 +435,15 @@ exports.generatePrecisionValues = generatePrecisionValues;
400
435
  * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
401
436
  * @returns {EditorLayoutConfig[][]} new editor layout with insertion
402
437
  */
438
+
403
439
  var insertLayout = function insertLayout(layout, index) {
404
440
  for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
405
441
  layoutItems[_key - 2] = arguments[_key];
406
442
  }
443
+
407
444
  return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
408
445
  };
446
+
409
447
  exports.insertLayout = insertLayout;
410
448
 
411
449
  /***/ }),
@@ -417,7 +455,7 @@ module.exports = require("lodash");
417
455
 
418
456
  /***/ }),
419
457
 
420
- /***/ 66:
458
+ /***/ 67:
421
459
  /***/ (function(module, exports, __webpack_require__) {
422
460
 
423
461
  "use strict";
@@ -426,17 +464,29 @@ module.exports = require("lodash");
426
464
  Object.defineProperty(exports, "__esModule", {
427
465
  value: true
428
466
  });
467
+
429
468
  var i18n_1 = __webpack_require__(0);
469
+
430
470
  var schemaUtils_1 = __webpack_require__(3);
471
+
431
472
  var pick_1 = __webpack_require__(9);
473
+
432
474
  var variables_1 = __webpack_require__(10);
475
+
433
476
  var visualization_color_palettes_1 = __webpack_require__(14);
477
+
434
478
  var visualization_icons_1 = __webpack_require__(12);
479
+
435
480
  var placeholders_1 = __webpack_require__(11);
481
+
436
482
  var VizBehavior_1 = __webpack_require__(2);
483
+
437
484
  var configUtils_1 = __webpack_require__(4);
485
+
438
486
  var VizCategory_1 = __webpack_require__(8);
487
+
439
488
  var BackgroundColor_1 = __webpack_require__(13);
489
+
440
490
  var dataContract = {
441
491
  requiredDataSources: [{
442
492
  name: 'primary',
@@ -608,17 +658,20 @@ var editorConfig = [{
608
658
  /**
609
659
  * visualization configuration
610
660
  */
661
+
611
662
  var config = {
612
663
  /**
613
664
  * unique viz key
614
665
  */
615
666
  key: 'splunk.parallelcoordinates',
667
+
616
668
  /**
617
669
  * viz name
618
670
  */
619
671
  name: (0, i18n_1._)('Parallel coordinates'),
620
672
  category: VizCategory_1.VizCategory.CORRELATION,
621
673
  status: 'preview',
674
+
622
675
  /**
623
676
  * viz icon
624
677
  */
@@ -655,6 +708,7 @@ Object.defineProperty(exports, "__esModule", {
655
708
  });
656
709
  exports.VizCategory = void 0;
657
710
  var VizCategory;
711
+
658
712
  (function (VizCategory) {
659
713
  VizCategory["SINGLE_VALUE"] = "Single Value";
660
714
  VizCategory["TRENDS"] = "Trends";
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/ParallelCoordinates/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["i18n_1","require","background","_ref","label","themes","labelPosition","_","option","editor","editorProps","exports","default","VizBehavior","lodash_1","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","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","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","pick_1","variables_1","visualization_color_palettes_1","visualization_icons_1","placeholders_1","configUtils_1","VizCategory_1","BackgroundColor_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","lineColor","VIZ_CATEGORICAL","lineOpacity","showNullAxis","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","axisLineColor","gray45","gray60","neutral400","syntaxGray","axisLineHighlightColor","textColor","contentColorActive","axisTitleColor","textGray","contentColorDefault","axisLabelColor","filterButtonDisabledColor","textDisabledColor","contentColorDisabled","filterButtonActiveColor","focusColor","interactiveColorPrimary","filterTextColor","truncatedTextColor","contentColorMuted","filterSelectionColor","textShadowColor","backgroundColorSection","EDITOR_LABEL_WIDTH","labelWidth","min","category","VizCategory","CORRELATION","status","icon","ParallelCoordinates","placeholderIcon","events","EVENTS","PLACEHOLDER","requiredProps"],"mappings":"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","file":"ParallelCoordinates.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 = 66);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/visualization-color-palettes\");","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(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { ParallelCoordinates as ParallelCoordinatesPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n '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\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the dataSource color for the lines. The hex value format should be #FFFFFF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineOpacity: {\n default: 0.5,\n description:\n 'Specify the opacity of the lines. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.50\" in source or \"50%\" in UI.',\n type: 'number',\n },\n showNullAxis: {\n default: true,\n description: 'Select whether you would like to show or hide the null value axis.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show null axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Lines'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: _('Parallel coordinates'),\n category: VizCategory.CORRELATION,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n placeholderIcon: ParallelCoordinatesPlaceholderIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","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\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/ParallelCoordinates/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"ParallelCoordinates.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 = 67);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/visualization-color-palettes\");","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(\"lodash\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { ParallelCoordinates as ParallelCoordinatesPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n '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\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the dataSource color for the lines. The hex value format should be #FFFFFF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n lineOpacity: {\n default: 0.5,\n description:\n 'Specify the opacity of the lines. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.50\" in source or \"50%\" in UI.',\n type: 'number',\n },\n showNullAxis: {\n default: true,\n description: 'Select whether you would like to show or hide the null value axis.',\n type: 'boolean',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show null axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Lines'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: _('Parallel coordinates'),\n category: VizCategory.CORRELATION,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n placeholderIcon: ParallelCoordinatesPlaceholderIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","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\");"],"sourceRoot":""}