@splunk/visualizations 25.0.1 → 25.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_custom_base_layer_tile_server.png +0 -0
  2. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  3. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  4. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  5. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  6. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  19. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  20. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  21. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  22. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  23. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  24. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  25. package/Area.config.js +141 -152
  26. package/Area.config.js.map +1 -1
  27. package/Area.js +334 -431
  28. package/Area.js.map +1 -1
  29. package/Bar.config.js +143 -148
  30. package/Bar.config.js.map +1 -1
  31. package/Bar.js +336 -427
  32. package/Bar.js.map +1 -1
  33. package/Bubble.config.js +130 -117
  34. package/Bubble.config.js.map +1 -1
  35. package/Bubble.js +325 -398
  36. package/Bubble.js.map +1 -1
  37. package/ChoroplethSvg.config.js +86 -80
  38. package/ChoroplethSvg.config.js.map +1 -1
  39. package/ChoroplethSvg.js +305 -385
  40. package/ChoroplethSvg.js.map +1 -1
  41. package/Column.config.js +139 -146
  42. package/Column.config.js.map +1 -1
  43. package/Column.js +332 -425
  44. package/Column.js.map +1 -1
  45. package/Ellipse.config.js +86 -80
  46. package/Ellipse.config.js.map +1 -1
  47. package/Ellipse.js +288 -368
  48. package/Ellipse.js.map +1 -1
  49. package/FillerGauge.config.js +91 -85
  50. package/FillerGauge.config.js.map +1 -1
  51. package/FillerGauge.js +296 -376
  52. package/FillerGauge.js.map +1 -1
  53. package/Image.config.js +74 -74
  54. package/Image.config.js.map +1 -1
  55. package/Image.js +710 -798
  56. package/Image.js.map +1 -1
  57. package/Line.config.js +139 -137
  58. package/Line.config.js.map +1 -1
  59. package/Line.js +332 -416
  60. package/Line.js.map +1 -1
  61. package/LinkGraph.config.js +112 -112
  62. package/LinkGraph.config.js.map +1 -1
  63. package/LinkGraph.js +320 -405
  64. package/LinkGraph.js.map +1 -1
  65. package/Map.config.js +101 -95
  66. package/Map.config.js.map +1 -1
  67. package/Map.js +472 -518
  68. package/Map.js.map +1 -1
  69. package/Markdown.config.js +113 -113
  70. package/Markdown.config.js.map +1 -1
  71. package/Markdown.js +500 -574
  72. package/Markdown.js.map +1 -1
  73. package/MarkerGauge.config.js +192 -193
  74. package/MarkerGauge.config.js.map +1 -1
  75. package/MarkerGauge.js +1200 -1289
  76. package/MarkerGauge.js.map +1 -1
  77. package/ParallelCoordinates.config.js +138 -138
  78. package/ParallelCoordinates.config.js.map +1 -1
  79. package/ParallelCoordinates.js +292 -376
  80. package/ParallelCoordinates.js.map +1 -1
  81. package/Pie.config.js +133 -133
  82. package/Pie.config.js.map +1 -1
  83. package/Pie.js +496 -584
  84. package/Pie.js.map +1 -1
  85. package/Punchcard.config.js +139 -139
  86. package/Punchcard.config.js.map +1 -1
  87. package/Punchcard.js +315 -399
  88. package/Punchcard.js.map +1 -1
  89. package/Rectangle.config.js +267 -260
  90. package/Rectangle.config.js.map +1 -1
  91. package/Rectangle.js +499 -580
  92. package/Rectangle.js.map +1 -1
  93. package/Sankey.config.js +150 -143
  94. package/Sankey.config.js.map +1 -1
  95. package/Sankey.js +316 -390
  96. package/Sankey.js.map +1 -1
  97. package/Scatter.config.js +130 -117
  98. package/Scatter.config.js.map +1 -1
  99. package/Scatter.js +547 -623
  100. package/Scatter.js.map +1 -1
  101. package/SingleValue.config.js +119 -113
  102. package/SingleValue.config.js.map +1 -1
  103. package/SingleValue.js +523 -604
  104. package/SingleValue.js.map +1 -1
  105. package/SingleValueBasic.js +19 -19
  106. package/SingleValueBasic.js.map +1 -1
  107. package/SingleValueIcon.config.js +128 -120
  108. package/SingleValueIcon.config.js.map +1 -1
  109. package/SingleValueIcon.js +343 -420
  110. package/SingleValueIcon.js.map +1 -1
  111. package/SingleValueRadial.config.js +215 -178
  112. package/SingleValueRadial.config.js.map +1 -1
  113. package/SingleValueRadial.js +668 -749
  114. package/SingleValueRadial.js.map +1 -1
  115. package/Table.config.js +150 -151
  116. package/Table.config.js.map +1 -1
  117. package/Table.js +772 -854
  118. package/Table.js.map +1 -1
  119. package/common/Charting.js +11 -11
  120. package/common/Charting.js.map +1 -1
  121. package/common/ChartingApi.js +2 -2
  122. package/common/ChartingApi.js.map +1 -1
  123. package/common/EventsDoc.js +12 -12
  124. package/common/EventsDoc.js.map +1 -1
  125. package/common/GaugeMajorTicks.js +8 -8
  126. package/common/GaugeMajorTicks.js.map +1 -1
  127. package/common/GaugeValueMarker.js +8 -8
  128. package/common/GaugeValueMarker.js.map +1 -1
  129. package/common/OptionsDoc.js +51 -352
  130. package/common/OptionsDoc.js.map +1 -1
  131. package/common/OverviewDoc.js +22 -22
  132. package/common/OverviewDoc.js.map +1 -1
  133. package/common/SplunkVisualization.js +4 -4
  134. package/common/SplunkVisualization.js.map +1 -1
  135. package/common/SplunkVisualizationApi.js +2 -2
  136. package/common/SplunkVisualizationApi.js.map +1 -1
  137. package/common/ThemesDoc.js +19 -19
  138. package/common/ThemesDoc.js.map +1 -1
  139. package/common/chartingUtils.js +4 -4
  140. package/common/chartingUtils.js.map +1 -1
  141. package/common/docUtils.js +4 -4
  142. package/common/docUtils.js.map +1 -1
  143. package/common/gaugeUtils.js +13 -13
  144. package/common/gaugeUtils.js.map +1 -1
  145. package/common/shapeUtils.js +8 -8
  146. package/common/shapeUtils.js.map +1 -1
  147. package/common/utils/configUtils.js +17 -18
  148. package/common/utils/configUtils.js.map +1 -1
  149. package/common/utils/hocUtils.js +6 -86
  150. package/common/utils/hocUtils.js.map +1 -1
  151. package/common/utils/{JSONSchemaUtils.js → mapUtils.js} +89 -29
  152. package/common/utils/mapUtils.js.map +1 -0
  153. package/common/utils/singleValueUtils.js +14 -12
  154. package/common/utils/singleValueUtils.js.map +1 -1
  155. package/common/utils/testHelper.js +8 -8
  156. package/common/utils/testHelper.js.map +1 -1
  157. package/common/withDashboardViz.js +120 -207
  158. package/common/withDashboardViz.js.map +1 -1
  159. package/package.json +12 -12
  160. package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_Of_Size_Greater_Than_2_MB_Render.png +0 -0
  161. package/common/utils/JSONSchemaUtils.js.map +0 -1
package/Pie.config.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 61);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 62);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -100,14 +100,118 @@ module.exports = require("@splunk/ui-utils/i18n");
100
100
  /***/ }),
101
101
 
102
102
  /***/ 1:
103
+ /***/ (function(module, exports) {
104
+
105
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
106
+
107
+ /***/ }),
108
+
109
+ /***/ 10:
110
+ /***/ (function(module, exports) {
111
+
112
+ module.exports = require("@splunk/themes/variables");
113
+
114
+ /***/ }),
115
+
116
+ /***/ 11:
117
+ /***/ (function(module, exports) {
118
+
119
+ module.exports = require("@splunk/visualization-icons/placeholders");
120
+
121
+ /***/ }),
122
+
123
+ /***/ 13:
124
+ /***/ (function(module, exports) {
125
+
126
+ module.exports = require("@splunk/visualization-color-palettes");
127
+
128
+ /***/ }),
129
+
130
+ /***/ 14:
131
+ /***/ (function(module, exports, __webpack_require__) {
132
+
133
+ "use strict";
134
+
135
+
136
+ Object.defineProperty(exports, "__esModule", {
137
+ value: true
138
+ });
139
+
140
+ var i18n_1 = __webpack_require__(0);
141
+
142
+ var background = function background(_ref) {
143
+ var label = _ref.label,
144
+ themes = _ref.themes,
145
+ labelPosition = _ref.labelPosition;
146
+ return [{
147
+ label: i18n_1._(label || 'Background'),
148
+ option: 'backgroundColor',
149
+ editor: 'editor.color',
150
+ editorProps: {
151
+ labelPosition: labelPosition || 'top',
152
+ themes: themes
153
+ }
154
+ }];
155
+ };
156
+
157
+ exports.default = background;
158
+
159
+ /***/ }),
160
+
161
+ /***/ 2:
162
+ /***/ (function(module, exports, __webpack_require__) {
163
+
164
+ "use strict";
165
+
166
+
167
+ Object.defineProperty(exports, "__esModule", {
168
+ value: true
169
+ });
170
+ exports.VizBehavior = void 0;
171
+ var VizBehavior;
172
+
173
+ (function (VizBehavior) {
174
+ /**
175
+ * Dynamic Options Behavior.
176
+ * This allows visualization options to be powered by data
177
+ *
178
+ * **Example**
179
+ *
180
+ * sparklineValues: ">primary|seriesByIndex(0)"
181
+ * would configure sparklineValues with an array of data points
182
+ * coming from the first series in the primary datasource
183
+ *
184
+ */
185
+ VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
186
+ VizBehavior["EVENTS"] = "events";
187
+ /**
188
+ * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
189
+ * missing.
190
+ * @type {string}
191
+ */
192
+
193
+ VizBehavior["PLACEHOLDER"] = "placeholder";
194
+ VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
195
+ })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
196
+
197
+ /***/ }),
198
+
199
+ /***/ 3:
200
+ /***/ (function(module, exports) {
201
+
202
+ module.exports = require("@splunk/visualizations-shared/schemaUtils");
203
+
204
+ /***/ }),
205
+
206
+ /***/ 4:
103
207
  /***/ (function(module, exports, __webpack_require__) {
104
208
 
105
209
  "use strict";
106
210
 
107
211
 
108
- var _toConsumableArray = __webpack_require__(2);
212
+ var _toConsumableArray = __webpack_require__(1);
109
213
 
110
- var _defineProperty = __webpack_require__(6);
214
+ var _defineProperty = __webpack_require__(7);
111
215
 
112
216
  var __rest = this && this.__rest || function (s, e) {
113
217
  var t = {};
@@ -125,13 +229,13 @@ var __rest = this && this.__rest || function (s, e) {
125
229
  Object.defineProperty(exports, "__esModule", {
126
230
  value: true
127
231
  });
128
- exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
232
+ exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
129
233
 
130
- var lodash_1 = __webpack_require__(5);
234
+ var lodash_1 = __webpack_require__(6);
131
235
 
132
- var schemaUtils_1 = __webpack_require__(4);
236
+ var schemaUtils_1 = __webpack_require__(3);
133
237
 
134
- var VizBehavior_1 = __webpack_require__(3);
238
+ var VizBehavior_1 = __webpack_require__(2);
135
239
 
136
240
  var dynamicOptionsDSLType = {
137
241
  type: 'string',
@@ -336,118 +440,14 @@ exports.insertLayout = insertLayout;
336
440
 
337
441
  /***/ }),
338
442
 
339
- /***/ 10:
340
- /***/ (function(module, exports) {
341
-
342
- module.exports = require("@splunk/visualization-icons/placeholders");
343
-
344
- /***/ }),
345
-
346
- /***/ 12:
347
- /***/ (function(module, exports) {
348
-
349
- module.exports = require("@splunk/visualization-color-palettes");
350
-
351
- /***/ }),
352
-
353
- /***/ 13:
354
- /***/ (function(module, exports, __webpack_require__) {
355
-
356
- "use strict";
357
-
358
-
359
- Object.defineProperty(exports, "__esModule", {
360
- value: true
361
- });
362
-
363
- var i18n_1 = __webpack_require__(0);
364
-
365
- var background = function background(_ref) {
366
- var label = _ref.label,
367
- themes = _ref.themes,
368
- labelPosition = _ref.labelPosition;
369
- return [{
370
- label: i18n_1._(label || 'Background'),
371
- option: 'backgroundColor',
372
- editor: 'editor.color',
373
- editorProps: {
374
- labelPosition: labelPosition || 'top',
375
- themes: themes
376
- }
377
- }];
378
- };
379
-
380
- exports.default = background;
381
-
382
- /***/ }),
383
-
384
- /***/ 2:
385
- /***/ (function(module, exports) {
386
-
387
- module.exports = require("@babel/runtime/helpers/toConsumableArray");
388
-
389
- /***/ }),
390
-
391
- /***/ 3:
392
- /***/ (function(module, exports, __webpack_require__) {
393
-
394
- "use strict";
395
-
396
-
397
- Object.defineProperty(exports, "__esModule", {
398
- value: true
399
- });
400
- exports.VizBehavior = void 0;
401
- var VizBehavior;
402
-
403
- (function (VizBehavior) {
404
- /**
405
- * Dynamic Options Behavior.
406
- * This allows visualization options to be powered by data
407
- *
408
- * **Example**
409
- *
410
- * sparklineValues: ">primary|seriesByIndex(0)"
411
- * would configure sparklineValues with an array of data points
412
- * coming from the first series in the primary datasource
413
- *
414
- */
415
- VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
416
- VizBehavior["EVENTS"] = "events";
417
- /**
418
- * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
419
- * missing.
420
- * @type {string}
421
- */
422
-
423
- VizBehavior["PLACEHOLDER"] = "placeholder";
424
- VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
425
- })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
426
-
427
- /***/ }),
428
-
429
- /***/ 4:
430
- /***/ (function(module, exports) {
431
-
432
- module.exports = require("@splunk/visualizations-shared/schemaUtils");
433
-
434
- /***/ }),
435
-
436
- /***/ 5:
437
- /***/ (function(module, exports) {
438
-
439
- module.exports = require("lodash");
440
-
441
- /***/ }),
442
-
443
443
  /***/ 6:
444
444
  /***/ (function(module, exports) {
445
445
 
446
- module.exports = require("@babel/runtime/helpers/defineProperty");
446
+ module.exports = require("lodash");
447
447
 
448
448
  /***/ }),
449
449
 
450
- /***/ 61:
450
+ /***/ 62:
451
451
  /***/ (function(module, exports, __webpack_require__) {
452
452
 
453
453
  "use strict";
@@ -457,27 +457,27 @@ Object.defineProperty(exports, "__esModule", {
457
457
  value: true
458
458
  });
459
459
 
460
- var ChartPie_1 = __webpack_require__(62);
460
+ var ChartPie_1 = __webpack_require__(63);
461
461
 
462
- var placeholders_1 = __webpack_require__(10);
462
+ var placeholders_1 = __webpack_require__(11);
463
463
 
464
464
  var i18n_1 = __webpack_require__(0);
465
465
 
466
- var schemaUtils_1 = __webpack_require__(4);
466
+ var schemaUtils_1 = __webpack_require__(3);
467
467
 
468
- var visualization_color_palettes_1 = __webpack_require__(12);
468
+ var visualization_color_palettes_1 = __webpack_require__(13);
469
469
 
470
- var pick_1 = __webpack_require__(8);
470
+ var pick_1 = __webpack_require__(9);
471
471
 
472
- var variables_1 = __webpack_require__(9);
472
+ var variables_1 = __webpack_require__(10);
473
473
 
474
- var VizBehavior_1 = __webpack_require__(3);
474
+ var VizBehavior_1 = __webpack_require__(2);
475
475
 
476
- var VizCategory_1 = __webpack_require__(7);
476
+ var VizCategory_1 = __webpack_require__(8);
477
477
 
478
- var configUtils_1 = __webpack_require__(1);
478
+ var configUtils_1 = __webpack_require__(4);
479
479
 
480
- var BackgroundColor_1 = __webpack_require__(13);
480
+ var BackgroundColor_1 = __webpack_require__(14);
481
481
 
482
482
  var dataContract = {
483
483
  requiredDataSources: [{
@@ -506,7 +506,7 @@ var optionsSchema = {
506
506
  backgroundColor: {
507
507
  default: '> themes.defaultBackgroundColor',
508
508
  description: 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is "#ffffff". The default for enterprise dark is "#000000". The default for prisma dark is "#0b0c0e".',
509
- pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN,
509
+ pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
510
510
  type: 'string'
511
511
  },
512
512
  collapseLabel: {
@@ -680,7 +680,7 @@ exports.default = configUtils_1.enhanceConfig(config);
680
680
 
681
681
  /***/ }),
682
682
 
683
- /***/ 62:
683
+ /***/ 63:
684
684
  /***/ (function(module, exports) {
685
685
 
686
686
  module.exports = require("@splunk/react-icons/ChartPie");
@@ -688,6 +688,13 @@ module.exports = require("@splunk/react-icons/ChartPie");
688
688
  /***/ }),
689
689
 
690
690
  /***/ 7:
691
+ /***/ (function(module, exports) {
692
+
693
+ module.exports = require("@babel/runtime/helpers/defineProperty");
694
+
695
+ /***/ }),
696
+
697
+ /***/ 8:
691
698
  /***/ (function(module, exports, __webpack_require__) {
692
699
 
693
700
  "use strict";
@@ -716,17 +723,10 @@ var VizCategory;
716
723
 
717
724
  /***/ }),
718
725
 
719
- /***/ 8:
720
- /***/ (function(module, exports) {
721
-
722
- module.exports = require("@splunk/themes/pick");
723
-
724
- /***/ }),
725
-
726
726
  /***/ 9:
727
727
  /***/ (function(module, exports) {
728
728
 
729
- module.exports = require("@splunk/themes/variables");
729
+ module.exports = require("@splunk/themes/pick");
730
730
 
731
731
  /***/ })
732
732
 
package/Pie.config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Pie/config.ts","webpack:///external \"@splunk/react-icons/ChartPie\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,kD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;AACA;;AAEA;;AAWA,IAAM,qBAAqB,GAAG;AAC1B,MAAI,EAAE,QADoB;AAE1B,SAAO,EAAE;AAFiB,CAA9B;AAKA;;;;AAIG;;AACH,SAAS,sCAAT,CACI,aADJ,EACwD;AAEpD,MAAM,qBAAqB,GAAkB,EAA7C;AACA,QAAM,CAAC,IAAP,CAAY,aAAZ,EAA2B,OAA3B,CAAmC,UAAC,GAAD,EAAc;AACvC,aAgBF,aAAa,CAhBX,GAgBW,CAhBX;AAAA,QAIF,KAJE,GAae,EAbf,CAIF,KAJE;AAAA,QAKF,WALE,GAae,EAbf,CAKF,WALE;AAAA,QAMF,QANE,GAae,EAbf,CAMF,QANE;AAAA,QAOF,SAPE,GAae,EAbf,CAOF,SAPE;AAAA,QAQF,QARE,GAae,EAbf,CAQF,QARE;AAAA,QASO,YATP,GAae,EAbf,CASF,OATE;AAAA,QAWF,IAXE,GAae,EAbf,CAWF,IAXE;AAAA,QAYF,UAZE,GAae,EAbf,CAYF,UAZE;AAAA,QAaF,iBAbE,GAae,EAbf,CAaF,iBAbE;AAAA,QAeC,oBAfD,GAeqB,WAfrB,mHAeqB,CAfrB;;AAkBN,QAAM,WAAW,2FACT,KAAK,KAAK,SAAV,IAAuB;AAAE,WAAK,EAAL;AAAF,KADd,GAET,WAAW,KAAK,SAAhB,IAA6B;AAAE,iBAAW,EAAX;AAAF,KAFpB,GAGT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KAHjB,GAIT,SAAS,KAAK,SAAd,IAA2B;AAAE,eAAS,EAAT;AAAF,KAJlB,GAKT,QAAQ,KAAK,SAAb,IAA0B;AAAE,cAAQ,EAAR;AAAF,KALjB,GAMT,YAAY,KAAK,SAAjB,IAA8B;AAAE,aAAO,EAAE;AAAX,KANrB,CAAjB;;AASA,QAAI,IAAI,KAAK,QAAb,EAAuB;AACnB,2BAAqB,CAAC,GAAD,CAArB,GAA0B,4DACnB,oBADmB,GAEnB,WAFmB,GAER;AACd,YAAI,EAAJ;AADc,OAFQ,GAIlB,UAAU,IAAI;AAAE,kBAAU,EAAE,sCAAsC,CAAC,UAAD;AAApD,OAJI,CAA1B;;AAMA,UAAI,iBAAJ,EAAuB;AACnB,YAAI,yBAAyB,GAAG,EAAhC;AACA,cAAM,CAAC,IAAP,CAAY,iBAAZ,EAA+B,OAA/B,CAAuC,UAAC,GAAD,EAAc;AACjD,mCAAyB,mCAClB,yBADkB,GAElB,sCAAsC,qBAAI,GAAJ,EAAU,iBAAiB,CAAC,GAAD,CAA3B,EAFpB,CAAzB;AAIH,SALD;AAMA,6BAAqB,CAAC,GAAD,CAArB,CAA2B,iBAA3B,GAA+C,yBAA/C;AACH;AACJ,KAjBD,MAiBO;AACH,2BAAqB,CAAC,GAAD,CAArB,GAA0B,gCACnB,WADmB,GACR;AACd,aAAK,EAAE,C,4BAEE,E,EAAC,IAAI,KAAK,SAAT,IAAsB;AAAE,cAAI,EAAJ;AAAF,S,GAAc,oB,CAFvC,EAGH,qBAHG;AADO,OADQ,CAA1B;AAQH;AACJ,GAvDD;AAwDA,SAAO,qBAAP;AACH;;AAmIG;AAjIJ;;;;;;AAMG;;AACH,SAAS,aAAT,CAAuB,SAAvB,EAA2C;AACvC,MAAM,cAAc,GAAc,SAAlC;;AACA,MAAI,SAAS,CAAC,QAAV,CAAmB,OAAnB,CAA2B,0BAAY,eAAvC,MAA4D,CAAC,CAAjE,EAAoE;AAChE,kBAAc,CAAC,aAAf,GAA+B,sCAAsC,CAAC,SAAS,CAAC,aAAX,CAArE;AACH;;AACD,gBAAc,CAAC,YAAf,GAA8B,SAAS,CAAC,YAAV,CAAuB,GAAvB,CAC1B,UAAC,MAAD,EAAuC;AACnC,2CAAY,MAAZ,GAAkB;AAAE,UAAI,EAAE;AAAR,KAAlB;AACH,GAHyB,CAA9B;AAKA,SAAO,cAAP;AACH;;AA8GG;AA5GJ;;;;;AAKG;;AACH,SAAS,sBAAT,CAAgC,SAAhC,EAAoD;AAChD,MAAM,4BAA4B,GAAc,SAAhD;AACA,8BAA4B,CAAC,YAA7B,GAA4C,SAAS,CAAC,YAAV,CAAuB,GAAvB,CACxC,UAAC,MAAD,EAAuC;AACnC,2CAAY,MAAZ,GAAkB;AAAE,UAAI,EAAE;AAAR,KAAlB;AACH,GAHuC,CAA5C;AAKA,SAAO,4BAAP;AACH;;AAmGG;;AAjGJ,SAAS,eAAT,CAAyB,MAAzB,EAAwC;AACpC,SAAQ,MAAM,IAAI,OAAO,MAAP,KAAkB,QAA5B,IAAwC,MAAM,CAAC,IAAP,GAAc,UAAd,CAAyB,GAAzB,CAAzC,IAA2E,KAAlF;AACH;;AA4FG,0C,CA1FJ;AACA;;AAEA;;;;;;;AAOG;;AACH,SAAS,qBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,SAAO,iBAAiB,CAAC,KAAlB,CACH,UAAC,UAAD;AAAA,WACK,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAAvE,IACC,aAAa,CAAC,UAAD,CAAb,KAA8B,SAA9B,IAA2C,UAAU,CAAC,UAAD,CAAV,KAA2B,SAF3E;AAAA,GADG,CAAP;AAKH;AAED;;AAEG;;;AACH,SAAS,oBAAT,CACI,UADJ,EAEI,aAFJ,EAE+C;AAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB;AACA,SAAO,gBAAgB,CAAC,KAAjB,CACH,UAAC,SAAD;AAAA,WACI,eAAe,CAAC,aAAa,CAAC,SAAD,CAAd,CAAf,KAA8C,eAAe,CAAC,UAAU,CAAC,SAAD,CAAX,CADjE;AAAA,GADG,CAAP;AAIH;AAED;;;;;;;AAOG;;;AACH,SAAS,gBAAT,CACI,UADJ,EAEI,UAFJ,EAGI,OAHJ,EAG0B;AAEtB,SAAO,OAAO,CAAC,IAAR,CAAa,UAAC,MAAD,EAAoB;AACpC,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,aAAa,GAAG,aAAI,MAAJ,EAAY,CAAC,OAAD,EAAU,SAAV,CAAZ,EAAkC,EAAlC,CAAtB;AACA,QAAM,iBAAiB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAA1B;AACA,QAAM,gBAAgB,GAAG,MAAM,CAAC,IAAP,CAAY,aAAZ,CAAzB,CAJoC,CAMpC;AACA;;AACA,QAAI,iBAAiB,CAAC,MAAlB,KAA6B,CAA7B,IAAkC,gBAAgB,CAAC,MAAjB,KAA4B,CAAlE,EAAqE,OAAO,KAAP;AAErE,WACI,qBAAqB,CAAC,UAAD,EAAa,aAAb,CAArB,IACA,oBAAoB,CAAC,UAAD,EAAa,aAAb,CAFxB;AAIH,GAdM,CAAP;AAeH;;AA0BG;AAnBJ;;;;;AAKG;;AACH,SAAS,uBAAT,CAAiC,kBAAjC,EAA2D;AACvD,SAAO,eAAM,CAAN,EAAS,kBAAkB,GAAG,CAA9B,EAAiC,GAAjC,CACH,UAAC,CAAD;AAAA,WAAyB;AACrB,WAAK,YAAK,CAAL,gBAAY,CAAC,GAAG,CAAJ,GAAQ,GAAR,GAAc,EAA1B,SAA+B,IAAI,MAAJ,CAAW,CAAX,CAA/B,MADgB;AAErB,WAAK,EAAE;AAFc,KAAzB;AAAA,GADG,CAAP;AAMH;;AAOG;AAIJ;;;;;;;AAOG;;AACI,IAAM,YAAY,GAAG,SAAf,YAAe,CACxB,MADwB,EAExB,KAFwB;AAAA,oCAGrB,WAHqB;AAGrB,eAHqB;AAAA;;AAAA,sCAMrB,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,KAAhB,CANqB,GAQrB,WARqB,qBAUrB,MAAM,CAAC,KAAP,CAAa,KAAb,CAVqB;AAAA,CAArB;;AAAM,uBAAY,YAAZ,C;;;;;;;ACvOb,qE;;;;;;;ACAA,iE;;;;;;;;;;;;;;ACAA;;AAUA,IAAM,UAAU,GAAsF,SAAhG,UAAgG;AAAA,MAClG,KADkG,QAClG,KADkG;AAAA,MAElG,MAFkG,QAElG,MAFkG;AAAA,MAGlG,aAHkG,QAGlG,aAHkG;AAAA,SAIhG,CACF;AACI,SAAK,EAAE,SAAE,KAAK,IAAI,YAAX,CADX;AAEI,UAAM,EAAE,iBAFZ;AAGI,UAAM,EAAE,cAHZ;AAII,eAAW,EAAE;AACT,mBAAa,EAAE,aAAa,IAAI,KADvB;AAET,YAAM,EAAN;AAFS;AAJjB,GADE,CAJgG;AAAA,CAAtG;;AAgBA,kBAAe,UAAf,C;;;;;;;AC1BA,qE;;;;;;;;;;;;;;ACAA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;;;;;;;;;;AAUG;AACH;AACA;AACA;;;;AAIG;;AACH;AACA;AACH,CArBD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;;ACAA,sE;;;;;;;ACAA,mC;;;;;;;ACAA,kE;;;;;;;;;;;;;;ACAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AAGA;;AACA;;AAEA,IAAM,YAAY,GAAiB;AAC/B,qBAAmB,EAAE,CACjB;AACI,QAAI,EAAE,SADV;AAEI,eAAW,EAAE;AAFjB,GADiB,CADU;AAO/B,qBAAmB,EAAE,CACjB;AACA;AACA;AACA;AACA;AALiB,GAPU;AAc/B,sBAAoB,EAAE;AAClB,WAAO,EAAE;AAAE,YAAM,EAAE,CAAV;AAAa,WAAK,EAAE;AAApB;AADS;AAdS,CAAnC;AAmBA,IAAM,IAAI,GAAY;AAClB,cAAY,EAAE,GADI;AAElB,eAAa,EAAE;AAFG,CAAtB;AAKA,IAAM,cAAc,GAAmB,EAAvC;AAEA,IAAM,aAAa,GAAkB;AACjC,iBAAe,EAAE;AACb,WAAO,EAAE,iCADI;AAEb,eAAW,EACP,2NAHS;AAIb,WAAO,EAAE,oCAJI;AAKb,QAAI,EAAE;AALO,GADgB;AAQjC,eAAa,EAAE;AACX,eAAW,EAAE,+CADF;AAEX,QAAI,EAAE,QAFK;AAGX,WAAO,EAAE;AAHE,GARkB;AAajC,mBAAiB,EAAE;AACf,eAAW,EACP,4IAFW;AAGf,QAAI,EAAE,QAHS;AAIf,WAAO,EAAE;AAJM,GAbc;AAmBjC,OAAK,EAAE;AACH,eAAW,EAAE,wDADV;AAEH,QAAI,EAAE,OAFH;AAGH,SAAK,EAAE;AACH,UAAI,EAAE;AADH,KAHJ;AAMH,WAAO,EAAE;AANN,GAnB0B;AA2BjC,YAAU,EAAE;AACR,WAAO,EAAE,sBADD;AAER,eAAW,EAAE,mDAFL;AAGR,QAAI,EAAE;AAHE,GA3BqB;AAgCjC,cAAY,EAAE;AACV,eAAW,EAAE,iEADH;AAEV,QAAI,EAAE,QAFI;AAGV,WAAO,EAAE,yBAAW,CAAC,QAAD,EAAW,qBAAX,EAAkC,KAAlC,CAAX,CAHC;AAIV,WAAO,EAAE;AAJC,GAhCmB;AAsCjC,aAAW,EAAE;AACT,WAAO,EAAE,KADA;AAET,eAAW,EAAE,wDAFJ;AAGT,QAAI,EAAE;AAHG,GAtCoB;AA2CjC,cAAY,EAAE;AACV,WAAO,EAAE,8CADC;AAEV,eAAW,EAAE,uFAFH;AAGV,QAAI,EAAE,OAHI;AAIV,SAAK,EAAE;AACH,UAAI,EAAE;AADH;AAJG,GA3CmB;AAmDjC,qBAAmB,EAAE;AACjB,eAAW,EACP,6GAFa;AAGjB,QAAI,EAAE;AAHW,GAnDY;AAwDjC,eAAa,EAAE;AACX,WAAO,EAAE,KADE;AAEX,eAAW,EAAE,4CAFF;AAGX,QAAI,EAAE;AAHK,GAxDkB;AA6DjC,OAAK,EAAE;AACH,eAAW,EAAE,kDADV;AAEH,QAAI,EAAE,OAFH;AAGH,SAAK,EAAE;AACH,UAAI,EAAE;AADH,KAHJ;AAMH,WAAO,EAAE;AANN,GA7D0B;AAqEjC,YAAU,EAAE;AACR,WAAO,EAAE,sBADD;AAER,eAAW,EAAE,iEAFL;AAGR,QAAI,EAAE;AAHE;AArEqB,CAArC;AA4EA,IAAM,MAAM,GAAmB;AAC3B,wBAAsB,EAAE,qCAAK;AAAA,WACzB,eAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,KAAV,CAAgB,KAAhB,CADE;AAER,aAAK,EAAE,oBAAU,eAAV,CAA0B,KAA1B;AAFC,OADX;AAKD,YAAM,EAAE,oBAAU,sBAAV,CAAiC,KAAjC;AALP,KAAL,EAMG,KANH,CADyB;AAAA;AADF,CAA/B;AAWA,IAAM,YAAY,GAAmB,CACjC;AACI,OAAK,EAAE,SAAE,SAAF,CADX;AAEI,QAAM,EAAE,CAAC,0BAAyB;AAAE,UAAM,EAAN;AAAF,GAAzB,CAAD;AAFZ,CADiC,EAKjC;AACI,OAAK,EAAE,SAAE,YAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,cAAF,CADX;AAEI,UAAM,EAAE,eAFZ;AAGI,UAAM,EAAE,iBAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAE,CACJ;AAAE,aAAK,EAAE,SAAE,KAAF,CAAT;AAAmB,aAAK,EAAE;AAA1B,OADI,EAEJ;AAAE,aAAK,EAAE,SAAE,OAAF,CAAT;AAAqB,aAAK,EAAE;AAA5B,OAFI;AADC;AAJjB,GADJ,CADI;AAFZ,CALiC,EAuBjC;AACI,OAAK,EAAE,SAAE,QAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,eAAF,CADX;AAEI,UAAM,EAAE,cAFZ;AAGI,UAAM,EAAE,iBAHZ;AAII,eAAW,EAAE;AACT,YAAM,EAAE,CACJ;AAAE,aAAK,EAAE,SAAE,QAAF,CAAT;AAAsB,aAAK,EAAE;AAA7B,OADI,EAEJ;AAAE,aAAK,EAAE,SAAE,kBAAF,CAAT;AAAgC,aAAK,EAAE;AAAvC,OAFI,EAGJ;AAAE,aAAK,EAAE,SAAE,KAAF,CAAT;AAAmB,aAAK,EAAE;AAA1B,OAHI;AADC;AAJjB,GADJ,CADI;AAFZ,CAvBiC,EA0CjC;AACI,OAAK,EAAE,SAAE,qBAAF,CADX;AAEI,QAAM,EAAE,CACJ,CACI;AACI,SAAK,EAAE,SAAE,oBAAF,CADX;AAEI,UAAM,EAAE,mBAFZ;AAGI,UAAM,EAAE,eAHZ;AAII,eAAW,EAAE;AACT,SAAG,EAAE,CADI;AAET,SAAG,EAAE,CAFI;AAGT,UAAI,EAAE;AAHG;AAJjB,GADJ,CADI,EAaJ,CACI;AACI,SAAK,EAAE,SAAE,uBAAF,CADX;AAEI,UAAM,EAAE,eAFZ;AAGI,UAAM,EAAE;AAHZ,GADJ,CAbI;AAFZ,CA1CiC,CAArC;AAoEA;;AAEG;;AACH,IAAM,MAAM,GAAc;AACtB;;AAEG;AACH,KAAG,EAAE,YAJiB;;AAKtB;;AAEG;AACH,MAAI,EAAE,KARgB;AAStB,UAAQ,EAAE,0BAAY,WATA;;AAUtB;;AAEG;AACH,MAAI,EAAE,kBAbgB;AActB,iBAAe,EAAE,kBAdK;AAetB,cAAY,EAAZ,YAfsB;AAgBtB,MAAI,EAAJ,IAhBsB;AAiBtB,gBAAc,EAAd,cAjBsB;AAkBtB,eAAa,EAAb,aAlBsB;AAmBtB,cAAY,EAAZ,YAnBsB;AAoBtB,QAAM,EAAE;AACJ,mBAAe;AACX,iBAAW,EAAE;AADF;AADX,GApBc;AAyBtB,UAAQ,EAAE,CAAC,0BAAY,eAAb,EAA8B,0BAAY,WAA1C,EAAuD,0BAAY,MAAnE,CAzBY;AA0BtB,QAAM,EAAN;AA1BsB,CAA1B;AA6BA,kBAAe,4BAAc,MAAd,CAAf,C;;;;;;;ACzOA,yD;;;;;;;;;;;;;;ACAA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACH,CAbD,EAAY,WAAW,GAAX,8CAAW,EAAX,CAAZ,E;;;;;;;ACAA,gD;;;;;;;ACAA,qD","file":"Pie.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 = 61);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\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: 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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\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/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","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(\"@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}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import SuiChartPieIcon from '@splunk/react-icons/ChartPie';\nimport { Pie as PiePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { COLOR_OR_TOKEN_PATTERN, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\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 { enhanceConfig } from '../common/utils/configUtils';\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 // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\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\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. 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,\n type: 'string',\n },\n collapseLabel: {\n description: 'Specify the label for the consolidated slice.',\n type: 'string',\n default: 'other',\n },\n collapseThreshold: {\n description:\n 'Specify the size threshold as a number between 0 and 1 (inclusive), of the whole pie at which slices collapse into one consolidated slice.',\n type: 'number',\n default: 0.01,\n },\n label: {\n description: 'List of string values to display the pie chart labels.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: '> primary | seriesByIndex(0)',\n },\n labelField: {\n default: '> label | getField()',\n description: 'Specify the field that corresponds to the labels.',\n type: 'string',\n },\n labelDisplay: {\n description: 'Specify whether to display the labels and/or slice percentages.',\n type: 'string',\n pattern: getPattern(['values', 'valuesAndPercentage', 'off']),\n default: 'values',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific pie slice labels. For example: {\"April\": \"#008000\", \"May\": \"#FFA500\"}.',\n type: 'object',\n },\n showDonutHole: {\n default: false,\n description: 'Specify whether the pie should be a donut.',\n type: 'boolean',\n },\n value: {\n description: 'List of numerical values to power the pie chart.',\n type: 'array',\n items: {\n type: 'number',\n },\n default: '> primary | seriesByIndex(1)',\n },\n valueField: {\n default: '> value | getField()',\n description: 'Specify the field that corresponds to the data powering values.',\n type: 'string',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n {\n label: _('Appearance'),\n layout: [\n [\n {\n label: _('Display type'),\n option: 'showDonutHole',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Pie'), value: false },\n { label: _('Donut'), value: true },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Labels'),\n layout: [\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Values'), value: 'values' },\n { label: _('Values & Percent'), value: 'valuesAndPercentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Collapse to Summary'),\n layout: [\n [\n {\n label: _('Collapse Threshold'),\n option: 'collapseThreshold',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 1,\n step: 0.01,\n },\n },\n ],\n [\n {\n label: _('Collapsed Slice Label'),\n option: 'collapseLabel',\n editor: 'editor.text',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.pie',\n /**\n * viz name\n */\n name: 'Pie',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: SuiChartPieIcon,\n placeholderIcon: PiePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'point.click': {\n description: 'triggered when user clicks on a point in the pie chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/ChartPie\");","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\");"],"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-color-palettes\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/Pie/config.ts","webpack:///external \"@splunk/react-icons/ChartPie\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"Pie.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 = 62);\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-color-palettes\");","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","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}\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: 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 SuiChartPieIcon from '@splunk/react-icons/ChartPie';\nimport { Pie as PiePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\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 { enhanceConfig } from '../common/utils/configUtils';\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 // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\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\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. 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 collapseLabel: {\n description: 'Specify the label for the consolidated slice.',\n type: 'string',\n default: 'other',\n },\n collapseThreshold: {\n description:\n 'Specify the size threshold as a number between 0 and 1 (inclusive), of the whole pie at which slices collapse into one consolidated slice.',\n type: 'number',\n default: 0.01,\n },\n label: {\n description: 'List of string values to display the pie chart labels.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: '> primary | seriesByIndex(0)',\n },\n labelField: {\n default: '> label | getField()',\n description: 'Specify the field that corresponds to the labels.',\n type: 'string',\n },\n labelDisplay: {\n description: 'Specify whether to display the labels and/or slice percentages.',\n type: 'string',\n pattern: getPattern(['values', 'valuesAndPercentage', 'off']),\n default: 'values',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific pie slice labels. For example: {\"April\": \"#008000\", \"May\": \"#FFA500\"}.',\n type: 'object',\n },\n showDonutHole: {\n default: false,\n description: 'Specify whether the pie should be a donut.',\n type: 'boolean',\n },\n value: {\n description: 'List of numerical values to power the pie chart.',\n type: 'array',\n items: {\n type: 'number',\n },\n default: '> primary | seriesByIndex(1)',\n },\n valueField: {\n default: '> value | getField()',\n description: 'Specify the field that corresponds to the data powering values.',\n type: 'string',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n {\n label: _('Appearance'),\n layout: [\n [\n {\n label: _('Display type'),\n option: 'showDonutHole',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Pie'), value: false },\n { label: _('Donut'), value: true },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Labels'),\n layout: [\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Values'), value: 'values' },\n { label: _('Values & Percent'), value: 'valuesAndPercentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Collapse to Summary'),\n layout: [\n [\n {\n label: _('Collapse Threshold'),\n option: 'collapseThreshold',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 1,\n step: 0.01,\n },\n },\n ],\n [\n {\n label: _('Collapsed Slice Label'),\n option: 'collapseLabel',\n editor: 'editor.text',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.pie',\n /**\n * viz name\n */\n name: 'Pie',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: SuiChartPieIcon,\n placeholderIcon: PiePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'point.click': {\n description: 'triggered when user clicks on a point in the pie chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/ChartPie\");","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":""}