@splunk/visualizations 28.6.0 → 28.8.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.js +2 -2
- package/Area.js.map +2 -2
- package/Bar.js +2 -2
- package/Bar.js.map +2 -2
- package/Bubble.js +2 -2
- package/Bubble.js.map +2 -2
- package/CHANGELOG.external.md +45 -50
- package/ChoroplethSvg.js +2 -2
- package/ChoroplethSvg.js.map +2 -2
- package/Column.js +2 -2
- package/Column.js.map +2 -2
- package/Ellipse.js +2 -2
- package/Ellipse.js.map +2 -2
- 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.js +27 -101
- package/Events.js.map +2 -2
- package/FillerGauge.js +10 -5
- package/FillerGauge.js.map +2 -2
- package/Image.js +2 -2
- package/Image.js.map +2 -2
- package/Line.js +2 -2
- package/Line.js.map +2 -2
- package/LinkGraph.js +2 -2
- package/LinkGraph.js.map +2 -2
- 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.js +1317 -478
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts.map +1 -1
- package/Markdown.config.js +1 -1
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +24 -7
- package/Markdown.js.map +2 -2
- package/MarkerGauge.js +10 -5
- package/MarkerGauge.js.map +2 -2
- 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 +353 -40
- package/NetworkGraph.js.map +4 -4
- package/ParallelCoordinates.js +2 -2
- package/ParallelCoordinates.js.map +2 -2
- package/Pie.js +2 -2
- package/Pie.js.map +2 -2
- package/ProcessTree/ProcessTree.d.ts +3 -1
- package/ProcessTree/ProcessTree.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +1 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +2 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +3 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/mockdata/data.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +3 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -1
- package/ProcessTree.js +101 -31
- package/ProcessTree.js.map +3 -3
- package/Punchcard.js +2 -2
- package/Punchcard.js.map +2 -2
- package/README.md +2 -0
- package/Rectangle.js +2 -2
- package/Rectangle.js.map +2 -2
- package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
- package/RichText/PureRichText/InnerEditor.d.ts +10 -0
- package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichText.d.ts +17 -0
- package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useContentSave.d.ts +6 -0
- package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useContentSync.d.ts +13 -1
- package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +1 -16
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useTokenMap.d.ts +37 -35
- package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts +0 -4
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -1
- package/RichText/PureRichText/types.d.ts +15 -0
- package/RichText/PureRichText/types.d.ts.map +1 -1
- package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
- package/RichText/RichText.d.ts +2 -0
- package/RichText/RichText.d.ts.map +1 -1
- package/RichText/config.d.ts.map +1 -1
- package/RichText.config.js +14 -1
- package/RichText.config.js.map +2 -2
- package/RichText.js +733 -263
- package/RichText.js.map +4 -4
- package/Sankey.js +2 -2
- package/Sankey.js.map +2 -2
- package/Scatter.js +2 -2
- package/Scatter.js.map +2 -2
- package/SingleValue.js +368 -471
- package/SingleValue.js.map +4 -4
- package/SingleValueIcon.js +2 -2
- package/SingleValueIcon.js.map +2 -2
- package/SingleValueRadial.js +2 -2
- package/SingleValueRadial.js.map +2 -2
- 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/Table/PureTable.d.ts +2 -0
- package/Table/PureTable.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.config.js +7 -0
- package/Table.config.js.map +2 -2
- package/Table.js +480 -500
- package/Table.js.map +4 -4
- package/Timeline/PureTimeline/PureTimeline.d.ts +6 -5
- package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/CursorPlugin.d.ts +1 -0
- package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/TimelineLegend.d.ts +10 -7
- package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/TimelineTooltip.d.ts +5 -1
- package/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/TimelineUplot.d.ts +19 -2
- package/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/XAxisPlugin.d.ts +1 -0
- package/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +8 -0
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
- package/Timeline.js +449 -211
- package/Timeline.js.map +4 -4
- package/Treemap/PureTreemap/components/PureTreemap.d.ts +42 -0
- package/Treemap/PureTreemap/components/PureTreemap.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts +10 -0
- package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapChildCell.d.ts +28 -0
- package/Treemap/PureTreemap/components/TreemapChildCell.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapHeader.d.ts +19 -0
- package/Treemap/PureTreemap/components/TreemapHeader.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts +17 -0
- package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapLegend.d.ts +20 -0
- package/Treemap/PureTreemap/components/TreemapLegend.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapNode.d.ts +5 -0
- package/Treemap/PureTreemap/components/TreemapNode.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapParentNode.d.ts +10 -0
- package/Treemap/PureTreemap/components/TreemapParentNode.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts +6 -0
- package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts.map +1 -0
- package/Treemap/PureTreemap/components/TreemapTooltip.d.ts +17 -0
- package/Treemap/PureTreemap/components/TreemapTooltip.d.ts.map +1 -0
- package/Treemap/PureTreemap/mockdata/data.d.ts +90 -0
- package/Treemap/PureTreemap/mockdata/data.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts +67 -0
- package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts +5 -0
- package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts +14 -0
- package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapLayout.d.ts +49 -0
- package/Treemap/PureTreemap/utils/treemapLayout.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts +81 -0
- package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapTypes.d.ts +37 -0
- package/Treemap/PureTreemap/utils/treemapTypes.d.ts.map +1 -0
- package/Treemap/PureTreemap/utils/treemapUtils.d.ts +76 -0
- package/Treemap/PureTreemap/utils/treemapUtils.d.ts.map +1 -0
- package/Treemap/Treemap.d.ts +12 -0
- package/Treemap/Treemap.d.ts.map +1 -0
- package/Treemap/config.d.ts +4 -0
- package/Treemap/config.d.ts.map +1 -0
- package/Treemap/index.d.ts +3 -0
- package/Treemap/index.d.ts.map +1 -0
- package/Treemap.config.js +465 -0
- package/Treemap.config.js.map +7 -0
- package/Treemap.js +6233 -0
- package/Treemap.js.map +7 -0
- package/common/DocExampleWithVizSandbox.js.map +2 -2
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js +1 -0
- package/common/GaugeValueMarker.js.map +2 -2
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js.map +2 -2
- package/common/docUtils.d.ts.map +1 -1
- package/common/docUtils.js +1 -8
- package/common/docUtils.js.map +2 -2
- package/common/gaugeUtils.d.ts.map +1 -1
- package/common/gaugeUtils.js +7 -3
- package/common/gaugeUtils.js.map +2 -2
- package/common/hocs/FixedSizeContainer.d.ts.map +1 -1
- package/common/hooks/useDynamicHeight.d.ts +67 -0
- package/common/hooks/useDynamicHeight.d.ts.map +1 -0
- package/common/interfaces/VizCategory.d.ts +2 -1
- package/common/interfaces/VizCategory.d.ts.map +1 -1
- package/common/utils/mapUtils.js +512 -179
- 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/withDashboardViz.js +2 -2
- package/common/withDashboardViz.js.map +2 -2
- package/docs-llm/INDEX.md +119 -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 +29 -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 +29 -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 +26 -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/docs-llm/treemap/examples-json.md +5 -0
- package/docs-llm/treemap/examples-react.md +5 -0
- package/docs-llm/treemap/options.md +26 -0
- package/docs-llm/treemap/overview.md +27 -0
- package/package.json +33 -28
package/common/gaugeUtils.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/common/gaugeUtils.ts", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/colorConstants", "esm-externals:@splunk/visualizations-shared/numberUtils", "esm-externals:@splunk/ui-utils/i18n"],
|
|
4
|
-
"sourcesContent": ["import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\nconst DEFAULT_NUM_OF_TICKS = 5;\nconst MAX_TICK_LABEL_DECIMAL_PLACES = 5;\nconst MAX_VALUE_LABEL_DIGITS_WITHOUT_PERCENT = 6;\nconst MAX_VALUE_LABEL_DIGITS_WITH_PERCENT = 5;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({\n containerWidth,\n containerHeight,\n orientation,\n });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ntype NumericInput = number | string;\n\ninterface UniqueDecimalPlacesInput {\n values: number[];\n minimumDecimalPlaces: number;\n}\n\ninterface PercentageFromRangeInput {\n value: number;\n min: number;\n range: number;\n}\n\ninterface NumOfTicksInput {\n min: number;\n max: number;\n majorUnit: number | string;\n usePercentageRange: boolean;\n}\n\ninterface TickLabelFormatterResult {\n numOfTicks: number;\n numericStep: number;\n formatTickLabel: (value: number) => string;\n}\n\ninterface FormatGaugeValueLabelInput {\n value: NumericInput;\n min: number;\n max: number;\n usePercentageValue: boolean;\n}\n\n// Returns the number of fractional digits in a numeric input.\nexport const getDecimalPlaces = (value: NumericInput): number => {\n const numericValue = Number(value);\n if (!Number.isFinite(numericValue)) {\n return 0;\n }\n\n const fractionPart = numericValue.toString().split('.')[1];\n return fractionPart ? fractionPart.length : 0;\n};\n\n// Finds the smallest precision that keeps all rounded tick values unique.\n// This avoids duplicated rendered labels caused by rounding collisions.\nexport const getUniqueDecimalPlaces = ({\n values,\n minimumDecimalPlaces,\n}: UniqueDecimalPlacesInput): number => {\n if (values.length <= 1) {\n return minimumDecimalPlaces;\n }\n\n for (\n let decimalPlaces = minimumDecimalPlaces;\n decimalPlaces <= MAX_TICK_LABEL_DECIMAL_PLACES;\n decimalPlaces += 1\n ) {\n const roundedValues = values.map(value => Number(value.toFixed(decimalPlaces)));\n if (new Set(roundedValues).size === roundedValues.length) {\n return decimalPlaces;\n }\n }\n\n return MAX_TICK_LABEL_DECIMAL_PLACES;\n};\n\n// Converts a value within [min, max] to percentage space.\nexport const getPercentageFromRange = ({ value, min, range }: PercentageFromRangeInput): number => {\n if (range === 0) {\n return 0;\n }\n return ((value - min) / range) * 100;\n};\n\n// Computes interval count from auto mode or explicit majorUnit.\nexport const getNumOfTicks = ({\n min,\n max,\n majorUnit,\n usePercentageRange,\n}: NumOfTicksInput): { numOfTicks: number; isAutoMajorUnit: boolean; majorUnitNumber: number } => {\n const range = max - min;\n const majorUnitNumber = Number(majorUnit);\n const isAutoMajorUnit = majorUnit === 'auto' || Number.isNaN(majorUnitNumber) || majorUnitNumber <= 0;\n\n let numOfTicks = DEFAULT_NUM_OF_TICKS;\n if (!isAutoMajorUnit) {\n numOfTicks = usePercentageRange ? 100 / majorUnitNumber : range / majorUnitNumber;\n }\n\n return { numOfTicks, isAutoMajorUnit, majorUnitNumber };\n};\n\n// Builds a reusable formatter and step size for major tick rendering.\nexport const getTickLabelFormatter = ({\n min,\n max,\n majorUnit,\n usePercentageRange,\n}: NumOfTicksInput): TickLabelFormatterResult => {\n const range = max - min;\n const { numOfTicks, isAutoMajorUnit, majorUnitNumber } = getNumOfTicks({\n min,\n max,\n majorUnit,\n usePercentageRange,\n });\n const numericStep = range / numOfTicks;\n const tickValues = [];\n\n // Materialize all candidate tick values (plus max for uneven divisions).\n for (let i = 0; i <= numOfTicks; i += 1) {\n tickValues.push(min + numericStep * i);\n }\n\n if (!Number.isInteger(numOfTicks)) {\n tickValues.push(max);\n }\n\n const minimumNumericDecimalPlaces = Math.min(\n MAX_TICK_LABEL_DECIMAL_PLACES,\n Math.max(\n getDecimalPlaces(min),\n getDecimalPlaces(max),\n isAutoMajorUnit ? 0 : getDecimalPlaces(majorUnitNumber)\n )\n );\n const numericLabelDecimalPlaces = getUniqueDecimalPlaces({\n values: tickValues,\n minimumDecimalPlaces: minimumNumericDecimalPlaces,\n });\n const percentageLabelDecimalPlaces = getUniqueDecimalPlaces({\n values: tickValues.map(value => getPercentageFromRange({ value, min, range })),\n minimumDecimalPlaces: 0,\n });\n\n // Keep fixed-width decimal formatting when decimals are needed; otherwise use trend formatting.\n const formatTickLabel = value => {\n if (usePercentageRange) {\n const percentageValue = getPercentageFromRange({ value, min, range });\n return `${percentageValue.toFixed(percentageLabelDecimalPlaces)}%`;\n }\n\n const numericLabel = value.toFixed(numericLabelDecimalPlaces);\n if (numericLabel.includes('.')) {\n return numericLabel;\n }\n\n return formatNumber(Number(numericLabel), 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n }).replace(/k$/, 'K');\n };\n\n return { numOfTicks, numericStep, formatTickLabel };\n};\n\n// Limits decimal places so displayed value length stays within a fixed digit budget.\nconst getDigitsBeforeDecimal = (numericValue: NumericInput): number =>\n Math.abs(Math.trunc(Number(numericValue))).toString().length;\n\nconst getCappedDecimalPlaces = (\n numericValue: NumericInput,\n rawDecimalPlaces: number,\n maxDigits: number\n): number => {\n const digitsBeforeDecimal = getDigitsBeforeDecimal(numericValue);\n const maxDecimalPlaces = Math.max(0, maxDigits - digitsBeforeDecimal);\n return Math.min(rawDecimalPlaces, maxDecimalPlaces);\n};\n\n// Formats the marker value label in number or percentage mode with capped precision.\nexport const formatGaugeValueLabel = ({\n value,\n min,\n max,\n usePercentageValue,\n}: FormatGaugeValueLabelInput): string => {\n const numericValue = Number(value);\n const range = max - min || 1;\n const percentageValue = getPercentageFromRange({ value: numericValue, min, range });\n const trendFormatOptions = {\n useThousandSeparators: true,\n useTrendUnits: true,\n };\n\n if (usePercentageValue) {\n // Use the same number-mode formatting behavior (including K/M/B/T) for percentages.\n const percentageDecimalPlaces = getCappedDecimalPlaces(\n percentageValue,\n 2,\n MAX_VALUE_LABEL_DIGITS_WITH_PERCENT\n );\n return `${formatNumber(percentageValue, percentageDecimalPlaces, trendFormatOptions)}%`;\n }\n\n const valueDecimalPlaces = getCappedDecimalPlaces(\n numericValue,\n getDecimalPlaces(numericValue),\n MAX_VALUE_LABEL_DIGITS_WITHOUT_PERCENT\n );\n return formatNumber(numericValue, valueDecimalPlaces, trendFormatOptions);\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/numberUtils\";\nexport * from \"@splunk/visualizations-shared/numberUtils\";\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"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,mCAAc;AACd,IAAO,yBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,gCAAc;AACd,IAAO,sBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;AJM9D,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AAC9B,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;AACjC,IAAM,uBAAuB;AAC7B,IAAM,gCAAgC;AACtC,IAAM,yCAAyC;AAC/C,IAAM,sCAAsC;AAUrC,IAAM,gBAAgB,CAAC,EAAE,gBAAgB,YAAY,MACxD,gBAAgB,aAAa,kBAAkB,iBAAiB;AAU7D,IAAM,iBAAiB,CAAC,EAAE,iBAAiB,YAAY,MAC1D,gBAAgB,aAAa,kBAAkB,MAAM;AAYlD,IAAM,iBAAiB,CAAC,EAAE,gBAAgB,iBAAiB,YAAY,MAC1E,gBAAgB,aACV,eAAe,EAAE,iBAAiB,YAAY,CAAC,IAC/C,cAAc,EAAE,gBAAgB,YAAY,CAAC;AAchD,IAAM,wBAAwB,CAAC,EAAE,gBAAgB,iBAAiB,aAAa,YAAY,MAAM;AAEpG,MAAI,eAAe,iBAAiB,eAAe;AACnD,MAAI,eAAe,kBAAkB,mBAAmB;AAExD,MAAI,gBAAgB,YAAY;AAC5B,mBAAe,iBAAiB,mBAAmB;AACnD,mBAAe,kBAAkB,eAAe;AAAA,EACpD;AAEA,SAAO,EAAE,aAAa,YAAY;AACtC;AAiBO,IAAM,qBAAqB,CAAC,EAAE,gBAAgB,iBAAiB,YAAY,MAAM;AACpF,QAAM,cAAc,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,EAAE,aAAa,YAAY,IAAI,sBAAsB;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,aAAa,cAAc,EAAE,gBAAgB,YAAY,CAAC;AAChE,QAAM,cAAc,eAAe,EAAE,iBAAiB,YAAY,CAAC;AAEnE,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAQO,IAAM,mBAAmB,CAAC,EAAE,OAAO,KAAK,IAAI,MAAM;AACrD,QAAM,QAAQ,QAAQ,QAAQ,MAAM;AAEpC,MAAI,QAAQ,KAAK;AACb,WAAO;AAAA,EACX;AACA,MAAI,OAAO,OAAO,QAAQ,KAAK;AAC3B,WAAO;AAAA,EACX;AAEA,SAAO;AACX;AAYO,IAAM,oBAAoB,CAAC,EAAE,aAAa,OAAO,KAAK,IAAI,MAAM;AACnE,MAAI,MAAM,KAAK;AACX,WAAO;AAAA,EACX;AAEA,MAAI,SAAS,KAAK;
|
|
4
|
+
"sourcesContent": ["import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { formatNumber } from '@splunk/visualizations-shared/numberUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\nconst DEFAULT_NUM_OF_TICKS = 5;\nconst MAX_TICK_LABEL_DECIMAL_PLACES = 5;\nconst MAX_VALUE_LABEL_DIGITS_WITHOUT_PERCENT = 6;\nconst MAX_VALUE_LABEL_DIGITS_WITH_PERCENT = 5;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({\n containerWidth,\n containerHeight,\n orientation,\n });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n const numericValue = Number(value);\n\n if (!Number.isFinite(numericValue)) {\n return 0;\n }\n\n if (numericValue >= max) {\n return gaugeLength;\n }\n\n if (numericValue < min) {\n return 0;\n }\n\n return (gaugeLength * (numericValue - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ntype NumericInput = number | string;\n\ninterface UniqueDecimalPlacesInput {\n values: number[];\n minimumDecimalPlaces: number;\n}\n\ninterface PercentageFromRangeInput {\n value: number;\n min: number;\n range: number;\n}\n\ninterface NumOfTicksInput {\n min: number;\n max: number;\n majorUnit: number | string;\n usePercentageRange: boolean;\n}\n\ninterface TickLabelFormatterResult {\n numOfTicks: number;\n numericStep: number;\n formatTickLabel: (value: number) => string;\n}\n\ninterface FormatGaugeValueLabelInput {\n value: NumericInput;\n min: number;\n max: number;\n usePercentageValue: boolean;\n}\n\n// Returns the number of fractional digits in a numeric input.\nexport const getDecimalPlaces = (value: NumericInput): number => {\n const numericValue = Number(value);\n if (!Number.isFinite(numericValue)) {\n return 0;\n }\n\n const fractionPart = numericValue.toString().split('.')[1];\n return fractionPart ? fractionPart.length : 0;\n};\n\n// Finds the smallest precision that keeps all rounded tick values unique.\n// This avoids duplicated rendered labels caused by rounding collisions.\nexport const getUniqueDecimalPlaces = ({\n values,\n minimumDecimalPlaces,\n}: UniqueDecimalPlacesInput): number => {\n if (values.length <= 1) {\n return minimumDecimalPlaces;\n }\n\n for (\n let decimalPlaces = minimumDecimalPlaces;\n decimalPlaces <= MAX_TICK_LABEL_DECIMAL_PLACES;\n decimalPlaces += 1\n ) {\n const roundedValues = values.map(value => Number(value.toFixed(decimalPlaces)));\n if (new Set(roundedValues).size === roundedValues.length) {\n return decimalPlaces;\n }\n }\n\n return MAX_TICK_LABEL_DECIMAL_PLACES;\n};\n\n// Converts a value within [min, max] to percentage space.\nexport const getPercentageFromRange = ({ value, min, range }: PercentageFromRangeInput): number => {\n if (range === 0) {\n return 0;\n }\n return ((value - min) / range) * 100;\n};\n\n// Computes interval count from auto mode or explicit majorUnit.\nexport const getNumOfTicks = ({\n min,\n max,\n majorUnit,\n usePercentageRange,\n}: NumOfTicksInput): { numOfTicks: number; isAutoMajorUnit: boolean; majorUnitNumber: number } => {\n const range = max - min;\n const majorUnitNumber = Number(majorUnit);\n const isAutoMajorUnit = majorUnit === 'auto' || Number.isNaN(majorUnitNumber) || majorUnitNumber <= 0;\n\n let numOfTicks = DEFAULT_NUM_OF_TICKS;\n if (!isAutoMajorUnit) {\n numOfTicks = usePercentageRange ? 100 / majorUnitNumber : range / majorUnitNumber;\n }\n\n return { numOfTicks, isAutoMajorUnit, majorUnitNumber };\n};\n\n// Builds a reusable formatter and step size for major tick rendering.\nexport const getTickLabelFormatter = ({\n min,\n max,\n majorUnit,\n usePercentageRange,\n}: NumOfTicksInput): TickLabelFormatterResult => {\n const range = max - min;\n const { numOfTicks, isAutoMajorUnit, majorUnitNumber } = getNumOfTicks({\n min,\n max,\n majorUnit,\n usePercentageRange,\n });\n const numericStep = range / numOfTicks;\n const tickValues = [];\n\n // Materialize all candidate tick values (plus max for uneven divisions).\n for (let i = 0; i <= numOfTicks; i += 1) {\n tickValues.push(min + numericStep * i);\n }\n\n if (!Number.isInteger(numOfTicks)) {\n tickValues.push(max);\n }\n\n const minimumNumericDecimalPlaces = Math.min(\n MAX_TICK_LABEL_DECIMAL_PLACES,\n Math.max(\n getDecimalPlaces(min),\n getDecimalPlaces(max),\n isAutoMajorUnit ? 0 : getDecimalPlaces(majorUnitNumber)\n )\n );\n const numericLabelDecimalPlaces = getUniqueDecimalPlaces({\n values: tickValues,\n minimumDecimalPlaces: minimumNumericDecimalPlaces,\n });\n const percentageLabelDecimalPlaces = getUniqueDecimalPlaces({\n values: tickValues.map(value => getPercentageFromRange({ value, min, range })),\n minimumDecimalPlaces: 0,\n });\n\n // Keep fixed-width decimal formatting when decimals are needed; otherwise use trend formatting.\n const formatTickLabel = value => {\n if (usePercentageRange) {\n const percentageValue = getPercentageFromRange({ value, min, range });\n return `${percentageValue.toFixed(percentageLabelDecimalPlaces)}%`;\n }\n\n const numericLabel = value.toFixed(numericLabelDecimalPlaces);\n if (numericLabel.includes('.')) {\n return numericLabel;\n }\n\n return formatNumber(Number(numericLabel), 0, {\n useThousandSeparators: true,\n useTrendUnits: true,\n }).replace(/k$/, 'K');\n };\n\n return { numOfTicks, numericStep, formatTickLabel };\n};\n\n// Limits decimal places so displayed value length stays within a fixed digit budget.\nconst getDigitsBeforeDecimal = (numericValue: NumericInput): number =>\n Math.abs(Math.trunc(Number(numericValue))).toString().length;\n\nconst getCappedDecimalPlaces = (\n numericValue: NumericInput,\n rawDecimalPlaces: number,\n maxDigits: number\n): number => {\n const digitsBeforeDecimal = getDigitsBeforeDecimal(numericValue);\n const maxDecimalPlaces = Math.max(0, maxDigits - digitsBeforeDecimal);\n return Math.min(rawDecimalPlaces, maxDecimalPlaces);\n};\n\n// Formats the marker value label in number or percentage mode with capped precision.\nexport const formatGaugeValueLabel = ({\n value,\n min,\n max,\n usePercentageValue,\n}: FormatGaugeValueLabelInput): string => {\n const numericValue = Number(value);\n const range = max - min || 1;\n const percentageValue = getPercentageFromRange({ value: numericValue, min, range });\n const trendFormatOptions = {\n useThousandSeparators: true,\n useTrendUnits: true,\n };\n\n if (usePercentageValue) {\n // Use the same number-mode formatting behavior (including K/M/B/T) for percentages.\n const percentageDecimalPlaces = getCappedDecimalPlaces(\n percentageValue,\n 2,\n MAX_VALUE_LABEL_DIGITS_WITH_PERCENT\n );\n return `${formatNumber(percentageValue, percentageDecimalPlaces, trendFormatOptions)}%`;\n }\n\n const valueDecimalPlaces = getCappedDecimalPlaces(\n numericValue,\n getDecimalPlaces(numericValue),\n MAX_VALUE_LABEL_DIGITS_WITHOUT_PERCENT\n );\n return formatNumber(numericValue, valueDecimalPlaces, trendFormatOptions);\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/numberUtils\";\nexport * from \"@splunk/visualizations-shared/numberUtils\";\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"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,mCAAc;AACd,IAAO,yBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,gCAAc;AACd,IAAO,sBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;AJM9D,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AAC9B,IAAM,2BAA2B;AACjC,IAAM,2BAA2B;AACjC,IAAM,uBAAuB;AAC7B,IAAM,gCAAgC;AACtC,IAAM,yCAAyC;AAC/C,IAAM,sCAAsC;AAUrC,IAAM,gBAAgB,CAAC,EAAE,gBAAgB,YAAY,MACxD,gBAAgB,aAAa,kBAAkB,iBAAiB;AAU7D,IAAM,iBAAiB,CAAC,EAAE,iBAAiB,YAAY,MAC1D,gBAAgB,aAAa,kBAAkB,MAAM;AAYlD,IAAM,iBAAiB,CAAC,EAAE,gBAAgB,iBAAiB,YAAY,MAC1E,gBAAgB,aACV,eAAe,EAAE,iBAAiB,YAAY,CAAC,IAC/C,cAAc,EAAE,gBAAgB,YAAY,CAAC;AAchD,IAAM,wBAAwB,CAAC,EAAE,gBAAgB,iBAAiB,aAAa,YAAY,MAAM;AAEpG,MAAI,eAAe,iBAAiB,eAAe;AACnD,MAAI,eAAe,kBAAkB,mBAAmB;AAExD,MAAI,gBAAgB,YAAY;AAC5B,mBAAe,iBAAiB,mBAAmB;AACnD,mBAAe,kBAAkB,eAAe;AAAA,EACpD;AAEA,SAAO,EAAE,aAAa,YAAY;AACtC;AAiBO,IAAM,qBAAqB,CAAC,EAAE,gBAAgB,iBAAiB,YAAY,MAAM;AACpF,QAAM,cAAc,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,EAAE,aAAa,YAAY,IAAI,sBAAsB;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,aAAa,cAAc,EAAE,gBAAgB,YAAY,CAAC;AAChE,QAAM,cAAc,eAAe,EAAE,iBAAiB,YAAY,CAAC;AAEnE,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAQO,IAAM,mBAAmB,CAAC,EAAE,OAAO,KAAK,IAAI,MAAM;AACrD,QAAM,QAAQ,QAAQ,QAAQ,MAAM;AAEpC,MAAI,QAAQ,KAAK;AACb,WAAO;AAAA,EACX;AACA,MAAI,OAAO,OAAO,QAAQ,KAAK;AAC3B,WAAO;AAAA,EACX;AAEA,SAAO;AACX;AAYO,IAAM,oBAAoB,CAAC,EAAE,aAAa,OAAO,KAAK,IAAI,MAAM;AACnE,MAAI,MAAM,KAAK;AACX,WAAO;AAAA,EACX;AAEA,QAAM,eAAe,OAAO,KAAK;AAEjC,MAAI,CAAC,OAAO,SAAS,YAAY,GAAG;AAChC,WAAO;AAAA,EACX;AAEA,MAAI,gBAAgB,KAAK;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,eAAe,KAAK;AACpB,WAAO;AAAA,EACX;AAEA,SAAQ,eAAe,eAAe,QAAS,MAAM;AACzD;AAgBO,IAAM,4BAA4B,CAAC;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,MAAI,YAAY;AAChB,MAAI,YAAY;AAEhB,MAAI,gBAAgB,YAAY;AAC5B,kBAAc,aAAa,kBAAkB;AAC7C,iBAAa,cAAc;AAAA,EAC/B,OAAO;AACH,kBAAc,cAAc,kBAAkB;AAAA,EAClD;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAUO,IAAM,mBAAmB,CAAC,EAAE,gBAAgB,YAAY,MAC3D,gBAAgB,aAAa,iBAAiB;AAU3C,IAAM,oBAAoB,CAAC,EAAE,gBAAgB,YAAY,MAC5D,gBAAgB,aAAa,iBAAiB;AAsB3C,IAAM,uBAAuB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,iBAAiB,kBAAkB,EAAE,aAAa,OAAO,KAAK,IAAI,CAAC;AACzE,QAAM,EAAE,WAAW,UAAU,WAAW,SAAS,IAAI,0BAA0B;AAAA,IAC3E;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,eAAe,iBAAiB,EAAE,gBAAgB,YAAY,CAAC;AACrE,QAAM,gBAAgB,kBAAkB,EAAE,gBAAgB,YAAY,CAAC;AAEvE,SAAO;AAAA,IACH,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAcO,IAAM,qCAAqC,CAAC,EAAE,UAAU,UAAU,eAAe,YAAY,MAAM;AACtG,MAAI,eAAe;AACnB,MAAI,eAAe;AAEnB,MAAI,gBAAgB,YAAY;AAC5B,qBAAiB,kBAAkB,kBAAkB;AAAA,EACzD,OAAO;AACH,oBAAgB;AAChB,qBAAiB,kBAAkB,kBAAkB;AAAA,EACzD;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAmBO,IAAM,yBAAyB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,iBAAiB;AACvB,QAAM,EAAE,WAAW,YAAY,WAAW,WAAW,IAAI,0BAA0B;AAAA,IAC/E;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,iBAAiB,iBAAiB,EAAE,gBAAgB,YAAY,CAAC;AACvE,QAAM,kBAAkB,kBAAkB,EAAE,gBAAgB,YAAY,CAAC;AAEzE,SAAO;AAAA,IACH,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAkBO,IAAM,qCAAqC,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,MAAI,eAAe;AACnB,MAAI,eAAe;AACnB,MAAI,gBAAgB,YAAY;AAC5B,oBAAgB,kBAAkB,kBAAkB,EAAE,aAAa,OAAO,KAAK,IAAI,CAAC;AACpF,qBAAiB,kBAAkB,kBAAkB;AAAA,EACzD,OAAO;AACH,oBAAgB,kBAAkB,EAAE,aAAa,OAAO,KAAK,IAAI,CAAC;AAClE,qBAAiB,kBAAkB,kBAAkB;AAAA,EACzD;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAQO,IAAM,kBAAkB,YAAU,OAAO,KAAK,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI;AAQvE,IAAM,iBAAiB,YAAU;AACpC,MAAI,CAAC,OAAO,QAAQ;AAChB,eAAO,gBAAE,kCAAkC;AAAA,EAC/C;AAGA,MAAI,OAAO,KAAK,WAAS,MAAM,QAAQ,MAAM,EAAE,GAAG;AAC9C,eAAO,gBAAE,kDAAkD;AAAA,EAC/D;AAGA,MAAI,OAAO,eAAW,uBAAO,QAAQ,IAAI,EAAE,UAAU,OAAO,eAAW,uBAAO,QAAQ,MAAM,EAAE,QAAQ;AAClG,eAAO,gBAAE,qDAAqD;AAAA,EAClE;AAEA,QAAM,eAAe,gBAAgB,MAAM;AAG3C,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK,GAAG;AAC7C,QAAI,aAAa,CAAC,EAAE,SAAS,aAAa,IAAI,CAAC,EAAE,IAAI;AACjD,iBAAO,gBAAE,yDAAyD;AAAA,IACtE;AAAA,EACJ;AAEA,SAAO;AACX;AAUO,IAAM,gBAAgB,YAAU;AACnC,QAAM,MAAM,KAAK,IAAI,GAAG,OAAO,IAAI,WAAS,MAAM,IAAI,CAAC;AACvD,QAAM,MAAM,KAAK,IAAI,GAAG,OAAO,IAAI,WAAS,MAAM,EAAE,CAAC;AACrD,SAAO,EAAE,KAAK,IAAI;AACtB;AASO,IAAM,yBAAyB,CAAC,EAAE,QAAQ,YAAY,MAAM;AAC/D,QAAM,EAAE,KAAK,IAAI,IAAI,cAAc,MAAM;AACzC,QAAM,eAAe,2BAA2B,6BAA6B,MAAM;AACnF,MAAI,UAAU,OAAO,IAAI,WAAS,KAAK,IAAI,MAAM,OAAO,MAAM,EAAE,IAAI,WAAW;AAE/E,YAAU,gBAAgB,aAAa,QAAQ,QAAQ,IAAI;AAC3D,QAAM,oBAAoB,CAAC;AAC3B,UAAQ,OAAO,CAAC,aAAa,cAAc,QAAQ;AAC/C,sBAAkB,GAAG,IAAI,cAAc;AACvC,WAAO,kBAAkB,GAAG;AAAA,EAChC,GAAG,CAAC;AACJ,SAAO;AACX;AASO,IAAM,wBAAwB,CAAC,EAAE,QAAQ,YAAY,MAAM;AAC9D,QAAM,aAAa,OAAO,IAAI,WAAS,MAAM,KAAK;AAElD,SAAO,gBAAgB,aAAa,WAAW,QAAQ,IAAI;AAC/D;AAUO,IAAM,mBAAmB,CAAC,EAAE,QAAQ,YAAY,MAAM;AACzD,QAAM,QAAQ,CAAC;AACf,QAAM,UAAU,uBAAuB,EAAE,QAAQ,YAAY,CAAC;AAC9D,QAAM,aAAa,sBAAsB,EAAE,QAAQ,YAAY,CAAC;AAEhE,QAAM,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,KAAK,WAAW,WAAW,CAAC,EAAE,CAAC;AAEjE,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AACvC,UAAM,KAAK,EAAE,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC,KAAK,WAAW,WAAW,CAAC,EAAE,CAAC;AACrE,UAAM,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,KAAK,WAAW,WAAW,CAAC,EAAE,CAAC;AAAA,EACrE;AACA,SAAO;AACX;AAYO,IAAM,wBAAwB,iBAAe;AAChD,QAAM,KAAK;AACX,QAAM,KAAK;AACX,QAAM,KAAK,gBAAgB,eAAe,SAAS;AACnD,QAAM,KAAK,gBAAgB,eAAe,OAAO;AACjD,SAAO,EAAE,IAAI,IAAI,IAAI,GAAG;AAC5B;AAoCO,IAAM,mBAAmB,CAAC,UAAgC;AAC7D,QAAM,eAAe,OAAO,KAAK;AACjC,MAAI,CAAC,OAAO,SAAS,YAAY,GAAG;AAChC,WAAO;AAAA,EACX;AAEA,QAAM,eAAe,aAAa,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;AACzD,SAAO,eAAe,aAAa,SAAS;AAChD;AAIO,IAAM,yBAAyB,CAAC;AAAA,EACnC;AAAA,EACA;AACJ,MAAwC;AACpC,MAAI,OAAO,UAAU,GAAG;AACpB,WAAO;AAAA,EACX;AAEA,WACQ,gBAAgB,sBACpB,iBAAiB,+BACjB,iBAAiB,GACnB;AACE,UAAM,gBAAgB,OAAO,IAAI,WAAS,OAAO,MAAM,QAAQ,aAAa,CAAC,CAAC;AAC9E,QAAI,IAAI,IAAI,aAAa,EAAE,SAAS,cAAc,QAAQ;AACtD,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,SAAO;AACX;AAGO,IAAM,yBAAyB,CAAC,EAAE,OAAO,KAAK,MAAM,MAAwC;AAC/F,MAAI,UAAU,GAAG;AACb,WAAO;AAAA,EACX;AACA,UAAS,QAAQ,OAAO,QAAS;AACrC;AAGO,IAAM,gBAAgB,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAkG;AAC9F,QAAM,QAAQ,MAAM;AACpB,QAAM,kBAAkB,OAAO,SAAS;AACxC,QAAM,kBAAkB,cAAc,UAAU,OAAO,MAAM,eAAe,KAAK,mBAAmB;AAEpG,MAAI,aAAa;AACjB,MAAI,CAAC,iBAAiB;AAClB,iBAAa,qBAAqB,MAAM,kBAAkB,QAAQ;AAAA,EACtE;AAEA,SAAO,EAAE,YAAY,iBAAiB,gBAAgB;AAC1D;AAGO,IAAM,wBAAwB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAiD;AAC7C,QAAM,QAAQ,MAAM;AACpB,QAAM,EAAE,YAAY,iBAAiB,gBAAgB,IAAI,cAAc;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,cAAc,QAAQ;AAC5B,QAAM,aAAa,CAAC;AAGpB,WAAS,IAAI,GAAG,KAAK,YAAY,KAAK,GAAG;AACrC,eAAW,KAAK,MAAM,cAAc,CAAC;AAAA,EACzC;AAEA,MAAI,CAAC,OAAO,UAAU,UAAU,GAAG;AAC/B,eAAW,KAAK,GAAG;AAAA,EACvB;AAEA,QAAM,8BAA8B,KAAK;AAAA,IACrC;AAAA,IACA,KAAK;AAAA,MACD,iBAAiB,GAAG;AAAA,MACpB,iBAAiB,GAAG;AAAA,MACpB,kBAAkB,IAAI,iBAAiB,eAAe;AAAA,IAC1D;AAAA,EACJ;AACA,QAAM,4BAA4B,uBAAuB;AAAA,IACrD,QAAQ;AAAA,IACR,sBAAsB;AAAA,EAC1B,CAAC;AACD,QAAM,+BAA+B,uBAAuB;AAAA,IACxD,QAAQ,WAAW,IAAI,WAAS,uBAAuB,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;AAAA,IAC7E,sBAAsB;AAAA,EAC1B,CAAC;AAGD,QAAM,kBAAkB,WAAS;AAC7B,QAAI,oBAAoB;AACpB,YAAM,kBAAkB,uBAAuB,EAAE,OAAO,KAAK,MAAM,CAAC;AACpE,aAAO,GAAG,gBAAgB,QAAQ,4BAA4B,CAAC;AAAA,IACnE;AAEA,UAAM,eAAe,MAAM,QAAQ,yBAAyB;AAC5D,QAAI,aAAa,SAAS,GAAG,GAAG;AAC5B,aAAO;AAAA,IACX;AAEA,eAAO,kCAAa,OAAO,YAAY,GAAG,GAAG;AAAA,MACzC,uBAAuB;AAAA,MACvB,eAAe;AAAA,IACnB,CAAC,EAAE,QAAQ,MAAM,GAAG;AAAA,EACxB;AAEA,SAAO,EAAE,YAAY,aAAa,gBAAgB;AACtD;AAGA,IAAM,yBAAyB,CAAC,iBAC5B,KAAK,IAAI,KAAK,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE;AAE1D,IAAM,yBAAyB,CAC3B,cACA,kBACA,cACS;AACT,QAAM,sBAAsB,uBAAuB,YAAY;AAC/D,QAAM,mBAAmB,KAAK,IAAI,GAAG,YAAY,mBAAmB;AACpE,SAAO,KAAK,IAAI,kBAAkB,gBAAgB;AACtD;AAGO,IAAM,wBAAwB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAA0C;AACtC,QAAM,eAAe,OAAO,KAAK;AACjC,QAAM,QAAQ,MAAM,OAAO;AAC3B,QAAM,kBAAkB,uBAAuB,EAAE,OAAO,cAAc,KAAK,MAAM,CAAC;AAClF,QAAM,qBAAqB;AAAA,IACvB,uBAAuB;AAAA,IACvB,eAAe;AAAA,EACnB;AAEA,MAAI,oBAAoB;AAEpB,UAAM,0BAA0B;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AACA,WAAO,OAAG,kCAAa,iBAAiB,yBAAyB,kBAAkB,CAAC;AAAA,EACxF;AAEA,QAAM,qBAAqB;AAAA,IACvB;AAAA,IACA,iBAAiB,YAAY;AAAA,IAC7B;AAAA,EACJ;AACA,aAAO,kCAAa,cAAc,oBAAoB,kBAAkB;AAC5E;AAOA,IAAM,sBAAsB;AAAA,EACxB,mBAAmB;AAAA,EACnB,aAAa;AACjB;AAQO,IAAM,cAAc,CAAC,gBACxB,wBAAQ,SAAS,CAAC,KAAK,QAAS,oBAAoB,GAAG,IAAI,oBAAoB,GAAG,IAAI,GAAI;AAWvF,IAAM,uBAAuB,CAAC,cAA4B,YAAwC;AACrG,QAAM,eAAuB,iBAAiB,UAAU,UAAU;AAClE,QAAM,UAAkB,iBAAiB,UAAU,cAAc;AACjE,QAAM,aAAa,gBAAgB,YAAY;AAC/C,QAAM,eAAe,GAAG,YAAY;AACpC,QAAM,aAAa,mBAAK;AACxB,MAAI,WAAW,YAAY,GAAG;AAC1B,QAAI,WAAW,YAAY,MAAM,UAAU;AACvC,iBAAW,OAAO,IAAI;AACtB,iBAAW,UAAU,IAAI;AAAA,IAC7B,WAAW,WAAW,YAAY,MAAM,cAAc;AAClD,iBAAW,OAAO,IAAI;AACtB,iBAAW,UAAU,IAAI;AAAA,IAC7B,OAAO;AACH,iBAAW,OAAO,IAAI;AACtB,iBAAW,UAAU,IAAI;AAAA,IAC7B;AAAA,EACJ;AACA,aAAO,qBAAK,YAAY,CAAC,YAAY,CAAC;AAC1C;AASO,IAAM,2BAA2B,CAAC,wBACrC,sBAAM,YAAY,eAAe,CAAC,EAC7B,KAAK,aAAW,qBAAqB,SAAS,OAAO,CAAC,EACtD,KAAK,aAAW,qBAAqB,SAAS,OAAO,CAAC,EACtD,MAAM;",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FixedSizeContainer.d.ts","sourceRoot":"","sources":["../../src/common/hocs/FixedSizeContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwE/B,UAAU,mBAAmB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,QAAA,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,EACzD,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAC5B,KAAK,CAAC,aAAa,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"FixedSizeContainer.d.ts","sourceRoot":"","sources":["../../src/common/hocs/FixedSizeContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwE/B,UAAU,mBAAmB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,QAAA,MAAM,sBAAsB,GAAI,CAAC,SAAS,mBAAmB,EACzD,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAC5B,KAAK,CAAC,aAAa,CAAC,CAAC,CAoCvB,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pixel height of the paginator bar, matching the value used in the Table
|
|
3
|
+
* styled component SUITableContainer. Exported so callers can share the constant
|
|
4
|
+
* rather than duplicate it.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PAGINATOR_CONTAINER_HEIGHT = 38;
|
|
7
|
+
/**
|
|
8
|
+
* Pixel spacing between the table body and the paginator bar.
|
|
9
|
+
*/
|
|
10
|
+
export declare const PAGINATOR_SPACING = 5;
|
|
11
|
+
interface UseDynamicHeightParams {
|
|
12
|
+
/** Whether the dynamic-height feature is currently enabled. */
|
|
13
|
+
dynamicHeight?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Framework-supplied callback that receives the viz's total natural height
|
|
16
|
+
* in pixels. Pass `undefined` to clear a previously reported override
|
|
17
|
+
* (e.g. when dynamic height is disabled).
|
|
18
|
+
*/
|
|
19
|
+
onRequestHeight?: (height: number | undefined) => void;
|
|
20
|
+
/** Whether the paginator is currently active (adds chrome to the measurement). */
|
|
21
|
+
isPaging: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Opaque change signal — re-measuring is triggered whenever this value
|
|
24
|
+
* changes identity (use `tableBody.rows`).
|
|
25
|
+
*/
|
|
26
|
+
rows: unknown;
|
|
27
|
+
/**
|
|
28
|
+
* Opaque change signal — re-measuring is triggered whenever this value
|
|
29
|
+
* changes identity (use the `expandedRowJson` memo from the component).
|
|
30
|
+
*/
|
|
31
|
+
expandedRowJson: unknown;
|
|
32
|
+
}
|
|
33
|
+
interface UseDynamicHeightResult {
|
|
34
|
+
/** Attach to the outermost container element (`VizTableContainer`). */
|
|
35
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
36
|
+
/** Attach to the scroll-viewport container (`SUITableContainer`). */
|
|
37
|
+
containerRefInner: React.RefObject<HTMLDivElement | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Attach to the SUI Table element via its `elementRef` prop.
|
|
40
|
+
* The hook reaches the inner `<table>` node through this ref.
|
|
41
|
+
*/
|
|
42
|
+
suiTableRef: React.RefObject<HTMLDivElement | null>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Manages dynamic-height reporting for the Table visualization.
|
|
46
|
+
*
|
|
47
|
+
* Responsibilities:
|
|
48
|
+
* - Measures the table's natural content height (inner `<table>` scrollHeight +
|
|
49
|
+
* container padding + optional paginator chrome) and reports it via
|
|
50
|
+
* `onRequestHeight` whenever content changes size.
|
|
51
|
+
* - Dedupes: only fires `onRequestHeight` when the computed height changes.
|
|
52
|
+
* - Caches the last measured height so that toggling `dynamicHeight` back on
|
|
53
|
+
* can immediately re-report without waiting for a new ResizeObserver entry.
|
|
54
|
+
* - Clears the layout override (reports `undefined`) when `dynamicHeight` flips
|
|
55
|
+
* false, but keeps the cache so re-enabling restores the grown height.
|
|
56
|
+
*
|
|
57
|
+
* The hook owns and returns the three refs that must be attached to DOM nodes
|
|
58
|
+
* by the calling component.
|
|
59
|
+
*
|
|
60
|
+
* **Future seam:** the `onRequestHeight` prop will eventually be replaced by
|
|
61
|
+
* `useDynamicHeightCallback(id)` from `@splunk/dashboard-context` once that hook
|
|
62
|
+
* is available. The internal caching and enable/disable logic already mirrors the
|
|
63
|
+
* framework's `useDynamicHeightReporter` shape to make that swap straightforward.
|
|
64
|
+
*/
|
|
65
|
+
export declare const useDynamicHeight: ({ dynamicHeight, onRequestHeight, isPaging, rows, expandedRowJson, }: UseDynamicHeightParams) => UseDynamicHeightResult;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=useDynamicHeight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDynamicHeight.d.ts","sourceRoot":"","sources":["../../src/common/hooks/useDynamicHeight.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,UAAU,sBAAsB;IAC5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACvD,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC5B,uEAAuE;IACvE,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,qEAAqE;IACrE,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,GAAI,sEAM9B,sBAAsB,KAAG,sBA8F3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VizCategory.d.ts","sourceRoot":"","sources":["../../src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACnB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,UAAU,oBAAoB;IAC9B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"VizCategory.d.ts","sourceRoot":"","sources":["../../src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACnB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,UAAU,oBAAoB;IAC9B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB"}
|