@splunk/visualizations 25.1.0 → 25.3.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.
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Background_Color_Red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_for_Numeric_Field_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Dark.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Light.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Background_color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Events_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields_with_Highlight.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_With_Options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_ES.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_extraLarge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Markdown_with_number_as_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_Unit_value_after.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_Unit_value_before.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_After.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_Before.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_Unit_Value_After.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_Unit_Value_Before.png +0 -0
- package/Area.config.js +72 -22
- package/Area.config.js.map +1 -1
- package/Area.js +246 -185
- package/Area.js.map +1 -1
- package/Bar.config.js +17 -17
- package/Bar.config.js.map +1 -1
- package/Bar.js +191 -180
- package/Bar.js.map +1 -1
- package/Bubble.config.js +21 -14
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +193 -175
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +6 -6
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +180 -170
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +17 -17
- package/Column.config.js.map +1 -1
- package/Column.js +190 -180
- package/Column.js.map +1 -1
- package/Ellipse.config.js +3 -3
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +144 -134
- package/Ellipse.js.map +1 -1
- package/Events.config.js +664 -0
- package/Events.config.js.map +1 -0
- package/Events.js +3114 -0
- package/Events.js.map +1 -0
- package/FillerGauge.config.js +20 -19
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +183 -166
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +5 -5
- package/Image.config.js.map +1 -1
- package/Image.js +128 -128
- package/Image.js.map +1 -1
- package/Line.config.js +73 -22
- package/Line.config.js.map +1 -1
- package/Line.js +253 -186
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +15 -8
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +25270 -434
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +30 -29
- package/Map.config.js.map +1 -1
- package/Map.js +3064 -3125
- package/Map.js.map +1 -1
- package/Markdown.config.js +32 -10
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +576 -529
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +16 -16
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +1287 -1287
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +14 -14
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +532 -639
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +16 -16
- package/Pie.config.js.map +1 -1
- package/Pie.js +1205 -1205
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +14 -14
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +2584 -2700
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +7 -7
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +726 -726
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +18 -18
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +3132 -3253
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +24 -16
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +1402 -1395
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +11 -10
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +2208 -2208
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +32 -32
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +11 -10
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +825 -966
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +11 -10
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +1897 -1897
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +7 -7
- package/Table.config.js.map +1 -1
- package/Table.js +2158 -2155
- package/Table.js.map +1 -1
- package/common/EventsDoc.js +15 -8
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +2 -2
- package/common/GaugeValueMarker.js +2 -2
- package/common/OptionsDoc.js +8 -8
- package/common/OptionsDoc.js.map +1 -1
- package/common/ThemesDoc.js +2 -2
- package/common/utils/configUtils.js +3 -3
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +136 -0
- package/common/utils/dataUtils.js.map +1 -0
- package/common/utils/hocUtils.js +2 -2
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/mapUtils.js +11 -10
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +3 -2
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +8 -8
- package/common/utils/testHelper.js.map +1 -1
- package/common/withDashboardViz.js +2 -2
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +15 -13
package/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"prop-types\"","webpack:///external \"react\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"lodash\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/chartingUtils.ts","webpack:///external \"@splunk/charting-bundle\"","webpack:///./src/common/Charting.tsx","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\"","webpack:///./src/common/ChartingApi.ts","webpack:///external \"@splunk/visualizations-shared/simpleXMLOptions\"","webpack:///./src/common/editorConfig/AxesChartDataConfig.ts","webpack:///./src/common/editorConfig/AxesChartColorAndStyle.ts","webpack:///./src/common/editorConfig/AxesChartLegend.ts","webpack:///./src/common/editorConfig/AxesChartXGridAndLabels.ts","webpack:///./src/common/editorConfig/AxesChartYGridAndLabels.ts","webpack:///./src/common/editorConfig/AxesChartDataDisplay.ts","webpack:///./src/common/editorConfig/AxesChartY2GridAndLabels.ts","webpack:///./src/Line/Line.tsx","webpack:///./src/Line/index.ts","webpack:///./src/Line/config.ts","webpack:///./src/Line/lineUtils.ts"],"names":[],"mappings":"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","file":"Line.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 = 182);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"lodash\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\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 if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = vizConfig;\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\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 {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\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","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\ninterface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","module.exports = require(\"@splunk/charting-bundle\");","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\njsCharting.enableScaledEvents();\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n chart.current.resize(computedWidth, computedHeight);\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","module.exports = require(\"@splunk/visualizations-shared/simpleXMLOptions\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nconst AxesChartDataConfig: EditorConfig = {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('X'),\n option: 'x',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Y'),\n option: 'y',\n editor: 'editor.columnMultiSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n};\n\nexport const AxesChartDataConfigBar: EditorConfig = {\n label: AxesChartDataConfig.label,\n // insert Y2 after Y\n layout: insertLayout(AxesChartDataConfig.layout, 2, [\n {\n label: _('Y2'),\n option: 'y2',\n editor: 'editor.columnMultiSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ]),\n};\n\nexport const AxesChartDataConfigScatter: EditorConfig = {\n label: AxesChartDataConfig.label,\n layout: [\n [\n {\n label: _('X'),\n option: 'x',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Y'),\n option: 'y',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Category'),\n option: 'category',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n};\n\nexport const AxesChartDataConfigBubble: EditorConfig = {\n label: AxesChartDataConfigScatter.label,\n // layout: insert Size after Category\n layout: insertLayout(AxesChartDataConfigScatter.layout, 3, [\n {\n label: _('Size'),\n option: 'size',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ]),\n};\n\nexport const AxesChartDataConfigAreaColumnLine: EditorConfig = {\n label: AxesChartDataConfigBar.label,\n layout: [\n ...AxesChartDataConfigBar.layout,\n [\n {\n label: _('Annotation x'),\n option: 'annotationX',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n [\n {\n label: _('Annotation labels'),\n option: 'annotationLabel',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n ],\n};\n\nexport default AxesChartDataConfig;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\nimport getBackgroundColorEditor from '../editorConfig/BackgroundColor';\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst AxesChartColorAndStyle: EditorConfig = {\n label: _('Color and style'),\n layout: [\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Series colors'),\n option: 'seriesColors',\n editor: 'editor.seriesColors',\n },\n ],\n [\n {\n label: _('Series colors by field name'),\n option: 'seriesColorsByField',\n editor: 'editor.seriesColorsByField',\n },\n ],\n ],\n};\n\nexport default AxesChartColorAndStyle;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst AxesChartLegend: EditorConfig = {\n label: _('Legend'),\n layout: [\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Left'), value: 'left' },\n { label: _('Top'), value: 'top' },\n { label: _('Bottom'), value: 'bottom' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Legend truncation'),\n option: 'legendTruncation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('A...'), value: 'ellipsisEnd' },\n { label: _('A...Z'), value: 'ellipsisMiddle' },\n { label: _('...Z'), value: 'ellipsisStart' },\n { label: _('Off'), value: 'ellipsisOff' },\n ],\n },\n showEditor: ({ options }) =>\n options.legendDisplay === 'left' ||\n options.legendDisplay === 'right' ||\n options.legendDisplay === 'top' ||\n options.legendDisplay === 'bottom' ||\n options.legendDisplay === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartLegend;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nexport const AxesChartXGridAndLabelsCommon: EditorConfig = {\n label: _('X-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'xAxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'xAxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.xAxisTitleVisibility === 'show' || options.xAxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'xAxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n ],\n};\n\nconst AxesChartXGridAndLabels: EditorConfig = {\n label: AxesChartXGridAndLabelsCommon.label,\n layout: [\n ...AxesChartXGridAndLabelsCommon.layout,\n [\n {\n label: _('Label rotation'),\n option: 'xAxisLabelRotation',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('-90'), value: -90 },\n { label: _('-45'), value: -45 },\n { label: _('0'), value: 0 },\n { label: _('45'), value: 45 },\n { label: _('90'), value: 90 },\n ],\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Number of time label parts'),\n option: 'xAxisMaxLabelParts',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n max: 3,\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'xAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showXMajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'xAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'xAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport const AxesChartXGridAndLabelsBubbleScatter: EditorConfig = {\n label: AxesChartXGridAndLabelsCommon.label,\n layout: [\n ...insertLayout(AxesChartXGridAndLabelsCommon.layout, 2, [\n {\n label: _('Axis scale'),\n option: 'xAxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ]),\n [\n {\n label: _('Label rotation'),\n option: 'xAxisLabelRotation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('-90'), value: -90 },\n { label: _('-45'), value: -45 },\n { label: _('0'), value: 0 },\n { label: _('45'), value: 45 },\n { label: _('90'), value: 90 },\n ],\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Round axis labels'),\n option: 'showRoundedXAxisLabels',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'xAxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showXAxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Extend to whole grid'),\n option: 'showXAxisExtendedRange',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'xAxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'xAxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'xAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n // this option is disabled for bubble and scatter\n // [\n // {\n // label: _('Major gridlines'),\n // option: 'showXMajorGridLines',\n // editor: 'editor.checkbox',\n // },\n // ],\n [\n {\n label: _('Major tick visibility'),\n option: 'xAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'xAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'xAxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showXMinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'xAxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'xAxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMinorTickVisibility === 'show' ||\n options.xAxisMinorTickVisibility === 'auto' ||\n options.xAxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartXGridAndLabels;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst AxesChartYGridAndLabels: EditorConfig = {\n label: _('Y-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'yAxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'yAxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.yAxisTitleVisibility === 'show' || options.yAxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Scale'),\n option: 'yAxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'yAxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'yAxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.yAxisLabelVisibility === 'show' ||\n options.yAxisLabelVisibility === 'auto' ||\n options.yAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showYAxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Extend to whole grid'),\n option: 'showYAxisExtendedRange',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'yAxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'yAxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'yAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showYMajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'yAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'yAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.yAxisMajorTickVisibility === 'show' ||\n options.yAxisMajorTickVisibility === 'auto' ||\n options.yAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'yAxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.yAxisMajorTickVisibility === 'show' ||\n options.yAxisMajorTickVisibility === 'auto' ||\n options.yAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showYMinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'yAxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'yAxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.yAxisMinorTickVisibility === 'show' ||\n options.yAxisMinorTickVisibility === 'auto' ||\n options.yAxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartYGridAndLabels;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { drop } from 'lodash';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nexport const AxesChartDataDisplayLine: EditorConfig = {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Null value display'),\n option: 'nullValueDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Gaps'), value: 'gaps' },\n { label: _('Zero'), value: 'zero' },\n { label: _('Connect'), value: 'connect' },\n ],\n },\n },\n ],\n [\n {\n label: _('Data value display'),\n option: 'dataValuesDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: 'off' },\n { label: _('All'), value: 'all' },\n { label: _('Min/Max'), value: 'minmax' },\n ],\n },\n },\n ],\n [\n {\n label: _('Split series'),\n option: 'showSplitSeries',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Independent y-axis for split series'),\n option: 'showIndependentYRanges',\n editor: 'editor.checkbox',\n showEditor: ({ options }) => options.showSplitSeries,\n },\n ],\n ],\n};\n\nconst AxesChartDataDisplay: EditorConfig = {\n label: AxesChartDataDisplayLine.label,\n layout: [\n [\n {\n label: _('Stack mode'),\n option: 'stackMode',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Not stacked'), value: 'auto' },\n { label: _('Stacked'), value: 'stacked' },\n { label: _('Stacked 100%'), value: 'stacked100' },\n ],\n },\n },\n ],\n ...AxesChartDataDisplayLine.layout,\n ],\n};\n\nexport const AxesChartDataDisplayBar: EditorConfig = {\n label: AxesChartDataDisplayLine.label,\n layout: [\n [\n {\n label: _('Stack mode'),\n option: 'stackMode',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Not stacked'), value: 'auto' },\n { label: _('Stacked'), value: 'stacked' },\n { label: _('Stacked 100%'), value: 'stacked100' },\n ],\n },\n },\n ],\n // remove nullValueDisplay\n ...drop(AxesChartDataDisplayLine.layout),\n ],\n};\n\nexport const AxesChartDataDisplayColumn: EditorConfig = {\n label: AxesChartDataDisplayBar.label,\n layout: [\n ...insertLayout(AxesChartDataDisplayBar.layout, 2, [\n {\n label: _('Show tooltip on hover'),\n option: 'showTooltip',\n editor: 'editor.checkbox',\n },\n ]),\n [\n {\n label: _('Column grouping mode'),\n option: 'columnGrouping',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Overlay'), value: 'overlay' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default AxesChartDataDisplay;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst axesChartY2GridAndLabels: EditorConfig = {\n label: _('Y2-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'y2AxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'y2AxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.y2AxisTitleVisibility === 'show' || options.y2AxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Scale'),\n option: 'y2AxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'y2AxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Round axis labels'),\n option: 'showRoundedY2AxisLabels',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.y2AxisLabelVisibility === 'show' ||\n options.y2AxisLabelVisibility === 'auto' ||\n options.y2AxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'y2AxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.y2AxisLabelVisibility === 'show' ||\n options.y2AxisLabelVisibility === 'auto' ||\n options.y2AxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showY2AxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'y2AxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'y2AxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'y2AxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showY2MajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'y2AxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'y2AxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.y2AxisMajorTickVisibility === 'show' ||\n options.y2AxisMajorTickVisibility === 'auto' ||\n options.y2AxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'y2AxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.y2AxisMajorTickVisibility === 'show' ||\n options.y2AxisMajorTickVisibility === 'auto' ||\n options.y2AxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showY2MinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'y2AxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'y2AxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.y2AxisMinorTickVisibility === 'show' ||\n options.y2AxisMinorTickVisibility === 'auto' ||\n options.y2AxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default axesChartY2GridAndLabels;\n","import { chain } from 'lodash';\n// Charting imports i18n which needs to be run to instantiate window globals in the tests\n// eslint-disable-next-line import/order\nimport Charting, { ChartingProps } from '../common/Charting';\nimport jsCharting from '@splunk/charting-bundle';\nimport { getSimpleXMLOptionsForProps } from '@splunk/visualizations-shared/simpleXMLOptions';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { convertToLineSCProperties } from './lineUtils';\nimport { getAnnotations, truncateData, constructFieldsAndColumns } from '../common/chartingUtils';\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<ChartingProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n dataSources,\n x,\n y,\n xField,\n yFields,\n onEventTrigger,\n annotationX,\n annotationColor,\n annotationLabel,\n visualizationApiRef,\n ...otherOptions\n}): Partial<ChartingProps> => {\n // options to be passed as props\n const computedProps: Record<string, any> = { visualizationApiRef };\n const { y2, y2Fields, hasEventHandlers } = otherOptions;\n\n computedProps.options = chain(otherOptions)\n .pick(validOptions)\n .thru(convertToLineSCProperties)\n .thru(options => ({ ...getSimpleXMLOptionsForProps(options), chart: 'line' }))\n .value();\n\n const chartingAnnotations = getAnnotations({ annotationX, annotationColor, annotationLabel });\n\n const truncationLimit = computedProps.options['chart.resultTruncationLimit'];\n let primaryData = { ...dataSources.primary.data };\n const { columns, fields } = constructFieldsAndColumns({ x, y, xField, yFields, y2, y2Fields });\n primaryData.columns = columns;\n primaryData.fields = fields;\n if (truncationLimit) {\n primaryData = truncateData(primaryData, truncationLimit);\n }\n\n computedProps.chartData = jsCharting.extractChartReadyData({\n ...primaryData,\n annotations: chartingAnnotations,\n });\n\n if (hasEventHandlers) {\n computedProps.onClick = onEventTrigger;\n computedProps.onSelect = onEventTrigger;\n computedProps.onPointMouseOver = onEventTrigger;\n computedProps.onPointMouseOut = onEventTrigger;\n }\n\n return computedProps;\n};\n\nconst Line = withDashboardViz({\n ReactViz: Charting,\n computeVizProps,\n vizConfig: config,\n});\nconst themes = null;\n\nexport { themes, config };\nexport default Line;\n","export * from './Line';\nexport { default } from './Line';\n","import { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { Line as LineIcon } from '@splunk/visualization-icons';\nimport { Line as LinePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AxesChartDataConfigAreaColumnLine } from '../common/editorConfig/AxesChartDataConfig';\nimport { AxesChartDataDisplayLine } from '../common/editorConfig/AxesChartDataDisplay';\nimport AxesChartColorAndStyle from '../common/editorConfig/AxesChartColorAndStyle';\nimport AxesChartLegend from '../common/editorConfig/AxesChartLegend';\nimport AxesChartXGridAndLabels from '../common/editorConfig/AxesChartXGridAndLabels';\nimport AxesChartYGridAndLabels from '../common/editorConfig/AxesChartYGridAndLabels';\nimport AxesChartY2GridAndLabels from '../common/editorConfig/AxesChartY2GridAndLabels';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'annotation',\n description: 'DataSource that populates event annotations',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | frameBySeriesIndexRange(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y2: {\n description: 'Specify the dataSource applied to the y2-axis',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yFields: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n annotationColor: {\n description: `Specify the annotation colors. You may use a dataSource to apply the color. For example, [“#FF0000”, “#0000FF\", “#008000”].`,\n type: 'array',\n items: { type: 'string' },\n },\n annotationLabel: {\n description: `Specify a list of labels used for the annotations. You may use a dataSource to apply the labels. For example, [“houston, we have a problem”, “just close the jira”, “looking good now”].`,\n type: 'array',\n items: { type: 'string' },\n },\n annotationX: {\n description: 'Specify the dataSource field applied to the event annotation on the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n dataValuesDisplay: {\n default: 'off',\n description:\n 'Specify whether chart should display no labels, all labels, or only the min and max labels.',\n pattern: getPattern(['off', 'all', 'minmax']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'left', 'top', 'bottom', 'off']),\n type: 'string',\n },\n legendLabels: {\n description: `Specify a list of labels to pre-populate the legend. For example, [\"percent\", \"count\"].`,\n type: 'array',\n items: { type: 'string' },\n },\n legendMode: {\n default: 'standard',\n description:\n 'Specify visual and behavioral settings for the tooltip and legend. \"seriesCompare\" is useful when comparing series.',\n pattern: getPattern(['standard', 'seriesCompare']),\n type: 'string',\n },\n legendTruncation: {\n default: 'ellipsisEnd',\n description:\n 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',\n pattern: getPattern(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),\n type: 'string',\n },\n lineDashStyle: {\n default: 'solid',\n description: 'Specify a dash style for all line series in the chart.',\n pattern: getPattern([\n 'solid',\n 'shortDash',\n 'shortDot',\n 'shortDashDot',\n 'shortDashDotDot',\n 'dot',\n 'dash',\n 'longDash',\n 'dashDot',\n 'longDashDot',\n 'longDashDotDot',\n ]),\n type: 'string',\n },\n lineDashStylesByField: {\n description: `Specify a dash style to use for each field. For example, {\"count\": \"longDashDot\", \"percent\": \"longDashDotDot\"}.\n Valid values: \"solid\", \"shortDash\", \"shortDot\", \"shortDashDot\", \"shortDashDotDot\", \"dot\", \"dash\",\n \"longDash\", \"dashDot\", \"longDashDot\", \"longDashDotDot\".`,\n type: 'object',\n },\n lineWidth: {\n default: 2,\n description: 'Specify the line width, in pixels, for all line series.',\n type: 'number',\n },\n markerDisplay: {\n default: 'off',\n description: `Specify the marker display style for data points.`,\n pattern: getPattern(['off', 'filled', 'outlined']),\n enum: ['off', 'filled', 'outlined'],\n type: 'string',\n },\n nullValueDisplay: {\n default: 'gaps',\n description: 'Specify how area and line charts handle null values.',\n pattern: getPattern(['gaps', 'zero', 'connect']),\n type: 'string',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: { type: 'string' },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific fields in a series. For example, {“count”: “#008000”, “percent”: “#FFA500”}.',\n type: 'object',\n },\n showIndependentYRanges: {\n default: false,\n description: 'Specify whether split series charts have independent y-ranges.',\n type: 'boolean',\n },\n showSplitSeries: {\n default: false,\n description:\n 'Set to \"true\" to split a multi-series chart into separate charts that are stacked from top to bottom; one for each series.',\n type: 'boolean',\n },\n showXMajorGridLines: {\n default: false,\n description: 'Specify whether major grid lines are visible on the x-axis.',\n type: 'boolean',\n },\n showYMajorGridLines: {\n default: true,\n description: 'Specify whether major grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showY2MajorGridLines: {\n default: false,\n description: 'Specify whether major grid lines are visible on the y2-axis.',\n type: 'boolean',\n },\n showYMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showY2MinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on y2-axis.',\n type: 'boolean',\n },\n showYAxisExtendedRange: {\n default: true,\n description: 'Specify whether the y-axis should be extended to include whole major tick marks.',\n type: 'boolean',\n },\n showYAxisWithZero: {\n default: false,\n description: 'Specify whether the y-axis range includes zero.',\n type: 'boolean',\n },\n showY2AxisWithZero: {\n default: false,\n description: 'Specify whether the y2-axis range includes zero.',\n type: 'boolean',\n },\n xAxisLabelRotation: {\n default: 0,\n description: 'Specify the rotation of the x-axis label in degrees.',\n enum: [-90, -45, 0, 45, 90],\n type: 'number',\n },\n xAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisLineVisibility: {\n default: 'hide',\n enum: ['hide', 'show'],\n description: 'Specify whether to show or hide the x-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y-axis line.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n y2AxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y2-axis line.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n xAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y-axis.',\n type: 'number',\n },\n y2AxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y2-axis.',\n type: 'number',\n },\n yAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',\n type: 'number',\n },\n y2AxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y2-axis.',\n type: 'number',\n },\n xAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMaxLabelParts: {\n default: 3,\n minimum: 1,\n maximum: 3,\n description:\n 'Specify the maximum number of time-parts that a tick label will have (the 3 possible parts are year, month, time).',\n type: 'number',\n },\n xAxisTitleText: {\n description: 'Specify the title of the x-axis.',\n type: 'string',\n },\n yAxisTitleText: {\n description: 'Specify the title of the y-axis.',\n type: 'string',\n },\n y2AxisTitleText: {\n description: 'Specify the title of the y2-axis.',\n type: 'string',\n },\n xAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the x-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n y2AxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y2-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',\n enum: ['off', 'auto'],\n pattern: getPattern(['off', 'auto']),\n type: 'string',\n },\n y2AxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y2-axis values with the closest SI prefix.',\n enum: ['off', 'auto'],\n pattern: getPattern(['off', 'auto']),\n type: 'string',\n },\n yAxisMajorTickInterval: {\n default: 'auto',\n description: 'Specify the spacing unit between major tick marks along the numeric y-axis.',\n type: ['string', 'number'],\n },\n y2AxisMajorTickInterval: {\n default: 'auto',\n description: 'Specify the spacing unit between major tick marks along the numeric y2-axis.',\n type: ['number', 'string'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n yAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the visible y-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n y2AxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the visible y2-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n yAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the visible y-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n y2AxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the visible y2-axis range.',\n type: ['string', 'number'],\n },\n yAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n y2AxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y2-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n // TODO: Figure out a way to explicitly support string value in addition to an array of strings\n // as UDF won't allow users to proceed if a string value is entered due to schema validation\n overlayFields: {\n description:\n 'Specify field(s) that should be differentiated on the chart and displayed as chart overlays.',\n type: ['array', 'string'],\n items: {\n type: 'string',\n },\n },\n showOverlayY2Axis: {\n default: false,\n description:\n 'Enable a y2-axis for chart overlays. All overlay fields will be mapped to a second y-axis.',\n type: 'boolean',\n },\n showRoundedY2AxisLabels: {\n default: true,\n description: 'Specify whether to round y2-axis values to the nearest integer.',\n type: 'boolean',\n },\n y2Fields: {\n default: '> y2 | getField()',\n description: 'Specify field(s) that should be mapped to a second y-axis.',\n type: ['array', 'string'],\n items: {\n type: 'string',\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n AxesChartDataConfigAreaColumnLine,\n AxesChartDataDisplayLine,\n {\n label: AxesChartColorAndStyle.label,\n layout: [\n ...AxesChartColorAndStyle.layout,\n // [\n // {\n // label: _('Line dash style'),\n // option: 'lineDashStyle',\n // editor: 'editor.seriesLineTypes',\n // },\n // ],\n // [\n // {\n // label: _('Line dash styles by field name'),\n // option: 'lineDashStylesByField',\n // editor: 'editor.seriesLineTypesByField',\n // },\n // ],\n [\n {\n label: _('Line width (px)'),\n option: 'lineWidth',\n editor: 'editor.slider',\n editorProps: {\n min: 0.5,\n max: 8.0,\n step: 0.5,\n },\n },\n ],\n [\n {\n label: _('Marker display'),\n option: 'markerDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n {\n label: _('Off'),\n value: 'off',\n },\n {\n label: _('Filled'),\n value: 'filled',\n },\n {\n label: _('Outlined'),\n value: 'outlined',\n },\n ],\n },\n },\n ],\n [\n {\n label: _('Annotation colors'),\n option: 'annotationColor',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n ],\n },\n {\n label: AxesChartLegend.label,\n layout: [\n ...AxesChartLegend.layout,\n [\n {\n label: _('Legend mode'),\n option: 'legendMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Standard'), value: 'standard' },\n { label: _('Series Compare'), value: 'seriesCompare' },\n ],\n },\n },\n ],\n ],\n },\n AxesChartXGridAndLabels,\n AxesChartYGridAndLabels,\n AxesChartY2GridAndLabels,\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.line',\n /**\n * viz name\n */\n name: 'Line',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: LineIcon,\n placeholderIcon: LinePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'triggered when user clicks on chart legend',\n },\n 'point.click': {\n description: 'triggered when user clicks on a point in the line chart',\n },\n 'range.select': {\n description: 'triggered when user makes a selection',\n },\n 'point.mouseover': {\n description: 'triggered when user hovers over a data point',\n },\n 'point.mouseout': {\n description: 'triggered when user moves out of a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","import { mapKeys, chain, omit, values } from 'lodash';\nimport { convertPropsToString } from '@splunk/visualizations-shared/propUtils';\nimport { mapToValues, convertY2AxisOptions, convertOverlayFields } from '../common/chartingUtils';\n\ninterface LineOptions {\n [key: string]: any;\n}\n\n// map for key names which are either new or not present in SimpleXML options mapping\nconst lineOptionsSCMapping = {\n markerDisplay: 'lineMarkerStyle',\n legendDisplay: 'legendPlacement',\n legendTruncation: 'legendLabelOverflowMode',\n showYAxisWithZero: 'yAxisIncludeZero',\n showY2AxisWithZero: 'y2AxisIncludeZero',\n showYAxisExtendedRange: 'yAxisExtendsAxisRange',\n showSplitSeries: 'splitSeries',\n showIndependentYRanges: 'allowIndependentYRanges',\n showOverlayY2Axis: 'enableY2Axis',\n showXMajorGridLines: 'showMajorXGridLines',\n showYMajorGridLines: 'showMajorYGridLines',\n showYMinorGridLines: 'showMinorYGridLines',\n showY2MajorGridLines: 'showMajorY2GridLines',\n showY2MinorGridLines: 'showMinorY2GridLines',\n yAxisMajorTickInterval: 'yAxisMajorUnit',\n yAxisLabelVisibility: 'yAxisMajorLabelVisibility',\n dataValuesDisplay: 'showDataLabels',\n nullValueDisplay: 'nullValueMode',\n lineDashStylesByField: 'fieldDashStyles',\n xAxisLabelRotation: 'xAxisMajorLabelRotation',\n xAxisLabelVisibility: 'xAxisMajorLabelVisibility',\n seriesColorsByField: 'fieldColors',\n resultLimit: 'resultTruncationLimit',\n y2AxisLabelVisibility: 'y2AxisMajorLabelVisibility',\n y2AxisMajorTickInterval: 'y2AxisMajorUnit',\n showRoundedY2AxisLabels: 'roundY2AxisLabelsToInteger',\n xAxisLineVisibility: 'xAxisVisibility',\n yAxisLineVisibility: 'yAxisVisibility',\n y2AxisLineVisibility: 'y2AxisVisibility',\n};\n\n// key value mapping of what options (and their corresponding values) which we expose in config.ts to property values SC understands\nexport const lineOptionValuesSCMapping = {\n lineMarkerStyle: {\n filled: 'normal',\n outlined: 'hollow',\n },\n xAxisTitleVisibility: {\n hide: 'collapsed',\n },\n yAxisTitleVisibility: {\n hide: 'collapsed',\n },\n y2AxisTitleVisibility: {\n hide: 'collapsed',\n },\n legendPlacement: {\n off: 'none',\n },\n legendLabelOverflowMode: {\n ellipsisOff: 'ellipsisNone',\n },\n y2AxisAbbreviation: {\n off: 'none',\n },\n yAxisAbbreviation: {\n off: 'none',\n },\n showDataLabels: {\n off: 'none',\n },\n};\n\n/**\n * Helper function to convert values for marker options\n * @method convertMarkerOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertMarkerOptions = (originalOptions: LineOptions): LineOptions => {\n const convertedOptions: LineOptions = { showMarkers: false };\n if (values(lineOptionValuesSCMapping.lineMarkerStyle).includes(originalOptions.lineMarkerStyle)) {\n convertedOptions.showMarkers = true;\n return { ...originalOptions, ...convertedOptions };\n }\n return omit({ ...originalOptions, ...convertedOptions }, ['lineMarkerStyle']);\n};\n\n/**\n * Helper method to update the option names which can be mapped to SimpleXML options or\n * can be used directly with SC if don't have a 1-1 mapping in SimpleXML\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: LineOptions): LineOptions =>\n mapKeys(options, (val, key) => (lineOptionsSCMapping[key] ? lineOptionsSCMapping[key] : key));\n\n/**\n * Helper method to convert option which contains object literal values (e.g. arrays, objects)\n * to strings as SC can only accept their stringified equivalents\n * @method convertToStringValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const convertToStringValues = (options: LineOptions): LineOptions => {\n const updatedOptions = convertPropsToString({\n vizProps: options,\n propNames: ['fieldDashStyles', 'seriesColors', 'fieldColors', 'legendLabels'],\n });\n return { ...options, ...updatedOptions };\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that splunk-charting accepts\n * This is for options that has new key name and can not directly be mapped with SimpleXML or\n * don't have a 1-1 mapping in SimpleXML (i.e. a straightforward name mapping where values are preserved)\n * @method convertToLineSCProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToLineSCProperties = (originalOptions: LineOptions): LineOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(mapToValues(lineOptionValuesSCMapping))\n .thru(convertToStringValues)\n .thru(convertMarkerOptions)\n .thru(convertOverlayFields)\n .thru(convertY2AxisOptions)\n .value();\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"lodash\"","webpack:///external \"styled-components\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///./src/common/SplunkVisualization.tsx","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/chartingUtils.ts","webpack:///external \"@splunk/charting-bundle\"","webpack:///./src/common/Charting.tsx","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\"","webpack:///./src/common/ChartingApi.ts","webpack:///external \"@splunk/visualizations-shared/simpleXMLOptions\"","webpack:///./src/common/editorConfig/AxesChartDataConfig.ts","webpack:///./src/common/editorConfig/AxesChartColorAndStyle.ts","webpack:///./src/common/editorConfig/AxesChartLegend.ts","webpack:///./src/common/editorConfig/AxesChartXGridAndLabels.ts","webpack:///./src/common/editorConfig/AxesChartYGridAndLabels.ts","webpack:///./src/common/editorConfig/AxesChartDataDisplay.ts","webpack:///./src/common/editorConfig/AxesChartY2GridAndLabels.ts","webpack:///./src/Line/Line.tsx","webpack:///./src/Line/index.ts","webpack:///./src/Line/config.ts","webpack:///./src/Line/lineUtils.ts"],"names":[],"mappings":"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","file":"Line.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 = 199);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"lodash\");","module.exports = require(\"styled-components\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"@splunk/visualizations-shared/style\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\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 if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\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 {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\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","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","import * as T from 'prop-types';\nimport { has, isFunction } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (isFunction(onRequestParamsChange)) {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, isFunction, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && isFunction(onRequestParamsChange);\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: isFunction(onRequestParamsChange) ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\n\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: + ${e.message}`);\n return {};\n }\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n ]);\n\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(evaluatedOptions);\n });\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptions);\n if (missing.length > 0 && supports.includes(VizBehavior.PLACEHOLDER)) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptions[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptions,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptions, OptionKey) && evaluatedOptions[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptions}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","/**\n * represents the data in a raw columnar format, resulting from a splunk\n * query request.\n */\nexport interface FieldEntry {\n name: string;\n}\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n","module.exports = require(\"@splunk/charting-bundle\");","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\njsCharting.enableScaledEvents();\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n chart.current.resize(computedWidth, computedHeight);\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","module.exports = require(\"@splunk/visualizations-shared/simpleXMLOptions\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nconst AxesChartDataConfig: EditorConfig = {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('X'),\n option: 'x',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Y'),\n option: 'y',\n editor: 'editor.columnMultiSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n};\n\nexport const AxesChartDataConfigBar: EditorConfig = {\n label: AxesChartDataConfig.label,\n // insert Y2 after Y\n layout: insertLayout(AxesChartDataConfig.layout, 2, [\n {\n label: _('Y2'),\n option: 'y2',\n editor: 'editor.columnMultiSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ]),\n};\n\nexport const AxesChartDataConfigScatter: EditorConfig = {\n label: AxesChartDataConfig.label,\n layout: [\n [\n {\n label: _('X'),\n option: 'x',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Y'),\n option: 'y',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Category'),\n option: 'category',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n};\n\nexport const AxesChartDataConfigBubble: EditorConfig = {\n label: AxesChartDataConfigScatter.label,\n // layout: insert Size after Category\n layout: insertLayout(AxesChartDataConfigScatter.layout, 3, [\n {\n label: _('Size'),\n option: 'size',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ]),\n};\n\nexport const AxesChartDataConfigAreaColumnLine: EditorConfig = {\n label: AxesChartDataConfigBar.label,\n layout: [\n ...AxesChartDataConfigBar.layout,\n [\n {\n label: _('Annotation x'),\n option: 'annotationX',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n [\n {\n label: _('Annotation labels'),\n option: 'annotationLabel',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n ],\n};\n\nexport default AxesChartDataConfig;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\nimport getBackgroundColorEditor from '../editorConfig/BackgroundColor';\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst AxesChartColorAndStyle: EditorConfig = {\n label: _('Color and style'),\n layout: [\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Series colors'),\n option: 'seriesColors',\n editor: 'editor.seriesColors',\n },\n ],\n [\n {\n label: _('Series colors by field name'),\n option: 'seriesColorsByField',\n editor: 'editor.seriesColorsByField',\n },\n ],\n ],\n};\n\nexport default AxesChartColorAndStyle;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst AxesChartLegend: EditorConfig = {\n label: _('Legend'),\n layout: [\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Left'), value: 'left' },\n { label: _('Top'), value: 'top' },\n { label: _('Bottom'), value: 'bottom' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Legend truncation'),\n option: 'legendTruncation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('A...'), value: 'ellipsisEnd' },\n { label: _('A...Z'), value: 'ellipsisMiddle' },\n { label: _('...Z'), value: 'ellipsisStart' },\n { label: _('Off'), value: 'ellipsisOff' },\n ],\n },\n showEditor: ({ options }) =>\n options.legendDisplay === 'left' ||\n options.legendDisplay === 'right' ||\n options.legendDisplay === 'top' ||\n options.legendDisplay === 'bottom' ||\n options.legendDisplay === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartLegend;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nexport const AxesChartXGridAndLabelsCommon: EditorConfig = {\n label: _('X-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'xAxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'xAxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.xAxisTitleVisibility === 'show' || options.xAxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'xAxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n ],\n};\n\nconst AxesChartXGridAndLabels: EditorConfig = {\n label: AxesChartXGridAndLabelsCommon.label,\n layout: [\n ...AxesChartXGridAndLabelsCommon.layout,\n [\n {\n label: _('Label rotation'),\n option: 'xAxisLabelRotation',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('-90'), value: -90 },\n { label: _('-45'), value: -45 },\n { label: _('0'), value: 0 },\n { label: _('45'), value: 45 },\n { label: _('90'), value: 90 },\n ],\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Number of time label parts'),\n option: 'xAxisMaxLabelParts',\n editor: 'editor.number',\n editorProps: {\n min: 1,\n max: 3,\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'xAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showXMajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'xAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'xAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport const AxesChartXGridAndLabelsBubbleScatter: EditorConfig = {\n label: AxesChartXGridAndLabelsCommon.label,\n layout: [\n ...insertLayout(AxesChartXGridAndLabelsCommon.layout, 2, [\n {\n label: _('Axis scale'),\n option: 'xAxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ]),\n [\n {\n label: _('Label rotation'),\n option: 'xAxisLabelRotation',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('-90'), value: -90 },\n { label: _('-45'), value: -45 },\n { label: _('0'), value: 0 },\n { label: _('45'), value: 45 },\n { label: _('90'), value: 90 },\n ],\n },\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Round axis labels'),\n option: 'showRoundedXAxisLabels',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'xAxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.xAxisLabelVisibility === 'show' ||\n options.xAxisLabelVisibility === 'auto' ||\n options.xAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showXAxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Extend to whole grid'),\n option: 'showXAxisExtendedRange',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'xAxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'xAxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'xAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n // this option is disabled for bubble and scatter\n // [\n // {\n // label: _('Major gridlines'),\n // option: 'showXMajorGridLines',\n // editor: 'editor.checkbox',\n // },\n // ],\n [\n {\n label: _('Major tick visibility'),\n option: 'xAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'xAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'xAxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.xAxisMajorTickVisibility === 'show' ||\n options.xAxisMajorTickVisibility === 'auto' ||\n options.xAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showXMinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'xAxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'xAxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.xAxisMinorTickVisibility === 'show' ||\n options.xAxisMinorTickVisibility === 'auto' ||\n options.xAxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartXGridAndLabels;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst AxesChartYGridAndLabels: EditorConfig = {\n label: _('Y-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'yAxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'yAxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.yAxisTitleVisibility === 'show' || options.yAxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Scale'),\n option: 'yAxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'yAxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'yAxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.yAxisLabelVisibility === 'show' ||\n options.yAxisLabelVisibility === 'auto' ||\n options.yAxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showYAxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Extend to whole grid'),\n option: 'showYAxisExtendedRange',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'yAxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'yAxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'yAxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showYMajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'yAxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'yAxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.yAxisMajorTickVisibility === 'show' ||\n options.yAxisMajorTickVisibility === 'auto' ||\n options.yAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'yAxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.yAxisMajorTickVisibility === 'show' ||\n options.yAxisMajorTickVisibility === 'auto' ||\n options.yAxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showYMinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'yAxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'yAxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.yAxisMinorTickVisibility === 'show' ||\n options.yAxisMinorTickVisibility === 'auto' ||\n options.yAxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default AxesChartYGridAndLabels;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { drop } from 'lodash';\nimport { EditorConfig } from '../interfaces/Editor';\nimport { insertLayout } from '../utils/configUtils';\n\nexport const AxesChartDataDisplayLine: EditorConfig = {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Null value display'),\n option: 'nullValueDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Gaps'), value: 'gaps' },\n { label: _('Zero'), value: 'zero' },\n { label: _('Connect'), value: 'connect' },\n ],\n },\n },\n ],\n [\n {\n label: _('Data value display'),\n option: 'dataValuesDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: 'off' },\n { label: _('All'), value: 'all' },\n { label: _('Min/Max'), value: 'minmax' },\n ],\n },\n },\n ],\n [\n {\n label: _('Split series'),\n option: 'showSplitSeries',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Independent y-axis for split series'),\n option: 'showIndependentYRanges',\n editor: 'editor.checkbox',\n showEditor: ({ options }) => options.showSplitSeries,\n },\n ],\n ],\n};\n\nconst AxesChartDataDisplay: EditorConfig = {\n label: AxesChartDataDisplayLine.label,\n layout: [\n [\n {\n label: _('Stack mode'),\n option: 'stackMode',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Not stacked'), value: 'auto' },\n { label: _('Stacked'), value: 'stacked' },\n { label: _('Stacked 100%'), value: 'stacked100' },\n ],\n },\n },\n ],\n ...AxesChartDataDisplayLine.layout,\n ],\n};\n\nexport const AxesChartDataDisplayBar: EditorConfig = {\n label: AxesChartDataDisplayLine.label,\n layout: [\n [\n {\n label: _('Stack mode'),\n option: 'stackMode',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Not stacked'), value: 'auto' },\n { label: _('Stacked'), value: 'stacked' },\n { label: _('Stacked 100%'), value: 'stacked100' },\n ],\n },\n },\n ],\n // remove nullValueDisplay\n ...drop(AxesChartDataDisplayLine.layout),\n ],\n};\n\nexport const AxesChartDataDisplayColumn: EditorConfig = {\n label: AxesChartDataDisplayBar.label,\n layout: [\n ...insertLayout(AxesChartDataDisplayBar.layout, 2, [\n {\n label: _('Show tooltip on hover'),\n option: 'showTooltip',\n editor: 'editor.checkbox',\n },\n ]),\n [\n {\n label: _('Column grouping mode'),\n option: 'columnGrouping',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Overlay'), value: 'overlay' },\n ],\n },\n },\n ],\n ],\n};\n\nexport default AxesChartDataDisplay;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorConfig } from '../interfaces/Editor';\n\nconst axesChartY2GridAndLabels: EditorConfig = {\n label: _('Y2-axis grid and labels'),\n layout: [\n [\n {\n label: _('Axis title'),\n option: 'y2AxisTitleVisibility',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Axis title text'),\n option: 'y2AxisTitleText',\n editor: 'editor.text',\n showEditor: ({ options }) =>\n options.y2AxisTitleVisibility === 'show' || options.y2AxisTitleVisibility === undefined,\n },\n ],\n [\n {\n label: _('Scale'),\n option: 'y2AxisScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Linear'), value: 'linear' },\n { label: _('Log'), value: 'log' },\n ],\n },\n },\n ],\n [\n {\n label: _('Label visibility'),\n option: 'y2AxisLabelVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Round axis labels'),\n option: 'showRoundedY2AxisLabels',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.y2AxisLabelVisibility === 'show' ||\n options.y2AxisLabelVisibility === 'auto' ||\n options.y2AxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('SI prefix abbreviation for labels'),\n option: 'y2AxisAbbreviation',\n editor: 'editor.checkbox',\n showEditor: ({ options }) =>\n options.y2AxisLabelVisibility === 'show' ||\n options.y2AxisLabelVisibility === 'auto' ||\n options.y2AxisLabelVisibility === undefined,\n },\n ],\n [\n {\n label: _('Include zero'),\n option: 'showY2AxisWithZero',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minimum axis value'),\n option: 'y2AxisMin',\n editor: 'editor.number',\n },\n {\n label: _('Maximum axis value'),\n option: 'y2AxisMax',\n editor: 'editor.number',\n },\n ],\n [\n {\n label: _('Axis line visibility'),\n option: 'y2AxisLineVisibility',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major gridlines'),\n option: 'showY2MajorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Major tick visibility'),\n option: 'y2AxisMajorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Major tick size (px)'),\n option: 'y2AxisMajorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.y2AxisMajorTickVisibility === 'show' ||\n options.y2AxisMajorTickVisibility === 'auto' ||\n options.y2AxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Major tick interval spacing'),\n option: 'y2AxisMajorTickInterval',\n editor: 'editor.number',\n showEditor: ({ options }) =>\n options.y2AxisMajorTickVisibility === 'show' ||\n options.y2AxisMajorTickVisibility === 'auto' ||\n options.y2AxisMajorTickVisibility === undefined,\n },\n ],\n [\n {\n label: _('Minor gridlines'),\n option: 'showY2MinorGridLines',\n editor: 'editor.checkbox',\n },\n ],\n [\n {\n label: _('Minor tick visibility'),\n option: 'y2AxisMinorTickVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Show'), value: 'show' },\n { label: _('Hide'), value: 'hide' },\n ],\n },\n },\n ],\n [\n {\n label: _('Minor tick size (px)'),\n option: 'y2AxisMinorTickSize',\n editor: 'editor.slider',\n editorProps: {\n min: 0,\n max: 10,\n step: 1,\n },\n showEditor: ({ options }) =>\n options.y2AxisMinorTickVisibility === 'show' ||\n options.y2AxisMinorTickVisibility === 'auto' ||\n options.y2AxisMinorTickVisibility === undefined,\n },\n ],\n ],\n};\n\nexport default axesChartY2GridAndLabels;\n","import { chain } from 'lodash';\n// Charting imports i18n which needs to be run to instantiate window globals in the tests\n// eslint-disable-next-line import/order\nimport Charting, { ChartingProps } from '../common/Charting';\nimport jsCharting from '@splunk/charting-bundle';\nimport { getSimpleXMLOptionsForProps } from '@splunk/visualizations-shared/simpleXMLOptions';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { convertToLineSCProperties } from './lineUtils';\nimport { getAnnotations, truncateData, constructFieldsAndColumns } from '../common/chartingUtils';\n\nconst validOptions = Object.keys(config.optionsSchema);\n\ntype computeVizPropsFn = (options: Record<string, any>) => Partial<ChartingProps>;\nexport const computeVizProps: computeVizPropsFn = ({\n dataSources,\n x,\n y,\n xField,\n yFields,\n onEventTrigger,\n annotationX,\n annotationColor,\n annotationLabel,\n visualizationApiRef,\n ...otherOptions\n}): Partial<ChartingProps> => {\n // options to be passed as props\n const computedProps: Record<string, any> = { visualizationApiRef };\n const { y2, y2Fields, hasEventHandlers } = otherOptions;\n\n computedProps.options = chain(otherOptions)\n .pick(validOptions)\n .thru(convertToLineSCProperties)\n .thru(options => ({ ...getSimpleXMLOptionsForProps(options), chart: 'line' }))\n .value();\n\n const chartingAnnotations = getAnnotations({ annotationX, annotationColor, annotationLabel });\n\n const truncationLimit = computedProps.options['chart.resultTruncationLimit'];\n let primaryData = { ...dataSources.primary.data };\n const { columns, fields } = constructFieldsAndColumns({ x, y, xField, yFields, y2, y2Fields });\n primaryData.columns = columns;\n primaryData.fields = fields;\n if (truncationLimit) {\n primaryData = truncateData(primaryData, truncationLimit);\n }\n\n computedProps.chartData = jsCharting.extractChartReadyData({\n ...primaryData,\n annotations: chartingAnnotations,\n });\n\n if (hasEventHandlers) {\n computedProps.onClick = onEventTrigger;\n computedProps.onSelect = onEventTrigger;\n computedProps.onPointMouseOver = onEventTrigger;\n computedProps.onPointMouseOut = onEventTrigger;\n }\n\n return computedProps;\n};\n\nconst Line = withDashboardViz({\n ReactViz: Charting,\n computeVizProps,\n vizConfig: config,\n});\nconst themes = null;\n\nexport { themes, config };\nexport default Line;\n","export * from './Line';\nexport { default } from './Line';\n","import { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { Line as LineIcon } from '@splunk/visualization-icons';\nimport { Line as LinePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { AxesChartDataConfigAreaColumnLine } from '../common/editorConfig/AxesChartDataConfig';\nimport { AxesChartDataDisplayLine } from '../common/editorConfig/AxesChartDataDisplay';\nimport AxesChartColorAndStyle from '../common/editorConfig/AxesChartColorAndStyle';\nimport AxesChartLegend from '../common/editorConfig/AxesChartLegend';\nimport AxesChartXGridAndLabels from '../common/editorConfig/AxesChartXGridAndLabels';\nimport AxesChartYGridAndLabels from '../common/editorConfig/AxesChartYGridAndLabels';\nimport AxesChartY2GridAndLabels from '../common/editorConfig/AxesChartY2GridAndLabels';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'annotation',\n description: 'DataSource that populates event annotations',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | frameBySeriesIndexRange(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y2: {\n description: 'Specify the dataSource applied to the y2-axis',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yFields: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n annotationColor: {\n description: `Specify the annotation colors. You may use a dataSource to apply the color. For example, [“#FF0000”, “#0000FF\", “#008000”].`,\n type: 'array',\n items: { type: 'string' },\n },\n annotationLabel: {\n description: `Specify a list of labels used for the annotations. You may use a dataSource to apply the labels. For example, [“houston, we have a problem”, “just close the jira”, “looking good now”].`,\n type: 'array',\n items: { type: 'string' },\n },\n annotationX: {\n description: 'Specify the dataSource field applied to the event annotation on the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n dataValuesDisplay: {\n default: 'off',\n description:\n 'Specify whether chart should display no labels, all labels, or only the min and max labels.',\n pattern: getPattern(['off', 'all', 'minmax']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description:\n 'Specify the location of the legend on the panel. You must select the Standard legend mode to make this change.',\n pattern: getPattern(['right', 'left', 'top', 'bottom', 'off']),\n type: 'string',\n },\n legendLabels: {\n description: `Specify a list of labels to pre-populate the legend. For example, [\"percent\", \"count\"].`,\n type: 'array',\n items: { type: 'string' },\n },\n legendMode: {\n default: 'standard',\n description:\n 'Specify visual and behavioral settings for the tooltip and legend. \"seriesCompare\" is useful when comparing series.',\n pattern: getPattern(['standard', 'seriesCompare']),\n type: 'string',\n },\n legendTruncation: {\n default: 'ellipsisEnd',\n description:\n 'Specify how to display legend labels when they overflow the layout boundaries by replacing overflow text with an ellipsis.',\n pattern: getPattern(['ellipsisEnd', 'ellipsisMiddle', 'ellipsisStart', 'ellipsisOff']),\n type: 'string',\n },\n lineDashStyle: {\n default: 'solid',\n description: 'Specify a dash style for all line series in the chart.',\n pattern: getPattern([\n 'solid',\n 'shortDash',\n 'shortDot',\n 'shortDashDot',\n 'shortDashDotDot',\n 'dot',\n 'dash',\n 'longDash',\n 'dashDot',\n 'longDashDot',\n 'longDashDotDot',\n ]),\n type: 'string',\n },\n lineDashStylesByField: {\n description: `Specify a dash style to use for each field. For example, {\"count\": \"longDashDot\", \"percent\": \"longDashDotDot\"}.\n Valid values: \"solid\", \"shortDash\", \"shortDot\", \"shortDashDot\", \"shortDashDotDot\", \"dot\", \"dash\",\n \"longDash\", \"dashDot\", \"longDashDot\", \"longDashDotDot\".`,\n type: 'object',\n },\n lineWidth: {\n default: 2,\n description: 'Specify the line width, in pixels, for all line series.',\n type: 'number',\n },\n markerDisplay: {\n default: 'off',\n description: `Specify the marker display style for data points.`,\n pattern: getPattern(['off', 'filled', 'outlined']),\n enum: ['off', 'filled', 'outlined'],\n type: 'string',\n },\n nullValueDisplay: {\n default: 'gaps',\n description: 'Specify how area and line charts handle null values.',\n pattern: getPattern(['gaps', 'zero', 'connect']),\n type: 'string',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: { type: 'string' },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific fields in a series. For example, {“count”: “#008000”, “percent”: “#FFA500”}.',\n type: 'object',\n },\n showIndependentYRanges: {\n default: false,\n description: 'Specify whether split series charts have independent y-ranges.',\n type: 'boolean',\n },\n showSplitSeries: {\n default: false,\n description:\n 'Set to \"true\" to split a multi-series chart into separate charts that are stacked from top to bottom; one for each series.',\n type: 'boolean',\n },\n showXMajorGridLines: {\n default: false,\n description: 'Specify whether major grid lines are visible on the x-axis.',\n type: 'boolean',\n },\n showYMajorGridLines: {\n default: true,\n description: 'Specify whether major grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showY2MajorGridLines: {\n default: false,\n description: 'Specify whether major grid lines are visible on the y2-axis.',\n type: 'boolean',\n },\n showYMinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on the y-axis.',\n type: 'boolean',\n },\n showY2MinorGridLines: {\n default: false,\n description: 'Specify whether minor grid lines are visible on y2-axis.',\n type: 'boolean',\n },\n showYAxisExtendedRange: {\n default: true,\n description: 'Specify whether the y-axis should be extended to include whole major tick marks.',\n type: 'boolean',\n },\n showYAxisWithZero: {\n default: false,\n description: 'Specify whether the y-axis range includes zero.',\n type: 'boolean',\n },\n showY2AxisWithZero: {\n default: false,\n description: 'Specify whether the y2-axis range includes zero.',\n type: 'boolean',\n },\n xAxisLabelRotation: {\n default: 0,\n description: 'Specify the rotation of the x-axis label in degrees.',\n enum: [-90, -45, 0, 45, 90],\n type: 'number',\n },\n xAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisLabelVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide labels on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisLineVisibility: {\n default: 'hide',\n enum: ['hide', 'show'],\n description: 'Specify whether to show or hide the x-axis line.',\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y-axis line.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n y2AxisLineVisibility: {\n default: 'hide',\n description: 'Specify whether to show or hide the y2-axis line.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n xAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the x-axis.',\n type: 'number',\n },\n yAxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y-axis.',\n type: 'number',\n },\n y2AxisMajorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of major tick marks on the y2-axis.',\n type: 'number',\n },\n yAxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y-axis.',\n type: 'number',\n },\n y2AxisMinorTickSize: {\n default: 6,\n description: 'Specify the size, in pixels, of minor tick marks on the y2-axis.',\n type: 'number',\n },\n xAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the x-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisMajorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide major tick marks on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n yAxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n y2AxisMinorTickVisibility: {\n default: 'auto',\n description: 'Specify whether to show or hide minor tick marks on the y2-axis.',\n pattern: getPattern(['auto', 'show', 'hide']),\n type: 'string',\n },\n xAxisMaxLabelParts: {\n default: 3,\n minimum: 1,\n maximum: 3,\n description:\n 'Specify the maximum number of time-parts that a tick label will have (the 3 possible parts are year, month, time).',\n type: 'number',\n },\n xAxisTitleText: {\n description: 'Specify the title of the x-axis.',\n type: 'string',\n },\n yAxisTitleText: {\n description: 'Specify the title of the y-axis.',\n type: 'string',\n },\n y2AxisTitleText: {\n description: 'Specify the title of the y2-axis.',\n type: 'string',\n },\n xAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the x-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n y2AxisTitleVisibility: {\n default: 'show',\n description: 'Specify whether to show or hide the title of the y2-axis.',\n enum: ['hide', 'show'],\n pattern: getPattern(['show', 'hide']),\n type: 'string',\n },\n yAxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y-axis values with the closest SI prefix.',\n enum: ['off', 'auto'],\n pattern: getPattern(['off', 'auto']),\n type: 'string',\n },\n y2AxisAbbreviation: {\n default: 'auto',\n description: 'Specify whether to abbreviate large y2-axis values with the closest SI prefix.',\n enum: ['off', 'auto'],\n pattern: getPattern(['off', 'auto']),\n type: 'string',\n },\n yAxisMajorTickInterval: {\n default: 'auto',\n description: 'Specify the spacing unit between major tick marks along the numeric y-axis.',\n type: ['string', 'number'],\n },\n y2AxisMajorTickInterval: {\n default: 'auto',\n description: 'Specify the spacing unit between major tick marks along the numeric y2-axis.',\n type: ['number', 'string'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n yAxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the visible y-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n y2AxisMax: {\n default: 'auto',\n description: 'Specify the maximum number for the visible y2-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n yAxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the visible y-axis range.',\n type: ['string', 'number'],\n },\n // TODO(SCP-40274): Restrict string value to only 'auto' to achieve precise schema validation\n y2AxisMin: {\n default: 'auto',\n description: 'Specify the minimum number for the visible y2-axis range.',\n type: ['string', 'number'],\n },\n yAxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n y2AxisScale: {\n default: 'linear',\n description: 'Specify the type of scale that applies to a numerical y2-axis.',\n pattern: getPattern(['linear', 'log']),\n type: 'string',\n },\n // TODO: Figure out a way to explicitly support string value in addition to an array of strings\n // as UDF won't allow users to proceed if a string value is entered due to schema validation\n overlayFields: {\n description:\n 'Specify field(s) that should be differentiated on the chart and displayed as chart overlays.',\n type: ['array', 'string'],\n items: {\n type: 'string',\n },\n },\n showOverlayY2Axis: {\n default: false,\n description:\n 'Enable a y2-axis for chart overlays. All overlay fields will be mapped to a second y-axis.',\n type: 'boolean',\n },\n showRoundedY2AxisLabels: {\n default: true,\n description: 'Specify whether to round y2-axis values to the nearest integer.',\n type: 'boolean',\n },\n y2Fields: {\n default: '> y2 | getField()',\n description: 'Specify field(s) that should be mapped to a second y-axis.',\n type: ['array', 'string'],\n items: {\n type: 'string',\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n AxesChartDataConfigAreaColumnLine,\n AxesChartDataDisplayLine,\n {\n label: AxesChartColorAndStyle.label,\n layout: [\n ...AxesChartColorAndStyle.layout,\n // [\n // {\n // label: _('Line dash style'),\n // option: 'lineDashStyle',\n // editor: 'editor.seriesLineTypes',\n // },\n // ],\n // [\n // {\n // label: _('Line dash styles by field name'),\n // option: 'lineDashStylesByField',\n // editor: 'editor.seriesLineTypesByField',\n // },\n // ],\n [\n {\n label: _('Line width (px)'),\n option: 'lineWidth',\n editor: 'editor.slider',\n editorProps: {\n min: 0.5,\n max: 8.0,\n step: 0.5,\n },\n },\n ],\n [\n {\n label: _('Marker display'),\n option: 'markerDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n {\n label: _('Off'),\n value: 'off',\n },\n {\n label: _('Filled'),\n value: 'filled',\n },\n {\n label: _('Outlined'),\n value: 'outlined',\n },\n ],\n },\n },\n ],\n [\n {\n label: _('Annotation colors'),\n option: 'annotationColor',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'annotation',\n },\n },\n ],\n ],\n },\n {\n label: AxesChartLegend.label,\n layout: [\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Left'), value: 'left' },\n { label: _('Top'), value: 'top' },\n { label: _('Bottom'), value: 'bottom' },\n { label: _('Off'), value: 'off' },\n ],\n tooltip: _('Legend mode must be \"Standard\" to configure legend display'),\n },\n isDisabled: ({ options }) => options.legendMode === 'seriesCompare',\n },\n ],\n [\n {\n label: _('Legend truncation'),\n option: 'legendTruncation',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('A...'), value: 'ellipsisEnd' },\n { label: _('A...Z'), value: 'ellipsisMiddle' },\n { label: _('...Z'), value: 'ellipsisStart' },\n { label: _('Off'), value: 'ellipsisOff' },\n ],\n },\n showEditor: ({ options }) =>\n options.legendDisplay === 'left' ||\n options.legendDisplay === 'right' ||\n options.legendDisplay === 'top' ||\n options.legendDisplay === 'bottom' ||\n options.legendDisplay === undefined,\n },\n ],\n [\n {\n label: _('Legend mode'),\n option: 'legendMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Standard'), value: 'standard' },\n { label: _('Series Compare'), value: 'seriesCompare' },\n ],\n },\n },\n ],\n ],\n },\n AxesChartXGridAndLabels,\n AxesChartYGridAndLabels,\n AxesChartY2GridAndLabels,\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.line',\n /**\n * viz name\n */\n name: 'Line',\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: LineIcon,\n placeholderIcon: LinePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'triggered when user clicks on chart legend',\n },\n 'point.click': {\n description: 'triggered when user clicks on a point in the line chart',\n },\n 'range.select': {\n description: 'triggered when user makes a selection',\n },\n 'point.mouseover': {\n description: 'triggered when user hovers over a data point',\n },\n 'point.mouseout': {\n description: 'triggered when user moves out of a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","import { mapKeys, chain, omit, values } from 'lodash';\nimport { convertPropsToString } from '@splunk/visualizations-shared/propUtils';\nimport { mapToValues, convertY2AxisOptions, convertOverlayFields } from '../common/chartingUtils';\n\ninterface LineOptions {\n [key: string]: any;\n}\n\n// map for key names which are either new or not present in SimpleXML options mapping\nconst lineOptionsSCMapping = {\n markerDisplay: 'lineMarkerStyle',\n legendDisplay: 'legendPlacement',\n legendTruncation: 'legendLabelOverflowMode',\n showYAxisWithZero: 'yAxisIncludeZero',\n showY2AxisWithZero: 'y2AxisIncludeZero',\n showYAxisExtendedRange: 'yAxisExtendsAxisRange',\n showSplitSeries: 'splitSeries',\n showIndependentYRanges: 'allowIndependentYRanges',\n showOverlayY2Axis: 'enableY2Axis',\n showXMajorGridLines: 'showMajorXGridLines',\n showYMajorGridLines: 'showMajorYGridLines',\n showYMinorGridLines: 'showMinorYGridLines',\n showY2MajorGridLines: 'showMajorY2GridLines',\n showY2MinorGridLines: 'showMinorY2GridLines',\n yAxisMajorTickInterval: 'yAxisMajorUnit',\n yAxisLabelVisibility: 'yAxisMajorLabelVisibility',\n dataValuesDisplay: 'showDataLabels',\n nullValueDisplay: 'nullValueMode',\n lineDashStylesByField: 'fieldDashStyles',\n xAxisLabelRotation: 'xAxisMajorLabelRotation',\n xAxisLabelVisibility: 'xAxisMajorLabelVisibility',\n seriesColorsByField: 'fieldColors',\n resultLimit: 'resultTruncationLimit',\n y2AxisLabelVisibility: 'y2AxisMajorLabelVisibility',\n y2AxisMajorTickInterval: 'y2AxisMajorUnit',\n showRoundedY2AxisLabels: 'roundY2AxisLabelsToInteger',\n xAxisLineVisibility: 'xAxisVisibility',\n yAxisLineVisibility: 'yAxisVisibility',\n y2AxisLineVisibility: 'y2AxisVisibility',\n};\n\n// key value mapping of what options (and their corresponding values) which we expose in config.ts to property values SC understands\nexport const lineOptionValuesSCMapping = {\n lineMarkerStyle: {\n filled: 'normal',\n outlined: 'hollow',\n },\n xAxisTitleVisibility: {\n hide: 'collapsed',\n },\n yAxisTitleVisibility: {\n hide: 'collapsed',\n },\n y2AxisTitleVisibility: {\n hide: 'collapsed',\n },\n legendPlacement: {\n off: 'none',\n },\n legendLabelOverflowMode: {\n ellipsisOff: 'ellipsisNone',\n },\n y2AxisAbbreviation: {\n off: 'none',\n },\n yAxisAbbreviation: {\n off: 'none',\n },\n showDataLabels: {\n off: 'none',\n },\n};\n\n/**\n * Helper function to convert values for marker options\n * @method convertMarkerOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertMarkerOptions = (originalOptions: LineOptions): LineOptions => {\n const convertedOptions: LineOptions = { showMarkers: false };\n if (values(lineOptionValuesSCMapping.lineMarkerStyle).includes(originalOptions.lineMarkerStyle)) {\n convertedOptions.showMarkers = true;\n return { ...originalOptions, ...convertedOptions };\n }\n return omit({ ...originalOptions, ...convertedOptions }, ['lineMarkerStyle']);\n};\n\n/**\n * Helper method to update the option names which can be mapped to SimpleXML options or\n * can be used directly with SC if don't have a 1-1 mapping in SimpleXML\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: LineOptions): LineOptions =>\n mapKeys(options, (val, key) => (lineOptionsSCMapping[key] ? lineOptionsSCMapping[key] : key));\n\n/**\n * Helper method to convert option which contains object literal values (e.g. arrays, objects)\n * to strings as SC can only accept their stringified equivalents\n * @method convertToStringValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const convertToStringValues = (options: LineOptions): LineOptions => {\n const updatedOptions = convertPropsToString({\n vizProps: options,\n propNames: ['fieldDashStyles', 'seriesColors', 'fieldColors', 'legendLabels'],\n });\n return { ...options, ...updatedOptions };\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that splunk-charting accepts\n * This is for options that has new key name and can not directly be mapped with SimpleXML or\n * don't have a 1-1 mapping in SimpleXML (i.e. a straightforward name mapping where values are preserved)\n * @method convertToLineSCProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToLineSCProperties = (originalOptions: LineOptions): LineOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(mapToValues(lineOptionValuesSCMapping))\n .thru(convertToStringValues)\n .thru(convertMarkerOptions)\n .thru(convertOverlayFields)\n .thru(convertY2AxisOptions)\n .value();\n"],"sourceRoot":""}
|