@splunk/visualizations 25.0.0 → 25.0.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 (142) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  19. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  20. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  21. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  22. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  23. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  24. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  25. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  26. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  27. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  28. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  29. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
  44. package/Area.config.js +26 -1
  45. package/Area.config.js.map +1 -1
  46. package/Area.js +49 -23
  47. package/Area.js.map +1 -1
  48. package/Bar.config.js +26 -1
  49. package/Bar.config.js.map +1 -1
  50. package/Bar.js +49 -23
  51. package/Bar.js.map +1 -1
  52. package/Bubble.config.js +26 -1
  53. package/Bubble.config.js.map +1 -1
  54. package/Bubble.js +49 -23
  55. package/Bubble.js.map +1 -1
  56. package/ChoroplethSvg.config.js +27 -3
  57. package/ChoroplethSvg.config.js.map +1 -1
  58. package/ChoroplethSvg.js +73 -48
  59. package/ChoroplethSvg.js.map +1 -1
  60. package/Column.config.js +26 -1
  61. package/Column.config.js.map +1 -1
  62. package/Column.js +49 -23
  63. package/Column.js.map +1 -1
  64. package/Ellipse.config.js +26 -1
  65. package/Ellipse.config.js.map +1 -1
  66. package/Ellipse.js +58 -32
  67. package/Ellipse.js.map +1 -1
  68. package/FillerGauge.config.js +27 -2
  69. package/FillerGauge.config.js.map +1 -1
  70. package/FillerGauge.js +60 -34
  71. package/FillerGauge.js.map +1 -1
  72. package/Image.config.js +27 -3
  73. package/Image.config.js.map +1 -1
  74. package/Image.js +58 -34
  75. package/Image.js.map +1 -1
  76. package/Line.config.js +26 -1
  77. package/Line.config.js.map +1 -1
  78. package/Line.js +49 -23
  79. package/Line.js.map +1 -1
  80. package/LinkGraph.config.js +26 -1
  81. package/LinkGraph.config.js.map +1 -1
  82. package/LinkGraph.js +87 -61
  83. package/LinkGraph.js.map +1 -1
  84. package/Map.config.js +42 -5
  85. package/Map.config.js.map +1 -1
  86. package/Map.js +100 -60
  87. package/Map.js.map +1 -1
  88. package/Markdown.config.js +28 -5
  89. package/Markdown.config.js.map +1 -1
  90. package/Markdown.js +58 -35
  91. package/Markdown.js.map +1 -1
  92. package/MarkerGauge.config.js +31 -7
  93. package/MarkerGauge.config.js.map +1 -1
  94. package/MarkerGauge.js +2939 -3022
  95. package/MarkerGauge.js.map +1 -1
  96. package/ParallelCoordinates.config.js +35 -10
  97. package/ParallelCoordinates.config.js.map +1 -1
  98. package/ParallelCoordinates.js +61 -35
  99. package/ParallelCoordinates.js.map +1 -1
  100. package/Pie.config.js +32 -8
  101. package/Pie.config.js.map +1 -1
  102. package/Pie.js +2242 -2330
  103. package/Pie.js.map +1 -1
  104. package/Punchcard.config.js +28 -5
  105. package/Punchcard.config.js.map +1 -1
  106. package/Punchcard.js +72 -48
  107. package/Punchcard.js.map +1 -1
  108. package/Rectangle.config.js +28 -3
  109. package/Rectangle.config.js.map +1 -1
  110. package/Rectangle.js +155 -130
  111. package/Rectangle.js.map +1 -1
  112. package/Sankey.config.js +30 -5
  113. package/Sankey.config.js.map +1 -1
  114. package/Sankey.js +107 -82
  115. package/Sankey.js.map +1 -1
  116. package/Scatter.config.js +29 -3
  117. package/Scatter.config.js.map +1 -1
  118. package/Scatter.js +47 -22
  119. package/Scatter.js.map +1 -1
  120. package/SingleValue.config.js +33 -7
  121. package/SingleValue.config.js.map +1 -1
  122. package/SingleValue.js +63 -38
  123. package/SingleValue.js.map +1 -1
  124. package/SingleValueBasic.js +2 -2
  125. package/SingleValueIcon.config.js +31 -5
  126. package/SingleValueIcon.config.js.map +1 -1
  127. package/SingleValueIcon.js +71 -45
  128. package/SingleValueIcon.js.map +1 -1
  129. package/SingleValueRadial.config.js +160 -165
  130. package/SingleValueRadial.config.js.map +1 -1
  131. package/SingleValueRadial.js +112 -87
  132. package/SingleValueRadial.js.map +1 -1
  133. package/Table.config.js +31 -6
  134. package/Table.config.js.map +1 -1
  135. package/Table.js +249 -224
  136. package/Table.js.map +1 -1
  137. package/common/OptionsDoc.js +26 -1
  138. package/common/OptionsDoc.js.map +1 -1
  139. package/common/utils/configUtils.js +26 -1
  140. package/common/utils/configUtils.js.map +1 -1
  141. package/common/withDashboardViz.js +2 -2
  142. package/package.json +10 -10
package/Ellipse.config.js CHANGED
@@ -123,7 +123,7 @@ var __rest = this && this.__rest || function (s, e) {
123
123
  Object.defineProperty(exports, "__esModule", {
124
124
  value: true
125
125
  });
126
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
126
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
127
127
 
128
128
  var lodash_1 = __webpack_require__(5);
129
129
 
@@ -198,8 +198,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
198
198
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
199
199
  /**
200
200
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
201
+ * this function also collapse all editor panels
201
202
  * @param vizConfig a Visualization Config
202
203
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
204
+ * and containing `open: false` for all editor panels in editorConfig
203
205
  */
204
206
 
205
207
  function enhanceConfig(vizConfig) {
@@ -209,10 +211,33 @@ function enhanceConfig(vizConfig) {
209
211
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
210
212
  }
211
213
 
214
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
215
+ return Object.assign(Object.assign({}, config), {
216
+ open: false
217
+ });
218
+ });
212
219
  return enhancedConfig;
213
220
  }
214
221
 
215
222
  exports.enhanceConfig = enhanceConfig;
223
+ /**
224
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
225
+ * Created for editor unit tests
226
+ * @param vizConfig a Visualization Config
227
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
228
+ */
229
+
230
+ function uncollapseEditorConfig(vizConfig) {
231
+ var editorPanelUncollapsedConfig = vizConfig;
232
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
233
+ return Object.assign(Object.assign({}, config), {
234
+ open: true
235
+ });
236
+ });
237
+ return editorPanelUncollapsedConfig;
238
+ }
239
+
240
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
216
241
 
217
242
  function isDynamicOption(option) {
218
243
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.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/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":[],"mappings":"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","file":"Ellipse.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 42);\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 } 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 * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\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 return enhancedConfig;\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};\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(\"@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\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Fill Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill Color'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Stroke Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke Color'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Static Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Static Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill & Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [\n [\n {\n label: _('Fill Opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke Width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Dash Style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: 'Dynamic Elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: 'Ellipse',\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.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/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":[],"mappings":"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","file":"Ellipse.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 42);\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(\"@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\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Fill Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill Color'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Stroke Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke Color'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Static Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Static Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill & Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [\n [\n {\n label: _('Fill Opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke Width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Dash Style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: 'Dynamic Elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: 'Ellipse',\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
package/Ellipse.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 = 169);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 170);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -184,7 +184,7 @@ var __rest = this && this.__rest || function (s, e) {
184
184
  Object.defineProperty(exports, "__esModule", {
185
185
  value: true
186
186
  });
187
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
187
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
188
188
 
189
189
  var lodash_1 = __webpack_require__(2);
190
190
 
@@ -259,8 +259,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
259
259
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
260
260
  /**
261
261
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
262
+ * this function also collapse all editor panels
262
263
  * @param vizConfig a Visualization Config
263
264
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
265
+ * and containing `open: false` for all editor panels in editorConfig
264
266
  */
265
267
 
266
268
  function enhanceConfig(vizConfig) {
@@ -270,10 +272,33 @@ function enhanceConfig(vizConfig) {
270
272
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
271
273
  }
272
274
 
275
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
276
+ return Object.assign(Object.assign({}, config), {
277
+ open: false
278
+ });
279
+ });
273
280
  return enhancedConfig;
274
281
  }
275
282
 
276
283
  exports.enhanceConfig = enhanceConfig;
284
+ /**
285
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
286
+ * Created for editor unit tests
287
+ * @param vizConfig a Visualization Config
288
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
289
+ */
290
+
291
+ function uncollapseEditorConfig(vizConfig) {
292
+ var editorPanelUncollapsedConfig = vizConfig;
293
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
294
+ return Object.assign(Object.assign({}, config), {
295
+ open: true
296
+ });
297
+ });
298
+ return editorPanelUncollapsedConfig;
299
+ }
300
+
301
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
277
302
 
278
303
  function isDynamicOption(option) {
279
304
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -381,7 +406,7 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
381
406
  "use strict";
382
407
 
383
408
 
384
- var _typeof = __webpack_require__(23);
409
+ var _typeof = __webpack_require__(25);
385
410
 
386
411
  Object.defineProperty(exports, "__esModule", {
387
412
  value: true
@@ -566,7 +591,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
566
591
 
567
592
  return React.createElement(FixSizeItem, {
568
593
  "data-test": "fix-size-item",
569
- "data-splunk-visualization-version": "25.0.0 - 5e0f30e5a",
594
+ "data-splunk-visualization-version": "25.0.1 - de10ad954",
570
595
  width: width,
571
596
  height: height,
572
597
  backgroundColor: backgroundColor
@@ -630,14 +655,8 @@ module.exports = require("@splunk/visualization-context/TimezoneContext");
630
655
  module.exports = require("@splunk/visualizations-shared/propUtils");
631
656
 
632
657
  /***/ }),
633
- /* 23 */
634
- /***/ (function(module, exports) {
635
-
636
- module.exports = require("@babel/runtime/helpers/typeof");
637
-
638
- /***/ }),
639
- /* 24 */,
640
- /* 25 */
658
+ /* 23 */,
659
+ /* 24 */
641
660
  /***/ (function(module, exports, __webpack_require__) {
642
661
 
643
662
  "use strict";
@@ -669,6 +688,12 @@ var pickFieldFromJSONSchema = function pickFieldFromJSONSchema(optionsSchema) {
669
688
 
670
689
  exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
671
690
 
691
+ /***/ }),
692
+ /* 25 */
693
+ /***/ (function(module, exports) {
694
+
695
+ module.exports = require("@babel/runtime/helpers/typeof");
696
+
672
697
  /***/ }),
673
698
  /* 26 */
674
699
  /***/ (function(module, exports, __webpack_require__) {
@@ -959,7 +984,7 @@ var getPagination_1 = __webpack_require__(28);
959
984
 
960
985
  var useDeepMemo_1 = __webpack_require__(38);
961
986
 
962
- var JSONSchemaUtils_1 = __webpack_require__(25);
987
+ var JSONSchemaUtils_1 = __webpack_require__(24);
963
988
 
964
989
  var MissingPropsMessage_1 = __webpack_require__(39);
965
990
 
@@ -1539,7 +1564,7 @@ var Cover = styled_components_1.default.div.withConfig({
1539
1564
  componentId: "sc-1gsbnxb-0"
1540
1565
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
1541
1566
  var Blocker = styled_components_1.default.div.attrs({
1542
- 'data-splunk-visualization-version': "25.0.0 - 5e0f30e5a"
1567
+ 'data-splunk-visualization-version': "25.0.1 - de10ad954"
1543
1568
  }).withConfig({
1544
1569
  displayName: "withEditModeCover__Blocker",
1545
1570
  componentId: "sc-1gsbnxb-1"
@@ -1697,7 +1722,8 @@ module.exports = require("@splunk/visualization-color-palettes/editors/PresetPal
1697
1722
  /* 92 */,
1698
1723
  /* 93 */,
1699
1724
  /* 94 */,
1700
- /* 95 */
1725
+ /* 95 */,
1726
+ /* 96 */
1701
1727
  /***/ (function(module, exports, __webpack_require__) {
1702
1728
 
1703
1729
  "use strict";
@@ -1752,7 +1778,7 @@ var getDynamicFillColorEditor = function getDynamicFillColorEditor(_ref) {
1752
1778
  exports.getDynamicFillColorEditor = getDynamicFillColorEditor;
1753
1779
 
1754
1780
  /***/ }),
1755
- /* 96 */
1781
+ /* 97 */
1756
1782
  /***/ (function(module, exports, __webpack_require__) {
1757
1783
 
1758
1784
  "use strict";
@@ -1807,7 +1833,7 @@ var getDynamicStrokeColorEditor = function getDynamicStrokeColorEditor(_ref) {
1807
1833
  exports.getDynamicStrokeColorEditor = getDynamicStrokeColorEditor;
1808
1834
 
1809
1835
  /***/ }),
1810
- /* 97 */
1836
+ /* 98 */
1811
1837
  /***/ (function(module, exports, __webpack_require__) {
1812
1838
 
1813
1839
  "use strict";
@@ -1833,7 +1859,7 @@ var StaticFillColorEditor = {
1833
1859
  exports.default = StaticFillColorEditor;
1834
1860
 
1835
1861
  /***/ }),
1836
- /* 98 */
1862
+ /* 99 */
1837
1863
  /***/ (function(module, exports, __webpack_require__) {
1838
1864
 
1839
1865
  "use strict";
@@ -1859,7 +1885,7 @@ var StaticStrokeColorEditor = {
1859
1885
  exports.default = StaticStrokeColorEditor;
1860
1886
 
1861
1887
  /***/ }),
1862
- /* 99 */
1888
+ /* 100 */
1863
1889
  /***/ (function(module, exports, __webpack_require__) {
1864
1890
 
1865
1891
  "use strict";
@@ -1935,7 +1961,6 @@ var getStyledShape = function getStyledShape(shape) {
1935
1961
  exports.getStyledShape = getStyledShape;
1936
1962
 
1937
1963
  /***/ }),
1938
- /* 100 */,
1939
1964
  /* 101 */,
1940
1965
  /* 102 */,
1941
1966
  /* 103 */,
@@ -1957,7 +1982,8 @@ exports.getStyledShape = getStyledShape;
1957
1982
  /* 119 */,
1958
1983
  /* 120 */,
1959
1984
  /* 121 */,
1960
- /* 122 */
1985
+ /* 122 */,
1986
+ /* 123 */
1961
1987
  /***/ (function(module, exports, __webpack_require__) {
1962
1988
 
1963
1989
  "use strict";
@@ -1989,13 +2015,13 @@ var styled_components_1 = __webpack_require__(4);
1989
2015
 
1990
2016
  var T = __webpack_require__(0);
1991
2017
 
1992
- var config_1 = __webpack_require__(170);
2018
+ var config_1 = __webpack_require__(171);
1993
2019
 
1994
2020
  exports.config = config_1.default;
1995
2021
 
1996
2022
  var withDashboardViz_1 = __webpack_require__(30);
1997
2023
 
1998
- var shapeUtils_1 = __webpack_require__(99);
2024
+ var shapeUtils_1 = __webpack_require__(100);
1999
2025
 
2000
2026
  var validOptions = Object.keys(config_1.default.optionsSchema);
2001
2027
  var SVGContainer = styled_components_1.default.svg.withConfig({
@@ -2064,7 +2090,6 @@ exports.themes = themes;
2064
2090
  exports.default = Ellipse;
2065
2091
 
2066
2092
  /***/ }),
2067
- /* 123 */,
2068
2093
  /* 124 */,
2069
2094
  /* 125 */,
2070
2095
  /* 126 */,
@@ -2110,7 +2135,8 @@ exports.default = Ellipse;
2110
2135
  /* 166 */,
2111
2136
  /* 167 */,
2112
2137
  /* 168 */,
2113
- /* 169 */
2138
+ /* 169 */,
2139
+ /* 170 */
2114
2140
  /***/ (function(module, exports, __webpack_require__) {
2115
2141
 
2116
2142
  "use strict";
@@ -2140,9 +2166,9 @@ Object.defineProperty(exports, "__esModule", {
2140
2166
  });
2141
2167
  exports.default = void 0;
2142
2168
 
2143
- __exportStar(__webpack_require__(122), exports);
2169
+ __exportStar(__webpack_require__(123), exports);
2144
2170
 
2145
- var Ellipse_1 = __webpack_require__(122);
2171
+ var Ellipse_1 = __webpack_require__(123);
2146
2172
 
2147
2173
  Object.defineProperty(exports, "default", {
2148
2174
  enumerable: true,
@@ -2152,7 +2178,7 @@ Object.defineProperty(exports, "default", {
2152
2178
  });
2153
2179
 
2154
2180
  /***/ }),
2155
- /* 170 */
2181
+ /* 171 */
2156
2182
  /***/ (function(module, exports, __webpack_require__) {
2157
2183
 
2158
2184
  "use strict";
@@ -2176,13 +2202,13 @@ var VizCategory_1 = __webpack_require__(29);
2176
2202
 
2177
2203
  var configUtils_1 = __webpack_require__(6);
2178
2204
 
2179
- var DynamicFillColorEditor_1 = __webpack_require__(95);
2205
+ var DynamicFillColorEditor_1 = __webpack_require__(96);
2180
2206
 
2181
- var DynamicStrokeColorEditor_1 = __webpack_require__(96);
2207
+ var DynamicStrokeColorEditor_1 = __webpack_require__(97);
2182
2208
 
2183
- var StaticFillColorEditor_1 = __webpack_require__(97);
2209
+ var StaticFillColorEditor_1 = __webpack_require__(98);
2184
2210
 
2185
- var StaticStrokeColorEditor_1 = __webpack_require__(98);
2211
+ var StaticStrokeColorEditor_1 = __webpack_require__(99);
2186
2212
 
2187
2213
  var dataContract = {
2188
2214
  requiredDataSources: [],