@splunk/visualizations 27.5.0 → 28.0.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 (164) hide show
  1. package/Area.config.js +19 -21
  2. package/Area.config.js.map +3 -3
  3. package/Area.js +54 -32
  4. package/Area.js.map +3 -3
  5. package/Bar.config.js +18 -21
  6. package/Bar.config.js.map +3 -3
  7. package/Bar.js +48 -31
  8. package/Bar.js.map +3 -3
  9. package/Bubble.config.js +39 -44
  10. package/Bubble.config.js.map +4 -4
  11. package/Bubble.js +69 -51
  12. package/Bubble.js.map +4 -4
  13. package/CHANGELOG.external.md +35 -7
  14. package/ChoroplethSvg.config.js +47 -43
  15. package/ChoroplethSvg.config.js.map +4 -4
  16. package/ChoroplethSvg.js +72 -45
  17. package/ChoroplethSvg.js.map +4 -4
  18. package/Column.config.js +15 -20
  19. package/Column.config.js.map +3 -3
  20. package/Column.js +42 -29
  21. package/Column.js.map +3 -3
  22. package/Ellipse.config.js +16 -7
  23. package/Ellipse.config.js.map +2 -2
  24. package/Ellipse.js +45 -19
  25. package/Ellipse.js.map +2 -2
  26. package/Events.config.js +38 -27
  27. package/Events.config.js.map +4 -4
  28. package/Events.js +113 -97
  29. package/Events.js.map +4 -4
  30. package/FEATUREFLAGS.md +9 -9
  31. package/FillerGauge.config.js +20 -13
  32. package/FillerGauge.config.js.map +3 -3
  33. package/FillerGauge.js +76 -27
  34. package/FillerGauge.js.map +4 -4
  35. package/Image.config.js +5 -6
  36. package/Image.config.js.map +2 -2
  37. package/Image.js +29 -14
  38. package/Image.js.map +2 -2
  39. package/Line.config.js +15 -20
  40. package/Line.config.js.map +3 -3
  41. package/Line.js +50 -31
  42. package/Line.js.map +3 -3
  43. package/LinkGraph.config.js +39 -46
  44. package/LinkGraph.config.js.map +3 -3
  45. package/LinkGraph.js +70 -50
  46. package/LinkGraph.js.map +3 -3
  47. package/MIGRATION.md +169 -40
  48. package/Map.config.js +36 -13
  49. package/Map.config.js.map +4 -4
  50. package/Map.js +170 -105
  51. package/Map.js.map +4 -4
  52. package/Markdown.config.js +4 -5
  53. package/Markdown.config.js.map +2 -2
  54. package/Markdown.js +117 -72
  55. package/Markdown.js.map +3 -3
  56. package/MarkerGauge.config.js +14 -12
  57. package/MarkerGauge.config.js.map +3 -3
  58. package/MarkerGauge.js +107 -69
  59. package/MarkerGauge.js.map +4 -4
  60. package/ParallelCoordinates.config.js +14 -12
  61. package/ParallelCoordinates.config.js.map +3 -3
  62. package/ParallelCoordinates.js +113 -59
  63. package/ParallelCoordinates.js.map +3 -3
  64. package/Pie.config.js +51 -38
  65. package/Pie.config.js.map +4 -4
  66. package/Pie.js +109 -85
  67. package/Pie.js.map +4 -4
  68. package/Punchcard.config.js +36 -34
  69. package/Punchcard.config.js.map +4 -4
  70. package/Punchcard.js +153 -87
  71. package/Punchcard.js.map +4 -4
  72. package/README.internal.md +15 -15
  73. package/README.md +10 -10
  74. package/Rectangle.config.js +16 -7
  75. package/Rectangle.config.js.map +2 -2
  76. package/Rectangle.js +45 -19
  77. package/Rectangle.js.map +2 -2
  78. package/Sankey.config.js +69 -17
  79. package/Sankey.config.js.map +4 -4
  80. package/Sankey.js +178 -49
  81. package/Sankey.js.map +4 -4
  82. package/Scatter.config.js +37 -42
  83. package/Scatter.config.js.map +3 -3
  84. package/Scatter.js +70 -53
  85. package/Scatter.js.map +3 -3
  86. package/SingleValue.config.js +32 -18
  87. package/SingleValue.config.js.map +4 -4
  88. package/SingleValue.js +237 -93
  89. package/SingleValue.js.map +4 -4
  90. package/SingleValueBasic.js +1 -0
  91. package/SingleValueBasic.js.map +2 -2
  92. package/SingleValueIcon.config.js +22 -11
  93. package/SingleValueIcon.config.js.map +2 -2
  94. package/SingleValueIcon.js +84 -28
  95. package/SingleValueIcon.js.map +2 -2
  96. package/SingleValueRadial.config.js +34 -23
  97. package/SingleValueRadial.config.js.map +3 -3
  98. package/SingleValueRadial.js +89 -48
  99. package/SingleValueRadial.js.map +4 -4
  100. package/SparkLine.js +153 -49
  101. package/SparkLine.js.map +2 -2
  102. package/Table.config.js +71 -51
  103. package/Table.config.js.map +3 -3
  104. package/Table.js +282 -145
  105. package/Table.js.map +3 -3
  106. package/Timeline.config.js +36 -34
  107. package/Timeline.config.js.map +4 -4
  108. package/Timeline.js +67 -59
  109. package/Timeline.js.map +4 -4
  110. package/common/Charting.js +1 -0
  111. package/common/Charting.js.map +2 -2
  112. package/common/ChartingApi.js +1 -0
  113. package/common/ChartingApi.js.map +1 -1
  114. package/common/DocExampleWithVizSandbox.js +7 -2
  115. package/common/DocExampleWithVizSandbox.js.map +2 -2
  116. package/common/EventsDoc.js +31 -5
  117. package/common/EventsDoc.js.map +4 -4
  118. package/common/GaugeMajorTicks.js +4 -1
  119. package/common/GaugeMajorTicks.js.map +2 -2
  120. package/common/GaugeValueMarker.js +31 -3
  121. package/common/GaugeValueMarker.js.map +4 -4
  122. package/common/OptionsDoc.js +4 -1
  123. package/common/OptionsDoc.js.map +2 -2
  124. package/common/OverviewDoc.js +66 -50
  125. package/common/OverviewDoc.js.map +4 -4
  126. package/common/SplunkVisualization.js +1 -0
  127. package/common/SplunkVisualization.js.map +1 -1
  128. package/common/SplunkVisualizationApi.js +1 -0
  129. package/common/SplunkVisualizationApi.js.map +1 -1
  130. package/common/ThemedDefaults.js +67 -0
  131. package/common/ThemedDefaults.js.map +7 -0
  132. package/common/ThemesDoc.js +6 -9
  133. package/common/ThemesDoc.js.map +2 -2
  134. package/common/chartingUtils.js +1 -0
  135. package/common/chartingUtils.js.map +2 -2
  136. package/common/docUtils.js +6 -1
  137. package/common/docUtils.js.map +2 -2
  138. package/common/gaugeUtils.js +6 -1
  139. package/common/gaugeUtils.js.map +2 -2
  140. package/common/shapeUtils.js +6 -4
  141. package/common/shapeUtils.js.map +2 -2
  142. package/common/utils/configUtils.js +4 -5
  143. package/common/utils/configUtils.js.map +2 -2
  144. package/common/utils/dataUtils.js +1 -0
  145. package/common/utils/dataUtils.js.map +2 -2
  146. package/common/utils/featureFlagUtils.js +1 -0
  147. package/common/utils/featureFlagUtils.js.map +1 -1
  148. package/common/utils/hocUtils.js +1 -0
  149. package/common/utils/hocUtils.js.map +1 -1
  150. package/common/utils/mapUtils.js +35 -22
  151. package/common/utils/mapUtils.js.map +4 -4
  152. package/common/utils/singleValueUtils.js +8 -2
  153. package/common/utils/singleValueUtils.js.map +2 -2
  154. package/common/utils/styleUtils.js +1 -0
  155. package/common/utils/styleUtils.js.map +1 -1
  156. package/common/utils/testHelper.js +1 -0
  157. package/common/utils/testHelper.js.map +1 -1
  158. package/common/utils/trellisUtils.js +1 -0
  159. package/common/utils/trellisUtils.js.map +1 -1
  160. package/common/utils/urlUtils.js +1 -0
  161. package/common/utils/urlUtils.js.map +1 -1
  162. package/common/withDashboardViz.js +25 -8
  163. package/common/withDashboardViz.js.map +2 -2
  164. package/package.json +37 -35
@@ -12,7 +12,7 @@ Install @splunk/visualizations
12
12
 
13
13
  1. Install peer dependencies
14
14
  ```
15
- npm install react@^16 react-dom@^16 styled-components@5 @splunk/visualization-context --save
15
+ npm install react@^18 react-dom@^18 styled-components@5 @splunk/visualization-context --save
16
16
  ```
17
17
  1. Install the visualizations package
18
18
  ```
@@ -52,11 +52,11 @@ const MyAppWithSplunkLineChart = props => {
52
52
 
53
53
  You can use UDF to create dashboards with visualizations, or you can work directly with the visualizations library. If you're not familiar with UDF, it is a unified library of UI components that render a dashboard for developers who write JavaScript, and is well suited for Splunk Enterprise and Splunk Cloud Platform apps. For developers, UDF offers:
54
54
 
55
- - two distinct layout systems, as well as custom layout
56
- - search lifecycle management
57
- - inputs for text entry, dropdown, multiselect, timerange, and numbers
58
- - Splunk visualizations to enhance data presentation
59
- - tokens to pass runtime values within a dashboard
55
+ - two distinct layout systems, as well as custom layout
56
+ - search lifecycle management
57
+ - inputs for text entry, dropdown, multiselect, timerange, and numbers
58
+ - Splunk visualizations to enhance data presentation
59
+ - tokens to pass runtime values within a dashboard
60
60
 
61
61
  To install the UDF library, see the setup guide in the [Quick Start](https://splunkui.splunkeng.com/Packages/dashboard-docs/?path=%2FQuickStart). When you have it installed, follow the quick start to install dependencies and learn about using the libraries.
62
62
 
@@ -68,10 +68,10 @@ Install the visualizations libraries and dependencies listed in the [Visualizati
68
68
 
69
69
  A React visualization is reusable bits of code that you can use in an app or dashboard. Each visualization component's documentation includes the following:
70
70
 
71
- - Overview and commonly used configurations
72
- - Examples of how to use various options
73
- - Options available and their respective types and defaults
74
- - Events available and their respective payloads
71
+ - Overview and commonly used configurations
72
+ - Examples of how to use various options
73
+ - Options available and their respective types and defaults
74
+ - Events available and their respective payloads
75
75
 
76
76
  **Examples** depict a visualization as it will appear in an app or dashboard. When you click on **Show Code**, the UI displays the React component code.
77
77
 
@@ -83,8 +83,8 @@ Dynamic options syntax (DOS), also referred to as DSL in the docs, exposes even
83
83
 
84
84
  ## Resources
85
85
 
86
- - Release schedule can be found at [UDF & Visualization Releases](https://splunk.atlassian.net/wiki/spaces/SWP/pages/1078219509308/UDF+Visualization+Releases)
87
- - Documentation and API reference can be found at [@splunk/visualizations](https://splunkui.splunkeng.com/Packages/visualizations)
88
- - Storybooks playground with the main branch can be found at [devplat.splunkdev.page/vision](https://devplat.splunkdev.page/vision)
89
- - A Splunk app using UDF with the main branch visualization viewing/editing/exporting experience can be found at [vizplayground:8000](http://vizplayground:8000)
90
- - To request access to the Viz Playground instance, please fill out [this form](https://forms.gle/JEkUDXiYE52qLzcL6)
86
+ - Release schedule can be found at [UDF & Visualization Releases](https://splunk.atlassian.net/wiki/spaces/SWP/pages/1078219509308/UDF+Visualization+Releases)
87
+ - Documentation and API reference can be found at [@splunk/visualizations](https://splunkui.splunkeng.com/Packages/visualizations)
88
+ - Storybooks playground with the main branch can be found at [devplat.splunkdev.page/vision](https://devplat.splunkdev.page/vision)
89
+ - A Splunk app using UDF with the main branch visualization viewing/editing/exporting experience can be found at [vizplayground:8000](http://vizplayground:8000)
90
+ - To request access to the Viz Playground instance, please fill out [this form](https://forms.gle/JEkUDXiYE52qLzcL6)
package/README.md CHANGED
@@ -10,7 +10,7 @@ Install @splunk/visualizations
10
10
 
11
11
  1. Install peer dependencies
12
12
  ```
13
- npm install react@^16 react-dom@^16 styled-components@5 @splunk/visualization-context --save
13
+ npm install react@^18 react-dom@^18 styled-components@5 @splunk/visualization-context --save
14
14
  ```
15
15
  1. Install the visualizations package
16
16
  ```
@@ -50,11 +50,11 @@ const MyAppWithSplunkLineChart = props => {
50
50
 
51
51
  You can use UDF to create dashboards with visualizations, or you can work directly with the visualizations library. If you're not familiar with UDF, it is a unified library of UI components that render a dashboard for developers who write JavaScript, and is well suited for Splunk Enterprise and Splunk Cloud Platform apps. For developers, UDF offers:
52
52
 
53
- - two distinct layout systems, as well as custom layout
54
- - search lifecycle management
55
- - inputs for text entry, dropdown, multiselect, timerange, and numbers
56
- - Splunk visualizations to enhance data presentation
57
- - tokens to pass runtime values within a dashboard
53
+ - two distinct layout systems, as well as custom layout
54
+ - search lifecycle management
55
+ - inputs for text entry, dropdown, multiselect, timerange, and numbers
56
+ - Splunk visualizations to enhance data presentation
57
+ - tokens to pass runtime values within a dashboard
58
58
 
59
59
  To install the UDF library, see the setup guide in the [Quick Start](https://splunkui.splunk.com/Packages/dashboard-docs/?path=%2FQuickStart). When you have it installed, follow the quick start to install dependencies and learn about using the libraries.
60
60
 
@@ -66,10 +66,10 @@ Install the visualizations libraries and dependencies listed in the [Visualizati
66
66
 
67
67
  A React visualization is reusable bits of code that you can use in an app or dashboard. Each visualization component's documentation includes the following:
68
68
 
69
- - Overview and commonly used configurations
70
- - Examples of how to use various options
71
- - Options available and their respective types and defaults
72
- - Events available and their respective payloads
69
+ - Overview and commonly used configurations
70
+ - Examples of how to use various options
71
+ - Options available and their respective types and defaults
72
+ - Events available and their respective payloads
73
73
 
74
74
  **Examples** depict a visualization as it will appear in an app or dashboard. When you click on **Show Code**, the UI displays the React component code.
75
75
 
@@ -1,6 +1,7 @@
1
1
  /* Copyright © 2020 Splunk Inc.
2
2
  SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
3
  in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
4
5
  var __create = Object.create;
5
6
  var __defProp = Object.defineProperty;
6
7
  var __defProps = Object.defineProperties;
@@ -120,11 +121,9 @@ var configUtils_default = "default" in defaultImport7 ? defaultImport7.default :
120
121
  // src/common/utils/configUtils.ts
121
122
  function enhanceConfig(vizConfig) {
122
123
  const enhancedConfig = __spreadValues({}, vizConfig);
123
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
124
- (config2) => {
125
- return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
126
- }
127
- );
124
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
125
+ return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
126
+ });
128
127
  return enhancedConfig;
129
128
  }
130
129
  function hasCompatibleContexts(vizContext, presetContext) {
@@ -433,7 +432,12 @@ var editorConfig = [
433
432
  }
434
433
  })
435
434
  ],
436
- [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig })],
435
+ [
436
+ getDynamicFillColorEditor({
437
+ defaultContext,
438
+ defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
439
+ })
440
+ ],
437
441
  [
438
442
  __spreadProps(__spreadValues({}, StaticStrokeColorEditor_default), {
439
443
  editorProps: {
@@ -441,7 +445,12 @@ var editorConfig = [
441
445
  }
442
446
  })
443
447
  ],
444
- [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig })],
448
+ [
449
+ getDynamicStrokeColorEditor({
450
+ defaultContext,
451
+ defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
452
+ })
453
+ ],
445
454
  [
446
455
  {
447
456
  label: (0, i18n_exports._)("Fill opacity (%)"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/Rectangle/config.ts", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/themes", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/editorConfig/DynamicFillColorEditor.ts", "src/common/editorConfig/DynamicStrokeColorEditor.ts", "src/common/editorConfig/StaticFillColorEditor.ts", "src/common/editorConfig/StaticStrokeColorEditor.ts"],
4
- "sourcesContent": ["import { Rectangle as RectangleIcon } from '@splunk/visualization-icons';\nimport { rectangleOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\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: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\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: 'rectangle.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'rectangle.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: 'rectangle.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'rectangle.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n label: _('Fill opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke dash style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Radius (px)'),\n option: 'rx',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {},\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.rectangle',\n /**\n * viz name\n */\n name: _('Rectangle'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: RectangleIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n events: {\n 'rectangle.click': {\n description: 'trigger when user clicks rectangle',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n};\n\nexport default enhanceConfig(config);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\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\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\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 { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\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", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Rectangle as RectangleIcon } from '@splunk/visualization-icons';\nimport { rectangleOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\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: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\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: 'rectangle.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'rectangle.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: 'rectangle.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'rectangle.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n getDynamicFillColorEditor({\n defaultContext,\n defaultPalettesConfig,\n }),\n ],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n getDynamicStrokeColorEditor({\n defaultContext,\n defaultPalettesConfig,\n }),\n ],\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 label: _('Radius (px)'),\n option: 'rx',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {},\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.rectangle',\n /**\n * viz name\n */\n name: _('Rectangle'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: RectangleIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n events: {\n 'rectangle.click': {\n description: 'trigger when user clicks rectangle',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n};\n\nexport default enhanceConfig(config);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\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\n enhancedConfig.editorConfig = vizConfig.editorConfig.map((config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\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\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 { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\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", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,wCAAc;AACd,IAAO,8BAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,0CAAc;AACd,IAAO,gCAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,mCAAc;AACd,IAAO,yBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,gCAAc;AACd,IAAO,sBAAS,aAAaA,iBAA8B,yBAAUA;;;ACkBrE,SAAS,cAAc,WAAiC;AACpD,QAAM,iBAA4B,mBAAK;AAEvC,iBAAe,eAAe,UAAU,aAAa,IAAI,CAACC,YAAuC;AAC7F,WAAO,iCAAKA,UAAL,EAAa,MAAMA,QAAO,QAAQ,MAAM;AAAA,EACnD,CAAC;AACD,SAAO;AACX;AA6BA,SAAS,sBACL,YACA,eACO;AACP,QAAM,oBAAoB,OAAO,KAAK,aAAa;AACnD,SAAO,kBAAkB;AAAA,IACrB,CAAC,eACI,cAAc,UAAU,MAAM,UAAa,WAAW,UAAU,MAAM,UACtE,cAAc,UAAU,MAAM,UAAa,WAAW,UAAU,MAAM;AAAA,EAC/E;AACJ;AAKA,SAAS,qBACL,YACA,eACO;AACP,QAAM,mBAAmB,OAAO,KAAK,aAAa;AAClD,SAAO,iBAAiB;AAAA,IACpB,CAAC,kBACG,qCAAgB,cAAc,SAAS,CAAC,UAAM,qCAAgB,WAAW,SAAS,CAAC;AAAA,EAC3F;AACJ;AAUA,SAAS,iBACL,YACA,YACAC,UACkB;AAClB,SAAOA,SAAQ,KAAK,CAAC,WAAoB;AACrC,UAAM,oBAAgB,oBAAI,QAAQ,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC;AAC1D,UAAM,oBAAgB,oBAAI,QAAQ,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC;AAC1D,UAAM,oBAAoB,OAAO,KAAK,aAAa;AACnD,UAAM,mBAAmB,OAAO,KAAK,aAAa;AAIlD,QAAI,kBAAkB,WAAW,KAAK,iBAAiB,WAAW,EAAG,QAAO;AAE5E,WACI,sBAAsB,YAAY,aAAa,KAC/C,qBAAqB,YAAY,aAAa;AAAA,EAEtD,CAAC;AACL;;;AC5GO,IAAM,4BAA4B,CAAC,EAAE,gBAAAC,iBAAgB,uBAAAC,uBAAsB,OAAO;AAAA,EACrF,WAAO,gBAAE,MAAM;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,YAAY,CAAC,EAAE,QAAQ,UAAM,qCAAgB,QAAQ,SAAS;AAAA,EAC9D,aAAa;AAAA,IACT,eAAe;AAAA,IACf,iBAAa,gBAAE,wBAAwB;AAAA,IACvC,YAAY;AAAA,MACR;AAAA,QACI,WAAO,gBAAE,QAAQ;AAAA,QACjB,OAAO;AAAA,QACP,UAAU;AAAA,UACN,eAAeD,gBAAe;AAAA,QAClC;AAAA,MACJ;AAAA,MACA;AAAA,QACI,WAAO,gBAAE,SAAS;AAAA,QAClB,OAAO;AAAA,QACP,UAAU;AAAA,UACN,eAAeA,gBAAe;AAAA,QAClC;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,eAAe;AAAA,MACX;AAAA,QACI,WAAO,gBAAE,MAAM;AAAA,QACf,OAAO;AAAA,MACX;AAAA,IACJ;AAAA,IACA,uBAAAC;AAAA,EACJ;AACJ;;;ACjCO,IAAM,8BAA8B,CAAC,EAAE,gBAAAC,iBAAgB,uBAAAC,uBAAsB,OAAO;AAAA,EACvF,WAAO,gBAAE,QAAQ;AAAA,EACjB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,YAAY,CAAC,EAAE,QAAQ,UAAM,qCAAgB,QAAQ,WAAW;AAAA,EAChE,aAAa;AAAA,IACT,eAAe;AAAA,IACf,iBAAa,gBAAE,0BAA0B;AAAA,IACzC,YAAY;AAAA,MACR;AAAA,QACI,WAAO,gBAAE,QAAQ;AAAA,QACjB,OAAO;AAAA,QACP,UAAU;AAAA,UACN,iBAAiBD,gBAAe;AAAA,QACpC;AAAA,MACJ;AAAA,MACA;AAAA,QACI,WAAO,gBAAE,SAAS;AAAA,QAClB,OAAO;AAAA,QACP,UAAU;AAAA,UACN,iBAAiBA,gBAAe;AAAA,QACpC;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,eAAe;AAAA,MACX;AAAA,QACI,WAAO,gBAAE,QAAQ;AAAA,QACjB,OAAO;AAAA,MACX;AAAA,IACJ;AAAA,IACA,uBAAAC;AAAA,EACJ;AACJ;;;ACjCA,IAAM,wBAAwB;AAAA,EAC1B,WAAO,gBAAE,MAAM;AAAA,EACf,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY,CAAC,EAAE,QAAQ,MAAM,KAAC,qCAAgB,QAAQ,SAAS;AACnE;AAEA,IAAO,gCAAQ;;;ACPf,IAAM,0BAA0B;AAAA,EAC5B,WAAO,gBAAE,QAAQ;AAAA,EACjB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY,CAAC,EAAE,QAAQ,MAAM,KAAC,qCAAgB,QAAQ,WAAW;AACrE;AAEA,IAAO,kCAAQ;;;AZSf,IAAM,eAA6B;AAAA,EAC/B,qBAAqB,CAAC;AAAA,EACtB,qBAAqB;AAAA,IACjB;AAAA,MACI,MAAM;AAAA,MACN,aAAa;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,sBAAsB;AAAA,IAClB,SAAS,EAAE,QAAQ,GAAG,OAAO,IAAM;AAAA,EACvC;AACJ;AAEA,IAAM,OAAgB;AAAA,EAClB,cAAc;AAAA,EACd,eAAe;AACnB;AAEA,IAAM,iBAAiC;AAAA,EACnC,iBAAiB;AAAA,IACb;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,mBAAmB;AAAA,IACf;AAAA,MACI,MAAM;AAAA,MACN,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,IACA;AAAA,MACI,IAAI;AAAA,MACJ,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,sBAAsB,CAAC,EAAE,OAAO,IAAI,OAAO,UAAU,CAAC;AAAA,EACtD,wBAAwB,CAAC,EAAE,OAAO,IAAI,OAAO,UAAU,CAAC;AAC5D;AAEA,IAAM,SAAyB;AAAA,EAC3B,kBAAkB,eACd,qBAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,yBAAU,OAAO,KAAK;AAAA,MAC5B,OAAO,yBAAU,OAAO,KAAK;AAAA,IACjC;AAAA,IACA,QAAQ,yBAAU,uBAAuB,KAAK;AAAA,EAClD,CAAC,EAAE,KAAK;AAAA,EACZ,oBAAoB,eAChB,qBAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,yBAAU,OAAO,KAAK;AAAA,MAC5B,OAAO,yBAAU,OAAO,KAAK;AAAA,IACjC;AAAA,IACA,QAAQ,yBAAU,WAAW,KAAK;AAAA,EACtC,CAAC,EAAE,KAAK;AAChB;AAEA,IAAM,oBAAoB;AAAA,EACtB,uBAAuB;AAAA,EACvB,yBAAyB;AAC7B;AAEA,IAAM,oBAAoB;AAAA,EACtB,WAAW;AAAA,EACX,aAAa;AACjB;AAEA,IAAM,UAAyB;AAAA,EAC3B;AAAA;AAAA,IAEI,WAAO,gBAAE,MAAM;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,MACH,SAAS,mBAAK;AAAA,MACd,SAAS,mBAAK;AAAA,IAClB;AAAA,EACJ;AAAA,EACA;AAAA,IACI,WAAO,gBAAE,MAAM;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,MACH,SAAS,iCACF,oBADE;AAAA,QAEL,eAAe;AAAA,QACf,uBAAuB,eAAe;AAAA,MAC1C;AAAA,MACA,SAAS,iCACF,oBADE;AAAA,QAEL,WAAW;AAAA,MACf;AAAA,IACJ;AAAA,EACJ;AAAA,EACA;AAAA,IACI,WAAO,gBAAE,QAAQ;AAAA,IACjB,MAAM;AAAA,IACN,OAAO;AAAA,MACH,SAAS,iCACF,oBADE;AAAA,QAEL,iBAAiB;AAAA,QACjB,yBAAyB,eAAe;AAAA,MAC5C;AAAA,MACA,SAAS,iCACF,oBADE;AAAA,QAEL,aAAa;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AAAA,EACA;AAAA,IACI,WAAO,gBAAE,iBAAiB;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA,MACH,SAAS,iCACF,oBADE;AAAA,QAEL,eAAe;AAAA,QACf,iBAAiB;AAAA,QACjB,uBAAuB,eAAe;AAAA,QACtC,yBAAyB,eAAe;AAAA,MAC5C;AAAA,MACA,SAAS,iCACF,oBADE;AAAA,QAEL,WAAW;AAAA,QACX,aAAa;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,IAAM,eAA+B;AAAA,EACjC;AAAA,IACI,WAAO,gBAAE,iBAAiB;AAAA,IAC1B,QAAQ;AAAA,MACJ;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,kBAAkB;AAAA,UAC3B,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,aAAa;AAAA,YACT;AAAA,YACA,OAAO,CAAC,EAAE,SAAS,QAAQ,MAAM;AAC7B,oBAAM,gBAAgB,iBAAiB,SAAS,SAAS,OAAO;AAChE,qBAAQ,iBAAiB,cAAc,SAAU;AAAA,YACrD;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI,iCACO,gCADP;AAAA,UAEI,aAAa;AAAA,YACT;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI,0BAA0B;AAAA,UACtB;AAAA,UACA;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,MACA;AAAA,QACI,iCACO,kCADP;AAAA,UAEI,aAAa;AAAA,YACT;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI,4BAA4B;AAAA,UACxB;AAAA,UACA;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,MACA;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,kBAAkB;AAAA,UAC3B,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,QACA;AAAA,UACI,WAAO,gBAAE,oBAAoB;AAAA,UAC7B,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,cAAc;AAAA,UACvB,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,QACA;AAAA,UACI,WAAO,gBAAE,mBAAmB;AAAA,UAC5B,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,MACJ;AAAA,MACA;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,aAAa;AAAA,UACtB,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,QACA,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AACJ;AAKA,IAAM,SAAoB;AAAA;AAAA;AAAA;AAAA,EAItB,KAAK;AAAA;AAAA;AAAA;AAAA,EAIL,UAAM,gBAAE,WAAW;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,4BAAAC;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA,6CAAAC;AAAA,EACA;AAAA,EACA,UAAU,+DAAgD;AAAA,EAC1D;AAAA,EACA,QAAQ;AAAA,IACJ,mBAAmB;AAAA,MACf,aAAa;AAAA,MACb,aAAa,CAAC,eAAe,WAAW;AAAA,IAC5C;AAAA,EACJ;AACJ;AAEA,IAAO,iBAAQ,cAAc,MAAM;",
6
6
  "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "presets", "defaultContext", "defaultPalettesConfig", "defaultContext", "defaultPalettesConfig", "RectangleIcon", "optionsSchema"]
7
7
  }
package/Rectangle.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /* Copyright © 2020 Splunk Inc.
2
2
  SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
3
3
  in part without a valid written license from Splunk Inc. is PROHIBITED. */
4
+ "use strict";
4
5
  var __create = Object.create;
5
6
  var __defProp = Object.defineProperty;
6
7
  var __defProps = Object.defineProperties;
@@ -449,9 +450,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
449
450
  position: relative;
450
451
  background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
451
452
  `;
452
- var FixSizeItem = styled_components_default.div.attrs(({ width, height }) => ({
453
- style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
454
- }))`
453
+ var FixSizeItem = styled_components_default.div.attrs(
454
+ ({
455
+ width,
456
+ height
457
+ }) => ({
458
+ style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
459
+ })
460
+ )`
455
461
  position: relative;
456
462
  flex-direction: column;
457
463
  flex: 1;
@@ -485,7 +491,7 @@ var withFixedSizeContainer = (Viz) => {
485
491
  FixSizeItem,
486
492
  {
487
493
  "data-test": "fix-size-item",
488
- "data-splunk-visualization-version": "27.5.0 - 5cfbc7064",
494
+ "data-splunk-visualization-version": "28.0.0 - 0c5f07712",
489
495
  width,
490
496
  height,
491
497
  backgroundColor
@@ -551,7 +557,7 @@ var Cover = styled_components_default.div`
551
557
  bottom: 0;
552
558
  `;
553
559
  var Blocker = styled_components_default.div.attrs({
554
- "data-splunk-visualization-version": "27.5.0 - 5cfbc7064"
560
+ "data-splunk-visualization-version": "28.0.0 - 0c5f07712"
555
561
  })`
556
562
  position: relative;
557
563
  width: 100%;
@@ -929,7 +935,12 @@ var useGetXAndYFields = ({
929
935
  y2Fields: options.y2 ? "> y2 | getField()" : void 0,
930
936
  fieldTypes: "> primary | getType()"
931
937
  };
932
- const { xField = "", yFields = [], y2Fields = [], fieldTypes } = Options_exports.Options.evaluate(
938
+ const {
939
+ xField = "",
940
+ yFields = [],
941
+ y2Fields = [],
942
+ fieldTypes
943
+ } = Options_exports.Options.evaluate(
933
944
  { options: optionsToEvaluate, context },
934
945
  dataSourcesWithOnlyOnePoint,
935
946
  () => {
@@ -1210,7 +1221,9 @@ var withDashboardViz = (opts) => {
1210
1221
  return result;
1211
1222
  }
1212
1223
  } catch (e) {
1213
- console.error(`unexpected error evaluating options: ${e.message}`);
1224
+ if (e instanceof Error) {
1225
+ console.error(`unexpected error evaluating options: ${e.message}`);
1226
+ }
1214
1227
  return {};
1215
1228
  }
1216
1229
  return {};
@@ -1269,7 +1282,11 @@ var withDashboardViz = (opts) => {
1269
1282
  if (ev && ev.payload) {
1270
1283
  payload = ev.payload;
1271
1284
  }
1272
- return onEventTrigger({ originalEvent: ev, payload, type: eventName });
1285
+ return onEventTrigger({
1286
+ originalEvent: ev,
1287
+ payload,
1288
+ type: eventName
1289
+ });
1273
1290
  };
1274
1291
  if (parentKeys) {
1275
1292
  for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
@@ -1378,11 +1395,9 @@ var configUtils_default = "default" in defaultImport28 ? defaultImport28.default
1378
1395
  // src/common/utils/configUtils.ts
1379
1396
  function enhanceConfig(vizConfig) {
1380
1397
  const enhancedConfig = __spreadValues({}, vizConfig);
1381
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
1382
- (config2) => {
1383
- return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
1384
- }
1385
- );
1398
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
1399
+ return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
1400
+ });
1386
1401
  return enhancedConfig;
1387
1402
  }
1388
1403
  function hasCompatibleContexts(vizContext, presetContext) {
@@ -1691,7 +1706,12 @@ var editorConfig = [
1691
1706
  }
1692
1707
  })
1693
1708
  ],
1694
- [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig })],
1709
+ [
1710
+ getDynamicFillColorEditor({
1711
+ defaultContext,
1712
+ defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
1713
+ })
1714
+ ],
1695
1715
  [
1696
1716
  __spreadProps(__spreadValues({}, StaticStrokeColorEditor_default), {
1697
1717
  editorProps: {
@@ -1699,7 +1719,12 @@ var editorConfig = [
1699
1719
  }
1700
1720
  })
1701
1721
  ],
1702
- [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig })],
1722
+ [
1723
+ getDynamicStrokeColorEditor({
1724
+ defaultContext,
1725
+ defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
1726
+ })
1727
+ ],
1703
1728
  [
1704
1729
  {
1705
1730
  label: (0, i18n_exports._)("Fill opacity (%)"),
@@ -1833,14 +1858,15 @@ var getStyledShape = (shape4) => styled_components_default(shape4)`
1833
1858
  `;
1834
1859
  function ClickableShape({ children, onClick, shape: shape4 }) {
1835
1860
  const descriptionId = (0, react_exports.useMemo)(() => (0, id_exports.createDOMID)("clickable-svg-description"), []);
1836
- return /* @__PURE__ */ react_default.createElement(StyledDiv, null, /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, { id: descriptionId }, (0, i18n_exports._)("Click to trigger interaction")), children, /* @__PURE__ */ react_default.createElement(
1861
+ return /* @__PURE__ */ react_default.createElement(StyledDiv, null, /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, { id: descriptionId }, (0, i18n_exports._)("Click to trigger interaction")), /* @__PURE__ */ react_default.createElement(
1837
1862
  StyledButton,
1838
1863
  {
1839
1864
  onClick,
1840
1865
  "aria-label": shape4 === "rect" ? (0, i18n_exports._)("Rectangle visualization") : (0, i18n_exports._)("Ellipse visualization"),
1841
1866
  "aria-describedby": descriptionId,
1842
1867
  shape: shape4
1843
- }
1868
+ },
1869
+ children
1844
1870
  ));
1845
1871
  }
1846
1872
  var StyledDiv = styled_components_default.div`
@@ -1854,8 +1880,8 @@ var StyledDiv = styled_components_default.div`
1854
1880
  `;
1855
1881
  var StyledButton = styled_components_default.button`
1856
1882
  padding: 0;
1857
- border: none;
1858
- background: none;
1883
+ border: 0;
1884
+ background: transparent;
1859
1885
  cursor: pointer;
1860
1886
  &:focus {
1861
1887
  outline: none;