@splunk/visualizations 25.5.0 → 25.6.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 (76) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Dark.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_DarkPrisma.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Light.png +0 -0
  4. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
  5. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
  6. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
  7. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
  8. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
  9. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
  10. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
  11. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
  12. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
  13. package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
  14. package/Area.js +226 -143
  15. package/Area.js.map +1 -1
  16. package/Bar.js +226 -143
  17. package/Bar.js.map +1 -1
  18. package/Bubble.js +218 -135
  19. package/Bubble.js.map +1 -1
  20. package/ChoroplethSvg.js +217 -139
  21. package/ChoroplethSvg.js.map +1 -1
  22. package/Column.js +226 -143
  23. package/Column.js.map +1 -1
  24. package/Ellipse.js +188 -105
  25. package/Ellipse.js.map +1 -1
  26. package/Events.config.js +3 -0
  27. package/Events.config.js.map +1 -1
  28. package/Events.js +967 -267
  29. package/Events.js.map +1 -1
  30. package/FillerGauge.js +214 -126
  31. package/FillerGauge.js.map +1 -1
  32. package/Image.js +210 -125
  33. package/Image.js.map +1 -1
  34. package/Line.js +231 -143
  35. package/Line.js.map +1 -1
  36. package/LinkGraph.js +601 -524
  37. package/LinkGraph.js.map +1 -1
  38. package/Map.js +484 -406
  39. package/Map.js.map +1 -1
  40. package/Markdown.js +295 -210
  41. package/Markdown.js.map +1 -1
  42. package/MarkerGauge.js +388 -310
  43. package/MarkerGauge.js.map +1 -1
  44. package/ParallelCoordinates.js +469 -391
  45. package/ParallelCoordinates.js.map +1 -1
  46. package/Pie.js +428 -343
  47. package/Pie.js.map +1 -1
  48. package/Punchcard.js +480 -402
  49. package/Punchcard.js.map +1 -1
  50. package/Rectangle.js +437 -352
  51. package/Rectangle.js.map +1 -1
  52. package/Sankey.js +497 -419
  53. package/Sankey.js.map +1 -1
  54. package/Scatter.js +361 -276
  55. package/Scatter.js.map +1 -1
  56. package/SingleValue.js +386 -301
  57. package/SingleValue.js.map +1 -1
  58. package/SingleValueBasic.js +23 -23
  59. package/SingleValueBasic.js.map +1 -1
  60. package/SingleValueIcon.js +385 -300
  61. package/SingleValueIcon.js.map +1 -1
  62. package/SingleValueRadial.js +319 -234
  63. package/SingleValueRadial.js.map +1 -1
  64. package/Table.js +309 -231
  65. package/Table.js.map +1 -1
  66. package/common/EventsDoc.js +3 -3
  67. package/common/EventsDoc.js.map +1 -1
  68. package/common/GaugeMajorTicks.js +2 -2
  69. package/common/GaugeValueMarker.js +2 -2
  70. package/common/OptionsDoc.js +14 -14
  71. package/common/OptionsDoc.js.map +1 -1
  72. package/common/ThemesDoc.js +10 -10
  73. package/common/ThemesDoc.js.map +1 -1
  74. package/common/withDashboardViz.js +122 -42
  75. package/common/withDashboardViz.js.map +1 -1
  76. package/package.json +13 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/react-ui/ColumnLayout\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualization-themes/variables\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/react-ui/Select\"","webpack:///external \"lodash/omit\"","webpack:///external \"lodash/cloneDeep\"","webpack:///external \"@splunk/react-ui/Message\"","webpack:///external \"@splunk/react-ui/Tooltip\"","webpack:///external \"@splunk/themes/SplunkThemeProvider\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///./src/common/ThemesDoc.jsx"],"names":["ThemeVar","styled","ThemeVarName","props","PairContainer","PairTitle","ColorPreview","Pair","title","text","isColor","T","string","themeFamilyMapping","enterprise","colorScheme","dark","light","prisma","themeIdToVariant","enterpriseLightComfortable","density","family","label","enterpriseLightCompact","enterpriseDarkComfortable","enterpriseDarkCompact","prismaLightComfortable","prismaLightCompact","prismaDarkComfortable","prismaDarkCompact","ThemesDoc","renderVisualization","themeVars","useState","highlightedThemeVariable","setHighlightedThemeVariable","selectedTheme","setSelectedTheme","previewTheme","cloneDeep","marginTop","value","padding","themeValue","theme","splunkThemeV1","omit","isFromSharedVariables","isJSON","JSON","varKey","themes","isRequired"],"mappings":"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","file":"ThemesDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 65);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/react-ui/ColumnLayout\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualization-themes/variables\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/react-ui/Select\");","module.exports = require(\"lodash/omit\");","module.exports = require(\"lodash/cloneDeep\");","module.exports = require(\"@splunk/react-ui/Message\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes/SplunkThemeProvider\");","module.exports = require(\"@splunk/react-ui/Heading\");","/* eslint-disable react/no-multi-comp */\nimport React, { useState } from 'react';\nimport T from 'prop-types';\nimport Heading from '@splunk/react-ui/Heading';\nimport styled from 'styled-components';\nimport omit from 'lodash/omit';\nimport cloneDeep from 'lodash/cloneDeep';\nimport ColumnLayout from '@splunk/react-ui/ColumnLayout';\nimport Select from '@splunk/react-ui/Select';\nimport Message from '@splunk/react-ui/Message';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport SplunkThemeProvider from '@splunk/themes/SplunkThemeProvider';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport * as sharedThemeVariables from '@splunk/visualization-themes/variables';\n\nconst ThemeVar = styled.div`\n margin-top: 20px;\n cursor: pointer;\n`;\nconst ThemeVarName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n display: inline-block;\n padding-right: 5px;\n font-weight: ${props => (props.highlighted ? 'bold' : 'normal')};\n`;\nconst PairContainer = styled.div`\n margin-left: 40px;\n margin-top: 10px;\n`;\nconst PairTitle = styled.span`\n display: inline-block;\n color: #8293a7;\n width: 80px;\n`;\nconst ColorPreview = styled.div`\n width: 20px;\n height: 20px;\n background: ${props => props.color};\n display: inline-block;\n vertical-align: bottom;\n margin-right: 5px;\n border: 1px solid rgba(0, 0, 0, 0.3);\n border-radius: 5px;\n`;\n\nconst Pair = ({ title, text }) => (\n <PairContainer>\n <PairTitle>{`${title}:`}</PairTitle>\n {isColor(text) && <ColorPreview color={text} />}\n <samp>{text}</samp>\n </PairContainer>\n);\nPair.propTypes = {\n title: T.string,\n text: T.string,\n};\n\nconst themeFamilyMapping = {\n enterprise: {\n colorScheme: {\n dark: 'enterpriseDark',\n light: 'enterprise',\n },\n },\n prisma: {\n colorScheme: {\n dark: 'scp',\n light: 'enterprise',\n },\n },\n};\n\nconst themeIdToVariant = {\n enterpriseLightComfortable: {\n colorScheme: 'light',\n density: 'comfortable',\n family: 'enterprise',\n label: 'Enterprise Light Comfortable',\n },\n enterpriseLightCompact: {\n colorScheme: 'light',\n density: 'compact',\n family: 'enterprise',\n label: 'Enterprise Light Compact',\n },\n enterpriseDarkComfortable: {\n colorScheme: 'dark',\n density: 'comfortable',\n family: 'enterprise',\n label: 'Enterprise Dark Comfortable',\n },\n enterpriseDarkCompact: {\n colorScheme: 'dark',\n density: 'compact',\n family: 'enterprise',\n label: 'Enterprise Dark Compact',\n },\n prismaLightComfortable: {\n colorScheme: 'light',\n density: 'comfortable',\n family: 'prisma',\n label: 'Prisma Light Comfortable',\n },\n prismaLightCompact: {\n colorScheme: 'light',\n density: 'compact',\n family: 'prisma',\n label: 'Prisma Light Compact',\n },\n prismaDarkComfortable: {\n colorScheme: 'dark',\n density: 'comfortable',\n family: 'prisma',\n label: 'Prisma Dark Comfortable',\n },\n prismaDarkCompact: {\n colorScheme: 'dark',\n density: 'compact',\n family: 'prisma',\n label: 'Prisma Dark Compact',\n },\n};\n\nconst ThemesDoc = props => {\n const { renderVisualization, themes: themeVars } = props;\n const [highlightedThemeVariable, setHighlightedThemeVariable] = useState('');\n const [selectedTheme, setSelectedTheme] = useState(themeIdToVariant.enterpriseLightComfortable);\n const previewTheme = cloneDeep(themeVars);\n // if the highlighted theme variable is a color, color it red\n // TODO(fkurniawan): fix red highlighting. this broke ~v20.7.0, and approach needs to be modified again owing to SUI upgrade\n if (isColor(themeVars[highlightedThemeVariable])) {\n previewTheme[highlightedThemeVariable] = () => 'red';\n }\n return (\n <ColumnLayout style={{ marginTop: -20 }}>\n <ColumnLayout.Row>\n <ColumnLayout.Column span={12}>\n <Heading level={4}>Theme</Heading>\n <Select value={selectedTheme} onChange={(e, { value }) => setSelectedTheme(value)}>\n {Object.keys(themeIdToVariant).map(themeId => (\n <Select.Option\n key={themeId}\n label={themeIdToVariant[themeId].label}\n value={themeIdToVariant[themeId]}\n />\n ))}\n </Select>\n </ColumnLayout.Column>\n </ColumnLayout.Row>\n <ColumnLayout.Row>\n <ColumnLayout.Column colStyle={{ padding: 10 }} span={4}>\n <Heading level={4}>Preview</Heading>\n <SplunkThemeProvider\n family={selectedTheme.family}\n colorScheme={selectedTheme.colorScheme}\n density={selectedTheme.density}\n >\n {renderVisualization()}\n </SplunkThemeProvider>\n <Message type=\"info\">\n This preview may differ from the visualization&apos;s default look and feel. <br />\n It exists to show areas affected by theme variables.\n </Message>\n </ColumnLayout.Column>\n <ColumnLayout.Column colStyle={{ padding: 10 }} span={8}>\n <Heading level={4}>Variables</Heading>\n {Object.keys(previewTheme).map(varKey => {\n const themeValue = previewTheme[varKey]({\n theme: { splunkThemeV1: omit(selectedTheme, ['label']) },\n });\n // if a theme variable is in @splunk/visualization-themes and it has the same value\n // we assume we used the shared variable.\n const isFromSharedVariables =\n sharedThemeVariables?.[\n themeFamilyMapping?.[selectedTheme.family]?.[selectedTheme.colorScheme]\n ]?.[varKey] === themeValue;\n // for now we only show simple theme values (nested theme objects shouldn't have been introduced in the first place)\n let isJSON;\n try {\n isJSON = typeof JSON.parse(themeValue) === 'object';\n } catch (e) {} // eslint-disable-line no-empty\n return (\n !isJSON && (\n <ThemeVar\n key={varKey}\n onMouseOver={() => setHighlightedThemeVariable(varKey)}\n onMouseOut={() => setHighlightedThemeVariable('')}\n >\n <ThemeVarName\n highlighted={varKey === highlightedThemeVariable}\n >{`${varKey}`}</ThemeVarName>\n {isFromSharedVariables && (\n <Tooltip content=\"This is a shared theme variable from @splunk/visualization-themes\" />\n )}\n <Pair title=\"Value\" text={themeValue} />\n </ThemeVar>\n )\n );\n })}\n </ColumnLayout.Column>\n </ColumnLayout.Row>\n </ColumnLayout>\n );\n};\n\nThemesDoc.propTypes = {\n themes: T.object.isRequired, // @TODO: replace with themes object from viz config when we add docs/descs to theme vars\n renderVisualization: T.func.isRequired,\n};\n\nexport default ThemesDoc;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/react-ui/ColumnLayout\"","webpack:///external \"@babel/runtime/helpers/typeof\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///external \"@splunk/visualization-themes/variables\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/react-ui/Select\"","webpack:///external \"lodash/omit\"","webpack:///external \"lodash/cloneDeep\"","webpack:///external \"@splunk/react-ui/Message\"","webpack:///external \"@splunk/react-ui/Tooltip\"","webpack:///external \"@splunk/themes/SplunkThemeProvider\"","webpack:///external \"@splunk/react-ui/Heading\"","webpack:///./src/common/ThemesDoc.jsx"],"names":["ThemeVar","styled","ThemeVarName","props","PairContainer","PairTitle","ColorPreview","Pair","title","text","isColor","T","string","themeFamilyMapping","enterprise","colorScheme","dark","light","prisma","themeIdToVariant","enterpriseLightComfortable","density","family","label","enterpriseLightCompact","enterpriseDarkComfortable","enterpriseDarkCompact","prismaLightComfortable","prismaLightCompact","prismaDarkComfortable","prismaDarkCompact","ThemesDoc","renderVisualization","themeVars","useState","highlightedThemeVariable","setHighlightedThemeVariable","selectedTheme","setSelectedTheme","previewTheme","cloneDeep","marginTop","value","padding","themeValue","theme","splunkThemeV1","omit","isFromSharedVariables","isJSON","JSON","varKey","themes","isRequired"],"mappings":"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","file":"ThemesDoc.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 65);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/react-ui/ColumnLayout\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","module.exports = require(\"@splunk/visualization-themes/variables\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/react-ui/Select\");","module.exports = require(\"lodash/omit\");","module.exports = require(\"lodash/cloneDeep\");","module.exports = require(\"@splunk/react-ui/Message\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes/SplunkThemeProvider\");","module.exports = require(\"@splunk/react-ui/Heading\");","/* eslint-disable react/no-multi-comp */\nimport React, { useState } from 'react';\nimport T from 'prop-types';\nimport Heading from '@splunk/react-ui/Heading';\nimport styled from 'styled-components';\nimport omit from 'lodash/omit';\nimport cloneDeep from 'lodash/cloneDeep';\nimport ColumnLayout from '@splunk/react-ui/ColumnLayout';\nimport Select from '@splunk/react-ui/Select';\nimport Message from '@splunk/react-ui/Message';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport SplunkThemeProvider from '@splunk/themes/SplunkThemeProvider';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport * as sharedThemeVariables from '@splunk/visualization-themes/variables';\n\nconst ThemeVar = styled.div`\n margin-top: 20px;\n cursor: pointer;\n`;\nconst ThemeVarName = styled.div`\n color: #5ca300;\n padding-bottom: 5px;\n display: inline-block;\n padding-right: 5px;\n font-weight: ${props => (props.highlighted ? 'bold' : 'normal')};\n`;\nconst PairContainer = styled.div`\n margin-left: 40px;\n margin-top: 10px;\n`;\nconst PairTitle = styled.span`\n display: inline-block;\n color: #8293a7;\n width: 80px;\n`;\nconst ColorPreview = styled.div`\n width: 20px;\n height: 20px;\n background: ${props => props.color};\n display: inline-block;\n vertical-align: bottom;\n margin-right: 5px;\n border: 1px solid rgba(0, 0, 0, 0.3);\n border-radius: 5px;\n`;\n\nconst Pair = ({ title, text }) => (\n <PairContainer>\n <PairTitle>{`${title}:`}</PairTitle>\n {isColor(text) && <ColorPreview color={text} />}\n <samp>{text}</samp>\n </PairContainer>\n);\nPair.propTypes = {\n title: T.string,\n text: T.string,\n};\n\nconst themeFamilyMapping = {\n enterprise: {\n colorScheme: {\n dark: 'enterpriseDark',\n light: 'enterprise',\n },\n },\n prisma: {\n colorScheme: {\n dark: 'scp',\n light: 'enterprise',\n },\n },\n};\n\nconst themeIdToVariant = {\n enterpriseLightComfortable: {\n colorScheme: 'light',\n density: 'comfortable',\n family: 'enterprise',\n label: 'Enterprise Light Comfortable',\n },\n enterpriseLightCompact: {\n colorScheme: 'light',\n density: 'compact',\n family: 'enterprise',\n label: 'Enterprise Light Compact',\n },\n enterpriseDarkComfortable: {\n colorScheme: 'dark',\n density: 'comfortable',\n family: 'enterprise',\n label: 'Enterprise Dark Comfortable',\n },\n enterpriseDarkCompact: {\n colorScheme: 'dark',\n density: 'compact',\n family: 'enterprise',\n label: 'Enterprise Dark Compact',\n },\n prismaLightComfortable: {\n colorScheme: 'light',\n density: 'comfortable',\n family: 'prisma',\n label: 'Prisma Light Comfortable',\n },\n prismaLightCompact: {\n colorScheme: 'light',\n density: 'compact',\n family: 'prisma',\n label: 'Prisma Light Compact',\n },\n prismaDarkComfortable: {\n colorScheme: 'dark',\n density: 'comfortable',\n family: 'prisma',\n label: 'Prisma Dark Comfortable',\n },\n prismaDarkCompact: {\n colorScheme: 'dark',\n density: 'compact',\n family: 'prisma',\n label: 'Prisma Dark Compact',\n },\n};\n\nconst ThemesDoc = props => {\n const { renderVisualization, themes: themeVars } = props;\n const [highlightedThemeVariable, setHighlightedThemeVariable] = useState('');\n const [selectedTheme, setSelectedTheme] = useState(themeIdToVariant.enterpriseLightComfortable);\n const previewTheme = cloneDeep(themeVars);\n // if the highlighted theme variable is a color, color it red\n // TODO(fkurniawan): fix red highlighting. this broke ~v20.7.0, and approach needs to be modified again owing to SUI upgrade\n if (isColor(themeVars[highlightedThemeVariable])) {\n previewTheme[highlightedThemeVariable] = () => 'red';\n }\n return (\n <ColumnLayout style={{ marginTop: -20 }}>\n <ColumnLayout.Row>\n <ColumnLayout.Column span={12}>\n <Heading level={4}>Theme</Heading>\n <Select value={selectedTheme} onChange={(e, { value }) => setSelectedTheme(value)}>\n {Object.keys(themeIdToVariant).map(themeId => (\n <Select.Option\n key={themeId}\n label={themeIdToVariant[themeId].label}\n value={themeIdToVariant[themeId]}\n />\n ))}\n </Select>\n </ColumnLayout.Column>\n </ColumnLayout.Row>\n <ColumnLayout.Row>\n <ColumnLayout.Column colStyle={{ padding: 10 }} span={4}>\n <Heading level={4}>Preview</Heading>\n <SplunkThemeProvider\n family={selectedTheme.family}\n colorScheme={selectedTheme.colorScheme}\n density={selectedTheme.density}\n >\n {renderVisualization()}\n </SplunkThemeProvider>\n <Message type=\"info\">\n This preview may differ from the visualization&apos;s default look and feel. <br />\n It exists to show areas affected by theme variables.\n </Message>\n </ColumnLayout.Column>\n <ColumnLayout.Column colStyle={{ padding: 10 }} span={8}>\n <Heading level={4}>Variables</Heading>\n {Object.keys(previewTheme).map(varKey => {\n const themeValue = previewTheme[varKey]({\n theme: { splunkThemeV1: omit(selectedTheme, ['label']) },\n });\n // if a theme variable is in @splunk/visualization-themes and it has the same value\n // we assume we used the shared variable.\n const isFromSharedVariables =\n sharedThemeVariables?.[\n themeFamilyMapping?.[selectedTheme.family]?.[selectedTheme.colorScheme]\n ]?.[varKey] === themeValue;\n // for now we only show simple theme values (nested theme objects shouldn't have been introduced in the first place)\n let isJSON;\n try {\n isJSON = typeof JSON.parse(themeValue) === 'object';\n } catch (e) {} // eslint-disable-line no-empty\n return (\n !isJSON && (\n <ThemeVar\n key={varKey}\n onMouseOver={() => setHighlightedThemeVariable(varKey)}\n onMouseOut={() => setHighlightedThemeVariable('')}\n >\n <ThemeVarName\n highlighted={varKey === highlightedThemeVariable}\n >{`${varKey}`}</ThemeVarName>\n {isFromSharedVariables && (\n <Tooltip content=\"This is a shared theme variable from @splunk/visualization-themes\" />\n )}\n <Pair title=\"Value\" text={themeValue} />\n </ThemeVar>\n )\n );\n })}\n </ColumnLayout.Column>\n </ColumnLayout.Row>\n </ColumnLayout>\n );\n};\n\nThemesDoc.propTypes = {\n themes: T.object.isRequired, // @TODO: replace with themes object from viz config when we add docs/descs to theme vars\n renderVisualization: T.func.isRequired,\n};\n\nexport default ThemesDoc;\n"],"sourceRoot":""}
@@ -141,16 +141,21 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
141
141
 
142
142
  /***/ }),
143
143
  /* 9 */,
144
- /* 10 */,
144
+ /* 10 */
145
+ /***/ (function(module, exports) {
146
+
147
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
148
+
149
+ /***/ }),
145
150
  /* 11 */,
146
151
  /* 12 */,
147
- /* 13 */
152
+ /* 13 */,
153
+ /* 14 */
148
154
  /***/ (function(module, exports) {
149
155
 
150
156
  module.exports = require("@splunk/visualizations-shared/colorUtils");
151
157
 
152
158
  /***/ }),
153
- /* 14 */,
154
159
  /* 15 */,
155
160
  /* 16 */,
156
161
  /* 17 */,
@@ -423,11 +428,11 @@ var React = __webpack_require__(0);
423
428
 
424
429
  var styled_components_1 = __webpack_require__(2);
425
430
 
426
- var SizeAwareWrapper_1 = __webpack_require__(86);
431
+ var SizeAwareWrapper_1 = __webpack_require__(89);
427
432
 
428
433
  var style_1 = __webpack_require__(21);
429
434
 
430
- var colorUtils_1 = __webpack_require__(13);
435
+ var colorUtils_1 = __webpack_require__(14);
431
436
 
432
437
  var Item = styled_components_1.default.div.attrs(function (_ref) {
433
438
  var width = _ref.width;
@@ -484,7 +489,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
484
489
 
485
490
  return React.createElement(FixSizeItem, {
486
491
  "data-test": "fix-size-item",
487
- "data-splunk-visualization-version": "25.5.0 - 12c0447a7",
492
+ "data-splunk-visualization-version": "25.6.0 - f5eb3abf9",
488
493
  width: width,
489
494
  height: height,
490
495
  backgroundColor: backgroundColor
@@ -584,6 +589,8 @@ exports.extendStaticWrapperProps = extendStaticWrapperProps;
584
589
  "use strict";
585
590
 
586
591
 
592
+ var _slicedToArray = __webpack_require__(10);
593
+
587
594
  Object.defineProperty(exports, "__esModule", {
588
595
  value: true
589
596
  });
@@ -602,34 +609,41 @@ var TimezoneContext_1 = __webpack_require__(20);
602
609
 
603
610
  var moment_1 = __webpack_require__(78);
604
611
 
612
+ var FeatureFlagContext_1 = __webpack_require__(79);
613
+
605
614
  var styled_components_1 = __webpack_require__(2);
606
615
 
607
- var hocUtils_1 = __webpack_require__(79);
616
+ var hocUtils_1 = __webpack_require__(80);
617
+
618
+ var JSONSchemaUtils_1 = __webpack_require__(81);
608
619
 
609
- var JSONSchemaUtils_1 = __webpack_require__(80);
620
+ var async_dynamic_options_evaluator_1 = __webpack_require__(82);
621
+
622
+ var id_1 = __webpack_require__(83);
610
623
 
611
624
  var SplunkVisualization_1 = __webpack_require__(23);
612
625
 
613
626
  var VizBehavior_1 = __webpack_require__(30);
614
627
 
615
- var getSorting_1 = __webpack_require__(81);
628
+ var getSorting_1 = __webpack_require__(84);
629
+
630
+ var getPagination_1 = __webpack_require__(86);
616
631
 
617
- var getPagination_1 = __webpack_require__(83);
632
+ var useDeepMemo_1 = __webpack_require__(87);
618
633
 
619
- var useDeepMemo_1 = __webpack_require__(84);
634
+ var MissingPropsMessage_1 = __webpack_require__(88);
620
635
 
621
- var MissingPropsMessage_1 = __webpack_require__(85);
636
+ var withEditModeCover_1 = __webpack_require__(90);
622
637
 
623
- var withEditModeCover_1 = __webpack_require__(87);
638
+ var withPlaceholder_1 = __webpack_require__(91);
624
639
 
625
- var withPlaceholder_1 = __webpack_require__(88);
640
+ var UUID = id_1.createGUID();
626
641
  /**
627
642
  * hoc that wraps a pure react visualization in a Dashboard visualization
628
643
  * @param {DashboardVizOpts} opts
629
644
  * @returns {HOC}
630
645
  */
631
646
 
632
-
633
647
  var withDashboardViz = function withDashboardViz(opts) {
634
648
  var ReactViz = opts.ReactViz,
635
649
  vizConfig = opts.vizConfig,
@@ -689,28 +703,76 @@ var withDashboardViz = function withDashboardViz(opts) {
689
703
 
690
704
  var evaluatedOptions = {}; // evaluatedOptions need to be initialized as an empty object
691
705
 
706
+ var _React$useState = React.useState({}),
707
+ _React$useState2 = _slicedToArray(_React$useState, 2),
708
+ evaluatedOptionsAsync = _React$useState2[0],
709
+ setEvaluatedOptionsAsync = _React$useState2[1]; // evaluatedOptions need to be initialized as an empty object
710
+
711
+
712
+ var featureFlagContext = React.useContext(FeatureFlagContext_1.default);
713
+
714
+ var _React$useState3 = React.useState("".concat(vizConfig.name, " - ").concat(UUID)),
715
+ _React$useState4 = _slicedToArray(_React$useState3, 1),
716
+ visualizationID = _React$useState4[0];
717
+
718
+ var _React$useState5 = React.useState(Boolean(featureFlagContext && featureFlagContext['visualizations.useWebWorkersForDSL'] && typeof Worker !== 'undefined')),
719
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
720
+ useAsyncEvaluatedOptions = _React$useState6[0],
721
+ setUseAsyncEvaluatedOptions = _React$useState6[1];
722
+
692
723
  evaluatedOptions = useDeepMemo_1.useDeepMemo(function () {
693
724
  try {
694
- return Options_1.Options.evaluate({
695
- context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
696
- options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
697
- }, dataSources, themeFunc);
725
+ if (useAsyncEvaluatedOptions) {
726
+ var optionsToEvaluate = {
727
+ context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
728
+ options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
729
+ };
730
+ var asyncDynamicOptionsEvaluatorParams = {
731
+ visualizationID: visualizationID,
732
+ props: props,
733
+ options: optionsToEvaluate,
734
+ dataSources: dataSources,
735
+ theme: vizConfig.themes
736
+ };
737
+ async_dynamic_options_evaluator_1.default.evaluate(asyncDynamicOptionsEvaluatorParams).then(function (results) {
738
+ setEvaluatedOptionsAsync(results.results);
739
+ }).catch(function (e) {
740
+ // eslint-disable-next-line no-console
741
+ console.error("unexpected error evaluating options - async: ".concat(e.message));
742
+ setUseAsyncEvaluatedOptions(false);
743
+ });
744
+ } else {
745
+ return Options_1.Options.evaluate({
746
+ context: lodash_1.defaultsDeep({}, context, vizConfig.defaultContext),
747
+ options: hocUtils_1.deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions)
748
+ }, dataSources, themeFunc);
749
+ }
698
750
  } catch (e) {
699
751
  // eslint-disable-next-line no-console
700
- console.error("unexpected error evaluating options: + ".concat(e.message));
752
+ console.error("unexpected error evaluating options: ".concat(e.message));
701
753
  return {};
702
754
  }
703
- }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources, serializedTimezone]); // useEffect hook needs to be initialized before any early returns
755
+
756
+ return {};
757
+ }, [currentThemeFamily, currentThemeColorScheme, currentThemeDensity, options, context, dataSources, serializedTimezone, useAsyncEvaluatedOptions]);
758
+ var evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync; // useEffect hook needs to be initialized before any early returns
704
759
  // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation
705
760
 
706
761
  React.useEffect(function () {
707
- onComputedProps(evaluatedOptions);
708
- }); // present warning message if any required props are missing
762
+ onComputedProps(evaluatedOptionsToUse);
763
+ });
764
+ React.useEffect(function () {
765
+ return function () {
766
+ if (useAsyncEvaluatedOptions) {
767
+ async_dynamic_options_evaluator_1.default.reset(visualizationID);
768
+ }
769
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
770
+ }, []); // present warning message if any required props are missing
709
771
 
710
772
  var _vizConfig$requiredPr = vizConfig.requiredProps,
711
773
  requiredProps = _vizConfig$requiredPr === void 0 ? [] : _vizConfig$requiredPr,
712
774
  supports = vizConfig.supports;
713
- var missing = MissingPropsMessage_1.missingKeys(requiredProps, evaluatedOptions);
775
+ var missing = MissingPropsMessage_1.missingKeys(requiredProps, evaluatedOptionsToUse);
714
776
 
715
777
  if (missing.length > 0 && supports.includes(VizBehavior_1.VizBehavior.PLACEHOLDER)) {
716
778
  return React.createElement(MissingPropsMessage_1.default, {
@@ -737,7 +799,7 @@ var withDashboardViz = function withDashboardViz(opts) {
737
799
 
738
800
  if (Array.isArray(payloadKeys) && payloadKeys.length) {
739
801
  payloadKeys.forEach(function (p) {
740
- payload[p] = evaluatedOptions[p];
802
+ payload[p] = evaluatedOptionsToUse[p];
741
803
  });
742
804
  }
743
805
 
@@ -756,7 +818,7 @@ var withDashboardViz = function withDashboardViz(opts) {
756
818
  } // compute pure viz props which are not from options
757
819
 
758
820
 
759
- var computedVizProps = computeVizProps(Object.assign(Object.assign(Object.assign(Object.assign({}, props), evaluatedOptions), eventCallbackProps), {
821
+ var computedVizProps = computeVizProps(Object.assign(Object.assign(Object.assign(Object.assign({}, props), evaluatedOptionsToUse), eventCallbackProps), {
760
822
  themeFunc: themeFunc
761
823
  }));
762
824
  /**
@@ -776,7 +838,7 @@ var withDashboardViz = function withDashboardViz(opts) {
776
838
 
777
839
  var dataSourceMetadata = {};
778
840
  var OptionKey = 'paginateDataSourceKey';
779
- var paginateDataSourceKey = lodash_1.has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey] || 'primary';
841
+ var paginateDataSourceKey = lodash_1.has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey] || 'primary';
780
842
 
781
843
  if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.PAGE_AND_SORT) > -1 && lodash_1.has(dataSources, paginateDataSourceKey)) {
782
844
  var requestParams = lodash_1.get(dataSources, [paginateDataSourceKey, 'requestParams'], {});
@@ -806,7 +868,7 @@ var withDashboardViz = function withDashboardViz(opts) {
806
868
  mode: mode,
807
869
  width: width,
808
870
  height: height
809
- }, evaluatedOptions, computedVizProps, eventCallbackProps, dataSourceMetadata));
871
+ }, evaluatedOptionsToUse, computedVizProps, eventCallbackProps, dataSourceMetadata));
810
872
  };
811
873
 
812
874
  DashboardViz.propTypes = Object.assign(Object.assign({}, SplunkVisualization_1.default.propTypes), ReactViz.propTypes);
@@ -850,16 +912,34 @@ module.exports = require("@splunk/moment");
850
912
  /* 79 */
851
913
  /***/ (function(module, exports) {
852
914
 
853
- module.exports = require("@splunk/visualizations-shared/hocUtils");
915
+ module.exports = require("@splunk/visualization-context/FeatureFlagContext");
854
916
 
855
917
  /***/ }),
856
918
  /* 80 */
857
919
  /***/ (function(module, exports) {
858
920
 
859
- module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
921
+ module.exports = require("@splunk/visualizations-shared/hocUtils");
860
922
 
861
923
  /***/ }),
862
924
  /* 81 */
925
+ /***/ (function(module, exports) {
926
+
927
+ module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
928
+
929
+ /***/ }),
930
+ /* 82 */
931
+ /***/ (function(module, exports) {
932
+
933
+ module.exports = require("@splunk/async-dynamic-options-evaluator");
934
+
935
+ /***/ }),
936
+ /* 83 */
937
+ /***/ (function(module, exports) {
938
+
939
+ module.exports = require("@splunk/ui-utils/id");
940
+
941
+ /***/ }),
942
+ /* 84 */
863
943
  /***/ (function(module, exports, __webpack_require__) {
864
944
 
865
945
  "use strict";
@@ -876,7 +956,7 @@ var T = __webpack_require__(1);
876
956
 
877
957
  var lodash_1 = __webpack_require__(3);
878
958
 
879
- var DataSource_1 = __webpack_require__(82);
959
+ var DataSource_1 = __webpack_require__(85);
880
960
 
881
961
  exports.SortParamsPropTypes = T.shape({
882
962
  currentSortKey: T.string,
@@ -929,7 +1009,7 @@ var getSortingParams = function getSortingParams(_ref) {
929
1009
  exports.getSortingParams = getSortingParams;
930
1010
 
931
1011
  /***/ }),
932
- /* 82 */
1012
+ /* 85 */
933
1013
  /***/ (function(module, exports, __webpack_require__) {
934
1014
 
935
1015
  "use strict";
@@ -942,7 +1022,7 @@ exports.validSortDirs = void 0;
942
1022
  exports.validSortDirs = ['asc', 'desc', 'none'];
943
1023
 
944
1024
  /***/ }),
945
- /* 83 */
1025
+ /* 86 */
946
1026
  /***/ (function(module, exports, __webpack_require__) {
947
1027
 
948
1028
  "use strict";
@@ -1006,7 +1086,7 @@ var getPaginationParams = function getPaginationParams(_ref) {
1006
1086
  exports.getPaginationParams = getPaginationParams;
1007
1087
 
1008
1088
  /***/ }),
1009
- /* 84 */
1089
+ /* 87 */
1010
1090
  /***/ (function(module, exports, __webpack_require__) {
1011
1091
 
1012
1092
  "use strict";
@@ -1051,7 +1131,7 @@ var useDeepMemo = function useDeepMemo(fn, dependencies) {
1051
1131
  exports.useDeepMemo = useDeepMemo;
1052
1132
 
1053
1133
  /***/ }),
1054
- /* 85 */
1134
+ /* 88 */
1055
1135
  /***/ (function(module, exports, __webpack_require__) {
1056
1136
 
1057
1137
  "use strict";
@@ -1131,13 +1211,13 @@ exports.MissingPropsMessage.defaultProps = {
1131
1211
  exports.default = FixedSizeContainer_1.default(exports.MissingPropsMessage);
1132
1212
 
1133
1213
  /***/ }),
1134
- /* 86 */
1214
+ /* 89 */
1135
1215
  /***/ (function(module, exports) {
1136
1216
 
1137
1217
  module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
1138
1218
 
1139
1219
  /***/ }),
1140
- /* 87 */
1220
+ /* 90 */
1141
1221
  /***/ (function(module, exports, __webpack_require__) {
1142
1222
 
1143
1223
  "use strict";
@@ -1158,7 +1238,7 @@ var Cover = styled_components_1.default.div.withConfig({
1158
1238
  componentId: "sc-1gsbnxb-0"
1159
1239
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
1160
1240
  var Blocker = styled_components_1.default.div.attrs({
1161
- 'data-splunk-visualization-version': "25.5.0 - 12c0447a7"
1241
+ 'data-splunk-visualization-version': "25.6.0 - f5eb3abf9"
1162
1242
  }).withConfig({
1163
1243
  displayName: "withEditModeCover__Blocker",
1164
1244
  componentId: "sc-1gsbnxb-1"
@@ -1189,7 +1269,7 @@ var withEditModeCover = function withEditModeCover(Visualization, disableEditMod
1189
1269
  exports.default = withEditModeCover;
1190
1270
 
1191
1271
  /***/ }),
1192
- /* 88 */
1272
+ /* 91 */
1193
1273
  /***/ (function(module, exports, __webpack_require__) {
1194
1274
 
1195
1275
  "use strict";
@@ -1201,11 +1281,11 @@ Object.defineProperty(exports, "__esModule", {
1201
1281
 
1202
1282
  var React = __webpack_require__(0);
1203
1283
 
1204
- var colorUtils_1 = __webpack_require__(13);
1284
+ var colorUtils_1 = __webpack_require__(14);
1205
1285
 
1206
1286
  var variables_1 = __webpack_require__(26);
1207
1287
 
1208
- var IconPlaceholder_1 = __webpack_require__(89);
1288
+ var IconPlaceholder_1 = __webpack_require__(92);
1209
1289
 
1210
1290
  var VizBehavior_1 = __webpack_require__(30);
1211
1291
 
@@ -1253,7 +1333,7 @@ var withPlaceholder = function withPlaceholder(Visualization) {
1253
1333
  exports.default = withPlaceholder;
1254
1334
 
1255
1335
  /***/ }),
1256
- /* 89 */
1336
+ /* 92 */
1257
1337
  /***/ (function(module, exports, __webpack_require__) {
1258
1338
 
1259
1339
  "use strict";