@splunk/visualizations 28.8.0 → 28.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +2 -4
- package/Area.config.js.map +2 -2
- package/Area.js +245 -147
- package/Area.js.map +4 -4
- package/Bar.config.js +2 -4
- package/Bar.config.js.map +2 -2
- package/Bar.js +246 -148
- package/Bar.js.map +4 -4
- package/Bubble/Bubble.d.ts +3 -1
- package/Bubble/Bubble.d.ts.map +1 -1
- package/Bubble.js +216 -108
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +43 -1
- package/ChoroplethSvg/ChoroplethSvg.d.ts +3 -1
- package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
- package/ChoroplethSvg.js +638 -209
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +2 -4
- package/Column.config.js.map +2 -2
- package/Column.js +246 -148
- package/Column.js.map +4 -4
- package/Ellipse/Ellipse.d.ts +3 -1
- package/Ellipse/Ellipse.d.ts.map +1 -1
- package/Ellipse.js +216 -105
- package/Ellipse.js.map +4 -4
- package/Events/Events.d.ts +5 -3
- package/Events/Events.d.ts.map +1 -1
- package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -1
- package/Events/PureEvents/PureEvents.d.ts +0 -1
- package/Events/PureEvents/PureEvents.d.ts.map +1 -1
- package/Events.js +270 -157
- package/Events.js.map +4 -4
- package/FillerGauge.js +243 -140
- package/FillerGauge.js.map +4 -4
- package/Image/Image.d.ts +3 -1
- package/Image/Image.d.ts.map +1 -1
- package/Image.js +217 -106
- package/Image.js.map +4 -4
- package/Line.config.js +2 -4
- package/Line.config.js.map +2 -2
- package/Line.js +246 -148
- package/Line.js.map +4 -4
- package/LinkGraph/LinkGraph.d.ts +3 -1
- package/LinkGraph/LinkGraph.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -1
- package/LinkGraph.config.js +1 -1
- package/LinkGraph.config.js.map +2 -2
- package/LinkGraph.js +802 -682
- package/LinkGraph.js.map +4 -4
- package/Map/Map.d.ts +10 -9
- package/Map/Map.d.ts.map +1 -1
- package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
- package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -1
- package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
- package/Map/PureMap/MapUtils.d.ts.map +1 -1
- package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
- package/Map/PureMap/PureMap.d.ts +8 -65
- package/Map/PureMap/PureMap.d.ts.map +1 -1
- package/Map/PureMap/mapWorker.d.ts +2 -0
- package/Map/PureMap/mapWorker.d.ts.map +1 -0
- package/Map.config.js +1 -1
- package/Map.config.js.map +2 -2
- package/Map.js +439 -336
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts +9 -1
- package/Markdown/Markdown.d.ts.map +1 -1
- package/Markdown/config.d.ts.map +1 -1
- package/Markdown.config.js +5 -0
- package/Markdown.config.js.map +2 -2
- package/Markdown.js +225 -94
- package/Markdown.js.map +3 -3
- package/MarkerGauge.js +239 -134
- package/MarkerGauge.js.map +4 -4
- 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/utils/networkGraphUtils.d.ts +3 -5
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
- package/NetworkGraph.config.js +4 -2
- package/NetworkGraph.config.js.map +2 -2
- package/NetworkGraph.js +327 -188
- package/NetworkGraph.js.map +4 -4
- package/ParallelCoordinates/ParallelCoordinates.d.ts +3 -1
- package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
- package/ParallelCoordinates.js +239 -128
- package/ParallelCoordinates.js.map +4 -4
- package/Pie/config.d.ts.map +1 -1
- package/Pie/pieUtils.d.ts.map +1 -1
- package/Pie.config.js +4 -2
- package/Pie.config.js.map +2 -2
- package/Pie.js +228 -125
- package/Pie.js.map +3 -3
- 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 +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +2 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +2 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +5 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -1
- package/ProcessTree.js +435 -192
- package/ProcessTree.js.map +4 -4
- package/Punchcard/Punchcard.d.ts +3 -1
- package/Punchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard.js +238 -129
- package/Punchcard.js.map +4 -4
- package/Rectangle/Rectangle.d.ts +3 -1
- package/Rectangle/Rectangle.d.ts.map +1 -1
- package/Rectangle.js +218 -116
- package/Rectangle.js.map +4 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts +1 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
- package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts +14 -0
- package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts +15 -0
- package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts +9 -0
- package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts.map +1 -0
- package/RichText/PureRichText/InnerEditor.d.ts +15 -9
- package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichText.d.ts +5 -10
- package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichTextContext.d.ts +3 -6
- package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
- package/RichText/PureRichText/RichTextStyles.d.ts +5 -4
- package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -1
- package/RichText/PureRichText/activeInstance.d.ts +6 -7
- package/RichText/PureRichText/activeInstance.d.ts.map +1 -1
- package/RichText/PureRichText/config.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useContentSync.d.ts +9 -9
- package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +2 -7
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts +8 -4
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +2 -4
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +3 -7
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts +2 -2
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +2 -3
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useTokenMap.d.ts +13 -24
- package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts +2 -5
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -1
- package/RichText/PureRichText/types.d.ts +6 -0
- package/RichText/PureRichText/types.d.ts.map +1 -1
- package/RichText/PureRichText/utils/slateUtils.d.ts +26 -2
- package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
- package/RichText/RichText.d.ts +3 -1
- package/RichText/RichText.d.ts.map +1 -1
- package/RichText/config.d.ts.map +1 -1
- package/RichText.config.js +5 -0
- package/RichText.config.js.map +2 -2
- package/RichText.js +1848 -842
- package/RichText.js.map +4 -4
- package/Sankey/PureSankey/PureSankey.d.ts +2 -0
- package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyLink.d.ts +3 -1
- package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyNode.d.ts +5 -2
- package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
- package/Sankey/Sankey.d.ts +3 -1
- package/Sankey/Sankey.d.ts.map +1 -1
- package/Sankey.js +508 -219
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +3 -5
- package/Scatter.config.js.map +2 -2
- package/Scatter.js +244 -146
- package/Scatter.js.map +4 -4
- package/SingleValue/SingleValue.d.ts.map +1 -1
- package/SingleValue.js +273 -173
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js +4 -4
- package/SingleValueBasic.js.map +2 -2
- package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
- package/SingleValueIcon.js +264 -164
- package/SingleValueIcon.js.map +4 -4
- package/SingleValueRadial.js +267 -167
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine/SparkLine.d.ts.map +1 -1
- package/SparkLine.js.map +2 -2
- package/Table/PureTable.d.ts.map +1 -1
- package/Table/Table.d.ts +2 -5
- package/Table/Table.d.ts.map +1 -1
- package/Table/hooks.d.ts.map +1 -1
- package/Table.config.js +1 -1
- package/Table.config.js.map +2 -2
- package/Table.js +293 -271
- package/Table.js.map +4 -4
- package/Timeline/Timeline.d.ts +3 -1
- package/Timeline/Timeline.d.ts.map +1 -1
- package/Timeline.config.js +2 -2
- package/Timeline.config.js.map +2 -2
- package/Timeline.js +266 -142
- package/Timeline.js.map +4 -4
- package/Treemap/Treemap.d.ts +3 -1
- package/Treemap/Treemap.d.ts.map +1 -1
- package/Treemap.js +263 -147
- package/Treemap.js.map +4 -4
- package/common/Charting.js +8 -10
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.d.ts.map +1 -1
- package/common/ChartingApi.js +5 -2
- package/common/ChartingApi.js.map +2 -2
- package/common/DocExampleWithVizSandbox.d.ts +2 -0
- package/common/DocExampleWithVizSandbox.d.ts.map +1 -1
- package/common/DocExampleWithVizSandbox.js +54 -6
- package/common/DocExampleWithVizSandbox.js.map +2 -2
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js.map +2 -2
- package/common/OptionsDoc.js +1 -1
- package/common/OptionsDoc.js.map +2 -2
- package/common/OverviewDoc.js +54 -6
- package/common/OverviewDoc.js.map +2 -2
- package/common/ThemesDoc.js.map +2 -2
- package/common/TimeSeriesChartWrapper.js +10 -9
- package/common/TimeSeriesChartWrapper.js.map +2 -2
- package/common/chartingUtils.d.ts.map +1 -1
- package/common/chartingUtils.js +12 -11
- package/common/chartingUtils.js.map +2 -2
- package/common/components/IconPlaceholder.d.ts.map +1 -1
- package/common/docUtils.d.ts.map +1 -1
- package/common/docUtils.js +15 -6
- package/common/docUtils.js.map +2 -2
- package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
- package/common/gaugeUtils.d.ts.map +1 -1
- package/common/gaugeUtils.js +4 -2
- package/common/gaugeUtils.js.map +2 -2
- package/common/hooks/useSorting.d.ts.map +1 -1
- package/common/interfaces/VizEvent.d.ts +7 -0
- package/common/interfaces/VizEvent.d.ts.map +1 -1
- package/common/utils/dataUtils.d.ts.map +1 -1
- package/common/utils/dataUtils.js +6 -10
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/featureFlagUtils.js +2 -2
- package/common/utils/featureFlagUtils.js.map +2 -2
- package/common/utils/focusUtils.js +1 -1
- package/common/utils/focusUtils.js.map +2 -2
- package/common/utils/mapUtils.d.ts.map +1 -1
- package/common/utils/mapUtils.js +17 -21
- package/common/utils/mapUtils.js.map +3 -3
- package/common/utils/singleValueUtils.js +22 -25
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/textUtils.d.ts.map +1 -1
- package/common/utils/textUtils.js +37 -23
- package/common/utils/textUtils.js.map +2 -2
- package/common/utils/trellisUtils.d.ts.map +1 -1
- package/common/utils/trellisUtils.js +18 -17
- package/common/utils/trellisUtils.js.map +2 -2
- package/common/utils/urlUtils.js.map +2 -2
- package/common/utils/visualizationTheme.d.ts +15 -0
- package/common/utils/visualizationTheme.d.ts.map +1 -0
- package/common/utils/visualizationTheme.js +72 -0
- package/common/utils/visualizationTheme.js.map +7 -0
- package/common/withDashboardViz.d.ts +3 -1
- package/common/withDashboardViz.d.ts.map +1 -1
- package/common/withDashboardViz.js +216 -105
- package/common/withDashboardViz.js.map +4 -4
- package/docs-llm/map/examples-react.md +39 -39
- package/docs-llm/network-graph/options.md +2 -2
- package/docs-llm/pie/examples-json.md +195 -0
- package/docs-llm/pie/examples-react.md +123 -0
- package/docs-llm/pie/options.md +1 -1
- package/docs-llm/process-tree/options.md +3 -2
- package/package.json +32 -29
package/Markdown.js
CHANGED
|
@@ -66,6 +66,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
66
66
|
var Markdown_exports3 = {};
|
|
67
67
|
__export(Markdown_exports3, {
|
|
68
68
|
FONT_SIZES: () => FONT_SIZES,
|
|
69
|
+
MarkdownVisualization: () => MarkdownVisualization,
|
|
69
70
|
computeVizProps: () => computeVizProps,
|
|
70
71
|
config: () => config_default,
|
|
71
72
|
default: () => Markdown_default3,
|
|
@@ -427,7 +428,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
427
428
|
onSort = (e, { sortKey, sortDir }) => {
|
|
428
429
|
if (typeof sortKey === "string") {
|
|
429
430
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
430
|
-
onRequestParamsChange(
|
|
431
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
432
|
+
offset: 0,
|
|
433
|
+
sort: { [sortKey]: nextSortDir }
|
|
434
|
+
}));
|
|
431
435
|
} else {
|
|
432
436
|
onRequestParamsChange(requestParams);
|
|
433
437
|
}
|
|
@@ -562,7 +566,7 @@ var Cover = styled_components_default.div`
|
|
|
562
566
|
bottom: 0;
|
|
563
567
|
`;
|
|
564
568
|
var Blocker = styled_components_default.div.attrs({
|
|
565
|
-
"data-splunk-visualization-version": "28.
|
|
569
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41"
|
|
566
570
|
})`
|
|
567
571
|
position: relative;
|
|
568
572
|
width: 100%;
|
|
@@ -652,7 +656,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
652
656
|
FixSizeItem,
|
|
653
657
|
{
|
|
654
658
|
"data-test": "fix-size-item",
|
|
655
|
-
"data-splunk-visualization-version": "28.
|
|
659
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41",
|
|
656
660
|
width,
|
|
657
661
|
height,
|
|
658
662
|
backgroundColor
|
|
@@ -673,6 +677,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
673
677
|
const noFields = fields === void 0;
|
|
674
678
|
return loading || noData || noFields;
|
|
675
679
|
};
|
|
680
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
681
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
682
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
683
|
+
color: ${(0, themes_exports.pick)({
|
|
684
|
+
dark: "#fafafa",
|
|
685
|
+
light: "#2c2c2c"
|
|
686
|
+
})};
|
|
687
|
+
`;
|
|
676
688
|
var IconPlaceholder = (props) => {
|
|
677
689
|
const {
|
|
678
690
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -687,7 +699,6 @@ var IconPlaceholder = (props) => {
|
|
|
687
699
|
style: {
|
|
688
700
|
left: "50%",
|
|
689
701
|
top: "50%",
|
|
690
|
-
color: iconColor,
|
|
691
702
|
opacity: 0.15,
|
|
692
703
|
position: "absolute",
|
|
693
704
|
transform: "translate(-50%, -50%)"
|
|
@@ -697,7 +708,14 @@ var IconPlaceholder = (props) => {
|
|
|
697
708
|
"data-test": "icon-placeholder"
|
|
698
709
|
});
|
|
699
710
|
}
|
|
700
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
711
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
712
|
+
PlaceholderContainer,
|
|
713
|
+
{
|
|
714
|
+
"data-test": "icon-placeholder-container",
|
|
715
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
716
|
+
},
|
|
717
|
+
content
|
|
718
|
+
);
|
|
701
719
|
};
|
|
702
720
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
703
721
|
|
|
@@ -771,7 +789,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
771
789
|
let avgY = 0;
|
|
772
790
|
let avgRangeStart = Math.floor((i + 1) * every) + 1;
|
|
773
791
|
let avgRangeEnd = Math.floor((i + 2) * every) + 1;
|
|
774
|
-
avgRangeEnd = avgRangeEnd
|
|
792
|
+
avgRangeEnd = Math.min(avgRangeEnd, dataLength);
|
|
775
793
|
const avgRangeLength = avgRangeEnd - avgRangeStart;
|
|
776
794
|
for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
|
|
777
795
|
avgX += Number(data[avgRangeStart][0]);
|
|
@@ -806,9 +824,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
806
824
|
};
|
|
807
825
|
var strictlyCoerceYColumn = (column, options) => {
|
|
808
826
|
const isNullCoercionEnabled = options.nullValueDisplay === "zero";
|
|
809
|
-
const canLooselyCoerceSomeValues = column.
|
|
827
|
+
const canLooselyCoerceSomeValues = column.some(
|
|
810
828
|
(value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
|
|
811
|
-
)
|
|
829
|
+
);
|
|
812
830
|
const coercedColumn = [];
|
|
813
831
|
const canDownsampleColumn = !column.some((value) => {
|
|
814
832
|
const coercedValue = Number(value);
|
|
@@ -827,7 +845,7 @@ var strictlyCoerceYColumn = (column, options) => {
|
|
|
827
845
|
};
|
|
828
846
|
var strictlyCoerceXColumn = (column, fieldType) => {
|
|
829
847
|
if (fieldType === "number") {
|
|
830
|
-
const coercedXColumn = column.map(
|
|
848
|
+
const coercedXColumn = column.map(Number);
|
|
831
849
|
if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
|
|
832
850
|
return coercedXColumn;
|
|
833
851
|
}
|
|
@@ -1132,10 +1150,10 @@ var FeatureFlags_default = "default" in defaultImport30 ? defaultImport30.defaul
|
|
|
1132
1150
|
|
|
1133
1151
|
// src/common/utils/featureFlagUtils.ts
|
|
1134
1152
|
var getFeatureFlag = (context, flagName) => {
|
|
1135
|
-
if (context && Object.keys(context).
|
|
1153
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
1136
1154
|
return context[flagName];
|
|
1137
1155
|
}
|
|
1138
|
-
if (Object.keys(FeatureFlags_default).
|
|
1156
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
1139
1157
|
return FeatureFlags_default[flagName];
|
|
1140
1158
|
}
|
|
1141
1159
|
return false;
|
|
@@ -1248,9 +1266,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
1248
1266
|
const xAxisIsTime = xField === "_time";
|
|
1249
1267
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
1250
1268
|
};
|
|
1251
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
1269
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
1252
1270
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
1253
|
-
return canvasSupportedTimeSeriesCharts.
|
|
1271
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
1254
1272
|
};
|
|
1255
1273
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
1256
1274
|
const { fields, columns } = chartData;
|
|
@@ -1266,7 +1284,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
1266
1284
|
return { fields: filteredFields, columns: filteredColumns };
|
|
1267
1285
|
};
|
|
1268
1286
|
var convert2DArrayToNumbers = (arr) => {
|
|
1269
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
1287
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
1270
1288
|
};
|
|
1271
1289
|
var parseAxisValue = (val) => {
|
|
1272
1290
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -1304,6 +1322,7 @@ var getLegend = (props) => {
|
|
|
1304
1322
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
1305
1323
|
wrap: true
|
|
1306
1324
|
}, commonLegendProps));
|
|
1325
|
+
// Note: By default, use right legend
|
|
1307
1326
|
default:
|
|
1308
1327
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
1309
1328
|
}
|
|
@@ -1436,10 +1455,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
1436
1455
|
let spanGaps;
|
|
1437
1456
|
if (nullValueMode === "gaps") {
|
|
1438
1457
|
spanGaps = false;
|
|
1439
|
-
} else if (nullValueMode
|
|
1440
|
-
spanGaps = true;
|
|
1441
|
-
} else {
|
|
1458
|
+
} else if (nullValueMode == null) {
|
|
1442
1459
|
spanGaps = void 0;
|
|
1460
|
+
} else {
|
|
1461
|
+
spanGaps = true;
|
|
1443
1462
|
}
|
|
1444
1463
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
1445
1464
|
const isAreaChart = type === "area";
|
|
@@ -1879,11 +1898,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
1879
1898
|
y2AxisMajorUnitFromSimpleXML,
|
|
1880
1899
|
y2AxisMajorTickInterval
|
|
1881
1900
|
);
|
|
1882
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
1883
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
1884
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
1885
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
1886
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
1901
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
1902
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
1903
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
1904
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
1905
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
1887
1906
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
1888
1907
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
1889
1908
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -2295,6 +2314,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
2295
2314
|
});
|
|
2296
2315
|
return result;
|
|
2297
2316
|
};
|
|
2317
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
2318
|
+
if (!supportsEvents) return {};
|
|
2319
|
+
const defaultEvents = {};
|
|
2320
|
+
const userEvents = {};
|
|
2321
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
2322
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
2323
|
+
});
|
|
2324
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
2325
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
2326
|
+
};
|
|
2327
|
+
var applyContextTimezone = (localeContext) => {
|
|
2328
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
2329
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
2330
|
+
}
|
|
2331
|
+
};
|
|
2332
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
2333
|
+
visualizationID,
|
|
2334
|
+
props,
|
|
2335
|
+
optionsToEvaluate,
|
|
2336
|
+
downsampledDataSources,
|
|
2337
|
+
vizConfig,
|
|
2338
|
+
bypassCloneDeepOptionScope,
|
|
2339
|
+
lazyLoadingDataFrame
|
|
2340
|
+
}) => {
|
|
2341
|
+
return {
|
|
2342
|
+
visualizationID,
|
|
2343
|
+
props,
|
|
2344
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
2345
|
+
dataSources: downsampledDataSources,
|
|
2346
|
+
theme: vizConfig.themes,
|
|
2347
|
+
bypassCloneDeepOptionScope,
|
|
2348
|
+
lazyLoadingDataFrame
|
|
2349
|
+
};
|
|
2350
|
+
};
|
|
2351
|
+
var evaluateOptionsSync = ({
|
|
2352
|
+
optionsToEvaluate,
|
|
2353
|
+
downsampledDataSources,
|
|
2354
|
+
dataSourcesInState,
|
|
2355
|
+
dataFramesInState,
|
|
2356
|
+
setDataSourcesInState,
|
|
2357
|
+
setDataFramesInState,
|
|
2358
|
+
computeDataFrames,
|
|
2359
|
+
featureFlagContext,
|
|
2360
|
+
themeFunc
|
|
2361
|
+
}) => {
|
|
2362
|
+
let dataFrames = dataFramesInState;
|
|
2363
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
2364
|
+
setDataSourcesInState(downsampledDataSources);
|
|
2365
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
2366
|
+
downsampledDataSources,
|
|
2367
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2368
|
+
);
|
|
2369
|
+
setDataFramesInState(dataFrames);
|
|
2370
|
+
}
|
|
2371
|
+
let mergedFrames = dataFrames;
|
|
2372
|
+
if (computeDataFrames && dataFrames) {
|
|
2373
|
+
const derivedFrames = computeDataFrames({
|
|
2374
|
+
dataSources: downsampledDataSources,
|
|
2375
|
+
options: optionsToEvaluate.options
|
|
2376
|
+
});
|
|
2377
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
2378
|
+
}
|
|
2379
|
+
return Options_exports.Options.evaluate(
|
|
2380
|
+
optionsToEvaluate,
|
|
2381
|
+
downsampledDataSources,
|
|
2382
|
+
themeFunc,
|
|
2383
|
+
mergedFrames,
|
|
2384
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2385
|
+
);
|
|
2386
|
+
};
|
|
2298
2387
|
var withDashboardViz = (opts) => {
|
|
2299
2388
|
const {
|
|
2300
2389
|
ReactViz,
|
|
@@ -2326,11 +2415,7 @@ var withDashboardViz = (opts) => {
|
|
|
2326
2415
|
onRequestParamsChange = lodash_exports.noop
|
|
2327
2416
|
} = props;
|
|
2328
2417
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
2329
|
-
|
|
2330
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
2331
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
2332
|
-
}
|
|
2333
|
-
}
|
|
2418
|
+
applyContextTimezone(localeContext);
|
|
2334
2419
|
const themeFunc = (themeVar) => {
|
|
2335
2420
|
var _a2, _b;
|
|
2336
2421
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -2358,7 +2443,12 @@ var withDashboardViz = (opts) => {
|
|
|
2358
2443
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
2359
2444
|
);
|
|
2360
2445
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
2361
|
-
const
|
|
2446
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
2447
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2448
|
+
);
|
|
2449
|
+
const lazyLoadingDataFrame = Boolean(
|
|
2450
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2451
|
+
);
|
|
2362
2452
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
2363
2453
|
var _a2;
|
|
2364
2454
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -2397,63 +2487,74 @@ var withDashboardViz = (opts) => {
|
|
|
2397
2487
|
threshold,
|
|
2398
2488
|
isDownsamplingEnabled
|
|
2399
2489
|
});
|
|
2400
|
-
|
|
2490
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
2491
|
+
() => getAsyncOptionsEvaluationParams({
|
|
2492
|
+
visualizationID,
|
|
2493
|
+
props,
|
|
2494
|
+
optionsToEvaluate,
|
|
2495
|
+
downsampledDataSources,
|
|
2496
|
+
vizConfig,
|
|
2497
|
+
bypassCloneDeepOptionScope,
|
|
2498
|
+
lazyLoadingDataFrame
|
|
2499
|
+
}),
|
|
2500
|
+
[
|
|
2501
|
+
visualizationID,
|
|
2502
|
+
optionsToEvaluate,
|
|
2503
|
+
downsampledDataSources,
|
|
2504
|
+
vizConfig,
|
|
2505
|
+
bypassCloneDeepOptionScope,
|
|
2506
|
+
lazyLoadingDataFrame,
|
|
2507
|
+
currentThemeFamily,
|
|
2508
|
+
currentThemeColorScheme,
|
|
2509
|
+
currentThemeDensity,
|
|
2510
|
+
localeContext.serializedTimezone
|
|
2511
|
+
]
|
|
2512
|
+
);
|
|
2513
|
+
react_exports.useEffect(() => {
|
|
2514
|
+
if (!useAsyncEvaluatedOptions) {
|
|
2515
|
+
return void 0;
|
|
2516
|
+
}
|
|
2517
|
+
let ownsEvaluation = true;
|
|
2401
2518
|
try {
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
visualizationID,
|
|
2405
|
-
props,
|
|
2406
|
-
options: optionsToEvaluate,
|
|
2407
|
-
dataSources: downsampledDataSources,
|
|
2408
|
-
theme: vizConfig.themes,
|
|
2409
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
2410
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2411
|
-
),
|
|
2412
|
-
lazyLoadingDataFrame: Boolean(
|
|
2413
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2414
|
-
)
|
|
2415
|
-
};
|
|
2416
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
2519
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
2520
|
+
if (ownsEvaluation) {
|
|
2417
2521
|
setEvaluatedOptionsAsync(results.results);
|
|
2418
|
-
}).catch(() => {
|
|
2419
|
-
if (isMounted.current) {
|
|
2420
|
-
setUseAsyncEvaluatedOptions(false);
|
|
2421
|
-
}
|
|
2422
|
-
});
|
|
2423
|
-
} else {
|
|
2424
|
-
let dataFrames = dataFramesInState;
|
|
2425
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
2426
|
-
setDataSourcesInState(downsampledDataSources);
|
|
2427
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
2428
|
-
downsampledDataSources,
|
|
2429
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2430
|
-
);
|
|
2431
|
-
setDataFramesInState(dataFrames);
|
|
2432
2522
|
}
|
|
2433
|
-
|
|
2434
|
-
if (
|
|
2435
|
-
|
|
2436
|
-
dataSources: downsampledDataSources,
|
|
2437
|
-
options: optionsToEvaluate.options
|
|
2438
|
-
});
|
|
2439
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
2523
|
+
}).catch(() => {
|
|
2524
|
+
if (ownsEvaluation) {
|
|
2525
|
+
setUseAsyncEvaluatedOptions(false);
|
|
2440
2526
|
}
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2527
|
+
});
|
|
2528
|
+
} catch (e) {
|
|
2529
|
+
setUseAsyncEvaluatedOptions(false);
|
|
2530
|
+
}
|
|
2531
|
+
return () => {
|
|
2532
|
+
ownsEvaluation = false;
|
|
2533
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
2534
|
+
};
|
|
2535
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
2536
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
2537
|
+
try {
|
|
2538
|
+
if (useAsyncEvaluatedOptions) {
|
|
2539
|
+
return {};
|
|
2449
2540
|
}
|
|
2541
|
+
return evaluateOptionsSync({
|
|
2542
|
+
optionsToEvaluate,
|
|
2543
|
+
downsampledDataSources,
|
|
2544
|
+
dataSourcesInState,
|
|
2545
|
+
dataFramesInState,
|
|
2546
|
+
setDataSourcesInState,
|
|
2547
|
+
setDataFramesInState,
|
|
2548
|
+
computeDataFrames,
|
|
2549
|
+
featureFlagContext,
|
|
2550
|
+
themeFunc
|
|
2551
|
+
});
|
|
2450
2552
|
} catch (e) {
|
|
2451
2553
|
if (e instanceof Error) {
|
|
2452
2554
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
2453
2555
|
}
|
|
2454
2556
|
return {};
|
|
2455
2557
|
}
|
|
2456
|
-
return {};
|
|
2457
2558
|
}, [
|
|
2458
2559
|
currentThemeFamily,
|
|
2459
2560
|
currentThemeColorScheme,
|
|
@@ -2463,7 +2564,7 @@ var withDashboardViz = (opts) => {
|
|
|
2463
2564
|
localeContext.serializedTimezone,
|
|
2464
2565
|
useAsyncEvaluatedOptions
|
|
2465
2566
|
]);
|
|
2466
|
-
const evaluatedOptionsToUse =
|
|
2567
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
2467
2568
|
let dataSourceMetadata = {};
|
|
2468
2569
|
const OptionKey = "paginateDataSourceKey";
|
|
2469
2570
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -2485,7 +2586,7 @@ var withDashboardViz = (opts) => {
|
|
|
2485
2586
|
sortParams,
|
|
2486
2587
|
paginatorParams
|
|
2487
2588
|
};
|
|
2488
|
-
if (vizConfig.supports.
|
|
2589
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
2489
2590
|
dataSourceMetadata = {};
|
|
2490
2591
|
}
|
|
2491
2592
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -2495,14 +2596,6 @@ var withDashboardViz = (opts) => {
|
|
|
2495
2596
|
react_exports.useEffect(() => {
|
|
2496
2597
|
onComputedProps(clonedEvaluatedOptions);
|
|
2497
2598
|
});
|
|
2498
|
-
react_exports.useEffect(() => {
|
|
2499
|
-
return () => {
|
|
2500
|
-
if (useAsyncEvaluatedOptions) {
|
|
2501
|
-
isMounted.current = false;
|
|
2502
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
2503
|
-
}
|
|
2504
|
-
};
|
|
2505
|
-
}, []);
|
|
2506
2599
|
const { requiredProps = [], supports } = vizConfig;
|
|
2507
2600
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
2508
2601
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -2517,7 +2610,16 @@ var withDashboardViz = (opts) => {
|
|
|
2517
2610
|
}
|
|
2518
2611
|
);
|
|
2519
2612
|
}
|
|
2520
|
-
const eventCallbackProps =
|
|
2613
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
2614
|
+
vizConfig.events,
|
|
2615
|
+
evaluatedOptionsToUse,
|
|
2616
|
+
onEventTrigger,
|
|
2617
|
+
{
|
|
2618
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
2619
|
+
hasEventHandlers,
|
|
2620
|
+
mode
|
|
2621
|
+
}
|
|
2622
|
+
);
|
|
2521
2623
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
2522
2624
|
// Align option transformation with the actual renderer selected below.
|
|
2523
2625
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -2545,8 +2647,9 @@ var withDashboardViz = (opts) => {
|
|
|
2545
2647
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
2546
2648
|
});
|
|
2547
2649
|
DashboardViz.config = vizConfig;
|
|
2548
|
-
return
|
|
2549
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
2650
|
+
return Object.assign(
|
|
2651
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
2652
|
+
{ config: vizConfig }
|
|
2550
2653
|
);
|
|
2551
2654
|
};
|
|
2552
2655
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -2735,6 +2838,11 @@ var config = {
|
|
|
2735
2838
|
events: {
|
|
2736
2839
|
"markdown.click": {
|
|
2737
2840
|
description: "triggered when user clicks on markdown area not formatted as a link"
|
|
2841
|
+
},
|
|
2842
|
+
"link.open": {
|
|
2843
|
+
description: "triggered when the user activates a link; payload carries the resolved url",
|
|
2844
|
+
// Default behavior: fires ungated by event handlers and in edit mode too.
|
|
2845
|
+
source: "default"
|
|
2738
2846
|
}
|
|
2739
2847
|
},
|
|
2740
2848
|
supports: ["dynamic-options" /* DYNAMIC_OPTIONS */, "events" /* EVENTS */],
|
|
@@ -2788,7 +2896,7 @@ var MarkdownContainer = styled_components_default.div`
|
|
|
2788
2896
|
color: ${(props) => props.fontColor};
|
|
2789
2897
|
}
|
|
2790
2898
|
${({ startsWithHeader }) => startsWithHeader && `
|
|
2791
|
-
h${startsWithHeader
|
|
2899
|
+
h${Math.min(startsWithHeader, 4)}:first-of-type {
|
|
2792
2900
|
margin-top: 0px;
|
|
2793
2901
|
}
|
|
2794
2902
|
`};
|
|
@@ -2869,7 +2977,6 @@ var getFontMap = (fontSize) => {
|
|
|
2869
2977
|
}
|
|
2870
2978
|
return FONT_SIZES[font];
|
|
2871
2979
|
};
|
|
2872
|
-
var handleLinkClick = (e) => e.stopPropagation();
|
|
2873
2980
|
var StyledA = styled_components_default.a`
|
|
2874
2981
|
text-decoration: underlined;
|
|
2875
2982
|
`;
|
|
@@ -2883,7 +2990,14 @@ var StyledButton = styled_components_default(Button_default)`
|
|
|
2883
2990
|
background-color: ${themes_exports.variables.backgroundColorSection};
|
|
2884
2991
|
}
|
|
2885
2992
|
`;
|
|
2886
|
-
var
|
|
2993
|
+
var openHref = (e, href, onLinkOpen) => {
|
|
2994
|
+
e.stopPropagation();
|
|
2995
|
+
if (onLinkOpen && href) {
|
|
2996
|
+
e.preventDefault();
|
|
2997
|
+
onLinkOpen(href);
|
|
2998
|
+
}
|
|
2999
|
+
};
|
|
3000
|
+
var getMarkdownRenderer = (fontFamilyStyle, fontSize, customFontSize, onLinkOpen) => {
|
|
2887
3001
|
const cleanedCustomFontSize = (0, types_exports.isNumber)(customFontSize) ? customFontSize : 14;
|
|
2888
3002
|
const isCustomFontSize = fontSize === "custom";
|
|
2889
3003
|
const fontMap = isCustomFontSize ? {
|
|
@@ -2947,7 +3061,17 @@ var getMarkdownRenderer = (fontFamilyStyle, fontSize, customFontSize) => {
|
|
|
2947
3061
|
return /* @__PURE__ */ react_exports.createElement(CodeInlineContainer, { style: { fontSize: fontMap.p } }, children);
|
|
2948
3062
|
},
|
|
2949
3063
|
linkRenderer: ({ href, children }) => {
|
|
2950
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
3064
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
3065
|
+
StyledA,
|
|
3066
|
+
{
|
|
3067
|
+
href,
|
|
3068
|
+
onClick: (e) => openHref(e, href, onLinkOpen),
|
|
3069
|
+
onAuxClick: (e) => {
|
|
3070
|
+
if (e.button === 1) openHref(e, href, onLinkOpen);
|
|
3071
|
+
}
|
|
3072
|
+
},
|
|
3073
|
+
children
|
|
3074
|
+
);
|
|
2951
3075
|
}
|
|
2952
3076
|
};
|
|
2953
3077
|
};
|
|
@@ -2962,17 +3086,23 @@ var MarkdownVisualization = ({
|
|
|
2962
3086
|
customFontSize = 14,
|
|
2963
3087
|
rotation = 0,
|
|
2964
3088
|
hasEventHandlers = false,
|
|
2965
|
-
onMarkdownClick = lodash_exports.noop
|
|
3089
|
+
onMarkdownClick = lodash_exports.noop,
|
|
3090
|
+
onLinkOpen
|
|
2966
3091
|
}) => {
|
|
2967
3092
|
const { fontFamily: defaultFontFamily } = (0, themes_exports.useSplunkTheme)();
|
|
2968
3093
|
const markdownContentFontFamilyStyle = {
|
|
2969
3094
|
fontFamily: `${fontFamily}, ${defaultFontFamily}`
|
|
2970
3095
|
};
|
|
3096
|
+
const handleLinkOpen = react_exports.useMemo(
|
|
3097
|
+
() => onLinkOpen ? (url) => onLinkOpen({ payload: { url } }) : void 0,
|
|
3098
|
+
[onLinkOpen]
|
|
3099
|
+
);
|
|
2971
3100
|
const stringifiedMarkdown = `${markdown}`;
|
|
2972
3101
|
const renderersForFontSize = getMarkdownRenderer(
|
|
2973
3102
|
markdownContentFontFamilyStyle,
|
|
2974
3103
|
fontSize,
|
|
2975
|
-
customFontSize
|
|
3104
|
+
customFontSize,
|
|
3105
|
+
handleLinkOpen
|
|
2976
3106
|
);
|
|
2977
3107
|
const trimmedMarkdown = stringifiedMarkdown.trim();
|
|
2978
3108
|
const headerMatch = /^#+/.exec(trimmedMarkdown);
|
|
@@ -3015,7 +3145,8 @@ var computeVizProps = (props) => {
|
|
|
3015
3145
|
var Markdown = withDashboardViz_default({
|
|
3016
3146
|
ReactViz: MarkdownVisualization,
|
|
3017
3147
|
vizConfig: config_default,
|
|
3018
|
-
computeVizProps
|
|
3148
|
+
computeVizProps,
|
|
3149
|
+
disableEditModeCover: true
|
|
3019
3150
|
});
|
|
3020
3151
|
var { themes: themes2 } = config_default;
|
|
3021
3152
|
var Markdown_default3 = Markdown;
|