@splunk/visualizations 28.0.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 (63) hide show
  1. package/Area.js +3 -3
  2. package/Area.js.map +2 -2
  3. package/Bar.js +3 -3
  4. package/Bar.js.map +2 -2
  5. package/Bubble.js +3 -3
  6. package/Bubble.js.map +2 -2
  7. package/CHANGELOG.external.md +30 -2
  8. package/ChoroplethSvg.js +15 -11
  9. package/ChoroplethSvg.js.map +2 -2
  10. package/Column.js +3 -3
  11. package/Column.js.map +2 -2
  12. package/Ellipse.js +3 -3
  13. package/Ellipse.js.map +2 -2
  14. package/Events.js +3 -3
  15. package/Events.js.map +2 -2
  16. package/FillerGauge.config.js +124 -3
  17. package/FillerGauge.config.js.map +3 -3
  18. package/FillerGauge.js +816 -75
  19. package/FillerGauge.js.map +4 -4
  20. package/Image.js +3 -3
  21. package/Image.js.map +2 -2
  22. package/Line.js +3 -3
  23. package/Line.js.map +2 -2
  24. package/LinkGraph.js +4 -4
  25. package/LinkGraph.js.map +2 -2
  26. package/Map.config.js +47 -3
  27. package/Map.config.js.map +2 -2
  28. package/Map.js +50 -6
  29. package/Map.js.map +2 -2
  30. package/Markdown.js +7 -4
  31. package/Markdown.js.map +2 -2
  32. package/MarkerGauge.js +3 -3
  33. package/MarkerGauge.js.map +2 -2
  34. package/ParallelCoordinates.js +3 -3
  35. package/ParallelCoordinates.js.map +2 -2
  36. package/Pie.js +3 -3
  37. package/Pie.js.map +2 -2
  38. package/Punchcard.js +3 -3
  39. package/Punchcard.js.map +2 -2
  40. package/Rectangle.js +3 -3
  41. package/Rectangle.js.map +2 -2
  42. package/Sankey.js +3 -3
  43. package/Sankey.js.map +2 -2
  44. package/Scatter.js +3 -3
  45. package/Scatter.js.map +2 -2
  46. package/SingleValue.js +5 -3
  47. package/SingleValue.js.map +2 -2
  48. package/SingleValueIcon.js +3 -3
  49. package/SingleValueIcon.js.map +2 -2
  50. package/SingleValueRadial.js +3 -3
  51. package/SingleValueRadial.js.map +2 -2
  52. package/TRELLIS.md +2 -2
  53. package/Table.config.js +22 -1
  54. package/Table.config.js.map +2 -2
  55. package/Table.js +233 -59
  56. package/Table.js.map +4 -4
  57. package/Timeline.js +66 -26
  58. package/Timeline.js.map +2 -2
  59. package/common/utils/tableUtils.js +59 -0
  60. package/common/utils/tableUtils.js.map +7 -0
  61. package/common/withDashboardViz.js +3 -3
  62. package/common/withDashboardViz.js.map +2 -2
  63. package/package.json +25 -25
package/TRELLIS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Trellis layout
2
2
 
3
- > Trellis is only available for Area, Bar, Column, Line, Pie, Scatter and Single value visualizations.
3
+ > Trellis is only available for Area, Bar, Column, Filler Gauge, Line, Pie, Scatter, and Single value visualizations.
4
4
 
5
5
  Organize your search results with the trellis layout for a holistic view of your data. Trellis layout visualizes your search results by separating each value field or aggregation.
6
6
 
@@ -18,7 +18,7 @@ Configure your visualization for the trellis layout by adding the `splitByLayout
18
18
 
19
19
  Customers with access to a Unified Dashboard Framework (UDF) **Edit** mode can create the trellis layout using the following steps. If you’re not using UDF, skip to step 4.
20
20
 
21
- 1. Select a visualization that supports trellis (Area, Bar, Column, Line, Pie, Scatter, Single value) using the visual editor by clicking the **Add Chart** dropdown menu in the editing toolbar.
21
+ 1. Select a visualization that supports trellis (Area, Bar, Column, Filler Gauge, Line, Pie, Scatter, Single value) using the visual editor by clicking the **Add Chart** dropdown menu in the editing toolbar.
22
22
  2. Select the visualization on your dashboard so that it's highlighted with the blue editing outline.
23
23
  3. Set up a new data source by adding selecting **+ Create Search** and adding a search to the **Search query** window. Or, select an existing data source under the **Search**, **Saved Search**, or **Chain Search** dropdown lists.
24
24
  4. Activate the trellis layout by toggling on **Trellis Layout** in the **Data display** section of the Configuration panel.
package/Table.config.js CHANGED
@@ -203,7 +203,8 @@ var dataContract = {
203
203
  primary: (options = {}) => ({
204
204
  offset: 0,
205
205
  count: options.count ? options.count : 10,
206
- requestTotalCount: true
206
+ requestTotalCount: true,
207
+ add_summary_to_metadata: true
207
208
  })
208
209
  }
209
210
  };
@@ -437,6 +438,26 @@ var editorConfig = [
437
438
  labelWidth: EDITOR_LABEL_WIDTH
438
439
  }
439
440
  }
441
+ ],
442
+ [
443
+ {
444
+ label: (0, i18n_exports._)("Footer totals row"),
445
+ option: "showFooterTotals",
446
+ editor: "editor.checkbox",
447
+ editorProps: {
448
+ labelWidth: EDITOR_LABEL_WIDTH
449
+ }
450
+ }
451
+ ],
452
+ [
453
+ {
454
+ label: (0, i18n_exports._)("Footer percentages row"),
455
+ option: "showFooterPercentages",
456
+ editor: "editor.checkbox",
457
+ editorProps: {
458
+ labelWidth: EDITOR_LABEL_WIDTH
459
+ }
460
+ }
440
461
  ]
441
462
  ]
442
463
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/Table/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/visualizations-shared/colorConstants", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-icons/placeholders", "esm-externals:@splunk/themes/variables", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/react-icons/TextAlignCenter", "esm-externals:@splunk/react-icons/TextAlignLeft", "esm-externals:@splunk/react-icons/TextAlignRight", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/ThemedDefaults.tsx"],
4
- "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { tableOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport TextAlignCenter from '@splunk/react-icons/TextAlignCenter';\nimport TextAlignLeft from '@splunk/react-icons/TextAlignLeft';\nimport TextAlignRight from '@splunk/react-icons/TextAlignRight';\n\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\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 { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\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: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n { match: 'null', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n { match: 'null', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst headerAlignConfigTable = {\n label: _('Header alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.headerAlign',\n editorProps: {\n values: [\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst headerAlignConfigColumn = {\n ...headerAlignConfigTable,\n option: 'headerAlign',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textOverflowConfigColumn = {\n label: _('Text wrapping'),\n editor: 'editor.radioBar',\n option: 'textOverflow',\n editorProps: {\n values: [\n { label: _('Standard'), value: 'break-word' },\n { label: _('Anywhere'), value: 'anywhere' },\n { label: _('Trim'), value: 'ellipsis' },\n ],\n },\n};\n\nconst textAlignConfigTable = {\n label: _('Cells alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.align',\n editorProps: {\n values: [\n {\n label: _('Auto'),\n value: '> table | type() | matchValue(tableAlignByType)',\n },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textAlignConfigColumn = {\n ...textAlignConfigTable,\n option: 'align',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst unitPositionConfig = {\n label: _('Units position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\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\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor,\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: { dark: variables.backgroundColorSidebar(props), light: variables.white(props) },\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([...COLOR_EDITOR_PALETTE]);\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Rows displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row numbers'),\n option: 'showRowNumbers',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal fields'),\n option: 'showInternalFields',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header row'),\n option: 'headerVisibility',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n {\n label: _('Proportional (Default)'),\n value: 'proportional',\n },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n {\n label: _('Extra Small (font 10px, row 24px)'),\n value: 'extraSmall',\n },\n {\n label: _('Small (font 12px, row 24px)'),\n value: 'small',\n },\n {\n label: _('Default (font 14px, row 32px)'),\n value: 'default',\n },\n {\n label: _('Large (font 16px, row 36px)'),\n value: 'large',\n },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n ...headerAlignConfigTable,\n },\n ],\n [\n {\n ...textAlignConfigTable,\n },\n ],\n [\n {\n label: _('Column-specific formatting'),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // popover: {sections: [textFormatConfig, formatByTypeConfig, columnColoringConfig]}\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n text: {\n align: 'auto',\n headerAlign: 'auto',\n textOverflow: 'break-word',\n },\n },\n textFormatConfig: [\n [\n {\n ...headerAlignConfigColumn,\n },\n ],\n [\n {\n ...textAlignConfigColumn,\n },\n ],\n [\n {\n ...textOverflowConfigColumn,\n },\n ],\n ],\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n {\n label: _('Off'),\n value: false,\n },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: _('Table'),\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\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/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\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 \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\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/react-icons/TextAlignCenter\";\nexport * from \"@splunk/react-icons/TextAlignCenter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignLeft\";\nexport * from \"@splunk/react-icons/TextAlignLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignRight\";\nexport * from \"@splunk/react-icons/TextAlignRight\";\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 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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",
4
+ "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { tableOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport TextAlignCenter from '@splunk/react-icons/TextAlignCenter';\nimport TextAlignLeft from '@splunk/react-icons/TextAlignLeft';\nimport TextAlignRight from '@splunk/react-icons/TextAlignRight';\n\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\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 { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\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: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n add_summary_to_metadata: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n { match: 'null', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n { match: 'null', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst headerAlignConfigTable = {\n label: _('Header alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.headerAlign',\n editorProps: {\n values: [\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst headerAlignConfigColumn = {\n ...headerAlignConfigTable,\n option: 'headerAlign',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textOverflowConfigColumn = {\n label: _('Text wrapping'),\n editor: 'editor.radioBar',\n option: 'textOverflow',\n editorProps: {\n values: [\n { label: _('Standard'), value: 'break-word' },\n { label: _('Anywhere'), value: 'anywhere' },\n { label: _('Trim'), value: 'ellipsis' },\n ],\n },\n};\n\nconst textAlignConfigTable = {\n label: _('Cells alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.align',\n editorProps: {\n values: [\n {\n label: _('Auto'),\n value: '> table | type() | matchValue(tableAlignByType)',\n },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textAlignConfigColumn = {\n ...textAlignConfigTable,\n option: 'align',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst unitPositionConfig = {\n label: _('Units position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\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\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor,\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: { dark: variables.backgroundColorSidebar(props), light: variables.white(props) },\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([...COLOR_EDITOR_PALETTE]);\n\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Rows displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row numbers'),\n option: 'showRowNumbers',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal fields'),\n option: 'showInternalFields',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header row'),\n option: 'headerVisibility',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Footer totals row'),\n option: 'showFooterTotals',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Footer percentages row'),\n option: 'showFooterPercentages',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n {\n label: _('Proportional (Default)'),\n value: 'proportional',\n },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n {\n label: _('Extra Small (font 10px, row 24px)'),\n value: 'extraSmall',\n },\n {\n label: _('Small (font 12px, row 24px)'),\n value: 'small',\n },\n {\n label: _('Default (font 14px, row 32px)'),\n value: 'default',\n },\n {\n label: _('Large (font 16px, row 36px)'),\n value: 'large',\n },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n ...headerAlignConfigTable,\n },\n ],\n [\n {\n ...textAlignConfigTable,\n },\n ],\n [\n {\n label: _('Column-specific formatting'),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // popover: {sections: [textFormatConfig, formatByTypeConfig, columnColoringConfig]}\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n text: {\n align: 'auto',\n headerAlign: 'auto',\n textOverflow: 'break-word',\n },\n },\n textFormatConfig: [\n [\n {\n ...headerAlignConfigColumn,\n },\n ],\n [\n {\n ...textAlignConfigColumn,\n },\n ],\n [\n {\n ...textOverflowConfigColumn,\n },\n ],\n ],\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n {\n label: _('Off'),\n value: false,\n },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: _('Table'),\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\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/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\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 \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\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/react-icons/TextAlignCenter\";\nexport * from \"@splunk/react-icons/TextAlignCenter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignLeft\";\nexport * from \"@splunk/react-icons/TextAlignLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignRight\";\nexport * from \"@splunk/react-icons/TextAlignRight\";\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 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", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "TableIcon", "TablePlaceholderIcon", "optionsSchema"]
7
7
  }