@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
@@ -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;
@@ -129,11 +130,9 @@ var configUtils_default = "default" in defaultImport8 ? defaultImport8.default :
129
130
  // src/common/utils/configUtils.ts
130
131
  function enhanceConfig(vizConfig) {
131
132
  const enhancedConfig = __spreadValues({}, vizConfig);
132
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
133
- (config2) => {
134
- return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
135
- }
136
- );
133
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
134
+ return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
135
+ });
137
136
  return enhancedConfig;
138
137
  }
139
138
 
@@ -155,6 +154,15 @@ var background = ({
155
154
  ];
156
155
  var BackgroundColor_default = background;
157
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/ParallelCoordinates/config.ts
159
167
  var dataContract = {
160
168
  requiredDataSources: [
@@ -173,13 +181,7 @@ var size = {
173
181
  initialHeight: 400
174
182
  };
175
183
  var themes = {
176
- defaultBackgroundColor: (props) => pick_default({
177
- enterprise: {
178
- dark: variables_default.black(props),
179
- light: variables_default.backgroundColor(props)
180
- },
181
- prisma: variables_default.backgroundColorSidebar(props)
182
- })(props),
184
+ defaultBackgroundColor,
183
185
  axisLineColor: (props) => pick_default({
184
186
  enterprise: {
185
187
  dark: variables_default.gray45(props),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["src/ParallelCoordinates/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "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/BackgroundColor.ts"],
4
- "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { parallelCoordinatesOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { ParallelCoordinates as ParallelCoordinatesPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show null axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Lines'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: _('Parallel coordinates'),\n category: VizCategory.CORRELATION,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n placeholderIcon: ParallelCoordinatesPlaceholderIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n", "\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/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-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 { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,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,8BAAc;AACd,IAAO,oBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,wCAAc;AACd,IAAO,8BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,iCAAc;AACd,IAAO,uBAAS,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;AAAA,IACjD,CAACC,YAAuC;AACpC,aAAO,iCAAKA,UAAL,EAAa,MAAMA,QAAO,QAAQ,MAAM;AAAA,IACnD;AAAA,EACJ;AACA,SAAO;AACX;;;ACpBA,IAAM,aAAgG,CAAC;AAAA,EACnG;AAAA,EACA,QAAAC;AAAA,EACA;AACJ,MAAM;AAAA,EACF;AAAA,IACI,WAAO,gBAAE,SAAS,kBAAkB;AAAA,IACpC,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,aAAa;AAAA,MACT,eAAe,iBAAiB;AAAA,MAChC,QAAAA;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,IAAO,0BAAQ;;;AVVf,IAAM,eAA6B;AAAA,EAC/B,qBAAqB;AAAA,IACjB;AAAA,MACI,MAAM;AAAA,MACN,aAAa;AAAA,IACjB;AAAA,EACJ;AAAA,EACA,qBAAqB,CAAC;AAAA,EACtB,sBAAsB;AAAA,IAClB,SAAS,EAAE,QAAQ,GAAG,OAAO,IAAM;AAAA,EACvC;AACJ;AAEA,IAAM,OAAgB;AAAA,EAClB,cAAc;AAAA,EACd,eAAe;AACnB;AAEA,IAAM,SAAyB;AAAA,EAC3B,wBAAwB,WACpB,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,MAAM,KAAK;AAAA,MAC3B,OAAO,kBAAU,gBAAgB,KAAK;AAAA,IAC1C;AAAA,IACA,QAAQ,kBAAU,uBAAuB,KAAK;AAAA,EAClD,CAAC,EAAE,KAAK;AAAA,EACZ,eAAe,WACX,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,OAAO,KAAK;AAAA,MAC5B,OAAO,kBAAU,OAAO,KAAK;AAAA,IACjC;AAAA,IACA,QAAQ;AAAA,MACJ,MAAM,kBAAU,WAAW,KAAK;AAAA,MAChC,OAAO,kBAAU,WAAW,KAAK;AAAA,IACrC;AAAA,EACJ,CAAC,EAAE,KAAK;AAAA,EACZ,wBAAwB,WACpB,aAAK;AAAA,IACD,YAAY,kBAAU,UAAU,KAAK;AAAA,IACrC,QAAQ,kBAAU,mBAAmB,KAAK;AAAA,EAC9C,CAAC,EAAE,KAAK;AAAA,EACZ,gBAAgB,WACZ,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,SAAS,KAAK;AAAA,MAC9B,OAAO,kBAAU,UAAU,KAAK;AAAA,IACpC;AAAA,IACA,QAAQ,kBAAU,oBAAoB,KAAK;AAAA,EAC/C,CAAC,EAAE,KAAK;AAAA,EACZ,gBAAgB,WACZ,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,SAAS,KAAK;AAAA,MAC9B,OAAO,kBAAU,UAAU,KAAK;AAAA,IACpC;AAAA,IACA,QAAQ,kBAAU,oBAAoB,KAAK;AAAA,EAC/C,CAAC,EAAE,KAAK;AAAA,EACZ,2BAA2B,WACvB,aAAK;AAAA,IACD,YAAY,kBAAU,kBAAkB,KAAK;AAAA,IAC7C,QAAQ,kBAAU,qBAAqB,KAAK;AAAA,EAChD,CAAC,EAAE,KAAK;AAAA,EACZ,yBAAyB,WACrB,aAAK;AAAA,IACD,YAAY,kBAAU,WAAW,KAAK;AAAA,IACtC,QAAQ,kBAAU,wBAAwB,KAAK;AAAA,EACnD,CAAC,EAAE,KAAK;AAAA,EACZ,iBAAiB,WACb,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,SAAS,KAAK;AAAA,MAC9B,OAAO,kBAAU,UAAU,KAAK;AAAA,IACpC;AAAA,IACA,QAAQ,kBAAU,oBAAoB,KAAK;AAAA,EAC/C,CAAC,EAAE,KAAK;AAAA,EACZ,oBAAoB,WAChB,aAAK;AAAA,IACD,YAAY,kBAAU,SAAS,KAAK;AAAA,IACpC,QAAQ,kBAAU,kBAAkB,KAAK;AAAA,EAC7C,CAAC,EAAE,KAAK;AAAA,EACZ,sBAAsB,WAClB,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,IACX;AAAA,EACJ,CAAC,EAAE,KAAK;AAAA,EACZ,iBAAiB,WACb,aAAK;AAAA,IACD,YAAY;AAAA,MACR,MAAM,kBAAU,MAAM,KAAK;AAAA,MAC3B,OAAO,kBAAU,gBAAgB,KAAK;AAAA,IAC1C;AAAA,IACA,QAAQ,kBAAU,uBAAuB,KAAK;AAAA,EAClD,CAAC,EAAE,KAAK;AAChB;AAEA,IAAM,qBAAqB;AAC3B,IAAM,eAA+B;AAAA,EACjC;AAAA,IACI,WAAO,gBAAE,cAAc;AAAA,IACvB,QAAQ;AAAA,MACJ;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,gBAAgB;AAAA,UACzB,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT,YAAY;AAAA,UAChB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EACA;AAAA,IACI,WAAO,gBAAE,iBAAiB;AAAA,IAC1B,QAAQ;AAAA,MACJ;AAAA,QACI;AAAA,UACI,WAAO,gBAAE,OAAO;AAAA,UAChB,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT;AAAA,UACJ;AAAA,QACJ;AAAA,QACA;AAAA,UACI,WAAO,gBAAE,kBAAkB;AAAA,UAC3B,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,aAAa;AAAA,YACT;AAAA,YACA,KAAK;AAAA,UACT;AAAA,QACJ;AAAA,MACJ;AAAA,MACA,wBAAyB,EAAE,OAAO,CAAC;AAAA,IACvC;AAAA,EACJ;AACJ;AAKA,IAAM,SAAoB;AAAA;AAAA;AAAA;AAAA,EAItB,KAAK;AAAA;AAAA;AAAA;AAAA,EAIL,UAAM,gBAAE,sBAAsB;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIR,MAAM,4BAAAC;AAAA,EACN,iBAAiB,qBAAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA,6CAAAC;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA;AAAA,EACT,UAAU,gGAAyE;AAAA;AAAA,EACnF;AAAA,EACA,eAAe,CAAC;AACpB;AAEA,IAAO,iBAAQ,cAAc,MAAM;",
3
+ "sources": ["src/ParallelCoordinates/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "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/BackgroundColor.ts", "src/common/ThemedDefaults.tsx"],
4
+ "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { parallelCoordinatesOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { ParallelCoordinates as ParallelCoordinatesIcon } from '@splunk/visualization-icons';\nimport { ParallelCoordinates as ParallelCoordinatesPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\nimport { defaultBackgroundColor } from '../common/ThemedDefaults';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 700,\n initialHeight: 400,\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor,\n axisLineColor: props =>\n pick({\n enterprise: {\n dark: variables.gray45(props),\n light: variables.gray60(props),\n },\n prisma: {\n dark: variables.neutral400(props),\n light: variables.syntaxGray(props),\n },\n })(props),\n axisLineHighlightColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorActive(props),\n })(props),\n axisTitleColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n axisLabelColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n filterButtonDisabledColor: props =>\n pick({\n enterprise: variables.textDisabledColor(props),\n prisma: variables.contentColorDisabled(props),\n })(props),\n filterButtonActiveColor: props =>\n pick({\n enterprise: variables.focusColor(props),\n prisma: variables.interactiveColorPrimary(props),\n })(props),\n filterTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorDefault(props),\n })(props),\n truncatedTextColor: props =>\n pick({\n enterprise: variables.textGray(props),\n prisma: variables.contentColorMuted(props),\n })(props),\n filterSelectionColor: props =>\n pick({\n enterprise: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n prisma: {\n dark: '#FFFFFF',\n light: '#000000',\n },\n })(props),\n textShadowColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show null axis'),\n option: 'showNullAxis',\n editor: 'editor.toggle',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Lines'),\n option: 'lineColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n },\n },\n {\n label: _('Line opacity (%)'),\n option: 'lineOpacity',\n editor: 'editor.percent',\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.parallelcoordinates',\n /**\n * viz name\n */\n name: _('Parallel coordinates'),\n category: VizCategory.CORRELATION,\n status: 'preview',\n /**\n * viz icon\n */\n icon: ParallelCoordinatesIcon,\n placeholderIcon: ParallelCoordinatesPlaceholderIcon,\n dataContract,\n size,\n optionsSchema,\n editorConfig,\n events: {}, // To be completed\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER], // will there be more??\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n", "\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/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-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 { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\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
6
  "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "themes", "ParallelCoordinatesIcon", "ParallelCoordinatesPlaceholderIcon", "optionsSchema"]
7
7
  }
@@ -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;
@@ -330,14 +331,22 @@ var ParallelCoordinatesCanvas = (_a) => {
330
331
  };
331
332
  var ParallelCoordinatesCanvas_default = ParallelCoordinatesCanvas;
332
333
 
333
- // src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.tsx
334
- var ChartDiv = styled_components_default.div`
335
- background-color: ${(props) => props.backgroundColor};
336
- width: ${(props) => props.width + props.margin.left + props.margin.right}px;
337
- height: ${(props) => props.height + props.margin.top + props.margin.bottom}px;
338
- position: relative;
334
+ // src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.tsx
335
+ var FilterButton = styled_components_default.button.attrs({
336
+ "data-test": "clear-filter-button"
337
+ })`
338
+ margin-left: 16px;
339
+ display: flex;
340
+ border: none;
341
+ background: none;
342
+ color: ${(props) => props.filterButtonColor};
343
+ cursor: pointer;
344
+ font-size: 12px;
345
+ padding-top: 0;
346
+ padding-bottom: 0;
347
+ padding-left: 0;
339
348
  `;
340
- var PromptDiv = styled_components_default.div`
349
+ var PromptDivStyled = styled_components_default.div`
341
350
  position: absolute;
342
351
  top: ${(props) => props.height + props.margin.top + props.margin.bottom - 27}px;
343
352
  display: flex;
@@ -348,17 +357,51 @@ var PromptDiv = styled_components_default.div`
348
357
  margin-left: 0;
349
358
  width: ${(props) => props.margin.left + props.width + props.margin.right}px;
350
359
  `;
351
- var FilterButton = styled_components_default.button.attrs({ "data-test": "clear-filter-button" })`
352
- margin-left: 16px;
353
- display: flex;
354
- border: none;
355
- background: none;
356
- color: ${(props) => props.filterButtonColor};
357
- cursor: pointer;
358
- font-size: 12px;
359
- padding-top: 0;
360
- padding-bottom: 0;
361
- padding-left: 0;
360
+ var ParallelCoordinatesPrompt = ({
361
+ width,
362
+ height,
363
+ margin,
364
+ filterButtonColor,
365
+ onClearFilters,
366
+ filterPromptState,
367
+ filterTextColor,
368
+ selectedDataLength,
369
+ totalDataLength,
370
+ truncatedCategoriesFlag,
371
+ truncatedTextColor
372
+ }) => {
373
+ return /* @__PURE__ */ react_exports.createElement(PromptDivStyled, { width, height, margin }, /* @__PURE__ */ react_exports.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center" } }, /* @__PURE__ */ react_exports.createElement(FilterButton, { filterButtonColor, onClick: onClearFilters }, "Clear filters"), /* @__PURE__ */ react_exports.createElement(
374
+ "span",
375
+ {
376
+ style: {
377
+ display: filterPromptState ? "flex" : "none",
378
+ color: filterTextColor,
379
+ marginTop: "1.5px"
380
+ },
381
+ "data-test": "line-selection-prompt"
382
+ },
383
+ `${selectedDataLength}/${totalDataLength} lines selected`
384
+ )), /* @__PURE__ */ react_exports.createElement(
385
+ "span",
386
+ {
387
+ style: {
388
+ display: truncatedCategoriesFlag ? "flex" : "none",
389
+ color: truncatedTextColor,
390
+ marginRight: 16
391
+ },
392
+ "data-test": "truncated-data-warning"
393
+ },
394
+ "Note: Your data is currently truncated due to a high amount of categorical values"
395
+ ));
396
+ };
397
+ var ParallelCoordinatesPrompt_default = ParallelCoordinatesPrompt;
398
+
399
+ // src/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.tsx
400
+ var ChartDiv = styled_components_default.div`
401
+ background-color: ${(props) => props.backgroundColor};
402
+ width: ${(props) => props.width + props.margin.left + props.margin.right}px;
403
+ height: ${(props) => props.height + props.margin.top + props.margin.bottom}px;
404
+ position: relative;
362
405
  `;
363
406
  var ParallelCoordinatesChart = (_a) => {
364
407
  var props = __objRest(_a, []);
@@ -571,28 +614,22 @@ var ParallelCoordinatesChart = (_a) => {
571
614
  "data-test-dimensions": currentDimensions.length
572
615
  }
573
616
  ),
574
- /* @__PURE__ */ react_exports.createElement(PromptDiv, { width, height, margin }, /* @__PURE__ */ react_exports.createElement("div", { style: { display: "flex", flexDirection: "row" } }, /* @__PURE__ */ react_exports.createElement(FilterButton, { filterButtonColor, onClick: clearAllFilters }, "Clear filters"), /* @__PURE__ */ react_exports.createElement(
575
- "span",
576
- {
577
- style: { display: filterPromptState ? "flex" : "none", color: filterTextColor },
578
- "data-test": "line-selection-prompt"
579
- },
580
- selectedData.length,
581
- "/",
582
- data.length,
583
- " lines selected"
584
- )), /* @__PURE__ */ react_exports.createElement(
585
- "span",
617
+ /* @__PURE__ */ react_exports.createElement(
618
+ ParallelCoordinatesPrompt_default,
586
619
  {
587
- style: {
588
- display: truncatedCategoriesFlag ? "flex" : "none",
589
- color: truncatedTextColor,
590
- marginRight: 16
591
- },
592
- "data-test": "truncated-data-warning"
593
- },
594
- "Note: Your data is currently truncated due to a high amount of categorical values"
595
- ))
620
+ width,
621
+ height,
622
+ margin,
623
+ filterButtonColor,
624
+ onClearFilters: clearAllFilters,
625
+ filterPromptState,
626
+ filterTextColor,
627
+ selectedDataLength: selectedData.length,
628
+ totalDataLength: data.length,
629
+ truncatedCategoriesFlag,
630
+ truncatedTextColor
631
+ }
632
+ )
596
633
  ));
597
634
  };
598
635
  var ParallelCoordinatesChart_default = ParallelCoordinatesChart;
@@ -1075,9 +1112,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
1075
1112
  position: relative;
1076
1113
  background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
1077
1114
  `;
1078
- var FixSizeItem = styled_components_default.div.attrs(({ width, height }) => ({
1079
- style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
1080
- }))`
1115
+ var FixSizeItem = styled_components_default.div.attrs(
1116
+ ({
1117
+ width,
1118
+ height
1119
+ }) => ({
1120
+ style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
1121
+ })
1122
+ )`
1081
1123
  position: relative;
1082
1124
  flex-direction: column;
1083
1125
  flex: 1;
@@ -1111,7 +1153,7 @@ var withFixedSizeContainer = (Viz) => {
1111
1153
  FixSizeItem,
1112
1154
  {
1113
1155
  "data-test": "fix-size-item",
1114
- "data-splunk-visualization-version": "27.5.0 - 5cfbc7064",
1156
+ "data-splunk-visualization-version": "28.1.0 - 4a1bff08b",
1115
1157
  width,
1116
1158
  height,
1117
1159
  backgroundColor
@@ -1177,7 +1219,7 @@ var Cover = styled_components_default.div`
1177
1219
  bottom: 0;
1178
1220
  `;
1179
1221
  var Blocker = styled_components_default.div.attrs({
1180
- "data-splunk-visualization-version": "27.5.0 - 5cfbc7064"
1222
+ "data-splunk-visualization-version": "28.1.0 - 4a1bff08b"
1181
1223
  })`
1182
1224
  position: relative;
1183
1225
  width: 100%;
@@ -1555,7 +1597,12 @@ var useGetXAndYFields = ({
1555
1597
  y2Fields: options.y2 ? "> y2 | getField()" : void 0,
1556
1598
  fieldTypes: "> primary | getType()"
1557
1599
  };
1558
- const { xField = "", yFields = [], y2Fields = [], fieldTypes } = Options_exports.Options.evaluate(
1600
+ const {
1601
+ xField = "",
1602
+ yFields = [],
1603
+ y2Fields = [],
1604
+ fieldTypes
1605
+ } = Options_exports.Options.evaluate(
1559
1606
  { options: optionsToEvaluate, context },
1560
1607
  dataSourcesWithOnlyOnePoint,
1561
1608
  () => {
@@ -1836,7 +1883,9 @@ var withDashboardViz = (opts) => {
1836
1883
  return result;
1837
1884
  }
1838
1885
  } catch (e) {
1839
- console.error(`unexpected error evaluating options: ${e.message}`);
1886
+ if (e instanceof Error) {
1887
+ console.error(`unexpected error evaluating options: ${e.message}`);
1888
+ }
1840
1889
  return {};
1841
1890
  }
1842
1891
  return {};
@@ -1893,9 +1942,13 @@ var withDashboardViz = (opts) => {
1893
1942
  }
1894
1943
  eventCallbackProps[eventCallbackPropName] = (ev) => {
1895
1944
  if (ev && ev.payload) {
1896
- payload = ev.payload;
1945
+ payload = __spreadValues({}, ev.payload);
1897
1946
  }
1898
- return onEventTrigger({ originalEvent: ev, payload, type: eventName });
1947
+ return onEventTrigger({
1948
+ originalEvent: ev,
1949
+ payload,
1950
+ type: eventName
1951
+ });
1899
1952
  };
1900
1953
  if (parentKeys) {
1901
1954
  for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
@@ -2004,11 +2057,9 @@ var configUtils_default = "default" in defaultImport35 ? defaultImport35.default
2004
2057
  // src/common/utils/configUtils.ts
2005
2058
  function enhanceConfig(vizConfig) {
2006
2059
  const enhancedConfig = __spreadValues({}, vizConfig);
2007
- enhancedConfig.editorConfig = vizConfig.editorConfig.map(
2008
- (config3) => {
2009
- return __spreadProps(__spreadValues({}, config3), { open: config3.open || false });
2010
- }
2011
- );
2060
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map((config3) => {
2061
+ return __spreadProps(__spreadValues({}, config3), { open: config3.open || false });
2062
+ });
2012
2063
  return enhancedConfig;
2013
2064
  }
2014
2065
 
@@ -2030,6 +2081,15 @@ var background = ({
2030
2081
  ];
2031
2082
  var BackgroundColor_default = background;
2032
2083
 
2084
+ // src/common/ThemedDefaults.tsx
2085
+ var defaultBackgroundColor = (props) => pick_default({
2086
+ enterprise: {
2087
+ dark: variables_default.black(props),
2088
+ light: variables_default.white(props)
2089
+ },
2090
+ prisma: variables_default.backgroundColorSection(props)
2091
+ })(props);
2092
+
2033
2093
  // src/ParallelCoordinates/config.ts
2034
2094
  var dataContract = {
2035
2095
  requiredDataSources: [
@@ -2048,13 +2108,7 @@ var size = {
2048
2108
  initialHeight: 400
2049
2109
  };
2050
2110
  var themes = {
2051
- defaultBackgroundColor: (props) => pick_default({
2052
- enterprise: {
2053
- dark: variables_default.black(props),
2054
- light: variables_default.backgroundColor(props)
2055
- },
2056
- prisma: variables_default.backgroundColorSidebar(props)
2057
- })(props),
2111
+ defaultBackgroundColor,
2058
2112
  axisLineColor: (props) => pick_default({
2059
2113
  enterprise: {
2060
2114
  dark: variables_default.gray45(props),