@splunk/visualizations 28.5.3 → 28.7.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/Area/Area.d.ts.map +1 -1
- package/Area/areaUtils.d.ts +1 -1
- package/Area/areaUtils.d.ts.map +1 -1
- package/Area/config.d.ts.map +1 -1
- package/Area.config.js +93 -25
- package/Area.config.js.map +3 -3
- package/Area.js +708 -319
- package/Area.js.map +4 -4
- package/Bar/Bar.d.ts.map +1 -1
- package/Bar.config.js +81 -24
- package/Bar.config.js.map +3 -3
- package/Bar.js +528 -297
- package/Bar.js.map +4 -4
- package/Bubble.config.js +80 -23
- package/Bubble.config.js.map +2 -2
- package/Bubble.js +375 -208
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +75 -60
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts +1 -0
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +12 -25
- package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts +11 -4
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
- package/ChoroplethSvg.js +1133 -253
- package/ChoroplethSvg.js.map +4 -4
- package/Column/Column.d.ts.map +1 -1
- package/Column.config.js +81 -24
- package/Column.config.js.map +3 -3
- package/Column.js +531 -300
- package/Column.js.map +4 -4
- package/Ellipse.config.js +1 -1
- package/Ellipse.config.js.map +2 -2
- package/Ellipse.js +277 -161
- package/Ellipse.js.map +4 -4
- package/Events/PureEvents/FieldSummaryTooltip.d.ts +8 -31
- package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -1
- package/Events/PureEvents/PureEvents.d.ts.map +1 -1
- package/Events/PureEvents/TimeControlsPopover.d.ts +6 -25
- package/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -1
- package/Events/config.d.ts.map +1 -1
- package/Events.config.js +13 -3
- package/Events.config.js.map +2 -2
- package/Events.js +355 -293
- package/Events.js.map +4 -4
- package/FillerGauge/FillerGauge.d.ts.map +1 -1
- package/FillerGauge/config.d.ts.map +1 -1
- package/FillerGauge.config.js +76 -24
- package/FillerGauge.config.js.map +2 -2
- package/FillerGauge.js +512 -271
- package/FillerGauge.js.map +4 -4
- package/Image/config.d.ts.map +1 -1
- package/Image.config.js +7 -0
- package/Image.config.js.map +2 -2
- package/Image.js +282 -149
- package/Image.js.map +4 -4
- package/LICENSE +13 -0
- package/Line/Line.d.ts.map +1 -1
- package/Line/config.d.ts.map +1 -1
- package/Line/lineUtils.d.ts.map +1 -1
- package/Line/mockdata/LineData.d.ts +21 -0
- package/Line/mockdata/LineData.d.ts.map +1 -1
- package/Line.config.js +86 -25
- package/Line.config.js.map +3 -3
- package/Line.js +638 -382
- package/Line.js.map +4 -4
- package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +47 -73
- package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +11 -2
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/components/Graph.d.ts +5 -5
- package/LinkGraph/PureLinkGraph/components/Node.d.ts +2 -2
- package/LinkGraph/PureLinkGraph/components/Nodes.d.ts +2 -2
- package/LinkGraph.js +886 -759
- package/LinkGraph.js.map +4 -4
- package/Map/Map.d.ts +1 -0
- package/Map/Map.d.ts.map +1 -1
- package/Map/PureMap/BubbleLayer.d.ts +22 -4
- package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
- package/Map/PureMap/ChoroplethLayer.d.ts +9 -1
- package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -1
- package/Map/PureMap/ClusterLayer.d.ts +3 -1
- package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
- package/Map/PureMap/LocalChoroplethLayer.d.ts +1 -0
- package/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -1
- package/Map/PureMap/MapContext.d.ts +13 -0
- package/Map/PureMap/MapContext.d.ts.map +1 -0
- package/Map/PureMap/MarkerLayer.d.ts +19 -2
- package/Map/PureMap/MarkerLayer.d.ts.map +1 -1
- package/Map/PureMap/MarkerWrapper.d.ts +3 -2
- package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
- package/Map/PureMap/PureMap.d.ts +1 -0
- package/Map/PureMap/PureMap.d.ts.map +1 -1
- package/Map/PureMap/PureMapContainer.d.ts.map +1 -1
- package/Map/PureMap/Tooltip.d.ts +6 -1
- package/Map/PureMap/Tooltip.d.ts.map +1 -1
- package/Map/PureMap/keyboardConstants.d.ts +11 -0
- package/Map/PureMap/keyboardConstants.d.ts.map +1 -0
- package/Map/PureMap/useRovingTabindex.d.ts +18 -0
- package/Map/PureMap/useRovingTabindex.d.ts.map +1 -0
- package/Map/config.d.ts.map +1 -1
- package/Map.config.js +4 -1
- package/Map.config.js.map +2 -2
- package/Map.js +1594 -628
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts.map +1 -1
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +304 -161
- package/Markdown.js.map +4 -4
- package/MarkerGauge/MarkerGauge.d.ts +1 -47
- package/MarkerGauge/MarkerGauge.d.ts.map +1 -1
- package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +22 -68
- package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -1
- package/MarkerGauge/config.d.ts.map +1 -1
- package/MarkerGauge.config.js +75 -23
- package/MarkerGauge.config.js.map +2 -2
- package/MarkerGauge.js +560 -375
- package/MarkerGauge.js.map +4 -4
- package/NetworkGraph/NetworkGraph.d.ts +2 -5
- package/NetworkGraph/NetworkGraph.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +1 -0
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +1 -0
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts +1 -1
- package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts +1 -0
- package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +23 -0
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
- package/NetworkGraph.config.js +2 -0
- package/NetworkGraph.config.js.map +2 -2
- package/NetworkGraph.js +895 -455
- package/NetworkGraph.js.map +4 -4
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +288 -172
- package/ParallelCoordinates.js.map +4 -4
- package/Pie/Pie.d.ts.map +1 -1
- package/Pie/pieUtils.d.ts +2 -2
- package/Pie.config.js +74 -22
- package/Pie.config.js.map +2 -2
- package/Pie.js +522 -296
- package/Pie.js.map +4 -4
- package/ProcessTree/ProcessTree.d.ts +23 -0
- package/ProcessTree/ProcessTree.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +33 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts +8 -0
- package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +46 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts +20 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts +20 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +46 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts +23 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/mockdata/data.d.ts +235 -0
- package/ProcessTree/PureProcessTree/mockdata/data.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +9 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts +36 -0
- package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +82 -0
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -0
- package/ProcessTree/config.d.ts +4 -0
- package/ProcessTree/config.d.ts.map +1 -0
- package/ProcessTree/index.d.ts +3 -0
- package/ProcessTree/index.d.ts.map +1 -0
- package/ProcessTree.config.js +192 -0
- package/ProcessTree.config.js.map +7 -0
- package/ProcessTree.js +5128 -0
- package/ProcessTree.js.map +7 -0
- package/Punchcard/Punchcard.d.ts +1 -5
- package/Punchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/Punchcard.d.ts +28 -32
- package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +7 -12
- package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +14 -19
- package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +22 -27
- package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +3 -8
- package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +9 -14
- package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -1
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +444 -631
- package/Punchcard.js.map +4 -4
- package/README.md +2 -0
- package/Rectangle.config.js +1 -1
- package/Rectangle.config.js.map +2 -2
- package/Rectangle.js +289 -173
- package/Rectangle.js.map +4 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts +20 -0
- package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts +17 -0
- package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/FontSelector.d.ts +15 -0
- package/RichText/PureRichText/Editor/FontSelector.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/FormatButton.d.ts +23 -0
- package/RichText/PureRichText/Editor/FormatButton.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/editorPanelUtils.d.ts +19 -0
- package/RichText/PureRichText/Editor/editorPanelUtils.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts +11 -0
- package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts +26 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/index.d.ts +9 -0
- package/RichText/PureRichText/Editor/index.d.ts.map +1 -0
- package/RichText/PureRichText/InnerEditor.d.ts +41 -0
- package/RichText/PureRichText/InnerEditor.d.ts.map +1 -0
- package/RichText/PureRichText/PureRichText.d.ts +19 -0
- package/RichText/PureRichText/PureRichText.d.ts.map +1 -0
- package/RichText/PureRichText/PureRichTextContext.d.ts +64 -0
- package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -0
- package/RichText/PureRichText/RichTextStyles.d.ts +25 -0
- package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -0
- package/RichText/PureRichText/activeInstance.d.ts +23 -0
- package/RichText/PureRichText/activeInstance.d.ts.map +1 -0
- package/RichText/PureRichText/config.d.ts +17 -0
- package/RichText/PureRichText/config.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/index.d.ts +12 -0
- package/RichText/PureRichText/hooks/index.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useContentSave.d.ts +25 -0
- package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useContentSync.d.ts +28 -0
- package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +33 -0
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useEditModeEffect.d.ts +10 -0
- package/RichText/PureRichText/hooks/useEditModeEffect.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts +36 -0
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +33 -0
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +35 -0
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts +18 -0
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +24 -0
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useRichTextState.d.ts +38 -0
- package/RichText/PureRichText/hooks/useRichTextState.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts +17 -0
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +18 -0
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useTokenMap.d.ts +45 -0
- package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -0
- package/RichText/PureRichText/index.d.ts +16 -0
- package/RichText/PureRichText/index.d.ts.map +1 -0
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts +8 -0
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -0
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts +8 -0
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -0
- package/RichText/PureRichText/types.d.ts +111 -0
- package/RichText/PureRichText/types.d.ts.map +1 -0
- package/RichText/PureRichText/utils/a11yUtils.d.ts +9 -0
- package/RichText/PureRichText/utils/a11yUtils.d.ts.map +1 -0
- package/RichText/PureRichText/utils/fontSize.d.ts +6 -0
- package/RichText/PureRichText/utils/fontSize.d.ts.map +1 -0
- package/RichText/PureRichText/utils/slateUtils.d.ts +99 -0
- package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -0
- package/RichText/RichText.d.ts +17 -0
- package/RichText/RichText.d.ts.map +1 -0
- package/RichText/config.d.ts +4 -0
- package/RichText/config.d.ts.map +1 -0
- package/RichText/index.d.ts +7 -0
- package/RichText/index.d.ts.map +1 -0
- package/RichText.config.js +268 -0
- package/RichText.config.js.map +7 -0
- package/RichText.js +7674 -0
- package/RichText.js.map +7 -0
- package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyNode.d.ts +10 -3
- package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyUtils.d.ts +10 -0
- package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +562 -290
- package/Sankey.js.map +4 -4
- package/Scatter/Scatter.d.ts.map +1 -1
- package/Scatter.config.js +81 -24
- package/Scatter.config.js.map +3 -3
- package/Scatter.js +528 -297
- package/Scatter.js.map +4 -4
- package/SingleValue/SingleValue.d.ts.map +1 -1
- package/SingleValue/config.d.ts.map +1 -1
- package/SingleValue.config.js +76 -24
- package/SingleValue.config.js.map +2 -2
- package/SingleValue.js +896 -779
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
- package/SingleValueIcon/config.d.ts.map +1 -1
- package/SingleValueIcon.config.js +76 -24
- package/SingleValueIcon.config.js.map +2 -2
- package/SingleValueIcon.js +512 -287
- package/SingleValueIcon.js.map +4 -4
- package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
- package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -1
- package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -1
- package/SingleValueRadial/config.d.ts.map +1 -1
- package/SingleValueRadial.config.js +76 -24
- package/SingleValueRadial.config.js.map +2 -2
- package/SingleValueRadial.js +543 -326
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine/SparkLine.d.ts +57 -0
- package/SparkLine/SparkLine.d.ts.map +1 -0
- package/SparkLine/index.d.ts +1 -1
- package/SparkLine/index.d.ts.map +1 -1
- package/SparkLine.js +384 -485
- package/SparkLine.js.map +4 -4
- package/TRELLIS.md +48 -0
- package/Table/PureTable.d.ts +1 -0
- package/Table/PureTable.d.ts.map +1 -1
- package/Table/Table.d.ts.map +1 -1
- package/Table/cells/ArrayCell.d.ts.map +1 -1
- package/Table/config.d.ts.map +1 -1
- package/Table/hooks.d.ts +1 -1
- package/Table/hooks.d.ts.map +1 -1
- package/Table/tableUtils.d.ts +14 -0
- package/Table/tableUtils.d.ts.map +1 -0
- package/Table.config.js +4 -10
- package/Table.config.js.map +2 -2
- package/Table.js +1158 -846
- package/Table.js.map +4 -4
- package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +5 -0
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
- package/Timeline/Timeline.d.ts +2 -0
- package/Timeline/Timeline.d.ts.map +1 -1
- package/Timeline/config.d.ts.map +1 -1
- package/Timeline/mockdata/timelineDataSource.d.ts +34 -0
- package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -1
- package/Timeline.config.js +15 -0
- package/Timeline.config.js.map +2 -2
- package/Timeline.js +348 -186
- package/Timeline.js.map +4 -4
- package/common/Charting.d.ts.map +1 -1
- package/common/Charting.js +50 -28
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.d.ts +1 -1
- package/common/ChartingApi.d.ts.map +1 -1
- package/common/ChartingApi.js.map +2 -2
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.d.ts +1 -1
- package/common/SplunkVisualization.d.ts.map +1 -1
- package/common/SplunkVisualization.js +6 -4
- package/common/SplunkVisualization.js.map +2 -2
- package/common/StyledSkipLink.d.ts +2 -0
- package/common/StyledSkipLink.d.ts.map +1 -0
- package/common/StyledSkipLink.js +81 -0
- package/common/StyledSkipLink.js.map +7 -0
- package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
- package/common/TimeSeriesChartWrapper.js +228 -107
- package/common/TimeSeriesChartWrapper.js.map +4 -4
- package/common/chartingUtils.d.ts +32 -6
- package/common/chartingUtils.d.ts.map +1 -1
- package/common/chartingUtils.js +166 -39
- package/common/chartingUtils.js.map +4 -4
- package/common/components/TrellisTitle.d.ts.map +1 -1
- package/common/docUtils.js +1 -1
- package/common/docUtils.js.map +2 -2
- package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
- package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -1
- package/common/editorConfig/BackgroundColor.d.ts +2 -2
- package/common/editorConfig/TrellisEditors.d.ts +33 -5
- package/common/editorConfig/TrellisEditors.d.ts.map +1 -1
- package/common/hocs/mockdata/trellisData.d.ts +54 -0
- package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
- package/common/hocs/withTrellis.d.ts +9 -0
- package/common/hocs/withTrellis.d.ts.map +1 -1
- package/common/hooks/useSorting.d.ts +2 -2
- package/common/hooks/useSorting.d.ts.map +1 -1
- package/common/shapeUtils.d.ts +1 -1
- package/common/shapeUtils.d.ts.map +1 -1
- package/common/shapeUtils.js.map +2 -2
- package/common/utils/dataUtils.js +2 -1
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/focusUtils.d.ts +4 -0
- package/common/utils/focusUtils.d.ts.map +1 -0
- package/common/utils/focusUtils.js +101 -0
- package/common/utils/focusUtils.js.map +7 -0
- package/common/utils/mapUtils.js +513 -184
- package/common/utils/mapUtils.js.map +4 -4
- package/common/utils/shadowDomUtils.d.ts +2 -0
- package/common/utils/shadowDomUtils.d.ts.map +1 -0
- package/common/utils/shadowDomUtils.js +39 -0
- package/common/utils/shadowDomUtils.js.map +7 -0
- package/common/utils/singleValueUtils.js +14 -26
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/trellisUtils.d.ts.map +1 -1
- package/common/utils/trellisUtils.js +76 -70
- package/common/utils/trellisUtils.js.map +2 -2
- package/common/withDashboardViz.d.ts.map +1 -1
- package/common/withDashboardViz.js +276 -151
- package/common/withDashboardViz.js.map +4 -4
- package/docs-llm/INDEX.md +118 -0
- package/docs-llm/area/examples-json.md +3854 -0
- package/docs-llm/area/examples-react.md +2816 -0
- package/docs-llm/area/options.md +97 -0
- package/docs-llm/area/overview.md +27 -0
- package/docs-llm/bar/examples-json.md +3380 -0
- package/docs-llm/bar/examples-react.md +2352 -0
- package/docs-llm/bar/options.md +89 -0
- package/docs-llm/bar/overview.md +25 -0
- package/docs-llm/bubble/examples-json.md +4082 -0
- package/docs-llm/bubble/examples-react.md +3977 -0
- package/docs-llm/bubble/options.md +62 -0
- package/docs-llm/bubble/overview.md +26 -0
- package/docs-llm/choropleth-svg/examples-json.md +397 -0
- package/docs-llm/choropleth-svg/examples-react.md +389 -0
- package/docs-llm/choropleth-svg/options.md +15 -0
- package/docs-llm/choropleth-svg/overview.md +23 -0
- package/docs-llm/column/examples-json.md +3898 -0
- package/docs-llm/column/examples-react.md +2653 -0
- package/docs-llm/column/options.md +94 -0
- package/docs-llm/column/overview.md +31 -0
- package/docs-llm/dsl/examples-json.md +43 -0
- package/docs-llm/dsl/examples-react.md +78 -0
- package/docs-llm/dsl/formatters/format-by-type-examples-json.md +58 -0
- package/docs-llm/dsl/formatters/format-by-type-examples-react.md +43 -0
- package/docs-llm/dsl/formatters/format-by-type.md +38 -0
- package/docs-llm/dsl/formatters/frame-examples-json.md +42 -0
- package/docs-llm/dsl/formatters/frame-examples-react.md +24 -0
- package/docs-llm/dsl/formatters/frame.md +6 -0
- package/docs-llm/dsl/formatters/gradient-examples-json.md +98 -0
- package/docs-llm/dsl/formatters/gradient-examples-react.md +44 -0
- package/docs-llm/dsl/formatters/gradient.md +23 -0
- package/docs-llm/dsl/formatters/lerp-examples-json.md +40 -0
- package/docs-llm/dsl/formatters/lerp-examples-react.md +28 -0
- package/docs-llm/dsl/formatters/lerp.md +19 -0
- package/docs-llm/dsl/formatters/match-value-examples-json.md +65 -0
- package/docs-llm/dsl/formatters/match-value-examples-react.md +37 -0
- package/docs-llm/dsl/formatters/match-value.md +13 -0
- package/docs-llm/dsl/formatters/max-contrast-examples-json.md +39 -0
- package/docs-llm/dsl/formatters/max-contrast-examples-react.md +27 -0
- package/docs-llm/dsl/formatters/max-contrast.md +9 -0
- package/docs-llm/dsl/formatters/multi-format-examples-json.md +67 -0
- package/docs-llm/dsl/formatters/multi-format-examples-react.md +49 -0
- package/docs-llm/dsl/formatters/multi-format.md +12 -0
- package/docs-llm/dsl/formatters/objects-examples-json.md +49 -0
- package/docs-llm/dsl/formatters/objects-examples-react.md +37 -0
- package/docs-llm/dsl/formatters/objects.md +3 -0
- package/docs-llm/dsl/formatters/pick-examples-json.md +59 -0
- package/docs-llm/dsl/formatters/pick-examples-react.md +30 -0
- package/docs-llm/dsl/formatters/pick.md +9 -0
- package/docs-llm/dsl/formatters/prefix-examples-json.md +29 -0
- package/docs-llm/dsl/formatters/prefix-examples-react.md +19 -0
- package/docs-llm/dsl/formatters/prefix.md +3 -0
- package/docs-llm/dsl/formatters/prepend-examples-json.md +51 -0
- package/docs-llm/dsl/formatters/prepend-examples-react.md +33 -0
- package/docs-llm/dsl/formatters/prepend.md +9 -0
- package/docs-llm/dsl/formatters/range-value-examples-json.md +48 -0
- package/docs-llm/dsl/formatters/range-value-examples-react.md +34 -0
- package/docs-llm/dsl/formatters/range-value.md +15 -0
- package/docs-llm/dsl/formatters/set-color-channel-examples-json.md +40 -0
- package/docs-llm/dsl/formatters/set-color-channel-examples-react.md +31 -0
- package/docs-llm/dsl/formatters/set-color-channel.md +9 -0
- package/docs-llm/dsl/formatters/suffix-examples-json.md +29 -0
- package/docs-llm/dsl/formatters/suffix-examples-react.md +19 -0
- package/docs-llm/dsl/formatters/suffix.md +3 -0
- package/docs-llm/dsl/formatters/type-examples-json.md +37 -0
- package/docs-llm/dsl/formatters/type-examples-react.md +20 -0
- package/docs-llm/dsl/formatters/type.md +3 -0
- package/docs-llm/dsl/overview.md +41 -0
- package/docs-llm/dsl/selectors/abs.md +7 -0
- package/docs-llm/dsl/selectors/ceil.md +7 -0
- package/docs-llm/dsl/selectors/data-frame-average-examples-json.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-average-examples-react.md +36 -0
- package/docs-llm/dsl/selectors/data-frame-average.md +7 -0
- package/docs-llm/dsl/selectors/data-frame-count-examples-json.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-count-examples-react.md +36 -0
- package/docs-llm/dsl/selectors/data-frame-count.md +7 -0
- package/docs-llm/dsl/selectors/data-frame-examples-json.md +830 -0
- package/docs-llm/dsl/selectors/data-frame-examples-react.md +929 -0
- package/docs-llm/dsl/selectors/data-frame-get-field-examples-json.md +89 -0
- package/docs-llm/dsl/selectors/data-frame-get-field-examples-react.md +124 -0
- package/docs-llm/dsl/selectors/data-frame-get-field.md +5 -0
- package/docs-llm/dsl/selectors/data-frame-get-raw-value.md +5 -0
- package/docs-llm/dsl/selectors/data-frame-get-type.md +5 -0
- package/docs-llm/dsl/selectors/data-frame-get-value.md +5 -0
- package/docs-llm/dsl/selectors/data-frame-max-examples-json.md +51 -0
- package/docs-llm/dsl/selectors/data-frame-max-examples-react.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-max.md +7 -0
- package/docs-llm/dsl/selectors/data-frame-min-examples-json.md +51 -0
- package/docs-llm/dsl/selectors/data-frame-min-examples-react.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-min.md +7 -0
- package/docs-llm/dsl/selectors/data-frame-percentile-examples-json.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-percentile-examples-react.md +36 -0
- package/docs-llm/dsl/selectors/data-frame-percentile.md +8 -0
- package/docs-llm/dsl/selectors/data-frame-set-value.md +5 -0
- package/docs-llm/dsl/selectors/data-frame-sum-examples-json.md +51 -0
- package/docs-llm/dsl/selectors/data-frame-sum-examples-react.md +41 -0
- package/docs-llm/dsl/selectors/data-frame-sum.md +7 -0
- package/docs-llm/dsl/selectors/data-frame.md +4 -0
- package/docs-llm/dsl/selectors/data-point-get-field.md +5 -0
- package/docs-llm/dsl/selectors/data-point-get-raw-value.md +4 -0
- package/docs-llm/dsl/selectors/data-point-get-type.md +5 -0
- package/docs-llm/dsl/selectors/data-point-get-value.md +5 -0
- package/docs-llm/dsl/selectors/data-point-set-value.md +4 -0
- package/docs-llm/dsl/selectors/data-point.md +5 -0
- package/docs-llm/dsl/selectors/data-series-average.md +22 -0
- package/docs-llm/dsl/selectors/data-series-count.md +14 -0
- package/docs-llm/dsl/selectors/data-series-get-field.md +5 -0
- package/docs-llm/dsl/selectors/data-series-get-raw-value.md +4 -0
- package/docs-llm/dsl/selectors/data-series-get-type.md +5 -0
- package/docs-llm/dsl/selectors/data-series-get-value.md +4 -0
- package/docs-llm/dsl/selectors/data-series-max.md +5 -0
- package/docs-llm/dsl/selectors/data-series-min.md +5 -0
- package/docs-llm/dsl/selectors/data-series-percentile.md +17 -0
- package/docs-llm/dsl/selectors/data-series-set-value.md +4 -0
- package/docs-llm/dsl/selectors/data-series-sum.md +24 -0
- package/docs-llm/dsl/selectors/data-series.md +4 -0
- package/docs-llm/dsl/selectors/delta.md +7 -0
- package/docs-llm/dsl/selectors/divide.md +8 -0
- package/docs-llm/dsl/selectors/first-point.md +5 -0
- package/docs-llm/dsl/selectors/floor.md +7 -0
- package/docs-llm/dsl/selectors/frame-by-series-index-range-examples-json.md +89 -0
- package/docs-llm/dsl/selectors/frame-by-series-index-range-examples-react.md +88 -0
- package/docs-llm/dsl/selectors/frame-by-series-index-range.md +10 -0
- package/docs-llm/dsl/selectors/frame-by-series-indexes-examples-json.md +88 -0
- package/docs-llm/dsl/selectors/frame-by-series-indexes-examples-react.md +87 -0
- package/docs-llm/dsl/selectors/frame-by-series-indexes.md +9 -0
- package/docs-llm/dsl/selectors/frame-by-series-names-examples-json.md +89 -0
- package/docs-llm/dsl/selectors/frame-by-series-names-examples-react.md +88 -0
- package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes-examples-json.md +89 -0
- package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes-examples-react.md +88 -0
- package/docs-llm/dsl/selectors/frame-by-series-names-or-indexes.md +9 -0
- package/docs-llm/dsl/selectors/frame-by-series-names.md +9 -0
- package/docs-llm/dsl/selectors/frame-by-series-types-examples-json.md +89 -0
- package/docs-llm/dsl/selectors/frame-by-series-types-examples-react.md +88 -0
- package/docs-llm/dsl/selectors/frame-by-series-types.md +9 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields-examples-json.md +137 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields-examples-react.md +135 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields-except-examples-json.md +157 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields-except-examples-react.md +155 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields-except.md +21 -0
- package/docs-llm/dsl/selectors/frame-without-internal-fields.md +17 -0
- package/docs-llm/dsl/selectors/frame-without-series-names.md +8 -0
- package/docs-llm/dsl/selectors/last-point.md +5 -0
- package/docs-llm/dsl/selectors/minus.md +8 -0
- package/docs-llm/dsl/selectors/multiply.md +8 -0
- package/docs-llm/dsl/selectors/plus.md +8 -0
- package/docs-llm/dsl/selectors/point-by-index.md +6 -0
- package/docs-llm/dsl/selectors/points-by-indexes.md +6 -0
- package/docs-llm/dsl/selectors/round.md +7 -0
- package/docs-llm/dsl/selectors/series-by-index-examples-json.md +49 -0
- package/docs-llm/dsl/selectors/series-by-index-examples-react.md +39 -0
- package/docs-llm/dsl/selectors/series-by-index.md +8 -0
- package/docs-llm/dsl/selectors/series-by-name-examples-json.md +49 -0
- package/docs-llm/dsl/selectors/series-by-name-examples-react.md +39 -0
- package/docs-llm/dsl/selectors/series-by-name.md +8 -0
- package/docs-llm/dsl/selectors/series-by-prioritized-types-examples-json.md +47 -0
- package/docs-llm/dsl/selectors/series-by-prioritized-types-examples-react.md +39 -0
- package/docs-llm/dsl/selectors/series-by-prioritized-types.md +10 -0
- package/docs-llm/dsl/selectors/series-by-type-examples-json.md +49 -0
- package/docs-llm/dsl/selectors/series-by-type-examples-react.md +39 -0
- package/docs-llm/dsl/selectors/series-by-type.md +10 -0
- package/docs-llm/dsl/selectors/series-by-types.md +6 -0
- package/docs-llm/ellipse/examples-json.md +5 -0
- package/docs-llm/ellipse/examples-react.md +5 -0
- package/docs-llm/ellipse/options.md +16 -0
- package/docs-llm/ellipse/overview.md +5 -0
- package/docs-llm/events/examples-json.md +705 -0
- package/docs-llm/events/examples-react.md +536 -0
- package/docs-llm/events/options.md +18 -0
- package/docs-llm/events/overview.md +5 -0
- package/docs-llm/filler-gauge/examples-json.md +376 -0
- package/docs-llm/filler-gauge/examples-react.md +274 -0
- package/docs-llm/filler-gauge/options.md +26 -0
- package/docs-llm/filler-gauge/overview.md +5 -0
- package/docs-llm/image/examples-json.md +39 -0
- package/docs-llm/image/examples-react.md +65 -0
- package/docs-llm/image/options.md +13 -0
- package/docs-llm/image/overview.md +5 -0
- package/docs-llm/line/examples-json.md +3724 -0
- package/docs-llm/line/examples-react.md +2683 -0
- package/docs-llm/line/options.md +95 -0
- package/docs-llm/line/overview.md +29 -0
- package/docs-llm/link-graph/examples-json.md +5 -0
- package/docs-llm/link-graph/examples-react.md +5 -0
- package/docs-llm/link-graph/options.md +26 -0
- package/docs-llm/link-graph/overview.md +16 -0
- package/docs-llm/map/examples-json.md +13973 -0
- package/docs-llm/map/examples-react.md +6154 -0
- package/docs-llm/map/options.md +22 -0
- package/docs-llm/map/overview.md +32 -0
- package/docs-llm/markdown/examples-json.md +63 -0
- package/docs-llm/markdown/examples-react.md +98 -0
- package/docs-llm/markdown/options.md +17 -0
- package/docs-llm/markdown/overview.md +5 -0
- package/docs-llm/marker-gauge/examples-json.md +436 -0
- package/docs-llm/marker-gauge/examples-react.md +367 -0
- package/docs-llm/marker-gauge/options.md +26 -0
- package/docs-llm/marker-gauge/overview.md +5 -0
- package/docs-llm/network-graph/examples-json.md +8843 -0
- package/docs-llm/network-graph/examples-react.md +7339 -0
- package/docs-llm/network-graph/options.md +50 -0
- package/docs-llm/network-graph/overview.md +28 -0
- package/docs-llm/parallel-coordinates/examples-json.md +8376 -0
- package/docs-llm/parallel-coordinates/examples-react.md +2771 -0
- package/docs-llm/parallel-coordinates/options.md +14 -0
- package/docs-llm/parallel-coordinates/overview.md +22 -0
- package/docs-llm/pie/examples-json.md +851 -0
- package/docs-llm/pie/examples-react.md +606 -0
- package/docs-llm/pie/options.md +34 -0
- package/docs-llm/pie/overview.md +23 -0
- package/docs-llm/process-tree/options.md +32 -0
- package/docs-llm/punchcard/examples-json.md +6134 -0
- package/docs-llm/punchcard/examples-react.md +4562 -0
- package/docs-llm/punchcard/options.md +33 -0
- package/docs-llm/punchcard/overview.md +5 -0
- package/docs-llm/pure-rich-text/options.md +28 -0
- package/docs-llm/rectangle/examples-json.md +5 -0
- package/docs-llm/rectangle/examples-react.md +5 -0
- package/docs-llm/rectangle/options.md +19 -0
- package/docs-llm/rectangle/overview.md +5 -0
- package/docs-llm/rich-text/examples-json.md +96 -0
- package/docs-llm/rich-text/examples-react.md +119 -0
- package/docs-llm/rich-text/options.md +28 -0
- package/docs-llm/rich-text/overview.md +5 -0
- package/docs-llm/sankey/examples-json.md +844 -0
- package/docs-llm/sankey/examples-react.md +546 -0
- package/docs-llm/sankey/options.md +19 -0
- package/docs-llm/sankey/overview.md +24 -0
- package/docs-llm/scatter/examples-json.md +4012 -0
- package/docs-llm/scatter/examples-react.md +3914 -0
- package/docs-llm/scatter/options.md +68 -0
- package/docs-llm/scatter/overview.md +25 -0
- package/docs-llm/single-value/examples-json.md +2613 -0
- package/docs-llm/single-value/examples-react.md +2296 -0
- package/docs-llm/single-value/options.md +49 -0
- package/docs-llm/single-value/overview.md +23 -0
- package/docs-llm/single-value-icon/examples-json.md +1686 -0
- package/docs-llm/single-value-icon/examples-react.md +1573 -0
- package/docs-llm/single-value-icon/options.md +43 -0
- package/docs-llm/single-value-icon/overview.md +5 -0
- package/docs-llm/single-value-radial/examples-json.md +1178 -0
- package/docs-llm/single-value-radial/examples-react.md +1028 -0
- package/docs-llm/single-value-radial/options.md +41 -0
- package/docs-llm/single-value-radial/overview.md +5 -0
- package/docs-llm/table/examples-json.md +5 -0
- package/docs-llm/table/examples-react.md +5 -0
- package/docs-llm/table/options.md +25 -0
- package/docs-llm/table/overview.md +24 -0
- package/docs-llm/timeline/examples-json.md +5 -0
- package/docs-llm/timeline/examples-react.md +5 -0
- package/docs-llm/timeline/options.md +27 -0
- package/docs-llm/timeline/overview.md +24 -0
- package/package.json +39 -30
- package/LICENSE.md +0 -449
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Prepend Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {
|
|
8
|
+
"staticUser": "All users",
|
|
9
|
+
"staticId": "*",
|
|
10
|
+
"additionalUsers": [
|
|
11
|
+
"Andrew",
|
|
12
|
+
"Chanelle"
|
|
13
|
+
],
|
|
14
|
+
"idsAsNumbers": [
|
|
15
|
+
1,
|
|
16
|
+
2
|
|
17
|
+
],
|
|
18
|
+
"users": "> primary | seriesByName(\"users\") | prepend(staticUser)",
|
|
19
|
+
"ids": "> primary | seriesByName(\"ids\") | prepend(staticId)",
|
|
20
|
+
"pathologicalIds": "> primary | seriesByName(\"idsAsNumbers\") | prepend(staticId)"
|
|
21
|
+
},
|
|
22
|
+
"options": {
|
|
23
|
+
"consolidatedUsers": "> primary | seriesByName(\"users\") | prepend(additionalUsers)",
|
|
24
|
+
"prependingFrames": "> primary | prepend(primary)"
|
|
25
|
+
},
|
|
26
|
+
"dataSources": {
|
|
27
|
+
"primary": {
|
|
28
|
+
"data": {
|
|
29
|
+
"columns": [
|
|
30
|
+
[
|
|
31
|
+
"Maurine",
|
|
32
|
+
"Jennings"
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"1",
|
|
36
|
+
"2"
|
|
37
|
+
]
|
|
38
|
+
],
|
|
39
|
+
"fields": [
|
|
40
|
+
{
|
|
41
|
+
"name": "users"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "ids"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Prepend Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SampleViz
|
|
7
|
+
context={{
|
|
8
|
+
staticUser: 'All users',
|
|
9
|
+
staticId: '*',
|
|
10
|
+
additionalUsers: ['Andrew', 'Chanelle'],
|
|
11
|
+
idsAsNumbers: [1, 2],
|
|
12
|
+
users: '> primary | seriesByName("users") | prepend(staticUser)', // returns ['All users', 'Maurine', 'Jennings']
|
|
13
|
+
ids: '> primary | seriesByName("ids") | prepend(staticId)' // returns ['*', '1', '2', '3']
|
|
14
|
+
pathologicalIds: '> primary | seriesByName("idsAsNumbers") | prepend(staticId)' // throws an error, since `staticId` is a string, while the pre-existing series is composed of numbers
|
|
15
|
+
}}
|
|
16
|
+
options={{
|
|
17
|
+
consolidatedUsers: '> primary | seriesByName("users") | prepend(additionalUsers)', // returns ['Andrew', 'Chanelle', 'Maurine', 'Jennings']
|
|
18
|
+
// returns {
|
|
19
|
+
// columns: [['Maurine', 'Jennings', 'Maurine', 'Jennings'], ['1', '2', '1', '2']]
|
|
20
|
+
// fields: [{ name: 'users' }, { name: 'ids' }]
|
|
21
|
+
// }
|
|
22
|
+
prependingFrames: '> primary | prepend(primary)'
|
|
23
|
+
}}
|
|
24
|
+
dataSources={{
|
|
25
|
+
primary: {
|
|
26
|
+
data: {
|
|
27
|
+
columns: [['Maurine', 'Jennings'], ['1', '2']],
|
|
28
|
+
fields: [{ name: 'users' }, { name: 'ids' }]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}}
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Prepend Formatter
|
|
2
|
+
|
|
3
|
+
Formatter that prepends a DataFrame, DataSeries, or DataPoint to a pre-existing DataFrame or DataSeries with compatible types.
|
|
4
|
+
|
|
5
|
+
If prepending a DataFrame to another DataFrame, the DataFrames must have the same number of DataSeries.
|
|
6
|
+
For example, a DataFrame with 3 series such as `[[1, 2], [3, 4], [5, 6]]` cannot be prepended to a DataFrame with 2 series such as `[[7, 8], [9, 10]]`.
|
|
7
|
+
|
|
8
|
+
Only the same DataPrimitive type or a DataPrimitive's composite DataPrimitives
|
|
9
|
+
(e.g. DataSeries or DataPoint for DataFrame, or a DataPoint for a DataSeries) can be prepended to the pre-existing DataPrimitive.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# RangeValue Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {
|
|
8
|
+
"colorThresholds": [
|
|
9
|
+
{
|
|
10
|
+
"from": 1321,
|
|
11
|
+
"value": "#00FFFF"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"to": 1321,
|
|
15
|
+
"value": "#FF00FF"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"options": {
|
|
20
|
+
"valueOption": "> primary | seriesByIndex(0) | lastPoint()",
|
|
21
|
+
"colorOption": "> deltaValue | rangeValue(colorThresholds)"
|
|
22
|
+
},
|
|
23
|
+
"dataSources": {
|
|
24
|
+
"primary": {
|
|
25
|
+
"data": {
|
|
26
|
+
"columns": [
|
|
27
|
+
[
|
|
28
|
+
"1",
|
|
29
|
+
"103"
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
"2018-08-19T00:00:00.000+00:00",
|
|
33
|
+
"2018-08-20T00:00:00.000+00:00"
|
|
34
|
+
]
|
|
35
|
+
],
|
|
36
|
+
"fields": [
|
|
37
|
+
{
|
|
38
|
+
"name": "foo"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "_time"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# RangeValue Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SampleViz
|
|
7
|
+
context={{
|
|
8
|
+
colorThresholds: [
|
|
9
|
+
{
|
|
10
|
+
from: 1321,
|
|
11
|
+
value: '#00FFFF',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
to: 1321,
|
|
15
|
+
value: '#FF00FF',
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
}}
|
|
19
|
+
options={{
|
|
20
|
+
valueOption: '> primary | seriesByIndex(0) | lastPoint()', // returns 103
|
|
21
|
+
colorOption: '> deltaValue | rangeValue(colorThresholds)', // returns '#FF00FF'
|
|
22
|
+
}}
|
|
23
|
+
dataSources={{
|
|
24
|
+
primary: {
|
|
25
|
+
data: {
|
|
26
|
+
columns: [
|
|
27
|
+
['1', '103'], ['2018-08-19T00:00:00.000+00:00', '2018-08-20T00:00:00.000+00:00'],
|
|
28
|
+
],
|
|
29
|
+
fields: [{ name: 'foo', }, { name: '_time' }],
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
}}
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# RangeValue Formatter
|
|
2
|
+
|
|
3
|
+
Formatter function that takes the list of ranges and a defaultValue (if no range is found)
|
|
4
|
+
and returns a function that takes a value and returns the range value if found, or the defaultValue if present.
|
|
5
|
+
|
|
6
|
+
If neither are present, it returns the original value.
|
|
7
|
+
|
|
8
|
+
The range fitting follows this criteria: `range.from <= value < range.to`
|
|
9
|
+
|
|
10
|
+
A range can be defined as either a closed bound range: `{ from: 10, to: 20, value: 'foo' }`
|
|
11
|
+
or an open bound range:
|
|
12
|
+
`{ to: 20, value: 'bar' }` (open lower bound)
|
|
13
|
+
`{ from: 100, value: 'oof' }` (open upper bound)
|
|
14
|
+
|
|
15
|
+
@extends AbstractFormatter<DataType, DataType>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# SetColorChannel Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {
|
|
8
|
+
"rowBGConfig": {
|
|
9
|
+
"channel": "hsl.l",
|
|
10
|
+
"value": "*0.2"
|
|
11
|
+
},
|
|
12
|
+
"headerBackgroundColor": {
|
|
13
|
+
"channel": "hsv.v",
|
|
14
|
+
"value": "*0.66"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"options": {
|
|
18
|
+
"backgroundColor": "orangered",
|
|
19
|
+
"rowBackgroundColor": "> backgroundColor | setColorChannel(rowBGConfig)",
|
|
20
|
+
"headerColor": "> backgroundColor | setColorChannel(headerColorConfig)"
|
|
21
|
+
},
|
|
22
|
+
"dataSources": {
|
|
23
|
+
"primary": {
|
|
24
|
+
"data": {
|
|
25
|
+
"fields": [
|
|
26
|
+
{
|
|
27
|
+
"name": "foo"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"columns": [
|
|
31
|
+
[
|
|
32
|
+
100,
|
|
33
|
+
200
|
|
34
|
+
]
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# SetColorChannel Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SampleViz
|
|
7
|
+
context={{
|
|
8
|
+
rowBGConfig: {
|
|
9
|
+
channel: 'hsl.l',
|
|
10
|
+
value: '*0.2'
|
|
11
|
+
},
|
|
12
|
+
headerBackgroundColor: {
|
|
13
|
+
channel: 'hsv.v',
|
|
14
|
+
value: '*0.66'
|
|
15
|
+
}
|
|
16
|
+
}}
|
|
17
|
+
options={{
|
|
18
|
+
backgroundColor: 'orangered',
|
|
19
|
+
rowBackgroundColor: '> backgroundColor | setColorChannel(rowBGConfig)', // #330e00
|
|
20
|
+
headerColor: '> backgroundColor | setColorChannel(headerColorConfig)', // #a82e00
|
|
21
|
+
}}
|
|
22
|
+
dataSources={{
|
|
23
|
+
primary: {
|
|
24
|
+
data: {
|
|
25
|
+
fields: [{ name: 'foo' }]
|
|
26
|
+
columns: [[100, 200]]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}}
|
|
30
|
+
/>
|
|
31
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# SetColorChannel Formatter
|
|
2
|
+
|
|
3
|
+
SetColorChannel can be used to modify a given color.
|
|
4
|
+
|
|
5
|
+
Leverages [Chromajs.set](https://gka.github.io/chroma.js/#color-set) to change the color
|
|
6
|
+
|
|
7
|
+
## Config Object
|
|
8
|
+
* **channel**: 'string' refers to channel of the color. For ex: 'hsl.l' or 'hsl.s' or 'rgb.b'
|
|
9
|
+
* **value**: 'string' or 'number'. Can be used to set absolute. For ex: setColorChannel({channel: 'hsl.h', value: 0}). Can be used as relative. For ex: setColorChannel({channel: 'lab.l', value: '*0.5'})
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Suffix Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {},
|
|
8
|
+
"options": {
|
|
9
|
+
"textOption": "> primary | seriesByName(\"foo\") | lastPoint() | suffix(\" %\")"
|
|
10
|
+
},
|
|
11
|
+
"dataSources": {
|
|
12
|
+
"primary": {
|
|
13
|
+
"data": {
|
|
14
|
+
"fields": [
|
|
15
|
+
{
|
|
16
|
+
"name": "foo"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"columns": [
|
|
20
|
+
[
|
|
21
|
+
100,
|
|
22
|
+
200
|
|
23
|
+
]
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Suffix Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SampleViz
|
|
7
|
+
options={{
|
|
8
|
+
textOption: '> primary | seriesByName("foo") | lastPoint() | suffix(" %")' // returns "100 %"
|
|
9
|
+
}}
|
|
10
|
+
dataSources={{
|
|
11
|
+
primary: {
|
|
12
|
+
data: {
|
|
13
|
+
fields: [{ name: 'foo' }]
|
|
14
|
+
columns: [[100, 200]]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
19
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Type Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {},
|
|
8
|
+
"options": {
|
|
9
|
+
"option1": "> primary | seriesByIndex(0) | type()",
|
|
10
|
+
"option2": "> primary | seriesByIndex(1) | type()"
|
|
11
|
+
},
|
|
12
|
+
"dataSources": {
|
|
13
|
+
"primary": {
|
|
14
|
+
"columns": [
|
|
15
|
+
[
|
|
16
|
+
100,
|
|
17
|
+
200,
|
|
18
|
+
300
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"string1",
|
|
22
|
+
"string2",
|
|
23
|
+
"string3"
|
|
24
|
+
]
|
|
25
|
+
],
|
|
26
|
+
"fields": [
|
|
27
|
+
{
|
|
28
|
+
"name": "foo"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "bar"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Type Formatter Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SampleViz
|
|
7
|
+
options={{
|
|
8
|
+
option1: '> primary | seriesByIndex(0) | type()' // returns ['number', 'number', 'number']
|
|
9
|
+
option2: '> primary | seriesByIndex(1) | type()' // returns ['string', 'string', 'string']
|
|
10
|
+
}}
|
|
11
|
+
dataSources={{
|
|
12
|
+
data: {
|
|
13
|
+
primary: {
|
|
14
|
+
columns: [[100, 200, 300], ['string1', 'string2', 'string3']]
|
|
15
|
+
fields: [{ name: 'foo' }, { name: 'bar' }]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}}
|
|
19
|
+
/>
|
|
20
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Fundamentals of DSL
|
|
2
|
+
|
|
3
|
+
The consolidated visualizations package introduces a DSL to bind options to data and provide a rich data-driven visualization configuration experience. While options for a visualization still accept static values, DSL allows for dynamically configuring option values at runtime based on received data. The DSL allows the user to read data from a specified identifier, apply formatting and transformations to the selected data, specify a formatting/transformation pipeline to process the data, and to use the resultant output as the value for a given option.
|
|
4
|
+
|
|
5
|
+
## Data Primitives
|
|
6
|
+
|
|
7
|
+
The structure of the data the DSL receives can be categorized within three main Data Primitive structures: `DataFrame`, `DataSeries`, and `DataPoint`. Within the DSL, the data that is piped from one selector/formatter to another conforms to one of these given Data Primitive structures (or their raw equivalents).
|
|
8
|
+
|
|
9
|
+
A `DataFrame` is comprised of a list of `DataSeries`, a `DataSeries` is a list of `DataPoints`, and a `DataPoint` holds an individual primitive value (e.g. a string, number, boolean).
|
|
10
|
+
|
|
11
|
+
## DSL Selectors
|
|
12
|
+
|
|
13
|
+
To select the data of interest when configuring a dynamic option, the DSL exposes a list of selectors to reduce the data from its original structure. These selectors are defined at the `DataFrame`, `DataSeries`, and `DataPoint` levels.
|
|
14
|
+
|
|
15
|
+
## DSL Formatters
|
|
16
|
+
|
|
17
|
+
DSL formatters allow you to transform and map the data you receive into the desired format. Some formatters replace the original functions of encoding v1 (e.g. specifying gradients, thresholding, and match values), while others provide additional data formatting capabilities that were not possible in encoding v1 (e.g. formatting string data values via units, prepending text to data, etc.).
|
|
18
|
+
|
|
19
|
+
## DSL Scopes
|
|
20
|
+
|
|
21
|
+
The main global scopes that the DSL can read identifiers from are `context`, `datasources`, `options`, and `themes`. The contents of `context`, `datasources`, and `options` and scopes are directly defined by the user and passed into the visualization, while values from `themes` are taken from the theme variables that the given visualization exposes. In addition to identifiers found in global scopes, DSL can resolve identifiers at the local scope as shown in the example below.
|
|
22
|
+
|
|
23
|
+
### Qualified (global) vs. Unqualified Identifiers
|
|
24
|
+
|
|
25
|
+
Qualified identifiers are references to DSL-scoped variables which denote the full path to the DSL-scoped variable value (e.g. `context.foo.bar`). However, the DSL can also infer the value of local identifiers. For example, if a deeply nested identifier is defined within `context` and is referenced at the local scope (such as `context={{ foo: { bar: 'val1', d: '> bar' } }}`), the DSL defined in `context.foo.d` will be resolved as `val1`.
|
|
26
|
+
|
|
27
|
+
If an identifier is not prefixed with one of the aforementioned global scopes, the DSL will first look at the local level (i.e. other identifiers defined at the same level relative to where the original identifier was defined) to resolve the value. If this does not return a match, the DSL will look through the list of identifiers defined at the first level of the global scope objects to find the identifier (i.e. `context.identifier`, `datasources.identifier`, `options.identifier`, `themes.identifier`).
|
|
28
|
+
|
|
29
|
+
The following shows an example of how DSL variable name resolution is performed.
|
|
30
|
+
|
|
31
|
+
## Use
|
|
32
|
+
|
|
33
|
+
The example below shows a SingleValue visualization configured to use DSL for dynamically defining certain options.
|
|
34
|
+
|
|
35
|
+
In this example, DSL is configured for the `sparklineValues`, `trendValue`, and `trendColor` options.
|
|
36
|
+
|
|
37
|
+
The `sparklineValues` DSL reads data from the `primary` identifier (which is defined within the `datasources` global scope) and reads data of a `DataFrame`-type structure from the `primary` identifier. This data is then reduced to a `DataSeries` structure by applying the `seriesByIndex` DSL selector, and the `sparklineValues` option receives this resolved output as its dynamic value.
|
|
38
|
+
|
|
39
|
+
The `trendValues` DSL takes the resolved data of the `sparklineValues` (which now exists at the local scope) and applies the `delta` selector to reduce this even further to a `DataPoint` data structure.
|
|
40
|
+
|
|
41
|
+
The `trendColor` DSL applies formatting to the DataPoint by mapping the target range that the `DataPoint` falls into. The corresponding `DataPoint` value for the target range is then returned.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# ceil
|
|
2
|
+
|
|
3
|
+
Ceils the current data point value to the nearest higher integer and returns a new DataPoint.
|
|
4
|
+
Numeric types and numeric strings are both supported.
|
|
5
|
+
|
|
6
|
+
@public
|
|
7
|
+
@returns {DataPoint<'number'>} DataPoint with ceiled value, or undefined for non-numeric input
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# DataFrame#average Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {},
|
|
8
|
+
"options": {
|
|
9
|
+
"majorValue": "> primary | average()",
|
|
10
|
+
"trendDisplay": "off",
|
|
11
|
+
"sparklineDisplay": "off"
|
|
12
|
+
},
|
|
13
|
+
"dataSources": {
|
|
14
|
+
"primary": {
|
|
15
|
+
"data": {
|
|
16
|
+
"fields": [
|
|
17
|
+
{
|
|
18
|
+
"name": "_time"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "count"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"columns": [
|
|
25
|
+
[
|
|
26
|
+
"2018-08-19T00:00:00.000+00:00",
|
|
27
|
+
"2018-08-20T00:00:00.000+00:00",
|
|
28
|
+
"2018-08-21T00:00:00.000+00:00"
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
"10",
|
|
32
|
+
"20",
|
|
33
|
+
"30"
|
|
34
|
+
]
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"meta": {}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# DataFrame#average Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SingleValue
|
|
7
|
+
options={{
|
|
8
|
+
majorValue: '> primary | average()',
|
|
9
|
+
trendDisplay: 'off',
|
|
10
|
+
sparklineDisplay: 'off'
|
|
11
|
+
}}
|
|
12
|
+
dataSources={{
|
|
13
|
+
primary: {
|
|
14
|
+
data: {
|
|
15
|
+
fields: [
|
|
16
|
+
{
|
|
17
|
+
name: '_time',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'count',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
columns: [
|
|
24
|
+
[
|
|
25
|
+
'2018-08-19T00:00:00.000+00:00',
|
|
26
|
+
'2018-08-20T00:00:00.000+00:00',
|
|
27
|
+
'2018-08-21T00:00:00.000+00:00',
|
|
28
|
+
],
|
|
29
|
+
[ '10', '20', '30' ],
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
meta: {},
|
|
33
|
+
},
|
|
34
|
+
}}
|
|
35
|
+
/>
|
|
36
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# DataFrame#average
|
|
2
|
+
|
|
3
|
+
Get the average of all numeric values from all numeric DataSeries in the DataFrame.
|
|
4
|
+
@public
|
|
5
|
+
@returns {DataPoint<DataType>}
|
|
6
|
+
|
|
7
|
+
The following code sample shows how to use average to display the mean of all data points in a data source as a single value.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# DataFrame#count Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"context": {},
|
|
8
|
+
"options": {
|
|
9
|
+
"majorValue": "> primary | count()",
|
|
10
|
+
"trendDisplay": "off",
|
|
11
|
+
"sparklineDisplay": "off"
|
|
12
|
+
},
|
|
13
|
+
"dataSources": {
|
|
14
|
+
"primary": {
|
|
15
|
+
"data": {
|
|
16
|
+
"fields": [
|
|
17
|
+
{
|
|
18
|
+
"name": "_time"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "count"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"columns": [
|
|
25
|
+
[
|
|
26
|
+
"2018-08-19T00:00:00.000+00:00",
|
|
27
|
+
"2018-08-20T00:00:00.000+00:00",
|
|
28
|
+
"2018-08-21T00:00:00.000+00:00"
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
"10",
|
|
32
|
+
"20",
|
|
33
|
+
"30"
|
|
34
|
+
]
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"meta": {}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# DataFrame#count Examples
|
|
2
|
+
|
|
3
|
+
## Example 1
|
|
4
|
+
|
|
5
|
+
```jsx
|
|
6
|
+
<SingleValue
|
|
7
|
+
options={{
|
|
8
|
+
majorValue: '> primary | count()',
|
|
9
|
+
trendDisplay: 'off',
|
|
10
|
+
sparklineDisplay: 'off'
|
|
11
|
+
}}
|
|
12
|
+
dataSources={{
|
|
13
|
+
primary: {
|
|
14
|
+
data: {
|
|
15
|
+
fields: [
|
|
16
|
+
{
|
|
17
|
+
name: '_time',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'count',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
columns: [
|
|
24
|
+
[
|
|
25
|
+
'2018-08-19T00:00:00.000+00:00',
|
|
26
|
+
'2018-08-20T00:00:00.000+00:00',
|
|
27
|
+
'2018-08-21T00:00:00.000+00:00',
|
|
28
|
+
],
|
|
29
|
+
[ '10', '20', '30' ],
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
meta: {},
|
|
33
|
+
},
|
|
34
|
+
}}
|
|
35
|
+
/>
|
|
36
|
+
```
|