@gooddata/sdk-ui-charts 10.38.0-alpha.2 → 10.39.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/NOTICE +3 -3
  2. package/esm/charts/_base/BaseChart.d.ts +1 -1
  3. package/esm/charts/_base/BaseChart.d.ts.map +1 -1
  4. package/esm/charts/_base/BaseChart.js +38 -36
  5. package/esm/charts/_base/BaseChart.js.map +1 -1
  6. package/esm/charts/_commons/defaultProps.d.ts +3 -1
  7. package/esm/charts/_commons/defaultProps.d.ts.map +1 -1
  8. package/esm/charts/_commons/defaultProps.js +8 -2
  9. package/esm/charts/_commons/defaultProps.js.map +1 -1
  10. package/esm/charts/areaChart/CoreAreaChart.d.ts +1 -3
  11. package/esm/charts/areaChart/CoreAreaChart.d.ts.map +1 -1
  12. package/esm/charts/areaChart/CoreAreaChart.js +5 -7
  13. package/esm/charts/areaChart/CoreAreaChart.js.map +1 -1
  14. package/esm/charts/barChart/CoreBarChart.d.ts +1 -3
  15. package/esm/charts/barChart/CoreBarChart.d.ts.map +1 -1
  16. package/esm/charts/barChart/CoreBarChart.js +5 -7
  17. package/esm/charts/barChart/CoreBarChart.js.map +1 -1
  18. package/esm/charts/bubbleChart/CoreBubbleChart.d.ts +1 -3
  19. package/esm/charts/bubbleChart/CoreBubbleChart.d.ts.map +1 -1
  20. package/esm/charts/bubbleChart/CoreBubbleChart.js +3 -5
  21. package/esm/charts/bubbleChart/CoreBubbleChart.js.map +1 -1
  22. package/esm/charts/bulletChart/CoreBulletChart.d.ts +1 -3
  23. package/esm/charts/bulletChart/CoreBulletChart.d.ts.map +1 -1
  24. package/esm/charts/bulletChart/CoreBulletChart.js +5 -7
  25. package/esm/charts/bulletChart/CoreBulletChart.js.map +1 -1
  26. package/esm/charts/columnChart/CoreColumnChart.d.ts +1 -3
  27. package/esm/charts/columnChart/CoreColumnChart.d.ts.map +1 -1
  28. package/esm/charts/columnChart/CoreColumnChart.js +5 -7
  29. package/esm/charts/columnChart/CoreColumnChart.js.map +1 -1
  30. package/esm/charts/comboChart/CoreComboChart.d.ts +1 -3
  31. package/esm/charts/comboChart/CoreComboChart.d.ts.map +1 -1
  32. package/esm/charts/comboChart/CoreComboChart.js +5 -7
  33. package/esm/charts/comboChart/CoreComboChart.js.map +1 -1
  34. package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.d.ts +1 -3
  35. package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.d.ts.map +1 -1
  36. package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.js +5 -7
  37. package/esm/charts/dependencyWheelChart/CoreDependencyWheelChart.js.map +1 -1
  38. package/esm/charts/donutChart/CoreDonutChart.d.ts +1 -3
  39. package/esm/charts/donutChart/CoreDonutChart.d.ts.map +1 -1
  40. package/esm/charts/donutChart/CoreDonutChart.js +5 -7
  41. package/esm/charts/donutChart/CoreDonutChart.js.map +1 -1
  42. package/esm/charts/funnelChart/CoreFunnelChart.d.ts +1 -3
  43. package/esm/charts/funnelChart/CoreFunnelChart.d.ts.map +1 -1
  44. package/esm/charts/funnelChart/CoreFunnelChart.js +5 -7
  45. package/esm/charts/funnelChart/CoreFunnelChart.js.map +1 -1
  46. package/esm/charts/headline/CoreHeadline.d.ts +2 -23
  47. package/esm/charts/headline/CoreHeadline.d.ts.map +1 -1
  48. package/esm/charts/headline/CoreHeadline.js +15 -30
  49. package/esm/charts/headline/CoreHeadline.js.map +1 -1
  50. package/esm/charts/headline/HeadlineProviderFactory.d.ts.map +1 -1
  51. package/esm/charts/headline/HeadlineProviderFactory.js +6 -6
  52. package/esm/charts/headline/HeadlineProviderFactory.js.map +1 -1
  53. package/esm/charts/headline/internal/headlines/LegacyHeadline.d.ts +2 -22
  54. package/esm/charts/headline/internal/headlines/LegacyHeadline.d.ts.map +1 -1
  55. package/esm/charts/headline/internal/headlines/LegacyHeadline.js +94 -93
  56. package/esm/charts/headline/internal/headlines/LegacyHeadline.js.map +1 -1
  57. package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.d.ts +2 -2
  58. package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.d.ts.map +1 -1
  59. package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.js +3 -4
  60. package/esm/charts/headline/internal/headlines/baseHeadline/BaseHeadline.js.map +1 -1
  61. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.d.ts +2 -2
  62. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.d.ts.map +1 -1
  63. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.js +10 -16
  64. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSection.js.map +1 -1
  65. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.d.ts +4 -2
  66. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.d.ts.map +1 -1
  67. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.js +3 -4
  68. package/esm/charts/headline/internal/headlines/baseHeadline/CompareSectionItem.js.map +1 -1
  69. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.d.ts +2 -2
  70. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.d.ts.map +1 -1
  71. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.js +4 -5
  72. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySection.js.map +1 -1
  73. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.d.ts +2 -2
  74. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.d.ts.map +1 -1
  75. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.js +3 -4
  76. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionCompactContent.js.map +1 -1
  77. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.d.ts +2 -2
  78. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.d.ts.map +1 -1
  79. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.js +2 -3
  80. package/esm/charts/headline/internal/headlines/baseHeadline/PrimarySectionContent.js.map +1 -1
  81. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.d.ts +1 -2
  82. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.d.ts.map +1 -1
  83. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.js +7 -5
  84. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/BaseHeadlineDataItem.js.map +1 -1
  85. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.d.ts +1 -2
  86. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.d.ts.map +1 -1
  87. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.js +12 -8
  88. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataItem.js.map +1 -1
  89. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.d.ts +1 -2
  90. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.d.ts.map +1 -1
  91. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.js +12 -8
  92. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonDataWithSubItem.js.map +1 -1
  93. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.d.ts +3 -2
  94. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.d.ts.map +1 -1
  95. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.js +33 -9
  96. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonIndicator.js.map +1 -1
  97. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.d.ts +2 -2
  98. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.d.ts.map +1 -1
  99. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.js +2 -3
  100. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/ComparisonValue.js.map +1 -1
  101. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.d.ts +4 -2
  102. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.d.ts.map +1 -1
  103. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.js +31 -2
  104. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/comparisonItems/useComparisonDataItem.js.map +1 -1
  105. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.d.ts +20 -0
  106. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.d.ts.map +1 -0
  107. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.js +168 -0
  108. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.js.map +1 -0
  109. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.d.ts.map +1 -1
  110. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js +2 -2
  111. package/esm/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.js.map +1 -1
  112. package/esm/charts/headline/internal/interfaces/BaseHeadlines.d.ts +7 -3
  113. package/esm/charts/headline/internal/interfaces/BaseHeadlines.d.ts.map +1 -1
  114. package/esm/charts/headline/internal/interfaces/BaseHeadlines.js +4 -0
  115. package/esm/charts/headline/internal/interfaces/BaseHeadlines.js.map +1 -1
  116. package/esm/charts/headline/internal/providers/AbstractProvider.d.ts +1 -2
  117. package/esm/charts/headline/internal/providers/AbstractProvider.d.ts.map +1 -1
  118. package/esm/charts/headline/internal/providers/AbstractProvider.js +2 -3
  119. package/esm/charts/headline/internal/providers/AbstractProvider.js.map +1 -1
  120. package/esm/charts/headline/internal/providers/ComparisonProvider.d.ts +2 -3
  121. package/esm/charts/headline/internal/providers/ComparisonProvider.d.ts.map +1 -1
  122. package/esm/charts/headline/internal/providers/ComparisonProvider.js +3 -4
  123. package/esm/charts/headline/internal/providers/ComparisonProvider.js.map +1 -1
  124. package/esm/charts/headline/internal/providers/LegacyProvider.d.ts +2 -3
  125. package/esm/charts/headline/internal/providers/LegacyProvider.d.ts.map +1 -1
  126. package/esm/charts/headline/internal/providers/LegacyProvider.js +2 -3
  127. package/esm/charts/headline/internal/providers/LegacyProvider.js.map +1 -1
  128. package/esm/charts/headline/internal/providers/MultiMeasuresProvider.d.ts +2 -3
  129. package/esm/charts/headline/internal/providers/MultiMeasuresProvider.d.ts.map +1 -1
  130. package/esm/charts/headline/internal/providers/MultiMeasuresProvider.js +3 -4
  131. package/esm/charts/headline/internal/providers/MultiMeasuresProvider.js.map +1 -1
  132. package/esm/charts/headline/internal/transformations/ComparisonTransformation.d.ts +1 -2
  133. package/esm/charts/headline/internal/transformations/ComparisonTransformation.d.ts.map +1 -1
  134. package/esm/charts/headline/internal/transformations/ComparisonTransformation.js +2 -3
  135. package/esm/charts/headline/internal/transformations/ComparisonTransformation.js.map +1 -1
  136. package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.d.ts.map +1 -1
  137. package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.js +15 -27
  138. package/esm/charts/headline/internal/transformations/LegacyHeadlineTransformation.js.map +1 -1
  139. package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.d.ts +1 -2
  140. package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.d.ts.map +1 -1
  141. package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.js +2 -3
  142. package/esm/charts/headline/internal/transformations/MultiMeasuresTransformation.js.map +1 -1
  143. package/esm/charts/headline/internal/utils/BaseHeadlineTransformationUtils.js +1 -1
  144. package/esm/charts/headline/internal/utils/BaseHeadlineTransformationUtils.js.map +1 -1
  145. package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.d.ts +1 -1
  146. package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.d.ts.map +1 -1
  147. package/esm/charts/headline/internal/utils/ComparisonDataItemUtils.js.map +1 -1
  148. package/esm/charts/headline/internal/utils/ComparisonTransformationUtils.js +2 -2
  149. package/esm/charts/headline/internal/utils/ComparisonTransformationUtils.js.map +1 -1
  150. package/esm/charts/heatmap/CoreHeatmap.d.ts +1 -3
  151. package/esm/charts/heatmap/CoreHeatmap.d.ts.map +1 -1
  152. package/esm/charts/heatmap/CoreHeatmap.js +5 -7
  153. package/esm/charts/heatmap/CoreHeatmap.js.map +1 -1
  154. package/esm/charts/lineChart/CoreLineChart.d.ts +1 -3
  155. package/esm/charts/lineChart/CoreLineChart.d.ts.map +1 -1
  156. package/esm/charts/lineChart/CoreLineChart.js +5 -7
  157. package/esm/charts/lineChart/CoreLineChart.js.map +1 -1
  158. package/esm/charts/pieChart/CorePieChart.d.ts +1 -3
  159. package/esm/charts/pieChart/CorePieChart.d.ts.map +1 -1
  160. package/esm/charts/pieChart/CorePieChart.js +5 -7
  161. package/esm/charts/pieChart/CorePieChart.js.map +1 -1
  162. package/esm/charts/pyramidChart/CorePyramidChart.d.ts +1 -3
  163. package/esm/charts/pyramidChart/CorePyramidChart.d.ts.map +1 -1
  164. package/esm/charts/pyramidChart/CorePyramidChart.js +5 -7
  165. package/esm/charts/pyramidChart/CorePyramidChart.js.map +1 -1
  166. package/esm/charts/sankeyChart/CoreSankeyChart.d.ts +1 -3
  167. package/esm/charts/sankeyChart/CoreSankeyChart.d.ts.map +1 -1
  168. package/esm/charts/sankeyChart/CoreSankeyChart.js +5 -7
  169. package/esm/charts/sankeyChart/CoreSankeyChart.js.map +1 -1
  170. package/esm/charts/scatterPlot/CoreScatterPlot.d.ts +1 -3
  171. package/esm/charts/scatterPlot/CoreScatterPlot.d.ts.map +1 -1
  172. package/esm/charts/scatterPlot/CoreScatterPlot.js +9 -11
  173. package/esm/charts/scatterPlot/CoreScatterPlot.js.map +1 -1
  174. package/esm/charts/treemap/CoreTreemap.d.ts +1 -3
  175. package/esm/charts/treemap/CoreTreemap.d.ts.map +1 -1
  176. package/esm/charts/treemap/CoreTreemap.js +5 -7
  177. package/esm/charts/treemap/CoreTreemap.js.map +1 -1
  178. package/esm/charts/waterfallChart/CoreWaterfallChart.d.ts +1 -3
  179. package/esm/charts/waterfallChart/CoreWaterfallChart.d.ts.map +1 -1
  180. package/esm/charts/waterfallChart/CoreWaterfallChart.js +5 -7
  181. package/esm/charts/waterfallChart/CoreWaterfallChart.js.map +1 -1
  182. package/esm/charts/xirr/CoreXirr.d.ts +2 -12
  183. package/esm/charts/xirr/CoreXirr.d.ts.map +1 -1
  184. package/esm/charts/xirr/CoreXirr.js +15 -28
  185. package/esm/charts/xirr/CoreXirr.js.map +1 -1
  186. package/esm/charts/xirr/internal/XirrTransformation.d.ts.map +1 -1
  187. package/esm/charts/xirr/internal/XirrTransformation.js +11 -21
  188. package/esm/charts/xirr/internal/XirrTransformation.js.map +1 -1
  189. package/esm/sdk-ui-charts.d.ts +3 -3
  190. package/package.json +10 -10
@@ -0,0 +1,168 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { useRef, useCallback, useLayoutEffect, useEffect, useMemo, useState, createRef } from "react";
3
+ import { useBaseHeadline } from "../BaseHeadlineContext.js";
4
+ import { getCompareSectionClasses } from "../../../utils/HeadlineDataItemUtils.js";
5
+ import { shouldRenderPagination } from "@gooddata/sdk-ui-vis-commons";
6
+ export const useOutOfBoundsDetection = (onValueOverflow, measurementTrigger) => {
7
+ const div = useRef(null);
8
+ const lastReportedValue = useRef(null);
9
+ const measurementTimeoutId = useRef(null);
10
+ const callbackRef = useRef(onValueOverflow);
11
+ const hasMeasured = useRef(false);
12
+ // Keep callback ref updated without causing re-runs of effects
13
+ callbackRef.current = onValueOverflow;
14
+ const handler = useCallback(() => {
15
+ const element = div.current;
16
+ if (!element || !callbackRef.current) {
17
+ return;
18
+ }
19
+ const { scrollWidth, clientWidth } = element;
20
+ const isOverflowing = scrollWidth > clientWidth;
21
+ // Only call the callback if the value has actually changed OR if this is the first measurement
22
+ if (lastReportedValue.current !== isOverflowing || !hasMeasured.current) {
23
+ lastReportedValue.current = isOverflowing;
24
+ hasMeasured.current = true;
25
+ callbackRef.current(isOverflowing);
26
+ }
27
+ }, []);
28
+ // Only measure once after the component mounts and layout is complete
29
+ useLayoutEffect(() => {
30
+ // Clear any existing timeout
31
+ if (measurementTimeoutId.current) {
32
+ clearTimeout(measurementTimeoutId.current);
33
+ }
34
+ // Schedule measurement after layout is complete, but only if we haven't measured yet
35
+ if (!hasMeasured.current) {
36
+ measurementTimeoutId.current = setTimeout(() => {
37
+ handler();
38
+ }, 0); // fix node vs. browser type mismatch
39
+ }
40
+ return () => {
41
+ if (measurementTimeoutId.current) {
42
+ clearTimeout(measurementTimeoutId.current);
43
+ }
44
+ };
45
+ }, [handler]);
46
+ // Trigger remeasurement when the measurement trigger changes
47
+ useEffect(() => {
48
+ if (measurementTrigger !== undefined && measurementTrigger > 0) {
49
+ // Reset the measurement state to force a new measurement
50
+ hasMeasured.current = false;
51
+ lastReportedValue.current = null;
52
+ handler();
53
+ }
54
+ }, [measurementTrigger, handler]);
55
+ return {
56
+ containerRef: div,
57
+ };
58
+ };
59
+ const SIGNIFICANT_CHANGE_THRESHOLD_IN_PX = 5;
60
+ export const usePagination = (hasTertiaryItem) => {
61
+ const { config, clientHeight, clientWidth } = useBaseHeadline();
62
+ const { enableCompactSize } = config;
63
+ const secondaryItemTitleWrapperRef = createRef();
64
+ // Determine if the container is too small and need to render pagination based on its width and height
65
+ const isContainerTooSmall = useMemo(() => shouldRenderPagination(enableCompactSize, clientWidth, clientHeight), [enableCompactSize, clientHeight, clientWidth]);
66
+ // Determine the classes to apply to the compare section based on the container width
67
+ const compareSectionClassNames = useMemo(() => getCompareSectionClasses(clientWidth, secondaryItemTitleWrapperRef), [clientWidth, secondaryItemTitleWrapperRef]);
68
+ // Track overflow state in a single object to prevent race conditions
69
+ const [overflowState, setOverflowState] = useState({
70
+ isSecondaryOverflow: false,
71
+ isTertiaryOverflow: false,
72
+ measurementComplete: false,
73
+ measurementKey: 0,
74
+ hasSecondaryMeasurement: false,
75
+ hasTertiaryMeasurement: false,
76
+ });
77
+ // Track resize state to coordinate with overflow measurements
78
+ const isResizing = useRef(false);
79
+ const resizeTimeoutId = useRef(null);
80
+ // Reset overflow state when dimensions change significantly
81
+ const prevDimensions = useRef({ width: 0, height: 0 });
82
+ useLayoutEffect(() => {
83
+ const prevWidth = prevDimensions.current.width || 0;
84
+ const prevHeight = prevDimensions.current.height || 0;
85
+ // Only reset if dimensions have actually changed and are valid
86
+ // On the first render (prev = 0), always trigger if current dimensions are valid
87
+ const isFirstRender = prevWidth === 0 && prevHeight === 0;
88
+ const hasSignificantChange = Math.abs(clientWidth - prevWidth) > SIGNIFICANT_CHANGE_THRESHOLD_IN_PX ||
89
+ Math.abs(clientHeight - prevHeight) > SIGNIFICANT_CHANGE_THRESHOLD_IN_PX;
90
+ if (clientWidth > 0 && clientHeight > 0 && (isFirstRender || hasSignificantChange)) {
91
+ setOverflowState((prev) => ({
92
+ isSecondaryOverflow: false,
93
+ isTertiaryOverflow: false,
94
+ measurementComplete: false,
95
+ measurementKey: prev.measurementKey + 1, // Increment to trigger new measurements
96
+ hasSecondaryMeasurement: false,
97
+ hasTertiaryMeasurement: false,
98
+ }));
99
+ isResizing.current = false;
100
+ prevDimensions.current = { width: clientWidth, height: clientHeight };
101
+ }
102
+ }, [clientWidth, clientHeight]);
103
+ // Handle overflow callback with coordination
104
+ const handleOverflowCallback = useCallback((field) => (isOverflowing) => {
105
+ // Don't update state if we're in the middle of a resize
106
+ if (isResizing.current) {
107
+ return;
108
+ }
109
+ setOverflowState((prevState) => {
110
+ const newState = { ...prevState, [field]: isOverflowing };
111
+ // Track which measurements we've received
112
+ if (field === "isSecondaryOverflow") {
113
+ newState.hasSecondaryMeasurement = true;
114
+ }
115
+ else if (field === "isTertiaryOverflow") {
116
+ newState.hasTertiaryMeasurement = true;
117
+ }
118
+ // Mark the measurement complete only when ALL expected measurements are received
119
+ if (hasTertiaryItem) {
120
+ // With tertiary item, we need BOTH secondary and tertiary measurements
121
+ newState.measurementComplete =
122
+ newState.hasSecondaryMeasurement && newState.hasTertiaryMeasurement;
123
+ }
124
+ else {
125
+ // With only secondary item, we only need the secondary measurement
126
+ newState.measurementComplete = newState.hasSecondaryMeasurement;
127
+ }
128
+ return newState;
129
+ });
130
+ }, [hasTertiaryItem]);
131
+ const handleSecondaryOverflow = handleOverflowCallback("isSecondaryOverflow");
132
+ const handleTertiaryOverflow = handleOverflowCallback("isTertiaryOverflow");
133
+ // Clean up any pending timeouts on component unmount
134
+ useEffect(() => {
135
+ return () => {
136
+ if (resizeTimeoutId.current) {
137
+ // we want to clear the timeout during component unmount, not matter what
138
+ // eslint-disable-next-line react-hooks/exhaustive-deps
139
+ clearTimeout(resizeTimeoutId.current);
140
+ }
141
+ };
142
+ }, []);
143
+ // Determine if we should use pagination based on built-in logic OR overflow detection
144
+ const shouldUsePagination = useMemo(() => {
145
+ // Always use built-in pagination logic if it applies
146
+ if (isContainerTooSmall && hasTertiaryItem) {
147
+ return true;
148
+ }
149
+ // Only use overflow-based pagination if the measurement is complete and there are overflows
150
+ if (overflowState.measurementComplete && hasTertiaryItem) {
151
+ return overflowState.isSecondaryOverflow || overflowState.isTertiaryOverflow;
152
+ }
153
+ return false;
154
+ }, [isContainerTooSmall, hasTertiaryItem, overflowState]);
155
+ const prevShouldUsePagination = useRef(shouldUsePagination);
156
+ if (prevShouldUsePagination.current !== shouldUsePagination) {
157
+ prevShouldUsePagination.current = shouldUsePagination;
158
+ }
159
+ return {
160
+ shouldUsePagination,
161
+ compareSectionClassNames,
162
+ overflowState,
163
+ handleSecondaryOverflow,
164
+ handleTertiaryOverflow,
165
+ secondaryItemTitleWrapperRef,
166
+ };
167
+ };
168
+ //# sourceMappingURL=useOutOfBoundsDetection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOutOfBoundsDetection.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/useOutOfBoundsDetection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTitle.d.ts","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE3F,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,SAAS,kBAAkB,EACrD,sBAAsB,aAAa,CAAC,CAAC,CAAC,KACvC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAoB5C,CAAC"}
1
+ {"version":3,"file":"withTitle.d.ts","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE3F,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,SAAS,kBAAkB,EACrD,sBAAsB,aAAa,CAAC,CAAC,CAAC,KACvC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAmB5C,CAAC"}
@@ -1,4 +1,4 @@
1
- // (C) 2023 GoodData Corporation
1
+ // (C) 2023-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import { wrapDisplayName } from "@gooddata/sdk-ui";
4
4
  export const withTitle = (BaseHeadlineDataItem) => {
@@ -6,7 +6,7 @@ export const withTitle = (BaseHeadlineDataItem) => {
6
6
  const { shouldHideTitle, titleRef, dataItem } = props;
7
7
  return (React.createElement(React.Fragment, null,
8
8
  React.createElement(BaseHeadlineDataItem, { ...props }),
9
- !shouldHideTitle ? (React.createElement("div", { className: "headline-title-wrapper s-headline-title-wrapper", title: dataItem?.title, ref: titleRef }, dataItem?.title)) : null));
9
+ shouldHideTitle ? null : (React.createElement("div", { className: "headline-title-wrapper s-headline-title-wrapper", title: dataItem?.title, ref: titleRef }, dataItem?.title))));
10
10
  };
11
11
  return wrapDisplayName("withTitle", BaseHeadlineDataItem)(WithTitle);
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"withTitle.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,CAAC,MAAM,SAAS,GAAG,CACrB,oBAAsC,EACK,EAAE;IAC7C,MAAM,SAAS,GAAqC,CAAC,KAAK,EAAE,EAAE;QAC1D,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACtD,OAAO,CACH;YACI,oBAAC,oBAAoB,OAAK,KAAK,GAAI;YAClC,CAAC,eAAe,CAAC,CAAC,CAAC,CAChB,6BACI,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,QAAQ,EAAE,KAAK,EACtB,GAAG,EAAE,QAAQ,IAEZ,QAAQ,EAAE,KAAK,CACd,CACT,CAAC,CAAC,CAAC,IAAI,CACT,CACN,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC"}
1
+ {"version":3,"file":"withTitle.js","sourceRoot":"","sources":["../../../../../../../src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,CAAC,MAAM,SAAS,GAAG,CACrB,oBAAsC,EACK,EAAE;IAC7C,MAAM,SAAS,GAAqC,CAAC,KAAK,EAAE,EAAE;QAC1D,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACtD,OAAO,CACH;YACI,oBAAC,oBAAoB,OAAK,KAAK,GAAI;YAClC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,6BACI,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,QAAQ,EAAE,KAAK,EACtB,GAAG,EAAE,QAAQ,IAEZ,QAAQ,EAAE,KAAK,CACd,CACT,CACF,CACN,CAAC;IACN,CAAC,CAAC;IACF,OAAO,eAAe,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { HeadlineElementType } from "@gooddata/sdk-ui";
2
- import { IHeadlineDataItem } from "./Headlines.js";
3
1
  import { ComponentType, RefObject } from "react";
2
+ import { HeadlineElementType } from "@gooddata/sdk-ui";
4
3
  import { IComparison } from "../../../../interfaces/index.js";
4
+ import { IHeadlineDataItem } from "./Headlines.js";
5
5
  export declare const COMPARISON_DEFAULT_OBJECT: IComparison;
6
6
  export type BaseHeadlineDataItemComponentType<T> = ComponentType<IBaseHeadlineDataItemProps<T> & IWithTitleProps<T> & IWithDrillableItemProps<T>>;
7
7
  export interface IBaseHeadlineTitle {
@@ -40,7 +40,9 @@ export interface IComparisonDataWithSubItem extends IBaseHeadlineTitle {
40
40
  item: IBaseHeadlineValueItem;
41
41
  subItem: IBaseHeadlineValueItem;
42
42
  }
43
- export type BaseHeadlineItemAccepted = IHeadlineDataItem | IComparisonDataItem | IComparisonDataWithSubItem;
43
+ export type ComparisonDataItem = IComparisonDataItem | IComparisonDataWithSubItem;
44
+ export declare function isComparisonDataWithSubItem(dataItem: ComparisonDataItem): dataItem is IComparisonDataWithSubItem;
45
+ export type BaseHeadlineItemAccepted = IHeadlineDataItem | ComparisonDataItem;
44
46
  export interface IBaseHeadlineData {
45
47
  primaryItem: IBaseHeadlineItem<BaseHeadlineItemAccepted>;
46
48
  secondaryItem?: IBaseHeadlineItem<BaseHeadlineItemAccepted>;
@@ -49,5 +51,7 @@ export interface IBaseHeadlineData {
49
51
  export interface IBaseHeadlineDataItemProps<T> {
50
52
  dataItem: T;
51
53
  evaluationType: EvaluationType;
54
+ onValueOverflow?: (isOverflowing: boolean) => void;
55
+ measurementTrigger?: number;
52
56
  }
53
57
  //# sourceMappingURL=BaseHeadlines.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHeadlines.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,eAAO,MAAM,yBAAyB,EAAE,WAEvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAAI,aAAa,CAC5D,0BAA0B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAClF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,kBAAkB;IACzD,QAAQ,EAAE,CAAC,CAAC;IACZ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,sBAAsB;IACrE,QAAQ,EAAE,CAAC,CAAC;IACZ,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACtB,cAAc,aAAa;IAC3B,YAAY,WAAW;IACvB,cAAc,aAAa;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,6BAA6B,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,kBAAkB;CAAG;AAE1F,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IAClE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,0BAA0B,CAAC;AAE5G,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;CAClC"}
1
+ {"version":3,"file":"BaseHeadlines.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,eAAO,MAAM,yBAAyB,EAAE,WAEvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAAI,aAAa,CAC5D,0BAA0B,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAClF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,kBAAkB;IACzD,QAAQ,EAAE,CAAC,CAAC;IACZ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,sBAAsB;IACrE,QAAQ,EAAE,CAAC,CAAC;IACZ,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACtB,cAAc,aAAa;IAC3B,YAAY,WAAW;IACvB,cAAc,aAAa;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,6BAA6B,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB,EAAE,kBAAkB;CAAG;AAE1F,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IAClE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,0BAA0B,CAAC;AAElF,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,kBAAkB,GAC7B,QAAQ,IAAI,0BAA0B,CAExC;AAED,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IACzD,aAAa,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -1,3 +1,4 @@
1
+ import isEmpty from "lodash/isEmpty.js";
1
2
  export const COMPARISON_DEFAULT_OBJECT = {
2
3
  enabled: true,
3
4
  };
@@ -7,4 +8,7 @@ export var EvaluationType;
7
8
  EvaluationType["EQUALS_VALUE"] = "equals";
8
9
  EvaluationType["POSITIVE_VALUE"] = "positive";
9
10
  })(EvaluationType || (EvaluationType = {}));
11
+ export function isComparisonDataWithSubItem(dataItem) {
12
+ return !isEmpty(dataItem) && dataItem.subItem !== undefined;
13
+ }
10
14
  //# sourceMappingURL=BaseHeadlines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHeadlines.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IAClD,OAAO,EAAE,IAAI;CAChB,CAAC;AA8BF,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;AAC/B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"BaseHeadlines.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/interfaces/BaseHeadlines.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAOxC,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IAClD,OAAO,EAAE,IAAI;CAChB,CAAC;AA8BF,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;AAC/B,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAkBD,MAAM,UAAU,2BAA2B,CACvC,QAA4B;IAE5B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAK,QAAuC,CAAC,OAAO,KAAK,SAAS,CAAC;AAChG,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { IExecutionFactory, IPreparedExecution } from "@gooddata/sdk-backend-spi";
2
2
  import { IBucket } from "@gooddata/sdk-model";
3
3
  import { ICreateExecutionParams, IHeadlineProvider, IHeadlineTransformationProps } from "../../HeadlineProvider.js";
4
- declare abstract class AbstractProvider implements IHeadlineProvider {
4
+ export declare abstract class AbstractProvider implements IHeadlineProvider {
5
5
  createExecution(executionFactory: IExecutionFactory, params: ICreateExecutionParams): IPreparedExecution;
6
6
  abstract getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
7
7
  protected prepareBuckets(originalBuckets: IBucket[]): IBucket[];
8
8
  }
9
- export default AbstractProvider;
10
9
  //# sourceMappingURL=AbstractProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAwC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,uBAAe,gBAAiB,YAAW,iBAAiB;IACjD,eAAe,CAClB,gBAAgB,EAAE,iBAAiB,EACnC,MAAM,EAAE,sBAAsB,GAC/B,kBAAkB;aAkBL,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAEvG,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAGlE;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"AbstractProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,OAAO,EAAwC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC/B,MAAM,2BAA2B,CAAC;AAEnC,8BAAsB,gBAAiB,YAAW,iBAAiB;IACxD,eAAe,CAClB,gBAAgB,EAAE,iBAAiB,EACnC,MAAM,EAAE,sBAAsB,GAC/B,kBAAkB;aAkBL,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAEvG,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAGlE"}
@@ -1,8 +1,8 @@
1
- // (C) 2023 GoodData Corporation
1
+ // (C) 2023-2025 GoodData Corporation
2
2
  import isEmpty from "lodash/isEmpty.js";
3
3
  import clone from "lodash/clone.js";
4
4
  import { MeasureGroupIdentifier, newDimension } from "@gooddata/sdk-model";
5
- class AbstractProvider {
5
+ export class AbstractProvider {
6
6
  createExecution(executionFactory, params) {
7
7
  const { buckets, filters, executionConfig, dateFormat, sortItems } = params;
8
8
  const execution = executionFactory
@@ -21,5 +21,4 @@ class AbstractProvider {
21
21
  return originalBuckets;
22
22
  }
23
23
  }
24
- export default AbstractProvider;
25
24
  //# sourceMappingURL=AbstractProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAGpC,OAAO,EAAW,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQpF,MAAe,gBAAgB;IACpB,eAAe,CAClB,gBAAmC,EACnC,MAA8B;QAE9B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC5E,MAAM,SAAS,GAAG,gBAAgB;aAC7B,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;aACxD,cAAc,CAAC,eAAe,CAAC;aAC/B,cAAc,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,UAAU,EAAE,CAAC;YACb,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAIS,cAAc,CAAC,eAA0B;QAC/C,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"AbstractProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/AbstractProvider.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAGpC,OAAO,EAAW,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQpF,MAAM,OAAgB,gBAAgB;IAC3B,eAAe,CAClB,gBAAmC,EACnC,MAA8B;QAE9B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC5E,MAAM,SAAS,GAAG,gBAAgB;aAC7B,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC;aACxD,cAAc,CAAC,eAAe,CAAC;aAC/B,cAAc,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,UAAU,EAAE,CAAC;YACb,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAIS,cAAc,CAAC,eAA0B;QAC/C,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ"}
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { IBucket } from "@gooddata/sdk-model";
3
3
  import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
4
- import AbstractProvider from "./AbstractProvider.js";
4
+ import { AbstractProvider } from "./AbstractProvider.js";
5
5
  import { IComparison } from "../../../../interfaces/index.js";
6
- declare class ComparisonProvider extends AbstractProvider {
6
+ export declare class ComparisonProvider extends AbstractProvider {
7
7
  private readonly comparison;
8
8
  constructor(comparison: IComparison);
9
9
  getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
@@ -11,5 +11,4 @@ declare class ComparisonProvider extends AbstractProvider {
11
11
  private prepareVirtualArithmeticBucket;
12
12
  private createVirtualArithmeticMeasures;
13
13
  }
14
- export default ComparisonProvider;
15
14
  //# sourceMappingURL=ComparisonProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKH,OAAO,EAMV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAe,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK3E,cAAM,kBAAmB,SAAQ,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;gBAE7B,UAAU,EAAE,WAAW;IAM5B,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAI9F,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAK/D,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,+BAA+B;CAyC1C;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ComparisonProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKH,OAAO,EAMV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAe,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK3E,qBAAa,kBAAmB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;gBAE7B,UAAU,EAAE,WAAW;IAM5B,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;IAI9F,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAK/D,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,+BAA+B;CAyC1C"}
@@ -1,11 +1,11 @@
1
1
  import { bucketMeasure, bucketsFind, isPoPMeasure, isPreviousPeriodMeasure, newBucket, newVirtualArithmeticMeasure, } from "@gooddata/sdk-model";
2
2
  import { BucketNames } from "@gooddata/sdk-ui";
3
- import AbstractProvider from "./AbstractProvider.js";
4
- import ComparisonTransformation from "../transformations/ComparisonTransformation.js";
3
+ import { AbstractProvider } from "./AbstractProvider.js";
4
+ import { ComparisonTransformation } from "../transformations/ComparisonTransformation.js";
5
5
  import { CalculateAs } from "../../../../interfaces/index.js";
6
6
  import { COMPARISON_DEFAULT_OBJECT } from "../interfaces/BaseHeadlines.js";
7
7
  const ARITHMETIC_BUCKET_IDENTIFIER = "comparison_virtual_arithmetic_bucket";
8
- class ComparisonProvider extends AbstractProvider {
8
+ export class ComparisonProvider extends AbstractProvider {
9
9
  comparison;
10
10
  constructor(comparison) {
11
11
  super();
@@ -54,5 +54,4 @@ class ComparisonProvider extends AbstractProvider {
54
54
  }
55
55
  }
56
56
  }
57
- export default ComparisonProvider;
58
57
  //# sourceMappingURL=ComparisonProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EACb,WAAW,EAIX,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,wBAAwB,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAe,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAE5E,MAAM,kBAAmB,SAAQ,gBAAgB;IAC5B,UAAU,CAAc;IAEzC,YAAY,UAAuB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,yBAAyB,CAAC;IAC9D,CAAC;IAEM,kCAAkC;QACrC,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAES,cAAc,CAAC,eAA0B;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEO,8BAA8B,CAAC,eAA0B;QAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;QAE5E,OAAO,SAAS,CACZ,4BAA4B,EAC5B,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC7E,CAAC;IACN,CAAC;IAEO,+BAA+B,CACnC,cAAwB,EACxB,gBAA0B;QAE1B,MAAM,8BAA8B,GAAG,CACnC,QAAmC,EACnC,+BAAyC,EACH,EAAE;YACxC,OAAO,2BAA2B,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzF,IAAI,+BAA+B,EAAE,CAAC;oBAClC,OAAO,CAAC,0BAA0B,EAAE,CAAC;gBACzC,CAAC;gBAED,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,QAAQ,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACtC,KAAK,WAAW,CAAC,UAAU;gBACvB,OAAO,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC;YAE1D,KAAK,WAAW,CAAC,KAAK;gBAClB,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YAErD,KAAK,WAAW,CAAC,MAAM;gBACnB,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEtD,KAAK,WAAW,CAAC,iBAAiB;gBAC9B,OAAO;oBACH,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC9C,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC;iBACrD,CAAC;YAEN;gBACI,IAAI,YAAY,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9E,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ComparisonProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/ComparisonProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,aAAa,EACb,WAAW,EAIX,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,2BAA2B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAe,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAE5E,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACnC,UAAU,CAAc;IAEzC,YAAY,UAAuB;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,yBAAyB,CAAC;IAC9D,CAAC;IAEM,kCAAkC;QACrC,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAES,cAAc,CAAC,eAA0B;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEO,8BAA8B,CAAC,eAA0B;QAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;QAE5E,OAAO,SAAS,CACZ,4BAA4B,EAC5B,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC7E,CAAC;IACN,CAAC;IAEO,+BAA+B,CACnC,cAAwB,EACxB,gBAA0B;QAE1B,MAAM,8BAA8B,GAAG,CACnC,QAAmC,EACnC,+BAAyC,EACH,EAAE;YACxC,OAAO,2BAA2B,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBACzF,IAAI,+BAA+B,EAAE,CAAC;oBAClC,OAAO,CAAC,0BAA0B,EAAE,CAAC;gBACzC,CAAC;gBAED,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,QAAQ,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACtC,KAAK,WAAW,CAAC,UAAU;gBACvB,OAAO,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC;YAE1D,KAAK,WAAW,CAAC,KAAK;gBAClB,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YAErD,KAAK,WAAW,CAAC,MAAM;gBACnB,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEtD,KAAK,WAAW,CAAC,iBAAiB;gBAC9B,OAAO;oBACH,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC9C,8BAA8B,CAAC,YAAY,EAAE,IAAI,CAAC;iBACrD,CAAC;YAEN;gBACI,IAAI,YAAY,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9E,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ"}
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
2
  import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
3
- import AbstractProvider from "./AbstractProvider.js";
4
- declare class LegacyProvider extends AbstractProvider {
3
+ import { AbstractProvider } from "./AbstractProvider.js";
4
+ export declare class LegacyProvider extends AbstractProvider {
5
5
  getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
6
6
  }
7
- export default LegacyProvider;
8
7
  //# sourceMappingURL=LegacyProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAGrD,cAAM,cAAe,SAAQ,gBAAgB;IAClC,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"LegacyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,qBAAa,cAAe,SAAQ,gBAAgB;IACzC,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG"}
@@ -1,9 +1,8 @@
1
- import AbstractProvider from "./AbstractProvider.js";
1
+ import { AbstractProvider } from "./AbstractProvider.js";
2
2
  import LegacyHeadlineTransformation from "../transformations/LegacyHeadlineTransformation.js";
3
- class LegacyProvider extends AbstractProvider {
3
+ export class LegacyProvider extends AbstractProvider {
4
4
  getHeadlineTransformationComponent() {
5
5
  return LegacyHeadlineTransformation;
6
6
  }
7
7
  }
8
- export default LegacyProvider;
9
8
  //# sourceMappingURL=LegacyProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AAGA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,4BAA4B,MAAM,oDAAoD,CAAC;AAE9F,MAAM,cAAe,SAAQ,gBAAgB;IAClC,kCAAkC;QACrC,OAAO,4BAA4B,CAAC;IACxC,CAAC;CACJ;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"LegacyProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/LegacyProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,4BAA4B,MAAM,oDAAoD,CAAC;AAE9F,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IACzC,kCAAkC;QACrC,OAAO,4BAA4B,CAAC;IACxC,CAAC;CACJ"}
@@ -1,8 +1,7 @@
1
1
  import React from "react";
2
- import AbstractProvider from "./AbstractProvider.js";
2
+ import { AbstractProvider } from "./AbstractProvider.js";
3
3
  import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
4
- declare class MultiMeasuresProvider extends AbstractProvider {
4
+ export declare class MultiMeasuresProvider extends AbstractProvider {
5
5
  getHeadlineTransformationComponent(): React.ComponentType<IHeadlineTransformationProps>;
6
6
  }
7
- export default MultiMeasuresProvider;
8
7
  //# sourceMappingURL=MultiMeasuresProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiMeasuresProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,cAAM,qBAAsB,SAAQ,gBAAgB;IACzC,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"MultiMeasuresProvider.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE,qBAAa,qBAAsB,SAAQ,gBAAgB;IAChD,kCAAkC,IAAI,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;CAGjG"}
@@ -1,9 +1,8 @@
1
- import AbstractProvider from "./AbstractProvider.js";
2
- import MultiMeasuresTransformation from "../transformations/MultiMeasuresTransformation.js";
3
- class MultiMeasuresProvider extends AbstractProvider {
1
+ import { AbstractProvider } from "./AbstractProvider.js";
2
+ import { MultiMeasuresTransformation } from "../transformations/MultiMeasuresTransformation.js";
3
+ export class MultiMeasuresProvider extends AbstractProvider {
4
4
  getHeadlineTransformationComponent() {
5
5
  return MultiMeasuresTransformation;
6
6
  }
7
7
  }
8
- export default MultiMeasuresProvider;
9
8
  //# sourceMappingURL=MultiMeasuresProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiMeasuresProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,OAAO,2BAA2B,MAAM,mDAAmD,CAAC;AAE5F,MAAM,qBAAsB,SAAQ,gBAAgB;IACzC,kCAAkC;QACrC,OAAO,2BAA2B,CAAC;IACvC,CAAC;CACJ;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"MultiMeasuresProvider.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/providers/MultiMeasuresProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAEhG,MAAM,OAAO,qBAAsB,SAAQ,gBAAgB;IAChD,kCAAkC;QACrC,OAAO,2BAA2B,CAAC;IACvC,CAAC;CACJ"}
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
2
  import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
3
- declare const ComparisonTransformation: React.FC<IHeadlineTransformationProps>;
4
- export default ComparisonTransformation;
3
+ export declare const ComparisonTransformation: React.FC<IHeadlineTransformationProps>;
5
4
  //# sourceMappingURL=ComparisonTransformation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAOzE,QAAA,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAgCpE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ComparisonTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAOzE,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAgC3E,CAAC"}
@@ -1,11 +1,11 @@
1
1
  // (C) 2023-2025 GoodData Corporation
2
2
  import React, { useMemo } from "react";
3
3
  import { useIntl } from "react-intl";
4
- import BaseHeadline from "../headlines/baseHeadline/BaseHeadline.js";
4
+ import { BaseHeadline } from "../headlines/baseHeadline/BaseHeadline.js";
5
5
  import { useFireDrillEvent } from "./useFiredDrillEvent.js";
6
6
  import { getComparisonBaseHeadlineData } from "../utils/ComparisonTransformationUtils.js";
7
7
  import { COMPARISON_DEFAULT_OBJECT } from "../interfaces/BaseHeadlines.js";
8
- const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRender, onDrill, }) => {
8
+ export const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRender, onDrill, }) => {
9
9
  const baseHeadlineConfig = config?.comparison
10
10
  ? config
11
11
  : {
@@ -18,5 +18,4 @@ const ComparisonTransformation = ({ dataView, drillableItems, config, onAfterRen
18
18
  const data = useMemo(() => getComparisonBaseHeadlineData(dataView, drillableItems, comparison, intl), [dataView, drillableItems, comparison, intl]);
19
19
  return (React.createElement(BaseHeadline, { data: data, config: baseHeadlineConfig, onDrill: handleFiredDrillEvent, onAfterRender: onAfterRender }));
20
20
  };
21
- export default ComparisonTransformation;
22
21
  //# sourceMappingURL=ComparisonTransformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,wBAAwB,GAA2C,CAAC,EACtE,QAAQ,EACR,cAAc,EACd,MAAM,EACN,aAAa,EACb,OAAO,GACV,EAAE,EAAE;IACD,MAAM,kBAAkB,GAAiB,MAAM,EAAE,UAAU;QACvD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC;YACI,GAAG,MAAM;YACT,UAAU,EAAE,yBAAyB;SACxC,CAAC;IAER,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;IAE1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,qBAAqB,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,OAAO,CAChB,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,EAC/E,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,CAC/C,CAAC;IAEF,OAAO,CACH,oBAAC,YAAY,IACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ComparisonTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/ComparisonTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,MAAM,CAAC,MAAM,wBAAwB,GAA2C,CAAC,EAC7E,QAAQ,EACR,cAAc,EACd,MAAM,EACN,aAAa,EACb,OAAO,GACV,EAAE,EAAE;IACD,MAAM,kBAAkB,GAAiB,MAAM,EAAE,UAAU;QACvD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC;YACI,GAAG,MAAM;YACT,UAAU,EAAE,yBAAyB;SACxC,CAAC;IAER,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;IAE1C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,qBAAqB,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,OAAO,CAChB,GAAG,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,EAC/E,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,CAC/C,CAAC;IAEF,OAAO,CACH,oBAAC,YAAY,IACT,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyHeadlineTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAS/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;;;;AA6DzE,wBAAwD"}
1
+ {"version":3,"file":"LegacyHeadlineTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAS/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;;;;AA4CzE,wBAAwD"}
@@ -1,5 +1,5 @@
1
- // (C) 2007-2018 GoodData Corporation
2
- import React from "react";
1
+ // (C) 2007-2025 GoodData Corporation
2
+ import React, { useCallback } from "react";
3
3
  import { injectIntl } from "react-intl";
4
4
  import { convertDrillableItemsToPredicates, fireDrillEvent } from "@gooddata/sdk-ui";
5
5
  import LegacyHeadline from "../headlines/LegacyHeadline.js";
@@ -10,35 +10,23 @@ import noop from "lodash/noop.js";
10
10
  * React component that this components wraps. It also handles the propagation of the drillable items to the component
11
11
  * and drill events out of it.
12
12
  */
13
- class LegacyHeadlineTransformation extends React.Component {
14
- static defaultProps = {
15
- drillableItems: [],
16
- onDrill: () => true,
17
- onAfterRender: noop,
18
- };
19
- constructor(props) {
20
- super(props);
21
- this.handleFiredDrillEvent = this.handleFiredDrillEvent.bind(this);
22
- }
23
- render() {
24
- const { intl, drillableItems, dataView, config, onAfterRender } = this.props;
25
- const data = getHeadlineData(dataView, intl);
26
- const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
27
- const dataWithUpdatedDrilling = applyDrillableItems(data, drillablePredicates, dataView);
28
- const disableDrillUnderline = this.getDisableDrillUnderlineFromConfig();
29
- return (React.createElement(LegacyHeadline, { data: dataWithUpdatedDrilling, config: config, onDrill: this.handleFiredDrillEvent, onAfterRender: onAfterRender, disableDrillUnderline: disableDrillUnderline }));
30
- }
31
- getDisableDrillUnderlineFromConfig() {
32
- if (this.props.config) {
33
- return this.props.config.disableDrillUnderline;
13
+ function LegacyHeadlineTransformation(props) {
14
+ const { intl, drillableItems = [], dataView, config, onAfterRender = noop, onDrill = () => true } = props;
15
+ const getDisableDrillUnderlineFromConfig = useCallback(() => {
16
+ if (config) {
17
+ return config.disableDrillUnderline;
34
18
  }
35
19
  return undefined;
36
- }
37
- handleFiredDrillEvent(item, target) {
38
- const { onDrill, dataView } = this.props;
20
+ }, [config]);
21
+ const handleFiredDrillEvent = useCallback((item, target) => {
39
22
  const drillEventData = buildDrillEventData(item, dataView);
40
23
  fireDrillEvent(onDrill, drillEventData, target);
41
- }
24
+ }, [dataView, onDrill]);
25
+ const data = getHeadlineData(dataView, intl);
26
+ const drillablePredicates = convertDrillableItemsToPredicates(drillableItems);
27
+ const dataWithUpdatedDrilling = applyDrillableItems(data, drillablePredicates, dataView);
28
+ const disableDrillUnderline = getDisableDrillUnderlineFromConfig();
29
+ return (React.createElement(LegacyHeadline, { data: dataWithUpdatedDrilling, config: config, onDrill: handleFiredDrillEvent, onAfterRender: onAfterRender, disableDrillUnderline: disableDrillUnderline }));
42
30
  }
43
31
  export default injectIntl(LegacyHeadlineTransformation);
44
32
  //# sourceMappingURL=LegacyHeadlineTransformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyHeadlineTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAIlC;;;;GAIG;AACH,MAAM,4BAA6B,SAAQ,KAAK,CAAC,SAEhD;IACU,MAAM,CAAC,YAAY,GAGtB;QACA,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QACnB,aAAa,EAAE,IAAI;KACtB,CAAC;IAEF,YAAY,KAA2D;QACnE,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM;QACT,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7E,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;QAC9E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACzF,MAAM,qBAAqB,GAAG,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAExE,OAAO,CACH,oBAAC,cAAc,IACX,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC;IACN,CAAC;IAEO,kCAAkC;QACtC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACnD,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,qBAAqB,CAAC,IAAyC,EAAE,MAAmB;QACxF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;;AAGL,eAAe,UAAU,CAAC,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"LegacyHeadlineTransformation.js","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/LegacyHeadlineTransformation.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAyB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EACH,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAIlC;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,KAA2D;IAC7F,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC;IAE1G,MAAM,kCAAkC,GAAG,WAAW,CAAC,GAAG,EAAE;QACxD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC,qBAAqB,CAAC;QACxC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,qBAAqB,GAAG,WAAW,CACrC,CAAC,IAAyC,EAAE,MAAmB,EAAE,EAAE;QAC/D,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACtB,CAAC;IAEF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,iCAAiC,CAAC,cAAc,CAAC,CAAC;IAC9E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACzF,MAAM,qBAAqB,GAAG,kCAAkC,EAAE,CAAC;IAEnE,OAAO,CACH,oBAAC,cAAc,IACX,IAAI,EAAE,uBAAuB,EAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC;AACN,CAAC;AAED,eAAe,UAAU,CAAC,4BAA4B,CAAC,CAAC"}
@@ -5,6 +5,5 @@ import { IHeadlineTransformationProps } from "../../HeadlineProvider.js";
5
5
  * React component that this components wraps. It also handles the propagation of the drillable items to the component
6
6
  * and drill events out of it.
7
7
  */
8
- declare const MultiMeasuresTransformation: React.FC<IHeadlineTransformationProps>;
9
- export default MultiMeasuresTransformation;
8
+ export declare const MultiMeasuresTransformation: React.FC<IHeadlineTransformationProps>;
10
9
  //# sourceMappingURL=MultiMeasuresTransformation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiMeasuresTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/MultiMeasuresTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE;;;;GAIG;AACH,QAAA,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAmBvE,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"MultiMeasuresTransformation.d.ts","sourceRoot":"","sources":["../../../../../src/charts/headline/internal/transformations/MultiMeasuresTransformation.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAGzE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAmB9E,CAAC"}