@redsift/charts 8.0.0 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +1070 -0
- package/coverage/coverage-final.json +60 -0
- package/coverage/lcov-report/ChartEmptyState/ChartEmptyState.tsx.html +679 -0
- package/coverage/lcov-report/ChartEmptyState/index.html +146 -0
- package/coverage/lcov-report/ChartEmptyState/index.ts.html +91 -0
- package/coverage/lcov-report/ChartEmptyState/styles.ts.html +184 -0
- package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChart.tsx.html +775 -0
- package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChartAxisBottom.tsx.html +259 -0
- package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChartBar.tsx.html +421 -0
- package/coverage/lcov-report/HorizontalBarChart/index.html +191 -0
- package/coverage/lcov-report/HorizontalBarChart/index.ts.html +94 -0
- package/coverage/lcov-report/HorizontalBarChart/styles.ts.html +451 -0
- package/coverage/lcov-report/HorizontalBarChart/types.ts.html +433 -0
- package/coverage/lcov-report/PieChart/PieChart.tsx.html +1105 -0
- package/coverage/lcov-report/PieChart/PieChartArc.tsx.html +412 -0
- package/coverage/lcov-report/PieChart/index.html +176 -0
- package/coverage/lcov-report/PieChart/index.ts.html +94 -0
- package/coverage/lcov-report/PieChart/styles.ts.html +616 -0
- package/coverage/lcov-report/PieChart/types.ts.html +472 -0
- package/coverage/lcov-report/PieChart.tsx.html +1045 -0
- package/coverage/lcov-report/PieChartArc.tsx.html +271 -0
- package/coverage/lcov-report/StaticPieChart.tsx.html +286 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/components/Arc/Arc.tsx.html +304 -0
- package/coverage/lcov-report/components/Arc/index.html +146 -0
- package/coverage/lcov-report/components/Arc/index.ts.html +94 -0
- package/coverage/lcov-report/components/Arc/styles.ts.html +208 -0
- package/coverage/lcov-report/components/Arcs/Arcs.tsx.html +427 -0
- package/coverage/lcov-report/components/Arcs/index.html +146 -0
- package/coverage/lcov-report/components/Arcs/index.ts.html +94 -0
- package/coverage/lcov-report/components/Arcs/styles.ts.html +106 -0
- package/coverage/lcov-report/components/Axis/Axis.tsx.html +754 -0
- package/coverage/lcov-report/components/Axis/computeTicks.ts.html +481 -0
- package/coverage/lcov-report/components/Axis/index.html +176 -0
- package/coverage/lcov-report/components/Axis/index.ts.html +94 -0
- package/coverage/lcov-report/components/Axis/styles.ts.html +148 -0
- package/coverage/lcov-report/components/Axis/types.ts.html +253 -0
- package/coverage/lcov-report/components/Bar/Bar.tsx.html +421 -0
- package/coverage/lcov-report/components/Bar/index.html +161 -0
- package/coverage/lcov-report/components/Bar/index.ts.html +94 -0
- package/coverage/lcov-report/components/Bar/styles.ts.html +247 -0
- package/coverage/lcov-report/components/Bar/types.ts.html +178 -0
- package/coverage/lcov-report/components/BarChart/BarChart.tsx.html +355 -0
- package/coverage/lcov-report/components/BarChart/EmptyBarChart.tsx.html +259 -0
- package/coverage/lcov-report/components/BarChart/LoadingBarChart.tsx.html +145 -0
- package/coverage/lcov-report/components/BarChart/RenderedBarChart.tsx.html +496 -0
- package/coverage/lcov-report/components/BarChart/index.html +206 -0
- package/coverage/lcov-report/components/BarChart/index.ts.html +94 -0
- package/coverage/lcov-report/components/BarChart/styles.ts.html +190 -0
- package/coverage/lcov-report/components/BarChart/utils.ts.html +145 -0
- package/coverage/lcov-report/components/ChartContainer/ChartContainer.tsx.html +433 -0
- package/coverage/lcov-report/components/ChartContainer/index.html +146 -0
- package/coverage/lcov-report/components/ChartContainer/index.ts.html +94 -0
- package/coverage/lcov-report/components/ChartContainer/intl/index.html +116 -0
- package/coverage/lcov-report/components/ChartContainer/intl/index.ts.html +106 -0
- package/coverage/lcov-report/components/ChartContainer/styles.ts.html +211 -0
- package/coverage/lcov-report/components/DataPoint/DataPoint.tsx.html +442 -0
- package/coverage/lcov-report/components/DataPoint/index.html +146 -0
- package/coverage/lcov-report/components/DataPoint/index.ts.html +94 -0
- package/coverage/lcov-report/components/DataPoint/styles.ts.html +109 -0
- package/coverage/lcov-report/components/Dot/Dot.tsx.html +232 -0
- package/coverage/lcov-report/components/Dot/index.html +146 -0
- package/coverage/lcov-report/components/Dot/index.ts.html +94 -0
- package/coverage/lcov-report/components/Dot/styles.ts.html +184 -0
- package/coverage/lcov-report/components/Legend/Legend.tsx.html +268 -0
- package/coverage/lcov-report/components/Legend/index.html +146 -0
- package/coverage/lcov-report/components/Legend/index.ts.html +94 -0
- package/coverage/lcov-report/components/Legend/styles.ts.html +130 -0
- package/coverage/lcov-report/components/LegendItem/LegendItem.tsx.html +403 -0
- package/coverage/lcov-report/components/LegendItem/index.html +146 -0
- package/coverage/lcov-report/components/LegendItem/index.ts.html +94 -0
- package/coverage/lcov-report/components/LegendItem/styles.ts.html +205 -0
- package/coverage/lcov-report/components/PieChart/EmptyPieChart.tsx.html +343 -0
- package/coverage/lcov-report/components/PieChart/LoadingPieChart.tsx.html +145 -0
- package/coverage/lcov-report/components/PieChart/PieChart.tsx.html +388 -0
- package/coverage/lcov-report/components/PieChart/RenderedPieChart.tsx.html +571 -0
- package/coverage/lcov-report/components/PieChart/index.html +221 -0
- package/coverage/lcov-report/components/PieChart/index.ts.html +94 -0
- package/coverage/lcov-report/components/PieChart/styles.ts.html +376 -0
- package/coverage/lcov-report/components/PieChart/types.ts.html +352 -0
- package/coverage/lcov-report/components/PieChart/utils.ts.html +199 -0
- package/coverage/lcov-report/components/ScatterPlot/EmptyScatterPlot.tsx.html +295 -0
- package/coverage/lcov-report/components/ScatterPlot/LoadingScatterPlot.tsx.html +145 -0
- package/coverage/lcov-report/components/ScatterPlot/RenderedScatterPlot.tsx.html +910 -0
- package/coverage/lcov-report/components/ScatterPlot/ScatterPlot.tsx.html +379 -0
- package/coverage/lcov-report/components/ScatterPlot/index.html +221 -0
- package/coverage/lcov-report/components/ScatterPlot/index.ts.html +94 -0
- package/coverage/lcov-report/components/ScatterPlot/styles.ts.html +196 -0
- package/coverage/lcov-report/components/ScatterPlot/types.ts.html +376 -0
- package/coverage/lcov-report/components/ScatterPlot/utils.ts.html +388 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/hooks/index.html +176 -0
- package/coverage/lcov-report/hooks/index.ts.html +97 -0
- package/coverage/lcov-report/hooks/useBrush.tsx.html +430 -0
- package/coverage/lcov-report/hooks/useColor.tsx.html +163 -0
- package/coverage/lcov-report/hooks/useFormatCategoricalData.tsx.html +289 -0
- package/coverage/lcov-report/hooks/useZoom.tsx.html +235 -0
- package/coverage/lcov-report/index.html +311 -0
- package/coverage/lcov-report/index.ts.html +94 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/styles.ts.html +631 -0
- package/coverage/lcov-report/types.ts.html +457 -0
- package/coverage/lcov.info +2272 -0
- package/dist/index.js +6326 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +98 -0
- package/index.ts +1 -0
- package/jest.config.js +3 -0
- package/package.json +2 -3
- package/rollup.config.js +13 -0
- package/src/components/Arc/Arc.test.tsx +92 -0
- package/src/components/Arc/Arc.tsx +73 -0
- package/src/components/Arc/index.ts +3 -0
- package/src/components/Arc/styles.ts +41 -0
- package/src/components/Arc/types.ts +18 -0
- package/src/components/Arcs/Arcs.stories.tsx +177 -0
- package/src/components/Arcs/Arcs.tsx +114 -0
- package/src/components/Arcs/index.ts +3 -0
- package/src/components/Arcs/styles.ts +7 -0
- package/src/components/Arcs/types.ts +26 -0
- package/src/components/Axis/Axis.stories.tsx +297 -0
- package/src/components/Axis/Axis.tsx +223 -0
- package/src/components/Axis/computeTicks.ts +132 -0
- package/src/components/Axis/index.ts +3 -0
- package/src/components/Axis/styles.ts +21 -0
- package/src/components/Axis/types.ts +56 -0
- package/src/components/Bar/Bar.stories.tsx +152 -0
- package/src/components/Bar/Bar.test.tsx +158 -0
- package/src/components/Bar/Bar.tsx +112 -0
- package/src/components/Bar/index.ts +3 -0
- package/src/components/Bar/styles.ts +54 -0
- package/src/components/Bar/types.ts +31 -0
- package/src/components/BarChart/BarChart.stories.tsx +80 -0
- package/src/components/BarChart/BarChart.test.tsx +189 -0
- package/src/components/BarChart/BarChart.tsx +90 -0
- package/src/components/BarChart/EmptyBarChart.tsx +58 -0
- package/src/components/BarChart/LoadingBarChart.tsx +20 -0
- package/src/components/BarChart/RenderedBarChart.tsx +137 -0
- package/src/components/BarChart/__snapshots__/BarChart.test.tsx.snap +6932 -0
- package/src/components/BarChart/index.ts +3 -0
- package/src/components/BarChart/styles.ts +35 -0
- package/src/components/BarChart/types.ts +58 -0
- package/src/components/BarChart/utils.ts +20 -0
- package/src/components/ChartContainer/ChartContainer.stories.tsx +81 -0
- package/src/components/ChartContainer/ChartContainer.test.tsx +75 -0
- package/src/components/ChartContainer/ChartContainer.tsx +116 -0
- package/src/components/ChartContainer/index.ts +3 -0
- package/src/components/ChartContainer/intl/en-US.json +3 -0
- package/src/components/ChartContainer/intl/fr-FR.json +3 -0
- package/src/components/ChartContainer/intl/index.ts +7 -0
- package/src/components/ChartContainer/styles.ts +42 -0
- package/src/components/ChartContainer/types.ts +24 -0
- package/src/components/DataPoint/DataPoint.tsx +119 -0
- package/src/components/DataPoint/index.ts +3 -0
- package/src/components/DataPoint/styles.ts +8 -0
- package/src/components/DataPoint/types.ts +33 -0
- package/src/components/Dot/Dot.stories.tsx +157 -0
- package/src/components/Dot/Dot.test.tsx +136 -0
- package/src/components/Dot/Dot.tsx +49 -0
- package/src/components/Dot/index.ts +3 -0
- package/src/components/Dot/styles.ts +33 -0
- package/src/components/Dot/types.ts +16 -0
- package/src/components/Legend/Legend.stories.tsx +108 -0
- package/src/components/Legend/Legend.tsx +61 -0
- package/src/components/Legend/index.ts +3 -0
- package/src/components/Legend/styles.ts +15 -0
- package/src/components/Legend/types.ts +27 -0
- package/src/components/LegendItem/LegendItem.test.tsx +69 -0
- package/src/components/LegendItem/LegendItem.tsx +106 -0
- package/src/components/LegendItem/index.ts +3 -0
- package/src/components/LegendItem/styles.ts +40 -0
- package/src/components/LegendItem/types.ts +30 -0
- package/src/components/PieChart/EmptyPieChart.tsx +86 -0
- package/src/components/PieChart/LoadingPieChart.tsx +20 -0
- package/src/components/PieChart/PieChart.stories.tsx +91 -0
- package/src/components/PieChart/PieChart.test.tsx +201 -0
- package/src/components/PieChart/PieChart.tsx +101 -0
- package/src/components/PieChart/RenderedPieChart.tsx +162 -0
- package/src/components/PieChart/__snapshots__/PieChart.stories.storyshot +7843 -0
- package/src/components/PieChart/__snapshots__/PieChart.test.tsx.snap +20540 -0
- package/src/components/PieChart/index.ts +3 -0
- package/src/components/PieChart/styles.ts +97 -0
- package/src/components/PieChart/types.ts +89 -0
- package/src/components/PieChart/utils.ts +38 -0
- package/src/components/ScatterPlot/EmptyScatterPlot.tsx +70 -0
- package/src/components/ScatterPlot/LoadingScatterPlot.tsx +20 -0
- package/src/components/ScatterPlot/RenderedScatterPlot.tsx +275 -0
- package/src/components/ScatterPlot/ScatterPlot.stories.tsx +95 -0
- package/src/components/ScatterPlot/ScatterPlot.test.tsx +44 -0
- package/src/components/ScatterPlot/ScatterPlot.tsx +98 -0
- package/src/components/ScatterPlot/__snapshots__/ScatterPlot.test.tsx.snap +88352 -0
- package/src/components/ScatterPlot/index.ts +3 -0
- package/src/components/ScatterPlot/styles.ts +37 -0
- package/src/components/ScatterPlot/types.ts +97 -0
- package/src/components/ScatterPlot/utils.ts +101 -0
- package/src/config.ts +10 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useBrush.tsx +115 -0
- package/src/hooks/useColor.tsx +26 -0
- package/src/hooks/useFormatCategoricalData.tsx +68 -0
- package/src/hooks/useZoom.tsx +50 -0
- package/src/index.ts +15 -0
- package/src/scheme.ts +221 -0
- package/src/types/data.ts +52 -0
- package/src/types/index.ts +5 -0
- package/src/types/legend.ts +19 -0
- package/src/types/scale.ts +79 -0
- package/src/types/size.ts +17 -0
- package/src/types/theme.ts +27 -0
- package/tsconfig.json +3 -0
- package/index.js +0 -2606
- package/index.js.map +0 -1
- /package/{CONTRIBUTING.md → dist/CONTRIBUTING.md} +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/hooks/useBrush.tsx","../src/scheme.ts","../src/hooks/useColor.tsx","../src/hooks/useFormatCategoricalData.tsx","../src/hooks/useZoom.tsx","../src/types/legend.ts","../src/types/size.ts","../src/types/theme.ts","../../../node_modules/@react-spring/rafz/dist/esm/index.js","../../../node_modules/@react-spring/shared/dist/esm/index.js","../../../node_modules/@react-spring/animated/dist/esm/index.js","../../../node_modules/@react-spring/core/dist/esm/index.js","../../../node_modules/@react-spring/web/dist/esm/index.js","../src/components/DataPoint/styles.ts","../src/components/DataPoint/DataPoint.tsx","../src/components/Arc/styles.ts","../src/config.ts","../src/components/Arc/Arc.tsx","../src/components/Arcs/styles.ts","../src/components/Arcs/Arcs.tsx","../src/components/Axis/types.ts","../src/components/Axis/styles.ts","../src/components/Axis/computeTicks.ts","../src/components/Axis/Axis.tsx","../src/components/Bar/types.ts","../src/components/Bar/styles.ts","../src/components/Bar/Bar.tsx","../src/components/ChartContainer/intl/index.ts","../src/components/ChartContainer/styles.ts","../src/components/ChartContainer/ChartContainer.tsx","../src/components/BarChart/styles.ts","../src/components/BarChart/utils.ts","../src/components/BarChart/EmptyBarChart.tsx","../src/components/BarChart/LoadingBarChart.tsx","../src/components/BarChart/RenderedBarChart.tsx","../src/components/BarChart/BarChart.tsx","../src/components/Dot/styles.ts","../src/components/Dot/Dot.tsx","../src/components/Legend/styles.ts","../src/components/LegendItem/styles.ts","../src/components/LegendItem/LegendItem.tsx","../src/components/Legend/Legend.tsx","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../src/components/PieChart/LoadingPieChart.tsx","../src/components/PieChart/utils.ts","../src/components/PieChart/EmptyPieChart.tsx","../src/components/PieChart/RenderedPieChart.tsx","../src/components/PieChart/PieChart.tsx","../src/components/ScatterPlot/types.ts","../src/components/ScatterPlot/styles.ts","../src/components/ScatterPlot/LoadingScatterPlot.tsx","../src/components/ScatterPlot/utils.ts","../src/components/ScatterPlot/EmptyScatterPlot.tsx","../src/components/ScatterPlot/RenderedScatterPlot.tsx","../src/components/ScatterPlot/ScatterPlot.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n brush as d3brush,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseBrushProps {\n brushRef: MutableRefObject<d3BrushBehavior<unknown> | undefined>;\n svgRef: MutableRefObject<SVGSVGElement | SVGGElement | undefined>;\n extent?: [[number, number], [number, number]];\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n isBrushable?: boolean;\n isGridded?: boolean;\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n}\n\nconst getRoundedIntermediaryPoint = (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n) => {\n if (!selection) {\n return null;\n }\n\n const xTicks = scaleX.ticks(20);\n const xDelta = xTicks[1] - xTicks[0];\n const yTicks = scaleY.ticks(20);\n const yDelta = yTicks[1] - yTicks[0];\n\n return [\n [\n scaleX(\n Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n scaleY(\n Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n [\n scaleX(\n Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n\n scaleY(\n Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n ] as [[number, number], [number, number]];\n};\n\nexport const useBrush = ({\n brushRef: propsBrushRef,\n svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brushRef = propsBrushRef || useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brushRef.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(\n brushRef.current.move as any,\n selection\n );\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brushRef.current as any);\n }\n });\n};\n","import {\n scaleOrdinal as d3scaleOrdinal,\n ScaleOrdinal as d3ScaleOrdinal,\n} from 'd3';\nimport { ChartTheme } from './types';\n\nimport {\n RedsiftDataVizColorAquaDark,\n RedsiftDataVizColorAquaDarker,\n RedsiftDataVizColorAquaDarkerer,\n RedsiftDataVizColorAquaDefault,\n RedsiftDataVizColorAquaLight,\n RedsiftDataVizColorAquaLighter,\n RedsiftDataVizColorAquaLighterer,\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorBlueDarkerer,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorBlueLighterer,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorBrownDarkerer,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorBrownLighterer,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorGreenDarkerer,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorGreenLighterer,\n RedsiftDataVizColorGreyDark,\n RedsiftDataVizColorGreyDarker,\n RedsiftDataVizColorGreyDarkerer,\n RedsiftDataVizColorGreyDefault,\n RedsiftDataVizColorGreyLight,\n RedsiftDataVizColorGreyLighter,\n RedsiftDataVizColorGreyLighterer,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorOrangeDarkerer,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorOrangeLighterer,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorPinkDarkerer,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorPinkLighterer,\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorPurpleDarkerer,\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorPurpleLighterer,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorRedDarkerer,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorRedLighterer,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorYellowDarkerer,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorYellowLighter,\n RedsiftDataVizColorYellowLighterer,\n} from '@redsift/design-system';\n\nexport const monochrome = RedsiftDataVizColorBlueDefault;\nexport const empty = RedsiftDataVizColorGreyDark;\n\nexport const scheme = {\n default: [\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorAquaDefault,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorGreyDefault,\n ],\n dark: [\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorAquaDark,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorGreyDark,\n ],\n darker: [\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorAquaDarker,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorGreyDarker,\n ],\n darkerer: [\n RedsiftDataVizColorGreenDarkerer,\n RedsiftDataVizColorPinkDarkerer,\n RedsiftDataVizColorAquaDarkerer,\n RedsiftDataVizColorBrownDarkerer,\n RedsiftDataVizColorRedDarkerer,\n RedsiftDataVizColorYellowDarkerer,\n RedsiftDataVizColorPurpleDarkerer,\n RedsiftDataVizColorOrangeDarkerer,\n RedsiftDataVizColorBlueDarkerer,\n RedsiftDataVizColorGreyDarkerer,\n ],\n light: [\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorAquaLight,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorGreyLight,\n ],\n lighter: [\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorAquaLighter,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorYellowLighter,\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorGreyLighter,\n ],\n lighterer: [\n RedsiftDataVizColorGreenLighterer,\n RedsiftDataVizColorPinkLighterer,\n RedsiftDataVizColorAquaLighterer,\n RedsiftDataVizColorBrownLighterer,\n RedsiftDataVizColorRedLighterer,\n RedsiftDataVizColorYellowLighterer,\n RedsiftDataVizColorPurpleLighterer,\n RedsiftDataVizColorOrangeLighterer,\n RedsiftDataVizColorBlueLighterer,\n RedsiftDataVizColorGreyLighterer,\n ],\n monochrome: [monochrome],\n empty: [empty],\n};\n\nexport const successDangerScheme = {\n success: RedsiftDataVizColorGreenDefault,\n warning: RedsiftDataVizColorOrangeDefault,\n danger: RedsiftDataVizColorRedDefault,\n neutral: RedsiftDataVizColorGreyDefault,\n};\n\nexport const getColorScale = (\n theme: ChartTheme,\n domain?: string[],\n isEmpty?: boolean\n): d3ScaleOrdinal<string, string> => {\n let d3colors = d3scaleOrdinal(scheme.default);\n if (isEmpty) {\n d3colors = d3scaleOrdinal(scheme.empty);\n } else if (typeof theme === 'string') {\n d3colors = d3scaleOrdinal()\n .domain(domain!)\n .range(scheme[theme])\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n } else if (typeof theme === 'object') {\n if (\n Object.keys(theme).includes('success') &&\n Object.keys(theme).includes('danger') &&\n Object.keys(theme).includes('warning')\n ) {\n d3colors = d3scaleOrdinal()\n .domain([\n theme.success,\n theme.warning,\n theme.danger,\n ...(theme.neutral ? [theme.neutral] : []),\n ])\n .range([\n successDangerScheme.success,\n successDangerScheme.warning,\n successDangerScheme.danger,\n ...(theme.neutral ? [successDangerScheme.neutral] : []),\n ])\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n } else {\n d3colors = d3scaleOrdinal()\n .domain(Object.keys(theme))\n .range(Object.values(theme))\n .unknown(monochrome) as d3ScaleOrdinal<string, string>;\n }\n }\n\n return d3colors;\n};\n","import { useMemo } from 'react';\nimport { ScaleOrdinal as d3ScaleOrdinal } from 'd3';\nimport { getColorScale } from '../scheme';\nimport { ChartTheme, JSONArray } from '../types';\n\nexport interface UseColorProps {\n /** Dataset to use to generate the chart. */\n data: JSONArray;\n /** Theme. */\n theme: ChartTheme;\n /** Name of the field that will be used to categorize the data. */\n category: string;\n}\n\nexport const useColor = ({ data, theme, category }: UseColorProps) => {\n const colorScale = useMemo<d3ScaleOrdinal<string, string>>(\n () =>\n getColorScale(\n theme,\n data.map((d) => d[category] as string)\n ),\n [theme]\n );\n\n return colorScale;\n};\n","import { useMemo } from 'react';\nimport { CategoryData, ChartTheme } from '../types';\nimport { useColor } from './useColor';\n\nexport interface UseFormatCategoricalDataProps {\n /** Dataset to use to generate the chart, should be a list of objects containing a key and a value. */\n data: CategoryData;\n /** Theme. */\n theme: ChartTheme;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n}\n\nexport const useFormatCategoricalData = ({\n data,\n caping,\n others,\n theme,\n}: UseFormatCategoricalDataProps) => {\n const computedData = useMemo(() => {\n let computedData;\n\n if (data === undefined || data === null) {\n return undefined;\n }\n\n computedData = [...data!].sort((a, b) =>\n a.value === b.value\n ? a.key > b.key\n ? 1\n : -1\n : a.value < b.value\n ? 1\n : -1\n );\n\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n computedData = computedData.slice(0, caping);\n } else {\n computedData = computedData.reduce<CategoryData>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n key: typeof others === 'string' ? others : 'Others',\n value: curr.value,\n };\n } else {\n acc[caping] = {\n ...acc[caping],\n value: acc[caping].value + curr.value,\n };\n }\n return acc;\n }, []);\n }\n }\n\n return computedData;\n }, [data, caping]);\n\n const colorScale = useColor({ data: computedData!, theme, category: 'key' });\n\n return { data: computedData as CategoryData, colorScale };\n};\n","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport {\n zoom as d3zoom,\n interpolateRound as d3interpolateRound,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseZoomProps {\n svgRef: MutableRefObject<SVGSVGElement | undefined>;\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n defaultTransform?: { k: number; x: number; y: number };\n size?: any;\n onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\n size,\n onZoom,\n}: UseZoomProps) => {\n const zx = useRef<d3ScaleLinear<number, number>>(scaleX);\n const zy = useRef<d3ScaleLinear<number, number>>(scaleY);\n const [transform, setTransform] = useState(defaultTransform);\n\n useEffect(() => {\n if (svgRef.current) {\n const zoom = d3zoom()\n .filter((event) => !event.shiftKey)\n .scaleExtent([1 / 2 ** 3, 2 ** 3])\n .on('zoom', (event) => {\n onZoom?.();\n zx.current = event.transform\n .rescaleX(scaleX)\n .interpolate(d3interpolateRound);\n zy.current = event.transform\n .rescaleY(scaleY)\n .interpolate(d3interpolateRound);\n setTransform(event.transform);\n });\n d3select(svgRef.current).call(zoom as any);\n }\n }, [svgRef.current, size]);\n\n return { transform, scaleX: zx.current, scaleY: zy.current };\n};\n","import { ValueOf } from '@redsift/design-system';\n\n/** TOOLTIP */\n\nexport const TooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type TooltipVariant = ValueOf<typeof TooltipVariant>;\n\n/** LEGEND */\nexport const LabelVariant = {\n label: 'label',\n value: 'value',\n percent: 'percent',\n} as const;\nexport type LabelVariant = ValueOf<typeof LabelVariant>;\n","import { ValueOf } from '@redsift/design-system';\n\nexport type ChartDimensions = {\n width: number;\n height: number;\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n};\n\nexport const ChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type ChartSize = ValueOf<typeof ChartSize>;\n","import { ValueOf } from '@redsift/design-system';\n\nexport const ColorTheme = {\n default: 'default',\n dark: 'dark',\n darker: 'darker',\n darkerer: 'darkerer',\n light: 'light',\n lighter: 'lighter',\n lighterer: 'lighterer',\n monochrome: 'monochrome',\n} as const;\nexport type ColorTheme = ValueOf<typeof ColorTheme>;\n\nexport type SuccessDangerColorTheme = {\n success: string;\n warning: string;\n danger: string;\n neutral?: string;\n};\n\nexport type CustomColorTheme = Record<string, string>;\n\nexport type ChartTheme =\n | ColorTheme\n | SuccessDangerColorTheme\n | CustomColorTheme;\n","var f=r(),n=e=>c(e,f),m=r();n.write=e=>c(e,m);var d=r();n.onStart=e=>c(e,d);var h=r();n.onFrame=e=>c(e,h);var p=r();n.onFinish=e=>c(e,p);var i=[];n.setTimeout=(e,t)=>{let a=n.now()+t,o=()=>{let F=i.findIndex(z=>z.cancel==o);~F&&i.splice(F,1),u-=~F?1:0},s={time:a,handler:e,cancel:o};return i.splice(w(a),0,s),u+=1,v(),s};var w=e=>~(~i.findIndex(t=>t.time>e)||~i.length);n.cancel=e=>{d.delete(e),h.delete(e),p.delete(e),f.delete(e),m.delete(e)};n.sync=e=>{T=!0,n.batchedUpdates(e),T=!1};n.throttle=e=>{let t;function a(){try{e(...t)}finally{t=null}}function o(...s){t=s,n.onStart(a)}return o.handler=e,o.cancel=()=>{d.delete(a),t=null},o};var y=typeof window<\"u\"?window.requestAnimationFrame:()=>{};n.use=e=>y=e;n.now=typeof performance<\"u\"?()=>performance.now():Date.now;n.batchedUpdates=e=>e();n.catch=console.error;n.frameLoop=\"always\";n.advance=()=>{n.frameLoop!==\"demand\"?console.warn(\"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand\"):x()};var l=-1,u=0,T=!1;function c(e,t){T?(t.delete(e),e(0)):(t.add(e),v())}function v(){l<0&&(l=0,n.frameLoop!==\"demand\"&&y(b))}function R(){l=-1}function b(){~l&&(y(b),n.batchedUpdates(x))}function x(){let e=l;l=n.now();let t=w(l);if(t&&(Q(i.splice(0,t),a=>a.handler()),u-=t),!u){R();return}d.flush(),f.flush(e?Math.min(64,l-e):16.667),h.flush(),m.flush(),p.flush()}function r(){let e=new Set,t=e;return{add(a){u+=t==e&&!e.has(a)?1:0,e.add(a)},delete(a){return u-=t==e&&e.has(a)?1:0,e.delete(a)},flush(a){t.size&&(e=new Set,u-=t.size,Q(t,o=>o(a)&&e.add(o)),u+=e.size,t=e)}}}function Q(e,t){e.forEach(a=>{try{t(a)}catch(o){n.catch(o)}})}var S={count(){return u},isRunning(){return l>=0},clear(){l=-1,i=[],d=r(),f=r(),h=r(),m=r(),p=r(),u=0}};export{S as __raf,n as raf};\n","var ze=Object.defineProperty;var Le=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0})};var p={};Le(p,{assign:()=>U,colors:()=>c,createStringInterpolator:()=>k,skipAnimation:()=>ee,to:()=>J,willAdvance:()=>S});import{raf as I}from\"@react-spring/rafz\";function Y(){}var mt=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0}),l={arr:Array.isArray,obj:e=>!!e&&e.constructor.name===\"Object\",fun:e=>typeof e==\"function\",str:e=>typeof e==\"string\",num:e=>typeof e==\"number\",und:e=>e===void 0};function bt(e,t){if(l.arr(e)){if(!l.arr(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}return e===t}var Ve=(e,t)=>e.forEach(t);function xt(e,t,r){if(l.arr(e)){for(let n=0;n<e.length;n++)t.call(r,e[n],`${n}`);return}for(let n in e)e.hasOwnProperty(n)&&t.call(r,e[n],n)}var ht=e=>l.und(e)?[]:l.arr(e)?e:[e];function Pe(e,t){if(e.size){let r=Array.from(e);e.clear(),Ve(r,t)}}var yt=(e,...t)=>Pe(e,r=>r(...t)),h=()=>typeof window>\"u\"||!window.navigator||/ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);var k,J,c=null,ee=!1,S=Y,U=e=>{e.to&&(J=e.to),e.now&&(I.now=e.now),e.colors!==void 0&&(c=e.colors),e.skipAnimation!=null&&(ee=e.skipAnimation),e.createStringInterpolator&&(k=e.createStringInterpolator),e.requestAnimationFrame&&I.use(e.requestAnimationFrame),e.batchedUpdates&&(I.batchedUpdates=e.batchedUpdates),e.willAdvance&&(S=e.willAdvance),e.frameLoop&&(I.frameLoop=e.frameLoop)};import{raf as R}from\"@react-spring/rafz\";var E=new Set,u=[],H=[],A=0,qe={get idle(){return!E.size&&!u.length},start(e){A>e.priority?(E.add(e),R.onStart($e)):(te(e),R(B))},advance:B,sort(e){if(A)R.onFrame(()=>qe.sort(e));else{let t=u.indexOf(e);~t&&(u.splice(t,1),re(e))}},clear(){u=[],E.clear()}};function $e(){E.forEach(te),E.clear(),R(B)}function te(e){u.includes(e)||re(e)}function re(e){u.splice(Ge(u,t=>t.priority>e.priority),0,e)}function B(e){let t=H;for(let r=0;r<u.length;r++){let n=u[r];A=n.priority,n.idle||(S(n),n.advance(e),n.idle||t.push(n))}return A=0,H=u,H.length=0,u=t,u.length>0}function Ge(e,t){let r=e.findIndex(t);return r<0?e.length:r}var ne=(e,t,r)=>Math.min(Math.max(r,e),t);var It={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199};var d=\"[-+]?\\\\d*\\\\.?\\\\d+\",M=d+\"%\";function C(...e){return\"\\\\(\\\\s*(\"+e.join(\")\\\\s*,\\\\s*(\")+\")\\\\s*\\\\)\"}var oe=new RegExp(\"rgb\"+C(d,d,d)),fe=new RegExp(\"rgba\"+C(d,d,d,d)),ae=new RegExp(\"hsl\"+C(d,M,M)),ie=new RegExp(\"hsla\"+C(d,M,M,d)),se=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,ue=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,le=/^#([0-9a-fA-F]{6})$/,ce=/^#([0-9a-fA-F]{8})$/;function be(e){let t;return typeof e==\"number\"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=le.exec(e))?parseInt(t[1]+\"ff\",16)>>>0:c&&c[e]!==void 0?c[e]:(t=oe.exec(e))?(y(t[1])<<24|y(t[2])<<16|y(t[3])<<8|255)>>>0:(t=fe.exec(e))?(y(t[1])<<24|y(t[2])<<16|y(t[3])<<8|me(t[4]))>>>0:(t=se.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+\"ff\",16)>>>0:(t=ce.exec(e))?parseInt(t[1],16)>>>0:(t=ue.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=ae.exec(e))?(de(pe(t[1]),z(t[2]),z(t[3]))|255)>>>0:(t=ie.exec(e))?(de(pe(t[1]),z(t[2]),z(t[3]))|me(t[4]))>>>0:null}function j(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function de(e,t,r){let n=r<.5?r*(1+t):r+t-r*t,f=2*r-n,o=j(f,n,e+1/3),i=j(f,n,e),s=j(f,n,e-1/3);return Math.round(o*255)<<24|Math.round(i*255)<<16|Math.round(s*255)<<8}function y(e){let t=parseInt(e,10);return t<0?0:t>255?255:t}function pe(e){return(parseFloat(e)%360+360)%360/360}function me(e){let t=parseFloat(e);return t<0?0:t>1?255:Math.round(t*255)}function z(e){let t=parseFloat(e);return t<0?0:t>100?1:t/100}function D(e){let t=be(e);if(t===null)return e;t=t||0;let r=(t&4278190080)>>>24,n=(t&16711680)>>>16,f=(t&65280)>>>8,o=(t&255)/255;return`rgba(${r}, ${n}, ${f}, ${o})`}var W=(e,t,r)=>{if(l.fun(e))return e;if(l.arr(e))return W({range:e,output:t,extrapolate:r});if(l.str(e.output[0]))return k(e);let n=e,f=n.output,o=n.range||[0,1],i=n.extrapolateLeft||n.extrapolate||\"extend\",s=n.extrapolateRight||n.extrapolate||\"extend\",x=n.easing||(a=>a);return a=>{let F=He(a,o);return Ue(a,o[F],o[F+1],f[F],f[F+1],x,i,s,n.map)}};function Ue(e,t,r,n,f,o,i,s,x){let a=x?x(e):e;if(a<t){if(i===\"identity\")return a;i===\"clamp\"&&(a=t)}if(a>r){if(s===\"identity\")return a;s===\"clamp\"&&(a=r)}return n===f?n:t===r?e<=t?n:f:(t===-1/0?a=-a:r===1/0?a=a-t:a=(a-t)/(r-t),a=o(a),n===-1/0?a=-a:f===1/0?a=a+n:a=a*(f-n)+n,a)}function He(e,t){for(var r=1;r<t.length-1&&!(t[r]>=e);++r);return r-1}var Be=(e,t=\"end\")=>r=>{r=t===\"end\"?Math.min(r,.999):Math.max(r,.001);let n=r*e,f=t===\"end\"?Math.floor(n):Math.ceil(n);return ne(0,1,f/e)},P=1.70158,L=P*1.525,xe=P+1,he=2*Math.PI/3,ye=2*Math.PI/4.5,V=e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,Lt={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:Math.pow(2,10*e-10),easeOutExpo:e=>e===1?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>xe*e*e*e-P*e*e,easeOutBack:e=>1+xe*Math.pow(e-1,3)+P*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*((L+1)*2*e-L)/2:(Math.pow(2*e-2,2)*((L+1)*(e*2-2)+L)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*he),easeOutElastic:e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*he)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*ye))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*ye)/2+1,easeInBounce:e=>1-V(1-e),easeOutBounce:V,easeInOutBounce:e=>e<.5?(1-V(1-2*e))/2:(1+V(2*e-1))/2,steps:Be};var g=Symbol.for(\"FluidValue.get\"),m=Symbol.for(\"FluidValue.observers\");var Pt=e=>!!(e&&e[g]),ve=e=>e&&e[g]?e[g]():e,qt=e=>e[m]||null;function je(e,t){e.eventObserved?e.eventObserved(t):e(t)}function $t(e,t){let r=e[m];r&&r.forEach(n=>{je(n,t)})}var ge=class{[g];[m];constructor(t){if(!t&&!(t=this.get))throw Error(\"Unknown getter\");De(this,t)}},De=(e,t)=>Ee(e,g,t);function Gt(e,t){if(e[g]){let r=e[m];r||Ee(e,m,r=new Set),r.has(t)||(r.add(t),e.observerAdded&&e.observerAdded(r.size,t))}return t}function Qt(e,t){let r=e[m];if(r&&r.has(t)){let n=r.size-1;n?r.delete(t):e[m]=null,e.observerRemoved&&e.observerRemoved(n,t)}}var Ee=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0});var O=/[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,Oe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi,K=new RegExp(`(${O.source})(%|[a-z]+)`,\"i\"),we=/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi,b=/var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;var N=e=>{let[t,r]=We(e);if(!t||h())return e;let n=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(n)return n.trim();if(r&&r.startsWith(\"--\")){let f=window.getComputedStyle(document.documentElement).getPropertyValue(r);return f||e}else{if(r&&b.test(r))return N(r);if(r)return r}return e},We=e=>{let t=b.exec(e);if(!t)return[,];let[,r,n]=t;return[r,n]};var _,Ke=(e,t,r,n,f)=>`rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${f})`,Xt=e=>{_||(_=c?new RegExp(`(${Object.keys(c).join(\"|\")})(?!\\\\w)`,\"g\"):/^\\b$/);let t=e.output.map(o=>ve(o).replace(b,N).replace(Oe,D).replace(_,D)),r=t.map(o=>o.match(O).map(Number)),f=r[0].map((o,i)=>r.map(s=>{if(!(i in s))throw Error('The arity of each \"output\" value must be equal');return s[i]})).map(o=>W({...e,output:o}));return o=>{let i=!K.test(t[0])&&t.find(x=>K.test(x))?.replace(O,\"\"),s=0;return t[0].replace(O,()=>`${f[s++](o)}${i||\"\"}`).replace(we,Ke)}};var Z=\"react-spring: \",Te=e=>{let t=e,r=!1;if(typeof t!=\"function\")throw new TypeError(`${Z}once requires a function parameter`);return(...n)=>{r||(t(...n),r=!0)}},Ne=Te(console.warn);function Jt(){Ne(`${Z}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`)}var _e=Te(console.warn);function er(){_e(`${Z}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`)}function or(e){return l.str(e)&&(e[0]==\"#\"||/\\d/.test(e)||!h()&&b.test(e)||e in(c||{}))}import{raf as Re}from\"@react-spring/rafz\";var v,q=new WeakMap,Ze=e=>e.forEach(({target:t,contentRect:r})=>q.get(t)?.forEach(n=>n(r)));function Fe(e,t){v||typeof ResizeObserver<\"u\"&&(v=new ResizeObserver(Ze));let r=q.get(t);return r||(r=new Set,q.set(t,r)),r.add(e),v&&v.observe(t),()=>{let n=q.get(t);n&&(n.delete(e),!n.size&&v&&v.unobserve(t))}}var $=new Set,w,Xe=()=>{let e=()=>{$.forEach(t=>t({width:window.innerWidth,height:window.innerHeight}))};return window.addEventListener(\"resize\",e),()=>{window.removeEventListener(\"resize\",e)}},Ie=e=>($.add(e),w||(w=Xe()),()=>{$.delete(e),!$.size&&w&&(w(),w=void 0)});var ke=(e,{container:t=document.documentElement}={})=>t===document.documentElement?Ie(e):Fe(e,t);var Se=(e,t,r)=>t-e===0?1:(r-e)/(t-e);var Ye={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}},G=class{callback;container;info;constructor(t,r){this.callback=t,this.container=r,this.info={time:0,x:this.createAxis(),y:this.createAxis()}}createAxis=()=>({current:0,progress:0,scrollLength:0});updateAxis=t=>{let r=this.info[t],{length:n,position:f}=Ye[t];r.current=this.container[`scroll${f}`],r.scrollLength=this.container[\"scroll\"+n]-this.container[\"client\"+n],r.progress=Se(0,r.scrollLength,r.current)};update=()=>{this.updateAxis(\"x\"),this.updateAxis(\"y\")};sendEvent=()=>{this.callback(this.info)};advance=()=>{this.update(),this.sendEvent()}};var T=new WeakMap,Ae=new WeakMap,X=new WeakMap,Me=e=>e===document.documentElement?window:e,yr=(e,{container:t=document.documentElement}={})=>{let r=X.get(t);r||(r=new Set,X.set(t,r));let n=new G(e,t);if(r.add(n),!T.has(t)){let o=()=>(r?.forEach(s=>s.advance()),!0);T.set(t,o);let i=Me(t);window.addEventListener(\"resize\",o,{passive:!0}),t!==document.documentElement&&Ae.set(t,ke(o,{container:t})),i.addEventListener(\"scroll\",o,{passive:!0})}let f=T.get(t);return Re(f),()=>{Re.cancel(f);let o=X.get(t);if(!o||(o.delete(n),o.size))return;let i=T.get(t);T.delete(t),i&&(Me(t).removeEventListener(\"scroll\",i),window.removeEventListener(\"resize\",i),Ae.get(t)?.())}};import{useRef as Je}from\"react\";function Er(e){let t=Je(null);return t.current===null&&(t.current=e()),t.current}import{useState as nt}from\"react\";import{useRef as rt}from\"react\";import{useEffect as et,useLayoutEffect as tt}from\"react\";var Q=h()?et:tt;var Ce=()=>{let e=rt(!1);return Q(()=>(e.current=!0,()=>{e.current=!1}),[]),e};function Mr(){let e=nt()[1],t=Ce();return()=>{t.current&&e(Math.random())}}import{useEffect as ot,useRef as ft,useState as at}from\"react\";function Lr(e,t){let[r]=at(()=>({inputs:t,result:e()})),n=ft(),f=n.current,o=f;return o?t&&o.inputs&&it(t,o.inputs)||(o={inputs:t,result:e()}):o=r,ot(()=>{n.current=o,f==r&&(r.inputs=r.result=void 0)},[o]),o.result}function it(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}import{useEffect as st}from\"react\";var $r=e=>st(e,ut),ut=[];import{useEffect as lt,useRef as ct}from\"react\";function Ur(e){let t=ct();return lt(()=>{t.current=e}),t.current}import{useState as dt}from\"react\";var Wr=()=>{let[e,t]=dt(null);return Q(()=>{let r=window.matchMedia(\"(prefers-reduced-motion)\"),n=f=>{t(f.matches),U({skipAnimation:f.matches})};return n(r),r.addEventListener(\"change\",n),()=>{r.removeEventListener(\"change\",n)}},[]),e};import{raf as yn}from\"@react-spring/rafz\";export{ge as FluidValue,p as Globals,Gt as addFluidObserver,je as callFluidObserver,$t as callFluidObservers,ne as clamp,D as colorToRgba,It as colors,W as createInterpolator,Xt as createStringInterpolator,mt as defineHidden,er as deprecateDirectCall,Jt as deprecateInterpolate,Ve as each,xt as eachProp,Lt as easings,Pe as flush,yt as flushCalls,qe as frameLoop,qt as getFluidObservers,ve as getFluidValue,Pt as hasFluidValue,se as hex3,ue as hex4,le as hex6,ce as hex8,ae as hsl,ie as hsla,l as is,or as isAnimatedString,bt as isEqual,h as isSSR,Y as noop,ke as onResize,yr as onScroll,Te as once,Z as prefix,yn as raf,Qt as removeFluidObserver,oe as rgb,fe as rgba,De as setFluidGetter,ht as toArray,Er as useConstant,Mr as useForceUpdate,Q as useIsomorphicLayoutEffect,Lr as useMemoOne,$r as useOnce,Ur as usePrev,Wr as useReducedMotion};\n","import{defineHidden as B}from\"@react-spring/shared\";var h=Symbol.for(\"Animated:node\"),v=e=>!!e&&e[h]===e,k=e=>e&&e[h],D=(e,t)=>B(e,h,t),F=e=>e&&e[h]&&e[h].getPayload(),c=class{payload;constructor(){D(this,this)}getPayload(){return this.payload||[]}};import{is as A}from\"@react-spring/shared\";var l=class extends c{constructor(r){super();this._value=r;A.num(this._value)&&(this.lastPosition=this._value)}done=!0;elapsedTime;lastPosition;lastVelocity;v0;durationProgress=0;static create(r){return new l(r)}getPayload(){return[this]}getValue(){return this._value}setValue(r,n){return A.num(r)&&(this.lastPosition=r,n&&(r=Math.round(r/n)*n,this.done&&(this.lastPosition=r))),this._value===r?!1:(this._value=r,!0)}reset(){let{done:r}=this;this.done=!1,A.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,r&&(this.lastVelocity=null),this.v0=null)}};import{is as K,createInterpolator as R}from\"@react-spring/shared\";var d=class extends l{_string=null;_toString;constructor(t){super(0),this._toString=R({output:[t,t]})}static create(t){return new d(t)}getValue(){let t=this._string;return t??(this._string=this._toString(this._value))}setValue(t){if(K.str(t)){if(t==this._string)return!1;this._string=t,this._value=1}else if(super.setValue(t))this._string=null;else return!1;return!0}reset(t){t&&(this._toString=R({output:[this.getValue(),t]})),this._value=0,super.reset()}};import{isAnimatedString as q}from\"@react-spring/shared\";import{each as L,eachProp as w,getFluidValue as M,hasFluidValue as C}from\"@react-spring/shared\";var f={dependencies:null};var u=class extends c{constructor(r){super();this.source=r;this.setValue(r)}getValue(r){let n={};return w(this.source,(a,i)=>{v(a)?n[i]=a.getValue(r):C(a)?n[i]=M(a):r||(n[i]=a)}),n}setValue(r){this.source=r,this.payload=this._makePayload(r)}reset(){this.payload&&L(this.payload,r=>r.reset())}_makePayload(r){if(r){let n=new Set;return w(r,this._addToPayload,n),Array.from(n)}}_addToPayload(r){f.dependencies&&C(r)&&f.dependencies.add(r);let n=F(r);n&&L(n,a=>this.add(a))}};var y=class extends u{constructor(t){super(t)}static create(t){return new y(t)}getValue(){return this.source.map(t=>t.getValue())}setValue(t){let r=this.getPayload();return t.length==r.length?r.map((n,a)=>n.setValue(t[a])).some(Boolean):(super.setValue(t.map(z)),!0)}};function z(e){return(q(e)?d:l).create(e)}import{is as G,isAnimatedString as J}from\"@react-spring/shared\";function Le(e){let t=k(e);return t?t.constructor:G.arr(e)?y:J(e)?d:l}import{is as g,eachProp as oe}from\"@react-spring/shared\";import*as O from\"react\";import{forwardRef as Q,useRef as H,useCallback as X,useEffect as Y}from\"react\";import{is as N,each as V,raf as U,useForceUpdate as Z,useOnce as ee,addFluidObserver as te,removeFluidObserver as E,useIsomorphicLayoutEffect as re}from\"@react-spring/shared\";var x=(e,t)=>{let r=!N.fun(e)||e.prototype&&e.prototype.isReactComponent;return Q((n,a)=>{let i=H(null),o=r&&X(s=>{i.current=ae(a,s)},[a]),[m,T]=ne(n,t),W=Z(),P=()=>{let s=i.current;if(r&&!s)return;(s?t.applyAnimatedValues(s,m.getValue(!0)):!1)===!1&&W()},_=new b(P,T),p=H();re(()=>(p.current=_,V(T,s=>te(s,_)),()=>{p.current&&(V(p.current.deps,s=>E(s,p.current)),U.cancel(p.current.update))})),Y(P,[]),ee(()=>()=>{let s=p.current;V(s.deps,S=>E(S,s))});let $=t.getComponentProps(m.getValue());return O.createElement(e,{...$,ref:o})})},b=class{constructor(t,r){this.update=t;this.deps=r}eventObserved(t){t.type==\"change\"&&U.write(this.update)}};function ne(e,t){let r=new Set;return f.dependencies=r,e.style&&(e={...e,style:t.createAnimatedStyle(e.style)}),e=new u(e),f.dependencies=null,[e,r]}function ae(e,t){return e&&(N.fun(e)?e(t):e.current=t),t}var j=Symbol.for(\"AnimatedComponent\"),Ke=(e,{applyAnimatedValues:t=()=>!1,createAnimatedStyle:r=a=>new u(a),getComponentProps:n=a=>a}={})=>{let a={applyAnimatedValues:t,createAnimatedStyle:r,getComponentProps:n},i=o=>{let m=I(o)||\"Anonymous\";return g.str(o)?o=i[o]||(i[o]=x(o,a)):o=o[j]||(o[j]=x(o,a)),o.displayName=`Animated(${m})`,o};return oe(e,(o,m)=>{g.arr(e)&&(m=I(o)),i[m]=i(o)}),{animated:i}},I=e=>g.str(e)?e:e&&g.str(e.displayName)?e.displayName:g.fun(e)&&e.name||null;export{c as Animated,y as AnimatedArray,u as AnimatedObject,d as AnimatedString,l as AnimatedValue,Ke as createHost,k as getAnimated,Le as getAnimatedType,F as getPayload,v as isAnimated,D as setAnimated};\n","import{each as ge,useIsomorphicLayoutEffect as an}from\"@react-spring/shared\";import{is as K,toArray as $t,eachProp as dt,getFluidValue as Zt,isAnimatedString as en,Globals as tn}from\"@react-spring/shared\";function I(t,...e){return K.fun(t)?t(...e):t}var te=(t,e)=>t===!0||!!(e&&t&&(K.fun(t)?t(e):$t(t).includes(e))),et=(t,e)=>K.obj(t)?e&&t[e]:t;var ke=(t,e)=>t.default===!0?t[e]:t.default?t.default[e]:void 0,nn=t=>t,ne=(t,e=nn)=>{let n=rn;t.default&&t.default!==!0&&(t=t.default,n=Object.keys(t));let r={};for(let o of n){let s=e(t[o],o);K.und(s)||(r[o]=s)}return r},rn=[\"config\",\"onProps\",\"onStart\",\"onChange\",\"onPause\",\"onResume\",\"onRest\"],on={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function sn(t){let e={},n=0;if(dt(t,(r,o)=>{on[o]||(e[o]=r,n++)}),n)return e}function de(t){let e=sn(t);if(e){let n={to:e};return dt(t,(r,o)=>o in e||(n[o]=r)),n}return{...t}}function me(t){return t=Zt(t),K.arr(t)?t.map(me):en(t)?tn.createStringInterpolator({range:[0,1],output:[t,t]})(1):t}function Ue(t){for(let e in t)return!0;return!1}function Ee(t){return K.fun(t)||K.arr(t)&&K.obj(t[0])}function xe(t,e){t.ref?.delete(t),e?.delete(t)}function he(t,e){e&&t.ref!==e&&(t.ref?.delete(t),e.add(t),t.ref=e)}function wr(t,e,n=1e3){an(()=>{if(e){let r=0;ge(t,(o,s)=>{let i=o.current;if(i.length){let a=n*e[s];isNaN(a)?a=r:r=a,ge(i,u=>{ge(u.queue,p=>{let f=p.delay;p.delay=d=>a+I(f||0,d)})}),o.start()}})}else{let r=Promise.resolve();ge(t,o=>{let s=o.current;if(s.length){let i=s.map(a=>{let u=a.queue;return a.queue=[],u});r=r.then(()=>(ge(s,(a,u)=>ge(i[u]||[],p=>a.queue.push(p))),Promise.all(o.start())))}})}})}import{is as Qn}from\"@react-spring/shared\";import{useContext as Mn,useMemo as Xe,useRef as Nt}from\"react\";import{is as jn,each as Ye,usePrev as Dt,useOnce as Nn,useForceUpdate as Dn,useIsomorphicLayoutEffect as qn}from\"@react-spring/shared\";import{is as R,raf as ve,each as At,isEqual as Y,toArray as Rt,eachProp as Pn,frameLoop as Tn,flushCalls as Qe,getFluidValue as ie,isAnimatedString as xn,Globals as bn,callFluidObservers as An,hasFluidValue as Se,addFluidObserver as Rn,removeFluidObserver as vn,getFluidObservers as vt}from\"@react-spring/shared\";import{AnimatedValue as Cn,AnimatedString as Ct,getPayload as In,getAnimated as ae,setAnimated as Vn,getAnimatedType as It}from\"@react-spring/animated\";import{is as re,easings as un}from\"@react-spring/shared\";var mt={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}};var tt={...mt.default,mass:1,damping:1,easing:un.linear,clamp:!1},we=class{tension;friction;frequency;damping;mass;velocity=0;restVelocity;precision;progress;duration;easing;clamp;bounce;decay;round;constructor(){Object.assign(this,tt)}};function gt(t,e,n){n&&(n={...n},ht(n,e),e={...n,...e}),ht(t,e),Object.assign(t,e);for(let i in tt)t[i]==null&&(t[i]=tt[i]);let{frequency:r,damping:o}=t,{mass:s}=t;return re.und(r)||(r<.01&&(r=.01),o<0&&(o=0),t.tension=Math.pow(2*Math.PI/r,2)*s,t.friction=4*Math.PI*o*s/r),t}function ht(t,e){if(!re.und(e.decay))t.duration=void 0;else{let n=!re.und(e.tension)||!re.und(e.friction);(n||!re.und(e.frequency)||!re.und(e.damping)||!re.und(e.mass))&&(t.duration=void 0,t.decay=void 0),n&&(t.frequency=void 0)}}var yt=[],Le=class{changed=!1;values=yt;toValues=null;fromValues=yt;to;from;config=new we;immediate=!1};import{is as pn,raf as St,Globals as ln}from\"@react-spring/shared\";function Me(t,{key:e,props:n,defaultProps:r,state:o,actions:s}){return new Promise((i,a)=>{let u,p,f=te(n.cancel??r?.cancel,e);if(f)b();else{pn.und(n.pause)||(o.paused=te(n.pause,e));let c=r?.pause;c!==!0&&(c=o.paused||te(c,e)),u=I(n.delay||0,e),c?(o.resumeQueue.add(m),s.pause()):(s.resume(),m())}function d(){o.resumeQueue.add(m),o.timeouts.delete(p),p.cancel(),u=p.time-St.now()}function m(){u>0&&!ln.skipAnimation?(o.delayed=!0,p=St.setTimeout(b,u),o.pauseQueue.add(d),o.timeouts.add(p)):b()}function b(){o.delayed&&(o.delayed=!1),o.pauseQueue.delete(d),o.timeouts.delete(p),t<=(o.cancelId||0)&&(f=!0);try{s.start({...n,callId:t,cancel:f},i)}catch(c){a(c)}}})}import{is as je,raf as cn,flush as fn,eachProp as dn,Globals as Pt}from\"@react-spring/shared\";var be=(t,e)=>e.length==1?e[0]:e.some(n=>n.cancelled)?q(t.get()):e.every(n=>n.noop)?nt(t.get()):E(t.get(),e.every(n=>n.finished)),nt=t=>({value:t,noop:!0,finished:!0,cancelled:!1}),E=(t,e,n=!1)=>({value:t,finished:e,cancelled:n}),q=t=>({value:t,cancelled:!0,finished:!1});function De(t,e,n,r){let{callId:o,parentId:s,onRest:i}=e,{asyncTo:a,promise:u}=n;return!s&&t===a&&!e.reset?u:n.promise=(async()=>{n.asyncId=o,n.asyncTo=t;let p=ne(e,(l,h)=>h===\"onRest\"?void 0:l),f,d,m=new Promise((l,h)=>(f=l,d=h)),b=l=>{let h=o<=(n.cancelId||0)&&q(r)||o!==n.asyncId&&E(r,!1);if(h)throw l.result=h,d(l),l},c=(l,h)=>{let g=new Ae,x=new Ne;return(async()=>{if(Pt.skipAnimation)throw oe(n),x.result=E(r,!1),d(x),x;b(g);let S=je.obj(l)?{...l}:{...h,to:l};S.parentId=o,dn(p,(V,_)=>{je.und(S[_])&&(S[_]=V)});let A=await r.start(S);return b(g),n.paused&&await new Promise(V=>{n.resumeQueue.add(V)}),A})()},P;if(Pt.skipAnimation)return oe(n),E(r,!1);try{let l;je.arr(t)?l=(async h=>{for(let g of h)await c(g)})(t):l=Promise.resolve(t(c,r.stop.bind(r))),await Promise.all([l.then(f),m]),P=E(r.get(),!0,!1)}catch(l){if(l instanceof Ae)P=l.result;else if(l instanceof Ne)P=l.result;else throw l}finally{o==n.asyncId&&(n.asyncId=s,n.asyncTo=s?a:void 0,n.promise=s?u:void 0)}return je.fun(i)&&cn.batchedUpdates(()=>{i(P,r,r.item)}),P})()}function oe(t,e){fn(t.timeouts,n=>n.cancel()),t.pauseQueue.clear(),t.resumeQueue.clear(),t.asyncId=t.asyncTo=t.promise=void 0,e&&(t.cancelId=e)}var Ae=class extends Error{result;constructor(){super(\"An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise.\")}},Ne=class extends Error{result;constructor(){super(\"SkipAnimationSignal\")}};import{deprecateInterpolate as mn,frameLoop as hn,FluidValue as gn,Globals as Tt,callFluidObservers as xt}from\"@react-spring/shared\";import{getAnimated as yn}from\"@react-spring/animated\";var Re=t=>t instanceof X,Sn=1,X=class extends gn{id=Sn++;_priority=0;get priority(){return this._priority}set priority(e){this._priority!=e&&(this._priority=e,this._onPriorityChange(e))}get(){let e=yn(this);return e&&e.getValue()}to(...e){return Tt.to(this,e)}interpolate(...e){return mn(),Tt.to(this,e)}toJSON(){return this.get()}observerAdded(e){e==1&&this._attach()}observerRemoved(e){e==0&&this._detach()}_attach(){}_detach(){}_onChange(e,n=!1){xt(this,{type:\"change\",parent:this,value:e,idle:n})}_onPriorityChange(e){this.idle||hn.sort(this),xt(this,{type:\"priority\",parent:this,priority:e})}};var se=Symbol.for(\"SpringPhase\"),bt=1,rt=2,ot=4,qe=t=>(t[se]&bt)>0,Q=t=>(t[se]&rt)>0,ye=t=>(t[se]&ot)>0,st=(t,e)=>e?t[se]|=rt|bt:t[se]&=~rt,it=(t,e)=>e?t[se]|=ot:t[se]&=~ot;var ue=class extends X{key;animation=new Le;queue;defaultProps={};_state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_pendingCalls=new Set;_lastCallId=0;_lastToId=0;_memoizedDuration=0;constructor(e,n){if(super(),!R.und(e)||!R.und(n)){let r=R.obj(e)?{...e}:{...n,from:e};R.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(Q(this)||this._state.asyncTo)||ye(this)}get goal(){return ie(this.animation.to)}get velocity(){let e=ae(this);return e instanceof Cn?e.lastVelocity||0:e.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return qe(this)}get isAnimating(){return Q(this)}get isPaused(){return ye(this)}get isDelayed(){return this._state.delayed}advance(e){let n=!0,r=!1,o=this.animation,{toValues:s}=o,{config:i}=o,a=In(o.to);!a&&Se(o.to)&&(s=Rt(ie(o.to))),o.values.forEach((f,d)=>{if(f.done)return;let m=f.constructor==Ct?1:a?a[d].lastPosition:s[d],b=o.immediate,c=m;if(!b){if(c=f.lastPosition,i.tension<=0){f.done=!0;return}let P=f.elapsedTime+=e,l=o.fromValues[d],h=f.v0!=null?f.v0:f.v0=R.arr(i.velocity)?i.velocity[d]:i.velocity,g,x=i.precision||(l==m?.005:Math.min(1,Math.abs(m-l)*.001));if(R.und(i.duration))if(i.decay){let S=i.decay===!0?.998:i.decay,A=Math.exp(-(1-S)*P);c=l+h/(1-S)*(1-A),b=Math.abs(f.lastPosition-c)<=x,g=h*A}else{g=f.lastVelocity==null?h:f.lastVelocity;let S=i.restVelocity||x/10,A=i.clamp?0:i.bounce,V=!R.und(A),_=l==m?f.v0>0:l<m,v,w=!1,C=1,$=Math.ceil(e/C);for(let L=0;L<$&&(v=Math.abs(g)>S,!(!v&&(b=Math.abs(m-c)<=x,b)));++L){V&&(w=c==m||c>m==_,w&&(g=-g*A,c=m));let N=-i.tension*1e-6*(c-m),y=-i.friction*.001*g,T=(N+y)/i.mass;g=g+T*C,c=c+g*C}}else{let S=1;i.duration>0&&(this._memoizedDuration!==i.duration&&(this._memoizedDuration=i.duration,f.durationProgress>0&&(f.elapsedTime=i.duration*f.durationProgress,P=f.elapsedTime+=e)),S=(i.progress||0)+P/this._memoizedDuration,S=S>1?1:S<0?0:S,f.durationProgress=S),c=l+i.easing(S)*(m-l),g=(c-f.lastPosition)/e,b=S==1}f.lastVelocity=g,Number.isNaN(c)&&(console.warn(\"Got NaN while animating:\",this),b=!0)}a&&!a[d].done&&(b=!1),b?f.done=!0:n=!1,f.setValue(c,i.round)&&(r=!0)});let u=ae(this),p=u.getValue();if(n){let f=ie(o.to);(p!==f||r)&&!i.decay?(u.setValue(f),this._onChange(f)):r&&i.decay&&this._onChange(p),this._stop()}else r&&this._onChange(p)}set(e){return ve.batchedUpdates(()=>{this._stop(),this._focus(e),this._set(e)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(Q(this)){let{to:e,config:n}=this.animation;ve.batchedUpdates(()=>{this._onStart(),n.decay||this._set(e,!1),this._stop()})}return this}update(e){return(this.queue||(this.queue=[])).push(e),this}start(e,n){let r;return R.und(e)?(r=this.queue||[],this.queue=[]):r=[R.obj(e)?e:{...n,to:e}],Promise.all(r.map(o=>this._update(o))).then(o=>be(this,o))}stop(e){let{to:n}=this.animation;return this._focus(this.get()),oe(this._state,e&&this._lastCallId),ve.batchedUpdates(()=>this._stop(n,e)),this}reset(){this._update({reset:!0})}eventObserved(e){e.type==\"change\"?this._start():e.type==\"priority\"&&(this.priority=e.priority+1)}_prepareNode(e){let n=this.key||\"\",{to:r,from:o}=e;r=R.obj(r)?r[n]:r,(r==null||Ee(r))&&(r=void 0),o=R.obj(o)?o[n]:o,o==null&&(o=void 0);let s={to:r,from:o};return qe(this)||(e.reverse&&([r,o]=[o,r]),o=ie(o),R.und(o)?ae(this)||this._set(r):this._set(o)),s}_update({...e},n){let{key:r,defaultProps:o}=this;e.default&&Object.assign(o,ne(e,(a,u)=>/^on/.test(u)?et(a,r):a)),_t(this,e,\"onProps\"),Ie(this,\"onProps\",e,this);let s=this._prepareNode(e);if(Object.isFrozen(this))throw Error(\"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?\");let i=this._state;return Me(++this._lastCallId,{key:r,props:e,defaultProps:o,state:i,actions:{pause:()=>{ye(this)||(it(this,!0),Qe(i.pauseQueue),Ie(this,\"onPause\",E(this,Ce(this,this.animation.to)),this))},resume:()=>{ye(this)&&(it(this,!1),Q(this)&&this._resume(),Qe(i.resumeQueue),Ie(this,\"onResume\",E(this,Ce(this,this.animation.to)),this))},start:this._merge.bind(this,s)}}).then(a=>{if(e.loop&&a.finished&&!(n&&a.noop)){let u=at(e);if(u)return this._update(u,!0)}return a})}_merge(e,n,r){if(n.cancel)return this.stop(!0),r(q(this));let o=!R.und(e.to),s=!R.und(e.from);if(o||s)if(n.callId>this._lastToId)this._lastToId=n.callId;else return r(q(this));let{key:i,defaultProps:a,animation:u}=this,{to:p,from:f}=u,{to:d=p,from:m=f}=e;s&&!o&&(!n.default||R.und(d))&&(d=m),n.reverse&&([d,m]=[m,d]);let b=!Y(m,f);b&&(u.from=m),m=ie(m);let c=!Y(d,p);c&&this._focus(d);let P=Ee(n.to),{config:l}=u,{decay:h,velocity:g}=l;(o||s)&&(l.velocity=0),n.config&&!P&>(l,I(n.config,i),n.config!==a.config?I(a.config,i):void 0);let x=ae(this);if(!x||R.und(d))return r(E(this,!0));let S=R.und(n.reset)?s&&!n.default:!R.und(m)&&te(n.reset,i),A=S?m:this.get(),V=me(d),_=R.num(V)||R.arr(V)||xn(V),v=!P&&(!_||te(a.immediate||n.immediate,i));if(c){let L=It(d);if(L!==x.constructor)if(v)x=this._set(V);else throw Error(`Cannot animate between ${x.constructor.name} and ${L.name}, as the \"to\" prop suggests`)}let w=x.constructor,C=Se(d),$=!1;if(!C){let L=S||!qe(this)&&b;(c||L)&&($=Y(me(A),V),C=!$),(!Y(u.immediate,v)&&!v||!Y(l.decay,h)||!Y(l.velocity,g))&&(C=!0)}if($&&Q(this)&&(u.changed&&!S?C=!0:C||this._stop(p)),!P&&((C||Se(p))&&(u.values=x.getPayload(),u.toValues=Se(d)?null:w==Ct?[1]:Rt(V)),u.immediate!=v&&(u.immediate=v,!v&&!S&&this._set(p)),C)){let{onRest:L}=u;At(_n,y=>_t(this,n,y));let N=E(this,Ce(this,p));Qe(this._pendingCalls,N),this._pendingCalls.add(r),u.changed&&ve.batchedUpdates(()=>{u.changed=!S,L?.(N,this),S?I(a.onRest,N):u.onStart?.(N,this)})}S&&this._set(A),P?r(De(n.to,n,this._state,this)):C?this._start():Q(this)&&!c?this._pendingCalls.add(r):r(nt(A))}_focus(e){let n=this.animation;e!==n.to&&(vt(this)&&this._detach(),n.to=e,vt(this)&&this._attach())}_attach(){let e=0,{to:n}=this.animation;Se(n)&&(Rn(n,this),Re(n)&&(e=n.priority+1)),this.priority=e}_detach(){let{to:e}=this.animation;Se(e)&&vn(e,this)}_set(e,n=!0){let r=ie(e);if(!R.und(r)){let o=ae(this);if(!o||!Y(r,o.getValue())){let s=It(r);!o||o.constructor!=s?Vn(this,s.create(r)):o.setValue(r),o&&ve.batchedUpdates(()=>{this._onChange(r,n)})}}return ae(this)}_onStart(){let e=this.animation;e.changed||(e.changed=!0,Ie(this,\"onStart\",E(this,Ce(this,e.to)),this))}_onChange(e,n){n||(this._onStart(),I(this.animation.onChange,e,this)),I(this.defaultProps.onChange,e,this),super._onChange(e,n)}_start(){let e=this.animation;ae(this).reset(ie(e.to)),e.immediate||(e.fromValues=e.values.map(n=>n.lastPosition)),Q(this)||(st(this,!0),ye(this)||this._resume())}_resume(){bn.skipAnimation?this.finish():Tn.start(this)}_stop(e,n){if(Q(this)){st(this,!1);let r=this.animation;At(r.values,s=>{s.done=!0}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),An(this,{type:\"idle\",parent:this});let o=n?q(this.get()):E(this.get(),Ce(this,e??r.to));Qe(this._pendingCalls,o),r.changed&&(r.changed=!1,Ie(this,\"onRest\",o,this))}}};function Ce(t,e){let n=me(e),r=me(t.get());return Y(r,n)}function at(t,e=t.loop,n=t.to){let r=I(e);if(r){let o=r!==!0&&de(r),s=(o||t).reverse,i=!o||o.reset;return Pe({...t,loop:e,default:!1,pause:void 0,to:!s||Ee(n)?n:void 0,from:i?t.from:void 0,reset:i,...o})}}function Pe(t){let{to:e,from:n}=t=de(t),r=new Set;return R.obj(e)&&Vt(e,r),R.obj(n)&&Vt(n,r),t.keys=r.size?Array.from(r):null,t}function Ot(t){let e=Pe(t);return R.und(e.default)&&(e.default=ne(e)),e}function Vt(t,e){Pn(t,(n,r)=>n!=null&&e.add(r))}var _n=[\"onStart\",\"onRest\",\"onChange\",\"onPause\",\"onResume\"];function _t(t,e,n){t.animation[n]=e[n]!==ke(e,n)?et(e[n],t.key):void 0}function Ie(t,e,...n){t.animation[e]?.(...n),t.defaultProps[e]?.(...n)}import{is as z,raf as kt,each as pe,noop as Ft,flush as ut,toArray as Ve,eachProp as Ut,flushCalls as On,addFluidObserver as Et}from\"@react-spring/shared\";var Fn=[\"onStart\",\"onChange\",\"onRest\"],kn=1,le=class{id=kn++;springs={};queue=[];ref;_flush;_initialProps;_lastAsyncId=0;_active=new Set;_changed=new Set;_started=!1;_item;_state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set};_events={onStart:new Map,onChange:new Map,onRest:new Map};constructor(e,n){this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),e&&this.start({default:!0,...e})}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(e=>e.idle&&!e.isDelayed&&!e.isPaused)}get item(){return this._item}set item(e){this._item=e}get(){let e={};return this.each((n,r)=>e[r]=n.get()),e}set(e){for(let n in e){let r=e[n];z.und(r)||this.springs[n].set(r)}}update(e){return e&&this.queue.push(Pe(e)),this}start(e){let{queue:n}=this;return e?n=Ve(e).map(Pe):this.queue=[],this._flush?this._flush(this,n):(jt(this,n),ze(this,n))}stop(e,n){if(e!==!!e&&(n=e),n){let r=this.springs;pe(Ve(n),o=>r[o].stop(!!e))}else oe(this._state,this._lastAsyncId),this.each(r=>r.stop(!!e));return this}pause(e){if(z.und(e))this.start({pause:!0});else{let n=this.springs;pe(Ve(e),r=>n[r].pause())}return this}resume(e){if(z.und(e))this.start({pause:!1});else{let n=this.springs;pe(Ve(e),r=>n[r].resume())}return this}each(e){Ut(this.springs,e)}_onFrame(){let{onStart:e,onChange:n,onRest:r}=this._events,o=this._active.size>0,s=this._changed.size>0;(o&&!this._started||s&&!this._started)&&(this._started=!0,ut(e,([u,p])=>{p.value=this.get(),u(p,this,this._item)}));let i=!o&&this._started,a=s||i&&r.size?this.get():null;s&&n.size&&ut(n,([u,p])=>{p.value=a,u(p,this,this._item)}),i&&(this._started=!1,ut(r,([u,p])=>{p.value=a,u(p,this,this._item)}))}eventObserved(e){if(e.type==\"change\")this._changed.add(e.parent),e.idle||this._active.add(e.parent);else if(e.type==\"idle\")this._active.delete(e.parent);else return;kt.onFrame(this._onFrame)}};function ze(t,e){return Promise.all(e.map(n=>wt(t,n))).then(n=>be(t,n))}async function wt(t,e,n){let{keys:r,to:o,from:s,loop:i,onRest:a,onResolve:u}=e,p=z.obj(e.default)&&e.default;i&&(e.loop=!1),o===!1&&(e.to=null),s===!1&&(e.from=null);let f=z.arr(o)||z.fun(o)?o:void 0;f?(e.to=void 0,e.onRest=void 0,p&&(p.onRest=void 0)):pe(Fn,P=>{let l=e[P];if(z.fun(l)){let h=t._events[P];e[P]=({finished:g,cancelled:x})=>{let S=h.get(l);S?(g||(S.finished=!1),x&&(S.cancelled=!0)):h.set(l,{value:null,finished:g||!1,cancelled:x||!1})},p&&(p[P]=e[P])}});let d=t._state;e.pause===!d.paused?(d.paused=e.pause,On(e.pause?d.pauseQueue:d.resumeQueue)):d.paused&&(e.pause=!0);let m=(r||Object.keys(t.springs)).map(P=>t.springs[P].start(e)),b=e.cancel===!0||ke(e,\"cancel\")===!0;(f||b&&d.asyncId)&&m.push(Me(++t._lastAsyncId,{props:e,state:d,actions:{pause:Ft,resume:Ft,start(P,l){b?(oe(d,t._lastAsyncId),l(q(t))):(P.onRest=a,l(De(f,P,d,t)))}}})),d.paused&&await new Promise(P=>{d.resumeQueue.add(P)});let c=be(t,await Promise.all(m));if(i&&c.finished&&!(n&&c.noop)){let P=at(e,i,o);if(P)return jt(t,[P]),wt(t,P,!0)}return u&&kt.batchedUpdates(()=>u(c,t,t.item)),c}function _e(t,e){let n={...t.springs};return e&&pe(Ve(e),r=>{z.und(r.keys)&&(r=Pe(r)),z.obj(r.to)||(r={...r,to:void 0}),Mt(n,r,o=>Lt(o))}),pt(t,n),n}function pt(t,e){Ut(e,(n,r)=>{t.springs[r]||(t.springs[r]=n,Et(n,t))})}function Lt(t,e){let n=new ue;return n.key=t,e&&Et(n,e),n}function Mt(t,e,n){e.keys&&pe(e.keys,r=>{(t[r]||(t[r]=n(r)))._prepareNode(e)})}function jt(t,e){pe(e,n=>{Mt(t.springs,n,r=>Lt(r,t))})}import*as Be from\"react\";import{useContext as Un}from\"react\";import{useMemoOne as En}from\"@react-spring/shared\";var H=({children:t,...e})=>{let n=Un(Ge),r=e.pause||!!n.pause,o=e.immediate||!!n.immediate;e=En(()=>({pause:r,immediate:o}),[r,o]);let{Provider:s}=Ge;return Be.createElement(s,{value:e},t)},Ge=wn(H,{});H.Provider=Ge.Provider;H.Consumer=Ge.Consumer;function wn(t,e){return Object.assign(t,Be.createContext(e)),t.Provider._context=t,t.Consumer._context=t,t}import{each as ce,is as Ke,deprecateDirectCall as Ln}from\"@react-spring/shared\";var fe=()=>{let t=[],e=function(r){Ln();let o=[];return ce(t,(s,i)=>{if(Ke.und(r))o.push(s.start());else{let a=n(r,s,i);a&&o.push(s.start(a))}}),o};e.current=t,e.add=function(r){t.includes(r)||t.push(r)},e.delete=function(r){let o=t.indexOf(r);~o&&t.splice(o,1)},e.pause=function(){return ce(t,r=>r.pause(...arguments)),this},e.resume=function(){return ce(t,r=>r.resume(...arguments)),this},e.set=function(r){ce(t,(o,s)=>{let i=Ke.fun(r)?r(s,o):r;i&&o.set(i)})},e.start=function(r){let o=[];return ce(t,(s,i)=>{if(Ke.und(r))o.push(s.start());else{let a=this._getProps(r,s,i);a&&o.push(s.start(a))}}),o},e.stop=function(){return ce(t,r=>r.stop(...arguments)),this},e.update=function(r){return ce(t,(o,s)=>o.update(this._getProps(r,o,s))),this};let n=function(r,o,s){return Ke.fun(r)?r(s,o):r};return e._getProps=n,e};function He(t,e,n){let r=jn.fun(e)&&e;r&&!n&&(n=[]);let o=Xe(()=>r||arguments.length==3?fe():void 0,[]),s=Nt(0),i=Dn(),a=Xe(()=>({ctrls:[],queue:[],flush(h,g){let x=_e(h,g);return s.current>0&&!a.queue.length&&!Object.keys(x).some(A=>!h.springs[A])?ze(h,g):new Promise(A=>{pt(h,x),a.queue.push(()=>{A(ze(h,g))}),i()})}}),[]),u=Nt([...a.ctrls]),p=[],f=Dt(t)||0;Xe(()=>{Ye(u.current.slice(t,f),h=>{xe(h,o),h.stop(!0)}),u.current.length=t,d(f,t)},[t]),Xe(()=>{d(0,Math.min(f,t))},n);function d(h,g){for(let x=h;x<g;x++){let S=u.current[x]||(u.current[x]=new le(null,a.flush)),A=r?r(x,S):e[x];A&&(p[x]=Ot(A))}}let m=u.current.map((h,g)=>_e(h,p[g])),b=Mn(H),c=Dt(b),P=b!==c&&Ue(b);qn(()=>{s.current++,a.ctrls=u.current;let{queue:h}=a;h.length&&(a.queue=[],Ye(h,g=>g())),Ye(u.current,(g,x)=>{o?.add(g),P&&g.start({default:b});let S=p[x];S&&(he(g,S.ref),g.ref?g.queue.push(S):g.start(S))})}),Nn(()=>()=>{Ye(a.ctrls,h=>h.stop(!0))});let l=m.map(h=>({...h}));return o?[l,o]:l}function J(t,e){let n=Qn.fun(t),[[r],o]=He(1,n?t:[t],n?e||[]:e);return n||arguments.length==2?[r,o]:r}import{useState as zn}from\"react\";var Gn=()=>fe(),Xo=()=>zn(Gn)[0];import{useConstant as Bn,useOnce as Kn}from\"@react-spring/shared\";var Wo=(t,e)=>{let n=Bn(()=>new ue(t,e));return Kn(()=>()=>{n.stop()}),n};import{each as Xn,is as qt,useIsomorphicLayoutEffect as Yn}from\"@react-spring/shared\";function Qt(t,e,n){let r=qt.fun(e)&&e;r&&!n&&(n=[]);let o=!0,s,i=He(t,(a,u)=>{let p=r?r(a,u):e;return s=p.ref,o=o&&p.reverse,p},n||[{}]);if(Yn(()=>{Xn(i[1].current,(a,u)=>{let p=i[1].current[u+(o?1:-1)];if(he(a,s),a.ref){p&&a.update({to:p.springs});return}p?a.start({to:p.springs}):a.start()})},n),r||arguments.length==3){let a=s??i[1];return a._getProps=(u,p,f)=>{let d=qt.fun(u)?u(f,p):u;if(d){let m=a.current[f+(d.reverse?1:-1)];return m&&(d.to=m.springs),d}},i}return i[0]}import*as Oe from\"react\";import{useContext as Hn,useRef as lt,useMemo as Jn}from\"react\";import{is as G,toArray as zt,useForceUpdate as Wn,useOnce as $n,usePrev as Zn,each as j,useIsomorphicLayoutEffect as Je}from\"@react-spring/shared\";function Gt(t,e,n){let r=G.fun(e)&&e,{reset:o,sort:s,trail:i=0,expires:a=!0,exitBeforeEnter:u=!1,onDestroyed:p,ref:f,config:d}=r?r():e,m=Jn(()=>r||arguments.length==3?fe():void 0,[]),b=zt(t),c=[],P=lt(null),l=o?null:P.current;Je(()=>{P.current=c}),$n(()=>(j(c,y=>{m?.add(y.ctrl),y.ctrl.ref=m}),()=>{j(P.current,y=>{y.expired&&clearTimeout(y.expirationId),xe(y.ctrl,m),y.ctrl.stop(!0)})}));let h=tr(b,r?r():e,l),g=o&&P.current||[];Je(()=>j(g,({ctrl:y,item:T,key:F})=>{xe(y,m),I(p,T,F)}));let x=[];if(l&&j(l,(y,T)=>{y.expired?(clearTimeout(y.expirationId),g.push(y)):(T=x[T]=h.indexOf(y.key),~T&&(c[T]=y))}),j(b,(y,T)=>{c[T]||(c[T]={key:h[T],item:y,phase:\"mount\",ctrl:new le},c[T].ctrl.item=y)}),x.length){let y=-1,{leave:T}=r?r():e;j(x,(F,k)=>{let O=l[k];~F?(y=c.indexOf(O),c[y]={...O,item:b[F]}):T&&c.splice(++y,0,O)})}G.fun(s)&&c.sort((y,T)=>s(y.item,T.item));let S=-i,A=Wn(),V=ne(e),_=new Map,v=lt(new Map),w=lt(!1);j(c,(y,T)=>{let F=y.key,k=y.phase,O=r?r():e,U,D,Jt=I(O.delay||0,F);if(k==\"mount\")U=O.enter,D=\"enter\";else{let M=h.indexOf(F)<0;if(k!=\"leave\")if(M)U=O.leave,D=\"leave\";else if(U=O.update)D=\"update\";else return;else if(!M)U=O.enter,D=\"enter\";else return}if(U=I(U,y.item,T),U=G.obj(U)?de(U):{to:U},!U.config){let M=d||V.config;U.config=I(M,y.item,T,D)}S+=i;let Z={...V,delay:Jt+S,ref:f,immediate:O.immediate,reset:!1,...U};if(D==\"enter\"&&G.und(Z.from)){let M=r?r():e,Te=G.und(M.initial)||l?M.from:M.initial;Z.from=I(Te,y.item,T)}let{onResolve:Wt}=Z;Z.onResolve=M=>{I(Wt,M);let Te=P.current,B=Te.find(Fe=>Fe.key===F);if(B&&!(M.cancelled&&B.phase!=\"update\")&&B.ctrl.idle){let Fe=Te.every(ee=>ee.ctrl.idle);if(B.phase==\"leave\"){let ee=I(a,B.item);if(ee!==!1){let Ze=ee===!0?0:ee;if(B.expired=!0,!Fe&&Ze>0){Ze<=2147483647&&(B.expirationId=setTimeout(A,Ze));return}}}Fe&&Te.some(ee=>ee.expired)&&(v.current.delete(B),u&&(w.current=!0),A())}};let ft=_e(y.ctrl,Z);D===\"leave\"&&u?v.current.set(y,{phase:D,springs:ft,payload:Z}):_.set(y,{phase:D,springs:ft,payload:Z})});let C=Hn(H),$=Zn(C),L=C!==$&&Ue(C);Je(()=>{L&&j(c,y=>{y.ctrl.start({default:C})})},[C]),j(_,(y,T)=>{if(v.current.size){let F=c.findIndex(k=>k.key===T.key);c.splice(F,1)}}),Je(()=>{j(v.current.size?v.current:_,({phase:y,payload:T},F)=>{let{ctrl:k}=F;F.phase=y,m?.add(k),L&&y==\"enter\"&&k.start({default:C}),T&&(he(k,T.ref),(k.ref||m)&&!w.current?k.update(T):(k.start(T),w.current&&(w.current=!1)))})},o?void 0:n);let N=y=>Oe.createElement(Oe.Fragment,null,c.map((T,F)=>{let{springs:k}=_.get(T)||T.ctrl,O=y({...k},T.item,T,F);return O&&O.type?Oe.createElement(O.type,{...O.props,key:G.str(T.key)||G.num(T.key)?T.key:T.ctrl.id,ref:O.ref}):O}));return m?[N,m]:N}var er=1;function tr(t,{key:e,keys:n=e},r){if(n===null){let o=new Set;return t.map(s=>{let i=r&&r.find(a=>a.item===s&&a.phase!==\"leave\"&&!o.has(a));return i?(o.add(i),i.key):er++})}return G.und(n)?t:G.fun(n)?t.map(n):zt(n)}import{each as nr,onScroll as rr,useIsomorphicLayoutEffect as or}from\"@react-spring/shared\";var hs=({container:t,...e}={})=>{let[n,r]=J(()=>({scrollX:0,scrollY:0,scrollXProgress:0,scrollYProgress:0,...e}),[]);return or(()=>{let o=rr(({x:s,y:i})=>{r.start({scrollX:s.current,scrollXProgress:s.progress,scrollY:i.current,scrollYProgress:i.progress})},{container:t?.current||void 0});return()=>{nr(Object.values(n),s=>s.stop()),o()}},[]),n};import{onResize as sr,each as ir,useIsomorphicLayoutEffect as ar}from\"@react-spring/shared\";var Ps=({container:t,...e})=>{let[n,r]=J(()=>({width:0,height:0,...e}),[]);return ar(()=>{let o=sr(({width:s,height:i})=>{r.start({width:s,height:i,immediate:n.width.get()===0||n.height.get()===0})},{container:t?.current||void 0});return()=>{ir(Object.values(n),s=>s.stop()),o()}},[]),n};import{useRef as ur,useState as pr}from\"react\";import{is as Bt,useIsomorphicLayoutEffect as lr}from\"@react-spring/shared\";var cr={any:0,all:1};function Cs(t,e){let[n,r]=pr(!1),o=ur(),s=Bt.fun(t)&&t,i=s?s():{},{to:a={},from:u={},...p}=i,f=s?e:t,[d,m]=J(()=>({from:u,...p}),[]);return lr(()=>{let b=o.current,{root:c,once:P,amount:l=\"any\",...h}=f??{};if(!b||P&&n||typeof IntersectionObserver>\"u\")return;let g=new WeakMap,x=()=>(a&&m.start(a),r(!0),P?void 0:()=>{u&&m.start(u),r(!1)}),S=V=>{V.forEach(_=>{let v=g.get(_.target);if(_.isIntersecting!==!!v)if(_.isIntersecting){let w=x();Bt.fun(w)?g.set(_.target,w):A.unobserve(_.target)}else v&&(v(),g.delete(_.target))})},A=new IntersectionObserver(S,{root:c&&c.current||void 0,threshold:typeof l==\"number\"||Array.isArray(l)?l:cr[l],...h});return A.observe(b),()=>A.unobserve(b)},[f]),s?[o,d]:[o,n]}function qs({children:t,...e}){return t(J(e))}import{is as fr}from\"@react-spring/shared\";function Bs({items:t,children:e,...n}){let r=Qt(t.length,n);return t.map((o,s)=>{let i=e(o,s);return fr.fun(i)?i(r[s]):i})}function Ys({items:t,children:e,...n}){return Gt(t,n)(e)}import{deprecateInterpolate as Cr}from\"@react-spring/shared\";import{is as dr,raf as mr,each as $e,isEqual as hr,toArray as We,frameLoop as gr,getFluidValue as Kt,createInterpolator as yr,Globals as Sr,callFluidObservers as Pr,addFluidObserver as Tr,removeFluidObserver as xr,hasFluidValue as Xt}from\"@react-spring/shared\";import{getAnimated as br,setAnimated as Ar,getAnimatedType as Rr,getPayload as Ht}from\"@react-spring/animated\";var W=class extends X{constructor(n,r){super();this.source=n;this.calc=yr(...r);let o=this._get(),s=Rr(o);Ar(this,s.create(o))}key;idle=!0;calc;_active=new Set;advance(n){let r=this._get(),o=this.get();hr(r,o)||(br(this).setValue(r),this._onChange(r,this.idle)),!this.idle&&Yt(this._active)&&ct(this)}_get(){let n=dr.arr(this.source)?this.source.map(Kt):We(Kt(this.source));return this.calc(...n)}_start(){this.idle&&!Yt(this._active)&&(this.idle=!1,$e(Ht(this),n=>{n.done=!1}),Sr.skipAnimation?(mr.batchedUpdates(()=>this.advance()),ct(this)):gr.start(this))}_attach(){let n=1;$e(We(this.source),r=>{Xt(r)&&Tr(r,this),Re(r)&&(r.idle||this._active.add(r),n=Math.max(n,r.priority+1))}),this.priority=n,this._start()}_detach(){$e(We(this.source),n=>{Xt(n)&&xr(n,this)}),this._active.clear(),ct(this)}eventObserved(n){n.type==\"change\"?n.idle?this.advance():(this._active.add(n.parent),this._start()):n.type==\"idle\"?this._active.delete(n.parent):n.type==\"priority\"&&(this.priority=We(this.source).reduce((r,o)=>Math.max(r,(Re(o)?o.priority:0)+1),0))}};function vr(t){return t.idle!==!1}function Yt(t){return!t.size||Array.from(t).every(vr)}function ct(t){t.idle||(t.idle=!0,$e(Ht(t),e=>{e.done=!0}),Pr(t,{type:\"idle\",parent:t}))}var ui=(t,...e)=>new W(t,e),pi=(t,...e)=>(Cr(),new W(t,e));import{Globals as Ir,frameLoop as Vr,createStringInterpolator as _r}from\"@react-spring/shared\";Ir.assign({createStringInterpolator:_r,to:(t,e)=>new W(t,e)});var di=Vr.advance;import{createInterpolator as Ui,useIsomorphicLayoutEffect as Ei,useReducedMotion as wi,easings as Li}from\"@react-spring/shared\";export*from\"@react-spring/types\";export{Ae as BailSignal,le as Controller,X as FrameValue,Ir as Globals,W as Interpolation,qs as Spring,H as SpringContext,fe as SpringRef,ue as SpringValue,Bs as Trail,Ys as Transition,mt as config,Ui as createInterpolator,Li as easings,de as inferTo,pi as interpolate,ui as to,di as update,wr as useChain,Cs as useInView,Ei as useIsomorphicLayoutEffect,wi as useReducedMotion,Ps as useResize,hs as useScroll,J as useSpring,Xo as useSpringRef,Wo as useSpringValue,He as useSprings,Qt as useTrail,Gt as useTransition};\n","import{Globals as M}from\"@react-spring/core\";import{unstable_batchedUpdates as N}from\"react-dom\";import{createStringInterpolator as U,colors as D}from\"@react-spring/shared\";import{createHost as H}from\"@react-spring/animated\";var k=/^--/;function I(t,e){return e==null||typeof e==\"boolean\"||e===\"\"?\"\":typeof e==\"number\"&&e!==0&&!k.test(t)&&!(c.hasOwnProperty(t)&&c[t])?e+\"px\":(\"\"+e).trim()}var v={};function V(t,e){if(!t.nodeType||!t.setAttribute)return!1;let r=t.nodeName===\"filter\"||t.parentNode&&t.parentNode.nodeName===\"filter\",{style:i,children:s,scrollTop:u,scrollLeft:l,viewBox:a,...n}=e,d=Object.values(n),m=Object.keys(n).map(o=>r||t.hasAttribute(o)?o:v[o]||(v[o]=o.replace(/([A-Z])/g,p=>\"-\"+p.toLowerCase())));s!==void 0&&(t.textContent=s);for(let o in i)if(i.hasOwnProperty(o)){let p=I(o,i[o]);k.test(o)?t.style.setProperty(o,p):t.style[o]=p}m.forEach((o,p)=>{t.setAttribute(o,d[p])}),u!==void 0&&(t.scrollTop=u),l!==void 0&&(t.scrollLeft=l),a!==void 0&&t.setAttribute(\"viewBox\",a)}var c={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},F=(t,e)=>t+e.charAt(0).toUpperCase()+e.substring(1),L=[\"Webkit\",\"Ms\",\"Moz\",\"O\"];c=Object.keys(c).reduce((t,e)=>(L.forEach(r=>t[F(r,e)]=t[e]),t),c);import{AnimatedObject as S}from\"@react-spring/animated\";import{is as b,each as f,toArray as E,eachProp as P,FluidValue as T,getFluidValue as w,callFluidObservers as j,hasFluidValue as A,addFluidObserver as R,removeFluidObserver as W}from\"@react-spring/shared\";var _=/^(matrix|translate|scale|rotate|skew)/,$=/^(translate)/,G=/^(rotate|skew)/,y=(t,e)=>b.num(t)&&t!==0?t+e:t,h=(t,e)=>b.arr(t)?t.every(r=>h(r,e)):b.num(t)?t===e:parseFloat(t)===e,g=class extends S{constructor({x:e,y:r,z:i,...s}){let u=[],l=[];(e||r||i)&&(u.push([e||0,r||0,i||0]),l.push(a=>[`translate3d(${a.map(n=>y(n,\"px\")).join(\",\")})`,h(a,0)])),P(s,(a,n)=>{if(n===\"transform\")u.push([a||\"\"]),l.push(d=>[d,d===\"\"]);else if(_.test(n)){if(delete s[n],b.und(a))return;let d=$.test(n)?\"px\":G.test(n)?\"deg\":\"\";u.push(E(a)),l.push(n===\"rotate3d\"?([m,o,p,O])=>[`rotate3d(${m},${o},${p},${y(O,d)})`,h(O,0)]:m=>[`${n}(${m.map(o=>y(o,d)).join(\",\")})`,h(m,n.startsWith(\"scale\")?1:0)])}}),u.length&&(s.transform=new x(u,l)),super(s)}},x=class extends T{constructor(r,i){super();this.inputs=r;this.transforms=i}_value=null;get(){return this._value||(this._value=this._get())}_get(){let r=\"\",i=!0;return f(this.inputs,(s,u)=>{let l=w(s[0]),[a,n]=this.transforms[u](b.arr(l)?l:s.map(w));r+=\" \"+a,i=i&&n}),i?\"none\":r}observerAdded(r){r==1&&f(this.inputs,i=>f(i,s=>A(s)&&R(s,this)))}observerRemoved(r){r==0&&f(this.inputs,i=>f(i,s=>A(s)&&W(s,this)))}eventObserved(r){r.type==\"change\"&&(this._value=null),j(this,r)}};var C=[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"];export*from\"@react-spring/core\";M.assign({batchedUpdates:N,createStringInterpolator:U,colors:D});var q=H(C,{applyAnimatedValues:V,createAnimatedStyle:t=>new g(t),getComponentProps:({scrollTop:t,scrollLeft:e,...r})=>r}),it=q.animated;export{it as a,it as animated};\n","import styled from 'styled-components';\nimport { animated } from '@react-spring/web';\nimport { StyledDataPointProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataPoint = styled(animated.g)<StyledDataPointProps>``;\n","import React, {\n forwardRef,\n KeyboardEventHandler,\n RefObject,\n useId,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { DataPointProps } from './types';\nimport { StyledDataPoint } from './styles';\nimport { TooltipVariant } from '../../types';\n\nexport const DataPoint: Comp<DataPointProps<any>, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n children,\n className,\n data,\n id: propsId,\n index,\n isSelected: propsIsSelected,\n labelDecorator,\n onClick,\n role,\n tooltipVariant,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n const text = labelDecorator ? labelDecorator(data) : data.data.key;\n const hasText = text && tooltipVariant !== TooltipVariant.none;\n const tooltipValue =\n tooltipVariant === TooltipVariant.value\n ? data.data.value\n : tooltipVariant === TooltipVariant.percent && data.data.percent\n ? data.data.percent\n : undefined;\n const hasValue =\n tooltipValue &&\n [TooltipVariant.value, TooltipVariant.percent].includes(tooltipVariant!);\n const showTooltip =\n tooltipVariant !== TooltipVariant.none && (hasText || hasValue);\n\n const isEmpty = data.data.value === 0;\n\n const isSelectable = role === 'option';\n const isSelected = isSelectable && propsIsSelected === true;\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const onKeyDown: KeyboardEventHandler<SVGElement> = (event) => {\n if (onClick) {\n event.stopPropagation();\n\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n onClick(data);\n }\n }\n };\n\n const DataPointComponent = (\n <StyledDataPoint\n tabIndex={onClick ? 0 : undefined}\n {...forwardedProps}\n className={classNames(className, `_${index}`, {\n selected: isSelected,\n deselected: isDeselected,\n })}\n ref={ref as RefObject<SVGGElement>}\n aria-label={\n showTooltip && !isEmpty ? `${text}: ${data.data.value}` : undefined\n }\n aria-labelledby={!showTooltip && !isEmpty ? `${id}-title` : undefined}\n aria-selected={isSelected ? true : isDeselected ? false : undefined}\n id={id}\n onClick={onClick ? () => onClick(data) : undefined}\n onKeyDown={onClick ? (e) => onKeyDown(e) : undefined}\n role={role ? role : onClick ? 'button' : undefined}\n $clickable={Boolean(onClick)}\n >\n {children}\n {!showTooltip && !isEmpty ? (\n <title id={`${id}-title`}>{`${text}: ${data.data.value}`}</title>\n ) : null}\n </StyledDataPoint>\n );\n\n if (showTooltip) {\n return (\n <Tooltip placement=\"right\">\n <Tooltip.Trigger>{DataPointComponent}</Tooltip.Trigger>\n <Tooltip.Content>\n <Text variant=\"caption\">\n {text}\n {hasText && hasValue ? ' - ' : null}\n {hasValue ? (\n <Number\n value={tooltipValue!}\n type={\n tooltipVariant === TooltipVariant.percent\n ? 'percent'\n : 'decimal'\n }\n variant=\"caption\"\n maximumFractionDigits={2}\n />\n ) : null}\n </Text>\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return DataPointComponent;\n }\n);\n","import styled, { css } from 'styled-components';\nimport { StyledArcProps } from './types';\nimport { DataPoint } from '../DataPoint';\n\n/**\n * Component style.\n */\nexport const StyledArc = styled(DataPoint)<StyledArcProps>`\n ${({ $hasStroke }) =>\n $hasStroke\n ? css`\n path {\n stroke-width: 2px;\n stroke: #fff;\n }\n `\n : ''}\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus,\n &.focused {\n opacity: 0.8;\n outline: none;\n }\n\n &:focus-visible,\n &.focused {\n path {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n","import { easings } from '@react-spring/web';\n\nexport const config = (() => ({\n config: {\n duration: 700,\n easing: easings.easeInOutQuad,\n },\n reset: true,\n immediate: false,\n}))();\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { interpolate as d3interpolate } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ArcProps } from './types';\nimport { StyledArc } from './styles';\nimport { monochrome } from '../../scheme';\nimport { config } from '../../config';\n\nconst COMPONENT_NAME = 'Arc';\nconst CLASSNAME = 'redsift-arc';\nconst DEFAULT_PROPS: Partial<ArcProps> = {\n color: monochrome,\n index: 0,\n previousData: {\n data: {\n key: '',\n value: 0,\n },\n startAngle: 0,\n endAngle: 0,\n padAngle: 0,\n value: 0,\n index: 0,\n },\n};\n\nexport const Arc: Comp<ArcProps, SVGGElement> = forwardRef((props, ref) => {\n const { color, data, isSelected: propsIsSelected, onClick, role } = props;\n\n const { className, createArc, hasStroke, previousData, ...forwardedProps } =\n props;\n\n const interpolator = d3interpolate(previousData, data);\n\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({ t: 1 });\n },\n from: { t: 0 },\n });\n\n return (\n <StyledArc\n {...forwardedProps}\n ref={ref}\n className={classNames(Arc.className, className)}\n $clickable={Boolean(onClick)}\n $hasStroke={Boolean(hasStroke)}\n >\n <animated.path\n d={\n config.immediate\n ? (createArc(data) as unknown as string)\n : (animatedProps.t.to((t) =>\n createArc(interpolator(t))\n ) as unknown as string)\n }\n fill={isDeselected ? 'var(--redsift-color-neutral-lightgrey)' : color}\n />\n </StyledArc>\n );\n});\nArc.className = CLASSNAME;\nArc.defaultProps = DEFAULT_PROPS;\nArc.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledArcsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledArcs = styled.g<StyledArcsProps>``;\n","import React, { RefObject, forwardRef, useId } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { interpolate as d3interpolate } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ArcsProps } from './types';\nimport { StyledArcs } from './styles';\nimport { Arc } from '../Arc';\nimport { config } from '../../config';\n\nconst COMPONENT_NAME = 'Arcs';\nconst CLASSNAME = 'redsift-arcs';\nconst DEFAULT_PROPS: Partial<ArcsProps> = {};\n\nexport const Arcs: Comp<ArcsProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n arcs,\n className,\n color,\n hasLabels,\n hasStroke,\n id: propsId,\n labelDecorator,\n onClick,\n role,\n sliceProps,\n tooltipVariant,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({ t: 1 });\n },\n from: { t: 0 },\n });\n\n return (\n <StyledArcs\n {...forwardedProps}\n className={classNames(Arcs.className, className)}\n ref={ref as RefObject<SVGGElement>}\n >\n <g className=\"arc-group\">\n {arcs.map((arc, index) => {\n const arcIndex = arc.index ?? index;\n const arcId = arc.id ?? `id${id}__arc-${arcIndex}`;\n\n return (\n <Arc\n {...sliceProps}\n color={color}\n hasStroke={hasStroke}\n labelDecorator={labelDecorator}\n onClick={onClick}\n role={role}\n tooltipVariant={tooltipVariant}\n {...arc}\n key={arcId}\n id={arcId}\n index={arcIndex}\n />\n );\n })}\n </g>\n {hasLabels ? (\n <g className=\"arc-label-group\">\n {arcs\n .filter((arc) => {\n const value = arc.data.data.value;\n const percent = arc.data.data.percent;\n return percent ? value > 0 && percent >= 0.1 : value > 0;\n })\n .map((arc, index) => {\n const arcIndex = arc.index ?? index;\n const arcId = arc.id ?? `id${id}__arc-${arcIndex}`;\n const arcLabelDecorator = arc.labelDecorator ?? labelDecorator;\n const interpolator = d3interpolate(arc.from, arc.data);\n\n return (\n <animated.text\n alignmentBaseline=\"middle\"\n className={`arc-label _${index}`}\n key={`${arcId}-label`}\n textAnchor=\"middle\"\n transform={\n config.immediate\n ? `translate(${arc.createArc.centroid(arc.data)})`\n : animatedProps.t.to(\n (t) =>\n `translate(${arc.createArc.centroid(\n interpolator(t)\n )})`\n )\n }\n >\n {arcLabelDecorator\n ? arcLabelDecorator(arc.data)\n : arc.data.data.key}\n </animated.text>\n );\n })}\n </g>\n ) : null}\n </StyledArcs>\n );\n});\nArcs.className = CLASSNAME;\nArcs.defaultProps = DEFAULT_PROPS;\nArcs.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { AnyScale, TicksSpec } from '../../types';\n\n/**\n * Component variant.\n */\nexport const AxisVariant = {\n none: 'none',\n line: 'line',\n lineTick: 'lineTick',\n tick: 'tick',\n tickValue: 'tickValue',\n default: 'default',\n} as const;\nexport type AxisVariant = ValueOf<typeof AxisVariant>;\n\nexport const AxisPosition = {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n};\nexport type AxisPosition = ValueOf<typeof AxisPosition>;\n\n/**\n * Component props.\n */\nexport interface AxisProps extends Omit<ComponentProps<'g'>, 'scale'> {\n areLabelsRotated?: boolean;\n format?: string;\n legend?: string;\n legendOffset?: number;\n legendPosition?: 'start' | 'middle' | 'end';\n /** Length of the axis. */\n length?: number;\n /** Position of axis. top|bottom means this is an x axis, right|left means this is an y axis. */\n position?: AxisPosition;\n /** Scale (d3.js) used to generate the axis. */\n scale: AnyScale;\n tickPadding?: number;\n tickRotation?: number;\n tickSize?: number;\n tickValues?: TicksSpec;\n /** Variant. */\n variant?: AxisVariant;\n /** X position. */\n x?: number;\n /** Y position. */\n y?: number;\n}\n\nexport type StyledAxisProps = Omit<\n AxisProps,\n 'areXLabelsRotated' | 'size' | 'scale'\n> & {};\n","import styled from 'styled-components';\nimport { StyledAxisProps } from './types';\nimport { animated } from '@react-spring/web';\n\n/**\n * Component style.\n */\nexport const StyledAxis = styled(animated.g)<StyledAxisProps>`\n .redsift-axis__line,\n .redsift-axis-tick__line {\n fill: none;\n stroke: var(--redsift-color-neutral-black);\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 10px;\n user-select: none;\n }\n`;\n","import {\n AnyScale,\n Coordinates,\n ScaleValue,\n ScaleWithBandwidth,\n TicksSpec,\n} from '../../types';\n\nconst getScaleTicks = (scale: AnyScale, spec?: TicksSpec) => {\n // specific values\n if (Array.isArray(spec)) {\n return spec;\n }\n\n // continuous scales\n if ('ticks' in scale) {\n // default behaviour\n if (spec === undefined) {\n return scale.ticks();\n }\n\n // specific tick count\n if (\n typeof spec === 'number' &&\n isFinite(spec) &&\n Math.floor(spec) === spec\n ) {\n return scale.ticks(spec);\n }\n }\n\n // non linear scale default\n return scale.domain();\n};\n\nconst centerScale = (scale: ScaleWithBandwidth) => {\n const bandwidth = scale.bandwidth();\n\n if (bandwidth === 0) return scale;\n\n let offset = bandwidth / 2;\n if (scale.round()) {\n offset = Math.round(offset);\n }\n\n return <T extends ScaleValue>(d: T) => (scale(d) ?? 0) + offset;\n};\n\nexport const computeTicks = ({\n axis,\n scale,\n ticksPosition,\n tickValues,\n tickSize,\n tickPadding,\n tickRotation,\n}: {\n axis: 'x' | 'y';\n scale: AnyScale;\n ticksPosition?: 'after' | 'before';\n tickValues?: TicksSpec;\n tickSize: number;\n tickPadding: number;\n tickRotation: number;\n}) => {\n const values = getScaleTicks(scale, tickValues);\n\n const position = 'bandwidth' in scale ? centerScale(scale) : scale;\n const line = { lineX: 0, lineY: 0 };\n const text = { textX: 0, textY: 0 };\n\n const isRTL = typeof document === 'object' ? document.dir === 'rtl' : false;\n let translate: (value: ScaleValue) => Coordinates;\n let textAlign = 'middle';\n let textBaseline = 'central';\n\n if (axis === 'x') {\n translate = (d) => ({ x: position(d) ?? 0, y: 0 });\n\n line.lineY = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textY =\n (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textBaseline = 'text-before-edge';\n } else {\n textBaseline = 'alphabetic';\n }\n\n if (tickRotation === 0) {\n textAlign = 'middle';\n } else if (\n (ticksPosition === 'after' && tickRotation < 0) ||\n (ticksPosition === 'before' && tickRotation > 0)\n ) {\n textAlign = isRTL ? 'start' : 'end';\n textBaseline = 'middle';\n } else if (\n (ticksPosition === 'after' && tickRotation > 0) ||\n (ticksPosition === 'before' && tickRotation < 0)\n ) {\n textAlign = isRTL ? 'end' : 'start';\n textBaseline = 'middle';\n }\n } else {\n translate = (d) => ({ x: 0, y: position(d) ?? 0 });\n\n line.lineX = tickSize * (ticksPosition === 'after' ? 1 : -1);\n text.textX =\n (tickSize + tickPadding) * (ticksPosition === 'after' ? 1 : -1);\n\n if (ticksPosition === 'after') {\n textAlign = 'start';\n } else {\n textAlign = 'end';\n }\n }\n\n const ticks = values.map((value: ScaleValue) => ({\n key: value instanceof Date ? `${value.valueOf()}` : `${value}`,\n value,\n ...translate(value),\n ...line,\n ...text,\n }));\n\n return {\n ticks,\n textAlign,\n textBaseline,\n };\n};\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { AxisProps, AxisPosition, AxisVariant } from './types';\nimport { StyledAxis } from './styles';\nimport { animated, useSpring, useTransition } from '@react-spring/web';\nimport { computeTicks } from './computeTicks';\nimport { config } from '../../config';\n\nconst COMPONENT_NAME = 'Axis';\nconst CLASSNAME = 'redsift-axis';\nconst DEFAULT_PROPS: Partial<AxisProps> = {\n position: AxisPosition.bottom,\n legendOffset: -32,\n legendPosition: 'end',\n tickPadding: 5,\n tickRotation: 0,\n tickSize: 5,\n variant: AxisVariant.default,\n x: 0,\n y: 0,\n};\n\nconst getAxisType = (position: AxisPosition) =>\n [AxisPosition.top, AxisPosition.bottom].includes(position) ? 'x' : 'y';\n\nexport const Axis: Comp<AxisProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n className,\n length,\n legend,\n legendOffset,\n legendPosition,\n position,\n scale,\n tickPadding,\n tickRotation,\n tickSize,\n tickValues,\n variant,\n x,\n y,\n ...forwardedProps\n } = props;\n const axis = getAxisType(position!);\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({\n lineX2: axis === 'x' ? length : 0,\n lineY2: axis === 'x' ? 0 : length,\n });\n },\n from: { lineX2: 0, lineY2: 0 },\n reset: false,\n });\n\n let legendNode = null;\n if (legend !== undefined) {\n let legendX = 0;\n let legendY = 0;\n let legendRotation = 0;\n let textAnchor;\n\n if (axis === 'y') {\n legendRotation = -90;\n legendX = legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n legendY = length!;\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendY = length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n }\n } else {\n legendY = legendOffset!;\n if (legendPosition === 'start') {\n textAnchor = 'start';\n } else if (legendPosition === 'middle') {\n textAnchor = 'middle';\n legendX = length! / 2;\n } else if (legendPosition === 'end') {\n textAnchor = 'end';\n legendX = length!;\n }\n }\n\n legendNode = (\n <>\n <text\n transform={`translate(${legendX}, ${legendY}) rotate(${legendRotation})`}\n textAnchor={textAnchor}\n style={{\n dominantBaseline: 'central',\n }}\n >\n {legend}\n </text>\n </>\n );\n }\n\n const { ticks, textAlign, textBaseline } = computeTicks({\n axis,\n scale,\n ticksPosition: [AxisPosition.top, AxisPosition.left].includes(position!)\n ? 'before'\n : 'after',\n tickValues,\n tickSize: tickSize!,\n tickPadding: tickPadding!,\n tickRotation: tickRotation!,\n });\n\n const transition = useTransition<\n typeof ticks[0],\n { opacity: number; transform: string; textTransform: string }\n >(ticks, {\n ...config,\n keys: (tick) => tick.key,\n initial: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${tick.y})`,\n textTransform: `translate(${tick.textX},${tick.textY}) rotate(${tickRotation})`,\n }),\n from: (tick) => ({\n opacity: 0,\n transform: `translate(${tick.x},${tick.y})`,\n textTransform: `translate(${tick.textX},${tick.textY}) rotate(${tickRotation})`,\n }),\n enter: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${tick.y})`,\n textTransform: `translate(${tick.textX},${tick.textY}) rotate(${tickRotation})`,\n }),\n update: (tick) => ({\n opacity: 1,\n transform: `translate(${tick.x},${tick.y})`,\n textTransform: `translate(${tick.textX},${tick.textY}) rotate(${tickRotation})`,\n }),\n leave: {\n opacity: 0,\n },\n });\n\n return (\n <StyledAxis\n className={classNames(Axis.className, className)}\n {...forwardedProps}\n transform={`translate(${x},${y})`}\n ref={axisRef}\n >\n {variant === AxisVariant.default ||\n variant === AxisVariant.tick ||\n variant === AxisVariant.lineTick ||\n variant === AxisVariant.tickValue\n ? transition((transitionProps, tick, _state, tickIndex) => {\n return (\n <animated.g\n className={`${Axis.className}__tick`}\n key={tickIndex}\n transform={transitionProps.transform}\n style={{ opacity: transitionProps.opacity }}\n >\n <line\n className={`${Axis.className}-tick__line`}\n x1={0}\n x2={tick.lineX}\n y1={0}\n y2={tick.lineY}\n />\n {variant === AxisVariant.default ||\n variant === AxisVariant.tickValue ? (\n <animated.text\n dominantBaseline={textBaseline}\n textAnchor={textAlign}\n transform={transitionProps.textTransform}\n >\n {`${tick.value}`}\n </animated.text>\n ) : null}\n </animated.g>\n );\n })\n : null}\n\n {variant === AxisVariant.default ||\n variant === AxisVariant.line ||\n variant === AxisVariant.lineTick ? (\n <animated.line\n className={`${Axis.className}__line`}\n x1={0}\n x2={\n config.immediate\n ? axis === 'x'\n ? length\n : 0\n : animatedProps.lineX2\n }\n y1={0}\n y2={\n config.immediate\n ? axis === 'x'\n ? 0\n : length\n : animatedProps.lineY2\n }\n />\n ) : null}\n {legendNode}\n </StyledAxis>\n );\n});\nAxis.className = CLASSNAME;\nAxis.defaultProps = DEFAULT_PROPS;\nAxis.displayName = COMPONENT_NAME;\n","import { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { ValueOf } from '@redsift/design-system';\nimport { BarDatum } from '../../types';\nimport { DataPointProps, StyledDataPointProps } from '../DataPoint';\n\n/**\n * Component variant.\n */\nexport const BarOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\nexport type BarOrientation = ValueOf<typeof BarOrientation>;\n\n/**\n * Component props.\n */\nexport interface BarProps extends DataPointProps<BarDatum> {\n /** Gap between two siblings. */\n gap?: number;\n /** Height of the bar in horizontal orientation. */\n height?: number;\n /** Orientation of the bar. */\n orientation?: BarOrientation;\n /** A linear continuous scale defined over a numeric domain used to determine the width or height of the bar (depending on the orientation). */\n scale: d3ScaleLinear<number, number, never>;\n /** Width of the bar in vertical orientation. */\n width?: number;\n}\n\nexport type StyledBarProps = StyledDataPointProps & Omit<BarProps, 'scale'>;\n","import styled, { css } from 'styled-components';\nimport { StyledBarProps } from './types';\nimport { DataPoint } from '../DataPoint';\n\n/**\n * Component style.\n */\nexport const StyledBar = styled(DataPoint)<StyledBarProps>`\n rect {\n fill-opacity: 0.9;\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus,\n &.focused {\n outline: none;\n rect {\n fill-opacity: 0.7;\n }\n }\n\n // &:focus-visible {\n // rect {\n // stroke: var(--redsift-color-default-primary);\n // stroke-width: 4px;\n // paint-order: stroke;\n // }\n // }\n\n @media (prefers-reduced-motion: no-preference) {\n &:focus-visible,\n &.focused {\n outline: 2px solid var(--redsift-color-default-primary);\n transition: outline-offset 75ms ease-out;\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n transition-duration: 0.25s;\n }\n }\n\n &:not(&:active)&:focus-visible,\n &:not(&:active)&.focused {\n outline-offset: 0.2rem;\n }\n `\n : ''}}\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { animated, useSpring } from '@react-spring/web';\nimport { interpolate as d3interpolate } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { BarOrientation, BarProps } from './types';\nimport { StyledBar } from './styles';\nimport { monochrome } from '../../scheme';\nimport { config } from '../../config';\n\nconst COMPONENT_NAME = 'Bar';\nconst CLASSNAME = 'redsift-bar';\nconst DEFAULT_PROPS: Partial<BarProps> = {\n color: monochrome,\n index: 0,\n gap: 5,\n height: 40,\n orientation: BarOrientation.horizontal,\n previousData: {\n data: {\n key: '',\n value: 0,\n },\n },\n width: 40,\n};\n\nexport const Bar: Comp<BarProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n color,\n data,\n index,\n isSelected: propsIsSelected,\n labelDecorator,\n onClick,\n role,\n } = props;\n\n const {\n className,\n gap,\n height,\n orientation,\n previousData,\n scale,\n width,\n ...forwardedProps\n } = props;\n\n const interpolator = d3interpolate(\n previousData!.data?.value || 0,\n data.data.value\n );\n\n const text = labelDecorator ? labelDecorator(data) : data.data.key;\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const animatedProps = useSpring({\n ...config,\n to: async (next: (props?: object) => Promise<void>) => {\n await next({ t: 1 });\n },\n from: { t: 0 },\n });\n\n return (\n <StyledBar\n {...forwardedProps}\n ref={ref}\n className={classNames(Bar.className, className)}\n transform={\n orientation === BarOrientation.horizontal\n ? `translate(0, ${gap! * (index! + 1) + height! * index!})`\n : `translate(${gap! * (index! + 1) + width! * index!}, 0)`\n }\n $clickable={Boolean(onClick)}\n >\n {orientation === BarOrientation.horizontal ? (\n <animated.rect\n height={height}\n fill={isDeselected ? 'var(--redsift-color-neutral-lightgrey)' : color}\n width={\n config.immediate\n ? scale(data.data.value)\n : animatedProps.t.to((t) => scale(interpolator(t)))\n }\n />\n ) : (\n <animated.rect\n height={\n config.immediate\n ? scale(data.data.value)\n : animatedProps.t.to((t) => scale(interpolator(t)))\n }\n fill={isDeselected ? 'var(--redsift-color-neutral-lightgrey)' : color}\n width={width}\n />\n )}\n {orientation === BarOrientation.horizontal ? (\n <text x=\"10\" y={height! / 2} dy=\"0.35em\" aria-hidden={true}>\n {text}\n </text>\n ) : null}\n </StyledBar>\n );\n});\nBar.className = CLASSNAME;\nBar.defaultProps = DEFAULT_PROPS;\nBar.displayName = COMPONENT_NAME;\n","import enUS from './en-US.json';\nimport frFR from './fr-FR.json';\n\nexport default {\n 'en-US': enUS,\n 'fr-FR': frFR,\n};\n","import styled from 'styled-components';\nimport { Flexbox, baseStyling, focusRing } from '@redsift/design-system';\nimport { StyledChartContainerProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledChartContainer = styled.div<StyledChartContainerProps>`\n ${baseStyling}\n\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-chart-container__content {\n display: flex;\n align-items: center;\n gap: 16px;\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 11px;\n justify-content: center;\n margin: 8px 0;\n position: relative;\n\n ${focusRing}\n }\n\n svg {\n display: block;\n }\n`;\n\nexport const StyledChartContainerTitle = styled(\n Flexbox\n)<StyledChartContainerProps>``;\n\nexport const StyledChartContainerCaption = styled.p<StyledChartContainerProps>`\n font-family: var(--redsift-typography-caption-font-family);\n font-size: var(--redsift-typography-caption-font-size);\n font-weight: var(--redsift-typography-caption-font-weight);\n line-height: var(--redsift-typography-caption-line-height);\n`;\n","import React, { ComponentProps, forwardRef, RefObject, useId } from 'react';\nimport classNames from 'classnames';\n\nimport { useLocalizedStringFormatter } from 'react-aria';\nimport intlMessages from './intl';\n\nimport {\n Button,\n Comp,\n Heading,\n warnIfNoAccessibleLabelFound,\n} from '@redsift/design-system';\n\nimport { ChartContainerProps } from './types';\nimport {\n StyledChartContainer,\n StyledChartContainerCaption,\n StyledChartContainerTitle,\n} from './styles';\n\nconst COMPONENT_NAME = 'ChartContainer';\nconst CLASSNAME = 'redsift-chart-container';\nconst DEFAULT_PROPS: Partial<ChartContainerProps> = {};\n\nexport const ChartContainer: Comp<ChartContainerProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const {\n 'aria-label': propsAriaLabel,\n 'aria-labelledby': propsAriaLabelledby,\n caption,\n chartProps,\n chartRef,\n children,\n className,\n id: propsId,\n title,\n onReset,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n warnIfNoAccessibleLabelFound(\n props as ComponentProps<keyof JSX.IntrinsicElements>,\n [title]\n );\n\n const stringFormatter = useLocalizedStringFormatter(intlMessages);\n\n const ariaLabel = propsAriaLabel\n ? propsAriaLabel\n : propsAriaLabelledby || title\n ? undefined\n : undefined;\n const ariaLabelledby = propsAriaLabelledby\n ? propsAriaLabelledby\n : title\n ? `id${id}__title`\n : undefined;\n\n return (\n <StyledChartContainer\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={classNames(ChartContainer.className, className)}\n id={id}\n >\n {title || onReset ? (\n <StyledChartContainerTitle\n alignItems=\"center\"\n justifyContent=\"space-between\"\n className={`${ChartContainer.className}__title`}\n id={`id${id}__title`}\n >\n {typeof title === 'string' ? (\n <Heading as=\"h3\">{title}</Heading>\n ) : title ? (\n title\n ) : null}\n\n {onReset ? (\n <Button\n className={`${ChartContainer.className}-title__reset-button`}\n color=\"question\"\n variant=\"unstyled\"\n onClick={onReset}\n >\n {stringFormatter.format('reset')}\n </Button>\n ) : null}\n </StyledChartContainerTitle>\n ) : null}\n\n {children ? (\n <div\n {...chartProps}\n ref={chartRef}\n className={`${ChartContainer.className}__content`}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n >\n {children}\n </div>\n ) : null}\n {caption ? (\n <StyledChartContainerCaption\n className={`${ChartContainer.className}__caption`}\n >\n {caption}\n </StyledChartContainerCaption>\n ) : null}\n </StyledChartContainer>\n );\n });\nChartContainer.className = CLASSNAME;\nChartContainer.defaultProps = DEFAULT_PROPS;\nChartContainer.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledBarChartProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\n\n/**\n * Component style.\n */\nexport const StyledBarChart = styled(ChartContainer)<StyledBarChartProps>``;\n\nexport const StyledBarChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n","import { ChartSize } from '../../types';\nimport { BarChartDimensions } from './types';\n\nexport const sizeToDimension = (\n size: ChartSize | BarChartDimensions\n): BarChartDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return { width: 300, height: 200, fontSize: 30 };\n case ChartSize.large:\n return { width: 500, height: 400, fontSize: 38 };\n case ChartSize.medium:\n default:\n return { width: 400, height: 300, fontSize: 34 };\n }\n};\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear, ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { AnyScale } from '../../types';\nimport { BarChartProps } from './types';\nimport { StyledBarChart, StyledBarChartEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\n\nexport const EmptyBarChart = forwardRef<HTMLDivElement, BarChartProps>(\n (props, ref) => {\n const { className, emptyComponent, size, localeText, ...forwardedProps } =\n props;\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n\n const scaleRef = useRef<d3ScaleLinear<number, number>>();\n if (!scaleRef.current) {\n scaleRef.current = d3scaleLinear().domain([]).range([0, chartWidth]);\n }\n\n return (\n <StyledBarChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {emptyComponent ?? (\n <>\n <StyledBarChartEmptyText\n $maxWidth={width}\n $textSize={chartDimensions.fontSize / 2}\n >\n <span>{localeText?.emptyChartText}</span>\n </StyledBarChartEmptyText>\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={chartWidth}\n scale={scaleRef.current as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledBarChart>\n );\n }\n);\n","import React, { forwardRef, RefObject } from 'react';\n\nimport { BarChartProps } from './types';\nimport { StyledBarChart } from './styles';\n\nexport const LoadingBarChart = forwardRef<HTMLDivElement, BarChartProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledBarChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledBarChart>\n );\n }\n);\n","import React, {\n forwardRef,\n RefObject,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport {\n scaleLinear as d3scaleLinear,\n ScaleLinear as d3ScaleLinear,\n sum as d3sum,\n} from 'd3';\n\nimport { AnyScale, CategoryData } from '../../types';\nimport { BarChartProps } from './types';\nimport { StyledBarChart } from './styles';\nimport { Bar } from '../Bar';\nimport { Axis } from '../Axis';\nimport { useFormatCategoricalData } from '../../hooks';\nimport { sizeToDimension } from './utils';\n\ninterface RenderedBarChartProps\n extends Required<Pick<BarChartProps, 'data'>>,\n Omit<BarChartProps, 'data'> {}\n\nexport const RenderedBarChart = forwardRef<\n HTMLDivElement,\n RenderedBarChartProps\n>((props, ref) => {\n const {\n areXLabelsRotated,\n barProps,\n caping,\n className,\n data: propsData,\n id,\n isBarSelected,\n labelDecorator,\n onBarClick,\n others,\n size,\n barRole,\n theme,\n tooltipVariant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<CategoryData>();\n\n const { data, colorScale } = useFormatCategoricalData({\n data: propsData,\n theme: theme!,\n caping,\n others,\n });\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n const numberOfRows = data.length;\n const gap = 5;\n\n const scale = useMemo<d3ScaleLinear<number, number>>(\n () =>\n d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range([0, chartWidth]),\n [size]\n );\n\n const barHeight = (chartHeight - (numberOfRows + 1) * gap) / numberOfRows;\n const total = d3sum(data, (d) => d.value);\n\n return (\n <StyledBarChart\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={chartWidth}\n scale={scale as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={4}\n tickRotation={areXLabelsRotated ? -45 : 0}\n />\n {data\n .filter((datum) => datum.value)\n .map((datum, index) => {\n const percent = datum.value / total;\n const to = {\n data: {\n ...datum,\n percent,\n },\n };\n const from = cache.current\n ? { data: cache.current[index] }\n : undefined;\n\n return (\n <Bar\n {...barProps}\n color={colorScale?.(to.data.key)!}\n data={to}\n gap={gap}\n height={barHeight}\n id={`id${id}__bar-${index}`}\n index={index}\n isSelected={Boolean(isBarSelected!(to))}\n key={`bar _${index}`}\n labelDecorator={labelDecorator}\n onClick={onBarClick}\n previousData={from!}\n role={barRole}\n scale={scale!}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </svg>\n </StyledBarChart>\n );\n});\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { BarChartProps } from './types';\nimport { EmptyBarChart } from './EmptyBarChart';\nimport { LoadingBarChart } from './LoadingBarChart';\nimport { RenderedBarChart } from './RenderedBarChart';\n\nconst COMPONENT_NAME = 'BarChart';\nconst CLASSNAME = 'redsift-barchart';\nconst DEFAULT_PROPS: Partial<BarChartProps> = {\n isBarSelected: () => true,\n others: true,\n size: ChartSize.medium,\n theme: ColorTheme.default,\n tooltipVariant: TooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nexport const BarChart: Comp<BarChartProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n areXLabelsRotated,\n caping,\n chartRef,\n className,\n data: propsData,\n emptyComponent,\n id: propsId,\n isBarSelected,\n labelDecorator,\n localeText,\n onBarClick,\n others,\n size,\n barRole,\n theme,\n tooltipVariant,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n if (propsData === undefined || propsData === null) {\n return <LoadingBarChart id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyBarChart\n data={propsData}\n emptyComponent={emptyComponent}\n id={id}\n localeText={localeText}\n size={size}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedBarChart\n areXLabelsRotated={areXLabelsRotated}\n barRole={barRole}\n caping={caping}\n chartRef={chartRef}\n className={classNames(BarChart.className, className)}\n data={propsData}\n id={id}\n isBarSelected={isBarSelected}\n labelDecorator={labelDecorator}\n onBarClick={onBarClick}\n others={others}\n size={size}\n theme={theme}\n tooltipVariant={tooltipVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n);\nBarChart.className = CLASSNAME;\nBarChart.defaultProps = DEFAULT_PROPS;\nBarChart.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledDotProps } from './types';\nimport { DataPoint } from '../DataPoint';\n\n/**\n * Component style.\n */\nexport const StyledDot = styled(DataPoint)<StyledDotProps>`\n circle {\n fill-opacity: 0.7;\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n opacity: 0.5;\n outline: none;\n }\n\n &:focus-visible {\n circle {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { DotProps } from './types';\nimport { StyledDot } from './styles';\nimport { monochrome } from '../../scheme';\nimport { DotDatum } from '../../types';\n\nconst COMPONENT_NAME = 'Dot';\nconst CLASSNAME = 'redsift-dot';\nconst DEFAULT_PROPS: Partial<DotProps> = {\n color: monochrome,\n index: 0,\n labelDecorator: (datum: DotDatum) => {\n return datum.data.key[2] !== undefined && datum.data.key[2] !== null\n ? datum.data.key[2]\n : `${datum.data.key[0]},${datum.data.key[1]}`;\n },\n};\n\nexport const Dot: Comp<DotProps, SVGGElement> = forwardRef((props, ref) => {\n const { color, data, isSelected: propsIsSelected, onClick, role } = props;\n\n const { className, scaleX, scaleY, ...forwardedProps } = props;\n\n const isSelectable = role === 'option';\n const isDeselected = isSelectable && propsIsSelected === false;\n\n return (\n <StyledDot\n {...forwardedProps}\n ref={ref}\n className={classNames(Dot.className, className)}\n $clickable={Boolean(onClick)}\n >\n <circle\n cx={scaleX(data.x)}\n cy={scaleY(data.y)}\n r={data.r}\n fill={isDeselected ? 'var(--redsift-color-neutral-lightgrey)' : color}\n />\n </StyledDot>\n );\n});\nDot.className = CLASSNAME;\nDot.defaultProps = DEFAULT_PROPS;\nDot.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledLegendProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledLegend = styled.ul<StyledLegendProps>`\n max-width: 262px;\n ${({ $width }) =>\n $width !== undefined\n ? css`\n width: ${$width};\n `\n : null}\n`;\n","import styled, { css } from 'styled-components';\nimport { StyledLegendItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledLegendItem = styled.li<StyledLegendItemProps>`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: var(--redsift-typography-caption-font-size);\n\n > div {\n height: 16px;\n width: 16px;\n min-width: 16px;\n background-color: ${({ color }) => color};\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\n outline: none;\n > div {\n opacity: 0.7;\n }\n }\n\n &:focus-visible {\n > div {\n outline: 4px solid var(--redsift-color-default-primary);\n }\n }\n `\n : ''}}\n`;\n","import React, { KeyboardEventHandler, forwardRef, useId } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\n\nimport { LegendItemProps } from './types';\nimport { StyledLegendItem } from './styles';\nimport { monochrome } from '../../scheme';\nimport { LabelVariant } from '../../types';\n\nconst COMPONENT_NAME = 'LegendItem';\nconst CLASSNAME = 'redsift-legend-item';\nconst DEFAULT_PROPS: Partial<LegendItemProps> = {\n color: monochrome,\n index: 0,\n};\n\nexport const LegendItem: Comp<LegendItemProps, HTMLLIElement> = forwardRef(\n (props, ref) => {\n const {\n index,\n isSelected: propsIsSelected,\n labelDecorator,\n onClick,\n role,\n } = props;\n\n const {\n className,\n color,\n data,\n id: propsId,\n total,\n variant,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n const text = labelDecorator ? labelDecorator(data) : data.data.key;\n const isEmpty = data.data.value === 0;\n\n const isSelectable = role === 'option';\n const isSelected = isSelectable && propsIsSelected === true;\n const isDeselected = isSelectable && propsIsSelected === false;\n\n const onKeyDown: KeyboardEventHandler<HTMLLIElement> = (event) => {\n if (onClick) {\n event.stopPropagation();\n\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n onClick(data);\n }\n }\n };\n\n return (\n <StyledLegendItem\n {...forwardedProps}\n className={classNames(LegendItem.className, className, `_${index}`, {\n selected: isSelected,\n deselected: isDeselected,\n })}\n color={isDeselected ? 'var(--redsift-color-neutral-lightgrey)' : color}\n ref={ref}\n aria-labelledby={!isEmpty ? `${id}-title` : undefined}\n aria-selected={isSelected ? true : isDeselected ? false : undefined}\n id={id}\n onClick={onClick ? () => onClick(data) : undefined}\n onKeyDown={onClick ? (e) => onKeyDown(e) : undefined}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n $clickable={Boolean(onClick)}\n >\n <div />\n {variant === LabelVariant.value ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n value={data.data.value}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{text}</Text>\n </>\n ) : variant === LabelVariant.percent && total ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n type=\"percent\"\n value={data.data.value / total}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{text}</Text>\n </>\n ) : (\n <Text variant=\"caption\">{text}</Text>\n )}\n </StyledLegendItem>\n );\n }\n);\nLegendItem.className = CLASSNAME;\nLegendItem.defaultProps = DEFAULT_PROPS;\nLegendItem.displayName = COMPONENT_NAME;\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { LegendProps } from './types';\nimport { StyledLegend } from './styles';\nimport { LabelVariant } from '../../types';\nimport { LegendItem } from '../LegendItem';\n\nconst COMPONENT_NAME = 'Legend';\nconst CLASSNAME = 'redsift-chart-legend';\nconst DEFAULT_PROPS: Partial<LegendProps> = {\n isLegendItemSelected: () => true,\n variant: LabelVariant.label,\n};\n\nexport const Legend: Comp<LegendProps, HTMLUListElement> = forwardRef(\n (props, ref) => {\n const {\n className,\n data,\n isLegendItemSelected,\n labelDecorator,\n legendItemRole,\n onLegendItemClick,\n variant,\n width,\n ...forwardedProps\n } = props;\n const total = d3sum(data, (d) => d.value);\n\n return (\n <StyledLegend\n {...forwardedProps}\n className={classNames(Legend.className, className)}\n ref={ref}\n $width={width}\n >\n {data.map(({ color, ...datum }, index) => (\n <LegendItem\n data={{ data: datum }}\n color={color}\n total={total}\n variant={variant}\n index={index}\n isSelected={Boolean(isLegendItemSelected!({ data: datum }))}\n key={`legend-item _${index}`}\n labelDecorator={labelDecorator}\n onClick={onLegendItemClick}\n role={legendItemRole}\n />\n ))}\n </StyledLegend>\n );\n }\n);\nLegend.className = CLASSNAME;\nLegend.defaultProps = DEFAULT_PROPS;\nLegend.displayName = COMPONENT_NAME;\n","import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n ArcDatum,\n TooltipVariant,\n CategoryData,\n} from '../../types';\nimport { ValueOf } from '@redsift/design-system';\nimport { ArcProps } from '../Arc';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { ComponentProps, ReactNode } from 'react';\n\n/**\n * Component variant.\n */\nexport const PieChartVariant = {\n plain: 'plain',\n spaced: 'spaced',\n donut: 'donut',\n spacedDonut: 'spacedDonut',\n} as const;\nexport type PieChartVariant = ValueOf<typeof PieChartVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const PieChartLabelVariant = {\n none: 'none',\n internal: 'internal',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n} as const;\nexport type PieChartLabelVariant = ValueOf<typeof PieChartLabelVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\nexport type PieChartDimensions = ChartDimensions & {\n smallFontSize: number;\n fontSize: number;\n innerRadius: number;\n};\n\n/**\n * Component props.\n */\nexport interface PieChartProps extends ChartContainerProps {\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Dataset to use to generate the chart, should be a list of objects containing a key and a value. */\n data?: CategoryData;\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Method to determine whether a slice is selected or not. */\n isSliceSelected?: (datum: ArcDatum) => boolean | undefined;\n /** Method to override the data labels. */\n labelDecorator?: (datum: ArcDatum) => string;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. */\n labelVariant?: PieChartLabelVariant;\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a slice. */\n onSliceClick?: (datum: ArcDatum) => void;\n /** Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. */\n others?: boolean | string;\n /** PieChart size. */\n size?: ChartSize | PieChartDimensions;\n /** Native HTML props to forward to each slice. */\n sliceProps?: Omit<ComponentProps<'g'>, 'onClick' | 'ref' | 'width'>;\n /** Slice role. Used to indicate that slices are to be considered buttons or links. If an onClick is provided, the slices will have the role `button` unless specifically set to `link` with this prop. */\n sliceRole?: ArcProps['role'];\n /** Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. */\n middleText?: string;\n /** Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. */\n subtext?: string;\n /** Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. */\n text?: string;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: ChartTheme;\n /** PieChart variant. */\n variant?: PieChartVariant;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n}\n\nexport type StyledPieChartProps = PieChartProps & {};\n","import styled, { css } from 'styled-components';\nimport { StyledPieChartProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\n\n/**\n * Component style.\n */\nexport const StyledPieChart = styled(ChartContainer)<StyledPieChartProps>`\n .redsift-piechart__chart-wrapper {\n position: relative;\n }\n`;\n\nexport const StyledPieChartCenterText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $smallTextSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > b {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n color: var(--redsift-color-neutral-black);\n font-weight: var(--redsift-typography-font-weight-medium);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n\n &:nth-child(2) {\n font-weight: normal;\n margin-top: 8px;\n font-family: var(--redsift-typography-font-family-raleway);\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > span {\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n &:nth-child(3) {\n margin-top: 4px;\n font-size: ${({ $smallTextSize }) => $smallTextSize}px;\n line-height: ${({ $smallTextSize }) => $smallTextSize}px;\n }\n }\n > b + span {\n font-size: var(--redsift-typography-body-font-size);\n font-family: var(--redsift-typography-font-family-raleway);\n line-height: var(--redsift-typography-badge-line-height);\n color: rgba(0, 0, 0, 0.6);\n text-align: center;\n }\n`;\n\nexport const StyledPieChartEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $isDonut: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: ${({ $isDonut }) =>\n $isDonut\n ? css`var(--redsift-color-neutral-midgrey)`\n : css`var(--redsift-color-neutral-black)`};\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\n\nimport { PieChartProps } from './types';\nimport { StyledPieChart } from './styles';\n\nexport const LoadingPieChart = forwardRef<HTMLDivElement, PieChartProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledPieChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledPieChart>\n );\n }\n);\n","import { ChartSize } from '../../types';\nimport { PieChartDimensions } from './types';\n\nexport const sizeToDimension = (\n size: ChartSize | PieChartDimensions\n): PieChartDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return {\n width: 200,\n height: 200,\n smallFontSize: 13,\n fontSize: 30,\n innerRadius: 55,\n };\n case ChartSize.large:\n return {\n width: 300,\n height: 300,\n smallFontSize: 18,\n fontSize: 38,\n innerRadius: 80,\n };\n case ChartSize.medium:\n default:\n return {\n width: 240,\n height: 240,\n smallFontSize: 14,\n fontSize: 34,\n innerRadius: 65,\n };\n }\n};\n","import React, { forwardRef, RefObject } from 'react';\nimport { arc as d3arc } from 'd3';\n\nimport { ArcDatum } from '../../types';\nimport { PieChartProps, PieChartVariant } from './types';\nimport { StyledPieChart, StyledPieChartEmptyText } from './styles';\nimport { Arcs } from '../Arcs';\nimport { empty } from '../../scheme';\nimport { sizeToDimension } from './utils';\n\nexport const EmptyPieChart = forwardRef<HTMLDivElement, PieChartProps>(\n (props, ref) => {\n const {\n className,\n emptyComponent,\n localeText,\n size,\n variant,\n ...forwardedProps\n } = props;\n\n const isDonut =\n variant === PieChartVariant.donut ||\n variant === PieChartVariant.spacedDonut;\n\n const { width, height, fontSize, innerRadius } = sizeToDimension(size!);\n const externalRadiusPadding = 8;\n\n const createArc = d3arc<ArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(width / 2 - externalRadiusPadding);\n\n return (\n <StyledPieChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {emptyComponent ?? (\n <>\n <StyledPieChartEmptyText\n $maxWidth={innerRadius * 2}\n $textSize={fontSize / 2}\n $isDonut={isDonut}\n >\n <span>{localeText?.emptyChartText}</span>\n </StyledPieChartEmptyText>\n <svg width={width} height={height}>\n <Arcs\n arcs={[\n {\n createArc,\n previousData: {\n data: {\n key: '',\n value: 0,\n },\n startAngle: 0,\n endAngle: 0,\n padAngle: 0,\n value: 0,\n index: 0,\n },\n data: {\n data: {\n key: 'No Data',\n value: 0,\n },\n index: 0,\n value: 0,\n startAngle: 0,\n endAngle: 2 * Math.PI,\n padAngle: 0,\n },\n color: empty,\n },\n ]}\n transform={`translate(${width / 2} ${height / 2})`}\n />\n </svg>\n </>\n )}\n </StyledPieChart>\n );\n }\n);\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { arc as d3arc, pie as d3pie, sum as d3sum } from 'd3';\n\nimport {\n LabelVariant,\n ArcDatum,\n CategoryData,\n CategoryDatum,\n} from '../../types';\nimport { PieChartLabelVariant, PieChartProps, PieChartVariant } from './types';\nimport { StyledPieChartCenterText, StyledPieChart } from './styles';\nimport { Arcs } from '../Arcs';\nimport { useFormatCategoricalData } from '../../hooks';\nimport { Legend } from '../Legend';\nimport { sizeToDimension } from './utils';\nimport { PieChart } from './PieChart';\n\ninterface RenderedPieChartProps\n extends Required<Pick<PieChartProps, 'data'>>,\n Omit<PieChartProps, 'data'> {}\n\nexport const RenderedPieChart = forwardRef<\n HTMLDivElement,\n RenderedPieChartProps\n>((props, ref) => {\n const {\n caping,\n className,\n data: propsData,\n id,\n isSliceSelected,\n labelDecorator,\n labelVariant,\n middleText,\n onSliceClick,\n others,\n size,\n sliceProps,\n sliceRole,\n subtext,\n text,\n theme,\n tooltipVariant,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<CategoryData>();\n\n const isDonut =\n variant === PieChartVariant.donut ||\n variant === PieChartVariant.spacedDonut;\n\n const { data, colorScale } = useFormatCategoricalData({\n data: propsData,\n theme: theme!,\n caping,\n others,\n });\n\n useEffect(() => {\n cache.current = data;\n });\n\n const { width, height, smallFontSize, fontSize, innerRadius } =\n sizeToDimension(size!);\n const externalRadiusPadding = 8;\n\n const createPie = d3pie<CategoryDatum>()\n .value((d) => d.value)\n .sort(null);\n const createArc = d3arc<ArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(width / 2 - externalRadiusPadding);\n const pieData = createPie(data);\n const previousPieData = cache.current ? createPie(cache.current) : undefined;\n const total = d3sum(data, (d) => d.value);\n\n return (\n <StyledPieChart\n {...forwardedProps}\n className={className}\n id={id}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <div className={`${PieChart.className}__chart-wrapper`}>\n {text ? (\n <StyledPieChartCenterText\n $maxWidth={innerRadius * 2}\n $textSize={fontSize}\n $smallTextSize={smallFontSize}\n >\n {subtext ? <b>{text}</b> : <span>{text}</span>}\n {middleText ? <b>{middleText}</b> : null}\n <span>{subtext}</span>\n </StyledPieChartCenterText>\n ) : null}\n <svg width={width} height={height}>\n <Arcs\n arcs={pieData\n .filter((datum) => datum.data.value)\n .map((datum, index) => {\n const percent = datum.data.value / total;\n const from = previousPieData\n ? previousPieData[index]\n : {\n data: {\n key: '',\n value: 0,\n },\n startAngle: 0,\n endAngle: 0,\n padAngle: 0,\n value: 0,\n index: index,\n };\n const to = { ...datum, data: { ...datum.data, percent } };\n\n return {\n color: colorScale?.(to.data.key),\n createArc,\n previousData: from,\n id: `id${id}__bar-${index}`,\n index,\n isSelected: isSliceSelected!(to),\n key: `id${id}__bar-${index}`,\n data: to,\n };\n })}\n hasLabels={labelVariant === PieChartLabelVariant.internal}\n hasStroke={\n variant === PieChartVariant.spaced ||\n variant === PieChartVariant.spacedDonut\n }\n labelDecorator={labelDecorator}\n onClick={onSliceClick}\n role={sliceRole}\n sliceProps={sliceProps}\n tooltipVariant={tooltipVariant}\n transform={`translate(${width / 2} ${height / 2})`}\n />\n </svg>\n </div>\n {labelVariant !== PieChartLabelVariant.none &&\n labelVariant !== PieChartLabelVariant.internal ? (\n <Legend\n data={data.map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n labelVariant === PieChartLabelVariant.externalLabelValue\n ? LabelVariant.value\n : labelVariant === PieChartLabelVariant.externalLabelPercent\n ? LabelVariant.percent\n : LabelVariant.label\n }\n />\n ) : null}\n </StyledPieChart>\n );\n});\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { PieChartLabelVariant, PieChartProps, PieChartVariant } from './types';\nimport { LoadingPieChart } from './LoadingPieChart';\nimport { EmptyPieChart } from './EmptyPieChart';\nimport { RenderedPieChart } from './RenderedPieChart';\n\nconst COMPONENT_NAME = 'PieChart';\nconst CLASSNAME = 'redsift-piechart';\nconst DEFAULT_PROPS: Partial<PieChartProps> = {\n isSliceSelected: () => true,\n labelVariant: PieChartLabelVariant.none,\n others: true,\n size: ChartSize.medium,\n theme: ColorTheme.default,\n variant: PieChartVariant.plain,\n tooltipVariant: TooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nexport const PieChart: Comp<PieChartProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n caping,\n chartRef,\n className,\n data: propsData,\n emptyComponent,\n id: propsId,\n isSliceSelected,\n labelDecorator,\n labelVariant,\n localeText,\n middleText,\n onSliceClick,\n others,\n size,\n sliceRole,\n subtext,\n text,\n theme,\n tooltipVariant,\n variant,\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n if (propsData === undefined || propsData === null) {\n return <LoadingPieChart id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyPieChart\n data={propsData}\n emptyComponent={emptyComponent}\n id={id}\n localeText={localeText}\n size={size}\n variant={variant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedPieChart\n caping={caping}\n chartRef={chartRef}\n className={classNames(PieChart.className, className)}\n data={propsData}\n id={id}\n isSliceSelected={isSliceSelected}\n labelDecorator={labelDecorator}\n labelVariant={labelVariant}\n middleText={middleText}\n onSliceClick={onSliceClick}\n others={others}\n size={size}\n sliceRole={sliceRole}\n subtext={subtext}\n text={text}\n theme={theme}\n tooltipVariant={tooltipVariant}\n variant={variant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n);\nPieChart.className = CLASSNAME;\nPieChart.defaultProps = DEFAULT_PROPS;\nPieChart.displayName = COMPONENT_NAME;\n","import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n CoordinatesCategoryData,\n} from '../../types';\nimport { ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { AxisVariant } from '../Axis';\nimport { LegendProps } from '../Legend';\n\n/**\n * Component variant.\n */\nexport const ScatterPlotVariant = {\n default: 'default',\n gridded: 'gridded',\n} as const;\nexport type ScatterPlotVariant = ValueOf<typeof ScatterPlotVariant>;\n\n/**\n * Component's labels variant.\n */\nexport const ScatterPlotLabelVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n} as const;\nexport type ScatterPlotLabelVariant = ValueOf<typeof ScatterPlotLabelVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\nexport type ScatterPlotDimensions = ChartDimensions & {\n fontSize: number;\n};\n\n/**\n * Component props.\n */\nexport interface ScatterPlotProps extends ChartContainerProps {\n /** Dataset to use to generate the chart. */\n data?: CoordinatesCategoryData;\n /** Slice role. Used to indicate that dots are to be considered buttons or links. If an onClick is provided, the dots will have the role `button` unless specifically set to `link` with this prop. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Whether the scatter plot dots are selectable using brush or not. */\n isBrushable?: boolean;\n /** Method to determine whether a dot is selected or not. */\n isDotSelected?: (datum: DotDatum) => boolean | undefined;\n /** Method to override the data labels. */\n labelDecorator?: (datum: DotDatum) => string;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. */\n labelVariant?: ScatterPlotLabelVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'>;\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method called on brush. */\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n /** Method called on brush end. */\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX?: d3ScaleLinear<number, number>,\n scaleY?: d3ScaleLinear<number, number>\n ) => void;\n /** Method to be called on a click on a dot. */\n onDotClick?: (datum: DotDatum) => void;\n /** ScatterPlot size. */\n size?: ChartSize | ScatterPlotDimensions;\n /** Reference to the SVG tag. */\n svgRef?: MutableRefObject<SVGSVGElement>;\n /** Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. */\n theme?: ChartTheme;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Variant. */\n variant?: ScatterPlotVariant;\n /** X axis variant. */\n xAxisVariant?: AxisVariant;\n /** Y axis variant. */\n yAxisVariant?: AxisVariant;\n}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n","import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\n\n/**\n * Component style.\n */\nexport const StyledScatterPlot = styled(\n ChartContainer\n)<StyledScatterPlotProps>``;\n\nexport const StyledScatterPlotEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n\n > * {\n max-width: ${({ $maxWidth }) => $maxWidth}px;\n }\n\n > span {\n font-family: var(--redsift-typography-font-family-raleway);\n color: var(--redsift-color-neutral-black);\n font-size: ${({ $textSize }) => $textSize}px;\n line-height: ${({ $textSize }) => $textSize}px;\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\n\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot } from './styles';\n\nexport const LoadingScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledScatterPlot\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledScatterPlot>\n );\n }\n);\n","import { ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { CoordinatesCategoryData, CoordinatesCategoryDatum } from '../../types';\n\nimport { ChartSize } from '../../types';\nimport { ScatterPlotDimensions } from './types';\n\nexport const sizeToDimension = (\n size: ChartSize | ScatterPlotDimensions\n): ScatterPlotDimensions => {\n if (typeof size !== 'string') {\n return size;\n }\n\n switch (size) {\n case ChartSize.small:\n return { width: 600, height: 300, fontSize: 30 };\n case ChartSize.medium:\n default:\n return { width: 750, height: 375, fontSize: 34 };\n case ChartSize.large:\n return { width: 900, height: 450, fontSize: 38 };\n }\n};\n\nexport const BASE_NUMBER_OF_TICKS = 20;\n\nexport const getClosestLineIndex = (\n value: number,\n scale: d3ScaleLinear<number, number, never>\n) => {\n const ticks = scale.ticks(BASE_NUMBER_OF_TICKS);\n const delta = ticks[1] - ticks[0];\n const index = Math.round(value / delta);\n const roundValue = index * delta;\n return [index, roundValue];\n};\n\nexport const group = (\n data: CoordinatesCategoryData,\n x: d3ScaleLinear<number, number, never>,\n y: d3ScaleLinear<number, number, never>\n) => {\n const groupDict: Record<\n string,\n {\n category: string;\n x: number;\n y: number;\n data: CoordinatesCategoryDatum;\n points: CoordinatesCategoryData;\n }\n > = {};\n\n data.forEach((d) => {\n const [i, rx] = getClosestLineIndex(d.key[0], x);\n const [j, ry] = getClosestLineIndex(d.key[1], y);\n\n const key = `${i}_${j}_${d.key[2]}`;\n if (!(key in groupDict)) {\n groupDict[key] = {\n category: d.key[2] as string,\n x: rx,\n y: ry,\n data: {\n key: d.key,\n value: 0,\n },\n points: [],\n };\n }\n\n groupDict[key].points.push(d);\n groupDict[key].data.value += 1;\n });\n\n return Object.values(groupDict);\n};\n\nexport const countBy = (arr: CoordinatesCategoryData) => {\n const counts = arr.reduce(\n (prev, curr) => (\n (prev[curr.key[2] as string] =\n ++(prev[curr.key[2] as string] as number) || 1),\n prev\n ),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort((a, b) =>\n a.value === b.value\n ? a.key > b.key\n ? 1\n : -1\n : a.value < b.value\n ? 1\n : -1\n );\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear } from 'd3';\n\nimport { AnyScale, JSONArray } from '../../types';\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot, StyledScatterPlotEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\n\nexport const EmptyScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>(\n (props, ref) => {\n const {\n className,\n data: propsData,\n emptyComponent,\n localeText,\n size,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n\n const data = propsData;\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 48, right: 16, bottom: 48 };\n const chartWidth = width - margins.left - margins.right;\n\n return (\n <StyledScatterPlot\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {emptyComponent ?? (\n <>\n <StyledScatterPlotEmptyText\n $maxWidth={width}\n $textSize={chartDimensions.fontSize / 2}\n >\n <span>{localeText?.emptyChartText}</span>\n </StyledScatterPlotEmptyText>\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={width - 32}\n scale={\n d3scaleLinear()\n .domain([])\n .range([0, chartWidth]) as AnyScale\n }\n x={0}\n y={height}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledScatterPlot>\n );\n }\n);\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n descending as d3descending,\n extent as d3extent,\n max as d3max,\n min as d3min,\n scaleLinear as d3scaleLinear,\n scaleSqrt as d3scaleSqrt,\n select as d3select,\n} from 'd3';\n\nimport { AnyScale, JSONArray, LabelVariant } from '../../types';\nimport {\n ScatterPlotLabelVariant,\n ScatterPlotProps,\n ScatterPlotVariant,\n} from './types';\nimport { StyledScatterPlot } from './styles';\nimport { useZoom, useColor, useBrush } from '../../hooks';\nimport { Axis } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot } from '../Dot';\nimport { BASE_NUMBER_OF_TICKS, countBy, group, sizeToDimension } from './utils';\n\ninterface RenderedScatterPlotProps\n extends Required<Pick<ScatterPlotProps, 'data'>>,\n Omit<ScatterPlotProps, 'data'> {}\n\nexport const RenderedScatterPlot = forwardRef<\n HTMLDivElement,\n RenderedScatterPlotProps\n>((props, ref) => {\n const {\n isBrushable,\n className,\n data: propsData,\n dotRole,\n id,\n isDotSelected,\n labelDecorator,\n labelVariant,\n legendProps,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n theme,\n tooltipVariant,\n variant,\n xAxisVariant,\n yAxisVariant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n\n const data = propsData.filter(\n (datum) =>\n datum.value &&\n typeof datum.key[0] === 'number' &&\n !Number.isNaN(datum.key[0]) &&\n typeof datum.key[1] === 'number' &&\n !Number.isNaN(datum.key[1])\n );\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 48, right: 16, bottom: 48 };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n const minSize = d3min([chartWidth, chartHeight]) as number;\n\n const extendedScaleX = (() => {\n const domain = d3extent(data, (d) => d.key[0]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([0, chartWidth]).nice();\n })();\n const extendedScaleY = (() => {\n const domain = d3extent(data, (d) => d.key[1]) as [number, number];\n const gap = domain[1] - domain[0];\n domain[0] -= gap * 0.1;\n domain[1] += gap * 0.1;\n return d3scaleLinear().domain(domain).range([chartHeight, 0]).nice();\n })();\n\n const hasCategory =\n data[0] &&\n data[0].key.length >= 3 &&\n data[0].key[2] !== null &&\n data[0].key[2] !== undefined;\n const countsByCategory = hasCategory ? countBy(data) : undefined;\n const colorScale = useColor({\n data: countsByCategory || data,\n theme: theme!,\n category: 'key',\n });\n\n const svgRef = useRef<SVGSVGElement>();\n const brushRef = useRef<d3BrushBehavior<unknown>>();\n const svgBrushRef = useRef<SVGGElement>();\n const { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n size,\n onZoom: () => {\n if (brushRef.current && svgBrushRef.current) {\n brushRef.current.clear(d3select(svgBrushRef.current));\n\n onBrushEnd?.(null);\n }\n },\n });\n useBrush({\n brushRef,\n svgRef: svgBrushRef,\n extent: [\n [0, 0],\n [chartWidth, chartHeight],\n ],\n scaleX,\n scaleY,\n isBrushable,\n isGridded: variant === ScatterPlotVariant.gridded,\n onBrush,\n onBrushEnd,\n });\n\n const circles =\n variant === ScatterPlotVariant.gridded\n ? group(data, scaleX, scaleY).sort((a, b) =>\n d3descending(a.points.length, b.points.length)\n )\n : data.map((d) => ({\n category: d.key[2],\n x: d.key[0],\n y: d.key[1],\n data: {\n key: d.key,\n value: 1,\n },\n points: [d],\n }));\n const globalSize =\n variant === ScatterPlotVariant.gridded\n ? d3scaleSqrt()\n .domain([1, Math.max(d3max(circles, (d) => d.points.length)!, 1)])\n .range([3, minSize / BASE_NUMBER_OF_TICKS / 2])\n : undefined;\n const legendWidth = useRef<string>();\n if (countsByCategory && !legendWidth.current) {\n legendWidth.current = `${\n Math.max(\n ...countsByCategory.map((d) => d.key.length + String(d.value).length)\n ) *\n 8 +\n 32\n }px`;\n }\n\n return (\n <StyledScatterPlot\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <svg\n ref={svgRef as RefObject<SVGSVGElement>}\n width={width}\n height={height}\n >\n <g\n ref={svgBrushRef as RefObject<SVGGElement>}\n transform={`translate(${margins.left},${margins.top})`}\n />\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g>\n {circles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1]\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n data: {\n ...circle.data,\n percent: circle.category\n ? circle.data.value /\n countsByCategory?.find(\n ({ key }) => key === circle.category\n )?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(circle.points.length) /\n (transform.k < 1 ? transform.k : 1)\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(circle.category!)}\n data={to}\n isSelected={Boolean(isDotSelected?.(to))}\n key={`circle _${index}`}\n labelDecorator={labelDecorator}\n onClick={onDotClick}\n role={dotRole}\n scaleX={scaleX}\n scaleY={scaleY}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={0}\n tickValues={8}\n variant={xAxisVariant}\n />\n <Axis\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={8}\n variant={yAxisVariant}\n />\n </g>\n </svg>\n {hasCategory && labelVariant !== ScatterPlotLabelVariant.none ? (\n <Legend\n data={countsByCategory!.map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n labelVariant === ScatterPlotLabelVariant.externalLabelValue\n ? LabelVariant.value\n : labelVariant === ScatterPlotLabelVariant.externalLabelPercent\n ? LabelVariant.percent\n : LabelVariant.label\n }\n width={legendWidth.current}\n {...legendProps}\n />\n ) : null}\n </StyledScatterPlot>\n );\n});\n","import React, { forwardRef, useId } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport {\n ScatterPlotLabelVariant,\n ScatterPlotProps,\n ScatterPlotVariant,\n} from './types';\nimport { LoadingScatterPlot } from './LoadingScatterPlot';\nimport { EmptyScatterPlot } from './EmptyScatterPlot';\nimport { RenderedScatterPlot } from './RenderedScatterPlot';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'ScatterPlot';\nconst CLASSNAME = 'redsift-scatterplot';\nconst DEFAULT_PROPS: Partial<ScatterPlotProps> = {\n labelVariant: ScatterPlotLabelVariant.externalLabel,\n localeText: {\n emptyChartText: 'No Data',\n },\n size: ChartSize.medium,\n theme: ColorTheme.default,\n tooltipVariant: TooltipVariant.none,\n variant: ScatterPlotVariant.default,\n xAxisVariant: AxisVariant.default,\n yAxisVariant: AxisVariant.default,\n};\n\nexport const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n className,\n data: propsData,\n dotRole,\n emptyComponent,\n id: propsId,\n isDotSelected,\n labelVariant,\n localeText,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n theme,\n tooltipVariant,\n variant,\n\n ...forwardedProps\n } = props;\n const id = propsId ?? useId();\n\n // console.log(propsData);\n\n if (propsData === undefined || propsData === null) {\n return <LoadingScatterPlot id={id} {...forwardedProps} ref={ref} />;\n }\n\n if (propsData.length === 0) {\n return (\n <EmptyScatterPlot\n data={propsData}\n emptyComponent={emptyComponent}\n localeText={localeText}\n size={size}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedScatterPlot\n className={classNames(ScatterPlot.className, className)}\n data={propsData}\n dotRole={dotRole}\n id={id}\n isDotSelected={isDotSelected}\n labelVariant={labelVariant}\n localeText={localeText}\n onBrush={onBrush}\n onBrushEnd={onBrushEnd}\n onDotClick={onDotClick}\n size={size}\n theme={theme}\n tooltipVariant={tooltipVariant}\n variant={variant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n);\nScatterPlot.className = CLASSNAME;\nScatterPlot.defaultProps = DEFAULT_PROPS;\nScatterPlot.displayName = COMPONENT_NAME;\n"],"names":["getRoundedIntermediaryPoint","selection","scaleX","scaleY","xTicks","ticks","xDelta","yTicks","yDelta","Math","round","invert","useBrush","_ref","brushRef","propsBrushRef","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","useRef","useEffect","current","d3brush","keyModifiers","filter","event","shiftKey","on","sourceEvent","d3select","call","move","monochrome","RedsiftDataVizColorBlueDefault","empty","RedsiftDataVizColorGreyDark","scheme","default","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorAquaDefault","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorRedDefault","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorGreyDefault","dark","RedsiftDataVizColorGreenDark","RedsiftDataVizColorPinkDark","RedsiftDataVizColorAquaDark","RedsiftDataVizColorBrownDark","RedsiftDataVizColorRedDark","RedsiftDataVizColorYellowDark","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorBlueDark","darker","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorAquaDarker","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorRedDarker","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorGreyDarker","darkerer","RedsiftDataVizColorGreenDarkerer","RedsiftDataVizColorPinkDarkerer","RedsiftDataVizColorAquaDarkerer","RedsiftDataVizColorBrownDarkerer","RedsiftDataVizColorRedDarkerer","RedsiftDataVizColorYellowDarkerer","RedsiftDataVizColorPurpleDarkerer","RedsiftDataVizColorOrangeDarkerer","RedsiftDataVizColorBlueDarkerer","RedsiftDataVizColorGreyDarkerer","light","RedsiftDataVizColorGreenLight","RedsiftDataVizColorPinkLight","RedsiftDataVizColorAquaLight","RedsiftDataVizColorBrownLight","RedsiftDataVizColorRedLight","RedsiftDataVizColorYellowLight","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorBlueLight","RedsiftDataVizColorGreyLight","lighter","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorAquaLighter","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorRedLighter","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreyLighter","lighterer","RedsiftDataVizColorGreenLighterer","RedsiftDataVizColorPinkLighterer","RedsiftDataVizColorAquaLighterer","RedsiftDataVizColorBrownLighterer","RedsiftDataVizColorRedLighterer","RedsiftDataVizColorYellowLighterer","RedsiftDataVizColorPurpleLighterer","RedsiftDataVizColorOrangeLighterer","RedsiftDataVizColorBlueLighterer","RedsiftDataVizColorGreyLighterer","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","domain","isEmpty","d3colors","d3scaleOrdinal","range","unknown","Object","keys","includes","values","useColor","data","category","colorScale","useMemo","map","d","useFormatCategoricalData","caping","others","computedData","undefined","sort","a","b","value","key","slice","reduce","acc","curr","index","_objectSpread","useZoom","defaultTransform","k","x","y","size","onZoom","zx","zy","transform","setTransform","useState","zoom","d3zoom","scaleExtent","rescaleX","interpolate","d3interpolateRound","rescaleY","TooltipVariant","none","label","percent","LabelVariant","ChartSize","small","medium","large","ColorTheme","f","c","m","h","p","u","v","l","Q","ze","Le","J","mt","bt","ht","Pe","yt","I","E","H","qe","R","te","Ge","ne","C","oe","fe","ae","se","ue","le","be","me","de","z","j","D","W","He","Ue","L","xe","he","ye","V","Lt","g","De","Ee","Gt","we","_","Ke","Ne","_e","er","et","tt","Ce","rt","nt","at","ft","it","ot","st","ct","lt","B","F","A","K","w","M","q","G","N","n","X","Z","re","U","Y","ee","O","$t","dt","Zt","en","tn","un","pn","St","ln","Pt","je","dn","cn","fn","gn","yn","Tt","mn","xt","hn","ie","Cn","In","Se","Rt","Ct","ve","Qe","xn","It","At","vt","Rn","vn","Vn","bn","Tn","An","Pn","Ve","pe","Ut","ut","kt","On","Ft","Et","Un","En","Be","Ln","ce","jn","Xe","Nt","Dn","Dt","Ye","Mn","qn","Nn","Qn","Jn","zt","Je","$n","Wn","Hn","Zn","Oe","yr","Rr","Ar","hr","br","dr","Kt","We","$e","Ht","Sr","mr","gr","Xt","Tr","xr","Pr","Ir","_r","S","P","T","StyledDataPoint","styled","animated","DataPoint","forwardRef","props","ref","children","className","id","propsId","isSelected","propsIsSelected","labelDecorator","onClick","role","tooltipVariant","forwardedProps","_objectWithoutProperties","_excluded","useId","text","hasText","tooltipValue","hasValue","showTooltip","isSelectable","isDeselected","onKeyDown","stopPropagation","code","preventDefault","DataPointComponent","React","createElement","_extends","tabIndex","classNames","selected","deselected","e","$clickable","Boolean","Tooltip","placement","Trigger","Content","Text","variant","Number","type","maximumFractionDigits","StyledArc","$hasStroke","css","_ref2","config","duration","easing","easings","easeInOutQuad","reset","immediate","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","color","previousData","startAngle","endAngle","padAngle","Arc","createArc","hasStroke","interpolator","d3interpolate","animatedProps","useSpring","to","next","t","from","path","fill","defaultProps","displayName","StyledArcs","Arcs","arcs","hasLabels","sliceProps","arc","_arc$index","_arc$id","arcIndex","arcId","_arc$index2","_arc$id2","_arc$labelDecorator","arcLabelDecorator","alignmentBaseline","textAnchor","centroid","AxisVariant","line","lineTick","tick","tickValue","AxisPosition","top","right","bottom","left","StyledAxis","getScaleTicks","scale","spec","Array","isArray","isFinite","floor","centerScale","bandwidth","offset","_scale","computeTicks","axis","ticksPosition","tickValues","tickSize","tickPadding","tickRotation","position","lineX","lineY","textX","textY","isRTL","document","dir","translate","textAlign","textBaseline","_position","_position2","Date","valueOf","legendOffset","legendPosition","getAxisType","Axis","length","legend","axisRef","lineX2","lineY2","legendNode","legendX","legendY","legendRotation","Fragment","style","dominantBaseline","transition","useTransition","initial","opacity","textTransform","enter","update","leave","transitionProps","_state","tickIndex","x1","x2","y1","y2","BarOrientation","horizontal","vertical","StyledBar","gap","height","orientation","width","Bar","_data","rect","dy","enUS","frFR","StyledChartContainer","div","baseStyling","focusRing","StyledChartContainerTitle","Flexbox","StyledChartContainerCaption","ChartContainer","propsAriaLabel","propsAriaLabelledby","caption","chartProps","chartRef","title","onReset","warnIfNoAccessibleLabelFound","stringFormatter","useLocalizedStringFormatter","intlMessages","ariaLabel","ariaLabelledby","alignItems","justifyContent","Heading","as","Button","format","StyledBarChart","StyledBarChartEmptyText","$maxWidth","$textSize","_ref3","sizeToDimension","fontSize","EmptyBarChart","emptyComponent","localeText","chartDimensions","margins","chartHeight","chartWidth","scaleRef","d3scaleLinear","emptyChartText","LoadingBarChart","RenderedBarChart","areXLabelsRotated","barProps","propsData","isBarSelected","onBarClick","barRole","cache","numberOfRows","max","barHeight","total","d3sum","datum","BarChart","StyledDot","Dot","cx","cy","r","StyledLegend","ul","$width","StyledLegendItem","li","LegendItem","isLegendItemSelected","Legend","legendItemRole","onLegendItemClick","_excluded2","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","internal","externalLabel","externalLabelValue","externalLabelPercent","StyledPieChart","StyledPieChartCenterText","_ref4","$smallTextSize","_ref5","_ref6","_ref7","_ref8","_ref9","StyledPieChartEmptyText","_ref10","_ref11","$isDonut","_ref12","_ref13","LoadingPieChart","smallFontSize","innerRadius","EmptyPieChart","isDonut","externalRadiusPadding","d3arc","outerRadius","PI","RenderedPieChart","isSliceSelected","labelVariant","middleText","onSliceClick","sliceRole","subtext","createPie","d3pie","pieData","previousPieData","PieChart","ScatterPlotVariant","gridded","ScatterPlotLabelVariant","StyledScatterPlot","StyledScatterPlotEmptyText","LoadingScatterPlot","BASE_NUMBER_OF_TICKS","getClosestLineIndex","delta","roundValue","group","groupDict","forEach","i","rx","ry","points","push","countBy","arr","counts","prev","EmptyScatterPlot","RenderedScatterPlot","dotRole","isDotSelected","legendProps","onDotClick","xAxisVariant","yAxisVariant","isNaN","minSize","d3min","extendedScaleX","d3extent","nice","extendedScaleY","hasCategory","countsByCategory","svgBrushRef","clear","circles","d3descending","globalSize","d3scaleSqrt","d3max","legendWidth","String","circle","_countsByCategory$fin","scaleXDomain","scaleYDomain","find","ScatterPlot"],"mappings":"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CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,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"}
|