@ledgerhq/lumen-ui-react 0.1.56 → 0.1.58
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/ai-rules/RULES.md +5 -4
- package/dist/index.js +176 -172
- package/dist/lib/Components/core/DotIcon/DotIcon.d.ts +0 -13
- package/dist/lib/Components/core/DotIcon/DotIcon.d.ts.map +1 -1
- package/dist/lib/Components/core/DotIcon/DotIcon.js +15 -28
- package/dist/lib/Components/core/DotIcon/getDotIconProps.d.ts +66 -0
- package/dist/lib/Components/core/DotIcon/getDotIconProps.d.ts.map +1 -0
- package/dist/lib/Components/core/DotIcon/getDotIconProps.js +19 -0
- package/dist/lib/Components/core/DotIcon/index.d.ts +9 -1
- package/dist/lib/Components/core/DotIcon/index.d.ts.map +1 -1
- package/dist/lib/Components/core/DotIcon/index.js +10 -0
- package/dist/lib/Components/core/DotSymbol/DotSymbol.d.ts +1 -5
- package/dist/lib/Components/core/DotSymbol/DotSymbol.d.ts.map +1 -1
- package/dist/lib/Components/core/DotSymbol/DotSymbol.js +14 -33
- package/dist/lib/Components/core/DotSymbol/getDotSymbolProps.d.ts +102 -0
- package/dist/lib/Components/core/DotSymbol/getDotSymbolProps.d.ts.map +1 -0
- package/dist/lib/Components/core/DotSymbol/getDotSymbolProps.js +25 -0
- package/dist/lib/Components/core/DotSymbol/index.d.ts +14 -1
- package/dist/lib/Components/core/DotSymbol/index.d.ts.map +1 -1
- package/dist/lib/Components/core/DotSymbol/index.js +15 -0
- package/dist/lib/Components/core/Tooltip/Tooltip.d.ts +0 -8
- package/dist/lib/Components/core/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/lib/Components/core/Tooltip/Tooltip.js +1 -1
- package/dist/lib/Components/visualization/Axis/XAxis/XAxis.d.ts +3 -0
- package/dist/lib/Components/visualization/Axis/XAxis/XAxis.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/XAxis/XAxis.js +85 -0
- package/dist/lib/Components/visualization/Axis/XAxis/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Axis/XAxis/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/XAxis/types.d.ts +9 -0
- package/dist/lib/Components/visualization/Axis/XAxis/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/YAxis/YAxis.d.ts +3 -0
- package/dist/lib/Components/visualization/Axis/YAxis/YAxis.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/YAxis/YAxis.js +85 -0
- package/dist/lib/Components/visualization/Axis/YAxis/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Axis/YAxis/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/YAxis/types.d.ts +14 -0
- package/dist/lib/Components/visualization/Axis/YAxis/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/index.d.ts +2 -0
- package/dist/lib/Components/visualization/Axis/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Axis/types.d.ts +80 -0
- package/dist/lib/Components/visualization/Axis/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/CartesianChart.d.ts +3 -0
- package/dist/lib/Components/visualization/CartesianChart/CartesianChart.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/CartesianChart.js +107 -0
- package/dist/lib/Components/visualization/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.d.ts +11 -0
- package/dist/lib/Components/visualization/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.js +21 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/RevealAnimationProvider.d.ts +3 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/RevealAnimationProvider.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/RevealAnimationProvider.js +41 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/context.d.ts +15 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/context.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/context.js +10 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/index.d.ts +3 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/types.d.ts +57 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/utils.d.ts +35 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/RevealAnimation/utils.js +69 -0
- package/dist/lib/Components/visualization/CartesianChart/context/cartesianChartContext.d.ts +8 -0
- package/dist/lib/Components/visualization/CartesianChart/context/cartesianChartContext.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/context/cartesianChartContext.js +9 -0
- package/dist/lib/Components/visualization/CartesianChart/context/index.d.ts +3 -0
- package/dist/lib/Components/visualization/CartesianChart/context/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/context/useBuildChartContext.d.ts +25 -0
- package/dist/lib/Components/visualization/CartesianChart/context/useBuildChartContext.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/context/useBuildChartContext.js +61 -0
- package/dist/lib/Components/visualization/CartesianChart/hooks/useShimmerAnimation.d.ts +18 -0
- package/dist/lib/Components/visualization/CartesianChart/hooks/useShimmerAnimation.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/hooks/useShimmerAnimation.js +15 -0
- package/dist/lib/Components/visualization/CartesianChart/index.d.ts +4 -0
- package/dist/lib/Components/visualization/CartesianChart/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/types.d.ts +127 -0
- package/dist/lib/Components/visualization/CartesianChart/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/utils.d.ts +5 -0
- package/dist/lib/Components/visualization/CartesianChart/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/CartesianChart/utils.js +24 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChart.d.ts +3 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChart.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChart.js +90 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartAnimatedCenter.d.ts +10 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartAnimatedCenter.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartAnimatedCenter.js +61 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartCenter.d.ts +9 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartCenter.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartCenter.js +20 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartDescription.d.ts +3 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartDescription.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartDescription.js +49 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartTitle.d.ts +3 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartTitle.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutChartTitle.js +55 -0
- package/dist/lib/Components/visualization/DonutChart/DonutRing.d.ts +12 -0
- package/dist/lib/Components/visualization/DonutChart/DonutRing.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/DonutRing.js +110 -0
- package/dist/lib/Components/visualization/DonutChart/RevealAnimation.d.ts +7 -0
- package/dist/lib/Components/visualization/DonutChart/RevealAnimation.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/RevealAnimation.js +28 -0
- package/dist/lib/Components/visualization/DonutChart/donutSizeContext.d.ts +18 -0
- package/dist/lib/Components/visualization/DonutChart/donutSizeContext.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/donutSizeContext.js +6 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useContrastSafeSeries.d.ts +12 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useContrastSafeSeries.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useContrastSafeSeries.js +13 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useDonutLoadingAnimation.d.ts +8 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useDonutLoadingAnimation.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/hooks/useDonutLoadingAnimation.js +16 -0
- package/dist/lib/Components/visualization/DonutChart/index.d.ts +7 -0
- package/dist/lib/Components/visualization/DonutChart/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/types.d.ts +172 -0
- package/dist/lib/Components/visualization/DonutChart/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/index.d.ts +3 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/useDonutSeries.d.ts +10 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/useDonutSeries.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/useDonutSeries.js +16 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/utils.d.ts +9 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/useDonutSeries/utils.js +46 -0
- package/dist/lib/Components/visualization/DonutChart/utils.d.ts +37 -0
- package/dist/lib/Components/visualization/DonutChart/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/DonutChart/utils.js +83 -0
- package/dist/lib/Components/visualization/Legend/Legend.d.ts +3 -0
- package/dist/lib/Components/visualization/Legend/Legend.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Legend/Legend.js +23 -0
- package/dist/lib/Components/visualization/Legend/LegendItem.d.ts +7 -0
- package/dist/lib/Components/visualization/Legend/LegendItem.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Legend/LegendItem.js +19 -0
- package/dist/lib/Components/visualization/Legend/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Legend/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Legend/types.d.ts +32 -0
- package/dist/lib/Components/visualization/Legend/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Line/Line.d.ts +3 -0
- package/dist/lib/Components/visualization/Line/Line.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Line/Line.js +82 -0
- package/dist/lib/Components/visualization/Line/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Line/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Line/types.d.ts +45 -0
- package/dist/lib/Components/visualization/Line/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Line/utils.d.ts +28 -0
- package/dist/lib/Components/visualization/Line/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Line/utils.js +34 -0
- package/dist/lib/Components/visualization/LineChart/LineChart.d.ts +3 -0
- package/dist/lib/Components/visualization/LineChart/LineChart.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/LineChart.js +181 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/LineChartEmptyState.d.ts +9 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/LineChartEmptyState.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/LineChartEmptyState.js +51 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/index.d.ts +3 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/types.d.ts +3 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/utils.d.ts +8 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/LineChartEmptyState/utils.js +8 -0
- package/dist/lib/Components/visualization/LineChart/index.d.ts +3 -0
- package/dist/lib/Components/visualization/LineChart/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/types.d.ts +82 -0
- package/dist/lib/Components/visualization/LineChart/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/utils.d.ts +56 -0
- package/dist/lib/Components/visualization/LineChart/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/LineChart/utils.js +57 -0
- package/dist/lib/Components/visualization/Point/Point.d.ts +4 -0
- package/dist/lib/Components/visualization/Point/Point.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/Point.js +122 -0
- package/dist/lib/Components/visualization/Point/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Point/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/pointContext/MagneticPointsProvider.d.ts +7 -0
- package/dist/lib/Components/visualization/Point/pointContext/MagneticPointsProvider.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/pointContext/MagneticPointsProvider.js +22 -0
- package/dist/lib/Components/visualization/Point/pointContext/index.d.ts +3 -0
- package/dist/lib/Components/visualization/Point/pointContext/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/pointContext/magneticPointsContext.d.ts +30 -0
- package/dist/lib/Components/visualization/Point/pointContext/magneticPointsContext.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/pointContext/magneticPointsContext.js +14 -0
- package/dist/lib/Components/visualization/Point/types.d.ts +110 -0
- package/dist/lib/Components/visualization/Point/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/usePointGeometry.d.ts +33 -0
- package/dist/lib/Components/visualization/Point/usePointGeometry.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/usePointGeometry.js +30 -0
- package/dist/lib/Components/visualization/Point/utils.d.ts +51 -0
- package/dist/lib/Components/visualization/Point/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Point/utils.js +54 -0
- package/dist/lib/Components/visualization/ReferenceLine/ReferenceLine.d.ts +3 -0
- package/dist/lib/Components/visualization/ReferenceLine/ReferenceLine.d.ts.map +1 -0
- package/dist/lib/Components/visualization/ReferenceLine/ReferenceLine.js +42 -0
- package/dist/lib/Components/visualization/ReferenceLine/index.d.ts +3 -0
- package/dist/lib/Components/visualization/ReferenceLine/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/ReferenceLine/types.d.ts +74 -0
- package/dist/lib/Components/visualization/ReferenceLine/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/ReferenceLine/useReferenceLineGeometry.d.ts +21 -0
- package/dist/lib/Components/visualization/ReferenceLine/useReferenceLineGeometry.d.ts.map +1 -0
- package/dist/lib/Components/visualization/ReferenceLine/useReferenceLineGeometry.js +49 -0
- package/dist/lib/Components/visualization/ReferenceLine/utils.d.ts +50 -0
- package/dist/lib/Components/visualization/ReferenceLine/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/ReferenceLine/utils.js +66 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.d.ts +9 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/ChartTooltipItem.js +50 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.d.ts +12 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/DefaultScrubberTooltip.js +82 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/utils.d.ts +58 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/DefaultScrubberTooltip/utils.js +80 -0
- package/dist/lib/Components/visualization/Scrubber/Scrubber.d.ts +29 -0
- package/dist/lib/Components/visualization/Scrubber/Scrubber.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/Scrubber.js +114 -0
- package/dist/lib/Components/visualization/Scrubber/ScrubberProvider.d.ts +3 -0
- package/dist/lib/Components/visualization/Scrubber/ScrubberProvider.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/ScrubberProvider.js +154 -0
- package/dist/lib/Components/visualization/Scrubber/context/index.d.ts +2 -0
- package/dist/lib/Components/visualization/Scrubber/context/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/context/scrubberContext.d.ts +8 -0
- package/dist/lib/Components/visualization/Scrubber/context/scrubberContext.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/context/scrubberContext.js +9 -0
- package/dist/lib/Components/visualization/Scrubber/index.d.ts +4 -0
- package/dist/lib/Components/visualization/Scrubber/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/types.d.ts +130 -0
- package/dist/lib/Components/visualization/Scrubber/types.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/useScrubberGeometry.d.ts +29 -0
- package/dist/lib/Components/visualization/Scrubber/useScrubberGeometry.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/useScrubberGeometry.js +37 -0
- package/dist/lib/Components/visualization/Scrubber/utils.d.ts +79 -0
- package/dist/lib/Components/visualization/Scrubber/utils.d.ts.map +1 -0
- package/dist/lib/Components/visualization/Scrubber/utils.js +104 -0
- package/dist/lib/Components/visualization/config.d.ts +162 -0
- package/dist/lib/Components/visualization/config.d.ts.map +1 -0
- package/dist/lib/Components/visualization/config.js +156 -0
- package/dist/lib/Components/visualization/index.d.ts +8 -0
- package/dist/lib/Components/visualization/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/index.js +27 -0
- package/dist/lib/Components/visualization/utils/domain/domain.d.ts +18 -0
- package/dist/lib/Components/visualization/utils/domain/domain.d.ts.map +1 -0
- package/dist/lib/Components/visualization/utils/domain/domain.js +35 -0
- package/dist/lib/Components/visualization/utils/index.d.ts +2 -0
- package/dist/lib/Components/visualization/utils/index.d.ts.map +1 -0
- package/dist/lib/Components/visualization/utils/numbers.d.ts +13 -0
- package/dist/lib/Components/visualization/utils/numbers.d.ts.map +1 -0
- package/dist/lib/Components/visualization/utils/numbers.js +5 -0
- package/dist/lib/Components/visualization/utils/scales/scales.d.ts +47 -0
- package/dist/lib/Components/visualization/utils/scales/scales.d.ts.map +1 -0
- package/dist/lib/Components/visualization/utils/scales/scales.js +32 -0
- package/dist/lib/Components/visualization/utils/ticks/ticks.d.ts +35 -0
- package/dist/lib/Components/visualization/utils/ticks/ticks.d.ts.map +1 -0
- package/dist/lib/Components/visualization/utils/ticks/ticks.js +23 -0
- package/dist/lib/Components/visualization/utils/types.d.ts +63 -0
- package/dist/lib/Components/visualization/utils/types.d.ts.map +1 -0
- package/dist/libs/design-core/dist/lib/colorContrast/colorContrast.js +15 -0
- package/dist/libs/design-core/dist/lib/colorContrast/hexToHsl.js +14 -0
- package/dist/libs/design-core/dist/lib/colorContrast/hslToHex.js +10 -0
- package/dist/libs/design-core/dist/lib/themes/js/primitives/primitive.colors.js +15 -0
- package/dist/libs/utils-shared/dist/index.js +115 -113
- package/dist/package.json +12 -4
- package/package.json +12 -4
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { XAxisProps } from '../Axis/XAxis';
|
|
2
|
+
import { YAxisProps } from '../Axis/YAxis';
|
|
3
|
+
import { ChartInset, Series } from '../utils/types';
|
|
4
|
+
type ComputeAxisPaddingParams = {
|
|
5
|
+
showXAxis: boolean;
|
|
6
|
+
showYAxis: boolean;
|
|
7
|
+
xAxisPosition: XAxisProps['position'];
|
|
8
|
+
yAxisPosition: YAxisProps['position'];
|
|
9
|
+
yAxisWidth: YAxisProps['width'];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Reserves space on the relevant sides of the drawing area for visible axes.
|
|
13
|
+
* Returns `undefined` when no axis is shown so the chart keeps its full area.
|
|
14
|
+
*/
|
|
15
|
+
export declare const computeAxisPadding: ({ showXAxis, showYAxis, xAxisPosition, yAxisPosition, yAxisWidth, }: ComputeAxisPaddingParams) => Partial<ChartInset> | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Derives the chart's display flags from its loading flag and whether it has
|
|
18
|
+
* drawable data. The four input combinations map to the initial-loading, empty,
|
|
19
|
+
* transition-loading, and ready states the chart renders.
|
|
20
|
+
*/
|
|
21
|
+
export declare const getChartDisplayStates: ({ loading, hasData, }: {
|
|
22
|
+
loading: boolean;
|
|
23
|
+
hasData: boolean;
|
|
24
|
+
}) => {
|
|
25
|
+
showPlaceholder: boolean;
|
|
26
|
+
placeholderLoading: boolean;
|
|
27
|
+
showEmptyOverlay: boolean;
|
|
28
|
+
isTransitionLoading: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Accessibility label matching the chart's current state: the loading label
|
|
32
|
+
* while loading, the empty label when there is nothing to draw, otherwise none.
|
|
33
|
+
*/
|
|
34
|
+
export declare const getChartAriaLabel: ({ loading, hasData, emptyLabel, }: {
|
|
35
|
+
loading: boolean;
|
|
36
|
+
hasData: boolean;
|
|
37
|
+
emptyLabel: string;
|
|
38
|
+
}) => string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Whether any series has at least `emptyState.minDrawablePoints` finite points,
|
|
41
|
+
* i.e. enough to actually draw a line. Drives the empty / loading / data states
|
|
42
|
+
* of the chart.
|
|
43
|
+
*
|
|
44
|
+
* When `xData` (the x-axis domain) is provided, only the first `xData.length`
|
|
45
|
+
* points of each series are considered — mirroring the cap in `toScaledPoints`
|
|
46
|
+
* (Line/utils.ts) — so a series longer than the axis cannot report drawable
|
|
47
|
+
* points that would never be plotted.
|
|
48
|
+
*/
|
|
49
|
+
export declare const canRenderLine: (series: Series[] | undefined, xData?: readonly (string | number)[]) => boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Overlays `overrides` on top of `defaults`, skipping keys whose override is
|
|
52
|
+
* `undefined`.
|
|
53
|
+
*/
|
|
54
|
+
export declare const mergeDefaults: <T extends object>(defaults: T, overrides?: Partial<T>) => T;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/LineChart/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIzD,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,qEAMhC,wBAAwB,KAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAanD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,uBAGnC;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;;;;;CAKC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,mCAI/B;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,MAAM,GAAG,SAUZ,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EAAE,GAAG,SAAS,EAC5B,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACnC,OAWF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAC5C,UAAU,CAAC,EACX,YAAY,OAAO,CAAC,CAAC,CAAC,KACrB,CAUF,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { chartConfig as f } from "../config.js";
|
|
2
|
+
import { isFiniteNumber as d } from "../utils/numbers.js";
|
|
3
|
+
const { axis: l, emptyState: c } = f, g = ({
|
|
4
|
+
showXAxis: e,
|
|
5
|
+
showYAxis: t,
|
|
6
|
+
xAxisPosition: r,
|
|
7
|
+
yAxisPosition: n,
|
|
8
|
+
yAxisWidth: o
|
|
9
|
+
}) => {
|
|
10
|
+
if (!e && !t)
|
|
11
|
+
return;
|
|
12
|
+
const i = o ?? l.defaultWidth;
|
|
13
|
+
return {
|
|
14
|
+
top: e && r === "top" ? l.defaultHeight : 0,
|
|
15
|
+
bottom: e && r === "bottom" ? l.defaultHeight : 0,
|
|
16
|
+
left: t && n === "start" ? i : 0,
|
|
17
|
+
right: t && n === "end" ? i : 0
|
|
18
|
+
};
|
|
19
|
+
}, s = ({
|
|
20
|
+
loading: e,
|
|
21
|
+
hasData: t
|
|
22
|
+
}) => ({
|
|
23
|
+
showPlaceholder: !t,
|
|
24
|
+
placeholderLoading: e && !t,
|
|
25
|
+
showEmptyOverlay: !e && !t,
|
|
26
|
+
isTransitionLoading: e && t
|
|
27
|
+
}), p = ({
|
|
28
|
+
loading: e,
|
|
29
|
+
hasData: t,
|
|
30
|
+
emptyLabel: r
|
|
31
|
+
}) => {
|
|
32
|
+
if (e)
|
|
33
|
+
return c.loadingAriaLabel;
|
|
34
|
+
if (!t)
|
|
35
|
+
return r;
|
|
36
|
+
}, h = (e, t) => (e ?? []).some((r) => {
|
|
37
|
+
const n = r.data ?? [], o = t ? Math.min(n.length, t.length) : n.length;
|
|
38
|
+
let i = 0;
|
|
39
|
+
for (let a = 0; a < o; a++)
|
|
40
|
+
if (d(n[a]) && i++, i >= c.minDrawablePoints) return !0;
|
|
41
|
+
return !1;
|
|
42
|
+
}), b = (e, t) => {
|
|
43
|
+
if (!t) return e;
|
|
44
|
+
const r = { ...e };
|
|
45
|
+
for (const n of Object.keys(t)) {
|
|
46
|
+
const o = t[n];
|
|
47
|
+
o !== void 0 && (r[n] = o);
|
|
48
|
+
}
|
|
49
|
+
return r;
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
h as canRenderLine,
|
|
53
|
+
g as computeAxisPadding,
|
|
54
|
+
p as getChartAriaLabel,
|
|
55
|
+
s as getChartDisplayStates,
|
|
56
|
+
b as mergeDefaults
|
|
57
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PointLabelProps, PointProps } from './types';
|
|
2
|
+
export declare function PointLabel({ style, textAnchor, dominantBaseline, ...props }: Readonly<PointLabelProps>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const Point: import('react').NamedExoticComponent<Readonly<PointProps>>;
|
|
4
|
+
//# sourceMappingURL=Point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/Point/Point.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,eAAe,EAEf,UAAU,EACX,MAAM,SAAS,CAAC;AAKjB,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAqB,EACrB,gBAAyB,EACzB,GAAG,KAAK,EACT,EAAE,QAAQ,CAAC,eAAe,CAAC,2CAe3B;AA+BD,eAAO,MAAM,KAAK,4DAwEhB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { jsxs as A, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { memo as L } from "react";
|
|
3
|
+
import { chartConfig as t } from "../config.js";
|
|
4
|
+
import { usePointGeometry as S } from "./usePointGeometry.js";
|
|
5
|
+
import { resolveLabel as W, computeLabelGeometry as G, buildArrowPoints as j } from "./utils.js";
|
|
6
|
+
function w({
|
|
7
|
+
style: n,
|
|
8
|
+
textAnchor: o = "middle",
|
|
9
|
+
dominantBaseline: e = "auto",
|
|
10
|
+
...i
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ l(
|
|
13
|
+
"text",
|
|
14
|
+
{
|
|
15
|
+
textAnchor: o,
|
|
16
|
+
dominantBaseline: e,
|
|
17
|
+
style: {
|
|
18
|
+
fill: t.color.text,
|
|
19
|
+
fontSize: t.point.labelFontSize,
|
|
20
|
+
fontWeight: t.font.labelWeightMedium,
|
|
21
|
+
fontFamily: t.font.family,
|
|
22
|
+
...n
|
|
23
|
+
},
|
|
24
|
+
...i
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function F({ x: n, y: o, size: e, color: i }) {
|
|
29
|
+
const c = e / 2, u = i ?? t.point.defaultColor;
|
|
30
|
+
return /* @__PURE__ */ l(
|
|
31
|
+
"circle",
|
|
32
|
+
{
|
|
33
|
+
"data-testid": "point-circle",
|
|
34
|
+
cx: n,
|
|
35
|
+
cy: o,
|
|
36
|
+
r: c,
|
|
37
|
+
style: {
|
|
38
|
+
fill: u,
|
|
39
|
+
stroke: t.color.markOutline
|
|
40
|
+
},
|
|
41
|
+
strokeWidth: t.strokeWidth.line
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function M({ x: n, y: o, size: e, position: i }) {
|
|
46
|
+
return /* @__PURE__ */ l(
|
|
47
|
+
"polygon",
|
|
48
|
+
{
|
|
49
|
+
"data-testid": "point-arrow",
|
|
50
|
+
points: j(n, o, e / 2, i),
|
|
51
|
+
style: { fill: t.color.text }
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
const Y = L(function({
|
|
56
|
+
dataX: o,
|
|
57
|
+
dataY: e,
|
|
58
|
+
color: i,
|
|
59
|
+
label: c,
|
|
60
|
+
LabelComponent: u,
|
|
61
|
+
labelPosition: m = "top",
|
|
62
|
+
hidePoint: y = !1,
|
|
63
|
+
showLabelArrow: p = !0,
|
|
64
|
+
size: f = t.point.defaultSize,
|
|
65
|
+
onClick: x,
|
|
66
|
+
magnetic: b = !1,
|
|
67
|
+
labelAlignment: g = "auto"
|
|
68
|
+
}) {
|
|
69
|
+
const { pixel: r, drawingArea: h, revealStyle: P, isVisible: k } = S({
|
|
70
|
+
dataX: o,
|
|
71
|
+
dataY: e,
|
|
72
|
+
magnetic: b
|
|
73
|
+
});
|
|
74
|
+
if (!k || !r)
|
|
75
|
+
return null;
|
|
76
|
+
const a = W(c, o), d = a !== void 0, s = d ? G({
|
|
77
|
+
text: a,
|
|
78
|
+
pixelX: r.x,
|
|
79
|
+
pixelY: r.y,
|
|
80
|
+
size: f,
|
|
81
|
+
labelPosition: m,
|
|
82
|
+
showLabelArrow: p,
|
|
83
|
+
area: h,
|
|
84
|
+
alignment: g
|
|
85
|
+
}) : null, v = u ?? w;
|
|
86
|
+
return /* @__PURE__ */ A(
|
|
87
|
+
"g",
|
|
88
|
+
{
|
|
89
|
+
"data-testid": "point-group",
|
|
90
|
+
onClick: x,
|
|
91
|
+
style: {
|
|
92
|
+
...P,
|
|
93
|
+
...x ? { cursor: "pointer" } : void 0
|
|
94
|
+
},
|
|
95
|
+
children: [
|
|
96
|
+
!y && /* @__PURE__ */ l(F, { x: r.x, y: r.y, size: f, color: i }),
|
|
97
|
+
d && p && /* @__PURE__ */ l(
|
|
98
|
+
M,
|
|
99
|
+
{
|
|
100
|
+
x: r.x,
|
|
101
|
+
y: r.y,
|
|
102
|
+
size: f,
|
|
103
|
+
position: m
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
a != null && s && /* @__PURE__ */ l(
|
|
107
|
+
v,
|
|
108
|
+
{
|
|
109
|
+
x: s.x,
|
|
110
|
+
y: s.y,
|
|
111
|
+
textAnchor: s.textAnchor,
|
|
112
|
+
children: a
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
});
|
|
119
|
+
export {
|
|
120
|
+
Y as Point,
|
|
121
|
+
w as PointLabel
|
|
122
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/Point/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type MagneticPointsProviderProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
};
|
|
5
|
+
export declare function MagneticPointsProvider({ children, }: Readonly<MagneticPointsProviderProps>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=MagneticPointsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MagneticPointsProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/Components/visualization/Point/pointContext/MagneticPointsProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASvC,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,GACT,EAAE,QAAQ,CAAC,2BAA2B,CAAC,2CAqCvC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as l, useState as v, useCallback as n, useMemo as g } from "react";
|
|
3
|
+
import { MagneticRegistryProvider as h, MagneticSnapshotProvider as M } from "./magneticPointsContext.js";
|
|
4
|
+
function S({
|
|
5
|
+
children: f
|
|
6
|
+
}) {
|
|
7
|
+
const e = l(/* @__PURE__ */ new Set()), [s, o] = v(0), i = n((r) => {
|
|
8
|
+
e.current.has(r) || (e.current.add(r), o((t) => t + 1));
|
|
9
|
+
}, []), c = n((r) => {
|
|
10
|
+
e.current.has(r) && (e.current.delete(r), o((t) => t + 1));
|
|
11
|
+
}, []), u = n(() => e.current, []), m = g(
|
|
12
|
+
() => ({ register: i, unregister: c }),
|
|
13
|
+
[i, c]
|
|
14
|
+
), p = g(
|
|
15
|
+
() => ({ version: s, getMagneticPoints: u }),
|
|
16
|
+
[s, u]
|
|
17
|
+
);
|
|
18
|
+
return /* @__PURE__ */ a(h, { value: m, children: /* @__PURE__ */ a(M, { value: p, children: f }) });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
S as MagneticPointsProvider
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/Components/visualization/Point/pointContext/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable registration API for magnetic points. Its identity never changes for
|
|
3
|
+
* the provider's lifetime, so consumers (every `Point`) do not re-render when
|
|
4
|
+
* the magnetic set changes — only when they mount/unmount.
|
|
5
|
+
*/
|
|
6
|
+
export type MagneticRegistryValue = {
|
|
7
|
+
register: (dataIndex: number) => void;
|
|
8
|
+
unregister: (dataIndex: number) => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Mutable snapshot of the registered magnetic points. Changes on every
|
|
12
|
+
* register/unregister (via `version`) and is consumed only by the scrubber,
|
|
13
|
+
* which needs to recompute its snap targets when the set changes.
|
|
14
|
+
*/
|
|
15
|
+
export type MagneticSnapshotValue = {
|
|
16
|
+
version: number;
|
|
17
|
+
getMagneticPoints: () => ReadonlySet<number>;
|
|
18
|
+
};
|
|
19
|
+
declare const MagneticRegistryProvider: import('react').FC<{
|
|
20
|
+
children: import('react').ReactNode;
|
|
21
|
+
value: MagneticRegistryValue;
|
|
22
|
+
}>;
|
|
23
|
+
declare const MagneticSnapshotProvider: import('react').FC<{
|
|
24
|
+
children: import('react').ReactNode;
|
|
25
|
+
value: MagneticSnapshotValue;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const useMagneticRegistry: () => MagneticRegistryValue;
|
|
28
|
+
export declare const useMagneticSnapshot: () => MagneticSnapshotValue;
|
|
29
|
+
export { MagneticRegistryProvider, MagneticSnapshotProvider };
|
|
30
|
+
//# sourceMappingURL=magneticPointsContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magneticPointsContext.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/Components/visualization/Point/pointContext/magneticPointsContext.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAO,wBAAwB;;;EAC+B,CAAC;AAE/D,QAAA,MAAO,wBAAwB;;;EAC+B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,QAAO,qBAInC,CAAC;AAEL,eAAO,MAAM,mBAAmB,QAAO,qBAInC,CAAC;AAEL,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createSafeContext as e } from "../../../../../libs/utils-shared/dist/index.js";
|
|
2
|
+
const [a, t] = e("MagneticRegistry"), [o, n] = e("MagneticSnapshot"), i = () => t({
|
|
3
|
+
consumerName: "useMagneticRegistry",
|
|
4
|
+
contextRequired: !0
|
|
5
|
+
}), c = () => n({
|
|
6
|
+
consumerName: "useMagneticSnapshot",
|
|
7
|
+
contextRequired: !0
|
|
8
|
+
});
|
|
9
|
+
export {
|
|
10
|
+
a as MagneticRegistryProvider,
|
|
11
|
+
o as MagneticSnapshotProvider,
|
|
12
|
+
i as useMagneticRegistry,
|
|
13
|
+
c as useMagneticSnapshot
|
|
14
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ComponentType, MouseEvent, SVGProps } from 'react';
|
|
2
|
+
export type PointLabelProps = {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
children: string;
|
|
6
|
+
} & Omit<SVGProps<SVGTextElement>, 'x' | 'y' | 'children'>;
|
|
7
|
+
export type PointLabelComponent = ComponentType<PointLabelProps>;
|
|
8
|
+
/**
|
|
9
|
+
* Horizontal alignment strategy for a point's label.
|
|
10
|
+
*
|
|
11
|
+
* - `'auto'`: keep the label inside the drawing area, anchoring it to the
|
|
12
|
+
* nearest edge when it would overflow.
|
|
13
|
+
* - `'center'`: always centre the label on the point.
|
|
14
|
+
*/
|
|
15
|
+
export type LabelAlignment = 'center' | 'auto';
|
|
16
|
+
/**
|
|
17
|
+
* Pixel position and styling inputs shared by the point's rendered glyphs. Each
|
|
18
|
+
* glyph picks the subset it needs and derives its own pixel geometry (e.g.
|
|
19
|
+
* radius from `size`).
|
|
20
|
+
*/
|
|
21
|
+
type PointGlyphProps = {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
size: number;
|
|
25
|
+
color?: string;
|
|
26
|
+
position: 'top' | 'bottom';
|
|
27
|
+
};
|
|
28
|
+
export type PointMarkerProps = Pick<PointGlyphProps, 'x' | 'y' | 'size' | 'color'>;
|
|
29
|
+
export type PointArrowProps = Pick<PointGlyphProps, 'x' | 'y' | 'size' | 'position'>;
|
|
30
|
+
export type PointProps = {
|
|
31
|
+
/**
|
|
32
|
+
* X coordinate in data space (index or explicit value).
|
|
33
|
+
*/
|
|
34
|
+
dataX: number;
|
|
35
|
+
/**
|
|
36
|
+
* Y coordinate in data space.
|
|
37
|
+
*/
|
|
38
|
+
dataY: number;
|
|
39
|
+
/**
|
|
40
|
+
* Fill color of the point circle.
|
|
41
|
+
* Defaults to `var(--background-muted-strong)`.
|
|
42
|
+
*
|
|
43
|
+
* Use the `cssVar` helper from `@ledgerhq/lumen-design-core` to
|
|
44
|
+
* resolve a design-token CSS variable at runtime:
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```tsx
|
|
48
|
+
* import { cssVar } from '@ledgerhq/lumen-design-core';
|
|
49
|
+
*
|
|
50
|
+
* <Point dataX={0} dataY={42} color={cssVar('var(--background-error-strong)')} />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
color?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Text label displayed near the point.
|
|
56
|
+
* A string is rendered directly; a function receives `dataX` and returns
|
|
57
|
+
* the label string, enabling index-based formatting.
|
|
58
|
+
*/
|
|
59
|
+
label?: string | ((dataIndex: number) => string);
|
|
60
|
+
/**
|
|
61
|
+
* Custom component rendered instead of the default `PointLabel`.
|
|
62
|
+
* Receives pixel coordinates (`x`, `y`) and the resolved label as
|
|
63
|
+
* `children`. Use `PointLabel` inside your component to retain
|
|
64
|
+
* design-token styling while customising layout or appearance.
|
|
65
|
+
*/
|
|
66
|
+
LabelComponent?: PointLabelComponent;
|
|
67
|
+
/**
|
|
68
|
+
* Placement of the label relative to the point.
|
|
69
|
+
* @default 'top'
|
|
70
|
+
*/
|
|
71
|
+
labelPosition?: 'top' | 'bottom';
|
|
72
|
+
/**
|
|
73
|
+
* When `true`, the point circle is hidden but the label (if any) is still rendered.
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
hidePoint?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Diameter of the point circle in pixels.
|
|
79
|
+
* Internally converted to an SVG radius (`size / 2`).
|
|
80
|
+
* @default 10
|
|
81
|
+
*/
|
|
82
|
+
size?: number;
|
|
83
|
+
/**
|
|
84
|
+
* When `true`, an arrow is displayed pointing from the point to the label.
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
showLabelArrow?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Called when the point is clicked.
|
|
90
|
+
*/
|
|
91
|
+
onClick?: (event: MouseEvent<SVGGElement>) => void;
|
|
92
|
+
/**
|
|
93
|
+
* When `true`, the scrubber magnetically snaps to this point within the
|
|
94
|
+
* chart's `magnetRadius`. Requires `enableScrubbing` to be set on the
|
|
95
|
+
* parent chart.
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
magnetic?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Horizontal alignment of the label relative to the chart's drawing area.
|
|
101
|
+
* With `'auto'`, a label that would overflow the left/right edge is anchored
|
|
102
|
+
* to that edge and grows inward instead of being clipped, while the arrow
|
|
103
|
+
* keeps pointing at the exact data point. Use `'center'` to always centre the
|
|
104
|
+
* label on the point.
|
|
105
|
+
* @default 'auto'
|
|
106
|
+
*/
|
|
107
|
+
labelAlignment?: LabelAlignment;
|
|
108
|
+
};
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/Point/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/C;;;;GAIG;AACH,KAAK,eAAe,GAAG;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,eAAe,EACf,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,eAAe,EACf,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,UAAU,CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACjD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { BaseAxisProps } from '../Axis';
|
|
3
|
+
import { DrawingArea } from '../utils/types';
|
|
4
|
+
import { MagneticRegistryValue } from './pointContext/magneticPointsContext';
|
|
5
|
+
type Pixel = {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
};
|
|
9
|
+
type UsePointGeometryParams = {
|
|
10
|
+
dataX: number;
|
|
11
|
+
dataY: number;
|
|
12
|
+
magnetic: boolean;
|
|
13
|
+
};
|
|
14
|
+
type PointGeometry = {
|
|
15
|
+
pixel: Pixel | undefined;
|
|
16
|
+
drawingArea: DrawingArea;
|
|
17
|
+
revealStyle: CSSProperties | undefined;
|
|
18
|
+
isVisible: boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Resolves a point's chart geometry and behaviour: projects its data
|
|
22
|
+
* coordinates to pixels, registers it as a magnetic snap target when enabled,
|
|
23
|
+
* exposes the reveal-animation style, and reports whether it falls inside the
|
|
24
|
+
* drawing area.
|
|
25
|
+
*/
|
|
26
|
+
export declare const usePointGeometry: ({ dataX, dataY, magnetic, }: UsePointGeometryParams) => PointGeometry;
|
|
27
|
+
/**
|
|
28
|
+
* Registers/unregisters a data index as a magnetic snap target
|
|
29
|
+
* when the Point has `magnetic` enabled.
|
|
30
|
+
*/
|
|
31
|
+
export declare const useMagneticRegistration: (magnetic: boolean, dataX: number, getXAxisConfig: () => BaseAxisProps | undefined, { register, unregister }: MagneticRegistryValue) => void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=usePointGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePointGeometry.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/Point/usePointGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAGlF,KAAK,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,6BAI9B,sBAAsB,KAAG,aAqB3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,OAAO,EACjB,OAAO,MAAM,EACb,gBAAgB,MAAM,aAAa,GAAG,SAAS,EAC/C,0BAA0B,qBAAqB,KAC9C,IAQF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useMemo as a, useEffect as x } from "react";
|
|
2
|
+
import { projectPoint as g } from "../utils/scales/scales.js";
|
|
3
|
+
import { isWithinBounds as v, resolveDataXToIndex as y } from "./utils.js";
|
|
4
|
+
import { useCartesianChartContext as S } from "../CartesianChart/context/cartesianChartContext.js";
|
|
5
|
+
import { useMagneticRegistry as R } from "./pointContext/magneticPointsContext.js";
|
|
6
|
+
import { usePointReveal as d } from "../CartesianChart/RevealAnimation/context.js";
|
|
7
|
+
const A = ({
|
|
8
|
+
dataX: e,
|
|
9
|
+
dataY: t,
|
|
10
|
+
magnetic: r
|
|
11
|
+
}) => {
|
|
12
|
+
const { getXScale: i, getYScale: n, getXAxisConfig: o, drawingArea: u } = S(), f = R();
|
|
13
|
+
C(r, e, o, f);
|
|
14
|
+
const c = i(), m = n(), s = a(() => {
|
|
15
|
+
if (!(!c || !m))
|
|
16
|
+
return g(e, t, c, m);
|
|
17
|
+
}, [e, t, c, m]), l = d(), p = s !== void 0 && v(s.x, s.y, u);
|
|
18
|
+
return { pixel: s, drawingArea: u, revealStyle: l, isVisible: p };
|
|
19
|
+
}, C = (e, t, r, { register: i, unregister: n }) => {
|
|
20
|
+
x(() => {
|
|
21
|
+
if (!e) return;
|
|
22
|
+
const o = y(t, r());
|
|
23
|
+
if (o !== void 0)
|
|
24
|
+
return i(o), () => n(o);
|
|
25
|
+
}, [e, t, r, i, n]);
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
C as useMagneticRegistration,
|
|
29
|
+
A as usePointGeometry
|
|
30
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BaseAxisProps } from '../Axis';
|
|
2
|
+
import { DrawingArea } from '../utils/types';
|
|
3
|
+
import { LabelAlignment } from './types';
|
|
4
|
+
export type LabelTextAnchor = 'start' | 'middle' | 'end';
|
|
5
|
+
export declare const isWithinBounds: (px: number, py: number, area: DrawingArea) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Builds the three SVG points of the arrow triangle.
|
|
8
|
+
*
|
|
9
|
+
* `'top'` → arrow sits below the label, tip pointing **down** toward the circle.
|
|
10
|
+
* `'bottom'` → arrow sits above the label, tip pointing **up** toward the circle.
|
|
11
|
+
*/
|
|
12
|
+
export declare const buildArrowPoints: (cx: number, cy: number, radius: number, position: "top" | "bottom") => string;
|
|
13
|
+
/**
|
|
14
|
+
* Resolves the label prop to a string or undefined.
|
|
15
|
+
*/
|
|
16
|
+
export declare const resolveLabel: (label: string | ((dataIndex: number) => string) | undefined, dataX: number) => string | undefined;
|
|
17
|
+
export declare const resolveDataXToIndex: (dataX: number, axisConfig: BaseAxisProps | undefined) => number | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Computes the label's horizontal placement, keeping it inside the drawing area
|
|
20
|
+
* near the left/right edges. Centred on the point when it fits; otherwise
|
|
21
|
+
* anchored to the edge and aligned with the arrow's outer vertex (offset by half
|
|
22
|
+
* the arrow width from the point, when an arrow is rendered).
|
|
23
|
+
*/
|
|
24
|
+
export declare const computeLabelX: (pixelX: number, label: string, area: DrawingArea, alignment: LabelAlignment, hasArrow: boolean) => {
|
|
25
|
+
x: number;
|
|
26
|
+
textAnchor: LabelTextAnchor;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Computes the vertical position of the label text baseline.
|
|
30
|
+
*/
|
|
31
|
+
export declare const computeLabelY: (pixelY: number, radius: number, labelPosition: "top" | "bottom", renderArrow: boolean) => number;
|
|
32
|
+
/**
|
|
33
|
+
* Computes where a point's label is drawn: the (optionally clamped) horizontal
|
|
34
|
+
* placement and the vertical baseline. Label content is resolved separately via
|
|
35
|
+
* {@link resolveLabel}.
|
|
36
|
+
*/
|
|
37
|
+
export declare const computeLabelGeometry: ({ text, pixelX, pixelY, size, labelPosition, showLabelArrow, area, alignment, }: {
|
|
38
|
+
text: string;
|
|
39
|
+
pixelX: number;
|
|
40
|
+
pixelY: number;
|
|
41
|
+
size: number;
|
|
42
|
+
labelPosition: "top" | "bottom";
|
|
43
|
+
showLabelArrow: boolean;
|
|
44
|
+
area: DrawingArea;
|
|
45
|
+
alignment: LabelAlignment;
|
|
46
|
+
}) => {
|
|
47
|
+
x: number;
|
|
48
|
+
y: number;
|
|
49
|
+
textAnchor: LabelTextAnchor;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/Point/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,eAAO,MAAM,cAAc,GACzB,IAAI,MAAM,EACV,IAAI,MAAM,EACV,MAAM,WAAW,KAChB,OAIyB,CAAC;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,MAAM,EACV,IAAI,MAAM,EACV,QAAQ,MAAM,EACd,UAAU,KAAK,GAAG,QAAQ,KACzB,MAYF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,EAC3D,OAAO,MAAM,KACZ,MAAM,GAAG,SAGX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,EACb,YAAY,aAAa,GAAG,SAAS,KACpC,MAAM,GAAG,SAMX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,MAAM,WAAW,EACjB,WAAW,cAAc,EACzB,UAAU,OAAO,KAChB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAgB1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,eAAe,KAAK,GAAG,QAAQ,EAC/B,aAAa,OAAO,KACnB,MAQF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,iFASlC;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;CAC3B,KAAG;IACF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,eAAe,CAAC;CAY7B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { chartConfig as d } from "../config.js";
|
|
2
|
+
const { point: e } = d, p = (t, n, o) => t >= o.x && t <= o.x + o.width && n >= o.y && n <= o.y + o.height, m = (t, n, o, s) => {
|
|
3
|
+
const r = e.arrowWidth / 2;
|
|
4
|
+
if (s === "top") {
|
|
5
|
+
const h = n - o - e.labelGap, a = h - e.arrowHeight;
|
|
6
|
+
return `${t},${h} ${t - r},${a} ${t + r},${a}`;
|
|
7
|
+
}
|
|
8
|
+
const i = n + o + e.labelGap, c = i + e.arrowHeight;
|
|
9
|
+
return `${t},${i} ${t - r},${c} ${t + r},${c}`;
|
|
10
|
+
}, w = (t, n) => {
|
|
11
|
+
const o = typeof t == "function" ? t(n) : t;
|
|
12
|
+
return o === "" ? void 0 : o;
|
|
13
|
+
}, x = (t, n) => {
|
|
14
|
+
const o = n?.data;
|
|
15
|
+
if (!o || typeof o[0] != "number") return t;
|
|
16
|
+
const s = o.indexOf(t);
|
|
17
|
+
if (s !== -1)
|
|
18
|
+
return s;
|
|
19
|
+
}, u = (t, n, o, s, r) => {
|
|
20
|
+
if (s === "center")
|
|
21
|
+
return { x: t, textAnchor: "middle" };
|
|
22
|
+
const i = n.length * e.labelFontSize * e.labelCharWidthRatio / 2, c = r ? e.arrowWidth / 2 : 0;
|
|
23
|
+
return t - i < o.x ? { x: t - c, textAnchor: "start" } : t + i > o.x + o.width ? { x: t + c, textAnchor: "end" } : { x: t, textAnchor: "middle" };
|
|
24
|
+
}, b = (t, n, o, s) => {
|
|
25
|
+
const r = s ? e.arrowHeight + e.labelGap : e.labelGap;
|
|
26
|
+
return o === "top" ? t - n - r - e.labelGap : t + n + r + e.labelGap + e.labelFontSize;
|
|
27
|
+
}, G = ({
|
|
28
|
+
text: t,
|
|
29
|
+
pixelX: n,
|
|
30
|
+
pixelY: o,
|
|
31
|
+
size: s,
|
|
32
|
+
labelPosition: r,
|
|
33
|
+
showLabelArrow: i,
|
|
34
|
+
area: c,
|
|
35
|
+
alignment: h
|
|
36
|
+
}) => {
|
|
37
|
+
const { x: a, textAnchor: l } = u(
|
|
38
|
+
n,
|
|
39
|
+
t,
|
|
40
|
+
c,
|
|
41
|
+
h,
|
|
42
|
+
i
|
|
43
|
+
), f = b(o, s / 2, r, i);
|
|
44
|
+
return { x: a, y: f, textAnchor: l };
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
m as buildArrowPoints,
|
|
48
|
+
G as computeLabelGeometry,
|
|
49
|
+
u as computeLabelX,
|
|
50
|
+
b as computeLabelY,
|
|
51
|
+
p as isWithinBounds,
|
|
52
|
+
x as resolveDataXToIndex,
|
|
53
|
+
w as resolveLabel
|
|
54
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceLine.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/visualization/ReferenceLine/ReferenceLine.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAYlD,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,kDAmChE"}
|