@splunk/visualizations 27.5.0 → 28.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/Area.config.js +19 -21
  2. package/Area.config.js.map +3 -3
  3. package/Area.js +55 -33
  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 +49 -32
  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 +70 -52
  12. package/Bubble.js.map +4 -4
  13. package/CHANGELOG.external.md +63 -7
  14. package/ChoroplethSvg.config.js +47 -43
  15. package/ChoroplethSvg.config.js.map +4 -4
  16. package/ChoroplethSvg.js +85 -54
  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 +43 -30
  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 +46 -20
  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 +114 -98
  29. package/Events.js.map +4 -4
  30. package/FEATUREFLAGS.md +9 -9
  31. package/FillerGauge.config.js +144 -16
  32. package/FillerGauge.config.js.map +3 -3
  33. package/FillerGauge.js +891 -101
  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 +30 -15
  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 +51 -32
  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 +72 -52
  46. package/LinkGraph.js.map +3 -3
  47. package/MIGRATION.md +169 -40
  48. package/Map.config.js +83 -16
  49. package/Map.config.js.map +4 -4
  50. package/Map.js +218 -109
  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 +122 -74
  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 +108 -70
  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 +114 -60
  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 +110 -86
  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 +154 -88
  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 +46 -20
  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 +179 -50
  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 +71 -54
  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 +240 -94
  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 +85 -29
  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 +90 -49
  99. package/SingleValueRadial.js.map +4 -4
  100. package/SparkLine.js +153 -49
  101. package/SparkLine.js.map +2 -2
  102. package/TRELLIS.md +2 -2
  103. package/Table.config.js +93 -52
  104. package/Table.config.js.map +3 -3
  105. package/Table.js +513 -202
  106. package/Table.js.map +4 -4
  107. package/Timeline.config.js +36 -34
  108. package/Timeline.config.js.map +4 -4
  109. package/Timeline.js +131 -83
  110. package/Timeline.js.map +4 -4
  111. package/common/Charting.js +1 -0
  112. package/common/Charting.js.map +2 -2
  113. package/common/ChartingApi.js +1 -0
  114. package/common/ChartingApi.js.map +1 -1
  115. package/common/DocExampleWithVizSandbox.js +7 -2
  116. package/common/DocExampleWithVizSandbox.js.map +2 -2
  117. package/common/EventsDoc.js +31 -5
  118. package/common/EventsDoc.js.map +4 -4
  119. package/common/GaugeMajorTicks.js +4 -1
  120. package/common/GaugeMajorTicks.js.map +2 -2
  121. package/common/GaugeValueMarker.js +31 -3
  122. package/common/GaugeValueMarker.js.map +4 -4
  123. package/common/OptionsDoc.js +4 -1
  124. package/common/OptionsDoc.js.map +2 -2
  125. package/common/OverviewDoc.js +66 -50
  126. package/common/OverviewDoc.js.map +4 -4
  127. package/common/SplunkVisualization.js +1 -0
  128. package/common/SplunkVisualization.js.map +1 -1
  129. package/common/SplunkVisualizationApi.js +1 -0
  130. package/common/SplunkVisualizationApi.js.map +1 -1
  131. package/common/ThemedDefaults.js +67 -0
  132. package/common/ThemedDefaults.js.map +7 -0
  133. package/common/ThemesDoc.js +6 -9
  134. package/common/ThemesDoc.js.map +2 -2
  135. package/common/chartingUtils.js +1 -0
  136. package/common/chartingUtils.js.map +2 -2
  137. package/common/docUtils.js +6 -1
  138. package/common/docUtils.js.map +2 -2
  139. package/common/gaugeUtils.js +6 -1
  140. package/common/gaugeUtils.js.map +2 -2
  141. package/common/shapeUtils.js +6 -4
  142. package/common/shapeUtils.js.map +2 -2
  143. package/common/utils/configUtils.js +4 -5
  144. package/common/utils/configUtils.js.map +2 -2
  145. package/common/utils/dataUtils.js +1 -0
  146. package/common/utils/dataUtils.js.map +2 -2
  147. package/common/utils/featureFlagUtils.js +1 -0
  148. package/common/utils/featureFlagUtils.js.map +1 -1
  149. package/common/utils/hocUtils.js +1 -0
  150. package/common/utils/hocUtils.js.map +1 -1
  151. package/common/utils/mapUtils.js +35 -22
  152. package/common/utils/mapUtils.js.map +4 -4
  153. package/common/utils/singleValueUtils.js +8 -2
  154. package/common/utils/singleValueUtils.js.map +2 -2
  155. package/common/utils/styleUtils.js +1 -0
  156. package/common/utils/styleUtils.js.map +1 -1
  157. package/common/utils/tableUtils.js +59 -0
  158. package/common/utils/tableUtils.js.map +7 -0
  159. package/common/utils/testHelper.js +1 -0
  160. package/common/utils/testHelper.js.map +1 -1
  161. package/common/utils/trellisUtils.js +1 -0
  162. package/common/utils/trellisUtils.js.map +1 -1
  163. package/common/utils/urlUtils.js +1 -0
  164. package/common/utils/urlUtils.js.map +1 -1
  165. package/common/withDashboardViz.js +26 -9
  166. package/common/withDashboardViz.js.map +2 -2
  167. package/package.json +41 -39
@@ -3,7 +3,69 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
-
6
+
7
+ # 28.1.0 (2025-08-19)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **SCP-76604:** DSL - gradient formatter should work for tables with strings and time fields (e12ca7f)
13
+ * **SCP-76756:** Markdown - code blocks should wrap on overflow (468ec54)
14
+ * **SCP-76950:** Timeline - cursor scale issues with grid layout (72779cb)
15
+ * SVI - expose alt prop for RemoteIcon.jsx, default alt set to 'Remote Icon' (3e00022)
16
+ * **SCP-73715:** LinkGraph - fix for wrongly count nodes (ad5ede8)
17
+ * **SCP-76210:** SV - can not be clicked at smaller sizes (c665b29)
18
+
19
+
20
+ ### Features
21
+
22
+ * **SCP-55382:** Map - add dynamic colors editor UI - choropleth layer (1467679)
23
+ * **SCP-73706:** Filler gauge - enable trelllis (c0a5265)
24
+ * **SCP-76366:** Table - display footer totals and percentage (7bfb4a8)
25
+ * **SPL-280621:** ChoroplethSVG - dispatch focus event on choropleth svg on click (6e9a10f)
26
+
27
+
28
+
29
+
30
+ # Change Log
31
+
32
+ All notable changes to this project will be documented in this file.
33
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
34
+
35
+
36
+ # 28.0.0 (2025-07-14)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **A11Y-355:** add aria-label for GaugeValueMarker (93e267b)
42
+ * **SCP-76471:** ParallelCoordinates - filter text display issue (047f67b)
43
+ * **SCP-76472:** LinkGraph - color editor breaks (38fa129)
44
+ * **SCP-76475:** Markdown - remove unnecessary scroll bars (3a56a88)
45
+ * **SCP-76477:** Rectangle - drilldown not working (bfdb0b8)
46
+ * **SCP-76479:** Table - stops trigging a sort when resizing (9567746)
47
+ * **SCP-76491:** Events - export works (44bb5c4)
48
+
49
+
50
+ ### Features
51
+
52
+ * **A11Y-3496:** Sparkline - supports keyboard navigation (15aeea8)
53
+ * **SCP-74853:** Sankey - add labelDisplay option to display node values and percentage (7c221aa)
54
+ * **SCP-76233:** Sankey - add unit option to value labels (f575848)
55
+
56
+
57
+ ### BREAKING CHANGES
58
+
59
+ * **SCP-68696:** Upgrade to React 18 and SUI 5, see Migration docs for details (3ba06ca)
60
+
61
+
62
+
63
+ # Change Log
64
+
65
+ All notable changes to this project will be documented in this file.
66
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
67
+
68
+
7
69
  # 27.5.0 (2025-06-24)
8
70
 
9
71
 
@@ -41,12 +103,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
41
103
 
42
104
 
43
105
 
44
- # Change Log
45
-
46
- All notable changes to this project will be documented in this file.
47
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
48
-
49
-
50
106
  # 27.3.0 (2025-04-15)
51
107
 
52
108
 
@@ -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;
@@ -63,86 +64,66 @@ var defaultImport = __toESM(require("@splunk/ui-utils/i18n"));
63
64
  __reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
64
65
  var i18n_default = "default" in defaultImport ? defaultImport.default : defaultImport;
65
66
 
66
- // esm-externals:@splunk/themes/pick
67
- var pick_exports = {};
68
- __export(pick_exports, {
69
- default: () => pick_default
70
- });
71
- var defaultImport2 = __toESM(require("@splunk/themes/pick"));
72
- __reExport(pick_exports, require("@splunk/themes/pick"));
73
- var pick_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
74
-
75
- // esm-externals:@splunk/themes/variables
76
- var variables_exports = {};
77
- __export(variables_exports, {
78
- default: () => variables_default
79
- });
80
- var defaultImport3 = __toESM(require("@splunk/themes/variables"));
81
- __reExport(variables_exports, require("@splunk/themes/variables"));
82
- var variables_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
83
-
84
67
  // esm-externals:@splunk/visualization-schemas
85
68
  var visualization_schemas_exports = {};
86
69
  __export(visualization_schemas_exports, {
87
70
  default: () => visualization_schemas_default
88
71
  });
89
- var defaultImport4 = __toESM(require("@splunk/visualization-schemas"));
72
+ var defaultImport2 = __toESM(require("@splunk/visualization-schemas"));
90
73
  __reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
91
- var visualization_schemas_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
74
+ var visualization_schemas_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
92
75
 
93
76
  // esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes
94
77
  var PresetPalettes_exports = {};
95
78
  __export(PresetPalettes_exports, {
96
79
  default: () => PresetPalettes_default
97
80
  });
98
- var defaultImport5 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
81
+ var defaultImport3 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
99
82
  __reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
100
- var PresetPalettes_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
83
+ var PresetPalettes_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
101
84
 
102
85
  // esm-externals:@splunk/visualization-icons
103
86
  var visualization_icons_exports = {};
104
87
  __export(visualization_icons_exports, {
105
88
  default: () => visualization_icons_default
106
89
  });
107
- var defaultImport6 = __toESM(require("@splunk/visualization-icons"));
90
+ var defaultImport4 = __toESM(require("@splunk/visualization-icons"));
108
91
  __reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
109
- var visualization_icons_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
92
+ var visualization_icons_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
110
93
 
111
94
  // esm-externals:@splunk/visualization-icons/placeholders
112
95
  var placeholders_exports = {};
113
96
  __export(placeholders_exports, {
114
97
  default: () => placeholders_default
115
98
  });
116
- var defaultImport7 = __toESM(require("@splunk/visualization-icons/placeholders"));
99
+ var defaultImport5 = __toESM(require("@splunk/visualization-icons/placeholders"));
117
100
  __reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
118
- var placeholders_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
101
+ var placeholders_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
119
102
 
120
103
  // esm-externals:lodash
121
104
  var lodash_exports = {};
122
105
  __export(lodash_exports, {
123
106
  default: () => lodash_default
124
107
  });
125
- var defaultImport8 = __toESM(require("lodash"));
108
+ var defaultImport6 = __toESM(require("lodash"));
126
109
  __reExport(lodash_exports, require("lodash"));
127
- var lodash_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
110
+ var lodash_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
128
111
 
129
112
  // esm-externals:@splunk/visualizations-shared/configUtils
130
113
  var configUtils_exports = {};
131
114
  __export(configUtils_exports, {
132
115
  default: () => configUtils_default
133
116
  });
134
- var defaultImport9 = __toESM(require("@splunk/visualizations-shared/configUtils"));
117
+ var defaultImport7 = __toESM(require("@splunk/visualizations-shared/configUtils"));
135
118
  __reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
136
- var configUtils_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
119
+ var configUtils_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
137
120
 
138
121
  // src/common/utils/configUtils.ts
139
122
  function enhanceConfig(vizConfig) {
140
123
  const enhancedConfig = __spreadValues({}, vizConfig);
141
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
142
- (config2) => {
143
- return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
144
- }
145
- );
124
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
125
+ return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
126
+ });
146
127
  return enhancedConfig;
147
128
  }
148
129
 
@@ -155,6 +136,33 @@ var StaticBackgroundColorEditor = {
155
136
  };
156
137
  var StaticBackgroundColorEditor_default = StaticBackgroundColorEditor;
157
138
 
139
+ // esm-externals:@splunk/themes/pick
140
+ var pick_exports = {};
141
+ __export(pick_exports, {
142
+ default: () => pick_default
143
+ });
144
+ var defaultImport8 = __toESM(require("@splunk/themes/pick"));
145
+ __reExport(pick_exports, require("@splunk/themes/pick"));
146
+ var pick_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
147
+
148
+ // esm-externals:@splunk/themes/variables
149
+ var variables_exports = {};
150
+ __export(variables_exports, {
151
+ default: () => variables_default
152
+ });
153
+ var defaultImport9 = __toESM(require("@splunk/themes/variables"));
154
+ __reExport(variables_exports, require("@splunk/themes/variables"));
155
+ var variables_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
156
+
157
+ // src/common/ThemedDefaults.tsx
158
+ var defaultBackgroundColor = (props) => pick_default({
159
+ enterprise: {
160
+ dark: variables_default.black(props),
161
+ light: variables_default.white(props)
162
+ },
163
+ prisma: variables_default.backgroundColorSection(props)
164
+ })(props);
165
+
158
166
  // src/ChoroplethSvg/config.ts
159
167
  var dataContract = {
160
168
  requiredDataSources: [],
@@ -173,7 +181,9 @@ var size = {
173
181
  initialHeight: 300
174
182
  };
175
183
  var defaultContext = {
176
- areaColorsGradientConfig: { colors: ["#7EEFDA", "#6484F6", "#C093F9", "#293873"] },
184
+ areaColorsGradientConfig: {
185
+ colors: ["#7EEFDA", "#6484F6", "#C093F9", "#293873"]
186
+ },
177
187
  areaColorsRangeConfig: [
178
188
  { to: 20, value: "#D41F1F" },
179
189
  { from: 20, to: 40, value: "#D94E17" },
@@ -184,13 +194,7 @@ var defaultContext = {
184
194
  areaColorsMatchConfig: [{ match: "", value: "#5C33FF" }]
185
195
  };
186
196
  var themes = {
187
- defaultBackgroundColor: (props) => pick_default({
188
- enterprise: {
189
- dark: variables_default.black(props),
190
- light: variables_default.backgroundColor(props)
191
- },
192
- prisma: variables_default.backgroundColorSidebar(props)
193
- })(props)
197
+ defaultBackgroundColor
194
198
  };
195
199
  var editorConfig = [
196
200
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["src/ChoroplethSvg/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-icons/placeholders", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/editorConfig/StaticBackgroundColorEditor.js"],
4
- "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { choroplethSvgOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ChoroplethSvg as ChoroplethSvgIcon } from '@splunk/visualization-icons';\nimport { ChoroplethSvg as ChoroplethSvgPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\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 areaColorsGradientConfig: { colors: ['#7EEFDA', '#6484F6', '#C093F9', '#293873'] },\n areaColorsRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n areaColorsMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: 'Area IDs',\n editor: 'editor.columnSelector',\n option: 'areaIds',\n context: 'areaIdContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: 'Area values',\n editor: 'editor.columnSelector',\n option: 'areaValues',\n context: 'areaValuesContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Areas'),\n option: 'areaColors',\n context: 'defaultContext',\n editor: 'editor.dynamicColor',\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n isDefault: true, // show it by default when open dynamic color flyout\n defaults: {\n areaValues: defaultContext.areaColorsRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n areaValues: defaultContext.areaColorsMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Value'),\n value: 'areaValues',\n },\n ],\n defaultPalettesConfig,\n },\n },\n ],\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n ],\n },\n {\n label: _('SVG content'),\n layout: [\n [\n {\n label: _('SVG file'),\n option: 'svg',\n editor: 'editor.image',\n editorProps: {\n validMediaTypes: ['svg'],\n svgRenderAsDom: true,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.choropleth.svg',\n /**\n * viz name\n */\n name: _('Choropleth SVG'),\n category: VizCategory.SPATIAL,\n /**\n * viz icon\n */\n icon: ChoroplethSvgIcon,\n placeholderIcon: ChoroplethSvgPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n requiredProps: ['svg'],\n editorConfig,\n events: {\n 'area.click': {\n description: 'trigger when user clicks one area',\n payloadKeys: ['value', 'name'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\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/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\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/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/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\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\nconst StaticBackgroundColorEditor = {\n label: _('Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n"],
5
- "mappings": "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",
6
- "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "ChoroplethSvgIcon", "ChoroplethSvgPlaceholderIcon", "optionsSchema"]
3
+ "sources": ["src/ChoroplethSvg/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-icons/placeholders", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/editorConfig/StaticBackgroundColorEditor.js", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "src/common/ThemedDefaults.tsx"],
4
+ "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { choroplethSvgOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ChoroplethSvg as ChoroplethSvgIcon } from '@splunk/visualization-icons';\nimport { ChoroplethSvg as ChoroplethSvgPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\nimport { defaultBackgroundColor } from '../common/ThemedDefaults';\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 areaColorsGradientConfig: {\n colors: ['#7EEFDA', '#6484F6', '#C093F9', '#293873'],\n },\n areaColorsRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n areaColorsMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor,\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: 'Area IDs',\n editor: 'editor.columnSelector',\n option: 'areaIds',\n context: 'areaIdContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: 'Area values',\n editor: 'editor.columnSelector',\n option: 'areaValues',\n context: 'areaValuesContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Areas'),\n option: 'areaColors',\n context: 'defaultContext',\n editor: 'editor.dynamicColor',\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n isDefault: true, // show it by default when open dynamic color flyout\n defaults: {\n areaValues: defaultContext.areaColorsRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n areaValues: defaultContext.areaColorsMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Value'),\n value: 'areaValues',\n },\n ],\n defaultPalettesConfig,\n },\n },\n ],\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n ],\n },\n {\n label: _('SVG content'),\n layout: [\n [\n {\n label: _('SVG file'),\n option: 'svg',\n editor: 'editor.image',\n editorProps: {\n validMediaTypes: ['svg'],\n svgRenderAsDom: true,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.choropleth.svg',\n /**\n * viz name\n */\n name: _('Choropleth SVG'),\n category: VizCategory.SPATIAL,\n /**\n * viz icon\n */\n icon: ChoroplethSvgIcon,\n placeholderIcon: ChoroplethSvgPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n requiredProps: ['svg'],\n editorConfig,\n events: {\n 'area.click': {\n description: 'trigger when user clicks one area',\n payloadKeys: ['value', 'name'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\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-schemas\";\nexport * from \"@splunk/visualization-schemas\";\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/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\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\nconst StaticBackgroundColorEditor = {\n label: _('Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n", "\nimport * as defaultImport from \"@splunk/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const defaultBackgroundColor = props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props);\n"],
5
+ "mappings": "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",
6
+ "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "defaultImport", "defaultImport", "ChoroplethSvgIcon", "ChoroplethSvgPlaceholderIcon", "optionsSchema"]
7
7
  }