@splunk/visualizations 28.4.0 → 28.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/Area.config.js +28 -7
  2. package/Area.config.js.map +2 -2
  3. package/Area.js +109 -39
  4. package/Area.js.map +2 -2
  5. package/Bar.config.js +28 -7
  6. package/Bar.config.js.map +2 -2
  7. package/Bar.js +109 -39
  8. package/Bar.js.map +2 -2
  9. package/Bubble.config.js +4 -4
  10. package/Bubble.config.js.map +2 -2
  11. package/Bubble.js +81 -30
  12. package/Bubble.js.map +2 -2
  13. package/CHANGELOG.external.md +98 -0
  14. package/ChoroplethSvg.js +74 -26
  15. package/ChoroplethSvg.js.map +2 -2
  16. package/Column.config.js +28 -7
  17. package/Column.config.js.map +2 -2
  18. package/Column.js +109 -39
  19. package/Column.js.map +2 -2
  20. package/Ellipse/config.d.ts.map +1 -1
  21. package/Ellipse.config.js +14 -5
  22. package/Ellipse.config.js.map +4 -4
  23. package/Ellipse.js +130 -73
  24. package/Ellipse.js.map +4 -4
  25. package/Events.js +74 -26
  26. package/Events.js.map +2 -2
  27. package/FillerGauge.js +234 -47
  28. package/FillerGauge.js.map +2 -2
  29. package/Image.js +74 -26
  30. package/Image.js.map +2 -2
  31. package/Line/lineUtils.d.ts.map +1 -1
  32. package/Line/mockdata/LineData.d.ts +95 -0
  33. package/Line/mockdata/LineData.d.ts.map +1 -1
  34. package/Line.config.js +28 -7
  35. package/Line.config.js.map +2 -2
  36. package/Line.js +125 -41
  37. package/Line.js.map +2 -2
  38. package/LinkGraph.js +74 -26
  39. package/LinkGraph.js.map +2 -2
  40. package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
  41. package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
  42. package/Map/PureMap/MapUtils.d.ts +2 -2
  43. package/Map/PureMap/MapUtils.d.ts.map +1 -1
  44. package/Map/PureMap/PureMap.d.ts.map +1 -1
  45. package/Map.js +111 -37
  46. package/Map.js.map +2 -2
  47. package/Markdown/config.d.ts.map +1 -1
  48. package/Markdown.config.js +14 -5
  49. package/Markdown.config.js.map +4 -4
  50. package/Markdown.js +91 -34
  51. package/Markdown.js.map +4 -4
  52. package/MarkerGauge.js +243 -56
  53. package/MarkerGauge.js.map +4 -4
  54. package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
  55. package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
  56. package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -1
  57. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts +78 -0
  58. package/NetworkGraph/PureNetworkGraph/utils/dragUtils.d.ts.map +1 -0
  59. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +1 -2
  60. package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
  61. package/NetworkGraph/config.d.ts.map +1 -1
  62. package/NetworkGraph.config.js +1 -0
  63. package/NetworkGraph.config.js.map +2 -2
  64. package/NetworkGraph.js +366 -105
  65. package/NetworkGraph.js.map +4 -4
  66. package/PERFORMANCE.md +23 -0
  67. package/ParallelCoordinates/ParallelCoordinates.d.ts +1 -46
  68. package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
  69. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +12 -58
  70. package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -1
  71. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +1 -0
  72. package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -1
  73. package/ParallelCoordinates.js +150 -153
  74. package/ParallelCoordinates.js.map +4 -4
  75. package/Pie/Pie.d.ts.map +1 -1
  76. package/Pie/config.d.ts.map +1 -1
  77. package/Pie/pieUtils.d.ts +4 -0
  78. package/Pie/pieUtils.d.ts.map +1 -1
  79. package/Pie.config.js +16 -0
  80. package/Pie.config.js.map +2 -2
  81. package/Pie.js +121 -35
  82. package/Pie.js.map +2 -2
  83. package/Punchcard.js +74 -26
  84. package/Punchcard.js.map +2 -2
  85. package/Rectangle/config.d.ts.map +1 -1
  86. package/Rectangle.config.js +14 -5
  87. package/Rectangle.config.js.map +4 -4
  88. package/Rectangle.js +92 -35
  89. package/Rectangle.js.map +4 -4
  90. package/Sankey/PureSankey/PureSankey.d.ts +26 -72
  91. package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
  92. package/Sankey/PureSankey/SankeyLink.d.ts +3 -19
  93. package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
  94. package/Sankey/PureSankey/SankeyNode.d.ts +3 -20
  95. package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
  96. package/Sankey/PureSankey/SankeyTooltip.d.ts +3 -24
  97. package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
  98. package/Sankey.js +270 -336
  99. package/Sankey.js.map +2 -2
  100. package/Scatter.config.js +168 -147
  101. package/Scatter.config.js.map +4 -4
  102. package/Scatter.js +249 -179
  103. package/Scatter.js.map +4 -4
  104. package/SingleValue.js +96 -75
  105. package/SingleValue.js.map +2 -2
  106. package/SingleValueIcon/config.d.ts.map +1 -1
  107. package/SingleValueIcon.config.js +14 -5
  108. package/SingleValueIcon.config.js.map +4 -4
  109. package/SingleValueIcon.js +118 -76
  110. package/SingleValueIcon.js.map +4 -4
  111. package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -1
  112. package/SingleValueRadial.js +95 -76
  113. package/SingleValueRadial.js.map +2 -2
  114. package/Table/Table.d.ts.map +1 -1
  115. package/Table/hooks.d.ts +2 -0
  116. package/Table/hooks.d.ts.map +1 -1
  117. package/Table.js +95 -49
  118. package/Table.js.map +2 -2
  119. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  120. package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -1
  121. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  122. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +2 -1
  123. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  124. package/Timeline.js +154 -54
  125. package/Timeline.js.map +2 -2
  126. package/common/Charting.d.ts.map +1 -1
  127. package/common/Charting.js +3 -0
  128. package/common/Charting.js.map +2 -2
  129. package/common/GaugeMajorTicks.js +150 -13
  130. package/common/GaugeMajorTicks.js.map +4 -4
  131. package/common/GaugeValueMarker.js +84 -17
  132. package/common/GaugeValueMarker.js.map +4 -4
  133. package/common/OptionsDoc.js.map +1 -1
  134. package/common/OverviewDoc.d.ts.map +1 -1
  135. package/common/OverviewDoc.js +2 -2
  136. package/common/OverviewDoc.js.map +2 -2
  137. package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
  138. package/common/TimeSeriesChartWrapper.js +72 -24
  139. package/common/TimeSeriesChartWrapper.js.map +2 -2
  140. package/common/chartingUtils.d.ts +9 -3
  141. package/common/chartingUtils.d.ts.map +1 -1
  142. package/common/chartingUtils.js +21 -16
  143. package/common/chartingUtils.js.map +2 -2
  144. package/common/editorConfig/AxesChartDataConfig.d.ts +3 -3
  145. package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -1
  146. package/common/editorConfig/AxesChartDataDisplay.d.ts +4 -0
  147. package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
  148. package/common/editorConfig/AxesChartLegend.d.ts.map +1 -1
  149. package/common/gaugeUtils.d.ts +37 -0
  150. package/common/gaugeUtils.d.ts.map +1 -1
  151. package/common/gaugeUtils.js +152 -2
  152. package/common/gaugeUtils.js.map +4 -4
  153. package/common/hocs/mockdata/trellisData.d.ts +119 -0
  154. package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
  155. package/common/interfaces/Overview.d.ts +1 -0
  156. package/common/interfaces/Overview.d.ts.map +1 -1
  157. package/common/interfaces/VizConfig.d.ts +2 -1
  158. package/common/interfaces/VizConfig.d.ts.map +1 -1
  159. package/common/utils/mapUtils.js.map +1 -1
  160. package/common/utils/trellisUtils.d.ts.map +1 -1
  161. package/common/utils/trellisUtils.js +4 -6
  162. package/common/utils/trellisUtils.js.map +2 -2
  163. package/common/withDashboardViz.js +74 -26
  164. package/common/withDashboardViz.js.map +2 -2
  165. package/package.json +36 -36
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/common/OverviewDoc.tsx", "esm-externals:react", "esm-externals:prop-types", "esm-externals:styled-components", "esm-externals:@splunk/react-ui/Paragraph", "esm-externals:@splunk/react-ui/Heading", "esm-externals:@splunk/react-ui/List", "esm-externals:@splunk/react-ui/Chip", "esm-externals:@splunk/react-ui/Prose", "esm-externals:@splunk/react-icons/enterprise/ChartLine", "esm-externals:@splunk/react-icons/enterprise/ChartBar", "esm-externals:@splunk/react-icons/enterprise/ChartScatter", "esm-externals:@splunk/react-icons/enterprise/ChoroplethMap", "esm-externals:@splunk/react-icons/enterprise/SplitBy", "esm-externals:@splunk/react-docs/DocExample", "esm-externals:@splunk/react-ui/Button", "esm-externals:@splunk/react-ui/Code", "esm-externals:@splunk/react-ui/TransitionOpen", "esm-externals:@splunk/react-icons/SquaresLayered", "esm-externals:@splunk/react-icons/Checkmark", "esm-externals:@splunk/react-icons/EyeSlashed", "esm-externals:@splunk/react-icons/WindowChevronsSlash", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/react-docs/UtilPage", "../src/common/docUtils.tsx", "../src/common/DocExampleWithVizSandbox.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport P from '@splunk/react-ui/Paragraph';\nimport Heading from '@splunk/react-ui/Heading';\nimport List from '@splunk/react-ui/List';\nimport Chip from '@splunk/react-ui/Chip';\nimport Prose from '@splunk/react-ui/Prose';\nimport ChartLine from '@splunk/react-icons/enterprise/ChartLine';\nimport ChartBar from '@splunk/react-icons/enterprise/ChartBar';\nimport ChartScatter from '@splunk/react-icons/enterprise/ChartScatter';\nimport ChoroplethMap from '@splunk/react-icons/enterprise/ChoroplethMap';\nimport SplitBy from '@splunk/react-icons/enterprise/SplitBy';\nimport { Overview, Variation } from './interfaces/Overview';\nimport { VizCategory } from './interfaces/VizCategory';\nimport DocExampleWithVizSandbox from './DocExampleWithVizSandbox';\n\ninterface VariationCode {\n code: string;\n example: () => React.ReactElement;\n}\n\ninterface OverviewProps {\n overview: Overview;\n variationCode?: Record<string, VariationCode>;\n}\n\nconst chipIconStyles = {\n color: 'white',\n};\n\nconst chipType = {\n [VizCategory.TRENDS]: {\n backgroundColor: '#66AAF9',\n icon: <ChartLine style={chipIconStyles} />,\n },\n [VizCategory.COMPARISONS]: {\n backgroundColor: '#45D4BA',\n icon: <ChartBar style={chipIconStyles} />,\n },\n [VizCategory.CORRELATION]: {\n backgroundColor: '#FB865C',\n icon: <ChartScatter style={chipIconStyles} />,\n },\n [VizCategory.SPATIAL]: {\n backgroundColor: '#E85B79',\n icon: <ChoroplethMap style={chipIconStyles} />,\n },\n [VizCategory.FLOW]: {\n backgroundColor: '#9980FF',\n icon: <SplitBy style={chipIconStyles} />,\n },\n};\n\nconst StyledChip = styled(Chip)`\n [data-test='label'] {\n color: white;\n }\n margin-left: 10px;\n`;\n\nconst StyledWrapper = styled.div`\n display: flex;\n margin-bottom: 10px;\n align-items: center;\n`;\n\nconst Variations = ({ variations, variationCode, type }): React.ReactElement => (\n <>\n {variations.map((v: Variation): React.ReactElement => {\n const variationObj = variationCode[v.key];\n return (\n <DocExampleWithVizSandbox\n hideSandbox={v.hideSandbox ?? false}\n type={type}\n key={v.key}\n code={variationObj.code}\n example={variationObj.example}\n {...v}\n />\n );\n })}\n </>\n);\n\nVariations.propTypes = {\n variations: T.array,\n variationCode: T.object,\n type: T.string,\n};\n\nconst Tip = ({ tip }): React.ReactElement => <List.Item>{tip}</List.Item>;\n\nTip.propTypes = {\n tip: T.string,\n};\n\nconst Tips = ({ tips }): React.ReactElement => (\n <>\n <Heading level={3}>Tips</Heading>\n <List>\n {tips.map(\n (tip: string): React.ReactElement => (\n <Tip key={tip} tip={tip} />\n )\n )}\n </List>\n </>\n);\n\nTips.propTypes = {\n tips: T.array,\n};\n\nconst OverviewDoc = (props: OverviewProps): React.ReactElement => {\n const { typeOfViz, type, overview, tips, variations } = props.overview;\n const { variationCode } = props;\n const vizTypeDisplayNameMap = {\n [VizCategory.TRENDS]: 'Trend',\n [VizCategory.COMPARISONS]: 'Comparison',\n };\n const vizType = vizTypeDisplayNameMap[typeOfViz] || typeOfViz;\n return (\n <>\n {vizType && (\n <StyledWrapper>\n Chart Type\n <StyledChip\n data-test=\"viz-type-chip\"\n backgroundColor={chipType[typeOfViz].backgroundColor}\n icon={chipType[typeOfViz].icon}\n >\n {vizType}\n </StyledChip>\n </StyledWrapper>\n )}\n <Prose>\n <P data-test=\"overview-description\">{overview}</P>\n <Tips data-test=\"tips\" tips={tips} />\n </Prose>\n {variationCode && (\n <Variations variations={variations} type={type} variationCode={variationCode} />\n )}\n </>\n );\n};\n\nOverviewDoc.propTypes = {\n overview: T.object,\n variationCode: T.object,\n};\n\nexport default OverviewDoc;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"prop-types\";\nexport * from \"prop-types\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Paragraph\";\nexport * from \"@splunk/react-ui/Paragraph\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Heading\";\nexport * from \"@splunk/react-ui/Heading\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/List\";\nexport * from \"@splunk/react-ui/List\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Chip\";\nexport * from \"@splunk/react-ui/Chip\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Prose\";\nexport * from \"@splunk/react-ui/Prose\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartLine\";\nexport * from \"@splunk/react-icons/enterprise/ChartLine\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartBar\";\nexport * from \"@splunk/react-icons/enterprise/ChartBar\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartScatter\";\nexport * from \"@splunk/react-icons/enterprise/ChartScatter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChoroplethMap\";\nexport * from \"@splunk/react-icons/enterprise/ChoroplethMap\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/SplitBy\";\nexport * from \"@splunk/react-icons/enterprise/SplitBy\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-docs/DocExample\";\nexport * from \"@splunk/react-docs/DocExample\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Code\";\nexport * from \"@splunk/react-ui/Code\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/TransitionOpen\";\nexport * from \"@splunk/react-ui/TransitionOpen\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/SquaresLayered\";\nexport * from \"@splunk/react-icons/SquaresLayered\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Checkmark\";\nexport * from \"@splunk/react-icons/Checkmark\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/EyeSlashed\";\nexport * from \"@splunk/react-icons/EyeSlashed\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/WindowChevronsSlash\";\nexport * from \"@splunk/react-icons/WindowChevronsSlash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-docs/UtilPage\";\nexport * from \"@splunk/react-docs/UtilPage\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import * as React from 'react';\nimport UtilPage from '@splunk/react-docs/UtilPage';\n\n// https://github.com/jsdoc2md/jsdoc-api#synopsis\ninterface JsDoc {\n access?: string;\n classdesc?: string;\n comment: string;\n kind: string;\n longname: string;\n meta: Record<string, unknown>;\n member: string;\n name: string;\n scope: string;\n}\n\nconst sharedSelectors = ['getField', 'getType', 'min', 'max', 'sum'];\n\nconst formatSidebarItemName = (name: string, className: string): string => {\n return sharedSelectors.find(sharedSelector => name === sharedSelector) ? `${className}#${name}` : name;\n};\n\nconst removePrependedClassName = (longname = ''): string => longname.slice(longname.indexOf('#') + 1);\n\nconst formatDSLSelectorDocs = (docs: JsDoc[]): JsDoc[] =>\n docs.map(doc => ({\n ...doc,\n longname: removePrependedClassName(doc.longname),\n }));\n\nexport const getFormatterClassdesc = (\n formatterDocs: JsDoc[],\n name: string\n): { name: string; markdown: string } => ({\n name,\n markdown: `# ${name}\\n ${formatterDocs.find(doc => doc.name === name && doc.kind === 'class').classdesc}`,\n});\n\nexport const extractDocItems = (\n docs: JsDoc[],\n className: string\n): { name: string; component: (...args: any[]) => any }[] => {\n const classHeaderDoc = docs[0];\n const fileDoc = docs[docs.length - 1];\n const filteredDocs = formatDSLSelectorDocs(docs).filter(\n ({ access, comment }) => access === 'public' && comment\n );\n\n return filteredDocs\n .map(doc => ({\n name: formatSidebarItemName(doc.name, className),\n component: function UtilDoc() {\n // named function so linter doesnt raise react/display-name error\n return (\n <UtilPage\n title={`${className}#${doc.name}`}\n status={1}\n docs={[classHeaderDoc, doc, fileDoc]}\n />\n );\n },\n }))\n .sort((a, b) => a.name.localeCompare(b.name));\n};\n\nexport const formatCodeStringToObject = (codeString: string, regexMatch: RegExp): any => {\n const match = regexMatch.exec(codeString);\n if (!match) return null;\n\n const stringToParse = `{${match[1]}}`;\n\n // remove trailing commas\n const removedCommas = stringToParse.replace(/,(?!\\s*?[-{[\"'\\w])/g, '');\n\n // convert double quotes (which only occur inside strings) to back quotes\n const backQuotes = removedCommas.replace(/\"/g, '`');\n // replace single quotes with double quotes\n const doubleQuotes = backQuotes.replace(/'/g, '\"');\n // replace back quotes with single quotes\n const singleQuotes = doubleQuotes.replace(/`/g, \"'\");\n\n // add quotes around keys\n const quotesAroundKeys = singleQuotes.replace(/\\b(\\w+)\\s*:(?=\\s)/g, '\"$1\":');\n\n let retval = null;\n try {\n retval = JSON.parse(quotesAroundKeys);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return retval;\n};\n\nexport const extractDataFromReactCode = (codeString: string): any => {\n const primaryRegex = /dataSources={{([\\s\\S]*?primary:[\\s\\S]*?)}}/;\n const { primary } = formatCodeStringToObject(codeString, primaryRegex) ?? {};\n\n const optionsRegex = /options={{([\\s\\S]*?)}}/;\n const options = formatCodeStringToObject(codeString, optionsRegex);\n\n const contextRegex = /context={{([\\s\\S]*?)}}/;\n const context = formatCodeStringToObject(codeString, contextRegex);\n\n return { primary, options, context };\n};\n\n// Takes a stringified react viz example and a viz type\n// Returns a dashboard definition object.\n// e.g. codeString: '<Area dataSources={{}} options={{}} />'\n// type: 'splunk.area'\nexport const convertToDashboardJSON = (codeString: string, type: string): any => {\n const { options, primary, context } = extractDataFromReactCode(codeString);\n\n return {\n visualizations: {\n test_viz: {\n type,\n ...(options ? { options } : {}),\n ...(primary ? { dataSources: { primary: 'primary' } } : {}),\n ...(context ? { context } : {}),\n },\n },\n ...(primary\n ? {\n dataSources: {\n primary: { type: 'ds.test', options: primary },\n },\n }\n : {}),\n defaults: {\n dataSources: {\n global: {\n options: {\n queryParameters: {\n latest: '$global_time.latest$',\n earliest: '$global_time.earliest$',\n },\n },\n },\n },\n },\n inputs: {\n input_global_trp: {\n type: 'input.timerange',\n options: {\n token: 'global_time',\n defaultValue: '-24h@h,now',\n },\n title: 'Global Time Range',\n },\n },\n layout: {\n type: 'absolute',\n options: {},\n structure: [\n {\n item: 'test_viz',\n type: 'block',\n position: {\n x: 0,\n y: 0,\n w: 800,\n h: 500,\n },\n },\n ],\n globalInputs: ['input_global_trp'],\n },\n };\n};\n", "import * as React from 'react';\nimport DocExample from '@splunk/react-docs/DocExample';\nimport Button from '@splunk/react-ui/Button';\nimport Code from '@splunk/react-ui/Code';\nimport TransitionOpen from '@splunk/react-ui/TransitionOpen';\nimport SquaresLayered from '@splunk/react-icons/SquaresLayered';\nimport Checkmark from '@splunk/react-icons/Checkmark';\nimport EyeSlashed from '@splunk/react-icons/EyeSlashed';\nimport WindowChevronsSlash from '@splunk/react-icons/WindowChevronsSlash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport * as T from 'prop-types';\nimport { convertToDashboardJSON } from './docUtils';\n\ninterface DocExampleWithVizSandboxProps {\n type: string;\n title: string;\n code: string;\n example: () => React.ReactElement;\n hideSandbox?: boolean;\n description?: string;\n}\n\nconst DocExampleWithVizSandbox = (props: DocExampleWithVizSandboxProps): React.ReactElement => {\n const { type, title, code, example, hideSandbox = false, description } = props;\n const [isCopied, setIsCopied] = React.useState(false);\n const [showCode, setShowCode] = React.useState(false);\n const isMounted = React.useRef(true);\n\n const toggleShowCode = React.useCallback(() => {\n setShowCode(state => !state);\n }, []);\n\n React.useEffect((): (() => void) => {\n return () => {\n isMounted.current = false;\n setIsCopied(false);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (hideSandbox) return <DocExample title={title} code={code} example={example} />;\n\n const objDefn = convertToDashboardJSON(code, type);\n // set spacing level to 4\n const prettyJson = JSON.stringify(objDefn, null, 4);\n\n const copyToClipBoard = () => {\n if ('clipboard' in navigator) {\n navigator.clipboard.writeText(prettyJson);\n setIsCopied(true);\n }\n setTimeout(() => {\n if (isMounted.current) {\n setIsCopied(false);\n }\n }, 5000);\n };\n\n const renderAdditionalActions = () => [\n <Button\n key=\"show-dashboard-definition\"\n appearance=\"secondary\"\n onClick={toggleShowCode}\n icon={showCode ? <EyeSlashed /> : <WindowChevronsSlash />}\n label={showCode ? _('Hide dashboard definition') : _('Show dashboard definition')}\n />,\n ];\n\n return (\n <DocExample\n renderAdditionalActions={renderAdditionalActions}\n title={title}\n code={code}\n example={example}\n description={description}\n >\n <TransitionOpen\n animation=\"slideFromTop\"\n open={showCode}\n retainFocus={false}\n takeFocus={false}\n renderChildrenWhenCollapsed={false}\n animateOnMount={false}\n >\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <Code value={prettyJson} language=\"json\" />\n <Button\n onClick={copyToClipBoard}\n icon={isCopied ? <Checkmark /> : <SquaresLayered />}\n label={isCopied ? _('Copied') : _('Copy to clipboard')}\n style={{ height: '30px', maxWidth: '164px' }}\n />\n </div>\n </TransitionOpen>\n </DocExample>\n );\n};\n\nDocExampleWithVizSandbox.propTypes = {\n type: T.string,\n title: T.string,\n code: T.string,\n example: T.func,\n hideSandbox: T.bool,\n};\n\nexport default DocExampleWithVizSandbox;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport P from '@splunk/react-ui/Paragraph';\nimport Heading from '@splunk/react-ui/Heading';\nimport List from '@splunk/react-ui/List';\nimport Chip from '@splunk/react-ui/Chip';\nimport Prose from '@splunk/react-ui/Prose';\nimport ChartLine from '@splunk/react-icons/enterprise/ChartLine';\nimport ChartBar from '@splunk/react-icons/enterprise/ChartBar';\nimport ChartScatter from '@splunk/react-icons/enterprise/ChartScatter';\nimport ChoroplethMap from '@splunk/react-icons/enterprise/ChoroplethMap';\nimport SplitBy from '@splunk/react-icons/enterprise/SplitBy';\nimport { Overview, Variation } from './interfaces/Overview';\nimport { VizCategory } from './interfaces/VizCategory';\nimport DocExampleWithVizSandbox from './DocExampleWithVizSandbox';\n\ninterface VariationCode {\n code: string;\n example: () => React.ReactElement;\n}\n\ninterface OverviewProps {\n overview: Overview;\n variationCode?: Record<string, VariationCode>;\n}\n\nconst chipIconStyles = {\n color: 'white',\n};\n\nconst chipType = {\n [VizCategory.TRENDS]: {\n backgroundColor: '#66AAF9',\n icon: <ChartLine style={chipIconStyles} />,\n },\n [VizCategory.COMPARISONS]: {\n backgroundColor: '#45D4BA',\n icon: <ChartBar style={chipIconStyles} />,\n },\n [VizCategory.CORRELATION]: {\n backgroundColor: '#FB865C',\n icon: <ChartScatter style={chipIconStyles} />,\n },\n [VizCategory.SPATIAL]: {\n backgroundColor: '#E85B79',\n icon: <ChoroplethMap style={chipIconStyles} />,\n },\n [VizCategory.FLOW]: {\n backgroundColor: '#9980FF',\n icon: <SplitBy style={chipIconStyles} />,\n },\n};\n\nconst StyledChip = styled(Chip)`\n [data-test='label'] {\n color: white;\n }\n margin-left: 10px;\n`;\n\nconst StyledWrapper = styled.div`\n display: flex;\n margin-bottom: 10px;\n align-items: center;\n`;\n\nconst Variations = ({ variations, variationCode, type }): React.ReactElement => (\n <>\n {variations.map((v: Variation): React.ReactElement => {\n const variationObj = variationCode[v.key];\n return (\n <DocExampleWithVizSandbox\n hideSandbox={v.hideSandbox ?? false}\n type={type}\n key={v.key}\n code={variationObj.code}\n example={variationObj.example}\n {...v}\n />\n );\n })}\n </>\n);\n\nVariations.propTypes = {\n variations: T.array,\n variationCode: T.object,\n type: T.string,\n};\n\nconst Tip = ({ tip }): React.ReactElement => <List.Item>{tip}</List.Item>;\n\nTip.propTypes = {\n tip: T.string,\n};\n\nconst Tips = ({ tips }): React.ReactElement => (\n <>\n <Heading level={3}>Tips</Heading>\n <List>\n {tips.map(\n (tip: string): React.ReactElement => (\n <Tip key={tip} tip={tip} />\n )\n )}\n </List>\n </>\n);\n\nTips.propTypes = {\n tips: T.array,\n};\n\nconst OverviewDoc = (props: OverviewProps): React.ReactElement => {\n const { typeOfViz, type, overview, note, tips, variations } = props.overview;\n const { variationCode } = props;\n const vizTypeDisplayNameMap = {\n [VizCategory.TRENDS]: 'Trend',\n [VizCategory.COMPARISONS]: 'Comparison',\n };\n const vizType = vizTypeDisplayNameMap[typeOfViz] || typeOfViz;\n return (\n <>\n {vizType && (\n <StyledWrapper>\n Chart Type\n <StyledChip\n data-test=\"viz-type-chip\"\n backgroundColor={chipType[typeOfViz].backgroundColor}\n icon={chipType[typeOfViz].icon}\n >\n {vizType}\n </StyledChip>\n </StyledWrapper>\n )}\n <Prose>\n <P data-test=\"overview-description\">{overview}</P>\n {note && <P data-test=\"overview-note\">{note}</P>}\n <Tips data-test=\"tips\" tips={tips} />\n </Prose>\n {variationCode && (\n <Variations variations={variations} type={type} variationCode={variationCode} />\n )}\n </>\n );\n};\n\nOverviewDoc.propTypes = {\n overview: T.object,\n variationCode: T.object,\n};\n\nexport default OverviewDoc;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"prop-types\";\nexport * from \"prop-types\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Paragraph\";\nexport * from \"@splunk/react-ui/Paragraph\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Heading\";\nexport * from \"@splunk/react-ui/Heading\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/List\";\nexport * from \"@splunk/react-ui/List\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Chip\";\nexport * from \"@splunk/react-ui/Chip\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Prose\";\nexport * from \"@splunk/react-ui/Prose\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartLine\";\nexport * from \"@splunk/react-icons/enterprise/ChartLine\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartBar\";\nexport * from \"@splunk/react-icons/enterprise/ChartBar\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChartScatter\";\nexport * from \"@splunk/react-icons/enterprise/ChartScatter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/ChoroplethMap\";\nexport * from \"@splunk/react-icons/enterprise/ChoroplethMap\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/enterprise/SplitBy\";\nexport * from \"@splunk/react-icons/enterprise/SplitBy\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-docs/DocExample\";\nexport * from \"@splunk/react-docs/DocExample\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Code\";\nexport * from \"@splunk/react-ui/Code\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/TransitionOpen\";\nexport * from \"@splunk/react-ui/TransitionOpen\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/SquaresLayered\";\nexport * from \"@splunk/react-icons/SquaresLayered\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Checkmark\";\nexport * from \"@splunk/react-icons/Checkmark\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/EyeSlashed\";\nexport * from \"@splunk/react-icons/EyeSlashed\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/WindowChevronsSlash\";\nexport * from \"@splunk/react-icons/WindowChevronsSlash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-docs/UtilPage\";\nexport * from \"@splunk/react-docs/UtilPage\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import * as React from 'react';\nimport UtilPage from '@splunk/react-docs/UtilPage';\n\n// https://github.com/jsdoc2md/jsdoc-api#synopsis\ninterface JsDoc {\n access?: string;\n classdesc?: string;\n comment: string;\n kind: string;\n longname: string;\n meta: Record<string, unknown>;\n member: string;\n name: string;\n scope: string;\n}\n\nconst sharedSelectors = ['getField', 'getType', 'min', 'max', 'sum'];\n\nconst formatSidebarItemName = (name: string, className: string): string => {\n return sharedSelectors.find(sharedSelector => name === sharedSelector) ? `${className}#${name}` : name;\n};\n\nconst removePrependedClassName = (longname = ''): string => longname.slice(longname.indexOf('#') + 1);\n\nconst formatDSLSelectorDocs = (docs: JsDoc[]): JsDoc[] =>\n docs.map(doc => ({\n ...doc,\n longname: removePrependedClassName(doc.longname),\n }));\n\nexport const getFormatterClassdesc = (\n formatterDocs: JsDoc[],\n name: string\n): { name: string; markdown: string } => ({\n name,\n markdown: `# ${name}\\n ${formatterDocs.find(doc => doc.name === name && doc.kind === 'class').classdesc}`,\n});\n\nexport const extractDocItems = (\n docs: JsDoc[],\n className: string\n): { name: string; component: (...args: any[]) => any }[] => {\n const classHeaderDoc = docs[0];\n const fileDoc = docs[docs.length - 1];\n const filteredDocs = formatDSLSelectorDocs(docs).filter(\n ({ access, comment }) => access === 'public' && comment\n );\n\n return filteredDocs\n .map(doc => ({\n name: formatSidebarItemName(doc.name, className),\n component: function UtilDoc() {\n // named function so linter doesnt raise react/display-name error\n return (\n <UtilPage\n title={`${className}#${doc.name}`}\n status={1}\n docs={[classHeaderDoc, doc, fileDoc]}\n />\n );\n },\n }))\n .sort((a, b) => a.name.localeCompare(b.name));\n};\n\nexport const formatCodeStringToObject = (codeString: string, regexMatch: RegExp): any => {\n const match = regexMatch.exec(codeString);\n if (!match) return null;\n\n const stringToParse = `{${match[1]}}`;\n\n // remove trailing commas\n const removedCommas = stringToParse.replace(/,(?!\\s*?[-{[\"'\\w])/g, '');\n\n // convert double quotes (which only occur inside strings) to back quotes\n const backQuotes = removedCommas.replace(/\"/g, '`');\n // replace single quotes with double quotes\n const doubleQuotes = backQuotes.replace(/'/g, '\"');\n // replace back quotes with single quotes\n const singleQuotes = doubleQuotes.replace(/`/g, \"'\");\n\n // add quotes around keys\n const quotesAroundKeys = singleQuotes.replace(/\\b(\\w+)\\s*:(?=\\s)/g, '\"$1\":');\n\n let retval = null;\n try {\n retval = JSON.parse(quotesAroundKeys);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return retval;\n};\n\nexport const extractDataFromReactCode = (codeString: string): any => {\n const primaryRegex = /dataSources={{([\\s\\S]*?primary:[\\s\\S]*?)}}/;\n const { primary } = formatCodeStringToObject(codeString, primaryRegex) ?? {};\n\n const optionsRegex = /options={{([\\s\\S]*?)}}/;\n const options = formatCodeStringToObject(codeString, optionsRegex);\n\n const contextRegex = /context={{([\\s\\S]*?)}}/;\n const context = formatCodeStringToObject(codeString, contextRegex);\n\n return { primary, options, context };\n};\n\n// Takes a stringified react viz example and a viz type\n// Returns a dashboard definition object.\n// e.g. codeString: '<Area dataSources={{}} options={{}} />'\n// type: 'splunk.area'\nexport const convertToDashboardJSON = (codeString: string, type: string): any => {\n const { options, primary, context } = extractDataFromReactCode(codeString);\n\n return {\n visualizations: {\n test_viz: {\n type,\n ...(options ? { options } : {}),\n ...(primary ? { dataSources: { primary: 'primary' } } : {}),\n ...(context ? { context } : {}),\n },\n },\n ...(primary\n ? {\n dataSources: {\n primary: { type: 'ds.test', options: primary },\n },\n }\n : {}),\n defaults: {\n dataSources: {\n global: {\n options: {\n queryParameters: {\n latest: '$global_time.latest$',\n earliest: '$global_time.earliest$',\n },\n },\n },\n },\n },\n inputs: {\n input_global_trp: {\n type: 'input.timerange',\n options: {\n token: 'global_time',\n defaultValue: '-24h@h,now',\n },\n title: 'Global Time Range',\n },\n },\n layout: {\n type: 'absolute',\n options: {},\n structure: [\n {\n item: 'test_viz',\n type: 'block',\n position: {\n x: 0,\n y: 0,\n w: 800,\n h: 500,\n },\n },\n ],\n globalInputs: ['input_global_trp'],\n },\n };\n};\n", "import * as React from 'react';\nimport DocExample from '@splunk/react-docs/DocExample';\nimport Button from '@splunk/react-ui/Button';\nimport Code from '@splunk/react-ui/Code';\nimport TransitionOpen from '@splunk/react-ui/TransitionOpen';\nimport SquaresLayered from '@splunk/react-icons/SquaresLayered';\nimport Checkmark from '@splunk/react-icons/Checkmark';\nimport EyeSlashed from '@splunk/react-icons/EyeSlashed';\nimport WindowChevronsSlash from '@splunk/react-icons/WindowChevronsSlash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport * as T from 'prop-types';\nimport { convertToDashboardJSON } from './docUtils';\n\ninterface DocExampleWithVizSandboxProps {\n type: string;\n title: string;\n code: string;\n example: () => React.ReactElement;\n hideSandbox?: boolean;\n description?: string;\n}\n\nconst DocExampleWithVizSandbox = (props: DocExampleWithVizSandboxProps): React.ReactElement => {\n const { type, title, code, example, hideSandbox = false, description } = props;\n const [isCopied, setIsCopied] = React.useState(false);\n const [showCode, setShowCode] = React.useState(false);\n const isMounted = React.useRef(true);\n\n const toggleShowCode = React.useCallback(() => {\n setShowCode(state => !state);\n }, []);\n\n React.useEffect((): (() => void) => {\n return () => {\n isMounted.current = false;\n setIsCopied(false);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (hideSandbox) return <DocExample title={title} code={code} example={example} />;\n\n const objDefn = convertToDashboardJSON(code, type);\n // set spacing level to 4\n const prettyJson = JSON.stringify(objDefn, null, 4);\n\n const copyToClipBoard = () => {\n if ('clipboard' in navigator) {\n navigator.clipboard.writeText(prettyJson);\n setIsCopied(true);\n }\n setTimeout(() => {\n if (isMounted.current) {\n setIsCopied(false);\n }\n }, 5000);\n };\n\n const renderAdditionalActions = () => [\n <Button\n key=\"show-dashboard-definition\"\n appearance=\"secondary\"\n onClick={toggleShowCode}\n icon={showCode ? <EyeSlashed /> : <WindowChevronsSlash />}\n label={showCode ? _('Hide dashboard definition') : _('Show dashboard definition')}\n />,\n ];\n\n return (\n <DocExample\n renderAdditionalActions={renderAdditionalActions}\n title={title}\n code={code}\n example={example}\n description={description}\n >\n <TransitionOpen\n animation=\"slideFromTop\"\n open={showCode}\n retainFocus={false}\n takeFocus={false}\n renderChildrenWhenCollapsed={false}\n animateOnMount={false}\n >\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <Code value={prettyJson} language=\"json\" />\n <Button\n onClick={copyToClipBoard}\n icon={isCopied ? <Checkmark /> : <SquaresLayered />}\n label={isCopied ? _('Copied') : _('Copy to clipboard')}\n style={{ height: '30px', maxWidth: '164px' }}\n />\n </div>\n </TransitionOpen>\n </DocExample>\n );\n};\n\nDocExampleWithVizSandbox.propTypes = {\n type: T.string,\n title: T.string,\n code: T.string,\n example: T.func,\n hideSandbox: T.bool,\n};\n\nexport default DocExampleWithVizSandbox;\n"],
5
+ "mappings": "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",
6
6
  "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSeriesChartWrapper.d.ts","sourceRoot":"","sources":["../src/common/TimeSeriesChartWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkC3C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAC/B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,MAAM,EACnB,iBAAiB,MAAM,KACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CASxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACnC,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,iBAAiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,OAwBF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,eAAU,EAAE,YAAO,EAAE,aAAa,MAAM,EAAE,iBAAiB,MAAM,SA2B5F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,eAAU,EAAE,YAAO,EAAE,aAAa,MAAM,EAAE,iBAAiB,MAAM,SAclG,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,eAAU,EACV,aAAQ,EACR,cAAS,EACT,aAAa,MAAM,EACnB,iBAAiB,MAAM,SA2B1B,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,eAAU,EACV,aAAQ,EACR,cAAS,EACT,aAAa,MAAM,EACnB,iBAAiB,MAAM,SAsB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,eAAU,EACV,qBAAgB,EAChB,oBAAe,EACf,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,iBAAkB,EAClB,uBAAwB;;;CA4C3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GACzB,OAAO,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAC5C,MAAM,EAAE,GAAG,SAAS,GAAG,IAQzB,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,OAAO,aAAa,sBA2fnD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"TimeSeriesChartWrapper.d.ts","sourceRoot":"","sources":["../src/common/TimeSeriesChartWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmC3C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAC/B,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,MAAM,EACnB,iBAAiB,MAAM,KACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CASxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACnC,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,iBAAiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,OAwBF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,eAAU,EAAE,YAAO,EAAE,aAAa,MAAM,EAAE,iBAAiB,MAAM,SA2B5F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,eAAU,EAAE,YAAO,EAAE,aAAa,MAAM,EAAE,iBAAiB,MAAM,SAclG,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC7B,eAAU,EACV,aAAQ,EACR,cAAS,EACT,aAAa,MAAM,EACnB,iBAAiB,MAAM,SA2B1B,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,eAAU,EACV,aAAQ,EACR,cAAS,EACT,aAAa,MAAM,EACnB,iBAAiB,MAAM,SAsB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,eAAU,EACV,qBAAgB,EAChB,oBAAe,EACf,aAAa,MAAM,EACnB,iBAAiB,MAAM,EACvB,iBAAkB,EAClB,uBAAwB;;;CA4C3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GACzB,OAAO,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,KAC5C,MAAM,EAAE,GAAG,SAAS,GAAG,IAQzB,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,OAAO,aAAa,sBA8iBnD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -222,25 +222,27 @@ var parseAxisValue = (val) => {
222
222
  const num = typeof val === "number" ? val : Number.parseFloat(val);
223
223
  return Number.isNaN(num) ? void 0 : num;
224
224
  };
225
- var SideLegendWidth = 75;
226
- var SeriesCompareLegendWidth = 200;
225
+ var parseXAxisLineVisibility = (visibility) => {
226
+ if (visibility === "hide") return false;
227
+ if (visibility === "show") return true;
228
+ return void 0;
229
+ };
227
230
  var getLegend = (props) => {
228
231
  const legendPlacement = props == null ? void 0 : props.legendDisplay;
229
- const { isSeriesCompare } = props;
232
+ const { isSeriesCompare, legendTruncation } = props;
230
233
  const commonLegendProps = {
231
234
  center: true,
232
235
  fontSize: 12,
233
236
  largerTiles: true,
234
- hideSeriesValue: !isSeriesCompare
237
+ hideSeriesValue: !isSeriesCompare,
235
238
  // Show values if in seriesCompare mode
239
+ legendTruncation
236
240
  };
237
241
  switch (legendPlacement) {
238
242
  case "off":
239
243
  return false;
240
244
  case "left":
241
- return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
242
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
243
- }, commonLegendProps));
245
+ return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({}, commonLegendProps));
244
246
  case "bottom":
245
247
  return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
246
248
  wrap: true
@@ -250,9 +252,7 @@ var getLegend = (props) => {
250
252
  wrap: true
251
253
  }, commonLegendProps));
252
254
  default:
253
- return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
254
- width: isSeriesCompare ? SeriesCompareLegendWidth : SideLegendWidth
255
- }, commonLegendProps));
255
+ return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
256
256
  }
257
257
  };
258
258
  var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
@@ -313,9 +313,7 @@ var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale, yAxisLabelVisibilit
313
313
  if (yAxisAbbreviation !== "none") {
314
314
  yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
315
315
  }
316
- if (yAxisAbbreviation === "none") {
317
- yConfig.y.width = 55;
318
- } else {
316
+ if (yAxisAbbreviation !== "none") {
319
317
  yConfig.y.width = label && label.length > 0 ? 30 : 10;
320
318
  }
321
319
  if (yAxisLabelVisibility === "hide") {
@@ -338,6 +336,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
338
336
  y2Config.y2.type = scaleType;
339
337
  if (axisAbbreviation !== "none") {
340
338
  y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
339
+ y2Config.y2.width = label && label.length > 0 ? 50 : 10;
341
340
  } else if (roundAxisLabelsToInteger) {
342
341
  y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
343
342
  }
@@ -353,7 +352,7 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
353
352
  }
354
353
  return y2Config;
355
354
  };
356
- var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField) => {
355
+ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode, markerDisplay, lineDashStyle, lineDashStylesByField, stepPosition, stepPositionsByField) => {
357
356
  const seriesConfig = {};
358
357
  let spanGaps;
359
358
  let replaceNullsWithZero;
@@ -380,6 +379,8 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
380
379
  );
381
380
  if (shouldAssignToY2) {
382
381
  seriesConfig[field].overrides.scale = "y2";
382
+ } else {
383
+ seriesConfig[field].overrides.scale = "y";
383
384
  }
384
385
  }
385
386
  if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
@@ -392,6 +393,11 @@ var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled
392
393
  if (fieldDashStyle) {
393
394
  seriesConfig[field].lineDashStyle = fieldDashStyle;
394
395
  }
396
+ const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
397
+ const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
398
+ if (fieldStepPosition && fieldStepPosition !== "off") {
399
+ seriesConfig[field].stepPosition = fieldStepPosition;
400
+ }
395
401
  if (replaceNullsWithZero !== void 0) {
396
402
  seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
397
403
  }
@@ -668,6 +674,9 @@ var TimeSeriesChartWrapper = (props) => {
668
674
  backgroundColor,
669
675
  defaultFontColor,
670
676
  additionalTooltipValues,
677
+ xAxisLineVisibility: xAxisLineVisibility,
678
+ yAxisLineVisibility,
679
+ y2AxisLineVisibility,
671
680
  showYAxisWithZero: showYAxisWithZeroFromProps,
672
681
  showY2AxisWithZero: showY2AxisWithZeroFromProps
673
682
  } = _a, otherOptions = __objRest(_a, [
@@ -691,6 +700,10 @@ var TimeSeriesChartWrapper = (props) => {
691
700
  "backgroundColor",
692
701
  "defaultFontColor",
693
702
  "additionalTooltipValues",
703
+ // Extract axis line visibility options from props
704
+ "xAxisLineVisibility",
705
+ "yAxisLineVisibility",
706
+ "y2AxisLineVisibility",
694
707
  // Extract showYAxisWithZero directly from props for accelerated render mode
695
708
  "showYAxisWithZero",
696
709
  "showY2AxisWithZero"
@@ -703,6 +716,7 @@ var TimeSeriesChartWrapper = (props) => {
703
716
  fieldColors,
704
717
  legendLabels: legendLabelsStr,
705
718
  legendMode,
719
+ legendTruncation,
706
720
  "axisTitleX.text": xAxisTitleText,
707
721
  "axisTitleY.text": yAxisTitleText,
708
722
  "axisTitleY2.text": y2AxisTitleText,
@@ -711,6 +725,7 @@ var TimeSeriesChartWrapper = (props) => {
711
725
  "axisTitleY2.visibility": y2AxisTitleVisibility,
712
726
  "axisLabelsX.majorLabelVisibility": xAxisLabelVisibility,
713
727
  "axisLabelsX.majorLabelStyle.rotation": xAxisLabelRotation,
728
+ "axisLabelsX.maxLabelParts": xAxisMaxLabelParts,
714
729
  "axisLabelsY.majorLabelVisibility": yAxisLabelVisibility,
715
730
  "axisLabelsY.majorUnit": yAxisMajorUnitFromSimpleXML,
716
731
  "axisLabelsY2.majorLabelVisibility": y2AxisLabelVisibility,
@@ -728,6 +743,8 @@ var TimeSeriesChartWrapper = (props) => {
728
743
  lineWidth,
729
744
  lineDashStyle,
730
745
  fieldDashStyles: lineDashStylesByFieldStr,
746
+ stepPosition,
747
+ fieldStepPositions: stepPositionsByFieldStr,
731
748
  yAxisMin: yAxisMinRaw,
732
749
  yAxisMax: yAxisMaxRaw,
733
750
  y2AxisMin: y2AxisMinRaw,
@@ -738,6 +755,8 @@ var TimeSeriesChartWrapper = (props) => {
738
755
  showYMinorGridLines,
739
756
  showY2MinorGridLines,
740
757
  showLineSmoothing,
758
+ xAxisMajorTickVisibility,
759
+ xAxisMajorTickSize,
741
760
  yAxisMajorTickVisibility,
742
761
  y2AxisMajorTickVisibility,
743
762
  yAxisMajorTickSize,
@@ -754,10 +773,14 @@ var TimeSeriesChartWrapper = (props) => {
754
773
  const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
755
774
  const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
756
775
  const showY2AxisWithZero = showY2AxisWithZeroFromProps != null ? showY2AxisWithZeroFromProps : showY2AxisWithZeroFromOptions;
776
+ const showXMajorTicks = xAxisMajorTickVisibility !== "hide";
757
777
  const showYMajorTicks = yAxisMajorTickVisibility === "show";
758
778
  const showY2MajorTicks = y2AxisMajorTickVisibility === "show";
759
779
  const showYMinorTicks = yAxisMinorTickVisibility === "show";
760
780
  const showY2MinorTicks = y2AxisMinorTickVisibility === "show";
781
+ const showXAxisLine = parseXAxisLineVisibility(xAxisLineVisibility);
782
+ const showYAxisLine = yAxisLineVisibility === "show";
783
+ const showY2AxisLine = y2AxisLineVisibility === "show";
761
784
  const yAxisMin = parseAxisValue(yAxisMinRaw);
762
785
  const yAxisMax = parseAxisValue(yAxisMaxRaw);
763
786
  const y2AxisMin = parseAxisValue(y2AxisMinRaw);
@@ -772,13 +795,15 @@ var TimeSeriesChartWrapper = (props) => {
772
795
  y2AxisMajorUnitFromSimpleXML,
773
796
  y2AxisMajorTickInterval
774
797
  );
775
- const yAxisMajorTickSizeNum = yAxisMajorTickSize ? Number(yAxisMajorTickSize) : void 0;
776
- const y2AxisMajorTickSizeNum = y2AxisMajorTickSize ? Number(y2AxisMajorTickSize) : void 0;
777
- const yAxisMinorTickSizeNum = yAxisMinorTickSize ? Number(yAxisMinorTickSize) : void 0;
778
- const y2AxisMinorTickSizeNum = y2AxisMinorTickSize ? Number(y2AxisMinorTickSize) : void 0;
798
+ const xAxisMajorTickSizeNum = xAxisMajorTickSize != null ? Number(xAxisMajorTickSize) : void 0;
799
+ const yAxisMajorTickSizeNum = yAxisMajorTickSize != null ? Number(yAxisMajorTickSize) : void 0;
800
+ const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
801
+ const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
802
+ const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
779
803
  const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
780
804
  const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
781
805
  const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
806
+ const stepPositionsByField = stepPositionsByFieldStr ? JSON.parse(stepPositionsByFieldStr) : void 0;
782
807
  const legendLabels = parseArrayOption(legendLabelsStr);
783
808
  const bgColor = backgroundColor || bgColorFromOptions;
784
809
  const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
@@ -866,7 +891,9 @@ var TimeSeriesChartWrapper = (props) => {
866
891
  nullValueMode,
867
892
  markerDisplay,
868
893
  lineDashStyle,
869
- lineDashStylesByField
894
+ lineDashStylesByField,
895
+ stepPosition,
896
+ stepPositionsByField
870
897
  ),
871
898
  [
872
899
  yFields,
@@ -877,7 +904,9 @@ var TimeSeriesChartWrapper = (props) => {
877
904
  nullValueMode,
878
905
  markerDisplay,
879
906
  lineDashStyle,
880
- lineDashStylesByField
907
+ lineDashStylesByField,
908
+ stepPosition,
909
+ stepPositionsByField
881
910
  ]
882
911
  );
883
912
  const chartingEventAnnotations = (0, react_exports.useMemo)(
@@ -892,9 +921,14 @@ var TimeSeriesChartWrapper = (props) => {
892
921
  () => __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig),
893
922
  [xScaleConfig, yScaleConfig, y2ScaleConfig]
894
923
  );
924
+ const isSeriesCompare = legendMode === "seriesCompare";
895
925
  const legend = (0, react_exports.useMemo)(
896
- () => getLegend({ legendDisplay, isSeriesCompare: legendMode === "seriesCompare" }),
897
- [legendDisplay, legendMode]
926
+ () => getLegend({
927
+ legendDisplay: isSeriesCompare && legendDisplay !== "off" ? "right" : legendDisplay,
928
+ isSeriesCompare,
929
+ legendTruncation
930
+ }),
931
+ [legendDisplay, isSeriesCompare, legendTruncation]
898
932
  );
899
933
  const handleChartClick = react_exports.useCallback(
900
934
  (event) => {
@@ -999,6 +1033,7 @@ var TimeSeriesChartWrapper = (props) => {
999
1033
  seriesConfig: seriesOverrides,
1000
1034
  legend,
1001
1035
  legendLabels,
1036
+ legendTruncation,
1002
1037
  isSeriesCompare: legendMode === "seriesCompare",
1003
1038
  maxSeriesFocus: legendMode === "seriesCompare" ? 0 : void 0,
1004
1039
  scaleConfig,
@@ -1020,6 +1055,8 @@ var TimeSeriesChartWrapper = (props) => {
1020
1055
  showY2MinorGridLines,
1021
1056
  showLineSmoothing,
1022
1057
  dataValuesDisplay,
1058
+ showXMajorTicks,
1059
+ xAxisMajorTickSize: xAxisMajorTickSizeNum,
1023
1060
  showYMajorTicks,
1024
1061
  showY2MajorTicks,
1025
1062
  yAxisMajorTickSize: yAxisMajorTickSizeNum,
@@ -1031,7 +1068,11 @@ var TimeSeriesChartWrapper = (props) => {
1031
1068
  yAxisMinorTickSize: yAxisMinorTickSizeNum,
1032
1069
  y2AxisMinorTickSize: y2AxisMinorTickSizeNum,
1033
1070
  showYAxisWithZero,
1034
- showY2AxisWithZero
1071
+ showY2AxisWithZero,
1072
+ showXAxisLine,
1073
+ showYAxisLine,
1074
+ showY2AxisLine,
1075
+ xAxisMaxLabelParts
1035
1076
  }
1036
1077
  ));
1037
1078
  }, [
@@ -1046,6 +1087,7 @@ var TimeSeriesChartWrapper = (props) => {
1046
1087
  seriesOverrides,
1047
1088
  legend,
1048
1089
  legendLabels,
1090
+ legendTruncation,
1049
1091
  scaleConfig,
1050
1092
  onClick,
1051
1093
  handleChartClick,
@@ -1064,6 +1106,8 @@ var TimeSeriesChartWrapper = (props) => {
1064
1106
  showY2MinorGridLines,
1065
1107
  showLineSmoothing,
1066
1108
  dataValuesDisplay,
1109
+ showXMajorTicks,
1110
+ xAxisMajorTickSizeNum,
1067
1111
  showYMajorTicks,
1068
1112
  showY2MajorTicks,
1069
1113
  yAxisMajorTickSizeNum,
@@ -1076,7 +1120,11 @@ var TimeSeriesChartWrapper = (props) => {
1076
1120
  y2AxisMinorTickSizeNum,
1077
1121
  showYAxisWithZero,
1078
1122
  showY2AxisWithZero,
1079
- legendMode
1123
+ showXAxisLine,
1124
+ showYAxisLine,
1125
+ showY2AxisLine,
1126
+ legendMode,
1127
+ xAxisMaxLabelParts
1080
1128
  ]);
1081
1129
  const memoizedVisualization = (0, react_exports.useMemo)(() => {
1082
1130
  return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);